@steedos-widgets/amis-object 6.3.13-beta.6 → 6.3.13-beta.8
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 +33 -12
- package/dist/amis-object.cjs.js.map +1 -1
- package/dist/amis-object.esm.js +33 -12
- package/dist/amis-object.esm.js.map +1 -1
- package/dist/amis-object.umd.js +9 -6
- 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.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 })
|
|
@@ -15705,7 +15706,9 @@ async function lookupToAmisPicker(field, readonly, ctx){
|
|
|
15705
15706
|
{
|
|
15706
15707
|
"actionType": "custom",
|
|
15707
15708
|
"script": `
|
|
15708
|
-
|
|
15709
|
+
// lookup字段弹出列表,点击新建按钮,新建记录成功后,触发@data.changed.xxx,
|
|
15710
|
+
// 此时context.props.data值是lookup字段所在表单数据,经测试多层lookup弹出列表新建记录成功后context.props.data始终取的是最近一层的lookup字段所在表单数据,符合预期
|
|
15711
|
+
const masterRecord = context.props.data;//event.data._master && event.data._master.record;
|
|
15709
15712
|
const fieldConfig = ${JSON.stringify(field)};
|
|
15710
15713
|
let reference_to = fieldConfig.reference_to;
|
|
15711
15714
|
let saveValue;
|
|
@@ -15715,7 +15718,6 @@ async function lookupToAmisPicker(field, readonly, ctx){
|
|
|
15715
15718
|
}
|
|
15716
15719
|
const saveField = fieldConfig.reference_to_field || '_id';
|
|
15717
15720
|
const saveFieldValue = newRecord[saveField];
|
|
15718
|
-
|
|
15719
15721
|
if( fieldConfig._reference_to && (_.isArray(fieldConfig._reference_to) || _.isFunction(fieldConfig._reference_to) || fieldConfig._reference_to.startsWith('function') ) ){
|
|
15720
15722
|
|
|
15721
15723
|
const fieldValue = masterRecord ? masterRecord[fieldConfig.name] : {o: reference_to, ids: []};
|
|
@@ -15735,8 +15737,10 @@ async function lookupToAmisPicker(field, readonly, ctx){
|
|
|
15735
15737
|
|
|
15736
15738
|
}else{
|
|
15737
15739
|
if(fieldConfig.multiple){
|
|
15738
|
-
//
|
|
15739
|
-
|
|
15740
|
+
// const fieldValue = (masterRecord && masterRecord[fieldConfig.name]) || [];
|
|
15741
|
+
// 连续新建多个记录时,因为masterRecord获取的主记录不是实时的,所以只会勾选最后一个新建的记录
|
|
15742
|
+
// 而下面context.context.component指向的是lookup picker组件,可以直接取到用户实时勾选的记录。
|
|
15743
|
+
const fieldValue = context.context.component.props.store.toJSON().selectedItems
|
|
15740
15744
|
saveValue = fieldValue.concat(saveFieldValue);
|
|
15741
15745
|
}else{
|
|
15742
15746
|
saveValue = saveFieldValue;
|
|
@@ -25032,11 +25036,12 @@ var SteedosObject = /** @class */ (function (_super) {
|
|
|
25032
25036
|
|
|
25033
25037
|
// md:border-b
|
|
25034
25038
|
var AmisObjectForm = function (props) { return __awaiter(void 0, void 0, void 0, function () {
|
|
25035
|
-
var $schema, recordId,
|
|
25039
|
+
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
25040
|
return __generator(this, function (_f) {
|
|
25037
25041
|
switch (_f.label) {
|
|
25038
25042
|
case 0:
|
|
25039
|
-
$schema = props.$schema, recordId = props.recordId,
|
|
25043
|
+
$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;
|
|
25044
|
+
defaultData = props.defaultData;
|
|
25040
25045
|
objectApiName = props.objectApiName || "space_users";
|
|
25041
25046
|
schemaKeys = _$1.difference(_$1.keys($schema), ["id", "form", "type", "mode", "layout", "defaultData", "formDataFilter", "onFormDataFilter", "env"]);
|
|
25042
25047
|
formSchema = _$1.pick(props, schemaKeys);
|
|
@@ -25064,6 +25069,13 @@ var AmisObjectForm = function (props) { return __awaiter(void 0, void 0, void 0,
|
|
|
25064
25069
|
allData = createObject(data, {});
|
|
25065
25070
|
if (!(mode === 'edit')) return [3 /*break*/, 2];
|
|
25066
25071
|
if (defaultData) {
|
|
25072
|
+
try {
|
|
25073
|
+
defaultData = _$1.isString(defaultData) ? JSON.parse(defaultData) : defaultData;
|
|
25074
|
+
}
|
|
25075
|
+
catch (error) {
|
|
25076
|
+
console.warn(error);
|
|
25077
|
+
defaultData = {};
|
|
25078
|
+
}
|
|
25067
25079
|
// 让ObjectForm支持props中的dafaultData属性与上层组件配置的defaultData混合
|
|
25068
25080
|
// 为了解决相关表新建时如果是表单类型微页面,因为找不到ObjectForm在哪层而造成无法设置ObjectForm的defaultData的问题
|
|
25069
25081
|
allData.defaultData = __assign$2({ "&": "${defaultData}" }, defaultData //这里的defaultData是form组件的defaultData属性值
|
|
@@ -27196,19 +27208,28 @@ function getAmisStaticFieldType(type, data_type, options) {
|
|
|
27196
27208
|
}
|
|
27197
27209
|
function getLookupLinkOnClick(field, options) {
|
|
27198
27210
|
return __awaiter(this, void 0, void 0, function () {
|
|
27199
|
-
var recordPage, drawerRecordDetailSchema;
|
|
27211
|
+
var recordPage, objectName, recordId, drawerRecordDetailSchema;
|
|
27200
27212
|
return __generator(this, function (_a) {
|
|
27201
27213
|
switch (_a.label) {
|
|
27202
27214
|
case 0: return [4 /*yield*/, getPage({ type: 'record', appId: options.appId, objectName: options.objectName, formFactor: options.formFactor })];
|
|
27203
27215
|
case 1:
|
|
27204
27216
|
recordPage = _a.sent();
|
|
27217
|
+
objectName = "${objectName}";
|
|
27218
|
+
recordId = "${value}";
|
|
27219
|
+
if (options.tableObjectName && field.is_name) {
|
|
27220
|
+
// 如果Lookup字段上配置了is_name,且是在表格(即tableObjectName有值,包括列表视图和子表)中
|
|
27221
|
+
// 则点击弹出的详细页面是表格行记录指向的记录详细页面,此时打开的详细页面对象是表格所属对象,_id是表格行记录的_id值
|
|
27222
|
+
// tableObjectName 没有值时说明lookup字段可能是在记录详细页面表单等地方,此时打开的详细页面lookup字段值指向的记录
|
|
27223
|
+
objectName = options.tableObjectName;
|
|
27224
|
+
recordId = "${_id}";
|
|
27225
|
+
}
|
|
27205
27226
|
drawerRecordDetailSchema = recordPage ? Object.assign({}, recordPage.schema, {
|
|
27206
|
-
"recordId":
|
|
27227
|
+
"recordId": recordId,
|
|
27207
27228
|
"data": __assign$2(__assign$2({}, recordPage.schema.data), { "_inDrawer": true, "recordLoaded": false, "_tableObjectName": options.tableObjectName })
|
|
27208
27229
|
}) : {
|
|
27209
27230
|
"type": "steedos-record-detail",
|
|
27210
|
-
"objectApiName":
|
|
27211
|
-
"recordId":
|
|
27231
|
+
"objectApiName": objectName,
|
|
27232
|
+
"recordId": recordId,
|
|
27212
27233
|
"showBackButton": false,
|
|
27213
27234
|
"showButtons": true,
|
|
27214
27235
|
"data": {
|
|
@@ -27430,7 +27451,7 @@ var AmisSteedosField = function (props) { return __awaiter(void 0, void 0, void
|
|
|
27430
27451
|
label: false,
|
|
27431
27452
|
className: 'm-0',
|
|
27432
27453
|
tpl: "<a href=\"/app/-/${objectName}/view/${value}\" target=\"_blank\" ".concat(lookupATagClick, ">${label}</a>"),
|
|
27433
|
-
popOver: fieldRefObject.compactLayouts && window.innerWidth >= 768 ? {
|
|
27454
|
+
popOver: window.showLookupPopOver && fieldRefObject.compactLayouts && window.innerWidth >= 768 ? {
|
|
27434
27455
|
"trigger": "hover",
|
|
27435
27456
|
"className": "steedos-record-detail-popover",
|
|
27436
27457
|
"position": "left-bottom",
|
|
@@ -27531,7 +27552,7 @@ var AmisSteedosField = function (props) { return __awaiter(void 0, void 0, void
|
|
|
27531
27552
|
type: 'static',
|
|
27532
27553
|
className: 'm-0',
|
|
27533
27554
|
tpl: "<a href=\"/app/-/${objectName}/view/${value}\" target=\"_blank\" ".concat(lookupATagClick, ">${label}</a>"),
|
|
27534
|
-
popOver: fieldRefObject.compactLayouts && window.innerWidth >= 768 ? {
|
|
27555
|
+
popOver: window.showLookupPopOver && fieldRefObject.compactLayouts && window.innerWidth >= 768 ? {
|
|
27535
27556
|
"trigger": "hover",
|
|
27536
27557
|
"className": "steedos-record-detail-popover",
|
|
27537
27558
|
"position": "left-bottom",
|