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

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.
@@ -23118,6 +23118,7 @@ crudService && crudService.setData({showFieldsFilter: toShowFieldsFilter});
23118
23118
  }
23119
23119
 
23120
23120
  function getObjectFooterToolbar(mainObject, formFactor, options) {
23121
+ // crud card模式与table模式两种情况下showPageInput默认值不一样,所以需要显式设置为false
23121
23122
  if (formFactor === 'SMALL') {
23122
23123
  // return [
23123
23124
  // "load-more",
@@ -23127,15 +23128,17 @@ crudService && crudService.setData({showFieldsFilter: toShowFieldsFilter});
23127
23128
  "switch-per-page",
23128
23129
  {
23129
23130
  "type": "pagination",
23130
- "maxButtons": 5
23131
+ "maxButtons": 5,
23132
+ "showPageInput": false
23131
23133
  }
23132
23134
  ]
23133
23135
  }else {
23134
23136
  return [
23135
- "statistics",
23137
+ // "statistics",
23136
23138
  {
23137
23139
  "type": "pagination",
23138
- "maxButtons": 5
23140
+ "maxButtons": 5,
23141
+ "showPageInput": false
23139
23142
  }
23140
23143
  ]
23141
23144
  }
@@ -23144,7 +23147,11 @@ crudService && crudService.setData({showFieldsFilter: toShowFieldsFilter});
23144
23147
  if(options && options.isRelated){
23145
23148
  return [
23146
23149
  "statistics",
23147
- "pagination"
23150
+ {
23151
+ "type": "pagination",
23152
+ "maxButtons": 10,
23153
+ "showPageInput": false
23154
+ }
23148
23155
  ]
23149
23156
 
23150
23157
  }
@@ -23152,7 +23159,11 @@ crudService && crudService.setData({showFieldsFilter: toShowFieldsFilter});
23152
23159
  return [
23153
23160
  "switch-per-page",
23154
23161
  "statistics",
23155
- "pagination"
23162
+ {
23163
+ "type": "pagination",
23164
+ "maxButtons": 10,
23165
+ "showPageInput": false
23166
+ }
23156
23167
  ]
23157
23168
  }
23158
23169
  }
@@ -24035,15 +24046,17 @@ crudService && crudService.setData({showFieldsFilter: toShowFieldsFilter});
24035
24046
  var optionsFilters = [["${valueFieldKey}", optionsFiltersOp, []]];
24036
24047
  if (defaultValue && !api.data.$term) {
24037
24048
  const defaultValueOptionsQueryData = ${JSON.stringify(defaultValueOptionsQueryData)};
24038
- const defaultValueOptionsQuery = defaultValueOptionsQueryData.query.replace(/^{/,"").replace(/}$/,"");
24049
+ const defaultValueOptionsQuery = defaultValueOptionsQueryData?.query?.replace(/^{/,"").replace(/}$/,"");
24039
24050
  // 字段值单独请求,没值的时候在请求中返回空
24040
24051
  optionsFilters = [["${valueFieldKey}", optionsFiltersOp, defaultValue]];
24041
24052
  if(filters.length > 0){
24042
24053
  optionsFilters = [filters, optionsFilters];
24043
24054
  }
24044
- api.data.query = "{"+api.data.query.replace(/^{/,"").replace(/}$/,"")+","+defaultValueOptionsQuery+"}";
24045
- api.data.query = api.data.query.replace(/{__options_filters}/g, JSON.stringify(optionsFilters))
24055
+ if(defaultValueOptionsQuery){
24056
+ api.data.query = "{"+api.data.query.replace(/^{/,"").replace(/}$/,"")+","+defaultValueOptionsQuery+"}";
24057
+ }
24046
24058
  }
24059
+ api.data.query = api.data.query.replace(/{__options_filters}/g, JSON.stringify(optionsFilters));
24047
24060
  return api;
24048
24061
  `;
24049
24062
  referenceTo ? referenceTo.labelField.name : '';
@@ -24868,7 +24881,20 @@ crudService && crudService.setData({showFieldsFilter: toShowFieldsFilter});
24868
24881
  type: getAmisStaticFieldType('number', readonly),
24869
24882
  min: field.min,
24870
24883
  max: field.max,
24871
- precision: field.scale
24884
+ precision: field.scale,
24885
+ suffix: "%",
24886
+ pipeIn: (value, data) => {
24887
+ if(value){
24888
+ return value*100;
24889
+ }
24890
+ return value;
24891
+ },
24892
+ pipeOut: (value, oldValue, data) => {
24893
+ if(value){
24894
+ return value/100;
24895
+ }
24896
+ return value;
24897
+ },
24872
24898
  };
24873
24899
  }
24874
24900
  break;
@@ -25347,7 +25373,7 @@ crudService && crudService.setData({showFieldsFilter: toShowFieldsFilter});
25347
25373
  break;
25348
25374
  case "percent":
25349
25375
  TempDisplayField = `
25350
- _display["${field.name}"] = (event.data.value * 100).toFixed(${field.scale}) + '%';
25376
+ _display["${field.name}"] = event.data.value.toFixed(${field.scale}) + '%';
25351
25377
  `;
25352
25378
  quickEditSchema.body[0].onEvent["change"] = quickEditOnEvent(TempDisplayField);
25353
25379
  break;
@@ -25978,23 +26004,86 @@ crudService && crudService.setData({showFieldsFilter: toShowFieldsFilter});
25978
26004
  }
25979
26005
  }
25980
26006
 
26007
+ async function getDefaultCrudCard(columns, options) {
26008
+ let labelFieldName = options?.labelFieldName || "name";
26009
+ let titleColumn, bodyColumns = [];
26010
+ columns.forEach(function (item) {
26011
+ delete item.quickEdit;
26012
+ delete item.width;
26013
+ if (item.name === labelFieldName) {
26014
+ titleColumn = item;
26015
+ }
26016
+ else {
26017
+ if (item.name !== "_index") {
26018
+ bodyColumns.push(item);
26019
+ }
26020
+ }
26021
+ });
26022
+ let card = {
26023
+ "header": {
26024
+ "title": titleColumn.tpl
26025
+ },
26026
+ body: bodyColumns,
26027
+ // useCardLabel: false,
26028
+ toolbar: []
26029
+ };
26030
+ let hideToolbarOperation = options.formFactor === 'SMALL' || ["split"].indexOf(options.displayAs) > -1;
26031
+ if(!hideToolbarOperation){
26032
+ let toolbarOperation = await getTableOperation(options);
26033
+ if (toolbarOperation) {
26034
+ toolbarOperation.className += " inline-block w-auto";
26035
+ }
26036
+ card.toolbar.push(toolbarOperation);
26037
+ }
26038
+ return card;
26039
+ }
26040
+
25981
26041
  async function getTableSchema$1(fields, options){
25982
26042
  if(!options){
25983
26043
  options = {};
25984
26044
  }
25985
26045
  let { isLookup, hiddenColumnOperation } = options;
26046
+ const defaults = options.defaults;
26047
+ const listSchema = (defaults && defaults.listSchema) || {};
26048
+
25986
26049
  let columns = [];
25987
26050
  let useMobileColumns = options.formFactor === 'SMALL' || ["split"].indexOf(options.displayAs) > -1;
25988
26051
  if(isLookup){
25989
26052
  // 在lookup手机端列表模式调式好之前不使用getMobileTableColumns
25990
26053
  useMobileColumns = false;
25991
26054
  }
26055
+ if(listSchema.mode && listSchema.mode !== "table"){
26056
+ // 如果指定的mode,则不走我们内置的手机端列表效果,使用steedos组件内部开发的默认card/list效果,或者由用户自己实现card/list模式的crud列表
26057
+ useMobileColumns = false;
26058
+ }
25992
26059
  if(useMobileColumns){
25993
26060
  columns = await getMobileTableColumns(fields, options);
25994
26061
  }
25995
26062
  else {
25996
26063
  columns = await getTableColumns(fields, options);
25997
26064
 
26065
+ if(listSchema.mode === "cards"){
26066
+ let card = listSchema.card;
26067
+ if(!card){
26068
+ card = await getDefaultCrudCard(columns, options);
26069
+ }
26070
+ return {
26071
+ mode: "cards",
26072
+ name: "thelist",
26073
+ headerToolbarClassName: "py-2 px-2 border-gray-300 border-solid border-b",
26074
+ className: "",
26075
+ draggable: false,
26076
+ defaultParams: getDefaultParams(options),
26077
+ card: card,
26078
+ syncLocation: false,
26079
+ keepItemSelectionOnPageChange: true,
26080
+ checkOnItemClick: isLookup ? true : false,
26081
+ labelTpl: `\${${options.labelFieldName}}`,
26082
+ autoFillHeight: false, // 自动高度效果不理想,先关闭
26083
+ columnsTogglable: false
26084
+ }
26085
+ }
26086
+
25998
26087
  if(!isLookup && !hiddenColumnOperation){
25999
26088
  columns.push(await getTableOperation(options));
26000
26089
  }
@@ -26089,8 +26178,8 @@ crudService && crudService.setData({showFieldsFilter: toShowFieldsFilter});
26089
26178
  /*
26090
26179
  * @Author: baozhoutao@steedos.com
26091
26180
  * @Date: 2022-07-05 15:55:39
26092
- * @LastEditors: 殷亮辉 yinlianghui@hotoa.com
26093
- * @LastEditTime: 2023-09-21 17:35:06
26181
+ * @LastEditors: liaodaxue
26182
+ * @LastEditTime: 2023-10-20 11:38:25
26094
26183
  * @Description:
26095
26184
  */
26096
26185
 
@@ -26387,8 +26476,8 @@ crudService && crudService.setData({showFieldsFilter: toShowFieldsFilter});
26387
26476
  "filtersFunction": listview_filters,
26388
26477
  "sort": sort,
26389
26478
  "ctx": ctx,
26390
- "requestAdaptor": listView.requestAdaptor,
26391
- "adaptor": listView.adaptor,
26479
+ "requestAdaptor": listView.requestAdaptor || ctx.requestAdaptor,
26480
+ "adaptor": listView.adaptor || ctx.adaptor,
26392
26481
  "headerToolbarItems": ctx.headerToolbarItems,
26393
26482
  "filterVisible": ctx.filterVisible,
26394
26483
  "rowClassNameExpr": ctx.rowClassNameExpr,
@@ -31522,7 +31611,7 @@ crudService && crudService.setData({showFieldsFilter: toShowFieldsFilter});
31522
31611
  var empty = [];
31523
31612
  function MultipleContainers(props) {
31524
31613
  var _this = this;
31525
- var _a = props.adjustScale, adjustScale = _a === void 0 ? false : _a; props.itemCount; var cancelDrop = props.cancelDrop, _c = props.columns, columns = _c === void 0 ? 1 : _c, _d = props.handle, handle = _d === void 0 ? true : _d, containerStyle = props.containerStyle, _e = props.coordinateGetter, coordinateGetter$1 = _e === void 0 ? coordinateGetter : _e, _f = props.getItemStyles, getItemStyles = _f === void 0 ? function () { return ({}); } : _f, _g = props.wrapperStyle, wrapperStyle = _g === void 0 ? function () { return ({}); } : _g, _h = props.minimal, minimal = _h === void 0 ? false : _h, modifiers = props.modifiers, renderItem = props.renderItem, _j = props.strategy, strategy = _j === void 0 ? verticalListSortingStrategy : _j, _k = props.addable, addable = _k === void 0 ? false : _k, _l = props.trashable, trashable = _l === void 0 ? false : _l, _m = props.vertical, vertical = _m === void 0 ? false : _m, scrollable = props.scrollable, _o = props.boardSource, boardSource = _o === void 0 ? [] : _o, _p = props.cardSource, cardSource = _p === void 0 ? [] : _p, defaultValue = props.defaultValue, amisOnChange = props.onChange, amisData = props.data, amisDispatchEvent = props.dispatchEvent, amisRender = props.render, _q = props.cardSchema, cardSchema = _q === void 0 ? [{
31614
+ var _a = props.adjustScale, adjustScale = _a === void 0 ? false : _a; props.itemCount; var cancelDrop = props.cancelDrop, _c = props.columns, columns = _c === void 0 ? 1 : _c, _d = props.handle, handle = _d === void 0 ? true : _d, containerStyle = props.containerStyle, _e = props.coordinateGetter, coordinateGetter$1 = _e === void 0 ? coordinateGetter : _e, _f = props.getItemStyles, getItemStyles = _f === void 0 ? function () { return ({}); } : _f, _g = props.wrapperStyle, wrapperStyle = _g === void 0 ? function () { return ({}); } : _g, _h = props.minimal, minimal = _h === void 0 ? false : _h, modifiers = props.modifiers, renderItem = props.renderItem, _j = props.strategy, strategy = _j === void 0 ? verticalListSortingStrategy : _j, _k = props.addable, addable = _k === void 0 ? false : _k, _l = props.trashable, trashable = _l === void 0 ? false : _l, _m = props.vertical, vertical = _m === void 0 ? false : _m, scrollable = props.scrollable, _o = props.boardSource, boardSource = _o === void 0 ? [] : _o, _p = props.cardSource, cardSource = _p === void 0 ? [] : _p, value = props.value, amisOnChange = props.onChange, amisData = props.data, amisDispatchEvent = props.dispatchEvent, amisRender = props.render, _q = props.cardSchema, cardSchema = _q === void 0 ? [{
31526
31615
  "type": "tpl",
31527
31616
  "tpl": "${label}",
31528
31617
  "inline": false,
@@ -31530,10 +31619,10 @@ crudService && crudService.setData({showFieldsFilter: toShowFieldsFilter});
31530
31619
  "type": "tpl",
31531
31620
  "tpl": "${label}",
31532
31621
  }] : _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;
31533
- defaultValue && delete (defaultValue.$$id);
31622
+ // defaultValue && delete(defaultValue.$$id);
31534
31623
  var _w = __read(React.useState(function () {
31535
31624
  var _a;
31536
- return (_a = defaultValue) !== null && _a !== void 0 ? _a : {
31625
+ return (_a = value) !== null && _a !== void 0 ? _a : {
31537
31626
  A: ['A1', 'A2'],
31538
31627
  B: ['B1', 'B2'],
31539
31628
  C: ['C1', 'C2'],
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@steedos-widgets/sortable",
3
- "version": "1.3.4-beta.15",
3
+ "version": "1.3.4-beta.16",
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.4-beta.15"
48
+ "@steedos-widgets/amis-lib": "1.3.4-beta.16"
49
49
  },
50
- "gitHead": "00240969040c173c8ec7ade77767184c617876a8"
50
+ "gitHead": "0e609d74ccbe4cf4fe69728349010d6fab90a439"
51
51
  }
@@ -153,7 +153,7 @@ interface Props {
153
153
  vertical?: boolean;
154
154
  boardSource: [{id:string, label:string}?],
155
155
  cardSource: [{id:string, label:string, color: string, columnSpan: number, body: [any]}?],
156
- defaultValue: any,
156
+ value: any,
157
157
  onChange: Function,
158
158
  data: any,
159
159
  dispatchEvent: Function,
@@ -171,7 +171,6 @@ const PLACEHOLDER_ID = 'placeholder';
171
171
  const empty: UniqueIdentifier[] = [];
172
172
 
173
173
  export function MultipleContainers(props) {
174
-
175
174
  let {
176
175
  adjustScale = false,
177
176
  itemCount = 3,
@@ -192,7 +191,7 @@ export function MultipleContainers(props) {
192
191
  scrollable,
193
192
  boardSource = [],
194
193
  cardSource = [],
195
- defaultValue,
194
+ value,
196
195
  onChange: amisOnChange,
197
196
  data: amisData,
198
197
  dispatchEvent: amisDispatchEvent,
@@ -212,11 +211,11 @@ export function MultipleContainers(props) {
212
211
  cardClassName = "",
213
212
  }: Props = props
214
213
 
215
- defaultValue && delete(defaultValue.$$id);
214
+ // defaultValue && delete(defaultValue.$$id);
216
215
 
217
216
  const [items, setItems] = useState<Items>(
218
217
  () => {
219
- return (defaultValue as Items) ?? {
218
+ return (value as Items) ?? {
220
219
  A: ['A1', 'A2'],
221
220
  B: ['B1', 'B2'],
222
221
  C: ['C1', 'C2'],