@steedos-widgets/amis-lib 1.3.1 → 1.3.2-beta.2
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 +71 -46
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.esm.js +71 -46
- package/dist/index.esm.js.map +1 -1
- package/dist/index.umd.js +43 -42
- package/dist/index.umd.js.map +1 -1
- package/dist/types/lib/converter/amis/util.d.ts +1 -0
- package/package.json +2 -2
package/dist/index.esm.js
CHANGED
|
@@ -382,11 +382,26 @@ const Router = {
|
|
|
382
382
|
/*
|
|
383
383
|
* @Author: baozhoutao@steedos.com
|
|
384
384
|
* @Date: 2022-07-20 16:29:22
|
|
385
|
-
* @LastEditors:
|
|
386
|
-
* @LastEditTime: 2023-09-
|
|
385
|
+
* @LastEditors: liaodaxue
|
|
386
|
+
* @LastEditTime: 2023-09-11 17:19:53
|
|
387
387
|
* @Description:
|
|
388
388
|
*/
|
|
389
389
|
|
|
390
|
+
function getImageFieldUrl(url) {
|
|
391
|
+
if (window.Meteor && window.Meteor.isCordova != true) {
|
|
392
|
+
// '//'的位置
|
|
393
|
+
const doubleSlashIndex = url.indexOf('//');
|
|
394
|
+
const urlIndex = url.indexOf('/', doubleSlashIndex + 2);
|
|
395
|
+
const rootUrl = url.substring(urlIndex);
|
|
396
|
+
return rootUrl;
|
|
397
|
+
}
|
|
398
|
+
return url;
|
|
399
|
+
}
|
|
400
|
+
|
|
401
|
+
if(typeof window != 'undefined'){
|
|
402
|
+
window.getImageFieldUrl = getImageFieldUrl;
|
|
403
|
+
}
|
|
404
|
+
|
|
390
405
|
function getContrastColor(bgColor) {
|
|
391
406
|
var backgroundColor = (bgColor.charAt(0) === '#') ? bgColor.substring(1, 7) : bgColor;
|
|
392
407
|
var r = parseInt(backgroundColor.substr(0, 2), 16);
|
|
@@ -8548,7 +8563,13 @@ async function getTableApi(mainObject, fields, options){
|
|
|
8548
8563
|
if(field.type === 'file'){
|
|
8549
8564
|
item[key] = value
|
|
8550
8565
|
}else{
|
|
8551
|
-
item[key] = _.map(value,
|
|
8566
|
+
item[key] = _.map(value, (item)=>{
|
|
8567
|
+
if(field.type === 'image'){
|
|
8568
|
+
const url = window.getImageFieldUrl(item.url);
|
|
8569
|
+
return url;
|
|
8570
|
+
}
|
|
8571
|
+
return item.url;
|
|
8572
|
+
})
|
|
8552
8573
|
}
|
|
8553
8574
|
}
|
|
8554
8575
|
})
|
|
@@ -8790,10 +8811,14 @@ function getScriptForAddUrlPrefixForImgFields(fields){
|
|
|
8790
8811
|
let fieldProps = imgFields[item];
|
|
8791
8812
|
if(fieldProps.multiple){
|
|
8792
8813
|
if(imgFieldDisplayValue instanceof Array){
|
|
8793
|
-
data[item] = imgFieldDisplayValue.map((i)=>{
|
|
8814
|
+
data[item] = imgFieldDisplayValue.map((i)=>{
|
|
8815
|
+
const url = window.getImageFieldUrl(i.url);
|
|
8816
|
+
return url;
|
|
8817
|
+
});
|
|
8794
8818
|
}
|
|
8795
8819
|
}else{
|
|
8796
|
-
|
|
8820
|
+
const url = imgFieldDisplayValue && window.getImageFieldUrl(imgFieldDisplayValue.url);
|
|
8821
|
+
data[item] = url;
|
|
8797
8822
|
}
|
|
8798
8823
|
}
|
|
8799
8824
|
})
|
|
@@ -10954,53 +10979,34 @@ async function getListSchema(
|
|
|
10954
10979
|
};
|
|
10955
10980
|
}
|
|
10956
10981
|
|
|
10957
|
-
|
|
10958
|
-
async function getTableSchema(
|
|
10959
|
-
appName,
|
|
10960
|
-
objectName,
|
|
10961
|
-
columns,
|
|
10962
|
-
ctx = {}
|
|
10963
|
-
) {
|
|
10964
|
-
// console.time('getTableSchema', columns);
|
|
10965
|
-
const uiSchema = await getUISchema(objectName);
|
|
10966
|
-
|
|
10967
|
-
let sort = ctx.sort;
|
|
10968
|
-
if(!sort){
|
|
10969
|
-
const sortField = ctx.sortField;
|
|
10970
|
-
const sortOrder = ctx.sortOrder;
|
|
10971
|
-
if(sortField){
|
|
10972
|
-
let sortStr = sortField + ' ' + sortOrder || 'asc';
|
|
10973
|
-
sort = sortStr;
|
|
10974
|
-
}
|
|
10975
|
-
}
|
|
10976
|
-
|
|
10982
|
+
async function convertColumnsToTableFields(columns, uiSchema, ctx = {}) {
|
|
10977
10983
|
let fields = [];
|
|
10978
|
-
for(const column of columns){
|
|
10984
|
+
for (const column of columns) {
|
|
10979
10985
|
if (isString(column)) {
|
|
10980
|
-
if(column.indexOf('.') > 0){
|
|
10986
|
+
if (column.indexOf('.') > 0) {
|
|
10981
10987
|
const fieldName = column.split('.')[0];
|
|
10982
10988
|
const displayName = column.split('.')[1];
|
|
10983
10989
|
const filedInfo = uiSchema.fields[fieldName];
|
|
10984
|
-
if(filedInfo && (filedInfo.type === 'lookup' || filedInfo.type === 'master_detail') && isString(filedInfo.reference_to)
|
|
10990
|
+
if (filedInfo && (filedInfo.type === 'lookup' || filedInfo.type === 'master_detail') && isString(filedInfo.reference_to)) {
|
|
10985
10991
|
const rfUiSchema = await getUISchema(filedInfo.reference_to);
|
|
10986
10992
|
const rfFieldInfo = rfUiSchema.fields[displayName];
|
|
10987
|
-
fields.push(Object.assign({}, rfFieldInfo, {name: `${fieldName}__expand.${displayName}`, expand: true, expandInfo: {fieldName, displayName}}));
|
|
10993
|
+
fields.push(Object.assign({}, rfFieldInfo, { name: `${fieldName}__expand.${displayName}`, expand: true, expandInfo: { fieldName, displayName } }, ctx));
|
|
10988
10994
|
}
|
|
10989
|
-
}else {
|
|
10990
|
-
if(uiSchema.fields[column]){
|
|
10991
|
-
fields.push(uiSchema.fields[column]);
|
|
10995
|
+
} else {
|
|
10996
|
+
if (uiSchema.fields[column]) {
|
|
10997
|
+
fields.push(Object.assign({}, uiSchema.fields[column], ctx));
|
|
10992
10998
|
}
|
|
10993
10999
|
}
|
|
10994
11000
|
} else if (isObject$1(column)) {
|
|
10995
|
-
if(column.field.indexOf('.') > 0){
|
|
11001
|
+
if (column.field.indexOf('.') > 0) {
|
|
10996
11002
|
const fieldName = column.field.split('.')[0];
|
|
10997
11003
|
const displayName = column.field.split('.')[1];
|
|
10998
11004
|
const filedInfo = uiSchema.fields[fieldName];
|
|
10999
|
-
if(filedInfo && (filedInfo.type === 'lookup' || filedInfo.type === 'master_detail') && isString(filedInfo.reference_to)
|
|
11005
|
+
if (filedInfo && (filedInfo.type === 'lookup' || filedInfo.type === 'master_detail') && isString(filedInfo.reference_to)) {
|
|
11000
11006
|
const rfUiSchema = await getUISchema(filedInfo.reference_to);
|
|
11001
11007
|
const rfFieldInfo = rfUiSchema.fields[displayName];
|
|
11002
|
-
fields.push(Object.assign({}, rfFieldInfo,
|
|
11003
|
-
{name: `${fieldName}__expand.${displayName}`, expand: true, expandInfo: {fieldName, displayName}},
|
|
11008
|
+
fields.push(Object.assign({}, rfFieldInfo, ctx,
|
|
11009
|
+
{ name: `${fieldName}__expand.${displayName}`, expand: true, expandInfo: { fieldName, displayName } },
|
|
11004
11010
|
{
|
|
11005
11011
|
width: column.width,
|
|
11006
11012
|
wrap: column.wrap, // wrap = true 是没效果的
|
|
@@ -11008,10 +11014,10 @@ async function getTableSchema(
|
|
|
11008
11014
|
}
|
|
11009
11015
|
));
|
|
11010
11016
|
}
|
|
11011
|
-
}else {
|
|
11012
|
-
if(uiSchema.fields[column.field]){
|
|
11017
|
+
} else {
|
|
11018
|
+
if (uiSchema.fields[column.field]) {
|
|
11013
11019
|
fields.push(
|
|
11014
|
-
Object.assign({}, uiSchema.fields[column.field], {
|
|
11020
|
+
Object.assign({}, uiSchema.fields[column.field], ctx, {
|
|
11015
11021
|
width: column.width,
|
|
11016
11022
|
wrap: column.wrap, // wrap = true 是没效果的
|
|
11017
11023
|
amis: column.amis
|
|
@@ -11021,17 +11027,36 @@ async function getTableSchema(
|
|
|
11021
11027
|
}
|
|
11022
11028
|
}
|
|
11023
11029
|
}
|
|
11030
|
+
return fields;
|
|
11031
|
+
}
|
|
11032
|
+
|
|
11033
|
+
// 获取对象表格
|
|
11034
|
+
async function getTableSchema(
|
|
11035
|
+
appName,
|
|
11036
|
+
objectName,
|
|
11037
|
+
columns,
|
|
11038
|
+
ctx = {}
|
|
11039
|
+
) {
|
|
11040
|
+
// console.time('getTableSchema', columns);
|
|
11041
|
+
const uiSchema = await getUISchema(objectName);
|
|
11042
|
+
|
|
11043
|
+
let sort = ctx.sort;
|
|
11044
|
+
if(!sort){
|
|
11045
|
+
const sortField = ctx.sortField;
|
|
11046
|
+
const sortOrder = ctx.sortOrder;
|
|
11047
|
+
if(sortField){
|
|
11048
|
+
let sortStr = sortField + ' ' + sortOrder || 'asc';
|
|
11049
|
+
sort = sortStr;
|
|
11050
|
+
}
|
|
11051
|
+
}
|
|
11052
|
+
|
|
11053
|
+
let fields = await convertColumnsToTableFields(columns, uiSchema);
|
|
11024
11054
|
|
|
11025
11055
|
const extraColumns = ctx.extraColumns;
|
|
11026
11056
|
|
|
11027
11057
|
if (extraColumns) {
|
|
11028
|
-
|
|
11029
|
-
|
|
11030
|
-
fields.push({ extra: true, name: column });
|
|
11031
|
-
} else if (isObject$1(column)) {
|
|
11032
|
-
fields.push({ extra: true, name: column.field });
|
|
11033
|
-
}
|
|
11034
|
-
});
|
|
11058
|
+
let extraFields = await convertColumnsToTableFields(extraColumns, uiSchema, {extra: true});
|
|
11059
|
+
fields = fields.concat(extraFields);
|
|
11035
11060
|
}
|
|
11036
11061
|
|
|
11037
11062
|
const amisSchema = await getObjectCRUD(uiSchema, fields, {
|