@steedos-widgets/amis-lib 6.10.1-beta.17 → 6.10.1-beta.19

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.
package/dist/index.umd.js CHANGED
@@ -220,7 +220,7 @@ lookupFields={};fields.forEach(function(item){if(___namespace.includes(['image',
220
220
  // if(options.isRelated){
221
221
  // api.url += "&recordId=${_master.recordId}";
222
222
  // }
223
- 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 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 const listViewPropsStoreKey = location.pathname + \"/crud\";\n let localListViewProps = sessionStorage.getItem(listViewPropsStoreKey);\n if(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 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 sessionStorage.setItem(listViewPropsStoreKey, JSON.stringify({\n filters: filters,\n sort: sort.trim(),\n pageSize: pageSize,\n skip: skip,\n fields: ").concat(JSON.stringify(___namespace.map(fields,'name')),"\n }));\n // console.log('table requestAdaptor', api);\n return api;\n ");api.adaptor="\n let fields = ".concat(JSON.stringify(___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(item, index){\n item._id = typeof itemKeyValue == 'string' ? itemKeyValue : itemKeyValue[index];\n item.value = typeof itemKeyValue == 'string' ? itemKeyValue : itemKeyValue[index];\n return item;\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 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 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 = 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 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 ");return _context66.abrupt("return",api);case 28:case"end":return _context66.stop();}}},_callee66);}));return _getTableApi.apply(this,arguments);}function getApi$1(_x44,_x45,_x46,_x47){return _getApi$.apply(this,arguments);}function _getApi$(){_getApi$=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee67(object,recordId,fields,options){var data;return _regeneratorRuntime().wrap(function _callee67$(_context67){while(1){switch(_context67.prev=_context67.next){case 0:_context67.next=2;return getFindQuery(object,recordId,fields,options);case 2:data=_context67.sent;return _context67.abrupt("return",{method:"post",url:getApi$2(),// + "&recordId=${recordId}"
223
+ 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 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 const listViewPropsStoreKey = location.pathname + \"/crud\";\n let localListViewProps = sessionStorage.getItem(listViewPropsStoreKey);\n if(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 sessionStorage.setItem(listViewPropsStoreKey, JSON.stringify({\n filters: filters,\n sort: sort.trim(),\n pageSize: pageSize,\n skip: skip,\n fields: ").concat(JSON.stringify(___namespace.map(fields,'name')),"\n }));\n // console.log('table requestAdaptor', api);\n return api;\n ");api.adaptor="\n let fields = ".concat(JSON.stringify(___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(item, index){\n item._id = typeof itemKeyValue == 'string' ? itemKeyValue : itemKeyValue[index];\n item.value = typeof itemKeyValue == 'string' ? itemKeyValue : itemKeyValue[index];\n return item;\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 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 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 = 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 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 ");return _context66.abrupt("return",api);case 28:case"end":return _context66.stop();}}},_callee66);}));return _getTableApi.apply(this,arguments);}function getApi$1(_x44,_x45,_x46,_x47){return _getApi$.apply(this,arguments);}function _getApi$(){_getApi$=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee67(object,recordId,fields,options){var data;return _regeneratorRuntime().wrap(function _callee67$(_context67){while(1){switch(_context67.prev=_context67.next){case 0:_context67.next=2;return getFindQuery(object,recordId,fields,options);case 2:data=_context67.sent;return _context67.abrupt("return",{method:"post",url:getApi$2(),// + "&recordId=${recordId}"
224
224
  data:data,headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"}});case 4:case"end":return _context67.stop();}}},_callee67);}));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=___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=___namespace.map(___namespace.filter(fields,function(field){return field.name.indexOf('.')<0&&(field.type==='object'||field.type==='grid');}),'name');___namespace.each(selectFields,function(field){if(!___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});
225
225
  // _.each(refFields, function(field){
226
226
  // if(!_.includes(OMIT_FIELDS, field.name)){
@@ -670,7 +670,7 @@ return _context91.abrupt("return",{uiSchema:uiSchema,amisSchema:amisSchema});cas
670
670
  * @Author: baozhoutao@steedos.com
671
671
  * @Date: 2022-07-05 15:55:39
672
672
  * @LastEditors: 殷亮辉 yinlianghui@hotoa.com
673
- * @LastEditTime: 2025-04-22 17:44:32
673
+ * @LastEditTime: 2025-05-20 19:29:36
674
674
  * @Description:
675
675
  */function _getObjectRelatedListsMiniSchema(){_getObjectRelatedListsMiniSchema=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee92(objectApiName){var relatedLists,relatedListsMiniSchema,_iterator13,_step14,relatedList;return _regeneratorRuntime().wrap(function _callee92$(_context92){while(1){switch(_context92.prev=_context92.next){case 0:_context92.next=2;return getObjectRelatedList(objectApiName);case 2:relatedLists=_context92.sent;relatedListsMiniSchema=[];_iterator13=_createForOfIteratorHelper(relatedLists);try{for(_iterator13.s();!(_step14=_iterator13.n()).done;){relatedList=_step14.value;relatedListsMiniSchema.push({type:'steedos-record-detail-list-mini',objectApiName:objectApiName,// recordId: recordId,
676
676
  formFactor:formFactor,relatedObjectApiName:relatedList.object_name,foreign_key:relatedList.foreign_key,relatedKey:relatedList.foreign_key,columns:relatedList.columns,sort:relatedList.sort,filters:relatedList.filters,visible_on:relatedList.visible_on,perPage:relatedList.page_size||perPage,hiddenEmptyTable:true,relatedLabel:relatedList.label});}}catch(err){_iterator13.e(err);}finally{_iterator13.f();}return _context92.abrupt("return",{type:'wrapper',className:"steedos-record-detail-related-lists-mini",body:relatedListsMiniSchema});case 7:case"end":return _context92.stop();}}},_callee92);}));return _getObjectRelatedListsMiniSchema.apply(this,arguments);}var UI_SCHEMA_CACHE={};var UISchemaFunction;var setUISchemaFunction=function setUISchemaFunction(fun){UISchemaFunction=fun;};if('undefined'!=typeof window){if(!window.UI_SCHEMA_CACHE){window.UI_SCHEMA_CACHE=UI_SCHEMA_CACHE;}UI_SCHEMA_CACHE=window.UI_SCHEMA_CACHE;}var setUISchemaCache=function setUISchemaCache(key,value){UI_SCHEMA_CACHE[key]=value;};var getUISchemaCache=function getUISchemaCache(key){return _$1.cloneDeep(UI_SCHEMA_CACHE[key]);};var hasUISchemaCache=function hasUISchemaCache(key){return _$1.has(UI_SCHEMA_CACHE,key);};function getListViewColumns(listView,formFactor){var listViewColumns=[];if(formFactor==="SMALL"){listViewColumns=!_$1.isEmpty(listView.mobile_columns)?listView.mobile_columns:_$1.slice(listView.columns,0,4);}else{listViewColumns=listView.columns;}return listViewColumns;}function getListViewSort(listView){var sort='';if(listView&&listView.sort&&listView.sort.length){_$1.each(listView.sort,function(item,index){if(_$1.isArray(item)){var field_name=item[0];var order=item[1]||'';var sortStr=field_name+' '+order;sortStr=index>0?','+sortStr:sortStr;sort+=sortStr;}else{var _sortStr=item.field_name+' '+item.order;_sortStr=index>0?','+_sortStr:_sortStr;sort+=_sortStr;}});}return sort;}function getListViewFilter(listView){if(!listView){return;}try{var userId=getUserId();var filters=listView.filters;if(listView.filter_scope==='mine'){if(___default["default"].isEmpty(filters)){filters=[["owner","=",userId]];}else{if(___default["default"].isString(filters)&&___default["default"].startsWith(___default["default"].trim(filters),"function")){filters=new Function("return ".concat(filters));filters=filters();}if(___default["default"].isArray(filters)){filters.push(["owner","=",userId]);}else{console.debug("listView filters is not array",listView);throw new Error('filters is not array');}}};return filters;}catch(error){console.error(error);}}function formatUISchemaCache(objectName,uiSchema){setUISchemaCache(objectName,uiSchema);_$1.each(uiSchema.fields,function(field){try{if(field.type==="lookup"&&field._reference_to&&___default["default"].isString(field._reference_to)){field.reference_to=eval("(".concat(field._reference_to,")"))();}}catch(exception){field.reference_to=undefined;console.error(exception);}});_$1.each(uiSchema.list_views,function(v,k){v.name=k;if(!_$1.has(v,'columns')){v.columns=uiSchema.list_views.all.columns;}});}function getUISchema(_x144,_x145){return _getUISchema.apply(this,arguments);}// 阻塞等待函数,单位毫秒
@@ -701,7 +701,7 @@ defaults.headerSchema=null;/**
701
701
  * orderBy:排序字段
702
702
  * orderDir:排序方向
703
703
  */if(localListViewProps){localListViewProps=JSON.parse(localListViewProps);// localListViewProps.perPage = 3;
704
- listSchema={};if(localListViewProps.orderBy){listSchema.orderBy=localListViewProps.orderBy;}if(localListViewProps.orderDir){listSchema.orderDir=localListViewProps.orderDir;}if(localListViewProps.perPage){listSchema.perPage=localListViewProps.perPage;}defaults.listSchema=_$1.defaultsDeep({},listSchema,defaults.listSchema||{});}}catch(ex){console.error("本地存储中crud参数解析异常:",ex);}if(window.innerWidth>768){// 列表视图组件PC端高度自动计算实现满屏效果,手机端不需要满屏效果,所以不用autofillheight,且允许重写微页面中重新组件autoFillHeight属性
704
+ listSchema={};if(localListViewProps.orderBy){listSchema.orderBy=localListViewProps.orderBy;}if(localListViewProps.orderDir){listSchema.orderDir=localListViewProps.orderDir;}if(localListViewProps.perPage){listSchema.perPage=localListViewProps.perPage;}defaults.listSchema=_$1.defaultsDeep({},listSchema,defaults.listSchema||{});}}catch(ex){console.error("本地存储中crud参数解析异常:",ex);}if(window.innerWidth>768){// 列表视图组件PC端高度自动计算实现满屏效果,手机端不需要满屏效果,所以不用autofillheight,且允许微页面中重写组件autoFillHeight属性
705
705
  defaults.listSchema=_$1.defaultsDeep({},defaults.listSchema||{},{autoFillHeight:true});}ctx.defaults=defaults;if(listViewName=="recent"){listview_filters="\n function(filters, data) {\n var result = Steedos.authRequest('/graphql', {\n type: 'POST',\n async: false,\n data: JSON.stringify({\n query: '{object_recent_viewed(filters: [[\"record.o\",\"=\",\"' + data.objectName + '\"],[\"space\",\"=\",\"' + data.context.tenantId + '\"],[\"owner\",\"=\",\"' + data.context.userId + '\"]],sort:\"modified desc\",top:50){ _id,record} }'\n }),\n });\n var _ids = []\n result.data.object_recent_viewed.forEach(function (item) {\n _ids = _ids.concat(item.record.ids)\n })\n return [\"_id\", \"=\", _ids];\n }\n ";}amisSchema={"type":"steedos-object-table","objectApiName":objectName,"columns":listViewColumns,"extraColumns":listView.extra_columns,"filters":listviewFilter,"filtersFunction":listview_filters,"sort":sort,"ctx":ctx,"requestAdaptor":listView.requestAdaptor||ctx.requestAdaptor,"adaptor":listView.adaptor||ctx.adaptor,"headerToolbarItems":ctx.headerToolbarItems,"filterVisible":ctx.filterVisible,"rowClassNameExpr":ctx.rowClassNameExpr,"crudDataFilter":ctx.crudDataFilter,"onCrudDataFilter":ctx.onCrudDataFilter};// console.log(`getListSchema===>`,amisSchema)
706
706
  return _context97.abrupt("return",{uiSchema:uiSchema,amisSchema:amisSchema});case 27:case"end":return _context97.stop();}}},_callee97);}));return _getListSchema.apply(this,arguments);}function convertColumnsToTableFields(_x156,_x157){return _convertColumnsToTableFields.apply(this,arguments);}// 获取对象表格
707
707
  function _convertColumnsToTableFields(){_convertColumnsToTableFields=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee98(columns,uiSchema){var ctx,fields,_iterator14,_step15,column,columnField,fieldName,displayName,filedInfo,rfUiSchema,rfFieldInfo,_args98=arguments;return _regeneratorRuntime().wrap(function _callee98$(_context98){while(1){switch(_context98.prev=_context98.next){case 0:ctx=_args98.length>2&&_args98[2]!==undefined?_args98[2]:{};fields=[];_iterator14=_createForOfIteratorHelper(columns);_context98.prev=3;_iterator14.s();case 5:if((_step15=_iterator14.n()).done){_context98.next=48;break;}column=_step15.value;columnField=void 0,fieldName=void 0,displayName=void 0,filedInfo=void 0,rfUiSchema=void 0,rfFieldInfo=void 0;if(!_$1.isString(column)){_context98.next=28;break;}if(!(column.indexOf('.')>0)){_context98.next=24;break;}fieldName=column.split('.')[0];displayName=column.split('.')[1];filedInfo=uiSchema.fields[fieldName];if(!(filedInfo&&(filedInfo.type==='lookup'||filedInfo.type==='master_detail')&&_$1.isString(filedInfo.reference_to))){_context98.next=21;break;}_context98.next=16;return getUISchema(filedInfo.reference_to);case 16:rfUiSchema=_context98.sent;rfFieldInfo=rfUiSchema.fields[displayName];columnField=Object.assign({},rfFieldInfo,{name:"".concat(fieldName,"__expand.").concat(displayName),expand:true,expandInfo:{fieldName:fieldName,displayName:displayName}},ctx);_context98.next=22;break;case 21:if(filedInfo&&filedInfo.type==='object'){columnField=uiSchema.fields[column];}case 22:_context98.next=25;break;case 24:if(uiSchema.fields[column]){columnField=Object.assign({},uiSchema.fields[column],ctx);}else if(ctx.extra){// 配置列表视图extra_columns时允许字段是hidden的,hidden的字段在uiSchema.fields中不存在