@steedos-widgets/amis-lib 1.2.33 → 1.2.35-beta.1

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/index.umd.js CHANGED
@@ -423,8 +423,8 @@
423
423
  /*
424
424
  * @Author: baozhoutao@steedos.com
425
425
  * @Date: 2022-05-23 09:53:08
426
- * @LastEditors: Please set LastEditors
427
- * @LastEditTime: 2023-05-22 15:13:18
426
+ * @LastEditors: liaodaxue
427
+ * @LastEditTime: 2023-07-28 16:26:31
428
428
  * @Description:
429
429
  */
430
430
 
@@ -608,6 +608,9 @@
608
608
  <% } %>`
609
609
  }
610
610
 
611
+ function getLocationTpl(field){
612
+ return `\${${field.name} ? ${field.name}.address : ''}`
613
+ }
611
614
 
612
615
  async function getFieldTpl (field, options){
613
616
  if((field.is_name || field.name === options.labelFieldName) && !options.onlyDisplayLabel){
@@ -632,6 +635,8 @@
632
635
  return await getRelatedFieldTpl(field, options);
633
636
  case 'master_detail':
634
637
  return await getRelatedFieldTpl(field, options);
638
+ case 'location':
639
+ return await getLocationTpl(field);
635
640
  case 'number':
636
641
  case 'currency':
637
642
  return await getNumberTpl(field);
@@ -974,6 +979,7 @@
974
979
  var frontend_form_cancel$1 = "Cancel";
975
980
  var frontend_form_new$1 = "New";
976
981
  var frontend_form_edit$1 = "Edit";
982
+ var frontend_form_preview$1 = "Preview";
977
983
  var frontend_form_select$1 = "Select";
978
984
  var frontend_form_please_select$1 = "Please select";
979
985
  var frontend_form_confirm$1 = "Confirm";
@@ -1056,6 +1062,7 @@
1056
1062
  frontend_form_cancel: frontend_form_cancel$1,
1057
1063
  frontend_form_new: frontend_form_new$1,
1058
1064
  frontend_form_edit: frontend_form_edit$1,
1065
+ frontend_form_preview: frontend_form_preview$1,
1059
1066
  frontend_form_select: frontend_form_select$1,
1060
1067
  frontend_form_please_select: frontend_form_please_select$1,
1061
1068
  frontend_form_confirm: frontend_form_confirm$1,
@@ -1139,6 +1146,7 @@
1139
1146
  var frontend_form_cancel = "取消";
1140
1147
  var frontend_form_new = "新建";
1141
1148
  var frontend_form_edit = "编辑";
1149
+ var frontend_form_preview = "预览";
1142
1150
  var frontend_form_select = "选择";
1143
1151
  var frontend_form_please_select = "请选择";
1144
1152
  var frontend_form_confirm = "确认";
@@ -1222,6 +1230,7 @@
1222
1230
  frontend_form_cancel: frontend_form_cancel,
1223
1231
  frontend_form_new: frontend_form_new,
1224
1232
  frontend_form_edit: frontend_form_edit,
1233
+ frontend_form_preview: frontend_form_preview,
1225
1234
  frontend_form_select: frontend_form_select,
1226
1235
  frontend_form_please_select: frontend_form_please_select,
1227
1236
  frontend_form_confirm: frontend_form_confirm,
@@ -5660,7 +5669,7 @@ crudService && crudService.setData({showFieldsFilter: toShowFieldsFilter});
5660
5669
  const tree = [{
5661
5670
  "type": "input-tree",
5662
5671
  "className": "",
5663
- "inputClassName": "pl-0",
5672
+ "inputClassName": "p-0",
5664
5673
  "id": "u:7fd77b7915b0",
5665
5674
  "source": {
5666
5675
  "method": "post",
@@ -5721,7 +5730,7 @@ crudService && crudService.setData({showFieldsFilter: toShowFieldsFilter});
5721
5730
  "left": "-200px",
5722
5731
  "width": "190px",
5723
5732
  "bottom": 0,
5724
- "top": "-14px",
5733
+ "top": "2px",
5725
5734
  "overflow": "auto",
5726
5735
  "min-height":"300px"
5727
5736
  },
@@ -5987,7 +5996,9 @@ crudService && crudService.setData({showFieldsFilter: toShowFieldsFilter});
5987
5996
  "margin-left":"200px",
5988
5997
  "min-height": "300px"
5989
5998
  };
5999
+ pickerSchema.className = pickerSchema.className || "" + " steedos-select-user";
5990
6000
  }
6001
+
5991
6002
  pickerSchema.headerToolbar = getObjectHeaderToolbar(refObjectConfig, ctx.formFactor, { headerToolbarItems });
5992
6003
  const isAllowCreate = refObjectConfig.permissions.allowCreate;
5993
6004
  if (isAllowCreate) {
@@ -6482,11 +6493,10 @@ crudService && crudService.setData({showFieldsFilter: toShowFieldsFilter});
6482
6493
  * @Author: baozhoutao@steedos.com
6483
6494
  * @Date: 2023-01-13 17:27:54
6484
6495
  * @LastEditors: liaodaxue
6485
- * @LastEditTime: 2023-07-24 15:23:12
6496
+ * @LastEditTime: 2023-07-27 17:33:54
6486
6497
  * @Description:
6487
6498
  */
6488
6499
 
6489
-
6490
6500
  const getMarkdownFieldSchema = (field, readonly, ctx)=>{
6491
6501
  if(readonly){
6492
6502
  return {
@@ -6513,7 +6523,7 @@ crudService && crudService.setData({showFieldsFilter: toShowFieldsFilter});
6513
6523
  "className": "steedos-markdown",
6514
6524
  "tabs": [
6515
6525
  {
6516
- "title": "Write",
6526
+ "title": i18next__default["default"].t('frontend_form_edit'),
6517
6527
  "tab": [
6518
6528
  {
6519
6529
  "type": "editor",
@@ -6523,7 +6533,7 @@ crudService && crudService.setData({showFieldsFilter: toShowFieldsFilter});
6523
6533
  ]
6524
6534
  },
6525
6535
  {
6526
- "title": "Preview",
6536
+ "title": i18next__default["default"].t('frontend_form_preview'),
6527
6537
  "tab": [
6528
6538
  {
6529
6539
  "type": "markdown",
@@ -6580,7 +6590,7 @@ crudService && crudService.setData({showFieldsFilter: toShowFieldsFilter});
6580
6590
  * @Author: baozhoutao@steedos.com
6581
6591
  * @Date: 2022-10-28 14:52:55
6582
6592
  * @LastEditors: liaodaxue
6583
- * @LastEditTime: 2023-07-14 17:18:42
6593
+ * @LastEditTime: 2023-07-28 16:16:29
6584
6594
  * @Description:
6585
6595
  */
6586
6596
 
@@ -6604,6 +6614,8 @@ crudService && crudService.setData({showFieldsFilter: toShowFieldsFilter});
6604
6614
  if(!readonly){
6605
6615
  if(___namespace.includes(AmisFormInputs, type)){
6606
6616
  return `input-${type}`;
6617
+ }else if(type === 'location'){
6618
+ return "location-picker"
6607
6619
  }
6608
6620
  return type;
6609
6621
  }
@@ -7161,6 +7173,30 @@ crudService && crudService.setData({showFieldsFilter: toShowFieldsFilter});
7161
7173
  type: getAmisStaticFieldType('email', readonly)
7162
7174
  };
7163
7175
  break;
7176
+ case 'location':
7177
+ // 申请ak后需要设置白名单; https://lbsyun.baidu.com/apiconsole/key/create#/home
7178
+ // console.log('fie==>', field.name, field);
7179
+ let ak = "LiZT5dVbGTsPI91tFGcOlSpe5FDehpf7";
7180
+ let vendor = "baidu"; /* 'baidu' | 'gaode' */
7181
+ if(window.Meteor){
7182
+ const map_ak = Meteor.settings?.public?.amis?.map_ak;
7183
+ if(map_ak){
7184
+ ak = map_ak;
7185
+ }
7186
+ const map_vendor = Meteor.settings?.public?.amis?.map_vendor;
7187
+ if(map_vendor){
7188
+ vendor = map_vendor;
7189
+ }
7190
+ }
7191
+
7192
+ convertData = {
7193
+ type: getAmisStaticFieldType('location', readonly),
7194
+ tpl: readonly ? getLocationTpl(field) : null,
7195
+ ak,
7196
+ vendor,
7197
+ label: field.label
7198
+ };
7199
+ break;
7164
7200
  case 'avatar':
7165
7201
  convertData = getAmisFileSchema(field, readonly);
7166
7202
  break;
@@ -7482,26 +7518,45 @@ crudService && crudService.setData({showFieldsFilter: toShowFieldsFilter});
7482
7518
  let labelField = quickEditSchema.body[0].labelField || "label";
7483
7519
  let valueField = quickEditSchema.body[0].valueField || "value";
7484
7520
  if (field.multiple) {
7521
+ /*
7522
+ 多选分两种情况。
7523
+ 第一种是减少选项时(判断新的数据是否比老的数据短),按照index删除_display中对应选项,保证回显没问题;
7524
+ 第二种是增加选项时,按照value的值,找到对应选项,并按照_display的规则为其赋值
7525
+ */
7485
7526
  TempDisplayField = `
7527
+ const preData = event.data.__super.${field.name};
7528
+ if(preData && event.data.${field.name}.length < preData.length){
7529
+ let deletedIndex;
7530
+ preData.forEach(function(item,index){
7531
+ if(_.indexOf(event.data.${field.name}, item) == -1) _display["${field.name}"].splice(index, 1);
7532
+ })
7533
+ }else{
7486
7534
  _display["${field.name}"] = [];
7487
- event.data.selectedItems.forEach(function(item,index){
7535
+ event.data.value.forEach(function(val,index){
7536
+ const item = _.find(event.data.selectedItems, { ${valueField}: val });
7488
7537
  _display["${field.name}"].push(
7489
7538
  {
7490
7539
  "label": item.${labelField},
7491
- "value": item.${valueField},
7540
+ "value": item[event.data.uiSchema.idFieldName],
7492
7541
  "objectName": "${field.reference_to}"
7493
7542
  }
7494
7543
  )
7495
7544
  })
7496
- `;
7545
+ }
7546
+
7547
+ `;
7497
7548
  } else {
7498
7549
  TempDisplayField = `
7550
+ if(event.data.value){
7499
7551
  _display["${field.name}"] = {
7500
7552
  "label": event.data.selectedItems.${labelField},
7501
- "value": event.data.selectedItems.${valueField},
7553
+ "value": event.data.selectedItems[event.data.uiSchema.idFieldName],
7502
7554
  "objectName": "${field.reference_to}"
7503
7555
  }
7504
- `;
7556
+ }else{
7557
+ _display["${field.name}"] = {}
7558
+ }
7559
+ `;
7505
7560
  }
7506
7561
  quickEditSchema.body[0].onEvent["change"] = quickEditOnEvent(TempDisplayField);
7507
7562
  break;
@@ -7633,6 +7688,10 @@ crudService && crudService.setData({showFieldsFilter: toShowFieldsFilter});
7633
7688
  for (const field of fields) {
7634
7689
  //增加quickEdit属性,实现快速编辑
7635
7690
  const quickEditSchema = allowEdit ? await getQuickEditSchema(field, options) : allowEdit;
7691
+ let className = "";
7692
+ if(field.wrap != true){
7693
+ className += " whitespace-nowrap";
7694
+ }
7636
7695
  if((field.is_name || field.name === options.labelFieldName) && options.objectName === 'cms_files'){
7637
7696
  const previewFileScript = `
7638
7697
  var data = event.data;
@@ -7643,7 +7702,7 @@ crudService && crudService.setData({showFieldsFilter: toShowFieldsFilter});
7643
7702
  columns.push({
7644
7703
  "type": "button",
7645
7704
  "label": `<%=data.versions ? data.name : "${field.label}"%>`,
7646
- "className": "whitespace-nowrap",
7705
+ className,
7647
7706
  "level": "link",
7648
7707
  "quickEdit": quickEditSchema,
7649
7708
  "onEvent": {
@@ -7680,7 +7739,7 @@ crudService && crudService.setData({showFieldsFilter: toShowFieldsFilter});
7680
7739
  width: getFieldWidth(field.width),
7681
7740
  toggled: field.toggled,
7682
7741
  static: true,
7683
- className:"whitespace-nowrap",
7742
+ className,
7684
7743
  quickEdit: quickEditSchema
7685
7744
  }, field.amis, {name: field.name}));
7686
7745
  }else if(field.type === 'avatar' || field.type === 'image' || field.type === 'file'){
@@ -7692,16 +7751,12 @@ crudService && crudService.setData({showFieldsFilter: toShowFieldsFilter});
7692
7751
  toggled: field.toggled,
7693
7752
  quickEdit: quickEditSchema,
7694
7753
  static: true,
7695
- className:"whitespace-nowrap",
7754
+ className,
7696
7755
  ...getAmisFileReadonlySchema(field)
7697
7756
  }, field.amis, {name: field.name}));
7698
7757
  }
7699
7758
  else if(field.type === 'select'){
7700
7759
  const map = getSelectMap(field.options);
7701
- let className = "";
7702
- if(field.wrap === false){
7703
- className += " whitespace-nowrap";
7704
- }
7705
7760
  columns.push(Object.assign({}, {
7706
7761
  type: "mapping",
7707
7762
  name: field.name,
@@ -7729,12 +7784,8 @@ crudService && crudService.setData({showFieldsFilter: toShowFieldsFilter});
7729
7784
  type = 'input-url';
7730
7785
  }
7731
7786
  }
7732
- let className = "";
7733
7787
  if(field.type === 'textarea'){
7734
- className = 'min-w-56';
7735
- }
7736
- if(field.wrap === false){
7737
- className += " whitespace-nowrap";
7788
+ className += 'min-w-56';
7738
7789
  }
7739
7790
  if(!field.hidden && !field.extra){
7740
7791
  columns.push(Object.assign({}, {
@@ -7754,6 +7805,7 @@ crudService && crudService.setData({showFieldsFilter: toShowFieldsFilter});
7754
7805
  }, field.amis, {name: field.name}));
7755
7806
  }
7756
7807
  }
7808
+
7757
7809
  }
7758
7810
  // columns.push(getOperation(fields));
7759
7811
  if(!___namespace.some(columns, { name: options.labelFieldName })){
@@ -9294,13 +9346,13 @@ crudService && crudService.setData({showFieldsFilter: toShowFieldsFilter});
9294
9346
  "selectMirror": permissions.allowCreate,
9295
9347
  "initialView": initialView,
9296
9348
  "businessHours": businessHours,
9297
- ...config,
9298
- "onEvent": onEvent,
9299
9349
  "views":{
9300
9350
  listWeek: {
9301
9351
  buttonText: i18next__default["default"].t('frontend_calendar_listWeek')
9302
9352
  }
9303
- }
9353
+ },
9354
+ ...config,
9355
+ "onEvent": onEvent
9304
9356
  };
9305
9357
  return amisSchema;
9306
9358
  }