@visactor/vtable-gantt 1.11.2-alpha.3 → 1.11.2

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.
@@ -33,7 +33,7 @@ export class TimelineHeader {
33
33
  y += rowHeader.attribute.height, rowHeader.name = "row-header", dateHeader.addChild(rowHeader);
34
34
  const {unit: unit, timelineDates: timelineDates, customLayout: customLayout} = scene._gantt.parsedOptions.sortedTimelineScales[i];
35
35
  let x = 0;
36
- for (let j = 0; j < timelineDates.length; j++) {
36
+ for (let j = 0; j < (null == timelineDates ? void 0 : timelineDates.length); j++) {
37
37
  const {days: days, endDate: endDate, startDate: startDate, title: title, dateIndex: dateIndex} = timelineDates[j], date = new Group({
38
38
  x: x,
39
39
  y: 0,
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/scenegraph/timeline-header.ts"],"names":[],"mappings":"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","file":"timeline-header.js","sourcesContent":["import { isValid } from '@visactor/vutils';\nimport { getTextPos } from '../gantt-helper';\nimport { toBoxArray } from '../tools/util';\nimport type { Scenegraph } from './scenegraph';\nimport { Group, Text, createLine } from '@visactor/vtable/es/vrender';\nexport class TimelineHeader {\n group: Group;\n _scene: Scenegraph;\n constructor(scene: Scenegraph) {\n this._scene = scene;\n this.initNodes();\n }\n initNodes() {\n const { _scene: scene } = this;\n const dateHeader = new Group({\n x: 0,\n y: 0,\n width: scene._gantt._getAllColsWidth(), //width - 2,\n height: scene._gantt.getAllHeaderRowsHeight(),\n clip: true,\n pickable: false\n // fill: 'purple',\n // stroke: 'green',\n // lineWidth: 2\n });\n this.group = dateHeader;\n dateHeader.name = 'date-header-container';\n scene.tableGroup.addChild(this.group);\n\n let y = 0;\n for (let i = 0; i < scene._gantt.timeLineHeaderLevel; i++) {\n const rowHeader = new Group({\n x: 0,\n y,\n width: scene._gantt._getAllColsWidth(),\n height: scene._gantt.parsedOptions.timeLineHeaderRowHeights[i],\n clip: false\n });\n y += rowHeader.attribute.height;\n rowHeader.name = 'row-header';\n dateHeader.addChild(rowHeader);\n\n const { unit, timelineDates, customLayout } = scene._gantt.parsedOptions.sortedTimelineScales[i];\n let x = 0;\n for (let j = 0; j < timelineDates.length; j++) {\n const { days, endDate, startDate, title, dateIndex } = timelineDates[j];\n const date = new Group({\n x,\n y: 0,\n width: scene._gantt.parsedOptions.colWidthPerDay * days,\n height: rowHeader.attribute.height,\n clip: false,\n fill: scene._gantt.parsedOptions.timelineHeaderBackgroundColor\n });\n date.name = 'date-header-cell';\n // const rect = createRect({\n // x: 0,\n // y: 0,\n // width: scene._gantt.parsedOptions.colWidthPerDay * timelineDates[j].days,\n // height: scene._gantt.parsedOptions.headerRowHeight,\n // fill: scene._gantt.parsedOptions.timelineHeaderStyle?.backgroundColor\n // });\n // date.appendChild(rect);\n let rootContainer;\n let renderDefaultText = true;\n const width = scene._gantt.parsedOptions.colWidthPerDay * timelineDates[j].days;\n const height = rowHeader.attribute.height;\n if (customLayout) {\n let customLayoutObj;\n if (typeof customLayout === 'function') {\n const arg = {\n width,\n height,\n index: j,\n startDate,\n endDate,\n days,\n dateIndex,\n title,\n ganttInstance: this._scene._gantt\n };\n customLayoutObj = customLayout(arg);\n } else {\n customLayoutObj = customLayout;\n }\n if (customLayoutObj) {\n // if (customLayoutObj.rootContainer) {\n // customLayoutObj.rootContainer = decodeReactDom(customLayoutObj.rootContainer);\n // }\n rootContainer = customLayoutObj.rootContainer;\n renderDefaultText = customLayoutObj.renderDefaultText ?? false;\n rootContainer.name = 'task-bar-custom-render';\n }\n rootContainer && date.appendChild(rootContainer);\n }\n if (renderDefaultText) {\n const {\n padding,\n textAlign,\n textBaseline,\n textOverflow,\n fontSize,\n fontWeight,\n color,\n strokeColor,\n textStick\n } = scene._gantt.parsedOptions.timelineHeaderStyles[i];\n\n const position = getTextPos(toBoxArray(padding), textAlign, textBaseline, width, height);\n const text = new Text({\n x: position.x,\n y: position.y,\n maxLineWidth: width,\n // width: scene._gantt.parsedOptions.colWidthPerDay * timelineDates[j].days,\n heightLimit: height,\n // clip: true,\n pickable: true,\n text: title.toLocaleString(),\n fontSize: fontSize,\n\n fontWeight: fontWeight,\n fill: color,\n stroke: strokeColor,\n lineWidth: 2,\n textAlign,\n textBaseline,\n ellipsis:\n textOverflow === 'clip'\n ? ''\n : textOverflow === 'ellipsis'\n ? '...'\n : isValid(textOverflow)\n ? textOverflow\n : undefined\n });\n (text.attribute as any).textStick = textStick;\n date.appendChild(text);\n text.name = 'date-header-cell-text';\n }\n rowHeader.addChild(date);\n\n if (j > 0) {\n const line = createLine({\n pickable: false,\n stroke: scene._gantt.parsedOptions.timelineHeaderVerticalLineStyle?.lineColor,\n lineWidth: scene._gantt.parsedOptions.timelineHeaderVerticalLineStyle?.lineWidth,\n points: [\n { x: scene._gantt.parsedOptions.timelineHeaderVerticalLineStyle?.lineWidth & 1 ? 0.5 : 0, y: 0 },\n {\n x: scene._gantt.parsedOptions.timelineHeaderVerticalLineStyle?.lineWidth & 1 ? 0.5 : 0,\n y: rowHeader.attribute.height\n }\n ]\n });\n date.appendChild(line);\n }\n x += width;\n }\n //创建表头分割线 水平分割线 TODO\n if (i > 0) {\n const line = createLine({\n pickable: false,\n stroke: scene._gantt.parsedOptions.timelineHeaderHorizontalLineStyle?.lineColor,\n lineWidth: scene._gantt.parsedOptions.timelineHeaderHorizontalLineStyle?.lineWidth,\n points: [\n { x: 0, y: scene._gantt.parsedOptions.timelineHeaderHorizontalLineStyle?.lineWidth & 1 ? 0.5 : 0 },\n {\n x: scene._gantt._getAllColsWidth(),\n y: scene._gantt.parsedOptions.timelineHeaderHorizontalLineStyle?.lineWidth & 1 ? 0.5 : 0\n }\n ]\n });\n rowHeader.addChild(line);\n }\n }\n }\n setX(x: number) {\n this.group.setAttribute('x', x);\n }\n setY(y: number) {\n this.group.setAttribute('y', y);\n }\n resize() {\n this.group.setAttribute('width', this.group.attribute?.width ?? 0);\n this.group.setAttribute('height', this.group.attribute?.height ?? 0);\n }\n\n refresh() {\n this.group?.parent.removeChild(this.group);\n this.initNodes();\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/scenegraph/timeline-header.ts"],"names":[],"mappings":"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","file":"timeline-header.js","sourcesContent":["import { isValid } from '@visactor/vutils';\nimport { getTextPos } from '../gantt-helper';\nimport { toBoxArray } from '../tools/util';\nimport type { Scenegraph } from './scenegraph';\nimport { Group, Text, createLine } from '@visactor/vtable/es/vrender';\nexport class TimelineHeader {\n group: Group;\n _scene: Scenegraph;\n constructor(scene: Scenegraph) {\n this._scene = scene;\n this.initNodes();\n }\n initNodes() {\n const { _scene: scene } = this;\n const dateHeader = new Group({\n x: 0,\n y: 0,\n width: scene._gantt._getAllColsWidth(), //width - 2,\n height: scene._gantt.getAllHeaderRowsHeight(),\n clip: true,\n pickable: false\n // fill: 'purple',\n // stroke: 'green',\n // lineWidth: 2\n });\n this.group = dateHeader;\n dateHeader.name = 'date-header-container';\n scene.tableGroup.addChild(this.group);\n\n let y = 0;\n for (let i = 0; i < scene._gantt.timeLineHeaderLevel; i++) {\n const rowHeader = new Group({\n x: 0,\n y,\n width: scene._gantt._getAllColsWidth(),\n height: scene._gantt.parsedOptions.timeLineHeaderRowHeights[i],\n clip: false\n });\n y += rowHeader.attribute.height;\n rowHeader.name = 'row-header';\n dateHeader.addChild(rowHeader);\n\n const { unit, timelineDates, customLayout } = scene._gantt.parsedOptions.sortedTimelineScales[i];\n let x = 0;\n for (let j = 0; j < timelineDates?.length; j++) {\n const { days, endDate, startDate, title, dateIndex } = timelineDates[j];\n const date = new Group({\n x,\n y: 0,\n width: scene._gantt.parsedOptions.colWidthPerDay * days,\n height: rowHeader.attribute.height,\n clip: false,\n fill: scene._gantt.parsedOptions.timelineHeaderBackgroundColor\n });\n date.name = 'date-header-cell';\n // const rect = createRect({\n // x: 0,\n // y: 0,\n // width: scene._gantt.parsedOptions.colWidthPerDay * timelineDates[j].days,\n // height: scene._gantt.parsedOptions.headerRowHeight,\n // fill: scene._gantt.parsedOptions.timelineHeaderStyle?.backgroundColor\n // });\n // date.appendChild(rect);\n let rootContainer;\n let renderDefaultText = true;\n const width = scene._gantt.parsedOptions.colWidthPerDay * timelineDates[j].days;\n const height = rowHeader.attribute.height;\n if (customLayout) {\n let customLayoutObj;\n if (typeof customLayout === 'function') {\n const arg = {\n width,\n height,\n index: j,\n startDate,\n endDate,\n days,\n dateIndex,\n title,\n ganttInstance: this._scene._gantt\n };\n customLayoutObj = customLayout(arg);\n } else {\n customLayoutObj = customLayout;\n }\n if (customLayoutObj) {\n // if (customLayoutObj.rootContainer) {\n // customLayoutObj.rootContainer = decodeReactDom(customLayoutObj.rootContainer);\n // }\n rootContainer = customLayoutObj.rootContainer;\n renderDefaultText = customLayoutObj.renderDefaultText ?? false;\n rootContainer.name = 'task-bar-custom-render';\n }\n rootContainer && date.appendChild(rootContainer);\n }\n if (renderDefaultText) {\n const {\n padding,\n textAlign,\n textBaseline,\n textOverflow,\n fontSize,\n fontWeight,\n color,\n strokeColor,\n textStick\n } = scene._gantt.parsedOptions.timelineHeaderStyles[i];\n\n const position = getTextPos(toBoxArray(padding), textAlign, textBaseline, width, height);\n const text = new Text({\n x: position.x,\n y: position.y,\n maxLineWidth: width,\n // width: scene._gantt.parsedOptions.colWidthPerDay * timelineDates[j].days,\n heightLimit: height,\n // clip: true,\n pickable: true,\n text: title.toLocaleString(),\n fontSize: fontSize,\n\n fontWeight: fontWeight,\n fill: color,\n stroke: strokeColor,\n lineWidth: 2,\n textAlign,\n textBaseline,\n ellipsis:\n textOverflow === 'clip'\n ? ''\n : textOverflow === 'ellipsis'\n ? '...'\n : isValid(textOverflow)\n ? textOverflow\n : undefined\n });\n (text.attribute as any).textStick = textStick;\n date.appendChild(text);\n text.name = 'date-header-cell-text';\n }\n rowHeader.addChild(date);\n\n if (j > 0) {\n const line = createLine({\n pickable: false,\n stroke: scene._gantt.parsedOptions.timelineHeaderVerticalLineStyle?.lineColor,\n lineWidth: scene._gantt.parsedOptions.timelineHeaderVerticalLineStyle?.lineWidth,\n points: [\n { x: scene._gantt.parsedOptions.timelineHeaderVerticalLineStyle?.lineWidth & 1 ? 0.5 : 0, y: 0 },\n {\n x: scene._gantt.parsedOptions.timelineHeaderVerticalLineStyle?.lineWidth & 1 ? 0.5 : 0,\n y: rowHeader.attribute.height\n }\n ]\n });\n date.appendChild(line);\n }\n x += width;\n }\n //创建表头分割线 水平分割线 TODO\n if (i > 0) {\n const line = createLine({\n pickable: false,\n stroke: scene._gantt.parsedOptions.timelineHeaderHorizontalLineStyle?.lineColor,\n lineWidth: scene._gantt.parsedOptions.timelineHeaderHorizontalLineStyle?.lineWidth,\n points: [\n { x: 0, y: scene._gantt.parsedOptions.timelineHeaderHorizontalLineStyle?.lineWidth & 1 ? 0.5 : 0 },\n {\n x: scene._gantt._getAllColsWidth(),\n y: scene._gantt.parsedOptions.timelineHeaderHorizontalLineStyle?.lineWidth & 1 ? 0.5 : 0\n }\n ]\n });\n rowHeader.addChild(line);\n }\n }\n }\n setX(x: number) {\n this.group.setAttribute('x', x);\n }\n setY(y: number) {\n this.group.setAttribute('y', y);\n }\n resize() {\n this.group.setAttribute('width', this.group.attribute?.width ?? 0);\n this.group.setAttribute('height', this.group.attribute?.height ?? 0);\n }\n\n refresh() {\n this.group?.parent.removeChild(this.group);\n this.initNodes();\n }\n}\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@visactor/vtable-gantt",
3
- "version": "1.11.2-alpha.3",
3
+ "version": "1.11.2",
4
4
  "description": "canvas table width high performance",
5
5
  "keywords": [
6
6
  "vtable-gantt",
@@ -37,12 +37,12 @@
37
37
  }
38
38
  },
39
39
  "dependencies": {
40
- "@visactor/vtable": "1.11.2-alpha.3",
41
- "@visactor/vtable-editors": "1.11.2-alpha.3",
42
40
  "@visactor/vutils": "~0.18.14",
43
41
  "@visactor/vscale": "~0.18.1",
44
42
  "@visactor/vdataset": "~0.18.1",
45
- "cssfontparser": "^1.2.1"
43
+ "cssfontparser": "^1.2.1",
44
+ "@visactor/vtable-editors": "1.11.2",
45
+ "@visactor/vtable": "1.11.2"
46
46
  },
47
47
  "devDependencies": {
48
48
  "luxon": "*",
@@ -91,9 +91,9 @@
91
91
  "d3-hierarchy": "^3.1.1",
92
92
  "@resvg/resvg-js": "^2.5.0",
93
93
  "pikaday": "1.8.2",
94
+ "@internal/eslint-config": "0.0.1",
94
95
  "@internal/bundler": "0.0.1",
95
- "@internal/ts-config": "0.0.1",
96
- "@internal/eslint-config": "0.0.1"
96
+ "@internal/ts-config": "0.0.1"
97
97
  },
98
98
  "unpkg": "latest",
99
99
  "unpkgFiles": [