@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.cjs.js CHANGED
@@ -426,8 +426,8 @@ function getContrastColor(bgColor) {
426
426
  /*
427
427
  * @Author: baozhoutao@steedos.com
428
428
  * @Date: 2022-05-23 09:53:08
429
- * @LastEditors: Please set LastEditors
430
- * @LastEditTime: 2023-05-22 15:13:18
429
+ * @LastEditors: liaodaxue
430
+ * @LastEditTime: 2023-07-28 16:26:31
431
431
  * @Description:
432
432
  */
433
433
 
@@ -611,6 +611,9 @@ function getPasswordTpl(field){
611
611
  <% } %>`
612
612
  }
613
613
 
614
+ function getLocationTpl(field){
615
+ return `\${${field.name} ? ${field.name}.address : ''}`
616
+ }
614
617
 
615
618
  async function getFieldTpl (field, options){
616
619
  if((field.is_name || field.name === options.labelFieldName) && !options.onlyDisplayLabel){
@@ -635,6 +638,8 @@ async function getFieldTpl (field, options){
635
638
  return await getRelatedFieldTpl(field, options);
636
639
  case 'master_detail':
637
640
  return await getRelatedFieldTpl(field, options);
641
+ case 'location':
642
+ return await getLocationTpl(field);
638
643
  case 'number':
639
644
  case 'currency':
640
645
  return await getNumberTpl(field);
@@ -977,6 +982,7 @@ var frontend_form_save_and_new$1 = "Save and New";
977
982
  var frontend_form_cancel$1 = "Cancel";
978
983
  var frontend_form_new$1 = "New";
979
984
  var frontend_form_edit$1 = "Edit";
985
+ var frontend_form_preview$1 = "Preview";
980
986
  var frontend_form_select$1 = "Select";
981
987
  var frontend_form_please_select$1 = "Please select";
982
988
  var frontend_form_confirm$1 = "Confirm";
@@ -1059,6 +1065,7 @@ var en_us = {
1059
1065
  frontend_form_cancel: frontend_form_cancel$1,
1060
1066
  frontend_form_new: frontend_form_new$1,
1061
1067
  frontend_form_edit: frontend_form_edit$1,
1068
+ frontend_form_preview: frontend_form_preview$1,
1062
1069
  frontend_form_select: frontend_form_select$1,
1063
1070
  frontend_form_please_select: frontend_form_please_select$1,
1064
1071
  frontend_form_confirm: frontend_form_confirm$1,
@@ -1142,6 +1149,7 @@ var frontend_form_save_and_new = "保存并新建";
1142
1149
  var frontend_form_cancel = "取消";
1143
1150
  var frontend_form_new = "新建";
1144
1151
  var frontend_form_edit = "编辑";
1152
+ var frontend_form_preview = "预览";
1145
1153
  var frontend_form_select = "选择";
1146
1154
  var frontend_form_please_select = "请选择";
1147
1155
  var frontend_form_confirm = "确认";
@@ -1225,6 +1233,7 @@ var zh_cn = {
1225
1233
  frontend_form_cancel: frontend_form_cancel,
1226
1234
  frontend_form_new: frontend_form_new,
1227
1235
  frontend_form_edit: frontend_form_edit,
1236
+ frontend_form_preview: frontend_form_preview,
1228
1237
  frontend_form_select: frontend_form_select,
1229
1238
  frontend_form_please_select: frontend_form_please_select,
1230
1239
  frontend_form_confirm: frontend_form_confirm,
@@ -5663,7 +5672,7 @@ function getLookupSapceUserTreeSchema(){
5663
5672
  const tree = [{
5664
5673
  "type": "input-tree",
5665
5674
  "className": "",
5666
- "inputClassName": "pl-0",
5675
+ "inputClassName": "p-0",
5667
5676
  "id": "u:7fd77b7915b0",
5668
5677
  "source": {
5669
5678
  "method": "post",
@@ -5724,7 +5733,7 @@ function getLookupSapceUserTreeSchema(){
5724
5733
  "left": "-200px",
5725
5734
  "width": "190px",
5726
5735
  "bottom": 0,
5727
- "top": "-14px",
5736
+ "top": "2px",
5728
5737
  "overflow": "auto",
5729
5738
  "min-height":"300px"
5730
5739
  },
@@ -5990,7 +5999,9 @@ async function lookupToAmisPicker(field, readonly, ctx){
5990
5999
  "margin-left":"200px",
5991
6000
  "min-height": "300px"
5992
6001
  };
6002
+ pickerSchema.className = pickerSchema.className || "" + " steedos-select-user";
5993
6003
  }
6004
+
5994
6005
  pickerSchema.headerToolbar = getObjectHeaderToolbar(refObjectConfig, ctx.formFactor, { headerToolbarItems });
5995
6006
  const isAllowCreate = refObjectConfig.permissions.allowCreate;
5996
6007
  if (isAllowCreate) {
@@ -6485,11 +6496,10 @@ async function getIdsPickerSchema(field, readonly, ctx){
6485
6496
  * @Author: baozhoutao@steedos.com
6486
6497
  * @Date: 2023-01-13 17:27:54
6487
6498
  * @LastEditors: liaodaxue
6488
- * @LastEditTime: 2023-07-24 15:23:12
6499
+ * @LastEditTime: 2023-07-27 17:33:54
6489
6500
  * @Description:
6490
6501
  */
6491
6502
 
6492
-
6493
6503
  const getMarkdownFieldSchema = (field, readonly, ctx)=>{
6494
6504
  if(readonly){
6495
6505
  return {
@@ -6516,7 +6526,7 @@ const getMarkdownFieldSchema = (field, readonly, ctx)=>{
6516
6526
  "className": "steedos-markdown",
6517
6527
  "tabs": [
6518
6528
  {
6519
- "title": "Write",
6529
+ "title": i18next__default["default"].t('frontend_form_edit'),
6520
6530
  "tab": [
6521
6531
  {
6522
6532
  "type": "editor",
@@ -6526,7 +6536,7 @@ const getMarkdownFieldSchema = (field, readonly, ctx)=>{
6526
6536
  ]
6527
6537
  },
6528
6538
  {
6529
- "title": "Preview",
6539
+ "title": i18next__default["default"].t('frontend_form_preview'),
6530
6540
  "tab": [
6531
6541
  {
6532
6542
  "type": "markdown",
@@ -6583,7 +6593,7 @@ const getHtmlFieldSchema = (field, readonly, ctx)=>{
6583
6593
  * @Author: baozhoutao@steedos.com
6584
6594
  * @Date: 2022-10-28 14:52:55
6585
6595
  * @LastEditors: liaodaxue
6586
- * @LastEditTime: 2023-07-14 17:18:42
6596
+ * @LastEditTime: 2023-07-28 16:16:29
6587
6597
  * @Description:
6588
6598
  */
6589
6599
 
@@ -6607,6 +6617,8 @@ function getAmisStaticFieldType(type, readonly, options){
6607
6617
  if(!readonly){
6608
6618
  if(___namespace.includes(AmisFormInputs, type)){
6609
6619
  return `input-${type}`;
6620
+ }else if(type === 'location'){
6621
+ return "location-picker"
6610
6622
  }
6611
6623
  return type;
6612
6624
  }
@@ -7164,6 +7176,30 @@ async function convertSFieldToAmisField(field, readonly, ctx) {
7164
7176
  type: getAmisStaticFieldType('email', readonly)
7165
7177
  };
7166
7178
  break;
7179
+ case 'location':
7180
+ // 申请ak后需要设置白名单; https://lbsyun.baidu.com/apiconsole/key/create#/home
7181
+ // console.log('fie==>', field.name, field);
7182
+ let ak = "LiZT5dVbGTsPI91tFGcOlSpe5FDehpf7";
7183
+ let vendor = "baidu"; /* 'baidu' | 'gaode' */
7184
+ if(window.Meteor){
7185
+ const map_ak = Meteor.settings?.public?.amis?.map_ak;
7186
+ if(map_ak){
7187
+ ak = map_ak;
7188
+ }
7189
+ const map_vendor = Meteor.settings?.public?.amis?.map_vendor;
7190
+ if(map_vendor){
7191
+ vendor = map_vendor;
7192
+ }
7193
+ }
7194
+
7195
+ convertData = {
7196
+ type: getAmisStaticFieldType('location', readonly),
7197
+ tpl: readonly ? getLocationTpl(field) : null,
7198
+ ak,
7199
+ vendor,
7200
+ label: field.label
7201
+ };
7202
+ break;
7167
7203
  case 'avatar':
7168
7204
  convertData = getAmisFileSchema(field, readonly);
7169
7205
  break;
@@ -7485,26 +7521,45 @@ async function getQuickEditSchema(field, options){
7485
7521
  let labelField = quickEditSchema.body[0].labelField || "label";
7486
7522
  let valueField = quickEditSchema.body[0].valueField || "value";
7487
7523
  if (field.multiple) {
7524
+ /*
7525
+ 多选分两种情况。
7526
+ 第一种是减少选项时(判断新的数据是否比老的数据短),按照index删除_display中对应选项,保证回显没问题;
7527
+ 第二种是增加选项时,按照value的值,找到对应选项,并按照_display的规则为其赋值
7528
+ */
7488
7529
  TempDisplayField = `
7530
+ const preData = event.data.__super.${field.name};
7531
+ if(preData && event.data.${field.name}.length < preData.length){
7532
+ let deletedIndex;
7533
+ preData.forEach(function(item,index){
7534
+ if(_.indexOf(event.data.${field.name}, item) == -1) _display["${field.name}"].splice(index, 1);
7535
+ })
7536
+ }else{
7489
7537
  _display["${field.name}"] = [];
7490
- event.data.selectedItems.forEach(function(item,index){
7538
+ event.data.value.forEach(function(val,index){
7539
+ const item = _.find(event.data.selectedItems, { ${valueField}: val });
7491
7540
  _display["${field.name}"].push(
7492
7541
  {
7493
7542
  "label": item.${labelField},
7494
- "value": item.${valueField},
7543
+ "value": item[event.data.uiSchema.idFieldName],
7495
7544
  "objectName": "${field.reference_to}"
7496
7545
  }
7497
7546
  )
7498
7547
  })
7499
- `;
7548
+ }
7549
+
7550
+ `;
7500
7551
  } else {
7501
7552
  TempDisplayField = `
7553
+ if(event.data.value){
7502
7554
  _display["${field.name}"] = {
7503
7555
  "label": event.data.selectedItems.${labelField},
7504
- "value": event.data.selectedItems.${valueField},
7556
+ "value": event.data.selectedItems[event.data.uiSchema.idFieldName],
7505
7557
  "objectName": "${field.reference_to}"
7506
7558
  }
7507
- `;
7559
+ }else{
7560
+ _display["${field.name}"] = {}
7561
+ }
7562
+ `;
7508
7563
  }
7509
7564
  quickEditSchema.body[0].onEvent["change"] = quickEditOnEvent(TempDisplayField);
7510
7565
  break;
@@ -7636,6 +7691,10 @@ async function getTableColumns(fields, options){
7636
7691
  for (const field of fields) {
7637
7692
  //增加quickEdit属性,实现快速编辑
7638
7693
  const quickEditSchema = allowEdit ? await getQuickEditSchema(field, options) : allowEdit;
7694
+ let className = "";
7695
+ if(field.wrap != true){
7696
+ className += " whitespace-nowrap";
7697
+ }
7639
7698
  if((field.is_name || field.name === options.labelFieldName) && options.objectName === 'cms_files'){
7640
7699
  const previewFileScript = `
7641
7700
  var data = event.data;
@@ -7646,7 +7705,7 @@ async function getTableColumns(fields, options){
7646
7705
  columns.push({
7647
7706
  "type": "button",
7648
7707
  "label": `<%=data.versions ? data.name : "${field.label}"%>`,
7649
- "className": "whitespace-nowrap",
7708
+ className,
7650
7709
  "level": "link",
7651
7710
  "quickEdit": quickEditSchema,
7652
7711
  "onEvent": {
@@ -7683,7 +7742,7 @@ async function getTableColumns(fields, options){
7683
7742
  width: getFieldWidth(field.width),
7684
7743
  toggled: field.toggled,
7685
7744
  static: true,
7686
- className:"whitespace-nowrap",
7745
+ className,
7687
7746
  quickEdit: quickEditSchema
7688
7747
  }, field.amis, {name: field.name}));
7689
7748
  }else if(field.type === 'avatar' || field.type === 'image' || field.type === 'file'){
@@ -7695,16 +7754,12 @@ async function getTableColumns(fields, options){
7695
7754
  toggled: field.toggled,
7696
7755
  quickEdit: quickEditSchema,
7697
7756
  static: true,
7698
- className:"whitespace-nowrap",
7757
+ className,
7699
7758
  ...getAmisFileReadonlySchema(field)
7700
7759
  }, field.amis, {name: field.name}));
7701
7760
  }
7702
7761
  else if(field.type === 'select'){
7703
7762
  const map = getSelectMap(field.options);
7704
- let className = "";
7705
- if(field.wrap === false){
7706
- className += " whitespace-nowrap";
7707
- }
7708
7763
  columns.push(Object.assign({}, {
7709
7764
  type: "mapping",
7710
7765
  name: field.name,
@@ -7732,12 +7787,8 @@ async function getTableColumns(fields, options){
7732
7787
  type = 'input-url';
7733
7788
  }
7734
7789
  }
7735
- let className = "";
7736
7790
  if(field.type === 'textarea'){
7737
- className = 'min-w-56';
7738
- }
7739
- if(field.wrap === false){
7740
- className += " whitespace-nowrap";
7791
+ className += 'min-w-56';
7741
7792
  }
7742
7793
  if(!field.hidden && !field.extra){
7743
7794
  columns.push(Object.assign({}, {
@@ -7757,6 +7808,7 @@ async function getTableColumns(fields, options){
7757
7808
  }, field.amis, {name: field.name}));
7758
7809
  }
7759
7810
  }
7811
+
7760
7812
  }
7761
7813
  // columns.push(getOperation(fields));
7762
7814
  if(!___namespace.some(columns, { name: options.labelFieldName })){
@@ -9297,13 +9349,13 @@ async function getObjectCalendar(objectSchema, calendarOptions, options) {
9297
9349
  "selectMirror": permissions.allowCreate,
9298
9350
  "initialView": initialView,
9299
9351
  "businessHours": businessHours,
9300
- ...config,
9301
- "onEvent": onEvent,
9302
9352
  "views":{
9303
9353
  listWeek: {
9304
9354
  buttonText: i18next__default["default"].t('frontend_calendar_listWeek')
9305
9355
  }
9306
- }
9356
+ },
9357
+ ...config,
9358
+ "onEvent": onEvent
9307
9359
  };
9308
9360
  return amisSchema;
9309
9361
  }