@steedos-widgets/sortable 1.3.4-beta.16 → 1.3.4-beta.18

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/assets.json CHANGED
@@ -3,8 +3,8 @@
3
3
  {
4
4
  "package": "@steedos-widgets/sortable",
5
5
  "urls": [
6
- "https://unpkg.com/@steedos-widgets/sortable@1.3.4-beta.16/dist/sortable.umd.js",
7
- "https://unpkg.com/@steedos-widgets/sortable@1.3.4-beta.16/dist/sortable.umd.css"
6
+ "https://unpkg.com/@steedos-widgets/sortable@1.3.4-beta.18/dist/sortable.umd.js",
7
+ "https://unpkg.com/@steedos-widgets/sortable@1.3.4-beta.18/dist/sortable.umd.css"
8
8
  ],
9
9
  "library": "BuilderSortable"
10
10
  }
@@ -15,10 +15,10 @@
15
15
  "npm": {
16
16
  "package": "@steedos-widgets/sortable"
17
17
  },
18
- "url": "https://unpkg.com/@steedos-widgets/sortable@1.3.4-beta.16/dist/meta.js",
18
+ "url": "https://unpkg.com/@steedos-widgets/sortable@1.3.4-beta.18/dist/meta.js",
19
19
  "urls": {
20
- "default": "https://unpkg.com/@steedos-widgets/sortable@1.3.4-beta.16/dist/meta.js",
21
- "design": "https://unpkg.com/@steedos-widgets/sortable@1.3.4-beta.16/dist/meta.js"
20
+ "default": "https://unpkg.com/@steedos-widgets/sortable@1.3.4-beta.18/dist/meta.js",
21
+ "design": "https://unpkg.com/@steedos-widgets/sortable@1.3.4-beta.18/dist/meta.js"
22
22
  }
23
23
  }
24
24
  ]
@@ -55792,7 +55792,8 @@ const getCopyListviewButtonSchema = ()=>{
55792
55792
  "&": "${list_view}",
55793
55793
  "name":"",
55794
55794
  "label": instance.t('frontend_listview_control_clone_defaultData_label_start') + " ${list_view.label} " + instance.t('frontend_listview_control_clone_defaultData_label_end'),
55795
- "shared":false
55795
+ "shared":false,
55796
+ "object_name": "${targetObjectName}",
55796
55797
  },
55797
55798
  "fieldsExtend": fieldsExtend$3(),
55798
55799
  "fields": fields(),
@@ -57500,7 +57501,9 @@ async function lookupToAmisPicker(field, readonly, ctx){
57500
57501
  pickerSchema.headerToolbar = getObjectHeaderToolbar(refObjectConfig, fieldsArr, ctx.formFactor, { headerToolbarItems, isLookup: true, keywordsSearchBoxName });
57501
57502
  const isAllowCreate = refObjectConfig.permissions.allowCreate;
57502
57503
  const isCreate = lodash.exports.isBoolean(field.create) ? field.create : true;
57503
- if (isAllowCreate && isCreate) {
57504
+ // lookup字段配置过滤条件就强制不显示新建按钮
57505
+ let isHasFilters = (field.filters || field._filtersFunction) ? true : false;
57506
+ if (isAllowCreate && isCreate && !isHasFilters) {
57504
57507
  const new_button = await getSchema$5(refObjectConfig, { appId: ctx.appId, objectName: refObjectConfig.name, formFactor: ctx.formFactor });
57505
57508
  new_button.align = "right";
57506
57509
  // 保持快速搜索放在最左侧,新建按钮往里插,而不是push到最后
@@ -57877,7 +57880,7 @@ async function lookupToAmis(field, readonly, ctx){
57877
57880
  // 此处不参考 steedos 的 enable_enhanced_lookup 规则. 如果默认是开启弹出选择,用户选择过程操作太繁琐, 所以默认是关闭弹出选择.
57878
57881
  // 由于amis picker 目前不支持联动, 配置了depend_on时, 使用使用select ,以支持联动
57879
57882
  // TODO: 确认 amis picker 支持联动时, 清理field.depend_on判断
57880
- if(refObject.enable_enhanced_lookup == true && lodash.exports.isEmpty(field.depend_on)){
57883
+ if(refObject.enable_enhanced_lookup == true){
57881
57884
  return await lookupToAmisPicker(field, readonly, ctx);
57882
57885
  }else if(refObject.enable_tree) {
57883
57886
  return await lookupToAmisTreeSelect(field, readonly, Object.assign({}, ctx, {
@@ -58190,8 +58193,8 @@ function getAmisStaticFieldType(type, readonly, options){
58190
58193
  /*
58191
58194
  * @Author: baozhoutao@steedos.com
58192
58195
  * @Date: 2022-10-28 14:15:09
58193
- * @LastEditors: baozhoutao@steedos.com
58194
- * @LastEditTime: 2022-11-02 18:06:16
58196
+ * @LastEditors: liaodaxue
58197
+ * @LastEditTime: 2023-10-30 17:51:54
58195
58198
  * @Description:
58196
58199
  */
58197
58200
 
@@ -58242,11 +58245,26 @@ const getAmisFileEditSchema = (steedosField)=>{
58242
58245
  useChunk: false, // 关闭分块上传
58243
58246
  receiver: {
58244
58247
  method: "post",
58248
+ dataType: "form-data",
58245
58249
  url: `\${context.rootUrl}/s3/${tableName}`,
58246
- data: {
58247
- $: "$$",
58248
- context: `\${context}`,
58249
- },
58250
+ requestAdaptor: `
58251
+ const { _master, global,context } = api.body;
58252
+ // const { recordId, objectName } = _master;
58253
+ const { spaceId, userId, user } = global;
58254
+ /*
58255
+ record_id: recordId,
58256
+ parent: recordId,
58257
+ object_name: objectName,
58258
+ owner_name: user.name,
58259
+ space: spaceId,
58260
+ owner: userId
58261
+ */
58262
+ // 参考platform 2.2版本,附件字段保存时cfs.files.filerecord、cfs.images.filerecord表中的metadata下只保存space、owner两个属性值。
58263
+ api.data.append('space', spaceId);
58264
+ api.data.append('owner', userId);
58265
+
58266
+ return api;
58267
+ `,
58250
58268
  adaptor: `
58251
58269
  const { context } = api.body;
58252
58270
  var rootUrl = context.rootUrl + "/api/files/${tableName}/";
@@ -59288,7 +59306,7 @@ async function getTableColumns(fields, options){
59288
59306
  {
59289
59307
  "args": {
59290
59308
  "api": {
59291
- "url": "${context.rootUrl}/api/files/files/${versions[0]}?download=true",
59309
+ "url": "${(versions[0] && versions[0].url) ? versions[0].url+'?download=true' : context.rootUrl+'/api/files/files/'+versions[0]+'?download=true'}",
59292
59310
  "method": "get",
59293
59311
  "headers": {
59294
59312
  "Authorization": "Bearer ${context.tenantId},${context.authToken}"
@@ -59768,6 +59786,7 @@ async function getTableSchema$1(fields, options){
59768
59786
  }
59769
59787
  return {
59770
59788
  mode: "cards",
59789
+ perPageAvailable: [5, 10, 20, 50, 100, 500],
59771
59790
  name: "thelist",
59772
59791
  headerToolbarClassName: "py-2 px-2 border-gray-300 border-solid border-b",
59773
59792
  className: "",
@@ -59790,6 +59809,7 @@ async function getTableSchema$1(fields, options){
59790
59809
 
59791
59810
  return {
59792
59811
  mode: "table",
59812
+ perPageAvailable: [5, 10, 20, 50, 100, 500],
59793
59813
  name: "thelist",
59794
59814
  headerToolbarClassName: "py-2 px-2 border-gray-300 border-solid border-b",
59795
59815
  className: "",
@@ -65318,7 +65338,7 @@ function MultipleContainers(props) {
65318
65338
  "type": "tpl",
65319
65339
  "tpl": "${label}",
65320
65340
  }] : _r, _s = props.boardFooter, boardFooter = _s === void 0 ? [] : _s, _t = props.wrapperClassName, wrapperClassName = _t === void 0 ? "gap-2" : _t, _u = props.boardClassName, boardClassName = _u === void 0 ? "border rounded" : _u, _v = props.cardClassName, cardClassName = _v === void 0 ? "" : _v;
65321
- // defaultValue && delete(defaultValue.$$id);
65341
+ value && delete (value.$$id);
65322
65342
  var _w = __read(react.exports.useState(function () {
65323
65343
  var _a;
65324
65344
  return (_a = value) !== null && _a !== void 0 ? _a : {
@@ -65328,14 +65348,18 @@ function MultipleContainers(props) {
65328
65348
  };
65329
65349
  }), 2), items = _w[0], setItems = _w[1];
65330
65350
  var _x = __read(react.exports.useState(Object.keys(items)), 2), containers = _x[0], setContainers = _x[1];
65331
- var handleChange = function () { return __awaiter(_this, void 0, void 0, function () {
65351
+ react.exports.useEffect(function () {
65352
+ setItems(value);
65353
+ setContainers(Object.keys(value));
65354
+ }, [value]);
65355
+ var handleChange = function (newItems) { return __awaiter(_this, void 0, void 0, function () {
65332
65356
  var value, rendererEvent;
65333
65357
  return __generator(this, function (_a) {
65334
65358
  switch (_a.label) {
65335
65359
  case 0:
65336
65360
  if (!amisDispatchEvent || !amisOnChange)
65337
65361
  return [2 /*return*/];
65338
- value = items;
65362
+ value = newItems || items;
65339
65363
  return [4 /*yield*/, amisDispatchEvent('change', createObject(amisData, {
65340
65364
  value: value
65341
65365
  }))];
@@ -65344,7 +65368,7 @@ function MultipleContainers(props) {
65344
65368
  if (rendererEvent === null || rendererEvent === void 0 ? void 0 : rendererEvent.prevented) {
65345
65369
  return [2 /*return*/];
65346
65370
  }
65347
- setTimeout(function () { return amisOnChange(value); }, 1000);
65371
+ setTimeout(function () { return amisOnChange(value); }, 500);
65348
65372
  return [2 /*return*/];
65349
65373
  }
65350
65374
  });
@@ -65447,6 +65471,7 @@ function MultipleContainers(props) {
65447
65471
  var active = _a.active, over = _a.over;
65448
65472
  var overId = over === null || over === void 0 ? void 0 : over.id;
65449
65473
  if (overId == null || overId === TRASH_ID || active.id in items) {
65474
+ // 拖动的是分组则跳过后面的逻辑
65450
65475
  return;
65451
65476
  }
65452
65477
  var overContainer = findContainer(overId);
@@ -65522,19 +65547,44 @@ function MultipleContainers(props) {
65522
65547
  return;
65523
65548
  }
65524
65549
  var overContainer = findContainer(overId);
65550
+ var newItems = items;
65525
65551
  if (overContainer) {
65526
- var activeIndex_1 = items[activeContainer].indexOf(active.id);
65527
- var overIndex_1 = items[overContainer].indexOf(overId);
65528
- if (activeIndex_1 !== overIndex_1) {
65529
- setItems(function (items) {
65530
- var _a;
65531
- return (__assign$1(__assign$1({}, items), (_a = {}, _a[overContainer] = arrayMove(items[overContainer], activeIndex_1, overIndex_1), _a)));
65532
- });
65552
+ if (activeContainer !== overContainer) {
65553
+ // 拖动变更分组之间的顺序时,activeContainer overContainer 值不相等
65554
+ setTimeout(function () {
65555
+ var sortedGroups = over.data.current.sortable.items; //不加setTimeout的话,这里拿到的会是变更前的数据
65556
+ newItems = {};
65557
+ sortedGroups.forEach(function (groupKey) {
65558
+ newItems[groupKey] = items[groupKey];
65559
+ });
65560
+ delete newItems[TRASH_ID];
65561
+ delete newItems[PLACEHOLDER_ID];
65562
+ if (lodash.exports.keys(items).join(",") !== lodash.exports.keys(newItems).join(",")) {
65563
+ // 只有顺序发生变化时才触发change事件
65564
+ setItems(newItems);
65565
+ // console.log('拖动结束2,更新form value')
65566
+ handleChange(newItems);
65567
+ }
65568
+ setActiveId(null);
65569
+ }, 500);
65570
+ return;
65571
+ }
65572
+ else {
65573
+ // 同一个分组中字段顺序变更以及把一个字段从某个分组拖动到另一个分组内时,activeContainer 与 overContainer 值相等
65574
+ var activeIndex_1 = items[activeContainer].indexOf(active.id);
65575
+ var overIndex_1 = items[overContainer].indexOf(overId);
65576
+ if (activeIndex_1 !== overIndex_1) {
65577
+ setItems(function (items) {
65578
+ var _a;
65579
+ newItems = __assign$1(__assign$1({}, items), (_a = {}, _a[overContainer] = arrayMove(items[overContainer], activeIndex_1, overIndex_1), _a));
65580
+ return newItems;
65581
+ });
65582
+ }
65533
65583
  }
65534
65584
  }
65535
65585
  setActiveId(null);
65536
65586
  // console.log('拖动结束2,更新form value')
65537
- handleChange();
65587
+ handleChange(newItems);
65538
65588
  }, cancelDrop: cancelDrop, onDragCancel: onDragCancel, modifiers: modifiers },
65539
65589
  React.createElement("div", { style: {
65540
65590
  display: 'inline-grid',