@steedos-widgets/sortable 3.6.0-beta.5 → 3.6.0-beta.7

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.
@@ -55916,6 +55916,14 @@ async function getTableSchema$1(fields, options){
55916
55916
 
55917
55917
  }
55918
55918
 
55919
+ const treeConfig = {};
55920
+
55921
+ if(options.enable_tree){
55922
+ treeConfig.expandConfig = {
55923
+ expand: 'first'
55924
+ };
55925
+ }
55926
+
55919
55927
  return {
55920
55928
  mode: "table",
55921
55929
  perPageAvailable: [5, 10, 20, 50, 100, 500],
@@ -55931,6 +55939,7 @@ async function getTableSchema$1(fields, options){
55931
55939
  labelTpl: `\${${options.labelFieldName}}`,
55932
55940
  autoFillHeight: false, // 自动高度效果不理想,先关闭
55933
55941
  columnsTogglable: false,
55942
+ ...treeConfig
55934
55943
  }
55935
55944
  }
55936
55945
 
@@ -56485,7 +56494,7 @@ async function getObjectFieldsFilterBarSchema(objectSchema, ctx) {
56485
56494
  // crud && crud.setData({__changedFilterFormValues: {}});
56486
56495
  let __changedFilterFormValuesKey = "__changedFilterFormValues";
56487
56496
  if(isLookup && __lookupField){
56488
- let lookupTag = "__" + __lookupField.name + "__" + __lookupField.reference_to;
56497
+ let lookupTag = "__lookup__" + __lookupField.name + "__" + __lookupField.reference_to;
56489
56498
  if(__lookupField.reference_to_field){
56490
56499
  lookupTag += "__" + __lookupField.reference_to_field;
56491
56500
  }
@@ -57984,7 +57993,7 @@ function getObjectHeaderQuickSearchBox(mainObject, fields, formFactor, { isLooku
57984
57993
  let __lookupField = event.data.__lookupField;
57985
57994
  let __changedFilterFormValuesKey = "__changedFilterFormValues";
57986
57995
  if(isLookup && __lookupField){
57987
- let lookupTag = "__" + __lookupField.name + "__" + __lookupField.reference_to;
57996
+ let lookupTag = "__lookup__" + __lookupField.name + "__" + __lookupField.reference_to;
57988
57997
  if(__lookupField.reference_to_field){
57989
57998
  lookupTag += "__" + __lookupField.reference_to_field;
57990
57999
  }
@@ -58296,13 +58305,13 @@ async function getObjectFilter(objectSchema, fields, options) {
58296
58305
  let onChangeScript = `
58297
58306
  let isLookup = event.data.isLookup;
58298
58307
  let __lookupField = event.data.__lookupField;
58299
- console.log("==onChangeScript=isLookup===", isLookup);
58300
58308
  const scope = event.context.scoped;
58301
58309
  // let filterFormValues = event.data;
58302
58310
  let filterForm = SteedosUI.getClosestAmisComponentByType(scope, "form");
58303
58311
  let filterFormService = SteedosUI.getClosestAmisComponentByType(filterForm.context, "service");
58304
58312
  // 使用event.data的话,并不能拿到本地存储中的过滤条件,所以需要从filterFormService中取。
58305
58313
  let filterFormValues = filterFormService.getData();
58314
+ filterFormValues = JSON.parse(JSON.stringify(filterFormValues)); //只取当层数据域中数据,去除__super层数据
58306
58315
  let crud = SteedosUI.getClosestAmisComponentByType(scope, "crud");
58307
58316
  const changedFilterFormValues = _.pickBy(filterFormValues, function(n,k){return /^__searchable__/.test(k);});;
58308
58317
  // let crudService = crud && SteedosUI.getClosestAmisComponentByType(crud.context, "service");
@@ -58311,7 +58320,7 @@ async function getObjectFilter(objectSchema, fields, options) {
58311
58320
  // crud && crud.setData({__changedFilterFormValues: changedFilterFormValues});
58312
58321
  let __changedFilterFormValuesKey = "__changedFilterFormValues";
58313
58322
  if(isLookup && __lookupField){
58314
- let lookupTag = "__" + __lookupField.name + "__" + __lookupField.reference_to;
58323
+ let lookupTag = "__lookup__" + __lookupField.name + "__" + __lookupField.reference_to;
58315
58324
  if(__lookupField.reference_to_field){
58316
58325
  lookupTag += "__" + __lookupField.reference_to_field;
58317
58326
  }
@@ -58924,6 +58933,58 @@ function getReferenceToSync(field) {
58924
58933
  }
58925
58934
 
58926
58935
  function getLookupSapceUserTreeSchema(isMobile){
58936
+ let apiAdaptor = `
58937
+ // console.log("===getLookupSapceUserTreeSchema===", JSON.stringify(payload));
58938
+ const records = payload.data.options;
58939
+ let isTreeOptionsComputed = false;
58940
+ if(records.length === 1 && records[0].children){
58941
+ isTreeOptionsComputed = true;
58942
+ }
58943
+ if(isTreeOptionsComputed){
58944
+ return payload;
58945
+ }
58946
+ const treeRecords = [];
58947
+ const getChildren = (records, childrenIds) => {
58948
+ if (!childrenIds) {
58949
+ return;
58950
+ }
58951
+ const children = _.filter(records, (record) => {
58952
+ return _.includes(childrenIds, record.value)
58953
+ });
58954
+ _.each(children, (item) => {
58955
+ if (item.children) {
58956
+ item.children = getChildren(records, item.children)
58957
+ }
58958
+ })
58959
+ return children;
58960
+ }
58961
+
58962
+ const getRoot = (records) => {
58963
+ for (var i = 0; i < records.length; i++) {
58964
+ records[i].noParent = 0;
58965
+ if (!!records[i].parent) {
58966
+ biaozhi = 1
58967
+ for (var j = 0; j < records.length; j++) {
58968
+ if (records[i].parent == records[j].value)
58969
+ biaozhi = 0;
58970
+ }
58971
+ if (biaozhi == 1) records[i].noParent = 1;
58972
+ } else records[i].noParent = 1;
58973
+ }
58974
+ }
58975
+ getRoot(records);
58976
+ console.log(records)
58977
+
58978
+ _.each(records, (record) => {
58979
+ if (record.noParent == 1) {
58980
+ treeRecords.push(Object.assign({}, record, { children: getChildren(records, record.children) }));
58981
+ }
58982
+ });
58983
+ console.log(treeRecords)
58984
+
58985
+ payload.data.options = treeRecords;
58986
+ return payload;
58987
+ `;
58927
58988
  const treeSchema = {
58928
58989
  "type": "input-tree",
58929
58990
  "className":"steedos-select-user-tree",
@@ -58934,8 +58995,7 @@ function getLookupSapceUserTreeSchema(isMobile){
58934
58995
  "headers": {
58935
58996
  "Authorization": "Bearer ${context.tenantId},${context.authToken}"
58936
58997
  },
58937
- "adaptor": "if (payload.data.treeCache == true) {\n return payload;\n }\n const records = payload.data.options;\n const treeRecords = [];\n const getChildren = (records, childrenIds) => {\n if (!childrenIds) {\n return;\n }\n const children = _.filter(records, (record) => {\n return _.includes(childrenIds, record.value)\n });\n _.each(children, (item) => {\n if (item.children) {\n item.children = getChildren(records, item.children)\n }\n })\n return children;\n }\n\n const getRoot = (records) => {\n for (var i = 0; i < records.length; i++){\n records[i].noParent = 0;\n if (!!records[i].parent) {\n biaozhi = 1\n for (var j = 0; j < records.length; j++){\n if (records[i].parent == records[j].value)\n biaozhi = 0;\n }\n if (biaozhi == 1) records[i].noParent = 1;\n } else records[i].noParent = 1;\n }\n }\n getRoot(records);\n console.log(records)\n\n _.each(records, (record) => {\n if (record.noParent ==1) {\n treeRecords.push(Object.assign({}, record, { children: getChildren(records, record.children) }));\n }\n });\n console.log(treeRecords)\n\n payload.data.options = treeRecords;\n payload.data.treeCache = true;\n return payload;\n ",
58938
- "requestAdaptor": "\n ",
58998
+ "adaptor": apiAdaptor,
58939
58999
  "data": {
58940
59000
  "query": "{options:organizations(filters:[\"hidden\", \"!=\", true],sort:\"sort_no desc\"){value:_id label:name,parent,children}}"
58941
59001
  },
@@ -59139,7 +59199,7 @@ async function lookupToAmisPicker(field, readonly, ctx){
59139
59199
  let __changedFilterFormValuesKey = "__changedFilterFormValues";
59140
59200
  let __lookupField = api.data.$self.__lookupField;
59141
59201
  if(__lookupField){
59142
- let lookupTag = "__" + __lookupField.name + "__" + __lookupField.reference_to;
59202
+ let lookupTag = "__lookup__" + __lookupField.name + "__" + __lookupField.reference_to;
59143
59203
  if(__lookupField.reference_to_field){
59144
59204
  lookupTag += "__" + __lookupField.reference_to_field;
59145
59205
  }
@@ -59291,14 +59351,6 @@ async function lookupToAmisPicker(field, readonly, ctx){
59291
59351
  }
59292
59352
  });
59293
59353
  payload.data.rows = treeRecords;
59294
- try{
59295
- setTimeout(() => {
59296
- $('.amis-dialog-widget.antd-Modal .antd-Table-content .antd-Table-table thead .antd-Table-expandBtn')[0]?.click();
59297
- }, 600);
59298
- }
59299
- catch(ex){
59300
- console.error("tree数据格式展开异常:", ex);
59301
- }
59302
59354
  }
59303
59355
  return payload;
59304
59356
  `;
@@ -59325,6 +59377,7 @@ async function lookupToAmisPicker(field, readonly, ctx){
59325
59377
  labelFieldName,
59326
59378
  top: top,
59327
59379
  isLookup: true,
59380
+ enable_tree: refObjectConfig.enable_tree,
59328
59381
  ...ctx
59329
59382
  });
59330
59383
 
@@ -59736,10 +59789,11 @@ async function lookupToAmis(field, readonly, ctx){
59736
59789
  let enableEnhancedLookup = lodash.exports.isBoolean(field.enable_enhanced_lookup) ? field.enable_enhanced_lookup : refObject.enable_enhanced_lookup;
59737
59790
  let amisVersion = getComparableAmisVersion();
59738
59791
  if(amisVersion >= 3.6){
59739
- // amis 3.6.3单选的树picker有严重bug(https://github.com/baidu/amis/issues/9279),先强制使用下拉方式显示
59740
- // amis 3.6.3多选的树会自动把下层节点,及下下层等所有子节点自动选中,跟amis 3.2不一样,而且目前没有开关,这不适合目前的业务场景,也先强制使用下拉方式显示
59741
- if(enableEnhancedLookup && refObject.enable_tree){
59742
- enableEnhancedLookup = false;
59792
+ // amis 3.6.3单选和多选的树picker都有bug(https://github.com/baidu/amis/issues/9279,https://github.com/baidu/amis/issues/9295),我们改amis源码修正了
59793
+ // amis 3.6.3多选的下拉树组件有bug,多选树字段的选中值在编辑模式展开树时不会自动勾选树里面的节点,而是始终勾选显示在最外面的选中值选项(即defaultValueOptions),amis 3.2没有这个问题
59794
+ // 这里强制禁用多选下拉树,统一改为弹出树,如果以后需要下拉树功能,可以把下拉树组件改为一次性加载所有树节点数据模式来跳过这个问题
59795
+ if(!enableEnhancedLookup && refObject.enable_tree && field.multiple){
59796
+ enableEnhancedLookup = true;
59743
59797
  }
59744
59798
  }
59745
59799
  // 默认使用下拉框模式显示lookup选项,只能配置了enable_enhanced_lookup才使用弹出增强模式