@steedos-widgets/amis-lib 1.2.25 → 1.2.27
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/cjs/tsconfig.tsbuildinfo +1 -1
- package/dist/index.cjs.js +51 -31
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.esm.js +51 -31
- package/dist/index.esm.js.map +1 -1
- package/dist/index.umd.js +51 -31
- package/dist/index.umd.js.map +1 -1
- package/dist/types/lib/converter/amis/fields_filter.d.ts +6 -0
- package/dist/types/lib/converter/amis/header.d.ts +3 -0
- package/dist/types/lib/converter/amis/toolbar.d.ts +3 -0
- package/package.json +2 -2
package/dist/index.esm.js
CHANGED
|
@@ -336,7 +336,7 @@ const getSteedosAuth = () => {
|
|
|
336
336
|
* @Author: baozhoutao@steedos.com
|
|
337
337
|
* @Date: 2022-08-16 17:02:08
|
|
338
338
|
* @LastEditors: baozhoutao@steedos.com
|
|
339
|
-
* @LastEditTime: 2023-
|
|
339
|
+
* @LastEditTime: 2023-06-20 13:50:15
|
|
340
340
|
* @Description:
|
|
341
341
|
*/
|
|
342
342
|
|
|
@@ -347,14 +347,14 @@ const Router = {
|
|
|
347
347
|
if(urlSearch.has('display')){
|
|
348
348
|
return urlSearch.get('display')
|
|
349
349
|
}
|
|
350
|
-
|
|
351
|
-
const key = `page_display`;
|
|
350
|
+
const key = `tab_${tab_id}_display`;
|
|
351
|
+
// const key = `page_display`;
|
|
352
352
|
const value = localStorage.getItem(key);
|
|
353
353
|
return value ? value : 'grid'
|
|
354
354
|
},
|
|
355
355
|
|
|
356
356
|
setTabDisplayAs(tab_id, displayAs){
|
|
357
|
-
const key = `
|
|
357
|
+
const key = `tab_${tab_id}_display`;
|
|
358
358
|
localStorage.setItem(key, displayAs);
|
|
359
359
|
},
|
|
360
360
|
getAppPath({formFactor, appId}){
|
|
@@ -368,15 +368,10 @@ const Router = {
|
|
|
368
368
|
},
|
|
369
369
|
getObjectDetailPath(props){
|
|
370
370
|
const {formFactor, appId, objectName, recordId, listViewName, _templateType} = props;
|
|
371
|
-
// var urlParams = new URLSearchParams(window.location.search);
|
|
372
|
-
// if(objectName === 'instances'){
|
|
373
|
-
// return `/workflow/space/\${context.tenantId}/\${listName}/${recordId}`;
|
|
374
|
-
// }
|
|
375
|
-
const displayAs = Router.getTabDisplayAs(objectName); //urlParams.get("display") ||
|
|
376
371
|
if(_templateType === 'JavaScript'){
|
|
377
|
-
return `/app/${appId}/${objectName}/view/${recordId}?
|
|
372
|
+
return `/app/${appId}/${objectName}/view/${recordId}?side_object=<%=item.objectName%>&side_listview_id=<%=item.listName%>`;
|
|
378
373
|
}
|
|
379
|
-
return `/app/${appId}/${objectName}/view/${recordId}?
|
|
374
|
+
return `/app/${appId}/${objectName}/view/${recordId}?side_object=\${objectName}&side_listview_id=\${listName}`;
|
|
380
375
|
},
|
|
381
376
|
getObjectRelatedViewPath({formFactor, appId, masterObjectName, masterRecordId, objectName, foreignKey}){
|
|
382
377
|
return `/app/${appId}/${masterObjectName}/${masterRecordId}/${objectName}/grid?related_field_name=${foreignKey}`;
|
|
@@ -652,6 +647,10 @@ async function getFieldsTemplate(fields, expand){
|
|
|
652
647
|
if(includes(['percent','time','filesize','date','datetime','boolean','number','currency', 'select', 'file', 'image', 'avatar', 'formula', 'summary', 'object', 'grid'], field.type)){
|
|
653
648
|
displayFields.push(`${field.name}`);
|
|
654
649
|
}
|
|
650
|
+
}else {
|
|
651
|
+
objectFieldName = field.name.split('.')[0];
|
|
652
|
+
fieldsName.push(objectFieldName);
|
|
653
|
+
displayFields.push(objectFieldName);
|
|
655
654
|
}
|
|
656
655
|
}
|
|
657
656
|
|
|
@@ -3126,7 +3125,10 @@ async function getObjectFieldsFilterFormSchema(ctx) {
|
|
|
3126
3125
|
const formSchema = {
|
|
3127
3126
|
"type": "service",
|
|
3128
3127
|
"visibleOn": "this.filterFormSearchableFields && this.filterFormSearchableFields.length",
|
|
3129
|
-
"className": ctx.formFactor === 'SMALL' ? "slds-filters__body p-0 mb-2" : "slds-filters__body p-0 sm:grid sm:gap-2 sm:grid-cols-4 mb-2",
|
|
3128
|
+
"className": ctx.formFactor === 'SMALL' ? "slds-filters__body p-0 mb-2 overflow-y-auto overflow-x-hidden" : "slds-filters__body p-0 sm:grid sm:gap-2 sm:grid-cols-4 mb-2",
|
|
3129
|
+
"style":{
|
|
3130
|
+
"max-height":ctx.formFactor === 'SMALL'?"30vh":"unset"
|
|
3131
|
+
},
|
|
3130
3132
|
"schemaApi": {
|
|
3131
3133
|
method: 'post',
|
|
3132
3134
|
url: `\${context.rootUrl}/graphql?reload=\${filterFormSearchableFields|join}`,
|
|
@@ -5059,14 +5061,14 @@ const getDisplayAsButton = function(objectName, showDisplayAs){
|
|
|
5059
5061
|
{
|
|
5060
5062
|
"type": "button",
|
|
5061
5063
|
"label": i18next.t('frontend_display_type_is_table'),
|
|
5062
|
-
"onClick": "let url = document.location.pathname; var urlSearch = new URLSearchParams(document.location.search); if(urlSearch.get(\"side_object\") && urlSearch.get(\"side_listview_id\")){url=`/app/${props.data.appId}/${urlSearch.get(\"side_object\")}/grid/${urlSearch.get(\"side_listview_id\")}`;}; props.env.jumpTo(url + '?display=grid');",
|
|
5064
|
+
"onClick": "const key = 'tab_"+objectName+"_display';localStorage.setItem(key, 'grid');let url = document.location.pathname; var urlSearch = new URLSearchParams(document.location.search); if(urlSearch.get(\"side_object\") && urlSearch.get(\"side_listview_id\")){url=`/app/${props.data.appId}/${urlSearch.get(\"side_object\")}/grid/${urlSearch.get(\"side_listview_id\")}`;}; props.env.jumpTo(url + '?display=grid');",
|
|
5063
5065
|
"rightIcon": displayAs != 'split' ? "fa fa-check" : null,
|
|
5064
5066
|
"rightIconClassName": "m-l-sm"
|
|
5065
5067
|
},
|
|
5066
5068
|
{
|
|
5067
5069
|
"type": "button",
|
|
5068
5070
|
"label": i18next.t('frontend_display_type_is_split'),
|
|
5069
|
-
"onClick": "const url = document.location.pathname + '?display=split'; props.env.jumpTo(url);",
|
|
5071
|
+
"onClick": "const key = 'tab_"+objectName+"_display';localStorage.setItem(key, 'split');const url = document.location.pathname + '?display=split'; props.env.jumpTo(url);",
|
|
5070
5072
|
"rightIcon": displayAs === 'split' ? "fa fa-check" : null,
|
|
5071
5073
|
"rightIconClassName": "m-l-sm"
|
|
5072
5074
|
}
|
|
@@ -5228,7 +5230,7 @@ function getObjectHeaderToolbar(mainObject, formFactor, {showDisplayAs = false,
|
|
|
5228
5230
|
},
|
|
5229
5231
|
// getExportExcelToolbarButtonSchema(),
|
|
5230
5232
|
getSettingListviewToolbarButtonSchema(),
|
|
5231
|
-
getDisplayAsButton(
|
|
5233
|
+
getDisplayAsButton(mainObject?.name),
|
|
5232
5234
|
filterVisible ? {
|
|
5233
5235
|
"label": i18next.t('frontend_button_search_tooltip'),
|
|
5234
5236
|
"icon": "fa fa-search",
|
|
@@ -7924,6 +7926,7 @@ async function getTableApi(mainObject, fields, options){
|
|
|
7924
7926
|
let valueField = mainObject.key_field || '_id';
|
|
7925
7927
|
const api = await getApi(mainObject, null, fields, {count: options.queryCount, alias: 'rows', limit: top, queryOptions: `filters: {__filters}, top: {__top}, skip: {__skip}, sort: "{__sort}"`});
|
|
7926
7928
|
|
|
7929
|
+
api.url += "&objectName=${objectName}";//设计器上对象表格组件需要切换对象重新请求列表数据
|
|
7927
7930
|
if(options.isRelated){
|
|
7928
7931
|
api.url += "&recordId=${_master.recordId}";
|
|
7929
7932
|
}
|
|
@@ -8059,13 +8062,13 @@ async function getTableApi(mainObject, fields, options){
|
|
|
8059
8062
|
const masterRecord = self._master.record;
|
|
8060
8063
|
const masterObjectName = self._master.objectName;
|
|
8061
8064
|
let relatedValue = self._master.recordId;
|
|
8062
|
-
if(refField.reference_to_field && refField.reference_to_field != '_id'){
|
|
8065
|
+
if(refField && refField.reference_to_field && refField.reference_to_field != '_id'){
|
|
8063
8066
|
relatedValue = masterRecord[refField.reference_to_field]
|
|
8064
8067
|
}
|
|
8065
8068
|
let relatedFilters;
|
|
8066
8069
|
if (
|
|
8067
|
-
refField._reference_to ||
|
|
8068
|
-
(refField.reference_to && !_.isString(refField.reference_to))
|
|
8070
|
+
refField && (refField._reference_to ||
|
|
8071
|
+
(refField.reference_to && !_.isString(refField.reference_to)))
|
|
8069
8072
|
) {
|
|
8070
8073
|
relatedFilters = [
|
|
8071
8074
|
[relatedKey + "/o", "=", masterObjectName],
|
|
@@ -8215,7 +8218,7 @@ function getRecordPermissionsApi(object, recordId, options){
|
|
|
8215
8218
|
|
|
8216
8219
|
const API_CACHE = 100;
|
|
8217
8220
|
|
|
8218
|
-
function getReadonlyFormAdaptor(object, fields){
|
|
8221
|
+
function getReadonlyFormAdaptor(object, fields, options){
|
|
8219
8222
|
let scriptStr = '';
|
|
8220
8223
|
const selectFields = _$1.filter(fields, function(field){return field.name.indexOf('.') < 0 && ((field.type == 'select' && field.options) || ((field.type == 'lookup' || field.type == 'master_detail') && !field.reference_to))});
|
|
8221
8224
|
const gridAndObjectFieldsName = _$1.map(_$1.filter(fields, function(field){return field.name.indexOf('.') < 0 && (field.type === 'object' || field.type === 'grid')}), 'name');
|
|
@@ -8253,11 +8256,24 @@ function getReadonlyFormAdaptor(object, fields){
|
|
|
8253
8256
|
// }
|
|
8254
8257
|
// })
|
|
8255
8258
|
|
|
8259
|
+
var fieldNames = _$1.map(fields, function(n){return n.name});
|
|
8256
8260
|
return `
|
|
8257
8261
|
if(payload.data.data.length === 0){
|
|
8258
|
-
|
|
8259
|
-
|
|
8260
|
-
|
|
8262
|
+
var isEditor = !!${options && options.isEditor};
|
|
8263
|
+
if(isEditor){
|
|
8264
|
+
var fieldNames = ${JSON.stringify(fieldNames)};
|
|
8265
|
+
var emptyDoc = {};//这里如果不把每个字段值设置为空的话,表单上会显示上一次表单上的字段值
|
|
8266
|
+
fieldNames.forEach(function(n){
|
|
8267
|
+
emptyDoc[n] = null;
|
|
8268
|
+
});
|
|
8269
|
+
// 设计器中始终显示表单,有记录则显示第一条记录,没记录时显示为空表单
|
|
8270
|
+
payload.data.data = [emptyDoc];
|
|
8271
|
+
}
|
|
8272
|
+
else{
|
|
8273
|
+
return {
|
|
8274
|
+
status: 2,
|
|
8275
|
+
msg: "无法找到记录"
|
|
8276
|
+
}
|
|
8261
8277
|
}
|
|
8262
8278
|
}
|
|
8263
8279
|
if(payload.data.data){
|
|
@@ -8274,7 +8290,7 @@ function getReadonlyFormAdaptor(object, fields){
|
|
|
8274
8290
|
var record = _.cloneDeep(data);
|
|
8275
8291
|
try{
|
|
8276
8292
|
_.each(gridAndObjectFieldsName, function(name){
|
|
8277
|
-
data[name] = data._display[name];
|
|
8293
|
+
data[name] = data._display && data._display[name];
|
|
8278
8294
|
})
|
|
8279
8295
|
}catch(e){
|
|
8280
8296
|
console.error(e)
|
|
@@ -8295,10 +8311,10 @@ function getReadonlyFormAdaptor(object, fields){
|
|
|
8295
8311
|
async function getReadonlyFormInitApi(object, recordId, fields, options){
|
|
8296
8312
|
return {
|
|
8297
8313
|
method: "post",
|
|
8298
|
-
url: getApi$2()+"&recordId=${recordId}",
|
|
8314
|
+
url: getApi$2() + '&objectName=${objectName}' + "&recordId=${recordId}",
|
|
8299
8315
|
cache: API_CACHE,
|
|
8300
8316
|
// requestAdaptor: "console.log('getReadonlyFormInitApi requestAdaptor', api);return api;",
|
|
8301
|
-
adaptor: getReadonlyFormAdaptor(object, fields),
|
|
8317
|
+
adaptor: getReadonlyFormAdaptor(object, fields, options),
|
|
8302
8318
|
data: await getFindOneQuery$1(object, recordId, fields, options),
|
|
8303
8319
|
headers: {
|
|
8304
8320
|
Authorization: "Bearer ${context.tenantId},${context.authToken}"
|
|
@@ -9730,8 +9746,8 @@ const getRecordPermissions = async (objectName, recordId)=>{
|
|
|
9730
9746
|
/*
|
|
9731
9747
|
* @Author: baozhoutao@steedos.com
|
|
9732
9748
|
* @Date: 2022-07-05 15:55:39
|
|
9733
|
-
* @LastEditors:
|
|
9734
|
-
* @LastEditTime: 2023-
|
|
9749
|
+
* @LastEditors: liaodaxue
|
|
9750
|
+
* @LastEditTime: 2023-06-20 14:05:50
|
|
9735
9751
|
* @Description:
|
|
9736
9752
|
*/
|
|
9737
9753
|
|
|
@@ -9774,10 +9790,11 @@ async function getObjectRelatedList(
|
|
|
9774
9790
|
if(!isEmpty(relatedLists)){
|
|
9775
9791
|
for (const relatedList of relatedLists) {
|
|
9776
9792
|
const arr = relatedList.related_field_fullname.split(".");
|
|
9793
|
+
const foreign_key = arr[2] ? arr[1]+'.'+arr[2] : arr[1];
|
|
9777
9794
|
related.push({
|
|
9778
9795
|
masterObjectName: objectName,
|
|
9779
9796
|
object_name: arr[0],
|
|
9780
|
-
foreign_key
|
|
9797
|
+
foreign_key,
|
|
9781
9798
|
label: relatedList.label,
|
|
9782
9799
|
columns: relatedList.field_names,
|
|
9783
9800
|
sort: relatedList.sort,
|
|
@@ -9790,10 +9807,11 @@ async function getObjectRelatedList(
|
|
|
9790
9807
|
const details = [].concat(uiSchema.details || []);
|
|
9791
9808
|
for (const detail of details) {
|
|
9792
9809
|
const arr = detail.split(".");
|
|
9810
|
+
const foreign_key = arr[2] ? arr[1]+'.'+arr[2] : arr[1];
|
|
9793
9811
|
related.push({
|
|
9794
9812
|
masterObjectName: objectName,
|
|
9795
9813
|
object_name: arr[0],
|
|
9796
|
-
foreign_key
|
|
9814
|
+
foreign_key
|
|
9797
9815
|
});
|
|
9798
9816
|
}
|
|
9799
9817
|
}
|
|
@@ -9825,14 +9843,16 @@ async function getRecordDetailRelatedListSchema(objectName, recordId, relatedObj
|
|
|
9825
9843
|
if(!isEmpty(mainRelatedLists)){
|
|
9826
9844
|
for (const relatedList of mainRelatedLists) {
|
|
9827
9845
|
const arr = relatedList.related_field_fullname.split(".");
|
|
9828
|
-
|
|
9846
|
+
const foreign_key_value = arr[2] ? arr[1]+'.'+arr[2] : arr[1];
|
|
9847
|
+
mainRelated[arr[0]] = foreign_key_value;
|
|
9829
9848
|
}
|
|
9830
9849
|
}else {
|
|
9831
9850
|
const details = union(mainObjectUiSchema.details,mainObjectUiSchema.lookup_details) || [];
|
|
9832
9851
|
for (const detail of details) {
|
|
9833
9852
|
const arr = detail.split(".");
|
|
9853
|
+
const foreign_key_value = arr[2] ? arr[1]+'.'+arr[2] : arr[1];
|
|
9834
9854
|
if(!has(mainRelated,arr[0])){
|
|
9835
|
-
mainRelated[arr[0]] =
|
|
9855
|
+
mainRelated[arr[0]] = foreign_key_value;
|
|
9836
9856
|
}
|
|
9837
9857
|
}
|
|
9838
9858
|
}
|