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

Sign up to get free protection for your applications and to get access to all the features.
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