@steedos-widgets/amis-lib 1.3.4-beta.18 → 1.3.4-beta.19

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.esm.js CHANGED
@@ -1768,7 +1768,7 @@ async function getSelectUserSchema(field, readonly, ctx) {
1768
1768
  * @Author: 殷亮辉 yinlianghui@hotoa.com
1769
1769
  * @Date: 2023-03-22 09:31:21
1770
1770
  * @LastEditors: 殷亮辉 yinlianghui@hotoa.com
1771
- * @LastEditTime: 2023-10-25 17:40:14
1771
+ * @LastEditTime: 2023-11-03 17:27:37
1772
1772
  */
1773
1773
 
1774
1774
  const globalTag = '__G_L_O_B_A_L__';
@@ -1826,10 +1826,20 @@ const parseSingleExpression = function (func, formData, dataPath, global, userSe
1826
1826
  today.set("hours", 0);
1827
1827
  today.set("minutes", 0);
1828
1828
  today.set("seconds", 0);
1829
+ today.set("milliseconds", 0);
1829
1830
  today = today.toDate();
1831
+ let timeNow = moment();
1832
+ timeNow.set("year", 1970);
1833
+ timeNow.set("month", 0);
1834
+ timeNow.set("date", 1);
1835
+ timeNow.set("hours", timeNow.hours() + timeNow.utcOffset() / 60);
1836
+ timeNow.set("seconds", 0);
1837
+ timeNow.set("milliseconds", 0);
1838
+ timeNow = timeNow.toDate();
1830
1839
  Object.assign(global, {
1831
- now,
1832
- today
1840
+ now,
1841
+ today,
1842
+ timeNow
1833
1843
  });
1834
1844
  }
1835
1845
 
@@ -6477,10 +6487,10 @@ async function lookupToAmis(field, readonly, ctx){
6477
6487
 
6478
6488
  const refObject = await getUISchema(referenceTo.objectName);
6479
6489
 
6480
- // 此处不参考 steedos 的 enable_enhanced_lookup 规则. 如果默认是开启弹出选择,用户选择过程操作太繁琐, 所以默认是关闭弹出选择.
6481
- // 由于amis picker 目前不支持联动, 配置了depend_on时, 使用使用select ,以支持联动
6482
- // TODO: 确认 amis picker 支持联动时, 清理field.depend_on判断
6483
- if(refObject.enable_enhanced_lookup == true){
6490
+ // 优先取字段中配置的enable_enhanced_lookup,字段上没配置时,才从对象上取enable_enhanced_lookup属性
6491
+ let enableEnhancedLookup = _$1.isBoolean(field.enable_enhanced_lookup) ? field.enable_enhanced_lookup : refObject.enable_enhanced_lookup;
6492
+ // 默认使用下拉框模式显示lookup选项,只能配置了enable_enhanced_lookup才使用弹出增强模式
6493
+ if(enableEnhancedLookup == true){
6484
6494
  return await lookupToAmisPicker(field, readonly, ctx);
6485
6495
  }else if(refObject.enable_tree) {
6486
6496
  return await lookupToAmisTreeSelect(field, readonly, Object.assign({}, ctx, {
@@ -7732,8 +7742,44 @@ var config = {
7732
7742
  };
7733
7743
 
7734
7744
  async function getQuickEditSchema(field, options){
7745
+ //判断在amis3.2以上环境下,放开批量编辑
7746
+ const isAmisVersionforBatchEdit = amisRequire('amis').version[0] >= 3 && amisRequire('amis').version[2] >= 2;
7735
7747
  const quickEditId = options.objectName + "_" + field.name + "QuickEdit";//定义快速编辑的表单id,用于setvalue传值
7736
7748
  var quickEditSchema = { body: [], id: quickEditId };
7749
+ //select,avatar,image,file等组件无法行记录字段赋值,暂不支持批量编辑;
7750
+ if(field.type != 'avatar' && field.type != 'image' && field.type != 'file' && isAmisVersionforBatchEdit){
7751
+ const submitEvent = {
7752
+ submit: {
7753
+ actions: [
7754
+ {
7755
+ actionType: "custom",
7756
+ script: `
7757
+ const items = event.data.items;
7758
+ const selectedItems = event.data.selectedItems;
7759
+ if(event.data.isBatchEdit){
7760
+ selectedItems.forEach(function(selectedItem){
7761
+ items[selectedItem._index-1]._display.${field.name} = event.data._display.${field.name};
7762
+ })
7763
+ doAction({actionType: 'setValue', "args": {"value": {items}},componentId: "${options.crudId}","dataMergeMode": "override"});
7764
+ selectedItems.forEach(function(selectedItem){
7765
+ doAction({actionType: 'setValue', "args": {"value": event.data.${field.name}},componentId: "${options.objectName + "_" + field.name + "_"}" + selectedItem._index});
7766
+ })
7767
+ }else{
7768
+ items[event.data._index-1]._display.${field.name} = event.data._display.${field.name};
7769
+ doAction({actionType: 'setValue', "args": {"value": {items}},componentId: "${options.crudId}","dataMergeMode": "override"});
7770
+ doAction({actionType: 'setValue', "args": {"value": event.data.${field.name}},componentId: "${options.objectName + "_" + field.name + "_"}" + event.data._index});
7771
+ }
7772
+ `
7773
+ },
7774
+ {
7775
+ "actionType": "closeDialog"
7776
+ }
7777
+ ]
7778
+ }
7779
+ };
7780
+ quickEditSchema.onEvent = submitEvent;
7781
+ }
7782
+
7737
7783
  if (field.disabled) {
7738
7784
  quickEditSchema = false;
7739
7785
  } else {
@@ -7967,6 +8013,14 @@ async function getQuickEditSchema(field, options){
7967
8013
  }
7968
8014
 
7969
8015
  });
8016
+ if(field.type != 'avatar' && field.type != 'image' && field.type != 'file' && isAmisVersionforBatchEdit){
8017
+ quickEditSchema.body.push({
8018
+ "name": "isBatchEdit",
8019
+ "type": "checkbox",
8020
+ "option": "更新${COUNT(selectedItems)}个选定记录",
8021
+ "visibleOn": "${ARRAYSOME(selectedItems, item => item._id === _id) && COUNT(selectedItems)>1}"
8022
+ });
8023
+ }
7970
8024
  } else {
7971
8025
  quickEditSchema = false;
7972
8026
  }
@@ -8079,7 +8133,7 @@ async function getTableColumns(fields, options){
8079
8133
  else if(field.type === 'select'){
8080
8134
  const map = getSelectMap(field.options);
8081
8135
  columnItem = Object.assign({}, {
8082
- type: "mapping",
8136
+ type: "static-mapping",
8083
8137
  name: field.name,
8084
8138
  label: field.label,
8085
8139
  map: map,
@@ -8094,7 +8148,7 @@ async function getTableColumns(fields, options){
8094
8148
  const tpl = await getFieldTpl(field, options);
8095
8149
  let type = 'text';
8096
8150
  if(tpl){
8097
- type = 'tpl';
8151
+ type = 'static';
8098
8152
  }else if(field.type === 'html'){
8099
8153
  type = 'markdown';
8100
8154
  }else if(field.type === 'url'){
@@ -8135,6 +8189,7 @@ async function getTableColumns(fields, options){
8135
8189
  columnItem.quickEdit = quickEditSchema;
8136
8190
  columnItem.quickEditEnabledOn = "${is_system !== true}";
8137
8191
  }
8192
+ columnItem.id = `${options.objectName}_${field.name}_\${_index}`;
8138
8193
  columns.push(columnItem);
8139
8194
  }
8140
8195
  }
@@ -10346,7 +10401,8 @@ async function getObjectCRUD(objectSchema, fields, options){
10346
10401
  }
10347
10402
  let tableOptions = Object.assign({
10348
10403
  idFieldName: objectSchema.idFieldName, labelFieldName: labelFieldName,
10349
- permissions:objectSchema.permissions,enable_inline_edit:objectSchema.enable_inline_edit
10404
+ permissions:objectSchema.permissions,enable_inline_edit:objectSchema.enable_inline_edit,
10405
+ crudId: listSchema.id || id
10350
10406
  }, options);
10351
10407
  tableOptions.amisData = createObject(options.amisData || {}, {});
10352
10408
  const table = await getTableSchema$1(fields, tableOptions);