@steedos-widgets/amis-object 1.2.39 → 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.
@@ -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,16 +8410,14 @@ 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, isLookup = false } = {}){
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 && SEARCHABLE_FIELD_TYPES.indexOf(field.type) > -1) {
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 = "";
@@ -8422,6 +8426,35 @@ crudService && crudService.setData({showFieldsFilter: toShowFieldsFilter});
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;
@@ -8493,26 +8526,7 @@ crudService && crudService.setData({showFieldsFilter: toShowFieldsFilter});
8493
8526
  }
8494
8527
  } : {},
8495
8528
  getDisplayAsButton(mainObject?.name),
8496
- {
8497
- "type": "tooltip-wrapper",
8498
- "align": "right",
8499
- "title": "",
8500
- "content": "可搜索字段:" + searchableFieldsLabel.join(","),
8501
- "placement": "bottom",
8502
- "tooltipTheme": "dark",
8503
- "trigger": "click",
8504
- // "className": "mr-1",
8505
- "body": [
8506
- {
8507
- "type": "search-box",
8508
- "name": "__keywords",
8509
- "placeholder": "请输入关键字",
8510
- "value": crudKeywords,
8511
- "clearable": true,
8512
- "clearAndSubmit": true
8513
- }
8514
- ]
8515
- },
8529
+ getObjectHeaderQuickSearchBox(mainObject, fields, formFactor, { isLookup, keywordsSearchBoxName })
8516
8530
  ]
8517
8531
  }else {
8518
8532
  return [
@@ -8572,26 +8586,7 @@ crudService && crudService.setData({showFieldsFilter: toShowFieldsFilter});
8572
8586
  // getExportExcelToolbarButtonSchema(),
8573
8587
  mainObject?.permissions?.allowCreateListViews ? getSettingListviewToolbarButtonSchema() : {},
8574
8588
  getDisplayAsButton(mainObject?.name),
8575
- {
8576
- "type": "tooltip-wrapper",
8577
- "align": "right",
8578
- "title": "",
8579
- "content": "可搜索字段:" + searchableFieldsLabel.join(","),
8580
- "placement": "bottom",
8581
- "tooltipTheme": "dark",
8582
- "trigger": "click",
8583
- "className": "mr-1",
8584
- "body": [
8585
- {
8586
- "type": "search-box",
8587
- "name": "__keywords",
8588
- "placeholder": "请输入关键字",
8589
- "value": crudKeywords,
8590
- "clearable": true,
8591
- "clearAndSubmit": true
8592
- }
8593
- ]
8594
- },
8589
+ getObjectHeaderQuickSearchBox(mainObject, fields, formFactor, { isLookup, keywordsSearchBoxName }),
8595
8590
  // {
8596
8591
  // "type": "drag-toggler",
8597
8592
  // "align": "right"
@@ -9009,7 +9004,7 @@ crudService && crudService.setData({showFieldsFilter: toShowFieldsFilter});
9009
9004
  })){
9010
9005
  i++;
9011
9006
  tableFields.push(field);
9012
- if(field.searchable && SEARCHABLE_FIELD_TYPES.indexOf(field.type) > -1){
9007
+ if(isFieldQuickSearchable(field, refObjectConfig.NAME_FIELD_KEY)){
9013
9008
  searchableFields.push(field.name);
9014
9009
  }
9015
9010
  }
@@ -9050,7 +9045,8 @@ crudService && crudService.setData({showFieldsFilter: toShowFieldsFilter});
9050
9045
  source.data.$term = "$term";
9051
9046
  source.data.$self = "$$";
9052
9047
 
9053
-
9048
+ let keywordsSearchBoxName = `__keywords_lookup__${field.name}__to__${refObjectConfig.name}`;
9049
+
9054
9050
  source.requestAdaptor = `
9055
9051
  const selfData = JSON.parse(JSON.stringify(api.data.$self));
9056
9052
  var filters = [];
@@ -9104,19 +9100,10 @@ crudService && crudService.setData({showFieldsFilter: toShowFieldsFilter});
9104
9100
  })
9105
9101
  }
9106
9102
 
9107
- if(selfData.__keywords && allowSearchFields){
9108
- const keywordsFilters = [];
9109
- allowSearchFields.forEach(function(key, index){
9110
- const keyValue = selfData.__keywords;
9111
- if(keyValue){
9112
- keywordsFilters.push([key, "contains", keyValue]);
9113
- if(index < allowSearchFields.length - 1){
9114
- keywordsFilters.push('or');
9115
- }
9116
- }
9117
- })
9103
+ var keywordsFilters = SteedosUI.getKeywordsSearchFilter(selfData.${keywordsSearchBoxName}, allowSearchFields);
9104
+ if(keywordsFilters && keywordsFilters.length > 0){
9118
9105
  filters.push(keywordsFilters);
9119
- };
9106
+ }
9120
9107
 
9121
9108
  var fieldFilters = ${JSON.stringify(field.filters)};
9122
9109
  if(fieldFilters && fieldFilters.length){
@@ -9234,7 +9221,7 @@ crudService && crudService.setData({showFieldsFilter: toShowFieldsFilter});
9234
9221
  pickerSchema.className = pickerSchema.className || "" + " steedos-select-user";
9235
9222
  }
9236
9223
 
9237
- pickerSchema.headerToolbar = getObjectHeaderToolbar(refObjectConfig, fieldsArr, ctx.formFactor, { headerToolbarItems, isLookup: true });
9224
+ pickerSchema.headerToolbar = getObjectHeaderToolbar(refObjectConfig, fieldsArr, ctx.formFactor, { headerToolbarItems, isLookup: true, keywordsSearchBoxName });
9238
9225
  const isAllowCreate = refObjectConfig.permissions.allowCreate;
9239
9226
  if (isAllowCreate) {
9240
9227
  const new_button = await getSchema$5(refObjectConfig, { appId: ctx.appId, objectName: refObjectConfig.name, formFactor: ctx.formFactor });
@@ -9245,8 +9232,9 @@ crudService && crudService.setData({showFieldsFilter: toShowFieldsFilter});
9245
9232
  pickerSchema.footerToolbar = refObjectConfig.enable_tree ? [] : getObjectFooterToolbar();
9246
9233
  if (ctx.filterVisible !== false) {
9247
9234
  pickerSchema.filter = await getObjectFilter(refObjectConfig, fields, {
9235
+ ...ctx,
9248
9236
  isLookup: true,
9249
- ...ctx
9237
+ keywordsSearchBoxName
9250
9238
  });
9251
9239
  }
9252
9240
  pickerSchema.data = Object.assign({}, pickerSchema.data, {
@@ -9582,7 +9570,7 @@ crudService && crudService.setData({showFieldsFilter: toShowFieldsFilter});
9582
9570
  }
9583
9571
 
9584
9572
  if(referenceTo.objectName === "space_users" && field.reference_to_field === "user"){
9585
- if(ctx.idsDependOn || field.amis){
9573
+ if(ctx.idsDependOn){
9586
9574
  // ids人员点选模式
9587
9575
  return await lookupToAmisIdsPicker(field, readonly, ctx);
9588
9576
  }
@@ -9957,7 +9945,7 @@ crudService && crudService.setData({showFieldsFilter: toShowFieldsFilter});
9957
9945
  return readonly ? getAmisFileReadonlySchema(steedosField) : getAmisFileEditSchema(steedosField);
9958
9946
  };
9959
9947
 
9960
- const SEARCHABLE_FIELD_TYPES = ["text", "textarea", "autonumber", "url", "email"];
9948
+ const QUICK_SEARCHABLE_FIELD_TYPES = ["text", "textarea", "autonumber", "url", "email"];
9961
9949
  const OMIT_FIELDS = ['created', 'created_by', 'modified', 'modified_by'];
9962
9950
  // const Lookup = require('./lookup');
9963
9951
 
@@ -10730,9 +10718,22 @@ crudService && crudService.setData({showFieldsFilter: toShowFieldsFilter});
10730
10718
  window.isFieldTypeSearchable = isFieldTypeSearchable;
10731
10719
  }
10732
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
+
10733
10734
  var index = /*#__PURE__*/Object.freeze({
10734
10735
  __proto__: null,
10735
- SEARCHABLE_FIELD_TYPES: SEARCHABLE_FIELD_TYPES,
10736
+ QUICK_SEARCHABLE_FIELD_TYPES: QUICK_SEARCHABLE_FIELD_TYPES,
10736
10737
  OMIT_FIELDS: OMIT_FIELDS,
10737
10738
  getBaseFields: getBaseFields,
10738
10739
  getAmisFieldType: getAmisFieldType,
@@ -10743,6 +10744,7 @@ crudService && crudService.setData({showFieldsFilter: toShowFieldsFilter});
10743
10744
  convertSFieldToAmisField: convertSFieldToAmisField,
10744
10745
  getFieldSearchable: getFieldSearchable,
10745
10746
  isFieldTypeSearchable: isFieldTypeSearchable,
10747
+ isFieldQuickSearchable: isFieldQuickSearchable,
10746
10748
  getAmisStaticFieldType: getAmisStaticFieldType
10747
10749
  });
10748
10750
 
@@ -11519,8 +11521,9 @@ crudService && crudService.setData({showFieldsFilter: toShowFieldsFilter});
11519
11521
  if(filter){
11520
11522
  baseFilters = filter;
11521
11523
  }
11522
- ___default__namespace.each(fields,function(field){
11523
- if(field.searchable && SEARCHABLE_FIELD_TYPES.indexOf(field.type) > -1){
11524
+
11525
+ ___default__namespace.each(fields, function (field) {
11526
+ if (isFieldQuickSearchable(field, mainObject.NAME_FIELD_KEY)) {
11524
11527
  searchableFields.push(field.name);
11525
11528
  }
11526
11529
  });
@@ -11648,19 +11651,10 @@ crudService && crudService.setData({showFieldsFilter: toShowFieldsFilter});
11648
11651
  })
11649
11652
  }
11650
11653
 
11651
- if(selfData.__keywords && allowSearchFields){
11652
- const keywordsFilters = [];
11653
- allowSearchFields.forEach(function(key, index){
11654
- const keyValue = selfData.__keywords;
11655
- if(keyValue){
11656
- keywordsFilters.push([key, "contains", keyValue]);
11657
- if(index < allowSearchFields.length - 1){
11658
- keywordsFilters.push('or');
11659
- }
11660
- }
11661
- })
11654
+ var keywordsFilters = SteedosUI.getKeywordsSearchFilter(selfData.__keywords, allowSearchFields);
11655
+ if(keywordsFilters && keywordsFilters.length > 0){
11662
11656
  userFilters.push(keywordsFilters);
11663
- };
11657
+ }
11664
11658
 
11665
11659
  let filters = [];
11666
11660
 
@@ -19840,7 +19834,7 @@ crudService && crudService.setData({showFieldsFilter: toShowFieldsFilter});
19840
19834
  });
19841
19835
  }); };
19842
19836
 
19843
- 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);
19844
19838
 
19845
19839
  var index_esm = /*#__PURE__*/Object.freeze({
19846
19840
  __proto__: null,