vxe-gantt 4.0.15 → 4.0.17

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.
@@ -11,6 +11,9 @@ import type { VxeGanttViewConstructor, VxeGanttViewPrivateMethods, VxeGanttConst
11
11
 
12
12
  const { renderEmptyElement } = VxeUI
13
13
 
14
+ const sourceType = 'gantt'
15
+ const viewType = 'chart'
16
+
14
17
  export default defineVxeComponent({
15
18
  name: 'VxeGanttViewChart',
16
19
  setup () {
@@ -22,7 +25,7 @@ export default defineVxeComponent({
22
25
 
23
26
  const refElem = ref() as Ref<HTMLDivElement>
24
27
 
25
- const renderTaskBar = ($xeTable: VxeTableConstructor & VxeTableMethods & VxeTablePrivateMethods, row: any, rowid: string, $rowIndex: number) => {
28
+ const renderTaskBar = ($xeTable: VxeTableConstructor & VxeTableMethods & VxeTablePrivateMethods, row: any, rowid: string, rowIndex: number, $rowIndex: number, _rowIndex: number) => {
26
29
  const tableProps = $xeTable.props
27
30
  const { treeConfig } = tableProps
28
31
  const tableReactData = $xeTable.reactData
@@ -72,6 +75,7 @@ export default defineVxeComponent({
72
75
  title = getStringValue(contentMethod({ row, title }))
73
76
  }
74
77
 
78
+ const ctParams = { source: sourceType, type: viewType, row, $rowIndex, rowIndex, _rowIndex }
75
79
  return h('div', {
76
80
  key: treeConfig ? rowid : $rowIndex,
77
81
  rowid,
@@ -81,6 +85,9 @@ export default defineVxeComponent({
81
85
  }],
82
86
  style: {
83
87
  height: `${cellHeight}px`
88
+ },
89
+ onContextmenu (evnt) {
90
+ $xeGantt.handleTaskBarContextmenuEvent(evnt, ctParams)
84
91
  }
85
92
  }, [
86
93
  h('div', {
@@ -122,7 +129,7 @@ export default defineVxeComponent({
122
129
  const tableReactData = $xeTable.reactData
123
130
  const { treeExpandedFlag } = tableReactData
124
131
  const tableInternalData = $xeTable.internalData
125
- const { treeExpandedMaps } = tableInternalData
132
+ const { fullAllDataRowIdData, treeExpandedMaps } = tableInternalData
126
133
  const { computeTreeOpts } = $xeTable.getComputeMaps()
127
134
  const treeOpts = computeTreeOpts.value
128
135
  const { transform } = treeOpts
@@ -133,7 +140,14 @@ export default defineVxeComponent({
133
140
  const trVNs: VNode[] = []
134
141
  tableData.forEach((row, $rowIndex) => {
135
142
  const rowid = $xeTable ? $xeTable.getRowid(row) : ''
136
- trVNs.push(renderTaskBar($xeTable, row, rowid, $rowIndex))
143
+ const rowRest = fullAllDataRowIdData[rowid] || {}
144
+ let rowIndex = $rowIndex
145
+ let _rowIndex = -1
146
+ if (rowRest) {
147
+ rowIndex = rowRest.index
148
+ _rowIndex = rowRest._index
149
+ }
150
+ trVNs.push(renderTaskBar($xeTable, row, rowid, rowIndex, $rowIndex, _rowIndex))
137
151
  let isExpandTree = false
138
152
  let rowChildren: any[] = []
139
153
 
@@ -1,11 +1,15 @@
1
1
  import { h, inject, ref, Ref, onMounted, onUnmounted } from 'vue'
2
2
  import { defineVxeComponent } from '../../ui/src/comp'
3
3
 
4
- import type { VxeGanttViewConstructor, VxeGanttViewPrivateMethods } from '../../../types'
4
+ import type { VxeGanttConstructor, VxeGanttPrivateMethods, VxeGanttViewConstructor, VxeGanttViewPrivateMethods } from '../../../types'
5
+
6
+ const sourceType = 'gantt'
7
+ const viewType = 'footer'
5
8
 
6
9
  export default defineVxeComponent({
7
10
  name: 'VxeGanttViewFooter',
8
11
  setup () {
12
+ const $xeGantt = inject('$xeGantt', {} as (VxeGanttConstructor & VxeGanttPrivateMethods))
9
13
  const $xeGanttView = inject('$xeGanttView', {} as VxeGanttViewConstructor & VxeGanttViewPrivateMethods)
10
14
 
11
15
  const { internalData } = $xeGanttView
@@ -16,7 +20,10 @@ export default defineVxeComponent({
16
20
  const renderVN = () => {
17
21
  return h('div', {
18
22
  ref: refElem,
19
- class: 'vxe-gantt-view--footer-wrapper'
23
+ class: 'vxe-gantt-view--footer-wrapper',
24
+ onContextmenu (evnt) {
25
+ $xeGantt.handleTaskFooterContextmenuEvent(evnt, { source: sourceType, type: viewType, $rowIndex: -1 })
26
+ }
20
27
  }, [
21
28
  h('div', {
22
29
  ref: refHeaderScroll,
@@ -8,6 +8,9 @@ import type { VxeGanttViewConstructor, VxeGanttViewPrivateMethods, VxeGanttConst
8
8
 
9
9
  const { getI18n } = VxeUI
10
10
 
11
+ const sourceType = 'gantt'
12
+ const viewType = 'header'
13
+
11
14
  export default defineVxeComponent({
12
15
  name: 'VxeGanttViewHeader',
13
16
  setup () {
@@ -69,7 +72,7 @@ export default defineVxeComponent({
69
72
  }
70
73
  }
71
74
  let cellVNs: string | VxeComponentSlotType[] = label
72
- const ctParams = { scaleObj: scaleItem, title: label, dateObj: dateObj, $rowIndex }
75
+ const ctParams = { source: sourceType, type: viewType, column, scaleObj: scaleItem, title: label, dateObj: dateObj, $rowIndex }
73
76
  if (titleSlot) {
74
77
  cellVNs = $xeGantt.callSlot(titleSlot, ctParams)
75
78
  } else if (titleMethod) {
@@ -90,7 +93,10 @@ export default defineVxeComponent({
90
93
  }],
91
94
  colspan: childCount || null,
92
95
  title: titleSlot ? null : label,
93
- style: cellStys
96
+ style: cellStys,
97
+ onContextmenu (evnt) {
98
+ $xeGantt.handleTaskHeaderContextmenuEvent(evnt, ctParams)
99
+ }
94
100
  }, cellVNs)
95
101
  }))
96
102
  }))
@@ -1360,6 +1360,10 @@ export default defineVxeComponent({
1360
1360
  $pager.endPageByEvent(evnt)
1361
1361
  }
1362
1362
  },
1363
+ getCurrentPage () {
1364
+ const { tablePage } = reactData
1365
+ return tablePage.currentPage
1366
+ },
1363
1367
  setCurrentPage (currentPage) {
1364
1368
  const { tablePage } = reactData
1365
1369
  const pageCount = computePageCount.value
@@ -1372,6 +1376,10 @@ export default defineVxeComponent({
1372
1376
  $pager.setCurrentPageByEvent(evnt, currentPage)
1373
1377
  }
1374
1378
  },
1379
+ getPageSize () {
1380
+ const { tablePage } = reactData
1381
+ return tablePage.pageSize
1382
+ },
1375
1383
  setPageSize (pageSize) {
1376
1384
  const { tablePage } = reactData
1377
1385
  tablePage.pageSize = Math.max(1, XEUtils.toNumber(pageSize))
@@ -1546,6 +1554,50 @@ export default defineVxeComponent({
1546
1554
  },
1547
1555
  handleTaskBarDblclickEvent (evnt, params) {
1548
1556
  $xeGantt.dispatchEvent('task-bar-dblclick', params, evnt)
1557
+ },
1558
+ handleTaskHeaderContextmenuEvent (evnt, params) {
1559
+ const $xeTable = refTable.value
1560
+ if ($xeTable) {
1561
+ const tableProps = $xeTable.props
1562
+ const { menuConfig } = tableProps
1563
+ if (isEnableConf(menuConfig)) {
1564
+ evnt.stopPropagation()
1565
+ $xeTable.handleOpenMenuEvent(evnt, 'header', params)
1566
+ }
1567
+ }
1568
+ },
1569
+ handleTaskBodyContextmenuEvent (evnt, params) {
1570
+ const $xeTable = refTable.value
1571
+ if ($xeTable) {
1572
+ const tableProps = $xeTable.props
1573
+ const { menuConfig } = tableProps
1574
+ if (isEnableConf(menuConfig)) {
1575
+ evnt.stopPropagation()
1576
+ $xeTable.handleOpenMenuEvent(evnt, 'body', params)
1577
+ }
1578
+ }
1579
+ },
1580
+ handleTaskFooterContextmenuEvent (evnt, params) {
1581
+ const $xeTable = refTable.value
1582
+ if ($xeTable) {
1583
+ const tableProps = $xeTable.props
1584
+ const { menuConfig } = tableProps
1585
+ if (isEnableConf(menuConfig)) {
1586
+ evnt.stopPropagation()
1587
+ $xeTable.handleOpenMenuEvent(evnt, 'footer', params)
1588
+ }
1589
+ }
1590
+ },
1591
+ handleTaskBarContextmenuEvent (evnt, params) {
1592
+ const $xeTable = refTable.value
1593
+ if ($xeTable) {
1594
+ const tableProps = $xeTable.props
1595
+ const { menuConfig } = tableProps
1596
+ if (isEnableConf(menuConfig)) {
1597
+ evnt.stopPropagation()
1598
+ $xeTable.handleOpenMenuEvent(evnt, 'body', params)
1599
+ }
1600
+ }
1549
1601
  }
1550
1602
  }
1551
1603
 
@@ -81,6 +81,7 @@ export const tableEmits: VxeTableEmits = [
81
81
  'custom-visible-change',
82
82
  'custom-visible-all',
83
83
  'custom-fixed-change',
84
+ 'custom-sort-change',
84
85
 
85
86
  'change-fnr', // 废弃
86
87
 
@@ -106,6 +107,7 @@ export const tableEmits: VxeTableEmits = [
106
107
  'cell-area-extension-start',
107
108
  'cell-area-extension-drag',
108
109
  'cell-area-extension-end',
110
+ 'cell-area-extension-fill',
109
111
  'cell-area-selection-all-start',
110
112
  'cell-area-selection-all-end',
111
113
  'cell-area-arrows-start',