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

Sign up to get free protection for your applications and to get access to all the features.
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
  }