@operato/scene-integration 1.0.0-alpha.35 → 1.0.0-alpha.36

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 (40) hide show
  1. package/CHANGELOG.md +9 -0
  2. package/dist/client-api.js +2 -2
  3. package/dist/client-api.js.map +1 -1
  4. package/dist/connection-control.d.ts +0 -5
  5. package/dist/connection-control.js +2 -27
  6. package/dist/connection-control.js.map +1 -1
  7. package/dist/connection-state-subscription.js +2 -2
  8. package/dist/connection-state-subscription.js.map +1 -1
  9. package/dist/data-subscription.js +1 -1
  10. package/dist/data-subscription.js.map +1 -1
  11. package/dist/index.d.ts +1 -2
  12. package/dist/scenario-control.d.ts +0 -4
  13. package/dist/scenario-control.js +11 -32
  14. package/dist/scenario-control.js.map +1 -1
  15. package/dist/scenario-instance-subscription.js +1 -1
  16. package/dist/scenario-instance-subscription.js.map +1 -1
  17. package/dist/scenario-queue-subscription.js +1 -1
  18. package/dist/scenario-queue-subscription.js.map +1 -1
  19. package/dist/scenario-run.d.ts +0 -4
  20. package/dist/scenario-run.js +6 -26
  21. package/dist/scenario-run.js.map +1 -1
  22. package/dist/scenario-start.d.ts +0 -5
  23. package/dist/scenario-start.js +1 -27
  24. package/dist/scenario-start.js.map +1 -1
  25. package/dist/scenario-stop.d.ts +0 -5
  26. package/dist/scenario-stop.js +1 -27
  27. package/dist/scenario-stop.js.map +1 -1
  28. package/package.json +6 -7
  29. package/src/client-api.ts +2 -2
  30. package/src/connection-control.ts +2 -34
  31. package/src/connection-state-subscription.ts +2 -3
  32. package/src/data-subscription.ts +1 -2
  33. package/src/scenario-control.ts +13 -36
  34. package/src/scenario-instance-subscription.ts +1 -1
  35. package/src/scenario-queue-subscription.ts +1 -2
  36. package/src/scenario-run.ts +7 -30
  37. package/src/scenario-start.ts +1 -33
  38. package/src/scenario-stop.ts +1 -33
  39. package/tsconfig.tsbuildinfo +1 -1
  40. package/src/origin-client.ts +0 -133
@@ -1 +1 @@
1
- {"version":3,"file":"scenario-start.js","sourceRoot":"","sources":["../src/scenario-start.ts"],"names":[],"mappings":"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","sourcesContent":["import gql from 'graphql-tag'\n\nimport { Component, ComponentNature, DataSource, Properties, RectPath, Shape } from '@hatiolab/things-scene'\n\nimport { scenarios } from './client-api'\nimport { getClient } from './origin-client'\n\nconst NATURE: ComponentNature = {\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: scenarios\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 = new URL('../icons/symbol-scenario-start.png', import.meta.url).href\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"]}
1
+ {"version":3,"file":"scenario-start.js","sourceRoot":"","sources":["../src/scenario-start.ts"],"names":[],"mappings":"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","sourcesContent":["import gql from 'graphql-tag'\n\nimport { Component, ComponentNature, DataSource, Properties, RectPath, Shape } from '@hatiolab/things-scene'\nimport { client } from '@operato/graphql'\n\nimport { scenarios } from './client-api'\n\nconst NATURE: ComponentNature = {\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: scenarios\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 = new URL('../icons/symbol-scenario-start.png', import.meta.url).href\n }\n return ScenarioStart._image\n }\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 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 async requestData() {\n let { instanceName, scenarioName, variables } = this.state\n if (!scenarioName || !this.app.isViewMode) return\n\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"]}
@@ -6,16 +6,11 @@ declare const ScenarioStop_base: (new (...args: any[]) => {
6
6
  export default class ScenarioStop extends ScenarioStop_base {
7
7
  static _image: HTMLImageElement;
8
8
  static get image(): HTMLImageElement;
9
- private _client;
10
9
  render(context: CanvasRenderingContext2D): void;
11
- ready(): void;
12
- _initScenario(): void;
13
- dispose(): void;
14
10
  get nature(): ComponentNature;
15
11
  onchange(after: Properties): void;
16
12
  get nothing(): any;
17
13
  set nothing(nothing: any);
18
- get client(): any;
19
14
  requestData(): Promise<void>;
20
15
  }
21
16
  export {};
@@ -1,7 +1,7 @@
1
1
  import gql from 'graphql-tag';
2
2
  import { Component, DataSource, RectPath, Shape } from '@hatiolab/things-scene';
3
+ import { client } from '@operato/graphql';
3
4
  import { scenarios } from './client-api';
4
- import { getClient } from './origin-client';
5
5
  const NATURE = {
6
6
  mutable: false,
7
7
  resizable: true,
@@ -37,28 +37,6 @@ export default class ScenarioStop extends DataSource(RectPath(Shape)) {
37
37
  context.beginPath();
38
38
  this.drawImage(context, ScenarioStop.image, left, top, width, height);
39
39
  }
40
- ready() {
41
- super.ready();
42
- this._initScenario();
43
- }
44
- _initScenario() {
45
- if (!this.app.isViewMode) {
46
- return;
47
- }
48
- this._client = getClient();
49
- }
50
- dispose() {
51
- super.dispose();
52
- try {
53
- if (this._client) {
54
- this._client.stop();
55
- }
56
- }
57
- catch (e) {
58
- console.error(e);
59
- }
60
- delete this._client;
61
- }
62
40
  get nature() {
63
41
  return NATURE;
64
42
  }
@@ -73,16 +51,12 @@ export default class ScenarioStop extends DataSource(RectPath(Shape)) {
73
51
  set nothing(nothing) {
74
52
  this.setState('nothing', nothing);
75
53
  }
76
- get client() {
77
- return this._client;
78
- }
79
54
  async requestData() {
80
55
  var _a, _b;
81
56
  let { instanceName, scenarioName } = this.state;
82
57
  instanceName = instanceName || scenarioName;
83
58
  if (!instanceName || !this.app.isViewMode)
84
59
  return;
85
- var client = this._client;
86
60
  if (client) {
87
61
  var response = await client.query({
88
62
  query: gql `
@@ -1 +1 @@
1
- {"version":3,"file":"scenario-stop.js","sourceRoot":"","sources":["../src/scenario-stop.ts"],"names":[],"mappings":"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","sourcesContent":["import gql from 'graphql-tag'\n\nimport { Component, ComponentNature, DataSource, Properties, RectPath, Shape } from '@hatiolab/things-scene'\n\nimport { scenarios } from './client-api'\nimport { getClient } from './origin-client'\n\nconst NATURE: ComponentNature = {\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: scenarios\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 = new URL('../icons/symbol-scenario-stop.png', import.meta.url).href\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"]}
1
+ {"version":3,"file":"scenario-stop.js","sourceRoot":"","sources":["../src/scenario-stop.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,aAAa,CAAA;AAE7B,OAAO,EAAE,SAAS,EAAmB,UAAU,EAAc,QAAQ,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAA;AAC5G,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AAEzC,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AAExC,MAAM,MAAM,GAAoB;IAC9B,OAAO,EAAE,KAAK;IACd,SAAS,EAAE,IAAI;IACf,SAAS,EAAE,IAAI;IACf,UAAU,EAAE;QACV;YACE,IAAI,EAAE,QAAQ;YACd,KAAK,EAAE,eAAe;YACtB,IAAI,EAAE,cAAc;SACrB;QACD;YACE,IAAI,EAAE,QAAQ;YACd,KAAK,EAAE,eAAe;YACtB,IAAI,EAAE,cAAc;YACpB,QAAQ,EAAE;gBACR,OAAO,EAAE,SAAS;aACnB;SACF;KACF;IACD,gBAAgB,EAAE,SAAS;IAC3B,IAAI,EAAE,+BAA+B;CACtC,CAAA;AAED,MAAM,CAAC,OAAO,OAAO,YAAa,SAAQ,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAGnE,MAAM,KAAK,KAAK;QACd,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE;YACxB,YAAY,CAAC,MAAM,GAAG,IAAI,KAAK,EAAE,CAAA;YACjC,YAAY,CAAC,MAAM,CAAC,GAAG,GAAG,IAAI,GAAG,CAAC,mCAAmC,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAA;SAC7F;QACD,OAAO,YAAY,CAAC,MAAM,CAAA;IAC5B,CAAC;IAED,MAAM,CAAC,OAAiC;QACtC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,MAAM,CAAA;QAC9C,OAAO,CAAC,SAAS,EAAE,CAAA;QACnB,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,YAAY,CAAC,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,CAAC,CAAA;IACvE,CAAC;IAED,IAAI,MAAM;QACR,OAAO,MAAM,CAAA;IACf,CAAC;IAED,QAAQ,CAAC,KAAiB;QACxB,IAAI,SAAS,IAAI,KAAK,EAAE;YACtB,IAAI,CAAC,WAAW,EAAE,CAAA;SACnB;IACH,CAAC;IAED,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAA;IAC3B,CAAC;IAED,IAAI,OAAO,CAAC,OAAO;QACjB,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC,CAAA;IACnC,CAAC;IAED,KAAK,CAAC,WAAW;;QACf,IAAI,EAAE,YAAY,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC,KAAK,CAAA;QAC/C,YAAY,GAAG,YAAY,IAAI,YAAY,CAAA;QAC3C,IAAI,CAAC,YAAY,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU;YAAE,OAAM;QAEjD,IAAI,MAAM,EAAE;YACV,IAAI,QAAQ,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC;gBAChC,KAAK,EAAE,GAAG,CAAA;;;;;;;;SAQT;gBACD,SAAS,EAAE;oBACT,YAAY,EAAE,YAAY;iBAC3B;aACF,CAAC,CAAA;YAEF,IAAI,CAAC,IAAI,GAAG,MAAA,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,IAAI,0CAAE,YAAY,0CAAE,IAAI,CAAA;SAC/C;IACH,CAAC;CACF;AAED,SAAS,CAAC,QAAQ,CAAC,eAAe,EAAE,YAAY,CAAC,CAAA","sourcesContent":["import gql from 'graphql-tag'\n\nimport { Component, ComponentNature, DataSource, Properties, RectPath, Shape } from '@hatiolab/things-scene'\nimport { client } from '@operato/graphql'\n\nimport { scenarios } from './client-api'\n\nconst NATURE: ComponentNature = {\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: scenarios\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 = new URL('../icons/symbol-scenario-stop.png', import.meta.url).href\n }\n return ScenarioStop._image\n }\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 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 async requestData() {\n let { instanceName, scenarioName } = this.state\n instanceName = instanceName || scenarioName\n if (!instanceName || !this.app.isViewMode) return\n\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": "1.0.0-alpha.35",
4
+ "version": "1.0.0-alpha.36",
5
5
  "license": "MIT",
6
6
  "author": "heartyoh",
7
7
  "main": "dist/index.js",
@@ -26,15 +26,14 @@
26
26
  "migration": "things-factory-migration"
27
27
  },
28
28
  "dependencies": {
29
- "@apollo/client": "^3.6.9",
30
29
  "@hatiolab/things-scene": "^3.0.18",
31
- "graphql-tag": "^2.12.6",
32
- "subscriptions-transport-ws": "^0.11.0"
30
+ "@operato/graphql": "^1.0.0-beta.48",
31
+ "graphql-tag": "^2.12.6"
33
32
  },
34
33
  "devDependencies": {
35
34
  "@hatiolab/prettier-config": "^1.0.0",
36
- "@things-factory/builder": "^5.0.0-zeta.19",
37
- "@things-factory/operato-board": "^5.0.0-zeta.19",
35
+ "@things-factory/builder": "^5.0.0-zeta.20",
36
+ "@things-factory/operato-board": "^5.0.0-zeta.20",
38
37
  "@typescript-eslint/eslint-plugin": "^4.33.0",
39
38
  "@typescript-eslint/parser": "^4.33.0",
40
39
  "@web/dev-server": "^0.1.28",
@@ -59,5 +58,5 @@
59
58
  "prettier --write"
60
59
  ]
61
60
  },
62
- "gitHead": "75b82d7276c8c6e5a8139ae624505a4ec743b2d3"
61
+ "gitHead": "be1ca27c212113f8cd7f285f8428a91c38dbf789"
63
62
  }
package/src/client-api.ts CHANGED
@@ -1,9 +1,9 @@
1
1
  import gql from 'graphql-tag'
2
2
 
3
- import { getClient } from './origin-client'
3
+ import { client } from '@operato/graphql'
4
4
 
5
5
  export const scenarios = async () => {
6
- var response = await getClient().query({
6
+ var response = await client.query({
7
7
  query: gql`
8
8
  query {
9
9
  scenarios {
@@ -1,8 +1,7 @@
1
1
  import gql from 'graphql-tag'
2
2
 
3
3
  import { Component, ComponentNature, RectPath, Shape } from '@hatiolab/things-scene'
4
-
5
- import { getClient } from './origin-client'
4
+ import { client } from '@operato/graphql'
6
5
 
7
6
  const NATURE: ComponentNature = {
8
7
  mutable: false,
@@ -15,7 +14,7 @@ const NATURE: ComponentNature = {
15
14
  name: 'connectionName',
16
15
  property: {
17
16
  options: async () => {
18
- var response = await getClient().query({
17
+ var response = await client.query({
19
18
  query: gql`
20
19
  query {
21
20
  connections {
@@ -71,46 +70,16 @@ export default class ConnectionControl extends RectPath(Shape) {
71
70
  return ConnectionControl._image
72
71
  }
73
72
 
74
- private _client: any
75
-
76
73
  render(context: CanvasRenderingContext2D) {
77
74
  var { left, top, width, height } = this.bounds
78
75
  context.beginPath()
79
76
  this.drawImage(context, ConnectionControl.image, left, top, width, height)
80
77
  }
81
78
 
82
- ready() {
83
- super.ready()
84
- this._init()
85
- }
86
-
87
- _init() {
88
- if (!this.app.isViewMode) return
89
-
90
- this._client = getClient()
91
- }
92
-
93
- dispose() {
94
- super.dispose()
95
-
96
- try {
97
- if (this._client) {
98
- this._client.stop()
99
- }
100
- } catch (e) {
101
- console.error(e)
102
- }
103
- delete this._client
104
- }
105
-
106
79
  get nature() {
107
80
  return NATURE
108
81
  }
109
82
 
110
- get client() {
111
- return this._client
112
- }
113
-
114
83
  get controlType() {
115
84
  return this.getState('controlType')
116
85
  }
@@ -135,7 +104,6 @@ export default class ConnectionControl extends RectPath(Shape) {
135
104
  controlType = 'disconnect'
136
105
  }
137
106
 
138
- var client = this._client
139
107
  var query = ''
140
108
 
141
109
  query = `mutation{
@@ -1,8 +1,7 @@
1
1
  import gql from 'graphql-tag'
2
2
 
3
3
  import { Component, ComponentNature, DataSource, RectPath, Shape } from '@hatiolab/things-scene'
4
-
5
- import { getClient, subscribe } from './origin-client'
4
+ import { client, subscribe } from '@operato/graphql'
6
5
 
7
6
  const NATURE: ComponentNature = {
8
7
  mutable: false,
@@ -15,7 +14,7 @@ const NATURE: ComponentNature = {
15
14
  name: 'connectionName',
16
15
  property: {
17
16
  options: async () => {
18
- var response = await getClient().query({
17
+ var response = await client.query({
19
18
  query: gql`
20
19
  query {
21
20
  connections {
@@ -1,8 +1,7 @@
1
1
  import gql from 'graphql-tag'
2
2
 
3
3
  import { Component, ComponentNature, DataSource, RectPath, Shape } from '@hatiolab/things-scene'
4
-
5
- import { subscribe } from './origin-client'
4
+ import { subscribe } from '@operato/graphql'
6
5
 
7
6
  const NATURE: ComponentNature = {
8
7
  mutable: false,
@@ -1,9 +1,9 @@
1
1
  import gql from 'graphql-tag'
2
2
 
3
3
  import { Component, ComponentNature, DataSource, Properties, RectPath, Shape } from '@hatiolab/things-scene'
4
+ import { client } from '@operato/graphql'
4
5
 
5
6
  import { scenarios } from './client-api'
6
- import { getClient } from './origin-client'
7
7
 
8
8
  const NATURE: ComponentNature = {
9
9
  mutable: false,
@@ -55,8 +55,6 @@ export default class ScenarioControl extends DataSource(RectPath(Shape)) {
55
55
  return ScenarioControl._image
56
56
  }
57
57
 
58
- private _client: any
59
-
60
58
  render(context: CanvasRenderingContext2D) {
61
59
  var { left, top, width, height } = this.bounds
62
60
  context.beginPath()
@@ -65,27 +63,10 @@ export default class ScenarioControl extends DataSource(RectPath(Shape)) {
65
63
 
66
64
  ready() {
67
65
  super.ready()
68
- this._initScenario()
69
- }
70
66
 
71
- _initScenario() {
72
- if (!this.app.isViewMode) return
73
-
74
- this._client = getClient()
75
- this.requestData()
76
- }
77
-
78
- dispose() {
79
- super.dispose()
80
-
81
- try {
82
- if (this._client) {
83
- this._client.stop()
84
- }
85
- } catch (e) {
86
- console.error(e)
67
+ if (this.app.isViewMode) {
68
+ this.requestData()
87
69
  }
88
- delete this._client
89
70
  }
90
71
 
91
72
  get nature() {
@@ -98,10 +79,6 @@ export default class ScenarioControl extends DataSource(RectPath(Shape)) {
98
79
  }
99
80
  }
100
81
 
101
- get client() {
102
- return this._client
103
- }
104
-
105
82
  get controlType() {
106
83
  return this.getState('controlType')
107
84
  }
@@ -112,8 +89,10 @@ export default class ScenarioControl extends DataSource(RectPath(Shape)) {
112
89
 
113
90
  async requestData() {
114
91
  let { controlType, scenarioName } = this.state
115
- if (!controlType || !scenarioName || !this.app.isViewMode) return
116
- var client = this._client
92
+ if (!controlType || !scenarioName || !this.app.isViewMode) {
93
+ return
94
+ }
95
+
117
96
  var query = ''
118
97
  if (controlType == 'start') {
119
98
  query = `mutation{
@@ -129,15 +108,13 @@ export default class ScenarioControl extends DataSource(RectPath(Shape)) {
129
108
  }`
130
109
  }
131
110
 
132
- if (client) {
133
- var response = await client.query({
134
- query: gql`
135
- ${query}
136
- `
137
- })
111
+ var response = await client.query({
112
+ query: gql`
113
+ ${query}
114
+ `
115
+ })
138
116
 
139
- this.data = response
140
- }
117
+ this.data = response
141
118
  }
142
119
  }
143
120
 
@@ -1,9 +1,9 @@
1
1
  import gql from 'graphql-tag'
2
2
 
3
3
  import { Component, ComponentNature, DataSource, RectPath, Shape } from '@hatiolab/things-scene'
4
+ import { subscribe } from '@operato/graphql'
4
5
 
5
6
  import { scenarios } from './client-api'
6
- import { subscribe } from './origin-client'
7
7
 
8
8
  const NATURE: ComponentNature = {
9
9
  mutable: false,
@@ -1,8 +1,7 @@
1
1
  import gql from 'graphql-tag'
2
2
 
3
3
  import { Component, ComponentNature, DataSource, RectPath, Shape } from '@hatiolab/things-scene'
4
-
5
- import { subscribe } from './origin-client'
4
+ import { subscribe } from '@operato/graphql'
6
5
 
7
6
  const NATURE: ComponentNature = {
8
7
  mutable: false,
@@ -1,9 +1,9 @@
1
1
  import gql from 'graphql-tag'
2
2
 
3
3
  import { Component, ComponentNature, DataSource, Properties, RectPath, Shape } from '@hatiolab/things-scene'
4
+ import { client } from '@operato/graphql'
4
5
 
5
6
  import { scenarios } from './client-api'
6
- import { getClient } from './origin-client'
7
7
 
8
8
  const NATURE: ComponentNature = {
9
9
  mutable: false,
@@ -44,8 +44,6 @@ export default class ScenarioRun extends DataSource(RectPath(Shape)) {
44
44
  return ScenarioRun._image
45
45
  }
46
46
 
47
- private _client: any
48
-
49
47
  render(context: CanvasRenderingContext2D) {
50
48
  var { left, top, width, height } = this.bounds
51
49
  context.beginPath()
@@ -54,30 +52,12 @@ export default class ScenarioRun extends DataSource(RectPath(Shape)) {
54
52
 
55
53
  ready() {
56
54
  super.ready()
57
- this._initScenario()
58
- }
59
-
60
- _initScenario() {
61
- if (!this.app.isViewMode) {
62
- return
63
- }
64
- this._client = getClient()
65
- if (this.state.runOnStart) {
66
- this.requestData()
67
- }
68
- }
69
55
 
70
- dispose() {
71
- super.dispose()
72
-
73
- try {
74
- if (this._client) {
75
- this._client.stop()
56
+ if (this.app.isViewMode) {
57
+ if (this.state.runOnStart) {
58
+ this.requestData()
76
59
  }
77
- } catch (e) {
78
- console.error(e)
79
60
  }
80
- delete this._client
81
61
  }
82
62
 
83
63
  get nature() {
@@ -98,15 +78,12 @@ export default class ScenarioRun extends DataSource(RectPath(Shape)) {
98
78
  this.setState('variables', variables)
99
79
  }
100
80
 
101
- get client() {
102
- return this._client
103
- }
104
-
105
81
  async requestData() {
106
82
  let { scenarioName, variables } = this.state
107
- if (!scenarioName || !this.app.isViewMode) return
83
+ if (!scenarioName || !this.app.isViewMode) {
84
+ return
85
+ }
108
86
 
109
- var client = this._client
110
87
  try {
111
88
  variables = typeof variables == 'string' ? JSON.parse(variables) : variables
112
89
  } catch (e) {
@@ -1,9 +1,9 @@
1
1
  import gql from 'graphql-tag'
2
2
 
3
3
  import { Component, ComponentNature, DataSource, Properties, RectPath, Shape } from '@hatiolab/things-scene'
4
+ import { client } from '@operato/graphql'
4
5
 
5
6
  import { scenarios } from './client-api'
6
- import { getClient } from './origin-client'
7
7
 
8
8
  const NATURE: ComponentNature = {
9
9
  mutable: false,
@@ -44,39 +44,12 @@ export default class ScenarioStart extends DataSource(RectPath(Shape)) {
44
44
  return ScenarioStart._image
45
45
  }
46
46
 
47
- private _client: any
48
-
49
47
  render(context: CanvasRenderingContext2D) {
50
48
  var { left, top, width, height } = this.bounds
51
49
  context.beginPath()
52
50
  this.drawImage(context, ScenarioStart.image, left, top, width, height)
53
51
  }
54
52
 
55
- ready() {
56
- super.ready()
57
- this._initScenario()
58
- }
59
-
60
- _initScenario() {
61
- if (!this.app.isViewMode) {
62
- return
63
- }
64
- this._client = getClient()
65
- }
66
-
67
- dispose() {
68
- super.dispose()
69
-
70
- try {
71
- if (this._client) {
72
- this._client.stop()
73
- }
74
- } catch (e) {
75
- console.error(e)
76
- }
77
- delete this._client
78
- }
79
-
80
53
  get nature() {
81
54
  return NATURE
82
55
  }
@@ -95,15 +68,10 @@ export default class ScenarioStart extends DataSource(RectPath(Shape)) {
95
68
  this.setState('variables', variables)
96
69
  }
97
70
 
98
- get client() {
99
- return this._client
100
- }
101
-
102
71
  async requestData() {
103
72
  let { instanceName, scenarioName, variables } = this.state
104
73
  if (!scenarioName || !this.app.isViewMode) return
105
74
 
106
- var client = this._client
107
75
  try {
108
76
  variables = typeof variables == 'string' ? JSON.parse(variables) : variables
109
77
  } catch (e) {
@@ -1,9 +1,9 @@
1
1
  import gql from 'graphql-tag'
2
2
 
3
3
  import { Component, ComponentNature, DataSource, Properties, RectPath, Shape } from '@hatiolab/things-scene'
4
+ import { client } from '@operato/graphql'
4
5
 
5
6
  import { scenarios } from './client-api'
6
- import { getClient } from './origin-client'
7
7
 
8
8
  const NATURE: ComponentNature = {
9
9
  mutable: false,
@@ -39,39 +39,12 @@ export default class ScenarioStop extends DataSource(RectPath(Shape)) {
39
39
  return ScenarioStop._image
40
40
  }
41
41
 
42
- private _client: any
43
-
44
42
  render(context: CanvasRenderingContext2D) {
45
43
  var { left, top, width, height } = this.bounds
46
44
  context.beginPath()
47
45
  this.drawImage(context, ScenarioStop.image, left, top, width, height)
48
46
  }
49
47
 
50
- ready() {
51
- super.ready()
52
- this._initScenario()
53
- }
54
-
55
- _initScenario() {
56
- if (!this.app.isViewMode) {
57
- return
58
- }
59
- this._client = getClient()
60
- }
61
-
62
- dispose() {
63
- super.dispose()
64
-
65
- try {
66
- if (this._client) {
67
- this._client.stop()
68
- }
69
- } catch (e) {
70
- console.error(e)
71
- }
72
- delete this._client
73
- }
74
-
75
48
  get nature() {
76
49
  return NATURE
77
50
  }
@@ -90,16 +63,11 @@ export default class ScenarioStop extends DataSource(RectPath(Shape)) {
90
63
  this.setState('nothing', nothing)
91
64
  }
92
65
 
93
- get client() {
94
- return this._client
95
- }
96
-
97
66
  async requestData() {
98
67
  let { instanceName, scenarioName } = this.state
99
68
  instanceName = instanceName || scenarioName
100
69
  if (!instanceName || !this.app.isViewMode) return
101
70
 
102
- var client = this._client
103
71
  if (client) {
104
72
  var response = await client.query({
105
73
  query: gql`