@steedos-widgets/amis-lib 1.3.1 → 1.3.2-beta.3
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 +73 -47
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.esm.js +73 -47
- package/dist/index.esm.js.map +1 -1
- package/dist/index.umd.js +47 -46
- 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);
|
|
@@ -5952,7 +5967,8 @@ async function lookupToAmisPicker(field, readonly, ctx){
|
|
|
5952
5967
|
|
|
5953
5968
|
pickerSchema.headerToolbar = getObjectHeaderToolbar(refObjectConfig, fieldsArr, ctx.formFactor, { headerToolbarItems, isLookup: true, keywordsSearchBoxName });
|
|
5954
5969
|
const isAllowCreate = refObjectConfig.permissions.allowCreate;
|
|
5955
|
-
|
|
5970
|
+
const isCreate = _$1.isBoolean(field.create) ? field.create : true;
|
|
5971
|
+
if (isAllowCreate && isCreate) {
|
|
5956
5972
|
const new_button = await getSchema$5(refObjectConfig, { appId: ctx.appId, objectName: refObjectConfig.name, formFactor: ctx.formFactor });
|
|
5957
5973
|
new_button.align = "right";
|
|
5958
5974
|
// 保持快速搜索放在最左侧,新建按钮往里插,而不是push到最后
|
|
@@ -8548,7 +8564,13 @@ async function getTableApi(mainObject, fields, options){
|
|
|
8548
8564
|
if(field.type === 'file'){
|
|
8549
8565
|
item[key] = value
|
|
8550
8566
|
}else{
|
|
8551
|
-
item[key] = _.map(value,
|
|
8567
|
+
item[key] = _.map(value, (item)=>{
|
|
8568
|
+
if(field.type === 'image'){
|
|
8569
|
+
const url = window.getImageFieldUrl(item.url);
|
|
8570
|
+
return url;
|
|
8571
|
+
}
|
|
8572
|
+
return item.url;
|
|
8573
|
+
})
|
|
8552
8574
|
}
|
|
8553
8575
|
}
|
|
8554
8576
|
})
|
|
@@ -8790,10 +8812,14 @@ function getScriptForAddUrlPrefixForImgFields(fields){
|
|
|
8790
8812
|
let fieldProps = imgFields[item];
|
|
8791
8813
|
if(fieldProps.multiple){
|
|
8792
8814
|
if(imgFieldDisplayValue instanceof Array){
|
|
8793
|
-
data[item] = imgFieldDisplayValue.map((i)=>{
|
|
8815
|
+
data[item] = imgFieldDisplayValue.map((i)=>{
|
|
8816
|
+
const url = window.getImageFieldUrl(i.url);
|
|
8817
|
+
return url;
|
|
8818
|
+
});
|
|
8794
8819
|
}
|
|
8795
8820
|
}else{
|
|
8796
|
-
|
|
8821
|
+
const url = imgFieldDisplayValue && window.getImageFieldUrl(imgFieldDisplayValue.url);
|
|
8822
|
+
data[item] = url;
|
|
8797
8823
|
}
|
|
8798
8824
|
}
|
|
8799
8825
|
})
|
|
@@ -10954,53 +10980,34 @@ async function getListSchema(
|
|
|
10954
10980
|
};
|
|
10955
10981
|
}
|
|
10956
10982
|
|
|
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
|
-
|
|
10983
|
+
async function convertColumnsToTableFields(columns, uiSchema, ctx = {}) {
|
|
10977
10984
|
let fields = [];
|
|
10978
|
-
for(const column of columns){
|
|
10985
|
+
for (const column of columns) {
|
|
10979
10986
|
if (isString(column)) {
|
|
10980
|
-
if(column.indexOf('.') > 0){
|
|
10987
|
+
if (column.indexOf('.') > 0) {
|
|
10981
10988
|
const fieldName = column.split('.')[0];
|
|
10982
10989
|
const displayName = column.split('.')[1];
|
|
10983
10990
|
const filedInfo = uiSchema.fields[fieldName];
|
|
10984
|
-
if(filedInfo && (filedInfo.type === 'lookup' || filedInfo.type === 'master_detail') && isString(filedInfo.reference_to)
|
|
10991
|
+
if (filedInfo && (filedInfo.type === 'lookup' || filedInfo.type === 'master_detail') && isString(filedInfo.reference_to)) {
|
|
10985
10992
|
const rfUiSchema = await getUISchema(filedInfo.reference_to);
|
|
10986
10993
|
const rfFieldInfo = rfUiSchema.fields[displayName];
|
|
10987
|
-
fields.push(Object.assign({}, rfFieldInfo, {name: `${fieldName}__expand.${displayName}`, expand: true, expandInfo: {fieldName, displayName}}));
|
|
10994
|
+
fields.push(Object.assign({}, rfFieldInfo, { name: `${fieldName}__expand.${displayName}`, expand: true, expandInfo: { fieldName, displayName } }, ctx));
|
|
10988
10995
|
}
|
|
10989
|
-
}else {
|
|
10990
|
-
if(uiSchema.fields[column]){
|
|
10991
|
-
fields.push(uiSchema.fields[column]);
|
|
10996
|
+
} else {
|
|
10997
|
+
if (uiSchema.fields[column]) {
|
|
10998
|
+
fields.push(Object.assign({}, uiSchema.fields[column], ctx));
|
|
10992
10999
|
}
|
|
10993
11000
|
}
|
|
10994
11001
|
} else if (isObject$1(column)) {
|
|
10995
|
-
if(column.field.indexOf('.') > 0){
|
|
11002
|
+
if (column.field.indexOf('.') > 0) {
|
|
10996
11003
|
const fieldName = column.field.split('.')[0];
|
|
10997
11004
|
const displayName = column.field.split('.')[1];
|
|
10998
11005
|
const filedInfo = uiSchema.fields[fieldName];
|
|
10999
|
-
if(filedInfo && (filedInfo.type === 'lookup' || filedInfo.type === 'master_detail') && isString(filedInfo.reference_to)
|
|
11006
|
+
if (filedInfo && (filedInfo.type === 'lookup' || filedInfo.type === 'master_detail') && isString(filedInfo.reference_to)) {
|
|
11000
11007
|
const rfUiSchema = await getUISchema(filedInfo.reference_to);
|
|
11001
11008
|
const rfFieldInfo = rfUiSchema.fields[displayName];
|
|
11002
|
-
fields.push(Object.assign({}, rfFieldInfo,
|
|
11003
|
-
{name: `${fieldName}__expand.${displayName}`, expand: true, expandInfo: {fieldName, displayName}},
|
|
11009
|
+
fields.push(Object.assign({}, rfFieldInfo, ctx,
|
|
11010
|
+
{ name: `${fieldName}__expand.${displayName}`, expand: true, expandInfo: { fieldName, displayName } },
|
|
11004
11011
|
{
|
|
11005
11012
|
width: column.width,
|
|
11006
11013
|
wrap: column.wrap, // wrap = true 是没效果的
|
|
@@ -11008,10 +11015,10 @@ async function getTableSchema(
|
|
|
11008
11015
|
}
|
|
11009
11016
|
));
|
|
11010
11017
|
}
|
|
11011
|
-
}else {
|
|
11012
|
-
if(uiSchema.fields[column.field]){
|
|
11018
|
+
} else {
|
|
11019
|
+
if (uiSchema.fields[column.field]) {
|
|
11013
11020
|
fields.push(
|
|
11014
|
-
Object.assign({}, uiSchema.fields[column.field], {
|
|
11021
|
+
Object.assign({}, uiSchema.fields[column.field], ctx, {
|
|
11015
11022
|
width: column.width,
|
|
11016
11023
|
wrap: column.wrap, // wrap = true 是没效果的
|
|
11017
11024
|
amis: column.amis
|
|
@@ -11021,17 +11028,36 @@ async function getTableSchema(
|
|
|
11021
11028
|
}
|
|
11022
11029
|
}
|
|
11023
11030
|
}
|
|
11031
|
+
return fields;
|
|
11032
|
+
}
|
|
11033
|
+
|
|
11034
|
+
// 获取对象表格
|
|
11035
|
+
async function getTableSchema(
|
|
11036
|
+
appName,
|
|
11037
|
+
objectName,
|
|
11038
|
+
columns,
|
|
11039
|
+
ctx = {}
|
|
11040
|
+
) {
|
|
11041
|
+
// console.time('getTableSchema', columns);
|
|
11042
|
+
const uiSchema = await getUISchema(objectName);
|
|
11043
|
+
|
|
11044
|
+
let sort = ctx.sort;
|
|
11045
|
+
if(!sort){
|
|
11046
|
+
const sortField = ctx.sortField;
|
|
11047
|
+
const sortOrder = ctx.sortOrder;
|
|
11048
|
+
if(sortField){
|
|
11049
|
+
let sortStr = sortField + ' ' + sortOrder || 'asc';
|
|
11050
|
+
sort = sortStr;
|
|
11051
|
+
}
|
|
11052
|
+
}
|
|
11053
|
+
|
|
11054
|
+
let fields = await convertColumnsToTableFields(columns, uiSchema);
|
|
11024
11055
|
|
|
11025
11056
|
const extraColumns = ctx.extraColumns;
|
|
11026
11057
|
|
|
11027
11058
|
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
|
-
});
|
|
11059
|
+
let extraFields = await convertColumnsToTableFields(extraColumns, uiSchema, {extra: true});
|
|
11060
|
+
fields = fields.concat(extraFields);
|
|
11035
11061
|
}
|
|
11036
11062
|
|
|
11037
11063
|
const amisSchema = await getObjectCRUD(uiSchema, fields, {
|