@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;
@@ -3568,8 +3568,8 @@ function getContrastColor(bgColor) {
3568
3568
  /*
3569
3569
  * @Author: baozhoutao@steedos.com
3570
3570
  * @Date: 2022-05-23 09:53:08
3571
- * @LastEditors: Please set LastEditors
3572
- * @LastEditTime: 2023-05-22 15:13:18
3571
+ * @LastEditors: liaodaxue
3572
+ * @LastEditTime: 2023-07-28 16:26:31
3573
3573
  * @Description:
3574
3574
  */
3575
3575
 
@@ -3753,6 +3753,9 @@ function getPasswordTpl(field){
3753
3753
  <% } %>`
3754
3754
  }
3755
3755
 
3756
+ function getLocationTpl(field){
3757
+ return `\${${field.name} ? ${field.name}.address : ''}`
3758
+ }
3756
3759
 
3757
3760
  async function getFieldTpl (field, options){
3758
3761
  if((field.is_name || field.name === options.labelFieldName) && !options.onlyDisplayLabel){
@@ -3777,6 +3780,8 @@ async function getFieldTpl (field, options){
3777
3780
  return await getRelatedFieldTpl(field, options);
3778
3781
  case 'master_detail':
3779
3782
  return await getRelatedFieldTpl(field, options);
3783
+ case 'location':
3784
+ return await getLocationTpl(field);
3780
3785
  case 'number':
3781
3786
  case 'currency':
3782
3787
  return await getNumberTpl(field);
@@ -4119,6 +4124,7 @@ var frontend_form_save_and_new$1 = "Save and New";
4119
4124
  var frontend_form_cancel$1 = "Cancel";
4120
4125
  var frontend_form_new$1 = "New";
4121
4126
  var frontend_form_edit$1 = "Edit";
4127
+ var frontend_form_preview$1 = "Preview";
4122
4128
  var frontend_form_select$1 = "Select";
4123
4129
  var frontend_form_please_select$1 = "Please select";
4124
4130
  var frontend_form_confirm$1 = "Confirm";
@@ -4201,6 +4207,7 @@ var en_us = {
4201
4207
  frontend_form_cancel: frontend_form_cancel$1,
4202
4208
  frontend_form_new: frontend_form_new$1,
4203
4209
  frontend_form_edit: frontend_form_edit$1,
4210
+ frontend_form_preview: frontend_form_preview$1,
4204
4211
  frontend_form_select: frontend_form_select$1,
4205
4212
  frontend_form_please_select: frontend_form_please_select$1,
4206
4213
  frontend_form_confirm: frontend_form_confirm$1,
@@ -4284,6 +4291,7 @@ var frontend_form_save_and_new = "保存并新建";
4284
4291
  var frontend_form_cancel = "取消";
4285
4292
  var frontend_form_new = "新建";
4286
4293
  var frontend_form_edit = "编辑";
4294
+ var frontend_form_preview = "预览";
4287
4295
  var frontend_form_select = "选择";
4288
4296
  var frontend_form_please_select = "请选择";
4289
4297
  var frontend_form_confirm = "确认";
@@ -4367,6 +4375,7 @@ var zh_cn = {
4367
4375
  frontend_form_cancel: frontend_form_cancel,
4368
4376
  frontend_form_new: frontend_form_new,
4369
4377
  frontend_form_edit: frontend_form_edit,
4378
+ frontend_form_preview: frontend_form_preview,
4370
4379
  frontend_form_select: frontend_form_select,
4371
4380
  frontend_form_please_select: frontend_form_please_select,
4372
4381
  frontend_form_confirm: frontend_form_confirm,
@@ -8805,7 +8814,7 @@ function getLookupSapceUserTreeSchema(){
8805
8814
  const tree = [{
8806
8815
  "type": "input-tree",
8807
8816
  "className": "",
8808
- "inputClassName": "pl-0",
8817
+ "inputClassName": "p-0",
8809
8818
  "id": "u:7fd77b7915b0",
8810
8819
  "source": {
8811
8820
  "method": "post",
@@ -8866,7 +8875,7 @@ function getLookupSapceUserTreeSchema(){
8866
8875
  "left": "-200px",
8867
8876
  "width": "190px",
8868
8877
  "bottom": 0,
8869
- "top": "-14px",
8878
+ "top": "2px",
8870
8879
  "overflow": "auto",
8871
8880
  "min-height":"300px"
8872
8881
  },
@@ -9132,7 +9141,9 @@ async function lookupToAmisPicker(field, readonly, ctx){
9132
9141
  "margin-left":"200px",
9133
9142
  "min-height": "300px"
9134
9143
  };
9144
+ pickerSchema.className = pickerSchema.className || "" + " steedos-select-user";
9135
9145
  }
9146
+
9136
9147
  pickerSchema.headerToolbar = getObjectHeaderToolbar(refObjectConfig, ctx.formFactor, { headerToolbarItems });
9137
9148
  const isAllowCreate = refObjectConfig.permissions.allowCreate;
9138
9149
  if (isAllowCreate) {
@@ -9627,11 +9638,10 @@ async function getIdsPickerSchema(field, readonly, ctx){
9627
9638
  * @Author: baozhoutao@steedos.com
9628
9639
  * @Date: 2023-01-13 17:27:54
9629
9640
  * @LastEditors: liaodaxue
9630
- * @LastEditTime: 2023-07-24 15:23:12
9641
+ * @LastEditTime: 2023-07-27 17:33:54
9631
9642
  * @Description:
9632
9643
  */
9633
9644
 
9634
-
9635
9645
  const getMarkdownFieldSchema = (field, readonly, ctx)=>{
9636
9646
  if(readonly){
9637
9647
  return {
@@ -9658,7 +9668,7 @@ const getMarkdownFieldSchema = (field, readonly, ctx)=>{
9658
9668
  "className": "steedos-markdown",
9659
9669
  "tabs": [
9660
9670
  {
9661
- "title": "Write",
9671
+ "title": instance.t('frontend_form_edit'),
9662
9672
  "tab": [
9663
9673
  {
9664
9674
  "type": "editor",
@@ -9668,7 +9678,7 @@ const getMarkdownFieldSchema = (field, readonly, ctx)=>{
9668
9678
  ]
9669
9679
  },
9670
9680
  {
9671
- "title": "Preview",
9681
+ "title": instance.t('frontend_form_preview'),
9672
9682
  "tab": [
9673
9683
  {
9674
9684
  "type": "markdown",
@@ -9725,7 +9735,7 @@ const getHtmlFieldSchema = (field, readonly, ctx)=>{
9725
9735
  * @Author: baozhoutao@steedos.com
9726
9736
  * @Date: 2022-10-28 14:52:55
9727
9737
  * @LastEditors: liaodaxue
9728
- * @LastEditTime: 2023-07-14 17:18:42
9738
+ * @LastEditTime: 2023-07-28 16:16:29
9729
9739
  * @Description:
9730
9740
  */
9731
9741
 
@@ -9749,6 +9759,8 @@ function getAmisStaticFieldType(type, readonly, options){
9749
9759
  if(!readonly){
9750
9760
  if(___default__namespace.includes(AmisFormInputs, type)){
9751
9761
  return `input-${type}`;
9762
+ }else if(type === 'location'){
9763
+ return "location-picker"
9752
9764
  }
9753
9765
  return type;
9754
9766
  }
@@ -10306,6 +10318,30 @@ async function convertSFieldToAmisField(field, readonly, ctx) {
10306
10318
  type: getAmisStaticFieldType('email', readonly)
10307
10319
  };
10308
10320
  break;
10321
+ case 'location':
10322
+ // 申请ak后需要设置白名单; https://lbsyun.baidu.com/apiconsole/key/create#/home
10323
+ // console.log('fie==>', field.name, field);
10324
+ let ak = "LiZT5dVbGTsPI91tFGcOlSpe5FDehpf7";
10325
+ let vendor = "baidu"; /* 'baidu' | 'gaode' */
10326
+ if(window.Meteor){
10327
+ const map_ak = Meteor.settings?.public?.amis?.map_ak;
10328
+ if(map_ak){
10329
+ ak = map_ak;
10330
+ }
10331
+ const map_vendor = Meteor.settings?.public?.amis?.map_vendor;
10332
+ if(map_vendor){
10333
+ vendor = map_vendor;
10334
+ }
10335
+ }
10336
+
10337
+ convertData = {
10338
+ type: getAmisStaticFieldType('location', readonly),
10339
+ tpl: readonly ? getLocationTpl(field) : null,
10340
+ ak,
10341
+ vendor,
10342
+ label: field.label
10343
+ };
10344
+ break;
10309
10345
  case 'avatar':
10310
10346
  convertData = getAmisFileSchema(field, readonly);
10311
10347
  break;
@@ -10627,26 +10663,45 @@ async function getQuickEditSchema(field, options){
10627
10663
  let labelField = quickEditSchema.body[0].labelField || "label";
10628
10664
  let valueField = quickEditSchema.body[0].valueField || "value";
10629
10665
  if (field.multiple) {
10666
+ /*
10667
+ 多选分两种情况。
10668
+ 第一种是减少选项时(判断新的数据是否比老的数据短),按照index删除_display中对应选项,保证回显没问题;
10669
+ 第二种是增加选项时,按照value的值,找到对应选项,并按照_display的规则为其赋值
10670
+ */
10630
10671
  TempDisplayField = `
10672
+ const preData = event.data.__super.${field.name};
10673
+ if(preData && event.data.${field.name}.length < preData.length){
10674
+ let deletedIndex;
10675
+ preData.forEach(function(item,index){
10676
+ if(_.indexOf(event.data.${field.name}, item) == -1) _display["${field.name}"].splice(index, 1);
10677
+ })
10678
+ }else{
10631
10679
  _display["${field.name}"] = [];
10632
- event.data.selectedItems.forEach(function(item,index){
10680
+ event.data.value.forEach(function(val,index){
10681
+ const item = _.find(event.data.selectedItems, { ${valueField}: val });
10633
10682
  _display["${field.name}"].push(
10634
10683
  {
10635
10684
  "label": item.${labelField},
10636
- "value": item.${valueField},
10685
+ "value": item[event.data.uiSchema.idFieldName],
10637
10686
  "objectName": "${field.reference_to}"
10638
10687
  }
10639
10688
  )
10640
10689
  })
10641
- `;
10690
+ }
10691
+
10692
+ `;
10642
10693
  } else {
10643
10694
  TempDisplayField = `
10695
+ if(event.data.value){
10644
10696
  _display["${field.name}"] = {
10645
10697
  "label": event.data.selectedItems.${labelField},
10646
- "value": event.data.selectedItems.${valueField},
10698
+ "value": event.data.selectedItems[event.data.uiSchema.idFieldName],
10647
10699
  "objectName": "${field.reference_to}"
10648
10700
  }
10649
- `;
10701
+ }else{
10702
+ _display["${field.name}"] = {}
10703
+ }
10704
+ `;
10650
10705
  }
10651
10706
  quickEditSchema.body[0].onEvent["change"] = quickEditOnEvent(TempDisplayField);
10652
10707
  break;
@@ -10778,6 +10833,10 @@ async function getTableColumns$1(fields, options){
10778
10833
  for (const field of fields) {
10779
10834
  //增加quickEdit属性,实现快速编辑
10780
10835
  const quickEditSchema = allowEdit ? await getQuickEditSchema(field, options) : allowEdit;
10836
+ let className = "";
10837
+ if(field.wrap != true){
10838
+ className += " whitespace-nowrap";
10839
+ }
10781
10840
  if((field.is_name || field.name === options.labelFieldName) && options.objectName === 'cms_files'){
10782
10841
  const previewFileScript = `
10783
10842
  var data = event.data;
@@ -10788,7 +10847,7 @@ async function getTableColumns$1(fields, options){
10788
10847
  columns.push({
10789
10848
  "type": "button",
10790
10849
  "label": `<%=data.versions ? data.name : "${field.label}"%>`,
10791
- "className": "whitespace-nowrap",
10850
+ className,
10792
10851
  "level": "link",
10793
10852
  "quickEdit": quickEditSchema,
10794
10853
  "onEvent": {
@@ -10825,7 +10884,7 @@ async function getTableColumns$1(fields, options){
10825
10884
  width: getFieldWidth(field.width),
10826
10885
  toggled: field.toggled,
10827
10886
  static: true,
10828
- className:"whitespace-nowrap",
10887
+ className,
10829
10888
  quickEdit: quickEditSchema
10830
10889
  }, field.amis, {name: field.name}));
10831
10890
  }else if(field.type === 'avatar' || field.type === 'image' || field.type === 'file'){
@@ -10837,16 +10896,12 @@ async function getTableColumns$1(fields, options){
10837
10896
  toggled: field.toggled,
10838
10897
  quickEdit: quickEditSchema,
10839
10898
  static: true,
10840
- className:"whitespace-nowrap",
10899
+ className,
10841
10900
  ...getAmisFileReadonlySchema(field)
10842
10901
  }, field.amis, {name: field.name}));
10843
10902
  }
10844
10903
  else if(field.type === 'select'){
10845
10904
  const map = getSelectMap(field.options);
10846
- let className = "";
10847
- if(field.wrap === false){
10848
- className += " whitespace-nowrap";
10849
- }
10850
10905
  columns.push(Object.assign({}, {
10851
10906
  type: "mapping",
10852
10907
  name: field.name,
@@ -10874,12 +10929,8 @@ async function getTableColumns$1(fields, options){
10874
10929
  type = 'input-url';
10875
10930
  }
10876
10931
  }
10877
- let className = "";
10878
10932
  if(field.type === 'textarea'){
10879
- className = 'min-w-56';
10880
- }
10881
- if(field.wrap === false){
10882
- className += " whitespace-nowrap";
10933
+ className += 'min-w-56';
10883
10934
  }
10884
10935
  if(!field.hidden && !field.extra){
10885
10936
  columns.push(Object.assign({}, {
@@ -10899,6 +10950,7 @@ async function getTableColumns$1(fields, options){
10899
10950
  }, field.amis, {name: field.name}));
10900
10951
  }
10901
10952
  }
10953
+
10902
10954
  }
10903
10955
  // columns.push(getOperation(fields));
10904
10956
  if(!___default__namespace.some(columns, { name: options.labelFieldName })){
@@ -12439,13 +12491,13 @@ async function getObjectCalendar(objectSchema, calendarOptions, options) {
12439
12491
  "selectMirror": permissions.allowCreate,
12440
12492
  "initialView": initialView,
12441
12493
  "businessHours": businessHours,
12442
- ...config,
12443
- "onEvent": onEvent,
12444
12494
  "views":{
12445
12495
  listWeek: {
12446
12496
  buttonText: instance.t('frontend_calendar_listWeek')
12447
12497
  }
12448
- }
12498
+ },
12499
+ ...config,
12500
+ "onEvent": onEvent
12449
12501
  };
12450
12502
  return amisSchema;
12451
12503
  }
@@ -17880,7 +17932,7 @@ var AmisRecordDetailRelatedList = function (props) { return __awaiter(void 0, vo
17880
17932
  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 })];
17881
17933
  case 1:
17882
17934
  schema = (_c.sent()).amisSchema;
17883
- schema.data = Object.assign(schema.data, formData);
17935
+ schema.data = Object.assign(schema.data || {}, formData);
17884
17936
  if (___default.has(props, "recordId") && $schema.recordId !== "${recordId}") {
17885
17937
  schema.data = Object.assign(schema.data, {
17886
17938
  _master: {