@operato/scene-chartjs 1.2.4 → 1.2.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/CHANGELOG.md CHANGED
@@ -3,6 +3,23 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ ### [1.2.27](https://github.com/things-scene/operato-scene/compare/v1.2.26...v1.2.27) (2023-04-22)
7
+
8
+ **Note:** Version bump only for package @operato/scene-chartjs
9
+
10
+
11
+
12
+
13
+
14
+ ### [1.2.25](https://github.com/things-scene/operato-scene/compare/v1.2.24...v1.2.25) (2023-04-21)
15
+
16
+
17
+ ### :bug: Bug Fix
18
+
19
+ * problem with custom font not being applied when displaying values of donut chart and pie chart ([90a456a](https://github.com/things-scene/operato-scene/commit/90a456a6f65cd5dbb4b30fd02adcc65d3711b968))
20
+
21
+
22
+
6
23
  ### [1.2.4](https://github.com/things-scene/operato-scene/compare/v1.2.3...v1.2.4) (2023-02-13)
7
24
 
8
25
  **Note:** Version bump only for package @operato/scene-chartjs
package/dist/ox-chart.js CHANGED
@@ -89,13 +89,17 @@ let OxChart = class OxChart extends LitElement {
89
89
  return context.dataset.dataLabelAnchor || 'center';
90
90
  },
91
91
  color: function (context) {
92
+ var _a;
92
93
  //@ts-ignore
93
- return context.dataset.defaultFontColor || '#000';
94
+ return ((_a = context.dataset) === null || _a === void 0 ? void 0 : _a.defaultFontColor) || '#000';
94
95
  },
95
96
  font: function (context) {
97
+ var _a, _b;
96
98
  return {
97
99
  //@ts-ignore
98
- size: context.dataset.defaultFontSize
100
+ size: (_a = context.dataset) === null || _a === void 0 ? void 0 : _a.defaultFontSize,
101
+ //@ts-ignore
102
+ family: (_b = context.chart.options) === null || _b === void 0 ? void 0 : _b.defaultFontFamily
99
103
  };
100
104
  },
101
105
  clamp: true,
@@ -1 +1 @@
1
- {"version":3,"file":"ox-chart.js","sourceRoot":"","sources":["../src/ox-chart.ts"],"names":[],"mappings":"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","sourcesContent":["import 'chartjs-plugin-datalabels'\nimport 'chartjs-plugin-style'\n\nimport { LitElement, PropertyValues, html } from 'lit'\nimport { customElement, property, query } from 'lit/decorators.js'\n\nimport { Chart } from 'chart.js'\nimport DataBinderPlugin from './plugins/chartjs-plugin-data-binder'\nimport { convertConfigure } from './config-converter'\n\nChart.plugins.register(DataBinderPlugin)\n\n@customElement('ox-chart')\nexport class OxChart extends LitElement {\n @property({ type: Number }) width!: number\n @property({ type: Number }) height!: number\n @property({ type: Object }) options!: SceneChart.ChartConfig\n @property({ type: Object }) data!: SceneChart.ChartData\n\n private _initialized?: boolean\n private _chart?: SceneChart\n\n @query('canvas') _canvas!: HTMLCanvasElement\n\n firstUpdated() {\n this.initChart()\n }\n\n render() {\n return html` <canvas></canvas> `\n }\n\n updated(changes: PropertyValues<this>) {\n if (changes.has('width') || changes.has('height')) {\n this.updateChartSize()\n }\n\n if (changes.has('options')) {\n this.updateChartConfig()\n }\n\n if (changes.has('data')) {\n this._chart!.data.rawData = this.data\n this._chart!.update()\n }\n }\n\n initChart() {\n const { data, options, type } = this.options\n options!.maintainAspectRatio = false\n\n this.attachPluginOptions(options)\n convertConfigure(this.options as SceneChart.ChartConfig)\n\n this._chart = new Chart(this._canvas, {\n type,\n data,\n options\n }) as SceneChart\n\n this.updateChartSize()\n\n this._initialized = true\n }\n\n updateChartSize() {\n const width = Math.floor(this.width)\n const height = Math.floor(this.height)\n\n this._canvas.style.width = `${width}px`\n this._canvas.style.height = `${height}px`\n\n const _ = () => {\n if (this._canvas.offsetWidth == 0 || this._canvas.offsetHeight == 0) {\n requestAnimationFrame(_)\n } else {\n /*\n 주의 : chart.resize() 내에서 pixel ratio를 감안해서, canvas 의 width, height를 설정하기때문에,\n 별도 처리가 필요하지 않다.\n */\n this._chart!.resize()\n }\n }\n\n requestAnimationFrame(_)\n }\n\n updateChartConfig() {\n if (!this._chart) return\n\n const { data, options, type } = this.options\n options!.maintainAspectRatio = false\n\n this.attachPluginOptions(options)\n convertConfigure(this.options as SceneChart.ChartConfig)\n\n this._chart.type = type\n this._chart.data = data\n this._chart.options = options\n this._chart.data.rawData = this.data\n this._chart.update()\n }\n\n attachPluginOptions(options: SceneChart.ChartOptions) {\n if (!options.plugins) {\n options.plugins = {}\n }\n\n this.attachDatalabelPluginOptions(options.plugins)\n }\n\n attachDatalabelPluginOptions(pluginOptions: SceneChart.ChartPluginsOptions) {\n pluginOptions.datalabels = {\n ...pluginOptions.datalabels,\n display: function (context) {\n //@ts-ignore\n return !!context.dataset.displayValue\n },\n anchor: function (context) {\n //@ts-ignore\n return context.dataset.dataLabelAnchor || 'center'\n },\n color: function (context) {\n //@ts-ignore\n return context.dataset.defaultFontColor || '#000'\n },\n font: function (context) {\n return {\n //@ts-ignore\n size: context.dataset.defaultFontSize\n }\n },\n clamp: true,\n formatter: function (value, context) {\n //@ts-ignore\n var prefix = context.dataset.valuePrefix || ''\n //@ts-ignore\n var suffix = context.dataset.valueSuffix || ''\n if (value == undefined) return value\n\n var stringValue = String(value)\n return prefix + stringValue.toLocaleString() + suffix\n }\n }\n }\n}\n"]}
1
+ {"version":3,"file":"ox-chart.js","sourceRoot":"","sources":["../src/ox-chart.ts"],"names":[],"mappings":"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","sourcesContent":["import 'chartjs-plugin-datalabels'\nimport 'chartjs-plugin-style'\n\nimport { LitElement, PropertyValues, html } from 'lit'\nimport { customElement, property, query } from 'lit/decorators.js'\n\nimport { Chart } from 'chart.js'\nimport DataBinderPlugin from './plugins/chartjs-plugin-data-binder'\nimport { convertConfigure } from './config-converter'\n\nChart.plugins.register(DataBinderPlugin)\n\n@customElement('ox-chart')\nexport class OxChart extends LitElement {\n @property({ type: Number }) width!: number\n @property({ type: Number }) height!: number\n @property({ type: Object }) options!: SceneChart.ChartConfig\n @property({ type: Object }) data!: SceneChart.ChartData\n\n private _initialized?: boolean\n private _chart?: SceneChart\n\n @query('canvas') _canvas!: HTMLCanvasElement\n\n firstUpdated() {\n this.initChart()\n }\n\n render() {\n return html` <canvas></canvas> `\n }\n\n updated(changes: PropertyValues<this>) {\n if (changes.has('width') || changes.has('height')) {\n this.updateChartSize()\n }\n\n if (changes.has('options')) {\n this.updateChartConfig()\n }\n\n if (changes.has('data')) {\n this._chart!.data.rawData = this.data\n this._chart!.update()\n }\n }\n\n initChart() {\n const { data, options, type } = this.options\n options!.maintainAspectRatio = false\n\n this.attachPluginOptions(options)\n convertConfigure(this.options as SceneChart.ChartConfig)\n\n this._chart = new Chart(this._canvas, {\n type,\n data,\n options\n }) as SceneChart\n\n this.updateChartSize()\n\n this._initialized = true\n }\n\n updateChartSize() {\n const width = Math.floor(this.width)\n const height = Math.floor(this.height)\n\n this._canvas.style.width = `${width}px`\n this._canvas.style.height = `${height}px`\n\n const _ = () => {\n if (this._canvas.offsetWidth == 0 || this._canvas.offsetHeight == 0) {\n requestAnimationFrame(_)\n } else {\n /*\n 주의 : chart.resize() 내에서 pixel ratio를 감안해서, canvas 의 width, height를 설정하기때문에,\n 별도 처리가 필요하지 않다.\n */\n this._chart!.resize()\n }\n }\n\n requestAnimationFrame(_)\n }\n\n updateChartConfig() {\n if (!this._chart) return\n\n const { data, options, type } = this.options\n options!.maintainAspectRatio = false\n\n this.attachPluginOptions(options)\n convertConfigure(this.options as SceneChart.ChartConfig)\n\n this._chart.type = type\n this._chart.data = data\n this._chart.options = options\n this._chart.data.rawData = this.data\n this._chart.update()\n }\n\n attachPluginOptions(options: SceneChart.ChartOptions) {\n if (!options.plugins) {\n options.plugins = {}\n }\n\n this.attachDatalabelPluginOptions(options.plugins)\n }\n\n attachDatalabelPluginOptions(pluginOptions: SceneChart.ChartPluginsOptions) {\n pluginOptions.datalabels = {\n ...pluginOptions.datalabels,\n display: function (context) {\n //@ts-ignore\n return !!context.dataset.displayValue\n },\n anchor: function (context) {\n //@ts-ignore\n return context.dataset.dataLabelAnchor || 'center'\n },\n color: function (context) {\n //@ts-ignore\n return context.dataset?.defaultFontColor || '#000'\n },\n font: function (context) {\n return {\n //@ts-ignore\n size: context.dataset?.defaultFontSize,\n //@ts-ignore\n family: context.chart.options?.defaultFontFamily\n }\n },\n clamp: true,\n formatter: function (value, context) {\n //@ts-ignore\n var prefix = context.dataset.valuePrefix || ''\n //@ts-ignore\n var suffix = context.dataset.valueSuffix || ''\n if (value == undefined) return value\n\n var stringValue = String(value)\n return prefix + stringValue.toLocaleString() + suffix\n }\n }\n }\n}\n"]}
@@ -6,9 +6,14 @@
6
6
  "auditLog": "logs/.08636eb59927f12972f6774f5947c8507b3564c2-audit.json",
7
7
  "files": [
8
8
  {
9
- "date": 1668262764298,
10
- "name": "logs/application-2022-11-12-23.log",
11
- "hash": "f37fb366de48b8954049da0e6c6418a7597cd13fe509213c3c4691c2f3a126ac"
9
+ "date": 1682075558695,
10
+ "name": "logs/application-2023-04-21-20.log",
11
+ "hash": "37be717d462176e3742f4054cb406997f49e7285f419d1c8079fe17d1ba76b97"
12
+ },
13
+ {
14
+ "date": 1682082917456,
15
+ "name": "logs/application-2023-04-21-22.log",
16
+ "hash": "827fc0442f2abbfd97855cf9d397264d9b500369ffbec6d154bdc16758e68f6b"
12
17
  }
13
18
  ],
14
19
  "hashType": "sha256"
@@ -6,14 +6,14 @@
6
6
  "auditLog": "logs/.5e5d741d8b7784a2fbad65eedc0fd46946aaf6f2-audit.json",
7
7
  "files": [
8
8
  {
9
- "date": 1667749777877,
10
- "name": "logs/connections-2022-11-07-00.log",
11
- "hash": "1b4e31d56fbc1f6587f98c50d2cc26ef03ca2ae8e531a22bf4e1c6773d820bfd"
9
+ "date": 1682075560193,
10
+ "name": "logs/connections-2023-04-21-20.log",
11
+ "hash": "dde221edeeae43533c2fe2e4194cdf5364c97425de7db31fab3bbaa47032d9d8"
12
12
  },
13
13
  {
14
- "date": 1668262765348,
15
- "name": "logs/connections-2022-11-12-23.log",
16
- "hash": "0491bc7bf12de8c21d480e63d522588e826d09e49553c70483ad30fc8568b7ab"
14
+ "date": 1682082918531,
15
+ "name": "logs/connections-2023-04-21-22.log",
16
+ "hash": "f38a658be466798ae88977f098b563bf656a557990c98dfb93a38c274fc91376"
17
17
  }
18
18
  ],
19
19
  "hashType": "sha256"
@@ -0,0 +1,20 @@
1
+ 2023-04-21T20:12:39+09:00 info: File Storage is Ready.
2
+ 2023-04-21T20:12:40+09:00 error: oracledb module loading failed
3
+ 2023-04-21T20:12:41+09:00 info: Default DataSource established
4
+ 2023-04-21T20:12:41+09:00 info: Transaction DataSource established
5
+ 2023-04-21T20:13:20+09:00 info: File Storage is Ready.
6
+ 2023-04-21T20:13:21+09:00 error: oracledb module loading failed
7
+ 2023-04-21T20:13:21+09:00 info: Default DataSource established
8
+ 2023-04-21T20:13:21+09:00 info: Transaction DataSource established
9
+ 2023-04-21T20:13:22+09:00 info: 🚀 Server ready at http://0.0.0.0:3000/graphql
10
+ 2023-04-21T20:13:22+09:00 info: 🚀 Subscriptions ready at ws://0.0.0.0:3000/graphql
11
+ 2023-04-21T20:14:44+09:00 error: Your license is expired! Expired date is [2023.04.19]
12
+ 2023-04-21T20:14:44+09:00 error: Your license is expired! Expired date is [2023.04.19]
13
+ 2023-04-21T20:14:46+09:00 error: Your license is expired! Expired date is [2023.04.19]
14
+ 2023-04-21T20:15:15+09:00 error: Your license is expired! Expired date is [2023.04.19]
15
+ 2023-04-21T20:23:56+09:00 info: File Storage is Ready.
16
+ 2023-04-21T20:23:57+09:00 error: oracledb module loading failed
17
+ 2023-04-21T20:23:58+09:00 info: Default DataSource established
18
+ 2023-04-21T20:23:58+09:00 info: Transaction DataSource established
19
+ 2023-04-21T20:23:58+09:00 info: 🚀 Server ready at http://0.0.0.0:3000/graphql
20
+ 2023-04-21T20:23:58+09:00 info: 🚀 Subscriptions ready at ws://0.0.0.0:3000/graphql
@@ -0,0 +1,6 @@
1
+ 2023-04-21T22:15:18+09:00 info: File Storage is Ready.
2
+ 2023-04-21T22:15:18+09:00 error: oracledb module loading failed
3
+ 2023-04-21T22:15:19+09:00 info: Default DataSource established
4
+ 2023-04-21T22:15:19+09:00 info: Transaction DataSource established
5
+ 2023-04-21T22:15:20+09:00 info: 🚀 Server ready at http://0.0.0.0:3000/graphql
6
+ 2023-04-21T22:15:20+09:00 info: 🚀 Subscriptions ready at ws://0.0.0.0:3000/graphql
@@ -0,0 +1,82 @@
1
+ 2023-04-21T20:13:22+09:00 info: Initializing ConnectionManager...
2
+ 2023-04-21T20:13:22+09:00 info: Connector 'echo-back-server' started to ready
3
+ 2023-04-21T20:13:22+09:00 info: Connector 'echo-back' started to ready
4
+ 2023-04-21T20:13:22+09:00 info: Connector 'http-connector' started to ready
5
+ 2023-04-21T20:13:22+09:00 info: Connector 'graphql-connector' started to ready
6
+ 2023-04-21T20:13:22+09:00 info: Connector 'sqlite-connector' started to ready
7
+ 2023-04-21T20:13:22+09:00 info: Connector 'postgresql-connector' started to ready
8
+ 2023-04-21T20:13:22+09:00 info: Connector 'mqtt-connector' started to ready
9
+ 2023-04-21T20:13:22+09:00 info: Connector 'mssql-connector' started to ready
10
+ 2023-04-21T20:13:22+09:00 info: Connector 'oracle-connector' started to ready
11
+ 2023-04-21T20:13:22+09:00 info: Connector 'mysql-connector' started to ready
12
+ 2023-04-21T20:13:22+09:00 info: Connector 'socket-server' started to ready
13
+ 2023-04-21T20:13:22+09:00 info: Connector 'msgraph-connector' started to ready
14
+ 2023-04-21T20:13:22+09:00 info: Connector 'openai-connector' started to ready
15
+ 2023-04-21T20:13:22+09:00 info: echo-back-servers are ready
16
+ 2023-04-21T20:13:22+09:00 info: echo-back connections are ready
17
+ 2023-04-21T20:13:22+09:00 info: http-connector connections are ready
18
+ 2023-04-21T20:13:22+09:00 info: graphql-connector connections are ready
19
+ 2023-04-21T20:13:22+09:00 info: sqlite-connector connections are ready
20
+ 2023-04-21T20:13:22+09:00 info: postgresql-connector connections are ready
21
+ 2023-04-21T20:13:22+09:00 info: mqtt-connector connections are ready
22
+ 2023-04-21T20:13:22+09:00 info: mssql-connector connections are ready
23
+ 2023-04-21T20:13:22+09:00 info: oracle-connector connections are ready
24
+ 2023-04-21T20:13:22+09:00 info: mysql-connector connections are ready
25
+ 2023-04-21T20:13:22+09:00 info: socket servers are ready
26
+ 2023-04-21T20:13:22+09:00 info: msgraph-connector connections are ready
27
+ 2023-04-21T20:13:22+09:00 info: openai-connector connections are ready
28
+ 2023-04-21T20:13:22+09:00 info: All connector for 'echo-back-server' ready
29
+ 2023-04-21T20:13:22+09:00 info: All connector for 'echo-back' ready
30
+ 2023-04-21T20:13:22+09:00 info: All connector for 'http-connector' ready
31
+ 2023-04-21T20:13:22+09:00 info: All connector for 'graphql-connector' ready
32
+ 2023-04-21T20:13:22+09:00 info: All connector for 'sqlite-connector' ready
33
+ 2023-04-21T20:13:22+09:00 info: All connector for 'postgresql-connector' ready
34
+ 2023-04-21T20:13:22+09:00 info: All connector for 'mqtt-connector' ready
35
+ 2023-04-21T20:13:22+09:00 info: All connector for 'mssql-connector' ready
36
+ 2023-04-21T20:13:22+09:00 info: All connector for 'oracle-connector' ready
37
+ 2023-04-21T20:13:22+09:00 info: All connector for 'mysql-connector' ready
38
+ 2023-04-21T20:13:22+09:00 info: All connector for 'socket-server' ready
39
+ 2023-04-21T20:13:22+09:00 info: All connector for 'msgraph-connector' ready
40
+ 2023-04-21T20:13:22+09:00 info: All connector for 'openai-connector' ready
41
+ 2023-04-21T20:13:22+09:00 info: ConnectionManager initialization done:
42
+ 2023-04-21T20:23:58+09:00 info: Initializing ConnectionManager...
43
+ 2023-04-21T20:23:58+09:00 info: Connector 'echo-back-server' started to ready
44
+ 2023-04-21T20:23:58+09:00 info: Connector 'echo-back' started to ready
45
+ 2023-04-21T20:23:58+09:00 info: Connector 'http-connector' started to ready
46
+ 2023-04-21T20:23:58+09:00 info: Connector 'graphql-connector' started to ready
47
+ 2023-04-21T20:23:58+09:00 info: Connector 'sqlite-connector' started to ready
48
+ 2023-04-21T20:23:58+09:00 info: Connector 'postgresql-connector' started to ready
49
+ 2023-04-21T20:23:58+09:00 info: Connector 'mqtt-connector' started to ready
50
+ 2023-04-21T20:23:58+09:00 info: Connector 'mssql-connector' started to ready
51
+ 2023-04-21T20:23:58+09:00 info: Connector 'oracle-connector' started to ready
52
+ 2023-04-21T20:23:58+09:00 info: Connector 'mysql-connector' started to ready
53
+ 2023-04-21T20:23:58+09:00 info: Connector 'socket-server' started to ready
54
+ 2023-04-21T20:23:58+09:00 info: Connector 'msgraph-connector' started to ready
55
+ 2023-04-21T20:23:58+09:00 info: Connector 'openai-connector' started to ready
56
+ 2023-04-21T20:23:58+09:00 info: echo-back-servers are ready
57
+ 2023-04-21T20:23:58+09:00 info: echo-back connections are ready
58
+ 2023-04-21T20:23:58+09:00 info: http-connector connections are ready
59
+ 2023-04-21T20:23:58+09:00 info: graphql-connector connections are ready
60
+ 2023-04-21T20:23:58+09:00 info: sqlite-connector connections are ready
61
+ 2023-04-21T20:23:58+09:00 info: postgresql-connector connections are ready
62
+ 2023-04-21T20:23:58+09:00 info: mqtt-connector connections are ready
63
+ 2023-04-21T20:23:58+09:00 info: mssql-connector connections are ready
64
+ 2023-04-21T20:23:58+09:00 info: oracle-connector connections are ready
65
+ 2023-04-21T20:23:58+09:00 info: mysql-connector connections are ready
66
+ 2023-04-21T20:23:58+09:00 info: socket servers are ready
67
+ 2023-04-21T20:23:58+09:00 info: msgraph-connector connections are ready
68
+ 2023-04-21T20:23:58+09:00 info: openai-connector connections are ready
69
+ 2023-04-21T20:23:58+09:00 info: All connector for 'echo-back-server' ready
70
+ 2023-04-21T20:23:58+09:00 info: All connector for 'echo-back' ready
71
+ 2023-04-21T20:23:58+09:00 info: All connector for 'http-connector' ready
72
+ 2023-04-21T20:23:58+09:00 info: All connector for 'graphql-connector' ready
73
+ 2023-04-21T20:23:58+09:00 info: All connector for 'sqlite-connector' ready
74
+ 2023-04-21T20:23:58+09:00 info: All connector for 'postgresql-connector' ready
75
+ 2023-04-21T20:23:58+09:00 info: All connector for 'mqtt-connector' ready
76
+ 2023-04-21T20:23:58+09:00 info: All connector for 'mssql-connector' ready
77
+ 2023-04-21T20:23:58+09:00 info: All connector for 'oracle-connector' ready
78
+ 2023-04-21T20:23:58+09:00 info: All connector for 'mysql-connector' ready
79
+ 2023-04-21T20:23:58+09:00 info: All connector for 'socket-server' ready
80
+ 2023-04-21T20:23:58+09:00 info: All connector for 'msgraph-connector' ready
81
+ 2023-04-21T20:23:58+09:00 info: All connector for 'openai-connector' ready
82
+ 2023-04-21T20:23:58+09:00 info: ConnectionManager initialization done:
@@ -0,0 +1,41 @@
1
+ 2023-04-21T22:15:20+09:00 info: Initializing ConnectionManager...
2
+ 2023-04-21T22:15:20+09:00 info: Connector 'echo-back-server' started to ready
3
+ 2023-04-21T22:15:20+09:00 info: Connector 'echo-back' started to ready
4
+ 2023-04-21T22:15:20+09:00 info: Connector 'http-connector' started to ready
5
+ 2023-04-21T22:15:20+09:00 info: Connector 'graphql-connector' started to ready
6
+ 2023-04-21T22:15:20+09:00 info: Connector 'sqlite-connector' started to ready
7
+ 2023-04-21T22:15:20+09:00 info: Connector 'postgresql-connector' started to ready
8
+ 2023-04-21T22:15:20+09:00 info: Connector 'mqtt-connector' started to ready
9
+ 2023-04-21T22:15:20+09:00 info: Connector 'mssql-connector' started to ready
10
+ 2023-04-21T22:15:20+09:00 info: Connector 'oracle-connector' started to ready
11
+ 2023-04-21T22:15:20+09:00 info: Connector 'mysql-connector' started to ready
12
+ 2023-04-21T22:15:20+09:00 info: Connector 'socket-server' started to ready
13
+ 2023-04-21T22:15:20+09:00 info: Connector 'msgraph-connector' started to ready
14
+ 2023-04-21T22:15:20+09:00 info: Connector 'openai-connector' started to ready
15
+ 2023-04-21T22:15:20+09:00 info: echo-back-servers are ready
16
+ 2023-04-21T22:15:20+09:00 info: echo-back connections are ready
17
+ 2023-04-21T22:15:20+09:00 info: http-connector connections are ready
18
+ 2023-04-21T22:15:20+09:00 info: graphql-connector connections are ready
19
+ 2023-04-21T22:15:20+09:00 info: sqlite-connector connections are ready
20
+ 2023-04-21T22:15:20+09:00 info: postgresql-connector connections are ready
21
+ 2023-04-21T22:15:20+09:00 info: mqtt-connector connections are ready
22
+ 2023-04-21T22:15:20+09:00 info: mssql-connector connections are ready
23
+ 2023-04-21T22:15:20+09:00 info: oracle-connector connections are ready
24
+ 2023-04-21T22:15:20+09:00 info: mysql-connector connections are ready
25
+ 2023-04-21T22:15:20+09:00 info: socket servers are ready
26
+ 2023-04-21T22:15:20+09:00 info: msgraph-connector connections are ready
27
+ 2023-04-21T22:15:20+09:00 info: openai-connector connections are ready
28
+ 2023-04-21T22:15:20+09:00 info: All connector for 'echo-back-server' ready
29
+ 2023-04-21T22:15:20+09:00 info: All connector for 'echo-back' ready
30
+ 2023-04-21T22:15:20+09:00 info: All connector for 'http-connector' ready
31
+ 2023-04-21T22:15:20+09:00 info: All connector for 'graphql-connector' ready
32
+ 2023-04-21T22:15:20+09:00 info: All connector for 'sqlite-connector' ready
33
+ 2023-04-21T22:15:20+09:00 info: All connector for 'postgresql-connector' ready
34
+ 2023-04-21T22:15:20+09:00 info: All connector for 'mqtt-connector' ready
35
+ 2023-04-21T22:15:20+09:00 info: All connector for 'mssql-connector' ready
36
+ 2023-04-21T22:15:20+09:00 info: All connector for 'oracle-connector' ready
37
+ 2023-04-21T22:15:20+09:00 info: All connector for 'mysql-connector' ready
38
+ 2023-04-21T22:15:20+09:00 info: All connector for 'socket-server' ready
39
+ 2023-04-21T22:15:20+09:00 info: All connector for 'msgraph-connector' ready
40
+ 2023-04-21T22:15:20+09:00 info: All connector for 'openai-connector' ready
41
+ 2023-04-21T22:15:20+09:00 info: ConnectionManager initialization done:
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@operato/scene-chartjs",
3
3
  "description": "Things Scene ChartJS Component",
4
- "version": "1.2.4",
4
+ "version": "1.2.27",
5
5
  "author": "heartyoh",
6
6
  "main": "dist/index.js",
7
7
  "module": "dist/index.js",
@@ -71,5 +71,5 @@
71
71
  "prettier --write"
72
72
  ]
73
73
  },
74
- "gitHead": "dbfe6dde63c186e62ebb2f5083347f0bf5ba83cd"
74
+ "gitHead": "720dd367fbe95818d0899776f452bd320d674217"
75
75
  }