@steedos-widgets/amis-object 1.2.6 → 1.2.7

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.
@@ -205,6 +205,39 @@ body {
205
205
  overflow: unset;
206
206
  }
207
207
 
208
+ /* 手机端native时间控件样式 */
209
+ @media (max-width: 768px){
210
+ .steedos-combo-edit .antd-Form-row{
211
+ display: flex !important;
212
+ -moz-column-gap: unset !important;
213
+ column-gap: unset !important;
214
+ }
215
+ .steedos-combo-edit .antd-Form::before{
216
+ content: unset;
217
+ }
218
+
219
+ .steedos-combo-edit .antd-Form .antd-Form-item::after{
220
+ content: unset;
221
+ }
222
+
223
+ .steedos-combo-edit .antd-Form .antd-Form-item{
224
+ padding: 0;
225
+ }
226
+
227
+ .steedos-combo-edit{
228
+ flex-wrap:nowrap !important;
229
+ }
230
+
231
+ .steedos-combo-edit .steedos-native-date .antd-TextControl-input input{
232
+ min-width: 120px;
233
+ align-items: start !important;
234
+ }
235
+
236
+ .steedos-combo-edit .steedos-native-time .antd-TextControl-input input{
237
+ min-width: 70px;
238
+ }
239
+ }
240
+
208
241
  .ant-dropdown-menu {
209
242
  border: 1px solid #e5e5e5;
210
243
  border-radius: 0.25rem;
@@ -608,6 +641,9 @@ body {
608
641
  .rounded-full {
609
642
  border-radius: 9999px
610
643
  }
644
+ .rounded-xl {
645
+ border-radius: 0.75rem
646
+ }
611
647
  .rounded-md {
612
648
  border-radius: 0.375rem
613
649
  }
@@ -724,6 +760,10 @@ body {
724
760
  padding-left: 0.5rem;
725
761
  padding-right: 0.5rem
726
762
  }
763
+ .py-1 {
764
+ padding-top: 0.25rem;
765
+ padding-bottom: 0.25rem
766
+ }
727
767
  .pt-4 {
728
768
  padding-top: 1rem
729
769
  }
@@ -903,6 +943,9 @@ body {
903
943
  outline-offset: 2px
904
944
  }
905
945
  @media (min-width: 640px) {
946
+ .sm\:sticky {
947
+ position: sticky
948
+ }
906
949
  .sm\:m-3 {
907
950
  margin: 0.75rem
908
951
  }
@@ -3045,7 +3045,7 @@ async function getObjectFieldsFilterBarSchema(objectSchema, ctx) {
3045
3045
  // }
3046
3046
  // listView.handleFilterSubmit(Object.assign({}, removedValues, filterFormValues));
3047
3047
  `;
3048
- const onResetScript = `
3048
+ const onCancelScript = `
3049
3049
  const scope = event.context.scoped;
3050
3050
  var filterForm = scope.parent.parent.getComponents().find(function(n){
3051
3051
  return n.props.type === "form";
@@ -3073,6 +3073,14 @@ async function getObjectFieldsFilterBarSchema(objectSchema, ctx) {
3073
3073
  }
3074
3074
  }
3075
3075
  listView.handleFilterSubmit(removedValues);
3076
+ const filterService = filterForm.context.getComponents().find(function(n){
3077
+ return n.props.type === "service";
3078
+ });
3079
+ filterService.setData({showFieldsFilter: !!!filterService.props.data.showFieldsFilter});
3080
+ //触发amis crud 高度重算
3081
+ setTimeout(()=>{
3082
+ window.dispatchEvent(new Event("resize"))
3083
+ }, 100);
3076
3084
  `;
3077
3085
  const dataProviderInited = `
3078
3086
  const objectName = data.objectName;
@@ -3269,14 +3277,15 @@ async function getObjectFieldsFilterBarSchema(objectSchema, ctx) {
3269
3277
  },
3270
3278
  {
3271
3279
  "type": "button",
3272
- "label": "重置",
3280
+ "label": "取消",
3281
+ "name": "btn_filter_form_cancel",
3273
3282
  "visibleOn": "this.filterFormSearchableFields && this.filterFormSearchableFields.length",
3274
3283
  "onEvent": {
3275
3284
  "click": {
3276
3285
  "actions": [
3277
3286
  {
3278
3287
  "actionType": "custom",
3279
- "script": onResetScript
3288
+ "script": onCancelScript
3280
3289
  }
3281
3290
  ]
3282
3291
  }
@@ -3880,11 +3889,26 @@ const filterForm = scope.getComponents().find(function(n){
3880
3889
  const filterService = filterForm.context.getComponents().find(function(n){
3881
3890
  return n.props.type === "service";
3882
3891
  });
3883
- filterService.setData({showFieldsFilter: !!!filterService.props.data.showFieldsFilter});
3884
- //触发amis crud 高度重算
3885
- setTimeout(()=>{
3886
- window.dispatchEvent(new Event("resize"))
3887
- }, 100)
3892
+ // filterService.setData({showFieldsFilter: !!!filterService.props.data.showFieldsFilter});
3893
+ let resizeWindow = function(){
3894
+ //触发amis crud 高度重算
3895
+ setTimeout(()=>{
3896
+ window.dispatchEvent(new Event("resize"))
3897
+ }, 500);
3898
+ }
3899
+ if(filterService.props.data.showFieldsFilter){
3900
+ let buttonCancel = SteedosUI.getClosestAmisComponentByType(filterForm.context, "button", {
3901
+ direction: "down",
3902
+ name: "btn_filter_form_cancel"
3903
+ });
3904
+ buttonCancel.props.dispatchEvent('click', {}).then(function(){
3905
+ resizeWindow();
3906
+ });
3907
+ }
3908
+ else{
3909
+ filterService.setData({showFieldsFilter: true});
3910
+ resizeWindow();
3911
+ }
3888
3912
  `;
3889
3913
 
3890
3914
  function getExportApiRequestAdaptorScript(){
@@ -4623,8 +4647,8 @@ function getObjectFooterToolbar(mainObject, formFactor) {
4623
4647
  }
4624
4648
  else {
4625
4649
  return [
4650
+ "switch-per-page",
4626
4651
  "statistics",
4627
- // "switch-per-page",
4628
4652
  "pagination"
4629
4653
  ]
4630
4654
  }
@@ -5816,6 +5840,23 @@ const getAmisFileSchema = (steedosField, readonly)=>{
5816
5840
  return readonly ? getAmisFileReadonlySchema(steedosField) : getAmisFileEditSchema(steedosField);
5817
5841
  };
5818
5842
 
5843
+ /*
5844
+ * @Author: baozhoutao@steedos.com
5845
+ * @Date: 2022-07-20 16:29:22
5846
+ * @LastEditors: Please set LastEditors
5847
+ * @LastEditTime: 2023-05-11 11:19:54
5848
+ * @Description:
5849
+ */
5850
+
5851
+ function getContrastColor(bgColor) {
5852
+ var backgroundColor = (bgColor.charAt(0) === '#') ? bgColor.substring(1, 7) : bgColor;
5853
+ var r = parseInt(backgroundColor.substr(0, 2), 16);
5854
+ var g = parseInt(backgroundColor.substr(2, 2), 16);
5855
+ var b = parseInt(backgroundColor.substr(4, 2), 16);
5856
+ var brightness = (r * 299 + g * 587 + b * 114) / 1000;
5857
+ return brightness >= 128 ? "#000000" : "#ffffff";
5858
+ }
5859
+
5819
5860
  const OMIT_FIELDS = ['created', 'created_by', 'modified', 'modified_by'];
5820
5861
  // const Lookup = require('./lookup');
5821
5862
 
@@ -5969,6 +6010,8 @@ function getSelectFieldOptions(field){
5969
6010
  }
5970
6011
 
5971
6012
  async function convertSFieldToAmisField(field, readonly, ctx) {
6013
+ // console.log('convertSFieldToAmisField====>', field, readonly, ctx)
6014
+ const isMobile = window.innerWidth <= 768;
5972
6015
  // 创建人和修改人、创建时间和修改时间不显示
5973
6016
  if(___default__namespace.includes(OMIT_FIELDS, field.name) && ctx.showSystemFields != true){
5974
6017
  return;
@@ -6003,20 +6046,42 @@ async function convertSFieldToAmisField(field, readonly, ctx) {
6003
6046
  // }
6004
6047
  // break;
6005
6048
  case 'select':
6006
- convertData = {
6007
- type: getAmisStaticFieldType('select', readonly),
6008
- joinValues: false,
6009
- options: getSelectFieldOptions(field),
6010
- extractValue: true,
6011
- clearable: true,
6012
- labelField: 'label',
6013
- valueField: 'value',
6014
- tpl: readonly ? getSelectTpl(field) : null
6015
- };
6016
- if(field.multiple){
6017
- convertData.multiple = true;
6018
- convertData.extractValue = true;
6049
+ if(readonly){
6050
+ const selectOptions = field.options;
6051
+ let map = {};
6052
+ ___default__namespace.forEach(selectOptions,(option)=>{
6053
+ const optionValue = option.value + '';
6054
+ if(option.color){
6055
+ const background = '#'+option.color;
6056
+ const color = getContrastColor(background);
6057
+ const optionColorStyle = 'background:'+background+';color:'+color;
6058
+ map[optionValue] = `<span class="rounded-xl px-2 py-1" style='${optionColorStyle}'>${option.label}</span>`;
6059
+ }else {
6060
+ map[optionValue] = option.label;
6061
+ }
6062
+ });
6063
+ convertData = {
6064
+ type: "static-mapping",
6065
+ name: field.name,
6066
+ label: field.label,
6067
+ map: map
6068
+ };
6069
+ }else {
6070
+ convertData = {
6071
+ type: getAmisStaticFieldType('select', readonly),
6072
+ joinValues: false,
6073
+ options: getSelectFieldOptions(field),
6074
+ extractValue: true,
6075
+ clearable: true,
6076
+ labelField: 'label',
6077
+ valueField: 'value'
6078
+ };
6079
+ if(field.multiple){
6080
+ convertData.multiple = true;
6081
+ convertData.extractValue = true;
6082
+ }
6019
6083
  }
6084
+
6020
6085
  break;
6021
6086
  case 'boolean':
6022
6087
  convertData = {
@@ -6036,7 +6101,26 @@ async function convertSFieldToAmisField(field, readonly, ctx) {
6036
6101
  };
6037
6102
  break;
6038
6103
  case 'date':
6039
- convertData = {
6104
+ convertData = isMobile && !readonly ? {
6105
+ type: "native-date",
6106
+ pipeIn: (value, data) => {
6107
+ if (value) {
6108
+ value = moment(value).utc().format('YYYY-MM-DD');
6109
+ return value;
6110
+ } else {
6111
+ return "";
6112
+ }
6113
+
6114
+ },
6115
+ pipeOut: (value, oldValue, data) => {
6116
+ if (value) {
6117
+ value = moment(value).format('YYYY-MM-DDT00:00:00.000[Z]');
6118
+ return value;
6119
+ } else {
6120
+ return "";
6121
+ }
6122
+ }
6123
+ } : {
6040
6124
  type: getAmisStaticFieldType('date', readonly),
6041
6125
  inputFormat: "YYYY-MM-DD",
6042
6126
  format:'YYYY-MM-DDT00:00:00.000[Z]',
@@ -6055,12 +6139,48 @@ async function convertSFieldToAmisField(field, readonly, ctx) {
6055
6139
  };
6056
6140
  break;
6057
6141
  case 'datetime':
6058
- convertData = {
6142
+ convertData = isMobile && !readonly ? {
6143
+ type: "combo",
6144
+ pipeIn: (value, data) => {
6145
+ let revalue = {};
6146
+ if (value && value != "Invalid date") {
6147
+ value = moment(value).format('YYYY-MM-DD HH:mm:ss');
6148
+ revalue[field.name + "-native-date"] = value.split(' ')[0];
6149
+ revalue[field.name + "-native-time"] = value.split(' ')[1];
6150
+ } else {
6151
+ revalue[field.name + "-native-date"] = "";
6152
+ revalue[field.name + "-native-time"] = "";
6153
+ }
6154
+ return revalue;
6155
+ },
6156
+ pipeOut: (value, oldValue, data) => {
6157
+ let revalue = "";
6158
+ if (value[field.name + "-native-date"] && value[field.name + "-native-time"]) {
6159
+ revalue = value[field.name + "-native-date"] + " " + value[field.name + "-native-time"];
6160
+ revalue = moment(revalue).utc().format('YYYY-MM-DDTHH:mm:ss.SSS[Z]');
6161
+ }
6162
+ return revalue;
6163
+ },
6164
+ items: [
6165
+ {
6166
+ type: "native-date",
6167
+ name: field.name + "-native-date",
6168
+ className: "steedos-native-date",
6169
+ value: ""
6170
+ },
6171
+ {
6172
+ type: "native-time",
6173
+ name: field.name + "-native-time",
6174
+ className: "steedos-native-time",
6175
+ value: ""
6176
+ }
6177
+ ]
6178
+ } : {
6059
6179
  type: getAmisStaticFieldType('datetime', readonly),
6060
6180
  inputFormat: 'YYYY-MM-DD HH:mm',
6061
- format:'YYYY-MM-DDTHH:mm:ss.SSSZ',
6181
+ format: 'YYYY-MM-DDTHH:mm:ss.SSSZ',
6062
6182
  tpl: readonly ? getDateTimeTpl(field) : null,
6063
- utc: true
6183
+ utc: true,
6064
6184
  };
6065
6185
  break;
6066
6186
  case 'input-time-range':
@@ -6075,7 +6195,26 @@ async function convertSFieldToAmisField(field, readonly, ctx) {
6075
6195
  };
6076
6196
  break;
6077
6197
  case 'time':
6078
- convertData = {
6198
+ convertData = isMobile && !readonly ? {
6199
+ type: "native-time",
6200
+ pipeIn: (value, data) => {
6201
+ if (value) {
6202
+ value = moment(value).utc().format('HH:mm');
6203
+ return value;
6204
+ } else {
6205
+ return "";
6206
+ }
6207
+
6208
+ },
6209
+ pipeOut: (value, oldValue, data) => {
6210
+ if (value) {
6211
+ value = moment('1970-01-01 ' + value).format('1970-01-01THH:mm:00.000[Z]');
6212
+ return value;
6213
+ } else {
6214
+ return "";
6215
+ }
6216
+ }
6217
+ } : {
6079
6218
  type: getAmisStaticFieldType('time', readonly),
6080
6219
  inputFormat: 'HH:mm',
6081
6220
  timeFormat:'HH:mm',
@@ -6279,6 +6418,13 @@ async function convertSFieldToAmisField(field, readonly, ctx) {
6279
6418
  convertData.quickEdit = false;
6280
6419
  }
6281
6420
 
6421
+ let fieldTypeClassName = ' steedos-' + convertData.type + (readonly ? '-readonly' : '-edit');
6422
+ if (convertData.className) {
6423
+ convertData.className = convertData.className + fieldTypeClassName;
6424
+ } else {
6425
+ convertData.className = fieldTypeClassName;
6426
+ }
6427
+
6282
6428
  if(field.visible_on){
6283
6429
  // convertData.visibleOn = `\$${field.visible_on.substring(1, field.visible_on.length -1).replace(/formData./g, '')}`;
6284
6430
  if(field.visible_on.startsWith("{{")){
@@ -6962,7 +7108,7 @@ async function getObjectCRUD(objectSchema, fields, options){
6962
7108
  api: await getTableApi(objectSchema, fields, options),
6963
7109
  hiddenOn: options.tableHiddenOn,
6964
7110
  autoFillHeight: options.isRelated ? false : true,
6965
- className: `flex-auto ${crudClassName || ""}`,
7111
+ className: `flex-auto bg-white ${crudClassName || ""}`,
6966
7112
  crudClassName: crudClassName,
6967
7113
  },
6968
7114
  bodyProps,
@@ -7308,7 +7454,31 @@ async function getTableColumns$1(fields, options){
7308
7454
  ...getAmisFileReadonlySchema(field)
7309
7455
  }, field.amis, {name: field.name}));
7310
7456
  }
7311
-
7457
+ else if(field.type === 'select'){
7458
+ const selectOptions = field.options;
7459
+ let map = {};
7460
+ ___default.forEach(selectOptions,(option)=>{
7461
+ const optionValue = option.value + '';
7462
+ if(option.color){
7463
+ const background = '#'+option.color;
7464
+ const color = getContrastColor(background);
7465
+ const optionColorStyle = 'background:'+background+';color:'+color;
7466
+ map[optionValue] = `<span class="rounded-xl px-2 py-1" style='${optionColorStyle}'>${option.label}</span>`;
7467
+ }else {
7468
+ map[optionValue] = option.label;
7469
+ }
7470
+ });
7471
+ columns.push(Object.assign({}, {
7472
+ type: "mapping",
7473
+ name: field.name,
7474
+ label: field.label,
7475
+ map: map,
7476
+ sortable: field.sortable,
7477
+ width: field.width,
7478
+ toggled: field.toggled,
7479
+ className:"whitespace-nowrap",
7480
+ }, field.amis, {name: field.name}));
7481
+ }
7312
7482
  else {
7313
7483
  const tpl = await getFieldTpl(field, options);
7314
7484
 
@@ -13208,7 +13378,7 @@ var AmisRecordDetailHeader = function (props) { return __awaiter(void 0, void 0,
13208
13378
  return __generator(this, function (_d) {
13209
13379
  switch (_d.label) {
13210
13380
  case 0:
13211
- _a = props.className, className = _a === void 0 ? 'sticky top-0 z-10 bg-gray-100 border-b sm:shadow sm:rounded sm:border border-slate-300 p-4' : _a;
13381
+ _a = props.className, className = _a === void 0 ? 'sm:sticky top-0 z-10 bg-gray-100 border-b sm:shadow sm:rounded sm:border border-slate-300 p-4' : _a;
13212
13382
  return [4 /*yield*/, getUISchema(props.objectApiName || "space_users", false)];
13213
13383
  case 1:
13214
13384
  objectUiSchema = _d.sent();
@@ -14766,7 +14936,7 @@ var PageObject = function (props) { return __awaiter(void 0, void 0, void 0, fun
14766
14936
  });
14767
14937
  }); };
14768
14938
 
14769
- 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)}}}}},authRequest=function(e,t){var a=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){a=e;},error:function(e,t,r){var n,o;e.responseJSON&&e.responseJSON.error?(n=e.responseJSON.error,o=void(a={error:n}),o=n.reason||n.message||n,console.error(o)):console.error(e.responseJSON);}};return $.ajax(Object.assign({},n,t)),a}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 a=window.Creator;if(!!(!a||!a.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,a=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(a));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=(e,t)=>{let r=e;return /^\{\w+(\.*\w+)*\}$/.test(e)&&(r=-1<e.indexOf("userId")||-1<e.indexOf("spaceId")||-1<e.indexOf("user.")||-1<e.indexOf("now")?`{${e}}`.replace("{{","{{global."):`{${e}}`.replace("{{","{{formData."),t&&(r=r.replace(/\{\{(.+)\}\}/,"{{[$1]}}"))),r},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=[],a=(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=a(t,e.children,n-1))):e.children&&(e.children=a(t,e.children,n));}),e};for(var i=t,s=0;s<i.length;s++)if(i[s].noParent=0,i[s].unfolded=!1,i[s].parent){let e=1;for(var l=0;l<i.length;l++)i[s].parent==i[l][o]&&(e=0);1==e&&(i[s].noParent=1);}else i[s].noParent=1;return _.each(t,e=>{1==e.noParent&&(1<=r?(e.unfolded=!0,n.push(Object.assign({},e,{children:a(t,e.children,r-1)}))):n.push(Object.assign({},e,{children:a(t,e.children,r)})));}),n}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});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);
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);
14770
14940
 
14771
14941
  var index_esm = /*#__PURE__*/Object.freeze({
14772
14942
  __proto__: null,