@steedos-widgets/sortable 3.6.2-beta.1 → 3.6.2-beta.11

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.
@@ -20238,22 +20238,26 @@
20238
20238
  * @Description:
20239
20239
  */
20240
20240
 
20241
-
20242
20241
  const Router = {
20243
20242
  getTabDisplayAs(tab_id){
20243
+ const uiSchema = getUISchemaSync$1(tab_id, false);
20244
20244
  var urlSearch = new URLSearchParams(document.location.search);
20245
20245
  if(urlSearch.has('display')){
20246
20246
  return urlSearch.get('display')
20247
20247
  }
20248
20248
  const key = `tab_${tab_id}_display`;
20249
20249
  // const key = `page_display`;
20250
- const value = localStorage.getItem(key);
20251
- return value ? value : 'grid'
20250
+ const value = sessionStorage.getItem(key);
20251
+ let defaultDisplay = "grid";
20252
+ if(uiSchema.enable_split){
20253
+ defaultDisplay = "split";
20254
+ }
20255
+ return value ? value : defaultDisplay;
20252
20256
  },
20253
20257
 
20254
20258
  setTabDisplayAs(tab_id, displayAs){
20255
20259
  const key = `tab_${tab_id}_display`;
20256
- localStorage.setItem(key, displayAs);
20260
+ sessionStorage.setItem(key, displayAs);
20257
20261
  },
20258
20262
  getAppPath({formFactor, appId}){
20259
20263
  return `/app/${appId}`;
@@ -20407,7 +20411,7 @@
20407
20411
 
20408
20412
  function getNameTplUrl(field, ctx){
20409
20413
  if(ctx.objectName === 'cms_files'){
20410
- return `\${context.rootUrl}/api/files/files/\${versions[0]}?download=true`
20414
+ return "${(versions[0] && versions[0].url) ? versions[0].url+'?download=true' : context.rootUrl+'/api/files/files/'+versions[0]+'?download=true'}"
20411
20415
  }
20412
20416
  const href = Router.getObjectDetailPath({
20413
20417
  ...ctx, formFactor: ctx.formFactor, appId: "${appId}", objectName: ctx.objectName || "${objectName}", recordId: `\${${ctx.idFieldName}}`
@@ -20921,6 +20925,7 @@
20921
20925
  var frontend_notifications_allread$1 = "Mark all as read";
20922
20926
  var frontend_notifications_allread_message$1 = "All marked as read";
20923
20927
  var frontend_profile$1 = "Profile";
20928
+ var switch_space$1 = "Switch Space";
20924
20929
  var frontend_about$1 = "About";
20925
20930
  var frontend_log_out$1 = "Log out";
20926
20931
  var frontend_listview_warning_start$1 = "The current ";
@@ -21008,6 +21013,7 @@
21008
21013
  frontend_notifications_allread: frontend_notifications_allread$1,
21009
21014
  frontend_notifications_allread_message: frontend_notifications_allread_message$1,
21010
21015
  frontend_profile: frontend_profile$1,
21016
+ switch_space: switch_space$1,
21011
21017
  frontend_about: frontend_about$1,
21012
21018
  frontend_log_out: frontend_log_out$1,
21013
21019
  frontend_listview_warning_start: frontend_listview_warning_start$1,
@@ -21047,9 +21053,9 @@
21047
21053
  var frontend_display_as = "显示为";
21048
21054
  var frontend_record_sum = "个项目";
21049
21055
  var frontend_button_reload_tooltip = "刷新";
21050
- var frontend_button_search_tooltip = "筛选";
21056
+ var frontend_button_search_tooltip = "搜索";
21051
21057
  var frontend_fields_filter_button_search = "搜索";
21052
- var frontend_fields_filter_button_settings = "设置搜索项";
21058
+ var frontend_fields_filter_button_settings = "选择搜索项";
21053
21059
  var frontend_button_listview_control_tooltip = "列表视图控制";
21054
21060
  var frontend_button_listview_control_label = "列表视图控制";
21055
21061
  var frontend_listview_control_columns = "显示的列";
@@ -21097,6 +21103,7 @@
21097
21103
  var frontend_notifications_allread = "全部标记为已读";
21098
21104
  var frontend_notifications_allread_message = "已全部标记为已读";
21099
21105
  var frontend_profile = "个人资料";
21106
+ var switch_space = "切换工作区";
21100
21107
  var frontend_about = "关于";
21101
21108
  var frontend_log_out = "注销";
21102
21109
  var frontend_listview_warning_start = "当前";
@@ -21185,6 +21192,7 @@
21185
21192
  frontend_notifications_allread: frontend_notifications_allread,
21186
21193
  frontend_notifications_allread_message: frontend_notifications_allread_message,
21187
21194
  frontend_profile: frontend_profile,
21195
+ switch_space: switch_space,
21188
21196
  frontend_about: frontend_about,
21189
21197
  frontend_log_out: frontend_log_out,
21190
21198
  frontend_listview_warning_start: frontend_listview_warning_start,
@@ -21704,9 +21712,13 @@
21704
21712
  const quickEditSchema = allowEdit ? await getQuickEditSchema(field, options) : allowEdit;
21705
21713
  let className = "";
21706
21714
  if(field.wrap != true){
21707
- className += " whitespace-nowrap ";
21715
+ if(field.wrap != false && field.is_wide){
21716
+ className += " break-words ";
21717
+ }else {
21718
+ className += " whitespace-nowrap ";
21719
+ }
21708
21720
  }else {
21709
- className += " break-all ";
21721
+ className += " break-words ";
21710
21722
  }
21711
21723
  let columnItem;
21712
21724
  if((field.is_name || field.name === options.labelFieldName) && options.objectName === 'cms_files'){
@@ -21803,12 +21815,24 @@
21803
21815
  if(field.type === 'textarea'){
21804
21816
  className += 'min-w-56';
21805
21817
  }
21806
- if(field.type === 'date'){
21807
- className += 'date-min-w';
21808
- }
21809
- if(field.type === 'datetime'){
21810
- className += 'datetime-min-w';
21818
+ // if(field.type === 'date'){
21819
+ // className += 'date-min-w';
21820
+ // }
21821
+ // if(field.type === 'datetime'){
21822
+ // className += 'datetime-min-w';
21823
+ // }
21824
+
21825
+ //field上的amis属性里的clssname需要单独判断类型合并
21826
+ if (typeof field.amis?.className == "object") {
21827
+ className = {
21828
+ [className]: "true",
21829
+ ...field.amis.className
21830
+ };
21831
+ } else if (typeof field.amis?.className == "string") {
21832
+ className = `${className} ${field.amis.className} `;
21811
21833
  }
21834
+ delete field.amis?.className;
21835
+
21812
21836
  if(!field.hidden && !field.extra){
21813
21837
  columnItem = Object.assign({}, {
21814
21838
  name: field.name,
@@ -21891,7 +21915,7 @@
21891
21915
  }
21892
21916
  if(isLeft){
21893
21917
  // 左侧半行
21894
- lineChildrenClassName = "steedos-listview-item-left truncate";
21918
+ lineChildrenClassName = "steedos-listview-item-left truncate h-5";
21895
21919
  if(item.field.is_wide){
21896
21920
  // 左侧全行样式可以单独写,如果需要配置两行省略号效果,可以加样式类 two-lines-truncate
21897
21921
  lineChildrenClassName = "steedos-listview-item-wide";
@@ -21903,14 +21927,26 @@
21903
21927
  }
21904
21928
  else {
21905
21929
  // 右侧半行,这里加样式类 flex flex-shrink-0,是为了省略号只显示在左半行,右半行文字一般比较短,如果也加省略号效果的话,左侧文字多的话,右侧没几个字就显示省略号了
21906
- lineChildrenClassName = "steedos-listview-item-right truncate ml-2 flex flex-shrink-0";
21930
+ lineChildrenClassName = "steedos-listview-item-right truncate ml-2 flex flex-shrink-0 h-5";
21931
+ }
21932
+ //支持字段amis属性配置classname,识别classname的类型,与原样式合并
21933
+ var className;
21934
+ if (typeof item.field.amis?.className == "object") {
21935
+ className = {
21936
+ [lineChildrenClassName]: "true",
21937
+ ...item.field.amis.className
21938
+ };
21939
+ } else if (typeof item.field.amis?.className == "string") {
21940
+ className = `${lineChildrenClassName} ${item.field.amis.className} `;
21941
+ } else {
21942
+ className = lineChildrenClassName;
21907
21943
  }
21908
21944
  lineChildren.push({
21909
21945
  "type": "tpl",
21910
21946
  "tpl": item.tpl,
21911
- "className": lineChildrenClassName
21947
+ className
21912
21948
  });
21913
-
21949
+
21914
21950
  if(item.field.is_wide){
21915
21951
  // 宽字段占整行
21916
21952
  isLeft = true;
@@ -21960,8 +21996,7 @@
21960
21996
  tpl = await getFieldTpl(field, options);
21961
21997
  }
21962
21998
  if(!tpl){
21963
- //qhd需求简易处理,加上raw以支持审批王名称字段通过颜色区分缓急,若之后手机端列表支持配置amis,则可以去掉
21964
- tpl = `\${${field.name} | raw}`;
21999
+ tpl = `\${${field.name}}`;
21965
22000
  }
21966
22001
  if(!field.hidden && !field.extra){
21967
22002
  tpls.push({ field, tpl });
@@ -21974,7 +22009,7 @@
21974
22009
 
21975
22010
  let column = {
21976
22011
  name: nameField.name,
21977
- label: nameField.label,
22012
+ label: options.displayAs == 'split' ? '' : nameField.label,
21978
22013
  sortable: nameField.sortable,
21979
22014
  type: "button",
21980
22015
  level: "link",
@@ -22003,7 +22038,15 @@
22003
22038
  "actions": [
22004
22039
  {
22005
22040
  "script": `
22006
- let cms_url = "/api/files/files/"+event.data.versions[0]+"?download=true"
22041
+ let cms_url = '';
22042
+ let value = event.data.versions[0];
22043
+ if(value){
22044
+ if(value.url){
22045
+ cms_url = value.url;
22046
+ }else{
22047
+ cms_url = "/api/files/files/"+value+"?download=true"
22048
+ }
22049
+ }
22007
22050
  Steedos.cordovaDownload(encodeURI(Steedos.absoluteUrl(cms_url)), event.data.name);
22008
22051
  `,
22009
22052
  "actionType": "custom"
@@ -22119,7 +22162,8 @@
22119
22162
  label: " ",
22120
22163
  fixed: 'right',
22121
22164
  labelClassName: 'text-center',
22122
- className: 'text-center steedos-listview-operation w-10',
22165
+ //TODO:目前3.6.3-patch.3版本中对于动态classname处理存在问题,简单处理固定列问题,等待amis解决crud的columns不支持动态classname的问题
22166
+ className: 'text-center steedos-listview-operation w-10 is-sticky is-sticky-right is-sticky-first-right',
22123
22167
  buttons: [
22124
22168
  {
22125
22169
  "type": "steedos-dropdown-button",
@@ -22215,7 +22259,7 @@
22215
22259
  }
22216
22260
  return {
22217
22261
  mode: "cards",
22218
- perPageAvailable: [5, 10, 20, 50, 100, 500],
22262
+ perPageAvailable: [20, 50, 100, 500],
22219
22263
  name: "thelist",
22220
22264
  headerToolbarClassName: "py-2 px-2 border-gray-300 border-solid border-b",
22221
22265
  className: "",
@@ -22248,7 +22292,7 @@
22248
22292
 
22249
22293
  return {
22250
22294
  mode: "table",
22251
- perPageAvailable: [5, 10, 20, 50, 100, 500],
22295
+ perPageAvailable: [20, 50, 100, 500],
22252
22296
  name: "thelist",
22253
22297
  headerToolbarClassName: "py-2 px-2 border-gray-300 border-solid border-b",
22254
22298
  className: "",
@@ -22374,7 +22418,7 @@
22374
22418
 
22375
22419
  function getDefaultParams(options){
22376
22420
  return {
22377
- perPage: options.top || options.perPage || 10
22421
+ perPage: options.top || options.perPage || 20
22378
22422
  }
22379
22423
  }
22380
22424
 
@@ -22428,7 +22472,6 @@
22428
22472
  "objectApiName": "\${objectName}",
22429
22473
  "recordId": "",
22430
22474
  "mode": "edit",
22431
- "layout": "normal"
22432
22475
  };
22433
22476
 
22434
22477
  if (payload && payload.schema) {
@@ -24212,14 +24255,14 @@
24212
24255
  {
24213
24256
  "type": "button",
24214
24257
  "label": instance.t('frontend_display_type_is_table'),
24215
- "onClick": "const key = 'tab_"+objectName+"_display';localStorage.setItem(key, 'grid');let url = document.location.pathname; var urlSearch = new URLSearchParams(document.location.search); if(urlSearch.get(\"side_object\") && urlSearch.get(\"side_listview_id\")){url=`/app/${props.data.appId}/${urlSearch.get(\"side_object\")}/grid/${urlSearch.get(\"side_listview_id\")}`;}; props.env.jumpTo(url + '?display=grid');",
24258
+ "onClick": "const key = 'tab_"+objectName+"_display';sessionStorage.setItem(key, 'grid');let url = document.location.pathname; var urlSearch = new URLSearchParams(document.location.search); if(urlSearch.get(\"side_object\") && urlSearch.get(\"side_listview_id\")){url=`/app/${props.data.appId}/${urlSearch.get(\"side_object\")}/grid/${urlSearch.get(\"side_listview_id\")}`;}; props.env.jumpTo(url + '?display=grid');",
24216
24259
  "rightIcon": displayAs != 'split' ? "fa fa-check" : null,
24217
24260
  "rightIconClassName": "m-l-sm"
24218
24261
  },
24219
24262
  {
24220
24263
  "type": "button",
24221
24264
  "label": instance.t('frontend_display_type_is_split'),
24222
- "onClick": "const key = 'tab_"+objectName+"_display';localStorage.setItem(key, 'split');const url = document.location.pathname + '?display=split'; props.env.jumpTo(url);",
24265
+ "onClick": "const key = 'tab_"+objectName+"_display';sessionStorage.setItem(key, 'split');const url = document.location.pathname + '?display=split'; props.env.jumpTo(url);",
24223
24266
  "rightIcon": displayAs === 'split' ? "fa fa-check" : null,
24224
24267
  "rightIconClassName": "m-l-sm"
24225
24268
  }
@@ -24362,7 +24405,7 @@ crudService && crudService.setData({showFieldsFilter: toShowFieldsFilter});
24362
24405
  {
24363
24406
  "type": "search-box",
24364
24407
  "name": keywordsSearchBoxName,
24365
- "placeholder": "搜索此列表",
24408
+ "placeholder": "快捷搜索",
24366
24409
  "value": crudKeywords,
24367
24410
  // "clearable": true,//因为清除并不会触发失去焦点事件,只有禁用,但是它会触发change事件,所以等升级到amis 3.4+后可以重新放开
24368
24411
  "clearAndSubmit": true,
@@ -24566,7 +24609,10 @@ crudService && crudService.setData({showFieldsFilter: toShowFieldsFilter});
24566
24609
  // ]
24567
24610
  if(options.displayAs === 'split'){
24568
24611
  return [
24569
- "switch-per-page",
24612
+ {
24613
+ "type": "switch-per-page",
24614
+ "visibleOn": "${count >= 20}"
24615
+ },
24570
24616
  {
24571
24617
  "type": "pagination",
24572
24618
  "maxButtons": 5,
@@ -24588,7 +24634,6 @@ crudService && crudService.setData({showFieldsFilter: toShowFieldsFilter});
24588
24634
  else {
24589
24635
  if(options && options.isRelated){
24590
24636
  return [
24591
- "statistics",
24592
24637
  {
24593
24638
  "type": "pagination",
24594
24639
  "maxButtons": 10,
@@ -24601,7 +24646,6 @@ crudService && crudService.setData({showFieldsFilter: toShowFieldsFilter});
24601
24646
  const no_pagination = mainObject.paging && (mainObject.paging.enabled === false);
24602
24647
  const is_lookup = options.isLookup;
24603
24648
  const commonConfig = [
24604
- "statistics",
24605
24649
  {
24606
24650
  "type": "pagination",
24607
24651
  "maxButtons": 10,
@@ -24612,7 +24656,10 @@ crudService && crudService.setData({showFieldsFilter: toShowFieldsFilter});
24612
24656
  if (no_pagination && is_lookup) {
24613
24657
  return commonConfig;
24614
24658
  } else {
24615
- return ["switch-per-page", ...commonConfig];
24659
+ return [{
24660
+ "type": "switch-per-page",
24661
+ "visibleOn": "${count >= 20}"
24662
+ }, ...commonConfig];
24616
24663
  }
24617
24664
  }
24618
24665
  }
@@ -24712,8 +24759,8 @@ crudService && crudService.setData({showFieldsFilter: toShowFieldsFilter});
24712
24759
  /*
24713
24760
  * @Author: baozhoutao@steedos.com
24714
24761
  * @Date: 2022-07-05 15:55:39
24715
- * @LastEditors: liaodaxue
24716
- * @LastEditTime: 2023-10-20 11:38:25
24762
+ * @LastEditors: baozhoutao@steedos.com
24763
+ * @LastEditTime: 2024-01-16 11:14:34
24717
24764
  * @Description:
24718
24765
  */
24719
24766
 
@@ -25658,9 +25705,11 @@ crudService && crudService.setData({showFieldsFilter: toShowFieldsFilter});
25658
25705
  */
25659
25706
  if(enable_tree){
25660
25707
  const rows = _.map(payload.data.rows, (item)=>{
25661
- delete item.children;
25662
- delete item.parent;
25663
- return item;
25708
+ if (!item.children) {
25709
+ return { ...item, children: [] };
25710
+ } else {
25711
+ return item;
25712
+ }
25664
25713
  })
25665
25714
  payload.data.rows = rows;
25666
25715
  }
@@ -26109,9 +26158,17 @@ crudService && crudService.setData({showFieldsFilter: toShowFieldsFilter});
26109
26158
  }
26110
26159
  // console.log(`lookupToAmis====`, field, readonly, ctx)
26111
26160
  if(readonly){
26112
- return {
26113
- type: getAmisStaticFieldType('picker', readonly),
26114
- tpl: getRelatedFieldTpl(field, ctx)
26161
+ if(field.reference_to){
26162
+ return {
26163
+ type: 'steedos-field',
26164
+ config: field,
26165
+ static: true
26166
+ }
26167
+ }else {
26168
+ return {
26169
+ type: getAmisStaticFieldType('picker', readonly),
26170
+ tpl: getRelatedFieldTpl(field, ctx)
26171
+ }
26115
26172
  }
26116
26173
  }
26117
26174
  if(field.reference_to && !lodash.exports.isString(field.reference_to) && !readonly){
@@ -26994,11 +27051,9 @@ crudService && crudService.setData({showFieldsFilter: toShowFieldsFilter});
26994
27051
  if(field.subFields){
26995
27052
  convertData = {
26996
27053
  type: 'steedos-input-table',
26997
- showIndex: true,
26998
27054
  editable: !readonly,
26999
27055
  addable: !readonly,
27000
27056
  removable: !readonly,
27001
- draggable: !readonly,
27002
27057
  fields: [],
27003
27058
  amis:{
27004
27059
  columnsTogglable: false
@@ -27050,7 +27105,7 @@ crudService && crudService.setData({showFieldsFilter: toShowFieldsFilter});
27050
27105
  if(field.is_wide || convertData.type === 'group'){
27051
27106
  convertData.className = 'col-span-2 m-0';
27052
27107
  }else {
27053
- convertData.className = 'm-1';
27108
+ convertData.className = 'm-0';
27054
27109
  }
27055
27110
  if(readonly){
27056
27111
  convertData.className = `${convertData.className} border-b`;
@@ -27075,6 +27130,10 @@ crudService && crudService.setData({showFieldsFilter: toShowFieldsFilter});
27075
27130
  }
27076
27131
  }
27077
27132
 
27133
+ if(ctx.amisData && ctx.amisData._master && ctx.amisData._master.relatedKey === field.name){
27134
+ convertData.className = `${convertData.className || ''} hidden`;
27135
+ }
27136
+
27078
27137
  if(lodash.exports.isString(baseData.required)){
27079
27138
  if(baseData.required.startsWith("{{")){
27080
27139
  baseData.requiredOn = `${baseData.required.substring(2, baseData.required.length -2).replace(/formData./g, 'data.')}`;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@steedos-widgets/sortable",
3
- "version": "3.6.2-beta.1",
3
+ "version": "3.6.2-beta.11",
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": "3.6.2-beta.1"
48
+ "@steedos-widgets/amis-lib": "3.6.2-beta.11"
49
49
  },
50
- "gitHead": "51749ac2fcf83301fa5cd22d3116dd1702bc5ef3"
50
+ "gitHead": "c8f1202857d0988250628012afbc80be391eae3d"
51
51
  }