@operato/scene-gantt 2.0.0-beta.3 → 7.0.0-rc.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,14 +0,0 @@
1
- declare const _default: {
2
- type: string;
3
- description: string;
4
- group: string;
5
- icon: string;
6
- model: {
7
- type: string;
8
- left: number;
9
- top: number;
10
- width: number;
11
- height: number;
12
- };
13
- };
14
- export default _default;
@@ -1,16 +0,0 @@
1
- const icon = new URL('../../icons/wellstek-gantt.png', import.meta.url).href;
2
- export default {
3
- type: 'wellstek-gantt',
4
- description: 'wellstek-gantt',
5
- group: 'etc',
6
- /* line|shape|textAndMedia|chartAndGauge|table|container|dataSource|IoT|3D|warehouse|form|etc */
7
- icon,
8
- model: {
9
- type: 'wellstek-gantt',
10
- left: 150,
11
- top: 150,
12
- width: 300,
13
- height: 200
14
- }
15
- };
16
- //# sourceMappingURL=wellstek-gantt.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"wellstek-gantt.js","sourceRoot":"","sources":["../../src/templates/wellstek-gantt.ts"],"names":[],"mappings":"AAAA,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,gCAAgC,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAA;AAE5E,eAAe;IACb,IAAI,EAAE,gBAAgB;IACtB,WAAW,EAAE,gBAAgB;IAC7B,KAAK,EAAE,KAAK;IACZ,gGAAgG;IAChG,IAAI;IACJ,KAAK,EAAE;QACL,IAAI,EAAE,gBAAgB;QACtB,IAAI,EAAE,GAAG;QACT,GAAG,EAAE,GAAG;QACR,KAAK,EAAE,GAAG;QACV,MAAM,EAAE,GAAG;KACZ;CACF,CAAA","sourcesContent":["const icon = new URL('../../icons/wellstek-gantt.png', import.meta.url).href\n\nexport default {\n type: 'wellstek-gantt',\n description: 'wellstek-gantt',\n group: 'etc',\n /* line|shape|textAndMedia|chartAndGauge|table|container|dataSource|IoT|3D|warehouse|form|etc */\n icon,\n model: {\n type: 'wellstek-gantt',\n left: 150,\n top: 150,\n width: 300,\n height: 200\n }\n}\n"]}
@@ -1,31 +0,0 @@
1
- import 'wellstek-gantt';
2
- import { HTMLOverlayContainer, Properties } from '@hatiolab/things-scene';
3
- export default class WellstekGanttScene extends HTMLOverlayContainer {
4
- static get nature(): {
5
- mutable: boolean;
6
- resizable: boolean;
7
- rotatable: boolean;
8
- properties: ({
9
- type: string;
10
- label: string;
11
- name: string;
12
- defaultValue: number;
13
- } | {
14
- type: string;
15
- label: string;
16
- name: string;
17
- defaultValue: string;
18
- } | {
19
- type: string;
20
- label: string;
21
- name: string;
22
- defaultValue: boolean;
23
- })[];
24
- };
25
- oncreate_element(element: HTMLElement): void;
26
- dispose(): void;
27
- setElementProperties(): void;
28
- reposition(): void;
29
- get tagName(): string;
30
- onchange(props: Properties): void;
31
- }
@@ -1,168 +0,0 @@
1
- /*
2
- * Copyright © HatioLab Inc. All rights reserved.
3
- */
4
- const NATURE = {
5
- mutable: false,
6
- resizable: true,
7
- rotatable: true,
8
- properties: [
9
- {
10
- type: 'number',
11
- label: 'row-height',
12
- name: 'rowHeight',
13
- defaultValue: 35
14
- },
15
- {
16
- type: 'number',
17
- label: 'row-padding',
18
- name: 'rowPadding',
19
- defaultValue: 5
20
- },
21
- {
22
- type: 'number',
23
- label: 'column-offset',
24
- name: 'columnOffset',
25
- defaultValue: 15
26
- },
27
- {
28
- type: 'number',
29
- label: 'magnet-offset',
30
- name: 'magnetOffset',
31
- defaultValue: 15
32
- },
33
- {
34
- type: 'number',
35
- label: 'table-width',
36
- name: 'tableWidth',
37
- defaultValue: 140
38
- },
39
- {
40
- type: 'number',
41
- label: 'min-width',
42
- name: 'minWidth',
43
- defaultValue: 1500
44
- },
45
- {
46
- type: 'string',
47
- label: 'column-unit',
48
- name: 'columnUnit',
49
- defaultValue: 'hour'
50
- },
51
- {
52
- type: 'boolean',
53
- label: 'fit-width',
54
- name: 'fitWidth',
55
- defaultValue: false
56
- },
57
- {
58
- type: 'date',
59
- label: 'from',
60
- name: 'from',
61
- defaultValue: '09/25/2023'
62
- },
63
- {
64
- type: 'date',
65
- label: 'to',
66
- name: 'to',
67
- defaultValue: '10/11/2023'
68
- }
69
- ]
70
- };
71
- import moment from 'moment';
72
- import 'wellstek-gantt';
73
- import { MomentWellstekGanttDateAdapter, WellstekGanttDependencies, WellstekGanttTable } from 'wellstek-gantt';
74
- import { data } from './data';
75
- import { Component, HTMLOverlayContainer } from '@hatiolab/things-scene';
76
- export default class WellstekGanttScene extends HTMLOverlayContainer {
77
- static get nature() {
78
- return NATURE;
79
- }
80
- oncreate_element(element) {
81
- element.style.width = '100%';
82
- element.style.height = '100%';
83
- }
84
- dispose() {
85
- super.dispose();
86
- }
87
- /*
88
- * 컴포넌트의 생성 또는 속성 변화 시에 호출되며,
89
- * 그에 따른 html element의 반영이 필요한 부분을 구현한다.
90
- *
91
- * ThingsComponent state => HTML element properties
92
- */
93
- setElementProperties() {
94
- const element = this.element;
95
- const { rowHeight = 35, rowPadding = 5, columnOffset = 15, magnetOffset = 15, tableWidth = 140, minWidth = 1500, columnUnit = 'hour', fitWidth = false, from, to } = this.state;
96
- const options = {
97
- rows: data.rows,
98
- tasks: data.tasks
99
- };
100
- element.dateAdapter = new MomentWellstekGanttDateAdapter(moment);
101
- element.rows = options.rows;
102
- element.tasks = options.tasks;
103
- element.columnOffset = columnOffset;
104
- element.magnetOffset = magnetOffset;
105
- element.rowHeight = rowHeight;
106
- element.rowPadding = rowPadding;
107
- element.headers = [
108
- { unit: 'day', format: 'MM-DD' },
109
- { unit: 'hour', format: 'HH:mm', offset: 12 }
110
- ];
111
- element.fitWidth = fitWidth;
112
- element.minWidth = minWidth;
113
- element.from = new Date(from).getTime();
114
- element.to = new Date(to).getTime();
115
- element.tableHeader = {
116
- // title: '테스트 라벨',
117
- // property: 'label',
118
- // isFilter: true
119
- // }
120
- // {
121
- title: 'Label9',
122
- property: 'label',
123
- width: 140,
124
- type: 'tree',
125
- isFilter: true
126
- };
127
- element.tableWidth = tableWidth;
128
- element.ganttTableModules = [WellstekGanttTable];
129
- element.ganttBodyModules = [WellstekGanttDependencies];
130
- element.columnUnit = columnUnit;
131
- }
132
- /*
133
- * 컴포넌트가 ready 상태가 되거나, 컴포넌트의 속성이 변화될 시 setElementProperties 뒤에 호출된다.
134
- * 변화에 따른 기본적인 html 속성이 super.reposition()에서 진행되고, 그 밖의 작업이 필요할 때, 오버라이드 한다.
135
- */
136
- reposition() {
137
- super.reposition();
138
- }
139
- get tagName() {
140
- return 'wellstek-gantt';
141
- }
142
- onchange(props) {
143
- ;
144
- [
145
- 'rowHeight',
146
- 'rowPadding',
147
- 'columnOffset',
148
- 'magnetOffset',
149
- 'tableWidth',
150
- 'minWidth',
151
- 'columnUnit',
152
- 'fitWidth'
153
- ].forEach(prop => {
154
- if (prop in props) {
155
- ;
156
- this.element[prop] = this.state[prop];
157
- }
158
- });
159
- ['from', 'to'].forEach(prop => {
160
- if (prop in props) {
161
- ;
162
- this.element[prop] = new Date(this.state[prop]).getTime();
163
- }
164
- });
165
- }
166
- }
167
- Component.register('wellstek-gantt', WellstekGanttScene);
168
- //# sourceMappingURL=wellstek-gantt.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"wellstek-gantt.js","sourceRoot":"","sources":["../src/wellstek-gantt.ts"],"names":[],"mappings":"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","sourcesContent":["/*\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: 'number',\n label: 'row-height',\n name: 'rowHeight',\n defaultValue: 35\n },\n {\n type: 'number',\n label: 'row-padding',\n name: 'rowPadding',\n defaultValue: 5\n },\n {\n type: 'number',\n label: 'column-offset',\n name: 'columnOffset',\n defaultValue: 15\n },\n {\n type: 'number',\n label: 'magnet-offset',\n name: 'magnetOffset',\n defaultValue: 15\n },\n {\n type: 'number',\n label: 'table-width',\n name: 'tableWidth',\n defaultValue: 140\n },\n {\n type: 'number',\n label: 'min-width',\n name: 'minWidth',\n defaultValue: 1500\n },\n {\n type: 'string',\n label: 'column-unit',\n name: 'columnUnit',\n defaultValue: 'hour'\n },\n {\n type: 'boolean',\n label: 'fit-width',\n name: 'fitWidth',\n defaultValue: false\n },\n {\n type: 'date',\n label: 'from',\n name: 'from',\n defaultValue: '09/25/2023'\n },\n {\n type: 'date',\n label: 'to',\n name: 'to',\n defaultValue: '10/11/2023'\n }\n ]\n}\n\nimport moment from 'moment'\nimport 'wellstek-gantt'\nimport { MomentWellstekGanttDateAdapter, WellstekGanttDependencies, WellstekGanttTable } from 'wellstek-gantt'\n\nimport { data } from './data'\n\nimport { Component, HTMLOverlayContainer, Properties, error } from '@hatiolab/things-scene'\n\nexport default class WellstekGanttScene extends HTMLOverlayContainer {\n static get nature() {\n return NATURE\n }\n\n oncreate_element(element: HTMLElement) {\n element.style.width = '100%'\n element.style.height = '100%'\n }\n\n dispose() {\n super.dispose()\n }\n\n /*\n * 컴포넌트의 생성 또는 속성 변화 시에 호출되며,\n * 그에 따른 html element의 반영이 필요한 부분을 구현한다.\n *\n * ThingsComponent state => HTML element properties\n */\n setElementProperties() {\n const element = this.element\n\n const {\n rowHeight = 35,\n rowPadding = 5,\n columnOffset = 15,\n magnetOffset = 15,\n tableWidth = 140,\n minWidth = 1500,\n columnUnit = 'hour',\n fitWidth = false,\n from,\n to\n } = this.state\n\n const options = {\n rows: data.rows,\n tasks: data.tasks\n }\n\n ;(element as any).dateAdapter = new MomentWellstekGanttDateAdapter(moment)\n ;(element as any).rows = options.rows\n ;(element as any).tasks = options.tasks\n ;(element as any).columnOffset = columnOffset\n ;(element as any).magnetOffset = magnetOffset\n ;(element as any).rowHeight = rowHeight\n ;(element as any).rowPadding = rowPadding\n ;(element as any).headers = [\n { unit: 'day', format: 'MM-DD' },\n { unit: 'hour', format: 'HH:mm', offset: 12 }\n ]\n ;(element as any).fitWidth = fitWidth\n ;(element as any).minWidth = minWidth\n ;(element as any).from = new Date(from).getTime()\n ;(element as any).to = new Date(to).getTime()\n ;(element as any).tableHeader = {\n // title: '테스트 라벨',\n // property: 'label',\n // isFilter: true\n // }\n // {\n title: 'Label9',\n property: 'label',\n width: 140,\n type: 'tree',\n isFilter: true\n }\n ;(element as any).tableWidth = tableWidth\n ;(element as any).ganttTableModules = [WellstekGanttTable]\n ;(element as any).ganttBodyModules = [WellstekGanttDependencies]\n ;(element as any).columnUnit = columnUnit\n }\n\n /*\n * 컴포넌트가 ready 상태가 되거나, 컴포넌트의 속성이 변화될 시 setElementProperties 뒤에 호출된다.\n * 변화에 따른 기본적인 html 속성이 super.reposition()에서 진행되고, 그 밖의 작업이 필요할 때, 오버라이드 한다.\n */\n reposition() {\n super.reposition()\n }\n\n get tagName() {\n return 'wellstek-gantt'\n }\n\n onchange(props: Properties) {\n ;[\n 'rowHeight',\n 'rowPadding',\n 'columnOffset',\n 'magnetOffset',\n 'tableWidth',\n 'minWidth',\n 'columnUnit',\n 'fitWidth'\n ].forEach(prop => {\n if (prop in props) {\n ;(this.element as any)[prop] = this.state[prop]\n }\n })\n ;['from', 'to'].forEach(prop => {\n if (prop in props) {\n ;(this.element as any)[prop] = new Date(this.state[prop]).getTime()\n }\n })\n }\n}\n\nComponent.register('wellstek-gantt', WellstekGanttScene)\n"]}