@steedos-widgets/amis-object 6.10.16 → 6.10.17

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.
@@ -156,7 +156,7 @@ if(field.expand){expandFields.push(field);}else{if(field.name.indexOf('.')<0){if
156
156
  // return item.replace(/^{/,"").replace(/}$/,"");
157
157
  // }).join(",")) : "";
158
158
  _t152="";_context64.n=1;return getFieldsTemplate(object,fields,options.expand);case 1:fieldsTemplate=_t152.concat.call(_t152,_context64.v).concat(treeFields).concat(cfsFields);return _context64.a(2,{orderBy:"${orderBy}",orderDir:"${orderDir}",pageNo:"${page}",pageSize:"${perPage}",queryFields:fieldsTemplate,query:"{".concat(alias,":").concat(object.name).concat(queryOptions,"{").concat(fieldsTemplate,"}").concat(countQuery,"}")});}},_callee64);}));return _getFindQuery.apply(this,arguments);}function getRecordPermissionsQuery(object,recordId,options){var queryOptions="";if(recordId){queryOptions="(filters:[\"".concat(object.idFieldName,"\", \"=\", \"").concat(recordId,"\"])");}var alias="data";if(options){if(options.alias){alias=options.alias;}if(options.filters){queryOptions="(filters:".concat(options.filters,")");}if(options.queryOptions){queryOptions="(".concat(options.queryOptions,")");}}var recordPermissionsTemplate=getRecordPermissionsTemplate();if(options!==null&&options!==void 0&&options.fields&&options.fields.length){recordPermissionsTemplate="\n recordPermissions: _permissions{\n ".concat(options.fields.join(","),"\n }\n ");}return{query:"{".concat(alias,":").concat(object.name).concat(queryOptions,"{").concat(object.idFieldName,",").concat(recordPermissionsTemplate,"}}")};}function getApi$2(isMobile){if(isMobile);else{// return __meteor_runtime_config__.ROOT_URL_PATH_PREFIX + "/graphql"
159
- return"${context.rootUrl}/graphql?reload=${additionalFilters|join}&listName=${listName}";}}/*
159
+ return"${context.rootUrl}/graphql?reload=${additionalFilters|join}";}}/*
160
160
  * @Author: baozhoutao@steedos.com
161
161
  * @Date: 2022-08-04 10:42:49
162
162
  * @LastEditors: baozhoutao@steedos.com
@@ -309,21 +309,27 @@ if(visible.trim().startsWith('function')){visible=visible.replace('function','fu
309
309
  operationButtons.push({type:'steedos-object-button',name:button.name,objectName:button.objectName,visibleOnAlias:getButtonVisibleOn$1(button),className:'antd-Button--default'});});if(!(operationButtons.length<1)){_context71.n=1;break;}return _context71.a(2);case 1:return _context71.a(2,{type:'operation',label:"&nbsp;",fixed:'right',labelClassName:'text-center',//TODO:目前3.6.3-patch.3版本中对于动态classname处理存在问题,简单处理固定列问题,等待amis解决crud的columns不支持动态classname的问题
310
310
  className:'text-center steedos-listview-operation w-10 is-sticky is-sticky-right is-sticky-first-right',buttons:[{"type":"steedos-dropdown-button","label":"xxx","buttons":operationButtons,"placement":"bottomRight","overlayClassName":"border rounded !min-w-[160px]","trigger":["click"],"id":"u:c2140a365019",onOpenApi:{url:"${context.rootUrl}/service/api/@${objectName}/recordPermissions/${_id}",method:"get",requestAdaptor:"api.data={}; return api;",headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"},adaptor:"\n payload = {\n record: {\n recordPermissions: payload\n }\n };\n return payload;\n "}}]});}},_callee71);}));return _getTableOperation.apply(this,arguments);}function getDefaultCrudCard(_x35,_x36){return _getDefaultCrudCard.apply(this,arguments);}function _getDefaultCrudCard(){_getDefaultCrudCard=_asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee72(columns,options){var labelFieldName,titleColumn,bodyColumns,card,hideToolbarOperation,toolbarOperation;return _regenerator().w(function(_context72){while(1)switch(_context72.n){case 0:labelFieldName=(options===null||options===void 0?void 0:options.labelFieldName)||"name";bodyColumns=[];columns.forEach(function(item){delete item.quickEdit;delete item.width;if(item.name===labelFieldName){titleColumn=item;}else{if(item.name!=="_index"){bodyColumns.push(item);}}});card={"header":{"title":titleColumn.tpl},body:bodyColumns,// useCardLabel: false,
311
311
  toolbar:[]};hideToolbarOperation=options.formFactor==='SMALL'||["split"].indexOf(options.displayAs)>-1;if(hideToolbarOperation){_context72.n=2;break;}_context72.n=1;return getTableOperation(options);case 1:toolbarOperation=_context72.v;if(toolbarOperation){toolbarOperation.className+=" inline-block w-auto";}card.toolbar.push(toolbarOperation);case 2:return _context72.a(2,card);}},_callee72);}));return _getDefaultCrudCard.apply(this,arguments);}function getTableSchema$1(_x37,_x38,_x39){return _getTableSchema$.apply(this,arguments);}/**
312
+ * 移除符合特定规则的sessionStorage项,用于清除列表视图组件请求接口的历史查询条件、翻页页码等本地存储参数数据,只保留最后一次的相关参数
313
+ * 兼容列表视图的两栏和三栏模式,以及列表视图的简化版(不带/grid)路径
314
+ * @param {string} suffix - 需要匹配的路径后缀,如"/crud"或"/crud/query"
315
+ * @returns {string} 返回包含正则表达式和清除逻辑的代码字符串
316
+ */function _getTableSchema$(){_getTableSchema$=_asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee73(object,fields,options){var _options2,isLookup,hiddenColumnOperation,defaults,listSchema,columns,useMobileColumns,card,toolbarOperation,treeConfig;return _regenerator().w(function(_context73){while(1)switch(_context73.n){case 0:if(!options){options={};}_options2=options,isLookup=_options2.isLookup,hiddenColumnOperation=_options2.hiddenColumnOperation;defaults=options.defaults;listSchema=defaults&&defaults.listSchema||{};columns=[];useMobileColumns=options.formFactor==='SMALL'||["split"].indexOf(options.displayAs)>-1;if(isLookup){// 在lookup手机端列表模式调式好之前不使用getMobileTableColumns
317
+ useMobileColumns=false;}if(listSchema.mode&&listSchema.mode!=="table"){// 如果指定的mode,则不走我们内置的手机端列表效果,使用steedos组件内部开发的默认card/list效果,或者由用户自己实现card/list模式的crud列表
318
+ useMobileColumns=false;}if(!useMobileColumns){_context73.n=2;break;}_context73.n=1;return getMobileTableColumns(fields,options);case 1:columns=_context73.v;_context73.n=8;break;case 2:_context73.n=3;return getTableColumns$1(object,fields,options);case 3:columns=_context73.v;if(!(listSchema.mode==="cards")){_context73.n=6;break;}card=listSchema.card;if(card){_context73.n=5;break;}_context73.n=4;return getDefaultCrudCard(columns,options);case 4:card=_context73.v;case 5:return _context73.a(2,_objectSpread2({mode:"cards",perPageAvailable:[20,50,100,500],name:"thelist",headerToolbarClassName:"py-2 px-2 border-gray-300 border-solid border-b",className:"",draggable:false,card:card,syncLocation:false,keepItemSelectionOnPageChange:true,checkOnItemClick:isLookup?true:false,labelTpl:"${".concat(options.labelFieldName,"}"),autoFillHeight:false,// 自动高度效果不理想,先关闭
319
+ columnsTogglable:false},getDefaultParams$1(options)));case 6:if(!(!isLookup&&!hiddenColumnOperation)){_context73.n=8;break;}_context73.n=7;return getTableOperation(options);case 7:toolbarOperation=_context73.v;columns.push(toolbarOperation);case 8:treeConfig={};if(options.enable_tree){treeConfig.expandConfig={expand:'first'};}return _context73.a(2,_objectSpread2(_objectSpread2({mode:"table",perPageAvailable:[20,50,100,500],name:"thelist",headerToolbarClassName:"py-2 px-2 border-gray-300 border-solid border-b",className:"",draggable:false,columns:columns,syncLocation:false,keepItemSelectionOnPageChange:true,checkOnItemClick:isLookup?true:false,labelTpl:"${".concat(options.labelFieldName,"}"),autoFillHeight:false,// 自动高度效果不理想,先关闭
320
+ columnsTogglable:false},treeConfig),getDefaultParams$1(options)));}},_callee73);}));return _getTableSchema$.apply(this,arguments);}function removeTableApiSessionStorageItems(suffix){// 手动转义suffix中的斜线/以确保正则表达式能够正确匹配路径
321
+ var escapedSuffix=suffix.replace(/\//g,'\\/');return"\n /**\n * \u6B63\u5219\u8868\u8FBE\u5F0F1\uFF1A\u5339\u914D\u4E0D\u5E26 /grid \u7684\u8DEF\u5F84\uFF0C\u8DEF\u5F84\u7ED3\u5C3E\u4E3A ".concat(escapedSuffix,"\n * - \u9002\u7528\u4E8E\u8DEF\u5F84\u683C\u5F0F\uFF1A/app/{appName}/{objectName}").concat(suffix,"\n * - \u53EF\u80FD\u7684suffix\u503C\u5305\u62EC\uFF1A\"/crud\", \"/crud/query\"\n */\n const noGridPattern = new RegExp('^\\\\/app\\\\/([^\\\\/]+)\\\\/([^\\\\/]+)").concat(escapedSuffix,"$');\n \n /**\n * \u6B63\u5219\u8868\u8FBE\u5F0F2\uFF1A\u5339\u914D\u5E26 /grid \u7684\u8DEF\u5F84\uFF0C\u8DEF\u5F84\u7ED3\u5C3E\u4E3A ").concat(escapedSuffix,"\n * - \u9002\u7528\u4E8E\u8DEF\u5F84\u683C\u5F0F\uFF1A/app/{appName}/{objectName}/grid/{listName}").concat(suffix,"\n * - \u53EF\u80FD\u7684suffix\u503C\u5305\u62EC\uFF1A\"/crud\", \"/crud/query\"\n */\n const withGridPattern = new RegExp('^\\\\/app\\\\/([^\\\\/]+)\\\\/([^\\\\/]+)\\\\/grid\\\\/([^\\\\/]+)").concat(escapedSuffix,"$');\n \n /**\n * \u6B63\u5219\u8868\u8FBE\u5F0F3\uFF1A\u5339\u914D\u5E26 /view \u7684\u8DEF\u5F84\uFF08\u5217\u8868\u4E09\u680F\u6A21\u5F0F\uFF09\uFF0C\u8DEF\u5F84\u7ED3\u5C3E\u4E3A ").concat(escapedSuffix,"\n * - \u9002\u7528\u4E8E\u8DEF\u5F84\u683C\u5F0F\uFF1A/app/{appName}/{objectName}/view/{recordId}").concat(suffix,"\n * - \u53EF\u80FD\u7684suffix\u503C\u5305\u62EC\uFF1A\"/crud\", \"/crud/query\"\n */\n const withViewPattern = new RegExp('^\\\\/app\\\\/([^\\\\/]+)\\\\/([^\\\\/]+)\\\\/view\\\\/([^\\\\/]+)").concat(escapedSuffix,"$');\n \n // \u6E05\u9664 sessionStorage \u4E2D\u7B26\u5408\u6761\u4EF6\u7684\u5386\u53F2\u6570\u636E\n for (let i = 0; i < sessionStorage.length; i++) {\n const key = sessionStorage.key(i);\n \n /**\n * \u68C0\u67E5\u662F\u5426\u5339\u914D\u89C4\u5219\u5E76\u79FB\u9664\u5339\u914D\u7684sessionStorage\u9879:\n * - noGridPattern \u5339\u914D\u7B80\u5316\u7248\u8DEF\u5F84\n * - withGridPattern \u5339\u914D\u5E26\u6709 /grid \u7684\u8DEF\u5F84\n * - withViewPattern \u5339\u914D\u5E26\u6709 /view \u7684\u8DEF\u5F84\n */\n if (noGridPattern.test(key) || withGridPattern.test(key) || withViewPattern.test(key)) {\n sessionStorage.removeItem(key);\n i--; // \u56E0\u4E3A\u79FB\u9664\u4E4B\u540E\uFF0C\u7D22\u5F15\u4E5F\u8DDF\u7740\u53D8\u5316\uFF0C\u6240\u4EE5\u9700\u8981\u56DE\u9000\u4E00\u6B65\n }\n }\n ");}/**
312
322
  *
313
323
  * @param {*} mainObject
314
324
  * @param {*} fields
315
325
  * @param {*} options = {filter: listview 过滤条件, ...}
316
326
  * @returns
317
- */function _getTableSchema$(){_getTableSchema$=_asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee73(object,fields,options){var _options2,isLookup,hiddenColumnOperation,defaults,listSchema,columns,useMobileColumns,card,toolbarOperation,treeConfig;return _regenerator().w(function(_context73){while(1)switch(_context73.n){case 0:if(!options){options={};}_options2=options,isLookup=_options2.isLookup,hiddenColumnOperation=_options2.hiddenColumnOperation;defaults=options.defaults;listSchema=defaults&&defaults.listSchema||{};columns=[];useMobileColumns=options.formFactor==='SMALL'||["split"].indexOf(options.displayAs)>-1;if(isLookup){// lookup手机端列表模式调式好之前不使用getMobileTableColumns
318
- useMobileColumns=false;}if(listSchema.mode&&listSchema.mode!=="table"){// 如果指定的mode,则不走我们内置的手机端列表效果,使用steedos组件内部开发的默认card/list效果,或者由用户自己实现card/list模式的crud列表
319
- useMobileColumns=false;}if(!useMobileColumns){_context73.n=2;break;}_context73.n=1;return getMobileTableColumns(fields,options);case 1:columns=_context73.v;_context73.n=8;break;case 2:_context73.n=3;return getTableColumns$1(object,fields,options);case 3:columns=_context73.v;if(!(listSchema.mode==="cards")){_context73.n=6;break;}card=listSchema.card;if(card){_context73.n=5;break;}_context73.n=4;return getDefaultCrudCard(columns,options);case 4:card=_context73.v;case 5:return _context73.a(2,_objectSpread2({mode:"cards",perPageAvailable:[20,50,100,500],name:"thelist",headerToolbarClassName:"py-2 px-2 border-gray-300 border-solid border-b",className:"",draggable:false,card:card,syncLocation:false,keepItemSelectionOnPageChange:true,checkOnItemClick:isLookup?true:false,labelTpl:"${".concat(options.labelFieldName,"}"),autoFillHeight:false,// 自动高度效果不理想,先关闭
320
- columnsTogglable:false},getDefaultParams$1(options)));case 6:if(!(!isLookup&&!hiddenColumnOperation)){_context73.n=8;break;}_context73.n=7;return getTableOperation(options);case 7:toolbarOperation=_context73.v;columns.push(toolbarOperation);case 8:treeConfig={};if(options.enable_tree){treeConfig.expandConfig={expand:'first'};}return _context73.a(2,_objectSpread2(_objectSpread2({mode:"table",perPageAvailable:[20,50,100,500],name:"thelist",headerToolbarClassName:"py-2 px-2 border-gray-300 border-solid border-b",className:"",draggable:false,columns:columns,syncLocation:false,keepItemSelectionOnPageChange:true,checkOnItemClick:isLookup?true:false,labelTpl:"${".concat(options.labelFieldName,"}"),autoFillHeight:false,// 自动高度效果不理想,先关闭
321
- columnsTogglable:false},treeConfig),getDefaultParams$1(options)));}},_callee73);}));return _getTableSchema$.apply(this,arguments);}function getTableApi(_x40,_x41,_x42){return _getTableApi.apply(this,arguments);}function _getTableApi(){_getTableApi=_asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee74(mainObject,fields,options){var searchableFields,filter,filtersFunction,sort,top,_options$setDataToCom,setDataToComponentId,baseFilters,fileFields,fileFieldsKeys,lookupFields,valueField,api;return _regenerator().w(function(_context74){while(1)switch(_context74.n){case 0:searchableFields=[];filter=options.filter,filtersFunction=options.filtersFunction,sort=options.sort,top=options.top,_options$setDataToCom=options.setDataToComponentId,setDataToComponentId=_options$setDataToCom===void 0?'':_options$setDataToCom;if(_$1__namespace.isArray(filter)){filter=_$1__namespace.map(filter,function(item){if(item.operation){return[item.field,item.operation,item.value];}else{return item;}});}if(!filter){filter=[];}baseFilters=null;if(filter){baseFilters=filter;}_$1__namespace.each(mainObject.fields,function(field){if(isFieldQuickSearchable(field,mainObject.NAME_FIELD_KEY)){searchableFields.push(field.name);}});fileFields={};fileFieldsKeys=[];// 含有optionsFunction属性, 无reference_to属性的lookup字段
327
+ */function getTableApi(_x40,_x41,_x42){return _getTableApi.apply(this,arguments);}function _getTableApi(){_getTableApi=_asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee74(mainObject,fields,options){var searchableFields,filter,filtersFunction,sort,top,_options$setDataToCom,setDataToComponentId,baseFilters,fileFields,fileFieldsKeys,lookupFields,valueField,api;return _regenerator().w(function(_context74){while(1)switch(_context74.n){case 0:searchableFields=[];filter=options.filter,filtersFunction=options.filtersFunction,sort=options.sort,top=options.top,_options$setDataToCom=options.setDataToComponentId,setDataToComponentId=_options$setDataToCom===void 0?'':_options$setDataToCom;if(_$1__namespace.isArray(filter)){filter=_$1__namespace.map(filter,function(item){if(item.operation){return[item.field,item.operation,item.value];}else{return item;}});}if(!filter){filter=[];}baseFilters=null;if(filter){baseFilters=filter;}_$1__namespace.each(mainObject.fields,function(field){if(isFieldQuickSearchable(field,mainObject.NAME_FIELD_KEY)){searchableFields.push(field.name);}});fileFields={};fileFieldsKeys=[];// 含有optionsFunction属性, 无reference_to属性的lookup字段
322
328
  lookupFields={};fields.forEach(function(item){if(_$1__namespace.includes(['image','avatar','file'],item.type)){fileFieldsKeys.push(item.name);fileFields[item.name]={name:item.name,type:item.type,multiple:item.multiple};}if(_$1__namespace.includes(['lookup'],item.type)&&!item.reference_to){lookupFields[item.name]=item;}});valueField=mainObject.key_field||'_id';_context74.n=1;return getApi$1(mainObject,null,fields,{count:options.queryCount,alias:'rows',limit:top,queryOptions:"filters: {__filters}, top: {__top}, skip: {__skip}, sort: \"{__sort}\""});case 1:api=_context74.v;// api.url;//设计器上对象表格组件需要切换对象重新请求列表数据
323
329
  // if(options.isRelated){
324
330
  // api.url += "&recordId=${_master.recordId}";
325
331
  // }
326
- api.cache=3000;api.data.$term="$term";api.data.term="$term";api.data.$self="$$";api.data.self="$$";api.data.filter="$filter";api.data.loaded="${loaded}";api.data.listViewId="${listViewId}";api.data.listName="${listName}";api.requestAdaptor="\n let __changedFilterFormValues = api.data.$self.__changedFilterFormValues || {};\n let __changedSearchBoxValues = api.data.$self.__changedSearchBoxValues || {};\n // \u628A\u8868\u5355\u641C\u7D22\u548C\u5FEB\u901F\u641C\u7D22\u4E2D\u7684change\u4E8B\u4EF6\u4E2D\u8BB0\u5F55\u7684\u8FC7\u6EE4\u6761\u4EF6\u4E5F\u62FC\u5230$self\u4E2D\uFF0C\u662F\u4E3A\u89E3\u51B3\u89E6\u53D1\u641C\u7D22\u8BF7\u6C42\u65F6\uFF0C\u4E24\u8FB9\u8F93\u5165\u7684\u8FC7\u6EE4\u6761\u4EF6\u90FD\u5E26\u4E0A\uFF0C\u5373\uFF1A\n // \u6709\u65F6\u5728\u641C\u7D22\u8868\u5355\u4E2D\u8F93\u5165\u8FC7\u6EE4\u6761\u4EF6\u4E8B\uFF0C\u5FD8\u8BB0\u70B9\u51FB\u56DE\u8F66\u952E\u6216\u641C\u7D22\u6309\u94AE\uFF0C\u800C\u662F\u8FDB\u4E00\u6B65\u4FEE\u6539\u5FEB\u901F\u641C\u7D22\u6846\u4E2D\u7684\u5173\u952E\u5B57\u70B9\u51FB\u5176\u4E2D\u56DE\u8F66\u952E\u89E6\u53D1\u641C\u7D22\n // \u8FD9\u79CD\u60C5\u51B5\u4E0B\uFF0C\u89E6\u53D1\u7684\u641C\u7D22\u8BF7\u6C42\u4E2D\u6CA1\u6709\u5E26\u4E0A\u641C\u7D22\u8868\u5355\u4E2D\u8F93\u5165\u7684\u8FC7\u6EE4\u6761\u4EF6\u3002\n // \u53CD\u8FC7\u6765\u5148\u5728\u5FEB\u901F\u641C\u7D22\u6846\u4E2D\u8F93\u5165\u8FC7\u6EE4\u6761\u4EF6\u5374\u4E0D\u70B9\u51FB\u5176\u4E2D\u56DE\u8F66\u952E\u89E6\u53D1\u641C\u7D22\uFF0C\u800C\u662F\u5230\u641C\u7D22\u8868\u5355\u4E2D\u89E6\u53D1\u641C\u7D22\u8BF7\u6C42\u4E5F\u662F\u4E00\u6837\u7684\u3002\n // \u8FD9\u91CC\u76F4\u63A5\u5408\u5E76\u5230api.data.$self\uFF0C\u800C\u4E0D\u662F\u540E\u9762\u5B9A\u4E49\u7684selfData\u53D8\u91CF\uFF0C\u662F\u56E0\u4E3A\u53EF\u4EE5\u7701\u53BB\u5728\u63A5\u6536\u9002\u914D\u5668\u4E2D\u5199\u4E00\u6837\u7684\u5408\u5E76\u903B\u8F91\n // \u5982\u679C\u6709\u95EE\u9898\u53EF\u4EE5\u6539\u4E3A\u5408\u5E76\u5230selfData\u53D8\u91CF\u4E2D\uFF0C\u4F46\u662F\u8981\u5728\u63A5\u6536\u9002\u914D\u5668\u4E2D\u5199\u4E0A\u4E00\u6837\u7684\u5408\u5E76\u903B\u8F91\uFF0C\u5426\u5219\u91CC\u9762\u7684\u8FC7\u6EE4\u6761\u4EF6\u4E0D\u4F1A\u5B58\u5165\u672C\u5730\u5B58\u50A8\u4E2D\n Object.assign(api.data.$self, __changedSearchBoxValues, __changedFilterFormValues);\n // selfData \u4E2D\u7684\u6570\u636E\u7531 CRUD \u63A7\u5236. selfData\u4E2D,\u53EA\u80FD\u83B7\u53D6\u5230 CRUD \u7ED9\u5B9A\u7684data. \u65E0\u6CD5\u4ECE\u6570\u636E\u94FE\u4E2D\u83B7\u53D6\u6570\u636E.\n let selfData = JSON.parse(JSON.stringify(api.data.$self));\n // \u4FDD\u7559\u4E00\u4EFD\u521D\u59CBdata\uFF0C\u4EE5\u4F9B\u81EA\u5B9A\u4E49\u53D1\u9001\u9002\u914D\u5668\u4E2D\u83B7\u53D6\u539F\u59CB\u6570\u636E\u3002\n const data = _.cloneDeep(api.data);\n let needToStoreListViewProps;\n try{\n // TODO: \u4E0D\u5E94\u8BE5\u76F4\u63A5\u5728\u8FD9\u91CC\u53D6localStorage\uFF0C\u5E94\u8BE5\u4ECE\u5916\u9762\u4F20\u5165\n const listName = api.data.listName;\n // \u53EA\u6709\u5728\u5217\u8868\u9875\u9762\u4E2D\u624D\u9700\u8981\u5B58\u50A8\u548C\u8BFB\u53D6\u672C\u5730\u5B58\u50A8\u4E2D\u7684\u53C2\u6570\uFF0C\u76F8\u5173\u5B50\u8868\u7EC4\u4EF6\u4E0D\u9700\u8981\n needToStoreListViewProps = !!listName && !api.body.$self._isRelated;\n const listViewPropsStoreKey = location.pathname + \"/crud\";\n let localListViewProps = sessionStorage.getItem(listViewPropsStoreKey);\n if(needToStoreListViewProps && localListViewProps){\n localListViewProps = JSON.parse(localListViewProps);\n selfData = Object.assign({}, localListViewProps, selfData);\n if(!api.data.filter){\n api.data.filter = localListViewProps.filter;\n }\n if(!api.data.loaded){\n // \u7B2C\u4E00\u6B21\u52A0\u8F7D\u7EC4\u4EF6\uFF0C\u6BD4\u5982\u5237\u65B0\u6D4F\u89C8\u5668\u65F6\u56E0\u4E3Aapi.data.pageNo\u6709\u9ED8\u8BA4\u503C1\n // \u6240\u4EE5\u4F1A\u628AlocalSearchableFilter\u4E2D\u5DF2\u7ECF\u5B58\u8FC7\u7684\u9875\u7801\u8986\u76D6\n // \u5982\u679C\u662F\u7B2C\u4E00\u6B21\u52A0\u8F7D\u7EC4\u4EF6\u59CB\u7EC8\u8BA9\u7FFB\u9875\u9875\u7801\u4ECE\u672C\u5730\u5B58\u50A8\u4E2D\u53D6\u503C\n let formFactor = \"".concat(options.formFactor,"\";\n // \u79FB\u52A8\u7AEF\u4E0D\u8BC6\u522B\u672C\u5730\u5B58\u50A8\u4E2D\u7684\u7FFB\u9875\u9875\u7801\uFF0C\u5426\u5219\u70B9\u51FB\u52A0\u8F7D\u66F4\u591A\u6309\u94AE\u540E\u65E0\u6CD5\u5237\u65B0\u56DE\u7B2C\u4E00\u9875\n // api.data.pageNo = formFactor === \"SMALL\" ? 1 : (localListViewProps.page || 1);\n // \u79FB\u52A8\u7AEF\u6682\u65F6\u53BB\u9664\u52A0\u8F7D\u66F4\u591A\uFF0C\u653E\u5F00\u7FFB\u9875\n api.data.pageNo = localListViewProps.page || 1;\n }\n }\n }\n catch(ex){\n console.error(\"\u672C\u5730\u5B58\u50A8\u4E2Dcrud\u53C2\u6570\u89E3\u6790\u5F02\u5E38\uFF1A\", ex);\n }\n ").concat(baseFilters?"var systemFilters = ".concat(JSON.stringify(baseFilters),";"):'var systemFilters = [];',"\n var _ids = [];\n if(systemFilters && systemFilters.length){\n SteedosUI.traverseNestedArrayFormula(systemFilters, api.context);\n }\n const filtersFunction = ").concat(filtersFunction,";\n if(filtersFunction){\n const _filters = filtersFunction(systemFilters, api.data.$self);\n if(api.data.listName == \"recent\"){\n _ids = _filters[2]\n }\n if(_filters && _filters.length > 0){\n if(_.isEmpty(systemFilters)){\n systemFilters = _filters || [];\n }else{\n systemFilters = [systemFilters, 'and', _filters];\n }\n }\n }\n let userFilters =[];\n \n if(_.isEmpty(systemFilters)){\n systemFilters = api.data.filter || [];\n }else{\n if(!_.isEmpty(api.data.filter)){\n systemFilters = [systemFilters, 'and', api.data.filter];\n }\n }\n var pageSize = api.data.pageSize || 10;\n var pageNo = api.data.pageNo || 1;\n var skip = (pageNo - 1) * pageSize;\n var orderBy = api.data.orderBy || '';\n var orderDir = api.data.orderDir || '';\n var sort = orderBy + ' ' + orderDir;\n sort = orderBy ? sort : \"").concat(sort||'',"\";\n var allowSearchFields = ").concat(JSON.stringify(searchableFields),";\n if(api.data.$term){\n userFilters = [[\"name\", \"contains\", \"'+ api.data.$term +'\"]];\n }else if(selfData.op === 'loadOptions' && selfData.value){\n userFilters = [[\"").concat(valueField.name,"\", \"=\", selfData.value]];\n }\n\n var searchableFilter = SteedosUI.getSearchFilter(selfData) || [];\n if(searchableFilter.length > 0){\n if(userFilters.length > 0 ){\n userFilters = [userFilters, 'and', searchableFilter];\n }else{\n userFilters = searchableFilter;\n }\n }\n\n // \"\u641C\u7D22\u6B64\u5217\u8868\"\u641C\u7D22\u6846\n if(allowSearchFields){\n allowSearchFields.forEach(function(key){\n const keyValue = selfData[key];\n if(_.isString(keyValue)){\n userFilters.push([key, \"contains\", keyValue]);\n }else if(_.isArray(keyValue) || _.isBoolean(keyValue) || keyValue){\n userFilters.push([key, \"=\", keyValue]);\n }\n })\n }\n\n var keywordsFilters = SteedosUI.getKeywordsSearchFilter(selfData.__keywords, allowSearchFields);\n if(keywordsFilters && keywordsFilters.length > 0){\n userFilters.push(keywordsFilters);\n }\n\n let filters = [];\n\n if(!_.isEmpty(systemFilters)){\n filters = systemFilters;\n };\n if(api.data.$self.additionalFilters){\n if(_.isString(api.data.$self.additionalFilters)){\n userFilters.push(eval(api.data.$self.additionalFilters))\n }else{\n userFilters.push(api.data.$self.additionalFilters)\n }\n }\n\n if(api.data.$self._isRelated){\n const self = api.data.$self;\n const relatedKey = self.relatedKey;\n const refField = self.uiSchema.fields[relatedKey];\n const masterRecord = self._master.record;\n const masterObjectName = self._master.objectName;\n let relatedValue = masterRecord._id;\n if(refField && refField.reference_to_field && refField.reference_to_field != '_id'){\n relatedValue = masterRecord[refField.reference_to_field]\n }\n let relatedFilters;\n if (\n refField && (refField._reference_to ||\n (refField.reference_to && !_.isString(refField.reference_to)))\n ) {\n relatedFilters = [\n [relatedKey + \"/o\", \"=\", masterObjectName],\n [relatedKey + \"/ids\", \"=\", relatedValue],\n ];\n } else {\n relatedFilters = [relatedKey, \"=\", relatedValue];\n }\n userFilters.push(relatedFilters)\n }\n\n if(!_.isEmpty(userFilters)){\n if(_.isEmpty(filters)){\n filters = userFilters;\n }else{\n filters = [filters, 'and', userFilters]\n }\n }\n api.data._ids = _ids;\n api.data = {\n query: api.data.query.replace(/{__filters}/g, JSON.stringify(filters)).replace('{__top}', pageSize).replace('{__skip}', skip).replace('{__sort}', sort.trim())\n }\n ").concat(options.requestAdaptor||'',";\n\n //\u5199\u5165\u672C\u6B21\u5B58\u50A8filters\u3001sort\n const listViewPropsStoreKey = location.pathname + \"/crud/query\";\n needToStoreListViewProps && sessionStorage.setItem(listViewPropsStoreKey, JSON.stringify({\n filters: filters,\n sort: sort.trim(),\n pageSize: pageSize,\n skip: skip,\n fields: ").concat(JSON.stringify(_$1__namespace.map(fields,'name')),"\n }));\n // console.log('table requestAdaptor', api);\n return api;\n ");api.adaptor="\n let fields = ".concat(JSON.stringify(_$1__namespace.map(fields,'name')),";\n // \u8FD9\u91CC\u628A\u884C\u6570\u636E\u4E2D\u6240\u6709\u4E3A\u7A7A\u7684\u5B57\u6BB5\u503C\u914D\u7F6E\u4E3A\u7A7A\u5B57\u7B26\u4E32\uFF0C\u662F\u56E0\u4E3Aamis\u6709bug\uFF1Acrud\u7684columns\u4E2D\u7684\u5217\u5982\u679Ctype\u4E3Astatic-\u524D\u7F00\u7684\u8BDD\uFF0C\u884C\u6570\u636E\u4E2D\u8BE5\u5B57\u6BB5\u4E3A\u7A7A\u7684\u8BDD\u4F1A\u663E\u793A\u4E3A\u7236\u4F5C\u7528\u57DF\u4E2D\u540C\u540D\u53D8\u91CF\u503C\uFF0C\u89C1\uFF1Ahttps://github.com/baidu/amis/issues/9556\n (payload.data.rows || []).forEach((itemRow) => {\n (fields || []).forEach((itemField) => {\n if(itemField && itemField.indexOf(\".\") > -1){\n return;\n }\n if(itemField && (itemRow[itemField] === undefined || itemRow[itemField] === null)){\n // \u8FD9\u91CCitemRow\u4E2D\u4E0D\u5B58\u5728 itemField \u5C5E\u6027\uFF0C\u6216\u8005\u503C\u4E3Anull\u65F6\u90FD\u4F1A\u6709\u201C\u663E\u793A\u4E3A\u7236\u4F5C\u7528\u57DF\u4E2D\u7684\u540C\u540D\u53D8\u91CF\u503C\u201D\u7684\u95EE\u9898\uFF0C\u6240\u4EE5null\u548Cundefined\u90FD\u8981\u91CD\u7F6E\u4E3A\u7A7A\u5B57\u7B26\u4E32\n // \u5B9E\u6D4B\u6570\u5B57\u3001\u4E0B\u62C9\u6846\u3001\u591A\u9009lookup\u7B49\u5B57\u6BB5\u7C7B\u578B\u91CD\u7F6E\u4E3A\u7A7A\u5B57\u7B26\u4E32\u90FD\u4E0D\u4F1A\u6709\u95EE\u9898\uFF0C\u800C\u4E14\u5B9E\u6D4Bamis from\u7EC4\u4EF6\u7684\u6E05\u7A7A\u8868\u5355\u5B57\u6BB5\u503C\u529F\u80FD\u5C31\u662F\u628A\u8868\u5355\u4E2D\u7684\u5404\u79CD\u5B57\u6BB5\u7C7B\u578B\u8BBE\u7F6E\u4E3A\u7A7A\u5B57\u7B26\u4E32\uFF0C\u6240\u4EE5\u770B\u8D77\u6765\u4E5F\u7B26\u5408amis\u89C4\u8303\n itemRow[itemField] = \"\";\n }\n });\n });\n \n if(api.body.listName == \"recent\"){\n payload.data.rows = _.sortBy(payload.data.rows, function(item){\n return _.indexOf(api.body._ids, item._id)\n });\n }\n const enable_tree = ").concat(mainObject.enable_tree,";\n if(!enable_tree){\n _.each(payload.data.rows, function(item, index){\n const {pageNo, pageSize} = api.body;\n const skip = (pageNo - 1) * pageSize;\n item._index = skip + index + 1;\n })\n }\n window.postMessage(Object.assign({type: \"listview.loaded\"}), \"*\");\n let fileFields = ").concat(JSON.stringify(fileFields),";\n let lookupFields = ").concat(JSON.stringify(lookupFields),";\n _.each(payload.data.rows, function(item, index){\n _.each(fileFields , (field, key)=>{\n if(item[key] && item._display && item._display[key]){\n let value = item._display[key];\n if(!_.isArray(value)){\n value = [value]\n };\n if(field.type === 'file'){\n // item[key] = value\n // PC\u5BA2\u6237\u7AEF\u9644\u4EF6\u5B50\u8868\u5217\u8868\u70B9\u51FB\u6807\u9898\u9884\u89C8\u9644\u4EF6\u529F\u80FD\u4F9D\u8D56\u4E86_id\uFF0C\u6240\u4EE5\u8FD9\u91CC\u62FC\u51FA\u6765\n let itemKeyValue = item[key];\n item[key] = value.map(function(curValue, index){\n let fileId = typeof itemKeyValue == 'string' ? itemKeyValue : itemKeyValue[index];\n // \u514B\u9686\u4E00\u4EFD\u5BF9\u8C61\uFF0C\u907F\u514D\u4E0B\u65B9value\u9012\u5F52\u6C61\u67D3curValue\n let result = _.clone(curValue);\n result._id = fileId;\n result.value = fileId;\n return result;\n });\n }else{\n item[key] = _.map(value, (item)=>{\n if(field.type === 'image'){\n const url = window.getImageFieldUrl(item.url);\n return url;\n }\n return item.url;\n })\n }\n }\n })\n _.each(lookupFields , (field, key)=>{\n if(item[key]){\n if(field._optionsFunction){\n const optionsFunction = eval(\"(\" + field._optionsFunction+ \")\")(item);\n item[key + '__label'] = _.map(_.filter(optionsFunction, function(option){return item[key] == option.value}), 'label').join(' ');\n }else if(field.options){\n const options = field.options;\n item[key + '__label'] = _.map(_.filter(options, function(option){return item[key] == option.value}), 'label').join(' ');\n }\n }\n })\n })\n \n if(enable_tree){\n const records = payload.data.rows || [];\n const getTreeOptions = SteedosUI.getTreeOptions;\n const assignIndexToTreeRecords = function(tree, parentIndex) {\n tree.forEach(function (node, index) {\n // \u6784\u5EFA\u5F53\u524D\u8282\u70B9\u7684 _index\n var currentIndex = parentIndex ? parentIndex + '-' + (index + 1) : '' + (index + 1);\n \n // \u8D4B\u503C\u7ED9\u8282\u70B9\n node._index = currentIndex;\n \n // \u5982\u679C\u6709\u5B50\u8282\u70B9\uFF0C\u9012\u5F52\u8C03\u7528\u51FD\u6570\n if (node.children && node.children.length > 0) {\n assignIndexToTreeRecords(node.children, currentIndex);\n }\n });\n };\n payload.data.rows = getTreeOptions(records,{\"valueField\":\"_id\"});\n assignIndexToTreeRecords(payload.data.rows, '');\n }\n\n\n let needToStoreListViewProps;\n try{\n // TODO: \u4E0D\u5E94\u8BE5\u76F4\u63A5\u5728\u8FD9\u91CC\u53D6localStorage\uFF0C\u5E94\u8BE5\u4ECE\u5916\u9762\u4F20\u5165\n const listName = api.body.listName;\n // \u53EA\u6709\u5728\u5217\u8868\u9875\u9762\u4E2D\u624D\u9700\u8981\u5B58\u50A8\u548C\u8BFB\u53D6\u672C\u5730\u5B58\u50A8\u4E2D\u7684\u53C2\u6570\uFF0C\u76F8\u5173\u5B50\u8868\u7EC4\u4EF6\u4E0D\u9700\u8981\n needToStoreListViewProps = !!listName && !api.body.$self._isRelated;\n const listViewPropsStoreKey = location.pathname + \"/crud\";\n /**\n * localListViewProps\u89C4\u8303\u6765\u81EAcrud\u8BF7\u6C42api\u4E2Dapi.data.$self\u53C2\u6570\u503C\u7684\u3002\n * \u6BD4\u5982\uFF1A{\"perPage\":20,\"page\":1,\"__searchable__name\":\"7\",\"__searchable__between__n1__c\":[null,null],\"filter\":[[\"name\",\"contains\",\"a\"]]}\n * __searchable__...:\u9876\u90E8\u653E\u5927\u955C\u641C\u7D22\u6761\u4EF6\n * filter:\u53F3\u4FA7\u8FC7\u6EE4\u5668\n * perPage:\u6BCF\u9875\u6761\u6570\n * page:\u5F53\u524D\u9875\u7801\n * orderBy:\u6392\u5E8F\u5B57\u6BB5\n * orderDir:\u6392\u5E8F\u65B9\u5411\n */\n let localListViewProps = needToStoreListViewProps && sessionStorage.getItem(listViewPropsStoreKey);\n let selfData = JSON.parse(JSON.stringify(api.body.$self));\n if(localListViewProps){\n localListViewProps = JSON.parse(localListViewProps);\n selfData = Object.assign({}, localListViewProps, selfData, { filter: api.body.filter });\n if(!api.body.loaded){\n // \u7B2C\u4E00\u6B21\u52A0\u8F7D\u7EC4\u4EF6\uFF0C\u6BD4\u5982\u5237\u65B0\u6D4F\u89C8\u5668\u65F6\u56E0\u4E3Aapi.data.pageNo\u6709\u9ED8\u8BA4\u503C1\n // \u6240\u4EE5\u4F1A\u628AlocalSearchableFilter\u4E2D\u5DF2\u7ECF\u5B58\u8FC7\u7684\u9875\u7801\u8986\u76D6\n // \u5982\u679C\u662F\u7B2C\u4E00\u6B21\u52A0\u8F7D\u7EC4\u4EF6\u59CB\u7EC8\u8BA9\u7FFB\u9875\u9875\u7801\u4ECE\u672C\u5730\u5B58\u50A8\u4E2D\u53D6\u503C\n let formFactor = \"").concat(options.formFactor,"\";\n // \u79FB\u52A8\u7AEF\u4E0D\u8BC6\u522B\u672C\u5730\u5B58\u50A8\u4E2D\u7684\u7FFB\u9875\u9875\u7801\uFF0C\u5426\u5219\u70B9\u51FB\u52A0\u8F7D\u66F4\u591A\u6309\u94AE\u540E\u65E0\u6CD5\u5237\u65B0\u56DE\u7B2C\u4E00\u9875\n // selfData.page = formFactor === \"SMALL\" ? 1 : (localListViewProps.page || 1);\n selfData.page = localListViewProps.page || 1;\n }\n }\n \n delete selfData.context;\n delete selfData.global;\n needToStoreListViewProps && sessionStorage.setItem(listViewPropsStoreKey, JSON.stringify(selfData));\n // \u8FD4\u56DE\u9875\u7801\u5230UI\u754C\u9762\n payload.data.page= selfData.page;\n }\n catch(ex){\n console.error(\"\u672C\u5730\u5B58\u50A8\u4E2Dcrud\u53C2\u6570\u89E3\u6790\u5F02\u5E38\uFF1A\", ex);\n }\n // \u6807\u8BB0\u52A0\u8F7D\u8FC7\uFF0C\u540E\u7EED\u4F18\u5148\u4ECE\u672C\u5730\u5B58\u50A8\u4E2D\u52A0\u8F7D\u76F8\u5173\u53C2\u6570\n payload.data.loaded= true;\n const setDataToComponentId = \"").concat(setDataToComponentId,"\";\n if(setDataToComponentId){\n //https://github.com/baidu/amis/pull/6807 .parent\u7684\u6539\u52A8\u662F\u4E3A\u9002\u5E943.2getComponentById\u7684\u89C4\u5219\u6539\u52A8\uFF0C\u4E0D\u5F71\u54CD2.9\n var scope = context._scoped;\n var scopeParent = scope && scope.parent;\n var setDataToComponent = scopeParent && scopeParent.getComponentById(setDataToComponentId);\n if(setDataToComponent){\n setDataToComponent.setData({$count: payload.data.count});\n }\n };\n let formFactor = \"").concat(options.formFactor,"\";\n if(formFactor !== \"SMALL\"){\n const lisviewDom = document.querySelector(\".steedos-object-listview .antd-Table-table\");\n if(lisviewDom){\n setTimeout(()=>{\n lisviewDom.scrollIntoView();\n }, 600);\n }\n }\n\n // \u5217\u8868\u641C\u7D22\u548C\u5FEB\u901F\u641C\u7D22\uFF0C\u6709\u65F6\u5728\u67D0\u4E9B\u64CD\u4F5C\u60C5\u51B5\u4E0B\u8FD8\u662F\u4F1A\u9020\u6210crud\u63A5\u53E3\u8BF7\u6C42\u4F7F\u7528\u7684\u8FC7\u6EE4\u6761\u4EF6\u662F\u4E0A\u6B21\u7684\uFF0C\u8FD9\u91CC\u5F3A\u5236\u628A\u6B63\u786E\u7684\u8FC7\u6EE4\u6761\u4EF6\u8FD4\u56DE\u5230crud\uFF0C\u8BE6\u7EC6\u89C4\u5219\u89C1\uFF1Ahttps://github.com/steedos/steedos-platform/issues/7112\n // lookup\u5B57\u6BB5\u7684\u5F39\u51FA\u5217\u8868\u641C\u7D22\u4E0D\u53D7\u8FD9\u91CC\u5F71\u54CD\uFF0C\u56E0\u4E3Alookup\u5B57\u6BB5\u7684\u5F39\u51FA\u5217\u8868\u641C\u7D22\u662F\u5355\u72EC\u7684\u63A5\u53E3\u8BF7\u6C42\n payload.data.__changedFilterFormValues = api.context.__changedFilterFormValues;\n payload.data.__changedSearchBoxValues = api.context.__changedSearchBoxValues;\n ").concat(options.adaptor||'',"\n return payload;\n ");// api.trackExpression='${additionalFilters|json}'
332
+ api.cache=3000;api.data.$term="$term";api.data.term="$term";api.data.$self="$$";api.data.self="$$";api.data.filter="$filter";api.data.loaded="${loaded}";api.data.listViewId="${listViewId}";api.data.listName="${listName}";api.requestAdaptor="\n let __changedFilterFormValues = api.data.$self.__changedFilterFormValues || {};\n let __changedSearchBoxValues = api.data.$self.__changedSearchBoxValues || {};\n // \u628A\u8868\u5355\u641C\u7D22\u548C\u5FEB\u901F\u641C\u7D22\u4E2D\u7684change\u4E8B\u4EF6\u4E2D\u8BB0\u5F55\u7684\u8FC7\u6EE4\u6761\u4EF6\u4E5F\u62FC\u5230$self\u4E2D\uFF0C\u662F\u4E3A\u89E3\u51B3\u89E6\u53D1\u641C\u7D22\u8BF7\u6C42\u65F6\uFF0C\u4E24\u8FB9\u8F93\u5165\u7684\u8FC7\u6EE4\u6761\u4EF6\u90FD\u5E26\u4E0A\uFF0C\u5373\uFF1A\n // \u6709\u65F6\u5728\u641C\u7D22\u8868\u5355\u4E2D\u8F93\u5165\u8FC7\u6EE4\u6761\u4EF6\u4E8B\uFF0C\u5FD8\u8BB0\u70B9\u51FB\u56DE\u8F66\u952E\u6216\u641C\u7D22\u6309\u94AE\uFF0C\u800C\u662F\u8FDB\u4E00\u6B65\u4FEE\u6539\u5FEB\u901F\u641C\u7D22\u6846\u4E2D\u7684\u5173\u952E\u5B57\u70B9\u51FB\u5176\u4E2D\u56DE\u8F66\u952E\u89E6\u53D1\u641C\u7D22\n // \u8FD9\u79CD\u60C5\u51B5\u4E0B\uFF0C\u89E6\u53D1\u7684\u641C\u7D22\u8BF7\u6C42\u4E2D\u6CA1\u6709\u5E26\u4E0A\u641C\u7D22\u8868\u5355\u4E2D\u8F93\u5165\u7684\u8FC7\u6EE4\u6761\u4EF6\u3002\n // \u53CD\u8FC7\u6765\u5148\u5728\u5FEB\u901F\u641C\u7D22\u6846\u4E2D\u8F93\u5165\u8FC7\u6EE4\u6761\u4EF6\u5374\u4E0D\u70B9\u51FB\u5176\u4E2D\u56DE\u8F66\u952E\u89E6\u53D1\u641C\u7D22\uFF0C\u800C\u662F\u5230\u641C\u7D22\u8868\u5355\u4E2D\u89E6\u53D1\u641C\u7D22\u8BF7\u6C42\u4E5F\u662F\u4E00\u6837\u7684\u3002\n // \u8FD9\u91CC\u76F4\u63A5\u5408\u5E76\u5230api.data.$self\uFF0C\u800C\u4E0D\u662F\u540E\u9762\u5B9A\u4E49\u7684selfData\u53D8\u91CF\uFF0C\u662F\u56E0\u4E3A\u53EF\u4EE5\u7701\u53BB\u5728\u63A5\u6536\u9002\u914D\u5668\u4E2D\u5199\u4E00\u6837\u7684\u5408\u5E76\u903B\u8F91\n // \u5982\u679C\u6709\u95EE\u9898\u53EF\u4EE5\u6539\u4E3A\u5408\u5E76\u5230selfData\u53D8\u91CF\u4E2D\uFF0C\u4F46\u662F\u8981\u5728\u63A5\u6536\u9002\u914D\u5668\u4E2D\u5199\u4E0A\u4E00\u6837\u7684\u5408\u5E76\u903B\u8F91\uFF0C\u5426\u5219\u91CC\u9762\u7684\u8FC7\u6EE4\u6761\u4EF6\u4E0D\u4F1A\u5B58\u5165\u672C\u5730\u5B58\u50A8\u4E2D\n Object.assign(api.data.$self, __changedSearchBoxValues, __changedFilterFormValues);\n // selfData \u4E2D\u7684\u6570\u636E\u7531 CRUD \u63A7\u5236. selfData\u4E2D,\u53EA\u80FD\u83B7\u53D6\u5230 CRUD \u7ED9\u5B9A\u7684data. \u65E0\u6CD5\u4ECE\u6570\u636E\u94FE\u4E2D\u83B7\u53D6\u6570\u636E.\n let selfData = JSON.parse(JSON.stringify(api.data.$self));\n // \u4FDD\u7559\u4E00\u4EFD\u521D\u59CBdata\uFF0C\u4EE5\u4F9B\u81EA\u5B9A\u4E49\u53D1\u9001\u9002\u914D\u5668\u4E2D\u83B7\u53D6\u539F\u59CB\u6570\u636E\u3002\n const data = _.cloneDeep(api.data);\n let needToStoreListViewProps;\n try{\n // TODO: \u4E0D\u5E94\u8BE5\u76F4\u63A5\u5728\u8FD9\u91CC\u53D6localStorage\uFF0C\u5E94\u8BE5\u4ECE\u5916\u9762\u4F20\u5165\n const listName = api.data.listName;\n // \u53EA\u6709\u5728\u5217\u8868\u9875\u9762\u4E2D\u624D\u9700\u8981\u5B58\u50A8\u548C\u8BFB\u53D6\u672C\u5730\u5B58\u50A8\u4E2D\u7684\u53C2\u6570\uFF0C\u76F8\u5173\u5B50\u8868\u7EC4\u4EF6\u4E0D\u9700\u8981\n needToStoreListViewProps = !!listName && !api.body.$self._isRelated;\n const listViewPropsStoreKey = location.pathname + \"/crud\";\n let localListViewProps = sessionStorage.getItem(listViewPropsStoreKey);\n if(needToStoreListViewProps && localListViewProps){\n localListViewProps = JSON.parse(localListViewProps);\n selfData = Object.assign({}, localListViewProps, selfData);\n if(!api.data.filter){\n api.data.filter = localListViewProps.filter;\n }\n if(!api.data.loaded){\n // \u7B2C\u4E00\u6B21\u52A0\u8F7D\u7EC4\u4EF6\uFF0C\u6BD4\u5982\u5237\u65B0\u6D4F\u89C8\u5668\u65F6\u56E0\u4E3Aapi.data.pageNo\u6709\u9ED8\u8BA4\u503C1\n // \u6240\u4EE5\u4F1A\u628AlocalSearchableFilter\u4E2D\u5DF2\u7ECF\u5B58\u8FC7\u7684\u9875\u7801\u8986\u76D6\n // \u5982\u679C\u662F\u7B2C\u4E00\u6B21\u52A0\u8F7D\u7EC4\u4EF6\u59CB\u7EC8\u8BA9\u7FFB\u9875\u9875\u7801\u4ECE\u672C\u5730\u5B58\u50A8\u4E2D\u53D6\u503C\n let formFactor = \"".concat(options.formFactor,"\";\n // \u79FB\u52A8\u7AEF\u4E0D\u8BC6\u522B\u672C\u5730\u5B58\u50A8\u4E2D\u7684\u7FFB\u9875\u9875\u7801\uFF0C\u5426\u5219\u70B9\u51FB\u52A0\u8F7D\u66F4\u591A\u6309\u94AE\u540E\u65E0\u6CD5\u5237\u65B0\u56DE\u7B2C\u4E00\u9875\n // api.data.pageNo = formFactor === \"SMALL\" ? 1 : (localListViewProps.page || 1);\n // \u79FB\u52A8\u7AEF\u6682\u65F6\u53BB\u9664\u52A0\u8F7D\u66F4\u591A\uFF0C\u653E\u5F00\u7FFB\u9875\n api.data.pageNo = localListViewProps.page || 1;\n }\n }\n }\n catch(ex){\n console.error(\"\u672C\u5730\u5B58\u50A8\u4E2Dcrud\u53C2\u6570\u89E3\u6790\u5F02\u5E38\uFF1A\", ex);\n }\n ").concat(baseFilters?"var systemFilters = ".concat(JSON.stringify(baseFilters),";"):'var systemFilters = [];',"\n var _ids = [];\n if(systemFilters && systemFilters.length){\n SteedosUI.traverseNestedArrayFormula(systemFilters, api.context);\n }\n const filtersFunction = ").concat(filtersFunction,";\n if(filtersFunction){\n const _filters = filtersFunction(systemFilters, api.data.$self);\n if(api.data.listName == \"recent\"){\n _ids = _filters[2]\n }\n if(_filters && _filters.length > 0){\n if(_.isEmpty(systemFilters)){\n systemFilters = _filters || [];\n }else{\n systemFilters = [systemFilters, 'and', _filters];\n }\n }\n }\n let userFilters =[];\n \n if(_.isEmpty(systemFilters)){\n systemFilters = api.data.filter || [];\n }else{\n if(!_.isEmpty(api.data.filter)){\n systemFilters = [systemFilters, 'and', api.data.filter];\n }\n }\n var pageSize = api.data.pageSize || 10;\n var pageNo = api.data.pageNo || 1;\n var skip = (pageNo - 1) * pageSize;\n var orderBy = api.data.orderBy || '';\n var orderDir = api.data.orderDir || '';\n var sort = orderBy + ' ' + orderDir;\n sort = orderBy ? sort : \"").concat(sort||'',"\";\n var allowSearchFields = ").concat(JSON.stringify(searchableFields),";\n if(api.data.$term){\n userFilters = [[\"name\", \"contains\", \"'+ api.data.$term +'\"]];\n }else if(selfData.op === 'loadOptions' && selfData.value){\n userFilters = [[\"").concat(valueField.name,"\", \"=\", selfData.value]];\n }\n\n var searchableFilter = SteedosUI.getSearchFilter(selfData) || [];\n if(searchableFilter.length > 0){\n if(userFilters.length > 0 ){\n userFilters = [userFilters, 'and', searchableFilter];\n }else{\n userFilters = searchableFilter;\n }\n }\n\n // \"\u641C\u7D22\u6B64\u5217\u8868\"\u641C\u7D22\u6846\n if(allowSearchFields){\n allowSearchFields.forEach(function(key){\n const keyValue = selfData[key];\n if(_.isString(keyValue)){\n userFilters.push([key, \"contains\", keyValue]);\n }else if(_.isArray(keyValue) || _.isBoolean(keyValue) || keyValue){\n userFilters.push([key, \"=\", keyValue]);\n }\n })\n }\n\n var keywordsFilters = SteedosUI.getKeywordsSearchFilter(selfData.__keywords, allowSearchFields);\n if(keywordsFilters && keywordsFilters.length > 0){\n userFilters.push(keywordsFilters);\n }\n\n let filters = [];\n\n if(!_.isEmpty(systemFilters)){\n filters = systemFilters;\n };\n if(api.data.$self.additionalFilters){\n if(_.isString(api.data.$self.additionalFilters)){\n userFilters.push(eval(api.data.$self.additionalFilters))\n }else{\n userFilters.push(api.data.$self.additionalFilters)\n }\n }\n\n if(api.data.$self._isRelated){\n const self = api.data.$self;\n const relatedKey = self.relatedKey;\n const refField = self.uiSchema.fields[relatedKey];\n const masterRecord = self._master.record;\n const masterObjectName = self._master.objectName;\n let relatedValue = masterRecord._id;\n if(refField && refField.reference_to_field && refField.reference_to_field != '_id'){\n relatedValue = masterRecord[refField.reference_to_field]\n }\n let relatedFilters;\n if (\n refField && (refField._reference_to ||\n (refField.reference_to && !_.isString(refField.reference_to)))\n ) {\n relatedFilters = [\n [relatedKey + \"/o\", \"=\", masterObjectName],\n [relatedKey + \"/ids\", \"=\", relatedValue],\n ];\n } else {\n relatedFilters = [relatedKey, \"=\", relatedValue];\n }\n userFilters.push(relatedFilters)\n }\n\n if(!_.isEmpty(userFilters)){\n if(_.isEmpty(filters)){\n filters = userFilters;\n }else{\n filters = [filters, 'and', userFilters]\n }\n }\n api.data._ids = _ids;\n api.data = {\n query: api.data.query.replace(/{__filters}/g, JSON.stringify(filters)).replace('{__top}', pageSize).replace('{__skip}', skip).replace('{__sort}', sort.trim())\n }\n ").concat(options.requestAdaptor||'',";\n\n //\u5199\u5165\u672C\u6B21\u5B58\u50A8filters\u3001sort\n const listViewPropsStoreKey = location.pathname + \"/crud/query\";\n if(needToStoreListViewProps) {\n ").concat(removeTableApiSessionStorageItems("/crud/query"),";\n sessionStorage.setItem(listViewPropsStoreKey, JSON.stringify({\n filters: filters,\n sort: sort.trim(),\n pageSize: pageSize,\n skip: skip,\n fields: ").concat(JSON.stringify(_$1__namespace.map(fields,'name')),"\n }));\n }\n // console.log('table requestAdaptor', api);\n return api;\n ");api.adaptor="\n let fields = ".concat(JSON.stringify(_$1__namespace.map(fields,'name')),";\n // \u8FD9\u91CC\u628A\u884C\u6570\u636E\u4E2D\u6240\u6709\u4E3A\u7A7A\u7684\u5B57\u6BB5\u503C\u914D\u7F6E\u4E3A\u7A7A\u5B57\u7B26\u4E32\uFF0C\u662F\u56E0\u4E3Aamis\u6709bug\uFF1Acrud\u7684columns\u4E2D\u7684\u5217\u5982\u679Ctype\u4E3Astatic-\u524D\u7F00\u7684\u8BDD\uFF0C\u884C\u6570\u636E\u4E2D\u8BE5\u5B57\u6BB5\u4E3A\u7A7A\u7684\u8BDD\u4F1A\u663E\u793A\u4E3A\u7236\u4F5C\u7528\u57DF\u4E2D\u540C\u540D\u53D8\u91CF\u503C\uFF0C\u89C1\uFF1Ahttps://github.com/baidu/amis/issues/9556\n (payload.data.rows || []).forEach((itemRow) => {\n (fields || []).forEach((itemField) => {\n if(itemField && itemField.indexOf(\".\") > -1){\n return;\n }\n if(itemField && (itemRow[itemField] === undefined || itemRow[itemField] === null)){\n // \u8FD9\u91CCitemRow\u4E2D\u4E0D\u5B58\u5728 itemField \u5C5E\u6027\uFF0C\u6216\u8005\u503C\u4E3Anull\u65F6\u90FD\u4F1A\u6709\u201C\u663E\u793A\u4E3A\u7236\u4F5C\u7528\u57DF\u4E2D\u7684\u540C\u540D\u53D8\u91CF\u503C\u201D\u7684\u95EE\u9898\uFF0C\u6240\u4EE5null\u548Cundefined\u90FD\u8981\u91CD\u7F6E\u4E3A\u7A7A\u5B57\u7B26\u4E32\n // \u5B9E\u6D4B\u6570\u5B57\u3001\u4E0B\u62C9\u6846\u3001\u591A\u9009lookup\u7B49\u5B57\u6BB5\u7C7B\u578B\u91CD\u7F6E\u4E3A\u7A7A\u5B57\u7B26\u4E32\u90FD\u4E0D\u4F1A\u6709\u95EE\u9898\uFF0C\u800C\u4E14\u5B9E\u6D4Bamis from\u7EC4\u4EF6\u7684\u6E05\u7A7A\u8868\u5355\u5B57\u6BB5\u503C\u529F\u80FD\u5C31\u662F\u628A\u8868\u5355\u4E2D\u7684\u5404\u79CD\u5B57\u6BB5\u7C7B\u578B\u8BBE\u7F6E\u4E3A\u7A7A\u5B57\u7B26\u4E32\uFF0C\u6240\u4EE5\u770B\u8D77\u6765\u4E5F\u7B26\u5408amis\u89C4\u8303\n itemRow[itemField] = \"\";\n }\n });\n });\n \n if(api.body.listName == \"recent\"){\n payload.data.rows = _.sortBy(payload.data.rows, function(item){\n return _.indexOf(api.body._ids, item._id)\n });\n }\n const enable_tree = ").concat(mainObject.enable_tree,";\n if(!enable_tree){\n _.each(payload.data.rows, function(item, index){\n const {pageNo, pageSize} = api.body;\n const skip = (pageNo - 1) * pageSize;\n item._index = skip + index + 1;\n })\n }\n window.postMessage(Object.assign({type: \"listview.loaded\"}), \"*\");\n let fileFields = ").concat(JSON.stringify(fileFields),";\n let lookupFields = ").concat(JSON.stringify(lookupFields),";\n _.each(payload.data.rows, function(item, index){\n _.each(fileFields , (field, key)=>{\n if(item[key] && item._display && item._display[key]){\n let value = item._display[key];\n if(!_.isArray(value)){\n value = [value]\n };\n if(field.type === 'file'){\n // item[key] = value\n // PC\u5BA2\u6237\u7AEF\u9644\u4EF6\u5B50\u8868\u5217\u8868\u70B9\u51FB\u6807\u9898\u9884\u89C8\u9644\u4EF6\u529F\u80FD\u4F9D\u8D56\u4E86_id\uFF0C\u6240\u4EE5\u8FD9\u91CC\u62FC\u51FA\u6765\n let itemKeyValue = item[key];\n item[key] = value.map(function(curValue, index){\n let fileId = typeof itemKeyValue == 'string' ? itemKeyValue : itemKeyValue[index];\n // \u514B\u9686\u4E00\u4EFD\u5BF9\u8C61\uFF0C\u907F\u514D\u4E0B\u65B9value\u9012\u5F52\u6C61\u67D3curValue\n let result = _.clone(curValue);\n result._id = fileId;\n result.value = fileId;\n return result;\n });\n }else{\n item[key] = _.map(value, (item)=>{\n if(field.type === 'image'){\n const url = window.getImageFieldUrl(item.url);\n return url;\n }\n return item.url;\n })\n }\n }\n })\n _.each(lookupFields , (field, key)=>{\n if(item[key]){\n if(field._optionsFunction){\n const optionsFunction = eval(\"(\" + field._optionsFunction+ \")\")(item);\n item[key + '__label'] = _.map(_.filter(optionsFunction, function(option){return item[key] == option.value}), 'label').join(' ');\n }else if(field.options){\n const options = field.options;\n item[key + '__label'] = _.map(_.filter(options, function(option){return item[key] == option.value}), 'label').join(' ');\n }\n }\n })\n })\n \n if(enable_tree){\n const records = payload.data.rows || [];\n const getTreeOptions = SteedosUI.getTreeOptions;\n const assignIndexToTreeRecords = function(tree, parentIndex) {\n tree.forEach(function (node, index) {\n // \u6784\u5EFA\u5F53\u524D\u8282\u70B9\u7684 _index\n var currentIndex = parentIndex ? parentIndex + '-' + (index + 1) : '' + (index + 1);\n \n // \u8D4B\u503C\u7ED9\u8282\u70B9\n node._index = currentIndex;\n \n // \u5982\u679C\u6709\u5B50\u8282\u70B9\uFF0C\u9012\u5F52\u8C03\u7528\u51FD\u6570\n if (node.children && node.children.length > 0) {\n assignIndexToTreeRecords(node.children, currentIndex);\n }\n });\n };\n payload.data.rows = getTreeOptions(records,{\"valueField\":\"_id\"});\n assignIndexToTreeRecords(payload.data.rows, '');\n }\n\n\n let needToStoreListViewProps;\n try{\n // TODO: \u4E0D\u5E94\u8BE5\u76F4\u63A5\u5728\u8FD9\u91CC\u53D6localStorage\uFF0C\u5E94\u8BE5\u4ECE\u5916\u9762\u4F20\u5165\n const listName = api.body.listName;\n // \u53EA\u6709\u5728\u5217\u8868\u9875\u9762\u4E2D\u624D\u9700\u8981\u5B58\u50A8\u548C\u8BFB\u53D6\u672C\u5730\u5B58\u50A8\u4E2D\u7684\u53C2\u6570\uFF0C\u76F8\u5173\u5B50\u8868\u7EC4\u4EF6\u4E0D\u9700\u8981\n needToStoreListViewProps = !!listName && !api.body.$self._isRelated;\n const listViewPropsStoreKey = location.pathname + \"/crud\";\n /**\n * localListViewProps\u89C4\u8303\u6765\u81EAcrud\u8BF7\u6C42api\u4E2Dapi.data.$self\u53C2\u6570\u503C\u7684\u3002\n * \u6BD4\u5982\uFF1A{\"perPage\":20,\"page\":1,\"__searchable__name\":\"7\",\"__searchable__between__n1__c\":[null,null],\"filter\":[[\"name\",\"contains\",\"a\"]]}\n * __searchable__...:\u9876\u90E8\u653E\u5927\u955C\u641C\u7D22\u6761\u4EF6\n * filter:\u53F3\u4FA7\u8FC7\u6EE4\u5668\n * perPage:\u6BCF\u9875\u6761\u6570\n * page:\u5F53\u524D\u9875\u7801\n * orderBy:\u6392\u5E8F\u5B57\u6BB5\n * orderDir:\u6392\u5E8F\u65B9\u5411\n */\n let localListViewProps = needToStoreListViewProps && sessionStorage.getItem(listViewPropsStoreKey);\n let selfData = JSON.parse(JSON.stringify(api.body.$self));\n if(localListViewProps){\n localListViewProps = JSON.parse(localListViewProps);\n selfData = Object.assign({}, localListViewProps, selfData, { filter: api.body.filter });\n if(!api.body.loaded){\n // \u7B2C\u4E00\u6B21\u52A0\u8F7D\u7EC4\u4EF6\uFF0C\u6BD4\u5982\u5237\u65B0\u6D4F\u89C8\u5668\u65F6\u56E0\u4E3Aapi.data.pageNo\u6709\u9ED8\u8BA4\u503C1\n // \u6240\u4EE5\u4F1A\u628AlocalSearchableFilter\u4E2D\u5DF2\u7ECF\u5B58\u8FC7\u7684\u9875\u7801\u8986\u76D6\n // \u5982\u679C\u662F\u7B2C\u4E00\u6B21\u52A0\u8F7D\u7EC4\u4EF6\u59CB\u7EC8\u8BA9\u7FFB\u9875\u9875\u7801\u4ECE\u672C\u5730\u5B58\u50A8\u4E2D\u53D6\u503C\n let formFactor = \"").concat(options.formFactor,"\";\n // \u79FB\u52A8\u7AEF\u4E0D\u8BC6\u522B\u672C\u5730\u5B58\u50A8\u4E2D\u7684\u7FFB\u9875\u9875\u7801\uFF0C\u5426\u5219\u70B9\u51FB\u52A0\u8F7D\u66F4\u591A\u6309\u94AE\u540E\u65E0\u6CD5\u5237\u65B0\u56DE\u7B2C\u4E00\u9875\n // selfData.page = formFactor === \"SMALL\" ? 1 : (localListViewProps.page || 1);\n selfData.page = localListViewProps.page || 1;\n }\n }\n \n delete selfData.context;\n delete selfData.global;\n if(needToStoreListViewProps) {\n ").concat(removeTableApiSessionStorageItems("/crud"),";\n sessionStorage.setItem(listViewPropsStoreKey, JSON.stringify(selfData));\n }\n // \u8FD4\u56DE\u9875\u7801\u5230UI\u754C\u9762\n payload.data.page= selfData.page;\n }\n catch(ex){\n console.error(\"\u672C\u5730\u5B58\u50A8\u4E2Dcrud\u53C2\u6570\u89E3\u6790\u5F02\u5E38\uFF1A\", ex);\n }\n // \u6807\u8BB0\u52A0\u8F7D\u8FC7\uFF0C\u540E\u7EED\u4F18\u5148\u4ECE\u672C\u5730\u5B58\u50A8\u4E2D\u52A0\u8F7D\u76F8\u5173\u53C2\u6570\n payload.data.loaded= true;\n const setDataToComponentId = \"").concat(setDataToComponentId,"\";\n if(setDataToComponentId){\n //https://github.com/baidu/amis/pull/6807 .parent\u7684\u6539\u52A8\u662F\u4E3A\u9002\u5E943.2getComponentById\u7684\u89C4\u5219\u6539\u52A8\uFF0C\u4E0D\u5F71\u54CD2.9\n var scope = context._scoped;\n var scopeParent = scope && scope.parent;\n var setDataToComponent = scopeParent && scopeParent.getComponentById(setDataToComponentId);\n if(setDataToComponent){\n setDataToComponent.setData({$count: payload.data.count});\n }\n };\n let formFactor = \"").concat(options.formFactor,"\";\n if(formFactor !== \"SMALL\"){\n const lisviewDom = document.querySelector(\".steedos-object-listview .antd-Table-table\");\n if(lisviewDom){\n setTimeout(()=>{\n lisviewDom.scrollIntoView();\n }, 600);\n }\n }\n\n // \u5217\u8868\u641C\u7D22\u548C\u5FEB\u901F\u641C\u7D22\uFF0C\u6709\u65F6\u5728\u67D0\u4E9B\u64CD\u4F5C\u60C5\u51B5\u4E0B\u8FD8\u662F\u4F1A\u9020\u6210crud\u63A5\u53E3\u8BF7\u6C42\u4F7F\u7528\u7684\u8FC7\u6EE4\u6761\u4EF6\u662F\u4E0A\u6B21\u7684\uFF0C\u8FD9\u91CC\u5F3A\u5236\u628A\u6B63\u786E\u7684\u8FC7\u6EE4\u6761\u4EF6\u8FD4\u56DE\u5230crud\uFF0C\u8BE6\u7EC6\u89C4\u5219\u89C1\uFF1Ahttps://github.com/steedos/steedos-platform/issues/7112\n // lookup\u5B57\u6BB5\u7684\u5F39\u51FA\u5217\u8868\u641C\u7D22\u4E0D\u53D7\u8FD9\u91CC\u5F71\u54CD\uFF0C\u56E0\u4E3Alookup\u5B57\u6BB5\u7684\u5F39\u51FA\u5217\u8868\u641C\u7D22\u662F\u5355\u72EC\u7684\u63A5\u53E3\u8BF7\u6C42\n payload.data.__changedFilterFormValues = api.context.__changedFilterFormValues;\n payload.data.__changedSearchBoxValues = api.context.__changedSearchBoxValues;\n ").concat(options.adaptor||'',"\n return payload;\n ");// api.trackExpression='${additionalFilters|json}'
327
333
  return _context74.a(2,api);}},_callee74);}));return _getTableApi.apply(this,arguments);}function getApi$1(_x43,_x44,_x45,_x46){return _getApi$.apply(this,arguments);}function _getApi$(){_getApi$=_asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee75(object,recordId,fields,options){var data;return _regenerator().w(function(_context75){while(1)switch(_context75.n){case 0:_context75.n=1;return getFindQuery(object,recordId,fields,options);case 1:data=_context75.v;return _context75.a(2,{method:"post",url:getApi$2(),// + "&recordId=${recordId}"
328
334
  data:data,headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"}});}},_callee75);}));return _getApi$.apply(this,arguments);}function getRecordPermissionsApi(object,recordId,options){var data=getRecordPermissionsQuery(object,recordId,options);return{method:"post",url:getApi$2(),data:data,headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"}};}var API_CACHE=100;function getReadonlyFormAdaptor(object,fields,options){var scriptStr='';var selectFields=_$1__namespace.filter(fields,function(field){return field.name.indexOf('.')<0&&(field.type=='select'&&field.options||(field.type=='lookup'||field.type=='master_detail')&&!field.reference_to);});var gridAndObjectFieldsName=_$1__namespace.map(_$1__namespace.filter(fields,function(field){return field.name.indexOf('.')<0&&(field.type==='object'||field.type==='grid');}),'name');_$1__namespace.each(selectFields,function(field){if(!_$1__namespace.includes(OMIT_FIELDS,field.name)){field.name;if(field.options){var _options=JSON.stringify({options:field.options});scriptStr=scriptStr+"var ".concat(field.name,"Options= (").concat(_options,").options;");}else if(field.optionsFunction){scriptStr=scriptStr+"var ".concat(field.name,"Options = eval(").concat(field.optionsFunction.toString(),")(api.data);");}else if(field._optionsFunction){scriptStr=scriptStr+"var ".concat(field.name,"Options = eval(").concat(field._optionsFunction,")(api.data);");}if(field.multiple){scriptStr=scriptStr+"data.".concat(field.name,"__label = _.map(_.filter(").concat(field.name,"Options, function(option){return _.includes(data.").concat(field.name,", option.value)}), 'label');");}else if(scriptStr!=''){scriptStr=scriptStr+"var ".concat(field.name,"Selected = _.find(").concat(field.name,"Options, function(option){return data.").concat(field.name," == option.value});");scriptStr=scriptStr+"data.".concat(field.name,"__label = ").concat(field.name,"Selected ? ").concat(field.name,"Selected.label:null;");}}});// const refFields = _.filter(fields, function(field){return field.name.indexOf('.') < 0 && (field.type == 'lookup' || field.type == 'master_detail') && !field.reference_to});
329
335
  // _.each(refFields, function(field){