@syncfusion/ej2-gantt 19.4.56 → 20.1.47-1460716

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (211) hide show
  1. package/CHANGELOG.md +1072 -1060
  2. package/README.md +75 -75
  3. package/dist/ej2-gantt.umd.min.js +1 -10
  4. package/dist/ej2-gantt.umd.min.js.map +1 -1
  5. package/dist/es6/ej2-gantt.es2015.js +274 -176
  6. package/dist/es6/ej2-gantt.es2015.js.map +1 -1
  7. package/dist/es6/ej2-gantt.es5.js +642 -534
  8. package/dist/es6/ej2-gantt.es5.js.map +1 -1
  9. package/dist/global/ej2-gantt.min.js +1 -10
  10. package/dist/global/ej2-gantt.min.js.map +1 -1
  11. package/dist/global/index.d.ts +0 -9
  12. package/dist/ts/components.ts +4 -0
  13. package/dist/ts/gantt/actions/actions.ts +18 -0
  14. package/dist/ts/gantt/actions/cell-edit.ts +606 -0
  15. package/dist/ts/gantt/actions/chart-scroll.ts +167 -0
  16. package/dist/ts/gantt/actions/column-menu.ts +35 -0
  17. package/dist/ts/gantt/actions/column-reorder.ts +52 -0
  18. package/dist/ts/gantt/actions/column-resize.ts +52 -0
  19. package/dist/ts/gantt/actions/connector-line-edit.ts +829 -0
  20. package/dist/ts/gantt/actions/context-menu.ts +754 -0
  21. package/dist/ts/gantt/actions/day-markers.ts +80 -0
  22. package/dist/ts/gantt/actions/dependency.ts +692 -0
  23. package/dist/ts/gantt/actions/dialog-edit.ts +2208 -0
  24. package/dist/ts/gantt/actions/edit.ts +3499 -0
  25. package/dist/ts/gantt/actions/excel-export.ts +61 -0
  26. package/dist/ts/gantt/actions/filter.ts +302 -0
  27. package/dist/ts/gantt/actions/keyboard.ts +306 -0
  28. package/dist/ts/gantt/actions/pdf-export.ts +214 -0
  29. package/dist/ts/gantt/actions/rowdragdrop.ts +839 -0
  30. package/dist/ts/gantt/actions/selection.ts +536 -0
  31. package/dist/ts/gantt/actions/sort.ts +98 -0
  32. package/dist/ts/gantt/actions/taskbar-edit.ts +1940 -0
  33. package/dist/ts/gantt/actions/toolbar.ts +489 -0
  34. package/dist/ts/gantt/actions/virtual-scroll.ts +60 -0
  35. package/dist/ts/gantt/base/common.ts +9 -0
  36. package/dist/ts/gantt/base/constant.ts +13 -0
  37. package/dist/ts/gantt/base/css-constants.ts +148 -0
  38. package/dist/ts/gantt/base/date-processor.ts +1257 -0
  39. package/dist/ts/gantt/base/enum.ts +372 -0
  40. package/dist/ts/gantt/base/gantt-chart.ts +1248 -0
  41. package/dist/ts/gantt/base/gantt.ts +4069 -0
  42. package/dist/ts/gantt/base/interface.ts +955 -0
  43. package/dist/ts/gantt/base/splitter.ts +174 -0
  44. package/dist/ts/gantt/base/task-processor.ts +2217 -0
  45. package/dist/ts/gantt/base/tree-grid.ts +694 -0
  46. package/dist/ts/gantt/base/utils.ts +208 -0
  47. package/dist/ts/gantt/export/export-helper.ts +552 -0
  48. package/dist/ts/gantt/export/pdf-base/dictionary.ts +152 -0
  49. package/dist/ts/gantt/export/pdf-base/pdf-borders.ts +277 -0
  50. package/dist/ts/gantt/export/pdf-base/pdf-grid-table.ts +901 -0
  51. package/dist/ts/gantt/export/pdf-base/pdf-style/gantt-theme.ts +131 -0
  52. package/dist/ts/gantt/export/pdf-base/pdf-style/style.ts +91 -0
  53. package/dist/ts/gantt/export/pdf-base/treegrid-layouter.ts +414 -0
  54. package/dist/ts/gantt/export/pdf-connector-line.ts +422 -0
  55. package/dist/ts/gantt/export/pdf-gantt.ts +282 -0
  56. package/dist/ts/gantt/export/pdf-taskbar.ts +395 -0
  57. package/dist/ts/gantt/export/pdf-timeline.ts +202 -0
  58. package/dist/ts/gantt/export/pdf-treegrid.ts +406 -0
  59. package/dist/ts/gantt/models/add-dialog-field-settings.ts +33 -0
  60. package/dist/ts/gantt/models/column.ts +464 -0
  61. package/dist/ts/gantt/models/day-working-time.ts +22 -0
  62. package/dist/ts/gantt/models/edit-dialog-field-settings.ts +33 -0
  63. package/dist/ts/gantt/models/edit-settings.ts +79 -0
  64. package/dist/ts/gantt/models/event-marker.ts +27 -0
  65. package/dist/ts/gantt/models/filter-settings.ts +53 -0
  66. package/dist/ts/gantt/models/holiday.ts +34 -0
  67. package/dist/ts/gantt/models/label-settings.ts +30 -0
  68. package/dist/ts/gantt/models/models.ts +36 -0
  69. package/dist/ts/gantt/models/resource-fields.ts +38 -0
  70. package/dist/ts/gantt/models/search-settings.ts +77 -0
  71. package/dist/ts/gantt/models/selection-settings.ts +56 -0
  72. package/dist/ts/gantt/models/sort-settings.ts +50 -0
  73. package/dist/ts/gantt/models/splitter-settings.ts +47 -0
  74. package/dist/ts/gantt/models/task-fields.ts +171 -0
  75. package/dist/ts/gantt/models/timeline-settings.ts +112 -0
  76. package/dist/ts/gantt/models/tooltip-settings.ts +46 -0
  77. package/dist/ts/gantt/renderer/chart-rows.ts +1838 -0
  78. package/dist/ts/gantt/renderer/connector-line.ts +1025 -0
  79. package/dist/ts/gantt/renderer/edit-tooltip.ts +228 -0
  80. package/dist/ts/gantt/renderer/event-marker.ts +96 -0
  81. package/dist/ts/gantt/renderer/nonworking-day.ts +205 -0
  82. package/dist/ts/gantt/renderer/render.ts +5 -0
  83. package/dist/ts/gantt/renderer/timeline.ts +1397 -0
  84. package/dist/ts/gantt/renderer/tooltip.ts +450 -0
  85. package/dist/ts/gantt/renderer/virtual-content-render.ts +50 -0
  86. package/license +9 -9
  87. package/package.json +80 -80
  88. package/src/gantt/actions/cell-edit.js +2 -1
  89. package/src/gantt/actions/dialog-edit.js +2 -1
  90. package/src/gantt/actions/edit.js +11 -2
  91. package/src/gantt/actions/rowdragdrop.js +37 -15
  92. package/src/gantt/actions/taskbar-edit.js +24 -24
  93. package/src/gantt/base/date-processor.js +0 -1
  94. package/src/gantt/base/gantt-chart.js +9 -4
  95. package/src/gantt/base/gantt-model.d.ts +779 -779
  96. package/src/gantt/base/gantt.d.ts +27 -27
  97. package/src/gantt/base/gantt.js +22 -22
  98. package/src/gantt/base/splitter.js +1 -0
  99. package/src/gantt/base/task-processor.js +13 -13
  100. package/src/gantt/base/tree-grid.js +3 -1
  101. package/src/gantt/export/pdf-base/treegrid-layouter.js +13 -13
  102. package/src/gantt/export/pdf-connector-line.js +11 -11
  103. package/src/gantt/export/pdf-gantt.js +24 -24
  104. package/src/gantt/export/pdf-taskbar.js +11 -11
  105. package/src/gantt/export/pdf-treegrid.js +13 -13
  106. package/src/gantt/models/add-dialog-field-settings-model.d.ts +21 -21
  107. package/src/gantt/models/add-dialog-field-settings.js +19 -19
  108. package/src/gantt/models/day-working-time-model.d.ts +11 -11
  109. package/src/gantt/models/day-working-time.js +19 -19
  110. package/src/gantt/models/edit-dialog-field-settings-model.d.ts +21 -21
  111. package/src/gantt/models/edit-dialog-field-settings.js +19 -19
  112. package/src/gantt/models/edit-settings-model.d.ts +50 -50
  113. package/src/gantt/models/edit-settings.js +19 -19
  114. package/src/gantt/models/event-marker-model.d.ts +16 -16
  115. package/src/gantt/models/event-marker.js +19 -19
  116. package/src/gantt/models/filter-settings-model.d.ts +34 -34
  117. package/src/gantt/models/filter-settings.js +19 -19
  118. package/src/gantt/models/holiday-model.d.ts +21 -21
  119. package/src/gantt/models/holiday.js +19 -19
  120. package/src/gantt/models/label-settings-model.d.ts +16 -16
  121. package/src/gantt/models/label-settings.js +19 -19
  122. package/src/gantt/models/resource-fields-model.d.ts +21 -21
  123. package/src/gantt/models/resource-fields.js +19 -19
  124. package/src/gantt/models/search-settings-model.d.ts +56 -56
  125. package/src/gantt/models/search-settings.js +19 -19
  126. package/src/gantt/models/selection-settings-model.d.ts +35 -35
  127. package/src/gantt/models/selection-settings.js +19 -19
  128. package/src/gantt/models/sort-settings-model.d.ts +24 -24
  129. package/src/gantt/models/sort-settings.js +19 -19
  130. package/src/gantt/models/splitter-settings-model.d.ts +30 -30
  131. package/src/gantt/models/splitter-settings.js +19 -19
  132. package/src/gantt/models/task-fields-model.d.ts +110 -110
  133. package/src/gantt/models/task-fields.js +19 -19
  134. package/src/gantt/models/timeline-settings-model.d.ts +71 -71
  135. package/src/gantt/models/timeline-settings.js +19 -19
  136. package/src/gantt/models/tooltip-settings-model.d.ts +26 -26
  137. package/src/gantt/models/tooltip-settings.js +19 -19
  138. package/src/gantt/renderer/chart-rows.js +49 -37
  139. package/src/gantt/renderer/connector-line.js +22 -18
  140. package/src/gantt/renderer/event-marker.js +1 -0
  141. package/src/gantt/renderer/nonworking-day.js +13 -6
  142. package/src/gantt/renderer/timeline.d.ts +1 -0
  143. package/src/gantt/renderer/timeline.js +48 -12
  144. package/src/gantt/renderer/tooltip.js +11 -3
  145. package/styles/bootstrap-dark.css +442 -427
  146. package/styles/bootstrap.css +442 -433
  147. package/styles/bootstrap4.css +454 -479
  148. package/styles/bootstrap5-dark.css +457 -433
  149. package/styles/bootstrap5.css +457 -433
  150. package/styles/fabric-dark.css +438 -421
  151. package/styles/fabric.css +445 -428
  152. package/styles/fluent-dark.css +1938 -0
  153. package/styles/fluent-dark.scss +1 -0
  154. package/styles/fluent.css +1938 -0
  155. package/styles/fluent.scss +1 -0
  156. package/styles/gantt/_all.scss +2 -2
  157. package/styles/gantt/_bootstrap-dark-definition.scss +210 -156
  158. package/styles/gantt/_bootstrap-definition.scss +211 -157
  159. package/styles/gantt/_bootstrap4-definition.scss +213 -158
  160. package/styles/gantt/_bootstrap5-definition.scss +215 -162
  161. package/styles/gantt/_fabric-dark-definition.scss +211 -157
  162. package/styles/gantt/_fabric-definition.scss +211 -157
  163. package/styles/gantt/_fluent-dark-definition.scss +1 -0
  164. package/styles/gantt/_fluent-definition.scss +215 -162
  165. package/styles/gantt/_fusionnew-definition.scss +214 -0
  166. package/styles/gantt/_highcontrast-definition.scss +211 -157
  167. package/styles/gantt/_highcontrast-light-definition.scss +211 -157
  168. package/styles/gantt/_layout.scss +1446 -1027
  169. package/styles/gantt/_material-dark-definition.scss +212 -157
  170. package/styles/gantt/_material-definition.scss +212 -157
  171. package/styles/gantt/_material3-definition.scss +215 -0
  172. package/styles/gantt/_tailwind-definition.scss +215 -161
  173. package/styles/gantt/_theme.scss +702 -668
  174. package/styles/gantt/bootstrap-dark.css +442 -427
  175. package/styles/gantt/bootstrap.css +442 -433
  176. package/styles/gantt/bootstrap4.css +454 -479
  177. package/styles/gantt/bootstrap5-dark.css +457 -433
  178. package/styles/gantt/bootstrap5.css +457 -433
  179. package/styles/gantt/fabric-dark.css +438 -421
  180. package/styles/gantt/fabric.css +445 -428
  181. package/styles/gantt/fluent-dark.css +1938 -0
  182. package/styles/gantt/fluent-dark.scss +22 -0
  183. package/styles/gantt/fluent.css +1938 -0
  184. package/styles/gantt/fluent.scss +22 -0
  185. package/styles/gantt/highcontrast-light.css +405 -405
  186. package/styles/gantt/highcontrast.css +444 -456
  187. package/styles/gantt/icons/_bootstrap-dark.scss +124 -113
  188. package/styles/gantt/icons/_bootstrap.scss +124 -113
  189. package/styles/gantt/icons/_bootstrap4.scss +124 -113
  190. package/styles/gantt/icons/_bootstrap5.scss +124 -112
  191. package/styles/gantt/icons/_fabric-dark.scss +124 -112
  192. package/styles/gantt/icons/_fabric.scss +124 -112
  193. package/styles/gantt/icons/_fluent-dark.scss +1 -0
  194. package/styles/gantt/icons/_fluent.scss +124 -112
  195. package/styles/gantt/icons/_fusionnew.scss +120 -0
  196. package/styles/gantt/icons/_highcontrast.scss +124 -112
  197. package/styles/gantt/icons/_material-dark.scss +124 -112
  198. package/styles/gantt/icons/_material.scss +124 -112
  199. package/styles/gantt/icons/_material3.scss +124 -0
  200. package/styles/gantt/icons/_tailwind-dark.scss +124 -113
  201. package/styles/gantt/icons/_tailwind.scss +124 -113
  202. package/styles/gantt/material-dark.css +446 -417
  203. package/styles/gantt/material.css +445 -419
  204. package/styles/gantt/tailwind-dark.css +452 -482
  205. package/styles/gantt/tailwind.css +449 -479
  206. package/styles/highcontrast-light.css +405 -405
  207. package/styles/highcontrast.css +444 -456
  208. package/styles/material-dark.css +446 -417
  209. package/styles/material.css +445 -419
  210. package/styles/tailwind-dark.css +452 -482
  211. package/styles/tailwind.css +449 -479
@@ -0,0 +1,214 @@
1
+ import { PdfGanttTheme } from './../export/pdf-base/pdf-style/gantt-theme';
2
+ import { IGanttStyle, PdfExportProperties, IGanttData } from './../base/interface';
3
+ import { PdfTreeGridLayoutFormat, PdfTreeGridLayoutResult } from './../export/pdf-base/index';
4
+ import { isNullOrUndefined, getValue, extend } from '@syncfusion/ej2-base';
5
+ import { Gantt } from '../base/gantt';
6
+ import { ExportHelper } from '../export/export-helper';
7
+ import {
8
+ PdfDocument, PdfSection, PdfPage, PdfPageSettings, PdfPageOrientation, SizeF,
9
+ PdfLayoutBreakType
10
+ } from '@syncfusion/ej2-pdf-export';
11
+ import { PdfPageSize } from '../base/enum';
12
+ import { PdfGantt } from '../export/pdf-gantt';
13
+
14
+ /**
15
+ *
16
+ * @hidden
17
+ */
18
+ export class PdfExport {
19
+ private parent: Gantt;
20
+ private helper: ExportHelper;
21
+ private pdfDocument: PdfDocument;
22
+ public gantt: PdfGantt;
23
+ public isPdfExport: boolean = false;
24
+ /**
25
+ * @param {Gantt} parent .
26
+ * @hidden
27
+ */
28
+ constructor(parent?: Gantt) {
29
+ this.parent = parent;
30
+ this.helper = new ExportHelper(this.parent);
31
+ this.pdfDocument = undefined;
32
+ }
33
+ /**
34
+ * @returns {string} .
35
+ */
36
+ private getModuleName(): string {
37
+ return 'pdfExport';
38
+ }
39
+ /**
40
+ * To destroy Pdf export module.
41
+ *
42
+ * @returns {void} .
43
+ * @private
44
+ */
45
+ public destroy(): void {
46
+ // Destroy Method
47
+ }
48
+
49
+ private initGantt(): void {
50
+ this.pdfDocument = undefined;
51
+ this.gantt = new PdfGantt(this.parent);
52
+ // this.gantt.exportValueFormatter = new ExportValueFormatter(this.parent.locale);
53
+ }
54
+ /**
55
+ * @param {PdfExportProperties} pdfExportProperties .
56
+ * @param {boolean} isMultipleExport .
57
+ * @param {object} pdfDoc .
58
+ * @returns {Promise<Object>} .
59
+ */
60
+ public export(pdfExportProperties?: PdfExportProperties, isMultipleExport?: boolean, pdfDoc?: Object): Promise<Object> {
61
+ const args: Object = {
62
+ requestType: 'beforePdfExport',
63
+ ganttObject: this.parent,
64
+ cancel: false
65
+ };
66
+ this.parent.trigger('beforePdfExport', args);
67
+ if (getValue('cancel', args)) {
68
+ /* eslint-disable-next-line */
69
+ return new Promise((resolve: Function, reject: Function) => {
70
+ return resolve();
71
+ });
72
+ }
73
+ /* eslint-disable-next-line */
74
+ return new Promise((resolve: Function, reject: Function) => {
75
+ this.exportWithData(pdfDoc, resolve, pdfExportProperties, isMultipleExport);
76
+ });
77
+ }
78
+
79
+ private exportWithData(pdfDoc: Object, resolve: Function, pdfExportProperties: PdfExportProperties, isMultipleExport: boolean): void {
80
+ let data: IGanttData[] = [];
81
+ if (isNullOrUndefined(pdfExportProperties)) {
82
+ pdfExportProperties = {};
83
+ }
84
+ if (pdfExportProperties.exportType === 'CurrentViewData') {
85
+ data = this.parent.currentViewData;
86
+ } else {
87
+ data = this.parent.flatData;
88
+ }
89
+ this.initGantt();
90
+ if (!isNullOrUndefined(pdfDoc)) {
91
+ this.pdfDocument = <PdfDocument>pdfDoc;
92
+ } else {
93
+ this.pdfDocument = new PdfDocument();
94
+ }
95
+ this.processExport(data, pdfExportProperties, isMultipleExport).then(() => {
96
+ this.parent.trigger('pdfExportComplete', {});
97
+ resolve(this.pdfDocument);
98
+ });
99
+ }
100
+ private processExport(data: IGanttData[], pdfExportProperties: PdfExportProperties, isMultipleExport: boolean): Promise<Object> {
101
+ const section: PdfSection = this.pdfDocument.sections.add() as PdfSection;
102
+ this.processSectionExportProperties(section, pdfExportProperties);
103
+ const pdfPage: PdfPage = section.pages.add();
104
+ /* eslint-disable-next-line */
105
+ return new Promise((resolve: Function, reject: Function) => {
106
+ this.helper.processGridExport(data, this.gantt, pdfExportProperties);
107
+ this.helper.initializePdf(this.pdfDocument);
108
+ resolve();
109
+ }).then(() => {
110
+ const format: PdfTreeGridLayoutFormat = new PdfTreeGridLayoutFormat();
111
+ format.break = PdfLayoutBreakType.FitElement;
112
+ const layouter: PdfTreeGridLayoutResult = this.gantt.drawGrid(pdfPage, 0, 0, format);
113
+ this.gantt.drawChart(layouter);
114
+ if (!isMultipleExport) {
115
+ // save the PDF
116
+ if (!isNullOrUndefined(pdfExportProperties) && pdfExportProperties.fileName) {
117
+ this.pdfDocument.save(pdfExportProperties.fileName);
118
+ } else {
119
+ this.pdfDocument.save('Export.pdf');
120
+ }
121
+ this.pdfDocument.destroy();
122
+ }
123
+ return this.pdfDocument;
124
+ });
125
+ }
126
+
127
+ private processSectionExportProperties(section: PdfSection, pdfExportProperties: PdfExportProperties): void {
128
+ //To set section page size and page orientation.
129
+ if (!isNullOrUndefined(pdfExportProperties)) {
130
+ const pdfPageSettings: PdfPageSettings = new PdfPageSettings();
131
+ if (!isNullOrUndefined(pdfExportProperties.pageOrientation && pdfExportProperties.pageOrientation === 'Portrait')) {
132
+ pdfPageSettings.orientation = PdfPageOrientation.Portrait;
133
+ } else {
134
+ pdfPageSettings.orientation = PdfPageOrientation.Landscape;
135
+ }
136
+ if (!isNullOrUndefined(pdfExportProperties.pageSize)) {
137
+ pdfPageSettings.size = this.getPageSize(pdfExportProperties.pageSize);
138
+ }
139
+ section.setPageSettings(pdfPageSettings);
140
+
141
+ if (!isNullOrUndefined(pdfExportProperties.ganttStyle)) {
142
+ const defaultGanttTheme: IGanttStyle = new PdfGanttTheme(pdfExportProperties.theme).style;
143
+ this.gantt.ganttStyle = extend({}, defaultGanttTheme, pdfExportProperties.ganttStyle, true);
144
+ } else {
145
+ this.gantt.ganttStyle = new PdfGanttTheme(pdfExportProperties.theme).style;
146
+ }
147
+ } else {
148
+ this.gantt.ganttStyle = new PdfGanttTheme(pdfExportProperties.theme).style;
149
+ }
150
+ }
151
+
152
+ private getPageSize(pageSize: PdfPageSize): SizeF {
153
+ switch (pageSize) {
154
+ case 'Letter':
155
+ return new SizeF(612, 792);
156
+ case 'Note':
157
+ return new SizeF(540, 720);
158
+ case 'Legal':
159
+ return new SizeF(612, 1008);
160
+ case 'A0':
161
+ return new SizeF(2380, 3368);
162
+ case 'A1':
163
+ return new SizeF(1684, 2380);
164
+ case 'A2':
165
+ return new SizeF(1190, 1684);
166
+ case 'A3':
167
+ return new SizeF(842, 1190);
168
+ case 'A5':
169
+ return new SizeF(421, 595);
170
+ case 'A6':
171
+ return new SizeF(297, 421);
172
+ case 'A7':
173
+ return new SizeF(210, 297);
174
+ case 'A8':
175
+ return new SizeF(148, 210);
176
+ case 'A9':
177
+ return new SizeF(105, 148);
178
+ // case 'A10':
179
+ // return new SizeF(74, 105);
180
+ case 'B0':
181
+ return new SizeF(2836, 4008);
182
+ case 'B1':
183
+ return new SizeF(2004, 2836);
184
+ case 'B2':
185
+ return new SizeF(1418, 2004);
186
+ case 'B3':
187
+ return new SizeF(1002, 1418);
188
+ case 'B4':
189
+ return new SizeF(709, 1002);
190
+ case 'B5':
191
+ return new SizeF(501, 709);
192
+ case 'Archa':
193
+ return new SizeF(648, 864);
194
+ case 'Archb':
195
+ return new SizeF(864, 1296);
196
+ case 'Archc':
197
+ return new SizeF(1296, 1728);
198
+ case 'Archd':
199
+ return new SizeF(1728, 2592);
200
+ case 'Arche':
201
+ return new SizeF(2592, 3456);
202
+ case 'Flsa':
203
+ return new SizeF(612, 936);
204
+ case 'HalfLetter':
205
+ return new SizeF(396, 612);
206
+ case 'Letter11x17':
207
+ return new SizeF(792, 1224);
208
+ case 'Ledger':
209
+ return new SizeF(1224, 792);
210
+ default:
211
+ return new SizeF(595, 842);
212
+ }
213
+ }
214
+ }