@grapecity/wijmo.grid.detail 5.20252.44 → 5.20261.48
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.
- package/README.md +17 -0
- package/es2015-commonjs.js +2 -2
- package/es2015-esm.js +2 -2
- package/es5-esm.js +2 -2
- package/index.d.ts +9 -5
- package/index.js +2 -2
- package/package.json +4 -4
package/README.md
CHANGED
|
@@ -2,6 +2,10 @@
|
|
|
2
2
|
|
|
3
3
|
# Wijmo
|
|
4
4
|
|
|
5
|
+
**Note: Starting from 2027v1, Wijmo npm packages will be published only under the @mescius scope. Users using the @grapecity scope during the 2026 period will need to migrate to @mescius.**
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
5
9
|
Wijmo is a complete set of [JavaScript UI components](https://developer.mescius.com/wijmo?utm_source=npmwebsite&utm_medium=prospects&utm_campaign=wijmo_npm) for enterprise development. It includes a powerful data grid, charts, pivot tools, inputs, and much more and is available in your favorite framework, including [Angular](https://developer.mescius.com/wijmo/angular-ui-components?utm_source=npmwebsite&utm_medium=prospects&utm_campaign=wijmo_npm), [React](https://developer.mescius.com/wijmo/react-ui-components?utm_source=npmwebsite&utm_medium=prospects&utm_campaign=wijmo_npm), and [Vue](https://developer.mescius.com/wijmo/vue-ui-components?utm_source=npmwebsite&utm_medium=prospects&utm_campaign=wijmo_npm).
|
|
6
10
|
|
|
7
11
|
Cut your development time in half with Wijmo's lightweight, high-performance JavaScript UI components.
|
|
@@ -122,6 +126,10 @@ Submit questions to our team of [Wijmo Experts](https://developer.mescius.com/fo
|
|
|
122
126
|
|
|
123
127
|
## Wijmo JP
|
|
124
128
|
|
|
129
|
+
**注:2027v1以降、Wijmoのnpmパッケージは@mesciusスコープでのみ公開されます。2026年期間中に@grapecityスコープを使用しているユーザーは、@mesciusに移行する必要があります。**
|
|
130
|
+
|
|
131
|
+
---
|
|
132
|
+
|
|
125
133
|
[Wijmo](https://developer.mescius.jp/wijmo)は、Webアプリケーション開発に最適な数多くのUIを搭載するJavaScriptコンポーネントセットです。高速・軽量であり、開発工数の削減に大きく寄与します。データグリッド、チャート、ピボットテーブル、入力など、業務アプリケーション開発に必要となるコントロールを多数収録し、またAngularやReact、Vue.jsといったJavaScriptフレームワークにも対応しています。
|
|
126
134
|
|
|
127
135
|
なお、日本語版での動作保証は日本語版サイトで公開しているバージョンのみとなります。
|
|
@@ -161,6 +169,10 @@ Submit questions to our team of [Wijmo Experts](https://developer.mescius.com/fo
|
|
|
161
169
|
|
|
162
170
|
## Wijmo CN
|
|
163
171
|
|
|
172
|
+
**注意:从 2027v1 开始,Wijmo 的 npm 包将仅在 @mescius 作用域下发布。在 2026 年期间仍在使用 @grapecity 作用域的用户,需要迁移到 @mescius。**
|
|
173
|
+
|
|
174
|
+
---
|
|
175
|
+
|
|
164
176
|
Wijmo 是一套完整的企业级 JavaScript UI 开发组件。 它包括强大的表格、图表、数据透视、输入等组件,并且可以支持各类主流前端框架,包括 Angular、React 和 Vue。
|
|
165
177
|
|
|
166
178
|
Wijmo 的轻量级、高性能 JavaScript UI 组件可以将您的开发时间缩短一半。
|
|
@@ -255,6 +267,11 @@ Wijmo 开发包可以从 [这里](https://www.grapecity.com.cn/developer/wijmojs
|
|
|
255
267
|
|
|
256
268
|
# Wijmo KR
|
|
257
269
|
|
|
270
|
+
**참고: 2027 v1부터 Wijmo npm 패키지는 @mescius 스코프에서만 제공됩니다.
|
|
271
|
+
현재 @grapecity 스코프를 사용 중인 사용자는 2026년 내에 @mescius 스코프로 마이그레이션해 주시기 바랍니다.**
|
|
272
|
+
|
|
273
|
+
---
|
|
274
|
+
|
|
258
275
|
Wijmo(위즈모)는 고성능의 Web App 개발을 위한 완전한 JavaScript UI 컴포넌트 세트입니다. 강력한 데이터 그리드(DataGrid), 차트(Chart), 피벗 도구(OLAP/Pivop), 입력(Input) 등 개발에 필요한 100+의 다양한 컨트롤이 포함되어 있습니다.
|
|
259
276
|
|
|
260
277
|
또한, Wijmo는 Angular, React 및 Vue 등 개발자가 빠른 웹 개발과 효율적인 코드 유지 관리를 쉽게 할 수 있도록 JavaScript 프레임워크에 대한 지원을 제공합니다.
|
package/es2015-commonjs.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
*
|
|
3
|
-
* Wijmo Library 5.
|
|
3
|
+
* Wijmo Library 5.20261.48
|
|
4
4
|
* https://developer.mescius.com/wijmo
|
|
5
5
|
*
|
|
6
6
|
* Copyright(c) MESCIUS inc. All rights reserved.
|
|
@@ -11,4 +11,4 @@
|
|
|
11
11
|
*
|
|
12
12
|
*/
|
|
13
13
|
|
|
14
|
-
"use strict";var __importStar=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var i in e)Object.hasOwnProperty.call(e,i)&&(t[i]=e[i]);t.default=e;return t};Object.defineProperty(exports,"__esModule",{value:!0});const wijmo_1=require("@grapecity/wijmo"),wijmo_grid_1=require("@grapecity/wijmo.grid"),selfModule=__importStar(require("@grapecity/wijmo.grid.detail"));class DetailRow extends wijmo_grid_1.Row{constructor(e){super();this.isReadOnly=!0}get detail(){return this._detail}set detail(e){this._detail=e}}exports.DetailRow=DetailRow;class DetailMergeManager extends wijmo_grid_1.MergeManager{constructor(e){super();this._originalMergeManager=e.mergeManager}getMergedRange(e,t,i,l=!0){switch(e.cellType){case wijmo_grid_1.CellType.Cell:if(e.rows[t]instanceof DetailRow){e.columns._frozenInternal>0&&e.grid&&(e.grid.cloneFrozenCells=!1);return new wijmo_grid_1.CellRange(t,0,t,e.columns.length-1)}break;case wijmo_grid_1.CellType.RowHeader:let l=_isFrozen(e,t),o=_isNew(e,t),r=e.rows[t].dataItem;!r&&t>0&&e.rows[t]instanceof DetailRow&&(r=e.rows[t-1].dataItem);let s=t;for(;s>0&&e.rows[s-1].dataItem==r&&_isFrozen(e,s-1)==l&&_isNew(e,s-1)==o;)s--;let a=t;for(;a<e.rows.length-1&&e.rows[a+1].dataItem==r&&_isFrozen(e,a+1)==l&&_isNew(e,a+1)==o;)a++;a<e.rows.length-1&&e.rows[a+1]instanceof DetailRow&&_isFrozen(e,a+1)==l&&_isNew(e,a+1)==o&&a++;return s!=a?new wijmo_grid_1.CellRange(s,i,a,i):null}return this._originalMergeManager.getMergedRange(e,t,i,l)}}exports.DetailMergeManager=DetailMergeManager;function _isFrozen(e,t){return t<e.rows._frozenInternal}function _isNew(e,t){return e.rows[t]instanceof wijmo_grid_1._NewRowTemplate}exports.FlexGridDetailProviderClsNames={detail:"wj-detail",detailRow:"wj-detail-row",elemDetail:"wj-elem-detail"};wijmo_1._addCultureInfo("FlexGridDetailProvider",{ariaLabels:{toggleDetail:"Toggle Row Detail"},accessibilityHelperMessage:{showDetail:"Show detail row: {rowIndex}",hideDetail:"Hide detail row: {rowIndex}"}});var KeyAction,DetailVisibilityMode;!function(e){e[e.None=0]="None";e[e.ToggleDetail=1]="ToggleDetail"}(KeyAction=exports.KeyAction||(exports.KeyAction={}));!function(e){e[e.Code=0]="Code";e[e.Selection=1]="Selection";e[e.ExpandSingle=2]="ExpandSingle";e[e.ExpandMulti=3]="ExpandMulti"}(DetailVisibilityMode=exports.DetailVisibilityMode||(exports.DetailVisibilityMode={}));class FlexGridDetailProvider{constructor(e,t){this._maxHeight=null;this._mode=DetailVisibilityMode.ExpandSingle;this._animated=!1;this._keyActionEnter=KeyAction.None;this._g=e;e.mergeManager=new DetailMergeManager(e);e.addEventListener(e.rowHeaders.hostElement,"click",this._hdrClick.bind(this));e.addEventListener(e.rowHeaders.hostElement,"mousedown",t=>{let i=e.editableCollectionView;if(e.activeEditor||i&&i.currentEditItem){this._hdrClick(t);t.preventDefault()}});setTimeout(()=>{e.formatItem.addHandler(this._formatItem,this)},100);e.selectionChanged.addHandler(this._selectionChanged,this);e.resizedRow.addHandler(this._resizedRow,this);e.loadingRows.addHandler(()=>this.hideDetail());e.deletingRow.addHandler((e,t)=>{this.hideDetail(t.row)});e.updatedView.addHandler(this._handleFrozenCells,this);e.cloneFrozenCells=!1;e.draggingRow.addHandler((e,t)=>{if(t.row<e.rows.length-1&&e.rows[t.row+1]instanceof DetailRow){t.cancel=!0;this.hideDetail(t.row)}});e.addEventListener(e.hostElement,"keydown",e=>{if(e.keyCode==wijmo_1.Key.Enter&&this._keyActionEnter==KeyAction.ToggleDetail){let t=this._g.selection.row,i=this._g.activePanel.cellType;this._toggleRowDetail(t)&&i===wijmo_grid_1.CellType.Cell&&e.preventDefault()}},!0);e._root.addEventListener("scroll",()=>{wijmo_1.hasClass(e.activeCell,exports.FlexGridDetailProviderClsNames.detail)&&wijmo_1.Control.sharedState.InvalidScroll||wijmo_1.Control.refreshAll(e._root)});wijmo_1.copy(this,t)}get grid(){return this._g}get detailVisibilityMode(){return this._mode}set detailVisibilityMode(e){if((e=wijmo_1.asEnum(e,DetailVisibilityMode))!=this._mode){this._mode=e;this.hideDetail();this._g.invalidate()}}get maxHeight(){return this._maxHeight}set maxHeight(e){if((e=wijmo_1.asNumber(e,!0))!=this._maxHeight){this._maxHeight=e;this.hideDetail()}}get isAnimated(){return this._animated}set isAnimated(e){e!=this._animated&&(this._animated=wijmo_1.asBoolean(e))}get keyActionEnter(){return this._keyActionEnter}set keyActionEnter(e){this._keyActionEnter=wijmo_1.asEnum(e,KeyAction)}get createDetailCell(){return this._createDetailCellFn}set createDetailCell(e){this._createDetailCellFn=wijmo_1.asFunction(e,!0)}get disposeDetailCell(){return this._disposeDetailCellFn}set disposeDetailCell(e){this._disposeDetailCellFn=wijmo_1.asFunction(e,!0)}get rowHasDetail(){return this._rowHasDetailFn}set rowHasDetail(e){if((e=wijmo_1.asFunction(e,!0))!=this._rowHasDetailFn){this._rowHasDetailFn=e;this.hideDetail();this._g.invalidate()}}getDetailRow(e){let t=this._g.rows,i=this._toIndex(e),l=t[i]?t[i].dataItem:void 0;for(;i<t.length;i++){let e=t[i];if(e instanceof DetailRow)return e;if(e.dataItem!=l)return null}return null}isDetailVisible(e){return null!=this.getDetailRow(e)}isDetailAvailable(e){e=this._toIndex(e);return this._hasDetail(e)}hideDetail(e){let t=this._g,i=t.rows,l=wijmo_1.culture.FlexGridDetailProvider.accessibilityHelperMessage.hideDetail;if(null==e){for(let e=0;e<i.length;e++)i[e]instanceof DetailRow&&this.hideDetail(e);return}let o=this._toIndex(e);if(t.rows._frozenInternal>0&&o<=t.rows._frozenInternal-1){t.rows.frozenDetailChildren-=1;t.rows._frozenInternal-=1}else if(t.rows._frozenInternal<0&&t.rows.isFrozen(o)){t.rows.frozenDetailChildren-=1;t.rows._frozenInternal+=1}for(;!(i[o]instanceof DetailRow)&&o<i.length-1;)o++;let r=i[o];if(r instanceof DetailRow){let e=r.detail.parentElement;if(e){let i=e.querySelectorAll("."+wijmo_1.ControlClsNames.hostElement);for(let e=0;e<i.length;e++){let l=wijmo_1.Control.getControl(i[e]);l&&l.containsFocus()&&t.focus(!0)}}let s=this.disposeDetailCell;!!s&&s(r)||wijmo_1.Control.disposeAll(r.detail);i.removeAt(o);l=wijmo_1.format(l,{rowIndex:o});t.announceShortcut(l)}}showDetail(e,t=!1){let i=this._g,l=i.rows,o=wijmo_1.culture.FlexGridDetailProvider.accessibilityHelperMessage.showDetail,r=this._toIndex(e);if(i.rows._frozenInternal>0&&r<=i.rows._frozenInternal-1){i.rows.frozenDetailChildren+=1;i.rows._frozenInternal+=1}else if(i.rows._frozenInternal<0&&i.rows.isFrozen(r)){i.rows.frozenDetailChildren+=1;i.rows._frozenInternal-=1}r>0&&l[r]instanceof DetailRow&&r--;let s=l[r].dataItem;for(;r<l.length-1&&l[r+1].dataItem==s;)r++;if(t){let e=i.selection,t=!1;for(let i=0;i<l.length-1;i++)if(i!=r&&l[i+1]instanceof DetailRow){this.hideDetail(i);i<r&&r--;if(i<e.row){e.row--;e.row2--;t=!0}}t&&i.select(e,!1)}if(!this.isDetailVisible(r)&&this._hasDetail(r)){let e=new DetailRow(l[r]),t=this._createDetailCell(l[r]);e.detail=t;if(t){l.insert(r+1,e);o=wijmo_1.format(o,{rowIndex:r+1});i.announceShortcut(o);let s=i.containsFocus();if(this._animated){let e=t.style;e.transform="translateY(-100%)";e.opacity="0";wijmo_1.animate(l=>{if(l<1){e.transform="translateY("+(100*-(1-l)).toFixed(0)+"%)";e.opacity=(l*l).toString()}else{e.transform=e.opacity="";wijmo_1.Control.invalidateAll(t);s&&i.hostElement&&i.scrollIntoView(r,-1)}})}else s&&i.scrollIntoView(r,-1,!0)}}}_sizeDetailRow(e,t=!1){let i=this._g,l=e.detail;wijmo_1.Control.refreshAll(l);const o=t?l.scrollHeight:l.offsetHeight;let r=o+i._cellPadVert+1,s=this._maxHeight;wijmo_1.isNumber(s)&&s>0&&r>s&&(r=s);e.height=r;l.style.height||(l.style.height="100%");let a=l.querySelector("."+wijmo_grid_1.FlexGridClsNames.hostElement);a&&!a.style.height&&(a.style.height="100%");return o}_handleFrozenCells(){let e=this._g,t=e.hostElement,i="."+wijmo_grid_1.FlexGridClsNames.hostElement,l=wijmo_1.Control.getControl(t.querySelector(i));if(l instanceof wijmo_grid_1.FlexGrid&&(l.rows._frozenInternal||l.columns._frozenInternal)){wijmo_1.setCss([e._eTL,e._eBL,e._eCFtr,e._eRHdr,e._eMarquee],{zIndex:"13"});wijmo_1.setCss(e._eCHdr,{zIndex:"14"});let l=t.querySelectorAll("."+wijmo_grid_1.FlexGridClsNames.frozen);for(let e=0;e<l.length;e++){let o=l[e];if(wijmo_1.closest(o,i)==t){let e=parseInt(o.style.zIndex);o.style.zIndex=(e%10+10).toString()}}}}_toIndex(e){return e instanceof wijmo_grid_1.Row?e.index:wijmo_1.asNumber(e)}_hdrClick(e){if(!e.defaultPrevented&&0==e.button&&wijmo_1.closestClass(e.target,FlexGridDetailProvider._WJC_DETAIL)){let t=DetailVisibilityMode;switch(this._mode){case t.ExpandMulti:case t.ExpandSingle:let i=this._g,l=i.hostElement,o=l&&l.offsetHeight&&l.offsetWidth,r=i.hitTest(e.target);r.panel||(r=i.hitTest(e));r.panel&&o&&this._toggleRowDetail(r.row)&&e.preventDefault()}}}_toggleRowDetail(e){if(e>-1){if(this.isDetailVisible(e)){this.hideDetail(e);return!0}if(this._hasDetail(e)){this.showDetail(e,this._mode==DetailVisibilityMode.ExpandSingle);return!0}}return!1}_selectionChanged(e,t){if(this._mode==DetailVisibilityMode.Selection){this._toSel&&clearTimeout(this._toSel);this._toSel=setTimeout(()=>{let t=e._selHdl.selection.row;t>-1?this.showDetail(t,!0):this.hideDetail()},300)}}_formatItem(e,t){let i=this._g,l=t.cell,o=t.getRow(),r=DetailVisibilityMode;if(t.panel==i.cells&&o instanceof DetailRow&&null!=o.detail&&!wijmo_1.hasClass(l,exports.FlexGridDetailProviderClsNames.detail)){wijmo_1.addClass(l,exports.FlexGridDetailProviderClsNames.detail);wijmo_1.addClass(l.parentElement,exports.FlexGridDetailProviderClsNames.detailRow);l.textContent="";l.style.textAlign="";l.className=l.className.replace(/wj\-align\-[\S]+/g,"");l.appendChild(o.detail);null==o.height?0===this._sizeDetailRow(o)&&setTimeout(()=>{this._sizeDetailRow(o,!0)},1):wijmo_1.Control.refreshAll(o.detail)}if(t.panel==i.rowHeaders&&0==t.col&&this._hasDetail(t.row)){l.style.cursor="";switch(this._mode){case r.ExpandMulti:case r.ExpandSingle:let e=this.isDetailVisible(t.row),i=e?"minus":"plus",o=FlexGridDetailProvider._WJC_DETAIL;l.innerHTML=`<div class="${wijmo_1.InputFormElementsClsNames.btn} ${wijmo_1.GlyphClsNames.btnGlyph} `+o+'" role="button" tabindex="-1">'+`<span class="${wijmo_1.GlyphClsNames.glyph}-`+i+'"></span></div>';let s=l.children[0],a=wijmo_1.culture.FlexGridDetailProvider.ariaLabels.toggleDetail;wijmo_1.setAriaLabel(s,a);wijmo_1.setAttribute(s,"aria-expanded",e)}}}_resizedRow(e,t){let i=t.getRow();i instanceof DetailRow&&i.detail&&wijmo_1.Control.refreshAll(i.detail)}_hasDetail(e){let t=this._g.rows[e];return wijmo_1.isFunction(this._rowHasDetailFn)?this._rowHasDetailFn(t):this._isRegularRow(t)}_isRegularRow(e){return!(e instanceof wijmo_grid_1._NewRowTemplate||e instanceof DetailRow)&&!(e instanceof wijmo_grid_1.GroupRow&&!this._g.childItemsPath)}_createDetailCell(e){return this.createDetailCell?this.createDetailCell(e):null}}FlexGridDetailProvider._WJC_DETAIL=exports.FlexGridDetailProviderClsNames.elemDetail;exports.FlexGridDetailProvider=FlexGridDetailProvider;wijmo_1._registerModule("wijmo.grid.detail",selfModule);
|
|
14
|
+
"use strict";var __importStar=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var i in e)Object.hasOwnProperty.call(e,i)&&(t[i]=e[i]);t.default=e;return t};Object.defineProperty(exports,"__esModule",{value:!0});const wijmo_grid_1=require("@grapecity/wijmo.grid"),wijmo_1=require("@grapecity/wijmo"),selfModule=__importStar(require("@grapecity/wijmo.grid.detail"));class DetailRow extends wijmo_grid_1.Row{constructor(e){super();this.isReadOnly=!0}get detail(){return this._detail}set detail(e){this._detail=e}}exports.DetailRow=DetailRow;class DetailMergeManager extends wijmo_grid_1.MergeManager{constructor(e){super();this._originalMergeManager=e.mergeManager}getMergedRange(e,t,i,l=!0){switch(e.cellType){case wijmo_grid_1.CellType.Cell:if(e.rows[t]instanceof DetailRow){e.columns._frozenInternal>0&&e.grid&&(e.grid.cloneFrozenCells=!1);return new wijmo_grid_1.CellRange(t,0,t,e.columns.length-1)}break;case wijmo_grid_1.CellType.RowHeader:{let l=_isFrozen(e,t),o=_isNew(e,t),s=e.rows[t].dataItem;!s&&t>0&&e.rows[t]instanceof DetailRow&&(s=e.rows[t-1].dataItem);let r=t;for(;r>0&&e.rows[r-1].dataItem==s&&_isFrozen(e,r-1)==l&&_isNew(e,r-1)==o;)r--;let a=t;for(;a<e.rows.length-1&&e.rows[a+1].dataItem==s&&_isFrozen(e,a+1)==l&&_isNew(e,a+1)==o;)a++;a<e.rows.length-1&&e.rows[a+1]instanceof DetailRow&&_isFrozen(e,a+1)==l&&_isNew(e,a+1)==o&&a++;return r!=a?new wijmo_grid_1.CellRange(r,i,a,i):null}}return this._originalMergeManager.getMergedRange(e,t,i,l)}}exports.DetailMergeManager=DetailMergeManager;function _isFrozen(e,t){return t<e.rows._frozenInternal}function _isNew(e,t){return e.rows[t]instanceof wijmo_grid_1._NewRowTemplate}exports.FlexGridDetailProviderClsNames={detail:"wj-detail",detailRow:"wj-detail-row",elemDetail:"wj-elem-detail"};wijmo_1._addCultureInfo("FlexGridDetailProvider",{ariaLabels:{toggleDetail:"Toggle Row Detail"},accessibilityHelperMessage:{showDetail:"Show detail row: {rowIndex}",hideDetail:"Hide detail row: {rowIndex}"}});var KeyAction,DetailVisibilityMode;!function(e){e[e.None=0]="None";e[e.ToggleDetail=1]="ToggleDetail"}(KeyAction=exports.KeyAction||(exports.KeyAction={}));!function(e){e[e.Code=0]="Code";e[e.Selection=1]="Selection";e[e.ExpandSingle=2]="ExpandSingle";e[e.ExpandMulti=3]="ExpandMulti"}(DetailVisibilityMode=exports.DetailVisibilityMode||(exports.DetailVisibilityMode={}));class FlexGridDetailProvider{constructor(e,t){this._maxHeight=null;this._mode=DetailVisibilityMode.ExpandSingle;this._animated=!1;this._keyActionEnter=KeyAction.None;this._g=e;e.mergeManager=new DetailMergeManager(e);e.addEventListener(e.rowHeaders.hostElement,"click",this._hdrClick.bind(this));e.addEventListener(e.rowHeaders.hostElement,"mousedown",t=>{const i=e.editableCollectionView;if(e.activeEditor||i&&i.currentEditItem){this._hdrClick(t);t.preventDefault()}});setTimeout(()=>{e.formatItem.addHandler(this._formatItem,this)},100);e.selectionChanged.addHandler(this._selectionChanged,this);e.resizedRow.addHandler(this._resizedRow,this);e.loadingRows.addHandler(()=>this.hideDetail());e.deletingRow.addHandler((e,t)=>{this.hideDetail(t.row)});e.updatedView.addHandler(this._handleFrozenCells,this);e.cloneFrozenCells=!1;e.draggingRow.addHandler((e,t)=>{if(t.row<e.rows.length-1&&e.rows[t.row+1]instanceof DetailRow){t.cancel=!0;this.hideDetail(t.row)}});e.addEventListener(e.hostElement,"keydown",e=>{if(e.keyCode==wijmo_1.Key.Enter&&this._keyActionEnter==KeyAction.ToggleDetail){const t=this._g.selection.row,i=this._g.activePanel.cellType;this._toggleRowDetail(t)&&i===wijmo_grid_1.CellType.Cell&&e.preventDefault()}},!0);e._root.addEventListener("scroll",()=>{wijmo_1.hasClass(e.activeCell,exports.FlexGridDetailProviderClsNames.detail)&&wijmo_1.Control.sharedState.InvalidScroll||wijmo_1.Control.refreshAll(e._root)});wijmo_1.copy(this,t)}dispose(){if(this._toSel){clearTimeout(this._toSel);this._toSel=null}}get grid(){return this._g}get detailVisibilityMode(){return this._mode}set detailVisibilityMode(e){if((e=wijmo_1.asEnum(e,DetailVisibilityMode))!=this._mode){this._mode=e;this.hideDetail();this._g.invalidate()}}get maxHeight(){return this._maxHeight}set maxHeight(e){if((e=wijmo_1.asNumber(e,!0))!=this._maxHeight){this._maxHeight=e;this.hideDetail()}}get isAnimated(){return this._animated}set isAnimated(e){e!=this._animated&&(this._animated=wijmo_1.asBoolean(e))}get keyActionEnter(){return this._keyActionEnter}set keyActionEnter(e){this._keyActionEnter=wijmo_1.asEnum(e,KeyAction)}get createDetailCell(){return this._createDetailCellFn}set createDetailCell(e){this._createDetailCellFn=wijmo_1.asFunction(e,!0)}get disposeDetailCell(){return this._disposeDetailCellFn}set disposeDetailCell(e){this._disposeDetailCellFn=wijmo_1.asFunction(e,!0)}get rowHasDetail(){return this._rowHasDetailFn}set rowHasDetail(e){if((e=wijmo_1.asFunction(e,!0))!=this._rowHasDetailFn){this._rowHasDetailFn=e;this.hideDetail();this._g.invalidate()}}getDetailRow(e){let t=this._g.rows,i=this._toIndex(e),l=t[i]?t[i].dataItem:void 0;for(;i<t.length;i++){const e=t[i];if(e instanceof DetailRow)return e;if(e.dataItem!=l)return null}return null}isDetailVisible(e){return null!=this.getDetailRow(e)}isDetailAvailable(e){e=this._toIndex(e);return this._hasDetail(e)}hideDetail(e){const t=this._g,i=t.rows;let l=wijmo_1.culture.FlexGridDetailProvider.accessibilityHelperMessage.hideDetail;if(null==e){for(let e=0;e<i.length;e++)i[e]instanceof DetailRow&&this.hideDetail(e);return}let o=this._toIndex(e);if(t.rows._frozenInternal>0&&o<=t.rows._frozenInternal-1){t.rows.frozenDetailChildren-=1;t.rows._frozenInternal-=1}else if(t.rows._frozenInternal<0&&t.rows.isFrozen(o)){t.rows.frozenDetailChildren-=1;t.rows._frozenInternal+=1}for(;!(i[o]instanceof DetailRow)&&o<i.length-1;)o++;const s=i[o];if(s instanceof DetailRow){const e=s.detail.parentElement;if(e){const i=e.querySelectorAll("."+wijmo_1.ControlClsNames.hostElement);for(let e=0;e<i.length;e++){const l=wijmo_1.Control.getControl(i[e]);l&&l.containsFocus()&&t.focus(!0)}}const r=this.disposeDetailCell;!!r&&r(s)||wijmo_1.Control.disposeAll(s.detail);i.removeAt(o);l=wijmo_1.format(l,{rowIndex:o});t.announceShortcut(l)}}showDetail(e,t=!1){const i=this._g,l=i.rows;let o=wijmo_1.culture.FlexGridDetailProvider.accessibilityHelperMessage.showDetail,s=this._toIndex(e);if(i.rows._frozenInternal>0&&s<=i.rows._frozenInternal-1){i.rows.frozenDetailChildren+=1;i.rows._frozenInternal+=1}else if(i.rows._frozenInternal<0&&i.rows.isFrozen(s)){i.rows.frozenDetailChildren+=1;i.rows._frozenInternal-=1}s>0&&l[s]instanceof DetailRow&&s--;const r=l[s].dataItem;for(;s<l.length-1&&l[s+1].dataItem==r;)s++;if(t){let e=i.selection,t=!1;for(let i=0;i<l.length-1;i++)if(i!=s&&l[i+1]instanceof DetailRow){this.hideDetail(i);i<s&&s--;if(i<e.row){e.row--;e.row2--;t=!0}}t&&i.select(e,!1)}if(!this.isDetailVisible(s)&&this._hasDetail(s)){const e=new DetailRow(l[s]),t=this._createDetailCell(l[s]);e.detail=t;if(t){l.insert(s+1,e);o=wijmo_1.format(o,{rowIndex:s+1});i.announceShortcut(o);const r=i.containsFocus();if(this._animated){const e=t.style;e.transform="translateY(-100%)";e.opacity="0";wijmo_1.animate(l=>{if(l<1){e.transform=`translateY(${(100*-(1-l)).toFixed(0)}%)`;e.opacity=(l*l).toString()}else{e.transform=e.opacity="";wijmo_1.Control.invalidateAll(t);r&&i.hostElement&&i.scrollIntoView(s,-1)}})}else r&&i.scrollIntoView(s,-1,!0)}}}_sizeDetailRow(e,t=!1){const i=this._g,l=e.detail;wijmo_1.Control.refreshAll(l);const o=t?l.scrollHeight:l.offsetHeight;let s=o+i._cellPadVert+1,r=this._maxHeight;wijmo_1.isNumber(r)&&r>0&&s>r&&(s=r);e.height=s;l.style.height||(l.style.height="100%");const a=l.querySelector("."+wijmo_grid_1.FlexGridClsNames.hostElement);a&&!a.style.height&&(a.style.height="100%");return o}_handleFrozenCells(){const e=this._g,t=e.hostElement,i="."+wijmo_grid_1.FlexGridClsNames.hostElement,l=wijmo_1.Control.getControl(t.querySelector(i));if(l instanceof wijmo_grid_1.FlexGrid&&(l.rows._frozenInternal||l.columns._frozenInternal)){wijmo_1.setCss([e._eTL,e._eBL,e._eCFtr,e._eRHdr,e._eMarquee],{zIndex:"13"});wijmo_1.setCss(e._eCHdr,{zIndex:"14"});const l=t.querySelectorAll("."+wijmo_grid_1.FlexGridClsNames.frozen);for(let e=0;e<l.length;e++){const o=l[e];if(wijmo_1.closest(o,i)==t){const e=parseInt(o.style.zIndex);o.style.zIndex=(e%10+10).toString()}}}}_toIndex(e){return e instanceof wijmo_grid_1.Row?e.index:wijmo_1.asNumber(e)}_hdrClick(e){if(!e.defaultPrevented&&0==e.button&&wijmo_1.closestClass(e.target,FlexGridDetailProvider._WJC_DETAIL)){const t=DetailVisibilityMode;switch(this._mode){case t.ExpandMulti:case t.ExpandSingle:{let t=this._g,i=t.hostElement,l=i&&i.offsetHeight&&i.offsetWidth,o=t.hitTest(e.target);o.panel||(o=t.hitTest(e));o.panel&&l&&this._toggleRowDetail(o.row)&&e.preventDefault();break}}}}_toggleRowDetail(e){if(e>-1){if(this.isDetailVisible(e)){this.hideDetail(e);return!0}if(this._hasDetail(e)){this.showDetail(e,this._mode==DetailVisibilityMode.ExpandSingle);return!0}}return!1}_selectionChanged(e,t){if(this._mode==DetailVisibilityMode.Selection){this._toSel&&clearTimeout(this._toSel);this._toSel=setTimeout(()=>{if(!e._selHdl||!e._selHdl.selection)return;const t=e._selHdl.selection.row;t>-1?this.showDetail(t,!0):this.hideDetail()},300)}}_formatItem(e,t){const i=this._g,l=t.cell,o=t.getRow(),s=DetailVisibilityMode;if(t.panel==i.cells&&o instanceof DetailRow&&null!=o.detail&&!wijmo_1.hasClass(l,exports.FlexGridDetailProviderClsNames.detail)){wijmo_1.addClass(l,exports.FlexGridDetailProviderClsNames.detail);wijmo_1.addClass(l.parentElement,exports.FlexGridDetailProviderClsNames.detailRow);l.textContent="";l.style.textAlign="";l.className=l.className.replace(/wj-align-[\S]+/g,"");l.appendChild(o.detail);null==o.height?0===this._sizeDetailRow(o)&&setTimeout(()=>{this._sizeDetailRow(o,!0)},1):wijmo_1.Control.refreshAll(o.detail)}if(t.panel==i.rowHeaders&&0==t.col&&this._hasDetail(t.row)){l.style.cursor="";switch(this._mode){case s.ExpandMulti:case s.ExpandSingle:{const e=this.isDetailVisible(t.row),i=e?"minus":"plus",o=FlexGridDetailProvider._WJC_DETAIL;l.innerHTML=`<div class="${wijmo_1.InputFormElementsClsNames.btn} ${wijmo_1.GlyphClsNames.btnGlyph} `+o+'" role="button" tabindex="-1">'+`<span class="${wijmo_1.GlyphClsNames.glyph}-`+i+'"></span></div>';const s=l.children[0],r=wijmo_1.culture.FlexGridDetailProvider.ariaLabels.toggleDetail;wijmo_1.setAriaLabel(s,r);wijmo_1.setAttribute(s,"aria-expanded",e)}}}}_resizedRow(e,t){const i=t.getRow();i instanceof DetailRow&&i.detail&&wijmo_1.Control.refreshAll(i.detail)}_hasDetail(e){const t=this._g.rows[e];return wijmo_1.isFunction(this._rowHasDetailFn)?this._rowHasDetailFn(t):this._isRegularRow(t)}_isRegularRow(e){return!(e instanceof wijmo_grid_1._NewRowTemplate||e instanceof DetailRow)&&!(e instanceof wijmo_grid_1.GroupRow&&!this._g.childItemsPath)}_createDetailCell(e){return this.createDetailCell?this.createDetailCell(e):null}}FlexGridDetailProvider._WJC_DETAIL=exports.FlexGridDetailProviderClsNames.elemDetail;exports.FlexGridDetailProvider=FlexGridDetailProvider;wijmo_1._registerModule("wijmo.grid.detail",selfModule);
|
package/es2015-esm.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
*
|
|
3
|
-
* Wijmo Library 5.
|
|
3
|
+
* Wijmo Library 5.20261.48
|
|
4
4
|
* https://developer.mescius.com/wijmo
|
|
5
5
|
*
|
|
6
6
|
* Copyright(c) MESCIUS inc. All rights reserved.
|
|
@@ -11,4 +11,4 @@
|
|
|
11
11
|
*
|
|
12
12
|
*/
|
|
13
13
|
|
|
14
|
-
import{_addCultureInfo,Key,Control,culture,copy,asEnum,asNumber,asBoolean,asFunction,isFunction,isNumber,animate,setCss,closest,closestClass,addClass,hasClass,setAriaLabel,setAttribute,ControlClsNames,InputFormElementsClsNames,GlyphClsNames,format,_registerModule}from"@grapecity/wijmo";import{Row,FlexGrid,MergeManager,CellRange,CellType,_NewRowTemplate,GroupRow,FlexGridClsNames}from"@grapecity/wijmo.grid";import*as selfModule from"@grapecity/wijmo.grid.detail";export class DetailRow extends Row{constructor(e){super();this.isReadOnly=!0}get detail(){return this._detail}set detail(e){this._detail=e}}export class DetailMergeManager extends MergeManager{constructor(e){super();this._originalMergeManager=e.mergeManager}getMergedRange(e,t,i,l=!0){switch(e.cellType){case CellType.Cell:if(e.rows[t]instanceof DetailRow){e.columns._frozenInternal>0&&e.grid&&(e.grid.cloneFrozenCells=!1);return new CellRange(t,0,t,e.columns.length-1)}break;case CellType.RowHeader:let l=_isFrozen(e,t),s=_isNew(e,t),a=e.rows[t].dataItem;!a&&t>0&&e.rows[t]instanceof DetailRow&&(a=e.rows[t-1].dataItem);let r=t;for(;r>0&&e.rows[r-1].dataItem==a&&_isFrozen(e,r-1)==l&&_isNew(e,r-1)==s;)r--;let o=t;for(;o<e.rows.length-1&&e.rows[o+1].dataItem==a&&_isFrozen(e,o+1)==l&&_isNew(e,o+1)==s;)o++;o<e.rows.length-1&&e.rows[o+1]instanceof DetailRow&&_isFrozen(e,o+1)==l&&_isNew(e,o+1)==s&&o++;return r!=o?new CellRange(r,i,o,i):null}return this._originalMergeManager.getMergedRange(e,t,i,l)}}function _isFrozen(e,t){return t<e.rows._frozenInternal}function _isNew(e,t){return e.rows[t]instanceof _NewRowTemplate}export const FlexGridDetailProviderClsNames={detail:"wj-detail",detailRow:"wj-detail-row",elemDetail:"wj-elem-detail"};_addCultureInfo("FlexGridDetailProvider",{ariaLabels:{toggleDetail:"Toggle Row Detail"},accessibilityHelperMessage:{showDetail:"Show detail row: {rowIndex}",hideDetail:"Hide detail row: {rowIndex}"}});export var KeyAction;!function(e){e[e.None=0]="None";e[e.ToggleDetail=1]="ToggleDetail"}(KeyAction||(KeyAction={}));export var DetailVisibilityMode;!function(e){e[e.Code=0]="Code";e[e.Selection=1]="Selection";e[e.ExpandSingle=2]="ExpandSingle";e[e.ExpandMulti=3]="ExpandMulti"}(DetailVisibilityMode||(DetailVisibilityMode={}));export class FlexGridDetailProvider{constructor(e,t){this._maxHeight=null;this._mode=DetailVisibilityMode.ExpandSingle;this._animated=!1;this._keyActionEnter=KeyAction.None;this._g=e;e.mergeManager=new DetailMergeManager(e);e.addEventListener(e.rowHeaders.hostElement,"click",this._hdrClick.bind(this));e.addEventListener(e.rowHeaders.hostElement,"mousedown",t=>{let i=e.editableCollectionView;if(e.activeEditor||i&&i.currentEditItem){this._hdrClick(t);t.preventDefault()}});setTimeout(()=>{e.formatItem.addHandler(this._formatItem,this)},100);e.selectionChanged.addHandler(this._selectionChanged,this);e.resizedRow.addHandler(this._resizedRow,this);e.loadingRows.addHandler(()=>this.hideDetail());e.deletingRow.addHandler((e,t)=>{this.hideDetail(t.row)});e.updatedView.addHandler(this._handleFrozenCells,this);e.cloneFrozenCells=!1;e.draggingRow.addHandler((e,t)=>{if(t.row<e.rows.length-1&&e.rows[t.row+1]instanceof DetailRow){t.cancel=!0;this.hideDetail(t.row)}});e.addEventListener(e.hostElement,"keydown",e=>{if(e.keyCode==Key.Enter&&this._keyActionEnter==KeyAction.ToggleDetail){let t=this._g.selection.row,i=this._g.activePanel.cellType;this._toggleRowDetail(t)&&i===CellType.Cell&&e.preventDefault()}},!0);e._root.addEventListener("scroll",()=>{hasClass(e.activeCell,FlexGridDetailProviderClsNames.detail)&&Control.sharedState.InvalidScroll||Control.refreshAll(e._root)});copy(this,t)}get grid(){return this._g}get detailVisibilityMode(){return this._mode}set detailVisibilityMode(e){if((e=asEnum(e,DetailVisibilityMode))!=this._mode){this._mode=e;this.hideDetail();this._g.invalidate()}}get maxHeight(){return this._maxHeight}set maxHeight(e){if((e=asNumber(e,!0))!=this._maxHeight){this._maxHeight=e;this.hideDetail()}}get isAnimated(){return this._animated}set isAnimated(e){e!=this._animated&&(this._animated=asBoolean(e))}get keyActionEnter(){return this._keyActionEnter}set keyActionEnter(e){this._keyActionEnter=asEnum(e,KeyAction)}get createDetailCell(){return this._createDetailCellFn}set createDetailCell(e){this._createDetailCellFn=asFunction(e,!0)}get disposeDetailCell(){return this._disposeDetailCellFn}set disposeDetailCell(e){this._disposeDetailCellFn=asFunction(e,!0)}get rowHasDetail(){return this._rowHasDetailFn}set rowHasDetail(e){if((e=asFunction(e,!0))!=this._rowHasDetailFn){this._rowHasDetailFn=e;this.hideDetail();this._g.invalidate()}}getDetailRow(e){let t=this._g.rows,i=this._toIndex(e),l=t[i]?t[i].dataItem:void 0;for(;i<t.length;i++){let e=t[i];if(e instanceof DetailRow)return e;if(e.dataItem!=l)return null}return null}isDetailVisible(e){return null!=this.getDetailRow(e)}isDetailAvailable(e){e=this._toIndex(e);return this._hasDetail(e)}hideDetail(e){let t=this._g,i=t.rows,l=culture.FlexGridDetailProvider.accessibilityHelperMessage.hideDetail;if(null==e){for(let e=0;e<i.length;e++)i[e]instanceof DetailRow&&this.hideDetail(e);return}let s=this._toIndex(e);if(t.rows._frozenInternal>0&&s<=t.rows._frozenInternal-1){t.rows.frozenDetailChildren-=1;t.rows._frozenInternal-=1}else if(t.rows._frozenInternal<0&&t.rows.isFrozen(s)){t.rows.frozenDetailChildren-=1;t.rows._frozenInternal+=1}for(;!(i[s]instanceof DetailRow)&&s<i.length-1;)s++;let a=i[s];if(a instanceof DetailRow){let e=a.detail.parentElement;if(e){let i=e.querySelectorAll("."+ControlClsNames.hostElement);for(let e=0;e<i.length;e++){let l=Control.getControl(i[e]);l&&l.containsFocus()&&t.focus(!0)}}let r=this.disposeDetailCell;!!r&&r(a)||Control.disposeAll(a.detail);i.removeAt(s);l=format(l,{rowIndex:s});t.announceShortcut(l)}}showDetail(e,t=!1){let i=this._g,l=i.rows,s=culture.FlexGridDetailProvider.accessibilityHelperMessage.showDetail,a=this._toIndex(e);if(i.rows._frozenInternal>0&&a<=i.rows._frozenInternal-1){i.rows.frozenDetailChildren+=1;i.rows._frozenInternal+=1}else if(i.rows._frozenInternal<0&&i.rows.isFrozen(a)){i.rows.frozenDetailChildren+=1;i.rows._frozenInternal-=1}a>0&&l[a]instanceof DetailRow&&a--;let r=l[a].dataItem;for(;a<l.length-1&&l[a+1].dataItem==r;)a++;if(t){let e=i.selection,t=!1;for(let i=0;i<l.length-1;i++)if(i!=a&&l[i+1]instanceof DetailRow){this.hideDetail(i);i<a&&a--;if(i<e.row){e.row--;e.row2--;t=!0}}t&&i.select(e,!1)}if(!this.isDetailVisible(a)&&this._hasDetail(a)){let e=new DetailRow(l[a]),t=this._createDetailCell(l[a]);e.detail=t;if(t){l.insert(a+1,e);s=format(s,{rowIndex:a+1});i.announceShortcut(s);let r=i.containsFocus();if(this._animated){let e=t.style;e.transform="translateY(-100%)";e.opacity="0";animate(l=>{if(l<1){e.transform="translateY("+(100*-(1-l)).toFixed(0)+"%)";e.opacity=(l*l).toString()}else{e.transform=e.opacity="";Control.invalidateAll(t);r&&i.hostElement&&i.scrollIntoView(a,-1)}})}else r&&i.scrollIntoView(a,-1,!0)}}}_sizeDetailRow(e,t=!1){let i=this._g,l=e.detail;Control.refreshAll(l);const s=t?l.scrollHeight:l.offsetHeight;let a=s+i._cellPadVert+1,r=this._maxHeight;isNumber(r)&&r>0&&a>r&&(a=r);e.height=a;l.style.height||(l.style.height="100%");let o=l.querySelector("."+FlexGridClsNames.hostElement);o&&!o.style.height&&(o.style.height="100%");return s}_handleFrozenCells(){let e=this._g,t=e.hostElement,i="."+FlexGridClsNames.hostElement,l=Control.getControl(t.querySelector(i));if(l instanceof FlexGrid&&(l.rows._frozenInternal||l.columns._frozenInternal)){setCss([e._eTL,e._eBL,e._eCFtr,e._eRHdr,e._eMarquee],{zIndex:"13"});setCss(e._eCHdr,{zIndex:"14"});let l=t.querySelectorAll("."+FlexGridClsNames.frozen);for(let e=0;e<l.length;e++){let s=l[e];if(closest(s,i)==t){let e=parseInt(s.style.zIndex);s.style.zIndex=(e%10+10).toString()}}}}_toIndex(e){return e instanceof Row?e.index:asNumber(e)}_hdrClick(e){if(!e.defaultPrevented&&0==e.button&&closestClass(e.target,FlexGridDetailProvider._WJC_DETAIL)){let t=DetailVisibilityMode;switch(this._mode){case t.ExpandMulti:case t.ExpandSingle:let i=this._g,l=i.hostElement,s=l&&l.offsetHeight&&l.offsetWidth,a=i.hitTest(e.target);a.panel||(a=i.hitTest(e));a.panel&&s&&this._toggleRowDetail(a.row)&&e.preventDefault()}}}_toggleRowDetail(e){if(e>-1){if(this.isDetailVisible(e)){this.hideDetail(e);return!0}if(this._hasDetail(e)){this.showDetail(e,this._mode==DetailVisibilityMode.ExpandSingle);return!0}}return!1}_selectionChanged(e,t){if(this._mode==DetailVisibilityMode.Selection){this._toSel&&clearTimeout(this._toSel);this._toSel=setTimeout(()=>{let t=e._selHdl.selection.row;t>-1?this.showDetail(t,!0):this.hideDetail()},300)}}_formatItem(e,t){let i=this._g,l=t.cell,s=t.getRow(),a=DetailVisibilityMode;if(t.panel==i.cells&&s instanceof DetailRow&&null!=s.detail&&!hasClass(l,FlexGridDetailProviderClsNames.detail)){addClass(l,FlexGridDetailProviderClsNames.detail);addClass(l.parentElement,FlexGridDetailProviderClsNames.detailRow);l.textContent="";l.style.textAlign="";l.className=l.className.replace(/wj\-align\-[\S]+/g,"");l.appendChild(s.detail);null==s.height?0===this._sizeDetailRow(s)&&setTimeout(()=>{this._sizeDetailRow(s,!0)},1):Control.refreshAll(s.detail)}if(t.panel==i.rowHeaders&&0==t.col&&this._hasDetail(t.row)){l.style.cursor="";switch(this._mode){case a.ExpandMulti:case a.ExpandSingle:let e=this.isDetailVisible(t.row),i=e?"minus":"plus",s=FlexGridDetailProvider._WJC_DETAIL;l.innerHTML=`<div class="${InputFormElementsClsNames.btn} ${GlyphClsNames.btnGlyph} `+s+'" role="button" tabindex="-1">'+`<span class="${GlyphClsNames.glyph}-`+i+'"></span></div>';let r=l.children[0],o=culture.FlexGridDetailProvider.ariaLabels.toggleDetail;setAriaLabel(r,o);setAttribute(r,"aria-expanded",e)}}}_resizedRow(e,t){let i=t.getRow();i instanceof DetailRow&&i.detail&&Control.refreshAll(i.detail)}_hasDetail(e){let t=this._g.rows[e];return isFunction(this._rowHasDetailFn)?this._rowHasDetailFn(t):this._isRegularRow(t)}_isRegularRow(e){return!(e instanceof _NewRowTemplate||e instanceof DetailRow)&&!(e instanceof GroupRow&&!this._g.childItemsPath)}_createDetailCell(e){return this.createDetailCell?this.createDetailCell(e):null}}FlexGridDetailProvider._WJC_DETAIL=FlexGridDetailProviderClsNames.elemDetail;_registerModule("wijmo.grid.detail",selfModule);
|
|
14
|
+
import{Row,FlexGrid,MergeManager,CellRange,CellType,_NewRowTemplate,GroupRow,FlexGridClsNames}from"@grapecity/wijmo.grid";import{Key,Control,_addCultureInfo,culture,copy,asEnum,asNumber,asBoolean,asFunction,isFunction,isNumber,animate,setCss,closest,closestClass,addClass,hasClass,setAriaLabel,setAttribute,ControlClsNames,InputFormElementsClsNames,GlyphClsNames,format,_registerModule}from"@grapecity/wijmo";import*as selfModule from"@grapecity/wijmo.grid.detail";export class DetailRow extends Row{constructor(e){super();this.isReadOnly=!0}get detail(){return this._detail}set detail(e){this._detail=e}}export class DetailMergeManager extends MergeManager{constructor(e){super();this._originalMergeManager=e.mergeManager}getMergedRange(e,t,i,l=!0){switch(e.cellType){case CellType.Cell:if(e.rows[t]instanceof DetailRow){e.columns._frozenInternal>0&&e.grid&&(e.grid.cloneFrozenCells=!1);return new CellRange(t,0,t,e.columns.length-1)}break;case CellType.RowHeader:{let l=_isFrozen(e,t),s=_isNew(e,t),o=e.rows[t].dataItem;!o&&t>0&&e.rows[t]instanceof DetailRow&&(o=e.rows[t-1].dataItem);let a=t;for(;a>0&&e.rows[a-1].dataItem==o&&_isFrozen(e,a-1)==l&&_isNew(e,a-1)==s;)a--;let r=t;for(;r<e.rows.length-1&&e.rows[r+1].dataItem==o&&_isFrozen(e,r+1)==l&&_isNew(e,r+1)==s;)r++;r<e.rows.length-1&&e.rows[r+1]instanceof DetailRow&&_isFrozen(e,r+1)==l&&_isNew(e,r+1)==s&&r++;return a!=r?new CellRange(a,i,r,i):null}}return this._originalMergeManager.getMergedRange(e,t,i,l)}}function _isFrozen(e,t){return t<e.rows._frozenInternal}function _isNew(e,t){return e.rows[t]instanceof _NewRowTemplate}export const FlexGridDetailProviderClsNames={detail:"wj-detail",detailRow:"wj-detail-row",elemDetail:"wj-elem-detail"};_addCultureInfo("FlexGridDetailProvider",{ariaLabels:{toggleDetail:"Toggle Row Detail"},accessibilityHelperMessage:{showDetail:"Show detail row: {rowIndex}",hideDetail:"Hide detail row: {rowIndex}"}});export var KeyAction;!function(e){e[e.None=0]="None";e[e.ToggleDetail=1]="ToggleDetail"}(KeyAction||(KeyAction={}));export var DetailVisibilityMode;!function(e){e[e.Code=0]="Code";e[e.Selection=1]="Selection";e[e.ExpandSingle=2]="ExpandSingle";e[e.ExpandMulti=3]="ExpandMulti"}(DetailVisibilityMode||(DetailVisibilityMode={}));export class FlexGridDetailProvider{constructor(e,t){this._maxHeight=null;this._mode=DetailVisibilityMode.ExpandSingle;this._animated=!1;this._keyActionEnter=KeyAction.None;this._g=e;e.mergeManager=new DetailMergeManager(e);e.addEventListener(e.rowHeaders.hostElement,"click",this._hdrClick.bind(this));e.addEventListener(e.rowHeaders.hostElement,"mousedown",t=>{const i=e.editableCollectionView;if(e.activeEditor||i&&i.currentEditItem){this._hdrClick(t);t.preventDefault()}});setTimeout(()=>{e.formatItem.addHandler(this._formatItem,this)},100);e.selectionChanged.addHandler(this._selectionChanged,this);e.resizedRow.addHandler(this._resizedRow,this);e.loadingRows.addHandler(()=>this.hideDetail());e.deletingRow.addHandler((e,t)=>{this.hideDetail(t.row)});e.updatedView.addHandler(this._handleFrozenCells,this);e.cloneFrozenCells=!1;e.draggingRow.addHandler((e,t)=>{if(t.row<e.rows.length-1&&e.rows[t.row+1]instanceof DetailRow){t.cancel=!0;this.hideDetail(t.row)}});e.addEventListener(e.hostElement,"keydown",e=>{if(e.keyCode==Key.Enter&&this._keyActionEnter==KeyAction.ToggleDetail){const t=this._g.selection.row,i=this._g.activePanel.cellType;this._toggleRowDetail(t)&&i===CellType.Cell&&e.preventDefault()}},!0);e._root.addEventListener("scroll",()=>{hasClass(e.activeCell,FlexGridDetailProviderClsNames.detail)&&Control.sharedState.InvalidScroll||Control.refreshAll(e._root)});copy(this,t)}dispose(){if(this._toSel){clearTimeout(this._toSel);this._toSel=null}}get grid(){return this._g}get detailVisibilityMode(){return this._mode}set detailVisibilityMode(e){if((e=asEnum(e,DetailVisibilityMode))!=this._mode){this._mode=e;this.hideDetail();this._g.invalidate()}}get maxHeight(){return this._maxHeight}set maxHeight(e){if((e=asNumber(e,!0))!=this._maxHeight){this._maxHeight=e;this.hideDetail()}}get isAnimated(){return this._animated}set isAnimated(e){e!=this._animated&&(this._animated=asBoolean(e))}get keyActionEnter(){return this._keyActionEnter}set keyActionEnter(e){this._keyActionEnter=asEnum(e,KeyAction)}get createDetailCell(){return this._createDetailCellFn}set createDetailCell(e){this._createDetailCellFn=asFunction(e,!0)}get disposeDetailCell(){return this._disposeDetailCellFn}set disposeDetailCell(e){this._disposeDetailCellFn=asFunction(e,!0)}get rowHasDetail(){return this._rowHasDetailFn}set rowHasDetail(e){if((e=asFunction(e,!0))!=this._rowHasDetailFn){this._rowHasDetailFn=e;this.hideDetail();this._g.invalidate()}}getDetailRow(e){let t=this._g.rows,i=this._toIndex(e),l=t[i]?t[i].dataItem:void 0;for(;i<t.length;i++){const e=t[i];if(e instanceof DetailRow)return e;if(e.dataItem!=l)return null}return null}isDetailVisible(e){return null!=this.getDetailRow(e)}isDetailAvailable(e){e=this._toIndex(e);return this._hasDetail(e)}hideDetail(e){const t=this._g,i=t.rows;let l=culture.FlexGridDetailProvider.accessibilityHelperMessage.hideDetail;if(null==e){for(let e=0;e<i.length;e++)i[e]instanceof DetailRow&&this.hideDetail(e);return}let s=this._toIndex(e);if(t.rows._frozenInternal>0&&s<=t.rows._frozenInternal-1){t.rows.frozenDetailChildren-=1;t.rows._frozenInternal-=1}else if(t.rows._frozenInternal<0&&t.rows.isFrozen(s)){t.rows.frozenDetailChildren-=1;t.rows._frozenInternal+=1}for(;!(i[s]instanceof DetailRow)&&s<i.length-1;)s++;const o=i[s];if(o instanceof DetailRow){const e=o.detail.parentElement;if(e){const i=e.querySelectorAll("."+ControlClsNames.hostElement);for(let e=0;e<i.length;e++){const l=Control.getControl(i[e]);l&&l.containsFocus()&&t.focus(!0)}}const a=this.disposeDetailCell;!!a&&a(o)||Control.disposeAll(o.detail);i.removeAt(s);l=format(l,{rowIndex:s});t.announceShortcut(l)}}showDetail(e,t=!1){const i=this._g,l=i.rows;let s=culture.FlexGridDetailProvider.accessibilityHelperMessage.showDetail,o=this._toIndex(e);if(i.rows._frozenInternal>0&&o<=i.rows._frozenInternal-1){i.rows.frozenDetailChildren+=1;i.rows._frozenInternal+=1}else if(i.rows._frozenInternal<0&&i.rows.isFrozen(o)){i.rows.frozenDetailChildren+=1;i.rows._frozenInternal-=1}o>0&&l[o]instanceof DetailRow&&o--;const a=l[o].dataItem;for(;o<l.length-1&&l[o+1].dataItem==a;)o++;if(t){let e=i.selection,t=!1;for(let i=0;i<l.length-1;i++)if(i!=o&&l[i+1]instanceof DetailRow){this.hideDetail(i);i<o&&o--;if(i<e.row){e.row--;e.row2--;t=!0}}t&&i.select(e,!1)}if(!this.isDetailVisible(o)&&this._hasDetail(o)){const e=new DetailRow(l[o]),t=this._createDetailCell(l[o]);e.detail=t;if(t){l.insert(o+1,e);s=format(s,{rowIndex:o+1});i.announceShortcut(s);const a=i.containsFocus();if(this._animated){const e=t.style;e.transform="translateY(-100%)";e.opacity="0";animate(l=>{if(l<1){e.transform=`translateY(${(100*-(1-l)).toFixed(0)}%)`;e.opacity=(l*l).toString()}else{e.transform=e.opacity="";Control.invalidateAll(t);a&&i.hostElement&&i.scrollIntoView(o,-1)}})}else a&&i.scrollIntoView(o,-1,!0)}}}_sizeDetailRow(e,t=!1){const i=this._g,l=e.detail;Control.refreshAll(l);const s=t?l.scrollHeight:l.offsetHeight;let o=s+i._cellPadVert+1,a=this._maxHeight;isNumber(a)&&a>0&&o>a&&(o=a);e.height=o;l.style.height||(l.style.height="100%");const r=l.querySelector("."+FlexGridClsNames.hostElement);r&&!r.style.height&&(r.style.height="100%");return s}_handleFrozenCells(){const e=this._g,t=e.hostElement,i="."+FlexGridClsNames.hostElement,l=Control.getControl(t.querySelector(i));if(l instanceof FlexGrid&&(l.rows._frozenInternal||l.columns._frozenInternal)){setCss([e._eTL,e._eBL,e._eCFtr,e._eRHdr,e._eMarquee],{zIndex:"13"});setCss(e._eCHdr,{zIndex:"14"});const l=t.querySelectorAll("."+FlexGridClsNames.frozen);for(let e=0;e<l.length;e++){const s=l[e];if(closest(s,i)==t){const e=parseInt(s.style.zIndex);s.style.zIndex=(e%10+10).toString()}}}}_toIndex(e){return e instanceof Row?e.index:asNumber(e)}_hdrClick(e){if(!e.defaultPrevented&&0==e.button&&closestClass(e.target,FlexGridDetailProvider._WJC_DETAIL)){const t=DetailVisibilityMode;switch(this._mode){case t.ExpandMulti:case t.ExpandSingle:{let t=this._g,i=t.hostElement,l=i&&i.offsetHeight&&i.offsetWidth,s=t.hitTest(e.target);s.panel||(s=t.hitTest(e));s.panel&&l&&this._toggleRowDetail(s.row)&&e.preventDefault();break}}}}_toggleRowDetail(e){if(e>-1){if(this.isDetailVisible(e)){this.hideDetail(e);return!0}if(this._hasDetail(e)){this.showDetail(e,this._mode==DetailVisibilityMode.ExpandSingle);return!0}}return!1}_selectionChanged(e,t){if(this._mode==DetailVisibilityMode.Selection){this._toSel&&clearTimeout(this._toSel);this._toSel=setTimeout(()=>{if(!e._selHdl||!e._selHdl.selection)return;const t=e._selHdl.selection.row;t>-1?this.showDetail(t,!0):this.hideDetail()},300)}}_formatItem(e,t){const i=this._g,l=t.cell,s=t.getRow(),o=DetailVisibilityMode;if(t.panel==i.cells&&s instanceof DetailRow&&null!=s.detail&&!hasClass(l,FlexGridDetailProviderClsNames.detail)){addClass(l,FlexGridDetailProviderClsNames.detail);addClass(l.parentElement,FlexGridDetailProviderClsNames.detailRow);l.textContent="";l.style.textAlign="";l.className=l.className.replace(/wj-align-[\S]+/g,"");l.appendChild(s.detail);null==s.height?0===this._sizeDetailRow(s)&&setTimeout(()=>{this._sizeDetailRow(s,!0)},1):Control.refreshAll(s.detail)}if(t.panel==i.rowHeaders&&0==t.col&&this._hasDetail(t.row)){l.style.cursor="";switch(this._mode){case o.ExpandMulti:case o.ExpandSingle:{const e=this.isDetailVisible(t.row),i=e?"minus":"plus",s=FlexGridDetailProvider._WJC_DETAIL;l.innerHTML=`<div class="${InputFormElementsClsNames.btn} ${GlyphClsNames.btnGlyph} `+s+'" role="button" tabindex="-1">'+`<span class="${GlyphClsNames.glyph}-`+i+'"></span></div>';const o=l.children[0],a=culture.FlexGridDetailProvider.ariaLabels.toggleDetail;setAriaLabel(o,a);setAttribute(o,"aria-expanded",e)}}}}_resizedRow(e,t){const i=t.getRow();i instanceof DetailRow&&i.detail&&Control.refreshAll(i.detail)}_hasDetail(e){const t=this._g.rows[e];return isFunction(this._rowHasDetailFn)?this._rowHasDetailFn(t):this._isRegularRow(t)}_isRegularRow(e){return!(e instanceof _NewRowTemplate||e instanceof DetailRow)&&!(e instanceof GroupRow&&!this._g.childItemsPath)}_createDetailCell(e){return this.createDetailCell?this.createDetailCell(e):null}}FlexGridDetailProvider._WJC_DETAIL=FlexGridDetailProviderClsNames.elemDetail;_registerModule("wijmo.grid.detail",selfModule);
|
package/es5-esm.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
*
|
|
3
|
-
* Wijmo Library 5.
|
|
3
|
+
* Wijmo Library 5.20261.48
|
|
4
4
|
* https://developer.mescius.com/wijmo
|
|
5
5
|
*
|
|
6
6
|
* Copyright(c) MESCIUS inc. All rights reserved.
|
|
@@ -11,4 +11,4 @@
|
|
|
11
11
|
*
|
|
12
12
|
*/
|
|
13
13
|
|
|
14
|
-
var __extends=this&&this.__extends||function(){var extendStatics=function(e,t){return(extendStatics=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var i in t)t.hasOwnProperty(i)&&(e[i]=t[i])})(e,t)};return function(e,t){extendStatics(e,t);function __(){this.constructor=e}e.prototype=null===t?Object.create(t):(__.prototype=t.prototype,new __)}}();import{_addCultureInfo,Key,Control,culture,copy,asEnum,asNumber,asBoolean,asFunction,isFunction,isNumber,animate,setCss,closest,closestClass,addClass,hasClass,setAriaLabel,setAttribute,ControlClsNames,InputFormElementsClsNames,GlyphClsNames,format,_registerModule}from"@grapecity/wijmo";import{Row,FlexGrid,MergeManager,CellRange,CellType,_NewRowTemplate,GroupRow,FlexGridClsNames}from"@grapecity/wijmo.grid";import*as selfModule from"@grapecity/wijmo.grid.detail";var DetailRow=function(e){__extends(DetailRow,e);function DetailRow(t){var i=e.call(this)||this;i.isReadOnly=!0;return i}Object.defineProperty(DetailRow.prototype,"detail",{get:function(){return this._detail},set:function(e){this._detail=e},enumerable:!0,configurable:!0});return DetailRow}(Row);export{DetailRow};var DetailMergeManager=function(e){__extends(DetailMergeManager,e);function DetailMergeManager(t){var i=e.call(this)||this;i._originalMergeManager=t.mergeManager;return i}DetailMergeManager.prototype.getMergedRange=function(e,t,i,r){void 0===r&&(r=!0);switch(e.cellType){case CellType.Cell:if(e.rows[t]instanceof DetailRow){e.columns._frozenInternal>0&&e.grid&&(e.grid.cloneFrozenCells=!1);return new CellRange(t,0,t,e.columns.length-1)}break;case CellType.RowHeader:var l=_isFrozen(e,t),o=_isNew(e,t),a=e.rows[t].dataItem;!a&&t>0&&e.rows[t]instanceof DetailRow&&(a=e.rows[t-1].dataItem);for(var n=t;n>0&&e.rows[n-1].dataItem==a&&_isFrozen(e,n-1)==l&&_isNew(e,n-1)==o;)n--;for(var s=t;s<e.rows.length-1&&e.rows[s+1].dataItem==a&&_isFrozen(e,s+1)==l&&_isNew(e,s+1)==o;)s++;s<e.rows.length-1&&e.rows[s+1]instanceof DetailRow&&_isFrozen(e,s+1)==l&&_isNew(e,s+1)==o&&s++;return n!=s?new CellRange(n,i,s,i):null}return this._originalMergeManager.getMergedRange(e,t,i,r)};return DetailMergeManager}(MergeManager);export{DetailMergeManager};function _isFrozen(e,t){return t<e.rows._frozenInternal}function _isNew(e,t){return e.rows[t]instanceof _NewRowTemplate}export var FlexGridDetailProviderClsNames={detail:"wj-detail",detailRow:"wj-detail-row",elemDetail:"wj-elem-detail"};_addCultureInfo("FlexGridDetailProvider",{ariaLabels:{toggleDetail:"Toggle Row Detail"},accessibilityHelperMessage:{showDetail:"Show detail row: {rowIndex}",hideDetail:"Hide detail row: {rowIndex}"}});export var KeyAction;!function(e){e[e.None=0]="None";e[e.ToggleDetail=1]="ToggleDetail"}(KeyAction||(KeyAction={}));export var DetailVisibilityMode;!function(e){e[e.Code=0]="Code";e[e.Selection=1]="Selection";e[e.ExpandSingle=2]="ExpandSingle";e[e.ExpandMulti=3]="ExpandMulti"}(DetailVisibilityMode||(DetailVisibilityMode={}));var FlexGridDetailProvider=function(){function FlexGridDetailProvider(e,t){var i=this;this._maxHeight=null;this._mode=DetailVisibilityMode.ExpandSingle;this._animated=!1;this._keyActionEnter=KeyAction.None;this._g=e;e.mergeManager=new DetailMergeManager(e);e.addEventListener(e.rowHeaders.hostElement,"click",this._hdrClick.bind(this));e.addEventListener(e.rowHeaders.hostElement,"mousedown",(function(t){var r=e.editableCollectionView;if(e.activeEditor||r&&r.currentEditItem){i._hdrClick(t);t.preventDefault()}}));setTimeout((function(){e.formatItem.addHandler(i._formatItem,i)}),100);e.selectionChanged.addHandler(this._selectionChanged,this);e.resizedRow.addHandler(this._resizedRow,this);e.loadingRows.addHandler((function(){return i.hideDetail()}));e.deletingRow.addHandler((function(e,t){i.hideDetail(t.row)}));e.updatedView.addHandler(this._handleFrozenCells,this);e.cloneFrozenCells=!1;e.draggingRow.addHandler((function(e,t){if(t.row<e.rows.length-1&&e.rows[t.row+1]instanceof DetailRow){t.cancel=!0;i.hideDetail(t.row)}}));e.addEventListener(e.hostElement,"keydown",(function(e){if(e.keyCode==Key.Enter&&i._keyActionEnter==KeyAction.ToggleDetail){var t=i._g.selection.row,r=i._g.activePanel.cellType;i._toggleRowDetail(t)&&r===CellType.Cell&&e.preventDefault()}}),!0);e._root.addEventListener("scroll",(function(){hasClass(e.activeCell,FlexGridDetailProviderClsNames.detail)&&Control.sharedState.InvalidScroll||Control.refreshAll(e._root)}));copy(this,t)}Object.defineProperty(FlexGridDetailProvider.prototype,"grid",{get:function(){return this._g},enumerable:!0,configurable:!0});Object.defineProperty(FlexGridDetailProvider.prototype,"detailVisibilityMode",{get:function(){return this._mode},set:function(e){if((e=asEnum(e,DetailVisibilityMode))!=this._mode){this._mode=e;this.hideDetail();this._g.invalidate()}},enumerable:!0,configurable:!0});Object.defineProperty(FlexGridDetailProvider.prototype,"maxHeight",{get:function(){return this._maxHeight},set:function(e){if((e=asNumber(e,!0))!=this._maxHeight){this._maxHeight=e;this.hideDetail()}},enumerable:!0,configurable:!0});Object.defineProperty(FlexGridDetailProvider.prototype,"isAnimated",{get:function(){return this._animated},set:function(e){e!=this._animated&&(this._animated=asBoolean(e))},enumerable:!0,configurable:!0});Object.defineProperty(FlexGridDetailProvider.prototype,"keyActionEnter",{get:function(){return this._keyActionEnter},set:function(e){this._keyActionEnter=asEnum(e,KeyAction)},enumerable:!0,configurable:!0});Object.defineProperty(FlexGridDetailProvider.prototype,"createDetailCell",{get:function(){return this._createDetailCellFn},set:function(e){this._createDetailCellFn=asFunction(e,!0)},enumerable:!0,configurable:!0});Object.defineProperty(FlexGridDetailProvider.prototype,"disposeDetailCell",{get:function(){return this._disposeDetailCellFn},set:function(e){this._disposeDetailCellFn=asFunction(e,!0)},enumerable:!0,configurable:!0});Object.defineProperty(FlexGridDetailProvider.prototype,"rowHasDetail",{get:function(){return this._rowHasDetailFn},set:function(e){if((e=asFunction(e,!0))!=this._rowHasDetailFn){this._rowHasDetailFn=e;this.hideDetail();this._g.invalidate()}},enumerable:!0,configurable:!0});FlexGridDetailProvider.prototype.getDetailRow=function(e){for(var t=this._g.rows,i=this._toIndex(e),r=t[i]?t[i].dataItem:void 0;i<t.length;i++){var l=t[i];if(l instanceof DetailRow)return l;if(l.dataItem!=r)return null}return null};FlexGridDetailProvider.prototype.isDetailVisible=function(e){return null!=this.getDetailRow(e)};FlexGridDetailProvider.prototype.isDetailAvailable=function(e){e=this._toIndex(e);return this._hasDetail(e)};FlexGridDetailProvider.prototype.hideDetail=function(e){var t=this._g,i=t.rows,r=culture.FlexGridDetailProvider.accessibilityHelperMessage.hideDetail;if(null!=e){var l=this._toIndex(e);if(t.rows._frozenInternal>0&&l<=t.rows._frozenInternal-1){t.rows.frozenDetailChildren-=1;t.rows._frozenInternal-=1}else if(t.rows._frozenInternal<0&&t.rows.isFrozen(l)){t.rows.frozenDetailChildren-=1;t.rows._frozenInternal+=1}for(;!(i[l]instanceof DetailRow)&&l<i.length-1;)l++;var o=i[l];if(o instanceof DetailRow){var a=o.detail.parentElement;if(a)for(var n=a.querySelectorAll("."+ControlClsNames.hostElement),s=0;s<n.length;s++){var d=Control.getControl(n[s]);d&&d.containsFocus()&&t.focus(!0)}var c=this.disposeDetailCell;!!c&&c(o)||Control.disposeAll(o.detail);i.removeAt(l);r=format(r,{rowIndex:l});t.announceShortcut(r)}}else for(var u=0;u<i.length;u++)i[u]instanceof DetailRow&&this.hideDetail(u)};FlexGridDetailProvider.prototype.showDetail=function(e,t){void 0===t&&(t=!1);var i=this._g,r=i.rows,l=culture.FlexGridDetailProvider.accessibilityHelperMessage.showDetail,o=this._toIndex(e);if(i.rows._frozenInternal>0&&o<=i.rows._frozenInternal-1){i.rows.frozenDetailChildren+=1;i.rows._frozenInternal+=1}else if(i.rows._frozenInternal<0&&i.rows.isFrozen(o)){i.rows.frozenDetailChildren+=1;i.rows._frozenInternal-=1}o>0&&r[o]instanceof DetailRow&&o--;for(var a=r[o].dataItem;o<r.length-1&&r[o+1].dataItem==a;)o++;if(t){for(var n=i.selection,s=!1,d=0;d<r.length-1;d++)if(d!=o&&r[d+1]instanceof DetailRow){this.hideDetail(d);d<o&&o--;if(d<n.row){n.row--;n.row2--;s=!0}}s&&i.select(n,!1)}if(!this.isDetailVisible(o)&&this._hasDetail(o)){var c=new DetailRow(r[o]),u=this._createDetailCell(r[o]);c.detail=u;if(u){r.insert(o+1,c);l=format(l,{rowIndex:o+1});i.announceShortcut(l);var h=i.containsFocus();if(this._animated){var f=u.style;f.transform="translateY(-100%)";f.opacity="0";animate((function(e){if(e<1){f.transform="translateY("+(100*-(1-e)).toFixed(0)+"%)";f.opacity=(e*e).toString()}else{f.transform=f.opacity="";Control.invalidateAll(u);h&&i.hostElement&&i.scrollIntoView(o,-1)}}))}else h&&i.scrollIntoView(o,-1,!0)}}};FlexGridDetailProvider.prototype._sizeDetailRow=function(e,t){void 0===t&&(t=!1);var i=this._g,r=e.detail;Control.refreshAll(r);var l=t?r.scrollHeight:r.offsetHeight,o=l+i._cellPadVert+1,a=this._maxHeight;isNumber(a)&&a>0&&o>a&&(o=a);e.height=o;r.style.height||(r.style.height="100%");var n=r.querySelector("."+FlexGridClsNames.hostElement);n&&!n.style.height&&(n.style.height="100%");return l};FlexGridDetailProvider.prototype._handleFrozenCells=function(){var e=this._g,t=e.hostElement,i="."+FlexGridClsNames.hostElement,r=Control.getControl(t.querySelector(i));if(r instanceof FlexGrid&&(r.rows._frozenInternal||r.columns._frozenInternal)){setCss([e._eTL,e._eBL,e._eCFtr,e._eRHdr,e._eMarquee],{zIndex:"13"});setCss(e._eCHdr,{zIndex:"14"});for(var l=t.querySelectorAll("."+FlexGridClsNames.frozen),o=0;o<l.length;o++){var a=l[o];if(closest(a,i)==t){var n=parseInt(a.style.zIndex);a.style.zIndex=(n%10+10).toString()}}}};FlexGridDetailProvider.prototype._toIndex=function(e){return e instanceof Row?e.index:asNumber(e)};FlexGridDetailProvider.prototype._hdrClick=function(e){if(!e.defaultPrevented&&0==e.button&&closestClass(e.target,FlexGridDetailProvider._WJC_DETAIL)){var t=DetailVisibilityMode;switch(this._mode){case t.ExpandMulti:case t.ExpandSingle:var i=this._g,r=i.hostElement,l=r&&r.offsetHeight&&r.offsetWidth,o=i.hitTest(e.target);o.panel||(o=i.hitTest(e));o.panel&&l&&this._toggleRowDetail(o.row)&&e.preventDefault()}}};FlexGridDetailProvider.prototype._toggleRowDetail=function(e){if(e>-1){if(this.isDetailVisible(e)){this.hideDetail(e);return!0}if(this._hasDetail(e)){this.showDetail(e,this._mode==DetailVisibilityMode.ExpandSingle);return!0}}return!1};FlexGridDetailProvider.prototype._selectionChanged=function(e,t){var i=this;if(this._mode==DetailVisibilityMode.Selection){this._toSel&&clearTimeout(this._toSel);this._toSel=setTimeout((function(){var t=e._selHdl.selection.row;t>-1?i.showDetail(t,!0):i.hideDetail()}),300)}};FlexGridDetailProvider.prototype._formatItem=function(e,t){var i=this,r=this._g,l=t.cell,o=t.getRow(),a=DetailVisibilityMode;if(t.panel==r.cells&&o instanceof DetailRow&&null!=o.detail&&!hasClass(l,FlexGridDetailProviderClsNames.detail)){addClass(l,FlexGridDetailProviderClsNames.detail);addClass(l.parentElement,FlexGridDetailProviderClsNames.detailRow);l.textContent="";l.style.textAlign="";l.className=l.className.replace(/wj\-align\-[\S]+/g,"");l.appendChild(o.detail);null==o.height?0===this._sizeDetailRow(o)&&setTimeout((function(){i._sizeDetailRow(o,!0)}),1):Control.refreshAll(o.detail)}if(t.panel==r.rowHeaders&&0==t.col&&this._hasDetail(t.row)){l.style.cursor="";switch(this._mode){case a.ExpandMulti:case a.ExpandSingle:var n=this.isDetailVisible(t.row),s=n?"minus":"plus",d=FlexGridDetailProvider._WJC_DETAIL;l.innerHTML='<div class="'+InputFormElementsClsNames.btn+" "+GlyphClsNames.btnGlyph+" "+d+'" role="button" tabindex="-1"><span class="'+GlyphClsNames.glyph+"-"+s+'"></span></div>';var c=l.children[0],u=culture.FlexGridDetailProvider.ariaLabels.toggleDetail;setAriaLabel(c,u);setAttribute(c,"aria-expanded",n)}}};FlexGridDetailProvider.prototype._resizedRow=function(e,t){var i=t.getRow();i instanceof DetailRow&&i.detail&&Control.refreshAll(i.detail)};FlexGridDetailProvider.prototype._hasDetail=function(e){var t=this._g.rows[e];return isFunction(this._rowHasDetailFn)?this._rowHasDetailFn(t):this._isRegularRow(t)};FlexGridDetailProvider.prototype._isRegularRow=function(e){return!(e instanceof _NewRowTemplate||e instanceof DetailRow)&&!(e instanceof GroupRow&&!this._g.childItemsPath)};FlexGridDetailProvider.prototype._createDetailCell=function(e){return this.createDetailCell?this.createDetailCell(e):null};FlexGridDetailProvider._WJC_DETAIL=FlexGridDetailProviderClsNames.elemDetail;return FlexGridDetailProvider}();export{FlexGridDetailProvider};_registerModule("wijmo.grid.detail",selfModule);
|
|
14
|
+
var __extends=this&&this.__extends||function(){var extendStatics=function(e,t){return(extendStatics=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var i in t)t.hasOwnProperty(i)&&(e[i]=t[i])})(e,t)};return function(e,t){extendStatics(e,t);function __(){this.constructor=e}e.prototype=null===t?Object.create(t):(__.prototype=t.prototype,new __)}}();import{Row,FlexGrid,MergeManager,CellRange,CellType,_NewRowTemplate,GroupRow,FlexGridClsNames}from"@grapecity/wijmo.grid";import{Key,Control,_addCultureInfo,culture,copy,asEnum,asNumber,asBoolean,asFunction,isFunction,isNumber,animate,setCss,closest,closestClass,addClass,hasClass,setAriaLabel,setAttribute,ControlClsNames,InputFormElementsClsNames,GlyphClsNames,format,_registerModule}from"@grapecity/wijmo";import*as selfModule from"@grapecity/wijmo.grid.detail";var DetailRow=function(e){__extends(DetailRow,e);function DetailRow(t){var i=e.call(this)||this;i.isReadOnly=!0;return i}Object.defineProperty(DetailRow.prototype,"detail",{get:function(){return this._detail},set:function(e){this._detail=e},enumerable:!0,configurable:!0});return DetailRow}(Row);export{DetailRow};var DetailMergeManager=function(e){__extends(DetailMergeManager,e);function DetailMergeManager(t){var i=e.call(this)||this;i._originalMergeManager=t.mergeManager;return i}DetailMergeManager.prototype.getMergedRange=function(e,t,i,r){void 0===r&&(r=!0);switch(e.cellType){case CellType.Cell:if(e.rows[t]instanceof DetailRow){e.columns._frozenInternal>0&&e.grid&&(e.grid.cloneFrozenCells=!1);return new CellRange(t,0,t,e.columns.length-1)}break;case CellType.RowHeader:var l=_isFrozen(e,t),o=_isNew(e,t),n=e.rows[t].dataItem;!n&&t>0&&e.rows[t]instanceof DetailRow&&(n=e.rows[t-1].dataItem);for(var a=t;a>0&&e.rows[a-1].dataItem==n&&_isFrozen(e,a-1)==l&&_isNew(e,a-1)==o;)a--;for(var s=t;s<e.rows.length-1&&e.rows[s+1].dataItem==n&&_isFrozen(e,s+1)==l&&_isNew(e,s+1)==o;)s++;s<e.rows.length-1&&e.rows[s+1]instanceof DetailRow&&_isFrozen(e,s+1)==l&&_isNew(e,s+1)==o&&s++;return a!=s?new CellRange(a,i,s,i):null}return this._originalMergeManager.getMergedRange(e,t,i,r)};return DetailMergeManager}(MergeManager);export{DetailMergeManager};function _isFrozen(e,t){return t<e.rows._frozenInternal}function _isNew(e,t){return e.rows[t]instanceof _NewRowTemplate}export var FlexGridDetailProviderClsNames={detail:"wj-detail",detailRow:"wj-detail-row",elemDetail:"wj-elem-detail"};_addCultureInfo("FlexGridDetailProvider",{ariaLabels:{toggleDetail:"Toggle Row Detail"},accessibilityHelperMessage:{showDetail:"Show detail row: {rowIndex}",hideDetail:"Hide detail row: {rowIndex}"}});export var KeyAction;!function(e){e[e.None=0]="None";e[e.ToggleDetail=1]="ToggleDetail"}(KeyAction||(KeyAction={}));export var DetailVisibilityMode;!function(e){e[e.Code=0]="Code";e[e.Selection=1]="Selection";e[e.ExpandSingle=2]="ExpandSingle";e[e.ExpandMulti=3]="ExpandMulti"}(DetailVisibilityMode||(DetailVisibilityMode={}));var FlexGridDetailProvider=function(){function FlexGridDetailProvider(e,t){var i=this;this._maxHeight=null;this._mode=DetailVisibilityMode.ExpandSingle;this._animated=!1;this._keyActionEnter=KeyAction.None;this._g=e;e.mergeManager=new DetailMergeManager(e);e.addEventListener(e.rowHeaders.hostElement,"click",this._hdrClick.bind(this));e.addEventListener(e.rowHeaders.hostElement,"mousedown",(function(t){var r=e.editableCollectionView;if(e.activeEditor||r&&r.currentEditItem){i._hdrClick(t);t.preventDefault()}}));setTimeout((function(){e.formatItem.addHandler(i._formatItem,i)}),100);e.selectionChanged.addHandler(this._selectionChanged,this);e.resizedRow.addHandler(this._resizedRow,this);e.loadingRows.addHandler((function(){return i.hideDetail()}));e.deletingRow.addHandler((function(e,t){i.hideDetail(t.row)}));e.updatedView.addHandler(this._handleFrozenCells,this);e.cloneFrozenCells=!1;e.draggingRow.addHandler((function(e,t){if(t.row<e.rows.length-1&&e.rows[t.row+1]instanceof DetailRow){t.cancel=!0;i.hideDetail(t.row)}}));e.addEventListener(e.hostElement,"keydown",(function(e){if(e.keyCode==Key.Enter&&i._keyActionEnter==KeyAction.ToggleDetail){var t=i._g.selection.row,r=i._g.activePanel.cellType;i._toggleRowDetail(t)&&r===CellType.Cell&&e.preventDefault()}}),!0);e._root.addEventListener("scroll",(function(){hasClass(e.activeCell,FlexGridDetailProviderClsNames.detail)&&Control.sharedState.InvalidScroll||Control.refreshAll(e._root)}));copy(this,t)}FlexGridDetailProvider.prototype.dispose=function(){if(this._toSel){clearTimeout(this._toSel);this._toSel=null}};Object.defineProperty(FlexGridDetailProvider.prototype,"grid",{get:function(){return this._g},enumerable:!0,configurable:!0});Object.defineProperty(FlexGridDetailProvider.prototype,"detailVisibilityMode",{get:function(){return this._mode},set:function(e){if((e=asEnum(e,DetailVisibilityMode))!=this._mode){this._mode=e;this.hideDetail();this._g.invalidate()}},enumerable:!0,configurable:!0});Object.defineProperty(FlexGridDetailProvider.prototype,"maxHeight",{get:function(){return this._maxHeight},set:function(e){if((e=asNumber(e,!0))!=this._maxHeight){this._maxHeight=e;this.hideDetail()}},enumerable:!0,configurable:!0});Object.defineProperty(FlexGridDetailProvider.prototype,"isAnimated",{get:function(){return this._animated},set:function(e){e!=this._animated&&(this._animated=asBoolean(e))},enumerable:!0,configurable:!0});Object.defineProperty(FlexGridDetailProvider.prototype,"keyActionEnter",{get:function(){return this._keyActionEnter},set:function(e){this._keyActionEnter=asEnum(e,KeyAction)},enumerable:!0,configurable:!0});Object.defineProperty(FlexGridDetailProvider.prototype,"createDetailCell",{get:function(){return this._createDetailCellFn},set:function(e){this._createDetailCellFn=asFunction(e,!0)},enumerable:!0,configurable:!0});Object.defineProperty(FlexGridDetailProvider.prototype,"disposeDetailCell",{get:function(){return this._disposeDetailCellFn},set:function(e){this._disposeDetailCellFn=asFunction(e,!0)},enumerable:!0,configurable:!0});Object.defineProperty(FlexGridDetailProvider.prototype,"rowHasDetail",{get:function(){return this._rowHasDetailFn},set:function(e){if((e=asFunction(e,!0))!=this._rowHasDetailFn){this._rowHasDetailFn=e;this.hideDetail();this._g.invalidate()}},enumerable:!0,configurable:!0});FlexGridDetailProvider.prototype.getDetailRow=function(e){for(var t=this._g.rows,i=this._toIndex(e),r=t[i]?t[i].dataItem:void 0;i<t.length;i++){var l=t[i];if(l instanceof DetailRow)return l;if(l.dataItem!=r)return null}return null};FlexGridDetailProvider.prototype.isDetailVisible=function(e){return null!=this.getDetailRow(e)};FlexGridDetailProvider.prototype.isDetailAvailable=function(e){e=this._toIndex(e);return this._hasDetail(e)};FlexGridDetailProvider.prototype.hideDetail=function(e){var t=this._g,i=t.rows,r=culture.FlexGridDetailProvider.accessibilityHelperMessage.hideDetail;if(null!=e){var l=this._toIndex(e);if(t.rows._frozenInternal>0&&l<=t.rows._frozenInternal-1){t.rows.frozenDetailChildren-=1;t.rows._frozenInternal-=1}else if(t.rows._frozenInternal<0&&t.rows.isFrozen(l)){t.rows.frozenDetailChildren-=1;t.rows._frozenInternal+=1}for(;!(i[l]instanceof DetailRow)&&l<i.length-1;)l++;var o=i[l];if(o instanceof DetailRow){var n=o.detail.parentElement;if(n)for(var a=n.querySelectorAll("."+ControlClsNames.hostElement),s=0;s<a.length;s++){var d=Control.getControl(a[s]);d&&d.containsFocus()&&t.focus(!0)}var c=this.disposeDetailCell;!!c&&c(o)||Control.disposeAll(o.detail);i.removeAt(l);r=format(r,{rowIndex:l});t.announceShortcut(r)}}else for(var u=0;u<i.length;u++)i[u]instanceof DetailRow&&this.hideDetail(u)};FlexGridDetailProvider.prototype.showDetail=function(e,t){void 0===t&&(t=!1);var i=this._g,r=i.rows,l=culture.FlexGridDetailProvider.accessibilityHelperMessage.showDetail,o=this._toIndex(e);if(i.rows._frozenInternal>0&&o<=i.rows._frozenInternal-1){i.rows.frozenDetailChildren+=1;i.rows._frozenInternal+=1}else if(i.rows._frozenInternal<0&&i.rows.isFrozen(o)){i.rows.frozenDetailChildren+=1;i.rows._frozenInternal-=1}o>0&&r[o]instanceof DetailRow&&o--;for(var n=r[o].dataItem;o<r.length-1&&r[o+1].dataItem==n;)o++;if(t){for(var a=i.selection,s=!1,d=0;d<r.length-1;d++)if(d!=o&&r[d+1]instanceof DetailRow){this.hideDetail(d);d<o&&o--;if(d<a.row){a.row--;a.row2--;s=!0}}s&&i.select(a,!1)}if(!this.isDetailVisible(o)&&this._hasDetail(o)){var c=new DetailRow(r[o]),u=this._createDetailCell(r[o]);c.detail=u;if(u){r.insert(o+1,c);l=format(l,{rowIndex:o+1});i.announceShortcut(l);var h=i.containsFocus();if(this._animated){var f=u.style;f.transform="translateY(-100%)";f.opacity="0";animate((function(e){if(e<1){f.transform="translateY("+(100*-(1-e)).toFixed(0)+"%)";f.opacity=(e*e).toString()}else{f.transform=f.opacity="";Control.invalidateAll(u);h&&i.hostElement&&i.scrollIntoView(o,-1)}}))}else h&&i.scrollIntoView(o,-1,!0)}}};FlexGridDetailProvider.prototype._sizeDetailRow=function(e,t){void 0===t&&(t=!1);var i=this._g,r=e.detail;Control.refreshAll(r);var l=t?r.scrollHeight:r.offsetHeight,o=l+i._cellPadVert+1,n=this._maxHeight;isNumber(n)&&n>0&&o>n&&(o=n);e.height=o;r.style.height||(r.style.height="100%");var a=r.querySelector("."+FlexGridClsNames.hostElement);a&&!a.style.height&&(a.style.height="100%");return l};FlexGridDetailProvider.prototype._handleFrozenCells=function(){var e=this._g,t=e.hostElement,i="."+FlexGridClsNames.hostElement,r=Control.getControl(t.querySelector(i));if(r instanceof FlexGrid&&(r.rows._frozenInternal||r.columns._frozenInternal)){setCss([e._eTL,e._eBL,e._eCFtr,e._eRHdr,e._eMarquee],{zIndex:"13"});setCss(e._eCHdr,{zIndex:"14"});for(var l=t.querySelectorAll("."+FlexGridClsNames.frozen),o=0;o<l.length;o++){var n=l[o];if(closest(n,i)==t){var a=parseInt(n.style.zIndex);n.style.zIndex=(a%10+10).toString()}}}};FlexGridDetailProvider.prototype._toIndex=function(e){return e instanceof Row?e.index:asNumber(e)};FlexGridDetailProvider.prototype._hdrClick=function(e){if(!e.defaultPrevented&&0==e.button&&closestClass(e.target,FlexGridDetailProvider._WJC_DETAIL)){var t=DetailVisibilityMode;switch(this._mode){case t.ExpandMulti:case t.ExpandSingle:var i=this._g,r=i.hostElement,l=r&&r.offsetHeight&&r.offsetWidth,o=i.hitTest(e.target);o.panel||(o=i.hitTest(e));o.panel&&l&&this._toggleRowDetail(o.row)&&e.preventDefault()}}};FlexGridDetailProvider.prototype._toggleRowDetail=function(e){if(e>-1){if(this.isDetailVisible(e)){this.hideDetail(e);return!0}if(this._hasDetail(e)){this.showDetail(e,this._mode==DetailVisibilityMode.ExpandSingle);return!0}}return!1};FlexGridDetailProvider.prototype._selectionChanged=function(e,t){var i=this;if(this._mode==DetailVisibilityMode.Selection){this._toSel&&clearTimeout(this._toSel);this._toSel=setTimeout((function(){if(e._selHdl&&e._selHdl.selection){var t=e._selHdl.selection.row;t>-1?i.showDetail(t,!0):i.hideDetail()}}),300)}};FlexGridDetailProvider.prototype._formatItem=function(e,t){var i=this,r=this._g,l=t.cell,o=t.getRow(),n=DetailVisibilityMode;if(t.panel==r.cells&&o instanceof DetailRow&&null!=o.detail&&!hasClass(l,FlexGridDetailProviderClsNames.detail)){addClass(l,FlexGridDetailProviderClsNames.detail);addClass(l.parentElement,FlexGridDetailProviderClsNames.detailRow);l.textContent="";l.style.textAlign="";l.className=l.className.replace(/wj-align-[\S]+/g,"");l.appendChild(o.detail);null==o.height?0===this._sizeDetailRow(o)&&setTimeout((function(){i._sizeDetailRow(o,!0)}),1):Control.refreshAll(o.detail)}if(t.panel==r.rowHeaders&&0==t.col&&this._hasDetail(t.row)){l.style.cursor="";switch(this._mode){case n.ExpandMulti:case n.ExpandSingle:var a=this.isDetailVisible(t.row),s=a?"minus":"plus",d=FlexGridDetailProvider._WJC_DETAIL;l.innerHTML='<div class="'+InputFormElementsClsNames.btn+" "+GlyphClsNames.btnGlyph+" "+d+'" role="button" tabindex="-1"><span class="'+GlyphClsNames.glyph+"-"+s+'"></span></div>';var c=l.children[0],u=culture.FlexGridDetailProvider.ariaLabels.toggleDetail;setAriaLabel(c,u);setAttribute(c,"aria-expanded",a)}}};FlexGridDetailProvider.prototype._resizedRow=function(e,t){var i=t.getRow();i instanceof DetailRow&&i.detail&&Control.refreshAll(i.detail)};FlexGridDetailProvider.prototype._hasDetail=function(e){var t=this._g.rows[e];return isFunction(this._rowHasDetailFn)?this._rowHasDetailFn(t):this._isRegularRow(t)};FlexGridDetailProvider.prototype._isRegularRow=function(e){return!(e instanceof _NewRowTemplate||e instanceof DetailRow)&&!(e instanceof GroupRow&&!this._g.childItemsPath)};FlexGridDetailProvider.prototype._createDetailCell=function(e){return this.createDetailCell?this.createDetailCell(e):null};FlexGridDetailProvider._WJC_DETAIL=FlexGridDetailProviderClsNames.elemDetail;return FlexGridDetailProvider}();export{FlexGridDetailProvider};_registerModule("wijmo.grid.detail",selfModule);
|
package/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
*
|
|
3
|
-
* Wijmo Library 5.
|
|
3
|
+
* Wijmo Library 5.20261.48
|
|
4
4
|
* https://developer.mescius.com/wijmo
|
|
5
5
|
*
|
|
6
6
|
* Copyright(c) MESCIUS inc. All rights reserved.
|
|
@@ -18,8 +18,8 @@
|
|
|
18
18
|
*
|
|
19
19
|
*/
|
|
20
20
|
export declare var ___keepComment: any;
|
|
21
|
-
import { EventArgs } from '@grapecity/wijmo';
|
|
22
21
|
import { Row, FlexGrid, MergeManager, GridPanel, CellRange, CellRangeEventArgs, FormatItemEventArgs, Column } from '@grapecity/wijmo.grid';
|
|
22
|
+
import { EventArgs } from '@grapecity/wijmo';
|
|
23
23
|
import * as selfModule from '@grapecity/wijmo.grid.detail';
|
|
24
24
|
/**
|
|
25
25
|
* Row that contains a single detail cell spanning all grid columns.
|
|
@@ -198,6 +198,10 @@ export declare class FlexGridDetailProvider {
|
|
|
198
198
|
* @param options Initialization options for the new {@link FlexGridDetailProvider}.
|
|
199
199
|
*/
|
|
200
200
|
constructor(grid: FlexGrid, options?: any);
|
|
201
|
+
/**
|
|
202
|
+
* Disposes of the control and all its resources.
|
|
203
|
+
*/
|
|
204
|
+
dispose(): void;
|
|
201
205
|
/**
|
|
202
206
|
* Gets the {@link FlexGrid} that owns this {@link FlexGridDetailProvider}.
|
|
203
207
|
*/
|
|
@@ -318,9 +322,9 @@ export declare class FlexGridDetailProvider {
|
|
|
318
322
|
_toIndex(row: any): number;
|
|
319
323
|
_hdrClick(e: MouseEvent): void;
|
|
320
324
|
_toggleRowDetail(row: number): boolean;
|
|
321
|
-
_selectionChanged(s: FlexGrid,
|
|
322
|
-
_formatItem(
|
|
323
|
-
_resizedRow(
|
|
325
|
+
_selectionChanged(s: FlexGrid, _e: EventArgs): void;
|
|
326
|
+
_formatItem(_s: any, e: FormatItemEventArgs): void;
|
|
327
|
+
_resizedRow(_s: any, e: CellRangeEventArgs): void;
|
|
324
328
|
_hasDetail(row: number): boolean;
|
|
325
329
|
_isRegularRow(row: Row): boolean;
|
|
326
330
|
_createDetailCell(row: Row): HTMLElement;
|
package/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
*
|
|
3
|
-
* Wijmo Library 5.
|
|
3
|
+
* Wijmo Library 5.20261.48
|
|
4
4
|
* https://developer.mescius.com/wijmo
|
|
5
5
|
*
|
|
6
6
|
* Copyright(c) MESCIUS inc. All rights reserved.
|
|
@@ -11,4 +11,4 @@
|
|
|
11
11
|
*
|
|
12
12
|
*/
|
|
13
13
|
|
|
14
|
-
"use strict";var __extends=this&&this.__extends||function(){var extendStatics=function(e,t){return(extendStatics=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var i in t)t.hasOwnProperty(i)&&(e[i]=t[i])})(e,t)};return function(e,t){extendStatics(e,t);function __(){this.constructor=e}e.prototype=null===t?Object.create(t):(__.prototype=t.prototype,new __)}}(),__importStar=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var i in e)Object.hasOwnProperty.call(e,i)&&(t[i]=e[i]);t.default=e;return t};Object.defineProperty(exports,"__esModule",{value:!0});var wijmo_1=require("@grapecity/wijmo"),wijmo_grid_1=require("@grapecity/wijmo.grid"),selfModule=__importStar(require("@grapecity/wijmo.grid.detail")),DetailRow=function(e){__extends(DetailRow,e);function DetailRow(t){var i=e.call(this)||this;i.isReadOnly=!0;return i}Object.defineProperty(DetailRow.prototype,"detail",{get:function(){return this._detail},set:function(e){this._detail=e},enumerable:!0,configurable:!0});return DetailRow}(wijmo_grid_1.Row);exports.DetailRow=DetailRow;var KeyAction,DetailVisibilityMode,DetailMergeManager=function(e){__extends(DetailMergeManager,e);function DetailMergeManager(t){var i=e.call(this)||this;i._originalMergeManager=t.mergeManager;return i}DetailMergeManager.prototype.getMergedRange=function(e,t,i,r){void 0===r&&(r=!0);switch(e.cellType){case wijmo_grid_1.CellType.Cell:if(e.rows[t]instanceof DetailRow){e.columns._frozenInternal>0&&e.grid&&(e.grid.cloneFrozenCells=!1);return new wijmo_grid_1.CellRange(t,0,t,e.columns.length-1)}break;case wijmo_grid_1.CellType.RowHeader:var o=_isFrozen(e,t),l=_isNew(e,t),n=e.rows[t].dataItem;!n&&t>0&&e.rows[t]instanceof DetailRow&&(n=e.rows[t-1].dataItem);for(var a=t;a>0&&e.rows[a-1].dataItem==n&&_isFrozen(e,a-1)==o&&_isNew(e,a-1)==l;)a--;for(var s=t;s<e.rows.length-1&&e.rows[s+1].dataItem==n&&_isFrozen(e,s+1)==o&&_isNew(e,s+1)==l;)s++;s<e.rows.length-1&&e.rows[s+1]instanceof DetailRow&&_isFrozen(e,s+1)==o&&_isNew(e,s+1)==l&&s++;return a!=s?new wijmo_grid_1.CellRange(a,i,s,i):null}return this._originalMergeManager.getMergedRange(e,t,i,r)};return DetailMergeManager}(wijmo_grid_1.MergeManager);exports.DetailMergeManager=DetailMergeManager;function _isFrozen(e,t){return t<e.rows._frozenInternal}function _isNew(e,t){return e.rows[t]instanceof wijmo_grid_1._NewRowTemplate}exports.FlexGridDetailProviderClsNames={detail:"wj-detail",detailRow:"wj-detail-row",elemDetail:"wj-elem-detail"};wijmo_1._addCultureInfo("FlexGridDetailProvider",{ariaLabels:{toggleDetail:"Toggle Row Detail"},accessibilityHelperMessage:{showDetail:"Show detail row: {rowIndex}",hideDetail:"Hide detail row: {rowIndex}"}});!function(e){e[e.None=0]="None";e[e.ToggleDetail=1]="ToggleDetail"}(KeyAction=exports.KeyAction||(exports.KeyAction={}));!function(e){e[e.Code=0]="Code";e[e.Selection=1]="Selection";e[e.ExpandSingle=2]="ExpandSingle";e[e.ExpandMulti=3]="ExpandMulti"}(DetailVisibilityMode=exports.DetailVisibilityMode||(exports.DetailVisibilityMode={}));var FlexGridDetailProvider=function(){function FlexGridDetailProvider(e,t){var i=this;this._maxHeight=null;this._mode=DetailVisibilityMode.ExpandSingle;this._animated=!1;this._keyActionEnter=KeyAction.None;this._g=e;e.mergeManager=new DetailMergeManager(e);e.addEventListener(e.rowHeaders.hostElement,"click",this._hdrClick.bind(this));e.addEventListener(e.rowHeaders.hostElement,"mousedown",(function(t){var r=e.editableCollectionView;if(e.activeEditor||r&&r.currentEditItem){i._hdrClick(t);t.preventDefault()}}));setTimeout((function(){e.formatItem.addHandler(i._formatItem,i)}),100);e.selectionChanged.addHandler(this._selectionChanged,this);e.resizedRow.addHandler(this._resizedRow,this);e.loadingRows.addHandler((function(){return i.hideDetail()}));e.deletingRow.addHandler((function(e,t){i.hideDetail(t.row)}));e.updatedView.addHandler(this._handleFrozenCells,this);e.cloneFrozenCells=!1;e.draggingRow.addHandler((function(e,t){if(t.row<e.rows.length-1&&e.rows[t.row+1]instanceof DetailRow){t.cancel=!0;i.hideDetail(t.row)}}));e.addEventListener(e.hostElement,"keydown",(function(e){if(e.keyCode==wijmo_1.Key.Enter&&i._keyActionEnter==KeyAction.ToggleDetail){var t=i._g.selection.row,r=i._g.activePanel.cellType;i._toggleRowDetail(t)&&r===wijmo_grid_1.CellType.Cell&&e.preventDefault()}}),!0);e._root.addEventListener("scroll",(function(){wijmo_1.hasClass(e.activeCell,exports.FlexGridDetailProviderClsNames.detail)&&wijmo_1.Control.sharedState.InvalidScroll||wijmo_1.Control.refreshAll(e._root)}));wijmo_1.copy(this,t)}Object.defineProperty(FlexGridDetailProvider.prototype,"grid",{get:function(){return this._g},enumerable:!0,configurable:!0});Object.defineProperty(FlexGridDetailProvider.prototype,"detailVisibilityMode",{get:function(){return this._mode},set:function(e){if((e=wijmo_1.asEnum(e,DetailVisibilityMode))!=this._mode){this._mode=e;this.hideDetail();this._g.invalidate()}},enumerable:!0,configurable:!0});Object.defineProperty(FlexGridDetailProvider.prototype,"maxHeight",{get:function(){return this._maxHeight},set:function(e){if((e=wijmo_1.asNumber(e,!0))!=this._maxHeight){this._maxHeight=e;this.hideDetail()}},enumerable:!0,configurable:!0});Object.defineProperty(FlexGridDetailProvider.prototype,"isAnimated",{get:function(){return this._animated},set:function(e){e!=this._animated&&(this._animated=wijmo_1.asBoolean(e))},enumerable:!0,configurable:!0});Object.defineProperty(FlexGridDetailProvider.prototype,"keyActionEnter",{get:function(){return this._keyActionEnter},set:function(e){this._keyActionEnter=wijmo_1.asEnum(e,KeyAction)},enumerable:!0,configurable:!0});Object.defineProperty(FlexGridDetailProvider.prototype,"createDetailCell",{get:function(){return this._createDetailCellFn},set:function(e){this._createDetailCellFn=wijmo_1.asFunction(e,!0)},enumerable:!0,configurable:!0});Object.defineProperty(FlexGridDetailProvider.prototype,"disposeDetailCell",{get:function(){return this._disposeDetailCellFn},set:function(e){this._disposeDetailCellFn=wijmo_1.asFunction(e,!0)},enumerable:!0,configurable:!0});Object.defineProperty(FlexGridDetailProvider.prototype,"rowHasDetail",{get:function(){return this._rowHasDetailFn},set:function(e){if((e=wijmo_1.asFunction(e,!0))!=this._rowHasDetailFn){this._rowHasDetailFn=e;this.hideDetail();this._g.invalidate()}},enumerable:!0,configurable:!0});FlexGridDetailProvider.prototype.getDetailRow=function(e){for(var t=this._g.rows,i=this._toIndex(e),r=t[i]?t[i].dataItem:void 0;i<t.length;i++){var o=t[i];if(o instanceof DetailRow)return o;if(o.dataItem!=r)return null}return null};FlexGridDetailProvider.prototype.isDetailVisible=function(e){return null!=this.getDetailRow(e)};FlexGridDetailProvider.prototype.isDetailAvailable=function(e){e=this._toIndex(e);return this._hasDetail(e)};FlexGridDetailProvider.prototype.hideDetail=function(e){var t=this._g,i=t.rows,r=wijmo_1.culture.FlexGridDetailProvider.accessibilityHelperMessage.hideDetail;if(null!=e){var o=this._toIndex(e);if(t.rows._frozenInternal>0&&o<=t.rows._frozenInternal-1){t.rows.frozenDetailChildren-=1;t.rows._frozenInternal-=1}else if(t.rows._frozenInternal<0&&t.rows.isFrozen(o)){t.rows.frozenDetailChildren-=1;t.rows._frozenInternal+=1}for(;!(i[o]instanceof DetailRow)&&o<i.length-1;)o++;var l=i[o];if(l instanceof DetailRow){var n=l.detail.parentElement;if(n)for(var a=n.querySelectorAll("."+wijmo_1.ControlClsNames.hostElement),s=0;s<a.length;s++){var d=wijmo_1.Control.getControl(a[s]);d&&d.containsFocus()&&t.focus(!0)}var _=this.disposeDetailCell;!!_&&_(l)||wijmo_1.Control.disposeAll(l.detail);i.removeAt(o);r=wijmo_1.format(r,{rowIndex:o});t.announceShortcut(r)}}else for(var c=0;c<i.length;c++)i[c]instanceof DetailRow&&this.hideDetail(c)};FlexGridDetailProvider.prototype.showDetail=function(e,t){void 0===t&&(t=!1);var i=this._g,r=i.rows,o=wijmo_1.culture.FlexGridDetailProvider.accessibilityHelperMessage.showDetail,l=this._toIndex(e);if(i.rows._frozenInternal>0&&l<=i.rows._frozenInternal-1){i.rows.frozenDetailChildren+=1;i.rows._frozenInternal+=1}else if(i.rows._frozenInternal<0&&i.rows.isFrozen(l)){i.rows.frozenDetailChildren+=1;i.rows._frozenInternal-=1}l>0&&r[l]instanceof DetailRow&&l--;for(var n=r[l].dataItem;l<r.length-1&&r[l+1].dataItem==n;)l++;if(t){for(var a=i.selection,s=!1,d=0;d<r.length-1;d++)if(d!=l&&r[d+1]instanceof DetailRow){this.hideDetail(d);d<l&&l--;if(d<a.row){a.row--;a.row2--;s=!0}}s&&i.select(a,!1)}if(!this.isDetailVisible(l)&&this._hasDetail(l)){var _=new DetailRow(r[l]),c=this._createDetailCell(r[l]);_.detail=c;if(c){r.insert(l+1,_);o=wijmo_1.format(o,{rowIndex:l+1});i.announceShortcut(o);var w=i.containsFocus();if(this._animated){var u=c.style;u.transform="translateY(-100%)";u.opacity="0";wijmo_1.animate((function(e){if(e<1){u.transform="translateY("+(100*-(1-e)).toFixed(0)+"%)";u.opacity=(e*e).toString()}else{u.transform=u.opacity="";wijmo_1.Control.invalidateAll(c);w&&i.hostElement&&i.scrollIntoView(l,-1)}}))}else w&&i.scrollIntoView(l,-1,!0)}}};FlexGridDetailProvider.prototype._sizeDetailRow=function(e,t){void 0===t&&(t=!1);var i=this._g,r=e.detail;wijmo_1.Control.refreshAll(r);var o=t?r.scrollHeight:r.offsetHeight,l=o+i._cellPadVert+1,n=this._maxHeight;wijmo_1.isNumber(n)&&n>0&&l>n&&(l=n);e.height=l;r.style.height||(r.style.height="100%");var a=r.querySelector("."+wijmo_grid_1.FlexGridClsNames.hostElement);a&&!a.style.height&&(a.style.height="100%");return o};FlexGridDetailProvider.prototype._handleFrozenCells=function(){var e=this._g,t=e.hostElement,i="."+wijmo_grid_1.FlexGridClsNames.hostElement,r=wijmo_1.Control.getControl(t.querySelector(i));if(r instanceof wijmo_grid_1.FlexGrid&&(r.rows._frozenInternal||r.columns._frozenInternal)){wijmo_1.setCss([e._eTL,e._eBL,e._eCFtr,e._eRHdr,e._eMarquee],{zIndex:"13"});wijmo_1.setCss(e._eCHdr,{zIndex:"14"});for(var o=t.querySelectorAll("."+wijmo_grid_1.FlexGridClsNames.frozen),l=0;l<o.length;l++){var n=o[l];if(wijmo_1.closest(n,i)==t){var a=parseInt(n.style.zIndex);n.style.zIndex=(a%10+10).toString()}}}};FlexGridDetailProvider.prototype._toIndex=function(e){return e instanceof wijmo_grid_1.Row?e.index:wijmo_1.asNumber(e)};FlexGridDetailProvider.prototype._hdrClick=function(e){if(!e.defaultPrevented&&0==e.button&&wijmo_1.closestClass(e.target,FlexGridDetailProvider._WJC_DETAIL)){var t=DetailVisibilityMode;switch(this._mode){case t.ExpandMulti:case t.ExpandSingle:var i=this._g,r=i.hostElement,o=r&&r.offsetHeight&&r.offsetWidth,l=i.hitTest(e.target);l.panel||(l=i.hitTest(e));l.panel&&o&&this._toggleRowDetail(l.row)&&e.preventDefault()}}};FlexGridDetailProvider.prototype._toggleRowDetail=function(e){if(e>-1){if(this.isDetailVisible(e)){this.hideDetail(e);return!0}if(this._hasDetail(e)){this.showDetail(e,this._mode==DetailVisibilityMode.ExpandSingle);return!0}}return!1};FlexGridDetailProvider.prototype._selectionChanged=function(e,t){var i=this;if(this._mode==DetailVisibilityMode.Selection){this._toSel&&clearTimeout(this._toSel);this._toSel=setTimeout((function(){var t=e._selHdl.selection.row;t>-1?i.showDetail(t,!0):i.hideDetail()}),300)}};FlexGridDetailProvider.prototype._formatItem=function(e,t){var i=this,r=this._g,o=t.cell,l=t.getRow(),n=DetailVisibilityMode;if(t.panel==r.cells&&l instanceof DetailRow&&null!=l.detail&&!wijmo_1.hasClass(o,exports.FlexGridDetailProviderClsNames.detail)){wijmo_1.addClass(o,exports.FlexGridDetailProviderClsNames.detail);wijmo_1.addClass(o.parentElement,exports.FlexGridDetailProviderClsNames.detailRow);o.textContent="";o.style.textAlign="";o.className=o.className.replace(/wj\-align\-[\S]+/g,"");o.appendChild(l.detail);null==l.height?0===this._sizeDetailRow(l)&&setTimeout((function(){i._sizeDetailRow(l,!0)}),1):wijmo_1.Control.refreshAll(l.detail)}if(t.panel==r.rowHeaders&&0==t.col&&this._hasDetail(t.row)){o.style.cursor="";switch(this._mode){case n.ExpandMulti:case n.ExpandSingle:var a=this.isDetailVisible(t.row),s=a?"minus":"plus",d=FlexGridDetailProvider._WJC_DETAIL;o.innerHTML='<div class="'+wijmo_1.InputFormElementsClsNames.btn+" "+wijmo_1.GlyphClsNames.btnGlyph+" "+d+'" role="button" tabindex="-1"><span class="'+wijmo_1.GlyphClsNames.glyph+"-"+s+'"></span></div>';var _=o.children[0],c=wijmo_1.culture.FlexGridDetailProvider.ariaLabels.toggleDetail;wijmo_1.setAriaLabel(_,c);wijmo_1.setAttribute(_,"aria-expanded",a)}}};FlexGridDetailProvider.prototype._resizedRow=function(e,t){var i=t.getRow();i instanceof DetailRow&&i.detail&&wijmo_1.Control.refreshAll(i.detail)};FlexGridDetailProvider.prototype._hasDetail=function(e){var t=this._g.rows[e];return wijmo_1.isFunction(this._rowHasDetailFn)?this._rowHasDetailFn(t):this._isRegularRow(t)};FlexGridDetailProvider.prototype._isRegularRow=function(e){return!(e instanceof wijmo_grid_1._NewRowTemplate||e instanceof DetailRow)&&!(e instanceof wijmo_grid_1.GroupRow&&!this._g.childItemsPath)};FlexGridDetailProvider.prototype._createDetailCell=function(e){return this.createDetailCell?this.createDetailCell(e):null};FlexGridDetailProvider._WJC_DETAIL=exports.FlexGridDetailProviderClsNames.elemDetail;return FlexGridDetailProvider}();exports.FlexGridDetailProvider=FlexGridDetailProvider;wijmo_1._registerModule("wijmo.grid.detail",selfModule);
|
|
14
|
+
"use strict";var __extends=this&&this.__extends||function(){var extendStatics=function(e,t){return(extendStatics=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var i in t)t.hasOwnProperty(i)&&(e[i]=t[i])})(e,t)};return function(e,t){extendStatics(e,t);function __(){this.constructor=e}e.prototype=null===t?Object.create(t):(__.prototype=t.prototype,new __)}}(),__importStar=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var i in e)Object.hasOwnProperty.call(e,i)&&(t[i]=e[i]);t.default=e;return t};Object.defineProperty(exports,"__esModule",{value:!0});var wijmo_grid_1=require("@grapecity/wijmo.grid"),wijmo_1=require("@grapecity/wijmo"),selfModule=__importStar(require("@grapecity/wijmo.grid.detail")),DetailRow=function(e){__extends(DetailRow,e);function DetailRow(t){var i=e.call(this)||this;i.isReadOnly=!0;return i}Object.defineProperty(DetailRow.prototype,"detail",{get:function(){return this._detail},set:function(e){this._detail=e},enumerable:!0,configurable:!0});return DetailRow}(wijmo_grid_1.Row);exports.DetailRow=DetailRow;var KeyAction,DetailVisibilityMode,DetailMergeManager=function(e){__extends(DetailMergeManager,e);function DetailMergeManager(t){var i=e.call(this)||this;i._originalMergeManager=t.mergeManager;return i}DetailMergeManager.prototype.getMergedRange=function(e,t,i,r){void 0===r&&(r=!0);switch(e.cellType){case wijmo_grid_1.CellType.Cell:if(e.rows[t]instanceof DetailRow){e.columns._frozenInternal>0&&e.grid&&(e.grid.cloneFrozenCells=!1);return new wijmo_grid_1.CellRange(t,0,t,e.columns.length-1)}break;case wijmo_grid_1.CellType.RowHeader:var o=_isFrozen(e,t),l=_isNew(e,t),n=e.rows[t].dataItem;!n&&t>0&&e.rows[t]instanceof DetailRow&&(n=e.rows[t-1].dataItem);for(var a=t;a>0&&e.rows[a-1].dataItem==n&&_isFrozen(e,a-1)==o&&_isNew(e,a-1)==l;)a--;for(var s=t;s<e.rows.length-1&&e.rows[s+1].dataItem==n&&_isFrozen(e,s+1)==o&&_isNew(e,s+1)==l;)s++;s<e.rows.length-1&&e.rows[s+1]instanceof DetailRow&&_isFrozen(e,s+1)==o&&_isNew(e,s+1)==l&&s++;return a!=s?new wijmo_grid_1.CellRange(a,i,s,i):null}return this._originalMergeManager.getMergedRange(e,t,i,r)};return DetailMergeManager}(wijmo_grid_1.MergeManager);exports.DetailMergeManager=DetailMergeManager;function _isFrozen(e,t){return t<e.rows._frozenInternal}function _isNew(e,t){return e.rows[t]instanceof wijmo_grid_1._NewRowTemplate}exports.FlexGridDetailProviderClsNames={detail:"wj-detail",detailRow:"wj-detail-row",elemDetail:"wj-elem-detail"};wijmo_1._addCultureInfo("FlexGridDetailProvider",{ariaLabels:{toggleDetail:"Toggle Row Detail"},accessibilityHelperMessage:{showDetail:"Show detail row: {rowIndex}",hideDetail:"Hide detail row: {rowIndex}"}});!function(e){e[e.None=0]="None";e[e.ToggleDetail=1]="ToggleDetail"}(KeyAction=exports.KeyAction||(exports.KeyAction={}));!function(e){e[e.Code=0]="Code";e[e.Selection=1]="Selection";e[e.ExpandSingle=2]="ExpandSingle";e[e.ExpandMulti=3]="ExpandMulti"}(DetailVisibilityMode=exports.DetailVisibilityMode||(exports.DetailVisibilityMode={}));var FlexGridDetailProvider=function(){function FlexGridDetailProvider(e,t){var i=this;this._maxHeight=null;this._mode=DetailVisibilityMode.ExpandSingle;this._animated=!1;this._keyActionEnter=KeyAction.None;this._g=e;e.mergeManager=new DetailMergeManager(e);e.addEventListener(e.rowHeaders.hostElement,"click",this._hdrClick.bind(this));e.addEventListener(e.rowHeaders.hostElement,"mousedown",(function(t){var r=e.editableCollectionView;if(e.activeEditor||r&&r.currentEditItem){i._hdrClick(t);t.preventDefault()}}));setTimeout((function(){e.formatItem.addHandler(i._formatItem,i)}),100);e.selectionChanged.addHandler(this._selectionChanged,this);e.resizedRow.addHandler(this._resizedRow,this);e.loadingRows.addHandler((function(){return i.hideDetail()}));e.deletingRow.addHandler((function(e,t){i.hideDetail(t.row)}));e.updatedView.addHandler(this._handleFrozenCells,this);e.cloneFrozenCells=!1;e.draggingRow.addHandler((function(e,t){if(t.row<e.rows.length-1&&e.rows[t.row+1]instanceof DetailRow){t.cancel=!0;i.hideDetail(t.row)}}));e.addEventListener(e.hostElement,"keydown",(function(e){if(e.keyCode==wijmo_1.Key.Enter&&i._keyActionEnter==KeyAction.ToggleDetail){var t=i._g.selection.row,r=i._g.activePanel.cellType;i._toggleRowDetail(t)&&r===wijmo_grid_1.CellType.Cell&&e.preventDefault()}}),!0);e._root.addEventListener("scroll",(function(){wijmo_1.hasClass(e.activeCell,exports.FlexGridDetailProviderClsNames.detail)&&wijmo_1.Control.sharedState.InvalidScroll||wijmo_1.Control.refreshAll(e._root)}));wijmo_1.copy(this,t)}FlexGridDetailProvider.prototype.dispose=function(){if(this._toSel){clearTimeout(this._toSel);this._toSel=null}};Object.defineProperty(FlexGridDetailProvider.prototype,"grid",{get:function(){return this._g},enumerable:!0,configurable:!0});Object.defineProperty(FlexGridDetailProvider.prototype,"detailVisibilityMode",{get:function(){return this._mode},set:function(e){if((e=wijmo_1.asEnum(e,DetailVisibilityMode))!=this._mode){this._mode=e;this.hideDetail();this._g.invalidate()}},enumerable:!0,configurable:!0});Object.defineProperty(FlexGridDetailProvider.prototype,"maxHeight",{get:function(){return this._maxHeight},set:function(e){if((e=wijmo_1.asNumber(e,!0))!=this._maxHeight){this._maxHeight=e;this.hideDetail()}},enumerable:!0,configurable:!0});Object.defineProperty(FlexGridDetailProvider.prototype,"isAnimated",{get:function(){return this._animated},set:function(e){e!=this._animated&&(this._animated=wijmo_1.asBoolean(e))},enumerable:!0,configurable:!0});Object.defineProperty(FlexGridDetailProvider.prototype,"keyActionEnter",{get:function(){return this._keyActionEnter},set:function(e){this._keyActionEnter=wijmo_1.asEnum(e,KeyAction)},enumerable:!0,configurable:!0});Object.defineProperty(FlexGridDetailProvider.prototype,"createDetailCell",{get:function(){return this._createDetailCellFn},set:function(e){this._createDetailCellFn=wijmo_1.asFunction(e,!0)},enumerable:!0,configurable:!0});Object.defineProperty(FlexGridDetailProvider.prototype,"disposeDetailCell",{get:function(){return this._disposeDetailCellFn},set:function(e){this._disposeDetailCellFn=wijmo_1.asFunction(e,!0)},enumerable:!0,configurable:!0});Object.defineProperty(FlexGridDetailProvider.prototype,"rowHasDetail",{get:function(){return this._rowHasDetailFn},set:function(e){if((e=wijmo_1.asFunction(e,!0))!=this._rowHasDetailFn){this._rowHasDetailFn=e;this.hideDetail();this._g.invalidate()}},enumerable:!0,configurable:!0});FlexGridDetailProvider.prototype.getDetailRow=function(e){for(var t=this._g.rows,i=this._toIndex(e),r=t[i]?t[i].dataItem:void 0;i<t.length;i++){var o=t[i];if(o instanceof DetailRow)return o;if(o.dataItem!=r)return null}return null};FlexGridDetailProvider.prototype.isDetailVisible=function(e){return null!=this.getDetailRow(e)};FlexGridDetailProvider.prototype.isDetailAvailable=function(e){e=this._toIndex(e);return this._hasDetail(e)};FlexGridDetailProvider.prototype.hideDetail=function(e){var t=this._g,i=t.rows,r=wijmo_1.culture.FlexGridDetailProvider.accessibilityHelperMessage.hideDetail;if(null!=e){var o=this._toIndex(e);if(t.rows._frozenInternal>0&&o<=t.rows._frozenInternal-1){t.rows.frozenDetailChildren-=1;t.rows._frozenInternal-=1}else if(t.rows._frozenInternal<0&&t.rows.isFrozen(o)){t.rows.frozenDetailChildren-=1;t.rows._frozenInternal+=1}for(;!(i[o]instanceof DetailRow)&&o<i.length-1;)o++;var l=i[o];if(l instanceof DetailRow){var n=l.detail.parentElement;if(n)for(var a=n.querySelectorAll("."+wijmo_1.ControlClsNames.hostElement),s=0;s<a.length;s++){var d=wijmo_1.Control.getControl(a[s]);d&&d.containsFocus()&&t.focus(!0)}var _=this.disposeDetailCell;!!_&&_(l)||wijmo_1.Control.disposeAll(l.detail);i.removeAt(o);r=wijmo_1.format(r,{rowIndex:o});t.announceShortcut(r)}}else for(var c=0;c<i.length;c++)i[c]instanceof DetailRow&&this.hideDetail(c)};FlexGridDetailProvider.prototype.showDetail=function(e,t){void 0===t&&(t=!1);var i=this._g,r=i.rows,o=wijmo_1.culture.FlexGridDetailProvider.accessibilityHelperMessage.showDetail,l=this._toIndex(e);if(i.rows._frozenInternal>0&&l<=i.rows._frozenInternal-1){i.rows.frozenDetailChildren+=1;i.rows._frozenInternal+=1}else if(i.rows._frozenInternal<0&&i.rows.isFrozen(l)){i.rows.frozenDetailChildren+=1;i.rows._frozenInternal-=1}l>0&&r[l]instanceof DetailRow&&l--;for(var n=r[l].dataItem;l<r.length-1&&r[l+1].dataItem==n;)l++;if(t){for(var a=i.selection,s=!1,d=0;d<r.length-1;d++)if(d!=l&&r[d+1]instanceof DetailRow){this.hideDetail(d);d<l&&l--;if(d<a.row){a.row--;a.row2--;s=!0}}s&&i.select(a,!1)}if(!this.isDetailVisible(l)&&this._hasDetail(l)){var _=new DetailRow(r[l]),c=this._createDetailCell(r[l]);_.detail=c;if(c){r.insert(l+1,_);o=wijmo_1.format(o,{rowIndex:l+1});i.announceShortcut(o);var w=i.containsFocus();if(this._animated){var u=c.style;u.transform="translateY(-100%)";u.opacity="0";wijmo_1.animate((function(e){if(e<1){u.transform="translateY("+(100*-(1-e)).toFixed(0)+"%)";u.opacity=(e*e).toString()}else{u.transform=u.opacity="";wijmo_1.Control.invalidateAll(c);w&&i.hostElement&&i.scrollIntoView(l,-1)}}))}else w&&i.scrollIntoView(l,-1,!0)}}};FlexGridDetailProvider.prototype._sizeDetailRow=function(e,t){void 0===t&&(t=!1);var i=this._g,r=e.detail;wijmo_1.Control.refreshAll(r);var o=t?r.scrollHeight:r.offsetHeight,l=o+i._cellPadVert+1,n=this._maxHeight;wijmo_1.isNumber(n)&&n>0&&l>n&&(l=n);e.height=l;r.style.height||(r.style.height="100%");var a=r.querySelector("."+wijmo_grid_1.FlexGridClsNames.hostElement);a&&!a.style.height&&(a.style.height="100%");return o};FlexGridDetailProvider.prototype._handleFrozenCells=function(){var e=this._g,t=e.hostElement,i="."+wijmo_grid_1.FlexGridClsNames.hostElement,r=wijmo_1.Control.getControl(t.querySelector(i));if(r instanceof wijmo_grid_1.FlexGrid&&(r.rows._frozenInternal||r.columns._frozenInternal)){wijmo_1.setCss([e._eTL,e._eBL,e._eCFtr,e._eRHdr,e._eMarquee],{zIndex:"13"});wijmo_1.setCss(e._eCHdr,{zIndex:"14"});for(var o=t.querySelectorAll("."+wijmo_grid_1.FlexGridClsNames.frozen),l=0;l<o.length;l++){var n=o[l];if(wijmo_1.closest(n,i)==t){var a=parseInt(n.style.zIndex);n.style.zIndex=(a%10+10).toString()}}}};FlexGridDetailProvider.prototype._toIndex=function(e){return e instanceof wijmo_grid_1.Row?e.index:wijmo_1.asNumber(e)};FlexGridDetailProvider.prototype._hdrClick=function(e){if(!e.defaultPrevented&&0==e.button&&wijmo_1.closestClass(e.target,FlexGridDetailProvider._WJC_DETAIL)){var t=DetailVisibilityMode;switch(this._mode){case t.ExpandMulti:case t.ExpandSingle:var i=this._g,r=i.hostElement,o=r&&r.offsetHeight&&r.offsetWidth,l=i.hitTest(e.target);l.panel||(l=i.hitTest(e));l.panel&&o&&this._toggleRowDetail(l.row)&&e.preventDefault()}}};FlexGridDetailProvider.prototype._toggleRowDetail=function(e){if(e>-1){if(this.isDetailVisible(e)){this.hideDetail(e);return!0}if(this._hasDetail(e)){this.showDetail(e,this._mode==DetailVisibilityMode.ExpandSingle);return!0}}return!1};FlexGridDetailProvider.prototype._selectionChanged=function(e,t){var i=this;if(this._mode==DetailVisibilityMode.Selection){this._toSel&&clearTimeout(this._toSel);this._toSel=setTimeout((function(){if(e._selHdl&&e._selHdl.selection){var t=e._selHdl.selection.row;t>-1?i.showDetail(t,!0):i.hideDetail()}}),300)}};FlexGridDetailProvider.prototype._formatItem=function(e,t){var i=this,r=this._g,o=t.cell,l=t.getRow(),n=DetailVisibilityMode;if(t.panel==r.cells&&l instanceof DetailRow&&null!=l.detail&&!wijmo_1.hasClass(o,exports.FlexGridDetailProviderClsNames.detail)){wijmo_1.addClass(o,exports.FlexGridDetailProviderClsNames.detail);wijmo_1.addClass(o.parentElement,exports.FlexGridDetailProviderClsNames.detailRow);o.textContent="";o.style.textAlign="";o.className=o.className.replace(/wj-align-[\S]+/g,"");o.appendChild(l.detail);null==l.height?0===this._sizeDetailRow(l)&&setTimeout((function(){i._sizeDetailRow(l,!0)}),1):wijmo_1.Control.refreshAll(l.detail)}if(t.panel==r.rowHeaders&&0==t.col&&this._hasDetail(t.row)){o.style.cursor="";switch(this._mode){case n.ExpandMulti:case n.ExpandSingle:var a=this.isDetailVisible(t.row),s=a?"minus":"plus",d=FlexGridDetailProvider._WJC_DETAIL;o.innerHTML='<div class="'+wijmo_1.InputFormElementsClsNames.btn+" "+wijmo_1.GlyphClsNames.btnGlyph+" "+d+'" role="button" tabindex="-1"><span class="'+wijmo_1.GlyphClsNames.glyph+"-"+s+'"></span></div>';var _=o.children[0],c=wijmo_1.culture.FlexGridDetailProvider.ariaLabels.toggleDetail;wijmo_1.setAriaLabel(_,c);wijmo_1.setAttribute(_,"aria-expanded",a)}}};FlexGridDetailProvider.prototype._resizedRow=function(e,t){var i=t.getRow();i instanceof DetailRow&&i.detail&&wijmo_1.Control.refreshAll(i.detail)};FlexGridDetailProvider.prototype._hasDetail=function(e){var t=this._g.rows[e];return wijmo_1.isFunction(this._rowHasDetailFn)?this._rowHasDetailFn(t):this._isRegularRow(t)};FlexGridDetailProvider.prototype._isRegularRow=function(e){return!(e instanceof wijmo_grid_1._NewRowTemplate||e instanceof DetailRow)&&!(e instanceof wijmo_grid_1.GroupRow&&!this._g.childItemsPath)};FlexGridDetailProvider.prototype._createDetailCell=function(e){return this.createDetailCell?this.createDetailCell(e):null};FlexGridDetailProvider._WJC_DETAIL=exports.FlexGridDetailProviderClsNames.elemDetail;return FlexGridDetailProvider}();exports.FlexGridDetailProvider=FlexGridDetailProvider;wijmo_1._registerModule("wijmo.grid.detail",selfModule);
|
package/package.json
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@grapecity/wijmo.grid.detail",
|
|
3
|
-
"version": "5.
|
|
3
|
+
"version": "5.20261.48",
|
|
4
4
|
"description": "UI library for pure JS, Angular, React, Vue and more...",
|
|
5
5
|
"author": "MESCIUS inc",
|
|
6
6
|
"license": "Commercial",
|
|
7
7
|
"main": "./index.js",
|
|
8
8
|
"types": "./index.d.ts",
|
|
9
9
|
"dependencies": {
|
|
10
|
-
"@grapecity/wijmo": "5.
|
|
11
|
-
"@grapecity/wijmo.input": "5.
|
|
12
|
-
"@grapecity/wijmo.grid": "5.
|
|
10
|
+
"@grapecity/wijmo": "5.20261.48",
|
|
11
|
+
"@grapecity/wijmo.input": "5.20261.48",
|
|
12
|
+
"@grapecity/wijmo.grid": "5.20261.48"
|
|
13
13
|
},
|
|
14
14
|
"homepage": "https://developer.mescius.com/wijmo",
|
|
15
15
|
"bugs": {
|