From 07f87bfb9d0e62ab9b55a9f224303c696a0fb266 Mon Sep 17 00:00:00 2001 From: Tsanie Date: Tue, 23 Jan 2024 15:58:56 +0800 Subject: [PATCH] . --- lib/app/communications/customer.js | 3 ++- lib/ui/css/grid.css | 2 +- lib/ui/css/grid.scss | 4 ++++ lib/ui/grid/column.d.ts | 4 ++-- lib/ui/grid/column.js | 8 ++++++-- lib/ui/grid/grid.js | 25 ++++++++++++++++++------- readme/Grid 控件接口文档.docx | Bin 37595 -> 36643 bytes 7 files changed, 33 insertions(+), 13 deletions(-) diff --git a/lib/app/communications/customer.js b/lib/app/communications/customer.js index b994c42..467f737 100644 --- a/lib/app/communications/customer.js +++ b/lib/app/communications/customer.js @@ -13,7 +13,8 @@ class NoteCol extends GridColumn { return wrapper; } - static setValue(element, _val, item, _col, grid) { + static setValue(element, _val, it, _col, grid) { + const item = it.values; const name = element.querySelector('.contact-name'); name.innerText = item.Name; if (name.scrollWidth > name.offsetWidth) { diff --git a/lib/ui/css/grid.css b/lib/ui/css/grid.css index 078a0bc..ed3072c 100644 --- a/lib/ui/css/grid.css +++ b/lib/ui/css/grid.css @@ -1 +1 @@ -.ui-grid{position:relative;box-sizing:border-box;overflow:auto}.ui-grid{--cell-hover-bg-color: lightyellow;--header-border-color: #adaba9;--header-bg-color: #fafafa;--header-fore-color: #000;--cell-border-color: #f0f0f0;--cell-fore-color: #333;--dark-border-color: #666;--split-border-color: #b3b3b3;--dragger-bg-color: #fff;--dragger-cursor-color: #333;--row-bg-color: #fff;--row-active-bg-color: #fafafa;--row-selected-bg-color: #e6f2fb;--text-disabled-color: gray;--filter-shadow: 0 3px 6px -4px rgba(0, 0, 0, .12), 0 6px 16px 0 rgba(0, 0, 0, .08), 0 9px 28px 8px rgba(0, 0, 0, .05);--filter-transition: transform .12s ease, opacity .24s ease;--row-height: 36px;--header-line-height: 26px;--text-indent: 8px;--loading-size: 40px;--loading-border-radius: 20px;--arrow-size: 4px;--filter-size: 10px;--split-width: 8px;--dragger-size: 20px;--dragger-opacity: .6;--dragger-cursor-size: 4px;--dragger-cursor-pos: -4px;--dragger-cursor-opacity: .3;--header-padding: 4px 12px 4px 8px;--header-filter-padding: 4px 26px 4px 8px;--spacing-s: 4px;--spacing-cell: 6px 4px 6px 8px;--filter-line-height: 30px;--filter-item-padding: 0 4px}.ui-grid:focus,.ui-grid:focus-visible{outline:none}.ui-grid::-webkit-scrollbar{width:8px;height:8px}.ui-grid::-webkit-scrollbar-thumb{background-color:rgba(168,168,168,.9);border-radius:4px}.ui-grid,.ui-grid input[type=text],.ui-grid textarea{font-size:var(--font-size);font-family:var(--font-family)}.ui-grid>.ui-grid-sizer{position:absolute;white-space:nowrap;font-weight:bold;visibility:hidden}.ui-grid>.ui-grid-wrapper{position:relative}.ui-grid>.ui-grid-wrapper>.ui-grid-table{position:absolute;width:100%;min-width:100%;margin:0;border-collapse:collapse;border-spacing:0;table-layout:fixed}.ui-grid>.ui-grid-wrapper>.ui-grid-table>thead tr{color:var(--header-fore-color);position:sticky;top:0;z-index:2}.ui-grid>.ui-grid-wrapper>.ui-grid-table>thead tr>th{background-color:var(--header-bg-color);-webkit-user-select:none;-moz-user-select:none;user-select:none;padding:0;margin:0;word-wrap:break-word;white-space:normal;position:relative}.ui-grid>.ui-grid-wrapper>.ui-grid-table>thead tr>th.sticky{position:sticky;z-index:2}.ui-grid>.ui-grid-wrapper>.ui-grid-table>thead tr>th>div{border-bottom:1px solid var(--header-border-color);line-height:var(--header-line-height);min-height:var(--row-height);display:flex;align-items:center;padding:var(--header-padding);box-sizing:border-box}.ui-grid>.ui-grid-wrapper>.ui-grid-table>thead tr>th>div>span{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.ui-grid>.ui-grid-wrapper>.ui-grid-table>thead tr>th>.arrow{width:0;height:0;top:50%;margin-top:calc(0px - var(--arrow-size)/2);right:calc(var(--arrow-size)/2);position:absolute}.ui-grid>.ui-grid-wrapper>.ui-grid-table>thead tr>th>.arrow.asc{border-bottom:var(--arrow-size) solid var(--dark-border-color)}.ui-grid>.ui-grid-wrapper>.ui-grid-table>thead tr>th>.arrow.desc{border-top:var(--arrow-size) solid var(--dark-border-color)}.ui-grid>.ui-grid-wrapper>.ui-grid-table>thead tr>th>.arrow.asc,.ui-grid>.ui-grid-wrapper>.ui-grid-table>thead tr>th>.arrow.desc{border-left:var(--arrow-size) solid rgba(0,0,0,0);border-right:var(--arrow-size) solid rgba(0,0,0,0)}.ui-grid>.ui-grid-wrapper>.ui-grid-table>thead tr>th>.filter{width:var(--filter-size);height:var(--filter-size);top:50%;margin-top:calc(0px - var(--filter-size)/2);right:calc(var(--arrow-size)*2 + 4px);position:absolute;display:flex}.ui-grid>.ui-grid-wrapper>.ui-grid-table>thead tr>th>.filter>svg{width:100%;height:100%;fill:var(--color);opacity:.2;transition:opacity .12s ease}.ui-grid>.ui-grid-wrapper>.ui-grid-table>thead tr>th>.filter>svg:hover{opacity:.8}.ui-grid>.ui-grid-wrapper>.ui-grid-table>thead tr>th>.filter.hover>svg{opacity:.8}.ui-grid>.ui-grid-wrapper>.ui-grid-table>thead tr>th>.filter.active>svg{opacity:1}.ui-grid>.ui-grid-wrapper>.ui-grid-table>thead tr>th>.spliter{position:absolute;height:100%;top:0;right:calc(0px - var(--split-width)/2);width:var(--split-width);cursor:ew-resize;z-index:2}.ui-grid>.ui-grid-wrapper>.ui-grid-table>thead tr>th>.spliter::after{content:"";height:100%;width:1px;display:block;margin:0 auto;transition:background-color .12s ease}.ui-grid>.ui-grid-wrapper>.ui-grid-table>thead tr>th>.spliter:hover::after{background-color:var(--split-border-color)}.ui-grid>.ui-grid-wrapper>.ui-grid-table>thead tr>th>.dragger{position:absolute;left:0;top:0;min-width:var(--dragger-size);height:100%;background-color:var(--dragger-bg-color);opacity:var(--dragger-opacity);display:none}.ui-grid>.ui-grid-wrapper>.ui-grid-table>thead tr>th>.dragger-cursor{position:absolute;top:0;height:100%;border:1px solid var(--dragger-cursor-color);box-sizing:border-box;margin-left:0;opacity:var(--dragger-cursor-opacity);display:none;transition:left .12s ease}.ui-grid>.ui-grid-wrapper>.ui-grid-table>thead tr>th>.dragger-cursor::before{top:-1px;border-top:var(--dragger-cursor-size) solid}.ui-grid>.ui-grid-wrapper>.ui-grid-table>thead tr>th>.dragger-cursor::after{bottom:-1px;border-bottom:var(--dragger-cursor-size) solid}.ui-grid>.ui-grid-wrapper>.ui-grid-table>thead tr>th>.dragger-cursor::before,.ui-grid>.ui-grid-wrapper>.ui-grid-table>thead tr>th>.dragger-cursor::after{content:"";position:absolute;left:var(--dragger-cursor-pos);border-left:var(--dragger-cursor-size) solid rgba(0,0,0,0);border-right:var(--dragger-cursor-size) solid rgba(0,0,0,0)}.ui-grid>.ui-grid-wrapper>.ui-grid-table>thead tr>th.header-filter>div{padding:var(--header-filter-padding)}.ui-grid>.ui-grid-wrapper>.ui-grid-table>tbody{color:var(--cell-fore-color)}.ui-grid>.ui-grid-wrapper>.ui-grid-table>tbody>.ui-grid-row{line-height:var(--line-height);white-space:nowrap;background-color:var(--row-bg-color);border-bottom:1px solid var(--cell-border-color);box-sizing:border-box}.ui-grid>.ui-grid-wrapper>.ui-grid-table>tbody>.ui-grid-row:hover{background-color:var(--row-active-bg-color)}.ui-grid>.ui-grid-wrapper>.ui-grid-table>tbody>.ui-grid-row:hover>td.sticky{background-color:var(--row-active-bg-color)}.ui-grid>.ui-grid-wrapper>.ui-grid-table>tbody>.ui-grid-row.selected{background-color:var(--row-selected-bg-color)}.ui-grid>.ui-grid-wrapper>.ui-grid-table>tbody>.ui-grid-row.selected>td.sticky{background-color:var(--row-selected-bg-color)}.ui-grid>.ui-grid-wrapper>.ui-grid-table>tbody>.ui-grid-row>td{padding:0}.ui-grid>.ui-grid-wrapper>.ui-grid-table>tbody>.ui-grid-row>td.sticky{position:sticky;z-index:1;background-color:var(--row-bg-color)}.ui-grid>.ui-grid-wrapper>.ui-grid-table>tbody>.ui-grid-row>td>span{padding:var(--spacing-cell);display:block;overflow:hidden;text-overflow:ellipsis;white-space:pre}.ui-grid>.ui-grid-wrapper>.ui-grid-table>tbody>.ui-grid-row>td>input[type=text],.ui-grid>.ui-grid-wrapper>.ui-grid-table>tbody>.ui-grid-row>td>textarea{border:none;box-sizing:border-box;width:100%;padding:0}.ui-grid>.ui-grid-wrapper>.ui-grid-table>tbody>.ui-grid-row>td>input[type=text]:focus,.ui-grid>.ui-grid-wrapper>.ui-grid-table>tbody>.ui-grid-row>td>input[type=text]:focus-visible,.ui-grid>.ui-grid-wrapper>.ui-grid-table>tbody>.ui-grid-row>td>textarea:focus,.ui-grid>.ui-grid-wrapper>.ui-grid-table>tbody>.ui-grid-row>td>textarea:focus-visible{outline:none}.ui-grid>.ui-grid-wrapper>.ui-grid-table>tbody>.ui-grid-row>td>input[type=text]:disabled,.ui-grid>.ui-grid-wrapper>.ui-grid-table>tbody>.ui-grid-row>td>textarea:disabled{color:var(--text-disabled-color)}.ui-grid>.ui-grid-wrapper>.ui-grid-table>tbody>.ui-grid-row>td>input[type=text]{height:var(--row-height);text-indent:var(--text-indent)}.ui-grid>.ui-grid-wrapper>.ui-grid-table>tbody>.ui-grid-row>td>textarea{resize:none;line-height:var(--line-height);display:block;padding:var(--spacing-cell);white-space:nowrap}.ui-grid>.ui-grid-wrapper>.ui-grid-table>tbody>.ui-grid-row>td>textarea::-webkit-scrollbar{width:8px;height:8px}.ui-grid>.ui-grid-wrapper>.ui-grid-table>tbody>.ui-grid-row>td>textarea::-webkit-scrollbar-thumb{background-color:rgba(168,168,168,.9);border-radius:4px}.ui-grid>.ui-grid-wrapper>.ui-grid-table>tbody>.ui-grid-row>td .ui-check-wrapper{display:flex;justify-content:center}.ui-grid>.ui-grid-wrapper>.ui-grid-table>tbody>.ui-grid-row>td .ui-check-wrapper .ui-check-inner,.ui-grid>.ui-grid-wrapper>.ui-grid-table>tbody>.ui-grid-row>td .ui-check-wrapper .ui-check-inner>svg{transition:none}.ui-grid>.ui-grid-wrapper>.ui-grid-table>tbody>.ui-grid-row>td .ui-drop-wrapper{height:var(--row-height);width:100%;display:flex;flex-direction:column}.ui-grid>.ui-grid-wrapper>.ui-grid-table>tbody>.ui-grid-row>td .ui-drop-wrapper>.ui-drop-header{border:none;height:100%}.ui-grid>.ui-grid-wrapper>.ui-grid-table>tbody>.ui-grid-row>td .ui-drop-wrapper>.ui-drop-header>.ui-drop-text{padding:var(--spacing-cell)}.ui-grid>.ui-grid-wrapper>.ui-grid-table>tbody>.ui-grid-row>td .ui-grid-date-cell{line-height:22px;box-sizing:border-box;padding:var(--spacing-cell);border:none;font-size:var(--font-size);width:100%}.ui-grid>.ui-grid-wrapper>.ui-grid-table>tbody>.ui-grid-row>td .ui-grid-date-cell:invalid{color:rgba(0,0,0,.3)}.ui-grid>.ui-grid-wrapper>.ui-grid-table>tbody>.ui-grid-row>td .col-icon{display:flex;cursor:pointer;justify-content:center;align-items:center;position:relative}.ui-grid>.ui-grid-wrapper>.ui-grid-table>tbody>.ui-grid-row>td .col-icon>svg{width:16px;height:16px;fill:var(--primary-color);transition:opacity .12s ease}.ui-grid>.ui-grid-wrapper>.ui-grid-table>tbody>.ui-grid-row>td .col-icon:hover>svg{opacity:.4}.ui-grid>.ui-grid-wrapper>.ui-grid-table>tbody>.ui-grid-row>td .col-icon.disabled{cursor:unset}.ui-grid>.ui-grid-wrapper>.ui-grid-table>tbody>.ui-grid-row>td .col-icon.disabled>svg{fill:var(--header-border-color);opacity:unset}.ui-grid>.ui-grid-wrapper .ui-grid-hover-holder{box-sizing:border-box;position:absolute;line-height:var(--line-height);padding:var(--spacing-cell);background-color:var(--cell-hover-bg-color);white-space:pre;display:flex;align-items:center;visibility:hidden;opacity:0;transition:visibility 0s linear .12s,opacity .12s ease;z-index:3}.ui-grid>.ui-grid-wrapper .ui-grid-hover-holder.active{visibility:visible;opacity:1}.ui-grid>.ui-grid-loading{position:absolute;top:0;right:0;bottom:0;left:0;visibility:hidden;opacity:0;transition:visibility 0s linear .12s,opacity .12s ease;background-color:var(--loading-bg-color);display:flex;justify-content:center;align-items:center;z-index:3}.ui-grid>.ui-grid-loading>div{background-color:var(--loading-fore-color);border-radius:var(--loading-border-radius)}.ui-grid>.ui-grid-loading>div>svg{width:var(--loading-size);height:var(--loading-size);padding:20px;animation:loading-spinner 1.2s infinite linear}.ui-grid>.ui-drop-box{max-width:300px}.ui-grid>.filter-panel{position:absolute;width:200px;height:300px;box-shadow:var(--filter-shadow);transition:var(--filter-transition);background-color:var(--bg-color);transform:scaleY(0);transform-origin:top;opacity:0;display:flex;flex-direction:column;z-index:3}.ui-grid>.filter-panel.active{transform:scaleY(1);opacity:1}.ui-grid>.filter-panel>.filter-search-holder{position:relative;margin:8px 8px 4px}.ui-grid>.filter-panel>.filter-search-holder>.filter-search-box{box-sizing:border-box;text-indent:16px;width:100%;font-size:var(--font-smaller-size);height:var(--line-height);line-height:var(--line-height)}.ui-grid>.filter-panel>.filter-search-holder>svg{position:absolute;width:12px;height:12px;top:calc(50% - 6px);left:4px;fill:var(--color);cursor:text}.ui-grid>.filter-panel>.filter-item-list{flex:1 1 auto;overflow-y:auto;overflow-x:hidden;position:relative;-webkit-user-select:none;-moz-user-select:none;user-select:none}.ui-grid>.filter-panel>.filter-item-list::-webkit-scrollbar{width:8px;height:8px}.ui-grid>.filter-panel>.filter-item-list::-webkit-scrollbar-thumb{background-color:rgba(168,168,168,.9);border-radius:4px}.ui-grid>.filter-panel>.filter-item-list>.filter-content{position:absolute;width:100%}.ui-grid>.filter-panel>.filter-item-list .filter-item{width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;box-sizing:border-box;padding:var(--filter-item-padding)}.ui-grid>.filter-panel>.filter-item-list .filter-item:hover{background-color:var(--hover-bg-color)}.ui-grid>.filter-panel>.filter-item-list .filter-item .ui-check-wrapper{height:var(--filter-line-height);display:flex}.ui-grid>.filter-panel>.filter-item-list .filter-item .ui-check-wrapper .ui-check-inner+*{font-size:var(--font-smaller-size)}.ui-grid>.filter-panel>.filter-function{display:flex;justify-content:flex-end;padding:4px}.ui-grid>.filter-panel>.filter-function>button{box-sizing:border-box;margin-right:10px;min-width:40px;height:var(--filter-line-height);border:none;background-color:rgba(0,0,0,0);cursor:pointer;border-radius:0;transition:background-color .12s ease}.ui-grid>.filter-panel>.filter-function>button:focus,.ui-grid>.filter-panel>.filter-function>button:focus-visible{outline:none}.ui-grid>.filter-panel>.filter-function>button:hover{background-color:var(--hover-bg-color)} \ No newline at end of file +.ui-grid{position:relative;box-sizing:border-box;overflow:auto}.ui-grid{--cell-hover-bg-color: lightyellow;--header-border-color: #adaba9;--header-bg-color: #fafafa;--header-fore-color: #000;--cell-border-color: #f0f0f0;--cell-fore-color: #333;--dark-border-color: #666;--split-border-color: #b3b3b3;--dragger-bg-color: #fff;--dragger-cursor-color: #333;--row-bg-color: #fff;--row-active-bg-color: #fafafa;--row-selected-bg-color: #e6f2fb;--text-disabled-color: gray;--filter-shadow: 0 3px 6px -4px rgba(0, 0, 0, .12), 0 6px 16px 0 rgba(0, 0, 0, .08), 0 9px 28px 8px rgba(0, 0, 0, .05);--filter-transition: transform .12s ease, opacity .24s ease;--row-height: 36px;--header-line-height: 26px;--text-indent: 8px;--loading-size: 40px;--loading-border-radius: 20px;--arrow-size: 4px;--filter-size: 10px;--split-width: 8px;--dragger-size: 20px;--dragger-opacity: .6;--dragger-cursor-size: 4px;--dragger-cursor-pos: -4px;--dragger-cursor-opacity: .3;--header-padding: 4px 12px 4px 8px;--header-filter-padding: 4px 26px 4px 8px;--spacing-s: 4px;--spacing-cell: 6px 4px 6px 8px;--filter-line-height: 30px;--filter-item-padding: 0 4px}.ui-grid:focus,.ui-grid:focus-visible{outline:none}.ui-grid::-webkit-scrollbar{width:8px;height:8px}.ui-grid::-webkit-scrollbar-thumb{background-color:rgba(168,168,168,.9);border-radius:4px}.ui-grid,.ui-grid input[type=text],.ui-grid textarea{font-size:var(--font-size);font-family:var(--font-family)}.ui-grid>.ui-grid-sizer{position:absolute;white-space:nowrap;font-weight:bold;visibility:hidden}.ui-grid>.ui-grid-wrapper{position:relative}.ui-grid>.ui-grid-wrapper>.ui-grid-table{position:absolute;width:100%;min-width:100%;margin:0;border-collapse:collapse;border-spacing:0;table-layout:fixed}.ui-grid>.ui-grid-wrapper>.ui-grid-table>thead tr{color:var(--header-fore-color);position:sticky;top:0;z-index:2}.ui-grid>.ui-grid-wrapper>.ui-grid-table>thead tr>th{background-color:var(--header-bg-color);-webkit-user-select:none;-moz-user-select:none;user-select:none;padding:0;margin:0;word-wrap:break-word;white-space:normal;position:relative}.ui-grid>.ui-grid-wrapper>.ui-grid-table>thead tr>th.sticky{position:sticky;z-index:2}.ui-grid>.ui-grid-wrapper>.ui-grid-table>thead tr>th>div{border-bottom:1px solid var(--header-border-color);line-height:var(--header-line-height);min-height:var(--row-height);display:flex;align-items:center;padding:var(--header-padding);box-sizing:border-box}.ui-grid>.ui-grid-wrapper>.ui-grid-table>thead tr>th>div>span{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.ui-grid>.ui-grid-wrapper>.ui-grid-table>thead tr>th>div>.ui-check-wrapper{height:20px}.ui-grid>.ui-grid-wrapper>.ui-grid-table>thead tr>th>.arrow{width:0;height:0;top:50%;margin-top:calc(0px - var(--arrow-size)/2);right:calc(var(--arrow-size)/2);position:absolute}.ui-grid>.ui-grid-wrapper>.ui-grid-table>thead tr>th>.arrow.asc{border-bottom:var(--arrow-size) solid var(--dark-border-color)}.ui-grid>.ui-grid-wrapper>.ui-grid-table>thead tr>th>.arrow.desc{border-top:var(--arrow-size) solid var(--dark-border-color)}.ui-grid>.ui-grid-wrapper>.ui-grid-table>thead tr>th>.arrow.asc,.ui-grid>.ui-grid-wrapper>.ui-grid-table>thead tr>th>.arrow.desc{border-left:var(--arrow-size) solid rgba(0,0,0,0);border-right:var(--arrow-size) solid rgba(0,0,0,0)}.ui-grid>.ui-grid-wrapper>.ui-grid-table>thead tr>th>.filter{width:var(--filter-size);height:var(--filter-size);top:50%;margin-top:calc(0px - var(--filter-size)/2);right:calc(var(--arrow-size)*2 + 4px);position:absolute;display:flex}.ui-grid>.ui-grid-wrapper>.ui-grid-table>thead tr>th>.filter>svg{width:100%;height:100%;fill:var(--color);opacity:.2;transition:opacity .12s ease}.ui-grid>.ui-grid-wrapper>.ui-grid-table>thead tr>th>.filter>svg:hover{opacity:.8}.ui-grid>.ui-grid-wrapper>.ui-grid-table>thead tr>th>.filter.hover>svg{opacity:.8}.ui-grid>.ui-grid-wrapper>.ui-grid-table>thead tr>th>.filter.active>svg{opacity:1}.ui-grid>.ui-grid-wrapper>.ui-grid-table>thead tr>th>.spliter{position:absolute;height:100%;top:0;right:calc(0px - var(--split-width)/2);width:var(--split-width);cursor:ew-resize;z-index:2}.ui-grid>.ui-grid-wrapper>.ui-grid-table>thead tr>th>.spliter::after{content:"";height:100%;width:1px;display:block;margin:0 auto;transition:background-color .12s ease}.ui-grid>.ui-grid-wrapper>.ui-grid-table>thead tr>th>.spliter:hover::after{background-color:var(--split-border-color)}.ui-grid>.ui-grid-wrapper>.ui-grid-table>thead tr>th>.dragger{position:absolute;left:0;top:0;min-width:var(--dragger-size);height:100%;background-color:var(--dragger-bg-color);opacity:var(--dragger-opacity);display:none}.ui-grid>.ui-grid-wrapper>.ui-grid-table>thead tr>th>.dragger-cursor{position:absolute;top:0;height:100%;border:1px solid var(--dragger-cursor-color);box-sizing:border-box;margin-left:0;opacity:var(--dragger-cursor-opacity);display:none;transition:left .12s ease}.ui-grid>.ui-grid-wrapper>.ui-grid-table>thead tr>th>.dragger-cursor::before{top:-1px;border-top:var(--dragger-cursor-size) solid}.ui-grid>.ui-grid-wrapper>.ui-grid-table>thead tr>th>.dragger-cursor::after{bottom:-1px;border-bottom:var(--dragger-cursor-size) solid}.ui-grid>.ui-grid-wrapper>.ui-grid-table>thead tr>th>.dragger-cursor::before,.ui-grid>.ui-grid-wrapper>.ui-grid-table>thead tr>th>.dragger-cursor::after{content:"";position:absolute;left:var(--dragger-cursor-pos);border-left:var(--dragger-cursor-size) solid rgba(0,0,0,0);border-right:var(--dragger-cursor-size) solid rgba(0,0,0,0)}.ui-grid>.ui-grid-wrapper>.ui-grid-table>thead tr>th.header-filter>div{padding:var(--header-filter-padding)}.ui-grid>.ui-grid-wrapper>.ui-grid-table>tbody{color:var(--cell-fore-color)}.ui-grid>.ui-grid-wrapper>.ui-grid-table>tbody>.ui-grid-row{line-height:var(--line-height);white-space:nowrap;background-color:var(--row-bg-color);border-bottom:1px solid var(--cell-border-color);box-sizing:border-box}.ui-grid>.ui-grid-wrapper>.ui-grid-table>tbody>.ui-grid-row:hover{background-color:var(--row-active-bg-color)}.ui-grid>.ui-grid-wrapper>.ui-grid-table>tbody>.ui-grid-row:hover>td.sticky{background-color:var(--row-active-bg-color)}.ui-grid>.ui-grid-wrapper>.ui-grid-table>tbody>.ui-grid-row.selected{background-color:var(--row-selected-bg-color)}.ui-grid>.ui-grid-wrapper>.ui-grid-table>tbody>.ui-grid-row.selected>td.sticky{background-color:var(--row-selected-bg-color)}.ui-grid>.ui-grid-wrapper>.ui-grid-table>tbody>.ui-grid-row>td{padding:0}.ui-grid>.ui-grid-wrapper>.ui-grid-table>tbody>.ui-grid-row>td.sticky{position:sticky;z-index:1;background-color:var(--row-bg-color)}.ui-grid>.ui-grid-wrapper>.ui-grid-table>tbody>.ui-grid-row>td>span{padding:var(--spacing-cell);display:block;overflow:hidden;text-overflow:ellipsis;white-space:pre}.ui-grid>.ui-grid-wrapper>.ui-grid-table>tbody>.ui-grid-row>td>input[type=text],.ui-grid>.ui-grid-wrapper>.ui-grid-table>tbody>.ui-grid-row>td>textarea{border:none;box-sizing:border-box;width:100%;padding:0}.ui-grid>.ui-grid-wrapper>.ui-grid-table>tbody>.ui-grid-row>td>input[type=text]:focus,.ui-grid>.ui-grid-wrapper>.ui-grid-table>tbody>.ui-grid-row>td>input[type=text]:focus-visible,.ui-grid>.ui-grid-wrapper>.ui-grid-table>tbody>.ui-grid-row>td>textarea:focus,.ui-grid>.ui-grid-wrapper>.ui-grid-table>tbody>.ui-grid-row>td>textarea:focus-visible{outline:none}.ui-grid>.ui-grid-wrapper>.ui-grid-table>tbody>.ui-grid-row>td>input[type=text]:disabled,.ui-grid>.ui-grid-wrapper>.ui-grid-table>tbody>.ui-grid-row>td>textarea:disabled{color:var(--text-disabled-color)}.ui-grid>.ui-grid-wrapper>.ui-grid-table>tbody>.ui-grid-row>td>input[type=text]{height:var(--row-height);text-indent:var(--text-indent)}.ui-grid>.ui-grid-wrapper>.ui-grid-table>tbody>.ui-grid-row>td>textarea{resize:none;line-height:var(--line-height);display:block;padding:var(--spacing-cell);white-space:nowrap}.ui-grid>.ui-grid-wrapper>.ui-grid-table>tbody>.ui-grid-row>td>textarea::-webkit-scrollbar{width:8px;height:8px}.ui-grid>.ui-grid-wrapper>.ui-grid-table>tbody>.ui-grid-row>td>textarea::-webkit-scrollbar-thumb{background-color:rgba(168,168,168,.9);border-radius:4px}.ui-grid>.ui-grid-wrapper>.ui-grid-table>tbody>.ui-grid-row>td .ui-check-wrapper{display:flex;justify-content:center}.ui-grid>.ui-grid-wrapper>.ui-grid-table>tbody>.ui-grid-row>td .ui-check-wrapper .ui-check-inner,.ui-grid>.ui-grid-wrapper>.ui-grid-table>tbody>.ui-grid-row>td .ui-check-wrapper .ui-check-inner>svg{transition:none}.ui-grid>.ui-grid-wrapper>.ui-grid-table>tbody>.ui-grid-row>td .ui-drop-wrapper{height:var(--row-height);width:100%;display:flex;flex-direction:column}.ui-grid>.ui-grid-wrapper>.ui-grid-table>tbody>.ui-grid-row>td .ui-drop-wrapper>.ui-drop-header{border:none;height:100%}.ui-grid>.ui-grid-wrapper>.ui-grid-table>tbody>.ui-grid-row>td .ui-drop-wrapper>.ui-drop-header>.ui-drop-text{padding:var(--spacing-cell)}.ui-grid>.ui-grid-wrapper>.ui-grid-table>tbody>.ui-grid-row>td .ui-grid-date-cell{line-height:22px;box-sizing:border-box;padding:var(--spacing-cell);border:none;font-size:var(--font-size);width:100%}.ui-grid>.ui-grid-wrapper>.ui-grid-table>tbody>.ui-grid-row>td .ui-grid-date-cell:invalid{color:rgba(0,0,0,.3)}.ui-grid>.ui-grid-wrapper>.ui-grid-table>tbody>.ui-grid-row>td .col-icon{display:flex;cursor:pointer;justify-content:center;align-items:center;position:relative}.ui-grid>.ui-grid-wrapper>.ui-grid-table>tbody>.ui-grid-row>td .col-icon>svg{width:16px;height:16px;fill:var(--primary-color);transition:opacity .12s ease}.ui-grid>.ui-grid-wrapper>.ui-grid-table>tbody>.ui-grid-row>td .col-icon:hover>svg{opacity:.4}.ui-grid>.ui-grid-wrapper>.ui-grid-table>tbody>.ui-grid-row>td .col-icon.disabled{cursor:unset}.ui-grid>.ui-grid-wrapper>.ui-grid-table>tbody>.ui-grid-row>td .col-icon.disabled>svg{fill:var(--header-border-color);opacity:unset}.ui-grid>.ui-grid-wrapper .ui-grid-hover-holder{box-sizing:border-box;position:absolute;line-height:var(--line-height);padding:var(--spacing-cell);background-color:var(--cell-hover-bg-color);white-space:pre;display:flex;align-items:center;visibility:hidden;opacity:0;transition:visibility 0s linear .12s,opacity .12s ease;z-index:3}.ui-grid>.ui-grid-wrapper .ui-grid-hover-holder.active{visibility:visible;opacity:1}.ui-grid>.ui-grid-loading{position:absolute;top:0;right:0;bottom:0;left:0;visibility:hidden;opacity:0;transition:visibility 0s linear .12s,opacity .12s ease;background-color:var(--loading-bg-color);display:flex;justify-content:center;align-items:center;z-index:3}.ui-grid>.ui-grid-loading>div{background-color:var(--loading-fore-color);border-radius:var(--loading-border-radius)}.ui-grid>.ui-grid-loading>div>svg{width:var(--loading-size);height:var(--loading-size);padding:20px;animation:loading-spinner 1.2s infinite linear}.ui-grid>.ui-drop-box{max-width:300px}.ui-grid>.filter-panel{position:absolute;width:200px;height:300px;box-shadow:var(--filter-shadow);transition:var(--filter-transition);background-color:var(--bg-color);transform:scaleY(0);transform-origin:top;opacity:0;display:flex;flex-direction:column;z-index:3}.ui-grid>.filter-panel.active{transform:scaleY(1);opacity:1}.ui-grid>.filter-panel>.filter-search-holder{position:relative;margin:8px 8px 4px}.ui-grid>.filter-panel>.filter-search-holder>.filter-search-box{box-sizing:border-box;text-indent:16px;width:100%;font-size:var(--font-smaller-size);height:var(--line-height);line-height:var(--line-height)}.ui-grid>.filter-panel>.filter-search-holder>svg{position:absolute;width:12px;height:12px;top:calc(50% - 6px);left:4px;fill:var(--color);cursor:text}.ui-grid>.filter-panel>.filter-item-list{flex:1 1 auto;overflow-y:auto;overflow-x:hidden;position:relative;-webkit-user-select:none;-moz-user-select:none;user-select:none}.ui-grid>.filter-panel>.filter-item-list::-webkit-scrollbar{width:8px;height:8px}.ui-grid>.filter-panel>.filter-item-list::-webkit-scrollbar-thumb{background-color:rgba(168,168,168,.9);border-radius:4px}.ui-grid>.filter-panel>.filter-item-list>.filter-content{position:absolute;width:100%}.ui-grid>.filter-panel>.filter-item-list .filter-item{width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;box-sizing:border-box;padding:var(--filter-item-padding)}.ui-grid>.filter-panel>.filter-item-list .filter-item:hover{background-color:var(--hover-bg-color)}.ui-grid>.filter-panel>.filter-item-list .filter-item .ui-check-wrapper{height:var(--filter-line-height);display:flex}.ui-grid>.filter-panel>.filter-item-list .filter-item .ui-check-wrapper .ui-check-inner+*{font-size:var(--font-smaller-size)}.ui-grid>.filter-panel>.filter-function{display:flex;justify-content:flex-end;padding:4px}.ui-grid>.filter-panel>.filter-function>button{box-sizing:border-box;margin-right:10px;min-width:40px;height:var(--filter-line-height);border:none;background-color:rgba(0,0,0,0);cursor:pointer;border-radius:0;transition:background-color .12s ease}.ui-grid>.filter-panel>.filter-function>button:focus,.ui-grid>.filter-panel>.filter-function>button:focus-visible{outline:none}.ui-grid>.filter-panel>.filter-function>button:hover{background-color:var(--hover-bg-color)} \ No newline at end of file diff --git a/lib/ui/css/grid.scss b/lib/ui/css/grid.scss index bf9dba5..8507e5a 100644 --- a/lib/ui/css/grid.scss +++ b/lib/ui/css/grid.scss @@ -113,6 +113,10 @@ white-space: nowrap; text-overflow: ellipsis; } + + >.ui-check-wrapper { + height: 20px; + } } >.arrow { diff --git a/lib/ui/grid/column.d.ts b/lib/ui/grid/column.d.ts index 0b6c2c4..7e1e761 100644 --- a/lib/ui/grid/column.d.ts +++ b/lib/ui/grid/column.d.ts @@ -37,8 +37,8 @@ export interface GridColumnDefinition { iconClassName?: string | ((item: GridItem | any) => string); text?: string; tooltip?: string | ((item: GridItem | any) => string); - onallchecked?: (this: Grid, col: GridColumnDefinition, flag: boolean) => void; - onchanged?: (this: Grid, item: GridItem | any, value: boolean | any) => void; + onAllChecked?: (this: Grid, col: GridColumnDefinition, flag: boolean) => void; + onChanged?: (this: Grid, item: GridItem | any, value: boolean | any, oldValue: any, e?: any) => void; } export class GridColumn { diff --git a/lib/ui/grid/column.js b/lib/ui/grid/column.js index ac51b69..e9d5c94 100644 --- a/lib/ui/grid/column.js +++ b/lib/ui/grid/column.js @@ -296,7 +296,8 @@ export class GridDateColumn extends GridColumn { if (col.dateMax != null) { date.max = col.dateMax; } - date.addEventListener('change', trigger); + // date.addEventListener('change', trigger); + date.addEventListener('blur', trigger); return date; } @@ -324,6 +325,9 @@ export class GridDateColumn extends GridColumn { } static formatDate(date) { - return `${date.getMonth() + 1}/${date.getDate()}/${date.getFullYear()}`; + if (date instanceof Date && !isNaN(date)) { + return `${date.getMonth() + 1}/${date.getDate()}/${date.getFullYear()}`; + } + return ''; } } \ No newline at end of file diff --git a/lib/ui/grid/grid.js b/lib/ui/grid/grid.js index 6e1c15a..d80390a 100644 --- a/lib/ui/grid/grid.js +++ b/lib/ui/grid/grid.js @@ -248,9 +248,16 @@ export class Grid { this._var.el = null; this._var.refs = {}; this._var.rendering = true; - if (!(container instanceof HTMLElement)) { + if (container == null) { throw new Error('no specified parent.'); } + if (!(container instanceof HTMLElement)) { + const ele = container[0]; + if (!(ele instanceof HTMLElement)) { + throw new Error(`parent type not supported. ${JSON.stringify(Object.getPrototypeOf(container))}`); + } + container = ele; + } this._var.parent = container; const grid = createElement('div', 'ui-grid'); grid.setAttribute('tabindex', 0); @@ -353,7 +360,7 @@ export class Grid { const count = truncate((height - 1) / (this.rowHeight + 1)) + (RedumCount * 2) + 1; if (force || count !== this._var.rowCount) { this._var.rowCount = count; - this.reload(); + this.reload(true); } this._var.bodyClientWidth = body.clientWidth; } @@ -377,7 +384,7 @@ export class Grid { this._refreshSource(); return; } - let length = this._var.currentSource.length; + let length = this._var.currentSource?.length ?? 0; if (this.extraRows > 0) { length += this.extraRows; } @@ -595,7 +602,8 @@ export class Grid { } const dragger = createElement('div', 'dragger'); const draggerCursor = createElement('layer', 'dragger-cursor'); - header.appendChild(createElement('th', null, dragger, draggerCursor)); + header.appendChild( + createElement('th', null, dragger, draggerCursor, createElement('div'))); sizer.replaceChildren(); this._var.refs.header = header; @@ -638,7 +646,7 @@ export class Grid { _adjustRows() { let count = this._var.rowCount; if (isNaN(count) || count < 0 || !this.virtual) { - count = this._var.currentSource.length; + count = this._var.currentSource?.length ?? 0; } const cols = this.columns; const content = this._var.refs.body; @@ -1592,7 +1600,7 @@ export class Grid { } } - _onRowChanged(_e, index, col, value, cell, blur) { + _onRowChanged(e, index, col, value, cell, blur) { if (this._var.currentSource == null) { return; } @@ -1610,9 +1618,12 @@ export class Grid { } if (enabled !== false) { const val = item[col.key]; + let oldValue; if (val?.Value != null) { + oldValue = val.Value; val.Value = value; } else { + oldValue = val; item[col.key] = value; } let tip = col.tooltip; @@ -1631,7 +1642,7 @@ export class Grid { } } else { if (typeof col.onChanged === 'function') { - col.onChanged.call(this, item, value); + col.onChanged.call(this, item, value, oldValue, e); } } } diff --git a/readme/Grid 控件接口文档.docx b/readme/Grid 控件接口文档.docx index 2a6a13a2d1886a46e614aa4053ff5e3e28e3bfab..9e3ad676ce2a9a2a6485d11c7e6288f0ca307a20 100644 GIT binary patch delta 24177 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

y`why_c2*;6ji9@|+lkv35ZK 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 z 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 E4}oB}sQ>@~ delta 25087 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