@steedos-widgets/amis-object 0.0.14 → 0.0.15
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/dist/amis/AmisRecordDetailRelatedLists.d.ts +18 -0
- package/dist/amis/index.d.ts +1 -0
- package/dist/amis-object.cjs.js +83 -41
- package/dist/amis-object.cjs.js.map +1 -1
- package/dist/amis-object.esm.js +84 -43
- package/dist/amis-object.esm.js.map +1 -1
- package/dist/amis-object.umd.js +83 -41
- package/dist/amis-object.umd.js.map +1 -1
- package/dist/assets.json +5 -5
- package/dist/meta.js +193 -87
- package/dist/metas/AmisRecordDetailRelatedLists.d.ts +2 -0
- package/package.json +2 -2
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
export declare const AmisRecordDetailRelatedLists: (props: any) => Promise<{
|
|
2
|
+
type: string;
|
|
3
|
+
body: string;
|
|
4
|
+
level: string;
|
|
5
|
+
showIcon: boolean;
|
|
6
|
+
className: string;
|
|
7
|
+
} | {
|
|
8
|
+
type: string;
|
|
9
|
+
body: {
|
|
10
|
+
type: string;
|
|
11
|
+
objectApiName: any;
|
|
12
|
+
relatedObjectApiName: any;
|
|
13
|
+
foreign_key: any;
|
|
14
|
+
}[];
|
|
15
|
+
level?: undefined;
|
|
16
|
+
showIcon?: undefined;
|
|
17
|
+
className?: undefined;
|
|
18
|
+
}>;
|
package/dist/amis/index.d.ts
CHANGED
|
@@ -5,5 +5,6 @@ export * from './AmisObjectListview';
|
|
|
5
5
|
export * from './AmisObjectTable';
|
|
6
6
|
export * from './AmisRecordDetailHeader';
|
|
7
7
|
export * from './AmisRecordDetailRelatedList';
|
|
8
|
+
export * from './AmisRecordDetailRelatedLists';
|
|
8
9
|
export * from './AmisSelectUser';
|
|
9
10
|
export * from './AmisProvider';
|
package/dist/amis-object.cjs.js
CHANGED
|
@@ -562,11 +562,11 @@ const RegisterRenders=[],normalizeLink=(e,t=window.location)=>{(e=e||"")&&"#"===
|
|
|
562
562
|
}
|
|
563
563
|
}
|
|
564
564
|
return payload;
|
|
565
|
-
`,headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"}}};return e.multiple&&(t.multiple=!0,t.joinValues=!1,t.extractValue=!0),t},getAmisFileSchema=(e,t)=>(t?getAmisFileReadonlySchema:getAmisFileEditSchema)(e);async function getTableColumns(e,t){var a=[{name:"_index",type:"text",width:32,placeholder:""}];for(const r of e)if(!r.is_name&&r.name!==t.labelFieldName||"cms_files"!==t.objectName)if("toggle"===r.type)a.push({type:"switch",name:r.name,label:r.label,width:r.width,toggled:r.toggled,disabled:!0,className:"whitespace-nowrap"});else if("avatar"===r.type||"image"===r.type||"file"===r.type)a.push({type:"switch",name:r.name,label:r.label,width:r.width,toggled:r.toggled,disabled:!0,className:"whitespace-nowrap",...getAmisFileReadonlySchema(r)});else {var i=await getFieldTpl(r,t);let e="text";i?e="tpl":"html"===r.type&&(e="markdown"),r.hidden||r.extra||a.push({name:r.name,label:r.label,sortable:r.sortable,width:r.width,type:e,tpl:i,toggled:r.toggled,className:"textarea"===r.type?"w-56 whitespace-pre-wrap textarea":"whitespace-nowrap",html:"html"===r.type||null});}else a.push({type:"button",className:"whitespace-nowrap",label:`\${${r.name}}`,type:"button",actionType:"ajax",api:{url:"${context.rootUrl}/api/files/files/${versions[0]}?download=true",method:"get",headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"},responseType:"blob",dataType:"form-data"},id:"u:6c8291d1029f",level:"link"});return a}function getDefaultParams(e){return {perPage:e.top||config.listView.perPage}}function getButtonVisibleOn$1(e){let t=e.visible;if(e._visible&&(t=e._visible),t=_$1.isBoolean(t)?t.toString():t)return
|
|
565
|
+
`,headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"}}};return e.multiple&&(t.multiple=!0,t.joinValues=!1,t.extractValue=!0),t},getAmisFileSchema=(e,t)=>(t?getAmisFileReadonlySchema:getAmisFileEditSchema)(e);async function getTableColumns(e,t){var a=[{name:"_index",type:"text",width:32,placeholder:""}];for(const r of e)if(!r.is_name&&r.name!==t.labelFieldName||"cms_files"!==t.objectName)if("toggle"===r.type)a.push({type:"switch",name:r.name,label:r.label,width:r.width,toggled:r.toggled,disabled:!0,className:"whitespace-nowrap"});else if("avatar"===r.type||"image"===r.type||"file"===r.type)a.push({type:"switch",name:r.name,label:r.label,width:r.width,toggled:r.toggled,disabled:!0,className:"whitespace-nowrap",...getAmisFileReadonlySchema(r)});else {var i=await getFieldTpl(r,t);let e="text";i?e="tpl":"html"===r.type&&(e="markdown"),r.hidden||r.extra||a.push({name:r.name,label:r.label,sortable:r.sortable,width:r.width,type:e,tpl:i,toggled:r.toggled,className:"textarea"===r.type?"w-56 whitespace-pre-wrap textarea":"whitespace-nowrap",html:"html"===r.type||null});}else a.push({type:"button",className:"whitespace-nowrap",label:`\${${r.name}}`,type:"button",actionType:"ajax",api:{url:"${context.rootUrl}/api/files/files/${versions[0]}?download=true",method:"get",headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"},responseType:"blob",dataType:"form-data"},id:"u:6c8291d1029f",level:"link"});return a}function getDefaultParams(e){return {perPage:e.top||config.listView.perPage}}function getButtonVisibleOn$1(e){let t=e.visible;if(e._visible&&(t=e._visible),t=_$1.isBoolean(t)?t.toString():t)return t.trim().startsWith("function")?t+"(objectName, _id, recordPermissions, data)":t;if("amis_button"===e.type){e=e.amis_schema;if(e&&e.body&&0<e.body.length)return e.body[0].visibleOn}}async function getTableOperation(e){e=e.buttons;const t=[];if(_$1.each(e,e=>{_$1.isBoolean(e.visible)&&(e.visible=e.visible.toString()),t.push({type:"steedos-object-button",name:e.name,objectName:e.objectName,visibleOn:getButtonVisibleOn$1(e),className:"antd-Button--default"});}),!(t.length<1))return {type:"operation",label:"操作",fixed:"right",labelClassName:"text-center",className:"text-center steedos-listview-operation",buttons:[{type:"steedos-dropdown-button",label:"xxx",buttons:t,placement:"bottomLeft",id:"u:c2140a365019",onOpenApi:{url:"${context.rootUrl}/service/api/@${objectName}/recordPermissions/${_id}",method:"get",data:{$:"$$",objectName:"${objectName}",listViewId:"${listViewId}",appId:"${appId}",formFactor:"${formFactor}",context:"${context}"},responseData:{recordPermissions:"$$"},headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"},adaptor:`
|
|
566
566
|
payload.recordPermissions = payload;
|
|
567
567
|
return payload;
|
|
568
568
|
`}}]}}async function getTableSchema$1(e,t){e=await getTableColumns(e,t=t||{});return e.push(await getTableOperation(t)),{mode:"table",name:"thelist",draggable:!1,headerToolbar:["reload"],defaultParams:getDefaultParams(t),columns:e,syncLocation:!1,keepItemSelectionOnPageChange:!0,checkOnItemClick:!1,labelTpl:`\${${t.labelFieldName}}`,autoFillHeight:!1}}async function getTableApi(e,t,a){const i=[];let{globalFilter:r,filter:l,sort:n,top:o}=a;l=(l=_$1__namespace.isArray(l)?_$1__namespace.map(l,function(e){return e.operation?[e.field,e.operation,e.value]:e}):l)||[],_$1__namespace.each(t,function(e){e.searchable&&i.push(e.name);});const s={},d=[];t.forEach(e=>{_$1__namespace.includes(["image","avatar","file"],e.type)&&(d.push(e.name),s[e.name]={name:e.name,type:e.type,multiple:e.multiple});});a=e.key_field||"_id",t=await getApi$1(e,null,t,{alias:"rows",limit:o,queryOptions:'filters: {__filters}, top: {__top}, skip: {__skip}, sort: "{__sort}"'});return t.data.$term="$term",t.data.$self="$$",t.data.filter="$filter",t.requestAdaptor=`
|
|
569
|
-
|
|
569
|
+
let selfData = JSON.parse(JSON.stringify(api.data.$self));
|
|
570
570
|
${r?`var filters = ${JSON.stringify(r)};`:"var filters = [];"}
|
|
571
571
|
if(_.isEmpty(filters)){
|
|
572
572
|
filters = api.data.filter || [${JSON.stringify(l)}];
|
|
@@ -587,6 +587,20 @@ const RegisterRenders=[],normalizeLink=(e,t=window.location)=>{(e=e||"")&&"#"===
|
|
|
587
587
|
filters = [["${a.name}", "=", selfData.value]];
|
|
588
588
|
}
|
|
589
589
|
var searchableFilter = [];
|
|
590
|
+
try{
|
|
591
|
+
// TODO: 不应该直接在这里取localStorage,应该从外面传入
|
|
592
|
+
const selfSupperData = api.data.$self.__super.__super;
|
|
593
|
+
const listViewId = selfSupperData.listViewId;
|
|
594
|
+
const searchableFilterStoreKey = location.pathname + "/crud/" + listViewId ;
|
|
595
|
+
let localSearchableFilter = localStorage.getItem(searchableFilterStoreKey);
|
|
596
|
+
if(localSearchableFilter){
|
|
597
|
+
selfData = Object.assign({}, JSON.parse(localSearchableFilter), selfData);
|
|
598
|
+
}
|
|
599
|
+
}
|
|
600
|
+
catch(ex){
|
|
601
|
+
console.error("本地存储中crud参数解析异常:", ex);
|
|
602
|
+
}
|
|
603
|
+
|
|
590
604
|
_.each(selfData, (value, key)=>{
|
|
591
605
|
if(!_.isEmpty(value) || _.isBoolean(value)){
|
|
592
606
|
if(_.startsWith(key, '__searchable__between__')){
|
|
@@ -685,6 +699,25 @@ const RegisterRenders=[],normalizeLink=(e,t=window.location)=>{(e=e||"")&&"#"===
|
|
|
685
699
|
});
|
|
686
700
|
payload.data.rows = treeRecords;
|
|
687
701
|
}
|
|
702
|
+
|
|
703
|
+
|
|
704
|
+
try{
|
|
705
|
+
// TODO: 不应该直接在这里取localStorage,应该从外面传入
|
|
706
|
+
const selfSupperData = api.data.$self.__super.__super;
|
|
707
|
+
const listViewId = selfSupperData.listViewId;
|
|
708
|
+
const searchableFilterStoreKey = location.pathname + "/crud/" + listViewId ;
|
|
709
|
+
let localSearchableFilter = localStorage.getItem(searchableFilterStoreKey);
|
|
710
|
+
let selfData = JSON.parse(JSON.stringify(api.data.$self));
|
|
711
|
+
if(localSearchableFilter){
|
|
712
|
+
selfData = Object.assign({}, JSON.parse(localSearchableFilter), selfData);
|
|
713
|
+
}
|
|
714
|
+
delete selfData.context;
|
|
715
|
+
delete selfData.global;
|
|
716
|
+
localStorage.setItem(searchableFilterStoreKey, JSON.stringify(selfData));
|
|
717
|
+
}
|
|
718
|
+
catch(ex){
|
|
719
|
+
console.error("本地存储中crud参数解析异常:", ex);
|
|
720
|
+
}
|
|
688
721
|
return payload;
|
|
689
722
|
`,t}async function getApi$1(e,t,a,i){e=await getFindQuery(e,t,a,i);return {method:"post",url:getApi$2(),data:e,headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"}}}async function getSource(e){var t=await getFindQuery({name:"organizations"},null,[{name:"_id",alias:"value"},{name:"name",alias:"label"},{name:"children"}],{alias:"leftOptions",filters:"{__filters}"}),a=(t.query=t.query.replace(/,count\:.+/,"}"),await getFindQuery({name:"organizations"},null,[{name:"_id",alias:"ref"}],{alias:"children",filters:"{__filters}"})),a=(a.query=a.query.replace(/,count\:.+/,"}"),t.query=t.query.replace(/}$/,","+a.query.replace(/{(.+)}/,"$1}")),await getFindQuery({name:"space_users"},null,[{name:"user"},{name:"name"}],{alias:"defaultValueOptions",filters:"{__options_filters}"})),a=(a.query=a.query.replace(/,count\:.+/,"}"),t.query=t.query.replace(/}$/,","+a.query.replace(/{(.+)}/,"$1}")),t.$value="$"+e.name,`
|
|
690
723
|
var filters = [['parent', '=', null]];
|
|
@@ -852,47 +885,21 @@ const RegisterRenders=[],normalizeLink=(e,t=window.location)=>{(e=e||"")&&"#"===
|
|
|
852
885
|
`,i&&i.labelField.name,i&&i.valueField.name,e._optionsFunction&&(r.adaptor=`
|
|
853
886
|
payload.data.options = eval(${e._optionsFunction})(api.data);
|
|
854
887
|
return payload;
|
|
855
|
-
`);i={type:getAmisStaticFieldType("select",t),joinValues:!1,extractValue:!0,autoComplete:r};return !_$1__namespace.has(e,"defaultValue")||_$1__namespace.isString(e.defaultValue)&&e.defaultValue.startsWith("{")||(i.value=e.defaultValue),e.multiple&&(i.multiple=!0,i.extractValue=!0),t&&(i.tpl=await getLookupTpl(e,a)),i}async function getApi(e,t,a,i){e=await getFindQuery(e,t,a,i);return {method:"post",url:getApi$2(),data:e,headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"}}}async function lookupToAmis(e,t,a){var i,r;return t?{type:getAmisStaticFieldType("picker",t),tpl:getRelatedFieldTpl(e,a)}:_$1__namespace.isString(e.reference_to)||t?((i=await getReferenceTo(e))?(r=await getUISchema(i.objectName),"space_users"===i.objectName?lookupToAmisSelectUser:1==r.enable_enhanced_lookup?lookupToAmisPicker:lookupToAmisSelect):lookupToAmisSelect)(e,t,a):{type:"steedos-field-lookup",field:e,readonly:t,ctx:{},onEvent:{change:{weight:0,actions:[{actionType:"custom",script:"console.log('======', event)"}]}}}}async function lookupToAmisSelectUser(e,t,a){return getSelectUserSchema(e,t,a)}const OMIT_FIELDS=["created","created_by","modified","modified_by"];function getObjectFieldSubFields(t,e){var a=Object.assign({subFields:[]},t),e=_$1__namespace.filter(e,function(e){return e.name.startsWith(t.name+".")});return a.subFields=e,a}function getGridFieldSubFields(t,e){var a=Object.assign({subFields:[]},t),e=_$1__namespace.filter(e,function(e){return e.name.startsWith(t.name+".")});return a.subFields=e,a}function getSelectFieldOptions(e){const t=e.data_type||"text",a=[];return _$1__namespace.each(e.options,e=>{switch(t){case"number":a.push({label:e.label,value:Number(e.value)});break;case"text":a.push({label:e.label,value:String(e.value)});break;case"boolean":a.push({label:e.label,value:"false"!==e.value});}}),a}async function convertSFieldToAmisField(r,l,e){if(!_$1__namespace.includes(OMIT_FIELDS,r.name)||1==e.showSystemFields){var t,a={name:e.fieldNamePrefix?""+e.fieldNamePrefix+r.name:r.name,label:r.label,labelRemark:r.inlineHelpText,required:(_$1__namespace.has(e,"required")?e:r).required};let i={};switch(r.type){case"text":i.type=getAmisStaticFieldType("text",l);break;case"textarea":i.type=getAmisStaticFieldType("textarea",l),i.tpl=`<b><%=data.${r.name}%></b>`;break;case"html":i={type:"editor",language:"html",value:r.defaultValue||""};break;case"select":i={type:getAmisStaticFieldType("select",l),joinValues:!1,options:getSelectFieldOptions(r),extractValue:!0,clearable:!0,labelField:"label",valueField:"value",tpl:l?getSelectTpl(r):null},!_$1__namespace.has(r,"defaultValue")||_$1__namespace.isString(r.defaultValue)&&r.defaultValue.startsWith("{")||(t=r.data_type||"text",null!=r.defaultValue&&("text"===t?i.value=String(r.defaultValue):"number"===t?i.value=Number(r.defaultValue):"boolean"===t&&(i.value="false"!==r.defaultValue))),r.multiple&&(i.multiple=!0,i.extractValue=!0);break;case"boolean":i={type:getAmisStaticFieldType("checkbox",l),option:r.inlineHelpText,tpl:l?getSwitchTpl(r):null};break;case"input-date-range":i={type:"input-date-range",inputFormat:"YYYY-MM-DD",format:"YYYY-MM-DDT00:00:00.000[Z]",tpl:l?getDateTpl(r):null};break;case"date":i={type:getAmisStaticFieldType("date",l),inputFormat:"YYYY-MM-DD",format:"YYYY-MM-DDT00:00:00.000[Z]",tpl:l?getDateTpl(r):null};break;case"input-datetime-range":i={type:"input-datetime-range",inputFormat:"YYYY-MM-DD HH:mm",format:"YYYY-MM-DDTHH:mm:ss.SSS[Z]",tpl:l?getDateTimeTpl(r):null,utc:!0};break;case"datetime":i={type:getAmisStaticFieldType("datetime",l),inputFormat:"YYYY-MM-DD HH:mm",format:"YYYY-MM-DDTHH:mm:ss.SSS[Z]",tpl:l?getDateTimeTpl(r):null,utc:!0};break;case"input-time-range":i={type:"input-time-range",inputFormat:"HH:mm",timeFormat:"1970-01-01THH:mm:00.000[Z]",format:"1970-01-01THH:mm:00.000[Z]",tpl:l?getDateTimeTpl(r):null};break;case"time":i={type:getAmisStaticFieldType("time",l),inputFormat:"HH:mm",timeFormat:"1970-01-01THH:mm:00.000[Z]",format:"1970-01-01THH:mm:00.000[Z]",tpl:l?getDateTimeTpl(r):null};break;case"currency":case"number":i=l?{type:"static-tpl",tpl:getNumberTpl(r)}:{type:getAmisStaticFieldType("number",l),min:r.min,max:r.max,precision:r.scale};break;case"input-array":i=Object.assign({},r,a);break;case"input-range":i={type:"input-range",min:r.min,max:r.max,value:[0,0],multiple:!0,showInput:!0};break;case"percent":i={type:getAmisStaticFieldType("number",l),min:r.min,max:r.max,precision:r.scale};break;case"password":i={type:getAmisStaticFieldType("password",l),tpl:l?getPasswordTpl(r):null};break;case"lookup":case"master_detail":i=await lookupToAmis(r,l,e);break;case"autonumber":l&&(i={type:"static-text"});break;case"url":i={type:getAmisStaticFieldType("url",l)};break;case"email":i={type:getAmisStaticFieldType("email",l)};break;case"avatar":case"image":case"file":i=getAmisFileSchema(r,l);break;case"formula":case"summary":l&&(i.type=getAmisStaticFieldType(r.data_type,l));break;case"code":i={type:"editor",language:r.language,value:r.defaultValue||""};break;case"toggle":i={type:"switch",name:r.name,label:r.label,width:r.width,toggled:r.toggled,disabled:l};break;case"grid":i={type:"input-table",strictMode:!1,affixHeader:!1,editable:!l,addable:!l,removable:!l,draggable:!l,columns:[]},_$1__namespace.each(r.subFields,function(e){var t=e.name.replace(r.name+".$.","").replace(r.name+".",""),a=convertSFieldToAmisField(Object.assign({},e,{name:t}),l);a&&(delete a.name,delete a.label,i.columns.push({name:t,label:e.label,quickEdit:!l&&a}));});}return _$1__namespace.isEmpty(i)?void 0:(r.is_wide?i.className="col-span-2 m-1":i.className="m-1",l&&(i.className=i.className+" md:border-b"),i.labelClassName="text-left",l&&(i.quickEdit=!1),r.visible_on&&(i.visibleOn="$"+r.visible_on.substring(1,r.visible_on.length-1).replace(/formData./g,"")),Object.assign({},a,i,{clearValueOnHidden:!0,fieldName:r.name}))}}async function getFieldSearchable(e,t,a){let i=e,r=("grid"===i.type?i=await getGridFieldSubFields(e,t):"object"===e.type&&(i=await getObjectFieldSubFields(e,t)),"__searchable__");if(i.name.indexOf(".")<0){e=_$1.cloneDeep(i),t=(_$1.includes(["textarea","html","code","autonumber"],i.type)&&(e.type="text"),"number"!==i.type&&"currency"!==i.type||(e.type="input-array",e.inline=!0,e.addable=!1,e.removable=!1,e.value=[null,null],e.items={type:"input-number"},e.is_wide=!0,r+="between__"),"date"===i.type&&(e.type="input-date-range",e.is_wide=!0,r+="between__"),"datetime"===i.type&&(e.type="input-datetime-range",e.is_wide=!0,r+="between__"),"time"===i.type&&(e.type="input-time-range",e.is_wide=!0,r+="between__"),"users"===i.reference_to&&(e.reference_to="space_users",e.reference_to_field="user"),e.readonly=!1,e.disabled=!1,e.multiple=!0,e.is_wide=!1,e.defaultValue=void 0,await convertSFieldToAmisField(e,!1,Object.assign({},a,{fieldNamePrefix:r,required:!1,showSystemFields:!0})));if(t)return t}}async function getObjectFieldsFilterButtonSchema(e){return {type:"button",label:"",icon:"fa fa-search",className:"bg-transparent p-0 ml-1",onEvent:{click:{actions:[{actionType:"setValue",args:{value:{showFieldsFilter:"${!showFieldsFilter}"}},componentId:"service_"+("listview_"+e.name)}]}}}}async function getObjectFieldsFilterFormSchema(e,t,a){a=a||{};var i,r,l=[];for(i of t)_$1.includes(["grid","avatar","image","object","[object]","[Object]","[grid]","[text]","audio","file"],i.type)||(delete i.defaultValue,delete i.required,delete i.is_wide,delete i.readonly,delete i.hidden,delete i.omit,(r=await getFieldSearchable(i,t,{}))&&l.push(r));return a.enableSearchableFieldsVisibleOn&&l.forEach(function(e){e.visibleOn=`this.filterFormSearchableFields && this.filterFormSearchableFields.indexOf("${e.fieldName}") > -1`;}),{title:"",type:"form",name:"listview-filter-form",id:"listview_filter_form_"+e.name,mode:"normal",wrapWithPanel:!1,className:"sm:grid sm:gap-2 sm:grid-cols-4 mb-2",body:l}}async function getObjectFieldsFilterBarSchema(e,t,a){a=a||{};
|
|
888
|
+
`);i={type:getAmisStaticFieldType("select",t),joinValues:!1,extractValue:!0,autoComplete:r};return !_$1__namespace.has(e,"defaultValue")||_$1__namespace.isString(e.defaultValue)&&e.defaultValue.startsWith("{")||(i.value=e.defaultValue),e.multiple&&(i.multiple=!0,i.extractValue=!0),t&&(i.tpl=await getLookupTpl(e,a)),i}async function getApi(e,t,a,i){e=await getFindQuery(e,t,a,i);return {method:"post",url:getApi$2(),data:e,headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"}}}async function lookupToAmis(e,t,a){var i,r;return t?{type:getAmisStaticFieldType("picker",t),tpl:getRelatedFieldTpl(e,a)}:_$1__namespace.isString(e.reference_to)||t?((i=await getReferenceTo(e))?(r=await getUISchema(i.objectName),"space_users"===i.objectName?lookupToAmisSelectUser:1==r.enable_enhanced_lookup?lookupToAmisPicker:lookupToAmisSelect):lookupToAmisSelect)(e,t,a):{type:"steedos-field-lookup",field:e,readonly:t,ctx:{},onEvent:{change:{weight:0,actions:[{actionType:"custom",script:"console.log('======', event)"}]}}}}async function lookupToAmisSelectUser(e,t,a){return getSelectUserSchema(e,t,a)}const OMIT_FIELDS=["created","created_by","modified","modified_by"];function getObjectFieldSubFields(t,e){var a=Object.assign({subFields:[]},t),e=_$1__namespace.filter(e,function(e){return e.name.startsWith(t.name+".")});return a.subFields=e,a}function getGridFieldSubFields(t,e){var a=Object.assign({subFields:[]},t),e=_$1__namespace.filter(e,function(e){return e.name.startsWith(t.name+".")});return a.subFields=e,a}function getSelectFieldOptions(e){const t=e.data_type||"text",a=[];return _$1__namespace.each(e.options,e=>{switch(t){case"number":a.push({label:e.label,value:Number(e.value)});break;case"text":a.push({label:e.label,value:String(e.value)});break;case"boolean":a.push({label:e.label,value:"false"!==e.value});}}),a}async function convertSFieldToAmisField(r,l,e){if(!_$1__namespace.includes(OMIT_FIELDS,r.name)||1==e.showSystemFields){var t,a={name:e.fieldNamePrefix?""+e.fieldNamePrefix+r.name:r.name,label:r.label,labelRemark:r.inlineHelpText,required:(_$1__namespace.has(e,"required")?e:r).required};let i={};switch(r.type){case"text":i.type=getAmisStaticFieldType("text",l);break;case"textarea":i.type=getAmisStaticFieldType("textarea",l),i.tpl=`<b><%=data.${r.name}%></b>`;break;case"html":i={type:"editor",language:"html",value:r.defaultValue||""};break;case"select":i={type:getAmisStaticFieldType("select",l),joinValues:!1,options:getSelectFieldOptions(r),extractValue:!0,clearable:!0,labelField:"label",valueField:"value",tpl:l?getSelectTpl(r):null},!_$1__namespace.has(r,"defaultValue")||_$1__namespace.isString(r.defaultValue)&&r.defaultValue.startsWith("{")||(t=r.data_type||"text",null!=r.defaultValue&&("text"===t?i.value=String(r.defaultValue):"number"===t?i.value=Number(r.defaultValue):"boolean"===t&&(i.value="false"!==r.defaultValue))),r.multiple&&(i.multiple=!0,i.extractValue=!0);break;case"boolean":i={type:getAmisStaticFieldType("checkbox",l),option:r.inlineHelpText,tpl:l?getSwitchTpl(r):null};break;case"input-date-range":i={type:"input-date-range",inputFormat:"YYYY-MM-DD",format:"YYYY-MM-DDT00:00:00.000[Z]",tpl:l?getDateTpl(r):null};break;case"date":i={type:getAmisStaticFieldType("date",l),inputFormat:"YYYY-MM-DD",format:"YYYY-MM-DDT00:00:00.000[Z]",tpl:l?getDateTpl(r):null};break;case"input-datetime-range":i={type:"input-datetime-range",inputFormat:"YYYY-MM-DD HH:mm",format:"YYYY-MM-DDTHH:mm:ss.SSS[Z]",tpl:l?getDateTimeTpl(r):null,utc:!0};break;case"datetime":i={type:getAmisStaticFieldType("datetime",l),inputFormat:"YYYY-MM-DD HH:mm",format:"YYYY-MM-DDTHH:mm:ss.SSS[Z]",tpl:l?getDateTimeTpl(r):null,utc:!0};break;case"input-time-range":i={type:"input-time-range",inputFormat:"HH:mm",timeFormat:"1970-01-01THH:mm:00.000[Z]",format:"1970-01-01THH:mm:00.000[Z]",tpl:l?getDateTimeTpl(r):null};break;case"time":i={type:getAmisStaticFieldType("time",l),inputFormat:"HH:mm",timeFormat:"1970-01-01THH:mm:00.000[Z]",format:"1970-01-01THH:mm:00.000[Z]",tpl:l?getDateTimeTpl(r):null};break;case"currency":case"number":i=l?{type:"static-tpl",tpl:getNumberTpl(r)}:{type:getAmisStaticFieldType("number",l),min:r.min,max:r.max,precision:r.scale};break;case"input-array":i=Object.assign({},r,a);break;case"input-range":i={type:"input-range",min:r.min,max:r.max,value:[0,0],multiple:!0,showInput:!0};break;case"percent":i={type:getAmisStaticFieldType("number",l),min:r.min,max:r.max,precision:r.scale};break;case"password":i={type:getAmisStaticFieldType("password",l),tpl:l?getPasswordTpl(r):null};break;case"lookup":case"master_detail":i=await lookupToAmis(r,l,e);break;case"autonumber":l&&(i={type:"static-text"});break;case"url":i={type:getAmisStaticFieldType("url",l)};break;case"email":i={type:getAmisStaticFieldType("email",l)};break;case"avatar":case"image":case"file":i=getAmisFileSchema(r,l);break;case"formula":case"summary":l&&(i.type=getAmisStaticFieldType(r.data_type,l));break;case"code":i={type:"editor",language:r.language,value:r.defaultValue||""};break;case"toggle":i={type:"switch",name:r.name,label:r.label,width:r.width,toggled:r.toggled,disabled:l};break;case"grid":i={type:"input-table",strictMode:!1,affixHeader:!1,editable:!l,addable:!l,removable:!l,draggable:!l,columns:[]},_$1__namespace.each(r.subFields,function(e){var t=e.name.replace(r.name+".$.","").replace(r.name+".",""),a=convertSFieldToAmisField(Object.assign({},e,{name:t}),l);a&&(delete a.name,delete a.label,i.columns.push({name:t,label:e.label,quickEdit:!l&&a}));});}return _$1__namespace.isEmpty(i)?void 0:(r.is_wide?i.className="col-span-2 m-1":i.className="m-1",l&&(i.className=i.className+" md:border-b"),i.labelClassName="text-left",l&&(i.quickEdit=!1),r.visible_on&&(i.visibleOn="$"+r.visible_on.substring(1,r.visible_on.length-1).replace(/formData./g,"")),Object.assign({},a,i,{clearValueOnHidden:!0,fieldName:r.name}))}}async function getFieldSearchable(e,t,a){let i=e,r=("grid"===i.type?i=await getGridFieldSubFields(e,t):"object"===e.type&&(i=await getObjectFieldSubFields(e,t)),"__searchable__");if(i.name.indexOf(".")<0){e=_$1.cloneDeep(i),t=(_$1.includes(["textarea","html","code","autonumber"],i.type)&&(e.type="text"),"number"!==i.type&&"currency"!==i.type||(e.type="input-array",e.inline=!0,e.addable=!1,e.removable=!1,e.value=[null,null],e.items={type:"input-number"},e.is_wide=!0,r+="between__"),"date"===i.type&&(e.type="input-date-range",e.is_wide=!0,r+="between__"),"datetime"===i.type&&(e.type="input-datetime-range",e.is_wide=!0,r+="between__"),"time"===i.type&&(e.type="input-time-range",e.is_wide=!0,r+="between__"),"users"===i.reference_to&&(e.reference_to="space_users",e.reference_to_field="user"),e.readonly=!1,e.disabled=!1,e.multiple=!0,e.is_wide=!1,e.defaultValue=void 0,await convertSFieldToAmisField(e,!1,Object.assign({},a,{fieldNamePrefix:r,required:!1,showSystemFields:!0})));if(t)return t}}async function getObjectFieldsFilterButtonSchema(e){return {type:"button",label:"",icon:"fa fa-search",className:"bg-transparent p-0 ml-1",onEvent:{click:{actions:[{actionType:"setValue",args:{value:{showFieldsFilter:"${!showFieldsFilter}"}},componentId:"service_"+("listview_"+e.name)}]}}}}async function getObjectFieldsFilterFormSchema(e,t,a){a=a||{};var i,r,l=[];for(i of t)_$1.includes(["grid","avatar","image","object","[object]","[Object]","[grid]","[text]","audio","file"],i.type)||(delete i.defaultValue,delete i.required,delete i.is_wide,delete i.readonly,delete i.hidden,delete i.omit,(r=await getFieldSearchable(i,t,{}))&&l.push(r));var n=_$1.map(l,"name");return a.enableSearchableFieldsVisibleOn&&l.forEach(function(e){e.visibleOn=`this.filterFormSearchableFields && this.filterFormSearchableFields.indexOf("${e.fieldName}") > -1`;}),{title:"",type:"form",name:"listview-filter-form",id:"listview_filter_form_"+e.name,mode:"normal",wrapWithPanel:!1,className:"sm:grid sm:gap-2 sm:grid-cols-4 mb-2",persistData:"crud:${id}",persistDataKeys:n,body:l}}async function getObjectFieldsFilterBarSchema(e,t,a){a=a||{};t=await getObjectFieldsFilterFormSchema(e,t,Object.assign({},{enableSearchableFieldsVisibleOn:!0},a));return {type:"service",id:"service_listview_filter_form_"+e.name,dataProvider:{inited:`
|
|
889
|
+
const supperData = data.__super;
|
|
890
|
+
const searchableFieldsStoreKey = \`\${supperData.objectName}_\${supperData.listName}_searchable_fields\`;
|
|
891
|
+
let defaultSearchableFields = localStorage.getItem(searchableFieldsStoreKey);
|
|
892
|
+
setData({ filterFormSearchableFields: defaultSearchableFields });
|
|
893
|
+
`},body:{type:"wrapper",body:{type:"wrapper",body:[{type:"wrapper",body:[t],size:"xs",visibleOn:"this.filterFormSearchableFields && this.filterFormSearchableFields.length",className:"slds-filters__body p-0"},{type:"wrapper",body:{type:"wrapper",body:[{type:"button",label:"搜索",icon:"fa fa-search",visibleOn:"this.filterFormSearchableFields && this.filterFormSearchableFields.length",onEvent:{click:{actions:[{actionType:"custom",script:`
|
|
856
894
|
const appId = event.data.appId;
|
|
857
895
|
const objectName = event.data.objectName;
|
|
858
|
-
const
|
|
859
|
-
|
|
860
|
-
appId: appId,
|
|
861
|
-
name: objectName,
|
|
862
|
-
});
|
|
863
|
-
const pageId = listViewId + "-page";
|
|
864
|
-
const scope = SteedosUI.getRef(${a.isListviewInit?"listViewId":"pageId"});
|
|
896
|
+
const scopeId = event.data.scopeId;
|
|
897
|
+
const scope = SteedosUI.getRef(scopeId);
|
|
865
898
|
var filterForm = scope.getComponentById("listview_filter_form_" + objectName);
|
|
866
899
|
var filterFormValues = filterForm.getValues();
|
|
867
900
|
var listView = scope.getComponentById("listview_" + objectName);
|
|
868
901
|
listView.handleFilterSubmit(filterFormValues);
|
|
869
|
-
|
|
870
|
-
const appId = event.data.appId;
|
|
871
|
-
const objectName = event.data.objectName;
|
|
872
|
-
const listViewId = SteedosUI.getRefId({
|
|
873
|
-
type: "listview",
|
|
874
|
-
appId: appId,
|
|
875
|
-
name: objectName,
|
|
876
|
-
});
|
|
877
|
-
const pageId = listViewId + "-page";
|
|
878
|
-
const scope = SteedosUI.getRef(${a.isListviewInit?"listViewId":"pageId"});
|
|
879
|
-
var filterFormService = scope.getComponentById("service_listview_filter_form_" + objectName);
|
|
880
|
-
const searchableFields = filterFormService.props.data?.filterFormSearchableFields;
|
|
881
|
-
SteedosUI.Field.showFieldsTransfer({
|
|
882
|
-
objectName: "${e.name}",
|
|
883
|
-
data: {
|
|
884
|
-
fields: searchableFields,
|
|
885
|
-
},
|
|
886
|
-
onOk: (values) => {
|
|
887
|
-
filterFormService.setData({
|
|
888
|
-
filterFormSearchableFields: values.fields
|
|
889
|
-
});
|
|
890
|
-
},
|
|
891
|
-
onCancel: () => {
|
|
892
|
-
},
|
|
893
|
-
title: '设置搜索项'
|
|
894
|
-
});
|
|
895
|
-
`;return {type:"service",id:"service_listview_filter_form_"+e.name,body:{type:"wrapper",body:{type:"wrapper",body:[{type:"wrapper",body:[t],size:"xs",visibleOn:"this.filterFormSearchableFields && this.filterFormSearchableFields.length",className:"slds-filters__body p-0"},{type:"wrapper",body:{type:"wrapper",body:[{type:"button",label:"搜索",icon:"fa fa-search",visibleOn:"this.filterFormSearchableFields && this.filterFormSearchableFields.length",onEvent:{click:{actions:[{actionType:"custom",script:i}]}}},{type:"button",label:"设置搜索项",className:"ml-1",level:"link",onEvent:{click:{actions:[{actionType:"custom",script:a}]}}}],size:"xs",className:"space-x-4"},size:"xs",className:"slds-filters__footer slds-grid slds-shrink-none flex justify-between p-0"}],size:"xs",className:"slds-filters"},size:"xs",className:"border-gray slds-grid slds-grid_vertical slds-nowrap"},visibleOn:"this.showFieldsFilter",className:"px-1 py-1 bg-white b-b"}}const globalTag="__G_L_O_B_A_L__",getParentPath=function(e){return "string"!=typeof e||1===(e=e.split(".")).length?"#":(e.pop(),e.join("."))},getValueByPath=function(e,t){return "#"!==t&&t?"string"==typeof t?_$1.get(e,t):void console.error("path has to be a string"):e||{}},isExpression=function(e){var t,a;return "string"==typeof e&&(t=/^{{(function.+)}}$/,a=/^{{(.+=>.+)}}$/,!("string"!=typeof e||!e.match(/^{{(.+)}}$/)||e.match(t)||e.match(a)))},parseSingleExpression=function(t,e,a,i,r={}){var l,n;if(void 0===e&&(e={}),n=getParentPath(a),n=getValueByPath(e,n)||{},"string"!=typeof t)return t;l=t.substring(2,t.length-2),r=`
|
|
902
|
+
`}]}}},{type:"button",label:"设置搜索项",onEvent:{click:{actions:[{actionType:"dialog",dialog:{type:"dialog",size:"md",title:"设置搜索项",body:[{type:"form",title:"",body:[{label:"",type:"transfer",name:"fields",id:"u:92c0b3cccca0",source:{method:"get",url:"${context.rootUrl}/service/api/amis-metadata-objects/objects/${objectName}/fields/options",dataType:"json",headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"},data:null,requestAdaptor:"",adaptor:""},options:[],required:!0,placeholder:"-",className:"col-span-2 m-0",checkAll:!1,searchable:!0,sortable:!0,joinValues:!1,extractValue:!0,multiple:!0}],id:"u:e5ac506d5683",mode:"normal",persistData:!1,promptPageLeave:!0,name:"form",debug:!1,actions:[],panelClassName:"m-0",bodyClassName:"p-4",className:"steedos-amis-form"}],id:"u:ca99fa9fe1b1",actions:[{type:"button",label:"取消",onEvent:{click:{actions:[{componentId:"",args:{},actionType:"closeDialog"}]}},id:"u:4e447b5ca72a"},{type:"button",label:"确认",onEvent:{click:{actions:[{actionType:"custom",script:"const listName = context.props.data.listName;const objectName = context.props.data.objectName;\ndoAction({\n actionType: 'setValue',\n args: {\n value: {filterFormSearchableFields: context.props.data.fields}\n },\n componentId: \"service_listview_filter_form_\" + objectName,\n})\n; const searchableFieldsStoreKey = `${objectName}_${listName}_searchable_fields`; localStorage.setItem(searchableFieldsStoreKey, context.props.data.fields);"},{componentId:"",args:{},actionType:"closeDrawer"}]}},id:"u:14e7388fecd3",level:"primary"}],closeOnEsc:!1,closeOnOutside:!1,showCloseButton:!0,data:{"&":"$$",objectName:"${objectName}",listName:"${listName}",context:"${context}",fields:"${filterFormSearchableFields}"}}}]}},id:"u:b96d84868a5a",level:"link"}],size:"xs",className:"space-x-4"},size:"xs",className:"slds-filters__footer slds-grid slds-shrink-none flex justify-between p-0"}],size:"xs",className:"slds-filters"},size:"xs",className:"border-gray slds-grid slds-grid_vertical slds-nowrap"},visibleOn:"this.showFieldsFilter",className:"px-1 py-1 bg-white b-b"}}const globalTag="__G_L_O_B_A_L__",getParentPath=function(e){return "string"!=typeof e||1===(e=e.split(".")).length?"#":(e.pop(),e.join("."))},getValueByPath=function(e,t){return "#"!==t&&t?"string"==typeof t?_$1.get(e,t):void console.error("path has to be a string"):e||{}},isExpression=function(e){var t,a;return "string"==typeof e&&(t=/^{{(function.+)}}$/,a=/^{{(.+=>.+)}}$/,!("string"!=typeof e||!e.match(/^{{(.+)}}$/)||e.match(t)||e.match(a)))},parseSingleExpression=function(t,e,a,i,r={}){var l,n;if(void 0===e&&(e={}),n=getParentPath(a),n=getValueByPath(e,n)||{},"string"!=typeof t)return t;l=t.substring(2,t.length-2),r=`
|
|
896
903
|
var $user=${JSON.stringify(r)}; return `+l.replace(/\bformData\b/g,JSON.stringify(e).replace(/\bglobal\b/g,globalTag)).replace(/\bglobal\b/g,JSON.stringify(i)).replace(new RegExp("\\b"+globalTag+"\\b","g"),"global").replace(/rootValue/g,JSON.stringify(n));try{return Function(r)()}catch(e){return console.log(e,t,a),t}};async function getPage({type:e,pageId:t,appId:a,objectName:i="",recordId:r,formFactor:l="LARGE"}){e=await fetchAPI(`/api/pageSchema/${e}?app=${a}&objectApiName=${i=i||""}&recordId=${r=r||""}&pageId=${t=t||""}&formFactor=`+l);if(e&&e.schema)return e}const getSchema$4=async(e,t)=>{e="新建 "+e.label;let a={type:"steedos-object-form",label:"对象表单",objectApiName:"${objectName}",recordId:"",id:"u:f8ad8ddf153a",mode:"edit",layout:"horizontal"};t=await getPage({type:"form",appId:t.appId,objectName:t.objectName,formFactor:t.formFactor});return {type:"service",body:[{type:"button",label:"新建",id:"u:standard_new",level:"default",onEvent:{click:{actions:[{actionType:"dialog",dialog:{type:"dialog",title:e,bodyClassName:"",body:[a=t?_.isString(t.schema)?JSON.parse(t.schema):t.schema:a],id:"u:0b96577db93c",closeOnEsc:!1,closeOnOutside:!1,showCloseButton:!0,size:"lg"}}],weight:0}}}],regions:["body"],className:"p-0",id:"u:aef99d937b10"}},getSchema$3=async(e,t)=>{e="编辑 "+e.label;let a={type:"steedos-object-form",label:"对象表单",objectApiName:"${objectName}",recordId:"${recordId}",id:"u:d2b0c083c38f",mode:"edit"};t=await getPage({type:"form",appId:t.appId,objectName:t.objectName,formFactor:t.formFactor});return {type:"service",body:[{type:"button",label:"编辑",id:"u:standard_edit",onEvent:{click:{actions:[{actionType:"dialog",dialog:{type:"dialog",title:e,bodyClassName:"",body:[a=t?_.isString(t.schema)?JSON.parse(t.schema):t.schema:a],id:"u:ee95697baa4f",closeOnEsc:!1,closeOnOutside:!1,showCloseButton:!0,size:"lg"}}],weight:0}}}],regions:["body"],className:"p-0",id:"u:3c5cbc0429bb"}},getSchema$2=e=>({type:"service",className:"p-0",body:[{type:"button",label:"删除",confirmText:"确定要删除此项目?",onEvent:{click:{actions:[{args:{api:{method:"post",url:"${context.rootUrl}/graphql",data:{"&":"$$",recordId:"${recordId}",objectName:"${objectName}"},requestAdaptor:"const {recordId, objectName} = api.body; var deleteArray = []; deleteArray.push(`delete:${objectName}__delete(id: \"${recordId}\")`); api.data = {query: `mutation{${deleteArray.join(',')}}`}; return api;",headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"},adaptor:`
|
|
897
904
|
if(payload.errors){
|
|
898
905
|
payload.status = 2;
|
|
@@ -917,7 +924,7 @@ const RegisterRenders=[],normalizeLink=(e,t=window.location)=>{(e=e||"")&&"#"===
|
|
|
917
924
|
{
|
|
918
925
|
${a.join(",")}
|
|
919
926
|
}
|
|
920
|
-
`;return (await fetchAPI("/graphql",{method:"POST",body:JSON.stringify({query:e})})).data},getRecordPermissions=async(e,t)=>{return await fetchAPI(`/service/api/@${e}/recordPermissions/`+t,{method:"GET"})};let UI_SCHEMA_CACHE={},UISchemaFunction;const setUISchemaFunction=function(e){UISchemaFunction=e;},setUISchemaCache=("undefined"!=typeof window&&(window.UI_SCHEMA_CACHE||(window.UI_SCHEMA_CACHE=UI_SCHEMA_CACHE),UI_SCHEMA_CACHE=window.UI_SCHEMA_CACHE),(e,t)=>{UI_SCHEMA_CACHE[e]=t;}),getUISchemaCache=e=>_$1.cloneDeep(UI_SCHEMA_CACHE[e]),hasUISchemaCache=e=>_$1.has(UI_SCHEMA_CACHE,e);function getListViewColumns(e,t){return "SMALL"===t?_$1.isEmpty(e.mobile_columns)?_$1.slice(e.columns,0,4):e.mobile_columns:e.columns}function getListViewSort(e){let i="";return e&&e.sort&&e.sort.length&&_$1.each(e.sort,function(e,t){var a;_$1.isArray(e)?(a=e[0]+" "+(e[1]||""),a=0<t?","+a:a,i+=a):(a=e.field_name+" "+e.order,a=0<t?","+a:a,i+=a);}),i}async function getUISchema(t,e){if(t){if(!hasUISchemaCache(t)||e){let a=null;try{if(!(a=UISchemaFunction?await UISchemaFunction(t,e):await fetchAPI(`/service/api/@${t.replace(/\./g,"_")}/uiSchema`,{method:"get"})))return;setUISchemaCache(t,a),_$1.each(a.list_views,(e,t)=>{e.name=t,_$1.has(e,"columns")||(e.columns=a.list_views.all.columns);});}catch(e){console.error("getUISchema",t,e),setUISchemaCache(t,null);}}return getUISchemaCache(t)}}async function getField(e,t){return (await getUISchema(e))?.fields[t]}async function getFormSchema(e,t){e=await getUISchema(e);return {uiSchema:e,amisSchema:await getObjectForm(e,t)}}async function getViewSchema(e,t,a){e=await getUISchema(e);return {uiSchema:e,amisSchema:await getObjectDetail(e,t,a)}}async function getListSchema(e,t,a,i={}){var r
|
|
927
|
+
`;return (await fetchAPI("/graphql",{method:"POST",body:JSON.stringify({query:e})})).data},getRecordPermissions=async(e,t)=>{return await fetchAPI(`/service/api/@${e}/recordPermissions/`+t,{method:"GET"})};let UI_SCHEMA_CACHE={},UISchemaFunction;const setUISchemaFunction=function(e){UISchemaFunction=e;},setUISchemaCache=("undefined"!=typeof window&&(window.UI_SCHEMA_CACHE||(window.UI_SCHEMA_CACHE=UI_SCHEMA_CACHE),UI_SCHEMA_CACHE=window.UI_SCHEMA_CACHE),(e,t)=>{UI_SCHEMA_CACHE[e]=t;}),getUISchemaCache=e=>_$1.cloneDeep(UI_SCHEMA_CACHE[e]),hasUISchemaCache=e=>_$1.has(UI_SCHEMA_CACHE,e);function getListViewColumns(e,t){return "SMALL"===t?_$1.isEmpty(e.mobile_columns)?_$1.slice(e.columns,0,4):e.mobile_columns:e.columns}function getListViewSort(e){let i="";return e&&e.sort&&e.sort.length&&_$1.each(e.sort,function(e,t){var a;_$1.isArray(e)?(a=e[0]+" "+(e[1]||""),a=0<t?","+a:a,i+=a):(a=e.field_name+" "+e.order,a=0<t?","+a:a,i+=a);}),i}async function getUISchema(t,e){if(t){if(!hasUISchemaCache(t)||e){let a=null;try{if(!(a=UISchemaFunction?await UISchemaFunction(t,e):await fetchAPI(`/service/api/@${t.replace(/\./g,"_")}/uiSchema`,{method:"get"})))return;setUISchemaCache(t,a),_$1.each(a.list_views,(e,t)=>{e.name=t,_$1.has(e,"columns")||(e.columns=a.list_views.all.columns);});}catch(e){console.error("getUISchema",t,e),setUISchemaCache(t,null);}}return getUISchemaCache(t)}}async function getField(e,t){return (await getUISchema(e))?.fields[t]}async function getFormSchema(e,t){e=await getUISchema(e);return {uiSchema:e,amisSchema:await getObjectForm(e,t)}}async function getViewSchema(e,t,a){e=await getUISchema(e);return {uiSchema:e,amisSchema:await getObjectDetail(e,t,a)}}async function getListSchema(e,t,a,i={}){var r=await getUISchema(t),l=_$1.find(r.list_views,(e,t)=>t===(a=a||t));if(!l)return {uiSchema:r};if(l.enable_amis_schema&&l.amis_schema)return {uiSchema:r,isCustom:!0,amisSchema:_$1.isString(l.amis_schema)?JSON.parse(l.amis_schema):l.amis_schema};var n=getListViewColumns(l,i.formFactor),o=getListViewSort(l),s=i.defaults||{};!s.headerSchema&&i.showHeader&&(s.headerSchema=await getObjectListHeader(r)),i.showHeader||(s.headerSchema=null);try{var d,c=location.pathname+"/crud/"+i.listViewId,p=localStorage.getItem(c);p&&(p=JSON.parse(p),d={},p.orderBy&&(d.orderBy=p.orderBy),p.orderDir&&(d.orderDir=p.orderDir),p.perPage&&(d.defaultParams={perPage:p.perPage}),p.page&&(d.defaultParams=Object.assign({},d.defaultParams,{page:p.page})),s.listSchema=_$1.defaultsDeep({},d,s.listSchema||{}));}catch(e){console.error("本地存储中crud参数解析异常:",e);}return i.defaults=s,{uiSchema:r,amisSchema:{type:"steedos-object-table",objectApiName:t,columns:n,extraColumns:l.extra_columns,filters:l.filters,sort:o,ctx:i}}}async function getTableSchema(e,t,a,i={}){const r=await getUISchema(t);let l=i.sort;l||(o=i.sortField,s=i.sortOrder,o&&(l=o+" "+s||"asc"));let n=[];_$1.each(a,function(e){_$1.isString(e)&&r.fields[e]?n.push(r.fields[e]):_$1.isObject(e)&&r.fields[e.field]&&n.push(Object.assign({},r.fields[e.field],{width:e.width,wrap:e.wrap}));});var o=i.extraColumns,s=(o&&_$1.each(o,function(e){_$1.isString(e)?n.push({extra:!0,name:e}):_$1.isObject(e)&&n.push({extra:!0,name:e.field});}),await getObjectList(r,n,{tabId:t,appId:e,objectName:t,...i,filter:i.filters,sort:l,buttons:await getListViewItemButtons(r,i)}));return {uiSchema:r,amisSchema:s}}async function getRecordDetailHeaderSchema(e,t){e=await getUISchema(e);return {uiSchema:e,amisSchema:await getObjectRecordDetailHeader(e,t)}}async function getRecordDetailRelatedListSchema(t,e,a){var i=await getUISchema(a),{list_views:r,fields:l}=i;return {uiSchema:i,amisSchema:(await getListSchema(null,a,_$1.keys(r)[0],{globalFilter:[_$1.findKey(l,function(e){return -1<["lookup","master_detail"].indexOf(e.type)&&e.reference_to===t}),"=",e],defaults:{listSchema:{headerToolbar:[],columnsTogglable:!1},headerSchema:await getObjectRecordDetailRelatedListHeader(i)},showHeader:!0})).amisSchema}}async function getObjectRelatedList(t,i,a,r){var e=await getUISchema(i),l=[],n=[].concat(e.related_lists||[]);if(_$1.isEmpty(n))for(const m of [].concat(e.details||[])){var o=m.split("."),s=await getUISchema(o[0]);if(s){let e=null;var d=await getField(o[0],o[1]);e=d._reference_to||d.reference_to&&!_$1.isString(d.reference_to)?[[o[1]+"/o","=",i],[o[1]+"/ids","=",a]]:[""+o[1],"=",a],l.push({masterObjectName:i,object_name:o[0],foreign_key:o[1],schema:await getListSchema(t,o[0],"all",{globalFilter:e,formFactor:r,buttons:await getListViewItemButtons(s,{isMobile:!1})})});}}else for(const u of n){var c=u.related_field_fullname.split(".");let e=null;var p=await getField(c[0],c[1]);if(p){e=p._reference_to||p.reference_to&&!_$1.isString(p.reference_to)?[[c[1]+"/o","=",i],[c[1]+"/ids","=",a]]:[""+c[1],"=",a];const f=await getUISchema(c[0]);if(f){let a=[];_$1.forEach(u.field_names,t=>{var e=_$1.find(f.fields,e=>e.name===t);e&&a.push(e);}),l.push({masterObjectName:i,object_name:c[0],foreign_key:c[1],schema:{uiSchema:f,amisSchema:await getObjectList(f,a,{tabId:i,appId:t,objectName:c[0],formFactor:r,globalFilter:e,buttons:await getListViewItemButtons(f,{isMobile:!1})})}});}}}return l}async function getObjectRelated({appName:e,masterObjectName:t,objectName:a,relatedFieldName:i,recordId:r,formFactor:l}){let n=null;var o=await getField(a,i),o=(n=o._reference_to||o.reference_to&&!_$1.isString(o.reference_to)?[[i+"/o","=",t],[i+"/ids","=",r]]:[""+i,"=",r],await getUISchema(t));return {masterObjectName:t,object_name:a,foreign_key:i,schema:await getListSchema(e,a,"all",{globalFilter:n,formFactor:l}),record:await getRecord(t,r,[o.NAME_FIELD_KEY]),masterObjectUISchema:o}}async function getSearchableFieldsFilterSchema(e,t,a){return getObjectFieldsFilterFormSchema(e,t,a)}const getRelatedFieldValue=(e,t,a,i)=>{a=_$1.find(a.fields,e=>i===e?.name);return _$1.isString(a.reference_to)?a.multiple?[t]:t:{o:e,ids:[t]}};async function getAmisObjectRelatedList(t,i,a,r){var e=await getUISchema(i),l=[],n=[].concat(e.related_lists||[]);if(_$1.isEmpty(n))for(const u of [].concat(e.details||[])){var o,s,d=u.split("."),c=await getUISchema(d[0]);c&&(((o=await getField(d[0],d[1]))._reference_to||o.reference_to&&!_$1.isString(o.reference_to))&&d[1],d[1],s=(o=await getListSchema(t,d[0],"all",{formFactor:r,buttons:await getListViewItemButtons(c,{isMobile:!1})})).amisSchema,c=await getObjectRecordDetailRelatedListHeader(c),s.headerSchema=c,s.headerToolbar=[],s.columnsTogglable=!1,s.globalFilter=s.filters,delete s.ctx,o.amisSchema={type:"service",data:{masterObjectName:i,masterRecordId:"${recordId}",relatedKey:d[1],objectName:d[0],listViewId:`amis-\${appId}-${d[0]}-listview`},body:[{...s,data:{filter:["${relatedKey}","=","${masterRecordId}"],objectName:"${objectName}",recordId:"${masterRecordId}",[d[1]]:getRelatedFieldValue(i,"${recordId}",o.uiSchema,d[1])}}]},l.push({masterObjectName:i,object_name:d[0],foreign_key:d[1],schema:o}));}else for(const f of n){var p=f.related_field_fullname.split(".");let e=null;var m=await getField(p[0],p[1]);if(m){e=m._reference_to||m.reference_to&&!_$1.isString(m.reference_to)?[[p[1]+"/o","=",i],[p[1]+"/ids","=",a]]:[""+p[1],"=",a];const g=await getUISchema(p[0]);if(g){let a=[];_$1.forEach(f.field_names,t=>{var e=_$1.find(g.fields,e=>e.name===t);e&&a.push(e);}),l.push({masterObjectName:i,object_name:p[0],foreign_key:p[1],schema:{uiSchema:g,amisSchema:await getObjectList(g,a,{tabId:i,appId:t,objectName:p[0],formFactor:r,globalFilter:e,buttons:await getListViewItemButtons(g,{isMobile:!1})})}});}}}return l}async function getFormPageInitSchema(e){return {type:"page",bodyClassName:"",regions:["body"],body:[(await getFormSchema(e,{recordId:"${recordId}"})).amisSchema]}}async function getListPageInitSchema(e,t,a){var i=await getUISchema(e),i=(_$1.first(_$1.keys(i.list_views)),await getObjectListHeader(i));return {type:"page",bodyClassName:"p-0",regions:["body"],body:[{type:"steedos-object-listview",objectApiName:e,columnsTogglable:!1,showHeader:!0,headerSchema:i}]}}async function getRecordPageInitSchema(e){var t=await getAmisObjectRelatedList(null,e,"${recordId}",null),a=[{type:"steedos-record-detail-header",label:"标题面板",objectApiName:"${objectName}",recordId:"${recordId}"}],i={type:"tabs",tabs:[{title:"详情",body:[{type:"steedos-object-form",label:"对象表单",mode:"read",objectApiName:"${objectName}",recordId:"${recordId}",labelAlign:"left"}]}],className:"bg-white mb-4",linksClassName:"pl-4 pt-2"},t=_$1.map(t,e=>e.schema.amisSchema);return t.length&&i.tabs.push({title:"相关",body:t}),a.push(i),{type:"page",id:`page_${e}_record_detail`,bodyClassName:"",regions:["body"],body:a}}async function getListviewInitSchema(e,a,t){t=t||{};var i,r=await getUISchema(e),l=_$1.find(r.list_views,(e,t)=>t===a);let n={};return l&&(t=getListViewColumns(l,t.formFactor),i=getListViewSort(l),r=await getObjectListHeader(r,a,{onlySecordLine:!0,isListviewInit:!0}),n={type:"steedos-object-table",objectApiName:e,columns:t,extraColumns:l.extra_columns,filters:l.filters,sort:i,headerSchema:r}),{type:"page",bodyClassName:"p-0",regions:["body"],body:[n],data:{listName:a}}}async function getApps(){return await fetchAPI("/service/api/apps/menus")}async function getApp(e){return await fetchAPI(`/service/api/apps/${e}/menus`)}const getNotifications=async()=>{var e=getSteedosAuth(),e=`
|
|
921
928
|
{
|
|
922
929
|
notifications(filters: ["owner","=","${e.userId}"], sort: "created desc,name", top : 10){
|
|
923
930
|
_id,name,body,related_to,related_name,url,owner,is_read,from,created
|
|
@@ -1293,14 +1300,14 @@ var AmisObjectForm = function (props) { return __awaiter(void 0, void 0, void 0,
|
|
|
1293
1300
|
}); };
|
|
1294
1301
|
|
|
1295
1302
|
var AmisObjectListView = function (props) { return __awaiter(void 0, void 0, void 0, function () {
|
|
1296
|
-
var $schema, top, showHeader, headerSchema, ctx, data, defaultData, urlListNameMatchs, urlListName, listName, defaults, objectApiName, schemaKeys, listSchema, amisSchemaData, amisSchema;
|
|
1303
|
+
var $schema, top, showHeader, headerSchema, ctx, data, defaultData, urlListNameMatchs, urlListName, listName, defaults, objectApiName, schemaKeys, listSchema, amisSchemaData, listViewId, amisSchema;
|
|
1297
1304
|
return __generator(this, function (_a) {
|
|
1298
1305
|
switch (_a.label) {
|
|
1299
1306
|
case 0:
|
|
1300
1307
|
$schema = props.$schema, top = props.top, showHeader = props.showHeader, headerSchema = props.headerSchema, ctx = props.ctx, data = props.data, defaultData = props.defaultData;
|
|
1301
1308
|
urlListNameMatchs = location.pathname.match(/grid\/(\w+)/);
|
|
1302
1309
|
urlListName = urlListNameMatchs && urlListNameMatchs[1];
|
|
1303
|
-
listName = props.listName
|
|
1310
|
+
listName = urlListName || props.listName;
|
|
1304
1311
|
defaults = {};
|
|
1305
1312
|
objectApiName = props.objectApiName || "space_users";
|
|
1306
1313
|
if (!(ctx && ctx.defaults)) {
|
|
@@ -1315,7 +1322,8 @@ var AmisObjectListView = function (props) { return __awaiter(void 0, void 0, voi
|
|
|
1315
1322
|
defaults.headerSchema = headerSchema;
|
|
1316
1323
|
}
|
|
1317
1324
|
amisSchemaData = Object.assign({}, data, defaultData);
|
|
1318
|
-
|
|
1325
|
+
listViewId = (ctx === null || ctx === void 0 ? void 0 : ctx.listViewId) || amisSchemaData.listViewId;
|
|
1326
|
+
return [4 /*yield*/, getListSchema(amisSchemaData.appId, objectApiName, listName, __assign$1(__assign$1({ top: top, showHeader: showHeader, defaults: defaults }, ctx), { listViewId: listViewId }))];
|
|
1319
1327
|
case 1:
|
|
1320
1328
|
amisSchema = (_a.sent()).amisSchema;
|
|
1321
1329
|
amisSchema.data = Object.assign({}, amisSchema.data, amisSchemaData, { listName: listName });
|
|
@@ -1390,6 +1398,39 @@ var AmisRecordDetailRelatedList = function (props) { return __awaiter(void 0, vo
|
|
|
1390
1398
|
});
|
|
1391
1399
|
}); };
|
|
1392
1400
|
|
|
1401
|
+
var AmisRecordDetailRelatedLists = function (props) { return __awaiter(void 0, void 0, void 0, function () {
|
|
1402
|
+
var objectApiName, recordId, appId, formFactor, relatedLists;
|
|
1403
|
+
return __generator(this, function (_a) {
|
|
1404
|
+
switch (_a.label) {
|
|
1405
|
+
case 0:
|
|
1406
|
+
objectApiName = props.objectApiName, recordId = props.recordId, appId = props.appId, props.data, formFactor = props.formFactor;
|
|
1407
|
+
if (!objectApiName) {
|
|
1408
|
+
return [2 /*return*/, {
|
|
1409
|
+
"type": "alert",
|
|
1410
|
+
"body": "缺少父级对象",
|
|
1411
|
+
"level": "warning",
|
|
1412
|
+
"showIcon": true,
|
|
1413
|
+
"className": "mb-3"
|
|
1414
|
+
}];
|
|
1415
|
+
}
|
|
1416
|
+
return [4 /*yield*/, getObjectRelatedList(appId, objectApiName, recordId, formFactor)];
|
|
1417
|
+
case 1:
|
|
1418
|
+
relatedLists = _a.sent();
|
|
1419
|
+
return [2 /*return*/, {
|
|
1420
|
+
type: 'service',
|
|
1421
|
+
body: _$1.map(relatedLists, function (item) {
|
|
1422
|
+
return {
|
|
1423
|
+
type: 'steedos-object-related-listview',
|
|
1424
|
+
objectApiName: objectApiName,
|
|
1425
|
+
relatedObjectApiName: item.object_name,
|
|
1426
|
+
foreign_key: item.foreign_key,
|
|
1427
|
+
};
|
|
1428
|
+
})
|
|
1429
|
+
}];
|
|
1430
|
+
}
|
|
1431
|
+
});
|
|
1432
|
+
}); };
|
|
1433
|
+
|
|
1393
1434
|
var AmisSelectUser = function (props) { return __awaiter(void 0, void 0, void 0, function () {
|
|
1394
1435
|
var $schema, amisSchema;
|
|
1395
1436
|
return __generator(this, function (_a) {
|
|
@@ -1430,6 +1471,7 @@ exports.AmisObjectTable = AmisObjectTable;
|
|
|
1430
1471
|
exports.AmisProvider = AmisProvider;
|
|
1431
1472
|
exports.AmisRecordDetailHeader = AmisRecordDetailHeader;
|
|
1432
1473
|
exports.AmisRecordDetailRelatedList = AmisRecordDetailRelatedList;
|
|
1474
|
+
exports.AmisRecordDetailRelatedLists = AmisRecordDetailRelatedLists;
|
|
1433
1475
|
exports.AmisSelectUser = AmisSelectUser;
|
|
1434
1476
|
exports.SteedosDropdownButton = SteedosDropdownButton;
|
|
1435
1477
|
//# sourceMappingURL=amis-object.cjs.js.map
|