@steedos-widgets/amis-lib 1.3.3 → 1.3.4-beta.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/tsconfig.tsbuildinfo +1 -1
- package/dist/index.cjs.js +232 -195
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.esm.js +232 -195
- package/dist/index.esm.js.map +1 -1
- package/dist/index.umd.js +110 -111
- package/dist/index.umd.js.map +1 -1
- package/dist/types/lib/converter/amis/header.d.ts +1 -7
- package/dist/types/lib/converter/amis/index.d.ts +2 -6
- package/dist/types/lib/objects.d.ts +6 -6
- package/package.json +2 -2
package/dist/index.cjs.js
CHANGED
|
@@ -471,7 +471,7 @@ function getLookupListView(refObjectConfig) {
|
|
|
471
471
|
* @Author: baozhoutao@steedos.com
|
|
472
472
|
* @Date: 2022-05-23 09:53:08
|
|
473
473
|
* @LastEditors: 殷亮辉 yinlianghui@hotoa.com
|
|
474
|
-
* @LastEditTime: 2023-
|
|
474
|
+
* @LastEditTime: 2023-09-19 14:38:39
|
|
475
475
|
* @Description:
|
|
476
476
|
*/
|
|
477
477
|
|
|
@@ -651,9 +651,13 @@ async function getLookupTpl(field, ctx){
|
|
|
651
651
|
}
|
|
652
652
|
|
|
653
653
|
function getSwitchTpl(field){
|
|
654
|
+
let fieldDataStrTpl = `data._display.${field.name}`;
|
|
655
|
+
if(field.isTableField){
|
|
656
|
+
fieldDataStrTpl = `data.${field.name}`;
|
|
657
|
+
}
|
|
654
658
|
return `<% if (data.${field.name}) { %>
|
|
655
|
-
<span class="slds-icon_container slds-icon-utility-check slds-current-color" title="
|
|
656
|
-
<span ><%=
|
|
659
|
+
<span class="slds-icon_container slds-icon-utility-check slds-current-color" title="<%=${fieldDataStrTpl}%>">
|
|
660
|
+
<span ><%= ${fieldDataStrTpl} === "√" ? "<svg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor' class='w-4 h-4'><path stroke-linecap='round' stroke-linejoin='round' d='M4.5 12.75l6 6 9-13.5' /></svg>" : ${fieldDataStrTpl} %></span>
|
|
657
661
|
</span>
|
|
658
662
|
<% } %>`
|
|
659
663
|
}
|
|
@@ -1231,7 +1235,7 @@ var frontend_display_type_is_split = "分栏视图";
|
|
|
1231
1235
|
var frontend_display_as = "显示为";
|
|
1232
1236
|
var frontend_record_sum = "个项目";
|
|
1233
1237
|
var frontend_button_reload_tooltip = "刷新";
|
|
1234
|
-
var frontend_button_search_tooltip = "
|
|
1238
|
+
var frontend_button_search_tooltip = "筛选";
|
|
1235
1239
|
var frontend_fields_filter_button_search = "搜索";
|
|
1236
1240
|
var frontend_fields_filter_button_settings = "设置搜索项";
|
|
1237
1241
|
var frontend_button_listview_control_tooltip = "列表视图控制";
|
|
@@ -2939,7 +2943,7 @@ const getObjectDetailButtonsSchemas = (objectSchema, recordId, ctx)=>{
|
|
|
2939
2943
|
type: "steedos-dropdown-button",
|
|
2940
2944
|
label: "",
|
|
2941
2945
|
buttons: moreButtons,
|
|
2942
|
-
className: 'slds-icon',
|
|
2946
|
+
className: 'slds-icon ml-1',
|
|
2943
2947
|
visibleOn: moreButtonsVisibleOn
|
|
2944
2948
|
};
|
|
2945
2949
|
buttons.push(dropdownButtonsSchema);
|
|
@@ -3682,13 +3686,15 @@ function getObjectListHeaderFirstLine(objectSchema, listViewName, ctx) {
|
|
|
3682
3686
|
"visibleOn": "${display == 'split'?false:true}"
|
|
3683
3687
|
}];
|
|
3684
3688
|
if(ctx.formFactor !== 'SMALL'){
|
|
3689
|
+
const restButtons = Array.isArray(amisButtonsSchema) ? amisButtonsSchema.filter(obj => obj.name !== "standard_new"):[];
|
|
3685
3690
|
buttonSchema.push({
|
|
3686
3691
|
"type": "flex",
|
|
3687
3692
|
"items":[
|
|
3688
3693
|
standardNewButton,
|
|
3689
|
-
{
|
|
3694
|
+
(restButtons.length > 0) && {
|
|
3690
3695
|
"type": "dropdown-button",
|
|
3691
|
-
"buttons":
|
|
3696
|
+
"buttons": restButtons,
|
|
3697
|
+
"className": " ml-1",
|
|
3692
3698
|
"menuClassName": "p-none split-dropdown-buttons",
|
|
3693
3699
|
"align": "right",
|
|
3694
3700
|
"size": "sm"
|
|
@@ -3820,7 +3826,6 @@ async function getObjectListHeaderSecordLine(objectSchema, listViewName, ctx) {
|
|
|
3820
3826
|
},
|
|
3821
3827
|
{
|
|
3822
3828
|
"body": [
|
|
3823
|
-
fieldsFilterButtonSchema,
|
|
3824
3829
|
{
|
|
3825
3830
|
"type": "button",
|
|
3826
3831
|
"label": "",
|
|
@@ -3829,6 +3834,7 @@ async function getObjectListHeaderSecordLine(objectSchema, listViewName, ctx) {
|
|
|
3829
3834
|
"target": amisListViewId,
|
|
3830
3835
|
"className": "bg-white p-2 rounded border-gray-300 text-gray-500"
|
|
3831
3836
|
},
|
|
3837
|
+
fieldsFilterButtonSchema,
|
|
3832
3838
|
// {
|
|
3833
3839
|
// "type": "button",
|
|
3834
3840
|
// "label": "",
|
|
@@ -4076,7 +4082,7 @@ async function getObjectRecordDetailRelatedListHeader(relatedObjectSchema, relat
|
|
|
4076
4082
|
"body": [
|
|
4077
4083
|
{
|
|
4078
4084
|
"type": "tpl",
|
|
4079
|
-
"tpl": `<a class="text-black text-base font-bold" href="/app/\${appId}/\${_master.objectName}/\${_master.recordId}/\${objectName}/grid?related_field_name=\${relatedKey}">${relatedLabel}(\${$count})</a>`,
|
|
4085
|
+
"tpl": `<a class="text-black text-base font-bold hover:font-bold" href="/app/\${appId}/\${_master.objectName}/\${_master.recordId}/\${objectName}/grid?related_field_name=\${relatedKey}">${relatedLabel}(\${$count})</a>`,
|
|
4080
4086
|
"inline": false,
|
|
4081
4087
|
"wrapperComponent": "",
|
|
4082
4088
|
"className": "",
|
|
@@ -5165,7 +5171,7 @@ function getObjectHeaderQuickSearchBox(mainObject, fields, formFactor, { isLooku
|
|
|
5165
5171
|
{
|
|
5166
5172
|
"type": "search-box",
|
|
5167
5173
|
"name": keywordsSearchBoxName,
|
|
5168
|
-
"placeholder": "
|
|
5174
|
+
"placeholder": "搜索此列表",
|
|
5169
5175
|
"value": crudKeywords,
|
|
5170
5176
|
"clearable": true,
|
|
5171
5177
|
"clearAndSubmit": true
|
|
@@ -5288,10 +5294,10 @@ function getObjectHeaderToolbar(mainObject, fields, formFactor, {
|
|
|
5288
5294
|
if(toolbarCount){
|
|
5289
5295
|
toolbars.push(toolbarCount);
|
|
5290
5296
|
}
|
|
5291
|
-
toolbars.push(toolbarReloadButton);
|
|
5292
5297
|
if(toolbarFilter){
|
|
5293
5298
|
toolbars.push(toolbarFilter);
|
|
5294
5299
|
}
|
|
5300
|
+
toolbars.push(toolbarReloadButton);
|
|
5295
5301
|
toolbars.push(toolbarDisplayAsButton);
|
|
5296
5302
|
toolbars.push(toolbarDQuickSearchBox);
|
|
5297
5303
|
return [
|
|
@@ -5307,10 +5313,10 @@ function getObjectHeaderToolbar(mainObject, fields, formFactor, {
|
|
|
5307
5313
|
toolbars.push(toolbarFilter);
|
|
5308
5314
|
}
|
|
5309
5315
|
toolbars.push(toolbarReloadButton);
|
|
5316
|
+
toolbars.push(toolbarDisplayAsButton);
|
|
5310
5317
|
if(mainObject?.permissions?.allowCreateListViews){
|
|
5311
5318
|
toolbars.push(getSettingListviewToolbarButtonSchema());
|
|
5312
5319
|
}
|
|
5313
|
-
toolbars.push(toolbarDisplayAsButton);
|
|
5314
5320
|
toolbars.push(toolbarDQuickSearchBox);
|
|
5315
5321
|
return [
|
|
5316
5322
|
// "filter-toggler",
|
|
@@ -7356,7 +7362,7 @@ async function convertSFieldToAmisField(field, readonly, ctx) {
|
|
|
7356
7362
|
label: subField.label,
|
|
7357
7363
|
quickEdit: readonly ? false : gridSub
|
|
7358
7364
|
};
|
|
7359
|
-
if(subField.type
|
|
7365
|
+
if(["lookup", "boolean", "toggle"].indexOf(subField.type) > -1){
|
|
7360
7366
|
gridItemSchema.type = gridSub.type;
|
|
7361
7367
|
gridItemSchema.tpl = gridSub.tpl;
|
|
7362
7368
|
}
|
|
@@ -8290,7 +8296,7 @@ async function getTableOperation(ctx){
|
|
|
8290
8296
|
label: i18next__default["default"].t('frontend_operation'),
|
|
8291
8297
|
fixed: 'right',
|
|
8292
8298
|
labelClassName: 'text-center',
|
|
8293
|
-
className: 'text-center steedos-listview-operation w-
|
|
8299
|
+
className: 'text-center steedos-listview-operation w-10',
|
|
8294
8300
|
buttons: [
|
|
8295
8301
|
{
|
|
8296
8302
|
"type": "steedos-dropdown-button",
|
|
@@ -8322,11 +8328,10 @@ async function getTableOperation(ctx){
|
|
|
8322
8328
|
}
|
|
8323
8329
|
|
|
8324
8330
|
async function getTableSchema$1(fields, options){
|
|
8325
|
-
let isLookup = options && options.isLookup;
|
|
8326
|
-
let hiddenColumnOperation = options && options.hiddenColumnOperation;
|
|
8327
8331
|
if(!options){
|
|
8328
8332
|
options = {};
|
|
8329
8333
|
}
|
|
8334
|
+
let { isLookup, hiddenColumnOperation } = options;
|
|
8330
8335
|
let columns = [];
|
|
8331
8336
|
let useMobileColumns = options.formFactor === 'SMALL' || ["split"].indexOf(options.displayAs) > -1;
|
|
8332
8337
|
if(isLookup){
|
|
@@ -8338,6 +8343,7 @@ async function getTableSchema$1(fields, options){
|
|
|
8338
8343
|
}
|
|
8339
8344
|
else {
|
|
8340
8345
|
columns = await getTableColumns(fields, options);
|
|
8346
|
+
|
|
8341
8347
|
if(!isLookup && !hiddenColumnOperation){
|
|
8342
8348
|
columns.push(await getTableOperation(options));
|
|
8343
8349
|
}
|
|
@@ -8346,7 +8352,7 @@ async function getTableSchema$1(fields, options){
|
|
|
8346
8352
|
return {
|
|
8347
8353
|
mode: "table",
|
|
8348
8354
|
name: "thelist",
|
|
8349
|
-
headerToolbarClassName: "py-2 px-2 border-gray-300
|
|
8355
|
+
headerToolbarClassName: "py-2 px-2 border-gray-300 border-solid border-b",
|
|
8350
8356
|
className: "",
|
|
8351
8357
|
draggable: false,
|
|
8352
8358
|
defaultParams: getDefaultParams(options),
|
|
@@ -9642,6 +9648,161 @@ async function getObjectCalendar(objectSchema, calendarOptions, options) {
|
|
|
9642
9648
|
return amisSchema;
|
|
9643
9649
|
}
|
|
9644
9650
|
|
|
9651
|
+
/******************************************************************************
|
|
9652
|
+
Copyright (c) Microsoft Corporation.
|
|
9653
|
+
|
|
9654
|
+
Permission to use, copy, modify, and/or distribute this software for any
|
|
9655
|
+
purpose with or without fee is hereby granted.
|
|
9656
|
+
|
|
9657
|
+
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
|
|
9658
|
+
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
|
9659
|
+
AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
|
|
9660
|
+
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
|
9661
|
+
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
|
9662
|
+
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
|
9663
|
+
PERFORMANCE OF THIS SOFTWARE.
|
|
9664
|
+
***************************************************************************** */
|
|
9665
|
+
|
|
9666
|
+
var __assign = function() {
|
|
9667
|
+
__assign = Object.assign || function __assign(t) {
|
|
9668
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
9669
|
+
s = arguments[i];
|
|
9670
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
|
|
9671
|
+
}
|
|
9672
|
+
return t;
|
|
9673
|
+
};
|
|
9674
|
+
return __assign.apply(this, arguments);
|
|
9675
|
+
};
|
|
9676
|
+
|
|
9677
|
+
/**
|
|
9678
|
+
* 将例如像 a.b.c 或 a[1].b 的字符串转换为路径数组
|
|
9679
|
+
*
|
|
9680
|
+
* @param string 要转换的字符串
|
|
9681
|
+
*/
|
|
9682
|
+
var keyToPath = function (string) {
|
|
9683
|
+
var result = [];
|
|
9684
|
+
if (string.charCodeAt(0) === '.'.charCodeAt(0)) {
|
|
9685
|
+
result.push('');
|
|
9686
|
+
}
|
|
9687
|
+
string.replace(new RegExp('[^.[\\]]+|\\[(?:([^"\'][^[]*)|(["\'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|$))', 'g'), function (match, expression, quote, subString) {
|
|
9688
|
+
var key = match;
|
|
9689
|
+
if (quote) {
|
|
9690
|
+
key = subString.replace(/\\(\\)?/g, '$1');
|
|
9691
|
+
}
|
|
9692
|
+
else if (expression) {
|
|
9693
|
+
key = expression.trim();
|
|
9694
|
+
}
|
|
9695
|
+
result.push(key);
|
|
9696
|
+
return '';
|
|
9697
|
+
});
|
|
9698
|
+
return result;
|
|
9699
|
+
};
|
|
9700
|
+
|
|
9701
|
+
// 方便取值的时候能够把上层的取到,但是获取的时候不会全部把所有的数据获取到。
|
|
9702
|
+
function createObject(superProps, props, properties) {
|
|
9703
|
+
if (superProps && Object.isFrozen(superProps)) {
|
|
9704
|
+
superProps = cloneObject(superProps);
|
|
9705
|
+
}
|
|
9706
|
+
var obj = superProps
|
|
9707
|
+
? Object.create(superProps, __assign(__assign({}, properties), { __super: {
|
|
9708
|
+
value: superProps,
|
|
9709
|
+
writable: false,
|
|
9710
|
+
enumerable: false
|
|
9711
|
+
} }))
|
|
9712
|
+
: Object.create(Object.prototype, properties);
|
|
9713
|
+
props &&
|
|
9714
|
+
isObject(props) &&
|
|
9715
|
+
Object.keys(props).forEach(function (key) { return (obj[key] = props[key]); });
|
|
9716
|
+
return obj;
|
|
9717
|
+
}
|
|
9718
|
+
function cloneObject(target, persistOwnProps) {
|
|
9719
|
+
if (persistOwnProps === void 0) { persistOwnProps = true; }
|
|
9720
|
+
var obj = target && target.__super
|
|
9721
|
+
? Object.create(target.__super, {
|
|
9722
|
+
__super: {
|
|
9723
|
+
value: target.__super,
|
|
9724
|
+
writable: false,
|
|
9725
|
+
enumerable: false
|
|
9726
|
+
}
|
|
9727
|
+
})
|
|
9728
|
+
: Object.create(Object.prototype);
|
|
9729
|
+
persistOwnProps &&
|
|
9730
|
+
target &&
|
|
9731
|
+
Object.keys(target).forEach(function (key) { return (obj[key] = target[key]); });
|
|
9732
|
+
return obj;
|
|
9733
|
+
}
|
|
9734
|
+
function extendObject(target, src, persistOwnProps) {
|
|
9735
|
+
if (persistOwnProps === void 0) { persistOwnProps = true; }
|
|
9736
|
+
var obj = cloneObject(target, persistOwnProps);
|
|
9737
|
+
src && Object.keys(src).forEach(function (key) { return (obj[key] = src[key]); });
|
|
9738
|
+
return obj;
|
|
9739
|
+
}
|
|
9740
|
+
function isObject(obj) {
|
|
9741
|
+
var typename = typeof obj;
|
|
9742
|
+
return (obj &&
|
|
9743
|
+
typename !== 'string' &&
|
|
9744
|
+
typename !== 'number' &&
|
|
9745
|
+
typename !== 'boolean' &&
|
|
9746
|
+
typename !== 'function' &&
|
|
9747
|
+
!Array.isArray(obj));
|
|
9748
|
+
}
|
|
9749
|
+
function setVariable(data, key, value, convertKeyToPath) {
|
|
9750
|
+
data = data || {};
|
|
9751
|
+
if (key in data) {
|
|
9752
|
+
data[key] = value;
|
|
9753
|
+
return;
|
|
9754
|
+
}
|
|
9755
|
+
var parts = convertKeyToPath !== false ? keyToPath(key) : [key];
|
|
9756
|
+
var last = parts.pop();
|
|
9757
|
+
while (parts.length) {
|
|
9758
|
+
var key_1 = parts.shift();
|
|
9759
|
+
if (isPlainObject__default["default"](data[key_1])) {
|
|
9760
|
+
data = data[key_1] = __assign({}, data[key_1]);
|
|
9761
|
+
}
|
|
9762
|
+
else if (Array.isArray(data[key_1])) {
|
|
9763
|
+
data[key_1] = data[key_1].concat();
|
|
9764
|
+
data = data[key_1];
|
|
9765
|
+
}
|
|
9766
|
+
else if (data[key_1]) {
|
|
9767
|
+
// throw new Error(`目标路径不是纯对象,不能覆盖`);
|
|
9768
|
+
// 强行转成对象
|
|
9769
|
+
data[key_1] = {};
|
|
9770
|
+
data = data[key_1];
|
|
9771
|
+
}
|
|
9772
|
+
else {
|
|
9773
|
+
data[key_1] = {};
|
|
9774
|
+
data = data[key_1];
|
|
9775
|
+
}
|
|
9776
|
+
}
|
|
9777
|
+
data[last] = value;
|
|
9778
|
+
}
|
|
9779
|
+
function deleteVariable(data, key) {
|
|
9780
|
+
if (!data) {
|
|
9781
|
+
return;
|
|
9782
|
+
}
|
|
9783
|
+
else if (data.hasOwnProperty(key)) {
|
|
9784
|
+
delete data[key];
|
|
9785
|
+
return;
|
|
9786
|
+
}
|
|
9787
|
+
var parts = keyToPath(key);
|
|
9788
|
+
var last = parts.pop();
|
|
9789
|
+
while (parts.length) {
|
|
9790
|
+
var key_2 = parts.shift();
|
|
9791
|
+
if (isPlainObject__default["default"](data[key_2])) {
|
|
9792
|
+
data = data[key_2] = __assign({}, data[key_2]);
|
|
9793
|
+
}
|
|
9794
|
+
else if (data[key_2]) {
|
|
9795
|
+
throw new Error("\u76EE\u6807\u8DEF\u5F84\u4E0D\u662F\u7EAF\u5BF9\u8C61\uFF0C\u4E0D\u80FD\u4FEE\u6539");
|
|
9796
|
+
}
|
|
9797
|
+
else {
|
|
9798
|
+
break;
|
|
9799
|
+
}
|
|
9800
|
+
}
|
|
9801
|
+
if (data && data.hasOwnProperty && data.hasOwnProperty(last)) {
|
|
9802
|
+
delete data[last];
|
|
9803
|
+
}
|
|
9804
|
+
}
|
|
9805
|
+
|
|
9645
9806
|
/*
|
|
9646
9807
|
* @Author: baozhoutao@steedos.com
|
|
9647
9808
|
* @Date: 2022-05-26 16:02:08
|
|
@@ -9882,9 +10043,30 @@ function getBulkActions(objectSchema){
|
|
|
9882
10043
|
]
|
|
9883
10044
|
}
|
|
9884
10045
|
|
|
10046
|
+
async function getCrudSchemaWithDataFilter(crud, options = {}){
|
|
10047
|
+
const { crudDataFilter, amisData, env } = options;
|
|
10048
|
+
let onCrudDataFilter = options.onCrudDataFilter;
|
|
10049
|
+
if (!onCrudDataFilter && typeof crudDataFilter === 'string') {
|
|
10050
|
+
onCrudDataFilter = new Function(
|
|
10051
|
+
'crud',
|
|
10052
|
+
'env',
|
|
10053
|
+
'data',
|
|
10054
|
+
crudDataFilter
|
|
10055
|
+
);
|
|
10056
|
+
}
|
|
10057
|
+
|
|
10058
|
+
try {
|
|
10059
|
+
onCrudDataFilter && (crud = await onCrudDataFilter(crud, env, amisData) || crud);
|
|
10060
|
+
} catch (e) {
|
|
10061
|
+
console.warn(e);
|
|
10062
|
+
}
|
|
10063
|
+
return crud;
|
|
10064
|
+
}
|
|
10065
|
+
|
|
9885
10066
|
async function getObjectCRUD(objectSchema, fields, options){
|
|
9886
10067
|
// console.time('getObjectCRUD');
|
|
9887
|
-
const { top, perPage, showDisplayAs = false, displayAs, crudClassName = ""
|
|
10068
|
+
const { top, perPage, showDisplayAs = false, displayAs, crudClassName = "",
|
|
10069
|
+
crudDataFilter, onCrudDataFilter, amisData, env } = options;
|
|
9888
10070
|
const nonpaged = objectSchema.paging && objectSchema.paging.enabled === false;
|
|
9889
10071
|
const isTreeObject = objectSchema.enable_tree;
|
|
9890
10072
|
const bulkActions = getBulkActions(objectSchema);
|
|
@@ -9925,6 +10107,14 @@ async function getObjectCRUD(objectSchema, fields, options){
|
|
|
9925
10107
|
filterVisible: options.filterVisible
|
|
9926
10108
|
});
|
|
9927
10109
|
|
|
10110
|
+
options.amisData = createObject(options.amisData, {
|
|
10111
|
+
objectName: objectSchema.name,
|
|
10112
|
+
// _id: null,
|
|
10113
|
+
recordPermissions: objectSchema.permissions,
|
|
10114
|
+
uiSchema: objectSchema,
|
|
10115
|
+
// loaded: false //crud接收适配器中设置为true,否则就是刷新浏览器第一次加载
|
|
10116
|
+
});
|
|
10117
|
+
|
|
9928
10118
|
|
|
9929
10119
|
let body = null;
|
|
9930
10120
|
const id = `listview_${objectSchema.name}`;
|
|
@@ -9950,7 +10140,12 @@ async function getObjectCRUD(objectSchema, fields, options){
|
|
|
9950
10140
|
if(objectSchema.name === 'organizations'){
|
|
9951
10141
|
labelFieldName = 'name';
|
|
9952
10142
|
}
|
|
9953
|
-
|
|
10143
|
+
let tableOptions = Object.assign({
|
|
10144
|
+
idFieldName: objectSchema.idFieldName, labelFieldName: labelFieldName,
|
|
10145
|
+
permissions:objectSchema.permissions,enable_inline_edit:objectSchema.enable_inline_edit
|
|
10146
|
+
}, options);
|
|
10147
|
+
tableOptions.amisData = createObject(options.amisData || {}, {}).__super;
|
|
10148
|
+
const table = await getTableSchema$1(fields, tableOptions);
|
|
9954
10149
|
delete table.mode;
|
|
9955
10150
|
//image与avatar需要在提交修改时特别处理
|
|
9956
10151
|
const imageNames = ___default["default"].compact(___default["default"].map(___default["default"].filter(fields, (field) => ["image","avatar"].includes(field.type)), 'name'));
|
|
@@ -10010,9 +10205,9 @@ async function getObjectCRUD(objectSchema, fields, options){
|
|
|
10010
10205
|
requestAdaptor: quickSaveApiRequestAdaptor,
|
|
10011
10206
|
},
|
|
10012
10207
|
rowClassNameExpr: options.rowClassNameExpr
|
|
10013
|
-
},
|
|
10014
|
-
|
|
10015
|
-
|
|
10208
|
+
}, bodyProps);
|
|
10209
|
+
|
|
10210
|
+
body = await getCrudSchemaWithDataFilter(body, { crudDataFilter, onCrudDataFilter, amisData, env });
|
|
10016
10211
|
}
|
|
10017
10212
|
|
|
10018
10213
|
const defaults = options.defaults;
|
|
@@ -10047,16 +10242,10 @@ async function getObjectCRUD(objectSchema, fields, options){
|
|
|
10047
10242
|
return {
|
|
10048
10243
|
type: 'service',
|
|
10049
10244
|
className: '',
|
|
10050
|
-
//目前crud的service层id不认用户自定义id,只支持默认规则id
|
|
10245
|
+
//目前crud的service层id不认用户自定义id,只支持默认规则id,许多地方的格式都写死了service_listview_${objectname}
|
|
10051
10246
|
id: `service_${id}`,
|
|
10052
10247
|
name: `page`,
|
|
10053
|
-
data:
|
|
10054
|
-
objectName: objectSchema.name,
|
|
10055
|
-
// _id: null,
|
|
10056
|
-
recordPermissions: objectSchema.permissions,
|
|
10057
|
-
uiSchema: objectSchema,
|
|
10058
|
-
// loaded: false //crud接收适配器中设置为true,否则就是刷新浏览器第一次加载
|
|
10059
|
-
},
|
|
10248
|
+
data: options.amisData,
|
|
10060
10249
|
body: body
|
|
10061
10250
|
}
|
|
10062
10251
|
}
|
|
@@ -10531,7 +10720,7 @@ async function getRecordDetailRelatedListSchema(objectName, recordId, relatedObj
|
|
|
10531
10720
|
setDataToComponentId: componentId,
|
|
10532
10721
|
// tableHiddenOn: hiddenEmptyTable ? "this.$count === 0" : null,
|
|
10533
10722
|
appId: appId,
|
|
10534
|
-
crudClassName: 'border-t border-
|
|
10723
|
+
crudClassName: 'border-t border-gray-300 hidden',
|
|
10535
10724
|
...ctx
|
|
10536
10725
|
};
|
|
10537
10726
|
const amisSchema= (await getRelatedListSchema(relatedObjectName, 'all', options)).amisSchema;
|
|
@@ -10543,7 +10732,7 @@ async function getRecordDetailRelatedListSchema(objectName, recordId, relatedObj
|
|
|
10543
10732
|
amisSchema: {
|
|
10544
10733
|
type: "service",
|
|
10545
10734
|
id: componentId,
|
|
10546
|
-
className: `steedos-record-related-list ${componentId} rounded border border-
|
|
10735
|
+
className: `steedos-record-related-list ${componentId} rounded border border-gray-300 bg-gray-100 mb-4 ${className}`,
|
|
10547
10736
|
data: {
|
|
10548
10737
|
relatedKey: relatedKey,
|
|
10549
10738
|
listViewId: `amis-\${appId}-${relatedObjectName}-listview`,
|
|
@@ -10708,7 +10897,7 @@ async function getRelatedListSchema(
|
|
|
10708
10897
|
* @Author: baozhoutao@steedos.com
|
|
10709
10898
|
* @Date: 2022-07-05 15:55:39
|
|
10710
10899
|
* @LastEditors: 殷亮辉 yinlianghui@hotoa.com
|
|
10711
|
-
* @LastEditTime: 2023-09-
|
|
10900
|
+
* @LastEditTime: 2023-09-15 09:04:49
|
|
10712
10901
|
* @Description:
|
|
10713
10902
|
*/
|
|
10714
10903
|
|
|
@@ -11041,7 +11230,9 @@ async function getListSchema(
|
|
|
11041
11230
|
"adaptor": listView.adaptor,
|
|
11042
11231
|
"headerToolbarItems": ctx.headerToolbarItems,
|
|
11043
11232
|
"filterVisible": ctx.filterVisible,
|
|
11044
|
-
"rowClassNameExpr": ctx.rowClassNameExpr
|
|
11233
|
+
"rowClassNameExpr": ctx.rowClassNameExpr,
|
|
11234
|
+
"crudDataFilter": ctx.crudDataFilter,
|
|
11235
|
+
"onCrudDataFilter": ctx.onCrudDataFilter
|
|
11045
11236
|
};
|
|
11046
11237
|
// console.log(`getListSchema===>`,amisSchema)
|
|
11047
11238
|
return {
|
|
@@ -11144,7 +11335,7 @@ async function getTableSchema(
|
|
|
11144
11335
|
fields = fields.concat(extraFields);
|
|
11145
11336
|
}
|
|
11146
11337
|
|
|
11147
|
-
|
|
11338
|
+
let crudOptions = {
|
|
11148
11339
|
tabId: objectName,
|
|
11149
11340
|
appId: appName,
|
|
11150
11341
|
objectName: objectName,
|
|
@@ -11153,8 +11344,9 @@ async function getTableSchema(
|
|
|
11153
11344
|
sort,
|
|
11154
11345
|
headerToolbarItems: ctx.headerToolbarItems,
|
|
11155
11346
|
buttons: await getListViewItemButtons(uiSchema, ctx)
|
|
11156
|
-
}
|
|
11157
|
-
|
|
11347
|
+
};
|
|
11348
|
+
crudOptions.amisData = createObject(ctx.amisData || {}, {}).__super;
|
|
11349
|
+
const amisSchema = await getObjectCRUD(uiSchema, fields, crudOptions);
|
|
11158
11350
|
// console.timeEnd('getTableSchema');
|
|
11159
11351
|
return {
|
|
11160
11352
|
uiSchema,
|
|
@@ -11226,7 +11418,7 @@ async function getRecordDetailSchema(objectName, appId, props = {}){
|
|
|
11226
11418
|
};
|
|
11227
11419
|
const content = {
|
|
11228
11420
|
"type": "tabs",
|
|
11229
|
-
"className": "sm:mt-3 bg-white sm:shadow sm:rounded sm:border border-
|
|
11421
|
+
"className": "sm:mt-3 bg-white sm:shadow sm:rounded sm:border border-gray-300 p-4",
|
|
11230
11422
|
"tabs": [
|
|
11231
11423
|
detailed
|
|
11232
11424
|
],
|
|
@@ -11413,7 +11605,7 @@ async function getListPageInitSchema(objectApiName, formFactor, userSession) {
|
|
|
11413
11605
|
"columnsTogglable": false,
|
|
11414
11606
|
"showHeader": true,
|
|
11415
11607
|
// "headerSchema": headerSchema
|
|
11416
|
-
className: "sm:border bg-white sm:shadow sm:rounded border-
|
|
11608
|
+
className: "sm:border bg-white sm:shadow sm:rounded border-gray-300 border-solid"
|
|
11417
11609
|
}]
|
|
11418
11610
|
}
|
|
11419
11611
|
}
|
|
@@ -11471,7 +11663,7 @@ async function getRecordPageInitSchema(objectApiName){
|
|
|
11471
11663
|
]
|
|
11472
11664
|
}
|
|
11473
11665
|
],
|
|
11474
|
-
"className": "sm:mt-3 flex flex-col region-main bg-white sm:shadow sm:rounded sm:border border-
|
|
11666
|
+
"className": "sm:mt-3 flex flex-col region-main bg-white sm:shadow sm:rounded sm:border border-gray-300",
|
|
11475
11667
|
"linksClassName": "pl-4 pt-2"
|
|
11476
11668
|
};
|
|
11477
11669
|
if(relatedList.length){
|
|
@@ -11938,161 +12130,6 @@ const registerRemoteAssets = async (assetUrls)=>{
|
|
|
11938
12130
|
}
|
|
11939
12131
|
};
|
|
11940
12132
|
|
|
11941
|
-
/******************************************************************************
|
|
11942
|
-
Copyright (c) Microsoft Corporation.
|
|
11943
|
-
|
|
11944
|
-
Permission to use, copy, modify, and/or distribute this software for any
|
|
11945
|
-
purpose with or without fee is hereby granted.
|
|
11946
|
-
|
|
11947
|
-
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
|
|
11948
|
-
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
|
11949
|
-
AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
|
|
11950
|
-
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
|
11951
|
-
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
|
11952
|
-
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
|
11953
|
-
PERFORMANCE OF THIS SOFTWARE.
|
|
11954
|
-
***************************************************************************** */
|
|
11955
|
-
|
|
11956
|
-
var __assign = function() {
|
|
11957
|
-
__assign = Object.assign || function __assign(t) {
|
|
11958
|
-
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
11959
|
-
s = arguments[i];
|
|
11960
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
|
|
11961
|
-
}
|
|
11962
|
-
return t;
|
|
11963
|
-
};
|
|
11964
|
-
return __assign.apply(this, arguments);
|
|
11965
|
-
};
|
|
11966
|
-
|
|
11967
|
-
/**
|
|
11968
|
-
* 将例如像 a.b.c 或 a[1].b 的字符串转换为路径数组
|
|
11969
|
-
*
|
|
11970
|
-
* @param string 要转换的字符串
|
|
11971
|
-
*/
|
|
11972
|
-
var keyToPath = function (string) {
|
|
11973
|
-
var result = [];
|
|
11974
|
-
if (string.charCodeAt(0) === '.'.charCodeAt(0)) {
|
|
11975
|
-
result.push('');
|
|
11976
|
-
}
|
|
11977
|
-
string.replace(new RegExp('[^.[\\]]+|\\[(?:([^"\'][^[]*)|(["\'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|$))', 'g'), function (match, expression, quote, subString) {
|
|
11978
|
-
var key = match;
|
|
11979
|
-
if (quote) {
|
|
11980
|
-
key = subString.replace(/\\(\\)?/g, '$1');
|
|
11981
|
-
}
|
|
11982
|
-
else if (expression) {
|
|
11983
|
-
key = expression.trim();
|
|
11984
|
-
}
|
|
11985
|
-
result.push(key);
|
|
11986
|
-
return '';
|
|
11987
|
-
});
|
|
11988
|
-
return result;
|
|
11989
|
-
};
|
|
11990
|
-
|
|
11991
|
-
// 方便取值的时候能够把上层的取到,但是获取的时候不会全部把所有的数据获取到。
|
|
11992
|
-
function createObject(superProps, props, properties) {
|
|
11993
|
-
if (superProps && Object.isFrozen(superProps)) {
|
|
11994
|
-
superProps = cloneObject(superProps);
|
|
11995
|
-
}
|
|
11996
|
-
var obj = superProps
|
|
11997
|
-
? Object.create(superProps, __assign(__assign({}, properties), { __super: {
|
|
11998
|
-
value: superProps,
|
|
11999
|
-
writable: false,
|
|
12000
|
-
enumerable: false
|
|
12001
|
-
} }))
|
|
12002
|
-
: Object.create(Object.prototype, properties);
|
|
12003
|
-
props &&
|
|
12004
|
-
isObject(props) &&
|
|
12005
|
-
Object.keys(props).forEach(function (key) { return (obj[key] = props[key]); });
|
|
12006
|
-
return obj;
|
|
12007
|
-
}
|
|
12008
|
-
function cloneObject(target, persistOwnProps) {
|
|
12009
|
-
if (persistOwnProps === void 0) { persistOwnProps = true; }
|
|
12010
|
-
var obj = target && target.__super
|
|
12011
|
-
? Object.create(target.__super, {
|
|
12012
|
-
__super: {
|
|
12013
|
-
value: target.__super,
|
|
12014
|
-
writable: false,
|
|
12015
|
-
enumerable: false
|
|
12016
|
-
}
|
|
12017
|
-
})
|
|
12018
|
-
: Object.create(Object.prototype);
|
|
12019
|
-
persistOwnProps &&
|
|
12020
|
-
target &&
|
|
12021
|
-
Object.keys(target).forEach(function (key) { return (obj[key] = target[key]); });
|
|
12022
|
-
return obj;
|
|
12023
|
-
}
|
|
12024
|
-
function extendObject(target, src, persistOwnProps) {
|
|
12025
|
-
if (persistOwnProps === void 0) { persistOwnProps = true; }
|
|
12026
|
-
var obj = cloneObject(target, persistOwnProps);
|
|
12027
|
-
src && Object.keys(src).forEach(function (key) { return (obj[key] = src[key]); });
|
|
12028
|
-
return obj;
|
|
12029
|
-
}
|
|
12030
|
-
function isObject(obj) {
|
|
12031
|
-
var typename = typeof obj;
|
|
12032
|
-
return (obj &&
|
|
12033
|
-
typename !== 'string' &&
|
|
12034
|
-
typename !== 'number' &&
|
|
12035
|
-
typename !== 'boolean' &&
|
|
12036
|
-
typename !== 'function' &&
|
|
12037
|
-
!Array.isArray(obj));
|
|
12038
|
-
}
|
|
12039
|
-
function setVariable(data, key, value, convertKeyToPath) {
|
|
12040
|
-
data = data || {};
|
|
12041
|
-
if (key in data) {
|
|
12042
|
-
data[key] = value;
|
|
12043
|
-
return;
|
|
12044
|
-
}
|
|
12045
|
-
var parts = convertKeyToPath !== false ? keyToPath(key) : [key];
|
|
12046
|
-
var last = parts.pop();
|
|
12047
|
-
while (parts.length) {
|
|
12048
|
-
var key_1 = parts.shift();
|
|
12049
|
-
if (isPlainObject__default["default"](data[key_1])) {
|
|
12050
|
-
data = data[key_1] = __assign({}, data[key_1]);
|
|
12051
|
-
}
|
|
12052
|
-
else if (Array.isArray(data[key_1])) {
|
|
12053
|
-
data[key_1] = data[key_1].concat();
|
|
12054
|
-
data = data[key_1];
|
|
12055
|
-
}
|
|
12056
|
-
else if (data[key_1]) {
|
|
12057
|
-
// throw new Error(`目标路径不是纯对象,不能覆盖`);
|
|
12058
|
-
// 强行转成对象
|
|
12059
|
-
data[key_1] = {};
|
|
12060
|
-
data = data[key_1];
|
|
12061
|
-
}
|
|
12062
|
-
else {
|
|
12063
|
-
data[key_1] = {};
|
|
12064
|
-
data = data[key_1];
|
|
12065
|
-
}
|
|
12066
|
-
}
|
|
12067
|
-
data[last] = value;
|
|
12068
|
-
}
|
|
12069
|
-
function deleteVariable(data, key) {
|
|
12070
|
-
if (!data) {
|
|
12071
|
-
return;
|
|
12072
|
-
}
|
|
12073
|
-
else if (data.hasOwnProperty(key)) {
|
|
12074
|
-
delete data[key];
|
|
12075
|
-
return;
|
|
12076
|
-
}
|
|
12077
|
-
var parts = keyToPath(key);
|
|
12078
|
-
var last = parts.pop();
|
|
12079
|
-
while (parts.length) {
|
|
12080
|
-
var key_2 = parts.shift();
|
|
12081
|
-
if (isPlainObject__default["default"](data[key_2])) {
|
|
12082
|
-
data = data[key_2] = __assign({}, data[key_2]);
|
|
12083
|
-
}
|
|
12084
|
-
else if (data[key_2]) {
|
|
12085
|
-
throw new Error("\u76EE\u6807\u8DEF\u5F84\u4E0D\u662F\u7EAF\u5BF9\u8C61\uFF0C\u4E0D\u80FD\u4FEE\u6539");
|
|
12086
|
-
}
|
|
12087
|
-
else {
|
|
12088
|
-
break;
|
|
12089
|
-
}
|
|
12090
|
-
}
|
|
12091
|
-
if (data && data.hasOwnProperty && data.hasOwnProperty(last)) {
|
|
12092
|
-
delete data[last];
|
|
12093
|
-
}
|
|
12094
|
-
}
|
|
12095
|
-
|
|
12096
12133
|
/*
|
|
12097
12134
|
* @Author: baozhoutao@steedos.com
|
|
12098
12135
|
* @Date: 2022-12-17 17:03:40
|