@steedos-widgets/sortable 1.3.12 → 1.3.14

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.
@@ -20443,6 +20443,7 @@
20443
20443
  var frontend_record_detail_tab_related$1 = "Related";
20444
20444
  var frontend_all_apps$1 = "All apps";
20445
20445
  var frontend_all_projects$1 = "All projects";
20446
+ var frontend_open_app_launcher$1 = "Open App Launcher";
20446
20447
  var frontend_application_launcher$1 = "Application launcher";
20447
20448
  var frontend_menu$1 = "Menu";
20448
20449
  var frontend_help$1 = "Help";
@@ -20528,6 +20529,7 @@
20528
20529
  frontend_record_detail_tab_related: frontend_record_detail_tab_related$1,
20529
20530
  frontend_all_apps: frontend_all_apps$1,
20530
20531
  frontend_all_projects: frontend_all_projects$1,
20532
+ frontend_open_app_launcher: frontend_open_app_launcher$1,
20531
20533
  frontend_application_launcher: frontend_application_launcher$1,
20532
20534
  frontend_menu: frontend_menu$1,
20533
20535
  frontend_help: frontend_help$1,
@@ -20615,6 +20617,7 @@
20615
20617
  var frontend_record_detail_tab_related = "相关";
20616
20618
  var frontend_all_apps = "所有应用";
20617
20619
  var frontend_all_projects = "所有项目";
20620
+ var frontend_open_app_launcher = "打开应用程序启动器";
20618
20621
  var frontend_application_launcher = "应用程序启动器";
20619
20622
  var frontend_menu = "菜单";
20620
20623
  var frontend_help = "帮助";
@@ -20701,6 +20704,7 @@
20701
20704
  frontend_record_detail_tab_related: frontend_record_detail_tab_related,
20702
20705
  frontend_all_apps: frontend_all_apps,
20703
20706
  frontend_all_projects: frontend_all_projects,
20707
+ frontend_open_app_launcher: frontend_open_app_launcher,
20704
20708
  frontend_application_launcher: frontend_application_launcher,
20705
20709
  frontend_menu: frontend_menu,
20706
20710
  frontend_help: frontend_help,
@@ -22728,7 +22732,30 @@ crudService && crudService.setData({showFieldsFilter: toShowFieldsFilter});
22728
22732
  "value": crudKeywords,
22729
22733
  "clearable": true,
22730
22734
  "clearAndSubmit": true,
22731
- "searchImediately": false
22735
+ "searchImediately": false,
22736
+ "onEvent": {
22737
+ "blur": {
22738
+ "actions": [
22739
+ {
22740
+ "actionType": "custom",
22741
+ "script": `
22742
+ try {
22743
+ const scope = event.context.scoped;
22744
+ const filterCrud = scope.parent.getComponents().find(function(n) {
22745
+ return n.props.type === "crud";
22746
+ });
22747
+ if (filterCrud && typeof filterCrud.reload === 'function') {
22748
+ const keyWords = { '${keywordsSearchBoxName}': event.data.value };
22749
+ filterCrud.reload(null, keyWords);
22750
+ }
22751
+ } catch (error) {
22752
+ console.error('An error occurred:', error);
22753
+ }
22754
+ `
22755
+ }
22756
+ ]
22757
+ }
22758
+ }
22732
22759
  }
22733
22760
  ]
22734
22761
  }
@@ -24319,8 +24346,8 @@ crudService && crudService.setData({showFieldsFilter: toShowFieldsFilter});
24319
24346
  /*
24320
24347
  * @Author: baozhoutao@steedos.com
24321
24348
  * @Date: 2022-10-28 14:15:09
24322
- * @LastEditors: liaodaxue
24323
- * @LastEditTime: 2023-10-30 17:51:54
24349
+ * @LastEditors: 孙浩林 sunhaolin@steedos.com
24350
+ * @LastEditTime: 2023-11-24 13:45:24
24324
24351
  * @Description:
24325
24352
  */
24326
24353
 
@@ -24357,7 +24384,7 @@ crudService && crudService.setData({showFieldsFilter: toShowFieldsFilter});
24357
24384
  <% let fileData = data._display.${steedosField.name}; if (fileData) { %>
24358
24385
  <% if(!Array.isArray(fileData)){ fileData = [fileData]} %>
24359
24386
  <% fileData.forEach(function(item) { %>
24360
- <a href='<%= item.url %>' target='_self' class='block'><%= item.name %></a>
24387
+ <a href='<%= item.url+"?download=1" %>' target='_self' class='block'><%= item.name %></a>
24361
24388
  <% });} %>`
24362
24389
  }
24363
24390
  }
@@ -25094,9 +25121,38 @@ crudService && crudService.setData({showFieldsFilter: toShowFieldsFilter});
25094
25121
 
25095
25122
  const amisField = await convertSFieldToAmisField(_field, false, Object.assign({}, ctx, {fieldNamePrefix: fieldNamePrefix, required: false, showSystemFields: true, inFilterForm: true}));
25096
25123
  if(amisField){
25097
- return Object.assign({}, amisField,{
25098
- submitOnChange: true
25099
- });
25124
+ const changeActionsFields = ['select', 'boolean', 'toggle', 'date', 'datetime', 'time', 'number', 'currency', 'lookup', 'master_detail'];
25125
+ const isChangeActions = changeActionsFields.indexOf(field.type) > -1;
25126
+ let additionalProps = {
25127
+ submitOnChange: false
25128
+ };
25129
+ if (isChangeActions) {
25130
+ additionalProps.submitOnChange = true;
25131
+ } else {
25132
+ additionalProps.onEvent = {
25133
+ blur: {
25134
+ actions: [
25135
+ {
25136
+ actionType: "custom",
25137
+ script: `
25138
+ try {
25139
+ const scope = event.context.scoped;
25140
+ const filterForm = scope.parent.parent.parent.getComponents().find(function(n) {
25141
+ return n.props.type === "form";
25142
+ });
25143
+ if (filterForm && typeof filterForm.handleFormSubmit === 'function') {
25144
+ filterForm.handleFormSubmit(event);
25145
+ }
25146
+ } catch (error) {
25147
+ console.error('An error occurred:', error);
25148
+ }
25149
+ `
25150
+ }
25151
+ ]
25152
+ }
25153
+ };
25154
+ }
25155
+ return Object.assign({}, amisField, additionalProps);
25100
25156
  }
25101
25157
  }
25102
25158
  }
@@ -31885,6 +31941,12 @@ crudService && crudService.setData({showFieldsFilter: toShowFieldsFilter});
31885
31941
  "type": "tpl",
31886
31942
  "tpl": "${label}",
31887
31943
  }] : _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;
31944
+ if (!props.data) {
31945
+ // 为了解决3.2 dispatchevent不生效的问题, https://github.com/baidu/amis/issues/7488
31946
+ // 如果data为undefined,dispatchEvent时第三个参数传入的current的data为undefined会报错
31947
+ props.data = {};
31948
+ }
31949
+ var MultipleContainersRef = React.useRef();
31888
31950
  value && delete (value.$$id);
31889
31951
  var _w = __read(React.useState(function () {
31890
31952
  var _a;
@@ -31909,7 +31971,7 @@ crudService && crudService.setData({showFieldsFilter: toShowFieldsFilter});
31909
31971
  value = newItems || items;
31910
31972
  return [4 /*yield*/, amisDispatchEvent('change', createObject(amisData, {
31911
31973
  value: value
31912
- }))];
31974
+ }), MultipleContainersRef.current)];
31913
31975
  case 1:
31914
31976
  rendererEvent = _a.sent();
31915
31977
  if (rendererEvent === null || rendererEvent === void 0 ? void 0 : rendererEvent.prevented) {
@@ -32006,7 +32068,7 @@ crudService && crudService.setData({showFieldsFilter: toShowFieldsFilter});
32006
32068
  recentlyMovedToNewContainer.current = false;
32007
32069
  });
32008
32070
  }, [items]);
32009
- return (React__default["default"].createElement(DndContext, { sensors: sensors, collisionDetection: collisionDetectionStrategy, measuring: {
32071
+ var multipleContainers = (React__default["default"].createElement(DndContext, __assign$1({ sensors: sensors, collisionDetection: collisionDetectionStrategy, measuring: {
32010
32072
  droppable: {
32011
32073
  strategy: MeasuringStrategy.Always,
32012
32074
  },
@@ -32132,7 +32194,7 @@ crudService && crudService.setData({showFieldsFilter: toShowFieldsFilter});
32132
32194
  setActiveId(null);
32133
32195
  // console.log('拖动结束2,更新form value')
32134
32196
  handleChange(newItems);
32135
- }, cancelDrop: cancelDrop, onDragCancel: onDragCancel, modifiers: modifiers },
32197
+ }, cancelDrop: cancelDrop, onDragCancel: onDragCancel, modifiers: modifiers }, props),
32136
32198
  React__default["default"].createElement("div", { style: {
32137
32199
  display: 'inline-grid',
32138
32200
  boxSizing: 'border-box',
@@ -32164,6 +32226,10 @@ crudService && crudService.setData({showFieldsFilter: toShowFieldsFilter});
32164
32226
  : renderSortableItemDragOverlay(activeId)
32165
32227
  : null), document.body),
32166
32228
  trashable && activeId && !containers.includes(activeId) ? (React__default["default"].createElement(Trash, { id: TRASH_ID })) : null)));
32229
+ // 为了解决3.2 dispatchevent不生效的问题, https://github.com/baidu/amis/issues/7488
32230
+ // dispatchEvent时第三个参数传入的current必须是一个带props属性的对象
32231
+ MultipleContainersRef.current = multipleContainers;
32232
+ return multipleContainers;
32167
32233
  function renderSortableItemDragOverlay(id) {
32168
32234
  var item = lodash.exports.cloneDeep(lodash.exports.keyBy(cardSource, 'id')[id]) || { id: id, label: '' + id, columnSpan: 1 };
32169
32235
  if (item.columnSpan && item.columnSpan > columns)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@steedos-widgets/sortable",
3
- "version": "1.3.12",
3
+ "version": "1.3.14",
4
4
  "main": "dist/sortable.cjs.js",
5
5
  "module": "dist/sortable.esm.js",
6
6
  "unpkg": "dist/sortable.umd.js",
@@ -45,7 +45,7 @@
45
45
  "dependencies": {
46
46
  "@dnd-kit/core": "^6.0.5",
47
47
  "@dnd-kit/sortable": "^7.0.1",
48
- "@steedos-widgets/amis-lib": "1.3.12"
48
+ "@steedos-widgets/amis-lib": "1.3.14"
49
49
  },
50
- "gitHead": "78706ed74b6eecb0096be410aed49d08c0c8aba3"
50
+ "gitHead": "dc2ef13db1c9e63ff77eb708f920b266e77d2756"
51
51
  }
@@ -213,6 +213,13 @@ export function MultipleContainers(props) {
213
213
  cardClassName = "",
214
214
  }: Props = props
215
215
 
216
+ if(!props.data){
217
+ // 为了解决3.2 dispatchevent不生效的问题, https://github.com/baidu/amis/issues/7488
218
+ // 如果data为undefined,dispatchEvent时第三个参数传入的current的data为undefined会报错
219
+ props.data = {}
220
+ }
221
+ const MultipleContainersRef: any = useRef();
222
+
216
223
  value && delete(value.$$id);
217
224
 
218
225
  const [items, setItems] = useState<Items>(
@@ -244,7 +251,8 @@ export function MultipleContainers(props) {
244
251
  'change',
245
252
  createObject(amisData, {
246
253
  value
247
- })
254
+ }),
255
+ MultipleContainersRef.current
248
256
  );
249
257
  if (rendererEvent?.prevented) {
250
258
  return;
@@ -374,7 +382,7 @@ export function MultipleContainers(props) {
374
382
  });
375
383
  }, [items]);
376
384
 
377
- return (
385
+ let multipleContainers = (
378
386
  <DndContext
379
387
  sensors={sensors}
380
388
  collisionDetection={collisionDetectionStrategy}
@@ -554,6 +562,7 @@ export function MultipleContainers(props) {
554
562
  cancelDrop={cancelDrop}
555
563
  onDragCancel={onDragCancel}
556
564
  modifiers={modifiers}
565
+ {...props}//dispatchevent需要实例中的props有amis的各项属性,因此将所有props一起传下来
557
566
  >
558
567
  <div
559
568
  style={{
@@ -654,6 +663,11 @@ export function MultipleContainers(props) {
654
663
  </DndContext>
655
664
  );
656
665
 
666
+ // 为了解决3.2 dispatchevent不生效的问题, https://github.com/baidu/amis/issues/7488
667
+ // dispatchEvent时第三个参数传入的current必须是一个带props属性的对象
668
+ MultipleContainersRef.current = multipleContainers;
669
+ return multipleContainers;
670
+
657
671
  function renderSortableItemDragOverlay(id: UniqueIdentifier) {
658
672
  const item = cloneDeep(keyBy(cardSource, 'id')[id]) || {id: id, label: '' + id, columnSpan:1}
659
673
  if (item.columnSpan && item.columnSpan > columns)