@things-factory/integration-ui 9.0.0-beta.24 → 9.0.0-beta.27

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 (120) hide show
  1. package/package.json +6 -6
  2. package/dist-client/analysis/graph-data.d.ts +0 -36
  3. package/dist-client/analysis/graph-data.js +0 -2
  4. package/dist-client/analysis/graph-data.js.map +0 -1
  5. package/dist-client/analysis/graph-viewer-style.d.ts +0 -1
  6. package/dist-client/analysis/graph-viewer-style.js +0 -121
  7. package/dist-client/analysis/graph-viewer-style.js.map +0 -1
  8. package/dist-client/analysis/graph-viewer.d.ts +0 -36
  9. package/dist-client/analysis/graph-viewer.js +0 -294
  10. package/dist-client/analysis/graph-viewer.js.map +0 -1
  11. package/dist-client/analysis/node.d.ts +0 -4
  12. package/dist-client/analysis/node.js +0 -59
  13. package/dist-client/analysis/node.js.map +0 -1
  14. package/dist-client/analysis/relationship.d.ts +0 -4
  15. package/dist-client/analysis/relationship.js +0 -13
  16. package/dist-client/analysis/relationship.js.map +0 -1
  17. package/dist-client/analysis/utils.d.ts +0 -20
  18. package/dist-client/analysis/utils.js +0 -31
  19. package/dist-client/analysis/utils.js.map +0 -1
  20. package/dist-client/bootstrap.d.ts +0 -3
  21. package/dist-client/bootstrap.js +0 -30
  22. package/dist-client/bootstrap.js.map +0 -1
  23. package/dist-client/editors/entity-editor.d.ts +0 -10
  24. package/dist-client/editors/entity-editor.js +0 -46
  25. package/dist-client/editors/entity-editor.js.map +0 -1
  26. package/dist-client/editors/entity-selector.d.ts +0 -31
  27. package/dist-client/editors/entity-selector.js +0 -301
  28. package/dist-client/editors/entity-selector.js.map +0 -1
  29. package/dist-client/editors/property-editor.d.ts +0 -30
  30. package/dist-client/editors/property-editor.js +0 -105
  31. package/dist-client/editors/property-editor.js.map +0 -1
  32. package/dist-client/editors/things-editor-db-procedure.d.ts +0 -52
  33. package/dist-client/editors/things-editor-db-procedure.js +0 -495
  34. package/dist-client/editors/things-editor-db-procedure.js.map +0 -1
  35. package/dist-client/editors/things-editor-entity-selector.d.ts +0 -15
  36. package/dist-client/editors/things-editor-entity-selector.js +0 -94
  37. package/dist-client/editors/things-editor-entity-selector.js.map +0 -1
  38. package/dist-client/editors/things-editor-http-body.d.ts +0 -22
  39. package/dist-client/editors/things-editor-http-body.js +0 -137
  40. package/dist-client/editors/things-editor-http-body.js.map +0 -1
  41. package/dist-client/editors/things-editor-http-headers.d.ts +0 -29
  42. package/dist-client/editors/things-editor-http-headers.js +0 -167
  43. package/dist-client/editors/things-editor-http-headers.js.map +0 -1
  44. package/dist-client/editors/things-editor-http-parameters.d.ts +0 -29
  45. package/dist-client/editors/things-editor-http-parameters.js +0 -167
  46. package/dist-client/editors/things-editor-http-parameters.js.map +0 -1
  47. package/dist-client/editors/things-editor-tag-scenarios.d.ts +0 -32
  48. package/dist-client/editors/things-editor-tag-scenarios.js +0 -226
  49. package/dist-client/editors/things-editor-tag-scenarios.js.map +0 -1
  50. package/dist-client/grist/connection-selector.d.ts +0 -4
  51. package/dist-client/grist/connection-selector.js +0 -30
  52. package/dist-client/grist/connection-selector.js.map +0 -1
  53. package/dist-client/grist/connector-selector.d.ts +0 -4
  54. package/dist-client/grist/connector-selector.js +0 -30
  55. package/dist-client/grist/connector-selector.js.map +0 -1
  56. package/dist-client/grist/dynamic-selector.d.ts +0 -10
  57. package/dist-client/grist/dynamic-selector.js +0 -32
  58. package/dist-client/grist/dynamic-selector.js.map +0 -1
  59. package/dist-client/grist/task-type-selector.d.ts +0 -7
  60. package/dist-client/grist/task-type-selector.js +0 -58
  61. package/dist-client/grist/task-type-selector.js.map +0 -1
  62. package/dist-client/index.d.ts +0 -2
  63. package/dist-client/index.js +0 -3
  64. package/dist-client/index.js.map +0 -1
  65. package/dist-client/pages/connection-importer.d.ts +0 -10
  66. package/dist-client/pages/connection-importer.js +0 -102
  67. package/dist-client/pages/connection-importer.js.map +0 -1
  68. package/dist-client/pages/connection.d.ts +0 -64
  69. package/dist-client/pages/connection.js +0 -478
  70. package/dist-client/pages/connection.js.map +0 -1
  71. package/dist-client/pages/integration-analysis.d.ts +0 -24
  72. package/dist-client/pages/integration-analysis.js +0 -238
  73. package/dist-client/pages/integration-analysis.js.map +0 -1
  74. package/dist-client/pages/integration-monitor.d.ts +0 -28
  75. package/dist-client/pages/integration-monitor.js +0 -343
  76. package/dist-client/pages/integration-monitor.js.map +0 -1
  77. package/dist-client/pages/scenario-detail.d.ts +0 -2
  78. package/dist-client/pages/scenario-detail.js +0 -298
  79. package/dist-client/pages/scenario-detail.js.map +0 -1
  80. package/dist-client/pages/scenario-importer.d.ts +0 -10
  81. package/dist-client/pages/scenario-importer.js +0 -108
  82. package/dist-client/pages/scenario-importer.js.map +0 -1
  83. package/dist-client/pages/scenario.d.ts +0 -69
  84. package/dist-client/pages/scenario.js +0 -632
  85. package/dist-client/pages/scenario.js.map +0 -1
  86. package/dist-client/pages/state-register.d.ts +0 -50
  87. package/dist-client/pages/state-register.js +0 -278
  88. package/dist-client/pages/state-register.js.map +0 -1
  89. package/dist-client/route.d.ts +0 -1
  90. package/dist-client/route.js +0 -20
  91. package/dist-client/route.js.map +0 -1
  92. package/dist-client/tsconfig.tsbuildinfo +0 -1
  93. package/dist-client/viewparts/connections-monitor.d.ts +0 -10
  94. package/dist-client/viewparts/connections-monitor.js +0 -172
  95. package/dist-client/viewparts/connections-monitor.js.map +0 -1
  96. package/dist-client/viewparts/monitoring-summary.d.ts +0 -13
  97. package/dist-client/viewparts/monitoring-summary.js +0 -142
  98. package/dist-client/viewparts/monitoring-summary.js.map +0 -1
  99. package/dist-client/viewparts/pending-q-monitor.d.ts +0 -18
  100. package/dist-client/viewparts/pending-q-monitor.js +0 -248
  101. package/dist-client/viewparts/pending-q-monitor.js.map +0 -1
  102. package/dist-client/viewparts/scenario-instance-log-view.d.ts +0 -24
  103. package/dist-client/viewparts/scenario-instance-log-view.js +0 -141
  104. package/dist-client/viewparts/scenario-instance-log-view.js.map +0 -1
  105. package/dist-client/viewparts/scenario-instance-monitor.d.ts +0 -15
  106. package/dist-client/viewparts/scenario-instance-monitor.js +0 -173
  107. package/dist-client/viewparts/scenario-instance-monitor.js.map +0 -1
  108. package/dist-client/viewparts/scenario-instance-view.d.ts +0 -29
  109. package/dist-client/viewparts/scenario-instance-view.js +0 -263
  110. package/dist-client/viewparts/scenario-instance-view.js.map +0 -1
  111. package/dist-client/viewparts/scenario-monitor.d.ts +0 -16
  112. package/dist-client/viewparts/scenario-monitor.js +0 -285
  113. package/dist-client/viewparts/scenario-monitor.js.map +0 -1
  114. package/dist-client/viewparts/scenarios-monitor.d.ts +0 -16
  115. package/dist-client/viewparts/scenarios-monitor.js +0 -170
  116. package/dist-client/viewparts/scenarios-monitor.js.map +0 -1
  117. package/dist-server/index.d.ts +0 -0
  118. package/dist-server/index.js +0 -1
  119. package/dist-server/index.js.map +0 -1
  120. package/dist-server/tsconfig.tsbuildinfo +0 -1
@@ -1,141 +0,0 @@
1
- import { __decorate, __metadata } from "tslib";
2
- import '@material/web/icon/icon.js';
3
- import '@material/web/fab/fab.js';
4
- import gql from 'graphql-tag';
5
- import { css, html, LitElement, nothing } from 'lit';
6
- import { customElement, property } from 'lit/decorators.js';
7
- import { connect } from 'pwa-helpers/connect-mixin.js';
8
- import { subscribe } from '@operato/graphql';
9
- import { store } from '@operato/shell';
10
- import { ScrollbarStyles } from '@operato/styles';
11
- let ScenarioInstanceLogView = class ScenarioInstanceLogView extends connect(store)(LitElement) {
12
- constructor() {
13
- super(...arguments);
14
- this.startable = false;
15
- }
16
- firstUpdated() {
17
- this.logs = [];
18
- this.startSubscribe();
19
- }
20
- disconnectedCallback() {
21
- super.disconnectedCallback();
22
- this.stopSubscribe();
23
- }
24
- render() {
25
- const logs = this.logs || [];
26
- return html `
27
- <div options></div>
28
- <div content>
29
- ${logs.map(({ timestamp, message, level }) => html `
30
- <div class="${level}">
31
- <span>${new Date(timestamp).toLocaleString()}</span> <strong>${level}</strong> ${message}
32
- </div>
33
- `)}
34
- </div>
35
- ${this.startable
36
- ? html `<md-fab id="start" title="start" @click=${() => this.dispatchEvent(new CustomEvent('start'))}>
37
- <md-icon slot="icon">play_arrow</md-icon>
38
- </md-fab>`
39
- : nothing}
40
- `;
41
- }
42
- async startSubscribe() {
43
- this.subscription = await subscribe({
44
- query: gql `
45
- subscription ($instanceName: String, $scenarioName: String, $level: String) {
46
- log: scenarioInstanceLog(instanceName: $instanceName, scenarioName: $scenarioName, level: $level) {
47
- level
48
- message
49
- timestamp
50
- }
51
- }
52
- `,
53
- variables: {
54
- instanceName: this.instanceName,
55
- scenarioName: this.scenarioName
56
- }
57
- }, {
58
- next: async ({ data }) => {
59
- var wasBottom = this.scrollHeight - this.scrollTop === this.clientHeight;
60
- this.logs.push(data.log);
61
- this.logs.length > 100 && this.logs.shift();
62
- this.requestUpdate();
63
- if (wasBottom) {
64
- /* this is not proved yet - to keep bottom scroll position */
65
- await this.updateComplete;
66
- this.scrollTop = this.scrollHeight - this.clientHeight;
67
- }
68
- }
69
- });
70
- }
71
- async stopSubscribe() {
72
- var _a;
73
- await ((_a = this.subscription) === null || _a === void 0 ? void 0 : _a.unsubscribe());
74
- delete this.subscription;
75
- }
76
- };
77
- ScenarioInstanceLogView.styles = [
78
- ScrollbarStyles,
79
- css `
80
- :host {
81
- display: flex;
82
- flex-direction: column;
83
- background-color: var(--md-sys-color-surface);
84
- padding: var(--spacing-large);
85
- }
86
-
87
- :host([active]) {
88
- padding: 0;
89
- }
90
-
91
- [content] {
92
- flex: 1;
93
-
94
- display: flex;
95
- flex-direction: column;
96
- overflow: auto;
97
-
98
- font-size: var(--fontsize-small);
99
- }
100
-
101
- div.error {
102
- color: #8b0000;
103
- }
104
-
105
- div.warn {
106
- color: #ff6b6b;
107
- }
108
-
109
- span {
110
- color: var(--md-sys-color-primary);
111
- }
112
-
113
- #start {
114
- position: absolute;
115
- bottom: 15px;
116
- right: 16px;
117
- text-decoration: auto;
118
- }
119
- `
120
- ];
121
- __decorate([
122
- property({ type: String }),
123
- __metadata("design:type", String)
124
- ], ScenarioInstanceLogView.prototype, "scenarioName", void 0);
125
- __decorate([
126
- property({ type: String }),
127
- __metadata("design:type", String)
128
- ], ScenarioInstanceLogView.prototype, "instanceName", void 0);
129
- __decorate([
130
- property({ type: Array }),
131
- __metadata("design:type", Object)
132
- ], ScenarioInstanceLogView.prototype, "logs", void 0);
133
- __decorate([
134
- property({ type: Boolean }),
135
- __metadata("design:type", Boolean)
136
- ], ScenarioInstanceLogView.prototype, "startable", void 0);
137
- ScenarioInstanceLogView = __decorate([
138
- customElement('scenario-instance-log-view')
139
- ], ScenarioInstanceLogView);
140
- export { ScenarioInstanceLogView };
141
- //# sourceMappingURL=scenario-instance-log-view.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"scenario-instance-log-view.js","sourceRoot":"","sources":["../../client/viewparts/scenario-instance-log-view.ts"],"names":[],"mappings":"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","sourcesContent":["import '@material/web/icon/icon.js'\nimport '@material/web/fab/fab.js'\n\nimport gql from 'graphql-tag'\n\nimport { css, html, LitElement, nothing } from 'lit'\nimport { customElement, property, query } from 'lit/decorators.js'\nimport { connect } from 'pwa-helpers/connect-mixin.js'\n\nimport { subscribe } from '@operato/graphql'\nimport { store } from '@operato/shell'\nimport { ScrollbarStyles } from '@operato/styles'\n\n@customElement('scenario-instance-log-view')\nexport class ScenarioInstanceLogView extends connect(store)(LitElement) {\n static styles = [\n ScrollbarStyles,\n css`\n :host {\n display: flex;\n flex-direction: column;\n background-color: var(--md-sys-color-surface);\n padding: var(--spacing-large);\n }\n\n :host([active]) {\n padding: 0;\n }\n\n [content] {\n flex: 1;\n\n display: flex;\n flex-direction: column;\n overflow: auto;\n\n font-size: var(--fontsize-small);\n }\n\n div.error {\n color: #8b0000;\n }\n\n div.warn {\n color: #ff6b6b;\n }\n\n span {\n color: var(--md-sys-color-primary);\n }\n\n #start {\n position: absolute;\n bottom: 15px;\n right: 16px;\n text-decoration: auto;\n }\n `\n ]\n\n @property({ type: String }) scenarioName?: string\n @property({ type: String }) instanceName?: string\n @property({ type: Array }) logs: any\n @property({ type: Boolean }) startable: boolean = false\n\n subscription: any\n\n firstUpdated() {\n this.logs = []\n this.startSubscribe()\n }\n\n disconnectedCallback() {\n super.disconnectedCallback()\n this.stopSubscribe()\n }\n\n render() {\n const logs = this.logs || []\n\n return html`\n <div options></div>\n <div content>\n ${logs.map(\n ({ timestamp, message, level }) => html`\n <div class=\"${level}\">\n <span>${new Date(timestamp).toLocaleString()}</span> <strong>${level}</strong> ${message}\n </div>\n `\n )}\n </div>\n ${this.startable\n ? html`<md-fab id=\"start\" title=\"start\" @click=${() => this.dispatchEvent(new CustomEvent('start'))}>\n <md-icon slot=\"icon\">play_arrow</md-icon>\n </md-fab>`\n : nothing}\n `\n }\n\n async startSubscribe() {\n this.subscription = await subscribe(\n {\n query: gql`\n subscription ($instanceName: String, $scenarioName: String, $level: String) {\n log: scenarioInstanceLog(instanceName: $instanceName, scenarioName: $scenarioName, level: $level) {\n level\n message\n timestamp\n }\n }\n `,\n variables: {\n instanceName: this.instanceName,\n scenarioName: this.scenarioName\n }\n },\n {\n next: async ({ data }) => {\n var wasBottom = this.scrollHeight - this.scrollTop === this.clientHeight\n\n this.logs.push(data.log)\n this.logs.length > 100 && this.logs.shift()\n this.requestUpdate()\n\n if (wasBottom) {\n /* this is not proved yet - to keep bottom scroll position */\n await this.updateComplete\n this.scrollTop = this.scrollHeight - this.clientHeight\n }\n }\n }\n )\n }\n\n async stopSubscribe() {\n await this.subscription?.unsubscribe()\n delete this.subscription\n }\n}\n"]}
@@ -1,15 +0,0 @@
1
- import '@material/web/icon/icon.js';
2
- import '@operato/data-grist';
3
- import './scenario-instance-view.js';
4
- import { LitElement } from 'lit';
5
- declare const ScenarioInstanceMonitor_base: (new (...args: any[]) => LitElement) & typeof LitElement;
6
- export declare class ScenarioInstanceMonitor extends ScenarioInstanceMonitor_base {
7
- static styles: import("lit").CSSResult[];
8
- instance: any;
9
- color?: string;
10
- render(): import("lit-html").TemplateResult<1>;
11
- startScenario(instance: any): Promise<void>;
12
- stopScenario(instance: any): Promise<void>;
13
- showInstanceDetail(): Promise<void>;
14
- }
15
- export {};
@@ -1,173 +0,0 @@
1
- import { __decorate, __metadata } from "tslib";
2
- import '@material/web/icon/icon.js';
3
- import '@operato/data-grist';
4
- import './scenario-instance-view.js';
5
- import gql from 'graphql-tag';
6
- import { css, html, LitElement } from 'lit';
7
- import { customElement, property } from 'lit/decorators.js';
8
- import { client } from '@operato/graphql';
9
- import { i18next, localize } from '@operato/i18n';
10
- import { notify, openPopup } from '@operato/layout';
11
- import { ScrollbarStyles } from '@operato/styles';
12
- function IS_SCENARIO_RUNNING(state) {
13
- return state && state !== 'UNLOADED';
14
- }
15
- let ScenarioInstanceMonitor = class ScenarioInstanceMonitor extends localize(i18next)(LitElement) {
16
- render() {
17
- var instance = this.instance;
18
- const { instanceName, progress, message, state } = instance;
19
- const { rate = 0, steps = 0, step = 0, rounds = 0 } = progress || {};
20
- const running = IS_SCENARIO_RUNNING(state);
21
- return html `
22
- <div name>${instanceName}</div>
23
- <div progress-wrap>
24
- <div progress>
25
- <div id="progressbar" .style="width:${rate}%;background-color:${this.color};"></div>
26
- </div>
27
- <div steps>${step}/${steps}</div>
28
- </div>
29
- <div buttons>
30
- <span><strong>${rounds}</strong> round</span>
31
- <md-icon @click=${e => this.showInstanceDetail()}>wysiwyg</md-icon>
32
- <md-icon @click=${e => (running ? this.stopScenario(instance) : this.startScenario(instance))}
33
- >${running ? 'pause' : 'play_arrow'}</md-icon
34
- >
35
- </div>
36
- `;
37
- }
38
- async startScenario(instance) {
39
- var response = await client.mutate({
40
- mutation: gql `
41
- mutation ($scenarioName: String!, $instanceName: String) {
42
- startScenario(scenarioName: $scenarioName, instanceName: $instanceName) {
43
- state
44
- }
45
- }
46
- `,
47
- variables: {
48
- scenarioName: instance.scenarioName,
49
- instanceName: instance.instanceName
50
- }
51
- });
52
- notify({
53
- level: 'info',
54
- message: `${IS_SCENARIO_RUNNING(response.data.startScenario.state) ? 'success' : 'fail'} to start scenario : ${instance.scenarioName}`
55
- });
56
- }
57
- async stopScenario(instance) {
58
- var response = await client.mutate({
59
- mutation: gql `
60
- mutation ($instanceName: String!) {
61
- stopScenario(instanceName: $instanceName) {
62
- state
63
- }
64
- }
65
- `,
66
- variables: {
67
- instanceName: instance.instanceName
68
- }
69
- });
70
- notify({
71
- level: 'info',
72
- message: `${IS_SCENARIO_RUNNING(response.data.stopScenario.state) ? 'fail' : 'success'} to stop instance : ${instance.instanceName}`
73
- });
74
- }
75
- async showInstanceDetail() {
76
- const { instanceName, scenarioName } = this.instance;
77
- openPopup(html `
78
- <scenario-instance-view .instanceName=${instanceName} .scenarioName=${scenarioName}></scenario-instance-view>
79
- `, {
80
- size: 'large',
81
- title: `${i18next.t('title.scenario-instance')}`
82
- });
83
- }
84
- };
85
- ScenarioInstanceMonitor.styles = [
86
- ScrollbarStyles,
87
- css `
88
- :host {
89
- display: block;
90
- overflow: hidden;
91
- position: relative;
92
- padding: var(--spacing-small);
93
- color: var(--md-sys-color-secondary);
94
- }
95
-
96
- [running] {
97
- background-color: lightgreen;
98
- }
99
-
100
- [name] {
101
- font-size: var(--fontsize-default);
102
- font-weight: bold;
103
- }
104
-
105
- [progress] {
106
- display: block;
107
- position: relative;
108
-
109
- width: 100%;
110
- margin: 2px;
111
- padding: 2px;
112
- box-sizing: border-box;
113
-
114
- border: var(--border-dim-color);
115
- border-radius: 10px;
116
- background-color: var(--md-sys-color-surface);
117
- }
118
- [progress-wrap] {
119
- display: flex;
120
- flex-direction: row;
121
- margin: 4px 0;
122
- }
123
-
124
- [running] [progress] {
125
- background-color: var(--md-sys-color-surface-variant);
126
- }
127
-
128
- [steps] {
129
- padding: 0 0 0 var(--spacing-small);
130
- }
131
-
132
- #progressbar {
133
- height: 100%;
134
- text-align: left;
135
- border-radius: 5px;
136
- animation: width 1s linear ease-out;
137
- }
138
-
139
- [buttons] {
140
- --md-icon-size: 18px;
141
-
142
- border-top: var(--border-dim-color);
143
- padding: var(--spacing-small) 0 0 0;
144
- text-align: right;
145
- }
146
-
147
- [buttons] md-icon {
148
- color: var(--md-sys-color-primary);
149
- }
150
-
151
- @keyframes width {
152
- 0% {
153
- width: 0;
154
- }
155
- 100% {
156
- width: auto;
157
- }
158
- }
159
- `
160
- ];
161
- __decorate([
162
- property({ type: Object }),
163
- __metadata("design:type", Object)
164
- ], ScenarioInstanceMonitor.prototype, "instance", void 0);
165
- __decorate([
166
- property({ type: String }),
167
- __metadata("design:type", String)
168
- ], ScenarioInstanceMonitor.prototype, "color", void 0);
169
- ScenarioInstanceMonitor = __decorate([
170
- customElement('scenario-instance-monitor')
171
- ], ScenarioInstanceMonitor);
172
- export { ScenarioInstanceMonitor };
173
- //# sourceMappingURL=scenario-instance-monitor.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"scenario-instance-monitor.js","sourceRoot":"","sources":["../../client/viewparts/scenario-instance-monitor.ts"],"names":[],"mappings":"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","sourcesContent":["import '@material/web/icon/icon.js'\nimport '@operato/data-grist'\nimport './scenario-instance-view.js'\n\nimport gql from 'graphql-tag'\nimport { css, html, LitElement } from 'lit'\nimport { customElement, property, query } from 'lit/decorators.js'\n\nimport { client } from '@operato/graphql'\nimport { i18next, localize } from '@operato/i18n'\nimport { notify, openPopup } from '@operato/layout'\nimport { ScrollbarStyles } from '@operato/styles'\n\nfunction IS_SCENARIO_RUNNING(state) {\n return state && state !== 'UNLOADED'\n}\n\n@customElement('scenario-instance-monitor')\nexport class ScenarioInstanceMonitor extends localize(i18next)(LitElement) {\n static styles = [\n ScrollbarStyles,\n css`\n :host {\n display: block;\n overflow: hidden;\n position: relative;\n padding: var(--spacing-small);\n color: var(--md-sys-color-secondary);\n }\n\n [running] {\n background-color: lightgreen;\n }\n\n [name] {\n font-size: var(--fontsize-default);\n font-weight: bold;\n }\n\n [progress] {\n display: block;\n position: relative;\n\n width: 100%;\n margin: 2px;\n padding: 2px;\n box-sizing: border-box;\n\n border: var(--border-dim-color);\n border-radius: 10px;\n background-color: var(--md-sys-color-surface);\n }\n [progress-wrap] {\n display: flex;\n flex-direction: row;\n margin: 4px 0;\n }\n\n [running] [progress] {\n background-color: var(--md-sys-color-surface-variant);\n }\n\n [steps] {\n padding: 0 0 0 var(--spacing-small);\n }\n\n #progressbar {\n height: 100%;\n text-align: left;\n border-radius: 5px;\n animation: width 1s linear ease-out;\n }\n\n [buttons] {\n --md-icon-size: 18px;\n\n border-top: var(--border-dim-color);\n padding: var(--spacing-small) 0 0 0;\n text-align: right;\n }\n\n [buttons] md-icon {\n color: var(--md-sys-color-primary);\n }\n\n @keyframes width {\n 0% {\n width: 0;\n }\n 100% {\n width: auto;\n }\n }\n `\n ]\n\n @property({ type: Object }) instance: any\n @property({ type: String }) color?: string\n\n render() {\n var instance = this.instance\n const { instanceName, progress, message, state } = instance\n const { rate = 0, steps = 0, step = 0, rounds = 0 } = progress || {}\n\n const running = IS_SCENARIO_RUNNING(state)\n\n return html`\n <div name>${instanceName}</div>\n <div progress-wrap>\n <div progress>\n <div id=\"progressbar\" .style=\"width:${rate}%;background-color:${this.color};\"></div>\n </div>\n <div steps>${step}/${steps}</div>\n </div>\n <div buttons>\n <span><strong>${rounds}</strong> round</span>\n <md-icon @click=${e => this.showInstanceDetail()}>wysiwyg</md-icon>\n <md-icon @click=${e => (running ? this.stopScenario(instance) : this.startScenario(instance))}\n >${running ? 'pause' : 'play_arrow'}</md-icon\n >\n </div>\n `\n }\n\n async startScenario(instance) {\n var response = await client.mutate({\n mutation: gql`\n mutation ($scenarioName: String!, $instanceName: String) {\n startScenario(scenarioName: $scenarioName, instanceName: $instanceName) {\n state\n }\n }\n `,\n variables: {\n scenarioName: instance.scenarioName,\n instanceName: instance.instanceName\n }\n })\n\n notify({\n level: 'info',\n message: `${IS_SCENARIO_RUNNING(response.data.startScenario.state) ? 'success' : 'fail'} to start scenario : ${instance.scenarioName}`\n })\n }\n\n async stopScenario(instance) {\n var response = await client.mutate({\n mutation: gql`\n mutation ($instanceName: String!) {\n stopScenario(instanceName: $instanceName) {\n state\n }\n }\n `,\n variables: {\n instanceName: instance.instanceName\n }\n })\n\n notify({\n level: 'info',\n message: `${IS_SCENARIO_RUNNING(response.data.stopScenario.state) ? 'fail' : 'success'} to stop instance : ${instance.instanceName}`\n })\n }\n\n async showInstanceDetail() {\n const { instanceName, scenarioName } = this.instance\n openPopup(\n html`\n <scenario-instance-view .instanceName=${instanceName} .scenarioName=${scenarioName}></scenario-instance-view>\n `,\n {\n size: 'large',\n title: `${i18next.t('title.scenario-instance')}`\n }\n )\n }\n}\n"]}
@@ -1,29 +0,0 @@
1
- import './scenario-instance-log-view.js';
2
- import { LitElement } from 'lit';
3
- declare const ScenarioInstanceView_base: (new (...args: any[]) => {
4
- _storeUnsubscribe: import("redux").Unsubscribe;
5
- connectedCallback(): void;
6
- disconnectedCallback(): void;
7
- stateChanged(_state: unknown): void;
8
- readonly isConnected: boolean;
9
- }) & typeof LitElement;
10
- export declare class ScenarioInstanceView extends ScenarioInstanceView_base {
11
- static styles: import("lit").CSSResult[];
12
- scenarioName?: string;
13
- instanceName?: string;
14
- instance?: any;
15
- tab?: string;
16
- step?: string;
17
- key?: string;
18
- contextPath?: string;
19
- subscription: any;
20
- render(): import("lit-html").TemplateResult<1>;
21
- firstUpdated(): void;
22
- disconnectedCallback(): void;
23
- stateChanged(state: any): void;
24
- renderDataObject(data: any): import("lit-html").TemplateResult<1>;
25
- renderVariableObject(data: any): import("lit-html").TemplateResult<1>;
26
- startSubscribe(): Promise<void>;
27
- stopSubscribe(): Promise<void>;
28
- }
29
- export {};
@@ -1,263 +0,0 @@
1
- import { __decorate, __metadata } from "tslib";
2
- import './scenario-instance-log-view.js';
3
- import gql from 'graphql-tag';
4
- import { css, html, LitElement } from 'lit';
5
- import { customElement, property } from 'lit/decorators.js';
6
- import { connect } from 'pwa-helpers/connect-mixin.js';
7
- import { subscribe } from '@operato/graphql';
8
- import { store } from '@operato/shell';
9
- import { ScrollbarStyles } from '@operato/styles';
10
- let ScenarioInstanceView = class ScenarioInstanceView extends connect(store)(LitElement) {
11
- render() {
12
- const tab = this.tab || 'info';
13
- const { scenarioName, instanceName, description, state, progress, variables, data, message } = this.instance || {};
14
- const { rate = 0, steps = 0, step = 0, rounds = 0 } = progress || {};
15
- const diagram = `${this.contextPath || ''}/scenario-view/${this.scenarioName}`;
16
- return html `
17
- <div content>
18
- <div tab>
19
- <span @click=${e => (this.tab = 'info')} ?active=${tab == 'info'}>info</span>
20
- <span @click=${e => (this.tab = 'variables')} ?active=${tab == 'variables'}>variables</span>
21
- <span @click=${e => (this.tab = 'data')} ?active=${tab == 'data'}>data</span>
22
- <span @click=${e => (this.tab = 'log')} ?active=${tab == 'log'}>log</span>
23
- </div>
24
- <div detail>
25
- <div info ?active=${tab == 'info'}>
26
- <ul>
27
- <li>scenario name : <strong>${scenarioName}</strong></li>
28
- <li>instance name : ${instanceName}</li>
29
- <li>description : ${description}</li>
30
- <li>state : ${state}</li>
31
- <li>total steps : ${steps}</li>
32
- <li>current step : ${step}</li>
33
- <li>rounds : ${rounds}</li>
34
- <li>messge : ${message}</li>
35
- </ul>
36
- <iframe diagram src="${diagram}"></iframe>
37
- </div>
38
- <div variables ?active=${tab == 'variables'}>${this.renderVariableObject(variables)}</div>
39
- <div data ?active=${tab == 'data'}>${this.renderDataObject(data)}</div>
40
- <scenario-instance-log-view
41
- log
42
- ?active=${tab == 'log'}
43
- .scenarioName=${this.scenarioName}
44
- .instanceName=${this.instanceName}
45
- ></scenario-instance-log-view>
46
- </div>
47
- </div>
48
- `;
49
- }
50
- firstUpdated() {
51
- this.startSubscribe();
52
- }
53
- disconnectedCallback() {
54
- super.disconnectedCallback();
55
- this.stopSubscribe();
56
- }
57
- stateChanged(state) {
58
- this.contextPath = state.app.contextPath;
59
- }
60
- renderDataObject(data) {
61
- const keys = Object.keys(data || {});
62
- if (keys.length == 0) {
63
- return html `<pre>no data</pre>`;
64
- }
65
- const currentStep = this.step || keys[0];
66
- return html `
67
- <ul keys>
68
- ${keys.map(step => html `<li @click=${e => (this.step = step)} ?active=${currentStep == step}>${step}</li>`)}
69
- </ul>
70
- <div value>
71
- <pre>${data[currentStep] ? JSON.stringify(data[currentStep], null, 2) : ''}</pre>
72
- </div>
73
- `;
74
- }
75
- renderVariableObject(data) {
76
- const keys = Object.keys(data || {});
77
- if (keys.length == 0) {
78
- return html `<pre>no data</pre>`;
79
- }
80
- const currentKey = this.key || keys[0];
81
- return html `
82
- <ul keys>
83
- ${keys.map(key => html `<li @click=${e => (this.key = key)} ?active=${currentKey == key}>${key}</li>`)}
84
- </ul>
85
- <div value>
86
- <pre>${data[currentKey] ? JSON.stringify(data[currentKey], null, 2) : ''}</pre>
87
- </div>
88
- `;
89
- }
90
- async startSubscribe() {
91
- this.subscription = await subscribe({
92
- query: gql `
93
- subscription ($instanceName: String, $scenarioName: String) {
94
- scenarioInstanceState(instanceName: $instanceName, scenarioName: $scenarioName) {
95
- instanceName
96
- scenarioName
97
- state
98
- progress {
99
- rate
100
- steps
101
- step
102
- rounds
103
- }
104
- variables
105
- data
106
- }
107
- }
108
- `,
109
- variables: {
110
- instanceName: this.instanceName,
111
- scenarioName: this.scenarioName
112
- }
113
- }, {
114
- next: async ({ data }) => {
115
- data && (this.instance = data.scenarioInstanceState);
116
- }
117
- });
118
- }
119
- async stopSubscribe() {
120
- var _a;
121
- await ((_a = this.subscription) === null || _a === void 0 ? void 0 : _a.unsubscribe());
122
- delete this.subscription;
123
- }
124
- };
125
- ScenarioInstanceView.styles = [
126
- ScrollbarStyles,
127
- css `
128
- :host {
129
- display: flex;
130
- flex-direction: column;
131
- background-color: var(--md-sys-color-background);
132
- }
133
-
134
- [diagram] {
135
- flex: 1;
136
- height: 100%;
137
- border: none;
138
- }
139
-
140
- [content] {
141
- flex: 1;
142
-
143
- display: flex;
144
- flex-direction: column;
145
- overflow: hidden;
146
- }
147
-
148
- [tab] {
149
- display: flex;
150
- }
151
-
152
- [tab] span {
153
- display: inline;
154
- padding: var(--spacing-large) var(--spacing-large) var(--spacing-small) var(--spacing-large);
155
- border-bottom: 3px solid transparent;
156
- color: var(--md-sys-color-secondary);
157
- text-transform: capitalize;
158
- }
159
-
160
- [tab] span[active] {
161
- border-color: var(--md-sys-color-primary);
162
- font-weight: bold;
163
- }
164
-
165
- [detail] {
166
- flex: 1;
167
- background-color: var(--md-sys-color-surface);
168
- border-top: var(--border-dim-color);
169
- overflow: hidden;
170
- padding: var(--spacing-large);
171
- }
172
-
173
- [detail] > * {
174
- display: none;
175
- width: 100%;
176
- height: 100%;
177
- color: var(--md-sys-color-secondary);
178
- }
179
-
180
- [detail] > [active] {
181
- display: flex;
182
- overflow: auto;
183
- }
184
-
185
- pre {
186
- margin: 0;
187
- }
188
-
189
- [detail] ul {
190
- margin: 0;
191
- padding: 0;
192
- flex: 1;
193
- list-style: inside '- ';
194
- }
195
- [detail] li {
196
- padding: var(--spacing-medium) var(--spacing-small) var(--spacing-small) var(--spacing-small);
197
- border-bottom: var(--border-dim-color);
198
- }
199
-
200
- li[active] {
201
- font-weight: bold;
202
- }
203
-
204
- [value] {
205
- flex: 1;
206
- overflow: auto;
207
- padding: var(--spacing-large);
208
- }
209
- scenario-instance-log-view [active] {
210
- padding: 0;
211
- }
212
-
213
- @media only screen and (max-width: 460px) {
214
- [info][active] {
215
- display: block;
216
- }
217
- [detail] {
218
- padding: var(--spacing-medium);
219
- overflow: auto;
220
- }
221
- [detail] > * {
222
- height: auto;
223
- }
224
- [diagram] {
225
- width: 100%;
226
- min-height: 500px;
227
- }
228
- }
229
- `
230
- ];
231
- __decorate([
232
- property({ type: String }),
233
- __metadata("design:type", String)
234
- ], ScenarioInstanceView.prototype, "scenarioName", void 0);
235
- __decorate([
236
- property({ type: String }),
237
- __metadata("design:type", String)
238
- ], ScenarioInstanceView.prototype, "instanceName", void 0);
239
- __decorate([
240
- property({ type: Object }),
241
- __metadata("design:type", Object)
242
- ], ScenarioInstanceView.prototype, "instance", void 0);
243
- __decorate([
244
- property({ type: String }),
245
- __metadata("design:type", String)
246
- ], ScenarioInstanceView.prototype, "tab", void 0);
247
- __decorate([
248
- property({ type: String }),
249
- __metadata("design:type", String)
250
- ], ScenarioInstanceView.prototype, "step", void 0);
251
- __decorate([
252
- property({ type: String }),
253
- __metadata("design:type", String)
254
- ], ScenarioInstanceView.prototype, "key", void 0);
255
- __decorate([
256
- property({ type: String }),
257
- __metadata("design:type", String)
258
- ], ScenarioInstanceView.prototype, "contextPath", void 0);
259
- ScenarioInstanceView = __decorate([
260
- customElement('scenario-instance-view')
261
- ], ScenarioInstanceView);
262
- export { ScenarioInstanceView };
263
- //# sourceMappingURL=scenario-instance-view.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"scenario-instance-view.js","sourceRoot":"","sources":["../../client/viewparts/scenario-instance-view.ts"],"names":[],"mappings":"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","sourcesContent":["import './scenario-instance-log-view.js'\n\nimport gql from 'graphql-tag'\nimport { css, html, LitElement } from 'lit'\nimport { customElement, property, query } from 'lit/decorators.js'\nimport { connect } from 'pwa-helpers/connect-mixin.js'\n\nimport { subscribe } from '@operato/graphql'\nimport { store } from '@operato/shell'\nimport { ScrollbarStyles } from '@operato/styles'\n\n@customElement('scenario-instance-view')\nexport class ScenarioInstanceView extends connect(store)(LitElement) {\n static styles = [\n ScrollbarStyles,\n css`\n :host {\n display: flex;\n flex-direction: column;\n background-color: var(--md-sys-color-background);\n }\n\n [diagram] {\n flex: 1;\n height: 100%;\n border: none;\n }\n\n [content] {\n flex: 1;\n\n display: flex;\n flex-direction: column;\n overflow: hidden;\n }\n\n [tab] {\n display: flex;\n }\n\n [tab] span {\n display: inline;\n padding: var(--spacing-large) var(--spacing-large) var(--spacing-small) var(--spacing-large);\n border-bottom: 3px solid transparent;\n color: var(--md-sys-color-secondary);\n text-transform: capitalize;\n }\n\n [tab] span[active] {\n border-color: var(--md-sys-color-primary);\n font-weight: bold;\n }\n\n [detail] {\n flex: 1;\n background-color: var(--md-sys-color-surface);\n border-top: var(--border-dim-color);\n overflow: hidden;\n padding: var(--spacing-large);\n }\n\n [detail] > * {\n display: none;\n width: 100%;\n height: 100%;\n color: var(--md-sys-color-secondary);\n }\n\n [detail] > [active] {\n display: flex;\n overflow: auto;\n }\n\n pre {\n margin: 0;\n }\n\n [detail] ul {\n margin: 0;\n padding: 0;\n flex: 1;\n list-style: inside '- ';\n }\n [detail] li {\n padding: var(--spacing-medium) var(--spacing-small) var(--spacing-small) var(--spacing-small);\n border-bottom: var(--border-dim-color);\n }\n\n li[active] {\n font-weight: bold;\n }\n\n [value] {\n flex: 1;\n overflow: auto;\n padding: var(--spacing-large);\n }\n scenario-instance-log-view [active] {\n padding: 0;\n }\n\n @media only screen and (max-width: 460px) {\n [info][active] {\n display: block;\n }\n [detail] {\n padding: var(--spacing-medium);\n overflow: auto;\n }\n [detail] > * {\n height: auto;\n }\n [diagram] {\n width: 100%;\n min-height: 500px;\n }\n }\n `\n ]\n\n @property({ type: String }) scenarioName?: string\n @property({ type: String }) instanceName?: string\n @property({ type: Object }) instance?: any\n @property({ type: String }) tab?: string\n @property({ type: String }) step?: string\n @property({ type: String }) key?: string\n @property({ type: String }) contextPath?: string\n\n subscription: any\n\n render() {\n const tab = this.tab || 'info'\n const { scenarioName, instanceName, description, state, progress, variables, data, message } = this.instance || {}\n const { rate = 0, steps = 0, step = 0, rounds = 0 } = progress || {}\n const diagram = `${this.contextPath || ''}/scenario-view/${this.scenarioName}`\n\n return html`\n <div content>\n <div tab>\n <span @click=${e => (this.tab = 'info')} ?active=${tab == 'info'}>info</span>\n <span @click=${e => (this.tab = 'variables')} ?active=${tab == 'variables'}>variables</span>\n <span @click=${e => (this.tab = 'data')} ?active=${tab == 'data'}>data</span>\n <span @click=${e => (this.tab = 'log')} ?active=${tab == 'log'}>log</span>\n </div>\n <div detail>\n <div info ?active=${tab == 'info'}>\n <ul>\n <li>scenario name : <strong>${scenarioName}</strong></li>\n <li>instance name : ${instanceName}</li>\n <li>description : ${description}</li>\n <li>state : ${state}</li>\n <li>total steps : ${steps}</li>\n <li>current step : ${step}</li>\n <li>rounds : ${rounds}</li>\n <li>messge : ${message}</li>\n </ul>\n <iframe diagram src=\"${diagram}\"></iframe>\n </div>\n <div variables ?active=${tab == 'variables'}>${this.renderVariableObject(variables)}</div>\n <div data ?active=${tab == 'data'}>${this.renderDataObject(data)}</div>\n <scenario-instance-log-view\n log\n ?active=${tab == 'log'}\n .scenarioName=${this.scenarioName}\n .instanceName=${this.instanceName}\n ></scenario-instance-log-view>\n </div>\n </div>\n `\n }\n\n firstUpdated() {\n this.startSubscribe()\n }\n\n disconnectedCallback() {\n super.disconnectedCallback()\n this.stopSubscribe()\n }\n\n stateChanged(state) {\n this.contextPath = state.app.contextPath\n }\n\n renderDataObject(data) {\n const keys = Object.keys(data || {})\n\n if (keys.length == 0) {\n return html`<pre>no data</pre>`\n }\n\n const currentStep = this.step || keys[0]\n\n return html`\n <ul keys>\n ${keys.map(step => html`<li @click=${e => (this.step = step)} ?active=${currentStep == step}>${step}</li>`)}\n </ul>\n <div value>\n <pre>${data[currentStep] ? JSON.stringify(data[currentStep], null, 2) : ''}</pre>\n </div>\n `\n }\n\n renderVariableObject(data) {\n const keys = Object.keys(data || {})\n\n if (keys.length == 0) {\n return html`<pre>no data</pre>`\n }\n\n const currentKey = this.key || keys[0]\n\n return html`\n <ul keys>\n ${keys.map(key => html`<li @click=${e => (this.key = key)} ?active=${currentKey == key}>${key}</li>`)}\n </ul>\n <div value>\n <pre>${data[currentKey] ? JSON.stringify(data[currentKey], null, 2) : ''}</pre>\n </div>\n `\n }\n\n async startSubscribe() {\n this.subscription = await subscribe(\n {\n query: gql`\n subscription ($instanceName: String, $scenarioName: String) {\n scenarioInstanceState(instanceName: $instanceName, scenarioName: $scenarioName) {\n instanceName\n scenarioName\n state\n progress {\n rate\n steps\n step\n rounds\n }\n variables\n data\n }\n }\n `,\n variables: {\n instanceName: this.instanceName,\n scenarioName: this.scenarioName\n }\n },\n {\n next: async ({ data }) => {\n data && (this.instance = data.scenarioInstanceState)\n }\n }\n )\n }\n\n async stopSubscribe() {\n await this.subscription?.unsubscribe()\n delete this.subscription\n }\n}\n"]}