@operato/scene-gantt 2.0.0-beta.2 → 2.0.0-beta.4

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,24 @@
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
+ ## [2.0.0-beta.4](https://github.com/things-scene/operato-scene/compare/v2.0.0-beta.3...v2.0.0-beta.4) (2024-06-11)
7
+
8
+
9
+ ### :bug: Bug Fix
10
+
11
+ * default value for ox-property-editor-table-column-config ([e4fd360](https://github.com/things-scene/operato-scene/commit/e4fd360ac46e2f335067811f1552a2a924b43c92))
12
+
13
+
14
+
15
+ ## [2.0.0-beta.3](https://github.com/things-scene/operato-scene/compare/v2.0.0-beta.2...v2.0.0-beta.3) (2024-06-11)
16
+
17
+
18
+ ### :bug: Bug Fix
19
+
20
+ * remove wellstek-gantt component ([52f8a34](https://github.com/things-scene/operato-scene/commit/52f8a34f4038f9b2a45d963d63da31a03a919372))
21
+
22
+
23
+
6
24
  ## [2.0.0-beta.2](https://github.com/things-scene/operato-scene/compare/v2.0.0-beta.1...v2.0.0-beta.2) (2024-06-11)
7
25
 
8
26
 
package/db.sqlite CHANGED
Binary file
package/dist/gantt.js CHANGED
@@ -56,49 +56,49 @@ const NATURE = {
56
56
  label: 'gantt-column-config',
57
57
  name: 'columnConfig',
58
58
  defaultValue: () => [
59
- { name: 'id', label: i18next.t('label.gantt-task-id') || 'ID', visible: true, width: '50px', order: 1 },
59
+ { name: 'id', label: i18next.t('label.gantt-task-id') || 'ID', visible: true, width: '50', order: 1 },
60
60
  {
61
61
  name: 'section',
62
62
  label: i18next.t('label.gantt-task-section') || 'section',
63
63
  visible: true,
64
- width: '100px',
64
+ width: '100',
65
65
  order: 2
66
66
  },
67
67
  {
68
68
  name: 'title',
69
69
  label: i18next.t('label.gantt-task-title') || 'title',
70
70
  visible: true,
71
- width: '150px',
71
+ width: '150',
72
72
  order: 3
73
73
  },
74
- { name: 'type', label: i18next.t('label.gantt-task-type') || 'type', visible: true, width: '100px', order: 4 },
74
+ { name: 'type', label: i18next.t('label.gantt-task-type') || 'type', visible: true, width: '100', order: 4 },
75
75
  {
76
76
  name: 'startDate',
77
77
  label: i18next.t('label.gantt-task-start-date') || 'start date',
78
78
  visible: true,
79
- width: '100px',
79
+ width: '100',
80
80
  order: 5
81
81
  },
82
82
  {
83
83
  name: 'endDate',
84
84
  label: i18next.t('label.gantt-task-end-date') || 'end date',
85
85
  visible: true,
86
- width: '100px',
86
+ width: '100',
87
87
  order: 6
88
88
  },
89
- { name: 'tags', label: i18next.t('label.gantt-task-tags') || 'tags', visible: true, width: '100px', order: 7 },
89
+ { name: 'tags', label: i18next.t('label.gantt-task-tags') || 'tags', visible: true, width: '100', order: 7 },
90
90
  {
91
91
  name: 'progress',
92
92
  label: i18next.t('label.gantt-task-progress') || 'progress',
93
93
  visible: true,
94
- width: '100px',
94
+ width: '100',
95
95
  order: 8
96
96
  },
97
97
  {
98
98
  name: 'dependsOn',
99
99
  label: i18next.t('label.gantt-task-previous') || 'previous',
100
100
  visible: true,
101
- width: '100px',
101
+ width: '100',
102
102
  order: 9
103
103
  }
104
104
  ]
@@ -192,6 +192,9 @@ export default class GanttScene extends HTMLOverlayContainer {
192
192
  * 따라서, gantt의 경우에는 부모의 스케일의 역으로 transform해서, scale을 1로 맞추어야 한다.
193
193
  */
194
194
  rescale() {
195
+ if (!this.gantt) {
196
+ return;
197
+ }
195
198
  var scale = getGlobalScale(this);
196
199
  var sx = 1 / scale.x;
197
200
  var sy = 1 / scale.y;
package/dist/gantt.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"gantt.js","sourceRoot":"","sources":["../src/gantt.ts"],"names":[],"mappings":"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","sourcesContent":["import { i18next } from '@operato/i18n'\n\n/*\n * Copyright © HatioLab Inc. All rights reserved.\n */\n\nconst NATURE = {\n mutable: false,\n resizable: true,\n rotatable: true,\n properties: [\n {\n type: 'date',\n label: 'gantt-from-date',\n name: 'fromDate',\n defaultValue: () =>\n new Date(new Date().getFullYear(), 0, 1).toISOString().split('T')[0] /* beginning of this year */\n },\n {\n type: 'date',\n label: 'gantt-to-date',\n name: 'toDate',\n defaultValue: () => new Date(new Date().getFullYear(), 11, 31).toISOString().split('T')[0] /* end of this year */\n },\n {\n type: 'boolean',\n label: 'gantt-gridline',\n name: 'gridline',\n defaultValue: true\n },\n {\n type: 'select',\n label: 'gantt-time-scale',\n name: 'timeScale',\n property: {\n options: [\n {\n display: 'week-day',\n value: 'week-day'\n },\n {\n display: 'month-week',\n value: 'month-week'\n },\n {\n display: 'quarter-week',\n value: 'quarter-week'\n },\n {\n display: 'year-quarter',\n value: 'year-quarter'\n }\n ]\n },\n defaultValue: 'week-day'\n },\n {\n type: 'column-config',\n label: 'gantt-column-config',\n name: 'columnConfig',\n defaultValue: () => [\n { name: 'id', label: i18next.t('label.gantt-task-id') || 'ID', visible: true, width: '50px', order: 1 },\n {\n name: 'section',\n label: i18next.t('label.gantt-task-section') || 'section',\n visible: true,\n width: '100px',\n order: 2\n },\n {\n name: 'title',\n label: i18next.t('label.gantt-task-title') || 'title',\n visible: true,\n width: '150px',\n order: 3\n },\n { name: 'type', label: i18next.t('label.gantt-task-type') || 'type', visible: true, width: '100px', order: 4 },\n {\n name: 'startDate',\n label: i18next.t('label.gantt-task-start-date') || 'start date',\n visible: true,\n width: '100px',\n order: 5\n },\n {\n name: 'endDate',\n label: i18next.t('label.gantt-task-end-date') || 'end date',\n visible: true,\n width: '100px',\n order: 6\n },\n { name: 'tags', label: i18next.t('label.gantt-task-tags') || 'tags', visible: true, width: '100px', order: 7 },\n {\n name: 'progress',\n label: i18next.t('label.gantt-task-progress') || 'progress',\n visible: true,\n width: '100px',\n order: 8\n },\n {\n name: 'dependsOn',\n label: i18next.t('label.gantt-task-previous') || 'previous',\n visible: true,\n width: '100px',\n order: 9\n }\n ]\n }\n ],\n 'value-property': 'tasks'\n}\n\nimport '@operato/gantt/ox-gantt.js'\n\nimport { OxGantt } from '@operato/gantt/dist/src/ox-gantt.js'\nimport { Task } from '@operato/gantt/dist/src/types.js'\n\nimport { Component, HTMLOverlayContainer, Properties, error } from '@hatiolab/things-scene'\n\nfunction getGlobalScale(component: GanttScene) {\n var scale = { x: 1, y: 1 }\n var parent: Component = component\n\n while (parent) {\n let { x, y } = parent.get('scale') || { x: 1, y: 1 }\n scale.x *= x || 1\n scale.y *= y || 1\n\n parent = parent.parent\n }\n return scale\n}\n\nexport default class GanttScene extends HTMLOverlayContainer {\n static get nature() {\n return NATURE\n }\n\n private _tasks: Task[] = []\n\n private listenTo?: Component\n private listener? = function (this: GanttScene, after: any) {\n after.scale && this.rescale()\n }.bind(this)\n\n private gantt!: OxGantt\n\n createElement() {\n super.createElement()\n\n this.gantt = document.createElement('ox-gantt') as OxGantt\n this.gantt.style.width = 'inherit'\n this.gantt.style.height = 'inherit'\n\n this.element.appendChild(this.gantt)\n\n this.rescale()\n\n const { fromDate, toDate, gridline, columnConfig, timeScale = 'week-day' } = this.state\n\n this.gantt.fromDate = fromDate\n this.gantt.toDate = toDate\n this.gantt.extendGridLines = gridline\n this.gantt.columnConfig = columnConfig\n this.gantt.timeScale = timeScale\n }\n\n dispose() {\n super.dispose()\n }\n\n /*\n * 컴포넌트의 생성 또는 속성 변화 시에 호출되며,\n * 그에 따른 html element의 반영이 필요한 부분을 구현한다.\n *\n * ThingsComponent state => HTML element properties\n */\n\n setElementProperties(div: HTMLDivElement) {\n this.rescale()\n }\n\n /*\n * 컴포넌트가 ready 상태가 되거나, 컴포넌트의 속성이 변화될 시 setElementProperties 뒤에 호출된다.\n * 변화에 따른 기본적인 html 속성이 super.reposition()에서 진행되고, 그 밖의 작업이 필요할 때, 오버라이드 한다.\n */\n reposition() {\n super.reposition()\n }\n\n get tagName() {\n return 'div'\n }\n\n get tasks() {\n return this.get('tasks')\n }\n\n set tasks(tasks) {\n this.set('tasks', tasks)\n ;(this.gantt as OxGantt).tasks = tasks\n }\n\n ready() {\n super.ready()\n\n if (this.rootModel) {\n this.listenTo = this.rootModel\n this.rootModel.on('change', this.listener!)\n }\n }\n\n removed() {\n if (this.listenTo) {\n this.listenTo.off('change', this.listener!)\n\n delete this.listenTo\n delete this.listener\n }\n }\n\n /*\n * gantt은 scale된 상태에서 마우스/터치 포지션을 정확히 매핑하지 못하므로, 타임 범위를 정상적으로 지정하지 못한다.\n * 따라서, gantt의 경우에는 부모의 스케일의 역으로 transform해서, scale을 1로 맞추어야 한다.\n */\n rescale() {\n var scale = getGlobalScale(this)\n\n var sx = 1 / scale.x\n var sy = 1 / scale.y\n\n var transform = `scale(${sx}, ${sy})`\n\n ;['-webkit-', '-moz-', '-ms-', '-o-', ''].forEach(prefix => {\n this.gantt!.style[(prefix + 'transform') as any] = transform\n this.gantt!.style[(prefix + 'transform-origin') as any] = '0px 0px'\n })\n\n var { width, height } = this.state\n this.gantt!.style.width = width * scale.x + 'px'\n this.gantt!.style.height = height * scale.y + 'px'\n\n this.gantt.requestUpdate()\n }\n\n onchange(props: Properties) {\n ;['fromDate', 'toDate', 'timeScale', 'columnConfig'].forEach(prop => {\n if (prop in props) {\n ;(this.gantt as any)[prop] = this.state[prop]\n }\n })\n\n if ('gridline' in props) {\n ;(this.gantt as OxGantt).extendGridLines = this.state['gridline']\n }\n\n this.rescale()\n }\n}\n\nComponent.register('gantt', GanttScene)\n"]}
1
+ {"version":3,"file":"gantt.js","sourceRoot":"","sources":["../src/gantt.ts"],"names":[],"mappings":"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","sourcesContent":["import { i18next } from '@operato/i18n'\n\n/*\n * Copyright © HatioLab Inc. All rights reserved.\n */\n\nconst NATURE = {\n mutable: false,\n resizable: true,\n rotatable: true,\n properties: [\n {\n type: 'date',\n label: 'gantt-from-date',\n name: 'fromDate',\n defaultValue: () =>\n new Date(new Date().getFullYear(), 0, 1).toISOString().split('T')[0] /* beginning of this year */\n },\n {\n type: 'date',\n label: 'gantt-to-date',\n name: 'toDate',\n defaultValue: () => new Date(new Date().getFullYear(), 11, 31).toISOString().split('T')[0] /* end of this year */\n },\n {\n type: 'boolean',\n label: 'gantt-gridline',\n name: 'gridline',\n defaultValue: true\n },\n {\n type: 'select',\n label: 'gantt-time-scale',\n name: 'timeScale',\n property: {\n options: [\n {\n display: 'week-day',\n value: 'week-day'\n },\n {\n display: 'month-week',\n value: 'month-week'\n },\n {\n display: 'quarter-week',\n value: 'quarter-week'\n },\n {\n display: 'year-quarter',\n value: 'year-quarter'\n }\n ]\n },\n defaultValue: 'week-day'\n },\n {\n type: 'column-config',\n label: 'gantt-column-config',\n name: 'columnConfig',\n defaultValue: () => [\n { name: 'id', label: i18next.t('label.gantt-task-id') || 'ID', visible: true, width: '50', order: 1 },\n {\n name: 'section',\n label: i18next.t('label.gantt-task-section') || 'section',\n visible: true,\n width: '100',\n order: 2\n },\n {\n name: 'title',\n label: i18next.t('label.gantt-task-title') || 'title',\n visible: true,\n width: '150',\n order: 3\n },\n { name: 'type', label: i18next.t('label.gantt-task-type') || 'type', visible: true, width: '100', order: 4 },\n {\n name: 'startDate',\n label: i18next.t('label.gantt-task-start-date') || 'start date',\n visible: true,\n width: '100',\n order: 5\n },\n {\n name: 'endDate',\n label: i18next.t('label.gantt-task-end-date') || 'end date',\n visible: true,\n width: '100',\n order: 6\n },\n { name: 'tags', label: i18next.t('label.gantt-task-tags') || 'tags', visible: true, width: '100', order: 7 },\n {\n name: 'progress',\n label: i18next.t('label.gantt-task-progress') || 'progress',\n visible: true,\n width: '100',\n order: 8\n },\n {\n name: 'dependsOn',\n label: i18next.t('label.gantt-task-previous') || 'previous',\n visible: true,\n width: '100',\n order: 9\n }\n ]\n }\n ],\n 'value-property': 'tasks'\n}\n\nimport '@operato/gantt/ox-gantt.js'\n\nimport { OxGantt } from '@operato/gantt/dist/src/ox-gantt.js'\nimport { Task } from '@operato/gantt/dist/src/types.js'\n\nimport { Component, HTMLOverlayContainer, Properties, error } from '@hatiolab/things-scene'\n\nfunction getGlobalScale(component: GanttScene) {\n var scale = { x: 1, y: 1 }\n var parent: Component = component\n\n while (parent) {\n let { x, y } = parent.get('scale') || { x: 1, y: 1 }\n scale.x *= x || 1\n scale.y *= y || 1\n\n parent = parent.parent\n }\n return scale\n}\n\nexport default class GanttScene extends HTMLOverlayContainer {\n static get nature() {\n return NATURE\n }\n\n private _tasks: Task[] = []\n\n private listenTo?: Component\n private listener? = function (this: GanttScene, after: any) {\n after.scale && this.rescale()\n }.bind(this)\n\n private gantt!: OxGantt\n\n createElement() {\n super.createElement()\n\n this.gantt = document.createElement('ox-gantt') as OxGantt\n this.gantt.style.width = 'inherit'\n this.gantt.style.height = 'inherit'\n\n this.element.appendChild(this.gantt)\n\n this.rescale()\n\n const { fromDate, toDate, gridline, columnConfig, timeScale = 'week-day' } = this.state\n\n this.gantt.fromDate = fromDate\n this.gantt.toDate = toDate\n this.gantt.extendGridLines = gridline\n this.gantt.columnConfig = columnConfig\n this.gantt.timeScale = timeScale\n }\n\n dispose() {\n super.dispose()\n }\n\n /*\n * 컴포넌트의 생성 또는 속성 변화 시에 호출되며,\n * 그에 따른 html element의 반영이 필요한 부분을 구현한다.\n *\n * ThingsComponent state => HTML element properties\n */\n\n setElementProperties(div: HTMLDivElement) {\n this.rescale()\n }\n\n /*\n * 컴포넌트가 ready 상태가 되거나, 컴포넌트의 속성이 변화될 시 setElementProperties 뒤에 호출된다.\n * 변화에 따른 기본적인 html 속성이 super.reposition()에서 진행되고, 그 밖의 작업이 필요할 때, 오버라이드 한다.\n */\n reposition() {\n super.reposition()\n }\n\n get tagName() {\n return 'div'\n }\n\n get tasks() {\n return this.get('tasks')\n }\n\n set tasks(tasks) {\n this.set('tasks', tasks)\n ;(this.gantt as OxGantt).tasks = tasks\n }\n\n ready() {\n super.ready()\n\n if (this.rootModel) {\n this.listenTo = this.rootModel\n this.rootModel.on('change', this.listener!)\n }\n }\n\n removed() {\n if (this.listenTo) {\n this.listenTo.off('change', this.listener!)\n\n delete this.listenTo\n delete this.listener\n }\n }\n\n /*\n * gantt은 scale된 상태에서 마우스/터치 포지션을 정확히 매핑하지 못하므로, 타임 범위를 정상적으로 지정하지 못한다.\n * 따라서, gantt의 경우에는 부모의 스케일의 역으로 transform해서, scale을 1로 맞추어야 한다.\n */\n rescale() {\n if (!this.gantt) {\n return\n }\n\n var scale = getGlobalScale(this)\n\n var sx = 1 / scale.x\n var sy = 1 / scale.y\n\n var transform = `scale(${sx}, ${sy})`\n\n ;['-webkit-', '-moz-', '-ms-', '-o-', ''].forEach(prefix => {\n this.gantt!.style[(prefix + 'transform') as any] = transform\n this.gantt!.style[(prefix + 'transform-origin') as any] = '0px 0px'\n })\n\n var { width, height } = this.state\n this.gantt!.style.width = width * scale.x + 'px'\n this.gantt!.style.height = height * scale.y + 'px'\n\n this.gantt.requestUpdate()\n }\n\n onchange(props: Properties) {\n ;['fromDate', 'toDate', 'timeScale', 'columnConfig'].forEach(prop => {\n if (prop in props) {\n ;(this.gantt as any)[prop] = this.state[prop]\n }\n })\n\n if ('gridline' in props) {\n ;(this.gantt as OxGantt).extendGridLines = this.state['gridline']\n }\n\n this.rescale()\n }\n}\n\nComponent.register('gantt', GanttScene)\n"]}
@@ -79,6 +79,11 @@
79
79
  "date": 1718104028639,
80
80
  "name": "logs/application-2024-06-11-20.log",
81
81
  "hash": "c8f87e7b4366ea94380d5d250f21da27b40fafbd5b1d80b9397d611789c110a8"
82
+ },
83
+ {
84
+ "date": 1718107453574,
85
+ "name": "logs/application-2024-06-11-21.log",
86
+ "hash": "4ad6caffb7598e51f5b0a8c00d399f133ac998407eae44bba65d14c5db188d2d"
82
87
  }
83
88
  ],
84
89
  "hashType": "sha256"
@@ -94,6 +94,11 @@
94
94
  "date": 1718104030420,
95
95
  "name": "logs/connections-2024-06-11-20.log",
96
96
  "hash": "41a48086a1b255424dcf719ee4fc8a2f1e9a8c7e57e24dbd1d246373d024adf4"
97
+ },
98
+ {
99
+ "date": 1718107455288,
100
+ "name": "logs/connections-2024-06-11-21.log",
101
+ "hash": "fd1764f7c769ad3f57dfc25f51f108595e80eecba746c73024676ecd917ce3b3"
97
102
  }
98
103
  ],
99
104
  "hashType": "sha256"
@@ -4,3 +4,21 @@
4
4
  2024-06-11T20:07:12+09:00 info: Default DataSource established
5
5
  2024-06-11T20:07:14+09:00 info: 🚀 Server ready at http://0.0.0.0:3000/graphql
6
6
  2024-06-11T20:07:14+09:00 info: 🚀 Subscriptions ready at ws://0.0.0.0:3000/graphql
7
+ 2024-06-11T20:31:20+09:00 info: File Storage is Ready.
8
+ 2024-06-11T20:31:20+09:00 error: oracledb module loading failed
9
+ 2024-06-11T20:31:21+09:00 error: oracledb module loading failed
10
+ 2024-06-11T20:31:22+09:00 info: Default DataSource established
11
+ 2024-06-11T20:31:24+09:00 info: 🚀 Server ready at http://0.0.0.0:3000/graphql
12
+ 2024-06-11T20:31:24+09:00 info: 🚀 Subscriptions ready at ws://0.0.0.0:3000/graphql
13
+ 2024-06-11T20:36:10+09:00 info: File Storage is Ready.
14
+ 2024-06-11T20:36:11+09:00 error: oracledb module loading failed
15
+ 2024-06-11T20:36:11+09:00 error: oracledb module loading failed
16
+ 2024-06-11T20:36:12+09:00 info: Default DataSource established
17
+ 2024-06-11T20:36:14+09:00 info: 🚀 Server ready at http://0.0.0.0:3000/graphql
18
+ 2024-06-11T20:36:14+09:00 info: 🚀 Subscriptions ready at ws://0.0.0.0:3000/graphql
19
+ 2024-06-11T20:51:26+09:00 info: File Storage is Ready.
20
+ 2024-06-11T20:51:26+09:00 error: oracledb module loading failed
21
+ 2024-06-11T20:51:26+09:00 error: oracledb module loading failed
22
+ 2024-06-11T20:51:28+09:00 info: Default DataSource established
23
+ 2024-06-11T20:51:30+09:00 info: 🚀 Server ready at http://0.0.0.0:3000/graphql
24
+ 2024-06-11T20:51:30+09:00 info: 🚀 Subscriptions ready at ws://0.0.0.0:3000/graphql
@@ -0,0 +1,6 @@
1
+ 2024-06-11T21:04:14+09:00 info: File Storage is Ready.
2
+ 2024-06-11T21:04:15+09:00 error: oracledb module loading failed
3
+ 2024-06-11T21:04:15+09:00 error: oracledb module loading failed
4
+ 2024-06-11T21:04:17+09:00 info: Default DataSource established
5
+ 2024-06-11T21:04:18+09:00 info: 🚀 Server ready at http://0.0.0.0:3000/graphql
6
+ 2024-06-11T21:04:18+09:00 info: 🚀 Subscriptions ready at ws://0.0.0.0:3000/graphql
@@ -48,3 +48,153 @@
48
48
  2024-06-11T20:07:14+09:00 info: All connector for 'msgraph-connector' ready
49
49
  2024-06-11T20:07:14+09:00 info: All connector for 'proxy-connector' ready
50
50
  2024-06-11T20:07:14+09:00 info: ConnectionManager initialization done:
51
+ 2024-06-11T20:31:24+09:00 info: Initializing ConnectionManager...
52
+ 2024-06-11T20:31:24+09:00 info: Connector 'echo-back-server' started to ready
53
+ 2024-06-11T20:31:24+09:00 info: Connector 'echo-back' started to ready
54
+ 2024-06-11T20:31:24+09:00 info: Connector 'http-connector' started to ready
55
+ 2024-06-11T20:31:24+09:00 info: Connector 'graphql-connector' started to ready
56
+ 2024-06-11T20:31:24+09:00 info: Connector 'sqlite-connector' started to ready
57
+ 2024-06-11T20:31:24+09:00 info: Connector 'postgresql-connector' started to ready
58
+ 2024-06-11T20:31:24+09:00 info: Connector 'mqtt-connector' started to ready
59
+ 2024-06-11T20:31:24+09:00 info: Connector 'mssql-connector' started to ready
60
+ 2024-06-11T20:31:24+09:00 info: Connector 'oracle-connector' started to ready
61
+ 2024-06-11T20:31:24+09:00 info: Connector 'mysql-connector' started to ready
62
+ 2024-06-11T20:31:24+09:00 info: Connector 'socket-server' started to ready
63
+ 2024-06-11T20:31:24+09:00 info: Connector 'operato-connector' started to ready
64
+ 2024-06-11T20:31:24+09:00 info: Connector 'email-connector' started to ready
65
+ 2024-06-11T20:31:24+09:00 info: Connector 'influxdb-connector' started to ready
66
+ 2024-06-11T20:31:24+09:00 info: Connector 'msgraph-connector' started to ready
67
+ 2024-06-11T20:31:24+09:00 info: Connector 'proxy-connector' started to ready
68
+ 2024-06-11T20:31:24+09:00 info: proxy-connector connections are ready
69
+ 2024-06-11T20:31:24+09:00 info: proxy-connector connections are ready
70
+ 2024-06-11T20:31:24+09:00 info: proxy-connector connections are ready
71
+ 2024-06-11T20:31:24+09:00 info: proxy-connector connections are ready
72
+ 2024-06-11T20:31:24+09:00 info: proxy-connector connections are ready
73
+ 2024-06-11T20:31:24+09:00 info: proxy-connector connections are ready
74
+ 2024-06-11T20:31:24+09:00 info: proxy-connector connections are ready
75
+ 2024-06-11T20:31:24+09:00 info: proxy-connector connections are ready
76
+ 2024-06-11T20:31:24+09:00 info: proxy-connector connections are ready
77
+ 2024-06-11T20:31:24+09:00 info: proxy-connector connections are ready
78
+ 2024-06-11T20:31:24+09:00 info: proxy-connector connections are ready
79
+ 2024-06-11T20:31:24+09:00 info: proxy-connector connections are ready
80
+ 2024-06-11T20:31:24+09:00 info: proxy-connector connections are ready
81
+ 2024-06-11T20:31:24+09:00 info: proxy-connector connections are ready
82
+ 2024-06-11T20:31:24+09:00 info: proxy-connector connections are ready
83
+ 2024-06-11T20:31:24+09:00 info: proxy-connector connections are ready
84
+ 2024-06-11T20:31:24+09:00 info: All connector for 'echo-back-server' ready
85
+ 2024-06-11T20:31:24+09:00 info: All connector for 'echo-back' ready
86
+ 2024-06-11T20:31:24+09:00 info: All connector for 'http-connector' ready
87
+ 2024-06-11T20:31:24+09:00 info: All connector for 'graphql-connector' ready
88
+ 2024-06-11T20:31:24+09:00 info: All connector for 'sqlite-connector' ready
89
+ 2024-06-11T20:31:24+09:00 info: All connector for 'postgresql-connector' ready
90
+ 2024-06-11T20:31:24+09:00 info: All connector for 'mqtt-connector' ready
91
+ 2024-06-11T20:31:24+09:00 info: All connector for 'mssql-connector' ready
92
+ 2024-06-11T20:31:24+09:00 info: All connector for 'oracle-connector' ready
93
+ 2024-06-11T20:31:24+09:00 info: All connector for 'mysql-connector' ready
94
+ 2024-06-11T20:31:24+09:00 info: All connector for 'socket-server' ready
95
+ 2024-06-11T20:31:24+09:00 info: All connector for 'operato-connector' ready
96
+ 2024-06-11T20:31:24+09:00 info: All connector for 'email-connector' ready
97
+ 2024-06-11T20:31:24+09:00 info: All connector for 'influxdb-connector' ready
98
+ 2024-06-11T20:31:24+09:00 info: All connector for 'msgraph-connector' ready
99
+ 2024-06-11T20:31:24+09:00 info: All connector for 'proxy-connector' ready
100
+ 2024-06-11T20:31:24+09:00 info: ConnectionManager initialization done:
101
+ 2024-06-11T20:36:14+09:00 info: Initializing ConnectionManager...
102
+ 2024-06-11T20:36:14+09:00 info: Connector 'echo-back-server' started to ready
103
+ 2024-06-11T20:36:14+09:00 info: Connector 'echo-back' started to ready
104
+ 2024-06-11T20:36:14+09:00 info: Connector 'http-connector' started to ready
105
+ 2024-06-11T20:36:14+09:00 info: Connector 'graphql-connector' started to ready
106
+ 2024-06-11T20:36:14+09:00 info: Connector 'sqlite-connector' started to ready
107
+ 2024-06-11T20:36:14+09:00 info: Connector 'postgresql-connector' started to ready
108
+ 2024-06-11T20:36:14+09:00 info: Connector 'mqtt-connector' started to ready
109
+ 2024-06-11T20:36:14+09:00 info: Connector 'mssql-connector' started to ready
110
+ 2024-06-11T20:36:14+09:00 info: Connector 'oracle-connector' started to ready
111
+ 2024-06-11T20:36:14+09:00 info: Connector 'mysql-connector' started to ready
112
+ 2024-06-11T20:36:14+09:00 info: Connector 'socket-server' started to ready
113
+ 2024-06-11T20:36:14+09:00 info: Connector 'operato-connector' started to ready
114
+ 2024-06-11T20:36:14+09:00 info: Connector 'email-connector' started to ready
115
+ 2024-06-11T20:36:14+09:00 info: Connector 'influxdb-connector' started to ready
116
+ 2024-06-11T20:36:14+09:00 info: Connector 'msgraph-connector' started to ready
117
+ 2024-06-11T20:36:14+09:00 info: Connector 'proxy-connector' started to ready
118
+ 2024-06-11T20:36:14+09:00 info: proxy-connector connections are ready
119
+ 2024-06-11T20:36:14+09:00 info: proxy-connector connections are ready
120
+ 2024-06-11T20:36:14+09:00 info: proxy-connector connections are ready
121
+ 2024-06-11T20:36:14+09:00 info: proxy-connector connections are ready
122
+ 2024-06-11T20:36:14+09:00 info: proxy-connector connections are ready
123
+ 2024-06-11T20:36:14+09:00 info: proxy-connector connections are ready
124
+ 2024-06-11T20:36:14+09:00 info: proxy-connector connections are ready
125
+ 2024-06-11T20:36:14+09:00 info: proxy-connector connections are ready
126
+ 2024-06-11T20:36:14+09:00 info: proxy-connector connections are ready
127
+ 2024-06-11T20:36:14+09:00 info: proxy-connector connections are ready
128
+ 2024-06-11T20:36:14+09:00 info: proxy-connector connections are ready
129
+ 2024-06-11T20:36:14+09:00 info: proxy-connector connections are ready
130
+ 2024-06-11T20:36:14+09:00 info: proxy-connector connections are ready
131
+ 2024-06-11T20:36:14+09:00 info: proxy-connector connections are ready
132
+ 2024-06-11T20:36:14+09:00 info: proxy-connector connections are ready
133
+ 2024-06-11T20:36:14+09:00 info: proxy-connector connections are ready
134
+ 2024-06-11T20:36:14+09:00 info: All connector for 'echo-back-server' ready
135
+ 2024-06-11T20:36:14+09:00 info: All connector for 'echo-back' ready
136
+ 2024-06-11T20:36:14+09:00 info: All connector for 'http-connector' ready
137
+ 2024-06-11T20:36:14+09:00 info: All connector for 'graphql-connector' ready
138
+ 2024-06-11T20:36:14+09:00 info: All connector for 'sqlite-connector' ready
139
+ 2024-06-11T20:36:14+09:00 info: All connector for 'postgresql-connector' ready
140
+ 2024-06-11T20:36:14+09:00 info: All connector for 'mqtt-connector' ready
141
+ 2024-06-11T20:36:14+09:00 info: All connector for 'mssql-connector' ready
142
+ 2024-06-11T20:36:14+09:00 info: All connector for 'oracle-connector' ready
143
+ 2024-06-11T20:36:14+09:00 info: All connector for 'mysql-connector' ready
144
+ 2024-06-11T20:36:14+09:00 info: All connector for 'socket-server' ready
145
+ 2024-06-11T20:36:14+09:00 info: All connector for 'operato-connector' ready
146
+ 2024-06-11T20:36:14+09:00 info: All connector for 'email-connector' ready
147
+ 2024-06-11T20:36:14+09:00 info: All connector for 'influxdb-connector' ready
148
+ 2024-06-11T20:36:14+09:00 info: All connector for 'msgraph-connector' ready
149
+ 2024-06-11T20:36:14+09:00 info: All connector for 'proxy-connector' ready
150
+ 2024-06-11T20:36:14+09:00 info: ConnectionManager initialization done:
151
+ 2024-06-11T20:51:30+09:00 info: Initializing ConnectionManager...
152
+ 2024-06-11T20:51:30+09:00 info: Connector 'echo-back-server' started to ready
153
+ 2024-06-11T20:51:30+09:00 info: Connector 'echo-back' started to ready
154
+ 2024-06-11T20:51:30+09:00 info: Connector 'http-connector' started to ready
155
+ 2024-06-11T20:51:30+09:00 info: Connector 'graphql-connector' started to ready
156
+ 2024-06-11T20:51:30+09:00 info: Connector 'sqlite-connector' started to ready
157
+ 2024-06-11T20:51:30+09:00 info: Connector 'postgresql-connector' started to ready
158
+ 2024-06-11T20:51:30+09:00 info: Connector 'mqtt-connector' started to ready
159
+ 2024-06-11T20:51:30+09:00 info: Connector 'mssql-connector' started to ready
160
+ 2024-06-11T20:51:30+09:00 info: Connector 'oracle-connector' started to ready
161
+ 2024-06-11T20:51:30+09:00 info: Connector 'mysql-connector' started to ready
162
+ 2024-06-11T20:51:30+09:00 info: Connector 'socket-server' started to ready
163
+ 2024-06-11T20:51:30+09:00 info: Connector 'operato-connector' started to ready
164
+ 2024-06-11T20:51:30+09:00 info: Connector 'email-connector' started to ready
165
+ 2024-06-11T20:51:30+09:00 info: Connector 'influxdb-connector' started to ready
166
+ 2024-06-11T20:51:30+09:00 info: Connector 'msgraph-connector' started to ready
167
+ 2024-06-11T20:51:30+09:00 info: Connector 'proxy-connector' started to ready
168
+ 2024-06-11T20:51:30+09:00 info: proxy-connector connections are ready
169
+ 2024-06-11T20:51:30+09:00 info: proxy-connector connections are ready
170
+ 2024-06-11T20:51:30+09:00 info: proxy-connector connections are ready
171
+ 2024-06-11T20:51:30+09:00 info: proxy-connector connections are ready
172
+ 2024-06-11T20:51:30+09:00 info: proxy-connector connections are ready
173
+ 2024-06-11T20:51:30+09:00 info: proxy-connector connections are ready
174
+ 2024-06-11T20:51:30+09:00 info: proxy-connector connections are ready
175
+ 2024-06-11T20:51:30+09:00 info: proxy-connector connections are ready
176
+ 2024-06-11T20:51:30+09:00 info: proxy-connector connections are ready
177
+ 2024-06-11T20:51:30+09:00 info: proxy-connector connections are ready
178
+ 2024-06-11T20:51:30+09:00 info: proxy-connector connections are ready
179
+ 2024-06-11T20:51:30+09:00 info: proxy-connector connections are ready
180
+ 2024-06-11T20:51:30+09:00 info: proxy-connector connections are ready
181
+ 2024-06-11T20:51:30+09:00 info: proxy-connector connections are ready
182
+ 2024-06-11T20:51:30+09:00 info: proxy-connector connections are ready
183
+ 2024-06-11T20:51:30+09:00 info: proxy-connector connections are ready
184
+ 2024-06-11T20:51:30+09:00 info: All connector for 'echo-back-server' ready
185
+ 2024-06-11T20:51:30+09:00 info: All connector for 'echo-back' ready
186
+ 2024-06-11T20:51:30+09:00 info: All connector for 'http-connector' ready
187
+ 2024-06-11T20:51:30+09:00 info: All connector for 'graphql-connector' ready
188
+ 2024-06-11T20:51:30+09:00 info: All connector for 'sqlite-connector' ready
189
+ 2024-06-11T20:51:30+09:00 info: All connector for 'postgresql-connector' ready
190
+ 2024-06-11T20:51:30+09:00 info: All connector for 'mqtt-connector' ready
191
+ 2024-06-11T20:51:30+09:00 info: All connector for 'mssql-connector' ready
192
+ 2024-06-11T20:51:30+09:00 info: All connector for 'oracle-connector' ready
193
+ 2024-06-11T20:51:30+09:00 info: All connector for 'mysql-connector' ready
194
+ 2024-06-11T20:51:30+09:00 info: All connector for 'socket-server' ready
195
+ 2024-06-11T20:51:30+09:00 info: All connector for 'operato-connector' ready
196
+ 2024-06-11T20:51:30+09:00 info: All connector for 'email-connector' ready
197
+ 2024-06-11T20:51:30+09:00 info: All connector for 'influxdb-connector' ready
198
+ 2024-06-11T20:51:30+09:00 info: All connector for 'msgraph-connector' ready
199
+ 2024-06-11T20:51:30+09:00 info: All connector for 'proxy-connector' ready
200
+ 2024-06-11T20:51:30+09:00 info: ConnectionManager initialization done:
@@ -0,0 +1,50 @@
1
+ 2024-06-11T21:04:19+09:00 info: Initializing ConnectionManager...
2
+ 2024-06-11T21:04:19+09:00 info: Connector 'echo-back-server' started to ready
3
+ 2024-06-11T21:04:19+09:00 info: Connector 'echo-back' started to ready
4
+ 2024-06-11T21:04:19+09:00 info: Connector 'http-connector' started to ready
5
+ 2024-06-11T21:04:19+09:00 info: Connector 'graphql-connector' started to ready
6
+ 2024-06-11T21:04:19+09:00 info: Connector 'sqlite-connector' started to ready
7
+ 2024-06-11T21:04:19+09:00 info: Connector 'postgresql-connector' started to ready
8
+ 2024-06-11T21:04:19+09:00 info: Connector 'mqtt-connector' started to ready
9
+ 2024-06-11T21:04:19+09:00 info: Connector 'mssql-connector' started to ready
10
+ 2024-06-11T21:04:19+09:00 info: Connector 'oracle-connector' started to ready
11
+ 2024-06-11T21:04:19+09:00 info: Connector 'mysql-connector' started to ready
12
+ 2024-06-11T21:04:19+09:00 info: Connector 'socket-server' started to ready
13
+ 2024-06-11T21:04:19+09:00 info: Connector 'operato-connector' started to ready
14
+ 2024-06-11T21:04:19+09:00 info: Connector 'email-connector' started to ready
15
+ 2024-06-11T21:04:19+09:00 info: Connector 'influxdb-connector' started to ready
16
+ 2024-06-11T21:04:19+09:00 info: Connector 'msgraph-connector' started to ready
17
+ 2024-06-11T21:04:19+09:00 info: Connector 'proxy-connector' started to ready
18
+ 2024-06-11T21:04:19+09:00 info: proxy-connector connections are ready
19
+ 2024-06-11T21:04:19+09:00 info: proxy-connector connections are ready
20
+ 2024-06-11T21:04:19+09:00 info: proxy-connector connections are ready
21
+ 2024-06-11T21:04:19+09:00 info: proxy-connector connections are ready
22
+ 2024-06-11T21:04:19+09:00 info: proxy-connector connections are ready
23
+ 2024-06-11T21:04:19+09:00 info: proxy-connector connections are ready
24
+ 2024-06-11T21:04:19+09:00 info: proxy-connector connections are ready
25
+ 2024-06-11T21:04:19+09:00 info: proxy-connector connections are ready
26
+ 2024-06-11T21:04:19+09:00 info: proxy-connector connections are ready
27
+ 2024-06-11T21:04:19+09:00 info: proxy-connector connections are ready
28
+ 2024-06-11T21:04:19+09:00 info: proxy-connector connections are ready
29
+ 2024-06-11T21:04:19+09:00 info: proxy-connector connections are ready
30
+ 2024-06-11T21:04:19+09:00 info: proxy-connector connections are ready
31
+ 2024-06-11T21:04:19+09:00 info: proxy-connector connections are ready
32
+ 2024-06-11T21:04:19+09:00 info: proxy-connector connections are ready
33
+ 2024-06-11T21:04:19+09:00 info: proxy-connector connections are ready
34
+ 2024-06-11T21:04:19+09:00 info: All connector for 'echo-back-server' ready
35
+ 2024-06-11T21:04:19+09:00 info: All connector for 'echo-back' ready
36
+ 2024-06-11T21:04:19+09:00 info: All connector for 'http-connector' ready
37
+ 2024-06-11T21:04:19+09:00 info: All connector for 'graphql-connector' ready
38
+ 2024-06-11T21:04:19+09:00 info: All connector for 'sqlite-connector' ready
39
+ 2024-06-11T21:04:19+09:00 info: All connector for 'postgresql-connector' ready
40
+ 2024-06-11T21:04:19+09:00 info: All connector for 'mqtt-connector' ready
41
+ 2024-06-11T21:04:19+09:00 info: All connector for 'mssql-connector' ready
42
+ 2024-06-11T21:04:19+09:00 info: All connector for 'oracle-connector' ready
43
+ 2024-06-11T21:04:19+09:00 info: All connector for 'mysql-connector' ready
44
+ 2024-06-11T21:04:19+09:00 info: All connector for 'socket-server' ready
45
+ 2024-06-11T21:04:19+09:00 info: All connector for 'operato-connector' ready
46
+ 2024-06-11T21:04:19+09:00 info: All connector for 'email-connector' ready
47
+ 2024-06-11T21:04:19+09:00 info: All connector for 'influxdb-connector' ready
48
+ 2024-06-11T21:04:19+09:00 info: All connector for 'msgraph-connector' ready
49
+ 2024-06-11T21:04:19+09:00 info: All connector for 'proxy-connector' ready
50
+ 2024-06-11T21:04:19+09:00 info: ConnectionManager initialization done:
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@operato/scene-gantt",
3
3
  "description": "Operato Scene Component for Gantt Chart",
4
- "version": "2.0.0-beta.2",
4
+ "version": "2.0.0-beta.4",
5
5
  "license": "MIT",
6
6
  "things-scene": true,
7
7
  "author": "heartyoh",
@@ -58,5 +58,5 @@
58
58
  "prettier --write"
59
59
  ]
60
60
  },
61
- "gitHead": "e6260bb283e7a8fd6e3f1bc9f27c9c78dca8d4aa"
61
+ "gitHead": "703b967cdf4802bb8a17cbdc0dba3674c07f8d93"
62
62
  }
package/src/gantt.ts CHANGED
@@ -59,49 +59,49 @@ const NATURE = {
59
59
  label: 'gantt-column-config',
60
60
  name: 'columnConfig',
61
61
  defaultValue: () => [
62
- { name: 'id', label: i18next.t('label.gantt-task-id') || 'ID', visible: true, width: '50px', order: 1 },
62
+ { name: 'id', label: i18next.t('label.gantt-task-id') || 'ID', visible: true, width: '50', order: 1 },
63
63
  {
64
64
  name: 'section',
65
65
  label: i18next.t('label.gantt-task-section') || 'section',
66
66
  visible: true,
67
- width: '100px',
67
+ width: '100',
68
68
  order: 2
69
69
  },
70
70
  {
71
71
  name: 'title',
72
72
  label: i18next.t('label.gantt-task-title') || 'title',
73
73
  visible: true,
74
- width: '150px',
74
+ width: '150',
75
75
  order: 3
76
76
  },
77
- { name: 'type', label: i18next.t('label.gantt-task-type') || 'type', visible: true, width: '100px', order: 4 },
77
+ { name: 'type', label: i18next.t('label.gantt-task-type') || 'type', visible: true, width: '100', order: 4 },
78
78
  {
79
79
  name: 'startDate',
80
80
  label: i18next.t('label.gantt-task-start-date') || 'start date',
81
81
  visible: true,
82
- width: '100px',
82
+ width: '100',
83
83
  order: 5
84
84
  },
85
85
  {
86
86
  name: 'endDate',
87
87
  label: i18next.t('label.gantt-task-end-date') || 'end date',
88
88
  visible: true,
89
- width: '100px',
89
+ width: '100',
90
90
  order: 6
91
91
  },
92
- { name: 'tags', label: i18next.t('label.gantt-task-tags') || 'tags', visible: true, width: '100px', order: 7 },
92
+ { name: 'tags', label: i18next.t('label.gantt-task-tags') || 'tags', visible: true, width: '100', order: 7 },
93
93
  {
94
94
  name: 'progress',
95
95
  label: i18next.t('label.gantt-task-progress') || 'progress',
96
96
  visible: true,
97
- width: '100px',
97
+ width: '100',
98
98
  order: 8
99
99
  },
100
100
  {
101
101
  name: 'dependsOn',
102
102
  label: i18next.t('label.gantt-task-previous') || 'previous',
103
103
  visible: true,
104
- width: '100px',
104
+ width: '100',
105
105
  order: 9
106
106
  }
107
107
  ]
@@ -224,6 +224,10 @@ export default class GanttScene extends HTMLOverlayContainer {
224
224
  * 따라서, gantt의 경우에는 부모의 스케일의 역으로 transform해서, scale을 1로 맞추어야 한다.
225
225
  */
226
226
  rescale() {
227
+ if (!this.gantt) {
228
+ return
229
+ }
230
+
227
231
  var scale = getGlobalScale(this)
228
232
 
229
233
  var sx = 1 / scale.x