vxe-gantt 0.0.2 → 4.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.
Files changed (93) hide show
  1. package/README.md +27 -1
  2. package/es/gantt/src/emits.js +4 -0
  3. package/es/gantt/src/gantt-body.js +103 -0
  4. package/es/gantt/src/gantt-chart.js +77 -0
  5. package/es/gantt/src/gantt-header.js +70 -0
  6. package/es/gantt/src/gantt-view.js +768 -0
  7. package/es/gantt/src/gantt.js +1707 -22
  8. package/es/gantt/src/grid-emits.js +16 -0
  9. package/es/gantt/src/grid-props.js +7 -0
  10. package/es/gantt/src/props.js +2 -0
  11. package/es/gantt/src/table-emits.js +97 -0
  12. package/es/gantt/src/table-props.js +298 -0
  13. package/es/gantt/src/util.js +12 -0
  14. package/es/gantt/style.css +599 -0
  15. package/es/gantt/style.min.css +1 -0
  16. package/es/style.css +1 -0
  17. package/es/style.min.css +1 -0
  18. package/es/ui/index.js +47 -3
  19. package/es/ui/src/dom.js +44 -105
  20. package/es/ui/src/log.js +1 -1
  21. package/es/ui/src/utils.js +18 -17
  22. package/es/ui/src/vn.js +1 -32
  23. package/es/vxe-gantt/style.css +599 -0
  24. package/es/vxe-gantt/style.min.css +1 -0
  25. package/lib/gantt/src/emits.js +8 -0
  26. package/lib/gantt/src/emits.min.js +1 -0
  27. package/lib/gantt/src/gantt-body.js +118 -0
  28. package/lib/gantt/src/gantt-body.min.js +1 -0
  29. package/lib/gantt/src/gantt-chart.js +94 -0
  30. package/lib/gantt/src/gantt-chart.min.js +1 -0
  31. package/lib/gantt/src/gantt-header.js +78 -0
  32. package/lib/gantt/src/gantt-header.min.js +1 -0
  33. package/lib/gantt/src/gantt-view.js +810 -0
  34. package/lib/gantt/src/gantt-view.min.js +1 -0
  35. package/lib/gantt/src/gantt.js +1945 -20
  36. package/lib/gantt/src/gantt.min.js +1 -1
  37. package/lib/gantt/src/grid-emits.js +8 -0
  38. package/lib/gantt/src/grid-emits.min.js +1 -0
  39. package/lib/gantt/src/grid-props.js +24 -0
  40. package/lib/gantt/src/grid-props.min.js +1 -0
  41. package/lib/gantt/src/props.js +13 -0
  42. package/lib/gantt/src/props.min.js +1 -0
  43. package/lib/gantt/src/table-emits.js +7 -0
  44. package/lib/gantt/src/table-emits.min.js +1 -0
  45. package/lib/gantt/src/table-props.js +306 -0
  46. package/lib/gantt/src/table-props.min.js +1 -0
  47. package/lib/gantt/src/util.js +19 -0
  48. package/lib/gantt/src/util.min.js +1 -0
  49. package/lib/gantt/style/style.css +599 -0
  50. package/lib/gantt/style/style.min.css +1 -0
  51. package/lib/index.umd.js +6554 -140
  52. package/lib/index.umd.min.js +1 -1
  53. package/lib/style.css +1 -0
  54. package/lib/style.min.css +1 -0
  55. package/lib/ui/index.js +47 -3
  56. package/lib/ui/index.min.js +1 -1
  57. package/lib/ui/src/dom.js +50 -110
  58. package/lib/ui/src/dom.min.js +1 -1
  59. package/lib/ui/src/log.js +1 -1
  60. package/lib/ui/src/log.min.js +1 -1
  61. package/lib/ui/src/utils.js +24 -20
  62. package/lib/ui/src/utils.min.js +1 -1
  63. package/lib/ui/src/vn.js +1 -43
  64. package/lib/ui/src/vn.min.js +0 -1
  65. package/lib/vxe-gantt/style/style.css +599 -0
  66. package/lib/vxe-gantt/style/style.min.css +1 -0
  67. package/package.json +4 -4
  68. package/packages/gantt/src/emits.ts +7 -0
  69. package/packages/gantt/src/gantt-body.ts +119 -0
  70. package/packages/gantt/src/gantt-chart.ts +97 -0
  71. package/packages/gantt/src/gantt-header.ts +79 -0
  72. package/packages/gantt/src/gantt-view.ts +840 -0
  73. package/packages/gantt/src/gantt.ts +1806 -24
  74. package/packages/gantt/src/grid-emits.ts +19 -0
  75. package/packages/gantt/src/grid-props.ts +23 -0
  76. package/packages/gantt/src/props.ts +13 -0
  77. package/packages/gantt/src/table-emits.ts +109 -0
  78. package/packages/gantt/src/table-props.ts +304 -0
  79. package/packages/gantt/src/util.ts +15 -0
  80. package/packages/ui/index.ts +48 -2
  81. package/packages/ui/src/dom.ts +53 -110
  82. package/packages/ui/src/log.ts +1 -1
  83. package/packages/ui/src/utils.ts +22 -21
  84. package/packages/ui/src/vn.ts +0 -37
  85. package/styles/components/gantt-module/all.scss +1 -0
  86. package/styles/components/gantt-module/gantt-chart.scss +46 -0
  87. package/styles/components/gantt.scss +586 -0
  88. package/styles/helpers/baseMixin.scss +96 -0
  89. package/styles/helpers/baseVar.scss +4 -0
  90. package/styles/helpers/placement.scss +39 -0
  91. package/styles/theme/base.scss +7 -0
  92. package/styles/theme/dark.scss +5 -0
  93. package/styles/theme/light.scss +5 -0
package/es/style.min.css CHANGED
@@ -0,0 +1 @@
1
+ :root{--vxe-ui-gantt-view-column-width:40px;--vxe-ui-gantt-view-chart-bar-height:1.6em;--vxe-ui-gantt-view-split-bar-width:10px;--vxe-ui-gantt-view-split-bar-height:6.8em}[data-vxe-ui-theme=light]{--vxe-ui-gantt-view-handle-background-color:#8b8b8b;--vxe-ui-gantt-view-split-bar-background-color:#e2e2e3}[data-vxe-ui-theme=dark]{--vxe-ui-gantt-view-handle-background-color:#9f9f9f;--vxe-ui-gantt-view-split-bar-background-color:#444}.vxe-gantt-view--chart-wrapper{position:absolute;top:0;left:0;pointer-events:none}.vxe-gantt-view--chart-row{position:relative}.vxe-gantt-view--chart-bar{display:flex;flex-direction:row;width:100px;top:50%;color:#fff;transform:translateY(-50%);height:var(--vxe-ui-gantt-view-chart-bar-height);background-color:var(--vxe-ui-font-primary-lighten-color);pointer-events:all}.vxe-gantt-view--chart-bar,.vxe-gantt-view--chart-bar:hover:after{position:absolute;left:0;border-radius:var(--vxe-ui-base-border-radius)}.vxe-gantt-view--chart-bar:hover:after{content:"";top:0;width:100%;height:100%;background-color:rgba(0,0,0,.1)}.vxe-gantt-view--chart-progress{flex-shrink:0;width:40px;text-align:left;border-radius:var(--vxe-ui-base-border-radius) 0 0 var(--vxe-ui-base-border-radius);background-color:var(--vxe-ui-font-primary-color)}.vxe-gantt-view--chart-content{flex-grow:1;text-align:right}.vxe-gantt{position:relative;overflow:auto;display:flex;flex-direction:column}.vxe-gantt.is--loading:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;z-index:99;-webkit-user-select:none;-moz-user-select:none;user-select:none;background-color:var(--vxe-ui-loading-background-color)}.vxe-gantt.is--loading>.vxe-gantt-view .vxe-loading{background-color:transparent}.vxe-gantt.is--maximize{position:fixed;top:0;left:0;width:100%;height:100%;padding:.5em 1em;background-color:var(--vxe-ui-layout-background-color)}.vxe-gantt.is--split-drag{cursor:col-resize}.vxe-gantt.is--split-drag .vxe-gantt--table-wrapper:after,.vxe-gantt.is--split-drag .vxe-gantt--view-wrapper:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;z-index:1;background:transparent;-webkit-user-select:none;-moz-user-select:none;user-select:none}.vxe-gantt .vxe-gantt--bottom-wrapper,.vxe-gantt .vxe-gantt--form-wrapper,.vxe-gantt .vxe-gantt--top-wrapper{position:relative}.vxe-gantt .vxe-gantt--gantt-container{position:relative;display:flex;flex-direction:row}.vxe-gantt .vxe-gantt--left-wrapper,.vxe-gantt .vxe-gantt--right-wrapper{flex-shrink:0;overflow:auto;outline:0}.vxe-gantt .vxe-gantt--table-wrapper,.vxe-gantt .vxe-gantt--view-wrapper{display:none;position:relative;flex-grow:1;overflow:hidden}.vxe-gantt .vxe-gantt--view-split-bar{flex-shrink:0;cursor:col-resize;width:var(--vxe-ui-gantt-view-split-bar-width);background-color:var(--vxe-ui-gantt-view-split-bar-background-color)}.vxe-gantt.show--left .vxe-gantt--table-wrapper{display:block}.vxe-gantt.show--left.show--right .vxe-gantt--table-wrapper{flex-grow:unset;flex-shrink:0;width:30%}.vxe-gantt.show--right .vxe-gantt--view-wrapper{display:block}.vxe-gantt--layout-body-wrapper{display:flex;flex-direction:row;overflow:auto;flex-grow:1}.vxe-gantt--layout-body-content-wrapper{flex-grow:1;overflow:hidden}.vxe-gantt--layout-aside-left-wrapper,.vxe-gantt--layout-footer-wrapper,.vxe-gantt--layout-header-wrapper{flex-shrink:0;overflow:auto}.vxe-gantt--border-line{position:absolute;top:0;left:0;width:100%;height:100%;z-index:10;pointer-events:none;border:var(--vxe-ui-table-border-width) solid var(--vxe-ui-table-border-color)}.vxe-gantt.border--default .vxe-gantt-view--header-wrapper,.vxe-gantt.border--full .vxe-gantt-view--header-wrapper,.vxe-gantt.border--outer .vxe-gantt-view--header-wrapper{background-color:var(--vxe-ui-table-header-background-color)}.vxe-gantt.border--full .vxe-gantt-view--body-column,.vxe-gantt.border--full .vxe-gantt-view--footer-column,.vxe-gantt.border--full .vxe-gantt-view--header-column{background-image:linear-gradient(var(--vxe-ui-table-border-color),var(--vxe-ui-table-border-color)),linear-gradient(var(--vxe-ui-table-border-color),var(--vxe-ui-table-border-color));background-repeat:no-repeat;background-size:var(--vxe-ui-table-border-width) 100%,100% var(--vxe-ui-table-border-width);background-position:100% 0,100% 100%}.vxe-gantt.border--default .vxe-gantt-view--scroll-y-bottom-corner:before,.vxe-gantt.border--default .vxe-gantt-view--scroll-y-top-corner:before,.vxe-gantt.border--full .vxe-gantt-view--scroll-y-bottom-corner:before,.vxe-gantt.border--full .vxe-gantt-view--scroll-y-top-corner:before,.vxe-gantt.border--inner .vxe-gantt-view--scroll-y-bottom-corner:before,.vxe-gantt.border--inner .vxe-gantt-view--scroll-y-top-corner:before,.vxe-gantt.border--outer .vxe-gantt-view--scroll-y-bottom-corner:before,.vxe-gantt.border--outer .vxe-gantt-view--scroll-y-top-corner:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;z-index:1;border-width:0;border-style:solid;border-color:var(--vxe-ui-table-border-color)}.vxe-gantt.border--default .vxe-gantt-view--scroll-y-top-corner:before,.vxe-gantt.border--full .vxe-gantt-view--scroll-y-top-corner:before,.vxe-gantt.border--inner .vxe-gantt-view--scroll-y-top-corner:before,.vxe-gantt.border--outer .vxe-gantt-view--scroll-y-top-corner:before{border-bottom-width:var(--vxe-ui-table-border-width)}.vxe-gantt.border--default .vxe-gantt-view--scroll-y-bottom-corner,.vxe-gantt.border--full .vxe-gantt-view--scroll-y-bottom-corner,.vxe-gantt.border--inner .vxe-gantt-view--scroll-y-bottom-corner,.vxe-gantt.border--outer .vxe-gantt-view--scroll-y-bottom-corner{border-top:var(--vxe-ui-table-border-width) solid var(--vxe-ui-table-border-color)}.vxe-gantt.border--default .vxe-gantt-view--scroll-x-wrapper:after,.vxe-gantt.border--full .vxe-gantt-view--scroll-x-wrapper:after,.vxe-gantt.border--inner .vxe-gantt-view--scroll-x-wrapper:after,.vxe-gantt.border--outer .vxe-gantt-view--scroll-x-wrapper:after{content:"";position:absolute;left:0;width:100%;height:100%;z-index:1;pointer-events:none}.vxe-gantt.border--default.sx-pos--top .vxe-gantt-view--scroll-x-wrapper:after,.vxe-gantt.border--full.sx-pos--top .vxe-gantt-view--scroll-x-wrapper:after,.vxe-gantt.border--inner.sx-pos--top .vxe-gantt-view--scroll-x-wrapper:after,.vxe-gantt.border--outer.sx-pos--top .vxe-gantt-view--scroll-x-wrapper:after{top:0;border-bottom:var(--vxe-ui-table-border-width) solid var(--vxe-ui-table-border-color)}.vxe-gantt.border--default.sx-pos--bottom .vxe-gantt-view--scroll-x-wrapper:after,.vxe-gantt.border--full.sx-pos--bottom .vxe-gantt-view--scroll-x-wrapper:after,.vxe-gantt.border--inner.sx-pos--bottom .vxe-gantt-view--scroll-x-wrapper:after,.vxe-gantt.border--outer.sx-pos--bottom .vxe-gantt-view--scroll-x-wrapper:after{bottom:0;height:calc(100% + var(--vxe-ui-table-border-width));border-top:var(--vxe-ui-table-border-width) solid var(--vxe-ui-table-border-color)}.vxe-gantt.border--default .vxe-gantt-view--scroll-y-bottom-corner:before,.vxe-gantt.border--default .vxe-gantt-view--scroll-y-top-corner:before,.vxe-gantt.border--full .vxe-gantt-view--scroll-y-bottom-corner:before,.vxe-gantt.border--full .vxe-gantt-view--scroll-y-top-corner:before{border-left-width:var(--vxe-ui-table-border-width);border-right-width:var(--vxe-ui-table-border-width)}.vxe-gantt.border--default.sy-pos--right .vxe-gantt-view--scroll-y-bottom-corner:before,.vxe-gantt.border--default.sy-pos--right .vxe-gantt-view--scroll-y-top-corner:before,.vxe-gantt.border--full.sy-pos--right .vxe-gantt-view--scroll-y-bottom-corner:before,.vxe-gantt.border--full.sy-pos--right .vxe-gantt-view--scroll-y-top-corner:before{width:calc(100% + 1px);left:-1px}.vxe-gantt.border--default .vxe-gantt-view--scroll-y-wrapper:after,.vxe-gantt.border--full .vxe-gantt-view--scroll-y-wrapper:after{content:"";position:absolute;top:0;width:100%;height:100%;z-index:1;pointer-events:none}.vxe-gantt.border--default.sy-pos--left .vxe-gantt-view--scroll-y-wrapper:after,.vxe-gantt.border--full.sy-pos--left .vxe-gantt-view--scroll-y-wrapper:after{left:0;border-right:var(--vxe-ui-table-border-width) solid var(--vxe-ui-table-border-color)}.vxe-gantt.border--default.sy-pos--right .vxe-gantt-view--scroll-y-wrapper:after,.vxe-gantt.border--full.sy-pos--right .vxe-gantt-view--scroll-y-wrapper:after{right:0;width:calc(100% + var(--vxe-ui-table-border-width));border-left:var(--vxe-ui-table-border-width) solid var(--vxe-ui-table-border-color)}.vxe-gantt--view-split-bar{position:relative;-webkit-user-select:none;-moz-user-select:none;user-select:none}.vxe-gantt--view-split-bar-handle{position:absolute;top:0;left:0;width:100%;height:100%;z-index:13}.vxe-gantt--view-split-bar-btn-wrapper{display:flex;flex-direction:column;align-items:center;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:15;pointer-events:none}.vxe-gantt--view-split-bar-left-btn,.vxe-gantt--view-split-bar-right-btn{display:flex;flex-direction:row;align-items:center;justify-content:center;font-size:.5em;height:var(--vxe-ui-gantt-view-split-bar-height);width:var(--vxe-ui-gantt-view-split-bar-width);color:var(--vxe-ui-layout-background-color);border-radius:var(--vxe-ui-base-border-radius);background-color:var(--vxe-ui-gantt-view-handle-background-color);border:1px solid var(--vxe-ui-input-border-color);pointer-events:all;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:all .1s ease-in-out}.vxe-gantt--view-split-bar-left-btn:hover,.vxe-gantt--view-split-bar-right-btn:hover{background-color:var(--vxe-ui-font-primary-lighten-color)}.vxe-gantt--view-split-bar-left-btn:active,.vxe-gantt--view-split-bar-right-btn:active{transform:scale(.9)}.vxe-gantt--view-split-bar-right-btn{margin-top:1em}.vxe-gantt--resizable-split-tip{display:none;position:absolute;top:0;left:0;width:1px;height:100%;z-index:18;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;cursor:col-resize}.vxe-gantt--resizable-split-tip:before{content:"";display:block;height:100%;background-color:var(--vxe-ui-table-resizable-drag-line-color)}.vxe-gantt--resizable-split-tip-number{position:absolute;top:0;left:0;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:none}.vxe-gantt--resizable-split-number-left,.vxe-gantt--resizable-split-number-right{position:absolute;padding:.25em .25em;font-size:12px;border-radius:var(--vxe-ui-border-radius);white-space:nowrap;color:#fff;background-color:var(--vxe-ui-table-resizable-drag-line-color)}.vxe-gantt--resizable-split-number-left{right:0}.vxe-gantt--resizable-split-number-right{left:1px}.vxe-gantt.is--loading>.vxe-gantt-view--layout-wrapper>.vxe-gantt-view--scroll-y-virtual,.vxe-gantt.is--loading>.vxe-gantt-view--scroll-x-virtual{visibility:hidden}.vxe-gantt .vxe-gantt-view--scroll-x-virtual{height:0}.vxe-gantt .vxe-gantt-view--scroll-y-virtual{width:0}.vxe-gantt .vxe-gantt-view--scroll-x-virtual,.vxe-gantt .vxe-gantt-view--scroll-y-virtual{visibility:hidden;position:relative;flex-shrink:0;z-index:7}.vxe-gantt .vxe-gantt-view--scroll-x-handle,.vxe-gantt .vxe-gantt-view--scroll-x-left-corner,.vxe-gantt .vxe-gantt-view--scroll-x-right-corner,.vxe-gantt .vxe-gantt-view--scroll-x-wrapper,.vxe-gantt .vxe-gantt-view--scroll-y-bottom-corner,.vxe-gantt .vxe-gantt-view--scroll-y-handle,.vxe-gantt .vxe-gantt-view--scroll-y-top-corner,.vxe-gantt .vxe-gantt-view--scroll-y-wrapper{position:absolute}.vxe-gantt .vxe-gantt-view--scroll-x-handle,.vxe-gantt .vxe-gantt-view--scroll-x-wrapper{width:100%;left:0;bottom:0}.vxe-gantt .vxe-gantt-view--scroll-x-handle{overflow-y:hidden;overflow-x:scroll;height:18px}.vxe-gantt .vxe-gantt-view--scroll-x-wrapper{height:100%}.vxe-gantt .vxe-gantt-view--scroll-y-handle,.vxe-gantt .vxe-gantt-view--scroll-y-wrapper{width:100%;height:100%;right:0;top:0}.vxe-gantt .vxe-gantt-view--scroll-y-handle{overflow-y:scroll;overflow-x:hidden;width:18px;height:100%}.vxe-gantt .vxe-gantt-view--scroll-x-space{height:1px}.vxe-gantt .vxe-gantt-view--scroll-y-space{width:1px}.vxe-gantt .vxe-gantt-view--scroll-x-left-corner,.vxe-gantt .vxe-gantt-view--scroll-x-right-corner,.vxe-gantt .vxe-gantt-view--scroll-y-bottom-corner,.vxe-gantt .vxe-gantt-view--scroll-y-top-corner{display:none;position:absolute}.vxe-gantt .vxe-gantt-view--scroll-x-left-corner,.vxe-gantt .vxe-gantt-view--scroll-x-right-corner{bottom:0;width:0;height:100%}.vxe-gantt .vxe-gantt-view--scroll-x-left-corner:before,.vxe-gantt .vxe-gantt-view--scroll-x-right-corner:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;z-index:1;border-width:var(--vxe-ui-table-border-width);border-style:solid;border-color:var(--vxe-ui-table-border-color)}.vxe-gantt .vxe-gantt-view--scroll-x-left-corner{left:0}.vxe-gantt .vxe-gantt-view--scroll-x-right-corner{right:0}.vxe-gantt.sy-pos--right .vxe-gantt-view--scroll-x-right-corner{right:1px}.vxe-gantt.sy-pos--right .vxe-gantt-view--scroll-x-right-corner:before{border-right:0}.vxe-gantt.sx-pos--bottom .vxe-gantt-view--scroll-x-right-corner{bottom:1px}.vxe-gantt.sx-pos--bottom .vxe-gantt-view--scroll-x-right-corner:before{border-bottom:0}.vxe-gantt .vxe-gantt-view--scroll-y-top-corner{background-color:var(--vxe-ui-table-header-background-color)}.vxe-gantt .vxe-gantt-view--scroll-y-bottom-corner,.vxe-gantt .vxe-gantt-view--scroll-y-top-corner{top:0;right:0;width:100%;height:0}.vxe-gantt .vxe-gantt-view--scroll-y-bottom-corner{margin-top:-1px}.vxe-gantt-view--layout-wrapper{display:flex;flex-direction:row;background-color:var(--vxe-ui-layout-background-color)}.vxe-gantt-view--viewport-wrapper{position:relative;overflow:hidden;flex-grow:1}.vxe-gantt-view--render-vars{width:0;height:0;overflow:hidden}.vxe-gantt-view--column-info{width:var(--vxe-ui-gantt-view-column-width)}.vxe-gantt-view{flex-grow:1;overflow:hidden}.vxe-gantt-view .vxe-body--x-space{width:100%;height:1px;margin-bottom:-1px}.vxe-gantt-view .vxe-body--y-space{width:0;float:left}.vxe-gantt-view--header-table{height:100%}.vxe-gantt-view--body-table,.vxe-gantt-view--header-table{border:0;border-spacing:0;border-collapse:separate;table-layout:fixed}.vxe-gantt-view--body-table col,.vxe-gantt-view--header-table col{width:var(--vxe-ui-gantt-view-column-width)}.vxe-gantt-view--body-wrapper,.vxe-gantt-view--header-wrapper{overflow:hidden}.vxe-gantt-view--header-inner-wrapper{overflow-y:hidden;overflow-x:scroll}.vxe-gantt-view--body-inner-wrapper{overflow-y:auto;overflow-x:auto}.vxe-gantt-view--body-inner-wrapper,.vxe-gantt-view--header-inner-wrapper{position:relative;width:100%;height:100%;scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch}.vxe-gantt-view--header-column{text-align:center;font-size:1em}.vxe-gantt-view--body-column{height:48px}.vxe-gantt-view--body-column,.vxe-gantt-view--footer-column,.vxe-gantt-view--header-column{position:relative;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vxe-gantt-view.mode--day .vxe-gantt-view--header-column{height:50%}.vxe-gantt{font-size:var(--vxe-ui-font-size-default)}.vxe-gantt.size--medium{font-size:var(--vxe-ui-font-size-medium)}.vxe-gantt.size--small{font-size:var(--vxe-ui-font-size-small)}.vxe-gantt.size--mini{font-size:var(--vxe-ui-font-size-mini)}
package/es/ui/index.js CHANGED
@@ -1,8 +1,52 @@
1
1
  import { VxeUI, setConfig, setIcon } from '@vxe-ui/core';
2
- VxeUI.ganttVersion = "0.0.2";
2
+ VxeUI.ganttVersion = "0.0.3";
3
3
  setConfig({
4
- gantt: {}
4
+ gantt: {
5
+ // size: null,
6
+ // zoomConfig: {
7
+ // escRestore: true
8
+ // },
9
+ formConfig: {
10
+ enabled: true
11
+ },
12
+ pagerConfig: {
13
+ enabled: true
14
+ // perfect: false
15
+ },
16
+ toolbarConfig: {
17
+ enabled: true
18
+ // perfect: false
19
+ },
20
+ proxyConfig: {
21
+ enabled: true,
22
+ autoLoad: true,
23
+ showLoading: true,
24
+ showResponseMsg: true,
25
+ showActionMsg: true,
26
+ response: {
27
+ list: null,
28
+ result: 'result',
29
+ total: 'page.total',
30
+ message: 'message'
31
+ }
32
+ // beforeItem: null,
33
+ // beforeColumn: null,
34
+ // beforeQuery: null,
35
+ // afterQuery: null,
36
+ // beforeDelete: null,
37
+ // afterDelete: null,
38
+ // beforeSave: null,
39
+ // afterSave: null
40
+ }
41
+ }
42
+ });
43
+ const iconPrefix = 'vxe-icon-';
44
+ setIcon({
45
+ // gantt
46
+ GANTT_VIEW_LEFT_OPEN: iconPrefix + 'arrow-left',
47
+ GANTT_VIEW_LEFT_CLOSE: iconPrefix + 'arrow-right',
48
+ GANTT_VIEW_RIGHT_OPEN: iconPrefix + 'arrow-right',
49
+ GANTT_VIEW_RIGHT_CLOSE: iconPrefix + 'arrow-left'
5
50
  });
6
- setIcon({});
7
51
  export * from '@vxe-ui/core';
8
52
  export default VxeUI;
package/es/ui/src/dom.js CHANGED
@@ -1,4 +1,5 @@
1
1
  import XEUtils from 'xe-utils';
2
+ const reClsMap = {};
2
3
  let tpImgEl;
3
4
  export function initTpImg() {
4
5
  if (!tpImgEl) {
@@ -13,7 +14,9 @@ export function getTpImg() {
13
14
  }
14
15
  return tpImgEl;
15
16
  }
16
- const reClsMap = {};
17
+ export function getPropClass(property, params) {
18
+ return property ? XEUtils.isFunction(property) ? property(params) : property : '';
19
+ }
17
20
  function getClsRE(cls) {
18
21
  if (!reClsMap[cls]) {
19
22
  reClsMap[cls] = new RegExp(`(?:^|\\s)${cls}(?!\\S)`, 'g');
@@ -64,6 +67,12 @@ export function toCssUnit(val, unit = 'px') {
64
67
  }
65
68
  return `${val || ''}`;
66
69
  }
70
+ export function queryElement(elem, selector) {
71
+ if (elem) {
72
+ return elem.querySelector(selector);
73
+ }
74
+ return null;
75
+ }
67
76
  export function getDomNode() {
68
77
  const documentElement = document.documentElement;
69
78
  const bodyElem = document.body;
@@ -74,6 +83,40 @@ export function getDomNode() {
74
83
  visibleWidth: documentElement.clientWidth || bodyElem.clientWidth
75
84
  };
76
85
  }
86
+ export function getOffsetHeight(elem) {
87
+ return elem ? elem.offsetHeight : 0;
88
+ }
89
+ export function getPaddingTopBottomSize(elem) {
90
+ if (elem) {
91
+ const computedStyle = getComputedStyle(elem);
92
+ const paddingTop = XEUtils.toNumber(computedStyle.paddingTop);
93
+ const paddingBottom = XEUtils.toNumber(computedStyle.paddingBottom);
94
+ return paddingTop + paddingBottom;
95
+ }
96
+ return 0;
97
+ }
98
+ export function setScrollTop(elem, scrollTop) {
99
+ if (elem) {
100
+ elem.scrollTop = scrollTop;
101
+ }
102
+ }
103
+ export function setScrollLeft(elem, scrollLeft) {
104
+ if (elem) {
105
+ elem.scrollLeft = scrollLeft;
106
+ }
107
+ }
108
+ // export function setScrollLeftAndTop (elem: HTMLElement | null, scrollLeft: number, scrollTop: number) {
109
+ // if (elem) {
110
+ // elem.scrollLeft = scrollLeft
111
+ // elem.scrollTop = scrollTop
112
+ // }
113
+ // }
114
+ export function updateCellTitle(overflowElem, column) {
115
+ const content = column.type === 'html' ? overflowElem.innerText : overflowElem.textContent;
116
+ if (overflowElem.getAttribute('title') !== content) {
117
+ overflowElem.setAttribute('title', content);
118
+ }
119
+ }
77
120
  /**
78
121
  * 检查触发源是否属于目标节点
79
122
  */
@@ -104,15 +147,6 @@ export function getAbsolutePos(elem) {
104
147
  const { scrollTop, scrollLeft, visibleHeight, visibleWidth } = getDomNode();
105
148
  return { boundingTop, top: scrollTop + boundingTop, boundingLeft, left: scrollLeft + boundingLeft, visibleHeight, visibleWidth };
106
149
  }
107
- export function getPaddingTopBottomSize(elem) {
108
- if (elem) {
109
- const computedStyle = getComputedStyle(elem);
110
- const paddingTop = XEUtils.toNumber(computedStyle.paddingTop);
111
- const paddingBottom = XEUtils.toNumber(computedStyle.paddingBottom);
112
- return paddingTop + paddingBottom;
113
- }
114
- return 0;
115
- }
116
150
  const scrollIntoViewIfNeeded = 'scrollIntoViewIfNeeded';
117
151
  const scrollIntoView = 'scrollIntoView';
118
152
  export function scrollToView(elem) {
@@ -133,98 +167,3 @@ export function triggerEvent(targetElem, type) {
133
167
  export function isNodeElement(elem) {
134
168
  return elem && elem.nodeType === 1;
135
169
  }
136
- export function updatePanelPlacement(targetElem, panelElem, options) {
137
- const { placement, teleportTo, marginSize } = Object.assign({ teleportTo: false, marginSize: 32 }, options);
138
- let panelPlacement = 'bottom';
139
- let top = '';
140
- let bottom = '';
141
- let left = '';
142
- const right = '';
143
- let minWidth = '';
144
- const stys = {};
145
- if (panelElem && targetElem) {
146
- const documentElement = document.documentElement;
147
- const bodyElem = document.body;
148
- const targetHeight = targetElem.offsetHeight;
149
- const panelHeight = panelElem.offsetHeight;
150
- const panelWidth = panelElem.offsetWidth;
151
- const panelRect = panelElem.getBoundingClientRect();
152
- const targetRect = targetElem.getBoundingClientRect();
153
- const visibleHeight = documentElement.clientHeight || bodyElem.clientHeight;
154
- const visibleWidth = documentElement.clientWidth || bodyElem.clientWidth;
155
- minWidth = targetElem.offsetWidth;
156
- if (teleportTo) {
157
- left = targetRect.left;
158
- top = targetRect.top + targetHeight;
159
- if (placement === 'top') {
160
- panelPlacement = 'top';
161
- top = targetRect.top - panelHeight;
162
- }
163
- else if (!placement) {
164
- // 如果下面不够放,则向上
165
- if (top + panelHeight + marginSize > visibleHeight) {
166
- panelPlacement = 'top';
167
- top = targetRect.top - panelHeight;
168
- }
169
- // 如果上面不够放,则向下(优先)
170
- if (top < marginSize) {
171
- panelPlacement = 'bottom';
172
- top = targetRect.top + targetHeight;
173
- }
174
- }
175
- // 如果溢出右边
176
- if (left + panelWidth + marginSize > visibleWidth) {
177
- left -= left + panelWidth + marginSize - visibleWidth;
178
- }
179
- // 如果溢出左边
180
- if (left < marginSize) {
181
- left = marginSize;
182
- }
183
- }
184
- else {
185
- if (placement === 'top') {
186
- panelPlacement = 'top';
187
- bottom = targetHeight;
188
- }
189
- else if (!placement) {
190
- // 如果下面不够放,则向上
191
- top = targetHeight;
192
- if (targetRect.top + targetRect.height + marginSize > visibleHeight) {
193
- // 如果上面不够放,则向下(优先)
194
- if (targetRect.top - targetHeight - panelHeight > marginSize) {
195
- panelPlacement = 'top';
196
- top = '';
197
- bottom = targetHeight;
198
- }
199
- }
200
- }
201
- // 是否超出右侧
202
- if (panelRect.left + panelRect.width + marginSize > visibleWidth) {
203
- left = -(panelRect.left + panelRect.width + marginSize - visibleWidth);
204
- }
205
- }
206
- if (XEUtils.isNumber(top)) {
207
- stys.top = toCssUnit(top);
208
- }
209
- if (XEUtils.isNumber(bottom)) {
210
- stys.bottom = toCssUnit(bottom);
211
- }
212
- if (XEUtils.isNumber(left)) {
213
- stys.left = toCssUnit(left);
214
- }
215
- if (XEUtils.isNumber(right)) {
216
- stys.right = toCssUnit(right);
217
- }
218
- if (XEUtils.isNumber(minWidth)) {
219
- stys.minWidth = toCssUnit(minWidth);
220
- }
221
- }
222
- return {
223
- top: top || 0,
224
- bottom: bottom || 0,
225
- left: left || 0,
226
- right: right || 0,
227
- style: stys,
228
- placement: panelPlacement
229
- };
230
- }
package/es/ui/src/log.js CHANGED
@@ -1,4 +1,4 @@
1
1
  import { log } from '@vxe-ui/core';
2
- const version = `ui v${"0.0.2"}`;
2
+ const version = `gantt v${"0.0.3"}`;
3
3
  export const warnLog = log.create('warn', version);
4
4
  export const errLog = log.create('error', version);
@@ -1,40 +1,41 @@
1
1
  import XEUtils from 'xe-utils';
2
- import { getConfig } from '@vxe-ui/core';
2
+ import { VxeUI } from '@vxe-ui/core';
3
3
  import DomZIndex from 'dom-zindex';
4
4
  export function isEnableConf(conf) {
5
5
  return conf && conf.enabled !== false;
6
6
  }
7
+ export function isEmptyValue(cellValue) {
8
+ return cellValue === null || cellValue === undefined || cellValue === '';
9
+ }
10
+ export function parseFile(file) {
11
+ const name = file.name;
12
+ const tIndex = XEUtils.lastIndexOf(name, '.');
13
+ const type = name.substring(tIndex + 1, name.length).toLowerCase();
14
+ const filename = name.substring(0, tIndex);
15
+ return { filename, type };
16
+ }
7
17
  export function nextZIndex() {
8
18
  return DomZIndex.getNext();
9
19
  }
10
20
  export function getLastZIndex() {
11
21
  return DomZIndex.getCurrent();
12
22
  }
13
- export function nextSubZIndex() {
14
- return DomZIndex.getSubNext();
15
- }
16
- export function getSubLastZIndex() {
17
- return DomZIndex.getSubCurrent();
18
- }
19
- export function getGlobalDefaultConfig(value, globalValue) {
20
- if (XEUtils.eqNull(value)) {
21
- return globalValue;
22
- }
23
- return value;
23
+ export function hasChildrenList(item) {
24
+ return item && item.children && item.children.length > 0;
24
25
  }
25
26
  export function getFuncText(content, args) {
26
27
  if (content) {
27
- const translate = getConfig().translate;
28
+ const translate = VxeUI.getConfig().translate;
28
29
  return XEUtils.toValueString(translate ? translate('' + content, args) : content);
29
30
  }
30
31
  return '';
31
32
  }
33
+ export function formatText(value, placeholder) {
34
+ return '' + (isEmptyValue(value) ? (placeholder ? VxeUI.getConfig().emptyCell : '') : value);
35
+ }
32
36
  /**
33
37
  * 判断值为:'' | null | undefined 时都属于空值
34
38
  */
35
39
  export function eqEmptyValue(cellValue) {
36
- return cellValue === null || cellValue === undefined || cellValue === '';
37
- }
38
- export function handleBooleanDefaultValue(value) {
39
- return XEUtils.isBoolean(value) ? value : null;
40
+ return cellValue === '' || XEUtils.eqNull(cellValue);
40
41
  }
package/es/ui/src/vn.js CHANGED
@@ -1,32 +1 @@
1
- import XEUtils from 'xe-utils';
2
- export function getOnName(type) {
3
- return 'on' + type.substring(0, 1).toLocaleUpperCase() + type.substring(1);
4
- }
5
- export function getModelEvent(name) {
6
- switch (name) {
7
- case 'input':
8
- case 'textarea':
9
- return 'input';
10
- case 'select':
11
- return 'change';
12
- }
13
- return 'update:modelValue';
14
- }
15
- export function getChangeEvent(name) {
16
- switch (name) {
17
- case 'input':
18
- case 'textarea':
19
- case 'VxeInput':
20
- case 'VxeTextarea':
21
- case '$input': // 已废弃
22
- case '$textarea': // 已废弃
23
- return 'input';
24
- }
25
- return 'change';
26
- }
27
- export function getSlotVNs(vns) {
28
- if (XEUtils.isArray(vns)) {
29
- return vns;
30
- }
31
- return vns ? [vns] : [];
32
- }
1
+ "use strict";