@grapecity/wijmo.grid.detail 5.20252.42 → 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 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 프레임워크에 대한 지원을 제공합니다.
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  *
3
- * Wijmo Library 5.20252.42
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.20252.42
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.20252.42
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.20252.42
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, e: EventArgs): void;
322
- _formatItem(s: any, e: FormatItemEventArgs): void;
323
- _resizedRow(s: any, e: CellRangeEventArgs): void;
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.20252.42
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.20252.42",
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.20252.42",
11
- "@grapecity/wijmo.input": "5.20252.42",
12
- "@grapecity/wijmo.grid": "5.20252.42"
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": {