@operato/scene-integration 0.0.5 → 0.0.6
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/CHANGELOG.md +9 -0
- package/dist/connection-control.d.ts +41 -0
- package/dist/connection-control.js +137 -0
- package/dist/connection-control.js.map +1 -0
- package/dist/connection-state-subscription.d.ts +29 -0
- package/dist/connection-state-subscription.js +89 -0
- package/dist/connection-state-subscription.js.map +1 -0
- package/dist/data-subscription.d.ts +29 -0
- package/dist/data-subscription.js +76 -0
- package/dist/data-subscription.js.map +1 -0
- package/dist/index.d.ts +11 -0
- package/dist/index.js +21 -0
- package/dist/index.js.map +1 -0
- package/dist/origin-client.d.ts +5 -0
- package/dist/origin-client.js +110 -0
- package/dist/origin-client.js.map +1 -0
- package/dist/scenario-control.d.ts +44 -0
- package/dist/scenario-control.js +142 -0
- package/dist/scenario-control.js.map +1 -0
- package/dist/scenario-instance-subscription.d.ts +34 -0
- package/dist/scenario-instance-subscription.js +107 -0
- package/dist/scenario-instance-subscription.js.map +1 -0
- package/dist/scenario-queue-subscription.d.ts +22 -0
- package/dist/scenario-queue-subscription.js +68 -0
- package/dist/scenario-queue-subscription.js.map +1 -0
- package/dist/scenario-run.d.ts +39 -0
- package/dist/scenario-run.js +136 -0
- package/dist/scenario-run.js.map +1 -0
- package/dist/scenario-start.d.ts +39 -0
- package/dist/scenario-start.js +134 -0
- package/dist/scenario-start.js.map +1 -0
- package/dist/scenario-stop.d.ts +39 -0
- package/dist/scenario-stop.js +122 -0
- package/dist/scenario-stop.js.map +1 -0
- package/package.json +2 -2
- package/src/connection-control.ts +1 -5
- package/src/connection-state-subscription.ts +2 -7
- package/src/data-subscription.ts +1 -6
- package/src/origin-client.ts +0 -3
- package/src/scenario-control.ts +0 -3
- package/src/scenario-instance-subscription.ts +2 -7
- package/src/scenario-queue-subscription.ts +1 -6
- package/src/scenario-run.ts +0 -3
- package/src/scenario-start.ts +0 -3
- package/src/scenario-stop.ts +0 -3
- package/tsconfig.json +1 -1
- package/tsconfig.tsbuildinfo +1 -1
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { Properties, Shape } from '@hatiolab/things-scene';
|
|
2
|
+
declare const ScenarioStart_base: (new (...args: any[]) => {
|
|
3
|
+
isDataSource(): boolean;
|
|
4
|
+
}) & typeof Shape;
|
|
5
|
+
export default class ScenarioStart extends ScenarioStart_base {
|
|
6
|
+
static _image: HTMLImageElement;
|
|
7
|
+
static get image(): HTMLImageElement;
|
|
8
|
+
private _client;
|
|
9
|
+
render(context: CanvasRenderingContext2D): void;
|
|
10
|
+
ready(): void;
|
|
11
|
+
_initScenario(): void;
|
|
12
|
+
dispose(): void;
|
|
13
|
+
get nature(): {
|
|
14
|
+
mutable: boolean;
|
|
15
|
+
resizable: boolean;
|
|
16
|
+
rotatable: boolean;
|
|
17
|
+
properties: ({
|
|
18
|
+
type: string;
|
|
19
|
+
label: string;
|
|
20
|
+
name: string;
|
|
21
|
+
property?: undefined;
|
|
22
|
+
} | {
|
|
23
|
+
type: string;
|
|
24
|
+
label: string;
|
|
25
|
+
name: string;
|
|
26
|
+
property: {
|
|
27
|
+
options: () => Promise<string[]>;
|
|
28
|
+
};
|
|
29
|
+
})[];
|
|
30
|
+
'value-property': string;
|
|
31
|
+
help: string;
|
|
32
|
+
};
|
|
33
|
+
onchange(after: Properties): Promise<void>;
|
|
34
|
+
get variables(): any;
|
|
35
|
+
set variables(variables: any);
|
|
36
|
+
get client(): any;
|
|
37
|
+
requestData(): Promise<void>;
|
|
38
|
+
}
|
|
39
|
+
export {};
|
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
import { Component, DataSource, RectPath, Shape } from '@hatiolab/things-scene';
|
|
2
|
+
import COMPONENT_IMAGE from '../assets/symbol-scenario-start.png';
|
|
3
|
+
import { getClient } from './origin-client';
|
|
4
|
+
import gql from 'graphql-tag';
|
|
5
|
+
const NATURE = {
|
|
6
|
+
mutable: false,
|
|
7
|
+
resizable: true,
|
|
8
|
+
rotatable: true,
|
|
9
|
+
properties: [
|
|
10
|
+
{
|
|
11
|
+
type: 'string',
|
|
12
|
+
label: 'instance-name',
|
|
13
|
+
name: 'instanceName'
|
|
14
|
+
},
|
|
15
|
+
{
|
|
16
|
+
type: 'select',
|
|
17
|
+
label: 'scenario-name',
|
|
18
|
+
name: 'scenarioName',
|
|
19
|
+
property: {
|
|
20
|
+
options: async () => {
|
|
21
|
+
var response = await getClient().query({
|
|
22
|
+
query: gql `
|
|
23
|
+
query {
|
|
24
|
+
scenarios {
|
|
25
|
+
items {
|
|
26
|
+
name
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
`
|
|
31
|
+
});
|
|
32
|
+
if (response.errors) {
|
|
33
|
+
return [''];
|
|
34
|
+
}
|
|
35
|
+
return [''].concat(response.data.scenarios.items.map((item) => item.name));
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
type: 'data',
|
|
41
|
+
label: 'variables',
|
|
42
|
+
name: 'variables'
|
|
43
|
+
}
|
|
44
|
+
],
|
|
45
|
+
'value-property': 'variables',
|
|
46
|
+
help: 'scene/component/scenario-start'
|
|
47
|
+
};
|
|
48
|
+
export default class ScenarioStart extends DataSource(RectPath(Shape)) {
|
|
49
|
+
static get image() {
|
|
50
|
+
if (!ScenarioStart._image) {
|
|
51
|
+
ScenarioStart._image = new Image();
|
|
52
|
+
ScenarioStart._image.src = COMPONENT_IMAGE;
|
|
53
|
+
}
|
|
54
|
+
return ScenarioStart._image;
|
|
55
|
+
}
|
|
56
|
+
render(context) {
|
|
57
|
+
var { left, top, width, height } = this.bounds;
|
|
58
|
+
context.beginPath();
|
|
59
|
+
this.drawImage(context, ScenarioStart.image, left, top, width, height);
|
|
60
|
+
}
|
|
61
|
+
ready() {
|
|
62
|
+
super.ready();
|
|
63
|
+
this._initScenario();
|
|
64
|
+
}
|
|
65
|
+
_initScenario() {
|
|
66
|
+
if (!this.app.isViewMode) {
|
|
67
|
+
return;
|
|
68
|
+
}
|
|
69
|
+
this._client = getClient();
|
|
70
|
+
}
|
|
71
|
+
dispose() {
|
|
72
|
+
super.dispose();
|
|
73
|
+
try {
|
|
74
|
+
if (this._client) {
|
|
75
|
+
this._client.stop();
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
catch (e) {
|
|
79
|
+
console.error(e);
|
|
80
|
+
}
|
|
81
|
+
delete this._client;
|
|
82
|
+
}
|
|
83
|
+
get nature() {
|
|
84
|
+
return NATURE;
|
|
85
|
+
}
|
|
86
|
+
async onchange(after) {
|
|
87
|
+
if ('variables' in after) {
|
|
88
|
+
this.requestData();
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
get variables() {
|
|
92
|
+
return this.state.variables;
|
|
93
|
+
}
|
|
94
|
+
set variables(variables) {
|
|
95
|
+
this.setState('variables', variables);
|
|
96
|
+
}
|
|
97
|
+
get client() {
|
|
98
|
+
return this._client;
|
|
99
|
+
}
|
|
100
|
+
async requestData() {
|
|
101
|
+
var _a, _b;
|
|
102
|
+
let { instanceName, scenarioName, variables } = this.state;
|
|
103
|
+
if (!scenarioName || !this.app.isViewMode)
|
|
104
|
+
return;
|
|
105
|
+
var client = this._client;
|
|
106
|
+
try {
|
|
107
|
+
variables = typeof variables == 'string' ? JSON.parse(variables) : variables;
|
|
108
|
+
}
|
|
109
|
+
catch (e) {
|
|
110
|
+
console.error(e);
|
|
111
|
+
}
|
|
112
|
+
if (client) {
|
|
113
|
+
var response = await client.query({
|
|
114
|
+
query: gql `
|
|
115
|
+
mutation ($instanceName: String, $scenarioName: String!, $variables: Object) {
|
|
116
|
+
startScenario(instanceName: $instanceName, scenarioName: $scenarioName, variables: $variables) {
|
|
117
|
+
state
|
|
118
|
+
message
|
|
119
|
+
data
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
`,
|
|
123
|
+
variables: {
|
|
124
|
+
instanceName: instanceName,
|
|
125
|
+
scenarioName: scenarioName,
|
|
126
|
+
variables
|
|
127
|
+
}
|
|
128
|
+
});
|
|
129
|
+
this.data = (_b = (_a = response === null || response === void 0 ? void 0 : response.data) === null || _a === void 0 ? void 0 : _a.startScenario) === null || _b === void 0 ? void 0 : _b.data;
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
Component.register('scenario-start', ScenarioStart);
|
|
134
|
+
//# sourceMappingURL=scenario-start.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scenario-start.js","sourceRoot":"","sources":["../src/scenario-start.ts"],"names":[],"mappings":"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","sourcesContent":["import { Component, DataSource, Properties, RectPath, Shape } from '@hatiolab/things-scene'\n\nimport COMPONENT_IMAGE from '../assets/symbol-scenario-start.png'\nimport { getClient } from './origin-client'\nimport gql from 'graphql-tag'\n\nconst NATURE = {\n mutable: false,\n resizable: true,\n rotatable: true,\n properties: [\n {\n type: 'string',\n label: 'instance-name',\n name: 'instanceName'\n },\n {\n type: 'select',\n label: 'scenario-name',\n name: 'scenarioName',\n property: {\n options: async () => {\n var response = await getClient().query({\n query: gql`\n query {\n scenarios {\n items {\n name\n }\n }\n }\n `\n })\n if (response.errors) {\n return ['']\n }\n\n return [''].concat(response.data.scenarios.items.map((item: any) => item.name))\n }\n }\n },\n {\n type: 'data',\n label: 'variables',\n name: 'variables'\n }\n ],\n 'value-property': 'variables',\n help: 'scene/component/scenario-start'\n}\n\nexport default class ScenarioStart extends DataSource(RectPath(Shape)) {\n static _image: HTMLImageElement\n\n static get image() {\n if (!ScenarioStart._image) {\n ScenarioStart._image = new Image()\n ScenarioStart._image.src = COMPONENT_IMAGE\n }\n return ScenarioStart._image\n }\n\n private _client: any\n\n render(context: CanvasRenderingContext2D) {\n var { left, top, width, height } = this.bounds\n context.beginPath()\n this.drawImage(context, ScenarioStart.image, left, top, width, height)\n }\n\n ready() {\n super.ready()\n this._initScenario()\n }\n\n _initScenario() {\n if (!this.app.isViewMode) {\n return\n }\n this._client = getClient()\n }\n\n dispose() {\n super.dispose()\n\n try {\n if (this._client) {\n this._client.stop()\n }\n } catch (e) {\n console.error(e)\n }\n delete this._client\n }\n\n get nature() {\n return NATURE\n }\n\n async onchange(after: Properties) {\n if ('variables' in after) {\n this.requestData()\n }\n }\n\n get variables() {\n return this.state.variables\n }\n\n set variables(variables) {\n this.setState('variables', variables)\n }\n\n get client() {\n return this._client\n }\n\n async requestData() {\n let { instanceName, scenarioName, variables } = this.state\n if (!scenarioName || !this.app.isViewMode) return\n\n var client = this._client\n try {\n variables = typeof variables == 'string' ? JSON.parse(variables) : variables\n } catch (e) {\n console.error(e)\n }\n\n if (client) {\n var response = await client.query({\n query: gql`\n mutation ($instanceName: String, $scenarioName: String!, $variables: Object) {\n startScenario(instanceName: $instanceName, scenarioName: $scenarioName, variables: $variables) {\n state\n message\n data\n }\n }\n `,\n variables: {\n instanceName: instanceName,\n scenarioName: scenarioName,\n variables\n }\n })\n\n this.data = response?.data?.startScenario?.data\n }\n }\n}\n\nComponent.register('scenario-start', ScenarioStart)\n"]}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { Properties, Shape } from '@hatiolab/things-scene';
|
|
2
|
+
declare const ScenarioStop_base: (new (...args: any[]) => {
|
|
3
|
+
isDataSource(): boolean;
|
|
4
|
+
}) & typeof Shape;
|
|
5
|
+
export default class ScenarioStop extends ScenarioStop_base {
|
|
6
|
+
static _image: HTMLImageElement;
|
|
7
|
+
static get image(): HTMLImageElement;
|
|
8
|
+
private _client;
|
|
9
|
+
render(context: CanvasRenderingContext2D): void;
|
|
10
|
+
ready(): void;
|
|
11
|
+
_initScenario(): void;
|
|
12
|
+
dispose(): void;
|
|
13
|
+
get nature(): {
|
|
14
|
+
mutable: boolean;
|
|
15
|
+
resizable: boolean;
|
|
16
|
+
rotatable: boolean;
|
|
17
|
+
properties: ({
|
|
18
|
+
type: string;
|
|
19
|
+
label: string;
|
|
20
|
+
name: string;
|
|
21
|
+
property?: undefined;
|
|
22
|
+
} | {
|
|
23
|
+
type: string;
|
|
24
|
+
label: string;
|
|
25
|
+
name: string;
|
|
26
|
+
property: {
|
|
27
|
+
options: () => Promise<string[]>;
|
|
28
|
+
};
|
|
29
|
+
})[];
|
|
30
|
+
'value-property': string;
|
|
31
|
+
help: string;
|
|
32
|
+
};
|
|
33
|
+
onchange(after: Properties): void;
|
|
34
|
+
get nothing(): any;
|
|
35
|
+
set nothing(nothing: any);
|
|
36
|
+
get client(): any;
|
|
37
|
+
requestData(): Promise<void>;
|
|
38
|
+
}
|
|
39
|
+
export {};
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
import { Component, DataSource, RectPath, Shape } from '@hatiolab/things-scene';
|
|
2
|
+
import COMPONENT_IMAGE from '../assets/symbol-scenario-stop.png';
|
|
3
|
+
import { getClient } from './origin-client';
|
|
4
|
+
import gql from 'graphql-tag';
|
|
5
|
+
const NATURE = {
|
|
6
|
+
mutable: false,
|
|
7
|
+
resizable: true,
|
|
8
|
+
rotatable: true,
|
|
9
|
+
properties: [
|
|
10
|
+
{
|
|
11
|
+
type: 'string',
|
|
12
|
+
label: 'instance-name',
|
|
13
|
+
name: 'instanceName'
|
|
14
|
+
},
|
|
15
|
+
{
|
|
16
|
+
type: 'select',
|
|
17
|
+
label: 'scenario-name',
|
|
18
|
+
name: 'scenarioName',
|
|
19
|
+
property: {
|
|
20
|
+
options: async () => {
|
|
21
|
+
var response = await getClient().query({
|
|
22
|
+
query: gql `
|
|
23
|
+
query {
|
|
24
|
+
scenarios {
|
|
25
|
+
items {
|
|
26
|
+
name
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
`
|
|
31
|
+
});
|
|
32
|
+
if (response.errors) {
|
|
33
|
+
return [''];
|
|
34
|
+
}
|
|
35
|
+
return [''].concat(response.data.scenarios.items.map((item) => item.name));
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
],
|
|
40
|
+
'value-property': 'nothing',
|
|
41
|
+
help: 'scene/component/scenario-stop'
|
|
42
|
+
};
|
|
43
|
+
export default class ScenarioStop extends DataSource(RectPath(Shape)) {
|
|
44
|
+
static get image() {
|
|
45
|
+
if (!ScenarioStop._image) {
|
|
46
|
+
ScenarioStop._image = new Image();
|
|
47
|
+
ScenarioStop._image.src = COMPONENT_IMAGE;
|
|
48
|
+
}
|
|
49
|
+
return ScenarioStop._image;
|
|
50
|
+
}
|
|
51
|
+
render(context) {
|
|
52
|
+
var { left, top, width, height } = this.bounds;
|
|
53
|
+
context.beginPath();
|
|
54
|
+
this.drawImage(context, ScenarioStop.image, left, top, width, height);
|
|
55
|
+
}
|
|
56
|
+
ready() {
|
|
57
|
+
super.ready();
|
|
58
|
+
this._initScenario();
|
|
59
|
+
}
|
|
60
|
+
_initScenario() {
|
|
61
|
+
if (!this.app.isViewMode) {
|
|
62
|
+
return;
|
|
63
|
+
}
|
|
64
|
+
this._client = getClient();
|
|
65
|
+
}
|
|
66
|
+
dispose() {
|
|
67
|
+
super.dispose();
|
|
68
|
+
try {
|
|
69
|
+
if (this._client) {
|
|
70
|
+
this._client.stop();
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
catch (e) {
|
|
74
|
+
console.error(e);
|
|
75
|
+
}
|
|
76
|
+
delete this._client;
|
|
77
|
+
}
|
|
78
|
+
get nature() {
|
|
79
|
+
return NATURE;
|
|
80
|
+
}
|
|
81
|
+
onchange(after) {
|
|
82
|
+
if ('nothing' in after) {
|
|
83
|
+
this.requestData();
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
get nothing() {
|
|
87
|
+
return this.state.nothing;
|
|
88
|
+
}
|
|
89
|
+
set nothing(nothing) {
|
|
90
|
+
this.setState('nothing', nothing);
|
|
91
|
+
}
|
|
92
|
+
get client() {
|
|
93
|
+
return this._client;
|
|
94
|
+
}
|
|
95
|
+
async requestData() {
|
|
96
|
+
var _a, _b;
|
|
97
|
+
let { instanceName, scenarioName } = this.state;
|
|
98
|
+
instanceName = instanceName || scenarioName;
|
|
99
|
+
if (!instanceName || !this.app.isViewMode)
|
|
100
|
+
return;
|
|
101
|
+
var client = this._client;
|
|
102
|
+
if (client) {
|
|
103
|
+
var response = await client.query({
|
|
104
|
+
query: gql `
|
|
105
|
+
mutation ($instanceName: String!) {
|
|
106
|
+
stopScenario(instanceName: $instanceName) {
|
|
107
|
+
state
|
|
108
|
+
message
|
|
109
|
+
data
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
`,
|
|
113
|
+
variables: {
|
|
114
|
+
instanceName: instanceName
|
|
115
|
+
}
|
|
116
|
+
});
|
|
117
|
+
this.data = (_b = (_a = response === null || response === void 0 ? void 0 : response.data) === null || _a === void 0 ? void 0 : _a.stopScenario) === null || _b === void 0 ? void 0 : _b.data;
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
Component.register('scenario-stop', ScenarioStop);
|
|
122
|
+
//# sourceMappingURL=scenario-stop.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scenario-stop.js","sourceRoot":"","sources":["../src/scenario-stop.ts"],"names":[],"mappings":"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","sourcesContent":["import { Component, DataSource, Properties, RectPath, Shape } from '@hatiolab/things-scene'\n\nimport COMPONENT_IMAGE from '../assets/symbol-scenario-stop.png'\nimport { getClient } from './origin-client'\nimport gql from 'graphql-tag'\n\nconst NATURE = {\n mutable: false,\n resizable: true,\n rotatable: true,\n properties: [\n {\n type: 'string',\n label: 'instance-name',\n name: 'instanceName'\n },\n {\n type: 'select',\n label: 'scenario-name',\n name: 'scenarioName',\n property: {\n options: async () => {\n var response = await getClient().query({\n query: gql`\n query {\n scenarios {\n items {\n name\n }\n }\n }\n `\n })\n if (response.errors) {\n return ['']\n }\n\n return [''].concat(response.data.scenarios.items.map((item: any) => item.name))\n }\n }\n }\n ],\n 'value-property': 'nothing',\n help: 'scene/component/scenario-stop'\n}\n\nexport default class ScenarioStop extends DataSource(RectPath(Shape)) {\n static _image: HTMLImageElement\n\n static get image() {\n if (!ScenarioStop._image) {\n ScenarioStop._image = new Image()\n ScenarioStop._image.src = COMPONENT_IMAGE\n }\n return ScenarioStop._image\n }\n\n private _client: any\n\n render(context: CanvasRenderingContext2D) {\n var { left, top, width, height } = this.bounds\n context.beginPath()\n this.drawImage(context, ScenarioStop.image, left, top, width, height)\n }\n\n ready() {\n super.ready()\n this._initScenario()\n }\n\n _initScenario() {\n if (!this.app.isViewMode) {\n return\n }\n this._client = getClient()\n }\n\n dispose() {\n super.dispose()\n\n try {\n if (this._client) {\n this._client.stop()\n }\n } catch (e) {\n console.error(e)\n }\n delete this._client\n }\n\n get nature() {\n return NATURE\n }\n\n onchange(after: Properties) {\n if ('nothing' in after) {\n this.requestData()\n }\n }\n\n get nothing() {\n return this.state.nothing\n }\n\n set nothing(nothing) {\n this.setState('nothing', nothing)\n }\n\n get client() {\n return this._client\n }\n\n async requestData() {\n let { instanceName, scenarioName } = this.state\n instanceName = instanceName || scenarioName\n if (!instanceName || !this.app.isViewMode) return\n\n var client = this._client\n if (client) {\n var response = await client.query({\n query: gql`\n mutation ($instanceName: String!) {\n stopScenario(instanceName: $instanceName) {\n state\n message\n data\n }\n }\n `,\n variables: {\n instanceName: instanceName\n }\n })\n\n this.data = response?.data?.stopScenario?.data\n }\n }\n}\n\nComponent.register('scenario-stop', ScenarioStop)\n"]}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@operato/scene-integration",
|
|
3
3
|
"description": "Things factory integration component for things-scene",
|
|
4
|
-
"version": "0.0.
|
|
4
|
+
"version": "0.0.6",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "heartyoh",
|
|
7
7
|
"main": "dist/index.js",
|
|
@@ -60,5 +60,5 @@
|
|
|
60
60
|
"prettier --write"
|
|
61
61
|
]
|
|
62
62
|
},
|
|
63
|
-
"gitHead": "
|
|
63
|
+
"gitHead": "398a0768e99717865e7be4d0717629bfad733eb8"
|
|
64
64
|
}
|
|
@@ -1,12 +1,8 @@
|
|
|
1
|
-
import gql from 'graphql-tag'
|
|
2
|
-
|
|
3
1
|
import { Component, RectPath, Shape } from '@hatiolab/things-scene'
|
|
4
2
|
|
|
5
|
-
/*
|
|
6
|
-
* Copyright © HatioLab Inc. All rights reserved.
|
|
7
|
-
*/
|
|
8
3
|
import COMPONENT_IMAGE from '../assets/symbol-connection-control.png'
|
|
9
4
|
import { getClient } from './origin-client'
|
|
5
|
+
import gql from 'graphql-tag'
|
|
10
6
|
|
|
11
7
|
const NATURE = {
|
|
12
8
|
mutable: false,
|
|
@@ -1,13 +1,8 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Copyright © HatioLab Inc. All rights reserved.
|
|
3
|
-
*/
|
|
4
|
-
|
|
5
|
-
import gql from 'graphql-tag'
|
|
6
|
-
|
|
7
1
|
import { Component, DataSource, RectPath, Shape } from '@hatiolab/things-scene'
|
|
2
|
+
import { getClient, subscribe } from './origin-client'
|
|
8
3
|
|
|
9
4
|
import COMPONENT_IMAGE from '../assets/symbol-connection-state-subscription.png'
|
|
10
|
-
import
|
|
5
|
+
import gql from 'graphql-tag'
|
|
11
6
|
|
|
12
7
|
const NATURE = {
|
|
13
8
|
mutable: false,
|
package/src/data-subscription.ts
CHANGED
|
@@ -1,12 +1,7 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Copyright © HatioLab Inc. All rights reserved.
|
|
3
|
-
*/
|
|
4
|
-
|
|
5
|
-
import gql from 'graphql-tag'
|
|
6
|
-
|
|
7
1
|
import { Component, DataSource, RectPath, Shape } from '@hatiolab/things-scene'
|
|
8
2
|
|
|
9
3
|
import COMPONENT_IMAGE from '../assets/symbol-data-subscription.png'
|
|
4
|
+
import gql from 'graphql-tag'
|
|
10
5
|
import { subscribe } from './origin-client'
|
|
11
6
|
|
|
12
7
|
const NATURE = {
|
package/src/origin-client.ts
CHANGED
|
@@ -1,9 +1,6 @@
|
|
|
1
1
|
import { ApolloClient, HttpLink, InMemoryCache, from } from '@apollo/client/core'
|
|
2
2
|
import { ErrorResponse, onError } from '@apollo/client/link/error'
|
|
3
3
|
|
|
4
|
-
/*
|
|
5
|
-
* Copyright © HatioLab Inc. All rights reserved.
|
|
6
|
-
*/
|
|
7
4
|
import { DefaultOptions } from '@apollo/client'
|
|
8
5
|
import { SubscriptionClient } from 'subscriptions-transport-ws'
|
|
9
6
|
|
package/src/scenario-control.ts
CHANGED
|
@@ -1,8 +1,5 @@
|
|
|
1
1
|
import { Component, DataSource, Properties, RectPath, Shape } from '@hatiolab/things-scene'
|
|
2
2
|
|
|
3
|
-
/*
|
|
4
|
-
* Copyright © HatioLab Inc. All rights reserved.
|
|
5
|
-
*/
|
|
6
3
|
import COMPONENT_IMAGE from '../assets/symbol-scenario-control.png'
|
|
7
4
|
import { getClient } from './origin-client'
|
|
8
5
|
import gql from 'graphql-tag'
|
|
@@ -1,13 +1,8 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Copyright © HatioLab Inc. All rights reserved.
|
|
3
|
-
*/
|
|
4
|
-
|
|
5
|
-
import gql from 'graphql-tag'
|
|
6
|
-
|
|
7
1
|
import { Component, DataSource, RectPath, Shape } from '@hatiolab/things-scene'
|
|
2
|
+
import { getClient, subscribe } from './origin-client'
|
|
8
3
|
|
|
9
4
|
import COMPONENT_IMAGE from '../assets/symbol-scenario-instance-subscription.png'
|
|
10
|
-
import
|
|
5
|
+
import gql from 'graphql-tag'
|
|
11
6
|
|
|
12
7
|
const NATURE = {
|
|
13
8
|
mutable: false,
|
|
@@ -1,12 +1,7 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Copyright © HatioLab Inc. All rights reserved.
|
|
3
|
-
*/
|
|
4
|
-
|
|
5
|
-
import gql from 'graphql-tag'
|
|
6
|
-
|
|
7
1
|
import { Component, DataSource, RectPath, Shape } from '@hatiolab/things-scene'
|
|
8
2
|
|
|
9
3
|
import COMPONENT_IMAGE from '../assets/symbol-scenario-queue-subscription.png'
|
|
4
|
+
import gql from 'graphql-tag'
|
|
10
5
|
import { subscribe } from './origin-client'
|
|
11
6
|
|
|
12
7
|
const NATURE = {
|
package/src/scenario-run.ts
CHANGED
|
@@ -1,8 +1,5 @@
|
|
|
1
1
|
import { Component, DataSource, Properties, RectPath, Shape } from '@hatiolab/things-scene'
|
|
2
2
|
|
|
3
|
-
/*
|
|
4
|
-
* Copyright © HatioLab Inc. All rights reserved.
|
|
5
|
-
*/
|
|
6
3
|
import COMPONENT_IMAGE from '../assets/symbol-scenario-run.png'
|
|
7
4
|
import { getClient } from './origin-client'
|
|
8
5
|
import gql from 'graphql-tag'
|
package/src/scenario-start.ts
CHANGED
|
@@ -1,8 +1,5 @@
|
|
|
1
1
|
import { Component, DataSource, Properties, RectPath, Shape } from '@hatiolab/things-scene'
|
|
2
2
|
|
|
3
|
-
/*
|
|
4
|
-
* Copyright © HatioLab Inc. All rights reserved.
|
|
5
|
-
*/
|
|
6
3
|
import COMPONENT_IMAGE from '../assets/symbol-scenario-start.png'
|
|
7
4
|
import { getClient } from './origin-client'
|
|
8
5
|
import gql from 'graphql-tag'
|
package/src/scenario-stop.ts
CHANGED
|
@@ -1,8 +1,5 @@
|
|
|
1
1
|
import { Component, DataSource, Properties, RectPath, Shape } from '@hatiolab/things-scene'
|
|
2
2
|
|
|
3
|
-
/*
|
|
4
|
-
* Copyright © HatioLab Inc. All rights reserved.
|
|
5
|
-
*/
|
|
6
3
|
import COMPONENT_IMAGE from '../assets/symbol-scenario-stop.png'
|
|
7
4
|
import { getClient } from './origin-client'
|
|
8
5
|
import gql from 'graphql-tag'
|