@farris/ui-vue 1.7.4 → 1.7.6
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/components/avatar/index.esm.js +2 -2
- package/components/avatar/index.umd.cjs +1 -1
- package/components/component/index.esm.js +102 -102
- package/components/component/index.umd.cjs +1 -1
- package/components/data-grid/index.esm.js +4 -2
- package/components/data-grid/index.umd.cjs +1 -1
- package/components/data-view/index.esm.js +393 -392
- package/components/data-view/index.umd.cjs +1 -1
- package/components/designer-canvas/index.esm.js +102 -102
- package/components/designer-canvas/index.umd.cjs +1 -1
- package/components/filter-bar/index.esm.js +2 -2
- package/components/filter-bar/index.umd.cjs +1 -1
- package/components/image/index.esm.js +2 -2
- package/components/image/index.umd.cjs +1 -1
- package/components/mapping-editor/index.esm.js +4 -2
- package/components/mapping-editor/index.umd.cjs +1 -1
- package/components/number-range/index.esm.js +156 -156
- package/components/number-range/index.umd.cjs +1 -1
- package/components/property-panel/index.esm.js +2 -2
- package/components/property-panel/index.umd.cjs +1 -1
- package/components/response-layout-editor/index.esm.js +1 -1
- package/components/response-layout-editor/index.umd.cjs +1 -1
- package/components/tree-grid/index.esm.js +1 -1
- package/components/tree-grid/index.umd.cjs +1 -1
- package/designer/data-grid/index.esm.js +62 -61
- package/designer/data-grid/index.umd.cjs +2 -2
- package/designer/farris-designer.all.esm.js +351 -349
- package/designer/farris-designer.all.umd.cjs +4 -4
- package/designer/radio-group/index.esm.js +2 -2
- package/designer/radio-group/index.umd.cjs +1 -1
- package/designer/response-layout-editor/index.esm.js +1 -1
- package/designer/response-layout-editor/index.umd.cjs +1 -1
- package/designer/tabs/index.esm.js +142 -142
- package/designer/tabs/index.umd.cjs +1 -1
- package/designer/time-picker/index.esm.js +2 -2
- package/designer/time-picker/index.umd.cjs +1 -1
- package/designer/tree-grid/index.esm.js +1 -1
- package/designer/tree-grid/index.umd.cjs +1 -1
- package/farris.all.esm.js +2821 -2819
- package/farris.all.umd.cjs +25 -25
- package/package.json +1 -1
- package/types/combo-list/src/property-config/combo-list.property-config.d.ts +2 -14
- package/types/data-view/composition/types.d.ts +1 -1
|
@@ -946,7 +946,7 @@ class oe extends ne {
|
|
|
946
946
|
* 获取可选的编辑器类型
|
|
947
947
|
*/
|
|
948
948
|
getAvailableEditorType(e) {
|
|
949
|
-
var s;
|
|
949
|
+
var s, r;
|
|
950
950
|
const t = this.checkCanChangeControlType(e, this.viewModelId);
|
|
951
951
|
if (!t)
|
|
952
952
|
return {
|
|
@@ -957,7 +957,7 @@ class oe extends ne {
|
|
|
957
957
|
}]
|
|
958
958
|
};
|
|
959
959
|
let i = [];
|
|
960
|
-
return this.designViewModelField && this.designViewModelField.$type === B.SimpleField ? i = V.getEditorTypesByMDataType(this.designViewModelField.type.name, this.designViewModelField.multiLanguage) : this.bindingVarible && (i = V.getEditorTypesByMDataType(this.bindingVarible.type, this.designViewModelField.multiLanguage)), { canChangeControlType: t, editorTypeList: i };
|
|
960
|
+
return this.designViewModelField && this.designViewModelField.$type === B.SimpleField ? i = V.getEditorTypesByMDataType(this.designViewModelField.type.name, this.designViewModelField.multiLanguage) : this.bindingVarible && (i = V.getEditorTypesByMDataType(this.bindingVarible.type, !!((r = this.designViewModelField) != null && r.multiLanguage))), { canChangeControlType: t, editorTypeList: i };
|
|
961
961
|
}
|
|
962
962
|
changeBindingField(e, t, i) {
|
|
963
963
|
t.needRefreshEntityTree = !0;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(b,I){typeof exports=="object"&&typeof module<"u"?I(exports,require("../../components/time-picker/index.umd.js"),require("../../components/dynamic-resolver/index.umd.js"),require("vue"),require("../../components/button-edit/index.umd.js"),require("../../components/designer-canvas/index.umd.js"),require("lodash-es"),require("../../components/common/index.umd.js")):typeof define=="function"&&define.amd?define(["exports","../../components/time-picker/index.umd.js","../../components/dynamic-resolver/index.umd.js","vue","../../components/button-edit/index.umd.js","../../components/designer-canvas/index.umd.js","lodash-es","../../components/common/index.umd.js"],I):(b=typeof globalThis<"u"?globalThis:b||self,I(b["time-picker"]={},b.FTimePicker,b.dynamicResolver,b.Vue,b.buttonEdit,b.designerCanvas,b.LodashES,b.common))})(this,function(b,I,w,V,U,s,L,T){"use strict";var K=Object.defineProperty;var ee=(b,I,w)=>I in b?K(b,I,{enumerable:!0,configurable:!0,writable:!0,value:w}):b[I]=w;var g=(b,I,w)=>ee(b,typeof I!="symbol"?I+"":I,w);const A={modelValue:{type:String,default:""},hourStep:{type:Number,default:1},minuteStep:{type:Number,default:1},secondStep:{type:Number,default:1},popupClassName:{type:String,default:""},placeholder:{type:String,default:"请选择时间"},placement:{type:String,default:"auto"},defaultOpenValue:{type:Date,default:null},format:{type:String,default:"HH:mm:ss"},isOpen:{type:Boolean,default:!1},showHeader:{type:Boolean,default:!1},use12Hours:{type:Boolean,default:!1},disabledHours:{type:Function,default:null},disabledMinutes:{type:Function,default:null},disabledSeconds:{type:Function,default:null},hideDisabledElements:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},readonly:{type:Boolean,default:!1},editable:{type:Boolean,default:!0}};function $(y){const{formSchemaUtils:o,formStateMachineUtils:e}=y;function t(l,p=""){return{path:p+l.code,field:l.id,fullPath:l.code}}function i(l,p=""){const c=o.getViewModelById(l);return c?c.states.map(d=>t(d,p)):[]}function n(l){const p=o.getRootViewModelId(),c=i(l);if(l===p)return c;const d=i(p,"root-component.");return[...c,...d]}function r(l){return l.binding&&l.binding.path||l.id||""}function a(){return e&&e.getRenderStates()||[]}return{getVariables:n,getControlName:r,getStateMachines:a}}class N{constructor(o){g(this,"sessionVariables",[{key:"CurrentSysOrgName",name:"当前组织Name",description:"当前组织Name"},{key:"CurrentSysOrgId",name:"当前组织Id",description:"当前组织Id"},{key:"CurrentUserName",name:"当前用户Name",description:"当前用户Name"},{key:"CurrentUserCode",name:"当前用户Code",description:"当前用户Code"},{key:"CurrentUserId",name:"当前用户Id",description:"当前用户Id"},{key:"CurrentLanguage",name:"当前语言编号",description:"当前登录的语言编号,例如简体中文返回'zh-CHS',英文返回'en',繁体中文'zh-CHT'"}]);g(this,"expressionNames",{compute:"计算表达式",dependency:"依赖表达式",validate:"验证表达式",dataPicking:"帮助前表达式",visible:"可见表达式",readonly:"只读表达式",required:"必填表达式"});g(this,"getExpressionConverter",(o,e)=>({convertFrom:(t,i,n,r)=>{const a=n.getExpressionRuleValue(o,e||i);return a&&a.value||""},convertTo:(t,i,n,r,a)=>{var l;if(i==="dataPicking"&&(n!=null&&n.target)){const p=`${n.target}_dataPicking`;((l=n.rules)==null?void 0:l.some(d=>d.id===p&&d.value))?t.dictPickingExpressionId=p:delete t.dictPickingExpressionId}r.updateExpression(n)}}));this.formSchemaService=o}getExpressionRule(o,e){const t=this.formSchemaService.getExpressions();if(!t)return"";const i=t.find(r=>r.target===o);if(!i)return"";const n=i.rules.find(r=>r.type===e);return n||""}getContextFormVariables(){const{module:o}=this.formSchemaService.getFormSchema();if(!o.viewmodels||o.viewmodels.length===0)return[];const e=this.formSchemaService.getRootViewModelId(),t=this.formSchemaService.getViewModelById(e);if(!t||!t.states||t.states.length===0)return[];const i=[];return t.states.filter(n=>n.category==="remote").forEach(n=>{i.push({key:n.code,name:n.name,description:n.name,category:n.category})}),i}createTreeNode(o,e,t="label"){return{id:o.id,name:o.name,bindingPath:o[t],parents:e,type:"field"}}buildEntityFieldsTreeData(o=null,e){const t=[];return o==null||o.forEach(i=>{var a;const n=this.createTreeNode(i,e);let r=[];(a=i.type)!=null&&a.fields&&(r=this.buildEntityFieldsTreeData(i.type.fields,[...e,i.label])),t.push({data:n,children:r,expanded:!0})}),t}buildChildEntityTreeData(o=null,e){const t=[];return o==null||o.forEach(i=>{var l,p;const n=this.createTreeNode(i,e);n.type="entity";const r=this.buildEntityFieldsTreeData((l=i.type)==null?void 0:l.fields,[...e,i.label]),a=this.buildChildEntityTreeData((p=i.type)==null?void 0:p.entities,[...e,i.label]);a!=null&&a.length&&(r==null||r.push(...a)),t.push({data:n,children:r||[],expanded:!0})}),t}getEntitiesTreeData(){const o=this.formSchemaService.getSchemaEntities();if(!(o!=null&&o.length))return[];const e=o[0];if(!(e!=null&&e.type))return[];const t=this.buildEntityFieldsTreeData(e.type.fields,[e.code]),i=this.buildChildEntityTreeData(e.type.entities,[e.code]);return i!=null&&i.length&&(t==null||t.push(...i)),{entityCode:e.code,fields:[{data:this.createTreeNode(e,[],"code"),children:t||[]}]}}getEntitiesAndVariables(){return{entities:this.getEntitiesTreeData(),variables:{session:{name:"系统变量",items:this.sessionVariables,visible:!1},forms:{name:"表单变量",items:this.getContextFormVariables(),visible:!0}}}}onBeforeOpenExpression(o,e,t){const i=t==="Field"?o.binding.field:o.id,n=this.getExpressionRule(i,e),r=this.getEntitiesAndVariables(),a={message:["validate","required","dataPicking"].includes(e)&&n?n.message:"",...r};return n.messageType!=null&&(a.messageType=n.messageType),a}buildRule(o,e,t,i){const{expression:n,message:r,messageType:a}=e,l={id:`${o}_${t}`,type:t,value:n};return(t==="validate"||t==="dataPicking"||t==="required")&&(l.message=r),t==="dataPicking"&&(l.messageType=a),t==="validate"&&i&&(l.elementId=i),l}getExpressionData(){const{expressions:o}=this.formSchemaService.getFormSchema().module;return o||[]}updateExpression(o,e,t,i){const n=e==="Field"?o.binding.field:o.id,r=this.buildRule(n,t,i,o.type==="form-group"?o.id:"");let l=this.getExpressionData().find(c=>c.targetType===e&&c.target===n);const p=c=>c.value.trim()==="";if(l){const c=l.rules.find(d=>d.id===r.id);if(c)p(r)?l.rules=l.rules.filter(d=>d.id!==r.id):(Object.assign(c,r),i==="validate"&&o.type==="form-group"&&(c.elementId=o.id));else{if(p(r))return null;l.rules=l.rules||[],l.rules.push(r)}}else{if(p(r))return null;l={target:`${n}`,rules:[r],targetType:e}}return l}getExpressionEditorOptions(o,e,t,i){return t.reduce((n,r)=>{var l,p;const a=e==="Field"?(l=o==null?void 0:o.binding)==null?void 0:l.field:o.id;return n[r]={hide:e==="Field"?!!((p=o==null?void 0:o.binding)!=null&&p.field):!1,description:"",title:this.expressionNames[r],type:"string",$converter:this.getExpressionConverter(a),refreshPanelAfterChanged:!0,editor:{type:"expression-editor",singleExpand:!1,dialogTitle:`${this.expressionNames[r]}编辑器`,showMessage:r==="validate"||r==="dataPicking"||r==="required",showMessageType:r==="dataPicking",beforeOpen:()=>this.onBeforeOpenExpression(o,r,e),onSubmitModal:c=>{const d=this.updateExpression(o,e,c,r);if(i){const m=this.buildRule(a,c,r);i(m)}return d}}},n},{})}getExpressionInfo(o,e,t){const i=e==="Field"?o.binding.field:o.id,n=this.getExpressionRule(i,t),r={value:n&&n.value,targetId:i,targetType:e,expressionType:t};return n&&n.message&&(r.message=n.message),r}getExpressionConfig(o,e,t=["compute","dependency","validate"],i){return{description:"表达式",title:"表达式",hide:!o.binding,properties:{...this.getExpressionEditorOptions(o,e,t,i)}}}getExpressionOptions(o,e,t){const i=this.getExpressionInfo(o,e,t);return{dialogTitle:`${this.expressionNames[t]}编辑器`,singleExpand:!1,showMessage:t==="required",beforeOpen:()=>this.onBeforeOpenExpression(o,t,e),expressionInfo:i}}}class q{constructor(o,e){g(this,"componentId");g(this,"viewModelId");g(this,"eventsEditorUtils");g(this,"formSchemaUtils");g(this,"formMetadataConverter");g(this,"designViewModelUtils");g(this,"designViewModelField");g(this,"controlCreatorUtils");g(this,"designerHostService");g(this,"designerContext");g(this,"schemaService",null);g(this,"metadataService",null);g(this,"propertyConfig",{type:"object",categories:{}});var t;this.componentId=o,this.designerHostService=e,this.eventsEditorUtils=e.eventsEditorUtils,this.formSchemaUtils=e.formSchemaUtils,this.formMetadataConverter=e.formMetadataConverter,this.viewModelId=((t=this.formSchemaUtils)==null?void 0:t.getViewModelIdByComponentId(o))||"",this.designViewModelUtils=e.designViewModelUtils,this.controlCreatorUtils=e.controlCreatorUtils,this.metadataService=e.metadataService,this.schemaService=e.schemaService,this.designerContext=e.designerContext}getFormDesignerInstance(){var o,e;return(e=(o=this.designerContext)==null?void 0:o.instances)==null?void 0:e.formDesigner.value}getTableInfo(){var o;return(o=this.schemaService)==null?void 0:o.getTableInfoByViewModelId(this.viewModelId)}setDesignViewModelField(o){var t;const e=o.binding&&o.binding.type==="Form"&&o.binding.field;if(e){if(!this.designViewModelField){const i=this.designViewModelUtils.getDgViewModel(this.viewModelId);this.designViewModelField=i.fields.find(n=>n.id===e)}o.updateOn=(t=this.designViewModelField)==null?void 0:t.updateOn}}getBasicPropConfig(o){return{description:"Basic Information",title:"基本信息",properties:{id:{description:"组件标识",title:"标识",type:"string",readonly:!0},type:{description:"组件类型",title:"控件类型",type:"select",editor:{type:"combo-list",textField:"name",valueField:"value",idField:"value",editable:!1,data:[{value:o.type,name:s.DgControl[o.type]&&s.DgControl[o.type].name}]}}}}}getAppearanceConfig(o=null,e={},t){const i={title:"外观",description:"Appearance"},n={class:{title:"class样式",type:"string",description:"组件的CSS样式",$converter:"/converter/appearance.converter",parentPropertyID:"appearance"},style:{title:"style样式",type:"string",description:"组件的样式",$converter:"/converter/appearance.converter",parentPropertyID:"appearance"}};for(const r in e)n[r]=Object.assign(n[r]||{},e[r]);return{...i,properties:{...n},setPropertyRelates(r,a){if(r){switch(r&&r.propertyID){case"class":case"style":{s.canvasChanged.value++;break}}t&&t(r,o,a)}}}}getPropertyEditorParams(o,e=[],t="visible",i={},n={},r=""){const{getVariables:a,getControlName:l,getStateMachines:p}=$(this.designerHostService),c=this.getRealTargetType(o),d=e&&e.length>0?e:["Const","Variable","StateMachine","Expression"],m={type:"property-editor",propertyTypes:d};return d.map(h=>{switch(h){case"Const":Object.assign(m,{constType:"enum",constEnums:[{id:!0,name:"是"},{id:!1,name:"否"}]},i);break;case"Expression":m.expressionConfig=this.getExpressionOptions(o,c,r||t);break;case"StateMachine":m.stateMachines=p();break;case"Variable":Object.assign(m,{controlName:l(o),newVariablePrefix:"is",newVariableType:"Boolean",variables:a(this.viewModelId),parentComponentId:this.componentId==="root-component"?"":"root-component",onBeforeOpenVariables:u=>{u.value=a(this.viewModelId)}},n),this.designerContext.designerMode==="PC_RTC"&&(m.newVariablePrefix="ext_"+m.newVariablePrefix);break}}),m}getVisibleProperty(o,e=""){var n;let t=["Const","Variable","StateMachine","Expression"];return e==="gridFieldEditor"?t=["Const","Expression"]:e==="form-group"&&!((n=o.binding)!=null&&n.field)&&(t=["Const","Variable","StateMachine"]),{visible:{title:"是否可见",type:"boolean",description:"运行时组件是否可见",editor:this.getPropertyEditorParams(o,t,"visible")}}}getBehaviorConfig(o,e="",t={},i){const n={title:"行为",description:""},r=this.getVisibleProperty(o,e);for(const l in t)r[l]=Object.assign(r[l]||{},t[l]);const a=this;return{...n,properties:{...r},setPropertyRelates(l,p){if(l){switch(l.propertyID){case"disabled":case"readonly":case"visible":a.afterMutilEditorChanged(o,l);break}i&&i(l,p)}}}}afterMutilEditorChanged(o,e){this.addNewVariableToViewModel(e,this.viewModelId),this.updateExpressionValue(e),this.clearExpression(e,o)}updateElementByParentContainer(o,e){const t=e&&e.parent&&e.parent.schema;if(!t)return;const i=t.contents.findIndex(r=>r.id===o),n=L.cloneDeep(t.contents[i]);t.contents.splice(i,1),t.contents.splice(i,0,n),s.refreshCanvas()}addNewVariableToViewModel(o,e){const t=o.propertyValue;if(!(t&&typeof t=="object")||!(t.type==="Variable"&&t.isNewVariable))return;const r={id:t.field,category:"locale",code:t.fullPath,name:t.fullPath,type:t.newVariableType||"String",isRtcVariable:this.designerContext.designerMode==="PC_RTC"?!0:void 0};delete t.newVariableType,delete t.isNewVariable,this.formSchemaUtils.getVariableByCode(r.code)||this.formSchemaUtils.getViewModelById("root-viewmodel").states.push(r)}updateExpressionValue(o){const e=o.propertyValue;if(!((e&&e.type)==="Expression"&&e.expressionInfo))return;const{expressionId:n,expressionInfo:r}=e,{targetId:a,targetType:l,expressionType:p,value:c,message:d}=r,m=this.formSchemaUtils.getModule();m.expressions=m.expressions||[];const{expressions:h}=m;let u=h.find(C=>C.target===a);u||(u={target:a,rules:[],targetType:l},h.push(u));const f=u.rules.find(C=>C.type===p);if(f)f.value=c,f.message=d;else{const C={id:n,type:p,value:c,message:d};u.rules.push(C)}delete e.expressionInfo}clearExpression(o,e){const t=o.propertyValue;if(t&&t.type==="Expression")return;const n=o.propertyID,r=this.formSchemaUtils.getExpressions(),a=e.binding?e.binding.field:e.id,l=r.find(p=>p.target===a);!l||!l.rules||(l.rules=l.rules.filter(p=>p.type!==n))}getExpressionOptions(o,e,t){return new N(this.formSchemaUtils).getExpressionOptions(o,e,t)}getRealTargetType(o){return["response-toolbar-item","tab-toolbar-item","section-toolbar-item","drawer-toolbar-item"].indexOf(o.type)>-1?"Button":o.binding&&o.binding.field?"Field":"Container"}createBaseEventProperty(o){const e={};return e[this.viewModelId]={type:"events-editor",editor:{initialData:o,viewSourceHandle:t=>{var i;((i=t.controller)==null?void 0:i.label.indexOf(this.formSchemaUtils.getModule().code))>-1&&this.eventsEditorUtils.jumpToMethod(t)}}},e}}const M=class M{static getEditorTypesByMDataType(o,e=!1,t=""){if(e)return[{key:s.DgControl["language-textbox"].type,value:s.DgControl["language-textbox"].name}];let i=M.fieldControlTypeMapping[o];if(t==="data-grid-column"&&(i!=null&&i.length)){const n=[s.DgControl["check-group"].type,s.DgControl["radio-group"].type,s.DgControl.image.type,s.DgControl["rich-text-editor"].type];i=i.filter(r=>!n.includes(r.key))}return i}static getAllInputTypes(){const o=[];for(const e in M.fieldControlTypeMapping)M.fieldControlTypeMapping[e].forEach(t=>{o.find(i=>i.key===t.key&&i.value===t.value)||o.push({key:t.key,value:t.value})});return o}static mappingDomPropAndSchemaProp(o,e){var n;const t=(n=o.editor)==null?void 0:n.type,i=[];return(o.type===s.DgControl["data-grid-column"].type||o.type===s.DgControl["tree-grid-column"].type)&&e&&e.categoryId&&e.categoryId.indexOf("gridFieldEditor")<0&&i.push({domField:"title",schemaField:"name"}),i.push({domField:"label",schemaField:"name"}),i.push({domField:"editor.required",schemaField:"require"}),i.push({domField:"editor.readonly",schemaField:"readonly"}),(t===s.DgControl["input-group"].type||t===s.DgControl.textarea.type||t===s.DgControl["number-spinner"].type)&&i.push({domField:"editor.maxLength",schemaField:"type.length"}),t===s.DgControl["number-spinner"].type&&i.push({domField:"editor.precision",schemaField:"type.precision"}),(o.type===s.DgControl["data-grid-column"].type||o.type===s.DgControl["tree-grid-column"].type)&&i.push({domField:"formatter.precision",schemaField:"type.precision"}),(t===s.DgControl["combo-list"].type||t===s.DgControl["radio-group"].type)&&i.push({domField:"editor.data",schemaField:"type.enumValues"}),(o.type===s.DgControl["data-grid-column"].type||o.type===s.DgControl["tree-grid-column"].type)&&i.push({domField:"formatter.data",schemaField:"type.enumValues"}),t===s.DgControl["date-picker"].type&&(i.push({domField:"editor.displayFormat",schemaField:"editor.format"}),i.push({domField:"editor.fieldType",schemaField:"type.name"})),t===s.DgControl["number-spinner"].type&&(i.push({domField:"editor.max",schemaField:"editor.maxValue"}),i.push({domField:"editor.min",schemaField:"editor.minValue"})),t===s.DgControl.lookup.type&&(i.push({domField:"editor.dataSource",schemaField:"editor.dataSource"}),i.push({domField:"editor.valueField",schemaField:"editor.valueField"}),i.push({domField:"editor.textField",schemaField:"editor.textField"}),i.push({domField:"editor.displayType",schemaField:"editor.displayType"}),i.push({domField:"editor.mapFields",schemaField:"editor.mapFields"}),i.push({domField:"editor.helpId",schemaField:"editor.helpId"})),i.push({domField:"path",schemaField:"bindingPath"}),i.push({domField:"binding.path",schemaField:"bindingField"}),i.push({domField:"binding.fullPath",schemaField:"path"}),(o.type===s.DgControl["data-grid-column"].type||o.type===s.DgControl["tree-grid-column"].type)&&i.push({domField:"field",schemaField:"bindingPath"}),i}};g(M,"fieldControlTypeMapping",{String:[{key:s.DgControl["input-group"].type,value:s.DgControl["input-group"].name},{key:s.DgControl.lookup.type,value:s.DgControl.lookup.name},{key:s.DgControl.image.type,value:s.DgControl.image.name},{key:s.DgControl["date-picker"].type,value:s.DgControl["date-picker"].name},{key:s.DgControl.switch.type,value:s.DgControl.switch.name},{key:s.DgControl["check-box"].type,value:s.DgControl["check-box"].name},{key:s.DgControl["check-group"].type,value:s.DgControl["check-group"].name},{key:s.DgControl["radio-group"].type,value:s.DgControl["radio-group"].name},{key:s.DgControl["combo-list"].type,value:s.DgControl["combo-list"].name},{key:s.DgControl.textarea.type,value:s.DgControl.textarea.name},{key:s.DgControl["time-picker"].type,value:s.DgControl["time-picker"].name}],Text:[{key:s.DgControl.textarea.type,value:s.DgControl.textarea.name},{key:s.DgControl.lookup.type,value:s.DgControl.lookup.name},{key:s.DgControl.image.type,value:s.DgControl.image.name},{key:s.DgControl["rich-text-editor"].type,value:s.DgControl["rich-text-editor"].name}],Decimal:[{key:s.DgControl["number-spinner"].type,value:s.DgControl["number-spinner"].name}],Integer:[{key:s.DgControl["number-spinner"].type,value:s.DgControl["number-spinner"].name}],Number:[{key:s.DgControl["number-spinner"].type,value:s.DgControl["number-spinner"].name},{key:s.DgControl.switch.type,value:s.DgControl.switch.name},{key:s.DgControl["check-box"].type,value:s.DgControl["check-box"].name}],BigNumber:[{key:s.DgControl["number-spinner"].type,value:s.DgControl["number-spinner"].name}],Date:[{key:s.DgControl["date-picker"].type,value:s.DgControl["date-picker"].name}],DateTime:[{key:s.DgControl["date-picker"].type,value:s.DgControl["date-picker"].name}],Boolean:[{key:s.DgControl.switch.type,value:s.DgControl.switch.name},{key:s.DgControl["check-box"].type,value:s.DgControl["check-box"].name}],Enum:[{key:s.DgControl["combo-list"].type,value:s.DgControl["combo-list"].name},{key:s.DgControl["radio-group"].type,value:s.DgControl["radio-group"].name}],Object:[{key:s.DgControl.lookup.type,value:s.DgControl.lookup.name},{key:s.DgControl["combo-list"].type,value:s.DgControl["combo-list"].name},{key:s.DgControl["radio-group"].type,value:s.DgControl["radio-group"].name}]});let S=M;var P=(y=>(y.Form="Form",y.Variable="Variable",y))(P||{});class R{constructor(){g(this,"label","");g(this,"id","");g(this,"columnInSM",12);g(this,"columnInMD",6);g(this,"columnInLG",3);g(this,"columnInEL",2);g(this,"displayWidthInSM",1);g(this,"displayWidthInMD",1);g(this,"displayWidthInLG",1);g(this,"displayWidthInEL",1);g(this,"displayColumnCountAtBreakPoint","md");g(this,"tagRow",0);g(this,"showTopBorder",0);g(this,"group",1);g(this,"isSupportedClass",!0);g(this,"fieldSetId","")}}function H(y){let o,e;const t=new Map;let i=[];function n(c,d){const h=c.split(" ").filter(E=>E.startsWith("col-"));if(h.length===0){d.isSupportedClass=!1;return}let u=h.find(E=>/^col-([1-9]|10|11|12)$/.test(E)),f=h.find(E=>/^col-md-([1-9]|10|11|12)$/.test(E)),C=h.find(E=>/^col-xl-([1-9]|10|11|12)$/.test(E)),F=h.find(E=>/^col-el-([1-9]|10|11|12)$/.test(E));u=u||"col-12",d.columnInSM=parseInt(u.replace("col-",""),10),d.displayWidthInSM=d.columnInSM/12,d.displayWidthInSM!==1&&(d.isSupportedClass=!1),f=f||"col-md-"+d.columnInSM,d.columnInMD=parseInt(f.replace("col-md-",""),10),d.displayWidthInMD=d.columnInMD/6,[1,2].includes(d.displayWidthInMD)||(d.isSupportedClass=!1),C=C||"col-xl-"+d.columnInMD,d.columnInLG=parseInt(C.replace("col-xl-",""),10),d.displayWidthInLG=d.columnInLG/3,[1,2,3,4].includes(d.displayWidthInLG)||(d.isSupportedClass=!1),F=F||"col-el-"+d.columnInLG,d.columnInEL=parseInt(F.replace("col-el-",""),10),d.displayWidthInEL=d.columnInEL/2,[1,2,3,4,5,6].includes(d.displayWidthInEL)||(d.isSupportedClass=!1)}function r(c,d,m,h=!1){let u=!1;c.contents.forEach(f=>{if(f.type==="fieldset"){m+=1,r(f,d,m,!0),u=!0;return}u&&(m+=1,u=!1);const C=f.appearance&&f.appearance.class,F=new R;C?n(C,F):F.isSupportedClass=!1,F.label=f.label||f.id,F.id=f.id,F.group=m,h&&(F.fieldSetId=c.id),e===f.id&&(o=m),t.set(f.id,f),d.push(F)})}function a(c){const d=y.getComponentById(c);if(!d||!d.componentType||!d.componentType.startsWith("form"))return{result:!1,message:"只可以在响应式表单组件中调整响应式布局配置"};const m=y.selectNode(d,h=>h.type===s.DgControl["response-form"].type);return!m||!m.contents||m.contents.length===0?{result:!1,message:"Form区域内没有控件,请先添加控件"}:{result:!0,message:"",formNode:m}}function l(c,d){d=d||c.id;const{result:m,message:h,formNode:u}=a(d);if(!m)return{result:m,message:h};e=c.id,i=[],t.clear();const f=u.contents[0].type===s.DgControl.fieldset.type?0:1;r(u,i,f);const C=i.find(E=>!E.isSupportedClass);return{defaultState:{defaultGroupNumber:o||1,model:C?"customize":"standard"},importData:i}}function p(c,d){d=d;const{result:m,formNode:h}=a(d);if(!m)return"";const u=[];return c.forEach(f=>{var E;const C=t.get(f.id),F=C.appearance&&C.appearance.class;if(F){const v=F.split(" ").filter(Z=>!Z.startsWith("col-")),x="col-"+f.columnInSM,X="col-md-"+f.columnInMD,J="col-xl-"+f.columnInLG,Q="col-el-"+f.columnInEL,Y=[x,X,J,Q].concat(v);C.appearance.class=Y.join(" ")}if(f.fieldSetId){const B=h.contents.find(x=>x.id===f.fieldSetId),v=u.find(x=>x.id===f.fieldSetId);v?(E=v.contents)==null||E.push(C):(u.push(B),B.contents=[C])}else u.push(C)}),h.contents=u,h.id}return{checkCanFindFormNode:a,checkCanOpenLayoutEditor:l,changeFormControlsByResponseLayoutConfig:p,getResonseFormLayoutConfig:r}}class G extends q{constructor(e,t){super(e,t);g(this,"responseLayoutEditorFunction");g(this,"bindingVarible");g(this,"numberEditorOptions",{type:"number-spinner",useThousands:!1,keyboard:!1,showButton:!1});this.responseLayoutEditorFunction=H(this.formSchemaUtils)}getCommonPropertyConfig(e,t,i="Card"){this.propertyConfig.categories.basic=this.getBasicProperties(e,t,i),this.propertyConfig.categories.appearance=this.getAppearanceProperties(e,t),this.propertyConfig.categories.behavior=this.getBehaviorConfig(e,"form-group")}getPropertyConfig(e,t){return this.getCommonPropertyConfig(e,t,"Card"),this.propertyConfig.categories.editor=this.getEditorProperties(e),this.propertyConfig.categories.expressions=this.getExpressionConfig(e,"Field"),this.propertyConfig.categories.eventsEditor=this.getEventPropertyConfig(e),this.propertyConfig}getGridFieldEdtiorPropConfig(e,t){return this.propertyConfig.categories={},this.getCommonPropertyConfig(e,t,"Grid"),this.getGridFieldEdtiorProperties?this.propertyConfig.categories.editor=this.getGridFieldEdtiorProperties(e):this.propertyConfig.categories.editor=this.getEditorProperties(e),this.propertyConfig.categories.expressons=this.getExpressionConfig(e,"Field"),this.propertyConfig.categories}getBasicProperties(e,t,i="Card"){var p;const n=this;this.setDesignViewModelField(e);const{canChangeControlType:r,editorTypeList:a}=this.getAvailableEditorType(e),l={description:"Basic Information",title:"基本信息",properties:{id:{description:"组件标识",title:"标识",type:"string",readonly:!0},type:{description:"编辑器类型",title:"编辑器类型",type:"string",$converter:"/converter/change-editor.converter",parentPropertyID:"editor",editor:{type:"combo-list",textField:"value",valueField:"key",idField:"key",editable:!1,data:a,readonly:!r}},label:{title:"标签",type:"string",$converter:"/converter/form-group-label.converter"},showLabelType:{description:"标签显示方式:1、显示:显示标签 2、占位:保留标签空间,但不显示文本 3、不显示:不显示标签",title:"标签显示",type:"enum",editor:{data:[{id:"visible",name:"显示"},{id:"reserve-space",name:"占位"},{id:"none",name:"不显示"}]},defaultValue:((p=e.editor)==null?void 0:p.type)==="image"?"none":"visible"},binding:{description:"绑定的表单字段",title:"绑定",editor:{type:"binding-selector",bindingType:{enable:!1},editorParams:{componentSchema:e,needSyncToViewModel:!0,viewModelId:this.viewModelId,designerHostService:this.designerHostService,disableOccupiedFields:!0},textField:"bindingField"},refreshPanelAfterChanged:!0,readonly:this.formSchemaUtils.designerMode==="PC_RTC"&&!e.isRtcControl}},setPropertyRelates(c,d,m){if(c)switch(c&&c.propertyID){case"type":{n.changeControlType(e,c,t);break}case"label":{c.needRefreshControlTree=!0;break}case"binding":{n.changeBindingField(e,c,m);break}}}};return i.toLocaleLowerCase()!=="card"&&delete l.properties.showLabelType,l}checkCanChangeControlType(e,t){if(!e.binding)return!1;if(e.binding.type==="Variable"){if(this.bindingVarible=this.formSchemaUtils.getVariableById(e.binding.field),!this.bindingVarible)return!1}else if(!this.designViewModelField||this.designViewModelField.$type!==T.FormSchemaEntityField$Type.SimpleField)return!1;return!0}getAvailableEditorType(e){var n;const t=this.checkCanChangeControlType(e,this.viewModelId);if(!t)return{canChangeControlType:!1,editorTypeList:[{key:e.editor.type,value:((n=s.DgControl[e.editor.type])==null?void 0:n.name)||e.editor.type}]};let i=[];return this.designViewModelField&&this.designViewModelField.$type===T.FormSchemaEntityField$Type.SimpleField?i=S.getEditorTypesByMDataType(this.designViewModelField.type.name,this.designViewModelField.multiLanguage):this.bindingVarible&&(i=S.getEditorTypesByMDataType(this.bindingVarible.type,this.designViewModelField.multiLanguage)),{canChangeControlType:t,editorTypeList:i}}changeBindingField(e,t,i){t.needRefreshEntityTree=!0}getAppearanceProperties(e,t){const i=this;return{title:"外观",description:"Appearance",properties:{class:{title:"class样式",type:"string",description:"组件的CSS样式",$converter:"/converter/appearance.converter",parentPropertyID:"appearance"},style:{title:"style样式",type:"string",description:"组件的内联样式",$converter:"/converter/appearance.converter",parentPropertyID:"appearance"},fill:{title:"填充宽度",description:"启用后,控件占满父容器宽度",type:"boolean",parentPropertyID:"appearance"},responseLayout:{description:"响应式列宽",title:"响应式列宽",type:"boolean",visible:!0,refreshPanelAfterChanged:!0,editor:{type:"response-layout-editor-setting",beforeOpen:()=>i.responseLayoutEditorFunction.checkCanOpenLayoutEditor(e,i.componentId)}}},setPropertyRelates(n,r){if(n)switch(n&&n.propertyID){case"responseLayout":i.responseLayoutEditorFunction.changeFormControlsByResponseLayoutConfig(n.propertyValue,i.componentId||e.id),i.updateUnifiedLayoutAfterResponseLayoutChanged(i.componentId),i.updateElementByParentContainer(e.id,t),delete e.responseLayout;break;case"class":i.updateUnifiedLayoutAfterControlChanged(n.propertyValue,e.id,this.componentId),s.canvasChanged.value++;break;case"style":{s.canvasChanged.value++;break}}}}}getEditorProperties(e){return this.getComponentConfig(e)}changeControlType(e,t,i){const n=t.propertyValue,r=i&&i.parent&&i.parent.schema;if(!r)return;const a=r.contents.findIndex(c=>c.id===e.id);if(a===-1)return;const l=r.contents[a];let p;if(this.designViewModelField){const m=this.formSchemaUtils.getViewModelById(this.viewModelId).fields.find(u=>u.id===this.designViewModelField.id).fieldSchema||{};m.editor||(m.editor={}),m.editor.$type=n,this.designViewModelUtils.getDgViewModel(this.viewModelId).changeField(this.designViewModelField.id,m,!1),p=this.controlCreatorUtils.setFormFieldProperty(this.designViewModelField,n)}p||(p=this.controlCreatorUtils.createFormGroupWithoutField(n)),Object.assign(p,{id:l.id,appearance:l.appearance,size:l.size,label:l.label,binding:l.binding}),Object.prototype.hasOwnProperty.call(l,"visible")&&Object.assign(p,{visible:l.visible}),l.editor&&["readonly","required","placeholder"].map(c=>{Object.prototype.hasOwnProperty.call(l.editor,c)&&(p.editor[c]=l.editor[c])}),i!=null&&i.updateContextSchema?i.updateContextSchema(p):(i.schema=Object.assign(l,p),Object.assign(e,p)),Array.from(document.getElementsByClassName("dgComponentSelected")).forEach(c=>c.classList.remove("dgComponentSelected")),Array.from(document.getElementsByClassName("dgComponentFocused")).forEach(c=>c.classList.remove("dgComponentFocused")),s.canvasChanged.value++,V.nextTick(()=>{this.getFormDesignerInstance().reloadPropertyPanel()})}getComponentConfig(e,t={},i={},n){var m,h;const r=Object.assign({description:"编辑器",title:"编辑器",type:"input-group",$converter:"/converter/property-editor.converter",parentPropertyID:"editor"},t),a=(m=e.binding)!=null&&m.field?[]:["Const","Variable","StateMachine"],l=this.getPropertyEditorParams(e,a,"readonly"),p=this.getPropertyEditorParams(e,a,"required"),c={readonly:{description:"",title:"只读",editor:l},required:{description:"",title:"必填",type:"boolean",editor:p,visible:!!((h=e.binding)!=null&&h.field)},placeholder:{description:"当控件没有值时在输入框中显示的文本",title:"提示文本",type:"string"}};for(const u in i)c[u]=Object.assign(c[u]||{},i[u]);const d=this;return{...r,properties:{...c},setPropertyRelates(u,f){if(u){switch(u.propertyID){case"readonly":case"required":d.afterMutilEditorChanged(e,u);break}n&&n.bind(d)(u,e,f)}}}}updateUnifiedLayoutAfterControlChanged(e,t,i){const n=e.split(" ");let r=n.find(d=>/^col-([1-9]|10|11|12)$/.test(d)),a=n.find(d=>/^col-md-([1-9]|10|11|12)$/.test(d)),l=n.find(d=>/^col-xl-([1-9]|10|11|12)$/.test(d)),p=n.find(d=>/^col-el-([1-9]|10|11|12)$/.test(d));r=r||"col-12",a=a||"col-md-"+r.replace("col-",""),l=l||"col-xl-"+a.replace("col-md-",""),p=p||"col-el-"+l.replace("col-xl-","");const c={id:t,columnInSM:parseInt(r.replace("col-",""),10),columnInMD:parseInt(a.replace("col-md-",""),10),columnInLG:parseInt(l.replace("col-xl-",""),10),columnInEL:parseInt(p.replace("col-el-",""),10)};this.updateUnifiedLayoutAfterResponseLayoutChanged(i,c)}updateUnifiedLayoutAfterResponseLayoutChanged(e,t){const{formNode:i}=this.responseLayoutEditorFunction.checkCanFindFormNode(e);if(!i||!i.unifiedLayout)return;const n=[];if(this.responseLayoutEditorFunction.getResonseFormLayoutConfig(i,n,1),t){const u=n.find(f=>f.id===t.id);Object.assign(u||{},t)}const r=n.map(u=>u.columnInSM),a=n.map(u=>u.columnInMD),l=n.map(u=>u.columnInLG),p=n.map(u=>u.columnInEL),c=this.checkIsUniqueColumn(r)?r[0]:null,d=this.checkIsUniqueColumn(a)?a[0]:null,m=this.checkIsUniqueColumn(l)?l[0]:null,h=this.checkIsUniqueColumn(p)?p[0]:null;Object.assign(i.unifiedLayout,{uniqueColClassInSM:c,uniqueColClassInMD:d,uniqueColClassInLG:m,uniqueColClassInEL:h})}checkIsUniqueColumn(e){const t=new Set(e);return Array.from(t).length===1}getItemCollectionEditor(e,t,i){return t=t||"value",i=i||"name",{editor:{columns:[{field:t,title:"值",dataType:"string"},{field:i,title:"名称",dataType:"string"}],type:"item-collection-editor",valueField:t,nameField:i,requiredFields:[t,i],uniqueFields:[t,i],readonly:this.checkEnumDataReadonly(e)}}}checkEnumDataReadonly(e){return!e.binding||e.binding.type!=="Form"?!1:!!(this.designViewModelField&&this.designViewModelField.type&&this.designViewModelField.type.$type===T.FormSchemaEntityFieldType$Type.EnumType)}appendFieldValueChangeEvents(e,t){e.binding&&e.binding.type===P.Form&&e.binding.field?(t.find(i=>i.label==="fieldValueChanging"),t.find(i=>i.label==="fieldValueChanged"),this.designViewModelField&&(e.fieldValueChanging=this.designViewModelField.valueChanging,e.fieldValueChanged=this.designViewModelField.valueChanged)):t=t.filter(i=>i.label!=="fieldValueChanging"&&i.label!=="fieldValueChanged")}getControlMethodType(e){if(!e.binding)return e.type;switch(e.binding.type){case P.Form:return e.binding.path||e.type;case P.Variable:return e.binding.fullPath||e.type}return e.type}getEventPropertyConfig(e,t="card",i,n){const r=this;let a=[];if(i&&(a=a.concat(i)),a.length===0)return{title:"事件",hideTitle:!0,properties:{},tabId:"commands",tabName:"交互",hide:!0};this.appendFieldValueChangeEvents(e,a);const l=r.eventsEditorUtils.formProperties(e,r.viewModelId,a);return{title:"事件",hideTitle:!0,properties:r.createBaseEventProperty(l),tabId:"commands",tabName:"交互",setPropertyRelates(d,m){const h=d.propertyValue;delete e[r.viewModelId],h&&(h.setPropertyRelates=this.setPropertyRelates,h.controlInfo={type:r.getControlMethodType(e),name:e.title},r.eventsEditorUtils.saveRelatedParameters(e,r.viewModelId,h.events,h)),n&&n(d,m,h);const u=r.designViewModelUtils.getDgViewModel(r.viewModelId);u&&r.designViewModelField&&u.changeField(r.designViewModelField.id,{valueChanging:e.fieldValueChanging,valueChanged:e.fieldValueChanged})}}}getExpressionConfig(e,t,i=["compute","dependency","validate"],n){return new N(this.formSchemaUtils).getExpressionConfig(e,t,i,n)}getBindingDataType(){return this.designViewModelField?this.designViewModelField.type.name==="Number"?"number":this.designViewModelField.type.name==="String"?"string":"boolean":"boolean"}getEditor(){return this.getBindingDataType()==="number"?this.numberEditorOptions:{}}updatePropertyValue(e,t,i){var n;e.editor[t]!==i?e.editor[t]=i:(n=this.getFormDesignerInstance())==null||n.reloadPropertyPanel()}setBooleanValue(e,t,i){let n=i;this.getBindingDataType()==="string"&&(n=(n||"").trim()||(t==="trueValue"?"true":"false"));const a=t==="trueValue"?"falseValue":"trueValue";e.editor[a]===n&&(n=n+1),this.updatePropertyValue(e,t,n)}getBooleanValueConverter(){return{convertFrom:(e,t)=>e.editor[t],convertTo:(e,t,i)=>{this.setBooleanValue(e,t,i)}}}}class O extends G{constructor(o,e){super(o,e)}getEditorProperties(o){return this.getComponentConfig(o,{type:"time-picker"},{editable:{description:"",title:"允许编辑",type:"boolean"},use12Hours:{description:"",title:"是否使用12小时制",type:"boolean",refreshPanelAfterChanged:!0},format:{description:"",title:"格式",type:"enum",editor:{type:"combo-list",textField:"name",valueField:"value",data:o.editor.use12Hours?[{value:"hh:mm:ss",name:"hh:mm:ss"},{value:"hh:mm",name:"hh:mm"}]:[{value:"HH:mm:ss",name:"HH:mm:ss"},{value:"HH:mm",name:"HH:mm"}]}},showHeader:{description:"",title:"是否显示时分秒标题",type:"boolean"},hourStep:{description:"",title:"时步长",type:"number",editor:{min:1,max:12,useThousands:!1}},minuteStep:{description:"",title:"分步长",type:"number",editor:{min:1,max:30,useThousands:!1}},secondStep:{description:"",title:"秒步长",type:"number",editor:{min:1,max:30,useThousands:!1}}},(e,t)=>{e.propertyID==="use12Hours"&&(t.editor.format=t.editor.format||"hh:mm:ss",t.editor.format=e.propertyValue?t.editor.format.replace("HH","hh"):t.editor.format.replace("hh","HH"))})}}function W(y,o){const e=y.schema;function t(i,n){return new O(i,o).getPropertyConfig(e,n)}return{getPropsConfig:t}}const k=V.defineComponent({name:"FTimePickerDesign",props:A,emits:["datePicked","update:modelValue"],setup(y,o){const e='<span class="f-icon f-icon-timepicker"></span>',t=V.ref(y.modelValue),i=V.ref(),n=V.ref(),r=V.inject("designer-host-service"),a=V.inject("design-item-context"),l=W(a,r),p=s.useDesignerComponent(n,a,l);V.onMounted(()=>{n.value.componentInstance=p}),o.expose(p.value);function c(){}return()=>V.createVNode("div",{ref:n},[V.createVNode(U.FButtonEdit,{ref:i,modelValue:t.value,"onUpdate:modelValue":d=>t.value=d,buttonContent:e,enableClear:!0,editable:!1,placeholder:y.placeholder,onClickButton:()=>void 0},{default:()=>[V.createVNode(V.resolveComponent("f-time-picker-time-view"),null,null)]})])}}),j=new Map([["appearance",w.resolveAppearance]]),z={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/time-picker.schema.json",title:"time-picker",description:"A Farris Input Component",type:"object",properties:{id:{description:"The unique identifier for a time picker",type:"string"},type:{description:"The type string of time picker component",type:"string",default:"time-picker"},appearance:{description:"",type:"object",properties:{class:{type:"string"},style:{type:"string"}},default:{}},binding:{description:"",type:"object",default:{}},disabled:{type:"string",default:!1},editable:{description:"",type:"boolean",default:!0},placeholder:{description:"",type:"string",default:"请选择时间"},readonly:{description:"",type:"boolean",default:!1},required:{description:"",type:"boolean",default:!1},tabindex:{description:"",type:"number",default:-1},visible:{description:"",type:"boolean",default:!0},format:{description:"",type:"enum",default:"HH:mm:ss"},showHeader:{description:"",type:"boolean",default:!1},use12Hours:{description:"",type:"boolean",default:!1},hourStep:{description:"",type:"number",default:1},minuteStep:{description:"",type:"number",default:1},secondStep:{description:"",type:"number",default:1},placement:{description:"",type:"string",default:"auto"}},required:["type"],ignore:["id","appearance","binding","visible"]};function _(y,o,e){return o}const D=w.createPropsResolver(I.timePickerProps,z,j,_);k.register=(y,o,e,t)=>{y["time-picker"]=I,o["time-picker"]=D},k.registerDesigner=(y,o,e)=>{y["time-picker"]=k,o["time-picker"]=D},b.FTimePickerDesign=k,b.default=k,b.propsResolver=D,Object.defineProperties(b,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
|
|
1
|
+
(function(b,I){typeof exports=="object"&&typeof module<"u"?I(exports,require("../../components/time-picker/index.umd.js"),require("../../components/dynamic-resolver/index.umd.js"),require("vue"),require("../../components/button-edit/index.umd.js"),require("../../components/designer-canvas/index.umd.js"),require("lodash-es"),require("../../components/common/index.umd.js")):typeof define=="function"&&define.amd?define(["exports","../../components/time-picker/index.umd.js","../../components/dynamic-resolver/index.umd.js","vue","../../components/button-edit/index.umd.js","../../components/designer-canvas/index.umd.js","lodash-es","../../components/common/index.umd.js"],I):(b=typeof globalThis<"u"?globalThis:b||self,I(b["time-picker"]={},b.FTimePicker,b.dynamicResolver,b.Vue,b.buttonEdit,b.designerCanvas,b.LodashES,b.common))})(this,function(b,I,w,V,U,s,L,T){"use strict";var K=Object.defineProperty;var ee=(b,I,w)=>I in b?K(b,I,{enumerable:!0,configurable:!0,writable:!0,value:w}):b[I]=w;var g=(b,I,w)=>ee(b,typeof I!="symbol"?I+"":I,w);const A={modelValue:{type:String,default:""},hourStep:{type:Number,default:1},minuteStep:{type:Number,default:1},secondStep:{type:Number,default:1},popupClassName:{type:String,default:""},placeholder:{type:String,default:"请选择时间"},placement:{type:String,default:"auto"},defaultOpenValue:{type:Date,default:null},format:{type:String,default:"HH:mm:ss"},isOpen:{type:Boolean,default:!1},showHeader:{type:Boolean,default:!1},use12Hours:{type:Boolean,default:!1},disabledHours:{type:Function,default:null},disabledMinutes:{type:Function,default:null},disabledSeconds:{type:Function,default:null},hideDisabledElements:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},readonly:{type:Boolean,default:!1},editable:{type:Boolean,default:!0}};function $(y){const{formSchemaUtils:o,formStateMachineUtils:e}=y;function t(l,p=""){return{path:p+l.code,field:l.id,fullPath:l.code}}function i(l,p=""){const c=o.getViewModelById(l);return c?c.states.map(d=>t(d,p)):[]}function n(l){const p=o.getRootViewModelId(),c=i(l);if(l===p)return c;const d=i(p,"root-component.");return[...c,...d]}function r(l){return l.binding&&l.binding.path||l.id||""}function a(){return e&&e.getRenderStates()||[]}return{getVariables:n,getControlName:r,getStateMachines:a}}class N{constructor(o){g(this,"sessionVariables",[{key:"CurrentSysOrgName",name:"当前组织Name",description:"当前组织Name"},{key:"CurrentSysOrgId",name:"当前组织Id",description:"当前组织Id"},{key:"CurrentUserName",name:"当前用户Name",description:"当前用户Name"},{key:"CurrentUserCode",name:"当前用户Code",description:"当前用户Code"},{key:"CurrentUserId",name:"当前用户Id",description:"当前用户Id"},{key:"CurrentLanguage",name:"当前语言编号",description:"当前登录的语言编号,例如简体中文返回'zh-CHS',英文返回'en',繁体中文'zh-CHT'"}]);g(this,"expressionNames",{compute:"计算表达式",dependency:"依赖表达式",validate:"验证表达式",dataPicking:"帮助前表达式",visible:"可见表达式",readonly:"只读表达式",required:"必填表达式"});g(this,"getExpressionConverter",(o,e)=>({convertFrom:(t,i,n,r)=>{const a=n.getExpressionRuleValue(o,e||i);return a&&a.value||""},convertTo:(t,i,n,r,a)=>{var l;if(i==="dataPicking"&&(n!=null&&n.target)){const p=`${n.target}_dataPicking`;((l=n.rules)==null?void 0:l.some(d=>d.id===p&&d.value))?t.dictPickingExpressionId=p:delete t.dictPickingExpressionId}r.updateExpression(n)}}));this.formSchemaService=o}getExpressionRule(o,e){const t=this.formSchemaService.getExpressions();if(!t)return"";const i=t.find(r=>r.target===o);if(!i)return"";const n=i.rules.find(r=>r.type===e);return n||""}getContextFormVariables(){const{module:o}=this.formSchemaService.getFormSchema();if(!o.viewmodels||o.viewmodels.length===0)return[];const e=this.formSchemaService.getRootViewModelId(),t=this.formSchemaService.getViewModelById(e);if(!t||!t.states||t.states.length===0)return[];const i=[];return t.states.filter(n=>n.category==="remote").forEach(n=>{i.push({key:n.code,name:n.name,description:n.name,category:n.category})}),i}createTreeNode(o,e,t="label"){return{id:o.id,name:o.name,bindingPath:o[t],parents:e,type:"field"}}buildEntityFieldsTreeData(o=null,e){const t=[];return o==null||o.forEach(i=>{var a;const n=this.createTreeNode(i,e);let r=[];(a=i.type)!=null&&a.fields&&(r=this.buildEntityFieldsTreeData(i.type.fields,[...e,i.label])),t.push({data:n,children:r,expanded:!0})}),t}buildChildEntityTreeData(o=null,e){const t=[];return o==null||o.forEach(i=>{var l,p;const n=this.createTreeNode(i,e);n.type="entity";const r=this.buildEntityFieldsTreeData((l=i.type)==null?void 0:l.fields,[...e,i.label]),a=this.buildChildEntityTreeData((p=i.type)==null?void 0:p.entities,[...e,i.label]);a!=null&&a.length&&(r==null||r.push(...a)),t.push({data:n,children:r||[],expanded:!0})}),t}getEntitiesTreeData(){const o=this.formSchemaService.getSchemaEntities();if(!(o!=null&&o.length))return[];const e=o[0];if(!(e!=null&&e.type))return[];const t=this.buildEntityFieldsTreeData(e.type.fields,[e.code]),i=this.buildChildEntityTreeData(e.type.entities,[e.code]);return i!=null&&i.length&&(t==null||t.push(...i)),{entityCode:e.code,fields:[{data:this.createTreeNode(e,[],"code"),children:t||[]}]}}getEntitiesAndVariables(){return{entities:this.getEntitiesTreeData(),variables:{session:{name:"系统变量",items:this.sessionVariables,visible:!1},forms:{name:"表单变量",items:this.getContextFormVariables(),visible:!0}}}}onBeforeOpenExpression(o,e,t){const i=t==="Field"?o.binding.field:o.id,n=this.getExpressionRule(i,e),r=this.getEntitiesAndVariables(),a={message:["validate","required","dataPicking"].includes(e)&&n?n.message:"",...r};return n.messageType!=null&&(a.messageType=n.messageType),a}buildRule(o,e,t,i){const{expression:n,message:r,messageType:a}=e,l={id:`${o}_${t}`,type:t,value:n};return(t==="validate"||t==="dataPicking"||t==="required")&&(l.message=r),t==="dataPicking"&&(l.messageType=a),t==="validate"&&i&&(l.elementId=i),l}getExpressionData(){const{expressions:o}=this.formSchemaService.getFormSchema().module;return o||[]}updateExpression(o,e,t,i){const n=e==="Field"?o.binding.field:o.id,r=this.buildRule(n,t,i,o.type==="form-group"?o.id:"");let l=this.getExpressionData().find(c=>c.targetType===e&&c.target===n);const p=c=>c.value.trim()==="";if(l){const c=l.rules.find(d=>d.id===r.id);if(c)p(r)?l.rules=l.rules.filter(d=>d.id!==r.id):(Object.assign(c,r),i==="validate"&&o.type==="form-group"&&(c.elementId=o.id));else{if(p(r))return null;l.rules=l.rules||[],l.rules.push(r)}}else{if(p(r))return null;l={target:`${n}`,rules:[r],targetType:e}}return l}getExpressionEditorOptions(o,e,t,i){return t.reduce((n,r)=>{var l,p;const a=e==="Field"?(l=o==null?void 0:o.binding)==null?void 0:l.field:o.id;return n[r]={hide:e==="Field"?!!((p=o==null?void 0:o.binding)!=null&&p.field):!1,description:"",title:this.expressionNames[r],type:"string",$converter:this.getExpressionConverter(a),refreshPanelAfterChanged:!0,editor:{type:"expression-editor",singleExpand:!1,dialogTitle:`${this.expressionNames[r]}编辑器`,showMessage:r==="validate"||r==="dataPicking"||r==="required",showMessageType:r==="dataPicking",beforeOpen:()=>this.onBeforeOpenExpression(o,r,e),onSubmitModal:c=>{const d=this.updateExpression(o,e,c,r);if(i){const m=this.buildRule(a,c,r);i(m)}return d}}},n},{})}getExpressionInfo(o,e,t){const i=e==="Field"?o.binding.field:o.id,n=this.getExpressionRule(i,t),r={value:n&&n.value,targetId:i,targetType:e,expressionType:t};return n&&n.message&&(r.message=n.message),r}getExpressionConfig(o,e,t=["compute","dependency","validate"],i){return{description:"表达式",title:"表达式",hide:!o.binding,properties:{...this.getExpressionEditorOptions(o,e,t,i)}}}getExpressionOptions(o,e,t){const i=this.getExpressionInfo(o,e,t);return{dialogTitle:`${this.expressionNames[t]}编辑器`,singleExpand:!1,showMessage:t==="required",beforeOpen:()=>this.onBeforeOpenExpression(o,t,e),expressionInfo:i}}}class q{constructor(o,e){g(this,"componentId");g(this,"viewModelId");g(this,"eventsEditorUtils");g(this,"formSchemaUtils");g(this,"formMetadataConverter");g(this,"designViewModelUtils");g(this,"designViewModelField");g(this,"controlCreatorUtils");g(this,"designerHostService");g(this,"designerContext");g(this,"schemaService",null);g(this,"metadataService",null);g(this,"propertyConfig",{type:"object",categories:{}});var t;this.componentId=o,this.designerHostService=e,this.eventsEditorUtils=e.eventsEditorUtils,this.formSchemaUtils=e.formSchemaUtils,this.formMetadataConverter=e.formMetadataConverter,this.viewModelId=((t=this.formSchemaUtils)==null?void 0:t.getViewModelIdByComponentId(o))||"",this.designViewModelUtils=e.designViewModelUtils,this.controlCreatorUtils=e.controlCreatorUtils,this.metadataService=e.metadataService,this.schemaService=e.schemaService,this.designerContext=e.designerContext}getFormDesignerInstance(){var o,e;return(e=(o=this.designerContext)==null?void 0:o.instances)==null?void 0:e.formDesigner.value}getTableInfo(){var o;return(o=this.schemaService)==null?void 0:o.getTableInfoByViewModelId(this.viewModelId)}setDesignViewModelField(o){var t;const e=o.binding&&o.binding.type==="Form"&&o.binding.field;if(e){if(!this.designViewModelField){const i=this.designViewModelUtils.getDgViewModel(this.viewModelId);this.designViewModelField=i.fields.find(n=>n.id===e)}o.updateOn=(t=this.designViewModelField)==null?void 0:t.updateOn}}getBasicPropConfig(o){return{description:"Basic Information",title:"基本信息",properties:{id:{description:"组件标识",title:"标识",type:"string",readonly:!0},type:{description:"组件类型",title:"控件类型",type:"select",editor:{type:"combo-list",textField:"name",valueField:"value",idField:"value",editable:!1,data:[{value:o.type,name:s.DgControl[o.type]&&s.DgControl[o.type].name}]}}}}}getAppearanceConfig(o=null,e={},t){const i={title:"外观",description:"Appearance"},n={class:{title:"class样式",type:"string",description:"组件的CSS样式",$converter:"/converter/appearance.converter",parentPropertyID:"appearance"},style:{title:"style样式",type:"string",description:"组件的样式",$converter:"/converter/appearance.converter",parentPropertyID:"appearance"}};for(const r in e)n[r]=Object.assign(n[r]||{},e[r]);return{...i,properties:{...n},setPropertyRelates(r,a){if(r){switch(r&&r.propertyID){case"class":case"style":{s.canvasChanged.value++;break}}t&&t(r,o,a)}}}}getPropertyEditorParams(o,e=[],t="visible",i={},n={},r=""){const{getVariables:a,getControlName:l,getStateMachines:p}=$(this.designerHostService),c=this.getRealTargetType(o),d=e&&e.length>0?e:["Const","Variable","StateMachine","Expression"],m={type:"property-editor",propertyTypes:d};return d.map(h=>{switch(h){case"Const":Object.assign(m,{constType:"enum",constEnums:[{id:!0,name:"是"},{id:!1,name:"否"}]},i);break;case"Expression":m.expressionConfig=this.getExpressionOptions(o,c,r||t);break;case"StateMachine":m.stateMachines=p();break;case"Variable":Object.assign(m,{controlName:l(o),newVariablePrefix:"is",newVariableType:"Boolean",variables:a(this.viewModelId),parentComponentId:this.componentId==="root-component"?"":"root-component",onBeforeOpenVariables:u=>{u.value=a(this.viewModelId)}},n),this.designerContext.designerMode==="PC_RTC"&&(m.newVariablePrefix="ext_"+m.newVariablePrefix);break}}),m}getVisibleProperty(o,e=""){var n;let t=["Const","Variable","StateMachine","Expression"];return e==="gridFieldEditor"?t=["Const","Expression"]:e==="form-group"&&!((n=o.binding)!=null&&n.field)&&(t=["Const","Variable","StateMachine"]),{visible:{title:"是否可见",type:"boolean",description:"运行时组件是否可见",editor:this.getPropertyEditorParams(o,t,"visible")}}}getBehaviorConfig(o,e="",t={},i){const n={title:"行为",description:""},r=this.getVisibleProperty(o,e);for(const l in t)r[l]=Object.assign(r[l]||{},t[l]);const a=this;return{...n,properties:{...r},setPropertyRelates(l,p){if(l){switch(l.propertyID){case"disabled":case"readonly":case"visible":a.afterMutilEditorChanged(o,l);break}i&&i(l,p)}}}}afterMutilEditorChanged(o,e){this.addNewVariableToViewModel(e,this.viewModelId),this.updateExpressionValue(e),this.clearExpression(e,o)}updateElementByParentContainer(o,e){const t=e&&e.parent&&e.parent.schema;if(!t)return;const i=t.contents.findIndex(r=>r.id===o),n=L.cloneDeep(t.contents[i]);t.contents.splice(i,1),t.contents.splice(i,0,n),s.refreshCanvas()}addNewVariableToViewModel(o,e){const t=o.propertyValue;if(!(t&&typeof t=="object")||!(t.type==="Variable"&&t.isNewVariable))return;const r={id:t.field,category:"locale",code:t.fullPath,name:t.fullPath,type:t.newVariableType||"String",isRtcVariable:this.designerContext.designerMode==="PC_RTC"?!0:void 0};delete t.newVariableType,delete t.isNewVariable,this.formSchemaUtils.getVariableByCode(r.code)||this.formSchemaUtils.getViewModelById("root-viewmodel").states.push(r)}updateExpressionValue(o){const e=o.propertyValue;if(!((e&&e.type)==="Expression"&&e.expressionInfo))return;const{expressionId:n,expressionInfo:r}=e,{targetId:a,targetType:l,expressionType:p,value:c,message:d}=r,m=this.formSchemaUtils.getModule();m.expressions=m.expressions||[];const{expressions:h}=m;let u=h.find(C=>C.target===a);u||(u={target:a,rules:[],targetType:l},h.push(u));const f=u.rules.find(C=>C.type===p);if(f)f.value=c,f.message=d;else{const C={id:n,type:p,value:c,message:d};u.rules.push(C)}delete e.expressionInfo}clearExpression(o,e){const t=o.propertyValue;if(t&&t.type==="Expression")return;const n=o.propertyID,r=this.formSchemaUtils.getExpressions(),a=e.binding?e.binding.field:e.id,l=r.find(p=>p.target===a);!l||!l.rules||(l.rules=l.rules.filter(p=>p.type!==n))}getExpressionOptions(o,e,t){return new N(this.formSchemaUtils).getExpressionOptions(o,e,t)}getRealTargetType(o){return["response-toolbar-item","tab-toolbar-item","section-toolbar-item","drawer-toolbar-item"].indexOf(o.type)>-1?"Button":o.binding&&o.binding.field?"Field":"Container"}createBaseEventProperty(o){const e={};return e[this.viewModelId]={type:"events-editor",editor:{initialData:o,viewSourceHandle:t=>{var i;((i=t.controller)==null?void 0:i.label.indexOf(this.formSchemaUtils.getModule().code))>-1&&this.eventsEditorUtils.jumpToMethod(t)}}},e}}const M=class M{static getEditorTypesByMDataType(o,e=!1,t=""){if(e)return[{key:s.DgControl["language-textbox"].type,value:s.DgControl["language-textbox"].name}];let i=M.fieldControlTypeMapping[o];if(t==="data-grid-column"&&(i!=null&&i.length)){const n=[s.DgControl["check-group"].type,s.DgControl["radio-group"].type,s.DgControl.image.type,s.DgControl["rich-text-editor"].type];i=i.filter(r=>!n.includes(r.key))}return i}static getAllInputTypes(){const o=[];for(const e in M.fieldControlTypeMapping)M.fieldControlTypeMapping[e].forEach(t=>{o.find(i=>i.key===t.key&&i.value===t.value)||o.push({key:t.key,value:t.value})});return o}static mappingDomPropAndSchemaProp(o,e){var n;const t=(n=o.editor)==null?void 0:n.type,i=[];return(o.type===s.DgControl["data-grid-column"].type||o.type===s.DgControl["tree-grid-column"].type)&&e&&e.categoryId&&e.categoryId.indexOf("gridFieldEditor")<0&&i.push({domField:"title",schemaField:"name"}),i.push({domField:"label",schemaField:"name"}),i.push({domField:"editor.required",schemaField:"require"}),i.push({domField:"editor.readonly",schemaField:"readonly"}),(t===s.DgControl["input-group"].type||t===s.DgControl.textarea.type||t===s.DgControl["number-spinner"].type)&&i.push({domField:"editor.maxLength",schemaField:"type.length"}),t===s.DgControl["number-spinner"].type&&i.push({domField:"editor.precision",schemaField:"type.precision"}),(o.type===s.DgControl["data-grid-column"].type||o.type===s.DgControl["tree-grid-column"].type)&&i.push({domField:"formatter.precision",schemaField:"type.precision"}),(t===s.DgControl["combo-list"].type||t===s.DgControl["radio-group"].type)&&i.push({domField:"editor.data",schemaField:"type.enumValues"}),(o.type===s.DgControl["data-grid-column"].type||o.type===s.DgControl["tree-grid-column"].type)&&i.push({domField:"formatter.data",schemaField:"type.enumValues"}),t===s.DgControl["date-picker"].type&&(i.push({domField:"editor.displayFormat",schemaField:"editor.format"}),i.push({domField:"editor.fieldType",schemaField:"type.name"})),t===s.DgControl["number-spinner"].type&&(i.push({domField:"editor.max",schemaField:"editor.maxValue"}),i.push({domField:"editor.min",schemaField:"editor.minValue"})),t===s.DgControl.lookup.type&&(i.push({domField:"editor.dataSource",schemaField:"editor.dataSource"}),i.push({domField:"editor.valueField",schemaField:"editor.valueField"}),i.push({domField:"editor.textField",schemaField:"editor.textField"}),i.push({domField:"editor.displayType",schemaField:"editor.displayType"}),i.push({domField:"editor.mapFields",schemaField:"editor.mapFields"}),i.push({domField:"editor.helpId",schemaField:"editor.helpId"})),i.push({domField:"path",schemaField:"bindingPath"}),i.push({domField:"binding.path",schemaField:"bindingField"}),i.push({domField:"binding.fullPath",schemaField:"path"}),(o.type===s.DgControl["data-grid-column"].type||o.type===s.DgControl["tree-grid-column"].type)&&i.push({domField:"field",schemaField:"bindingPath"}),i}};g(M,"fieldControlTypeMapping",{String:[{key:s.DgControl["input-group"].type,value:s.DgControl["input-group"].name},{key:s.DgControl.lookup.type,value:s.DgControl.lookup.name},{key:s.DgControl.image.type,value:s.DgControl.image.name},{key:s.DgControl["date-picker"].type,value:s.DgControl["date-picker"].name},{key:s.DgControl.switch.type,value:s.DgControl.switch.name},{key:s.DgControl["check-box"].type,value:s.DgControl["check-box"].name},{key:s.DgControl["check-group"].type,value:s.DgControl["check-group"].name},{key:s.DgControl["radio-group"].type,value:s.DgControl["radio-group"].name},{key:s.DgControl["combo-list"].type,value:s.DgControl["combo-list"].name},{key:s.DgControl.textarea.type,value:s.DgControl.textarea.name},{key:s.DgControl["time-picker"].type,value:s.DgControl["time-picker"].name}],Text:[{key:s.DgControl.textarea.type,value:s.DgControl.textarea.name},{key:s.DgControl.lookup.type,value:s.DgControl.lookup.name},{key:s.DgControl.image.type,value:s.DgControl.image.name},{key:s.DgControl["rich-text-editor"].type,value:s.DgControl["rich-text-editor"].name}],Decimal:[{key:s.DgControl["number-spinner"].type,value:s.DgControl["number-spinner"].name}],Integer:[{key:s.DgControl["number-spinner"].type,value:s.DgControl["number-spinner"].name}],Number:[{key:s.DgControl["number-spinner"].type,value:s.DgControl["number-spinner"].name},{key:s.DgControl.switch.type,value:s.DgControl.switch.name},{key:s.DgControl["check-box"].type,value:s.DgControl["check-box"].name}],BigNumber:[{key:s.DgControl["number-spinner"].type,value:s.DgControl["number-spinner"].name}],Date:[{key:s.DgControl["date-picker"].type,value:s.DgControl["date-picker"].name}],DateTime:[{key:s.DgControl["date-picker"].type,value:s.DgControl["date-picker"].name}],Boolean:[{key:s.DgControl.switch.type,value:s.DgControl.switch.name},{key:s.DgControl["check-box"].type,value:s.DgControl["check-box"].name}],Enum:[{key:s.DgControl["combo-list"].type,value:s.DgControl["combo-list"].name},{key:s.DgControl["radio-group"].type,value:s.DgControl["radio-group"].name}],Object:[{key:s.DgControl.lookup.type,value:s.DgControl.lookup.name},{key:s.DgControl["combo-list"].type,value:s.DgControl["combo-list"].name},{key:s.DgControl["radio-group"].type,value:s.DgControl["radio-group"].name}]});let S=M;var P=(y=>(y.Form="Form",y.Variable="Variable",y))(P||{});class R{constructor(){g(this,"label","");g(this,"id","");g(this,"columnInSM",12);g(this,"columnInMD",6);g(this,"columnInLG",3);g(this,"columnInEL",2);g(this,"displayWidthInSM",1);g(this,"displayWidthInMD",1);g(this,"displayWidthInLG",1);g(this,"displayWidthInEL",1);g(this,"displayColumnCountAtBreakPoint","md");g(this,"tagRow",0);g(this,"showTopBorder",0);g(this,"group",1);g(this,"isSupportedClass",!0);g(this,"fieldSetId","")}}function H(y){let o,e;const t=new Map;let i=[];function n(c,d){const h=c.split(" ").filter(E=>E.startsWith("col-"));if(h.length===0){d.isSupportedClass=!1;return}let u=h.find(E=>/^col-([1-9]|10|11|12)$/.test(E)),f=h.find(E=>/^col-md-([1-9]|10|11|12)$/.test(E)),C=h.find(E=>/^col-xl-([1-9]|10|11|12)$/.test(E)),F=h.find(E=>/^col-el-([1-9]|10|11|12)$/.test(E));u=u||"col-12",d.columnInSM=parseInt(u.replace("col-",""),10),d.displayWidthInSM=d.columnInSM/12,d.displayWidthInSM!==1&&(d.isSupportedClass=!1),f=f||"col-md-"+d.columnInSM,d.columnInMD=parseInt(f.replace("col-md-",""),10),d.displayWidthInMD=d.columnInMD/6,[1,2].includes(d.displayWidthInMD)||(d.isSupportedClass=!1),C=C||"col-xl-"+d.columnInMD,d.columnInLG=parseInt(C.replace("col-xl-",""),10),d.displayWidthInLG=d.columnInLG/3,[1,2,3,4].includes(d.displayWidthInLG)||(d.isSupportedClass=!1),F=F||"col-el-"+d.columnInLG,d.columnInEL=parseInt(F.replace("col-el-",""),10),d.displayWidthInEL=d.columnInEL/2,[1,2,3,4,5,6].includes(d.displayWidthInEL)||(d.isSupportedClass=!1)}function r(c,d,m,h=!1){let u=!1;c.contents.forEach(f=>{if(f.type==="fieldset"){m+=1,r(f,d,m,!0),u=!0;return}u&&(m+=1,u=!1);const C=f.appearance&&f.appearance.class,F=new R;C?n(C,F):F.isSupportedClass=!1,F.label=f.label||f.id,F.id=f.id,F.group=m,h&&(F.fieldSetId=c.id),e===f.id&&(o=m),t.set(f.id,f),d.push(F)})}function a(c){const d=y.getComponentById(c);if(!d||!d.componentType||!d.componentType.startsWith("form"))return{result:!1,message:"只可以在响应式表单组件中调整响应式布局配置"};const m=y.selectNode(d,h=>h.type===s.DgControl["response-form"].type);return!m||!m.contents||m.contents.length===0?{result:!1,message:"Form区域内没有控件,请先添加控件"}:{result:!0,message:"",formNode:m}}function l(c,d){d=d||c.id;const{result:m,message:h,formNode:u}=a(d);if(!m)return{result:m,message:h};e=c.id,i=[],t.clear();const f=u.contents[0].type===s.DgControl.fieldset.type?0:1;r(u,i,f);const C=i.find(E=>!E.isSupportedClass);return{defaultState:{defaultGroupNumber:o||1,model:C?"customize":"standard"},importData:i}}function p(c,d){d=d;const{result:m,formNode:h}=a(d);if(!m)return"";const u=[];return c.forEach(f=>{var E;const C=t.get(f.id),F=C.appearance&&C.appearance.class;if(F){const v=F.split(" ").filter(Z=>!Z.startsWith("col-")),x="col-"+f.columnInSM,X="col-md-"+f.columnInMD,J="col-xl-"+f.columnInLG,Q="col-el-"+f.columnInEL,Y=[x,X,J,Q].concat(v);C.appearance.class=Y.join(" ")}if(f.fieldSetId){const B=h.contents.find(x=>x.id===f.fieldSetId),v=u.find(x=>x.id===f.fieldSetId);v?(E=v.contents)==null||E.push(C):(u.push(B),B.contents=[C])}else u.push(C)}),h.contents=u,h.id}return{checkCanFindFormNode:a,checkCanOpenLayoutEditor:l,changeFormControlsByResponseLayoutConfig:p,getResonseFormLayoutConfig:r}}class G extends q{constructor(e,t){super(e,t);g(this,"responseLayoutEditorFunction");g(this,"bindingVarible");g(this,"numberEditorOptions",{type:"number-spinner",useThousands:!1,keyboard:!1,showButton:!1});this.responseLayoutEditorFunction=H(this.formSchemaUtils)}getCommonPropertyConfig(e,t,i="Card"){this.propertyConfig.categories.basic=this.getBasicProperties(e,t,i),this.propertyConfig.categories.appearance=this.getAppearanceProperties(e,t),this.propertyConfig.categories.behavior=this.getBehaviorConfig(e,"form-group")}getPropertyConfig(e,t){return this.getCommonPropertyConfig(e,t,"Card"),this.propertyConfig.categories.editor=this.getEditorProperties(e),this.propertyConfig.categories.expressions=this.getExpressionConfig(e,"Field"),this.propertyConfig.categories.eventsEditor=this.getEventPropertyConfig(e),this.propertyConfig}getGridFieldEdtiorPropConfig(e,t){return this.propertyConfig.categories={},this.getCommonPropertyConfig(e,t,"Grid"),this.getGridFieldEdtiorProperties?this.propertyConfig.categories.editor=this.getGridFieldEdtiorProperties(e):this.propertyConfig.categories.editor=this.getEditorProperties(e),this.propertyConfig.categories.expressons=this.getExpressionConfig(e,"Field"),this.propertyConfig.categories}getBasicProperties(e,t,i="Card"){var p;const n=this;this.setDesignViewModelField(e);const{canChangeControlType:r,editorTypeList:a}=this.getAvailableEditorType(e),l={description:"Basic Information",title:"基本信息",properties:{id:{description:"组件标识",title:"标识",type:"string",readonly:!0},type:{description:"编辑器类型",title:"编辑器类型",type:"string",$converter:"/converter/change-editor.converter",parentPropertyID:"editor",editor:{type:"combo-list",textField:"value",valueField:"key",idField:"key",editable:!1,data:a,readonly:!r}},label:{title:"标签",type:"string",$converter:"/converter/form-group-label.converter"},showLabelType:{description:"标签显示方式:1、显示:显示标签 2、占位:保留标签空间,但不显示文本 3、不显示:不显示标签",title:"标签显示",type:"enum",editor:{data:[{id:"visible",name:"显示"},{id:"reserve-space",name:"占位"},{id:"none",name:"不显示"}]},defaultValue:((p=e.editor)==null?void 0:p.type)==="image"?"none":"visible"},binding:{description:"绑定的表单字段",title:"绑定",editor:{type:"binding-selector",bindingType:{enable:!1},editorParams:{componentSchema:e,needSyncToViewModel:!0,viewModelId:this.viewModelId,designerHostService:this.designerHostService,disableOccupiedFields:!0},textField:"bindingField"},refreshPanelAfterChanged:!0,readonly:this.formSchemaUtils.designerMode==="PC_RTC"&&!e.isRtcControl}},setPropertyRelates(c,d,m){if(c)switch(c&&c.propertyID){case"type":{n.changeControlType(e,c,t);break}case"label":{c.needRefreshControlTree=!0;break}case"binding":{n.changeBindingField(e,c,m);break}}}};return i.toLocaleLowerCase()!=="card"&&delete l.properties.showLabelType,l}checkCanChangeControlType(e,t){if(!e.binding)return!1;if(e.binding.type==="Variable"){if(this.bindingVarible=this.formSchemaUtils.getVariableById(e.binding.field),!this.bindingVarible)return!1}else if(!this.designViewModelField||this.designViewModelField.$type!==T.FormSchemaEntityField$Type.SimpleField)return!1;return!0}getAvailableEditorType(e){var n,r;const t=this.checkCanChangeControlType(e,this.viewModelId);if(!t)return{canChangeControlType:!1,editorTypeList:[{key:e.editor.type,value:((n=s.DgControl[e.editor.type])==null?void 0:n.name)||e.editor.type}]};let i=[];return this.designViewModelField&&this.designViewModelField.$type===T.FormSchemaEntityField$Type.SimpleField?i=S.getEditorTypesByMDataType(this.designViewModelField.type.name,this.designViewModelField.multiLanguage):this.bindingVarible&&(i=S.getEditorTypesByMDataType(this.bindingVarible.type,!!((r=this.designViewModelField)!=null&&r.multiLanguage))),{canChangeControlType:t,editorTypeList:i}}changeBindingField(e,t,i){t.needRefreshEntityTree=!0}getAppearanceProperties(e,t){const i=this;return{title:"外观",description:"Appearance",properties:{class:{title:"class样式",type:"string",description:"组件的CSS样式",$converter:"/converter/appearance.converter",parentPropertyID:"appearance"},style:{title:"style样式",type:"string",description:"组件的内联样式",$converter:"/converter/appearance.converter",parentPropertyID:"appearance"},fill:{title:"填充宽度",description:"启用后,控件占满父容器宽度",type:"boolean",parentPropertyID:"appearance"},responseLayout:{description:"响应式列宽",title:"响应式列宽",type:"boolean",visible:!0,refreshPanelAfterChanged:!0,editor:{type:"response-layout-editor-setting",beforeOpen:()=>i.responseLayoutEditorFunction.checkCanOpenLayoutEditor(e,i.componentId)}}},setPropertyRelates(n,r){if(n)switch(n&&n.propertyID){case"responseLayout":i.responseLayoutEditorFunction.changeFormControlsByResponseLayoutConfig(n.propertyValue,i.componentId||e.id),i.updateUnifiedLayoutAfterResponseLayoutChanged(i.componentId),i.updateElementByParentContainer(e.id,t),delete e.responseLayout;break;case"class":i.updateUnifiedLayoutAfterControlChanged(n.propertyValue,e.id,this.componentId),s.canvasChanged.value++;break;case"style":{s.canvasChanged.value++;break}}}}}getEditorProperties(e){return this.getComponentConfig(e)}changeControlType(e,t,i){const n=t.propertyValue,r=i&&i.parent&&i.parent.schema;if(!r)return;const a=r.contents.findIndex(c=>c.id===e.id);if(a===-1)return;const l=r.contents[a];let p;if(this.designViewModelField){const m=this.formSchemaUtils.getViewModelById(this.viewModelId).fields.find(u=>u.id===this.designViewModelField.id).fieldSchema||{};m.editor||(m.editor={}),m.editor.$type=n,this.designViewModelUtils.getDgViewModel(this.viewModelId).changeField(this.designViewModelField.id,m,!1),p=this.controlCreatorUtils.setFormFieldProperty(this.designViewModelField,n)}p||(p=this.controlCreatorUtils.createFormGroupWithoutField(n)),Object.assign(p,{id:l.id,appearance:l.appearance,size:l.size,label:l.label,binding:l.binding}),Object.prototype.hasOwnProperty.call(l,"visible")&&Object.assign(p,{visible:l.visible}),l.editor&&["readonly","required","placeholder"].map(c=>{Object.prototype.hasOwnProperty.call(l.editor,c)&&(p.editor[c]=l.editor[c])}),i!=null&&i.updateContextSchema?i.updateContextSchema(p):(i.schema=Object.assign(l,p),Object.assign(e,p)),Array.from(document.getElementsByClassName("dgComponentSelected")).forEach(c=>c.classList.remove("dgComponentSelected")),Array.from(document.getElementsByClassName("dgComponentFocused")).forEach(c=>c.classList.remove("dgComponentFocused")),s.canvasChanged.value++,V.nextTick(()=>{this.getFormDesignerInstance().reloadPropertyPanel()})}getComponentConfig(e,t={},i={},n){var m,h;const r=Object.assign({description:"编辑器",title:"编辑器",type:"input-group",$converter:"/converter/property-editor.converter",parentPropertyID:"editor"},t),a=(m=e.binding)!=null&&m.field?[]:["Const","Variable","StateMachine"],l=this.getPropertyEditorParams(e,a,"readonly"),p=this.getPropertyEditorParams(e,a,"required"),c={readonly:{description:"",title:"只读",editor:l},required:{description:"",title:"必填",type:"boolean",editor:p,visible:!!((h=e.binding)!=null&&h.field)},placeholder:{description:"当控件没有值时在输入框中显示的文本",title:"提示文本",type:"string"}};for(const u in i)c[u]=Object.assign(c[u]||{},i[u]);const d=this;return{...r,properties:{...c},setPropertyRelates(u,f){if(u){switch(u.propertyID){case"readonly":case"required":d.afterMutilEditorChanged(e,u);break}n&&n.bind(d)(u,e,f)}}}}updateUnifiedLayoutAfterControlChanged(e,t,i){const n=e.split(" ");let r=n.find(d=>/^col-([1-9]|10|11|12)$/.test(d)),a=n.find(d=>/^col-md-([1-9]|10|11|12)$/.test(d)),l=n.find(d=>/^col-xl-([1-9]|10|11|12)$/.test(d)),p=n.find(d=>/^col-el-([1-9]|10|11|12)$/.test(d));r=r||"col-12",a=a||"col-md-"+r.replace("col-",""),l=l||"col-xl-"+a.replace("col-md-",""),p=p||"col-el-"+l.replace("col-xl-","");const c={id:t,columnInSM:parseInt(r.replace("col-",""),10),columnInMD:parseInt(a.replace("col-md-",""),10),columnInLG:parseInt(l.replace("col-xl-",""),10),columnInEL:parseInt(p.replace("col-el-",""),10)};this.updateUnifiedLayoutAfterResponseLayoutChanged(i,c)}updateUnifiedLayoutAfterResponseLayoutChanged(e,t){const{formNode:i}=this.responseLayoutEditorFunction.checkCanFindFormNode(e);if(!i||!i.unifiedLayout)return;const n=[];if(this.responseLayoutEditorFunction.getResonseFormLayoutConfig(i,n,1),t){const u=n.find(f=>f.id===t.id);Object.assign(u||{},t)}const r=n.map(u=>u.columnInSM),a=n.map(u=>u.columnInMD),l=n.map(u=>u.columnInLG),p=n.map(u=>u.columnInEL),c=this.checkIsUniqueColumn(r)?r[0]:null,d=this.checkIsUniqueColumn(a)?a[0]:null,m=this.checkIsUniqueColumn(l)?l[0]:null,h=this.checkIsUniqueColumn(p)?p[0]:null;Object.assign(i.unifiedLayout,{uniqueColClassInSM:c,uniqueColClassInMD:d,uniqueColClassInLG:m,uniqueColClassInEL:h})}checkIsUniqueColumn(e){const t=new Set(e);return Array.from(t).length===1}getItemCollectionEditor(e,t,i){return t=t||"value",i=i||"name",{editor:{columns:[{field:t,title:"值",dataType:"string"},{field:i,title:"名称",dataType:"string"}],type:"item-collection-editor",valueField:t,nameField:i,requiredFields:[t,i],uniqueFields:[t,i],readonly:this.checkEnumDataReadonly(e)}}}checkEnumDataReadonly(e){return!e.binding||e.binding.type!=="Form"?!1:!!(this.designViewModelField&&this.designViewModelField.type&&this.designViewModelField.type.$type===T.FormSchemaEntityFieldType$Type.EnumType)}appendFieldValueChangeEvents(e,t){e.binding&&e.binding.type===P.Form&&e.binding.field?(t.find(i=>i.label==="fieldValueChanging"),t.find(i=>i.label==="fieldValueChanged"),this.designViewModelField&&(e.fieldValueChanging=this.designViewModelField.valueChanging,e.fieldValueChanged=this.designViewModelField.valueChanged)):t=t.filter(i=>i.label!=="fieldValueChanging"&&i.label!=="fieldValueChanged")}getControlMethodType(e){if(!e.binding)return e.type;switch(e.binding.type){case P.Form:return e.binding.path||e.type;case P.Variable:return e.binding.fullPath||e.type}return e.type}getEventPropertyConfig(e,t="card",i,n){const r=this;let a=[];if(i&&(a=a.concat(i)),a.length===0)return{title:"事件",hideTitle:!0,properties:{},tabId:"commands",tabName:"交互",hide:!0};this.appendFieldValueChangeEvents(e,a);const l=r.eventsEditorUtils.formProperties(e,r.viewModelId,a);return{title:"事件",hideTitle:!0,properties:r.createBaseEventProperty(l),tabId:"commands",tabName:"交互",setPropertyRelates(d,m){const h=d.propertyValue;delete e[r.viewModelId],h&&(h.setPropertyRelates=this.setPropertyRelates,h.controlInfo={type:r.getControlMethodType(e),name:e.title},r.eventsEditorUtils.saveRelatedParameters(e,r.viewModelId,h.events,h)),n&&n(d,m,h);const u=r.designViewModelUtils.getDgViewModel(r.viewModelId);u&&r.designViewModelField&&u.changeField(r.designViewModelField.id,{valueChanging:e.fieldValueChanging,valueChanged:e.fieldValueChanged})}}}getExpressionConfig(e,t,i=["compute","dependency","validate"],n){return new N(this.formSchemaUtils).getExpressionConfig(e,t,i,n)}getBindingDataType(){return this.designViewModelField?this.designViewModelField.type.name==="Number"?"number":this.designViewModelField.type.name==="String"?"string":"boolean":"boolean"}getEditor(){return this.getBindingDataType()==="number"?this.numberEditorOptions:{}}updatePropertyValue(e,t,i){var n;e.editor[t]!==i?e.editor[t]=i:(n=this.getFormDesignerInstance())==null||n.reloadPropertyPanel()}setBooleanValue(e,t,i){let n=i;this.getBindingDataType()==="string"&&(n=(n||"").trim()||(t==="trueValue"?"true":"false"));const a=t==="trueValue"?"falseValue":"trueValue";e.editor[a]===n&&(n=n+1),this.updatePropertyValue(e,t,n)}getBooleanValueConverter(){return{convertFrom:(e,t)=>e.editor[t],convertTo:(e,t,i)=>{this.setBooleanValue(e,t,i)}}}}class O extends G{constructor(o,e){super(o,e)}getEditorProperties(o){return this.getComponentConfig(o,{type:"time-picker"},{editable:{description:"",title:"允许编辑",type:"boolean"},use12Hours:{description:"",title:"是否使用12小时制",type:"boolean",refreshPanelAfterChanged:!0},format:{description:"",title:"格式",type:"enum",editor:{type:"combo-list",textField:"name",valueField:"value",data:o.editor.use12Hours?[{value:"hh:mm:ss",name:"hh:mm:ss"},{value:"hh:mm",name:"hh:mm"}]:[{value:"HH:mm:ss",name:"HH:mm:ss"},{value:"HH:mm",name:"HH:mm"}]}},showHeader:{description:"",title:"是否显示时分秒标题",type:"boolean"},hourStep:{description:"",title:"时步长",type:"number",editor:{min:1,max:12,useThousands:!1}},minuteStep:{description:"",title:"分步长",type:"number",editor:{min:1,max:30,useThousands:!1}},secondStep:{description:"",title:"秒步长",type:"number",editor:{min:1,max:30,useThousands:!1}}},(e,t)=>{e.propertyID==="use12Hours"&&(t.editor.format=t.editor.format||"hh:mm:ss",t.editor.format=e.propertyValue?t.editor.format.replace("HH","hh"):t.editor.format.replace("hh","HH"))})}}function W(y,o){const e=y.schema;function t(i,n){return new O(i,o).getPropertyConfig(e,n)}return{getPropsConfig:t}}const k=V.defineComponent({name:"FTimePickerDesign",props:A,emits:["datePicked","update:modelValue"],setup(y,o){const e='<span class="f-icon f-icon-timepicker"></span>',t=V.ref(y.modelValue),i=V.ref(),n=V.ref(),r=V.inject("designer-host-service"),a=V.inject("design-item-context"),l=W(a,r),p=s.useDesignerComponent(n,a,l);V.onMounted(()=>{n.value.componentInstance=p}),o.expose(p.value);function c(){}return()=>V.createVNode("div",{ref:n},[V.createVNode(U.FButtonEdit,{ref:i,modelValue:t.value,"onUpdate:modelValue":d=>t.value=d,buttonContent:e,enableClear:!0,editable:!1,placeholder:y.placeholder,onClickButton:()=>void 0},{default:()=>[V.createVNode(V.resolveComponent("f-time-picker-time-view"),null,null)]})])}}),j=new Map([["appearance",w.resolveAppearance]]),z={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/time-picker.schema.json",title:"time-picker",description:"A Farris Input Component",type:"object",properties:{id:{description:"The unique identifier for a time picker",type:"string"},type:{description:"The type string of time picker component",type:"string",default:"time-picker"},appearance:{description:"",type:"object",properties:{class:{type:"string"},style:{type:"string"}},default:{}},binding:{description:"",type:"object",default:{}},disabled:{type:"string",default:!1},editable:{description:"",type:"boolean",default:!0},placeholder:{description:"",type:"string",default:"请选择时间"},readonly:{description:"",type:"boolean",default:!1},required:{description:"",type:"boolean",default:!1},tabindex:{description:"",type:"number",default:-1},visible:{description:"",type:"boolean",default:!0},format:{description:"",type:"enum",default:"HH:mm:ss"},showHeader:{description:"",type:"boolean",default:!1},use12Hours:{description:"",type:"boolean",default:!1},hourStep:{description:"",type:"number",default:1},minuteStep:{description:"",type:"number",default:1},secondStep:{description:"",type:"number",default:1},placement:{description:"",type:"string",default:"auto"}},required:["type"],ignore:["id","appearance","binding","visible"]};function _(y,o,e){return o}const D=w.createPropsResolver(I.timePickerProps,z,j,_);k.register=(y,o,e,t)=>{y["time-picker"]=I,o["time-picker"]=D},k.registerDesigner=(y,o,e)=>{y["time-picker"]=k,o["time-picker"]=D},b.FTimePickerDesign=k,b.default=k,b.propsResolver=D,Object.defineProperties(b,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
|
|
@@ -434,7 +434,7 @@ const $o = /* @__PURE__ */ Te({
|
|
|
434
434
|
}
|
|
435
435
|
function wt() {
|
|
436
436
|
const o = we();
|
|
437
|
-
n.insertNewDataItem(o), c.value = ne(0, M.value + 0 - 1);
|
|
437
|
+
n.insertNewDataItem(o === -1 ? 0 : o), c.value = ne(0, M.value + 0 - 1);
|
|
438
438
|
}
|
|
439
439
|
function St() {
|
|
440
440
|
const o = we();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(d,$){typeof exports=="object"&&typeof module<"u"?$(exports,require("../../components/common/index.umd.js"),require("vue"),require("@vueuse/core"),require("lodash-es"),require("../../components/locale/index.umd.js"),require("../../components/data-view/index.umd.js"),require("../../components/dynamic-resolver/index.umd.js"),require("../../components/tree-grid/index.umd.js"),require("../data-grid/index.umd.js"),require("../../components/designer-canvas/index.umd.js"),require("../../components/property-panel/index.umd.js"),require("../data-view/index.umd.js")):typeof define=="function"&&define.amd?define(["exports","../../components/common/index.umd.js","vue","@vueuse/core","lodash-es","../../components/locale/index.umd.js","../../components/data-view/index.umd.js","../../components/dynamic-resolver/index.umd.js","../../components/tree-grid/index.umd.js","../data-grid/index.umd.js","../../components/designer-canvas/index.umd.js","../../components/property-panel/index.umd.js","../data-view/index.umd.js"],$):(d=typeof globalThis<"u"?globalThis:d||self,$(d["tree-grid"]={},d.common,d.Vue,d.VueUseCore,d.LodashES,d.locale,d.dataView,d.dynamicResolver,d.treeGrid,d.designer$2,d.designerCanvas,d.propertyPanel,d.designer$1))})(this,function(d,$,o,je,E,qe,i,Z,Fe,Ve,ge,$e,k){"use strict";const Ye={enable:{type:Boolean,default:!1},index:{type:Number,default:1},mode:{type:String,default:"server"},showGoto:{type:Boolean,default:!1},showIndex:{type:Boolean,default:!0},showLimits:{type:Boolean,default:!1},showPageInfo:{type:Boolean,default:!0},size:{type:Number,default:20},sizeLimits:{type:Array,default:[10,20,30,50,100]},total:{type:Number,default:0}},Je={enable:{type:Boolean,default:!1},fields:{type:Array,default:[]},mode:{type:String,default:"client"},multiSort:{type:Boolean,default:!1}},Ke={customGroupRow:{type:Function,default:()=>{}},customGroupRowStyle:{type:Function,default:()=>{}},customSummaryStyle:{type:Function,default:()=>{}},enable:{type:Boolean,default:!1},groupColSpan:{type:Number,default:1},groupFields:{type:Array,default:[]},showGroupedColumn:{type:Boolean,default:!0},showGroupPanel:{type:Boolean,default:!1},showSummary:{type:Boolean,default:!1},summaryPosition:{type:String,default:"separate"}},Qe={enable:{type:Boolean,default:!1},filterStyle:{type:String,default:"filter-column"},mode:{type:String,default:"server"},showSummary:{type:Boolean,default:!0}},Xe={wrapHeadings:{type:Boolean,default:!1}},Ze={customRowStyle:{type:Function,default:()=>{}},customCellStyle:{type:Function,default:()=>{}},disable:{type:Function,default:()=>{}},height:{type:Number,default:28},showHovering:{type:Boolean,default:!0},wrapContent:{type:Boolean,default:!1}},et={enable:{type:Boolean,default:!1},customSummaryStyle:{type:Function,default:()=>{}},groupFields:{type:Array,default:[]},mode:{type:String,default:"client"},position:{type:String,default:"bottom"}},tt={fitColumns:{type:Boolean,default:!1},fitMode:{type:String,default:"average"},groups:{type:Array,defaut:[]},reorderColumn:{type:Boolean,default:!1},resizeColumn:{type:Boolean,default:!0},resizeColumnOnDoubleClick:{type:Boolean,default:!0}},nt={selectOnEditing:{type:Boolean,default:!1},editMode:{type:String,default:"cell"}},ot={show:{type:Boolean,default:!1},message:{type:String,default:`${qe.LocaleService.getLocaleValue("datagrid.loadingMessage")}...`}},Pe={customClass:{type:String,default:""},sort:{type:Object},filter:{type:Object},autoCheckChildren:{type:Boolean,default:!1},columns:{type:Array,default:[]},columnOption:{type:Object},commandOption:{type:Object,default:{enable:!1,commands:[]}},data:{type:Array,default:[]},disabled:{type:Boolean,default:!1},disabledField:{type:String,default:"disabled"},displayField:{type:String,default:"name"},editable:{type:Boolean,default:!1},editOption:{type:Object,default:{selectOnEditing:!1,editMode:"cell"}},fit:{type:Boolean,default:!1},header:{type:Object},height:{type:Number,default:-1},hierarchy:{type:Object,default:{cascadeOption:{autoCancelParent:!0,autoCheckChildren:!1,autoCheckParent:!1,selectionRange:"All"},parentIdField:"parent"}},id:{type:String,default:""},idField:{type:String,default:"id",require:!0},loadData:{type:Function},loading:{type:Boolean,default:!1},minHeight:{type:Number,default:300},minWidth:{type:Number,default:400},newDataItem:{type:Function,default:()=>{}},pagination:{type:Object,default:{enable:!1,size:-1}},rowNumber:{type:Object,default:{enable:!0,width:36,heading:"序号"}},rowOption:{type:Object,default:{wrapContent:!1}},selection:{type:Object,default:{enableSelectRow:!0,multiSelect:!1,multiSelectMode:"DependOnCheck",showCheckbox:!1,showSelectAll:!1,showSelection:!1}},selectionValues:{type:Array,default:[]},showBorder:{type:Boolean,default:!1},showHeader:{type:Boolean,default:!0},showHorizontalLines:{type:Boolean,default:!0},showLines:{type:Boolean,default:!1},showOptions:{type:Boolean,default:!1},showScrollBar:{type:String,default:"auto"},showSetting:{type:Boolean,default:!1},showStripe:{type:Boolean,default:!0},showTreeNodeIcons:{type:Boolean,default:!1},showVerticallLines:{type:Boolean,default:!1},treeNodeIconsData:{type:[Object,String],default:{}},width:{type:Number,default:-1},virtualized:{type:Boolean,default:!1},emptyTemplate:{type:Object},summary:{type:Object,default:{enable:!1,groupFields:["numericField1","numericField2"]}},autoHeight:{type:Boolean,default:!1}};function it(e,t,g,s,m,u,p,y,c,r,b,C,F,f,B,U,I){const{calculateCellPositionInRow:x}=u,{columnContext:R,hasLeftFixedColumn:j,hasRightFixedColumn:_}=p,{gridDataStyle:M,leftFixedGridDataStyle:a,rightFixedGridDataStyle:L}=f,{renderDataRow:h}=i.getHierarchyRow(e,t,R,I,y,c,r,b,C,F,f,B,U),z=[h];function Y(v,te){const ne=x(v);return I.value.filter(A=>A.visible!==!1).map((A,oe)=>z[A.type](A,ne,te,oe))}function G(){return o.createVNode("div",{ref:s,class:"fv-grid-content-left-fixed"},[o.createVNode("div",{class:"fv-grid-data",style:a.value},[Y(R.value.leftColumns.filter(v=>v.visible),"left")])])}function de(){return o.createVNode("div",{ref:g,class:"fv-grid-content-primary"},[o.createVNode("div",{class:"fv-grid-data",style:M.value},[Y(R.value.primaryColumns.filter(v=>v.visible),"primary")])])}function N(){return o.createVNode("div",{ref:m,class:"fv-grid-content-right-fixed"},[o.createVNode("div",{class:"fv-grid-data",style:L.value},[Y(R.value.rightColumns.filter(v=>v.visible),"right")])])}function ee(){const v=[];return j.value&&v.push(G()),v.push(de()),_.value&&v.push(N()),v}return{renderDataArea:ee}}const at=o.defineComponent({name:"FTreeGrid",props:Pe,emits:["selectionChange","clickRow","expandNode","unSelectItem","dblclickNode","doubleClickRow","unSelectItem","selectItem","filterChanged","sortChanged","selectionUpdate"],setup(e,t){var Ue,_e;const s=((Ue=e.rowOption)==null?void 0:Ue.height)||28,m=o.ref(20),u=o.ref(e.columns),p=i.useIdentify(e),{idField:y}=p,c=o.ref(),r=o.ref(),b=o.ref(),C=o.ref(),F=o.ref(),f=o.ref([]),B=o.ref(!1),U=o.ref(((_e=e.rowOption)==null?void 0:_e.wrapContent)||!1),I=i.useGroupData(e,p),x=i.useFilter(e,t),R=i.useHierarchy(e),{collapseField:j}=R,{showLoading:_,renderLoading:M}=i.useLoading(e,c),a=i.useDataView(e,new Map,x,R,p),{dataView:L}=a,h=i.useSelection(e,a,p,f,t),{showSelection:z,selectedValues:Y}=h,G=i.useSelectHierarchyItem(e,f,a,p,h,t),de=o.computed(()=>e.disabled),N=o.computed(()=>e.virtualized?Math.min(a.dataView.value.length,m.value):a.dataView.value.length),ee=i.usePagination(e,a),{shouldRenderPagination:v}=ee,{containerStyleObject:te}=i.useDataViewContainerStyle(e),ne=i.useCommandColumn(e),{applyCommands:A}=ne;A(u);const{applyColumnSetting:oe,removeColumnSetting:Ce}=i.useSettingColumn(e);e.showSetting&&oe(u);const q=i.useColumn(e,t),ce=i.useSort(e),{applyColumnSorter:he,columnContext:V,updateColumnRenderContext:Se}=q;he(a,ce);const ie=i.useGroupColumn(e,V),W=i.useRow(e,t,h,p),H=i.useEdit(e,t,p,W,f),ue=i.useVisualDataBound(e),we=i.useVisualDataCell(e,H,ue),ae=i.useVisualDataRow(e,a,H,R,p,ue,we),pe=i.useVisualData(e,u,a,N,0,ae),{getVisualData:le}=pe,Ie=i.useCellPosition(e,V),fe=i.useSidebar(e,h),{sidebarWidth:Re}=fe,O=i.useVirtualScroll(e,a,f,V,pe,N,0,Re),{onWheel:be,dataGridWidth:me,viewPortHeight:T,viewPortWidth:J,resetScroll:re,updateVisibleRowsOnLatestVisibleScope:pt}=O,Ae=i.useFitColumn(e,V,r,J,ie),{calculateColumnsSize:ye}=Ae,We=i.useFilterHistory(),ft=i.useColumnFilter(r,F,a,We,O),mt=i.useDragColumn(e,t,q,a,ie,I,O),yt=o.computed(()=>{const n={"fv-grid":!0,"fv-grid-bordered":e.showBorder,"fv-grid-horizontal-bordered":e.showHorizontalLines,"fv-datagrid-strip":e.showStripe};return $.getCustomClass(n,e.customClass)}),gt=o.computed(()=>({"fv-grid-content":!0,"fv-grid-content-hover":B.value,"fv-grid-wrap-content":U.value})),{renderDataArea:Ct}=it(e,t,b,C,F,Ie,q,a,H,R,W,h,G,O,pe,ue,f),{renderGridHeader:ht,renderGridColumnResizeOverlay:bt,shouldShowHeader:vt}=i.getColumnHeader(e,t,r,C,F,q,a,mt,ft,x,We,Ae,ie,h,fe,ce,O,J,f),{renderDataGridSidebar:St}=i.getSidebar(e,W,h,fe,O),{renderDisableMask:wt}=i.getDisableMask(),{renderHorizontalScrollbar:It}=i.getHorizontalScrollbar(e,r,O),{renderVerticalScrollbar:Rt}=i.getVerticalScrollbar(e,r,O);function Ot(){var n,l,S;if(r.value&&r.value.clientHeight>0&&((n=r.value)==null?void 0:n.clientWidth)>0){const D=Math.ceil(r.value.clientHeight/s);D>m.value&&(m.value=D,pt()),T.value=((l=b.value)==null?void 0:l.clientHeight)||0,me.value=((S=r.value)==null?void 0:S.clientWidth)||0}r.value&&(r.value.clientHeight>0||r.value.clientWidth>0)&&ye()}o.onMounted(()=>{r.value&&(m.value=Math.max(Math.ceil(r.value.clientHeight/s),m.value),f.value=le(0,N.value+0-1),je.useResizeObserver(r.value,Ot),ye(),o.nextTick(()=>{r.value&&(me.value=r.value.clientWidth),b.value&&(J.value=b.value.clientWidth,T.value=b.value.clientHeight)})),_.value&&M()}),o.onUnmounted(()=>{}),o.watch(J,()=>{r.value&&ye()});function Dt(n){a.collapseTo(n),a.reOrderVisibleIndex(),re()}function Bt(n){a.expandTo(n),a.reOrderVisibleIndex(),re()}function Oe(){const n=h.getSelectionRow();return n?n.dataIndex-1:-1}function jt(){const n=Oe();a.insertNewDataItem(n),f.value=le(0,N.value+0-1)}function Ft(){const n=Oe();a.insertNewChildDataItem(n),f.value=le(0,N.value+0-1)}function Pt(n,l){const S=f.value.find(P=>P.raw[y.value]===l),D=S?S.dataIndex-1:-1;a.insertNewChildDataItems(n,D)}function Gt(){const n=Oe(),l=G.getNextSelectableHierarchyItemId(n);a.removeHierarchyDataItem(n),f.value=le(0,N.value+0-1),l&&G.selectItemById(l)}function Tt(n){H.onEditingRow(n)}function kt(n){H.acceptEditingRow(n)}function Mt(n){H.cancelEditingRow(n)}function De(n){n&&(u.value=n,A(u),Se(u.value),he(a,ce),ye())}o.watch(()=>e.columns,n=>{De(n)});function Nt(n,l){n&&(a.load(n),a.reOrderVisibleIndex(),l!=null&&l.keepScrollPosition?O.scrollTo(O.offsetY.value):re())}function Be(n){W.activeRowById(n)}function Ht(n,l={isCurrent:!0}){l!=null&&l.isCurrent&&Be(n),G.selectItemById(n)}function xt(n){const l=f.value.find(S=>S.raw[p.idField.value]===n);l&&W.clickRowItem(l)}function zt(n){G.selectItemByIds(n)}function At(){return h.getSelectedItems()}function Ee(){h.clearSelection()}function Wt(){h.emptyCurrentRowId()}const Et=o.computed(()=>!f.value||!f.value.length),{renderEmpty:Ut}=i.getEmpty(e,t);function _t(){return h.getSelectionRow()}function Lt(n,l={clearCurrent:!0}){l!=null&&l.clearCurrent&&Be(""),G.unSelectItemByIds(n)}function qt(){return h.currentSelectedDataId.value}function Vt(n,l,S){const D=L.value.find(P=>P[y.value]===n);if(D){if(Object.keys(D).forEach(w=>{Object.prototype.hasOwnProperty.call(l,w)&&(D[w]=l[w])}),S){const{collapseField:w,disabledField:K,checkedField:Q,visibleField:X}=S;w&&!E.isUndefined(l[w])&&(D.__fv_collapse__=l[w]),Q&&!E.isUndefined(l[Q])&&(D.__fv_checked__=l[Q]),K&&!E.isUndefined(l[K])&&(D.__fv_disabled__=l[K]),X&&!E.isUndefined(l[X])&&(D.__fv_visible__=l[X])}const P=f.value.find(w=>w.raw[y.value]===n),Le=f.value.findIndex(w=>w.raw[y.value]===n);if(P){if(P.raw=D,Object.keys(P.data).forEach(w=>{P.data[w].updateData(D)}),S){const{collapseField:w,disabledField:K,checkedField:Q,visibleField:X}=S;w&&!E.isUndefined(l[w])&&(P.collapse=l[w]),Q&&!E.isUndefined(l[Q])&&(P.checked=l[Q]),K&&!E.isUndefined(l[K])&&(P.disabled=l[K]),X&&!E.isUndefined(l[X])&&(P.visible=l[X])}f.value=[...f.value.slice(0,Le),P,...f.value.slice(Le+1)],a.updateSummary()}}}function $t(n){return Object.prototype.hasOwnProperty.call(n,"raw")?a.hasRealChildren(n.raw):a.hasRealChildren(n)}function Yt(n){const l=a.dataView.value.find(S=>S[y.value]===n);return l?l[j.value]:""}function Jt(){return j.value}o.watch(()=>e.showSetting,(n,l)=>{n!==l&&(n?oe(u):Ce(u),De(u.value))});function Kt(n){return f.value.filter(l=>n.includes(l.raw[e.idField]))}function Qt(n){const l=p.idField.value,S=f.value.find(D=>D.raw[l]===n);S&&W.changeRow(S)}function Xt(){h.keepSelectingOnPaging.value||Ee(),a.updateVisibleDataSummary(f.value)}t.expose({activeRowById:Be,addNewDataItem:jt,addNewChildDataItem:Ft,addChildrenToNode:Pt,collapseTo:Dt,expandTo:Bt,removeDataItem:Gt,editDataItem:Tt,acceptDataItem:kt,cancelDataItem:Mt,updateColumns:De,updateDataSource:Nt,selectItemById:Ht,selectItemByIds:zt,getSelectedItems:At,clearSelection:Ee,getSelectionRow:_t,clickRowItemById:xt,unSelectItemByIds:Lt,getCurrentRowId:qt,reassignRowData:Vt,hasChildren:$t,getCollapseField:Jt,getCollapseStatusById:Yt,getVisibleDataByIds:Kt,selectRowById:Qt,updateDerivedData:Xt,emptyCurrentRowId:Wt,calculateColumnsSize:ye});const Zt=o.computed(()=>{const n={};return O.shouldShowHorizontalScrollbar.value&&(n.paddingBottom="10px"),O.shouldShowVirticalScrollbar.value&&(n.paddingRight="10px"),n}),en=o.computed(()=>({...te.value,borderRadius:"5px"})),{renderDataGridPagination:fn}=i.getPagination(e,t,a,O,ee,h),tn=o.computed(()=>({"d-flex":!0,"justify-content-between":v.value&&z.value,"justify-content-end":v.value&&!z.value,"position-relative":!0})),nn=o.computed(()=>({"d-flex":!0,"align-items-center":!0})),{renderDataGridSummary:on}=i.getSummary(e,a,q);return()=>o.createVNode("div",{ref:c,class:yt.value,style:en.value,onWheel:be},[r.value&&vt.value&&ht(),o.createVNode("div",{ref:r,class:gt.value,onMouseover:()=>B.value=!0,onMouseleave:()=>B.value=!1,onTouchstart:n=>{n.stopPropagation(),B.value=!0,O.onTouchstartScrollThumb(n,r)},onTouchend:n=>{B.value=!1},style:Zt.value},[r.value&&St(f),r.value&&Ct(),r.value&&Et.value&&Ut(),r.value&&It(),r.value&&Rt()]),r.value&&on(),z.value&&o.createVNode("div",{class:tn.value},[z.value&&o.createVNode("div",{class:nn.value},[o.createVNode("div",null,["已选:"+Y.value.length,o.createTextVNode(" 条")])])]),bt(),de.value&&wt()])}}),Ge={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/tree-grid.schema.json",title:"tree-grid",description:"A Farris Data Grid Component",type:"object",properties:{id:{description:"The unique identifier for a Input Group",type:"string"},type:{description:"The type string of Input Group component",type:"string",default:"tree-grid"},appearance:{description:"",type:"object",properties:{class:{type:"string"},style:{type:"string"}},default:{}},fit:{type:"boolean",default:!1},showStripe:{type:"boolean",default:!0},showBorder:{type:"boolean",default:!1},showTreeNodeIcons:{type:"boolean",default:!1},showSetting:{type:"boolean",default:!1},size:{description:"",type:"object",properties:{width:{type:"number"},height:{type:"number"}},default:null},dataSource:{description:"",type:"string",default:""},columns:{description:"",type:"array",default:[]},identifyField:{description:"",type:"string"},editable:{description:"",type:"boolean",default:!1},disabled:{description:"",type:"boolean",default:!1},visible:{description:"",type:"boolean",default:!0},cell:{type:"object",properties:{highlightFocusingCell:{description:"",type:"boolean",default:!1},mergeCell:{description:"",type:"boolean",default:!1},showEditableIcon:{description:"",type:"boolean",default:!1}}},column:{type:"object",properties:{fitColumns:{description:"",type:"boolean",default:!1},fitMode:{description:"",type:"string",default:"average"},groups:{description:"",type:"array",default:[]},reorderColumn:{description:"Enable to drag column to reorder",type:"boolean",default:!1},resizeColumn:{type:"boolean",default:!0},resizeColumnOnDoubleClick:{description:"",type:"boolean",default:!0}}},command:{type:"object",properties:{enable:{description:"",type:"boolean",default:!1},commands:{type:"array",default:[]},commandColumnWidth:{description:"",type:"number",default:120},onClickDeleteCommand:{description:"",type:"string",default:""},onClickEditCommand:{description:"",type:"string",default:""},onHandleAction:{description:"",type:"string",default:""},count:{description:"",type:"number",default:2}}},contextMenu:{description:"",type:"object",properties:{enable:{description:"",type:"boolean",default:!1}}},customizaiton:{type:"object",properties:{enableScheme:{description:"",type:"boolean",default:!1},enableSetting:{description:"",type:"boolean",default:!1}}},edit:{type:"object",properties:{mode:{description:"",type:"string",default:"cell",enum:["cell","row","card"]},selectOnEditing:{description:"",type:"boolean",default:!1},onAppendRow:{description:"",type:"string",default:""},onBeforeEdit:{description:"",type:"string",default:""}}},filter:{type:"object",properties:{enable:{description:"",type:"boolean",default:!1},filterStyle:{description:"",type:"string",default:"filter-column",enum:["filter-column","filter-row"]},mode:{description:"",type:"string",default:"server",enum:["server"]},showSummary:{description:"",type:"boolean",default:!0},onFilterChange:{description:"",type:"string",default:""}}},footer:{type:"object",properties:{enable:{description:"",type:"boolean",default:!1},customFooterStyle:{description:"",type:"object"},footerDataCommand:{description:"",type:"string",default:""},footerDataFrom:{description:"",type:"string",default:"client"},footerHeight:{description:"",type:"number",default:29},footerPosition:{description:"",type:"string",default:"bottom"},footerTemplate:{description:"",type:"string",default:""}}},group:{description:"",type:"object",properties:{enable:{description:"",type:"boolean",default:!1},customGroupRow:{description:"",type:"object"},customGroupRowStyle:{description:"",type:"object"},customSummaryStyle:{description:"",type:"object"},groupColSpan:{description:"",type:"number",default:1},groupFields:{description:"",type:"array",default:[]},showGroupedColumn:{description:"",type:"boolean",default:!0},showGroupPanel:{description:"",type:"boolean",default:!1},showSummary:{description:"",type:"boolean",default:!1},summaryPosition:{description:"",type:"string",default:"separate",enum:["separate","merge-to-group"]},disableGroupOnEditing:{description:"",type:"boolean",default:!0},expandGroupRows:{description:"",type:"boolean",default:!0}}},header:{type:"object",properties:{wrapHeadings:{description:"",type:"boolean",default:!1}}},pagination:{type:"object",properties:{enable:{description:"",type:"boolean",default:!1},disablePagination:{description:"",type:"string",default:""},contentTemplate:{description:"",type:"string",default:""},index:{description:"",type:"number",default:1},mode:{description:"",type:"string",default:"server",enum:["server","client"]},showGoto:{description:"",type:"boolean",default:!1},showIndex:{description:"",type:"boolean",default:!0},showLimits:{description:"",type:"boolean",default:!1},showPageInfo:{description:"",type:"boolean",default:!0},size:{description:"",type:"number",default:20},sizeLimits:{description:"",type:"array",default:[10,20,30,50,100]},onPageChange:{description:"",type:"string",default:""},onPageSizeChange:{description:"",type:"string",default:""}}},rowOption:{type:"object",properties:{customRowStyle:{description:"自定义行样式",type:"string",default:""},customCellStyle:{description:"自定义单元格样式",type:"string",default:""},disable:{description:"",type:"object"},height:{description:"",type:"number",default:30},showHovering:{type:"boolean",default:!0},wrapContent:{type:"boolean",default:!1}}},rowNumber:{description:"",type:"object",properties:{enable:{description:"",type:"boolean",default:!1},heading:{description:"",type:"string",default:"序号"},width:{description:"",type:"number",default:36},onClickRow:{description:"",type:"string",default:""},onDoubleClickRow:{description:"",type:"string",default:""}}},onClickRow:{description:"行点击事件",type:"string",default:""},onSelectionChange:{description:"行切换事件",type:"string",default:""},onPageIndexChanged:{description:"切换页码事件",type:"string",default:""},onPageSizeChanged:{description:"分页条数变化事件",type:"string",default:""},selection:{type:"object",properties:{enableSelectRow:{description:"允许选中行",type:"boolean",default:!0},enable:{description:"",type:"boolean",default:!0},checkOnSelect:{description:"",type:"boolean",default:!1},showSelectAll:{description:"",type:"boolean",default:!1},clearSelectionOnEmpty:{description:"",type:"boolean",default:!0},customSelectionItem:{description:"",type:"object"},focusSelection:{description:"",type:"string",default:"current",enum:["current","all"]},keepSelectingOnClick:{description:"",type:"boolean",default:!0},keepSelectingOnPaging:{description:"",type:"boolean",default:!0},multiSelect:{description:"",type:"boolean",default:!1},selectionMode:{description:"",type:"string",default:"default"},selectOnCheck:{description:"",type:"boolean",default:!1},selectOnEditing:{description:"",type:"boolean",default:!1},showCheckbox:{description:"",type:"boolean",default:!1},showCheckAll:{description:"",type:"boolean",default:!1},showSelection:{description:"",type:"boolean",default:!1},onBeforeSelect:{description:"",type:"string",default:""},onBeforeUnCheck:{description:"",type:"",default:""},onBeforeUnSelect:{description:"",type:"string",default:""},onCheckAll:{description:"",type:"string",default:""},onChecked:{description:"",type:"string",default:""},onSelectionChange:{description:"",type:"string",default:""},onUnCheckAll:{description:"",type:"string",default:""},onUnChecked:{description:"",type:"string",default:""},onCheckedChange:{description:"",type:"string"}}},sort:{type:"object",properties:{enable:{description:"",type:"boolean",default:!1},fields:{description:"",type:"array",default:[]},mode:{description:"",type:"string",default:"server",enum:["server"]},multiSort:{description:"",type:"boolean",default:!1}}},summary:{description:"",type:"object",properties:{enable:{description:"",type:"boolean",default:!1},customSummaryStyle:{description:"",type:"object"},groupFields:{description:"",type:"array",default:[]},mode:{description:"",type:"string",default:"client",enum:["client","server"]},position:{description:"",type:"boolean",default:"bottom",enum:["bottom","top","both"]}}},toolbar:{description:"",type:"object",properties:{enable:{description:"",type:"boolean",default:!1}}},visualization:{autoHeight:{description:"",type:"boolean",default:!1},emptyDataHeight:{description:"",type:"number",default:36},emptyTemplate:{description:"",type:"string",default:""},maxHeight:{description:"",type:"number",default:300},scrollBarShowMode:{description:"",type:"string",default:"auto"},showBorder:{description:"",type:"boolean",default:!1},showScrollArrow:{description:"",type:"boolean",default:!1},striped:{description:"",type:"boolean",default:!0},useBlankWhenDataIsEmpty:{description:"",type:"boolean",default:!1}},emptyTemplate:{description:"",type:"string",default:""}},required:["id","type","columns"],events:{onSelectionChange:"行切换事件",onClickRow:"行点击事件",onDoubleClickRow:"行双击事件",onFilterChanged:"过滤事件",onClickEditCommand:"操作列编辑事件",onClickDeleteCommand:"操作列删除事件"}},Te=new Map([["appearance",Z.resolveAppearance],["column","columnOption"],["command","commandOption"]]);function lt(e,t,g){var C;const s=g.parentComponentInstance,m=s.schema.type,u=String(((C=s.schema.appearance)==null?void 0:C.class)||"").split(" "),p=m==="section"||m==="tab-page",y=u.includes("f-page-content-nav"),c=u.includes("f-page-main"),r=e.getSchemaByType("component");r.id=`${t.id}-component`,r.componentType="data-grid";let b="";return b+=p?"f-struct-data-grid-in-card f-struct-is-subgrid":"",b+=y?"f-struct-data-grid-in-nav f-struct-wrapper f-utils-fill-flex-column":"",b+=c?"f-struct-data-grid f-struct-wrapper":"",r.appearance={class:b},r.contents=[t],r}function rt(e,t,g){const s=g.parentComponentInstance,m=String(s.schema.appearance.class||"").split(" "),u=m.includes("f-page-content-nav"),p=m.includes("f-page-main"),y=e.getSchemaByType("section");y.id=`${t.id}-section`;let c="";return c+=u?"f-section-in-nav ":"",c+=p?"f-section-in-managelist ":"",c+="f-section-grid",y.appearance={class:c},y.contents=[t],y}function st(e,t,g){const s=e.getSchemaByType("content-container");return s.id=`${t.id}-layout`,s.appearance={class:"f-grid-is-sub f-utils-flex-column"},s.contents=[t],s}function ke(e,t,g){const m=g.parentComponentInstance.schema.type,u=m==="section"||m==="tab-page";t.appearance={class:"f-component-grid"};const y=(u?st:rt)(e,t,g);return lt(e,y,g)}const Me=Z.createPropsResolver(Fe.treeGridProps,Ge,Te,ke),Ne=Z.createTreeGridSelectionItemResolver(),He=Z.createTreeGridBindingResolver(),ve=$.excludeProperties(Object.assign({},Fe.treeGridProps,{componentId:{type:String,default:""}}),"columnOption","commandOption"),xe=Z.createPropsResolver(ve,Ge,Te,ke),ze=Z.createDataViewUpdateColumnsResolver();class dt extends $e.BaseControlProperty{constructor(t,g){super(t,g)}getPropertyConfig(t){return this.getBasicPropConfig(t),this.getAppearanceProperties(t),this.propertyConfig.categories.command=k.useCommandOption(this).getCommandColumnProperties(t),this.propertyConfig.categories.column=k.useColumnOption().getColumnOptionProperties(t),this.propertyConfig.categories.rowOption=k.useRowOption().getRowOptionProperties(t),this.propertyConfig.categories.summary=k.useSummary().getSummaryProperties(t),this.propertyConfig.categories.filter={title:"过滤",description:"",properties:{mode:{title:"类型",type:"enum",description:"过滤类型",$converter:"/converter/grid-filter.converter",editor:{data:[{id:"server",name:"服务端"}]}}}},this.getEventPropConfig(t),this.propertyConfig}getBasicPropConfig(t){var p,y,c;const g=(c=(y=(p=this.formSchemaUtils.getFormSchema())==null?void 0:p.module)==null?void 0:y.entity[0])==null?void 0:c.entities[0],s=this.assembleSchemaEntityToTree(g,0),m=this,u=super.getBasicPropConfig(t);this.propertyConfig.categories.basic={description:"Basic Information",title:"基本信息",properties:{...u.properties,dataSource:{description:"绑定数据源",title:"绑定数据源",editor:{type:"combo-tree",textField:"name",valueField:"label",data:s,editable:!1},readonly:!0}},setPropertyRelates(r,b){switch(r&&r.propertyID){case"dataSource":{const C=m.formSchemaUtils.getViewModelById(m.viewModelId);if(C){const F=s.find(f=>f.label===r.propertyValue);C.bindTo=F.bindTo}m.designViewModelUtils.assembleDesignViewModel();break}}}}}getAppearanceProperties(t){this.propertyConfig.categories.appearance=k.useAppearance().getDataGrid(t,this.viewModelId),this.propertyConfig.categories.rowNumber=k.useRowNumber().getRowNumber(t),this.propertyConfig.categories.pagination=k.usePagination().getPagination(t,!0)}getEventPropConfig(t){const g=k.useDataGridEvent().initEvent(t),s=this,m=s.eventsEditorUtils.formProperties(t,s.viewModelId,g),u=s.createBaseEventProperty(m);this.propertyConfig.categories.eventsEditor={title:"事件",hideTitle:!0,properties:u,refreshPanelAfterChanged:!0,tabId:"commands",tabName:"交互",setPropertyRelates(p,y){const c=p.propertyValue;delete t[s.viewModelId],c&&(c.setPropertyRelates=this.setPropertyRelates,s.eventsEditorUtils.saveRelatedParameters(t,s.viewModelId,c.events,c)),t.remoteSort=!!t.columnSorted,t.command&&(t.command.onClickEditCommand=t.onClickEditCommand,t.command.onClickDeleteCommand=t.onClickDeleteCommand,t.command.onHandleAction=t.onHandleAction)}}}assembleSchemaEntityToTree(t,g,s,m="",u=[]){const p=m?`${m}/${t.label}`:"/";return u.push({id:t.id,name:t.name,label:t.label,layer:g,parent:s&&s.id,bindTo:p.replace("//","/")}),t.type.entities&&t.type.entities.length&&t.type.entities.map(y=>this.assembleSchemaEntityToTree(y,g+1,t,p,u)),u}}function ct(e,t){const g=e.schema,s=o.ref(!0),m=o.ref(!0);function u(C){return C&&C.sourceType==="control"?C.componentCategory==="input":!1}function p(){return!1}function y(){return!1}function c(){return!0}function r(C){return new dt(C,t).getPropertyConfig(g)}function b(){var C,F,f,B;if(e&&t){const U=(C=e==null?void 0:e.componentInstance)==null?void 0:C.value.belongedComponentId;let I="",x="";const{formSchemaUtils:R}=t;if(U){const _=R.getRootViewModelId(),M=R.getComponentByViewModelId(_),a=R.selectNode(M,L=>L.contents&&L.contents.find(h=>h.component===U));(a==null?void 0:a.type)===((F=ge.DgControl["tab-page"])==null?void 0:F.type)&&((f=a==null?void 0:a.contents)!=null&&f.length)&&(I=a.title||""),(a==null?void 0:a.type)===((B=ge.DgControl.section)==null?void 0:B.type)&&(a==null?void 0:a.showHeader)!==!1&&(I=a.mainTitle||""),I=I?`${I} > `:"",x=I?a.id:""}const j=ge.DgControl["tree-grid"].name;t==null||t.formSchemaUtils.getControlBasicInfoMap().set(e.schema.id,{componentTitle:j,parentPathName:`${I}${j}`,reliedComponentId:x})}}return{canAccepts:u,checkCanDeleteComponent:p,checkCanMoveComponent:y,hideNestedPaddingInDesginerView:c,triggerBelongedComponentToMoveWhenMoved:s,triggerBelongedComponentToDeleteWhenDeleted:m,getPropsConfig:r,setComponentBasicInfoMap:b}}const se=o.defineComponent({name:"FTreeGridDesign",props:ve,emits:[],setup(e,t){var be,me;const g=o.ref(),s=0,m=((be=e.rowOption)==null?void 0:be.height)||28,u=o.ref(20),p=o.ref(e.columns),y=i.useIdentify(e),c=o.ref(),r=o.ref(),b=o.ref([]),C=o.ref(!1),F=o.ref(((me=e.rowOption)==null?void 0:me.wrapContent)||!1),f=o.inject("designer-host-service"),B=o.inject("design-item-context"),U=ct(B,f),I=ge.useDesignerComponent(g,B,U);I.value.designerClass="f-utils-fill-flex-column";const x=i.useFilter(e,t),R=i.useHierarchy(e),j=i.useDataView(e,new Map,x,R,y),_=i.useSelection(e,j,y,b,t),M=o.computed(()=>j.dataView.value.length),{containerStyleObject:a}=i.useDataViewContainerStyle(e),L=i.useCommandColumn(e),{applyCommands:h}=L;h(p);const z=k.useDesignerColumn(e),{applyColumnSorter:Y,columnContext:G,updateColumnRenderContext:de}=z,N=i.useSort(e),ee=i.useGroupColumn(e,G),v=i.useRow(e,t,_,y),te=i.useEdit(e,t,y,v,b),ne=i.useVisualDataBound(e),A=i.useVisualDataCell(e,te,ne),oe=i.useVisualDataRow(e,j,te,R,y,ne,A),Ce=k.useDesignerVisualData(e,p,j,M,s,oe),{getVisualData:q}=Ce,ce=i.useSidebar(e,_),{sidebarWidth:he}=ce;b.value=q(0,M.value+s-1);const V=i.useVirtualScroll(e,j,b,G,Ce,M,s,he),{onWheel:Se,dataGridWidth:ie,viewPortHeight:W,viewPortWidth:H,updateVisibleRowsOnLatestVisibleScope:ue}=V,we=k.useDesignerFitColumn(e,G,c,H,ee),{calculateColumnsSize:ae}=we,pe=o.computed(()=>({"drag-container":!0,"fv-grid":!0,"fv-grid-bordered":e.showBorder,"fv-datagrid-strip":e.showStripe})),le=o.computed(()=>({"fv-grid-content":!0,"fv-grid-content-hover":C.value,"fv-grid-wrap-content":F.value})),{renderGridHeader:Ie}=Ve.getColumnHeader(B,e,z,V,"tree-grid-column"),{renderHorizontalScrollbar:fe}=i.getHorizontalScrollbar(e,c,V);function Re(){var J,re;const T=Math.ceil(c.value.clientHeight/m);T>u.value&&(u.value=T,ue()),W.value=((J=r.value)==null?void 0:J.clientHeight)||0,ie.value=((re=c.value)==null?void 0:re.clientWidth)||0,ae()}o.onMounted(()=>{g.value.componentInstance=I,c.value&&(u.value=Math.max(Math.ceil(c.value.clientHeight/m),u.value),b.value=q(0,M.value+s-1),je.useResizeObserver(c.value,Re),ae(),o.nextTick(()=>{c.value&&(ie.value=c.value.clientWidth),r.value&&(H.value=r.value.clientWidth,W.value=r.value.clientHeight)}))});function O(T){T&&(p.value=T,h(p),de(p.value),Y(j,N),ae())}return o.watch(()=>e.columns,T=>{O(T)}),o.watch(H,()=>{c.value&&ae()}),t.expose(I.value),()=>o.createVNode("div",{ref:g,class:pe.value,style:a.value,onWheel:Se,dragref:`${B.schema.id}-container`},[c.value&&Ie(),o.createVNode("div",{ref:c,class:le.value,onMouseover:()=>{C.value=!0},onMouseleave:()=>{C.value=!1}},[fe()])])}});se.register=(e,t,g,s)=>{e["tree-grid"]=at,t["tree-grid"]=Me,s["tree-grid"]={bindingResolver:He,selectionItemResolver:Ne,updateColumnsResolver:ze}},se.registerDesigner=(e,t,g)=>{e["tree-grid"]=se,t["tree-grid"]=xe};const ut=$.withInstall(se);d.FTreeGridDesign=se,d.bindingResolver=He,d.columnOptions=tt,d.default=ut,d.designPropsResolver=xe,d.editOptions=nt,d.filterOptions=Qe,d.groupOptions=Ke,d.headerOptions=Xe,d.loadingOptions=ot,d.paginationOptions=Ye,d.propsResolver=Me,d.rowOptions=Ze,d.selectionItemResolver=Ne,d.sortOptions=Je,d.summaryOptions=et,d.treeGridDesignProps=ve,d.treeGridProps=Pe,d.updateColumnsResolver=ze,Object.defineProperties(d,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
|
|
1
|
+
(function(d,$){typeof exports=="object"&&typeof module<"u"?$(exports,require("../../components/common/index.umd.js"),require("vue"),require("@vueuse/core"),require("lodash-es"),require("../../components/locale/index.umd.js"),require("../../components/data-view/index.umd.js"),require("../../components/dynamic-resolver/index.umd.js"),require("../../components/tree-grid/index.umd.js"),require("../data-grid/index.umd.js"),require("../../components/designer-canvas/index.umd.js"),require("../../components/property-panel/index.umd.js"),require("../data-view/index.umd.js")):typeof define=="function"&&define.amd?define(["exports","../../components/common/index.umd.js","vue","@vueuse/core","lodash-es","../../components/locale/index.umd.js","../../components/data-view/index.umd.js","../../components/dynamic-resolver/index.umd.js","../../components/tree-grid/index.umd.js","../data-grid/index.umd.js","../../components/designer-canvas/index.umd.js","../../components/property-panel/index.umd.js","../data-view/index.umd.js"],$):(d=typeof globalThis<"u"?globalThis:d||self,$(d["tree-grid"]={},d.common,d.Vue,d.VueUseCore,d.LodashES,d.locale,d.dataView,d.dynamicResolver,d.treeGrid,d.designer$2,d.designerCanvas,d.propertyPanel,d.designer$1))})(this,function(d,$,o,je,E,qe,i,Z,Fe,Ve,ge,$e,k){"use strict";const Ye={enable:{type:Boolean,default:!1},index:{type:Number,default:1},mode:{type:String,default:"server"},showGoto:{type:Boolean,default:!1},showIndex:{type:Boolean,default:!0},showLimits:{type:Boolean,default:!1},showPageInfo:{type:Boolean,default:!0},size:{type:Number,default:20},sizeLimits:{type:Array,default:[10,20,30,50,100]},total:{type:Number,default:0}},Je={enable:{type:Boolean,default:!1},fields:{type:Array,default:[]},mode:{type:String,default:"client"},multiSort:{type:Boolean,default:!1}},Ke={customGroupRow:{type:Function,default:()=>{}},customGroupRowStyle:{type:Function,default:()=>{}},customSummaryStyle:{type:Function,default:()=>{}},enable:{type:Boolean,default:!1},groupColSpan:{type:Number,default:1},groupFields:{type:Array,default:[]},showGroupedColumn:{type:Boolean,default:!0},showGroupPanel:{type:Boolean,default:!1},showSummary:{type:Boolean,default:!1},summaryPosition:{type:String,default:"separate"}},Qe={enable:{type:Boolean,default:!1},filterStyle:{type:String,default:"filter-column"},mode:{type:String,default:"server"},showSummary:{type:Boolean,default:!0}},Xe={wrapHeadings:{type:Boolean,default:!1}},Ze={customRowStyle:{type:Function,default:()=>{}},customCellStyle:{type:Function,default:()=>{}},disable:{type:Function,default:()=>{}},height:{type:Number,default:28},showHovering:{type:Boolean,default:!0},wrapContent:{type:Boolean,default:!1}},et={enable:{type:Boolean,default:!1},customSummaryStyle:{type:Function,default:()=>{}},groupFields:{type:Array,default:[]},mode:{type:String,default:"client"},position:{type:String,default:"bottom"}},tt={fitColumns:{type:Boolean,default:!1},fitMode:{type:String,default:"average"},groups:{type:Array,defaut:[]},reorderColumn:{type:Boolean,default:!1},resizeColumn:{type:Boolean,default:!0},resizeColumnOnDoubleClick:{type:Boolean,default:!0}},nt={selectOnEditing:{type:Boolean,default:!1},editMode:{type:String,default:"cell"}},ot={show:{type:Boolean,default:!1},message:{type:String,default:`${qe.LocaleService.getLocaleValue("datagrid.loadingMessage")}...`}},Pe={customClass:{type:String,default:""},sort:{type:Object},filter:{type:Object},autoCheckChildren:{type:Boolean,default:!1},columns:{type:Array,default:[]},columnOption:{type:Object},commandOption:{type:Object,default:{enable:!1,commands:[]}},data:{type:Array,default:[]},disabled:{type:Boolean,default:!1},disabledField:{type:String,default:"disabled"},displayField:{type:String,default:"name"},editable:{type:Boolean,default:!1},editOption:{type:Object,default:{selectOnEditing:!1,editMode:"cell"}},fit:{type:Boolean,default:!1},header:{type:Object},height:{type:Number,default:-1},hierarchy:{type:Object,default:{cascadeOption:{autoCancelParent:!0,autoCheckChildren:!1,autoCheckParent:!1,selectionRange:"All"},parentIdField:"parent"}},id:{type:String,default:""},idField:{type:String,default:"id",require:!0},loadData:{type:Function},loading:{type:Boolean,default:!1},minHeight:{type:Number,default:300},minWidth:{type:Number,default:400},newDataItem:{type:Function,default:()=>{}},pagination:{type:Object,default:{enable:!1,size:-1}},rowNumber:{type:Object,default:{enable:!0,width:36,heading:"序号"}},rowOption:{type:Object,default:{wrapContent:!1}},selection:{type:Object,default:{enableSelectRow:!0,multiSelect:!1,multiSelectMode:"DependOnCheck",showCheckbox:!1,showSelectAll:!1,showSelection:!1}},selectionValues:{type:Array,default:[]},showBorder:{type:Boolean,default:!1},showHeader:{type:Boolean,default:!0},showHorizontalLines:{type:Boolean,default:!0},showLines:{type:Boolean,default:!1},showOptions:{type:Boolean,default:!1},showScrollBar:{type:String,default:"auto"},showSetting:{type:Boolean,default:!1},showStripe:{type:Boolean,default:!0},showTreeNodeIcons:{type:Boolean,default:!1},showVerticallLines:{type:Boolean,default:!1},treeNodeIconsData:{type:[Object,String],default:{}},width:{type:Number,default:-1},virtualized:{type:Boolean,default:!1},emptyTemplate:{type:Object},summary:{type:Object,default:{enable:!1,groupFields:["numericField1","numericField2"]}},autoHeight:{type:Boolean,default:!1}};function it(e,t,g,s,m,u,p,y,c,r,b,C,F,f,B,U,I){const{calculateCellPositionInRow:x}=u,{columnContext:R,hasLeftFixedColumn:j,hasRightFixedColumn:_}=p,{gridDataStyle:M,leftFixedGridDataStyle:a,rightFixedGridDataStyle:L}=f,{renderDataRow:h}=i.getHierarchyRow(e,t,R,I,y,c,r,b,C,F,f,B,U),z=[h];function Y(v,te){const ne=x(v);return I.value.filter(A=>A.visible!==!1).map((A,oe)=>z[A.type](A,ne,te,oe))}function G(){return o.createVNode("div",{ref:s,class:"fv-grid-content-left-fixed"},[o.createVNode("div",{class:"fv-grid-data",style:a.value},[Y(R.value.leftColumns.filter(v=>v.visible),"left")])])}function de(){return o.createVNode("div",{ref:g,class:"fv-grid-content-primary"},[o.createVNode("div",{class:"fv-grid-data",style:M.value},[Y(R.value.primaryColumns.filter(v=>v.visible),"primary")])])}function N(){return o.createVNode("div",{ref:m,class:"fv-grid-content-right-fixed"},[o.createVNode("div",{class:"fv-grid-data",style:L.value},[Y(R.value.rightColumns.filter(v=>v.visible),"right")])])}function ee(){const v=[];return j.value&&v.push(G()),v.push(de()),_.value&&v.push(N()),v}return{renderDataArea:ee}}const at=o.defineComponent({name:"FTreeGrid",props:Pe,emits:["selectionChange","clickRow","expandNode","unSelectItem","dblclickNode","doubleClickRow","unSelectItem","selectItem","filterChanged","sortChanged","selectionUpdate"],setup(e,t){var Ue,_e;const s=((Ue=e.rowOption)==null?void 0:Ue.height)||28,m=o.ref(20),u=o.ref(e.columns),p=i.useIdentify(e),{idField:y}=p,c=o.ref(),r=o.ref(),b=o.ref(),C=o.ref(),F=o.ref(),f=o.ref([]),B=o.ref(!1),U=o.ref(((_e=e.rowOption)==null?void 0:_e.wrapContent)||!1),I=i.useGroupData(e,p),x=i.useFilter(e,t),R=i.useHierarchy(e),{collapseField:j}=R,{showLoading:_,renderLoading:M}=i.useLoading(e,c),a=i.useDataView(e,new Map,x,R,p),{dataView:L}=a,h=i.useSelection(e,a,p,f,t),{showSelection:z,selectedValues:Y}=h,G=i.useSelectHierarchyItem(e,f,a,p,h,t),de=o.computed(()=>e.disabled),N=o.computed(()=>e.virtualized?Math.min(a.dataView.value.length,m.value):a.dataView.value.length),ee=i.usePagination(e,a),{shouldRenderPagination:v}=ee,{containerStyleObject:te}=i.useDataViewContainerStyle(e),ne=i.useCommandColumn(e),{applyCommands:A}=ne;A(u);const{applyColumnSetting:oe,removeColumnSetting:Ce}=i.useSettingColumn(e);e.showSetting&&oe(u);const q=i.useColumn(e,t),ce=i.useSort(e),{applyColumnSorter:he,columnContext:V,updateColumnRenderContext:Se}=q;he(a,ce);const ie=i.useGroupColumn(e,V),W=i.useRow(e,t,h,p),H=i.useEdit(e,t,p,W,f),ue=i.useVisualDataBound(e),we=i.useVisualDataCell(e,H,ue),ae=i.useVisualDataRow(e,a,H,R,p,ue,we),pe=i.useVisualData(e,u,a,N,0,ae),{getVisualData:le}=pe,Ie=i.useCellPosition(e,V),fe=i.useSidebar(e,h),{sidebarWidth:Re}=fe,O=i.useVirtualScroll(e,a,f,V,pe,N,0,Re),{onWheel:be,dataGridWidth:me,viewPortHeight:T,viewPortWidth:J,resetScroll:re,updateVisibleRowsOnLatestVisibleScope:pt}=O,Ae=i.useFitColumn(e,V,r,J,ie),{calculateColumnsSize:ye}=Ae,We=i.useFilterHistory(),ft=i.useColumnFilter(r,F,a,We,O),mt=i.useDragColumn(e,t,q,a,ie,I,O),yt=o.computed(()=>{const n={"fv-grid":!0,"fv-grid-bordered":e.showBorder,"fv-grid-horizontal-bordered":e.showHorizontalLines,"fv-datagrid-strip":e.showStripe};return $.getCustomClass(n,e.customClass)}),gt=o.computed(()=>({"fv-grid-content":!0,"fv-grid-content-hover":B.value,"fv-grid-wrap-content":U.value})),{renderDataArea:Ct}=it(e,t,b,C,F,Ie,q,a,H,R,W,h,G,O,pe,ue,f),{renderGridHeader:ht,renderGridColumnResizeOverlay:bt,shouldShowHeader:vt}=i.getColumnHeader(e,t,r,C,F,q,a,mt,ft,x,We,Ae,ie,h,fe,ce,O,J,f),{renderDataGridSidebar:St}=i.getSidebar(e,W,h,fe,O),{renderDisableMask:wt}=i.getDisableMask(),{renderHorizontalScrollbar:It}=i.getHorizontalScrollbar(e,r,O),{renderVerticalScrollbar:Rt}=i.getVerticalScrollbar(e,r,O);function Ot(){var n,l,S;if(r.value&&r.value.clientHeight>0&&((n=r.value)==null?void 0:n.clientWidth)>0){const D=Math.ceil(r.value.clientHeight/s);D>m.value&&(m.value=D,pt()),T.value=((l=b.value)==null?void 0:l.clientHeight)||0,me.value=((S=r.value)==null?void 0:S.clientWidth)||0}r.value&&(r.value.clientHeight>0||r.value.clientWidth>0)&&ye()}o.onMounted(()=>{r.value&&(m.value=Math.max(Math.ceil(r.value.clientHeight/s),m.value),f.value=le(0,N.value+0-1),je.useResizeObserver(r.value,Ot),ye(),o.nextTick(()=>{r.value&&(me.value=r.value.clientWidth),b.value&&(J.value=b.value.clientWidth,T.value=b.value.clientHeight)})),_.value&&M()}),o.onUnmounted(()=>{}),o.watch(J,()=>{r.value&&ye()});function Dt(n){a.collapseTo(n),a.reOrderVisibleIndex(),re()}function Bt(n){a.expandTo(n),a.reOrderVisibleIndex(),re()}function Oe(){const n=h.getSelectionRow();return n?n.dataIndex-1:-1}function jt(){const n=Oe();a.insertNewDataItem(n===-1?0:n),f.value=le(0,N.value+0-1)}function Ft(){const n=Oe();a.insertNewChildDataItem(n),f.value=le(0,N.value+0-1)}function Pt(n,l){const S=f.value.find(P=>P.raw[y.value]===l),D=S?S.dataIndex-1:-1;a.insertNewChildDataItems(n,D)}function Gt(){const n=Oe(),l=G.getNextSelectableHierarchyItemId(n);a.removeHierarchyDataItem(n),f.value=le(0,N.value+0-1),l&&G.selectItemById(l)}function Tt(n){H.onEditingRow(n)}function kt(n){H.acceptEditingRow(n)}function Mt(n){H.cancelEditingRow(n)}function De(n){n&&(u.value=n,A(u),Se(u.value),he(a,ce),ye())}o.watch(()=>e.columns,n=>{De(n)});function Nt(n,l){n&&(a.load(n),a.reOrderVisibleIndex(),l!=null&&l.keepScrollPosition?O.scrollTo(O.offsetY.value):re())}function Be(n){W.activeRowById(n)}function Ht(n,l={isCurrent:!0}){l!=null&&l.isCurrent&&Be(n),G.selectItemById(n)}function xt(n){const l=f.value.find(S=>S.raw[p.idField.value]===n);l&&W.clickRowItem(l)}function zt(n){G.selectItemByIds(n)}function At(){return h.getSelectedItems()}function Ee(){h.clearSelection()}function Wt(){h.emptyCurrentRowId()}const Et=o.computed(()=>!f.value||!f.value.length),{renderEmpty:Ut}=i.getEmpty(e,t);function _t(){return h.getSelectionRow()}function Lt(n,l={clearCurrent:!0}){l!=null&&l.clearCurrent&&Be(""),G.unSelectItemByIds(n)}function qt(){return h.currentSelectedDataId.value}function Vt(n,l,S){const D=L.value.find(P=>P[y.value]===n);if(D){if(Object.keys(D).forEach(w=>{Object.prototype.hasOwnProperty.call(l,w)&&(D[w]=l[w])}),S){const{collapseField:w,disabledField:K,checkedField:Q,visibleField:X}=S;w&&!E.isUndefined(l[w])&&(D.__fv_collapse__=l[w]),Q&&!E.isUndefined(l[Q])&&(D.__fv_checked__=l[Q]),K&&!E.isUndefined(l[K])&&(D.__fv_disabled__=l[K]),X&&!E.isUndefined(l[X])&&(D.__fv_visible__=l[X])}const P=f.value.find(w=>w.raw[y.value]===n),Le=f.value.findIndex(w=>w.raw[y.value]===n);if(P){if(P.raw=D,Object.keys(P.data).forEach(w=>{P.data[w].updateData(D)}),S){const{collapseField:w,disabledField:K,checkedField:Q,visibleField:X}=S;w&&!E.isUndefined(l[w])&&(P.collapse=l[w]),Q&&!E.isUndefined(l[Q])&&(P.checked=l[Q]),K&&!E.isUndefined(l[K])&&(P.disabled=l[K]),X&&!E.isUndefined(l[X])&&(P.visible=l[X])}f.value=[...f.value.slice(0,Le),P,...f.value.slice(Le+1)],a.updateSummary()}}}function $t(n){return Object.prototype.hasOwnProperty.call(n,"raw")?a.hasRealChildren(n.raw):a.hasRealChildren(n)}function Yt(n){const l=a.dataView.value.find(S=>S[y.value]===n);return l?l[j.value]:""}function Jt(){return j.value}o.watch(()=>e.showSetting,(n,l)=>{n!==l&&(n?oe(u):Ce(u),De(u.value))});function Kt(n){return f.value.filter(l=>n.includes(l.raw[e.idField]))}function Qt(n){const l=p.idField.value,S=f.value.find(D=>D.raw[l]===n);S&&W.changeRow(S)}function Xt(){h.keepSelectingOnPaging.value||Ee(),a.updateVisibleDataSummary(f.value)}t.expose({activeRowById:Be,addNewDataItem:jt,addNewChildDataItem:Ft,addChildrenToNode:Pt,collapseTo:Dt,expandTo:Bt,removeDataItem:Gt,editDataItem:Tt,acceptDataItem:kt,cancelDataItem:Mt,updateColumns:De,updateDataSource:Nt,selectItemById:Ht,selectItemByIds:zt,getSelectedItems:At,clearSelection:Ee,getSelectionRow:_t,clickRowItemById:xt,unSelectItemByIds:Lt,getCurrentRowId:qt,reassignRowData:Vt,hasChildren:$t,getCollapseField:Jt,getCollapseStatusById:Yt,getVisibleDataByIds:Kt,selectRowById:Qt,updateDerivedData:Xt,emptyCurrentRowId:Wt,calculateColumnsSize:ye});const Zt=o.computed(()=>{const n={};return O.shouldShowHorizontalScrollbar.value&&(n.paddingBottom="10px"),O.shouldShowVirticalScrollbar.value&&(n.paddingRight="10px"),n}),en=o.computed(()=>({...te.value,borderRadius:"5px"})),{renderDataGridPagination:fn}=i.getPagination(e,t,a,O,ee,h),tn=o.computed(()=>({"d-flex":!0,"justify-content-between":v.value&&z.value,"justify-content-end":v.value&&!z.value,"position-relative":!0})),nn=o.computed(()=>({"d-flex":!0,"align-items-center":!0})),{renderDataGridSummary:on}=i.getSummary(e,a,q);return()=>o.createVNode("div",{ref:c,class:yt.value,style:en.value,onWheel:be},[r.value&&vt.value&&ht(),o.createVNode("div",{ref:r,class:gt.value,onMouseover:()=>B.value=!0,onMouseleave:()=>B.value=!1,onTouchstart:n=>{n.stopPropagation(),B.value=!0,O.onTouchstartScrollThumb(n,r)},onTouchend:n=>{B.value=!1},style:Zt.value},[r.value&&St(f),r.value&&Ct(),r.value&&Et.value&&Ut(),r.value&&It(),r.value&&Rt()]),r.value&&on(),z.value&&o.createVNode("div",{class:tn.value},[z.value&&o.createVNode("div",{class:nn.value},[o.createVNode("div",null,["已选:"+Y.value.length,o.createTextVNode(" 条")])])]),bt(),de.value&&wt()])}}),Ge={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/tree-grid.schema.json",title:"tree-grid",description:"A Farris Data Grid Component",type:"object",properties:{id:{description:"The unique identifier for a Input Group",type:"string"},type:{description:"The type string of Input Group component",type:"string",default:"tree-grid"},appearance:{description:"",type:"object",properties:{class:{type:"string"},style:{type:"string"}},default:{}},fit:{type:"boolean",default:!1},showStripe:{type:"boolean",default:!0},showBorder:{type:"boolean",default:!1},showTreeNodeIcons:{type:"boolean",default:!1},showSetting:{type:"boolean",default:!1},size:{description:"",type:"object",properties:{width:{type:"number"},height:{type:"number"}},default:null},dataSource:{description:"",type:"string",default:""},columns:{description:"",type:"array",default:[]},identifyField:{description:"",type:"string"},editable:{description:"",type:"boolean",default:!1},disabled:{description:"",type:"boolean",default:!1},visible:{description:"",type:"boolean",default:!0},cell:{type:"object",properties:{highlightFocusingCell:{description:"",type:"boolean",default:!1},mergeCell:{description:"",type:"boolean",default:!1},showEditableIcon:{description:"",type:"boolean",default:!1}}},column:{type:"object",properties:{fitColumns:{description:"",type:"boolean",default:!1},fitMode:{description:"",type:"string",default:"average"},groups:{description:"",type:"array",default:[]},reorderColumn:{description:"Enable to drag column to reorder",type:"boolean",default:!1},resizeColumn:{type:"boolean",default:!0},resizeColumnOnDoubleClick:{description:"",type:"boolean",default:!0}}},command:{type:"object",properties:{enable:{description:"",type:"boolean",default:!1},commands:{type:"array",default:[]},commandColumnWidth:{description:"",type:"number",default:120},onClickDeleteCommand:{description:"",type:"string",default:""},onClickEditCommand:{description:"",type:"string",default:""},onHandleAction:{description:"",type:"string",default:""},count:{description:"",type:"number",default:2}}},contextMenu:{description:"",type:"object",properties:{enable:{description:"",type:"boolean",default:!1}}},customizaiton:{type:"object",properties:{enableScheme:{description:"",type:"boolean",default:!1},enableSetting:{description:"",type:"boolean",default:!1}}},edit:{type:"object",properties:{mode:{description:"",type:"string",default:"cell",enum:["cell","row","card"]},selectOnEditing:{description:"",type:"boolean",default:!1},onAppendRow:{description:"",type:"string",default:""},onBeforeEdit:{description:"",type:"string",default:""}}},filter:{type:"object",properties:{enable:{description:"",type:"boolean",default:!1},filterStyle:{description:"",type:"string",default:"filter-column",enum:["filter-column","filter-row"]},mode:{description:"",type:"string",default:"server",enum:["server"]},showSummary:{description:"",type:"boolean",default:!0},onFilterChange:{description:"",type:"string",default:""}}},footer:{type:"object",properties:{enable:{description:"",type:"boolean",default:!1},customFooterStyle:{description:"",type:"object"},footerDataCommand:{description:"",type:"string",default:""},footerDataFrom:{description:"",type:"string",default:"client"},footerHeight:{description:"",type:"number",default:29},footerPosition:{description:"",type:"string",default:"bottom"},footerTemplate:{description:"",type:"string",default:""}}},group:{description:"",type:"object",properties:{enable:{description:"",type:"boolean",default:!1},customGroupRow:{description:"",type:"object"},customGroupRowStyle:{description:"",type:"object"},customSummaryStyle:{description:"",type:"object"},groupColSpan:{description:"",type:"number",default:1},groupFields:{description:"",type:"array",default:[]},showGroupedColumn:{description:"",type:"boolean",default:!0},showGroupPanel:{description:"",type:"boolean",default:!1},showSummary:{description:"",type:"boolean",default:!1},summaryPosition:{description:"",type:"string",default:"separate",enum:["separate","merge-to-group"]},disableGroupOnEditing:{description:"",type:"boolean",default:!0},expandGroupRows:{description:"",type:"boolean",default:!0}}},header:{type:"object",properties:{wrapHeadings:{description:"",type:"boolean",default:!1}}},pagination:{type:"object",properties:{enable:{description:"",type:"boolean",default:!1},disablePagination:{description:"",type:"string",default:""},contentTemplate:{description:"",type:"string",default:""},index:{description:"",type:"number",default:1},mode:{description:"",type:"string",default:"server",enum:["server","client"]},showGoto:{description:"",type:"boolean",default:!1},showIndex:{description:"",type:"boolean",default:!0},showLimits:{description:"",type:"boolean",default:!1},showPageInfo:{description:"",type:"boolean",default:!0},size:{description:"",type:"number",default:20},sizeLimits:{description:"",type:"array",default:[10,20,30,50,100]},onPageChange:{description:"",type:"string",default:""},onPageSizeChange:{description:"",type:"string",default:""}}},rowOption:{type:"object",properties:{customRowStyle:{description:"自定义行样式",type:"string",default:""},customCellStyle:{description:"自定义单元格样式",type:"string",default:""},disable:{description:"",type:"object"},height:{description:"",type:"number",default:30},showHovering:{type:"boolean",default:!0},wrapContent:{type:"boolean",default:!1}}},rowNumber:{description:"",type:"object",properties:{enable:{description:"",type:"boolean",default:!1},heading:{description:"",type:"string",default:"序号"},width:{description:"",type:"number",default:36},onClickRow:{description:"",type:"string",default:""},onDoubleClickRow:{description:"",type:"string",default:""}}},onClickRow:{description:"行点击事件",type:"string",default:""},onSelectionChange:{description:"行切换事件",type:"string",default:""},onPageIndexChanged:{description:"切换页码事件",type:"string",default:""},onPageSizeChanged:{description:"分页条数变化事件",type:"string",default:""},selection:{type:"object",properties:{enableSelectRow:{description:"允许选中行",type:"boolean",default:!0},enable:{description:"",type:"boolean",default:!0},checkOnSelect:{description:"",type:"boolean",default:!1},showSelectAll:{description:"",type:"boolean",default:!1},clearSelectionOnEmpty:{description:"",type:"boolean",default:!0},customSelectionItem:{description:"",type:"object"},focusSelection:{description:"",type:"string",default:"current",enum:["current","all"]},keepSelectingOnClick:{description:"",type:"boolean",default:!0},keepSelectingOnPaging:{description:"",type:"boolean",default:!0},multiSelect:{description:"",type:"boolean",default:!1},selectionMode:{description:"",type:"string",default:"default"},selectOnCheck:{description:"",type:"boolean",default:!1},selectOnEditing:{description:"",type:"boolean",default:!1},showCheckbox:{description:"",type:"boolean",default:!1},showCheckAll:{description:"",type:"boolean",default:!1},showSelection:{description:"",type:"boolean",default:!1},onBeforeSelect:{description:"",type:"string",default:""},onBeforeUnCheck:{description:"",type:"",default:""},onBeforeUnSelect:{description:"",type:"string",default:""},onCheckAll:{description:"",type:"string",default:""},onChecked:{description:"",type:"string",default:""},onSelectionChange:{description:"",type:"string",default:""},onUnCheckAll:{description:"",type:"string",default:""},onUnChecked:{description:"",type:"string",default:""},onCheckedChange:{description:"",type:"string"}}},sort:{type:"object",properties:{enable:{description:"",type:"boolean",default:!1},fields:{description:"",type:"array",default:[]},mode:{description:"",type:"string",default:"server",enum:["server"]},multiSort:{description:"",type:"boolean",default:!1}}},summary:{description:"",type:"object",properties:{enable:{description:"",type:"boolean",default:!1},customSummaryStyle:{description:"",type:"object"},groupFields:{description:"",type:"array",default:[]},mode:{description:"",type:"string",default:"client",enum:["client","server"]},position:{description:"",type:"boolean",default:"bottom",enum:["bottom","top","both"]}}},toolbar:{description:"",type:"object",properties:{enable:{description:"",type:"boolean",default:!1}}},visualization:{autoHeight:{description:"",type:"boolean",default:!1},emptyDataHeight:{description:"",type:"number",default:36},emptyTemplate:{description:"",type:"string",default:""},maxHeight:{description:"",type:"number",default:300},scrollBarShowMode:{description:"",type:"string",default:"auto"},showBorder:{description:"",type:"boolean",default:!1},showScrollArrow:{description:"",type:"boolean",default:!1},striped:{description:"",type:"boolean",default:!0},useBlankWhenDataIsEmpty:{description:"",type:"boolean",default:!1}},emptyTemplate:{description:"",type:"string",default:""}},required:["id","type","columns"],events:{onSelectionChange:"行切换事件",onClickRow:"行点击事件",onDoubleClickRow:"行双击事件",onFilterChanged:"过滤事件",onClickEditCommand:"操作列编辑事件",onClickDeleteCommand:"操作列删除事件"}},Te=new Map([["appearance",Z.resolveAppearance],["column","columnOption"],["command","commandOption"]]);function lt(e,t,g){var C;const s=g.parentComponentInstance,m=s.schema.type,u=String(((C=s.schema.appearance)==null?void 0:C.class)||"").split(" "),p=m==="section"||m==="tab-page",y=u.includes("f-page-content-nav"),c=u.includes("f-page-main"),r=e.getSchemaByType("component");r.id=`${t.id}-component`,r.componentType="data-grid";let b="";return b+=p?"f-struct-data-grid-in-card f-struct-is-subgrid":"",b+=y?"f-struct-data-grid-in-nav f-struct-wrapper f-utils-fill-flex-column":"",b+=c?"f-struct-data-grid f-struct-wrapper":"",r.appearance={class:b},r.contents=[t],r}function rt(e,t,g){const s=g.parentComponentInstance,m=String(s.schema.appearance.class||"").split(" "),u=m.includes("f-page-content-nav"),p=m.includes("f-page-main"),y=e.getSchemaByType("section");y.id=`${t.id}-section`;let c="";return c+=u?"f-section-in-nav ":"",c+=p?"f-section-in-managelist ":"",c+="f-section-grid",y.appearance={class:c},y.contents=[t],y}function st(e,t,g){const s=e.getSchemaByType("content-container");return s.id=`${t.id}-layout`,s.appearance={class:"f-grid-is-sub f-utils-flex-column"},s.contents=[t],s}function ke(e,t,g){const m=g.parentComponentInstance.schema.type,u=m==="section"||m==="tab-page";t.appearance={class:"f-component-grid"};const y=(u?st:rt)(e,t,g);return lt(e,y,g)}const Me=Z.createPropsResolver(Fe.treeGridProps,Ge,Te,ke),Ne=Z.createTreeGridSelectionItemResolver(),He=Z.createTreeGridBindingResolver(),ve=$.excludeProperties(Object.assign({},Fe.treeGridProps,{componentId:{type:String,default:""}}),"columnOption","commandOption"),xe=Z.createPropsResolver(ve,Ge,Te,ke),ze=Z.createDataViewUpdateColumnsResolver();class dt extends $e.BaseControlProperty{constructor(t,g){super(t,g)}getPropertyConfig(t){return this.getBasicPropConfig(t),this.getAppearanceProperties(t),this.propertyConfig.categories.command=k.useCommandOption(this).getCommandColumnProperties(t),this.propertyConfig.categories.column=k.useColumnOption().getColumnOptionProperties(t),this.propertyConfig.categories.rowOption=k.useRowOption().getRowOptionProperties(t),this.propertyConfig.categories.summary=k.useSummary().getSummaryProperties(t),this.propertyConfig.categories.filter={title:"过滤",description:"",properties:{mode:{title:"类型",type:"enum",description:"过滤类型",$converter:"/converter/grid-filter.converter",editor:{data:[{id:"server",name:"服务端"}]}}}},this.getEventPropConfig(t),this.propertyConfig}getBasicPropConfig(t){var p,y,c;const g=(c=(y=(p=this.formSchemaUtils.getFormSchema())==null?void 0:p.module)==null?void 0:y.entity[0])==null?void 0:c.entities[0],s=this.assembleSchemaEntityToTree(g,0),m=this,u=super.getBasicPropConfig(t);this.propertyConfig.categories.basic={description:"Basic Information",title:"基本信息",properties:{...u.properties,dataSource:{description:"绑定数据源",title:"绑定数据源",editor:{type:"combo-tree",textField:"name",valueField:"label",data:s,editable:!1},readonly:!0}},setPropertyRelates(r,b){switch(r&&r.propertyID){case"dataSource":{const C=m.formSchemaUtils.getViewModelById(m.viewModelId);if(C){const F=s.find(f=>f.label===r.propertyValue);C.bindTo=F.bindTo}m.designViewModelUtils.assembleDesignViewModel();break}}}}}getAppearanceProperties(t){this.propertyConfig.categories.appearance=k.useAppearance().getDataGrid(t,this.viewModelId),this.propertyConfig.categories.rowNumber=k.useRowNumber().getRowNumber(t),this.propertyConfig.categories.pagination=k.usePagination().getPagination(t,!0)}getEventPropConfig(t){const g=k.useDataGridEvent().initEvent(t),s=this,m=s.eventsEditorUtils.formProperties(t,s.viewModelId,g),u=s.createBaseEventProperty(m);this.propertyConfig.categories.eventsEditor={title:"事件",hideTitle:!0,properties:u,refreshPanelAfterChanged:!0,tabId:"commands",tabName:"交互",setPropertyRelates(p,y){const c=p.propertyValue;delete t[s.viewModelId],c&&(c.setPropertyRelates=this.setPropertyRelates,s.eventsEditorUtils.saveRelatedParameters(t,s.viewModelId,c.events,c)),t.remoteSort=!!t.columnSorted,t.command&&(t.command.onClickEditCommand=t.onClickEditCommand,t.command.onClickDeleteCommand=t.onClickDeleteCommand,t.command.onHandleAction=t.onHandleAction)}}}assembleSchemaEntityToTree(t,g,s,m="",u=[]){const p=m?`${m}/${t.label}`:"/";return u.push({id:t.id,name:t.name,label:t.label,layer:g,parent:s&&s.id,bindTo:p.replace("//","/")}),t.type.entities&&t.type.entities.length&&t.type.entities.map(y=>this.assembleSchemaEntityToTree(y,g+1,t,p,u)),u}}function ct(e,t){const g=e.schema,s=o.ref(!0),m=o.ref(!0);function u(C){return C&&C.sourceType==="control"?C.componentCategory==="input":!1}function p(){return!1}function y(){return!1}function c(){return!0}function r(C){return new dt(C,t).getPropertyConfig(g)}function b(){var C,F,f,B;if(e&&t){const U=(C=e==null?void 0:e.componentInstance)==null?void 0:C.value.belongedComponentId;let I="",x="";const{formSchemaUtils:R}=t;if(U){const _=R.getRootViewModelId(),M=R.getComponentByViewModelId(_),a=R.selectNode(M,L=>L.contents&&L.contents.find(h=>h.component===U));(a==null?void 0:a.type)===((F=ge.DgControl["tab-page"])==null?void 0:F.type)&&((f=a==null?void 0:a.contents)!=null&&f.length)&&(I=a.title||""),(a==null?void 0:a.type)===((B=ge.DgControl.section)==null?void 0:B.type)&&(a==null?void 0:a.showHeader)!==!1&&(I=a.mainTitle||""),I=I?`${I} > `:"",x=I?a.id:""}const j=ge.DgControl["tree-grid"].name;t==null||t.formSchemaUtils.getControlBasicInfoMap().set(e.schema.id,{componentTitle:j,parentPathName:`${I}${j}`,reliedComponentId:x})}}return{canAccepts:u,checkCanDeleteComponent:p,checkCanMoveComponent:y,hideNestedPaddingInDesginerView:c,triggerBelongedComponentToMoveWhenMoved:s,triggerBelongedComponentToDeleteWhenDeleted:m,getPropsConfig:r,setComponentBasicInfoMap:b}}const se=o.defineComponent({name:"FTreeGridDesign",props:ve,emits:[],setup(e,t){var be,me;const g=o.ref(),s=0,m=((be=e.rowOption)==null?void 0:be.height)||28,u=o.ref(20),p=o.ref(e.columns),y=i.useIdentify(e),c=o.ref(),r=o.ref(),b=o.ref([]),C=o.ref(!1),F=o.ref(((me=e.rowOption)==null?void 0:me.wrapContent)||!1),f=o.inject("designer-host-service"),B=o.inject("design-item-context"),U=ct(B,f),I=ge.useDesignerComponent(g,B,U);I.value.designerClass="f-utils-fill-flex-column";const x=i.useFilter(e,t),R=i.useHierarchy(e),j=i.useDataView(e,new Map,x,R,y),_=i.useSelection(e,j,y,b,t),M=o.computed(()=>j.dataView.value.length),{containerStyleObject:a}=i.useDataViewContainerStyle(e),L=i.useCommandColumn(e),{applyCommands:h}=L;h(p);const z=k.useDesignerColumn(e),{applyColumnSorter:Y,columnContext:G,updateColumnRenderContext:de}=z,N=i.useSort(e),ee=i.useGroupColumn(e,G),v=i.useRow(e,t,_,y),te=i.useEdit(e,t,y,v,b),ne=i.useVisualDataBound(e),A=i.useVisualDataCell(e,te,ne),oe=i.useVisualDataRow(e,j,te,R,y,ne,A),Ce=k.useDesignerVisualData(e,p,j,M,s,oe),{getVisualData:q}=Ce,ce=i.useSidebar(e,_),{sidebarWidth:he}=ce;b.value=q(0,M.value+s-1);const V=i.useVirtualScroll(e,j,b,G,Ce,M,s,he),{onWheel:Se,dataGridWidth:ie,viewPortHeight:W,viewPortWidth:H,updateVisibleRowsOnLatestVisibleScope:ue}=V,we=k.useDesignerFitColumn(e,G,c,H,ee),{calculateColumnsSize:ae}=we,pe=o.computed(()=>({"drag-container":!0,"fv-grid":!0,"fv-grid-bordered":e.showBorder,"fv-datagrid-strip":e.showStripe})),le=o.computed(()=>({"fv-grid-content":!0,"fv-grid-content-hover":C.value,"fv-grid-wrap-content":F.value})),{renderGridHeader:Ie}=Ve.getColumnHeader(B,e,z,V,"tree-grid-column"),{renderHorizontalScrollbar:fe}=i.getHorizontalScrollbar(e,c,V);function Re(){var J,re;const T=Math.ceil(c.value.clientHeight/m);T>u.value&&(u.value=T,ue()),W.value=((J=r.value)==null?void 0:J.clientHeight)||0,ie.value=((re=c.value)==null?void 0:re.clientWidth)||0,ae()}o.onMounted(()=>{g.value.componentInstance=I,c.value&&(u.value=Math.max(Math.ceil(c.value.clientHeight/m),u.value),b.value=q(0,M.value+s-1),je.useResizeObserver(c.value,Re),ae(),o.nextTick(()=>{c.value&&(ie.value=c.value.clientWidth),r.value&&(H.value=r.value.clientWidth,W.value=r.value.clientHeight)}))});function O(T){T&&(p.value=T,h(p),de(p.value),Y(j,N),ae())}return o.watch(()=>e.columns,T=>{O(T)}),o.watch(H,()=>{c.value&&ae()}),t.expose(I.value),()=>o.createVNode("div",{ref:g,class:pe.value,style:a.value,onWheel:Se,dragref:`${B.schema.id}-container`},[c.value&&Ie(),o.createVNode("div",{ref:c,class:le.value,onMouseover:()=>{C.value=!0},onMouseleave:()=>{C.value=!1}},[fe()])])}});se.register=(e,t,g,s)=>{e["tree-grid"]=at,t["tree-grid"]=Me,s["tree-grid"]={bindingResolver:He,selectionItemResolver:Ne,updateColumnsResolver:ze}},se.registerDesigner=(e,t,g)=>{e["tree-grid"]=se,t["tree-grid"]=xe};const ut=$.withInstall(se);d.FTreeGridDesign=se,d.bindingResolver=He,d.columnOptions=tt,d.default=ut,d.designPropsResolver=xe,d.editOptions=nt,d.filterOptions=Qe,d.groupOptions=Ke,d.headerOptions=Xe,d.loadingOptions=ot,d.paginationOptions=Ye,d.propsResolver=Me,d.rowOptions=Ze,d.selectionItemResolver=Ne,d.sortOptions=Je,d.summaryOptions=et,d.treeGridDesignProps=ve,d.treeGridProps=Pe,d.updateColumnsResolver=ze,Object.defineProperties(d,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
|