Skip to content

Commit

Permalink
[#1594] Grid > header context menu 숨김/노출 여부 관련 옵션 추가 (#1595)
Browse files Browse the repository at this point in the history
* [#1594] Grid > header context menu 숨김/노출 여부 관련 옵션 추가
#############################
- 각 item 별로 숨김/노출 여부를 결정하는 객체 형태의 hiddenColumnMenuItem 옵션 추가

* [#1594] Grid > header context menu 숨김/노출 여부 관련 옵션 추가
#############################

* [#1594] Grid > header context menu 숨김/노출 여부 관련 옵션 추가
#############################
- 버전업

---------

Co-authored-by: jiyoung.oh <jiyoung.oh@ex-em.com>
  • Loading branch information
ohjiyoung and ojiyoung authored Jan 31, 2024
1 parent fda2b7f commit 2a135b5
Show file tree
Hide file tree
Showing 4 changed files with 17 additions and 6 deletions.
5 changes: 5 additions & 0 deletions docs/views/grid/api/grid.md
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,11 @@
| | | highlight | 지정한 row에 Highlight 효과를 설정한다. | `rowIndex` |
| | customContextMenu | [] | 우클릭시 보여지는 컨텍스트 메뉴를 설정한다. | |
| | | menuItems | 컨텍스트 메뉴 | |
| | hiddenColumnMenuItem | {} | 그리드 헤더 클릭시 보여지는 컨텍스트 메뉴 각 아이템의 표시 여부를 설정한다. (`true`: 숨김 / `false`: 노출 / Default: `false`) | |
| | | ascending | 오름차순 정렬 | Boolean |
| | | descending | 내림차순 정렬 | Boolean |
| | | filter | 필터 기능 | Boolean |
| | | hide | 컬럼 숨김 | Boolean |
| | page | {} | 페이지 설정 | |
| | | use | 페이지 사용 여부 | Boolean |
| | | isInfinite | Infinite Scroll 사용 여부 | Boolean |
Expand Down
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "evui",
"version": "3.4.32",
"version": "3.4.33",
"description": "A EXEM Library project",
"author": "exem <dev_client@ex-em.com>",
"license": "MIT",
Expand Down
1 change: 1 addition & 0 deletions src/components/grid/Grid.vue
Original file line number Diff line number Diff line change
Expand Up @@ -801,6 +801,7 @@ export default {
contextMenuItems: [],
columnMenu: null,
columnMenuItems: [],
hiddenColumnMenuItem: props.option.hiddenColumnMenuItem || {},
customContextMenu: props.option.customContextMenu || [],
gridSettingMenu: null,
gridSettingContextMenuItems: [],
Expand Down
15 changes: 10 additions & 5 deletions src/components/grid/uses.js
Original file line number Diff line number Diff line change
Expand Up @@ -1025,21 +1025,19 @@ export const contextMenuEvent = (params) => {
const sortable = column.sortable === undefined ? true : column.sortable;
const filterable = filterInfo.isFiltering
&& column.filterable === undefined ? true : column.filterable;
if (!sortable && !filterable) {
contextInfo.columnMenuItems = [];
return;
}
contextInfo.columnMenuItems = [
const columnMenuItems = [
{
text: 'Ascending',
iconClass: 'ev-icon-allow2-up',
disabled: !sortable,
hidden: contextInfo.hiddenColumnMenuItem?.ascending,
click: () => onSort(column, 'asc'),
},
{
text: 'Descending',
iconClass: 'ev-icon-allow2-down',
disabled: !sortable,
hidden: contextInfo.hiddenColumnMenuItem?.descending,
click: () => onSort(column, 'desc'),
},
{
Expand All @@ -1062,14 +1060,21 @@ export const contextMenuEvent = (params) => {
filterInfo.filteringColumn = column;
},
disabled: !filterable,
hidden: contextInfo.hiddenColumnMenuItem?.filter,
},
{
text: 'Hide',
iconClass: 'ev-icon-visibility-off',
disabled: !useGridSetting.value || stores.orderedColumns.length === 1,
hidden: contextInfo.hiddenColumnMenuItem?.hide,
click: () => setColumnHidden(column.field),
},
];
contextInfo.columnMenuItems = [];
if (!sortable && !filterable) {
return;
}
contextInfo.columnMenuItems = columnMenuItems.filter(item => !item.hidden);
}
};
/**
Expand Down

0 comments on commit 2a135b5

Please sign in to comment.