@steedos-widgets/amis-object 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.
@@ -814,9 +814,6 @@ fieldset.antd-Collapse > legend{
814
814
  .pl-1 {
815
815
  padding-left: 0.25rem
816
816
  }
817
- .pl-0 {
818
- padding-left: 0px
819
- }
820
817
  .pr-4 {
821
818
  padding-right: 1rem
822
819
  }
@@ -1169,6 +1166,11 @@ fieldset.antd-Collapse > legend{
1169
1166
  .steedos-record-detail-related-lists .steedos-record-related-list .steedos-object-table .antd-Table-footToolbar {
1170
1167
  display: none;
1171
1168
  }
1169
+ }
1170
+ .steedos-select-user > .antd-Form {
1171
+ margin-left: -200px;
1172
+ }
1173
+ @media (max-width: 576px) {
1172
1174
  .antd-Crud-toolbar {
1173
1175
  flex-basis: 0;
1174
1176
  flex-grow: 1;
@@ -1507,6 +1509,9 @@ fieldset.antd-Collapse > legend{
1507
1509
  .steedos-object-listview .antd-Table-content {
1508
1510
  max-height: calc(100vh - 263px);
1509
1511
  }
1512
+ .steedos-object-table .antd-Table-content {
1513
+ max-height: calc(100vh - 195px);
1514
+ }
1510
1515
  .steedos-global-footer-root .antd-Nav-Menu-horizontal:after {
1511
1516
  /*手机端底部导航左右间隔不平衡*/
1512
1517
  content: unset;
@@ -3540,8 +3540,8 @@ function getContrastColor(bgColor) {
3540
3540
  /*
3541
3541
  * @Author: baozhoutao@steedos.com
3542
3542
  * @Date: 2022-05-23 09:53:08
3543
- * @LastEditors: Please set LastEditors
3544
- * @LastEditTime: 2023-05-22 15:13:18
3543
+ * @LastEditors: liaodaxue
3544
+ * @LastEditTime: 2023-07-28 16:26:31
3545
3545
  * @Description:
3546
3546
  */
3547
3547
 
@@ -3725,6 +3725,9 @@ function getPasswordTpl(field){
3725
3725
  <% } %>`
3726
3726
  }
3727
3727
 
3728
+ function getLocationTpl(field){
3729
+ return `\${${field.name} ? ${field.name}.address : ''}`
3730
+ }
3728
3731
 
3729
3732
  async function getFieldTpl (field, options){
3730
3733
  if((field.is_name || field.name === options.labelFieldName) && !options.onlyDisplayLabel){
@@ -3749,6 +3752,8 @@ async function getFieldTpl (field, options){
3749
3752
  return await getRelatedFieldTpl(field, options);
3750
3753
  case 'master_detail':
3751
3754
  return await getRelatedFieldTpl(field, options);
3755
+ case 'location':
3756
+ return await getLocationTpl(field);
3752
3757
  case 'number':
3753
3758
  case 'currency':
3754
3759
  return await getNumberTpl(field);
@@ -4091,6 +4096,7 @@ var frontend_form_save_and_new$1 = "Save and New";
4091
4096
  var frontend_form_cancel$1 = "Cancel";
4092
4097
  var frontend_form_new$1 = "New";
4093
4098
  var frontend_form_edit$1 = "Edit";
4099
+ var frontend_form_preview$1 = "Preview";
4094
4100
  var frontend_form_select$1 = "Select";
4095
4101
  var frontend_form_please_select$1 = "Please select";
4096
4102
  var frontend_form_confirm$1 = "Confirm";
@@ -4173,6 +4179,7 @@ var en_us = {
4173
4179
  frontend_form_cancel: frontend_form_cancel$1,
4174
4180
  frontend_form_new: frontend_form_new$1,
4175
4181
  frontend_form_edit: frontend_form_edit$1,
4182
+ frontend_form_preview: frontend_form_preview$1,
4176
4183
  frontend_form_select: frontend_form_select$1,
4177
4184
  frontend_form_please_select: frontend_form_please_select$1,
4178
4185
  frontend_form_confirm: frontend_form_confirm$1,
@@ -4256,6 +4263,7 @@ var frontend_form_save_and_new = "保存并新建";
4256
4263
  var frontend_form_cancel = "取消";
4257
4264
  var frontend_form_new = "新建";
4258
4265
  var frontend_form_edit = "编辑";
4266
+ var frontend_form_preview = "预览";
4259
4267
  var frontend_form_select = "选择";
4260
4268
  var frontend_form_please_select = "请选择";
4261
4269
  var frontend_form_confirm = "确认";
@@ -4339,6 +4347,7 @@ var zh_cn = {
4339
4347
  frontend_form_cancel: frontend_form_cancel,
4340
4348
  frontend_form_new: frontend_form_new,
4341
4349
  frontend_form_edit: frontend_form_edit,
4350
+ frontend_form_preview: frontend_form_preview,
4342
4351
  frontend_form_select: frontend_form_select,
4343
4352
  frontend_form_please_select: frontend_form_please_select,
4344
4353
  frontend_form_confirm: frontend_form_confirm,
@@ -8777,7 +8786,7 @@ function getLookupSapceUserTreeSchema(){
8777
8786
  const tree = [{
8778
8787
  "type": "input-tree",
8779
8788
  "className": "",
8780
- "inputClassName": "pl-0",
8789
+ "inputClassName": "p-0",
8781
8790
  "id": "u:7fd77b7915b0",
8782
8791
  "source": {
8783
8792
  "method": "post",
@@ -8838,7 +8847,7 @@ function getLookupSapceUserTreeSchema(){
8838
8847
  "left": "-200px",
8839
8848
  "width": "190px",
8840
8849
  "bottom": 0,
8841
- "top": "-14px",
8850
+ "top": "2px",
8842
8851
  "overflow": "auto",
8843
8852
  "min-height":"300px"
8844
8853
  },
@@ -9104,7 +9113,9 @@ async function lookupToAmisPicker(field, readonly, ctx){
9104
9113
  "margin-left":"200px",
9105
9114
  "min-height": "300px"
9106
9115
  };
9116
+ pickerSchema.className = pickerSchema.className || "" + " steedos-select-user";
9107
9117
  }
9118
+
9108
9119
  pickerSchema.headerToolbar = getObjectHeaderToolbar(refObjectConfig, ctx.formFactor, { headerToolbarItems });
9109
9120
  const isAllowCreate = refObjectConfig.permissions.allowCreate;
9110
9121
  if (isAllowCreate) {
@@ -9599,11 +9610,10 @@ async function getIdsPickerSchema(field, readonly, ctx){
9599
9610
  * @Author: baozhoutao@steedos.com
9600
9611
  * @Date: 2023-01-13 17:27:54
9601
9612
  * @LastEditors: liaodaxue
9602
- * @LastEditTime: 2023-07-24 15:23:12
9613
+ * @LastEditTime: 2023-07-27 17:33:54
9603
9614
  * @Description:
9604
9615
  */
9605
9616
 
9606
-
9607
9617
  const getMarkdownFieldSchema = (field, readonly, ctx)=>{
9608
9618
  if(readonly){
9609
9619
  return {
@@ -9630,7 +9640,7 @@ const getMarkdownFieldSchema = (field, readonly, ctx)=>{
9630
9640
  "className": "steedos-markdown",
9631
9641
  "tabs": [
9632
9642
  {
9633
- "title": "Write",
9643
+ "title": instance.t('frontend_form_edit'),
9634
9644
  "tab": [
9635
9645
  {
9636
9646
  "type": "editor",
@@ -9640,7 +9650,7 @@ const getMarkdownFieldSchema = (field, readonly, ctx)=>{
9640
9650
  ]
9641
9651
  },
9642
9652
  {
9643
- "title": "Preview",
9653
+ "title": instance.t('frontend_form_preview'),
9644
9654
  "tab": [
9645
9655
  {
9646
9656
  "type": "markdown",
@@ -9697,7 +9707,7 @@ const getHtmlFieldSchema = (field, readonly, ctx)=>{
9697
9707
  * @Author: baozhoutao@steedos.com
9698
9708
  * @Date: 2022-10-28 14:52:55
9699
9709
  * @LastEditors: liaodaxue
9700
- * @LastEditTime: 2023-07-14 17:18:42
9710
+ * @LastEditTime: 2023-07-28 16:16:29
9701
9711
  * @Description:
9702
9712
  */
9703
9713
 
@@ -9721,6 +9731,8 @@ function getAmisStaticFieldType(type, readonly, options){
9721
9731
  if(!readonly){
9722
9732
  if(___default.includes(AmisFormInputs, type)){
9723
9733
  return `input-${type}`;
9734
+ }else if(type === 'location'){
9735
+ return "location-picker"
9724
9736
  }
9725
9737
  return type;
9726
9738
  }
@@ -10278,6 +10290,30 @@ async function convertSFieldToAmisField(field, readonly, ctx) {
10278
10290
  type: getAmisStaticFieldType('email', readonly)
10279
10291
  };
10280
10292
  break;
10293
+ case 'location':
10294
+ // 申请ak后需要设置白名单; https://lbsyun.baidu.com/apiconsole/key/create#/home
10295
+ // console.log('fie==>', field.name, field);
10296
+ let ak = "LiZT5dVbGTsPI91tFGcOlSpe5FDehpf7";
10297
+ let vendor = "baidu"; /* 'baidu' | 'gaode' */
10298
+ if(window.Meteor){
10299
+ const map_ak = Meteor.settings?.public?.amis?.map_ak;
10300
+ if(map_ak){
10301
+ ak = map_ak;
10302
+ }
10303
+ const map_vendor = Meteor.settings?.public?.amis?.map_vendor;
10304
+ if(map_vendor){
10305
+ vendor = map_vendor;
10306
+ }
10307
+ }
10308
+
10309
+ convertData = {
10310
+ type: getAmisStaticFieldType('location', readonly),
10311
+ tpl: readonly ? getLocationTpl(field) : null,
10312
+ ak,
10313
+ vendor,
10314
+ label: field.label
10315
+ };
10316
+ break;
10281
10317
  case 'avatar':
10282
10318
  convertData = getAmisFileSchema(field, readonly);
10283
10319
  break;
@@ -10599,26 +10635,45 @@ async function getQuickEditSchema(field, options){
10599
10635
  let labelField = quickEditSchema.body[0].labelField || "label";
10600
10636
  let valueField = quickEditSchema.body[0].valueField || "value";
10601
10637
  if (field.multiple) {
10638
+ /*
10639
+ 多选分两种情况。
10640
+ 第一种是减少选项时(判断新的数据是否比老的数据短),按照index删除_display中对应选项,保证回显没问题;
10641
+ 第二种是增加选项时,按照value的值,找到对应选项,并按照_display的规则为其赋值
10642
+ */
10602
10643
  TempDisplayField = `
10644
+ const preData = event.data.__super.${field.name};
10645
+ if(preData && event.data.${field.name}.length < preData.length){
10646
+ let deletedIndex;
10647
+ preData.forEach(function(item,index){
10648
+ if(_.indexOf(event.data.${field.name}, item) == -1) _display["${field.name}"].splice(index, 1);
10649
+ })
10650
+ }else{
10603
10651
  _display["${field.name}"] = [];
10604
- event.data.selectedItems.forEach(function(item,index){
10652
+ event.data.value.forEach(function(val,index){
10653
+ const item = _.find(event.data.selectedItems, { ${valueField}: val });
10605
10654
  _display["${field.name}"].push(
10606
10655
  {
10607
10656
  "label": item.${labelField},
10608
- "value": item.${valueField},
10657
+ "value": item[event.data.uiSchema.idFieldName],
10609
10658
  "objectName": "${field.reference_to}"
10610
10659
  }
10611
10660
  )
10612
10661
  })
10613
- `;
10662
+ }
10663
+
10664
+ `;
10614
10665
  } else {
10615
10666
  TempDisplayField = `
10667
+ if(event.data.value){
10616
10668
  _display["${field.name}"] = {
10617
10669
  "label": event.data.selectedItems.${labelField},
10618
- "value": event.data.selectedItems.${valueField},
10670
+ "value": event.data.selectedItems[event.data.uiSchema.idFieldName],
10619
10671
  "objectName": "${field.reference_to}"
10620
10672
  }
10621
- `;
10673
+ }else{
10674
+ _display["${field.name}"] = {}
10675
+ }
10676
+ `;
10622
10677
  }
10623
10678
  quickEditSchema.body[0].onEvent["change"] = quickEditOnEvent(TempDisplayField);
10624
10679
  break;
@@ -10750,6 +10805,10 @@ async function getTableColumns$1(fields, options){
10750
10805
  for (const field of fields) {
10751
10806
  //增加quickEdit属性,实现快速编辑
10752
10807
  const quickEditSchema = allowEdit ? await getQuickEditSchema(field, options) : allowEdit;
10808
+ let className = "";
10809
+ if(field.wrap != true){
10810
+ className += " whitespace-nowrap";
10811
+ }
10753
10812
  if((field.is_name || field.name === options.labelFieldName) && options.objectName === 'cms_files'){
10754
10813
  const previewFileScript = `
10755
10814
  var data = event.data;
@@ -10760,7 +10819,7 @@ async function getTableColumns$1(fields, options){
10760
10819
  columns.push({
10761
10820
  "type": "button",
10762
10821
  "label": `<%=data.versions ? data.name : "${field.label}"%>`,
10763
- "className": "whitespace-nowrap",
10822
+ className,
10764
10823
  "level": "link",
10765
10824
  "quickEdit": quickEditSchema,
10766
10825
  "onEvent": {
@@ -10797,7 +10856,7 @@ async function getTableColumns$1(fields, options){
10797
10856
  width: getFieldWidth(field.width),
10798
10857
  toggled: field.toggled,
10799
10858
  static: true,
10800
- className:"whitespace-nowrap",
10859
+ className,
10801
10860
  quickEdit: quickEditSchema
10802
10861
  }, field.amis, {name: field.name}));
10803
10862
  }else if(field.type === 'avatar' || field.type === 'image' || field.type === 'file'){
@@ -10809,16 +10868,12 @@ async function getTableColumns$1(fields, options){
10809
10868
  toggled: field.toggled,
10810
10869
  quickEdit: quickEditSchema,
10811
10870
  static: true,
10812
- className:"whitespace-nowrap",
10871
+ className,
10813
10872
  ...getAmisFileReadonlySchema(field)
10814
10873
  }, field.amis, {name: field.name}));
10815
10874
  }
10816
10875
  else if(field.type === 'select'){
10817
10876
  const map = getSelectMap(field.options);
10818
- let className = "";
10819
- if(field.wrap === false){
10820
- className += " whitespace-nowrap";
10821
- }
10822
10877
  columns.push(Object.assign({}, {
10823
10878
  type: "mapping",
10824
10879
  name: field.name,
@@ -10846,12 +10901,8 @@ async function getTableColumns$1(fields, options){
10846
10901
  type = 'input-url';
10847
10902
  }
10848
10903
  }
10849
- let className = "";
10850
10904
  if(field.type === 'textarea'){
10851
- className = 'min-w-56';
10852
- }
10853
- if(field.wrap === false){
10854
- className += " whitespace-nowrap";
10905
+ className += 'min-w-56';
10855
10906
  }
10856
10907
  if(!field.hidden && !field.extra){
10857
10908
  columns.push(Object.assign({}, {
@@ -10871,6 +10922,7 @@ async function getTableColumns$1(fields, options){
10871
10922
  }, field.amis, {name: field.name}));
10872
10923
  }
10873
10924
  }
10925
+
10874
10926
  }
10875
10927
  // columns.push(getOperation(fields));
10876
10928
  if(!___default.some(columns, { name: options.labelFieldName })){
@@ -12411,13 +12463,13 @@ async function getObjectCalendar(objectSchema, calendarOptions, options) {
12411
12463
  "selectMirror": permissions.allowCreate,
12412
12464
  "initialView": initialView,
12413
12465
  "businessHours": businessHours,
12414
- ...config,
12415
- "onEvent": onEvent,
12416
12466
  "views":{
12417
12467
  listWeek: {
12418
12468
  buttonText: instance.t('frontend_calendar_listWeek')
12419
12469
  }
12420
- }
12470
+ },
12471
+ ...config,
12472
+ "onEvent": onEvent
12421
12473
  };
12422
12474
  return amisSchema;
12423
12475
  }
@@ -17852,7 +17904,7 @@ var AmisRecordDetailRelatedList = function (props) { return __awaiter(void 0, vo
17852
17904
  return [4 /*yield*/, getRecordDetailRelatedListSchema(objectApiName, recordId, relatedObjectApiName, relatedKey, { top: top, perPage: perPage, appId: appId, relatedLabel: relatedLabel, className: className, formFactor: formFactor, columns: columns, sort: sort, filters: filters, visible_on: visible_on, isRelated: true, hiddenEmptyTable: hiddenEmptyTable, requestAdaptor: requestAdaptor, adaptor: adaptor })];
17853
17905
  case 1:
17854
17906
  schema = (_c.sent()).amisSchema;
17855
- schema.data = Object.assign(schema.data, formData);
17907
+ schema.data = Object.assign(schema.data || {}, formData);
17856
17908
  if (has(props, "recordId") && $schema.recordId !== "${recordId}") {
17857
17909
  schema.data = Object.assign(schema.data, {
17858
17910
  _master: {