vxe-pc-ui
Version:
A vue based PC component library
1 lines • 1.77 kB
JavaScript
;Object.defineProperty(exports,"__esModule",{value:!0}),exports.assembleItem=assembleItem,exports.createItem=createItem,exports.destroyItem=destroyItem,exports.handleFieldOrItem=handleFieldOrItem,exports.isActiveItem=isActiveItem,exports.isFormItem=isFormItem,exports.isHiddenItem=isHiddenItem,exports.watchItem=watchItem;var _vue=require("vue"),_ui=require("../../ui"),_xeUtils=_interopRequireDefault(require("xe-utils")),_itemInfo=require("./itemInfo"),_utils=require("../../ui/src/utils");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function isFormItem(e){return e instanceof _itemInfo.ItemInfo}function createItem(e,t){return isFormItem(t)?t:new _itemInfo.ItemInfo(e,t)}function handleFieldOrItem(e,t){return t?_xeUtils.default.isString(t)?e.getItemByField(t):t:null}function isHiddenItem(e,t){var e=e["reactData"],e=e["collapseAll"],{folding:t,visible:i}=t;return!1===i||t&&e}function isActiveItem(e,t){var i,r=e.xeGrid;let{visibleMethod:s,itemRender:n,visible:l,field:m}=t;return!1===l?l:(i=(i=(0,_utils.isEnableConf)(n)?_ui.renderer.get(n.name):null)?i.formItemVisibleMethod||i.itemVisibleMethod:null,!(s=!s&&i?i:s)||(i=e.props["data"],s({data:i,field:m,property:m,item:t,$form:e,$grid:r})))}function watchItem(e,i){Object.keys(e).forEach(t=>{(0,_vue.watch)(()=>e[t],e=>{i.update(t,e)})})}function assembleItem(e,t,i,r){var s=e["reactData"],e=e.props["customLayout"],n=s["staticItems"];e?n.some(e=>e.id===i.id)||n.push(i):t&&(e=t.parentNode,r=(r=r?r.formItem:null)?r.children:n,e)&&(r.splice(_xeUtils.default.arrayIndexOf(e.children,t),0,i),s.staticItems=n.slice(0))}function destroyItem(e,t){var e=e["reactData"],i=e["staticItems"],r=_xeUtils.default.findIndexOf(i,e=>e.id===t.id);-1<r&&i.splice(r,1),e.staticItems=i.slice(0)}