@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.
- package/package.json +6 -6
- package/dist-client/analysis/graph-data.d.ts +0 -36
- package/dist-client/analysis/graph-data.js +0 -2
- package/dist-client/analysis/graph-data.js.map +0 -1
- package/dist-client/analysis/graph-viewer-style.d.ts +0 -1
- package/dist-client/analysis/graph-viewer-style.js +0 -121
- package/dist-client/analysis/graph-viewer-style.js.map +0 -1
- package/dist-client/analysis/graph-viewer.d.ts +0 -36
- package/dist-client/analysis/graph-viewer.js +0 -294
- package/dist-client/analysis/graph-viewer.js.map +0 -1
- package/dist-client/analysis/node.d.ts +0 -4
- package/dist-client/analysis/node.js +0 -59
- package/dist-client/analysis/node.js.map +0 -1
- package/dist-client/analysis/relationship.d.ts +0 -4
- package/dist-client/analysis/relationship.js +0 -13
- package/dist-client/analysis/relationship.js.map +0 -1
- package/dist-client/analysis/utils.d.ts +0 -20
- package/dist-client/analysis/utils.js +0 -31
- package/dist-client/analysis/utils.js.map +0 -1
- package/dist-client/bootstrap.d.ts +0 -3
- package/dist-client/bootstrap.js +0 -30
- package/dist-client/bootstrap.js.map +0 -1
- package/dist-client/editors/entity-editor.d.ts +0 -10
- package/dist-client/editors/entity-editor.js +0 -46
- package/dist-client/editors/entity-editor.js.map +0 -1
- package/dist-client/editors/entity-selector.d.ts +0 -31
- package/dist-client/editors/entity-selector.js +0 -301
- package/dist-client/editors/entity-selector.js.map +0 -1
- package/dist-client/editors/property-editor.d.ts +0 -30
- package/dist-client/editors/property-editor.js +0 -105
- package/dist-client/editors/property-editor.js.map +0 -1
- package/dist-client/editors/things-editor-db-procedure.d.ts +0 -52
- package/dist-client/editors/things-editor-db-procedure.js +0 -495
- package/dist-client/editors/things-editor-db-procedure.js.map +0 -1
- package/dist-client/editors/things-editor-entity-selector.d.ts +0 -15
- package/dist-client/editors/things-editor-entity-selector.js +0 -94
- package/dist-client/editors/things-editor-entity-selector.js.map +0 -1
- package/dist-client/editors/things-editor-http-body.d.ts +0 -22
- package/dist-client/editors/things-editor-http-body.js +0 -137
- package/dist-client/editors/things-editor-http-body.js.map +0 -1
- package/dist-client/editors/things-editor-http-headers.d.ts +0 -29
- package/dist-client/editors/things-editor-http-headers.js +0 -167
- package/dist-client/editors/things-editor-http-headers.js.map +0 -1
- package/dist-client/editors/things-editor-http-parameters.d.ts +0 -29
- package/dist-client/editors/things-editor-http-parameters.js +0 -167
- package/dist-client/editors/things-editor-http-parameters.js.map +0 -1
- package/dist-client/editors/things-editor-tag-scenarios.d.ts +0 -32
- package/dist-client/editors/things-editor-tag-scenarios.js +0 -226
- package/dist-client/editors/things-editor-tag-scenarios.js.map +0 -1
- package/dist-client/grist/connection-selector.d.ts +0 -4
- package/dist-client/grist/connection-selector.js +0 -30
- package/dist-client/grist/connection-selector.js.map +0 -1
- package/dist-client/grist/connector-selector.d.ts +0 -4
- package/dist-client/grist/connector-selector.js +0 -30
- package/dist-client/grist/connector-selector.js.map +0 -1
- package/dist-client/grist/dynamic-selector.d.ts +0 -10
- package/dist-client/grist/dynamic-selector.js +0 -32
- package/dist-client/grist/dynamic-selector.js.map +0 -1
- package/dist-client/grist/task-type-selector.d.ts +0 -7
- package/dist-client/grist/task-type-selector.js +0 -58
- package/dist-client/grist/task-type-selector.js.map +0 -1
- package/dist-client/index.d.ts +0 -2
- package/dist-client/index.js +0 -3
- package/dist-client/index.js.map +0 -1
- package/dist-client/pages/connection-importer.d.ts +0 -10
- package/dist-client/pages/connection-importer.js +0 -102
- package/dist-client/pages/connection-importer.js.map +0 -1
- package/dist-client/pages/connection.d.ts +0 -64
- package/dist-client/pages/connection.js +0 -478
- package/dist-client/pages/connection.js.map +0 -1
- package/dist-client/pages/integration-analysis.d.ts +0 -24
- package/dist-client/pages/integration-analysis.js +0 -238
- package/dist-client/pages/integration-analysis.js.map +0 -1
- package/dist-client/pages/integration-monitor.d.ts +0 -28
- package/dist-client/pages/integration-monitor.js +0 -343
- package/dist-client/pages/integration-monitor.js.map +0 -1
- package/dist-client/pages/scenario-detail.d.ts +0 -2
- package/dist-client/pages/scenario-detail.js +0 -298
- package/dist-client/pages/scenario-detail.js.map +0 -1
- package/dist-client/pages/scenario-importer.d.ts +0 -10
- package/dist-client/pages/scenario-importer.js +0 -108
- package/dist-client/pages/scenario-importer.js.map +0 -1
- package/dist-client/pages/scenario.d.ts +0 -69
- package/dist-client/pages/scenario.js +0 -632
- package/dist-client/pages/scenario.js.map +0 -1
- package/dist-client/pages/state-register.d.ts +0 -50
- package/dist-client/pages/state-register.js +0 -278
- package/dist-client/pages/state-register.js.map +0 -1
- package/dist-client/route.d.ts +0 -1
- package/dist-client/route.js +0 -20
- package/dist-client/route.js.map +0 -1
- package/dist-client/tsconfig.tsbuildinfo +0 -1
- package/dist-client/viewparts/connections-monitor.d.ts +0 -10
- package/dist-client/viewparts/connections-monitor.js +0 -172
- package/dist-client/viewparts/connections-monitor.js.map +0 -1
- package/dist-client/viewparts/monitoring-summary.d.ts +0 -13
- package/dist-client/viewparts/monitoring-summary.js +0 -142
- package/dist-client/viewparts/monitoring-summary.js.map +0 -1
- package/dist-client/viewparts/pending-q-monitor.d.ts +0 -18
- package/dist-client/viewparts/pending-q-monitor.js +0 -248
- package/dist-client/viewparts/pending-q-monitor.js.map +0 -1
- package/dist-client/viewparts/scenario-instance-log-view.d.ts +0 -24
- package/dist-client/viewparts/scenario-instance-log-view.js +0 -141
- package/dist-client/viewparts/scenario-instance-log-view.js.map +0 -1
- package/dist-client/viewparts/scenario-instance-monitor.d.ts +0 -15
- package/dist-client/viewparts/scenario-instance-monitor.js +0 -173
- package/dist-client/viewparts/scenario-instance-monitor.js.map +0 -1
- package/dist-client/viewparts/scenario-instance-view.d.ts +0 -29
- package/dist-client/viewparts/scenario-instance-view.js +0 -263
- package/dist-client/viewparts/scenario-instance-view.js.map +0 -1
- package/dist-client/viewparts/scenario-monitor.d.ts +0 -16
- package/dist-client/viewparts/scenario-monitor.js +0 -285
- package/dist-client/viewparts/scenario-monitor.js.map +0 -1
- package/dist-client/viewparts/scenarios-monitor.d.ts +0 -16
- package/dist-client/viewparts/scenarios-monitor.js +0 -170
- package/dist-client/viewparts/scenarios-monitor.js.map +0 -1
- package/dist-server/index.d.ts +0 -0
- package/dist-server/index.js +0 -1
- package/dist-server/index.js.map +0 -1
- 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"]}
|