vxe-gantt 0.0.3 → 3.0.0-beta.0
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/README.md +14 -46
- package/es/components.js +3 -2
- package/es/gantt/src/gantt-body.js +83 -49
- package/es/gantt/src/gantt-chart.js +91 -43
- package/es/gantt/src/gantt-header.js +63 -36
- package/es/gantt/src/gantt-view.js +638 -586
- package/es/gantt/src/gantt.js +1347 -1178
- package/es/gantt/src/util.js +1 -4
- package/es/gantt/style.css +42 -17
- package/es/gantt/style.min.css +1 -1
- package/es/index.esm.js +5 -2
- package/es/style.css +1 -1
- package/es/style.min.css +1 -1
- package/es/ui/index.js +9 -3
- package/es/ui/src/comp.js +1 -2
- package/es/ui/src/log.js +3 -2
- package/es/ui/src/utils.js +17 -17
- package/es/vxe-gantt/style.css +42 -17
- package/es/vxe-gantt/style.min.css +1 -1
- package/helper/vetur/attributes.json +1 -1
- package/helper/vetur/tags.json +1 -1
- package/lib/components.js +20 -19
- package/lib/components.min.js +1 -1
- package/lib/gantt/index.js +3 -3
- package/lib/gantt/index.min.js +1 -1
- package/lib/gantt/src/gantt-body.js +109 -87
- package/lib/gantt/src/gantt-body.min.js +1 -1
- package/lib/gantt/src/gantt-chart.js +109 -69
- package/lib/gantt/src/gantt-chart.min.js +1 -1
- package/lib/gantt/src/gantt-header.js +75 -56
- package/lib/gantt/src/gantt-header.min.js +1 -1
- package/lib/gantt/src/gantt-view.js +684 -686
- package/lib/gantt/src/gantt-view.min.js +1 -1
- package/lib/gantt/src/gantt.js +1631 -1559
- package/lib/gantt/src/gantt.min.js +1 -1
- package/lib/gantt/src/util.js +1 -4
- package/lib/gantt/src/util.min.js +1 -1
- package/lib/gantt/style/style.css +42 -17
- package/lib/gantt/style/style.min.css +1 -1
- package/lib/index.common.js +12 -7
- package/lib/index.umd.js +10705 -5870
- package/lib/index.umd.min.js +1 -1
- package/lib/style.css +1 -1
- package/lib/style.min.css +1 -1
- package/lib/ui/index.js +12 -16
- package/lib/ui/index.min.js +1 -1
- package/lib/ui/src/comp.js +3 -2
- package/lib/ui/src/comp.min.js +1 -1
- package/lib/ui/src/dom.js +33 -33
- package/lib/ui/src/dom.min.js +1 -1
- package/lib/ui/src/log.js +4 -3
- package/lib/ui/src/log.min.js +1 -1
- package/lib/ui/src/utils.js +21 -24
- package/lib/ui/src/utils.min.js +1 -1
- package/lib/vxe-gantt/index.js +4 -2
- package/lib/vxe-gantt/index.min.js +1 -1
- package/lib/vxe-gantt/style/style.css +42 -17
- package/lib/vxe-gantt/style/style.min.css +1 -1
- package/lib/vxe-ui/index.js +4 -2
- package/lib/vxe-ui/index.min.js +1 -1
- package/package.json +13 -13
- package/packages/components.ts +8 -5
- package/packages/gantt/index.ts +2 -2
- package/packages/gantt/src/gantt-body.ts +89 -53
- package/packages/gantt/src/gantt-chart.ts +100 -49
- package/packages/gantt/src/gantt-header.ts +69 -39
- package/packages/gantt/src/gantt-view.ts +692 -624
- package/packages/gantt/src/gantt.ts +1460 -1240
- package/packages/gantt/src/util.ts +1 -4
- package/packages/index.ts +6 -2
- package/packages/ui/index.ts +9 -3
- package/packages/ui/src/comp.ts +2 -2
- package/packages/ui/src/log.ts +3 -1
- package/packages/ui/src/utils.ts +22 -21
- package/styles/components/gantt-module/gantt-chart.scss +28 -9
- package/styles/components/gantt.scss +12 -7
- package/styles/theme/base.scss +5 -1
- package/types/all.d.ts +3 -3
- package/types/index.d.ts +2 -2
- package/README.en.md +0 -72
- package/README.ja-JP.md +0 -72
- package/README.zh-TW.md +0 -73
- package/es/gantt/src/emits.js +0 -4
- package/es/gantt/src/grid-emits.js +0 -16
- package/es/gantt/src/grid-props.js +0 -7
- package/es/gantt/src/props.js +0 -2
- package/es/gantt/src/table-emits.js +0 -97
- package/es/gantt/src/table-props.js +0 -298
- package/lib/gantt/src/emits.js +0 -8
- package/lib/gantt/src/emits.min.js +0 -1
- package/lib/gantt/src/grid-emits.js +0 -8
- package/lib/gantt/src/grid-emits.min.js +0 -1
- package/lib/gantt/src/grid-props.js +0 -24
- package/lib/gantt/src/grid-props.min.js +0 -1
- package/lib/gantt/src/props.js +0 -13
- package/lib/gantt/src/props.min.js +0 -1
- package/lib/gantt/src/table-emits.js +0 -7
- package/lib/gantt/src/table-emits.min.js +0 -1
- package/lib/gantt/src/table-props.js +0 -306
- package/lib/gantt/src/table-props.min.js +0 -1
- package/packages/gantt/src/emits.ts +0 -7
- package/packages/gantt/src/grid-emits.ts +0 -19
- package/packages/gantt/src/grid-props.ts +0 -23
- package/packages/gantt/src/props.ts +0 -13
- package/packages/gantt/src/table-emits.ts +0 -109
- package/packages/gantt/src/table-props.ts +0 -304
|
@@ -2,10 +2,7 @@ import type { VxeTableDefines, VxeTablePropTypes } from 'vxe-table'
|
|
|
2
2
|
|
|
3
3
|
export function getRefElem (refEl: any) {
|
|
4
4
|
if (refEl) {
|
|
5
|
-
|
|
6
|
-
if (rest) {
|
|
7
|
-
return (rest.$el || rest) as HTMLElement
|
|
8
|
-
}
|
|
5
|
+
return (refEl.$el || refEl) as HTMLElement
|
|
9
6
|
}
|
|
10
7
|
return null
|
|
11
8
|
}
|
package/packages/index.ts
CHANGED
package/packages/ui/index.ts
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
import { VxeUI
|
|
1
|
+
import { VxeUI } from '@vxe-ui/core'
|
|
2
|
+
|
|
3
|
+
const { setConfig, setIcon } = VxeUI
|
|
2
4
|
|
|
3
5
|
VxeUI.ganttVersion = process.env.VUE_APP_VXE_VERSION as string
|
|
4
6
|
|
|
@@ -39,6 +41,12 @@ setConfig({
|
|
|
39
41
|
// afterDelete: null,
|
|
40
42
|
// beforeSave: null,
|
|
41
43
|
// afterSave: null
|
|
44
|
+
},
|
|
45
|
+
taskSplitConfig: {
|
|
46
|
+
enabled: true,
|
|
47
|
+
resize: true,
|
|
48
|
+
showCollapseTableButton: true,
|
|
49
|
+
showCollapseTaskButton: true
|
|
42
50
|
}
|
|
43
51
|
}
|
|
44
52
|
})
|
|
@@ -51,8 +59,6 @@ setIcon({
|
|
|
51
59
|
GANTT_VIEW_LEFT_CLOSE: iconPrefix + 'arrow-right',
|
|
52
60
|
GANTT_VIEW_RIGHT_OPEN: iconPrefix + 'arrow-right',
|
|
53
61
|
GANTT_VIEW_RIGHT_CLOSE: iconPrefix + 'arrow-left'
|
|
54
|
-
|
|
55
62
|
})
|
|
56
63
|
|
|
57
|
-
export * from '@vxe-ui/core'
|
|
58
64
|
export default VxeUI
|
package/packages/ui/src/comp.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import
|
|
1
|
+
import Vue from 'vue'
|
|
2
2
|
|
|
3
|
-
export const defineVxeComponent =
|
|
3
|
+
export const defineVxeComponent = ((options: any) => options) as typeof Vue.extend
|
package/packages/ui/src/log.ts
CHANGED
package/packages/ui/src/utils.ts
CHANGED
|
@@ -2,22 +2,12 @@ import XEUtils from 'xe-utils'
|
|
|
2
2
|
import { VxeUI } from '@vxe-ui/core'
|
|
3
3
|
import DomZIndex from 'dom-zindex'
|
|
4
4
|
|
|
5
|
+
const { getConfig } = VxeUI
|
|
6
|
+
|
|
5
7
|
export function isEnableConf (conf: any): boolean {
|
|
6
8
|
return conf && conf.enabled !== false
|
|
7
9
|
}
|
|
8
10
|
|
|
9
|
-
export function isEmptyValue (cellValue: any) {
|
|
10
|
-
return cellValue === null || cellValue === undefined || cellValue === ''
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
export function parseFile (file: File) {
|
|
14
|
-
const name = file.name
|
|
15
|
-
const tIndex = XEUtils.lastIndexOf(name, '.')
|
|
16
|
-
const type = name.substring(tIndex + 1, name.length).toLowerCase()
|
|
17
|
-
const filename = name.substring(0, tIndex)
|
|
18
|
-
return { filename, type }
|
|
19
|
-
}
|
|
20
|
-
|
|
21
11
|
export function nextZIndex () {
|
|
22
12
|
return DomZIndex.getNext()
|
|
23
13
|
}
|
|
@@ -26,25 +16,36 @@ export function getLastZIndex () {
|
|
|
26
16
|
return DomZIndex.getCurrent()
|
|
27
17
|
}
|
|
28
18
|
|
|
29
|
-
export function
|
|
30
|
-
return
|
|
19
|
+
export function nextSubZIndex () {
|
|
20
|
+
return DomZIndex.getSubNext()
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
export function getSubLastZIndex () {
|
|
24
|
+
return DomZIndex.getSubCurrent()
|
|
31
25
|
}
|
|
32
26
|
|
|
33
|
-
export function
|
|
27
|
+
export function getGlobalDefaultConfig (value: any, globalValue: any) {
|
|
28
|
+
if (XEUtils.eqNull(value)) {
|
|
29
|
+
return globalValue
|
|
30
|
+
}
|
|
31
|
+
return value
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
export function getFuncText (content: string | number | boolean | null | undefined, args?: any) {
|
|
34
35
|
if (content) {
|
|
35
|
-
const translate =
|
|
36
|
+
const translate = getConfig().translate
|
|
36
37
|
return XEUtils.toValueString(translate ? translate('' + content, args) : content)
|
|
37
38
|
}
|
|
38
39
|
return ''
|
|
39
40
|
}
|
|
40
41
|
|
|
41
|
-
export function formatText (value: any, placeholder?: any) {
|
|
42
|
-
return '' + (isEmptyValue(value) ? (placeholder ? VxeUI.getConfig().emptyCell : '') : value)
|
|
43
|
-
}
|
|
44
|
-
|
|
45
42
|
/**
|
|
46
43
|
* 判断值为:'' | null | undefined 时都属于空值
|
|
47
44
|
*/
|
|
48
45
|
export function eqEmptyValue (cellValue: any) {
|
|
49
|
-
return cellValue ===
|
|
46
|
+
return cellValue === null || cellValue === undefined || cellValue === ''
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
export function getStringValue (cellValue: any) {
|
|
50
|
+
return eqEmptyValue(cellValue) ? '' : cellValue
|
|
50
51
|
}
|
|
@@ -6,19 +6,31 @@
|
|
|
6
6
|
}
|
|
7
7
|
.vxe-gantt-view--chart-row {
|
|
8
8
|
position: relative;
|
|
9
|
+
&.is--round {
|
|
10
|
+
& > .vxe-gantt-view--chart-bar {
|
|
11
|
+
border-radius: var(--vxe-ui-gantt-view-task-bar-border-radius);
|
|
12
|
+
&:hover {
|
|
13
|
+
&::after {
|
|
14
|
+
border-radius: var(--vxe-ui-gantt-view-task-bar-border-radius);
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
& > .vxe-gantt-view--chart-progress {
|
|
18
|
+
border-radius: var(--vxe-ui-gantt-view-task-bar-border-radius) 0 0 var(--vxe-ui-gantt-view-task-bar-border-radius);
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
}
|
|
9
22
|
}
|
|
10
23
|
.vxe-gantt-view--chart-bar {
|
|
11
24
|
display: flex;
|
|
12
25
|
flex-direction: row;
|
|
26
|
+
align-items: center;
|
|
13
27
|
position: absolute;
|
|
14
|
-
width: 100px;
|
|
15
28
|
top: 50%;
|
|
16
29
|
left: 0;
|
|
17
30
|
color: #ffffff;
|
|
18
31
|
transform: translateY(-50%);
|
|
19
|
-
border-radius: var(--vxe-ui-base-border-radius);
|
|
20
32
|
height: var(--vxe-ui-gantt-view-chart-bar-height);
|
|
21
|
-
background-color: var(--vxe-ui-
|
|
33
|
+
background-color: var(--vxe-ui-gantt-view-task-bar-background-color);
|
|
22
34
|
pointer-events: all;
|
|
23
35
|
&:hover {
|
|
24
36
|
&::after {
|
|
@@ -29,18 +41,25 @@
|
|
|
29
41
|
width: 100%;
|
|
30
42
|
height: 100%;
|
|
31
43
|
background-color: rgba(0, 0, 0, 0.1);
|
|
32
|
-
border-radius: var(--vxe-ui-base-border-radius);
|
|
33
44
|
}
|
|
34
45
|
}
|
|
35
46
|
}
|
|
36
47
|
.vxe-gantt-view--chart-progress {
|
|
37
48
|
flex-shrink: 0;
|
|
38
|
-
width:
|
|
49
|
+
width: 0;
|
|
50
|
+
height: 100%;
|
|
39
51
|
text-align: left;
|
|
40
|
-
|
|
41
|
-
|
|
52
|
+
background-color: var(--vxe-ui-gantt-view-task-bar-completed-background-color);
|
|
53
|
+
overflow: hidden;
|
|
54
|
+
text-overflow: ellipsis;
|
|
55
|
+
white-space: nowrap;
|
|
42
56
|
}
|
|
43
57
|
.vxe-gantt-view--chart-content {
|
|
44
|
-
|
|
45
|
-
|
|
58
|
+
position: absolute;
|
|
59
|
+
width: 100%;
|
|
60
|
+
overflow: hidden;
|
|
61
|
+
text-overflow: ellipsis;
|
|
62
|
+
white-space: nowrap;
|
|
63
|
+
font-size: 0.9em;
|
|
64
|
+
padding: 0 0.6em;
|
|
46
65
|
}
|
|
@@ -75,9 +75,11 @@
|
|
|
75
75
|
}
|
|
76
76
|
.vxe-gantt--view-split-bar {
|
|
77
77
|
flex-shrink: 0;
|
|
78
|
-
cursor: col-resize;
|
|
79
78
|
width: var(--vxe-ui-gantt-view-split-bar-width);
|
|
80
79
|
background-color: var(--vxe-ui-gantt-view-split-bar-background-color);
|
|
80
|
+
&.is--resize {
|
|
81
|
+
cursor: col-resize;
|
|
82
|
+
}
|
|
81
83
|
}
|
|
82
84
|
&.show--left {
|
|
83
85
|
.vxe-gantt--table-wrapper {
|
|
@@ -87,7 +89,7 @@
|
|
|
87
89
|
.vxe-gantt--table-wrapper {
|
|
88
90
|
flex-grow: unset;
|
|
89
91
|
flex-shrink: 0;
|
|
90
|
-
width:
|
|
92
|
+
width: var(--vxe-ui-gantt-view-table-default-width);
|
|
91
93
|
}
|
|
92
94
|
}
|
|
93
95
|
}
|
|
@@ -279,6 +281,12 @@
|
|
|
279
281
|
transform: translate(-50%, -50%);
|
|
280
282
|
z-index: 15;
|
|
281
283
|
pointer-events: none;
|
|
284
|
+
& > div {
|
|
285
|
+
margin-top: 1em;
|
|
286
|
+
&:first-child {
|
|
287
|
+
margin-top: 0;
|
|
288
|
+
}
|
|
289
|
+
}
|
|
282
290
|
}
|
|
283
291
|
.vxe-gantt--view-split-bar-left-btn,
|
|
284
292
|
.vxe-gantt--view-split-bar-right-btn {
|
|
@@ -304,9 +312,6 @@
|
|
|
304
312
|
transform: scale(0.9);
|
|
305
313
|
}
|
|
306
314
|
}
|
|
307
|
-
.vxe-gantt--view-split-bar-right-btn {
|
|
308
|
-
margin-top: 1em;
|
|
309
|
-
}
|
|
310
315
|
.vxe-gantt--resizable-split-tip {
|
|
311
316
|
display: none;
|
|
312
317
|
position: absolute;
|
|
@@ -496,7 +501,7 @@
|
|
|
496
501
|
overflow: hidden;
|
|
497
502
|
}
|
|
498
503
|
.vxe-gantt-view--column-info {
|
|
499
|
-
width: var(--vxe-ui-gantt-view-
|
|
504
|
+
width: var(--vxe-ui-gantt-view-default-cell-width);
|
|
500
505
|
}
|
|
501
506
|
|
|
502
507
|
// 任务视图
|
|
@@ -523,7 +528,7 @@
|
|
|
523
528
|
border-collapse: separate;
|
|
524
529
|
table-layout: fixed;
|
|
525
530
|
col {
|
|
526
|
-
width: var(--vxe-ui-gantt-view-
|
|
531
|
+
width: var(--vxe-ui-gantt-view-default-cell-width);
|
|
527
532
|
}
|
|
528
533
|
}
|
|
529
534
|
.vxe-gantt-view--header-wrapper,
|
package/styles/theme/base.scss
CHANGED
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
:root {
|
|
2
2
|
/*gantt*/
|
|
3
|
-
--vxe-ui-gantt-view-
|
|
3
|
+
--vxe-ui-gantt-view-default-cell-width: 40px;
|
|
4
4
|
--vxe-ui-gantt-view-chart-bar-height: 1.6em;
|
|
5
5
|
--vxe-ui-gantt-view-split-bar-width: 10px;
|
|
6
6
|
--vxe-ui-gantt-view-split-bar-height: 6.8em;
|
|
7
|
+
--vxe-ui-gantt-view-table-default-width: 30%;
|
|
8
|
+
--vxe-ui-gantt-view-task-bar-border-radius: calc(var(--vxe-ui-gantt-view-split-bar-height) / 2);
|
|
9
|
+
--vxe-ui-gantt-view-task-bar-background-color: var(--vxe-ui-font-primary-lighten-color);
|
|
10
|
+
--vxe-ui-gantt-view-task-bar-completed-background-color: var(--vxe-ui-font-primary-color);
|
|
7
11
|
}
|
package/types/all.d.ts
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { VueConstructor } from 'vue'
|
|
2
2
|
import { VxeUIExport, VxeGlobalConfig } from 'vxe-pc-ui'
|
|
3
3
|
|
|
4
4
|
declare global {
|
|
5
5
|
interface Window {
|
|
6
|
-
|
|
6
|
+
VxeUIDesign: VxeUIExport
|
|
7
7
|
}
|
|
8
8
|
}
|
|
9
9
|
|
|
10
|
-
export function install (app:
|
|
10
|
+
export function install (app: VueConstructor, options?: VxeGlobalConfig): void
|
|
11
11
|
|
|
12
12
|
// Vxe core
|
|
13
13
|
export * from 'vxe-pc-ui/types/ui'
|
package/types/index.d.ts
CHANGED
package/README.en.md
DELETED
|
@@ -1,72 +0,0 @@
|
|
|
1
|
-
# vxe-gantt
|
|
2
|
-
|
|
3
|
-
[简体中文](README.md) | [繁體中文](README.zh-TW.md) | English | [日本語](README.ja-JP.md)
|
|
4
|
-
|
|
5
|
-
[](https://gitee.com/x-extends/vxe-gantt/stargazers)
|
|
6
|
-
[](https://www.npmjs.com/package/vxe-gantt)
|
|
7
|
-
[](https://github.com/x-extends/vxe-gantt/actions/workflows/webpack.yml)
|
|
8
|
-
[](https://npm-stat.com/charts.html?package=vxe-gantt)
|
|
9
|
-
[](https://github.com/x-extends/vxe-gantt/issues)
|
|
10
|
-
[](https://github.com/x-extends/vxe-gantt/issues?q=is%3Aissue+is%3Aclosed)
|
|
11
|
-
[](https://github.com/x-extends/vxe-gantt/pulls)
|
|
12
|
-
[](https://github.com/x-extends/vxe-gantt/pulls?q=is%3Apr+is%3Aclosed)
|
|
13
|
-
[](LICENSE)
|
|
14
|
-
|
|
15
|
-
A PC-based Gantt chart component based on [Vxe UI](https://github.com/x-extends/ vxe-pc-ui).
|
|
16
|
-
|
|
17
|
-
## Browser Support
|
|
18
|
-
|
|
19
|
-
 |  |  |  | 
|
|
20
|
-
--- | --- | --- | --- | --- |
|
|
21
|
-
80+ ✔ | 80+ ✔ | 90+ ✔ | 75+ ✔ | 10+ ✔ |
|
|
22
|
-
|
|
23
|
-
## Use
|
|
24
|
-
|
|
25
|
-
版本:[vue](https://www.npmjs.com/package/vue) 3.x
|
|
26
|
-
|
|
27
|
-
```shell
|
|
28
|
-
npm install vxe-gantt
|
|
29
|
-
```
|
|
30
|
-
|
|
31
|
-
Get on [unpkg](https://unpkg.com/vxe-gantt/) and [cdnjs](https://cdn.jsdelivr.net/npm/vxe-gantt/)
|
|
32
|
-
|
|
33
|
-
### NPM
|
|
34
|
-
|
|
35
|
-
```javascript
|
|
36
|
-
// ...
|
|
37
|
-
import VxeUIAll from 'vxe-pc-ui'
|
|
38
|
-
import 'vxe-pc-ui/lib/style.css'
|
|
39
|
-
|
|
40
|
-
import VxeUITable from 'vxe-table'
|
|
41
|
-
import 'vxe-table/lib/style.css'
|
|
42
|
-
|
|
43
|
-
import VxeUIGantt from 'vxe-gantt'
|
|
44
|
-
import 'vxe-gantt/lib/style.css'
|
|
45
|
-
// ...
|
|
46
|
-
|
|
47
|
-
createApp(App).use(VxeUIAll).use(VxeUITable).use(VxeUIGantt).mount('#app')
|
|
48
|
-
```
|
|
49
|
-
|
|
50
|
-
## Run the project
|
|
51
|
-
|
|
52
|
-
Install dependencies
|
|
53
|
-
|
|
54
|
-
```shell
|
|
55
|
-
npm install
|
|
56
|
-
```
|
|
57
|
-
|
|
58
|
-
Start local debugging
|
|
59
|
-
|
|
60
|
-
```shell
|
|
61
|
-
npm run serve
|
|
62
|
-
```
|
|
63
|
-
|
|
64
|
-
Compile packaging, generated compiled directory: es,lib
|
|
65
|
-
|
|
66
|
-
```shell
|
|
67
|
-
npm run lib
|
|
68
|
-
```
|
|
69
|
-
|
|
70
|
-
## License
|
|
71
|
-
|
|
72
|
-
[MIT](LICENSE) © 2025-present, Xu Liangzhan
|
package/README.ja-JP.md
DELETED
|
@@ -1,72 +0,0 @@
|
|
|
1
|
-
# vxe-gantt
|
|
2
|
-
|
|
3
|
-
[简体中文](README.md) | [繁體中文](README.zh-TW.md) | [English](README.en.md) | 日本語
|
|
4
|
-
|
|
5
|
-
[](https://gitee.com/x-extends/vxe-gantt/stargazers)
|
|
6
|
-
[](https://www.npmjs.com/package/vxe-gantt)
|
|
7
|
-
[](https://github.com/x-extends/vxe-gantt/actions/workflows/webpack.yml)
|
|
8
|
-
[](https://npm-stat.com/charts.html?package=vxe-gantt)
|
|
9
|
-
[](https://github.com/x-extends/vxe-gantt/issues)
|
|
10
|
-
[](https://github.com/x-extends/vxe-gantt/issues?q=is%3Aissue+is%3Aclosed)
|
|
11
|
-
[](https://github.com/x-extends/vxe-gantt/pulls)
|
|
12
|
-
[](https://github.com/x-extends/vxe-gantt/pulls?q=is%3Apr+is%3Aclosed)
|
|
13
|
-
[](LICENSE)
|
|
14
|
-
|
|
15
|
-
一个基于 [Vxe UI](https://github.com/x-extends/vxe-pc-ui) 的基于 PC 端甘特图组件
|
|
16
|
-
|
|
17
|
-
## ブラウザサポート
|
|
18
|
-
|
|
19
|
-
 |  |  |  | 
|
|
20
|
-
--- | --- | --- | --- | --- |
|
|
21
|
-
80+ ✔ | 80+ ✔ | 90+ ✔ | 75+ ✔ | 10+ ✔ |
|
|
22
|
-
|
|
23
|
-
### テーブルとUIの使用
|
|
24
|
-
|
|
25
|
-
版本:[vue](https://www.npmjs.com/package/vue) 3.x
|
|
26
|
-
|
|
27
|
-
```shell
|
|
28
|
-
npm install vxe-gantt
|
|
29
|
-
```
|
|
30
|
-
|
|
31
|
-
Get on [unpkg](https://unpkg.com/vxe-gantt/) and [cdnjs](https://cdn.jsdelivr.net/npm/vxe-gantt/)
|
|
32
|
-
|
|
33
|
-
### NPM
|
|
34
|
-
|
|
35
|
-
```javascript
|
|
36
|
-
// ...
|
|
37
|
-
import VxeUIAll from 'vxe-pc-ui'
|
|
38
|
-
import 'vxe-pc-ui/lib/style.css'
|
|
39
|
-
|
|
40
|
-
import VxeUITable from 'vxe-table'
|
|
41
|
-
import 'vxe-table/lib/style.css'
|
|
42
|
-
|
|
43
|
-
import VxeUIGantt from 'vxe-gantt'
|
|
44
|
-
import 'vxe-gantt/lib/style.css'
|
|
45
|
-
// ...
|
|
46
|
-
|
|
47
|
-
createApp(App).use(VxeUIAll).use(VxeUITable).use(VxeUIGantt).mount('#app')
|
|
48
|
-
```
|
|
49
|
-
|
|
50
|
-
## プロジェクトの実行
|
|
51
|
-
|
|
52
|
-
依存関係をインストールする
|
|
53
|
-
|
|
54
|
-
```shell
|
|
55
|
-
npm install
|
|
56
|
-
```
|
|
57
|
-
|
|
58
|
-
ローカルデバッグを開始する
|
|
59
|
-
|
|
60
|
-
```shell
|
|
61
|
-
npm run serve
|
|
62
|
-
```
|
|
63
|
-
|
|
64
|
-
コンパイルパッケージング、生成されたコンパイルディレクトリ: es,lib
|
|
65
|
-
|
|
66
|
-
```shell
|
|
67
|
-
npm run lib
|
|
68
|
-
```
|
|
69
|
-
|
|
70
|
-
## ライセンス
|
|
71
|
-
|
|
72
|
-
[MIT](LICENSE) © 2025-present, Xu Liangzhan
|
package/README.zh-TW.md
DELETED
|
@@ -1,73 +0,0 @@
|
|
|
1
|
-
# vxe-gantt
|
|
2
|
-
|
|
3
|
-
[简体中文](README.md) | 繁體中文 | [English](README.en.md) | [日本語](README.ja-JP.md)
|
|
4
|
-
|
|
5
|
-
[](https://gitee.com/x-extends/vxe-gantt/stargazers)
|
|
6
|
-
[](https://www.npmjs.com/package/vxe-gantt)
|
|
7
|
-
[](https://github.com/x-extends/vxe-gantt/actions/workflows/webpack.yml)
|
|
8
|
-
[](https://npm-stat.com/charts.html?package=vxe-gantt)
|
|
9
|
-
[](https://github.com/x-extends/vxe-gantt/issues)
|
|
10
|
-
[](https://github.com/x-extends/vxe-gantt/issues?q=is%3Aissue+is%3Aclosed)
|
|
11
|
-
[](https://github.com/x-extends/vxe-gantt/pulls)
|
|
12
|
-
[](https://github.com/x-extends/vxe-gantt/pulls?q=is%3Apr+is%3Aclosed)
|
|
13
|
-
[](LICENSE)
|
|
14
|
-
|
|
15
|
-
一个基于 [Vxe UI](https://github.com/x-extends/vxe-pc-ui) 的基于 PC 端甘特图组件
|
|
16
|
-
|
|
17
|
-
## 浏览器支持
|
|
18
|
-
|
|
19
|
-
 |  |  |  | 
|
|
20
|
-
--- | --- | --- | --- | --- |
|
|
21
|
-
80+ ✔ | 80+ ✔ | 90+ ✔ | 75+ ✔ | 10+ ✔ |
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
## 安装
|
|
25
|
-
|
|
26
|
-
版本:[vue](https://www.npmjs.com/package/vue) 3.x
|
|
27
|
-
|
|
28
|
-
```shell
|
|
29
|
-
npm install vxe-gantt
|
|
30
|
-
```
|
|
31
|
-
|
|
32
|
-
Get on [unpkg](https://unpkg.com/vxe-gantt/) and [cdnjs](https://cdn.jsdelivr.net/npm/vxe-gantt/)
|
|
33
|
-
|
|
34
|
-
### NPM
|
|
35
|
-
|
|
36
|
-
```javascript
|
|
37
|
-
// ...
|
|
38
|
-
import VxeUIAll from 'vxe-pc-ui'
|
|
39
|
-
import 'vxe-pc-ui/lib/style.css'
|
|
40
|
-
|
|
41
|
-
import VxeUITable from 'vxe-table'
|
|
42
|
-
import 'vxe-table/lib/style.css'
|
|
43
|
-
|
|
44
|
-
import VxeUIGantt from 'vxe-gantt'
|
|
45
|
-
import 'vxe-gantt/lib/style.css'
|
|
46
|
-
// ...
|
|
47
|
-
|
|
48
|
-
createApp(App).use(VxeUIAll).use(VxeUITable).use(VxeUIGantt).mount('#app')
|
|
49
|
-
```
|
|
50
|
-
|
|
51
|
-
## 運行項目
|
|
52
|
-
|
|
53
|
-
安裝依賴
|
|
54
|
-
|
|
55
|
-
```shell
|
|
56
|
-
npm install
|
|
57
|
-
```
|
|
58
|
-
|
|
59
|
-
啓動本地調試
|
|
60
|
-
|
|
61
|
-
```shell
|
|
62
|
-
npm run serve
|
|
63
|
-
```
|
|
64
|
-
|
|
65
|
-
編譯打包,生成編譯後的目錄:es,lib
|
|
66
|
-
|
|
67
|
-
```shell
|
|
68
|
-
npm run lib
|
|
69
|
-
```
|
|
70
|
-
|
|
71
|
-
## 許可證
|
|
72
|
-
|
|
73
|
-
[MIT](LICENSE) © 2025-present, Xu Liangzhan
|
package/es/gantt/src/emits.js
DELETED
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import { tableEmits } from './table-emits';
|
|
2
|
-
export const gridEmits = [
|
|
3
|
-
...tableEmits,
|
|
4
|
-
'page-change',
|
|
5
|
-
'form-submit',
|
|
6
|
-
'form-submit-invalid',
|
|
7
|
-
'form-reset',
|
|
8
|
-
'form-collapse',
|
|
9
|
-
'form-toggle-collapse',
|
|
10
|
-
'proxy-query',
|
|
11
|
-
'proxy-delete',
|
|
12
|
-
'proxy-save',
|
|
13
|
-
'toolbar-button-click',
|
|
14
|
-
'toolbar-tool-click',
|
|
15
|
-
'zoom'
|
|
16
|
-
];
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import { VxeUI } from '../../ui';
|
|
2
|
-
import { tableProps } from './table-props';
|
|
3
|
-
const { getConfig } = VxeUI;
|
|
4
|
-
export const gridProps = Object.assign(Object.assign({}, tableProps), { layouts: Array, columns: Array, pagerConfig: Object, proxyConfig: Object, toolbarConfig: Object, formConfig: Object, zoomConfig: Object, size: {
|
|
5
|
-
type: String,
|
|
6
|
-
default: () => getConfig().gantt.size || getConfig().size
|
|
7
|
-
} });
|
package/es/gantt/src/props.js
DELETED
|
@@ -1,97 +0,0 @@
|
|
|
1
|
-
export const tableEmits = [
|
|
2
|
-
'update:data',
|
|
3
|
-
'keydown-start',
|
|
4
|
-
'keydown',
|
|
5
|
-
'keydown-end',
|
|
6
|
-
'paste',
|
|
7
|
-
'copy',
|
|
8
|
-
'cut',
|
|
9
|
-
'current-change',
|
|
10
|
-
'current-row-change',
|
|
11
|
-
'current-row-disabled',
|
|
12
|
-
'current-column-change',
|
|
13
|
-
'current-column-disabled',
|
|
14
|
-
'radio-change',
|
|
15
|
-
'checkbox-change',
|
|
16
|
-
'checkbox-all',
|
|
17
|
-
'checkbox-range-start',
|
|
18
|
-
'checkbox-range-change',
|
|
19
|
-
'checkbox-range-end',
|
|
20
|
-
'checkbox-range-select',
|
|
21
|
-
'cell-click',
|
|
22
|
-
'cell-dblclick',
|
|
23
|
-
'cell-menu',
|
|
24
|
-
'cell-mouseenter',
|
|
25
|
-
'cell-mouseleave',
|
|
26
|
-
'cell-selected',
|
|
27
|
-
'cell-delete-value',
|
|
28
|
-
'cell-backspace-value',
|
|
29
|
-
'header-cell-click',
|
|
30
|
-
'header-cell-dblclick',
|
|
31
|
-
'header-cell-menu',
|
|
32
|
-
'footer-cell-click',
|
|
33
|
-
'footer-cell-dblclick',
|
|
34
|
-
'footer-cell-menu',
|
|
35
|
-
'clear-merge',
|
|
36
|
-
'sort-change',
|
|
37
|
-
'clear-sort',
|
|
38
|
-
'clear-all-sort',
|
|
39
|
-
'filter-change',
|
|
40
|
-
'filter-visible',
|
|
41
|
-
'clear-filter',
|
|
42
|
-
'clear-all-filter',
|
|
43
|
-
'resizable-change',
|
|
44
|
-
'column-resizable-change',
|
|
45
|
-
'row-resizable-change',
|
|
46
|
-
'toggle-row-group-expand',
|
|
47
|
-
'toggle-row-expand',
|
|
48
|
-
'toggle-tree-expand',
|
|
49
|
-
'menu-click',
|
|
50
|
-
'edit-closed',
|
|
51
|
-
'row-dragstart',
|
|
52
|
-
'row-dragover',
|
|
53
|
-
'row-dragend',
|
|
54
|
-
'column-dragstart',
|
|
55
|
-
'column-dragover',
|
|
56
|
-
'column-dragend',
|
|
57
|
-
'enter-append-row',
|
|
58
|
-
'edit-actived',
|
|
59
|
-
'edit-activated',
|
|
60
|
-
'edit-disabled',
|
|
61
|
-
'valid-error',
|
|
62
|
-
'scroll',
|
|
63
|
-
'scroll-boundary',
|
|
64
|
-
'custom',
|
|
65
|
-
'custom-visible-change',
|
|
66
|
-
'custom-visible-all',
|
|
67
|
-
'custom-fixed-change',
|
|
68
|
-
'change-fnr',
|
|
69
|
-
'open-fnr',
|
|
70
|
-
'show-fnr',
|
|
71
|
-
'hide-fnr',
|
|
72
|
-
'fnr-change',
|
|
73
|
-
'fnr-find',
|
|
74
|
-
'fnr-find-all',
|
|
75
|
-
'fnr-replace',
|
|
76
|
-
'fnr-replace-all',
|
|
77
|
-
'cell-area-copy',
|
|
78
|
-
'cell-area-cut',
|
|
79
|
-
'cell-area-paste',
|
|
80
|
-
'cell-area-merge',
|
|
81
|
-
'clear-cell-area-selection',
|
|
82
|
-
'clear-cell-area-merge',
|
|
83
|
-
'header-cell-area-selection',
|
|
84
|
-
'cell-area-selection-invalid',
|
|
85
|
-
'cell-area-selection-start',
|
|
86
|
-
'cell-area-selection-drag',
|
|
87
|
-
'cell-area-selection-end',
|
|
88
|
-
'cell-area-extension-start',
|
|
89
|
-
'cell-area-extension-drag',
|
|
90
|
-
'cell-area-extension-end',
|
|
91
|
-
'cell-area-selection-all-start',
|
|
92
|
-
'cell-area-selection-all-end',
|
|
93
|
-
'cell-area-arrows-start',
|
|
94
|
-
'cell-area-arrows-end',
|
|
95
|
-
'active-cell-change-start',
|
|
96
|
-
'active-cell-change-end'
|
|
97
|
-
];
|