@steedos-widgets/amis-object 6.3.12 → 6.3.13-beta.10
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.css +0 -3
- package/dist/amis-object.cjs.js +55 -18
- package/dist/amis-object.cjs.js.map +1 -1
- package/dist/amis-object.esm.css +0 -3
- package/dist/amis-object.esm.js +55 -18
- package/dist/amis-object.esm.js.map +1 -1
- package/dist/amis-object.umd.css +0 -3
- package/dist/amis-object.umd.js +18 -14
- package/dist/amis-object.umd.js.map +1 -1
- package/dist/assets.json +21 -21
- package/dist/meta.js +10 -1
- package/package.json +3 -3
package/dist/amis-object.cjs.css
CHANGED
package/dist/amis-object.cjs.js
CHANGED
|
@@ -5735,6 +5735,7 @@ async function getTableColumns$1(object, fields, options){
|
|
|
5735
5735
|
type: "lookup",
|
|
5736
5736
|
reference_to: field.reference_to,
|
|
5737
5737
|
name: field.name,
|
|
5738
|
+
is_name: field.is_name,
|
|
5738
5739
|
label: null,
|
|
5739
5740
|
multiple: field.multiple,
|
|
5740
5741
|
amis: Object.assign({}, fieldAmis, { label: null })
|
|
@@ -6503,6 +6504,16 @@ async function getTableApi(mainObject, fields, options){
|
|
|
6503
6504
|
return api;
|
|
6504
6505
|
`;
|
|
6505
6506
|
api.adaptor = `
|
|
6507
|
+
|
|
6508
|
+
if(payload.errors && payload.errors.length > 0){
|
|
6509
|
+
return {
|
|
6510
|
+
status: 500,
|
|
6511
|
+
msg: payload.errors[0].message,
|
|
6512
|
+
data: {}
|
|
6513
|
+
}
|
|
6514
|
+
}
|
|
6515
|
+
|
|
6516
|
+
|
|
6506
6517
|
let fields = ${JSON.stringify(_$1__namespace.map(fields, 'name'))};
|
|
6507
6518
|
// 这里把行数据中所有为空的字段值配置为空字符串,是因为amis有bug:crud的columns中的列如果type为static-前缀的话,行数据中该字段为空的话会显示为父作用域中同名变量值,见:https://github.com/baidu/amis/issues/9556
|
|
6508
6519
|
(payload.data.rows || []).forEach((itemRow) => {
|
|
@@ -6748,7 +6759,7 @@ function getReadonlyFormAdaptor(object, fields, options){
|
|
|
6748
6759
|
nameLabel = `(record._display && record._display.${nameField.name}) || record.${nameField.name}`;
|
|
6749
6760
|
}
|
|
6750
6761
|
return `
|
|
6751
|
-
if(payload.data.data.length === 0){
|
|
6762
|
+
if(!payload.data.data || payload.data.data.length === 0){
|
|
6752
6763
|
var isEditor = !!${options && options.isEditor};
|
|
6753
6764
|
if(isEditor){
|
|
6754
6765
|
var fieldNames = ${JSON.stringify(fieldNames)};
|
|
@@ -6794,6 +6805,11 @@ function getReadonlyFormAdaptor(object, fields, options){
|
|
|
6794
6805
|
objectName: "${object.name}",
|
|
6795
6806
|
recordId: record._id
|
|
6796
6807
|
}
|
|
6808
|
+
if(window.location.pathname.endsWith("/"+record._id)){
|
|
6809
|
+
payload.data.mainRecord= {
|
|
6810
|
+
record
|
|
6811
|
+
};
|
|
6812
|
+
}
|
|
6797
6813
|
window.postMessage(Object.assign({type: "record.loaded"}, {record: record}), "*")
|
|
6798
6814
|
}
|
|
6799
6815
|
if(payload.errors){
|
|
@@ -8291,6 +8307,7 @@ const getSchema$4 = async (uiSchema, ctx) => {
|
|
|
8291
8307
|
: page.schema;
|
|
8292
8308
|
}
|
|
8293
8309
|
|
|
8310
|
+
// console.log('formSchema====>', formSchema);
|
|
8294
8311
|
|
|
8295
8312
|
return {
|
|
8296
8313
|
type: "service",
|
|
@@ -8315,7 +8332,7 @@ const getSchema$4 = async (uiSchema, ctx) => {
|
|
|
8315
8332
|
showCloseButton: true,
|
|
8316
8333
|
"data": {
|
|
8317
8334
|
"&": "$$",
|
|
8318
|
-
"_master": "${
|
|
8335
|
+
"_master": "${mainRecord}",
|
|
8319
8336
|
"_master._isRelated": "${_isRelated}",
|
|
8320
8337
|
"_master.relatedKey": "${relatedKey}"
|
|
8321
8338
|
},
|
|
@@ -13769,7 +13786,7 @@ async function getObjectRelatedListsMiniSchema(objectApiName){
|
|
|
13769
13786
|
* @Author: baozhoutao@steedos.com
|
|
13770
13787
|
* @Date: 2022-07-05 15:55:39
|
|
13771
13788
|
* @LastEditors: 殷亮辉 yinlianghui@hotoa.com
|
|
13772
|
-
* @LastEditTime:
|
|
13789
|
+
* @LastEditTime: 2025-05-20 16:56:55
|
|
13773
13790
|
* @Description:
|
|
13774
13791
|
*/
|
|
13775
13792
|
|
|
@@ -14068,7 +14085,7 @@ async function getListSchema(
|
|
|
14068
14085
|
}
|
|
14069
14086
|
|
|
14070
14087
|
if (window.innerWidth > 768) {
|
|
14071
|
-
// 列表视图组件PC端高度自动计算实现满屏效果,手机端不需要满屏效果,所以不用autofillheight
|
|
14088
|
+
// 列表视图组件PC端高度自动计算实现满屏效果,手机端不需要满屏效果,所以不用autofillheight,且允许微页面中重写组件autoFillHeight属性
|
|
14072
14089
|
defaults.listSchema = _$1.defaultsDeep({}, defaults.listSchema || {}, {
|
|
14073
14090
|
autoFillHeight: true
|
|
14074
14091
|
});
|
|
@@ -15705,7 +15722,9 @@ async function lookupToAmisPicker(field, readonly, ctx){
|
|
|
15705
15722
|
{
|
|
15706
15723
|
"actionType": "custom",
|
|
15707
15724
|
"script": `
|
|
15708
|
-
|
|
15725
|
+
// lookup字段弹出列表,点击新建按钮,新建记录成功后,触发@data.changed.xxx,
|
|
15726
|
+
// 此时context.props.data值是lookup字段所在表单数据,经测试多层lookup弹出列表新建记录成功后context.props.data始终取的是最近一层的lookup字段所在表单数据,符合预期
|
|
15727
|
+
const masterRecord = context.props.data;//event.data._master && event.data._master.record;
|
|
15709
15728
|
const fieldConfig = ${JSON.stringify(field)};
|
|
15710
15729
|
let reference_to = fieldConfig.reference_to;
|
|
15711
15730
|
let saveValue;
|
|
@@ -15715,7 +15734,6 @@ async function lookupToAmisPicker(field, readonly, ctx){
|
|
|
15715
15734
|
}
|
|
15716
15735
|
const saveField = fieldConfig.reference_to_field || '_id';
|
|
15717
15736
|
const saveFieldValue = newRecord[saveField];
|
|
15718
|
-
|
|
15719
15737
|
if( fieldConfig._reference_to && (_.isArray(fieldConfig._reference_to) || _.isFunction(fieldConfig._reference_to) || fieldConfig._reference_to.startsWith('function') ) ){
|
|
15720
15738
|
|
|
15721
15739
|
const fieldValue = masterRecord ? masterRecord[fieldConfig.name] : {o: reference_to, ids: []};
|
|
@@ -15735,8 +15753,10 @@ async function lookupToAmisPicker(field, readonly, ctx){
|
|
|
15735
15753
|
|
|
15736
15754
|
}else{
|
|
15737
15755
|
if(fieldConfig.multiple){
|
|
15738
|
-
//
|
|
15739
|
-
|
|
15756
|
+
// const fieldValue = (masterRecord && masterRecord[fieldConfig.name]) || [];
|
|
15757
|
+
// 连续新建多个记录时,因为masterRecord获取的主记录不是实时的,所以只会勾选最后一个新建的记录
|
|
15758
|
+
// 而下面context.context.component指向的是lookup picker组件,可以直接取到用户实时勾选的记录。
|
|
15759
|
+
const fieldValue = context.context.component.props.store.toJSON().selectedItems
|
|
15740
15760
|
saveValue = fieldValue.concat(saveFieldValue);
|
|
15741
15761
|
}else{
|
|
15742
15762
|
saveValue = saveFieldValue;
|
|
@@ -25032,11 +25052,12 @@ var SteedosObject = /** @class */ (function (_super) {
|
|
|
25032
25052
|
|
|
25033
25053
|
// md:border-b
|
|
25034
25054
|
var AmisObjectForm = function (props) { return __awaiter(void 0, void 0, void 0, function () {
|
|
25035
|
-
var $schema, recordId,
|
|
25055
|
+
var $schema, recordId, mode, _a, layout, labelAlign, appId, fieldsExtend, _b, excludedFields, _c, fields, _d, form, _e, className, enableInitApi, initApiRequestAdaptor, initApiAdaptor, apiRequestAdaptor, apiAdaptor, enableTabs, tabsMode, submitSuccActions, data, formDataFilter, onFormDataFilter, env, defaultData, objectApiName, schemaKeys, formSchema, defaults, options, globalData, amisSchema, uiSchema, allData, schema, schema, formData;
|
|
25036
25056
|
return __generator(this, function (_f) {
|
|
25037
25057
|
switch (_f.label) {
|
|
25038
25058
|
case 0:
|
|
25039
|
-
$schema = props.$schema, recordId = props.recordId,
|
|
25059
|
+
$schema = props.$schema, recordId = props.recordId, mode = props.mode, _a = props.layout, layout = _a === void 0 ? "horizontal" : _a, labelAlign = props.labelAlign, appId = props.appId, fieldsExtend = props.fieldsExtend, _b = props.excludedFields, excludedFields = _b === void 0 ? null : _b, _c = props.fields, fields = _c === void 0 ? null : _c, _d = props.form, form = _d === void 0 ? {} : _d, _e = props.className, className = _e === void 0 ? "" : _e, enableInitApi = props.enableInitApi, initApiRequestAdaptor = props.initApiRequestAdaptor, initApiAdaptor = props.initApiAdaptor, apiRequestAdaptor = props.apiRequestAdaptor, apiAdaptor = props.apiAdaptor, enableTabs = props.enableTabs, tabsMode = props.tabsMode, submitSuccActions = props.submitSuccActions, data = props.data, formDataFilter = props.formDataFilter, onFormDataFilter = props.onFormDataFilter, env = props.env;
|
|
25060
|
+
defaultData = props.defaultData;
|
|
25040
25061
|
objectApiName = props.objectApiName || "space_users";
|
|
25041
25062
|
schemaKeys = _$1.difference(_$1.keys($schema), ["id", "form", "type", "mode", "layout", "defaultData", "formDataFilter", "onFormDataFilter", "env"]);
|
|
25042
25063
|
formSchema = _$1.pick(props, schemaKeys);
|
|
@@ -25064,6 +25085,13 @@ var AmisObjectForm = function (props) { return __awaiter(void 0, void 0, void 0,
|
|
|
25064
25085
|
allData = createObject(data, {});
|
|
25065
25086
|
if (!(mode === 'edit')) return [3 /*break*/, 2];
|
|
25066
25087
|
if (defaultData) {
|
|
25088
|
+
try {
|
|
25089
|
+
defaultData = _$1.isString(defaultData) ? JSON.parse(defaultData) : defaultData;
|
|
25090
|
+
}
|
|
25091
|
+
catch (error) {
|
|
25092
|
+
console.warn(error);
|
|
25093
|
+
defaultData = {};
|
|
25094
|
+
}
|
|
25067
25095
|
// 让ObjectForm支持props中的dafaultData属性与上层组件配置的defaultData混合
|
|
25068
25096
|
// 为了解决相关表新建时如果是表单类型微页面,因为找不到ObjectForm在哪层而造成无法设置ObjectForm的defaultData的问题
|
|
25069
25097
|
allData.defaultData = __assign$2({ "&": "${defaultData}" }, defaultData //这里的defaultData是form组件的defaultData属性值
|
|
@@ -25117,11 +25145,11 @@ var AmisObjectForm = function (props) { return __awaiter(void 0, void 0, void 0,
|
|
|
25117
25145
|
formData.recordId = props.recordId;
|
|
25118
25146
|
}
|
|
25119
25147
|
amisSchema.className = "steedos-object-form ".concat(className);
|
|
25120
|
-
// console.log('AmisObjectForm amisSchema======>', amisSchema)
|
|
25121
25148
|
amisSchema.data = Object.assign({}, amisSchema.data || {}, formData, { global: globalData, uiSchema: uiSchema });
|
|
25122
25149
|
if (_$1.has(props, 'objectApiName')) {
|
|
25123
25150
|
amisSchema.data.objectName = objectApiName;
|
|
25124
25151
|
}
|
|
25152
|
+
// console.log('AmisObjectForm amisSchema======>', amisSchema)
|
|
25125
25153
|
return [2 /*return*/, amisSchema];
|
|
25126
25154
|
}
|
|
25127
25155
|
});
|
|
@@ -25287,7 +25315,7 @@ var AmisObjectListView = function (props) { return __awaiter(void 0, void 0, voi
|
|
|
25287
25315
|
{
|
|
25288
25316
|
"type": "service",
|
|
25289
25317
|
"id": "service_schema_api_" + objectApiName,
|
|
25290
|
-
"className": " steedos-object-listview-content
|
|
25318
|
+
"className": " steedos-object-listview-content grow",
|
|
25291
25319
|
"schemaApi": {
|
|
25292
25320
|
// 这里url上加objectApiName属性是因为设计器中切换对象时不会变更列表视图界面,不可以用objectName=${objectName}使用作用域中objectName变量是因为设计器那边不会监听识别data变化来render组件
|
|
25293
25321
|
"url": "${context.rootUrl}/graphql?objectName=" + objectApiName + "&listName=${listName}&display=${display}&rebuildOn=" + rebuildOn,
|
|
@@ -27196,19 +27224,28 @@ function getAmisStaticFieldType(type, data_type, options) {
|
|
|
27196
27224
|
}
|
|
27197
27225
|
function getLookupLinkOnClick(field, options) {
|
|
27198
27226
|
return __awaiter(this, void 0, void 0, function () {
|
|
27199
|
-
var recordPage, drawerRecordDetailSchema;
|
|
27227
|
+
var recordPage, objectName, recordId, drawerRecordDetailSchema;
|
|
27200
27228
|
return __generator(this, function (_a) {
|
|
27201
27229
|
switch (_a.label) {
|
|
27202
27230
|
case 0: return [4 /*yield*/, getPage({ type: 'record', appId: options.appId, objectName: options.objectName, formFactor: options.formFactor })];
|
|
27203
27231
|
case 1:
|
|
27204
27232
|
recordPage = _a.sent();
|
|
27233
|
+
objectName = "${objectName}";
|
|
27234
|
+
recordId = "${value}";
|
|
27235
|
+
if (options.tableObjectName && field.is_name) {
|
|
27236
|
+
// 如果Lookup字段上配置了is_name,且是在表格(即tableObjectName有值,包括列表视图和子表)中
|
|
27237
|
+
// 则点击弹出的详细页面是表格行记录指向的记录详细页面,此时打开的详细页面对象是表格所属对象,_id是表格行记录的_id值
|
|
27238
|
+
// tableObjectName 没有值时说明lookup字段可能是在记录详细页面表单等地方,此时打开的详细页面lookup字段值指向的记录
|
|
27239
|
+
objectName = options.tableObjectName;
|
|
27240
|
+
recordId = "${_id}";
|
|
27241
|
+
}
|
|
27205
27242
|
drawerRecordDetailSchema = recordPage ? Object.assign({}, recordPage.schema, {
|
|
27206
|
-
"recordId":
|
|
27243
|
+
"recordId": recordId,
|
|
27207
27244
|
"data": __assign$2(__assign$2({}, recordPage.schema.data), { "_inDrawer": true, "recordLoaded": false, "_tableObjectName": options.tableObjectName })
|
|
27208
27245
|
}) : {
|
|
27209
27246
|
"type": "steedos-record-detail",
|
|
27210
|
-
"objectApiName":
|
|
27211
|
-
"recordId":
|
|
27247
|
+
"objectApiName": objectName,
|
|
27248
|
+
"recordId": recordId,
|
|
27212
27249
|
"showBackButton": false,
|
|
27213
27250
|
"showButtons": true,
|
|
27214
27251
|
"data": {
|
|
@@ -27430,7 +27467,7 @@ var AmisSteedosField = function (props) { return __awaiter(void 0, void 0, void
|
|
|
27430
27467
|
label: false,
|
|
27431
27468
|
className: 'm-0',
|
|
27432
27469
|
tpl: "<a href=\"/app/-/${objectName}/view/${value}\" target=\"_blank\" ".concat(lookupATagClick, ">${label}</a>"),
|
|
27433
|
-
popOver: fieldRefObject.compactLayouts && window.innerWidth >= 768 ? {
|
|
27470
|
+
popOver: window.showLookupPopOver && fieldRefObject.compactLayouts && window.innerWidth >= 768 ? {
|
|
27434
27471
|
"trigger": "hover",
|
|
27435
27472
|
"className": "steedos-record-detail-popover",
|
|
27436
27473
|
"position": "left-bottom",
|
|
@@ -27531,7 +27568,7 @@ var AmisSteedosField = function (props) { return __awaiter(void 0, void 0, void
|
|
|
27531
27568
|
type: 'static',
|
|
27532
27569
|
className: 'm-0',
|
|
27533
27570
|
tpl: "<a href=\"/app/-/${objectName}/view/${value}\" target=\"_blank\" ".concat(lookupATagClick, ">${label}</a>"),
|
|
27534
|
-
popOver: fieldRefObject.compactLayouts && window.innerWidth >= 768 ? {
|
|
27571
|
+
popOver: window.showLookupPopOver && fieldRefObject.compactLayouts && window.innerWidth >= 768 ? {
|
|
27535
27572
|
"trigger": "hover",
|
|
27536
27573
|
"className": "steedos-record-detail-popover",
|
|
27537
27574
|
"position": "left-bottom",
|