evui 3.4.21 → 3.4.23

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 (30) hide show
  1. package/dist/evui.common.js +922 -707
  2. package/dist/evui.common.js.map +1 -1
  3. package/dist/evui.umd.js +922 -707
  4. package/dist/evui.umd.js.map +1 -1
  5. package/dist/evui.umd.min.js +1 -1
  6. package/dist/evui.umd.min.js.map +1 -1
  7. package/package.json +1 -1
  8. package/src/components/chart/Chart.vue +22 -1
  9. package/src/components/chart/chart.core.js +2 -0
  10. package/src/components/chart/model/model.store.js +14 -8
  11. package/src/components/chart/plugins/plugins.legend.js +6 -0
  12. package/src/components/chartBrush/ChartBrush.vue +22 -1
  13. package/src/components/checkbox/Checkbox.vue +1 -1
  14. package/src/components/grid/Grid.vue +11 -10
  15. package/src/components/grid/{grid.columnSetting.vue → GridColumnSetting.vue} +17 -6
  16. package/src/components/grid/style/grid.scss +5 -7
  17. package/src/components/grid/uses.js +21 -5
  18. package/src/components/select/Select.vue +158 -40
  19. package/src/components/select/uses.js +21 -0
  20. package/src/components/treeGrid/TreeGrid.vue +10 -10
  21. package/src/components/treeGrid/TreeGridNode.vue +5 -5
  22. package/src/components/treeGrid/uses.js +2 -1
  23. /package/src/components/grid/{grid.filterSetting.vue → GridFilterSetting.vue} +0 -0
  24. /package/src/components/grid/{grid.pagination.vue → GridPagination.vue} +0 -0
  25. /package/src/components/grid/{grid.summary.vue → GridSummary.vue} +0 -0
  26. /package/src/components/grid/{grid.toolbar.vue → GridToolbar.vue} +0 -0
  27. /package/src/components/grid/{grid.optionButton.vue → icon/icon-option-button.vue} +0 -0
  28. /package/src/components/grid/{grid.sortButton.vue → icon/icon-sort-button.vue} +0 -0
  29. /package/src/components/treeGrid/{treeGrid.toolbar.vue → TreeGridToolbar.vue} +0 -0
  30. /package/src/components/treeGrid/{tree_icon.png → icon/icon-tree.png} +0 -0
@@ -226,6 +226,17 @@ export const useDropdown = (param) => {
226
226
  isDropbox.value = false;
227
227
  };
228
228
 
229
+ const allCheck = ref(false);
230
+ const changeAllCheck = (isCheckBoxLabel) => {
231
+ if (!isCheckBoxLabel) {
232
+ allCheck.value = !allCheck.value;
233
+ }
234
+ if (allCheck.value) {
235
+ mv.value = filteredItems.value.filter(item => !item.disabled).map(item => item.value);
236
+ } else {
237
+ mv.value = [];
238
+ }
239
+ };
229
240
  /**
230
241
  * 항목 클릭하여 선택하는 이벤트
231
242
  * 항목 내 disabled인 경우 클릭 로직을 타지 않게 한다.
@@ -250,6 +261,7 @@ export const useDropdown = (param) => {
250
261
  const idx = mv.value.indexOf(val);
251
262
  mv.value.splice(idx, 1);
252
263
  }
264
+ allCheck.value = mv.value.length === filteredItems.value.filter(item => !item.disabled).length;
253
265
  changeMv();
254
266
  };
255
267
  const clickItem = !props.multiple ? singleClickItem : multipleClickItem;
@@ -263,6 +275,13 @@ export const useDropdown = (param) => {
263
275
  const multipleSelectedCls = val => mv.value.includes(val);
264
276
  const selectedItemClass = !props.multiple ? singleSelectedCls : multipleSelectedCls;
265
277
 
278
+ watch(() => mv.value, (curr) => {
279
+ if (props.multiple && props.checkable) {
280
+ allCheck.value = curr.length === filteredItems.value.filter(item => !item.disabled).length;
281
+ changeDropboxPosition();
282
+ }
283
+ });
284
+
266
285
  return {
267
286
  select,
268
287
  selectWrapper,
@@ -278,5 +297,7 @@ export const useDropdown = (param) => {
278
297
  changeDropboxPosition,
279
298
  clickItem,
280
299
  selectedItemClass,
300
+ allCheck,
301
+ changeAllCheck,
281
302
  };
282
303
  };
@@ -71,7 +71,7 @@
71
71
  :key="index"
72
72
  >
73
73
  <li
74
- v-if="!column.hide"
74
+ v-if="!column.hide && !column.hiddenDisplay"
75
75
  :data-index="index"
76
76
  :class="getColumnClass(column)"
77
77
  :style="getColumnStyle(column, index)"
@@ -249,12 +249,12 @@ import {
249
249
  onMounted,
250
250
  onUnmounted,
251
251
  } from 'vue';
252
- import treeGridNode from './TreeGridNode';
253
- import Toolbar from './treeGrid.toolbar';
254
- import GridPagination from '../grid/grid.pagination';
255
- import GridSummary from '../grid/grid.summary';
256
- import GridOptionButton from '../grid/grid.optionButton.vue';
257
- import ColumnSetting from '../grid/grid.columnSetting.vue';
252
+ import TreeGridNode from './TreeGridNode';
253
+ import Toolbar from './TreeGridToolbar';
254
+ import GridPagination from '../grid/GridPagination';
255
+ import GridSummary from '../grid/GridSummary';
256
+ import ColumnSetting from '../grid/GridColumnSetting.vue';
257
+ import GridOptionButton from '../grid/icon/icon-option-button.vue';
258
258
  import {
259
259
  commonFunctions,
260
260
  scrollEvent,
@@ -273,12 +273,12 @@ import {
273
273
  export default {
274
274
  name: 'EvTreeGrid',
275
275
  components: {
276
- ColumnSetting,
277
- GridOptionButton,
278
- treeGridNode,
276
+ TreeGridNode,
279
277
  Toolbar,
280
278
  GridPagination,
281
279
  GridSummary,
280
+ ColumnSetting,
281
+ GridOptionButton,
282
282
  },
283
283
  props: {
284
284
  columns: {
@@ -26,7 +26,7 @@
26
26
  :key="cellIndex"
27
27
  >
28
28
  <td
29
- v-if="!column.hide"
29
+ v-if="!column.hide && !column.hiddenDisplay"
30
30
  :data-name="column.field"
31
31
  :data-index="node.index"
32
32
  :class="getColumnClass(column, cellIndex)"
@@ -133,7 +133,7 @@
133
133
 
134
134
  <script>
135
135
  import { computed } from 'vue';
136
- import GridOptionButton from '@/components/grid/grid.optionButton.vue';
136
+ import GridOptionButton from '@/components/grid/icon/icon-option-button.vue';
137
137
 
138
138
  export default {
139
139
  name: 'TreeGridNode',
@@ -312,7 +312,7 @@ export default {
312
312
  top: -3px;
313
313
  width: 11px;
314
314
  height: 10px;
315
- background: url('./tree_icon.png') no-repeat -43px -61px;
315
+ background: url('icon/icon-tree.png') no-repeat -43px -61px;
316
316
  }
317
317
  &.expand > .tree-expand-icon i {
318
318
  height: 8px;
@@ -325,13 +325,13 @@ export default {
325
325
  height: 14px;
326
326
  }
327
327
  .tree-parent-icon i {
328
- background: url('./tree_icon.png') no-repeat -39px -35px;
328
+ background: url('icon/icon-tree.png') no-repeat -39px -35px;
329
329
  }
330
330
  &.expand > .tree-parent-icon i {
331
331
  background-position: -65px -35px;
332
332
  }
333
333
  .tree-child-icon i {
334
- background: url('./tree_icon.png') no-repeat -14px -35px;
334
+ background: url('icon/icon-tree.png') no-repeat -14px -35px;
335
335
  }
336
336
  }
337
337
  .td-content {
@@ -197,7 +197,7 @@ export const resizeEvent = (params) => {
197
197
  let elWidth = bodyEl.offsetWidth;
198
198
  const elHeight = bodyEl.offsetHeight;
199
199
  const result = stores.orderedColumns.reduce((acc, column) => {
200
- if (column.hide) {
200
+ if (column.hide || column.hiddenDisplay) {
201
201
  return acc;
202
202
  }
203
203
 
@@ -306,6 +306,7 @@ export const resizeEvent = (params) => {
306
306
  const startMouseLeft = event.clientX;
307
307
  const startColumnLeft = columnRect.left - headerLeft;
308
308
 
309
+ bodyEl.style.overflow = 'auto';
309
310
  resizeLineEl.style.left = `${startLeft}px`;
310
311
 
311
312
  resizeInfo.showResizeLine = true;