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

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-05 16:31:38
1772
1772
  */
1773
1773
 
1774
1774
  const globalTag = '__G_L_O_B_A_L__';
@@ -1818,19 +1818,33 @@ const getMoment$1 = () => {
1818
1818
  }
1819
1819
  };
1820
1820
 
1821
+ const getGlobalNowData = () => {
1822
+ let now = new Date();
1823
+ let moment = getMoment$1();
1824
+ let today = moment().utc();
1825
+ today.set("hours", 0);
1826
+ today.set("minutes", 0);
1827
+ today.set("seconds", 0);
1828
+ today.set("milliseconds", 0);
1829
+ today = today.toDate();
1830
+ let timeNow = moment();
1831
+ timeNow.set("year", 1970);
1832
+ timeNow.set("month", 0);
1833
+ timeNow.set("date", 1);
1834
+ timeNow.set("hours", timeNow.hours() + timeNow.utcOffset() / 60);
1835
+ timeNow.set("seconds", 0);
1836
+ timeNow.set("milliseconds", 0);
1837
+ timeNow = timeNow.toDate();
1838
+ return {
1839
+ now,
1840
+ today,
1841
+ timeNow
1842
+ };
1843
+ };
1844
+
1821
1845
  const parseSingleExpression = function (func, formData, dataPath, global, userSession = {}) {
1822
1846
  if (global) {
1823
- let now = new Date();
1824
- let moment = getMoment$1();
1825
- let today = moment().utc();
1826
- today.set("hours", 0);
1827
- today.set("minutes", 0);
1828
- today.set("seconds", 0);
1829
- today = today.toDate();
1830
- Object.assign(global, {
1831
- now,
1832
- today
1833
- });
1847
+ Object.assign(global, getGlobalNowData());
1834
1848
  }
1835
1849
 
1836
1850
  var error, funcBody, parent, parentPath, str;
@@ -3357,7 +3371,8 @@ async function getObjectFieldsFilterBarSchema(objectSchema, ctx) {
3357
3371
  if(isLookup){
3358
3372
  searchableFieldsStoreKey += "/lookup/" + objectName;
3359
3373
  }
3360
- let defaultSearchableFields = sessionStorage.getItem(searchableFieldsStoreKey);
3374
+ searchableFieldsStoreKey = searchableFieldsStoreKey + "/" + (data.context && data.context.userId);
3375
+ let defaultSearchableFields = localStorage.getItem(searchableFieldsStoreKey);
3361
3376
  if(defaultSearchableFields){
3362
3377
  defaultSearchableFields = defaultSearchableFields.split(",");
3363
3378
  }
@@ -3426,7 +3441,8 @@ async function getObjectFieldsFilterBarSchema(objectSchema, ctx) {
3426
3441
  if(isLookup){
3427
3442
  searchableFieldsStoreKey += "/lookup/" + objectName;
3428
3443
  }
3429
- sessionStorage.setItem(searchableFieldsStoreKey, value);
3444
+ searchableFieldsStoreKey = searchableFieldsStoreKey + "/" + (data.context && data.context.userId);
3445
+ localStorage.setItem(searchableFieldsStoreKey, value);
3430
3446
 
3431
3447
  // ===START===:当变更可搜索字段时,如果被移除的可搜索字段在本地存储中已经存入过滤条件中则应该清除本地存储中相关字段的过滤条件。
3432
3448
  const searchableFields = data.fields;
@@ -6477,10 +6493,10 @@ async function lookupToAmis(field, readonly, ctx){
6477
6493
 
6478
6494
  const refObject = await getUISchema(referenceTo.objectName);
6479
6495
 
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){
6496
+ // 优先取字段中配置的enable_enhanced_lookup,字段上没配置时,才从对象上取enable_enhanced_lookup属性
6497
+ let enableEnhancedLookup = _$1.isBoolean(field.enable_enhanced_lookup) ? field.enable_enhanced_lookup : refObject.enable_enhanced_lookup;
6498
+ // 默认使用下拉框模式显示lookup选项,只能配置了enable_enhanced_lookup才使用弹出增强模式
6499
+ if(enableEnhancedLookup == true){
6484
6500
  return await lookupToAmisPicker(field, readonly, ctx);
6485
6501
  }else if(refObject.enable_tree) {
6486
6502
  return await lookupToAmisTreeSelect(field, readonly, Object.assign({}, ctx, {
@@ -7732,8 +7748,44 @@ var config = {
7732
7748
  };
7733
7749
 
7734
7750
  async function getQuickEditSchema(field, options){
7751
+ //判断在amis3.2以上环境下,放开批量编辑
7752
+ const isAmisVersionforBatchEdit = amisRequire('amis').version[0] >= 3 && amisRequire('amis').version[2] >= 2;
7735
7753
  const quickEditId = options.objectName + "_" + field.name + "QuickEdit";//定义快速编辑的表单id,用于setvalue传值
7736
7754
  var quickEditSchema = { body: [], id: quickEditId };
7755
+ //select,avatar,image,file等组件无法行记录字段赋值,暂不支持批量编辑;
7756
+ if(field.type != 'avatar' && field.type != 'image' && field.type != 'file' && isAmisVersionforBatchEdit){
7757
+ const submitEvent = {
7758
+ submit: {
7759
+ actions: [
7760
+ {
7761
+ actionType: "custom",
7762
+ script: `
7763
+ const items = event.data.items;
7764
+ const selectedItems = event.data.selectedItems;
7765
+ if(event.data.isBatchEdit){
7766
+ selectedItems.forEach(function(selectedItem){
7767
+ items[selectedItem._index-1]._display.${field.name} = event.data._display.${field.name};
7768
+ })
7769
+ doAction({actionType: 'setValue', "args": {"value": {items}},componentId: "${options.crudId}","dataMergeMode": "override"});
7770
+ selectedItems.forEach(function(selectedItem){
7771
+ doAction({actionType: 'setValue', "args": {"value": event.data.${field.name}},componentId: "${options.objectName + "_" + field.name + "_"}" + selectedItem._index});
7772
+ })
7773
+ }else{
7774
+ items[event.data._index-1]._display.${field.name} = event.data._display.${field.name};
7775
+ doAction({actionType: 'setValue', "args": {"value": {items}},componentId: "${options.crudId}","dataMergeMode": "override"});
7776
+ doAction({actionType: 'setValue', "args": {"value": event.data.${field.name}},componentId: "${options.objectName + "_" + field.name + "_"}" + event.data._index});
7777
+ }
7778
+ `
7779
+ },
7780
+ {
7781
+ "actionType": "closeDialog"
7782
+ }
7783
+ ]
7784
+ }
7785
+ };
7786
+ quickEditSchema.onEvent = submitEvent;
7787
+ }
7788
+
7737
7789
  if (field.disabled) {
7738
7790
  quickEditSchema = false;
7739
7791
  } else {
@@ -7967,6 +8019,14 @@ async function getQuickEditSchema(field, options){
7967
8019
  }
7968
8020
 
7969
8021
  });
8022
+ if(field.type != 'avatar' && field.type != 'image' && field.type != 'file' && isAmisVersionforBatchEdit){
8023
+ quickEditSchema.body.push({
8024
+ "name": "isBatchEdit",
8025
+ "type": "checkbox",
8026
+ "option": "更新${COUNT(selectedItems)}个选定记录",
8027
+ "visibleOn": "${ARRAYSOME(selectedItems, item => item._id === _id) && COUNT(selectedItems)>1}"
8028
+ });
8029
+ }
7970
8030
  } else {
7971
8031
  quickEditSchema = false;
7972
8032
  }
@@ -8079,7 +8139,7 @@ async function getTableColumns(fields, options){
8079
8139
  else if(field.type === 'select'){
8080
8140
  const map = getSelectMap(field.options);
8081
8141
  columnItem = Object.assign({}, {
8082
- type: "mapping",
8142
+ type: "static-mapping",
8083
8143
  name: field.name,
8084
8144
  label: field.label,
8085
8145
  map: map,
@@ -8094,7 +8154,7 @@ async function getTableColumns(fields, options){
8094
8154
  const tpl = await getFieldTpl(field, options);
8095
8155
  let type = 'text';
8096
8156
  if(tpl){
8097
- type = 'tpl';
8157
+ type = 'static';
8098
8158
  }else if(field.type === 'html'){
8099
8159
  type = 'markdown';
8100
8160
  }else if(field.type === 'url'){
@@ -8135,6 +8195,7 @@ async function getTableColumns(fields, options){
8135
8195
  columnItem.quickEdit = quickEditSchema;
8136
8196
  columnItem.quickEditEnabledOn = "${is_system !== true}";
8137
8197
  }
8198
+ columnItem.id = `${options.objectName}_${field.name}_\${_index}`;
8138
8199
  columns.push(columnItem);
8139
8200
  }
8140
8201
  }
@@ -10346,7 +10407,8 @@ async function getObjectCRUD(objectSchema, fields, options){
10346
10407
  }
10347
10408
  let tableOptions = Object.assign({
10348
10409
  idFieldName: objectSchema.idFieldName, labelFieldName: labelFieldName,
10349
- permissions:objectSchema.permissions,enable_inline_edit:objectSchema.enable_inline_edit
10410
+ permissions:objectSchema.permissions,enable_inline_edit:objectSchema.enable_inline_edit,
10411
+ crudId: listSchema.id || id
10350
10412
  }, options);
10351
10413
  tableOptions.amisData = createObject(options.amisData || {}, {});
10352
10414
  const table = await getTableSchema$1(fields, tableOptions);
@@ -14483,5 +14545,5 @@ const getInstanceInfo = async ({ instanceId, box }) => {
14483
14545
  };
14484
14546
  };
14485
14547
 
14486
- export { index as Field, Router, absoluteUrl, amisRender, amisRootClick, cloneObject, conditionsToFilters, createObject, defaultsDeep, deleteVariable, execute, executeButton, extendObject, fetchAPI, filtersToConditions, getApp, getApps, getAuthToken, getAuthorization, getButton, getButtonVisible, getButtonVisibleOn$1 as getButtonVisibleOn, getButtons, getCalendarSchema, getDefaultRenderData, getEnv, getEnvs, getEvn, getField, getFileSrc, getFlowFormSchema, getFormPageInitSchema, getFormSchema, getIdsPickerSchema, getImageSrc, getInstanceInfo, getListPageInitSchema, getListSchema, getListViewButtons, getListViewColumns, getListViewFilter, getListViewItemButtons, getListViewSort, getListviewInitSchema, getLookupSapceUserTreeSchema, getNotifications, getObjectDetailButtons, getObjectDetailButtonsSchemas, getObjectDetailMoreButtons, getObjectFieldsFilterBarSchema, getObjectFieldsFilterButtonSchema, getObjectFieldsFilterFormSchema, getObjectListHeader$1 as getObjectListHeader, getObjectListHeaderFieldsFilterBar, getObjectListHeaderFirstLine, getObjectListHeaderSecordLine, getObjectListViewButtonsSchemas, getObjectRecordDetailHeader, getObjectRecordDetailRelatedListButtonsSchemas, getObjectRecordDetailRelatedListHeader, getObjectRelated, getObjectRelatedList, getObjectRelatedListButtons, getObjectRelatedListHeader, getPage, getRecord, getRecordDetailHeaderSchema, getRecordDetailRelatedListSchema, getRecordDetailSchema, getRecordPageInitSchema, getRecordPermissions, getRecordServiceSchema, getReferenceTo, getRelatedFieldValue, getRelatedListSchema, getRelatedsCount, getRootUrl, getSelectUserSchema, getSpaceUsersPickerAmisSchema, getSpaceUsersPickerSchema, getSteedosAuth, getTableSchema, getTenantId, getUISchema, getUISchemaSync, getUserId, getViewSchema, isExpression, isObject, lookupToAmis, lookupToAmisIdsPicker, lookupToAmisPicker, lookupToAmisSelect, lookupToAmisSelectUser, markReadAll, parseSingleExpression, registerRemoteAssets, registerRenders, setEnv, setEnvs, setRootUrl, setSteedosAuth, setUISchemaFunction, setVariable, standardButtonsTodo };
14548
+ export { index as Field, Router, absoluteUrl, amisRender, amisRootClick, cloneObject, conditionsToFilters, createObject, defaultsDeep, deleteVariable, execute, executeButton, extendObject, fetchAPI, filtersToConditions, getApp, getApps, getAuthToken, getAuthorization, getButton, getButtonVisible, getButtonVisibleOn$1 as getButtonVisibleOn, getButtons, getCalendarSchema, getDefaultRenderData, getEnv, getEnvs, getEvn, getField, getFileSrc, getFlowFormSchema, getFormPageInitSchema, getFormSchema, getGlobalNowData, getIdsPickerSchema, getImageSrc, getInstanceInfo, getListPageInitSchema, getListSchema, getListViewButtons, getListViewColumns, getListViewFilter, getListViewItemButtons, getListViewSort, getListviewInitSchema, getLookupSapceUserTreeSchema, getNotifications, getObjectDetailButtons, getObjectDetailButtonsSchemas, getObjectDetailMoreButtons, getObjectFieldsFilterBarSchema, getObjectFieldsFilterButtonSchema, getObjectFieldsFilterFormSchema, getObjectListHeader$1 as getObjectListHeader, getObjectListHeaderFieldsFilterBar, getObjectListHeaderFirstLine, getObjectListHeaderSecordLine, getObjectListViewButtonsSchemas, getObjectRecordDetailHeader, getObjectRecordDetailRelatedListButtonsSchemas, getObjectRecordDetailRelatedListHeader, getObjectRelated, getObjectRelatedList, getObjectRelatedListButtons, getObjectRelatedListHeader, getPage, getRecord, getRecordDetailHeaderSchema, getRecordDetailRelatedListSchema, getRecordDetailSchema, getRecordPageInitSchema, getRecordPermissions, getRecordServiceSchema, getReferenceTo, getRelatedFieldValue, getRelatedListSchema, getRelatedsCount, getRootUrl, getSelectUserSchema, getSpaceUsersPickerAmisSchema, getSpaceUsersPickerSchema, getSteedosAuth, getTableSchema, getTenantId, getUISchema, getUISchemaSync, getUserId, getViewSchema, isExpression, isObject, lookupToAmis, lookupToAmisIdsPicker, lookupToAmisPicker, lookupToAmisSelect, lookupToAmisSelectUser, markReadAll, parseSingleExpression, registerRemoteAssets, registerRenders, setEnv, setEnvs, setRootUrl, setSteedosAuth, setUISchemaFunction, setVariable, standardButtonsTodo };
14487
14549
  //# sourceMappingURL=index.esm.js.map