@steedos-widgets/amis-object 1.2.39-beta.1 → 1.2.40

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.
@@ -419,12 +419,12 @@ fieldset.antd-Collapse > legend{
419
419
  .mr-4 {
420
420
  margin-right: 1rem
421
421
  }
422
- .mr-2 {
423
- margin-right: 0.5rem
424
- }
425
422
  .mr-1 {
426
423
  margin-right: 0.25rem
427
424
  }
425
+ .mr-2 {
426
+ margin-right: 0.5rem
427
+ }
428
428
  .mt-0\.5 {
429
429
  margin-top: 0.125rem
430
430
  }
@@ -1185,7 +1185,7 @@ fieldset.antd-Collapse > legend{
1185
1185
  position: unset;
1186
1186
  }
1187
1187
  .steedos-select-user .antd-Table .antd-Table-content {
1188
- max-height: calc(100vh - 560px);
1188
+ max-height: calc(100vh - 343px);
1189
1189
  }
1190
1190
  .steedos-select-user .antd-Table .antd-SearchBox {
1191
1191
  margin-top: 0;
@@ -1363,6 +1363,41 @@ fieldset.antd-Collapse > legend{
1363
1363
  width: 100%;
1364
1364
  justify-content: unset;
1365
1365
  }
1366
+ /*
1367
+ 列表快速搜索,手机端及PC端分栏模式需要独占一行
1368
+ */
1369
+ .steedos-crud-mobile-search-box .antd-Crud .antd-Crud-toolbar .antd-Crud-toolbar-item--right:last-child {
1370
+ width: 100%;
1371
+ margin-top: 8px;
1372
+ }
1373
+ .steedos-crud-mobile-search-box .antd-Crud .antd-Crud-toolbar .antd-Crud-toolbar-item--right:last-child .antd-TooltipWrapper {
1374
+ width: 100%;
1375
+ }
1376
+ .steedos-crud-mobile-search-box .antd-Crud .antd-Crud-toolbar .antd-Crud-toolbar-item--right:last-child .antd-TooltipWrapper .antd-SearchBox.is-active {
1377
+ width: 100%;
1378
+ }
1379
+ .page-list-split .steedos-object-listview .antd-Crud .antd-Crud-toolbar .antd-Crud-toolbar-item--right:last-child {
1380
+ width: 100%;
1381
+ margin-top: 8px;
1382
+ }
1383
+ .page-list-split .steedos-object-listview .antd-Crud .antd-Crud-toolbar .antd-Crud-toolbar-item--right:last-child .antd-TooltipWrapper {
1384
+ width: 100%;
1385
+ }
1386
+ .page-list-split .steedos-object-listview .antd-Crud .antd-Crud-toolbar .antd-Crud-toolbar-item--right:last-child .antd-TooltipWrapper .antd-SearchBox.is-active {
1387
+ width: 100%;
1388
+ }
1389
+ @media (max-width: 768px) {
1390
+ .steedos-object-listview .antd-Crud .antd-Crud-toolbar .antd-Crud-toolbar-item--right:last-child {
1391
+ width: 100%;
1392
+ margin-top: 8px;
1393
+ }
1394
+ .steedos-object-listview .antd-Crud .antd-Crud-toolbar .antd-Crud-toolbar-item--right:last-child .antd-TooltipWrapper {
1395
+ width: 100%;
1396
+ }
1397
+ .steedos-object-listview .antd-Crud .antd-Crud-toolbar .antd-Crud-toolbar-item--right:last-child .antd-TooltipWrapper .antd-SearchBox.is-active {
1398
+ width: 100%;
1399
+ }
1400
+ }
1366
1401
 
1367
1402
  @media (min-width: 767px) {
1368
1403
  .steedos-object-table tbody td.antd-Field--quickEditable div {
@@ -6452,6 +6452,7 @@
6452
6452
  }
6453
6453
  const btnSearchId = "btn_filter_form_search_" + new Date().getTime();
6454
6454
  const filterFormSchema = await getObjectFieldsFilterFormSchema(ctx);
6455
+ const keywordsSearchBoxName = ctx.keywordsSearchBoxName || "__keywords";
6455
6456
  const onSearchScript = `
6456
6457
  const scope = event.context.scoped;
6457
6458
  var filterForm = scope.parent.parent.getComponents().find(function(n){
@@ -6537,6 +6538,11 @@
6537
6538
  }
6538
6539
  }
6539
6540
  }
6541
+ else{
6542
+ const keywordsSearchBoxName = "${keywordsSearchBoxName}";
6543
+ //lookup字段保留快速搜索条件
6544
+ removedValues[keywordsSearchBoxName] = filterFormValues[keywordsSearchBoxName];
6545
+ }
6540
6546
  filterForm.reset();
6541
6547
  listView.handleFilterSubmit(removedValues);
6542
6548
  const filterService = filterForm.context.getComponents().find(function(n){
@@ -8404,24 +8410,51 @@ crudService && crudService.setData({showFieldsFilter: toShowFieldsFilter});
8404
8410
  // }
8405
8411
  `;
8406
8412
 
8407
-
8408
- function getObjectHeaderToolbar(mainObject, fields, formFactor, {showDisplayAs = false, hiddenCount = false, headerToolbarItems, filterVisible = true} = {}){
8409
- // console.log(`getObjectHeaderToolbar====>`, filterVisible)
8410
- // console.log(`getObjectHeaderToolbar`, mainObject)
8413
+ function getObjectHeaderQuickSearchBox(mainObject, fields, formFactor, { isLookup = false, keywordsSearchBoxName = "__keywords" } = {}){
8411
8414
  const searchableFieldsLabel = [];
8412
8415
  _.each(fields, function (field) {
8413
- if (field.searchable) {
8416
+ if (isFieldQuickSearchable(field, mainObject.NAME_FIELD_KEY)) {
8414
8417
  searchableFieldsLabel.push(field.label);
8415
8418
  }
8416
8419
  });
8420
+
8417
8421
  const listViewPropsStoreKey = location.pathname + "/crud";
8418
8422
  let localListViewProps = sessionStorage.getItem(listViewPropsStoreKey);
8419
8423
  let crudKeywords = "";
8420
- if(localListViewProps){
8424
+ if(localListViewProps && !isLookup){
8421
8425
  localListViewProps = JSON.parse(localListViewProps);
8422
8426
  crudKeywords = (localListViewProps && localListViewProps.__keywords) || "";
8423
8427
  }
8424
8428
 
8429
+ return {
8430
+ "type": "tooltip-wrapper",
8431
+ "align": "right",
8432
+ "title": "",
8433
+ "content": "可搜索字段:" + searchableFieldsLabel.join(","),
8434
+ "placement": "bottom",
8435
+ "tooltipTheme": "dark",
8436
+ "trigger": "click",
8437
+ "className": formFactor !== 'SMALL' ? "mr-1" : '',
8438
+ "visible": !!searchableFieldsLabel.length,
8439
+ "body": [
8440
+ {
8441
+ "type": "search-box",
8442
+ "name": keywordsSearchBoxName,
8443
+ "placeholder": "快速搜索",
8444
+ "value": crudKeywords,
8445
+ "clearable": true,
8446
+ "clearAndSubmit": true
8447
+ }
8448
+ ]
8449
+ }
8450
+ }
8451
+
8452
+ function getObjectHeaderToolbar(mainObject, fields, formFactor, {
8453
+ showDisplayAs = false, hiddenCount = false, headerToolbarItems,
8454
+ filterVisible = true, isLookup = false, keywordsSearchBoxName } = {}){
8455
+ // console.log(`getObjectHeaderToolbar====>`, filterVisible)
8456
+ // console.log(`getObjectHeaderToolbar`, mainObject)
8457
+
8425
8458
  const isMobile = window.innerWidth < 768;
8426
8459
  if(isMobile){
8427
8460
  showDisplayAs = false;
@@ -8477,7 +8510,7 @@ crudService && crudService.setData({showFieldsFilter: toShowFieldsFilter});
8477
8510
  ],
8478
8511
  "size":8,
8479
8512
  "animation": true,
8480
- "visibleOn": "${isFieldsFilterEmpty == false}"
8513
+ "visibleOn": "${isFieldsFilterEmpty == false && isLookup != true}"
8481
8514
  },
8482
8515
  "align": "right",
8483
8516
  "className": "bg-white p-2 rounded border-gray-300 text-gray-500",
@@ -8492,7 +8525,8 @@ crudService && crudService.setData({showFieldsFilter: toShowFieldsFilter});
8492
8525
  }
8493
8526
  }
8494
8527
  } : {},
8495
- getDisplayAsButton(mainObject?.name)
8528
+ getDisplayAsButton(mainObject?.name),
8529
+ getObjectHeaderQuickSearchBox(mainObject, fields, formFactor, { isLookup, keywordsSearchBoxName })
8496
8530
  ]
8497
8531
  }else {
8498
8532
  return [
@@ -8525,7 +8559,7 @@ crudService && crudService.setData({showFieldsFilter: toShowFieldsFilter});
8525
8559
  ],
8526
8560
  "size":8,
8527
8561
  "animation": true,
8528
- "visibleOn": "${isFieldsFilterEmpty == false}"
8562
+ "visibleOn": "${isFieldsFilterEmpty == false && isLookup != true}"
8529
8563
  },
8530
8564
  "align": "right",
8531
8565
  "className": "bg-white p-2 rounded border-gray-300 text-gray-500",
@@ -8552,26 +8586,7 @@ crudService && crudService.setData({showFieldsFilter: toShowFieldsFilter});
8552
8586
  // getExportExcelToolbarButtonSchema(),
8553
8587
  mainObject?.permissions?.allowCreateListViews ? getSettingListviewToolbarButtonSchema() : {},
8554
8588
  getDisplayAsButton(mainObject?.name),
8555
- {
8556
- "type": "tooltip-wrapper",
8557
- "align": "right",
8558
- "title": "",
8559
- "content": "可模糊搜索字段:" + searchableFieldsLabel.join(","),
8560
- "placement": "bottom",
8561
- "tooltipTheme": "dark",
8562
- "trigger": "click",
8563
- "className": "mr-1",
8564
- "body": [
8565
- {
8566
- "type": "search-box",
8567
- "name": "__keywords",
8568
- "placeholder": "请输入关键字",
8569
- "value": crudKeywords,
8570
- "clearable": true,
8571
- "clearAndSubmit": true
8572
- }
8573
- ]
8574
- },
8589
+ getObjectHeaderQuickSearchBox(mainObject, fields, formFactor, { isLookup, keywordsSearchBoxName }),
8575
8590
  // {
8576
8591
  // "type": "drag-toggler",
8577
8592
  // "align": "right"
@@ -8922,8 +8937,8 @@ crudService && crudService.setData({showFieldsFilter: toShowFieldsFilter});
8922
8937
  "style": {
8923
8938
  "max-height": "100%",
8924
8939
  "position": "absolute",
8925
- "left": "-220px",
8926
- "width": "210px",
8940
+ "left": "-330px",
8941
+ "width": "320px",
8927
8942
  "bottom": 0,
8928
8943
  "top": "0",
8929
8944
  "overflow": "auto",
@@ -8989,7 +9004,7 @@ crudService && crudService.setData({showFieldsFilter: toShowFieldsFilter});
8989
9004
  })){
8990
9005
  i++;
8991
9006
  tableFields.push(field);
8992
- if(field.searchable){
9007
+ if(isFieldQuickSearchable(field, refObjectConfig.NAME_FIELD_KEY)){
8993
9008
  searchableFields.push(field.name);
8994
9009
  }
8995
9010
  }
@@ -9030,7 +9045,8 @@ crudService && crudService.setData({showFieldsFilter: toShowFieldsFilter});
9030
9045
  source.data.$term = "$term";
9031
9046
  source.data.$self = "$$";
9032
9047
 
9033
-
9048
+ let keywordsSearchBoxName = `__keywords_lookup__${field.name}__to__${refObjectConfig.name}`;
9049
+
9034
9050
  source.requestAdaptor = `
9035
9051
  const selfData = JSON.parse(JSON.stringify(api.data.$self));
9036
9052
  var filters = [];
@@ -9084,19 +9100,10 @@ crudService && crudService.setData({showFieldsFilter: toShowFieldsFilter});
9084
9100
  })
9085
9101
  }
9086
9102
 
9087
- if(selfData.__keywords && allowSearchFields){
9088
- const keywordsFilters = [];
9089
- allowSearchFields.forEach(function(key, index){
9090
- const keyValue = selfData.__keywords;
9091
- if(keyValue){
9092
- keywordsFilters.push([key, "contains", keyValue]);
9093
- if(index < allowSearchFields.length - 1){
9094
- keywordsFilters.push('or');
9095
- }
9096
- }
9097
- })
9103
+ var keywordsFilters = SteedosUI.getKeywordsSearchFilter(selfData.${keywordsSearchBoxName}, allowSearchFields);
9104
+ if(keywordsFilters && keywordsFilters.length > 0){
9098
9105
  filters.push(keywordsFilters);
9099
- };
9106
+ }
9100
9107
 
9101
9108
  var fieldFilters = ${JSON.stringify(field.filters)};
9102
9109
  if(fieldFilters && fieldFilters.length){
@@ -9208,13 +9215,13 @@ crudService && crudService.setData({showFieldsFilter: toShowFieldsFilter});
9208
9215
  if(referenceTo.objectName === "space_users" && field.reference_to_field === "user" && !isMobile){
9209
9216
  headerToolbarItems = getLookupSapceUserTreeSchema();
9210
9217
  pickerSchema["style"] = {
9211
- "margin-left":"220px",
9218
+ "margin-left":"330px",
9212
9219
  "min-height": "300px"
9213
9220
  };
9214
9221
  pickerSchema.className = pickerSchema.className || "" + " steedos-select-user";
9215
9222
  }
9216
9223
 
9217
- pickerSchema.headerToolbar = getObjectHeaderToolbar(refObjectConfig, ctx.formFactor, { headerToolbarItems });
9224
+ pickerSchema.headerToolbar = getObjectHeaderToolbar(refObjectConfig, fieldsArr, ctx.formFactor, { headerToolbarItems, isLookup: true, keywordsSearchBoxName });
9218
9225
  const isAllowCreate = refObjectConfig.permissions.allowCreate;
9219
9226
  if (isAllowCreate) {
9220
9227
  const new_button = await getSchema$5(refObjectConfig, { appId: ctx.appId, objectName: refObjectConfig.name, formFactor: ctx.formFactor });
@@ -9225,8 +9232,9 @@ crudService && crudService.setData({showFieldsFilter: toShowFieldsFilter});
9225
9232
  pickerSchema.footerToolbar = refObjectConfig.enable_tree ? [] : getObjectFooterToolbar();
9226
9233
  if (ctx.filterVisible !== false) {
9227
9234
  pickerSchema.filter = await getObjectFilter(refObjectConfig, fields, {
9235
+ ...ctx,
9228
9236
  isLookup: true,
9229
- ...ctx
9237
+ keywordsSearchBoxName
9230
9238
  });
9231
9239
  }
9232
9240
  pickerSchema.data = Object.assign({}, pickerSchema.data, {
@@ -9562,7 +9570,7 @@ crudService && crudService.setData({showFieldsFilter: toShowFieldsFilter});
9562
9570
  }
9563
9571
 
9564
9572
  if(referenceTo.objectName === "space_users" && field.reference_to_field === "user"){
9565
- if(ctx.idsDependOn || field.amis){
9573
+ if(ctx.idsDependOn){
9566
9574
  // ids人员点选模式
9567
9575
  return await lookupToAmisIdsPicker(field, readonly, ctx);
9568
9576
  }
@@ -9937,6 +9945,7 @@ crudService && crudService.setData({showFieldsFilter: toShowFieldsFilter});
9937
9945
  return readonly ? getAmisFileReadonlySchema(steedosField) : getAmisFileEditSchema(steedosField);
9938
9946
  };
9939
9947
 
9948
+ const QUICK_SEARCHABLE_FIELD_TYPES = ["text", "textarea", "autonumber", "url", "email"];
9940
9949
  const OMIT_FIELDS = ['created', 'created_by', 'modified', 'modified_by'];
9941
9950
  // const Lookup = require('./lookup');
9942
9951
 
@@ -10709,8 +10718,22 @@ crudService && crudService.setData({showFieldsFilter: toShowFieldsFilter});
10709
10718
  window.isFieldTypeSearchable = isFieldTypeSearchable;
10710
10719
  }
10711
10720
 
10721
+
10722
+ function isFieldQuickSearchable(field, nameFieldKey) {
10723
+ let fieldSearchable = field.searchable;
10724
+ if(fieldSearchable !== false && field.name === nameFieldKey){
10725
+ // 对象上名称字段的searchable默认认为是true
10726
+ fieldSearchable = true;
10727
+ }
10728
+ if (fieldSearchable && QUICK_SEARCHABLE_FIELD_TYPES.indexOf(field.type) > -1) {
10729
+ return true;
10730
+ }
10731
+ return false;
10732
+ }
10733
+
10712
10734
  var index = /*#__PURE__*/Object.freeze({
10713
10735
  __proto__: null,
10736
+ QUICK_SEARCHABLE_FIELD_TYPES: QUICK_SEARCHABLE_FIELD_TYPES,
10714
10737
  OMIT_FIELDS: OMIT_FIELDS,
10715
10738
  getBaseFields: getBaseFields,
10716
10739
  getAmisFieldType: getAmisFieldType,
@@ -10721,6 +10744,7 @@ crudService && crudService.setData({showFieldsFilter: toShowFieldsFilter});
10721
10744
  convertSFieldToAmisField: convertSFieldToAmisField,
10722
10745
  getFieldSearchable: getFieldSearchable,
10723
10746
  isFieldTypeSearchable: isFieldTypeSearchable,
10747
+ isFieldQuickSearchable: isFieldQuickSearchable,
10724
10748
  getAmisStaticFieldType: getAmisStaticFieldType
10725
10749
  });
10726
10750
 
@@ -11497,8 +11521,9 @@ crudService && crudService.setData({showFieldsFilter: toShowFieldsFilter});
11497
11521
  if(filter){
11498
11522
  baseFilters = filter;
11499
11523
  }
11500
- ___default__namespace.each(fields,function(field){
11501
- if(field.searchable){
11524
+
11525
+ ___default__namespace.each(fields, function (field) {
11526
+ if (isFieldQuickSearchable(field, mainObject.NAME_FIELD_KEY)) {
11502
11527
  searchableFields.push(field.name);
11503
11528
  }
11504
11529
  });
@@ -11626,19 +11651,10 @@ crudService && crudService.setData({showFieldsFilter: toShowFieldsFilter});
11626
11651
  })
11627
11652
  }
11628
11653
 
11629
- if(selfData.__keywords && allowSearchFields){
11630
- const keywordsFilters = [];
11631
- allowSearchFields.forEach(function(key, index){
11632
- const keyValue = selfData.__keywords;
11633
- if(keyValue){
11634
- keywordsFilters.push([key, "contains", keyValue]);
11635
- if(index < allowSearchFields.length - 1){
11636
- keywordsFilters.push('or');
11637
- }
11638
- }
11639
- })
11654
+ var keywordsFilters = SteedosUI.getKeywordsSearchFilter(selfData.__keywords, allowSearchFields);
11655
+ if(keywordsFilters && keywordsFilters.length > 0){
11640
11656
  userFilters.push(keywordsFilters);
11641
- };
11657
+ }
11642
11658
 
11643
11659
  let filters = [];
11644
11660
 
@@ -19698,7 +19714,8 @@ crudService && crudService.setData({showFieldsFilter: toShowFieldsFilter});
19698
19714
  type: 'service',
19699
19715
  className: {
19700
19716
  "h-full": "true",
19701
- "sm:px-3 sm:pt-3": "${display != 'split'}"
19717
+ "sm:px-3 sm:pt-3 page-list-grid": "${display != 'split'}",
19718
+ "page-list-split": "${display == 'split'}"
19702
19719
  },
19703
19720
  body: listSchema
19704
19721
  }];
@@ -19817,7 +19834,7 @@ crudService && crudService.setData({showFieldsFilter: toShowFieldsFilter});
19817
19834
  });
19818
19835
  }); };
19819
19836
 
19820
- var __assign=function(){return (__assign=Object.assign||function(e){for(var t,r=1,n=arguments.length;r<n;r++)for(var o in t=arguments[r])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e}).apply(this,arguments)},StandardObjects={Base:{Actions:{standard_query:{visible:function(e,t,r){return !1}},standard_new:{visible:function(e,t,r){return "cms_files"!==e&&"instances"!==e&&(r?r.allowCreate:void 0)}},standard_edit:{visible:function(e,t,r){if(r)return r.allowEdit}},standard_delete:{visible:function(e,t,r){if(r)return r.allowDelete}},standard_import_data:{visible:function(e,t,r){var n=this.object;if(r)return r.allowCreate&&n.hasImportTemplates}},standard_approve:{visible:function(e,t,r){return !1}},standard_view_instance:{visible:function(e,t,r){return !1}},standard_submit_for_approval:{visible:function(e,t,r){return window.Steedos.ProcessManager.allowSubmit.apply(this,[e,t])},todo:function(e,t){return window.Steedos.ProcessManager.submit.apply(this,[e,t])}},standard_follow:{visible:function(e,t,r){return !1}},standard_delete_many:{visible:function(e,t,r){return !RegExp("\\w+/view/\\w+").test(location.pathname)&&(r?r.allowDelete:void 0)}},standard_export_excel:{visible:function(e,t,r){return !1}}}}},authRequest=function(e,t){var i=null;e=Steedos.absoluteUrl(e);try{var r=[{name:"Content-Type",value:"application/json"},{name:"Authorization",value:Steedos.getAuthorization()}],n={type:"get",url:e,dataType:"json",contentType:"application/json",beforeSend:function(t){if(r&&r.length)return r.forEach(function(e){return t.setRequestHeader(e.name,e.value)})},success:function(e){i=e;},error:function(e,t,r){var n,o;e.responseJSON&&e.responseJSON.error?(n=e.responseJSON.error,o=void(i={error:n}),o=n.reason||n.message||n,console.error(o)):console.error(e.responseJSON);}};return $.ajax(Object.assign({},n,t)),i}catch(e){console.error(e);}};function _extends(){return (_extends=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r,n=arguments[t];for(r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r]);}return e}).apply(this,arguments)}const newFunctionComponent=o=>e=>{const[t,r]=React.useState(!0);var n=()=>{r(!1);};return ___default.has(e,"ref")||(window.SteedosUI.refs[e.name]={show:()=>{r(!0);},close:n}),React__default["default"].createElement(o,_extends({visible:t,onCancel:n,onClose:n},{width:"70%",style:{width:"70%",maxWidth:"950px",minWidth:"480px"}},e))},newComponentRender=(r,n)=>(e,t)=>{e.name||(e.name=r+"-"+(e.name||"default")),(t=t||document.getElementById(`steedos-${r}-root-`+e.name))||((t=document.createElement("div")).setAttribute("id",`steedos-${r}-root-`+e.name),document.body.appendChild(t));e=React__default["default"].createElement(newFunctionComponent(n),e);ReactDOM.createRoot(t).render(e);},Modal=___default.assign(newComponentRender("modal",antd.Modal),{info:antd.Modal.info,success:antd.Modal.success,error:antd.Modal.error,warning:antd.Modal.warning,confirm:antd.Modal.confirm}),Drawer=newComponentRender("drawer",antd.Drawer),getGraphqlFieldsQuery=e=>{const t=["_id"];return e.push("record_permissions"),___default.each(e,e=>{-1<e.indexOf(".")&&(e=e.split(".")[0]),t.push(""+e);}),""+t.join(" ")},getFindOneQuery=(e,t,r)=>{e=e.replace(/\./g,"_");r=getGraphqlFieldsQuery(r);let n="";t=[`id: "${t}"`];return `{record:${e}__findOne${n=0<t.length?`(${t.join(",")})`:n}{${r}}}`},SObject={getRecord:async(e,t,r)=>{return (await fetchAPI("/graphql",{method:"post",body:JSON.stringify({query:getFindOneQuery(e,t,r)})})).data.record},getUISchema:async(e,t)=>getUISchema(e,t)},canSaveFilter=e=>!(!e._id||e.owner!==getSteedosAuth()?.userId),ListView={showFilter:(e,{listView:t,data:r})=>{canSaveFilter(t);r.filters&&(r.filters=filtersToConditions(r.filters));},getVisibleFilter:(e,t)=>{return t||(canSaveFilter(e)?e.filters:void 0)},getQueryFilter:(e,t)=>{return canSaveFilter(e)?ListView.getVisibleFilter(e,t):___default.isEmpty(t)?e.filters:[e.filters,"and",t]},getFirstListView:async e=>{e=await window.getUISchema(e);return _.first(_.sortBy(_.values(e.list_views),"sort_no"))}},Router={getAppPath({appId:e}){return "/app/"+e},getPagePath(){},getObjectListViewPath({appId:e,objectName:t,listViewName:r}){return `/app/${e}/${t}/grid/`+r},getObjectDetailPath({appId:e,objectName:t,recordId:r}){return `/app/${e}/${t}/view/`+r},getObjectRelatedViewPath({appId:e,masterObjectName:t,masterRecordId:r,objectName:n,foreignKey:o}){return `/app/${e}/${t}/${r}/${n}/grid?related_field_name=`+o}};var withModalWrap=function(t,e){return function(e){return React.createElement(t,e)}},render=function(e,t,r,n){e=withModalWrap(e),e=React.createElement(e,__assign({},t));return ReactDOM__default["default"].render(e,r)};const safeRunFunction=(t,r,n,o)=>{try{var i=window.Creator;if(!!(!i||!i.getObjectUrl)&&/\bSteedos\b|\bCreator\b|\bMeteor\b|\bSession\b/.test(t))return console.info("调用了Creator|Steedos|Meteor|Session变量的脚本不执行,直接按空值处理。"),"";let e=[];return ___default.isNil(r)||(e=___default.isArray(r)?r:[r]),t.bind(o||{})(...e)}catch(e){return console.log(e),n}};function safeEval(js){try{return eval(js)}catch(e){console.error(e,js);}}const isExpression=function(e){var t,r;return "string"==typeof e&&(t=/^{{(function.+)}}$/,r=/^{{(.+=>.+)}}$/,!("string"!=typeof e||!e.match(/^{{(.+)}}$/)||e.match(t)||e.match(r)))},parseSingleExpression=function(t,e,r,n){var o,i=function(e,t){return "#"!==t&&t?"string"==typeof t?_.get(e,t):void console.error("path has to be a string"):e||{}}(e=void 0===e?{}:e,function(e){return "string"!=typeof e||1===(e=e.split(".")).length?"#":(e.pop(),e.join("."))}(r))||{};if("string"!=typeof t)return t;o="__G_L_O_B_A_L__",e="\n return "+t.substring(2,t.length-2).replace(/\bformData\b/g,JSON.stringify(e).replace(/\bglobal\b/g,o)).replace(/\bglobal\b/g,JSON.stringify(n)).replace(new RegExp("\\b"+o+"\\b","g"),"global").replace(/rootValue/g,JSON.stringify(i));try{return Function(e)()}catch(e){return console.log(e,t,r),t}};var Expression=Object.freeze({__proto__:null,isExpression:isExpression,parseSingleExpression:parseSingleExpression});const getCompatibleDefaultValueExpression=(express,multiple)=>{const reg=/^\{\w+(\.*\w+)*\}$/,reg2=/^{{[\s\S]*}}$/;let result=express;if(reg.test(express)&&(result=-1<express.indexOf("userId")||-1<express.indexOf("spaceId")||-1<express.indexOf("user.")||-1<express.indexOf("now")?`{${express}}`.replace("{{","{{global."):`{${express}}`.replace("{{","{{formData."),multiple&&(result=result.replace(/\{\{(.+)\}\}/,"{{[$1]}}"))),reg2.test(express)&&(-1<express.indexOf("function")||-1<express.indexOf("=>"))){let regex=/\{\{([\s\S]*)\}\}/,matches=regex.exec(express);if(matches&&1<matches.length){let functionCode=matches[1];result=eval("("+functionCode+")")();}}return result},getFieldDefaultValue=(e,t)=>{if(!e)return null;let r=e.defaultValue;e._defaultValue&&(r=safeEval(`(${e._defaultValue})`)),___default.isFunction(r)&&(r=safeRunFunction(r,[],null,{name:e.name})),___default.isString(r)&&(r=getCompatibleDefaultValueExpression(r,e.multiple));var n=isExpression(r);return n&&(r=parseSingleExpression(r,{},"#",t)),"select"===e.type&&(t=e.data_type||"text",!r||n||e.multiple||("text"!==t||___default.isString(r)?"number"!==t||___default.isNumber(r)?"boolean"!==t||___default.isBoolean(r)||(r="true"===r):r=Number(r):r=String(r))),r};function getTreeOptions(t,e){const o=e?.valueField||"value";e?.labelField;const r=e?.unfoldedNum||1,n=[],i=(t,r,n)=>{var e;if(r)return e=_.filter(t,e=>_.includes(r,e[o])),_.each(e,e=>{1<=n?(e.unfolded=!0,e.children&&(e.children=i(t,e.children,n-1))):e.children&&(e.children=i(t,e.children,n));}),e};for(var s=t,a=0;a<s.length;a++)if(s[a].noParent=0,s[a].unfolded=!1,s[a].parent){let e=1;for(var l=0;l<s.length;l++)s[a].parent==s[l][o]&&(e=0);1==e&&(s[a].noParent=1);}else s[a].noParent=1;return _.each(t,e=>{1==e.noParent&&(1<=r?(e.unfolded=!0,n.push(Object.assign({},e,{children:i(t,e.children,r-1)}))):n.push(Object.assign({},e,{children:i(t,e.children,r)})));}),n}function getClosestAmisComponentByType(t,r,n){let o=(n=n||{}).name;var e=n.direction||"up";let i=t.getComponents().find(function(e){return e.props.type===r&&(!o||e.props.name===o)});if(i)return i;if("down"===e){if(t.children&&t.children.length){for(let e=0;e<t.children.length&&!(i=getClosestAmisComponentByType(t.children[e],r,n));e++);return i}}else if("up"===e&&t.parent)return getClosestAmisComponentByType(t.parent,r,n)}function isFilterFormValuesEmpty(e){let t=!0;var e=_.pickBy(e,function(e,t){return /^__searchable__/g.test(t)});return _.isEmpty(e)||(e=_.omitBy(e,function(e){return _.isNil(e)||_.isObject(e)&&_.isEmpty(e)||_.isArray(e)&&_.isEmpty(e.filter(function(e){return !_.isNil(e)}))||_.isString(e)&&0===e.length}),_.isEmpty(e)||(t=!1)),t}const SteedosUI$1=Object.assign({},{render:render,Router:Router,ListView:ListView,Object:SObject,Modal:Modal,Drawer:Drawer,refs:{},getRef(e){return SteedosUI$1.refs[e]},router:{go:(e,t)=>{var r=window.FlowRouter;if(t)return r?r.go(t):window.open(t);r?r.reload():console.warn("暂不支持自动跳转",e);},reload:()=>{console.log("reload");}},message:antd.message,notification:antd.notification,components:{Button:antd.Button,Space:antd.Space},getRefId:({type:e,appId:t,name:r})=>{switch(e){case"listview":return `amis-${t}-${r}-listview`;case"form":return `amis-${t}-${r}-form`;case"detail":return `amis-${t}-${r}-detail`;default:return `amis-${t}-${r}-`+e}},reloadRecord:()=>{if(window.FlowRouter)return window.FlowRouter.reload()},getFieldDefaultValue:getFieldDefaultValue,getTreeOptions:getTreeOptions,getClosestAmisComponentByType:getClosestAmisComponentByType,isFilterFormValuesEmpty:isFilterFormValuesEmpty,getSearchFilter:e=>{var o=[];return _.each(e,(e,t)=>{var r,n;_.isEmpty(e)&&!_.isBoolean(e)||(_.startsWith(t,"__searchable__between__")?o.push([""+t.replace("__searchable__between__",""),"between",e]):_.startsWith(t,"__searchable__")&&(_.isString(e)?o.push([""+t.replace("__searchable__",""),"contains",e]):_.isObject(e)&&e.o?(n=[[(r=""+t.replace("__searchable__",""))+"/o","=",e.o]],e.ids.length&&n.push([r+"/ids","=",e.ids]),o.push(n)):o.push([""+t.replace("__searchable__",""),"=",e])));}),o}});var getBuilderContext=function(){return "undefined"==typeof window?{}:Builder.settings.context||Builder.settings},Steedos$1=__assign({getRootUrl:function(e){var t=getBuilderContext();return t.rootUrl||("undefined"!=typeof window?window.localStorage.getItem("steedos:rootUrl"):"")||e},absoluteUrl:function(e){return void 0===e&&(e=""),"".concat(Steedos$1.getRootUrl()).concat(e)},getTenantId:function(){try{var e=getBuilderContext().tenantId;return (e=window.location.search&&!e?new URLSearchParams(window.location.search).get("X-Space-Id"):e)?e:null}catch(e){console.error(e);}},getAuthorization:function(){try{var e=getBuilderContext(),t=e.tenantId,r=e.authToken;return t&&r?"Bearer ".concat(t,",").concat(r):null}catch(e){console.error(e);}},authRequest:authRequest,StandardObjects:StandardObjects},Expression);"undefined"==typeof window||window.Steedos||(window.Steedos=Steedos$1),"undefined"==typeof window||window.SteedosUI||(window.SteedosUI=SteedosUI$1);
19837
+ var __assign=function(){return (__assign=Object.assign||function(e){for(var t,r=1,n=arguments.length;r<n;r++)for(var o in t=arguments[r])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e}).apply(this,arguments)},StandardObjects={Base:{Actions:{standard_query:{visible:function(e,t,r){return !1}},standard_new:{visible:function(e,t,r){return "cms_files"!==e&&"instances"!==e&&(r?r.allowCreate:void 0)}},standard_edit:{visible:function(e,t,r){if(r)return r.allowEdit}},standard_delete:{visible:function(e,t,r){if(r)return r.allowDelete}},standard_import_data:{visible:function(e,t,r){var n=this.object;if(r)return r.allowCreate&&n.hasImportTemplates}},standard_approve:{visible:function(e,t,r){return !1}},standard_view_instance:{visible:function(e,t,r){return !1}},standard_submit_for_approval:{visible:function(e,t,r){return window.Steedos.ProcessManager.allowSubmit.apply(this,[e,t])},todo:function(e,t){return window.Steedos.ProcessManager.submit.apply(this,[e,t])}},standard_follow:{visible:function(e,t,r){return !1}},standard_delete_many:{visible:function(e,t,r){return !RegExp("\\w+/view/\\w+").test(location.pathname)&&(r?r.allowDelete:void 0)}},standard_export_excel:{visible:function(e,t,r){return !1}}}}},authRequest=function(e,t){var s=null;e=Steedos.absoluteUrl(e);try{var r=[{name:"Content-Type",value:"application/json"},{name:"Authorization",value:Steedos.getAuthorization()}],n={type:"get",url:e,dataType:"json",contentType:"application/json",beforeSend:function(t){if(r&&r.length)return r.forEach(function(e){return t.setRequestHeader(e.name,e.value)})},success:function(e){s=e;},error:function(e,t,r){var n,o;e.responseJSON&&e.responseJSON.error?(n=e.responseJSON.error,o=void(s={error:n}),o=n.reason||n.message||n,console.error(o)):console.error(e.responseJSON);}};return $.ajax(Object.assign({},n,t)),s}catch(e){console.error(e);}};function _extends(){return (_extends=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r,n=arguments[t];for(r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r]);}return e}).apply(this,arguments)}const newFunctionComponent=o=>e=>{const[t,r]=React.useState(!0);var n=()=>{r(!1);};return ___default.has(e,"ref")||(window.SteedosUI.refs[e.name]={show:()=>{r(!0);},close:n}),React__default["default"].createElement(o,_extends({visible:t,onCancel:n,onClose:n},{width:"70%",style:{width:"70%",maxWidth:"950px",minWidth:"480px"}},e))},newComponentRender=(r,n)=>(e,t)=>{e.name||(e.name=r+"-"+(e.name||"default")),(t=t||document.getElementById(`steedos-${r}-root-`+e.name))||((t=document.createElement("div")).setAttribute("id",`steedos-${r}-root-`+e.name),document.body.appendChild(t));e=React__default["default"].createElement(newFunctionComponent(n),e);ReactDOM.createRoot(t).render(e);},Modal=___default.assign(newComponentRender("modal",antd.Modal),{info:antd.Modal.info,success:antd.Modal.success,error:antd.Modal.error,warning:antd.Modal.warning,confirm:antd.Modal.confirm}),Drawer=newComponentRender("drawer",antd.Drawer),getGraphqlFieldsQuery=e=>{const t=["_id"];return e.push("record_permissions"),___default.each(e,e=>{-1<e.indexOf(".")&&(e=e.split(".")[0]),t.push(""+e);}),""+t.join(" ")},getFindOneQuery=(e,t,r)=>{e=e.replace(/\./g,"_");r=getGraphqlFieldsQuery(r);let n="";t=[`id: "${t}"`];return `{record:${e}__findOne${n=0<t.length?`(${t.join(",")})`:n}{${r}}}`},SObject={getRecord:async(e,t,r)=>{return (await fetchAPI("/graphql",{method:"post",body:JSON.stringify({query:getFindOneQuery(e,t,r)})})).data.record},getUISchema:async(e,t)=>getUISchema(e,t)},canSaveFilter=e=>!(!e._id||e.owner!==getSteedosAuth()?.userId),ListView={showFilter:(e,{listView:t,data:r})=>{canSaveFilter(t);r.filters&&(r.filters=filtersToConditions(r.filters));},getVisibleFilter:(e,t)=>{return t||(canSaveFilter(e)?e.filters:void 0)},getQueryFilter:(e,t)=>{return canSaveFilter(e)?ListView.getVisibleFilter(e,t):___default.isEmpty(t)?e.filters:[e.filters,"and",t]},getFirstListView:async e=>{e=await window.getUISchema(e);return _.first(_.sortBy(_.values(e.list_views),"sort_no"))}},Router={getAppPath({appId:e}){return "/app/"+e},getPagePath(){},getObjectListViewPath({appId:e,objectName:t,listViewName:r}){return `/app/${e}/${t}/grid/`+r},getObjectDetailPath({appId:e,objectName:t,recordId:r}){return `/app/${e}/${t}/view/`+r},getObjectRelatedViewPath({appId:e,masterObjectName:t,masterRecordId:r,objectName:n,foreignKey:o}){return `/app/${e}/${t}/${r}/${n}/grid?related_field_name=`+o}};var withModalWrap=function(t,e){return function(e){return React.createElement(t,e)}},render=function(e,t,r,n){e=withModalWrap(e),e=React.createElement(e,__assign({},t));return ReactDOM__default["default"].render(e,r)};const safeRunFunction=(t,r,n,o)=>{try{var s=window.Creator;if(!!(!s||!s.getObjectUrl)&&/\bSteedos\b|\bCreator\b|\bMeteor\b|\bSession\b/.test(t))return console.info("调用了Creator|Steedos|Meteor|Session变量的脚本不执行,直接按空值处理。"),"";let e=[];return ___default.isNil(r)||(e=___default.isArray(r)?r:[r]),t.bind(o||{})(...e)}catch(e){return console.log(e),n}};function safeEval(js){try{return eval(js)}catch(e){console.error(e,js);}}const isExpression=function(e){var t,r;return "string"==typeof e&&(t=/^{{(function.+)}}$/,r=/^{{(.+=>.+)}}$/,!("string"!=typeof e||!e.match(/^{{(.+)}}$/)||e.match(t)||e.match(r)))},parseSingleExpression=function(t,e,r,n){var o,s=function(e,t){return "#"!==t&&t?"string"==typeof t?_.get(e,t):void console.error("path has to be a string"):e||{}}(e=void 0===e?{}:e,function(e){return "string"!=typeof e||1===(e=e.split(".")).length?"#":(e.pop(),e.join("."))}(r))||{};if("string"!=typeof t)return t;o="__G_L_O_B_A_L__",e="\n return "+t.substring(2,t.length-2).replace(/\bformData\b/g,JSON.stringify(e).replace(/\bglobal\b/g,o)).replace(/\bglobal\b/g,JSON.stringify(n)).replace(new RegExp("\\b"+o+"\\b","g"),"global").replace(/rootValue/g,JSON.stringify(s));try{return Function(e)()}catch(e){return console.log(e,t,r),t}};var Expression=Object.freeze({__proto__:null,isExpression:isExpression,parseSingleExpression:parseSingleExpression});const getCompatibleDefaultValueExpression=(express,multiple)=>{const reg=/^\{\w+(\.*\w+)*\}$/,reg2=/^{{[\s\S]*}}$/;let result=express;if(reg.test(express)&&(result=-1<express.indexOf("userId")||-1<express.indexOf("spaceId")||-1<express.indexOf("user.")||-1<express.indexOf("now")?`{${express}}`.replace("{{","{{global."):`{${express}}`.replace("{{","{{formData."),multiple&&(result=result.replace(/\{\{(.+)\}\}/,"{{[$1]}}"))),reg2.test(express)&&(-1<express.indexOf("function")||-1<express.indexOf("=>"))){let regex=/\{\{([\s\S]*)\}\}/,matches=regex.exec(express);if(matches&&1<matches.length){let functionCode=matches[1];result=eval("("+functionCode+")")();}}return result},getFieldDefaultValue=(e,t)=>{if(!e)return null;let r=e.defaultValue;e._defaultValue&&(r=safeEval(`(${e._defaultValue})`)),___default.isFunction(r)&&(r=safeRunFunction(r,[],null,{name:e.name})),___default.isString(r)&&(r=getCompatibleDefaultValueExpression(r,e.multiple));var n=isExpression(r);return n&&(r=parseSingleExpression(r,{},"#",t)),"select"===e.type&&(t=e.data_type||"text",!r||n||e.multiple||("text"!==t||___default.isString(r)?"number"!==t||___default.isNumber(r)?"boolean"!==t||___default.isBoolean(r)||(r="true"===r):r=Number(r):r=String(r))),r};function getTreeOptions(t,e){const o=e?.valueField||"value";e?.labelField;const r=e?.unfoldedNum||1,n=[],s=(t,r,n)=>{var e;if(r)return e=_.filter(t,e=>_.includes(r,e[o])),_.each(e,e=>{1<=n?(e.unfolded=!0,e.children&&(e.children=s(t,e.children,n-1))):e.children&&(e.children=s(t,e.children,n));}),e};for(var i=t,a=0;a<i.length;a++)if(i[a].noParent=0,i[a].unfolded=!1,i[a].parent){let e=1;for(var l=0;l<i.length;l++)i[a].parent==i[l][o]&&(e=0);1==e&&(i[a].noParent=1);}else i[a].noParent=1;return _.each(t,e=>{1==e.noParent&&(1<=r?(e.unfolded=!0,n.push(Object.assign({},e,{children:s(t,e.children,r-1)}))):n.push(Object.assign({},e,{children:s(t,e.children,r)})));}),n}function getClosestAmisComponentByType(t,r,n){let o=(n=n||{}).name;var e=n.direction||"up";let s=t.getComponents().find(function(e){return e.props.type===r&&(!o||e.props.name===o)});if(s)return s;if("down"===e){if(t.children&&t.children.length){for(let e=0;e<t.children.length&&!(s=getClosestAmisComponentByType(t.children[e],r,n));e++);return s}}else if("up"===e&&t.parent)return getClosestAmisComponentByType(t.parent,r,n)}function isFilterFormValuesEmpty(e){let t=!0;var e=_.pickBy(e,function(e,t){return /^__searchable__/g.test(t)});return _.isEmpty(e)||(e=_.omitBy(e,function(e){return _.isNil(e)||_.isObject(e)&&_.isEmpty(e)||_.isArray(e)&&_.isEmpty(e.filter(function(e){return !_.isNil(e)}))||_.isString(e)&&0===e.length}),_.isEmpty(e)||(t=!1)),t}const SteedosUI$1=Object.assign({},{render:render,Router:Router,ListView:ListView,Object:SObject,Modal:Modal,Drawer:Drawer,refs:{},getRef(e){return SteedosUI$1.refs[e]},router:{go:(e,t)=>{var r=window.FlowRouter;if(t)return r?r.go(t):window.open(t);r?r.reload():console.warn("暂不支持自动跳转",e);},reload:()=>{console.log("reload");}},message:antd.message,notification:antd.notification,components:{Button:antd.Button,Space:antd.Space},getRefId:({type:e,appId:t,name:r})=>{switch(e){case"listview":return `amis-${t}-${r}-listview`;case"form":return `amis-${t}-${r}-form`;case"detail":return `amis-${t}-${r}-detail`;default:return `amis-${t}-${r}-`+e}},reloadRecord:()=>{if(window.FlowRouter)return window.FlowRouter.reload()},getFieldDefaultValue:getFieldDefaultValue,getTreeOptions:getTreeOptions,getClosestAmisComponentByType:getClosestAmisComponentByType,isFilterFormValuesEmpty:isFilterFormValuesEmpty,getSearchFilter:e=>{var o=[];return _.each(e,(e,t)=>{var r,n;_.isEmpty(e)&&!_.isBoolean(e)||(_.startsWith(t,"__searchable__between__")?o.push([""+t.replace("__searchable__between__",""),"between",e]):_.startsWith(t,"__searchable__")&&(_.isString(e)?o.push([""+t.replace("__searchable__",""),"contains",e]):_.isObject(e)&&e.o?(n=[[(r=""+t.replace("__searchable__",""))+"/o","=",e.o]],e.ids.length&&n.push([r+"/ids","=",e.ids]),o.push(n)):o.push([""+t.replace("__searchable__",""),"=",e])));}),o},getKeywordsSearchFilter:(e,t)=>{const o=[];var s;return e&&t&&(s=e.split(/\s+/),s=___default.compact(s),t.forEach(function(r,e){let n=[];1==s.length?n=[r,"contains",s[0]]:s.forEach(function(e,t){n.push([r,"contains",e]),t<s.length-1&&n.push("or");}),n.length&&(o.push(n),e<t.length-1&&o.push("or"));})),o}});var getBuilderContext=function(){return "undefined"==typeof window?{}:Builder.settings.context||Builder.settings},Steedos$1=__assign({getRootUrl:function(e){var t=getBuilderContext();return t.rootUrl||("undefined"!=typeof window?window.localStorage.getItem("steedos:rootUrl"):"")||e},absoluteUrl:function(e){return void 0===e&&(e=""),"".concat(Steedos$1.getRootUrl()).concat(e)},getTenantId:function(){try{var e=getBuilderContext().tenantId;return (e=window.location.search&&!e?new URLSearchParams(window.location.search).get("X-Space-Id"):e)?e:null}catch(e){console.error(e);}},getAuthorization:function(){try{var e=getBuilderContext(),t=e.tenantId,r=e.authToken;return t&&r?"Bearer ".concat(t,",").concat(r):null}catch(e){console.error(e);}},authRequest:authRequest,StandardObjects:StandardObjects},Expression);"undefined"==typeof window||window.Steedos||(window.Steedos=Steedos$1),"undefined"==typeof window||window.SteedosUI||(window.SteedosUI=SteedosUI$1);
19821
19838
 
19822
19839
  var index_esm = /*#__PURE__*/Object.freeze({
19823
19840
  __proto__: null,