@things-factory/integration-ui 7.0.0-alpha.9 → 7.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (118) hide show
  1. package/client/analysis/graph-viewer-style.ts +1 -1
  2. package/client/analysis/graph-viewer.ts +1 -1
  3. package/client/bootstrap.ts +1 -6
  4. package/client/editors/entity-selector.ts +13 -20
  5. package/client/editors/things-editor-entity-selector.ts +3 -3
  6. package/client/editors/things-editor-oracle-procedure.ts +18 -17
  7. package/client/editors/things-editor-tag-scenarios.ts +1 -1
  8. package/client/grist/connection-selector.ts +0 -2
  9. package/client/grist/connector-selector.ts +0 -2
  10. package/client/grist/dynamic-selector.ts +1 -5
  11. package/client/pages/connection-importer.ts +6 -11
  12. package/client/pages/connection.ts +29 -7
  13. package/client/pages/integration-analysis.ts +1 -1
  14. package/client/pages/integration-monitor.ts +18 -9
  15. package/client/pages/scenario-detail.ts +9 -19
  16. package/client/pages/scenario-importer.ts +6 -11
  17. package/client/pages/scenario.ts +16 -4
  18. package/client/viewparts/connections-monitor.ts +26 -23
  19. package/client/viewparts/monitoring-summary.ts +18 -11
  20. package/client/viewparts/pending-q-monitor.ts +11 -9
  21. package/client/viewparts/scenario-instance-log-view.ts +14 -5
  22. package/client/viewparts/scenario-instance-monitor.ts +29 -19
  23. package/client/viewparts/scenario-instance-view.ts +12 -12
  24. package/client/viewparts/scenario-monitor.ts +36 -30
  25. package/client/viewparts/scenarios-monitor.ts +21 -15
  26. package/dist-client/analysis/graph-viewer-style.js +1 -1
  27. package/dist-client/analysis/graph-viewer-style.js.map +1 -1
  28. package/dist-client/analysis/graph-viewer.js +21 -21
  29. package/dist-client/analysis/graph-viewer.js.map +1 -1
  30. package/dist-client/bootstrap.d.ts +0 -1
  31. package/dist-client/bootstrap.js +0 -1
  32. package/dist-client/bootstrap.js.map +1 -1
  33. package/dist-client/editors/entity-editor.js.map +1 -1
  34. package/dist-client/editors/entity-selector.d.ts +1 -1
  35. package/dist-client/editors/entity-selector.js +7 -12
  36. package/dist-client/editors/entity-selector.js.map +1 -1
  37. package/dist-client/editors/things-editor-entity-selector.d.ts +1 -1
  38. package/dist-client/editors/things-editor-entity-selector.js +3 -3
  39. package/dist-client/editors/things-editor-entity-selector.js.map +1 -1
  40. package/dist-client/editors/things-editor-http-body.js.map +1 -1
  41. package/dist-client/editors/things-editor-http-headers.js.map +1 -1
  42. package/dist-client/editors/things-editor-http-parameters.js.map +1 -1
  43. package/dist-client/editors/things-editor-oracle-procedure.d.ts +1 -1
  44. package/dist-client/editors/things-editor-oracle-procedure.js +18 -17
  45. package/dist-client/editors/things-editor-oracle-procedure.js.map +1 -1
  46. package/dist-client/editors/things-editor-tag-scenarios.js +1 -1
  47. package/dist-client/editors/things-editor-tag-scenarios.js.map +1 -1
  48. package/dist-client/grist/connection-selector.d.ts +0 -1
  49. package/dist-client/grist/connection-selector.js +0 -1
  50. package/dist-client/grist/connection-selector.js.map +1 -1
  51. package/dist-client/grist/connector-selector.d.ts +0 -1
  52. package/dist-client/grist/connector-selector.js +0 -1
  53. package/dist-client/grist/connector-selector.js.map +1 -1
  54. package/dist-client/grist/dynamic-selector.d.ts +0 -1
  55. package/dist-client/grist/dynamic-selector.js +0 -1
  56. package/dist-client/grist/dynamic-selector.js.map +1 -1
  57. package/dist-client/grist/task-type-selector.js.map +1 -1
  58. package/dist-client/pages/connection-importer.d.ts +1 -0
  59. package/dist-client/pages/connection-importer.js +6 -11
  60. package/dist-client/pages/connection-importer.js.map +1 -1
  61. package/dist-client/pages/connection.js +29 -7
  62. package/dist-client/pages/connection.js.map +1 -1
  63. package/dist-client/pages/integration-analysis.js +1 -1
  64. package/dist-client/pages/integration-analysis.js.map +1 -1
  65. package/dist-client/pages/integration-monitor.js +18 -9
  66. package/dist-client/pages/integration-monitor.js.map +1 -1
  67. package/dist-client/pages/scenario-detail.d.ts +1 -0
  68. package/dist-client/pages/scenario-detail.js +9 -19
  69. package/dist-client/pages/scenario-detail.js.map +1 -1
  70. package/dist-client/pages/scenario-importer.d.ts +1 -0
  71. package/dist-client/pages/scenario-importer.js +6 -11
  72. package/dist-client/pages/scenario-importer.js.map +1 -1
  73. package/dist-client/pages/scenario.d.ts +2 -6
  74. package/dist-client/pages/scenario.js +14 -3
  75. package/dist-client/pages/scenario.js.map +1 -1
  76. package/dist-client/pages/state-register.js.map +1 -1
  77. package/dist-client/route.js.map +1 -1
  78. package/dist-client/tsconfig.tsbuildinfo +1 -1
  79. package/dist-client/viewparts/connections-monitor.d.ts +1 -1
  80. package/dist-client/viewparts/connections-monitor.js +26 -23
  81. package/dist-client/viewparts/connections-monitor.js.map +1 -1
  82. package/dist-client/viewparts/monitoring-summary.d.ts +1 -0
  83. package/dist-client/viewparts/monitoring-summary.js +18 -11
  84. package/dist-client/viewparts/monitoring-summary.js.map +1 -1
  85. package/dist-client/viewparts/pending-q-monitor.d.ts +1 -0
  86. package/dist-client/viewparts/pending-q-monitor.js +10 -9
  87. package/dist-client/viewparts/pending-q-monitor.js.map +1 -1
  88. package/dist-client/viewparts/scenario-instance-log-view.d.ts +2 -1
  89. package/dist-client/viewparts/scenario-instance-log-view.js +14 -5
  90. package/dist-client/viewparts/scenario-instance-log-view.js.map +1 -1
  91. package/dist-client/viewparts/scenario-instance-monitor.d.ts +1 -1
  92. package/dist-client/viewparts/scenario-instance-monitor.js +23 -16
  93. package/dist-client/viewparts/scenario-instance-monitor.js.map +1 -1
  94. package/dist-client/viewparts/scenario-instance-view.js +12 -12
  95. package/dist-client/viewparts/scenario-instance-view.js.map +1 -1
  96. package/dist-client/viewparts/scenario-monitor.d.ts +1 -1
  97. package/dist-client/viewparts/scenario-monitor.js +35 -30
  98. package/dist-client/viewparts/scenario-monitor.js.map +1 -1
  99. package/dist-client/viewparts/scenarios-monitor.d.ts +1 -1
  100. package/dist-client/viewparts/scenarios-monitor.js +20 -15
  101. package/dist-client/viewparts/scenarios-monitor.js.map +1 -1
  102. package/dist-server/index.d.ts +0 -0
  103. package/dist-server/tsconfig.tsbuildinfo +1 -1
  104. package/helps/integration/ui/connection.ja.md +3 -0
  105. package/helps/integration/ui/connection.ko.md +9 -6
  106. package/helps/integration/ui/connection.md +3 -0
  107. package/helps/integration/ui/connection.ms.md +3 -0
  108. package/helps/integration/ui/connection.zh.md +3 -0
  109. package/helps/integration/ui/scenario.ja.md +6 -0
  110. package/helps/integration/ui/scenario.ko.md +6 -0
  111. package/helps/integration/ui/scenario.md +6 -0
  112. package/helps/integration/ui/scenario.ms.md +6 -0
  113. package/helps/integration/ui/scenario.zh.md +6 -0
  114. package/package.json +17 -17
  115. package/translations/ja.json +1 -0
  116. package/translations/ko.json +1 -0
  117. package/translations/ms.json +1 -0
  118. package/translations/zh.json +1 -0
@@ -32,7 +32,7 @@ export const GraphViewerStyles = css`
32
32
  }
33
33
 
34
34
  .graph-info a.property {
35
- background-color: #fff;
35
+ background-color: var(--md-sys-color-surface);
36
36
  border-color: #ccc;
37
37
  color: #333;
38
38
  }
@@ -309,7 +309,7 @@ export class GraphViewer {
309
309
  .attr('pointer-events', 'none')
310
310
  .attr('text-anchor', 'middle')
311
311
  .attr('y', '24px')
312
- .attr('font-family', 'Material Icons')
312
+ .attr('font-family', 'Material Symbols Outlined')
313
313
  .attr('font-size', '48px')
314
314
  .attr('text-anchor', 'middle')
315
315
  .attr('alignment-baseline', 'middle')
@@ -1,14 +1,9 @@
1
- import '@material/mwc-icon'
2
1
  import './editors/entity-editor'
3
2
  import './editors/property-editor'
4
3
 
5
4
  import { OxGristEditorJson } from '@operato/app/grist-editor/ox-grist-editor-json.js'
6
5
  import { OxGristRendererCrontab } from '@operato/app/grist-editor/ox-grist-renderer-crontab.js'
7
- import {
8
- registerEditor as registerGristEditor,
9
- registerRenderer as registerGristRenderer,
10
- OxGristRendererJson5
11
- } from '@operato/data-grist'
6
+ import { registerEditor as registerGristEditor, registerRenderer as registerGristRenderer, OxGristRendererJson5 } from '@operato/data-grist'
12
7
  import { OxGristEditorCrontab } from '@operato/grist-editor/ox-grist-editor-crontab.js'
13
8
  import { OxGristEditorPrivilege } from '@operato/app/grist-editor/ox-grist-editor-privilege.js'
14
9
  import { OxGristEditorParameters } from '@operato/grist-editor/ox-grist-editor-parameters.js'
@@ -8,29 +8,26 @@ import { DataGrist } from '@operato/data-grist/ox-grist.js'
8
8
  import { buildArgs, client } from '@operato/graphql'
9
9
  import { i18next } from '@operato/i18n'
10
10
  import { isMobileDevice } from '@operato/utils'
11
- import { MultiColumnFormStyles } from '@things-factory/form-ui'
11
+ import { MultiColumnFormStyles } from '@operato/form'
12
+ import { ButtonContainerStyles } from '@operato/styles'
12
13
 
13
14
  @customElement('entity-selector')
14
15
  export class EntitySelector extends LitElement {
15
16
  static styles = [
17
+ ButtonContainerStyles,
16
18
  MultiColumnFormStyles,
17
19
  css`
18
20
  :host {
19
21
  display: flex;
20
22
  flex-direction: column;
21
23
 
22
- background-color: #fff;
24
+ background-color: var(--md-sys-color-surface);
23
25
  }
24
26
 
25
27
  ox-grist {
26
28
  flex: 1;
27
29
  }
28
30
 
29
- .button-container {
30
- display: flex;
31
- margin-left: auto;
32
- }
33
-
34
31
  form {
35
32
  position: relative;
36
33
  }
@@ -76,8 +73,8 @@ export class EntitySelector extends LitElement {
76
73
  ></ox-grist>
77
74
 
78
75
  <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>
76
+ <button @click=${this.onCancel.bind(this)}><md-icon>cancel</md-icon>${i18next.t('button.cancel')}</button>
77
+ <button @click=${this.onConfirm.bind(this)}><md-icon>check</md-icon>${i18next.t('button.confirm')}</button>
81
78
  </div>
82
79
  `
83
80
  }
@@ -172,17 +169,17 @@ export class EntitySelector extends LitElement {
172
169
  fieldType === 'string'
173
170
  ? 'text'
174
171
  : numberTypes.indexOf(fieldType) >= 0
175
- ? 'number'
176
- : fieldType === 'boolean'
177
- ? 'checkbox'
178
- : fieldType,
172
+ ? 'number'
173
+ : fieldType === 'boolean'
174
+ ? 'checkbox'
175
+ : fieldType,
179
176
  queryName: selectField.queryName,
180
177
  props:
181
178
  fieldType === 'string'
182
179
  ? { searchOper: 'i_like' }
183
180
  : fieldType === 'object'
184
- ? { searchOper: 'in' }
185
- : { searchOper: 'eq' },
181
+ ? { searchOper: 'in' }
182
+ : { searchOper: 'eq' },
186
183
  attrs: fieldType === 'boolean' ? ['indeterminated'] : []
187
184
  }
188
185
  })
@@ -273,11 +270,7 @@ export class EntitySelector extends LitElement {
273
270
  return `items {
274
271
  ${this.select.map(selectField => {
275
272
  return selectField.type === 'object'
276
- ? `${selectField.name} { ${
277
- selectField.subFields && selectField.subFields.length > 0
278
- ? selectField.subFields.join(' ')
279
- : `id name description`
280
- } }`
273
+ ? `${selectField.name} { ${selectField.subFields && selectField.subFields.length > 0 ? selectField.subFields.join(' ') : `id name description`} }`
281
274
  : `${selectField.name}`
282
275
  })}
283
276
  }
@@ -2,7 +2,7 @@
2
2
  * @license Copyright © HatioLab Inc. All rights reserved.
3
3
  */
4
4
 
5
- import '@material/mwc-icon'
5
+ import '@material/web/icon/icon.js'
6
6
  import './entity-selector'
7
7
 
8
8
  import { css, html, LitElement } from 'lit'
@@ -26,7 +26,7 @@ export default class ThingsEditorEntitySelector extends LitElement {
26
26
  height: 100%;
27
27
  }
28
28
 
29
- mwc-icon {
29
+ md-icon {
30
30
  position: absolute;
31
31
  top: 0;
32
32
  right: 0;
@@ -50,7 +50,7 @@ export default class ThingsEditorEntitySelector extends LitElement {
50
50
  return html`
51
51
  <input id="text" type="text" .value=${this.value || ''} @change=${e => this._onInputChanged(e)} />
52
52
 
53
- <mwc-icon @click=${e => this.openSelector()}>dashboard</mwc-icon>
53
+ <md-icon @click=${e => this.openSelector()}>dashboard</md-icon>
54
54
  `
55
55
  }
56
56
 
@@ -2,7 +2,7 @@
2
2
  * @license Copyright © HatioLab Inc. All rights reserved.
3
3
  */
4
4
 
5
- import '@material/mwc-icon'
5
+ import '@material/web/icon/icon.js'
6
6
 
7
7
  import '@operato/i18n/ox-i18n.js'
8
8
  import { css, html } from 'lit'
@@ -42,14 +42,14 @@ export class ThingsEditorProcedureParameters extends OxFormField {
42
42
  display: flex;
43
43
  flex-direction: column;
44
44
  overflow: hidden;
45
- margin-bottom: var(--margin-wide);
45
+ margin-bottom: var(--spacing-large);
46
46
  }
47
47
 
48
48
  div {
49
49
  display: flex;
50
50
  flex-flow: row nowrap;
51
- gap: var(--margin-default);
52
- margin-bottom: var(--margin-narrow);
51
+ gap: var(--spacing-medium);
52
+ margin-bottom: var(--spacing-small);
53
53
  }
54
54
 
55
55
  pre {
@@ -72,7 +72,7 @@ export class ThingsEditorProcedureParameters extends OxFormField {
72
72
  border: var(--button-border);
73
73
  border-radius: var(--border-radius);
74
74
  background-color: var(--button-background-color);
75
- padding: var(--padding-narrow) var(--padding-default);
75
+ padding: var(--spacing-small) var(--spacing-medium);
76
76
  line-height: 0.8;
77
77
  color: var(--button-color);
78
78
  cursor: pointer;
@@ -82,8 +82,8 @@ export class ThingsEditorProcedureParameters extends OxFormField {
82
82
  margin-left: -5px;
83
83
  }
84
84
 
85
- button mwc-icon {
86
- font-size: var(--fontsize-default);
85
+ button md-icon {
86
+ --md-icon-size: var(--fontsize-default);
87
87
  }
88
88
 
89
89
  button:focus,
@@ -91,13 +91,13 @@ export class ThingsEditorProcedureParameters extends OxFormField {
91
91
  button:active {
92
92
  border: var(--button-activ-border);
93
93
  background-color: var(--button-background-focus-color);
94
- color: var(--theme-white-color);
94
+ color: var(--md-sys-color-on-primary);
95
95
  }
96
96
 
97
97
  input {
98
98
  flex: 1;
99
99
  border: 0;
100
- border-bottom: var(--border-dark-color);
100
+ border-bottom: var(--border-dim-color);
101
101
  padding: var(--input-padding);
102
102
  font: var(--input-font);
103
103
  color: var(--primary-text-color);
@@ -106,7 +106,7 @@ export class ThingsEditorProcedureParameters extends OxFormField {
106
106
 
107
107
  input:focus {
108
108
  outline: none;
109
- border-bottom: 1px solid var(--primary-color);
109
+ border-bottom: 1px solid var(--md-sys-color-primary);
110
110
  }
111
111
 
112
112
  button.hidden {
@@ -194,13 +194,13 @@ export class ThingsEditorProcedureParameters extends OxFormField {
194
194
  <input type="number" data-max-size placeholder="max-size" .value=${String(item.maxSize)} />
195
195
 
196
196
  <button class="record-action" @click=${(e: MouseEvent) => this._delete(e)} tabindex="-1">
197
- <mwc-icon>remove</mwc-icon>
197
+ <md-icon>remove</md-icon>
198
198
  </button>
199
199
  <button class="record-action" @click=${(e: MouseEvent) => this._up(e)} tabindex="-1">
200
- <mwc-icon>arrow_upward</mwc-icon>
200
+ <md-icon>arrow_upward</md-icon>
201
201
  </button>
202
202
  <button class="record-action" @click=${(e: MouseEvent) => this._down(e)} tabindex="-1">
203
- <mwc-icon>arrow_downward</mwc-icon>
203
+ <md-icon>arrow_downward</md-icon>
204
204
  </button>
205
205
  </div>
206
206
  `
@@ -231,10 +231,10 @@ export class ThingsEditorProcedureParameters extends OxFormField {
231
231
  <input type="number" data-max-size placeholder="max-size" value="" />
232
232
 
233
233
  <button class="record-action" @click=${(e: MouseEvent) => this._add()} tabindex="-1">
234
- <mwc-icon>add</mwc-icon>
234
+ <md-icon>add</md-icon>
235
235
  </button>
236
- <button class="hidden"><mwc-icon>add</mwc-icon></button>
237
- <button class="hidden"><mwc-icon>add</mwc-icon></button>
236
+ <button class="hidden"><md-icon>add</md-icon></button>
237
+ <button class="hidden"><md-icon>add</md-icon></button>
238
238
  </div>
239
239
 
240
240
  <datalist id="step-list">${steps.map(id => html` <option value=${id}></option> `)}</datalist>
@@ -418,9 +418,10 @@ export class ThingsEditorProcedureParameters extends OxFormField {
418
418
  const dir = (record.querySelector('[data-dir]') as HTMLInputElement).value
419
419
  const type = (record.querySelector('[data-type]') as HTMLInputElement).value
420
420
  const val = (record.querySelector('[data-val]') as HTMLInputElement).value
421
+ const accessor = (record.querySelector('[data-accessor]') as HTMLInputElement).value
421
422
  const maxSize = (record.querySelector('[data-max-size]') as HTMLInputElement).valueAsNumber
422
423
 
423
- return this._adjust({ name, dir, type, val, maxSize })
424
+ return this._adjust({ name, dir, type, val, accessor, maxSize })
424
425
  })
425
426
 
426
427
  this._updateValue()
@@ -79,7 +79,7 @@ export default class ThingsEditorTagScenarios extends LitElement {
79
79
  input:not([type='checkbox']) {
80
80
  border: 1px solid rgba(0, 0, 0, 0.2);
81
81
  border-radius: 4px;
82
- background-color: white;
82
+ background-color: var(--md-sys-color-surface);
83
83
  }
84
84
  `
85
85
  ]
@@ -1,5 +1,3 @@
1
- import '@material/mwc-icon'
2
-
3
1
  import gql from 'graphql-tag'
4
2
  import { customElement } from 'lit/decorators.js'
5
3
 
@@ -1,5 +1,3 @@
1
- import '@material/mwc-icon'
2
-
3
1
  import gql from 'graphql-tag'
4
2
  import { customElement } from 'lit/decorators.js'
5
3
 
@@ -1,5 +1,3 @@
1
- import '@material/mwc-icon'
2
-
3
1
  import { OxGristEditor } from '@operato/data-grist'
4
2
  import { html } from 'lit'
5
3
 
@@ -35,9 +33,7 @@ export class DynamicSelector extends OxGristEditor {
35
33
 
36
34
  return html`
37
35
  <select>
38
- ${options.map(
39
- option => html` <option ?selected=${option.name == this.value} value=${option.name}>${option.name}</option> `
40
- )}
36
+ ${options.map(option => html` <option ?selected=${option.name == this.value} value=${option.name}>${option.name}</option> `)}
41
37
  </select>
42
38
  `
43
39
  }
@@ -1,3 +1,4 @@
1
+ import '@material/web/icon/icon.js'
1
2
  import '@operato/data-grist'
2
3
 
3
4
  import gql from 'graphql-tag'
@@ -7,30 +8,24 @@ import { customElement, property, query, state } from 'lit/decorators.js'
7
8
  import { client } from '@operato/graphql'
8
9
  import { i18next } from '@operato/i18n'
9
10
  import { isMobileDevice } from '@operato/utils'
10
- import { CommonGristStyles } from '@operato/styles'
11
+ import { ButtonContainerStyles, CommonGristStyles } from '@operato/styles'
11
12
 
12
13
  @customElement('connection-importer')
13
14
  export class ConnectionImporter extends LitElement {
14
15
  static styles = [
16
+ ButtonContainerStyles,
15
17
  CommonGristStyles,
16
18
  css`
17
19
  :host {
18
20
  display: flex;
19
21
  flex-direction: column;
20
22
 
21
- background-color: #fff;
23
+ background-color: var(--md-sys-color-surface);
22
24
  }
25
+
23
26
  ox-grist {
24
27
  flex: 1;
25
28
  }
26
- .button-container {
27
- display: flex;
28
- margin-left: auto;
29
- padding: var(--padding-default);
30
- }
31
- mwc-button {
32
- margin-left: var(--margin-default);
33
- }
34
29
  `
35
30
  ]
36
31
 
@@ -75,7 +70,7 @@ export class ConnectionImporter extends LitElement {
75
70
  ></ox-grist>
76
71
 
77
72
  <div class="button-container">
78
- <mwc-button raised @click=${this.save.bind(this)}>${i18next.t('button.save')}</mwc-button>
73
+ <button @click=${this.save.bind(this)}><md-icon>save</md-icon>${i18next.t('button.save')}</button>
79
74
  </div>
80
75
  `
81
76
  }
@@ -38,11 +38,11 @@ export class Connection extends connect(store)(localize(i18next)(PageView)) {
38
38
  flex-direction: row;
39
39
  justify-content: space-between;
40
40
 
41
- background-color: white;
41
+ background-color: var(--md-sys-color-surface);
42
42
  }
43
43
 
44
44
  #filters > * {
45
- padding: var(--padding-default) var(--padding-wide);
45
+ padding: var(--spacing-medium) var(--spacing-large);
46
46
  }
47
47
  `
48
48
  ]
@@ -140,7 +140,8 @@ export class Connection extends connect(store)(localize(i18next)(PageView)) {
140
140
  label: true,
141
141
  header: i18next.t('field.name'),
142
142
  record: {
143
- editable: true
143
+ editable: true,
144
+ mandatory: true
144
145
  },
145
146
  filter: 'search',
146
147
  sortable: true,
@@ -174,7 +175,8 @@ export class Connection extends connect(store)(localize(i18next)(PageView)) {
174
175
  label: true,
175
176
  header: i18next.t('field.active'),
176
177
  record: {
177
- editable: true
178
+ editable: true,
179
+ align: 'center'
178
180
  },
179
181
  sortable: true,
180
182
  width: 60
@@ -187,7 +189,8 @@ export class Connection extends connect(store)(localize(i18next)(PageView)) {
187
189
  record: {
188
190
  renderer: HelpDecoratedRenderer,
189
191
  editable: true,
190
- help: value => this.connectors?.[value]?.help
192
+ help: value => this.connectors?.[value]?.help,
193
+ mandatory: true
191
194
  },
192
195
  filter: 'search',
193
196
  sortable: true,
@@ -198,7 +201,8 @@ export class Connection extends connect(store)(localize(i18next)(PageView)) {
198
201
  name: 'endpoint',
199
202
  header: i18next.t('field.endpoint'),
200
203
  record: {
201
- editable: true
204
+ editable: true,
205
+ mandatory: true
202
206
  },
203
207
  filter: 'search',
204
208
  sortable: true,
@@ -220,7 +224,20 @@ export class Connection extends connect(store)(localize(i18next)(PageView)) {
220
224
  width: 100
221
225
  },
222
226
  {
223
- type: 'object',
227
+ type: 'resource-object',
228
+ name: 'edge',
229
+ header: i18next.t('field.edge-server'),
230
+ record: {
231
+ editable: true,
232
+ options: {
233
+ queryName: 'edges'
234
+ }
235
+ },
236
+ sortable: true,
237
+ width: 120
238
+ },
239
+ {
240
+ type: 'resource-object',
224
241
  name: 'updater',
225
242
  header: i18next.t('field.updater'),
226
243
  record: {
@@ -268,6 +285,10 @@ export class Connection extends connect(store)(localize(i18next)(PageView)) {
268
285
  name
269
286
  description
270
287
  type
288
+ edge {
289
+ id
290
+ name
291
+ }
271
292
  endpoint
272
293
  active
273
294
  state
@@ -310,6 +331,7 @@ export class Connection extends connect(store)(localize(i18next)(PageView)) {
310
331
  label
311
332
  placeholder
312
333
  property
334
+ styles
313
335
  }
314
336
  }
315
337
  }
@@ -22,7 +22,7 @@ export class IntegrationAnalysis extends localize(i18next)(PageView) {
22
22
  flex-direction: column;
23
23
 
24
24
  overflow: hidden;
25
- background-color: var(--main-section-background-color);
25
+ background-color: var(--md-sys-color-background);
26
26
  padding: 0;
27
27
  }
28
28
 
@@ -43,12 +43,12 @@ export class IntegrationMonitor extends localize(i18next)(PageView) {
43
43
  flex-direction: column;
44
44
 
45
45
  overflow: hidden;
46
- background-color: var(--main-section-background-color);
47
- padding: var(--padding-wide);
46
+ background-color: var(--md-sys-color-background);
47
+ padding: var(--spacing-large);
48
48
  }
49
49
 
50
50
  integration-summary {
51
- margin-bottom: var(--margin-wide);
51
+ margin-bottom: var(--spacing-large);
52
52
  }
53
53
 
54
54
  content {
@@ -65,15 +65,15 @@ export class IntegrationMonitor extends localize(i18next)(PageView) {
65
65
 
66
66
  scenarios-monitor {
67
67
  flex: 1;
68
- margin: 0 var(--margin-wide) 0 0;
68
+ margin: 0 var(--spacing-large) 0 0;
69
69
  }
70
70
 
71
71
  @media screen and (max-width: 480px) {
72
72
  :host {
73
- padding: var(--padding-default);
73
+ padding: var(--spacing-medium);
74
74
  }
75
75
  integration-summary {
76
- margin-bottom: var(--margin-default);
76
+ margin-bottom: var(--spacing-medium);
77
77
  }
78
78
  content {
79
79
  display: block;
@@ -81,7 +81,7 @@ export class IntegrationMonitor extends localize(i18next)(PageView) {
81
81
  }
82
82
  scenarios-monitor {
83
83
  min-height: 350px;
84
- margin: 0 0 var(--margin-default) 0;
84
+ margin: 0 0 var(--spacing-medium) 0;
85
85
  }
86
86
  connections-monitor {
87
87
  width: initial;
@@ -108,9 +108,18 @@ export class IntegrationMonitor extends localize(i18next)(PageView) {
108
108
 
109
109
  render() {
110
110
  return html`
111
- <integration-summary .pendings=${this.pendings} .scenarios=${this.scenarios} .connections=${this.connections}></integration-summary>
111
+ <integration-summary
112
+ .pendings=${this.pendings}
113
+ .scenarios=${this.scenarios}
114
+ .connections=${this.connections}
115
+ ></integration-summary>
112
116
  <content>
113
- <scenarios-monitor .scenarios=${this.scenarios} .pendings=${this.pendings} .colorIndex=${this.colorIndex || {}} .running=${!!this.active}></scenarios-monitor>
117
+ <scenarios-monitor
118
+ .scenarios=${this.scenarios}
119
+ .pendings=${this.pendings}
120
+ .colorIndex=${this.colorIndex || {}}
121
+ .running=${!!this.active}
122
+ ></scenarios-monitor>
114
123
  <connections-monitor .connections=${this.connections}></connections-monitor>
115
124
  </content>
116
125
  `
@@ -1,3 +1,4 @@
1
+ import '@material/web/icon/icon.js'
1
2
  import '@operato/data-grist/ox-grist.js'
2
3
 
3
4
  import gql from 'graphql-tag'
@@ -9,39 +10,25 @@ import { client } from '@operato/graphql'
9
10
  import { HelpDecoratedRenderer } from '@operato/help/help-decorated-renderer.js'
10
11
  import { i18next, localize } from '@operato/i18n'
11
12
  import { isMobileDevice } from '@operato/utils'
13
+ import { ButtonContainerStyles } from '@operato/styles'
12
14
 
13
15
  const SelectFields = ['name', 'description', 'sequence', 'task', 'connection', 'params', 'result', 'skip', 'log']
14
16
 
15
17
  @customElement('scenario-detail')
16
18
  class ScenarioDetail extends localize(i18next)(LitElement) {
17
19
  static styles = [
20
+ ButtonContainerStyles,
18
21
  css`
19
22
  :host {
20
23
  display: flex;
21
24
  flex-direction: column;
22
25
 
23
- background-color: #fff;
26
+ background-color: var(--md-sys-color-surface);
24
27
  }
25
28
 
26
29
  ox-grist {
27
30
  flex: 1;
28
31
  }
29
-
30
- .button-container {
31
- display: flex;
32
- margin-left: auto;
33
- padding: var(--padding-default);
34
- }
35
-
36
- form {
37
- position: relative;
38
- }
39
- [danger] {
40
- --mdc-theme-primary: var(--mdc-danger-button-primary-color);
41
- }
42
- mwc-button {
43
- margin-left: var(--margin-default);
44
- }
45
32
  `
46
33
  ]
47
34
 
@@ -59,8 +46,10 @@ class ScenarioDetail extends localize(i18next)(LitElement) {
59
46
  .fetchHandler=${this.fetchHandler.bind(this)}
60
47
  ></ox-grist>
61
48
  <div class="button-container">
62
- <mwc-button raised danger @click=${this._deleteSteps.bind(this)}>${i18next.t('button.delete')}</mwc-button>
63
- <mwc-button raised @click=${this._updateSteps.bind(this)}>${i18next.t('button.save')}</mwc-button>
49
+ <button danger @click=${this._deleteSteps.bind(this)}>
50
+ <md-icon>delete</md-icon>${i18next.t('button.delete')}
51
+ </button>
52
+ <button @click=${this._updateSteps.bind(this)}><md-icon>save</md-icon>${i18next.t('button.save')}</button>
64
53
  </div>
65
54
  `
66
55
  }
@@ -253,6 +242,7 @@ class ScenarioDetail extends localize(i18next)(LitElement) {
253
242
  label
254
243
  placeholder
255
244
  property
245
+ styles
256
246
  }
257
247
  }
258
248
  }
@@ -1,3 +1,4 @@
1
+ import '@material/web/icon/icon.js'
1
2
  import '@operato/data-grist'
2
3
 
3
4
  import gql from 'graphql-tag'
@@ -7,30 +8,24 @@ import { customElement, property, query, state } from 'lit/decorators.js'
7
8
  import { client } from '@operato/graphql'
8
9
  import { i18next } from '@operato/i18n'
9
10
  import { isMobileDevice } from '@operato/utils'
10
- import { CommonGristStyles } from '@operato/styles'
11
+ import { ButtonContainerStyles, CommonGristStyles } from '@operato/styles'
11
12
 
12
13
  @customElement('scenario-importer')
13
14
  export class ScenarioImporter extends LitElement {
14
15
  static styles = [
16
+ ButtonContainerStyles,
15
17
  CommonGristStyles,
16
18
  css`
17
19
  :host {
18
20
  display: flex;
19
21
  flex-direction: column;
20
22
 
21
- background-color: #fff;
23
+ background-color: var(--md-sys-color-surface);
22
24
  }
25
+
23
26
  ox-grist {
24
27
  flex: 1;
25
28
  }
26
- .button-container {
27
- display: flex;
28
- margin-left: auto;
29
- padding: var(--padding-default);
30
- }
31
- mwc-button {
32
- margin-left: var(--margin-default);
33
- }
34
29
  `
35
30
  ]
36
31
 
@@ -81,7 +76,7 @@ export class ScenarioImporter extends LitElement {
81
76
  ></ox-grist>
82
77
 
83
78
  <div class="button-container">
84
- <mwc-button raised @click=${this.save.bind(this)}>${i18next.t('button.save')}</mwc-button>
79
+ <button @click=${this.save.bind(this)}><md-icon>save</md-icon>${i18next.t('button.save')}</button>
85
80
  </div>
86
81
  `
87
82
  }