@steedos-widgets/amis-object 1.2.3 → 1.2.5
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/AmisAppMenu.d.ts +8 -7
- package/dist/amis-object.cjs.js +218 -194
- package/dist/amis-object.cjs.js.map +1 -1
- package/dist/amis-object.esm.js +219 -195
- package/dist/amis-object.esm.js.map +1 -1
- package/dist/amis-object.umd.js +218 -194
- package/dist/amis-object.umd.js.map +1 -1
- package/dist/assets.json +11 -11
- package/dist/meta.js +122 -51
- package/package.json +3 -3
package/dist/amis-object.esm.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React, { useState, useEffect, createElement } from 'react';
|
|
2
2
|
import * as ___default from 'lodash';
|
|
3
|
-
import ___default__default, { isEmpty, isArray, each, find, endsWith, cloneDeep,
|
|
3
|
+
import ___default__default, { isEmpty, isArray, each, find, endsWith, cloneDeep, map, includes, toArray, mergeWith, isString, union, has, slice, defaultsDeep as defaultsDeep$1, isObject as isObject$1, filter, get, isBoolean, omitBy, isNil, startsWith, isFunction, compact, difference, keys, pick, pickBy, random, assign, isNumber } from 'lodash';
|
|
4
4
|
import { Dropdown, Tabs, Spin, Badge, Skeleton, Modal as Modal$1, message, notification, Button, Space, Drawer as Drawer$1 } from 'antd';
|
|
5
5
|
import ReactDOM, { createRoot } from 'react-dom';
|
|
6
6
|
|
|
@@ -693,7 +693,7 @@ const getSteedosAuth = () => {
|
|
|
693
693
|
* @Author: baozhoutao@steedos.com
|
|
694
694
|
* @Date: 2022-08-16 17:02:08
|
|
695
695
|
* @LastEditors: baozhoutao@steedos.com
|
|
696
|
-
* @LastEditTime: 2023-04-
|
|
696
|
+
* @LastEditTime: 2023-04-19 15:25:50
|
|
697
697
|
* @Description:
|
|
698
698
|
*/
|
|
699
699
|
|
|
@@ -705,7 +705,7 @@ const Router$1 = {
|
|
|
705
705
|
return urlSearch.get('display')
|
|
706
706
|
}
|
|
707
707
|
// const key = `tab.${tab_id}.display`;
|
|
708
|
-
const key = `
|
|
708
|
+
const key = `page_display`;
|
|
709
709
|
const value = localStorage.getItem(key);
|
|
710
710
|
return value ? value : 'grid'
|
|
711
711
|
},
|
|
@@ -1727,8 +1727,8 @@ var config = {
|
|
|
1727
1727
|
/*
|
|
1728
1728
|
* @Author: baozhoutao@steedos.com
|
|
1729
1729
|
* @Date: 2022-11-01 15:51:00
|
|
1730
|
-
* @LastEditors:
|
|
1731
|
-
* @LastEditTime: 2023-04-
|
|
1730
|
+
* @LastEditors: baozhoutao@steedos.com
|
|
1731
|
+
* @LastEditTime: 2023-04-19 20:26:27
|
|
1732
1732
|
* @Description:
|
|
1733
1733
|
*/
|
|
1734
1734
|
|
|
@@ -1838,7 +1838,27 @@ const getSchema$4 = async (uiSchema, ctx) => {
|
|
|
1838
1838
|
"id": "u:e11347411d2d",
|
|
1839
1839
|
"closeOnEsc": false,
|
|
1840
1840
|
"closeOnOutside": false,
|
|
1841
|
-
"size": "lg"
|
|
1841
|
+
"size": "lg",
|
|
1842
|
+
"actions": [
|
|
1843
|
+
{
|
|
1844
|
+
type: 'button',
|
|
1845
|
+
actionType: 'cancel',
|
|
1846
|
+
label: "取消"
|
|
1847
|
+
},
|
|
1848
|
+
{
|
|
1849
|
+
type: 'button',
|
|
1850
|
+
label: "保存并新建",
|
|
1851
|
+
actionType: 'confirm',
|
|
1852
|
+
close: false,
|
|
1853
|
+
id: "confirmAndNew"
|
|
1854
|
+
},
|
|
1855
|
+
{
|
|
1856
|
+
type: 'button',
|
|
1857
|
+
actionType: 'confirm',
|
|
1858
|
+
label: "保存",
|
|
1859
|
+
primary: true
|
|
1860
|
+
},
|
|
1861
|
+
]
|
|
1842
1862
|
}
|
|
1843
1863
|
}
|
|
1844
1864
|
]
|
|
@@ -2740,96 +2760,97 @@ async function getObjectFieldsFilterButtonSchema(objectSchema) {
|
|
|
2740
2760
|
}
|
|
2741
2761
|
}
|
|
2742
2762
|
|
|
2743
|
-
async function getObjectFieldsFilterFormSchema(
|
|
2744
|
-
|
|
2763
|
+
async function getObjectFieldsFilterFormSchema(ctx) {
|
|
2764
|
+
|
|
2765
|
+
if (!ctx) {
|
|
2745
2766
|
ctx = {};
|
|
2746
2767
|
}
|
|
2747
|
-
const
|
|
2748
|
-
|
|
2749
|
-
|
|
2750
|
-
|
|
2751
|
-
|
|
2752
|
-
|
|
2753
|
-
|
|
2754
|
-
|
|
2755
|
-
|
|
2756
|
-
|
|
2757
|
-
|
|
2758
|
-
|
|
2759
|
-
|
|
2760
|
-
|
|
2761
|
-
|
|
2762
|
-
|
|
2763
|
-
|
|
2764
|
-
|
|
2765
|
-
|
|
2766
|
-
|
|
2767
|
-
|
|
2768
|
-
|
|
2769
|
-
|
|
2770
|
-
|
|
2771
|
-
|
|
2772
|
-
|
|
2773
|
-
|
|
2774
|
-
|
|
2768
|
+
const formSchema = {
|
|
2769
|
+
"type": "service",
|
|
2770
|
+
"visibleOn": "this.filterFormSearchableFields && this.filterFormSearchableFields.length",
|
|
2771
|
+
"className": ctx.formFactor === 'SMALL' ? "slds-filters__body p-0 mb-2" : "slds-filters__body p-0 sm:grid sm:gap-2 sm:grid-cols-4 mb-2",
|
|
2772
|
+
"schemaApi": {
|
|
2773
|
+
method: 'post',
|
|
2774
|
+
url: `\${context.rootUrl}/graphql?reload=\${filterFormSearchableFields|join}`,
|
|
2775
|
+
data: {
|
|
2776
|
+
$self: "$$",
|
|
2777
|
+
query: "{\n data: objects(filters: [[\"_id\",\"=\",null]],top: 1, skip: 0){_id}\n }"
|
|
2778
|
+
},
|
|
2779
|
+
requestAdaptor: `
|
|
2780
|
+
return {
|
|
2781
|
+
...api,
|
|
2782
|
+
data: {
|
|
2783
|
+
query: api.data.query
|
|
2784
|
+
}
|
|
2785
|
+
};
|
|
2786
|
+
`,
|
|
2787
|
+
adaptor: `
|
|
2788
|
+
if(payload.errors){
|
|
2789
|
+
payload.status = 2;
|
|
2790
|
+
payload.msg = window.t ? window.t(payload.errors[0].message) : payload.errors[0].message;
|
|
2791
|
+
}
|
|
2792
|
+
const selfData = api.body.$self;
|
|
2793
|
+
const filterFormSearchableFields = selfData.filterFormSearchableFields;
|
|
2794
|
+
const uiSchema = selfData.uiSchema;
|
|
2795
|
+
const fields = uiSchema.fields;
|
|
2796
|
+
const searchableFields = [];
|
|
2797
|
+
|
|
2798
|
+
const resolveAll = function(values){
|
|
2799
|
+
payload.data = {
|
|
2800
|
+
"body": values
|
|
2801
|
+
};
|
|
2802
|
+
return payload;
|
|
2803
|
+
}
|
|
2804
|
+
|
|
2805
|
+
const rejectAll = function(){
|
|
2806
|
+
console.warn("run function getFieldSearchable failed.");
|
|
2807
|
+
}
|
|
2808
|
+
|
|
2809
|
+
return Promise.all(filterFormSearchableFields.map(function (item) {
|
|
2810
|
+
const field = _.clone(fields[item]);
|
|
2811
|
+
if (
|
|
2812
|
+
!_.includes(
|
|
2813
|
+
[
|
|
2814
|
+
"grid",
|
|
2815
|
+
"avatar",
|
|
2816
|
+
"image",
|
|
2817
|
+
"object",
|
|
2818
|
+
"[object]",
|
|
2819
|
+
"[Object]",
|
|
2820
|
+
"[grid]",
|
|
2821
|
+
"[text]",
|
|
2822
|
+
"audio",
|
|
2823
|
+
"file",
|
|
2824
|
+
],
|
|
2825
|
+
field.type
|
|
2826
|
+
)
|
|
2827
|
+
) {
|
|
2828
|
+
delete field.defaultValue;
|
|
2829
|
+
delete field.required;
|
|
2830
|
+
delete field.is_wide;
|
|
2831
|
+
delete field.readonly;
|
|
2832
|
+
delete field.hidden;
|
|
2833
|
+
delete field.omit;
|
|
2834
|
+
var ctx = ${JSON.stringify(ctx)};
|
|
2835
|
+
const amisField = window.getFieldSearchable(field, fields, ctx);
|
|
2836
|
+
return amisField;
|
|
2837
|
+
}
|
|
2838
|
+
})).then(resolveAll, rejectAll);
|
|
2839
|
+
`,
|
|
2840
|
+
headers: {
|
|
2841
|
+
Authorization: "Bearer ${context.tenantId},${context.authToken}"
|
|
2775
2842
|
}
|
|
2776
2843
|
}
|
|
2777
|
-
}
|
|
2778
|
-
map(body, "name");
|
|
2779
|
-
if(ctx.enableSearchableFieldsVisibleOn){
|
|
2780
|
-
body.forEach(function(fieldItem){
|
|
2781
|
-
fieldItem.visibleOn = `this.filterFormSearchableFields && this.filterFormSearchableFields.indexOf("${fieldItem.fieldName}") > -1`;
|
|
2782
|
-
// fieldItem.clearValueOnHidden = true;//这个属性会把form字段值删除,但是点击搜索时crud还是把值给传递到过滤条件(api.requestAdaptor的data.$self)中了,应该是crud的bug
|
|
2783
|
-
});
|
|
2784
|
-
}
|
|
2785
|
-
|
|
2786
|
-
// const onBroadcastSearchableFieldsChangeScript = `
|
|
2787
|
-
// const data = event.data;
|
|
2788
|
-
// const listViewId = data.listViewId;
|
|
2789
|
-
// const searchableFields = data.fields;
|
|
2790
|
-
// const preSearchableFields = data.__super.__super.fields;
|
|
2791
|
-
// const removedFields = _.difference(preSearchableFields, searchableFields);
|
|
2792
|
-
// const listViewPropsStoreKey = location.pathname + "/crud/" + listViewId ;
|
|
2793
|
-
// let localListViewProps = localStorage.getItem(listViewPropsStoreKey);
|
|
2794
|
-
// if(localListViewProps){
|
|
2795
|
-
// // 当变更可搜索字段时,如果被移除的可搜索字段在本地存储中已经存入过滤条件中则应该清除本地存储中相关字段的过滤条件。
|
|
2796
|
-
// localListViewProps = JSON.parse(localListViewProps);
|
|
2797
|
-
// let removedKeys = [];
|
|
2798
|
-
// _.each(localListViewProps, function(n,k){
|
|
2799
|
-
// // __searchable__开头的不在searchableFields范围则清除其值
|
|
2800
|
-
// let isRemoved = !!removedFields.find(function(fieldName){
|
|
2801
|
-
// return new RegExp("__searchable__\.*" + fieldName + "$").test(k);
|
|
2802
|
-
// });
|
|
2803
|
-
// if(isRemoved){
|
|
2804
|
-
// removedKeys.push(k);
|
|
2805
|
-
// }
|
|
2806
|
-
// });
|
|
2807
|
-
// const removedValues = {};
|
|
2808
|
-
// removedKeys.forEach(function(key){
|
|
2809
|
-
// delete localListViewProps[key];
|
|
2810
|
-
// removedValues[key] = "";
|
|
2811
|
-
// });
|
|
2812
|
-
// doAction({
|
|
2813
|
-
// actionType: 'setValue',
|
|
2814
|
-
// args: {
|
|
2815
|
-
// value: removedValues
|
|
2816
|
-
// }
|
|
2817
|
-
// });
|
|
2818
|
-
// localStorage.setItem(listViewPropsStoreKey, JSON.stringify(localListViewProps));
|
|
2819
|
-
// }
|
|
2820
|
-
// `;
|
|
2844
|
+
};
|
|
2821
2845
|
|
|
2822
|
-
return
|
|
2846
|
+
return formSchema;
|
|
2823
2847
|
}
|
|
2824
2848
|
|
|
2825
|
-
async function getObjectFieldsFilterBarSchema(objectSchema,
|
|
2826
|
-
|
|
2827
|
-
if(!ctx){
|
|
2849
|
+
async function getObjectFieldsFilterBarSchema(objectSchema, ctx) {
|
|
2850
|
+
if (!ctx) {
|
|
2828
2851
|
ctx = {};
|
|
2829
2852
|
}
|
|
2830
|
-
const filterFormSchema = await getObjectFieldsFilterFormSchema(
|
|
2831
|
-
enableSearchableFieldsVisibleOn: true
|
|
2832
|
-
}, ctx));
|
|
2853
|
+
const filterFormSchema = await getObjectFieldsFilterFormSchema(ctx);
|
|
2833
2854
|
const onSearchScript = `
|
|
2834
2855
|
const scope = event.context.scoped;
|
|
2835
2856
|
var filterForm = scope.parent.parent.getComponents().find(function(n){
|
|
@@ -2862,18 +2883,21 @@ async function getObjectFieldsFilterBarSchema(objectSchema, fields, ctx) {
|
|
|
2862
2883
|
searchableFieldsStoreKey += listViewId;
|
|
2863
2884
|
}
|
|
2864
2885
|
let defaultSearchableFields = sessionStorage.getItem(searchableFieldsStoreKey);
|
|
2865
|
-
if(
|
|
2886
|
+
if(defaultSearchableFields){
|
|
2887
|
+
defaultSearchableFields = defaultSearchableFields.split(",");
|
|
2888
|
+
}
|
|
2889
|
+
if(_.isEmpty(defaultSearchableFields) && data.uiSchema){
|
|
2866
2890
|
let listView = data.uiSchema.list_views[data.listName];
|
|
2867
|
-
|
|
2868
|
-
if(
|
|
2869
|
-
defaultSearchableFields = _.map(
|
|
2891
|
+
const sFields = listView && listView.searchable_fields;
|
|
2892
|
+
if(sFields && sFields.length){
|
|
2893
|
+
defaultSearchableFields = _.map(sFields, 'field');
|
|
2870
2894
|
}
|
|
2871
2895
|
}
|
|
2872
2896
|
if(_.isEmpty(defaultSearchableFields) && data.uiSchema){
|
|
2873
2897
|
defaultSearchableFields = _.map(
|
|
2874
|
-
_.filter(_.values(data.uiSchema.fields), (field) => {
|
|
2898
|
+
_.sortBy(_.filter(_.values(data.uiSchema.fields), (field) => {
|
|
2875
2899
|
return field.searchable;
|
|
2876
|
-
}),
|
|
2900
|
+
}), "sort_no"),
|
|
2877
2901
|
"name"
|
|
2878
2902
|
);
|
|
2879
2903
|
}
|
|
@@ -3011,7 +3035,7 @@ async function getObjectFieldsFilterBarSchema(objectSchema, fields, ctx) {
|
|
|
3011
3035
|
// "filterFormValues": {"__searchable__name": "xxx"},//搜索项表单值
|
|
3012
3036
|
// "listViewId": "${listViewId}"
|
|
3013
3037
|
},
|
|
3014
|
-
"id": `service_listview_filter_form_${objectSchema.name}`,
|
|
3038
|
+
// "id": `service_listview_filter_form_${objectSchema.name}`,
|
|
3015
3039
|
"dataProvider": {
|
|
3016
3040
|
"inited": dataProviderInited
|
|
3017
3041
|
},
|
|
@@ -3019,15 +3043,7 @@ async function getObjectFieldsFilterBarSchema(objectSchema, fields, ctx) {
|
|
|
3019
3043
|
"type": "wrapper",
|
|
3020
3044
|
"body": {
|
|
3021
3045
|
"type": "wrapper",
|
|
3022
|
-
"body": [{
|
|
3023
|
-
"type": "wrapper",
|
|
3024
|
-
"body": [
|
|
3025
|
-
filterFormSchema
|
|
3026
|
-
],
|
|
3027
|
-
"size": "xs",
|
|
3028
|
-
"visibleOn": "this.filterFormSearchableFields && this.filterFormSearchableFields.length",
|
|
3029
|
-
"className": ctx.formFactor === 'SMALL' ? "slds-filters__body p-0 mb-2": "slds-filters__body p-0 sm:grid sm:gap-2 sm:grid-cols-4 mb-2"
|
|
3030
|
-
}, {
|
|
3046
|
+
"body": [filterFormSchema, {
|
|
3031
3047
|
"type": "wrapper",
|
|
3032
3048
|
"body": {
|
|
3033
3049
|
"type": "wrapper",
|
|
@@ -3386,16 +3402,7 @@ async function getObjectListHeaderSecordLine(objectSchema, listViewName, ctx) {
|
|
|
3386
3402
|
* @returns amisSchema
|
|
3387
3403
|
*/
|
|
3388
3404
|
async function getObjectListHeaderFieldsFilterBar(objectSchema, listViewName, ctx) {
|
|
3389
|
-
const
|
|
3390
|
-
const fields = sortBy(
|
|
3391
|
-
compact(
|
|
3392
|
-
map(searchableFields, (fieldName) => {
|
|
3393
|
-
return objectSchema.fields[fieldName];
|
|
3394
|
-
})
|
|
3395
|
-
),
|
|
3396
|
-
"sort_no"
|
|
3397
|
-
);
|
|
3398
|
-
const fieldsFilterBarSchema = await getObjectFieldsFilterBarSchema(objectSchema, fields, ctx);
|
|
3405
|
+
const fieldsFilterBarSchema = await getObjectFieldsFilterBarSchema(objectSchema, ctx);
|
|
3399
3406
|
return fieldsFilterBarSchema;
|
|
3400
3407
|
}
|
|
3401
3408
|
|
|
@@ -4174,12 +4181,11 @@ function getObjectHeaderToolbar(mainObject, formFactor, {showDisplayAs = false,
|
|
|
4174
4181
|
"objectApiName": "object_listviews",
|
|
4175
4182
|
"recordId": "${recordId}",
|
|
4176
4183
|
"mode": "edit",
|
|
4177
|
-
"initApiAdaptor": "",
|
|
4178
4184
|
"fields": [
|
|
4179
4185
|
"filters"
|
|
4180
4186
|
],
|
|
4181
4187
|
"initApiRequestAdaptor": "",
|
|
4182
|
-
"initApiAdaptor": "const recordId_tmp = api.body.recordId;\nlet data_tmp;\nif (recordId_tmp) {\n data_tmp = payload.data
|
|
4188
|
+
"initApiAdaptor": "const recordId_tmp = api.body.recordId;\nlet data_tmp;\nif (recordId_tmp) {\n data_tmp = payload.data;\n // 数据格式转换\n if (data_tmp) {\n if (data_tmp.filters && lodash.isString(data_tmp.filters)) {\n try {\n data_tmp.filters = JSON.parse(data_tmp.filters);\n } catch (e) { }\n }\n\n if (data_tmp.filters && lodash.isString(data_tmp.filters)) {\n data_tmp._filters_type_controller = 'function';\n } else {\n data_tmp._filters_type_controller = 'conditions'\n }\n\n if (data_tmp._filters_type_controller === 'conditions') {\n data_tmp._filters_conditions = window.amisConvert.filtersToConditions(data_tmp.filters || []);\n data_tmp.filters = data_tmp._filters_conditions;\n } else {\n data_tmp._filters_function = data_tmp.filters;\n }\n }\n}\nfor (key in data_tmp) {\n if (data_tmp[key] === null) {\n delete data_tmp[key];\n }\n}\npayload.data = Object.assign(payload.data, data_tmp);\ndelete payload.extensions;",
|
|
4183
4189
|
"apiRequestAdaptor": "const recordId = api.body.recordId;\nif (formData._filters_type_controller === 'conditions' && formData._filters_conditions) {\n formData.filters = window.amisConvert.conditionsToFilters(formData.filters);\n} else {\n formData.filters = formData._filters_function || null;\n}\n\ndelete formData._filters_type_controller;\ndelete formData._filters_conditions;\ndelete formData._filters_function;\n// 字符串拼接(不支持ES6``语法)\nquery = 'mutation{record: ' + objectName + '__insert(doc: {__saveData}){_id}}';\nif (api.body.recordId) {\n query = 'mutation{record: ' + objectName + '__update(id: \"' + recordId + '\", doc: {__saveData}){_id}}';\n};\n__saveData = JSON.stringify(JSON.stringify(formData));\napi.data = { query: query.replace('{__saveData}', __saveData) };\n",
|
|
4184
4190
|
"fieldsExtend": "{\"filters\": {\n \"visible_on\": \"true\",\n \"amis\": {\n \"type\": \"condition-builder\",\n \"label\": \"条件组件\",\n \"source\": {\n \"method\": \"get\",\n \"url\": \"${context.rootUrl}/service/api/amis-metadata-listviews/getFilterFields?objectName=${objectName}\",\n \"dataType\": \"json\",\n \"headers\": {\n \"Authorization\": \"Bearer ${context.tenantId},${context.authToken}\"\n }\n }\n }\n }\n}",
|
|
4185
4191
|
"onEvent": {
|
|
@@ -4239,7 +4245,7 @@ function getObjectHeaderToolbar(mainObject, formFactor, {showDisplayAs = false,
|
|
|
4239
4245
|
"recordId": "${recordId}",
|
|
4240
4246
|
"mode": "edit",
|
|
4241
4247
|
"fieldsExtend": "{\n \"columns\": {\n \"amis\": {\n \"type\": \"transfer\",\n \"sortable\": true,\n \"searchable\": true,\n \"source\": {\n \"method\": \"get\",\n \"url\": \"${context.rootUrl}/service/api/amis-metadata-objects/objects/${objectName}/fields/options\",\n \"headers\": {\n \"Authorization\": \"Bearer ${context.tenantId},${context.authToken}\"\n }\n }\n }\n },\n \"mobile_columns\": {\n \"group\": \"手机端\",\n \"amis\": {\n \"type\": \"transfer\",\n \"sortable\": true,\n \"searchable\": true,\n \"source\": {\n \"method\": \"get\",\n \"url\": \"${context.rootUrl}/service/api/amis-metadata-objects/objects/${objectName}/fields/options\",\n \"headers\": {\n \"Authorization\": \"Bearer ${context.tenantId},${context.authToken}\"\n }\n }\n }\n }\n}",
|
|
4242
|
-
"initApiAdaptor": "const recordId_tmp = api.body.recordId;\nlet columns_tmp = {}, mobile_columns_tmp = {};\nif (recordId_tmp) {\n columns_tmp = payload.data.
|
|
4248
|
+
"initApiAdaptor": "const recordId_tmp = api.body.recordId;\nlet columns_tmp = {}, mobile_columns_tmp = {};\nif (recordId_tmp) {\n columns_tmp = payload.data.columns;\n mobile_columns_tmp = payload.data.mobile_columns;\n if (columns_tmp) {\n columns_tmp = lodash.map(columns_tmp, 'field');\n }\n if (mobile_columns_tmp) {\n mobile_columns_tmp = lodash.map(mobile_columns_tmp, 'field');\n }\n}\npayload.data.columns = columns_tmp;\npayload.data.mobile_columns = mobile_columns_tmp;\n\ndelete payload.extensions;\nreturn payload;",
|
|
4243
4249
|
"apiRequestAdaptor": "const formData_tmp = api.body.$;\nconst objectName_tmp = api.body.objectName;\nconst recordId_tmp = api.body.recordId;\n\nif (typeof formData_tmp.columns == 'string') {\n formData_tmp.columns = formData_tmp.columns?.split(',');\n}\nif (typeof formData_tmp.mobile_columns == 'string') {\n formData_tmp.mobile_columns = formData_tmp.mobile_columns?.split(',');\n}\n\n// 数据格式转换\nformData_tmp.columns = lodash.map(formData_tmp.columns, (item) => {\n return { field: item };\n});\nformData.mobile_columns = lodash.map(formData.mobile_columns, (item) => {\n return { field: item };\n});\n\n// 字符串拼接(不支持ES6语法)\nlet query_tmp = 'mutation{record: ' + objectName_tmp + '__insert(doc: {__saveData}){_id}}';\nif (api.body.recordId) {\n query_tmp = 'mutation{record: ' + objectName_tmp + '__update(id: \"' + recordId_tmp +'\", doc: {__saveData}){_id}}';\n};\ndelete formData_tmp._id;\nlet __saveData_tmp = JSON.stringify(JSON.stringify(formData_tmp));\napi.data = { query: query_tmp.replace('{__saveData}', __saveData_tmp) };\n\nreturn api;",
|
|
4244
4250
|
"fields": [
|
|
4245
4251
|
"columns",
|
|
@@ -4321,7 +4327,7 @@ function getObjectHeaderToolbar(mainObject, formFactor, {showDisplayAs = false,
|
|
|
4321
4327
|
}
|
|
4322
4328
|
},
|
|
4323
4329
|
"fieldsExtend": "{\n \"sort\": {\n \"amis\": {\n \"type\": \"tabs-transfer\",\n \"sortable\": true,\n \"searchable\": true,\n \"source\": {\n \"method\": \"get\",\n \"url\": \"${context.rootUrl}/service/api/amis-metadata-objects/objects/${objectName}/sortFields/options\",\n \"headers\": {\n \"Authorization\": \"Bearer ${context.tenantId},${context.authToken}\"\n }\n }\n }\n }\n}",
|
|
4324
|
-
"initApiAdaptor": "let sort;\nif (recordId) {\n sort = payload.data.
|
|
4330
|
+
"initApiAdaptor": "let sort;\nif (recordId) {\n sort = payload.data.sort;\n //数据格式转换\n if (sort instanceof Array) {\n sort = lodash.map(sort, (item) => {\n return item.field_name + ':' + (item.order || 'asc')\n });\n }\n}\npayload.data.sort = sort;\ndelete payload.extensions;",
|
|
4325
4331
|
"apiRequestAdaptor": "const recordId = api.body.recordId;\n//数据格式转换\nif (typeof formData.sort == 'string') {\n formData.sort = formData.sort?.split(',');\n}\nformData.sort = lodash.map(formData.sort, (item) => {\n const arr = item.split(':');\n return { field_name: arr[0], order: arr[1] };\n});\nif (recordId) {\n query = 'mutation{record: ' + objectName + '__update(id: \"' + recordId + '\", doc: {__saveData}){_id}}';\n}\n__saveData = JSON.stringify(JSON.stringify(formData));\napi.data = { query: query.replace('{__saveData}', __saveData) };\n"
|
|
4326
4332
|
}
|
|
4327
4333
|
],
|
|
@@ -5020,13 +5026,9 @@ async function lookupToAmisPicker(field, readonly, ctx){
|
|
|
5020
5026
|
//TODO: 等待放大镜bug修复,if会去掉,始终显示放大镜
|
|
5021
5027
|
if(referenceTo.objectName != "space_users" || field.reference_to_field != "user"){
|
|
5022
5028
|
if (ctx.filterVisible !== false) {
|
|
5023
|
-
let filterLoopCount = ctx.filterLoopCount || 0;
|
|
5024
|
-
filterLoopCount++;
|
|
5025
|
-
// 可以传入filterVisible为false防止死循环
|
|
5026
5029
|
pickerSchema.filter = await getObjectFilter(refObjectConfig, fields, {
|
|
5027
5030
|
isLookup: true,
|
|
5028
|
-
...ctx
|
|
5029
|
-
filterLoopCount,
|
|
5031
|
+
...ctx
|
|
5030
5032
|
});
|
|
5031
5033
|
}
|
|
5032
5034
|
}
|
|
@@ -6084,6 +6086,14 @@ async function convertSFieldToAmisField(field, readonly, ctx) {
|
|
|
6084
6086
|
convertData.visibleOn = `${field.visible_on.replace(/formData./g, 'data.')}`;
|
|
6085
6087
|
}
|
|
6086
6088
|
}
|
|
6089
|
+
|
|
6090
|
+
if(___default.isString(baseData.required)){
|
|
6091
|
+
if(baseData.required.startsWith("{{")){
|
|
6092
|
+
baseData.requiredOn = `${baseData.required.substring(2, baseData.required.length -2).replace(/formData./g, 'data.')}`;
|
|
6093
|
+
delete baseData.required;
|
|
6094
|
+
}
|
|
6095
|
+
}
|
|
6096
|
+
|
|
6087
6097
|
if(convertData.type === 'group'){
|
|
6088
6098
|
convertData.body[0] = Object.assign({}, baseData, convertData.body[0], { labelClassName: 'text-left', clearValueOnHidden: true, fieldName: field.name});
|
|
6089
6099
|
return convertData
|
|
@@ -6098,8 +6108,9 @@ async function convertSFieldToAmisField(field, readonly, ctx) {
|
|
|
6098
6108
|
}
|
|
6099
6109
|
|
|
6100
6110
|
async function getFieldSearchable(perField, permissionFields, ctx){
|
|
6101
|
-
|
|
6102
|
-
|
|
6111
|
+
if(!ctx){
|
|
6112
|
+
ctx = {};
|
|
6113
|
+
}
|
|
6103
6114
|
let field = perField;
|
|
6104
6115
|
if(field.type === 'grid'){
|
|
6105
6116
|
field = await getGridFieldSubFields(perField, permissionFields);
|
|
@@ -6160,14 +6171,17 @@ async function getFieldSearchable(perField, permissionFields, ctx){
|
|
|
6160
6171
|
_field.multiple = true;
|
|
6161
6172
|
_field.is_wide = false;
|
|
6162
6173
|
_field.defaultValue = undefined;
|
|
6163
|
-
|
|
6164
|
-
const amisField = await convertSFieldToAmisField(_field, false, Object.assign({}, ctx, {fieldNamePrefix: fieldNamePrefix, required: false, showSystemFields: true, filterVisible: filterLoopCount < maxFilterLoopCount}));
|
|
6174
|
+
const amisField = await convertSFieldToAmisField(_field, false, Object.assign({}, ctx, {fieldNamePrefix: fieldNamePrefix, required: false, showSystemFields: true}));
|
|
6165
6175
|
if(amisField){
|
|
6166
6176
|
return amisField;
|
|
6167
6177
|
}
|
|
6168
6178
|
}
|
|
6169
6179
|
}
|
|
6170
6180
|
|
|
6181
|
+
if(typeof window != 'undefined'){
|
|
6182
|
+
window.getFieldSearchable = getFieldSearchable;
|
|
6183
|
+
}
|
|
6184
|
+
|
|
6171
6185
|
var index = /*#__PURE__*/Object.freeze({
|
|
6172
6186
|
__proto__: null,
|
|
6173
6187
|
OMIT_FIELDS: OMIT_FIELDS,
|
|
@@ -6428,12 +6442,12 @@ async function getEditFormInitApi(object, recordId, fields, options){
|
|
|
6428
6442
|
if(uiSchema.form){
|
|
6429
6443
|
try{
|
|
6430
6444
|
var objectFormConfig = JSON.parse(uiSchema.form);
|
|
6431
|
-
|
|
6432
|
-
if(
|
|
6433
|
-
|
|
6445
|
+
var formInitialValuesFun = objectFormConfig.initialValues;
|
|
6446
|
+
if(formInitialValuesFun){
|
|
6447
|
+
formInitialValuesFun = new Function("return " + formInitialValuesFun)();
|
|
6434
6448
|
}
|
|
6435
|
-
if(typeof
|
|
6436
|
-
initialValues =
|
|
6449
|
+
if(typeof formInitialValuesFun === "function"){
|
|
6450
|
+
initialValues = formInitialValuesFun.apply({doc: defaultValues || {} , global: api.body.global})
|
|
6437
6451
|
}
|
|
6438
6452
|
}
|
|
6439
6453
|
catch(ex){
|
|
@@ -6450,12 +6464,15 @@ async function getEditFormInitApi(object, recordId, fields, options){
|
|
|
6450
6464
|
}
|
|
6451
6465
|
// data下的变量需要在保存接口(getSaveApi)中被删除。
|
|
6452
6466
|
payload.data = {
|
|
6453
|
-
initialValues
|
|
6454
|
-
editFormInited: true
|
|
6467
|
+
...initialValues
|
|
6455
6468
|
}
|
|
6456
6469
|
${options.initApiAdaptor || ''}
|
|
6457
6470
|
return payload;
|
|
6458
6471
|
`,
|
|
6472
|
+
responseData: {
|
|
6473
|
+
initialValues: "$$",
|
|
6474
|
+
editFormInited: true
|
|
6475
|
+
},
|
|
6459
6476
|
data: data,
|
|
6460
6477
|
headers: {
|
|
6461
6478
|
Authorization: "Bearer ${context.tenantId},${context.authToken}"
|
|
@@ -6862,6 +6879,8 @@ async function getObjectForm(objectSchema, ctx){
|
|
|
6862
6879
|
},
|
|
6863
6880
|
labelAlign,
|
|
6864
6881
|
persistData: false,
|
|
6882
|
+
resetAfterSubmit: true,
|
|
6883
|
+
preventEnterSubmit: true,
|
|
6865
6884
|
promptPageLeave: true,
|
|
6866
6885
|
canAccessSuperData: false,
|
|
6867
6886
|
name: `form_edit_${recordId}`,
|
|
@@ -6899,10 +6918,14 @@ async function getObjectForm(objectSchema, ctx){
|
|
|
6899
6918
|
},
|
|
6900
6919
|
"expression": `\${_master.objectName != '${objectSchema.name}' && _master.objectName}`
|
|
6901
6920
|
},
|
|
6902
|
-
{
|
|
6903
|
-
|
|
6904
|
-
|
|
6905
|
-
}
|
|
6921
|
+
// {
|
|
6922
|
+
// "actionType": "custom",
|
|
6923
|
+
// "script": "debugger;"
|
|
6924
|
+
// },
|
|
6925
|
+
// {
|
|
6926
|
+
// "args": {},
|
|
6927
|
+
// "actionType": "closeDialog"
|
|
6928
|
+
// }
|
|
6906
6929
|
]
|
|
6907
6930
|
}
|
|
6908
6931
|
}
|
|
@@ -7420,13 +7443,17 @@ async function getTableApi(mainObject, fields, options){
|
|
|
7420
7443
|
}
|
|
7421
7444
|
|
|
7422
7445
|
api.data.$term = "$term";
|
|
7446
|
+
api.data.term = "$term";
|
|
7423
7447
|
api.data.$self = "$$";
|
|
7448
|
+
api.data.self = "$$";
|
|
7424
7449
|
api.data.filter = "$filter";
|
|
7425
7450
|
api.data.loaded = "${loaded}";
|
|
7426
7451
|
api.data.listViewId = "${listViewId}";
|
|
7427
7452
|
api.requestAdaptor = `
|
|
7428
7453
|
// selfData 中的数据由 CRUD 控制. selfData中,只能获取到 CRUD 给定的data. 无法从数据链中获取数据.
|
|
7429
7454
|
let selfData = JSON.parse(JSON.stringify(api.data.$self));
|
|
7455
|
+
// 保留一份初始data,以供自定义发送适配器中获取原始数据。
|
|
7456
|
+
const data = _.cloneDeep(api.data);
|
|
7430
7457
|
try{
|
|
7431
7458
|
// TODO: 不应该直接在这里取localStorage,应该从外面传入
|
|
7432
7459
|
const listViewId = api.data.listViewId;
|
|
@@ -7610,29 +7637,9 @@ async function getTableApi(mainObject, fields, options){
|
|
|
7610
7637
|
})
|
|
7611
7638
|
|
|
7612
7639
|
if(enable_tree){
|
|
7613
|
-
const records = payload.data.rows;
|
|
7614
|
-
const
|
|
7615
|
-
|
|
7616
|
-
if(!childrenIds){
|
|
7617
|
-
return;
|
|
7618
|
-
}
|
|
7619
|
-
const children = _.filter(records, (record)=>{
|
|
7620
|
-
return _.includes(childrenIds, record._id)
|
|
7621
|
-
});
|
|
7622
|
-
_.each(children, (item)=>{
|
|
7623
|
-
if(item.children){
|
|
7624
|
-
item.children = getChildren(records, item.children)
|
|
7625
|
-
}
|
|
7626
|
-
})
|
|
7627
|
-
return children;
|
|
7628
|
-
}
|
|
7629
|
-
|
|
7630
|
-
_.each(records, (record)=>{
|
|
7631
|
-
if(!record.parent){
|
|
7632
|
-
treeRecords.push(Object.assign({}, record, {children: getChildren(records, record.children)}));
|
|
7633
|
-
}
|
|
7634
|
-
});
|
|
7635
|
-
payload.data.rows = treeRecords;
|
|
7640
|
+
const records = payload.data.rows || [];
|
|
7641
|
+
const getTreeOptions = SteedosUI.getTreeOptions
|
|
7642
|
+
payload.data.rows = getTreeOptions(records,{"valueField":"_id"});
|
|
7636
7643
|
}
|
|
7637
7644
|
|
|
7638
7645
|
|
|
@@ -8325,7 +8332,7 @@ const getRecordPermissions = async (objectName, recordId)=>{
|
|
|
8325
8332
|
* @Author: baozhoutao@steedos.com
|
|
8326
8333
|
* @Date: 2022-07-05 15:55:39
|
|
8327
8334
|
* @LastEditors: Please set LastEditors
|
|
8328
|
-
* @LastEditTime: 2023-04-11
|
|
8335
|
+
* @LastEditTime: 2023-04-20 11:43:14
|
|
8329
8336
|
* @Description:
|
|
8330
8337
|
*/
|
|
8331
8338
|
|
|
@@ -8422,10 +8429,12 @@ async function getRecordDetailRelatedListSchema(objectName, recordId, relatedObj
|
|
|
8422
8429
|
mainRelated[arr[0]] = arr[1];
|
|
8423
8430
|
}
|
|
8424
8431
|
}else {
|
|
8425
|
-
const details = mainObjectUiSchema.details || [];
|
|
8432
|
+
const details = union(mainObjectUiSchema.details,mainObjectUiSchema.lookup_details) || [];
|
|
8426
8433
|
for (const detail of details) {
|
|
8427
8434
|
const arr = detail.split(".");
|
|
8428
|
-
mainRelated
|
|
8435
|
+
if(!has(mainRelated,arr[0])){
|
|
8436
|
+
mainRelated[arr[0]] = arr[1];
|
|
8437
|
+
}
|
|
8429
8438
|
}
|
|
8430
8439
|
}
|
|
8431
8440
|
}
|
|
@@ -8630,13 +8639,17 @@ async function getRelatedListSchema(
|
|
|
8630
8639
|
delete ctx.globalFilter;
|
|
8631
8640
|
|
|
8632
8641
|
const adaptor = `
|
|
8633
|
-
|
|
8634
|
-
if(
|
|
8635
|
-
|
|
8636
|
-
|
|
8637
|
-
|
|
8638
|
-
|
|
8639
|
-
|
|
8642
|
+
try{
|
|
8643
|
+
if(setDataToComponentId){
|
|
8644
|
+
if(payload.data.count){
|
|
8645
|
+
setTimeout(function(){
|
|
8646
|
+
window.$("." + setDataToComponentId + " .antd-Crud").removeClass("hidden");
|
|
8647
|
+
}, 10);
|
|
8648
|
+
}
|
|
8649
|
+
};
|
|
8650
|
+
}catch(e){
|
|
8651
|
+
console.log(e);
|
|
8652
|
+
}
|
|
8640
8653
|
`;
|
|
8641
8654
|
const amisSchema = {
|
|
8642
8655
|
"type": "steedos-object-table",
|
|
@@ -8647,7 +8660,8 @@ async function getRelatedListSchema(
|
|
|
8647
8660
|
"filtersFunction": filtersFunction,
|
|
8648
8661
|
"sort": listViewSort,
|
|
8649
8662
|
"filterVisible": false,
|
|
8650
|
-
|
|
8663
|
+
"requestAdaptor": ctx.requestAdaptor,
|
|
8664
|
+
"adaptor": adaptor + ctx.adaptor || '',
|
|
8651
8665
|
"ctx": ctx
|
|
8652
8666
|
};
|
|
8653
8667
|
// console.log(`getRelatedListSchema amisSchema`, amisSchema);
|
|
@@ -12683,7 +12697,7 @@ var AmisObjectListView = function (props) { return __awaiter(void 0, void 0, voi
|
|
|
12683
12697
|
"actions": [
|
|
12684
12698
|
{
|
|
12685
12699
|
"args": {
|
|
12686
|
-
"url": "/app/${appId}/${objectName}/view/${event.data.result.data.recordId}?display=${ls:
|
|
12700
|
+
"url": "/app/${appId}/${objectName}/view/${event.data.result.data.recordId}?display=${ls:page_display || 'grid'}&side_object=${objectName}&side_listview_id=${listName}",
|
|
12687
12701
|
"blank": false
|
|
12688
12702
|
},
|
|
12689
12703
|
"actionType": "link",
|
|
@@ -12973,11 +12987,11 @@ var AmisRecordService = function (props) { return __awaiter(void 0, void 0, void
|
|
|
12973
12987
|
}); };
|
|
12974
12988
|
|
|
12975
12989
|
var AmisRecordDetailRelatedList = function (props) { return __awaiter(void 0, void 0, void 0, function () {
|
|
12976
|
-
var objectApiName, recordId, relatedObjectApiName, relatedKey, top, perPage, appId, relatedLabel, _a, className, columns, sort, filters, visible_on, formFactor, schema;
|
|
12990
|
+
var objectApiName, recordId, relatedObjectApiName, relatedKey, top, perPage, hiddenEmptyTable, appId, relatedLabel, _a, className, columns, sort, filters, visible_on, requestAdaptor, adaptor, formFactor, schema;
|
|
12977
12991
|
return __generator(this, function (_b) {
|
|
12978
12992
|
switch (_b.label) {
|
|
12979
12993
|
case 0:
|
|
12980
|
-
objectApiName = props.objectApiName, recordId = props.recordId, relatedObjectApiName = props.relatedObjectApiName, props.data, relatedKey = props.relatedKey, top = props.top, perPage = props.perPage, appId = props.appId, relatedLabel = props.relatedLabel, _a = props.className, className = _a === void 0 ? '' : _a, columns = props.columns, sort = props.sort, filters = props.filters, visible_on = props.visible_on;
|
|
12994
|
+
objectApiName = props.objectApiName, recordId = props.recordId, relatedObjectApiName = props.relatedObjectApiName, props.data, relatedKey = props.relatedKey, top = props.top, perPage = props.perPage, hiddenEmptyTable = props.hiddenEmptyTable, appId = props.appId, relatedLabel = props.relatedLabel, _a = props.className, className = _a === void 0 ? '' : _a, columns = props.columns, sort = props.sort, filters = props.filters, visible_on = props.visible_on, requestAdaptor = props.requestAdaptor, adaptor = props.adaptor;
|
|
12981
12995
|
formFactor = props.formFactor;
|
|
12982
12996
|
if (!formFactor) {
|
|
12983
12997
|
formFactor = window.innerWidth < 768 ? 'SMALL' : 'LARGE';
|
|
@@ -12992,7 +13006,7 @@ var AmisRecordDetailRelatedList = function (props) { return __awaiter(void 0, vo
|
|
|
12992
13006
|
"className": "mb-3"
|
|
12993
13007
|
}];
|
|
12994
13008
|
}
|
|
12995
|
-
return [4 /*yield*/, getRecordDetailRelatedListSchema(objectApiName, recordId, relatedObjectApiName, relatedKey, { top: top, perPage: perPage, appId: appId, relatedLabel: relatedLabel, className: className, formFactor: formFactor, columns: columns, sort: sort, filters: filters, visible_on: visible_on, isRelated: true })];
|
|
13009
|
+
return [4 /*yield*/, getRecordDetailRelatedListSchema(objectApiName, recordId, relatedObjectApiName, relatedKey, { top: top, perPage: perPage, appId: appId, relatedLabel: relatedLabel, className: className, formFactor: formFactor, columns: columns, sort: sort, filters: filters, visible_on: visible_on, isRelated: true, hiddenEmptyTable: hiddenEmptyTable, requestAdaptor: requestAdaptor, adaptor: adaptor })];
|
|
12996
13010
|
case 1:
|
|
12997
13011
|
schema = (_b.sent()).amisSchema;
|
|
12998
13012
|
return [2 /*return*/, schema];
|
|
@@ -13418,31 +13432,37 @@ var AmisLogo = function (props) { return __awaiter(void 0, void 0, void 0, funct
|
|
|
13418
13432
|
}); };
|
|
13419
13433
|
|
|
13420
13434
|
var AmisAppMenu = function (props) { return __awaiter(void 0, void 0, void 0, function () {
|
|
13421
|
-
var _a, stacked, overflow, appId, data, _b, links, _c, showIcon, _d, className, _e, indentSize, selectedId;
|
|
13435
|
+
var _a, stacked, overflow, appId, data, _b, links, _c, showIcon, _d, className, _e, indentSize, selectedId, schema;
|
|
13422
13436
|
return __generator(this, function (_f) {
|
|
13423
13437
|
_a = props.stacked, stacked = _a === void 0 ? false : _a, overflow = props.overflow, appId = props.appId, data = props.data, _b = props.links, links = _b === void 0 ? null : _b, _c = props.showIcon, showIcon = _c === void 0 ? true : _c, _d = props.className, className = _d === void 0 ? '' : _d, _e = props.indentSize, indentSize = _e === void 0 ? 12 : _e, selectedId = props.selectedId;
|
|
13424
13438
|
if (!appId) {
|
|
13425
13439
|
appId = data.context.appId || 'admin';
|
|
13426
13440
|
}
|
|
13427
13441
|
// console.log(`AmisAppMenu appId`, appId)
|
|
13428
|
-
|
|
13429
|
-
|
|
13430
|
-
|
|
13431
|
-
|
|
13432
|
-
|
|
13433
|
-
|
|
13434
|
-
|
|
13435
|
-
|
|
13436
|
-
|
|
13437
|
-
|
|
13438
|
-
|
|
13439
|
-
|
|
13440
|
-
|
|
13441
|
-
|
|
13442
|
-
|
|
13443
|
-
|
|
13444
|
-
},
|
|
13445
|
-
|
|
13442
|
+
console.log("AmisAppMenu", appId, props);
|
|
13443
|
+
if (links) {
|
|
13444
|
+
return [2 /*return*/, {
|
|
13445
|
+
"type": "nav",
|
|
13446
|
+
className: "".concat(className),
|
|
13447
|
+
"stacked": stacked,
|
|
13448
|
+
"overflow": overflow,
|
|
13449
|
+
"indentSize": indentSize,
|
|
13450
|
+
"links": links
|
|
13451
|
+
}];
|
|
13452
|
+
}
|
|
13453
|
+
schema = {
|
|
13454
|
+
type: 'service',
|
|
13455
|
+
schemaApi: {
|
|
13456
|
+
"method": "get",
|
|
13457
|
+
"url": "${context.rootUrl}/service/api/apps/".concat(appId, "/menus?try=1111111"),
|
|
13458
|
+
"adaptor": "\n try {\n console.log('payload====>', payload)\n if(payload.nav_schema){\n payload.data = payload.nav_schema;\n return payload\n }\n\n const data = { nav: [] };\n const stacked = ".concat(stacked, ";\n const showIcon = ").concat(showIcon, ";\n const selectedId = '").concat(selectedId, "';\n if(stacked){\n _.each(_.groupBy(payload.children, 'group'), (tabs, groupName) => {\n if (groupName === 'undefined' || groupName === '') {\n _.each(tabs, (tab) => {\n data.nav.push({\n \"label\": showIcon ? {\n type: 'tpl',\n tpl: `<span class='fill-slate-500 text-slate-700 block -ml-px no-underline group flex items-center text-[15px] font-medium rounded-md'><svg class=\"mr-1 flex-shrink-0 h-6 w-6\"><use xlink:href=\"/assets/icons/standard-sprite/svg/symbols.svg#${tab.icon || 'account'}\"></use></svg>${tab.name}</span>`\n } : tab.name,\n \"to\": tab.path,\n \"target\":tab.target\n // active: selectedId === tab.id,\n })\n })\n } else {\n data.nav.push({\n \"label\": groupName,\n \"unfolded\": true,\n \"children\": _.map(tabs, (tab) => {\n return {\n \"label\": showIcon ? {\n type: 'tpl',\n tpl: `<span class='fill-slate-500 text-slate-700 block -ml-px no-underline group flex items-center text-[15px] font-medium rounded-md'><svg class=\"mr-1 flex-shrink-0 h-6 w-6\"><use xlink:href=\"/assets/icons/standard-sprite/svg/symbols.svg#${tab.icon || 'account'}\"></use></svg>${tab.name}</span>`\n } : tab.name,\n \"to\": tab.path,\n \"target\":tab.target\n // active: selectedId === tab.id,\n }\n })\n }) \n }\n });\n }else{\n _.each(payload.children, (tab)=>{\n data.nav.push({\n \"label\": showIcon ? {\n type: 'tpl',\n tpl: `<span class='fill-slate-500 text-slate-700 block -ml-px no-underline group flex items-center text-[15px] font-medium rounded-md'><svg class=\"mr-1 flex-shrink-0 h-6 w-6\"><use xlink:href=\"/assets/icons/standard-sprite/svg/symbols.svg#${tab.icon || 'account'}\"></use></svg>${tab.name}</span>`\n } : tab.name,\n \"to\": tab.path,\n \"target\":tab.target\n // active: selectedId === tab.id,\n });\n })\n }\n payload.data = {\n \"type\": \"nav\",\n className: \"").concat(className, "\",\n \"stacked\": ").concat(stacked, ",\n \"overflow\": ").concat(JSON.stringify(overflow), ",\n \"indentSize\": ").concat(indentSize, ",\n \"links\": data.nav,\n };\n } catch (error) {\n console.log(`error`, error)\n }\n console.log('payload===2==>', payload)\n return payload;\n "),
|
|
13459
|
+
"headers": {
|
|
13460
|
+
"Authorization": "Bearer ${context.tenantId},${context.authToken}"
|
|
13461
|
+
}
|
|
13462
|
+
}
|
|
13463
|
+
};
|
|
13464
|
+
console.log("schema=====>", schema);
|
|
13465
|
+
return [2 /*return*/, schema];
|
|
13446
13466
|
});
|
|
13447
13467
|
}); };
|
|
13448
13468
|
|
|
@@ -13694,6 +13714,10 @@ var AmisGlobalHeader = function (props) { return __awaiter(void 0, void 0, void
|
|
|
13694
13714
|
"color": "#FFFFFF"
|
|
13695
13715
|
},
|
|
13696
13716
|
size: 30
|
|
13717
|
+
},
|
|
13718
|
+
{
|
|
13719
|
+
"type": "tpl",
|
|
13720
|
+
"tpl": "<span id=\"headerName\" class=\"user-name text-overflow \" style=\"display: none;height: 30px;line-height: 30px;font-size: 16px;font-weight: bold;margin-left: 10px;\">${global.user.name}<i class=\"fa fa-angle-down\" style=\"margin-left: 4px;\"></i></span>"
|
|
13697
13721
|
}
|
|
13698
13722
|
],
|
|
13699
13723
|
"overlay": [
|
|
@@ -14129,7 +14153,7 @@ var PageObject = function (props) { return __awaiter(void 0, void 0, void 0, fun
|
|
|
14129
14153
|
});
|
|
14130
14154
|
}); };
|
|
14131
14155
|
|
|
14132
|
-
var __assign=function(){return (__assign=Object.assign||function(e){for(var t,r=1,n=arguments.length;r<n;r++)for(var o in t=arguments[r])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e}).apply(this,arguments)},StandardObjects={Base:{Actions:{standard_query:{visible:function(e,t,r){return !1}},standard_new:{visible:function(e,t,r){return "cms_files"!==e&&"instances"!==e&&(r?r.allowCreate:void 0)}},standard_edit:{visible:function(e,t,r){if(r)return r.allowEdit}},standard_delete:{visible:function(e,t,r){if(r)return r.allowDelete}},standard_import_data:{visible:function(e,t,r){var n=this.object;if(r)return r.allowCreate&&n.hasImportTemplates}},standard_approve:{visible:function(e,t,r){return !1}},standard_view_instance:{visible:function(e,t,r){return !1}},standard_submit_for_approval:{visible:function(e,t,r){return window.Steedos.ProcessManager.allowSubmit.apply(this,[e,t])},todo:function(e,t){return window.Steedos.ProcessManager.submit.apply(this,[e,t])}},standard_follow:{visible:function(e,t,r){return !1}},standard_delete_many:{visible:function(e,t,r){return !RegExp("\\w+/view/\\w+").test(location.pathname)&&(r?r.allowDelete:void 0)}}}}},authRequest=function(e,t){var a=null;e=Steedos.absoluteUrl(e);try{var r=[{name:"Content-Type",value:"application/json"},{name:"Authorization",value:Steedos.getAuthorization()}],n={type:"get",url:e,dataType:"json",contentType:"application/json",beforeSend:function(t){if(r&&r.length)return r.forEach(function(e){return t.setRequestHeader(e.name,e.value)})},success:function(e){a=e;},error:function(e,t,r){var n,o;e.responseJSON&&e.responseJSON.error?(n=e.responseJSON.error,o=void(a={error:n}),o=n.reason||n.message||n,console.error(o)):console.error(e.responseJSON);}};return $.ajax(Object.assign({},n,t)),a}catch(e){console.error(e);}};function _extends(){return (_extends=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r,n=arguments[t];for(r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r]);}return e}).apply(this,arguments)}const newFunctionComponent=o=>e=>{const[t,r]=useState(!0);var n=()=>{r(!1);};return has(e,"ref")||(window.SteedosUI.refs[e.name]={show:()=>{r(!0);},close:n}),React.createElement(o,_extends({visible:t,onCancel:n,onClose:n},{width:"70%",style:{width:"70%",maxWidth:"950px",minWidth:"480px"}},e))},newComponentRender=(r,n)=>(e,t)=>{e.name||(e.name=r+"-"+(e.name||"default")),(t=t||document.getElementById(`steedos-${r}-root-`+e.name))||((t=document.createElement("div")).setAttribute("id",`steedos-${r}-root-`+e.name),document.body.appendChild(t));e=React.createElement(newFunctionComponent(n),e);createRoot(t).render(e);},Modal=assign(newComponentRender("modal",Modal$1),{info:Modal$1.info,success:Modal$1.success,error:Modal$1.error,warning:Modal$1.warning,confirm:Modal$1.confirm}),Drawer=newComponentRender("drawer",Drawer$1),getGraphqlFieldsQuery=e=>{const t=["_id"];return e.push("record_permissions"),each(e,e=>{-1<e.indexOf(".")&&(e=e.split(".")[0]),t.push(""+e);}),""+t.join(" ")},getFindOneQuery=(e,t,r)=>{e=e.replace(/\./g,"_");r=getGraphqlFieldsQuery(r);let n="";t=[`id: "${t}"`];return `{record:${e}__findOne${n=0<t.length?`(${t.join(",")})`:n}{${r}}}`},SObject={getRecord:async(e,t,r)=>{return (await fetchAPI("/graphql",{method:"post",body:JSON.stringify({query:getFindOneQuery(e,t,r)})})).data.record},getUISchema:async(e,t)=>getUISchema(e,t)},canSaveFilter=e=>!(!e._id||e.owner!==getSteedosAuth()?.userId),ListView={showFilter:(e,{listView:t,data:r})=>{canSaveFilter(t);r.filters&&(r.filters=filtersToConditions(r.filters));},getVisibleFilter:(e,t)=>{return t||(canSaveFilter(e)?e.filters:void 0)},getQueryFilter:(e,t)=>{return canSaveFilter(e)?ListView.getVisibleFilter(e,t):isEmpty(t)?e.filters:[e.filters,"and",t]},getFirstListView:async e=>{e=await window.getUISchema(e);return _.first(_.sortBy(_.values(e.list_views),"sort_no"))}},Router={getAppPath({appId:e}){return "/app/"+e},getPagePath(){},getObjectListViewPath({appId:e,objectName:t,listViewName:r}){return `/app/${e}/${t}/grid/`+r},getObjectDetailPath({appId:e,objectName:t,recordId:r}){return `/app/${e}/${t}/view/`+r},getObjectRelatedViewPath({appId:e,masterObjectName:t,masterRecordId:r,objectName:n,foreignKey:o}){return `/app/${e}/${t}/${r}/${n}/grid?related_field_name=`+o}};var withModalWrap=function(t,e){return function(e){return createElement(t,e)}},render=function(e,t,r,n){e=withModalWrap(e),e=createElement(e,__assign({},t));return ReactDOM.render(e,r)};const safeRunFunction=(t,r,n,o)=>{try{var a=window.Creator;if(!!(!a||!a.getObjectUrl)&&/\bSteedos\b|\bCreator\b|\bMeteor\b|\bSession\b/.test(t))return console.info("调用了Creator|Steedos|Meteor|Session变量的脚本不执行,直接按空值处理。"),"";let e=[];return isNil(r)||(e=isArray(r)?r:[r]),t.bind(o||{})(...e)}catch(e){return console.log(e),n}};function safeEval(js){try{return eval(js)}catch(e){console.error(e,js);}}const isExpression=function(e){var t,r;return "string"==typeof e&&(t=/^{{(function.+)}}$/,r=/^{{(.+=>.+)}}$/,!("string"!=typeof e||!e.match(/^{{(.+)}}$/)||e.match(t)||e.match(r)))},parseSingleExpression=function(t,e,r,n){var o,a=function(e,t){return "#"!==t&&t?"string"==typeof t?_.get(e,t):void console.error("path has to be a string"):e||{}}(e=void 0===e?{}:e,function(e){return "string"!=typeof e||1===(e=e.split(".")).length?"#":(e.pop(),e.join("."))}(r))||{};if("string"!=typeof t)return t;o="__G_L_O_B_A_L__",e="\n return "+t.substring(2,t.length-2).replace(/\bformData\b/g,JSON.stringify(e).replace(/\bglobal\b/g,o)).replace(/\bglobal\b/g,JSON.stringify(n)).replace(new RegExp("\\b"+o+"\\b","g"),"global").replace(/rootValue/g,JSON.stringify(a));try{return Function(e)()}catch(e){return console.log(e,t,r),t}};var Expression=Object.freeze({__proto__:null,isExpression:isExpression,parseSingleExpression:parseSingleExpression});const getCompatibleDefaultValueExpression=(e,t)=>{let r=e;return /^\{\w+(\.*\w+)*\}$/.test(e)&&(r=-1<e.indexOf("userId")||-1<e.indexOf("spaceId")||-1<e.indexOf("user.")||-1<e.indexOf("now")?`{${e}}`.replace("{{","{{global."):`{${e}}`.replace("{{","{{formData."),t&&(r=r.replace(/\{\{(.+)\}\}/,"{{[$1]}}"))),r},getFieldDefaultValue=(e,t)=>{if(!e)return null;let r=e.defaultValue;e._defaultValue&&(r=safeEval(`(${e._defaultValue})`)),isFunction(r)&&(r=safeRunFunction(r,[],null,{name:e.name})),isString(r)&&(r=getCompatibleDefaultValueExpression(r,e.multiple));var n=isExpression(r);return n&&(r=parseSingleExpression(r,{},"#",t)),"select"===e.type&&(t=e.data_type||"text",!r||n||e.multiple||("text"!==t||isString(r)?"number"!==t||isNumber(r)?"boolean"!==t||isBoolean(r)||(r="true"===r):r=Number(r):r=String(r))),r};function getTreeOptions(t,e){const r=e?.unfoldedNum||1,n=[],
|
|
14156
|
+
var __assign=function(){return (__assign=Object.assign||function(e){for(var t,r=1,n=arguments.length;r<n;r++)for(var o in t=arguments[r])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e}).apply(this,arguments)},StandardObjects={Base:{Actions:{standard_query:{visible:function(e,t,r){return !1}},standard_new:{visible:function(e,t,r){return "cms_files"!==e&&"instances"!==e&&(r?r.allowCreate:void 0)}},standard_edit:{visible:function(e,t,r){if(r)return r.allowEdit}},standard_delete:{visible:function(e,t,r){if(r)return r.allowDelete}},standard_import_data:{visible:function(e,t,r){var n=this.object;if(r)return r.allowCreate&&n.hasImportTemplates}},standard_approve:{visible:function(e,t,r){return !1}},standard_view_instance:{visible:function(e,t,r){return !1}},standard_submit_for_approval:{visible:function(e,t,r){return window.Steedos.ProcessManager.allowSubmit.apply(this,[e,t])},todo:function(e,t){return window.Steedos.ProcessManager.submit.apply(this,[e,t])}},standard_follow:{visible:function(e,t,r){return !1}},standard_delete_many:{visible:function(e,t,r){return !RegExp("\\w+/view/\\w+").test(location.pathname)&&(r?r.allowDelete:void 0)}}}}},authRequest=function(e,t){var a=null;e=Steedos.absoluteUrl(e);try{var r=[{name:"Content-Type",value:"application/json"},{name:"Authorization",value:Steedos.getAuthorization()}],n={type:"get",url:e,dataType:"json",contentType:"application/json",beforeSend:function(t){if(r&&r.length)return r.forEach(function(e){return t.setRequestHeader(e.name,e.value)})},success:function(e){a=e;},error:function(e,t,r){var n,o;e.responseJSON&&e.responseJSON.error?(n=e.responseJSON.error,o=void(a={error:n}),o=n.reason||n.message||n,console.error(o)):console.error(e.responseJSON);}};return $.ajax(Object.assign({},n,t)),a}catch(e){console.error(e);}};function _extends(){return (_extends=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r,n=arguments[t];for(r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r]);}return e}).apply(this,arguments)}const newFunctionComponent=o=>e=>{const[t,r]=useState(!0);var n=()=>{r(!1);};return has(e,"ref")||(window.SteedosUI.refs[e.name]={show:()=>{r(!0);},close:n}),React.createElement(o,_extends({visible:t,onCancel:n,onClose:n},{width:"70%",style:{width:"70%",maxWidth:"950px",minWidth:"480px"}},e))},newComponentRender=(r,n)=>(e,t)=>{e.name||(e.name=r+"-"+(e.name||"default")),(t=t||document.getElementById(`steedos-${r}-root-`+e.name))||((t=document.createElement("div")).setAttribute("id",`steedos-${r}-root-`+e.name),document.body.appendChild(t));e=React.createElement(newFunctionComponent(n),e);createRoot(t).render(e);},Modal=assign(newComponentRender("modal",Modal$1),{info:Modal$1.info,success:Modal$1.success,error:Modal$1.error,warning:Modal$1.warning,confirm:Modal$1.confirm}),Drawer=newComponentRender("drawer",Drawer$1),getGraphqlFieldsQuery=e=>{const t=["_id"];return e.push("record_permissions"),each(e,e=>{-1<e.indexOf(".")&&(e=e.split(".")[0]),t.push(""+e);}),""+t.join(" ")},getFindOneQuery=(e,t,r)=>{e=e.replace(/\./g,"_");r=getGraphqlFieldsQuery(r);let n="";t=[`id: "${t}"`];return `{record:${e}__findOne${n=0<t.length?`(${t.join(",")})`:n}{${r}}}`},SObject={getRecord:async(e,t,r)=>{return (await fetchAPI("/graphql",{method:"post",body:JSON.stringify({query:getFindOneQuery(e,t,r)})})).data.record},getUISchema:async(e,t)=>getUISchema(e,t)},canSaveFilter=e=>!(!e._id||e.owner!==getSteedosAuth()?.userId),ListView={showFilter:(e,{listView:t,data:r})=>{canSaveFilter(t);r.filters&&(r.filters=filtersToConditions(r.filters));},getVisibleFilter:(e,t)=>{return t||(canSaveFilter(e)?e.filters:void 0)},getQueryFilter:(e,t)=>{return canSaveFilter(e)?ListView.getVisibleFilter(e,t):isEmpty(t)?e.filters:[e.filters,"and",t]},getFirstListView:async e=>{e=await window.getUISchema(e);return _.first(_.sortBy(_.values(e.list_views),"sort_no"))}},Router={getAppPath({appId:e}){return "/app/"+e},getPagePath(){},getObjectListViewPath({appId:e,objectName:t,listViewName:r}){return `/app/${e}/${t}/grid/`+r},getObjectDetailPath({appId:e,objectName:t,recordId:r}){return `/app/${e}/${t}/view/`+r},getObjectRelatedViewPath({appId:e,masterObjectName:t,masterRecordId:r,objectName:n,foreignKey:o}){return `/app/${e}/${t}/${r}/${n}/grid?related_field_name=`+o}};var withModalWrap=function(t,e){return function(e){return createElement(t,e)}},render=function(e,t,r,n){e=withModalWrap(e),e=createElement(e,__assign({},t));return ReactDOM.render(e,r)};const safeRunFunction=(t,r,n,o)=>{try{var a=window.Creator;if(!!(!a||!a.getObjectUrl)&&/\bSteedos\b|\bCreator\b|\bMeteor\b|\bSession\b/.test(t))return console.info("调用了Creator|Steedos|Meteor|Session变量的脚本不执行,直接按空值处理。"),"";let e=[];return isNil(r)||(e=isArray(r)?r:[r]),t.bind(o||{})(...e)}catch(e){return console.log(e),n}};function safeEval(js){try{return eval(js)}catch(e){console.error(e,js);}}const isExpression=function(e){var t,r;return "string"==typeof e&&(t=/^{{(function.+)}}$/,r=/^{{(.+=>.+)}}$/,!("string"!=typeof e||!e.match(/^{{(.+)}}$/)||e.match(t)||e.match(r)))},parseSingleExpression=function(t,e,r,n){var o,a=function(e,t){return "#"!==t&&t?"string"==typeof t?_.get(e,t):void console.error("path has to be a string"):e||{}}(e=void 0===e?{}:e,function(e){return "string"!=typeof e||1===(e=e.split(".")).length?"#":(e.pop(),e.join("."))}(r))||{};if("string"!=typeof t)return t;o="__G_L_O_B_A_L__",e="\n return "+t.substring(2,t.length-2).replace(/\bformData\b/g,JSON.stringify(e).replace(/\bglobal\b/g,o)).replace(/\bglobal\b/g,JSON.stringify(n)).replace(new RegExp("\\b"+o+"\\b","g"),"global").replace(/rootValue/g,JSON.stringify(a));try{return Function(e)()}catch(e){return console.log(e,t,r),t}};var Expression=Object.freeze({__proto__:null,isExpression:isExpression,parseSingleExpression:parseSingleExpression});const getCompatibleDefaultValueExpression=(e,t)=>{let r=e;return /^\{\w+(\.*\w+)*\}$/.test(e)&&(r=-1<e.indexOf("userId")||-1<e.indexOf("spaceId")||-1<e.indexOf("user.")||-1<e.indexOf("now")?`{${e}}`.replace("{{","{{global."):`{${e}}`.replace("{{","{{formData."),t&&(r=r.replace(/\{\{(.+)\}\}/,"{{[$1]}}"))),r},getFieldDefaultValue=(e,t)=>{if(!e)return null;let r=e.defaultValue;e._defaultValue&&(r=safeEval(`(${e._defaultValue})`)),isFunction(r)&&(r=safeRunFunction(r,[],null,{name:e.name})),isString(r)&&(r=getCompatibleDefaultValueExpression(r,e.multiple));var n=isExpression(r);return n&&(r=parseSingleExpression(r,{},"#",t)),"select"===e.type&&(t=e.data_type||"text",!r||n||e.multiple||("text"!==t||isString(r)?"number"!==t||isNumber(r)?"boolean"!==t||isBoolean(r)||(r="true"===r):r=Number(r):r=String(r))),r};function getTreeOptions(t,e){const o=e?.valueField||"value";e?.labelField;const r=e?.unfoldedNum||1,n=[],a=(t,r,n)=>{var e;if(r)return e=_.filter(t,e=>_.includes(r,e[o])),_.each(e,e=>{1<=n?(e.unfolded=!0,e.children&&(e.children=a(t,e.children,n-1))):e.children&&(e.children=a(t,e.children,n));}),e};for(var i=t,s=0;s<i.length;s++)if(i[s].noParent=0,i[s].unfolded=!1,i[s].parent){let e=1;for(var l=0;l<i.length;l++)i[s].parent==i[l][o]&&(e=0);1==e&&(i[s].noParent=1);}else i[s].noParent=1;return _.each(t,e=>{1==e.noParent&&(1<=r?(e.unfolded=!0,n.push(Object.assign({},e,{children:a(t,e.children,r-1)}))):n.push(Object.assign({},e,{children:a(t,e.children,r)})));}),n}const SteedosUI$1=Object.assign({},{render:render,Router:Router,ListView:ListView,Object:SObject,Modal:Modal,Drawer:Drawer,refs:{},getRef(e){return SteedosUI$1.refs[e]},router:{go:(e,t)=>{var r=window.FlowRouter;if(t)return r?r.go(t):window.open(t);r?r.reload():console.warn("暂不支持自动跳转",e);},reload:()=>{console.log("reload");}},message:message,notification:notification,components:{Button:Button,Space:Space},getRefId:({type:e,appId:t,name:r})=>{switch(e){case"listview":return `amis-${t}-${r}-listview`;case"form":return `amis-${t}-${r}-form`;case"detail":return `amis-${t}-${r}-detail`;default:return `amis-${t}-${r}-`+e}},reloadRecord:()=>{if(window.FlowRouter)return window.FlowRouter.reload()},getFieldDefaultValue:getFieldDefaultValue,getTreeOptions:getTreeOptions});var getBuilderContext=function(){return "undefined"==typeof window?{}:Builder.settings.context||Builder.settings},Steedos$1=__assign({getRootUrl:function(e){var t=getBuilderContext();return t.rootUrl||("undefined"!=typeof window?window.localStorage.getItem("steedos:rootUrl"):"")||e},absoluteUrl:function(e){return void 0===e&&(e=""),"".concat(Steedos$1.getRootUrl()).concat(e)},getTenantId:function(){try{var e=getBuilderContext().tenantId;return (e=window.location.search&&!e?new URLSearchParams(window.location.search).get("X-Space-Id"):e)?e:null}catch(e){console.error(e);}},getAuthorization:function(){try{var e=getBuilderContext(),t=e.tenantId,r=e.authToken;return t&&r?"Bearer ".concat(t,",").concat(r):null}catch(e){console.error(e);}},authRequest:authRequest,StandardObjects:StandardObjects},Expression);"undefined"==typeof window||window.Steedos||(window.Steedos=Steedos$1),"undefined"==typeof window||window.SteedosUI||(window.SteedosUI=SteedosUI$1);
|
|
14133
14157
|
|
|
14134
14158
|
var index_esm = /*#__PURE__*/Object.freeze({
|
|
14135
14159
|
__proto__: null,
|