@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/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-08-29 15:04:39
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="<%=data._display.${field.name}%>">
656
- <span ><%= data._display.${field.name} === "√" ? "<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>" : data._display.${field.name} %></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": Array.isArray(amisButtonsSchema) ? amisButtonsSchema.filter(obj => obj.name !== "standard_new"):{},
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 === 'lookup'){
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-20',
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 bg-gray-100 border-solid border-b",
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 = "" } = options;
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
- const table = await getTableSchema$1(fields, Object.assign({idFieldName: objectSchema.idFieldName, labelFieldName: labelFieldName, permissions:objectSchema.permissions,enable_inline_edit:objectSchema.enable_inline_edit}, options));
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
- bodyProps,
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-slate-300 hidden',
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-slate-300 bg-gray-100 mb-4 ${className}`,
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-14 13:57:32
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
- const amisSchema = await getObjectCRUD(uiSchema, fields, {
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
- console.log('getTableSchema====>amisSchema', amisSchema);
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-slate-300 p-4",
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-slate-300 border-solid"
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-slate-300",
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