UNPKG

@grapecity/wijmo.vue2.grid.detail

Version:

UI library for pure JS, Angular, React, Vue and more...

14 lines (13 loc) 2.04 kB
/*! * * Wijmo Library 5.20261.52 * https://developer.mescius.com/wijmo * * Copyright(c) MESCIUS inc. All rights reserved. * * Licensed under the End-User License Agreement For MESCIUS Wijmo Software. * us.sales@mescius.com * https://developer.mescius.com/wijmo/licensing * */ import{VueApi,WjComponentBehavior}from"@grapecity/wijmo.vue2.base";import*as wjcGridDetail from"@grapecity/wijmo.grid.detail";class WjFlexGridDetailBehavior extends WjComponentBehavior{constructor(){super(...arguments);this._openedComponents=[]}static render(e){return VueApi.isV3Plus?VueApi.h("div"):e("div")}_createControl(){const e=super._createControl();e.createDetailCell=e=>{if(VueApi.isV3Plus){const i=VueApi.h,t=this.component.$slots.default,r={row:e,item:e.dataItem,provider:this.control},o=i({parent:this.component,render:()=>i("div",{},t&&t(r))}),l=document.createElement("div");VueApi.render(o,l);this._openedComponents.push({$destroy:()=>{VueApi.render(null,l)}});return o.el}{const i=new(VueApi.extend({data:()=>({childVN:null}),render:function(e){return e("div",[this.childVN])}}))({parent:this.component});i.childVN=this.component.$scopedSlots.default({row:e,item:e.dataItem,provider:this.control});i.$mount();this._openedComponents.push(i);return i.$el}};e.disposeDetailCell=e=>{const i=e.detail,t=this._openedComponents;if(i)for(let e=0;e<t.length;e++)if(i===t[e].$el){t[e].$destroy();t.splice(e,1);break}};return e}}WjFlexGridDetailBehavior.tag="wj-flex-grid-detail";WjFlexGridDetailBehavior.parentInCtor=!0;WjFlexGridDetailBehavior.props=["maxHeight","keyActionEnter","detailVisibilityMode","rowHasDetail","isAnimated"];WjFlexGridDetailBehavior.events=["initialized"];WjFlexGridDetailBehavior.classCtor=()=>wjcGridDetail.FlexGridDetailProvider;export var WjFlexGridDetail=WjFlexGridDetailBehavior.register();function registerV3WjFlexGridDetail(e){e.component(WjFlexGridDetailBehavior.tag,WjFlexGridDetail)}export function registerGridDetail(e){VueApi.isV3Plus&&registerV3WjFlexGridDetail(e)}