amis-model-design
Version:
amis模型设计器
7 lines (5 loc) • 24.2 kB
JavaScript
/**
* amis-model-design v0.0.13
* Copyright 2018-2025 @fex
*/
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("./SchemaBuilderEditor-fd320af7.js"),t=require("./OptionsCustom-a2863770.js"),r=require("react"),a=require("amis"),n=require("lodash/max"),i=require("lodash/sortBy"),l=require("lodash/groupBy"),o=require("lodash/each"),s=require("lodash/differenceWith"),u=require("amis-core");function d(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}require("mobx"),require("lodash/omit"),require("lodash/isPlainObject"),require("lodash/isObjectLike"),require("lodash/pick"),require("lodash/get"),require("classnames"),require("qs"),require("amis-formula"),require("lodash/isEqual"),require("i18n-runtime"),require("lodash/flatten"),require("amis-ui"),require("react-dom"),require("mobx-react"),require("sortablejs"),require("moment"),require("lodash/noop"),require("lodash/cloneDeep"),require("lodash/debounce"),require("lodash/remove"),require("react-transition-group/Transition"),require("lodash/omitBy"),require("lodash/uniq"),require("lodash/isEmpty"),require("lodash/findIndex"),require("lodash/last"),require("lodash/xor"),require("lodash/uniqBy"),require("lodash/uniqWith"),require("hoist-non-react-statics");var c=d(r),p=d(n),f=d(i),h=d(l),y=d(o),m=d(s),b=["value","onClose","onChange","setState"];var v=function(){return t._createClass((function e(r){var a,n;t._classCallCheck(this,e),this.manager=void 0,this.fieldTypeMap=void 0,this.systemFieldOrderMap={createdAt:1,updatedAt:2,deletedAt:3,createdBy:4,updatedBy:5,deletedBy:6},this.manager=t.Manager.create(t._objectSpread2(t._objectSpread2({},r),{},{env:t._objectSpread2(t._objectSpread2({},null==r?void 0:r.env),{},{session:null!==(a=null==r||null===(n=r.env)||void 0===n?void 0:n.session)&&void 0!==a?a:"field-manager"})})),this.fieldTypeMap=this._initFieldTypeMap()}),[{key:"registeredFieldPlugins",get:function(){return this.manager.plugins}},{key:"_initFieldTypeMap",value:function(){var e,r=this.manager.store.fieldTypes,a={},n=t._createForOfIteratorHelper(r);try{for(n.s();!(e=n.n()).done;){var i=e.value;a.hasOwnProperty(i.type)||(a[i.type]=i.title)}}catch(e){n.e(e)}finally{n.f()}return t._objectSpread2(t._objectSpread2({},a),{},{"1:1":t.i18n("一对一"),"1:n":t.i18n("一对多"),"n:1":t.i18n("多对一"),"n:n":t.i18n("多对多"),subGroup:""})}},{key:"switch2Datasource",value:(c=t._asyncToGenerator(t._regeneratorRuntime().mark((function e(r){var a,n,i,l,o,s,u,d,c;return t._regeneratorRuntime().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n=(a=r||{}).dsKey,i=a.ds,l=a.forceUpdate,o=void 0!==l&&l,(s=this.manager.store.datasourceData)&&s.key===n&&s.id===(null==i?void 0:i.id)&&s.key===(null==i?void 0:i.key)){e.next=11;break}return o&&this.manager.clearHookCache("boolean"==typeof o?void 0:o),e.next=6,this.manager.store.getAvailableModels({dsKey:n,datasource:i});case 6:u=e.sent,d=u.datasource,c=u.models,this.manager.store.setDatasource(d),this.manager.store.setModels(c);case 11:case"end":return e.stop()}}),e,this)}))),function(e){return c.apply(this,arguments)})},{key:"getTypeLabel",value:function(e){var r,a,n,i=null!==(r=null!==(a=e.type)&&void 0!==a?a:e.relationMode)&&void 0!==r?r:e.fieldItemType;return null!==(n=this.fieldTypeMap[i])&&void 0!==n?n:t.i18n("未知类型")}},{key:"_normalizeField2FE",value:function(e,r){var a=t.normalizeField(e);return t._objectSpread2(t._objectSpread2({},a),{},{value:a.key,label:a.name,typeLabel:this.getTypeLabel(a)})}},{key:"getModelFields",value:(d=t._asyncToGenerator(t._regeneratorRuntime().mark((function e(r,a){var n,i,l,o,s,u,d,c,p,f,h,y,m,b=this;return t._regeneratorRuntime().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return l=(i=r||{}).dsKey,o=i.mKey,u=(s=a||{}).withSystemFields,d=s.withRelationFields,c=s.withCBFieldSchema,p=void 0===c||c,e.next=4,this.switch2Datasource({dsKey:l});case 4:if(f=this.manager.store.datasourceData,h=this.manager.store.getModelByKey(o)){e.next=9;break}return this.log(t.i18n("7f5612844371f5dd55416ae27f927b33",{"@1":o})),e.abrupt("return",{fields:[],relations:[]});case 9:return e.next=11,this._normalizeFieldsByType({model:h,withRelationFields:d,withSystemFields:u,withCBFieldSchema:p});case 11:if(y=e.sent,!d){e.next=18;break}return e.next=15,Promise.all((null!==(n=null==h?void 0:h.relations)&&void 0!==n?n:[]).map(function(){var e=t._asyncToGenerator(t._regeneratorRuntime().mark((function e(r){return t._regeneratorRuntime().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.t0=t._objectSpread2,e.t1=t._objectSpread2({},r),e.t2={},e.t3=r.key,e.t4=r.targetName,e.t5=null==f?void 0:f.key,e.t6=null==f?void 0:f.name,e.next=9,b._normalizeFieldsByType({model:b.manager.store.getModelByKey(r.targetKey),withRelationFields:d,withSystemFields:u,withCBFieldSchema:!1});case 9:return e.t7=e.sent,e.t8={value:e.t3,label:e.t4,dsValue:e.t5,dsLabel:e.t6,fields:e.t7},e.abrupt("return",(0,e.t0)(e.t1,e.t2,e.t8));case 12:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}()));case 15:e.t0=e.sent,e.next=19;break;case 18:e.t0=[];case 19:return m=e.t0,e.abrupt("return",{fields:y,relations:m});case 21:case"end":return e.stop()}}),e,this)}))),function(e,t){return d.apply(this,arguments)})},{key:"_normalizeFieldsByType",value:function(e){var r=this,a=e||{},n=a.model,i=a.withSystemFields,l=a.withRelationFields,o=a.withCBFieldSchema;return n?Promise.all(n.fields.filter((function(e){var r=!0;return n.isRelationField(e)||e.isForeignKey?r=!!l:t.isSystemField(e)&&(r=!!i),r})).map(function(){var e=t._asyncToGenerator(t._regeneratorRuntime().mark((function e(a,i){var s,u,d,c;return t._regeneratorRuntime().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(c=t._objectSpread2(t._objectSpread2({},r._normalizeField2FE(a,n.plainData)),{},{modelValue:n.plainData.value,modelLabel:n.plainData.label,modelKey:n.plainData.key}),!l||!n.isRelationField(a)){e.next=3;break}return e.abrupt("return",c);case 3:if(e.t0=t.toJS,e.t1=t._objectSpread2,e.t2=t._objectSpread2(t._objectSpread2({},c),t.normalizeFieldSPScope(a,n)),e.t3={},e.t4={allowedFilterOp:null!==(s=null===(u=r.manager.getFieldType(a.type))||void 0===u?void 0:u.allowedFilterOp)&&void 0!==s?s:[],defaultFilterOp:null===(d=r.manager.getFieldType(a.type))||void 0===d?void 0:d.defaultFilterOp},!o){e.next=15;break}return e.next=11,r.manager.buildFieldConditionFieldConfig(n.plainData,a);case 11:e.t6=e.sent,e.t5={CBFieldSchema:e.t6},e.next=16;break;case 15:e.t5={};case 16:return e.t7=e.t5,e.t8=(0,e.t1)(e.t2,e.t3,e.t4,e.t7),e.abrupt("return",(0,e.t0)(e.t8));case 19:case"end":return e.stop()}}),e)})));return function(t,r){return e.apply(this,arguments)}}())):[]}},{key:"getAvailableFieldsDeep",value:(s=t._asyncToGenerator(t._regeneratorRuntime().mark((function e(r){var a,n,i,l,o,s,u,d,c,p,f,b,v,g,F,k,_,x,S,w=this;return t._regeneratorRuntime().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=(a=r||{}).dsKey,i=a.mKey,l=a.options,s=(o=l||{}).feat,u=o.excludeSelf,d=void 0!==u&&u,c=o.listMode,p=o.excludeModelKeys,f=void 0===p?[]:p,b=o.enableSubGroup,v=void 0!==b&&b,g=o.defaultChecked,F=void 0!==g&&g,e.next=4,this.switch2Datasource({dsKey:n});case 4:if(k=this.manager.store.getModelByKey(i)){e.next=8;break}return this.log(t.i18n("7f5612844371f5dd55416ae27f927b33",{"@1":i})),e.abrupt("return",[]);case 8:return _=(!0===d?m.default(k.availableFieldsDeep,k.fields,(function(e,t){return e.id===t.id})):k.availableFieldsDeep).filter((function(e){var t,r;return!(f&&f.length>0&&f.includes(null!==(t=null===(r=e.keyPath)||void 0===r||null===(r=r.split("."))||void 0===r?void 0:r[0])&&void 0!==t?t:""))})),e.next=11,t.normalizeField2FE(_,k,this.manager,{enableCB:!0,excludeSelf:d,defaultChecked:F,feat:s,mapperFn:function(e){return t._objectSpread2(t._objectSpread2({},e),{},{typeLabel:w.getTypeLabel("relation"===e.type?{relationMode:e.relation.relationMode}:e)})}});case 11:if(x=e.sent,"group"!==c){e.next=18;break}return S=[],y.default(h.default(x,(function(e){return e.modelKey})),(function(e,t){var r;S.push({label:null!==(r=e[0].modelLabel)&&void 0!==r?r:"anonymous",value:t,children:e})})),e.abrupt("return",S);case 18:if("tree"!==c){e.next=22;break}return e.abrupt("return",!0===v?this._buildAvailableFieldsTreeWithSubGroup(x):this._buildAvailableFieldsTree(x));case 22:return e.abrupt("return",x);case 23:case"end":return e.stop()}}),e,this)}))),function(e){return s.apply(this,arguments)})},{key:"_buildAvailableFieldsTree",value:function(e,r){var a=new Map,n=[];return e.forEach((function(e){var n=r&&"function"==typeof r?r(e):t._objectSpread2(t._objectSpread2({},e),{},{value:e.keyPath});e.relationId?a.set(e.relationId,n):a.set(e.id,n)})),e.forEach((function(e){var t;if(e.id){var r=e.id,i=e.parentId,l=e.relationId,o=null!==(t=a.get(r))&&void 0!==t?t:a.get(l),s=a.get(i);o&&(s?(Array.isArray(s.children)||(s.children=[]),s.children.push(o)):n.push(o))}})),n}},{key:"_buildAvailableFieldsTreeWithSubGroup",value:function(e){var r=this,a=new Map,n=[],i={},l=[];e.forEach((function(e){var r=t._objectSpread2(t._objectSpread2({},e),{},{value:e.keyPath});if(t.isSystemField(e)){var n,o="".concat(e.modelKey,".$systemFields");return i.hasOwnProperty(o)?n=i[o]:(n={parentId:e.parentId,type:"subGroup",id:o,key:"$systemFields",value:o,name:t.i18n("系统字段"),label:t.i18n("系统字段"),disabled:!0,children:[]},i[o]=n),void n.children.push(r)}if(e.isForeignKey){var s,u="".concat(e.modelKey,".$foreignKeyFields");return i.hasOwnProperty(u)?s=i[u]:(s={parentId:e.parentId,type:"subGroup",id:u,key:"$foreignKeyFields",value:u,name:t.i18n("外键字段"),label:t.i18n("外键字段"),disabled:!0,children:[]},i[u]=s),void s.children.push(r)}e.relationId?(a.set(e.relationId,r),l.push(e)):(a.set(e.id,r),l.push(e))}));for(var o=0,s=Object.entries(i);o<s.length;o++){var u=t._slicedToArray(s[o],2),d=u[0],c=u[1];c.children=f.default(c.children,(function(e){var t;return null!==(t=e.isPrimaryKey?0:r.systemFieldOrderMap[e.key])&&void 0!==t?t:1/0})),l.push(c),a.set(d,c)}return l.forEach((function(e){var t;if(e.id){var r,i=e.id,l=e.parentId,o=e.relationId,s=null!==(t=a.get(i))&&void 0!==t?t:a.get(o);if(a.has(l)&&(r=a.get(l)),s)if(r)if(Array.isArray(r.children)||(r.children=[]),"subGroup"===s.type){var u=r.children[0];u&&"subGroup"===u.type&&"$systemFields"===u.key?r.children.splice(1,0,s):r.children.unshift(s)}else r.children.push(s);else if("subGroup"===s.type){var d=n[0];d&&"subGroup"===d.type&&"$systemFields"===d.key?n.splice(1,0,s):n.unshift(s)}else n.push(s)}})),n}},{key:"getConditionBuilderFields",value:(o=t._asyncToGenerator(t._regeneratorRuntime().mark((function e(r){var a,n,i,l,o,s,d,c,p;return t._regeneratorRuntime().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=(a=r||{}).dsKey,i=a.mKey,l=a.options,o=(l||{}).listMode,e.next=4,this.switch2Datasource({dsKey:n});case 4:if(s=this.manager.store.getModelByKey(i)){e.next=8;break}return this.log(t.i18n("7f5612844371f5dd55416ae27f927b33",{"@1":i})),e.abrupt("return",[]);case 8:return e.next=10,t.normalizeField2FE(s.availableFieldsDeep,s,this.manager,{enableCB:!0});case 10:if(d=e.sent,"tree"!==o){e.next=15;break}return c=this._buildAvailableFieldsTree(d),p=u.filterTree(u.mapTree(c,(function(e){return Array.isArray(e.children)&&e.children.length>0?t._objectSpread2(t._objectSpread2(t._objectSpread2({},e.CBFieldSchema),"relation"===e.type?{label:e.name,name:e.keyPath}:{}),{},{children:e.children}):t.filterFieldByFeat(e,"AdvancedQuery")&&null!=e.CBFieldSchema?t._objectSpread2({},e.CBFieldSchema):t._objectSpread2(t._objectSpread2({},e),{},{shouldExclude:!0})})),(function(e){return!(null!=e&&e.shouldExclude)&&null!=e})),e.abrupt("return",p);case 15:return e.abrupt("return",d.map((function(e){return t._objectSpread2({},e.CBFieldSchema)})));case 16:case"end":return e.stop()}}),e,this)}))),function(e){return o.apply(this,arguments)})},{key:"getFieldInfo",value:(l=t._asyncToGenerator(t._regeneratorRuntime().mark((function e(r){var a,n,i,l,o,s,u,d,c;return t._regeneratorRuntime().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return i=(n=r||{}).dsKey,l=n.mKey,o=n.fieldId,e.next=3,this.switch2Datasource({dsKey:i});case 3:if(s=this.manager.store.getModelByKey(l)){e.next=7;break}return this.log(t.i18n("7f5612844371f5dd55416ae27f927b33",{"@1":l})),e.abrupt("return");case 7:if(u=null==s||null===(a=s.getFieldById)||void 0===a?void 0:a.call(s,o)){e.next=11;break}return this.log(t.i18n("279f86259b5a2c399f188ccbd28dc9ba",{"@1":o})),e.abrupt("return");case 11:return d=this.manager.getFieldType(u.type),c=t._objectSpread2(t._objectSpread2({},t.toJS(u)),{},{filterable:!(null==d||!d.filterable),allowedFilterOp:null==d?void 0:d.allowedFilterOp}),e.abrupt("return",c);case 14:case"end":return e.stop()}}),e,this)}))),function(e){return l.apply(this,arguments)})},{key:"buildFieldQuickEditSettingForm",value:(i=t._asyncToGenerator(t._regeneratorRuntime().mark((function e(r){var a,n,i,l,o,s,u,d,c,p,f;return t._regeneratorRuntime().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return l=(i=r||{}).dsKey,o=i.mKey,s=i.fieldId,u=i.config,e.next=3,this.switch2Datasource({dsKey:l});case 3:if(d=this.manager.store.getModelByKey(o)){e.next=7;break}return this.log(t.i18n("7f5612844371f5dd55416ae27f927b33",{"@1":o})),e.abrupt("return");case 7:if(c=null==d||null===(a=d.getFieldById)||void 0===a?void 0:a.call(d,s)){e.next=11;break}return this.log(t.i18n("279f86259b5a2c399f188ccbd28dc9ba",{"@1":s})),e.abrupt("return");case 11:return e.t0=t.toJS,e.next=14,this.manager.buildFieldEditSettingForm(d.plainData,t.toJS(c),t._objectSpread2(t._objectSpread2({},null!=u?u:{}),{},{settingFor:"quick-edit"}));case 14:return e.t1=e.sent,p=(0,e.t0)(e.t1),f=null==p||null===(n=p.body)||void 0===n||null===(n=n[0])||void 0===n?void 0:n.body,e.abrupt("return",Array.isArray(f)&&f.length?{type:"container",className:"me-SettingSubContainer",wrapperBody:!1,visibleOn:"${quickEdit}",body:[{type:"combo",name:"quickEdit",label:!1,items:f,multiLine:!0,multiple:!1,noBorder:!0,subFormMode:"horizontal",itemClassName:"no-bg",subFormHorizontal:{justify:!0}}]}:void 0);case 18:case"end":return e.stop()}}),e,this)}))),function(e){return i.apply(this,arguments)})},{key:"buildRelationFieldEditSettingForm",value:(n=t._asyncToGenerator(t._regeneratorRuntime().mark((function e(r){var a,n,i,l,o,s,u,d,c,p;return t._regeneratorRuntime().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return i=(n=r||{}).dsKey,l=n.mKey,o=n.fieldId,s=n.config,u=n.schema,d=(s||{}).mode,e.next=4,this.switch2Datasource({dsKey:i});case 4:if(c=this.manager.store.getModelByKey(l)){e.next=8;break}return this.log(t.i18n("7f5612844371f5dd55416ae27f927b33",{"@1":l})),e.abrupt("return");case 8:if(p=null==c||null===(a=c.getFieldById)||void 0===a?void 0:a.call(c,o)){e.next=12;break}return this.log(t.i18n("50d42224cd0e5e1f170762021b816a9b",{"@1":o})),e.abrupt("return");case 12:if("relation"===p.type){e.next=15;break}return this.log(t.i18n("2f73a9cf61b66d1d630a454ff334fff4",{"@1":p.name})),e.abrupt("return");case 15:if("view"!==d){e.next=20;break}return e.next=18,this.manager.buildFieldViewSettingForm(c.plainData,t.toJS(p),t._objectSpread2(t._objectSpread2({},null!=s?s:{}),{},{settingFor:"scaffold"}),u);case 18:e.next=22;break;case 20:return e.next=22,this.manager.buildFieldEditSettingForm(c.plainData,t.toJS(p),t._objectSpread2(t._objectSpread2({},null!=s?s:{}),{},{settingFor:"scaffold"}),u);case 22:return e.abrupt("return",t.toJS(u));case 23:case"end":return e.stop()}}),e,this)}))),function(e){return n.apply(this,arguments)})},{key:"buildApiBySchema",value:(a=t._asyncToGenerator(t._regeneratorRuntime().mark((function e(r,a){var n,i,l,o,s,u,d,c,p,f,h,y,m,b,v,g,F,k,_,x,S;return t._regeneratorRuntime().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(o=(l=(r=r||{})||{}).apiSchema,s=l.entity,u=l.options,c=(d=s||{}).dsKey,p=d.mKey,h=(f=u||{}).strategy,y=void 0===h?"jsonql":h,m=f.apiPrefix,b=f.useApiSchema,c&&p){e.next=7;break}return this.log(t.i18n("aff066e189b511305b60b3c2ae665c95",{})),e.abrupt("return");case 7:if(o){e.next=10;break}return this.log(t.i18n("0c1dab51d1c43ae23d7680d35df6c195",{})),e.abrupt("return");case 10:return e.next=12,this.switch2Datasource({dsKey:c});case 12:if(v=this.manager.store.getModelByKey(p)){e.next=16;break}return this.log(t.i18n("7f5612844371f5dd55416ae27f927b33",{"@1":p})),e.abrupt("return");case 16:return g=null!==(n=null==o?void 0:o.select)&&void 0!==n?n:[],F=null!==(i=o.action)&&void 0!==i?i:"View",e.next=20,this.getAvailableFieldsDeep({dsKey:c,mKey:p,options:{feat:F,excludeSelf:!1,defaultChecked:!0}});case 20:return k=e.sent.filter((function(e){return(null==g?void 0:g.length)<1||!!~g.findIndex((function(t){return t.id===e.id}))})),_=this.manager.makeApiStrategy(v.data.key,{apiPrefix:m,useApiSchema:b},y),x=new t.ApiBuilder(v.data.primaryField,y),e.next=25,a(k,x,_);case 25:return S=e.sent,e.abrupt("return",t._objectSpread2({action:F,origin:"sdk",sourceType:"model-entity",strategy:"jsonql"===y?"jsonql":"restful",entity:_.modelInfo,select:o.select},S));case 27:case"end":return e.stop()}}),e,this)}))),function(e,t){return a.apply(this,arguments)})},{key:"getFieldTableTree",value:(r=t._asyncToGenerator(t._regeneratorRuntime().mark((function e(r,a,n){var i,l,o,s,u,d,c,f,h=this;return t._regeneratorRuntime().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(l=null===(i=n=n||{})||void 0===i?void 0:i.fields,o=[],r&&a){e.next=6;break}return this.log(t.i18n("fcf88f6bbe42c662a60295dcd0cf692d")),e.abrupt("return",o);case 6:if(l&&("*"===l||Array.isArray(l))){e.next=9;break}return this.log(t.i18n("991e5bf3f68a63138495190cac931a7a")),e.abrupt("return",o);case 9:return e.prev=9,e.next=12,this.switch2Datasource({dsKey:r});case 12:if(s=this.manager.store.models,u=this.manager.store.getModelByKey(a)){e.next=17;break}return this.log(t.i18n("7f5612844371f5dd55416ae27f927b33",{"@1":a})),e.abrupt("return",o);case 17:"*"===l?o=u.fields.map((function(e){return h._normalizeField2FE(e,u.plainData)})):(c=l.map((function(e){return e.value})),f=null!==(d=p.default(l.map((function(e){return e.value.split(".").length}))))&&void 0!==d?d:1,o=this._recursiveBuildFieldTableTree(u,{},"",1,{depth:f,models:s,fieldValues:c})),e.next=22;break;case 20:e.prev=20,e.t0=e.catch(9);case 22:return e.abrupt("return",o);case 23:case"end":return e.stop()}}),e,this,[[9,20]])}))),function(e,t,a){return r.apply(this,arguments)})},{key:"_recursiveBuildFieldTableTree",value:function(e,r,a,n,i){var l=this,o=i=i||{},s=o.depth,u=o.fieldValues,d=[];if(r[e.plainData.key]||!e||n>s)return d;r[e.id]=!0;var c,p=t._createForOfIteratorHelper(e.fields);try{var f=function(){var o=c.value,s=a+o.key;if(!u.some((function(e){return e===s||e.includes(".")&&e.includes(s)})))return 1;if("relation"===o.type){var p,f=null==e||null===(p=e.relations)||void 0===p?void 0:p.find((function(e){return e.id===o.relationId}));if(f&&s.includes(s)){var h=l.manager.store.getModelByKey(f.targetKey);d.push(t._objectSpread2(t._objectSpread2({},o),{},{value:s,label:o.name,typeLabel:l.getTypeLabel(f),checked:u.some((function(e){return e===s})),children:h?l._recursiveBuildFieldTableTree(h,r,a+"".concat(o.key,"."),(null!=n?n:0)+1,i):[]}))}}else d.push(t._objectSpread2(t._objectSpread2({},o),{},{value:s,label:n>1?"".concat(e.data.name,".").concat(o.name):o.name,typeLabel:l.getTypeLabel(o),checked:u.some((function(e){return e===s}))}))};for(p.s();!(c=p.n()).done;)f()}catch(e){p.e(e)}finally{p.f()}return d}},{key:"getFieldJsonSchema",value:(e=t._asyncToGenerator(t._regeneratorRuntime().mark((function e(r,a,n){var i,l,o,s,u,d,c;return t._regeneratorRuntime().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(i={$id:(null==n?void 0:n.rootId)||t.guid(),type:"object",properties:{}},l=null==n?void 0:n.fields,r&&a){e.next=5;break}return this.log(t.i18n("fcf88f6bbe42c662a60295dcd0cf692d")),e.abrupt("return",i);case 5:if(l&&("*"===l||Array.isArray(l))){e.next=8;break}return this.log(t.i18n("991e5bf3f68a63138495190cac931a7a")),e.abrupt("return",i);case 8:return e.prev=8,e.next=11,this.switch2Datasource({dsKey:r});case 11:if(o=this.manager.store.models,s=this.manager.store.getModelByKey(a)){e.next=16;break}return this.log(t.i18n("7f5612844371f5dd55416ae27f927b33",{"@1":a})),e.abrupt("return",i);case 16:"*"===l?i.properties=this._recursiveBuildFieldJsonSchema(s,{},"",1,{depth:1,models:o,fieldValues:l}):(d=l.map((function(e){return e.value})),c=null!==(u=p.default(l.map((function(e){return e.value.split(".").length}))))&&void 0!==u?u:1,i.properties=this._recursiveBuildFieldJsonSchema(s,{},"",1,{depth:c,models:o,fieldValues:d})),e.next=21;break;case 19:e.prev=19,e.t0=e.catch(8);case 21:return e.abrupt("return",i);case 22:case"end":return e.stop()}}),e,this,[[8,19]])}))),function(t,r,a){return e.apply(this,arguments)})},{key:"_recursiveBuildFieldJsonSchema",value:function(e,r,a,n,i){var l=this,o=i=i||{},s=o.depth;o.models;var u=o.fieldValues,d={};if(r[e.plainData.key]||!e||n>s)return d;r[e.id]=!0;var c,p=t._createForOfIteratorHelper(e.fields);try{var f=function(){var o=c.value,s=a+o.key;if(!("*"===u||u.some((function(e){return e===s||e.includes(".")&&e.includes(s)}))||o.isPrimaryKey&&"id"===o.key))return 1;if("relation"===o.type){var p,f=null==e||null===(p=e.relations)||void 0===p?void 0:p.find((function(e){return e.id===o.relationId}));if(f&&s.includes(s)){var h=l.manager.store.getModelByKey(f.targetKey),y=["1:n","n:n"].includes(f.relationMode)?"array":"object",m="array"===y?"items":"properties";d[o.key]=t._defineProperty({$id:o.key,name:s,title:o.name,type:y,description:"array"===y?t.i18n("数组"):t.i18n("对象"),tag:"array"===y?t.i18n("数组"):t.i18n("对象")},m,h?"array"===y?{type:"object",properties:l._recursiveBuildFieldJsonSchema(h,r,a+"".concat(o.key,"."),(null!=n?n:0)+1,i)}:l._recursiveBuildFieldJsonSchema(h,r,a+"".concat(o.key,"."),(null!=n?n:0)+1,i):{})}}else d[o.key]={$id:o.key,name:s,title:o.name,type:o.type,description:l.getTypeLabel(o),tag:l.getTypeLabel(o)}};for(p.s();!(c=p.n()).done;)f()}catch(e){p.e(e)}finally{p.f()}return d}},{key:"log",value:function(e){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"error";return console[r]("[amis-model-design] ".concat(r,": ").concat(t.i18n(e)))}}]);var e,r,a,n,i,l,o,s,d,c}();exports.AddModelForm=e.AddModelForm,exports.AddModelFormModal=e.AddModelFormModal,exports.EditDatasourceForm=e.EditDatasourceForm,exports.EditDatasourceFormModal=e.EditDatasourceFormModal,exports.EntityPicker=e.EntityPicker,exports.FieldsQuickEdit=e.FieldsQuickEdit,exports.FieldsQuickEditModal=e.FieldsQuickEditModal,exports.ModelDesignEditor=e.Editor,exports.PanelFrame=e.PanelFrame,exports.PanelFrameContent=e.PanelFrameContent,exports.SchemaBuilderEditor=e.SchemaBuilderEditor,exports.AsideList=t.AsideList,exports.BasePlugin=t.BasePlugin,exports.DatasourceList=t.AsideList,exports.FieldItemProps=t.FieldItemProps,exports.Manager=t.Manager,exports.OptionsCustom=t.OptionsCustom,exports.Panel=t.Panel,exports.RelationShipItemProps=t.RelationShipItemProps,exports.getPlugins=t.getPlugins,exports.getSchemaTpl=t.getSchemaTpl,exports.setSchemaTpl=t.setSchemaTpl,exports.FieldManager=v,exports.InputCondition=function(e){var r=e.value,n=e.onChange,i=e.disabled,l=e.placeholder,o=e.hasError,s=e.fields,u=e.formula,d=e.modalSize,p=void 0===d?"lg":d,f=e.renderEtrValue;function h(e){return c.default.createElement("div",{className:t.classnames("InputCondition-result")},Array.isArray(e.children)&&e.children.length?c.default.createElement("span",null,"已配置"):null)}function y(){null==n||n(null)}return c.default.createElement(a.PickerContainer,{title:"过滤器设置",size:p,value:r,onConfirm:function(e){null==n||n(e)},bodyRender:function(e){var r=e.value;e.onClose;var n=e.onChange;return e.setState,t._objectWithoutProperties(e,b),c.default.createElement(a.ConditionBuilder,{value:r,onChange:n,fields:s,formula:u,renderEtrValue:f})}},(function(e){var n=e.onClick;return c.default.createElement(a.ResultBox,{hasError:o,allowInput:!1,clearable:!0,disabled:i,placeholder:l,itemRender:h,onResultChange:y,result:r,actions:c.default.createElement(a.Icon,{icon:"api-picker-icon",className:t.classnames("InputCondition-icon"),onClick:n})})}))};