@steedos-widgets/amis-object 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/amis-object.cjs.js +94 -54
- package/dist/amis-object.cjs.js.map +1 -1
- package/dist/amis-object.esm.js +95 -55
- package/dist/amis-object.esm.js.map +1 -1
- package/dist/amis-object.umd.js +58 -56
- package/dist/amis-object.umd.js.map +1 -1
- package/dist/assets.json +16 -16
- package/dist/pages/PageRecordDetail.d.ts +8 -0
- package/package.json +3 -3
package/dist/amis-object.cjs.js
CHANGED
|
@@ -3551,11 +3551,26 @@ const Router$1 = {
|
|
|
3551
3551
|
/*
|
|
3552
3552
|
* @Author: baozhoutao@steedos.com
|
|
3553
3553
|
* @Date: 2022-07-20 16:29:22
|
|
3554
|
-
* @LastEditors:
|
|
3555
|
-
* @LastEditTime: 2023-09-
|
|
3554
|
+
* @LastEditors: liaodaxue
|
|
3555
|
+
* @LastEditTime: 2023-09-11 17:19:53
|
|
3556
3556
|
* @Description:
|
|
3557
3557
|
*/
|
|
3558
3558
|
|
|
3559
|
+
function getImageFieldUrl(url) {
|
|
3560
|
+
if (window.Meteor && window.Meteor.isCordova != true) {
|
|
3561
|
+
// '//'的位置
|
|
3562
|
+
const doubleSlashIndex = url.indexOf('//');
|
|
3563
|
+
const urlIndex = url.indexOf('/', doubleSlashIndex + 2);
|
|
3564
|
+
const rootUrl = url.substring(urlIndex);
|
|
3565
|
+
return rootUrl;
|
|
3566
|
+
}
|
|
3567
|
+
return url;
|
|
3568
|
+
}
|
|
3569
|
+
|
|
3570
|
+
if(typeof window != 'undefined'){
|
|
3571
|
+
window.getImageFieldUrl = getImageFieldUrl;
|
|
3572
|
+
}
|
|
3573
|
+
|
|
3559
3574
|
function getContrastColor(bgColor) {
|
|
3560
3575
|
var backgroundColor = (bgColor.charAt(0) === '#') ? bgColor.substring(1, 7) : bgColor;
|
|
3561
3576
|
var r = parseInt(backgroundColor.substr(0, 2), 16);
|
|
@@ -9121,7 +9136,8 @@ async function lookupToAmisPicker(field, readonly, ctx){
|
|
|
9121
9136
|
|
|
9122
9137
|
pickerSchema.headerToolbar = getObjectHeaderToolbar(refObjectConfig, fieldsArr, ctx.formFactor, { headerToolbarItems, isLookup: true, keywordsSearchBoxName });
|
|
9123
9138
|
const isAllowCreate = refObjectConfig.permissions.allowCreate;
|
|
9124
|
-
|
|
9139
|
+
const isCreate = _$1__namespace.isBoolean(field.create) ? field.create : true;
|
|
9140
|
+
if (isAllowCreate && isCreate) {
|
|
9125
9141
|
const new_button = await getSchema$5(refObjectConfig, { appId: ctx.appId, objectName: refObjectConfig.name, formFactor: ctx.formFactor });
|
|
9126
9142
|
new_button.align = "right";
|
|
9127
9143
|
// 保持快速搜索放在最左侧,新建按钮往里插,而不是push到最后
|
|
@@ -11717,7 +11733,13 @@ async function getTableApi(mainObject, fields, options){
|
|
|
11717
11733
|
if(field.type === 'file'){
|
|
11718
11734
|
item[key] = value
|
|
11719
11735
|
}else{
|
|
11720
|
-
item[key] = _.map(value,
|
|
11736
|
+
item[key] = _.map(value, (item)=>{
|
|
11737
|
+
if(field.type === 'image'){
|
|
11738
|
+
const url = window.getImageFieldUrl(item.url);
|
|
11739
|
+
return url;
|
|
11740
|
+
}
|
|
11741
|
+
return item.url;
|
|
11742
|
+
})
|
|
11721
11743
|
}
|
|
11722
11744
|
}
|
|
11723
11745
|
})
|
|
@@ -11959,10 +11981,14 @@ function getScriptForAddUrlPrefixForImgFields(fields){
|
|
|
11959
11981
|
let fieldProps = imgFields[item];
|
|
11960
11982
|
if(fieldProps.multiple){
|
|
11961
11983
|
if(imgFieldDisplayValue instanceof Array){
|
|
11962
|
-
data[item] = imgFieldDisplayValue.map((i)=>{
|
|
11984
|
+
data[item] = imgFieldDisplayValue.map((i)=>{
|
|
11985
|
+
const url = window.getImageFieldUrl(i.url);
|
|
11986
|
+
return url;
|
|
11987
|
+
});
|
|
11963
11988
|
}
|
|
11964
11989
|
}else{
|
|
11965
|
-
|
|
11990
|
+
const url = imgFieldDisplayValue && window.getImageFieldUrl(imgFieldDisplayValue.url);
|
|
11991
|
+
data[item] = url;
|
|
11966
11992
|
}
|
|
11967
11993
|
}
|
|
11968
11994
|
})
|
|
@@ -14123,53 +14149,34 @@ async function getListSchema(
|
|
|
14123
14149
|
};
|
|
14124
14150
|
}
|
|
14125
14151
|
|
|
14126
|
-
|
|
14127
|
-
async function getTableSchema(
|
|
14128
|
-
appName,
|
|
14129
|
-
objectName,
|
|
14130
|
-
columns,
|
|
14131
|
-
ctx = {}
|
|
14132
|
-
) {
|
|
14133
|
-
// console.time('getTableSchema', columns);
|
|
14134
|
-
const uiSchema = await getUISchema(objectName);
|
|
14135
|
-
|
|
14136
|
-
let sort = ctx.sort;
|
|
14137
|
-
if(!sort){
|
|
14138
|
-
const sortField = ctx.sortField;
|
|
14139
|
-
const sortOrder = ctx.sortOrder;
|
|
14140
|
-
if(sortField){
|
|
14141
|
-
let sortStr = sortField + ' ' + sortOrder || 'asc';
|
|
14142
|
-
sort = sortStr;
|
|
14143
|
-
}
|
|
14144
|
-
}
|
|
14145
|
-
|
|
14152
|
+
async function convertColumnsToTableFields(columns, uiSchema, ctx = {}) {
|
|
14146
14153
|
let fields = [];
|
|
14147
|
-
for(const column of columns){
|
|
14154
|
+
for (const column of columns) {
|
|
14148
14155
|
if (_$1.isString(column)) {
|
|
14149
|
-
if(column.indexOf('.') > 0){
|
|
14156
|
+
if (column.indexOf('.') > 0) {
|
|
14150
14157
|
const fieldName = column.split('.')[0];
|
|
14151
14158
|
const displayName = column.split('.')[1];
|
|
14152
14159
|
const filedInfo = uiSchema.fields[fieldName];
|
|
14153
|
-
if(filedInfo && (filedInfo.type === 'lookup' || filedInfo.type === 'master_detail') && _$1.isString(filedInfo.reference_to)
|
|
14160
|
+
if (filedInfo && (filedInfo.type === 'lookup' || filedInfo.type === 'master_detail') && _$1.isString(filedInfo.reference_to)) {
|
|
14154
14161
|
const rfUiSchema = await getUISchema(filedInfo.reference_to);
|
|
14155
14162
|
const rfFieldInfo = rfUiSchema.fields[displayName];
|
|
14156
|
-
fields.push(Object.assign({}, rfFieldInfo, {name: `${fieldName}__expand.${displayName}`, expand: true, expandInfo: {fieldName, displayName}}));
|
|
14163
|
+
fields.push(Object.assign({}, rfFieldInfo, { name: `${fieldName}__expand.${displayName}`, expand: true, expandInfo: { fieldName, displayName } }, ctx));
|
|
14157
14164
|
}
|
|
14158
|
-
}else {
|
|
14159
|
-
if(uiSchema.fields[column]){
|
|
14160
|
-
fields.push(uiSchema.fields[column]);
|
|
14165
|
+
} else {
|
|
14166
|
+
if (uiSchema.fields[column]) {
|
|
14167
|
+
fields.push(Object.assign({}, uiSchema.fields[column], ctx));
|
|
14161
14168
|
}
|
|
14162
14169
|
}
|
|
14163
14170
|
} else if (_$1.isObject(column)) {
|
|
14164
|
-
if(column.field.indexOf('.') > 0){
|
|
14171
|
+
if (column.field.indexOf('.') > 0) {
|
|
14165
14172
|
const fieldName = column.field.split('.')[0];
|
|
14166
14173
|
const displayName = column.field.split('.')[1];
|
|
14167
14174
|
const filedInfo = uiSchema.fields[fieldName];
|
|
14168
|
-
if(filedInfo && (filedInfo.type === 'lookup' || filedInfo.type === 'master_detail') && _$1.isString(filedInfo.reference_to)
|
|
14175
|
+
if (filedInfo && (filedInfo.type === 'lookup' || filedInfo.type === 'master_detail') && _$1.isString(filedInfo.reference_to)) {
|
|
14169
14176
|
const rfUiSchema = await getUISchema(filedInfo.reference_to);
|
|
14170
14177
|
const rfFieldInfo = rfUiSchema.fields[displayName];
|
|
14171
|
-
fields.push(Object.assign({}, rfFieldInfo,
|
|
14172
|
-
{name: `${fieldName}__expand.${displayName}`, expand: true, expandInfo: {fieldName, displayName}},
|
|
14178
|
+
fields.push(Object.assign({}, rfFieldInfo, ctx,
|
|
14179
|
+
{ name: `${fieldName}__expand.${displayName}`, expand: true, expandInfo: { fieldName, displayName } },
|
|
14173
14180
|
{
|
|
14174
14181
|
width: column.width,
|
|
14175
14182
|
wrap: column.wrap, // wrap = true 是没效果的
|
|
@@ -14177,10 +14184,10 @@ async function getTableSchema(
|
|
|
14177
14184
|
}
|
|
14178
14185
|
));
|
|
14179
14186
|
}
|
|
14180
|
-
}else {
|
|
14181
|
-
if(uiSchema.fields[column.field]){
|
|
14187
|
+
} else {
|
|
14188
|
+
if (uiSchema.fields[column.field]) {
|
|
14182
14189
|
fields.push(
|
|
14183
|
-
Object.assign({}, uiSchema.fields[column.field], {
|
|
14190
|
+
Object.assign({}, uiSchema.fields[column.field], ctx, {
|
|
14184
14191
|
width: column.width,
|
|
14185
14192
|
wrap: column.wrap, // wrap = true 是没效果的
|
|
14186
14193
|
amis: column.amis
|
|
@@ -14190,17 +14197,36 @@ async function getTableSchema(
|
|
|
14190
14197
|
}
|
|
14191
14198
|
}
|
|
14192
14199
|
}
|
|
14200
|
+
return fields;
|
|
14201
|
+
}
|
|
14202
|
+
|
|
14203
|
+
// 获取对象表格
|
|
14204
|
+
async function getTableSchema(
|
|
14205
|
+
appName,
|
|
14206
|
+
objectName,
|
|
14207
|
+
columns,
|
|
14208
|
+
ctx = {}
|
|
14209
|
+
) {
|
|
14210
|
+
// console.time('getTableSchema', columns);
|
|
14211
|
+
const uiSchema = await getUISchema(objectName);
|
|
14212
|
+
|
|
14213
|
+
let sort = ctx.sort;
|
|
14214
|
+
if(!sort){
|
|
14215
|
+
const sortField = ctx.sortField;
|
|
14216
|
+
const sortOrder = ctx.sortOrder;
|
|
14217
|
+
if(sortField){
|
|
14218
|
+
let sortStr = sortField + ' ' + sortOrder || 'asc';
|
|
14219
|
+
sort = sortStr;
|
|
14220
|
+
}
|
|
14221
|
+
}
|
|
14222
|
+
|
|
14223
|
+
let fields = await convertColumnsToTableFields(columns, uiSchema);
|
|
14193
14224
|
|
|
14194
14225
|
const extraColumns = ctx.extraColumns;
|
|
14195
14226
|
|
|
14196
14227
|
if (extraColumns) {
|
|
14197
|
-
|
|
14198
|
-
|
|
14199
|
-
fields.push({ extra: true, name: column });
|
|
14200
|
-
} else if (_$1.isObject(column)) {
|
|
14201
|
-
fields.push({ extra: true, name: column.field });
|
|
14202
|
-
}
|
|
14203
|
-
});
|
|
14228
|
+
let extraFields = await convertColumnsToTableFields(extraColumns, uiSchema, {extra: true});
|
|
14229
|
+
fields = fields.concat(extraFields);
|
|
14204
14230
|
}
|
|
14205
14231
|
|
|
14206
14232
|
const amisSchema = await getObjectCRUD(uiSchema, fields, {
|
|
@@ -17817,6 +17843,8 @@ var AmisObjectListView = function (props) { return __awaiter(void 0, void 0, voi
|
|
|
17817
17843
|
return __generator(this, function (_j) {
|
|
17818
17844
|
switch (_j.label) {
|
|
17819
17845
|
case 0:
|
|
17846
|
+
// console.time('AmisObjectListView')
|
|
17847
|
+
console.log("AmisObjectListView props", props);
|
|
17820
17848
|
$schema = props.$schema, top = props.top, perPage = props.perPage, _a = props.showHeader, showHeader = _a === void 0 ? true : _a, data = props.data, defaultData = props.defaultData, _b = props.crud, crud = _b === void 0 ? {} : _b, _c = props.className, className = _c === void 0 ? "" : _c, crudClassName = props.crudClassName, _d = props.showDisplayAs, showDisplayAs = _d === void 0 ? false : _d, sideSchema = props.sideSchema, props.columnsTogglable, _f = props.filterVisible, filterVisible = _f === void 0 ? true : _f, headerToolbarItems = props.headerToolbarItems, rowClassNameExpr = props.rowClassNameExpr, _g = props.hiddenColumnOperation, hiddenColumnOperation = _g === void 0 ? false : _g;
|
|
17821
17849
|
headerSchema = props.headerSchema;
|
|
17822
17850
|
ctx = props.ctx;
|
|
@@ -17949,7 +17977,7 @@ var AmisObjectListView = function (props) { return __awaiter(void 0, void 0, voi
|
|
|
17949
17977
|
"Authorization": "Bearer ${context.tenantId},${context.authToken}"
|
|
17950
17978
|
},
|
|
17951
17979
|
"requestAdaptor": "api.data={query: '{spaces__findOne(id: \"none\"){_id,name}}'};return api;",
|
|
17952
|
-
"adaptor": "\n // console.log('service listview schemaApi adaptor....', api.body); \n let { appId, objectName, defaultListName: listName, display, formFactor: defaultFormFactor} = api.body;\n if(api.body.listName){\n listName = api.body.listName;\n }\n return new Promise((resolve)=>{\n const listViewSchemaProps = ".concat(JSON.stringify(listViewSchemaProps), ";\n const formFactor = ([\"split\"].indexOf(display) > -1) ? 'SMALL': defaultFormFactor;\n listViewSchemaProps.formFactor = formFactor;\n listViewSchemaProps.displayAs = display;\n
|
|
17980
|
+
"adaptor": "\n // console.log('service listview schemaApi adaptor....', api.body); \n let { appId, objectName, defaultListName: listName, display, formFactor: defaultFormFactor} = api.body;\n if(api.body.listName){\n listName = api.body.listName;\n }\n return new Promise((resolve)=>{\n const listViewSchemaProps = ".concat(JSON.stringify(listViewSchemaProps), ";\n const formFactor = ([\"split\"].indexOf(display) > -1) ? 'SMALL': defaultFormFactor;\n listViewSchemaProps.formFactor = formFactor;\n listViewSchemaProps.displayAs = display;\n \n window.getListSchema(appId, objectName, listName, listViewSchemaProps).then((schema)=>{\n try{\n const uiSchema = schema.uiSchema;\n const listView = _.find(\n uiSchema.list_views,\n (listView, name) => {\n // \u4F20\u5165listViewName\u7A7A\u503C\u5219\u53D6\u7B2C\u4E00\u4E2A\n if(!listName){\n listName = name;\n }\n return name === listName || listView._id === listName;\n }\n );\n if(listView){\n window.Steedos && window.Steedos.setDocumentTitle && window.Steedos.setDocumentTitle({pageName: listView.label || listView.name})\n }\n }catch(e){\n console.error(e)\n }\n payload.data = schema.amisSchema;\n // console.log(\"schema================>\", schema)\n resolve(payload)\n });\n });\n ")
|
|
17953
17981
|
},
|
|
17954
17982
|
// "body": body,
|
|
17955
17983
|
// "data": serviceData
|
|
@@ -18793,8 +18821,8 @@ var AmisGlobalFooter = function (props) { return __awaiter(void 0, void 0, void
|
|
|
18793
18821
|
/*
|
|
18794
18822
|
* @Author: baozhoutao@steedos.com
|
|
18795
18823
|
* @Date: 2022-09-01 14:44:57
|
|
18796
|
-
* @LastEditors:
|
|
18797
|
-
* @LastEditTime: 2023-08
|
|
18824
|
+
* @LastEditors: baozhoutao@steedos.com
|
|
18825
|
+
* @LastEditTime: 2023-09-08 17:54:54
|
|
18798
18826
|
* @Description:
|
|
18799
18827
|
*/
|
|
18800
18828
|
var AmisGlobalHeaderToolbar = function (props) { return __awaiter(void 0, void 0, void 0, function () {
|
|
@@ -18814,7 +18842,7 @@ var AmisGlobalHeaderToolbar = function (props) { return __awaiter(void 0, void 0
|
|
|
18814
18842
|
"body": __spreadArray(__spreadArray([], __read(customButtons), false), [
|
|
18815
18843
|
{
|
|
18816
18844
|
"type": "button",
|
|
18817
|
-
"hiddenOn": "window
|
|
18845
|
+
"hiddenOn": "${window:innerWidth < 768 || (window:Meteor.settings.public && window:Meteor.settings.public.platform && window:Meteor.settings.public.platform.is_oem)}",
|
|
18818
18846
|
"id": "u:267a7e84a89d",
|
|
18819
18847
|
"onEvent": {
|
|
18820
18848
|
"click": {
|
|
@@ -19129,6 +19157,7 @@ var AmisGlobalHeaderToolbar = function (props) { return __awaiter(void 0, void 0
|
|
|
19129
19157
|
"type": "button",
|
|
19130
19158
|
"label": instance.t('frontend_about'),
|
|
19131
19159
|
"className": "flex",
|
|
19160
|
+
"hiddenOn": "${window:Meteor.settings.public && window:Meteor.settings.public.platform && window:Meteor.settings.public.platform.is_oem}",
|
|
19132
19161
|
"onEvent": {
|
|
19133
19162
|
"click": {
|
|
19134
19163
|
"actions": [
|
|
@@ -19490,7 +19519,7 @@ var AmisSteedosField = function (props) { return __awaiter(void 0, void 0, void
|
|
|
19490
19519
|
* @Author: baozhoutao@steedos.com
|
|
19491
19520
|
* @Date: 2023-01-14 16:41:24
|
|
19492
19521
|
* @LastEditors: baozhoutao@steedos.com
|
|
19493
|
-
* @LastEditTime: 2023-09-
|
|
19522
|
+
* @LastEditTime: 2023-09-11 16:48:35
|
|
19494
19523
|
* @Description:
|
|
19495
19524
|
*/
|
|
19496
19525
|
var getSelectFlowSchema = function (id, props) {
|
|
@@ -19638,7 +19667,7 @@ var getSelectFlowSchema = function (id, props) {
|
|
|
19638
19667
|
method: "post",
|
|
19639
19668
|
url: "${context.rootUrl}/graphql?keywords=${keywords}",
|
|
19640
19669
|
requestAdaptor: "\n const keywords = api.body.keywords || '';\n const appId = '".concat(data.app_id || "", "';\n api.data = {\n query: `\n {\n options: flows__getList(action: \"").concat(action, "\", keywords: \"${keywords}\", appId: \"${appId}\", distributeInstanceId: \"").concat(distributeInstanceId, "\", distributeStepId: \"").concat(distributeStepId, "\"){\n value:_id\n label:name\n children: flows{\n value: _id,\n label: name\n }\n }\n }\n `\n }\n "),
|
|
19641
|
-
adaptor: "\n var options = payload.data.options;\n if(options){\n options.forEach(function(item,index) {\n if(item.value != 'startFlows' && (!item.children || item.children.length == 0)){\n payload.data.options.splice(index,1)\n }\n })\n }\n if(payload.data.options.length === 1 && payload.data.options[0].children.length === 1){\n
|
|
19670
|
+
adaptor: "\n var options = payload.data.options;\n if(options){\n options.forEach(function(item,index) {\n if(item.value != 'startFlows' && (!item.children || item.children.length == 0)){\n payload.data.options.splice(index,1)\n }\n })\n }\n // if(payload.data.options.length === 1 && payload.data.options[0].children.length === 1){\n // payload.data.value = payload.data.options[0].children[0].value\n // }\n return payload;\n ",
|
|
19642
19671
|
"headers": {
|
|
19643
19672
|
"Authorization": "Bearer ${context.tenantId},${context.authToken}"
|
|
19644
19673
|
}
|
|
@@ -19804,7 +19833,17 @@ var PageRecordDetail = function (props) { return __awaiter(void 0, void 0, void
|
|
|
19804
19833
|
case 2: return [2 /*return*/, {
|
|
19805
19834
|
type: 'service',
|
|
19806
19835
|
"className": 'h-full',
|
|
19807
|
-
body: recordSchema
|
|
19836
|
+
body: recordSchema,
|
|
19837
|
+
"onEvent": {
|
|
19838
|
+
"recordLoaded": {
|
|
19839
|
+
"actions": [
|
|
19840
|
+
{
|
|
19841
|
+
"actionType": "custom",
|
|
19842
|
+
"script": "window.Steedos && window.Steedos.setDocumentTitle && Steedos.setDocumentTitle({pageName: event.data.record.name})"
|
|
19843
|
+
}
|
|
19844
|
+
]
|
|
19845
|
+
}
|
|
19846
|
+
}
|
|
19808
19847
|
}];
|
|
19809
19848
|
}
|
|
19810
19849
|
});
|
|
@@ -19820,6 +19859,7 @@ var PageObject = function (props) { return __awaiter(void 0, void 0, void 0, fun
|
|
|
19820
19859
|
case 1:
|
|
19821
19860
|
uiSchema = _b.sent();
|
|
19822
19861
|
delete $schema.data.recordId;
|
|
19862
|
+
window.Steedos && window.Steedos.setDocumentTitle && window.Steedos.setDocumentTitle({ tabName: uiSchema.label || uiSchema.name });
|
|
19823
19863
|
// 最外层的data是render data, 会被updateProps data覆盖, 所以组件data需要单开一个数据域. 所以此处有2层service
|
|
19824
19864
|
return [2 /*return*/, {
|
|
19825
19865
|
type: "service",
|