@steedos-widgets/amis-object 1.2.7 → 1.2.9-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.
@@ -2964,11 +2964,11 @@ async function getObjectFieldsFilterFormSchema(ctx) {
2964
2964
  payload.msg = window.t ? window.t(payload.errors[0].message) : payload.errors[0].message;
2965
2965
  }
2966
2966
  const selfData = api.body.$self;
2967
- const filterFormSearchableFields = selfData.filterFormSearchableFields;
2968
2967
  const uiSchema = selfData.uiSchema;
2969
2968
  const fields = uiSchema.fields;
2970
- const searchableFields = [];
2971
-
2969
+ const filterFormSearchableFields = (selfData.filterFormSearchableFields || []).filter(function(item){
2970
+ return !!fields[item]
2971
+ });
2972
2972
  const resolveAll = function(values){
2973
2973
  payload.data = {
2974
2974
  "body": values
@@ -2983,21 +2983,7 @@ async function getObjectFieldsFilterFormSchema(ctx) {
2983
2983
  return Promise.all(filterFormSearchableFields.map(function (item) {
2984
2984
  const field = _.clone(fields[item]);
2985
2985
  if (
2986
- !_.includes(
2987
- [
2988
- "grid",
2989
- "avatar",
2990
- "image",
2991
- "object",
2992
- "[object]",
2993
- "[Object]",
2994
- "[grid]",
2995
- "[text]",
2996
- "audio",
2997
- "file",
2998
- ],
2999
- field.type
3000
- )
2986
+ field && window.isFieldTypeSearchable(field.type)
3001
2987
  ) {
3002
2988
  delete field.defaultValue;
3003
2989
  delete field.required;
@@ -3030,7 +3016,7 @@ async function getObjectFieldsFilterBarSchema(objectSchema, ctx) {
3030
3016
  var filterForm = scope.parent.parent.getComponents().find(function(n){
3031
3017
  return n.props.type === "form";
3032
3018
  });
3033
- filterForm.handleFormSubmit(event)
3019
+ filterForm.handleFormSubmit(event);
3034
3020
  // var filterFormValues = filterForm.getValues();
3035
3021
  // var listView = scope.parent.parent.parent.getComponents().find(function(n){
3036
3022
  // return n.props.type === "crud";
@@ -3044,6 +3030,28 @@ async function getObjectFieldsFilterBarSchema(objectSchema, ctx) {
3044
3030
  // }
3045
3031
  // }
3046
3032
  // listView.handleFilterSubmit(Object.assign({}, removedValues, filterFormValues));
3033
+
3034
+ let isMobile = Steedos.isMobile();
3035
+ if(isMobile){
3036
+ // 手机端点击搜索的时候自动收起搜索栏
3037
+ let resizeWindow = function(){
3038
+ //触发amis crud 高度重算
3039
+ setTimeout(()=>{
3040
+ window.dispatchEvent(new Event("resize"))
3041
+ }, 500);
3042
+ }
3043
+ const filterService = filterForm.context.getComponents().find(function(n){
3044
+ return n.props.type === "service";
3045
+ });
3046
+ filterService.setData({showFieldsFilter: false});
3047
+ resizeWindow();
3048
+ // 使用filterForm.getValues()的话,并不能拿到本地存储中的过滤条件,所以需要从event.data中取。
3049
+ let filterFormValues = event.data;
3050
+ let isFieldsFilterEmpty = SteedosUI.isFilterFormValuesEmpty(filterFormValues);
3051
+ let crud = SteedosUI.getClosestAmisComponentByType(scope, "crud");
3052
+ let crudService = crud && SteedosUI.getClosestAmisComponentByType(crud.context, "service");
3053
+ crudService && crudService.setData({isFieldsFilterEmpty, showFieldsFilter: false});
3054
+ }
3047
3055
  `;
3048
3056
  const onCancelScript = `
3049
3057
  const scope = event.context.scoped;
@@ -3081,7 +3089,13 @@ async function getObjectFieldsFilterBarSchema(objectSchema, ctx) {
3081
3089
  setTimeout(()=>{
3082
3090
  window.dispatchEvent(new Event("resize"))
3083
3091
  }, 100);
3084
- `;
3092
+ let isMobile = Steedos.isMobile();
3093
+ if(isMobile){
3094
+ // 手机端移除搜索按钮上的红点
3095
+ let crudService = scope.getComponentById("service_listview_" + event.data.objectName);
3096
+ crudService && crudService.setData({isFieldsFilterEmpty: true, showFieldsFilter: false});
3097
+ }
3098
+ `;
3085
3099
  const dataProviderInited = `
3086
3100
  const objectName = data.objectName;
3087
3101
  const isLookup = data.isLookup;
@@ -3135,7 +3149,15 @@ async function getObjectFieldsFilterBarSchema(objectSchema, ctx) {
3135
3149
  });
3136
3150
  // 有过滤条件时自动展开搜索栏
3137
3151
  if(!_.isEmpty(omitedEmptyFormValue)){
3138
- setData({ showFieldsFilter: true });
3152
+ let isMobile = Steedos.isMobile();
3153
+ if(isMobile){
3154
+ // 手机端不展开,只显示搜索按钮上的红点
3155
+ let crudService = SteedosUI.getRef(data.$scopeId).getComponentById("service_listview_" + data.objectName)
3156
+ crudService && crudService.setData({isFieldsFilterEmpty: false});
3157
+ }
3158
+ else{
3159
+ setData({ showFieldsFilter: true });
3160
+ }
3139
3161
  }
3140
3162
  }
3141
3163
  }
@@ -3320,9 +3342,27 @@ async function getObjectFieldsFilterBarSchema(objectSchema, ctx) {
3320
3342
  "headers": {
3321
3343
  "Authorization": "Bearer ${context.tenantId},${context.authToken}"
3322
3344
  },
3323
- "data": null,
3345
+ "data": {
3346
+ "$self": "$$"
3347
+ },
3324
3348
  "requestAdaptor": "",
3325
- "adaptor": ""
3349
+ "adaptor": `
3350
+ if(payload.errors){
3351
+ payload.status = 2;
3352
+ payload.msg = window.t ? window.t(payload.errors[0].message) : payload.errors[0].message;
3353
+ }
3354
+ const selfData = api.body.$self;
3355
+ const uiSchema = selfData.uiSchema;
3356
+ const fields = uiSchema.fields;
3357
+ const options = (payload.data?.options || []).filter(function(item){
3358
+ let field = fields[item.value];
3359
+ return !!field && window.isFieldTypeSearchable(field.type)
3360
+ });
3361
+ payload.data = {
3362
+ "options": options
3363
+ };
3364
+ return payload;
3365
+ `
3326
3366
  },
3327
3367
  "options": [],
3328
3368
  "required": true,
@@ -3896,7 +3936,12 @@ let resizeWindow = function(){
3896
3936
  window.dispatchEvent(new Event("resize"))
3897
3937
  }, 500);
3898
3938
  }
3939
+ let isMobile = Steedos.isMobile();
3899
3940
  if(filterService.props.data.showFieldsFilter){
3941
+ if(isMobile){
3942
+ // 手机上只能通过取消按钮来关闭搜索栏
3943
+ return;
3944
+ }
3900
3945
  let buttonCancel = SteedosUI.getClosestAmisComponentByType(filterForm.context, "button", {
3901
3946
  direction: "down",
3902
3947
  name: "btn_filter_form_cancel"
@@ -3908,6 +3953,11 @@ if(filterService.props.data.showFieldsFilter){
3908
3953
  else{
3909
3954
  filterService.setData({showFieldsFilter: true});
3910
3955
  resizeWindow();
3956
+ if(isMobile){
3957
+ // 手机端在显示搜索栏时隐藏刷新按钮
3958
+ let crudService = scope.getComponentById("service_listview_" + event.data.objectName);
3959
+ crudService && crudService.setData({showFieldsFilter: true});
3960
+ }
3911
3961
  }
3912
3962
  `;
3913
3963
 
@@ -3993,6 +4043,7 @@ function getObjectHeaderToolbar(mainObject, formFactor, {showDisplayAs = false,
3993
4043
  "className": "bg-white p-2 rounded border-gray-300 text-gray-500",
3994
4044
  "label": "",
3995
4045
  "icon": "fa fa-sync",
4046
+ "visibleOn": "${!showFieldsFilter}",
3996
4047
  "onEvent": {
3997
4048
  "click": {
3998
4049
  "actions": [
@@ -4008,6 +4059,15 @@ function getObjectHeaderToolbar(mainObject, formFactor, {showDisplayAs = false,
4008
4059
  "label": "",
4009
4060
  "icon": "fa fa-search",
4010
4061
  "type": "button",
4062
+ "badge": {
4063
+ "offset": [
4064
+ -5,
4065
+ 1
4066
+ ],
4067
+ "size":8,
4068
+ "animation": true,
4069
+ "visibleOn": "${isFieldsFilterEmpty == false}"
4070
+ },
4011
4071
  "align": "right",
4012
4072
  "className": "bg-white p-2 rounded border-gray-300 text-gray-500",
4013
4073
  "onEvent": {
@@ -6529,6 +6589,29 @@ if(typeof window != 'undefined'){
6529
6589
  window.getFieldSearchable = getFieldSearchable;
6530
6590
  }
6531
6591
 
6592
+
6593
+ function isFieldTypeSearchable(fieldType) {
6594
+ return !___default__namespace.includes(
6595
+ [
6596
+ "grid",
6597
+ "avatar",
6598
+ "image",
6599
+ "object",
6600
+ "[object]",
6601
+ "[Object]",
6602
+ "[grid]",
6603
+ "[text]",
6604
+ "audio",
6605
+ "file",
6606
+ ],
6607
+ fieldType
6608
+ )
6609
+ }
6610
+
6611
+ if (typeof window != 'undefined') {
6612
+ window.isFieldTypeSearchable = isFieldTypeSearchable;
6613
+ }
6614
+
6532
6615
  var index = /*#__PURE__*/Object.freeze({
6533
6616
  __proto__: null,
6534
6617
  OMIT_FIELDS: OMIT_FIELDS,
@@ -6540,6 +6623,7 @@ var index = /*#__PURE__*/Object.freeze({
6540
6623
  getSelectFieldOptions: getSelectFieldOptions,
6541
6624
  convertSFieldToAmisField: convertSFieldToAmisField,
6542
6625
  getFieldSearchable: getFieldSearchable,
6626
+ isFieldTypeSearchable: isFieldTypeSearchable,
6543
6627
  getAmisStaticFieldType: getAmisStaticFieldType
6544
6628
  });
6545
6629
 
@@ -7108,7 +7192,8 @@ async function getObjectCRUD(objectSchema, fields, options){
7108
7192
  api: await getTableApi(objectSchema, fields, options),
7109
7193
  hiddenOn: options.tableHiddenOn,
7110
7194
  autoFillHeight: options.isRelated ? false : true,
7111
- className: `flex-auto bg-white ${crudClassName || ""}`,
7195
+ className: `flex-auto ${crudClassName || ""}`,
7196
+ bodyClassName: "bg-white",
7112
7197
  crudClassName: crudClassName,
7113
7198
  },
7114
7199
  bodyProps,
@@ -13477,11 +13562,12 @@ var AmisRecordService = function (props) { return __awaiter(void 0, void 0, void
13477
13562
  }); };
13478
13563
 
13479
13564
  var AmisRecordDetailRelatedList = function (props) { return __awaiter(void 0, void 0, void 0, function () {
13480
- var $schema, objectApiName, recordId, relatedObjectApiName, relatedKey, top, perPage, hiddenEmptyTable, appId, relatedLabel, _a, className, columns, sort, filters, visible_on, requestAdaptor, adaptor, formFactor, formData, schema;
13481
- return __generator(this, function (_b) {
13482
- switch (_b.label) {
13565
+ var $schema, objectApiName, recordId, relatedObjectApiName, data, relatedKey, top, perPage, hiddenEmptyTable, appId, relatedLabel, _a, className, columns, sort, filters, visible_on, requestAdaptor, adaptor, formFactor, formData, schema;
13566
+ var _b;
13567
+ return __generator(this, function (_c) {
13568
+ switch (_c.label) {
13483
13569
  case 0:
13484
- $schema = props.$schema, objectApiName = props.objectApiName, recordId = props.recordId, relatedObjectApiName = props.relatedObjectApiName, props.data, relatedKey = props.relatedKey, top = props.top, perPage = props.perPage, hiddenEmptyTable = props.hiddenEmptyTable, appId = props.appId, relatedLabel = props.relatedLabel, _a = props.className, className = _a === void 0 ? '' : _a, columns = props.columns, sort = props.sort, filters = props.filters, visible_on = props.visible_on, requestAdaptor = props.requestAdaptor, adaptor = props.adaptor;
13570
+ $schema = props.$schema, objectApiName = props.objectApiName, recordId = props.recordId, relatedObjectApiName = props.relatedObjectApiName, data = props.data, relatedKey = props.relatedKey, top = props.top, perPage = props.perPage, hiddenEmptyTable = props.hiddenEmptyTable, appId = props.appId, relatedLabel = props.relatedLabel, _a = props.className, className = _a === void 0 ? '' : _a, columns = props.columns, sort = props.sort, filters = props.filters, visible_on = props.visible_on, requestAdaptor = props.requestAdaptor, adaptor = props.adaptor;
13485
13571
  formFactor = props.formFactor;
13486
13572
  if (!formFactor) {
13487
13573
  formFactor = window.innerWidth < 768 ? 'SMALL' : 'LARGE';
@@ -13502,8 +13588,17 @@ var AmisRecordDetailRelatedList = function (props) { return __awaiter(void 0, vo
13502
13588
  }
13503
13589
  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 })];
13504
13590
  case 1:
13505
- schema = (_b.sent()).amisSchema;
13591
+ schema = (_c.sent()).amisSchema;
13506
13592
  schema.data = Object.assign(schema.data, formData);
13593
+ if (___default.has(props, "recordId") && $schema.recordId !== "${recordId}") {
13594
+ schema.data = Object.assign(schema.data, {
13595
+ _master: {
13596
+ record: (_b = data === null || data === void 0 ? void 0 : data._master) === null || _b === void 0 ? void 0 : _b.record,
13597
+ objectName: objectApiName,
13598
+ recordId: recordId
13599
+ }
13600
+ });
13601
+ }
13507
13602
  return [2 /*return*/, schema];
13508
13603
  }
13509
13604
  });
@@ -14936,7 +15031,7 @@ var PageObject = function (props) { return __awaiter(void 0, void 0, void 0, fun
14936
15031
  });
14937
15032
  }); };
14938
15033
 
14939
- var __assign=function(){return (__assign=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var o in t=arguments[n])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e}).apply(this,arguments)},StandardObjects={Base:{Actions:{standard_query:{visible:function(e,t,n){return !1}},standard_new:{visible:function(e,t,n){return "cms_files"!==e&&"instances"!==e&&(n?n.allowCreate:void 0)}},standard_edit:{visible:function(e,t,n){if(n)return n.allowEdit}},standard_delete:{visible:function(e,t,n){if(n)return n.allowDelete}},standard_import_data:{visible:function(e,t,n){var r=this.object;if(n)return n.allowCreate&&r.hasImportTemplates}},standard_approve:{visible:function(e,t,n){return !1}},standard_view_instance:{visible:function(e,t,n){return !1}},standard_submit_for_approval:{visible:function(e,t,n){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,n){return !1}},standard_delete_many:{visible:function(e,t,n){return !RegExp("\\w+/view/\\w+").test(location.pathname)&&(n?n.allowDelete:void 0)}}}}},authRequest=function(e,t){var i=null;e=Steedos.absoluteUrl(e);try{var n=[{name:"Content-Type",value:"application/json"},{name:"Authorization",value:Steedos.getAuthorization()}],r={type:"get",url:e,dataType:"json",contentType:"application/json",beforeSend:function(t){if(n&&n.length)return n.forEach(function(e){return t.setRequestHeader(e.name,e.value)})},success:function(e){i=e;},error:function(e,t,n){var r,o;e.responseJSON&&e.responseJSON.error?(r=e.responseJSON.error,o=void(i={error:r}),o=r.reason||r.message||r,console.error(o)):console.error(e.responseJSON);}};return $.ajax(Object.assign({},r,t)),i}catch(e){console.error(e);}};function _extends(){return (_extends=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n,r=arguments[t];for(n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n]);}return e}).apply(this,arguments)}const newFunctionComponent=o=>e=>{const[t,n]=React.useState(!0);var r=()=>{n(!1);};return ___default.has(e,"ref")||(window.SteedosUI.refs[e.name]={show:()=>{n(!0);},close:r}),React__default["default"].createElement(o,_extends({visible:t,onCancel:r,onClose:r},{width:"70%",style:{width:"70%",maxWidth:"950px",minWidth:"480px"}},e))},newComponentRender=(n,r)=>(e,t)=>{e.name||(e.name=n+"-"+(e.name||"default")),(t=t||document.getElementById(`steedos-${n}-root-`+e.name))||((t=document.createElement("div")).setAttribute("id",`steedos-${n}-root-`+e.name),document.body.appendChild(t));e=React__default["default"].createElement(newFunctionComponent(r),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,n)=>{e=e.replace(/\./g,"_");n=getGraphqlFieldsQuery(n);let r="";t=[`id: "${t}"`];return `{record:${e}__findOne${r=0<t.length?`(${t.join(",")})`:r}{${n}}}`},SObject={getRecord:async(e,t,n)=>{return (await fetchAPI("/graphql",{method:"post",body:JSON.stringify({query:getFindOneQuery(e,t,n)})})).data.record},getUISchema:async(e,t)=>getUISchema(e,t)},canSaveFilter=e=>!(!e._id||e.owner!==getSteedosAuth()?.userId),ListView={showFilter:(e,{listView:t,data:n})=>{canSaveFilter(t);n.filters&&(n.filters=filtersToConditions(n.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:n}){return `/app/${e}/${t}/grid/`+n},getObjectDetailPath({appId:e,objectName:t,recordId:n}){return `/app/${e}/${t}/view/`+n},getObjectRelatedViewPath({appId:e,masterObjectName:t,masterRecordId:n,objectName:r,foreignKey:o}){return `/app/${e}/${t}/${n}/${r}/grid?related_field_name=`+o}};var withModalWrap=function(t,e){return function(e){return React.createElement(t,e)}},render=function(e,t,n,r){e=withModalWrap(e),e=React.createElement(e,__assign({},t));return ReactDOM__default["default"].render(e,n)};const safeRunFunction=(t,n,r,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(n)||(e=___default.isArray(n)?n:[n]),t.bind(o||{})(...e)}catch(e){return console.log(e),r}};function safeEval(js){try{return eval(js)}catch(e){console.error(e,js);}}const isExpression=function(e){var t,n;return "string"==typeof e&&(t=/^{{(function.+)}}$/,n=/^{{(.+=>.+)}}$/,!("string"!=typeof e||!e.match(/^{{(.+)}}$/)||e.match(t)||e.match(n)))},parseSingleExpression=function(t,e,n,r){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("."))}(n))||{};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(r)).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,n),t}};var Expression=Object.freeze({__proto__:null,isExpression:isExpression,parseSingleExpression:parseSingleExpression});const getCompatibleDefaultValueExpression=(e,t)=>{let n=e;return /^\{\w+(\.*\w+)*\}$/.test(e)&&(n=-1<e.indexOf("userId")||-1<e.indexOf("spaceId")||-1<e.indexOf("user.")||-1<e.indexOf("now")?`{${e}}`.replace("{{","{{global."):`{${e}}`.replace("{{","{{formData."),t&&(n=n.replace(/\{\{(.+)\}\}/,"{{[$1]}}"))),n},getFieldDefaultValue=(e,t)=>{if(!e)return null;let n=e.defaultValue;e._defaultValue&&(n=safeEval(`(${e._defaultValue})`)),___default.isFunction(n)&&(n=safeRunFunction(n,[],null,{name:e.name})),___default.isString(n)&&(n=getCompatibleDefaultValueExpression(n,e.multiple));var r=isExpression(n);return r&&(n=parseSingleExpression(n,{},"#",t)),"select"===e.type&&(t=e.data_type||"text",!n||r||e.multiple||("text"!==t||___default.isString(n)?"number"!==t||___default.isNumber(n)?"boolean"!==t||___default.isBoolean(n)||(n="true"===n):n=Number(n):n=String(n))),n};function getTreeOptions(t,e){const o=e?.valueField||"value";e?.labelField;const n=e?.unfoldedNum||1,r=[],i=(t,n,r)=>{var e;if(n)return e=_.filter(t,e=>_.includes(n,e[o])),_.each(e,e=>{1<=r?(e.unfolded=!0,e.children&&(e.children=i(t,e.children,r-1))):e.children&&(e.children=i(t,e.children,r));}),e};for(var a=t,s=0;s<a.length;s++)if(a[s].noParent=0,a[s].unfolded=!1,a[s].parent){let e=1;for(var l=0;l<a.length;l++)a[s].parent==a[l][o]&&(e=0);1==e&&(a[s].noParent=1);}else a[s].noParent=1;return _.each(t,e=>{1==e.noParent&&(1<=n?(e.unfolded=!0,r.push(Object.assign({},e,{children:i(t,e.children,n-1)}))):r.push(Object.assign({},e,{children:i(t,e.children,n)})));}),r}function getClosestAmisComponentByType(t,n,r){let o=(r=r||{}).name;var e=r.direction||"up";let i=t.getComponents().find(function(e){return e.props.type===n&&(!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],n,r));e++);return i}}else if("up"===e&&t.parent)return getClosestAmisComponentByType(t.parent,n,r)}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 n=window.FlowRouter;if(t)return n?n.go(t):window.open(t);n?n.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:n})=>{switch(e){case"listview":return `amis-${t}-${n}-listview`;case"form":return `amis-${t}-${n}-form`;case"detail":return `amis-${t}-${n}-detail`;default:return `amis-${t}-${n}-`+e}},reloadRecord:()=>{if(window.FlowRouter)return window.FlowRouter.reload()},getFieldDefaultValue:getFieldDefaultValue,getTreeOptions:getTreeOptions,getClosestAmisComponentByType:getClosestAmisComponentByType});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,n=e.authToken;return t&&n?"Bearer ".concat(t,",").concat(n):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);
15034
+ var __assign=function(){return (__assign=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var o in t=arguments[n])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e}).apply(this,arguments)},StandardObjects={Base:{Actions:{standard_query:{visible:function(e,t,n){return !1}},standard_new:{visible:function(e,t,n){return "cms_files"!==e&&"instances"!==e&&(n?n.allowCreate:void 0)}},standard_edit:{visible:function(e,t,n){if(n)return n.allowEdit}},standard_delete:{visible:function(e,t,n){if(n)return n.allowDelete}},standard_import_data:{visible:function(e,t,n){var r=this.object;if(n)return n.allowCreate&&r.hasImportTemplates}},standard_approve:{visible:function(e,t,n){return !1}},standard_view_instance:{visible:function(e,t,n){return !1}},standard_submit_for_approval:{visible:function(e,t,n){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,n){return !1}},standard_delete_many:{visible:function(e,t,n){return !RegExp("\\w+/view/\\w+").test(location.pathname)&&(n?n.allowDelete:void 0)}}}}},authRequest=function(e,t){var i=null;e=Steedos.absoluteUrl(e);try{var n=[{name:"Content-Type",value:"application/json"},{name:"Authorization",value:Steedos.getAuthorization()}],r={type:"get",url:e,dataType:"json",contentType:"application/json",beforeSend:function(t){if(n&&n.length)return n.forEach(function(e){return t.setRequestHeader(e.name,e.value)})},success:function(e){i=e;},error:function(e,t,n){var r,o;e.responseJSON&&e.responseJSON.error?(r=e.responseJSON.error,o=void(i={error:r}),o=r.reason||r.message||r,console.error(o)):console.error(e.responseJSON);}};return $.ajax(Object.assign({},r,t)),i}catch(e){console.error(e);}};function _extends(){return (_extends=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n,r=arguments[t];for(n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n]);}return e}).apply(this,arguments)}const newFunctionComponent=o=>e=>{const[t,n]=React.useState(!0);var r=()=>{n(!1);};return ___default.has(e,"ref")||(window.SteedosUI.refs[e.name]={show:()=>{n(!0);},close:r}),React__default["default"].createElement(o,_extends({visible:t,onCancel:r,onClose:r},{width:"70%",style:{width:"70%",maxWidth:"950px",minWidth:"480px"}},e))},newComponentRender=(n,r)=>(e,t)=>{e.name||(e.name=n+"-"+(e.name||"default")),(t=t||document.getElementById(`steedos-${n}-root-`+e.name))||((t=document.createElement("div")).setAttribute("id",`steedos-${n}-root-`+e.name),document.body.appendChild(t));e=React__default["default"].createElement(newFunctionComponent(r),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,n)=>{e=e.replace(/\./g,"_");n=getGraphqlFieldsQuery(n);let r="";t=[`id: "${t}"`];return `{record:${e}__findOne${r=0<t.length?`(${t.join(",")})`:r}{${n}}}`},SObject={getRecord:async(e,t,n)=>{return (await fetchAPI("/graphql",{method:"post",body:JSON.stringify({query:getFindOneQuery(e,t,n)})})).data.record},getUISchema:async(e,t)=>getUISchema(e,t)},canSaveFilter=e=>!(!e._id||e.owner!==getSteedosAuth()?.userId),ListView={showFilter:(e,{listView:t,data:n})=>{canSaveFilter(t);n.filters&&(n.filters=filtersToConditions(n.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:n}){return `/app/${e}/${t}/grid/`+n},getObjectDetailPath({appId:e,objectName:t,recordId:n}){return `/app/${e}/${t}/view/`+n},getObjectRelatedViewPath({appId:e,masterObjectName:t,masterRecordId:n,objectName:r,foreignKey:o}){return `/app/${e}/${t}/${n}/${r}/grid?related_field_name=`+o}};var withModalWrap=function(t,e){return function(e){return React.createElement(t,e)}},render=function(e,t,n,r){e=withModalWrap(e),e=React.createElement(e,__assign({},t));return ReactDOM__default["default"].render(e,n)};const safeRunFunction=(t,n,r,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(n)||(e=___default.isArray(n)?n:[n]),t.bind(o||{})(...e)}catch(e){return console.log(e),r}};function safeEval(js){try{return eval(js)}catch(e){console.error(e,js);}}const isExpression=function(e){var t,n;return "string"==typeof e&&(t=/^{{(function.+)}}$/,n=/^{{(.+=>.+)}}$/,!("string"!=typeof e||!e.match(/^{{(.+)}}$/)||e.match(t)||e.match(n)))},parseSingleExpression=function(t,e,n,r){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("."))}(n))||{};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(r)).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,n),t}};var Expression=Object.freeze({__proto__:null,isExpression:isExpression,parseSingleExpression:parseSingleExpression});const getCompatibleDefaultValueExpression=(e,t)=>{let n=e;return /^\{\w+(\.*\w+)*\}$/.test(e)&&(n=-1<e.indexOf("userId")||-1<e.indexOf("spaceId")||-1<e.indexOf("user.")||-1<e.indexOf("now")?`{${e}}`.replace("{{","{{global."):`{${e}}`.replace("{{","{{formData."),t&&(n=n.replace(/\{\{(.+)\}\}/,"{{[$1]}}"))),n},getFieldDefaultValue=(e,t)=>{if(!e)return null;let n=e.defaultValue;e._defaultValue&&(n=safeEval(`(${e._defaultValue})`)),___default.isFunction(n)&&(n=safeRunFunction(n,[],null,{name:e.name})),___default.isString(n)&&(n=getCompatibleDefaultValueExpression(n,e.multiple));var r=isExpression(n);return r&&(n=parseSingleExpression(n,{},"#",t)),"select"===e.type&&(t=e.data_type||"text",!n||r||e.multiple||("text"!==t||___default.isString(n)?"number"!==t||___default.isNumber(n)?"boolean"!==t||___default.isBoolean(n)||(n="true"===n):n=Number(n):n=String(n))),n};function getTreeOptions(t,e){const o=e?.valueField||"value";e?.labelField;const n=e?.unfoldedNum||1,r=[],i=(t,n,r)=>{var e;if(n)return e=_.filter(t,e=>_.includes(n,e[o])),_.each(e,e=>{1<=r?(e.unfolded=!0,e.children&&(e.children=i(t,e.children,r-1))):e.children&&(e.children=i(t,e.children,r));}),e};for(var a=t,s=0;s<a.length;s++)if(a[s].noParent=0,a[s].unfolded=!1,a[s].parent){let e=1;for(var l=0;l<a.length;l++)a[s].parent==a[l][o]&&(e=0);1==e&&(a[s].noParent=1);}else a[s].noParent=1;return _.each(t,e=>{1==e.noParent&&(1<=n?(e.unfolded=!0,r.push(Object.assign({},e,{children:i(t,e.children,n-1)}))):r.push(Object.assign({},e,{children:i(t,e.children,n)})));}),r}function getClosestAmisComponentByType(t,n,r){let o=(r=r||{}).name;var e=r.direction||"up";let i=t.getComponents().find(function(e){return e.props.type===n&&(!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],n,r));e++);return i}}else if("up"===e&&t.parent)return getClosestAmisComponentByType(t.parent,n,r)}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 n=window.FlowRouter;if(t)return n?n.go(t):window.open(t);n?n.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:n})=>{switch(e){case"listview":return `amis-${t}-${n}-listview`;case"form":return `amis-${t}-${n}-form`;case"detail":return `amis-${t}-${n}-detail`;default:return `amis-${t}-${n}-`+e}},reloadRecord:()=>{if(window.FlowRouter)return window.FlowRouter.reload()},getFieldDefaultValue:getFieldDefaultValue,getTreeOptions:getTreeOptions,getClosestAmisComponentByType:getClosestAmisComponentByType,isFilterFormValuesEmpty:isFilterFormValuesEmpty});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,n=e.authToken;return t&&n?"Bearer ".concat(t,",").concat(n):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);
14940
15035
 
14941
15036
  var index_esm = /*#__PURE__*/Object.freeze({
14942
15037
  __proto__: null,