@steedos-widgets/amis-lib 6.10.1-beta.16 → 6.10.1-beta.18

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)){
@@ -237,7 +237,7 @@ data:data,headers:{Authorization:"Bearer ${context.tenantId},${context.authToken
237
237
  var fieldNames=___namespace.map(fields,function(n){return n.name;});var nameField=object.fields[object.NAME_FIELD_KEY];var nameLabel=nameField&&nameField.name;if(nameField&&(nameField.type=="lookup"||nameField.type=="master_detail")){if(!nameField.reference_to&&(nameField.optionsFunction||nameField._optionsFunction||nameField.options)){if(!nameField.isTableField){nameLabel="record.".concat(nameField.name,"__label");}}else{nameLabel="record._display.".concat(nameField.name,".label");}}else if(nameField){nameLabel="(record._display && record._display.".concat(nameField.name,") || record.").concat(nameField.name);}return"\n if(payload.data.data.length === 0){\n var isEditor = !!".concat(options&&options.isEditor,";\n if(isEditor){\n var fieldNames = ").concat(JSON.stringify(fieldNames),";\n var emptyDoc = {};//\u8FD9\u91CC\u5982\u679C\u4E0D\u628A\u6BCF\u4E2A\u5B57\u6BB5\u503C\u8BBE\u7F6E\u4E3A\u7A7A\u7684\u8BDD\uFF0C\u8868\u5355\u4E0A\u4F1A\u663E\u793A\u4E0A\u4E00\u6B21\u8868\u5355\u4E0A\u7684\u5B57\u6BB5\u503C\n fieldNames.forEach(function(n){\n emptyDoc[n] = null;\n });\n // \u8BBE\u8BA1\u5668\u4E2D\u59CB\u7EC8\u663E\u793A\u8868\u5355\uFF0C\u6709\u8BB0\u5F55\u5219\u663E\u793A\u7B2C\u4E00\u6761\u8BB0\u5F55\uFF0C\u6CA1\u8BB0\u5F55\u65F6\u663E\u793A\u4E3A\u7A7A\u8868\u5355\n payload.data.data = [emptyDoc];\n }\n else{\n console.log('\u65E0\u6CD5\u627E\u5230\u8BB0\u5F55', api, payload, context)\n return {\n status: 0,\n // msg: \"").concat(i18next__default["default"].t('frontend_no_records_found'),"\"\n }\n }\n }\n if(payload.data.data){\n var data = payload.data.data[0];\n var gridAndObjectFieldsName = ").concat(JSON.stringify(gridAndObjectFieldsName),";\n try{\n ").concat(scriptStr,"\n ").concat(getScriptForAddUrlPrefixForImgFields(fields,true),"\n ").concat(getScriptForRewriteValueForFileFields(fields),"\n }catch(e){\n console.error(e)\n }\n // \u539F\u59CB\u8BB0\u5F55\n var record = _.cloneDeep(data);\n try{\n _.each(gridAndObjectFieldsName, function(name){\n data[name] = data._display && data._display[name];\n })\n }catch(e){\n console.error(e)\n }\n payload.data = data;\n payload.data.record = record;\n payload.data.NAME_FIELD_VALUE = ").concat(nameLabel," || record.name;\n payload.data._master = {\n record: record,\n objectName: \"${objectName}\",\n recordId: \"${recordId}\"\n }\n window.postMessage(Object.assign({type: \"record.loaded\"}, {record: record}), \"*\")\n }\n if(payload.errors){\n payload.status = 2;\n payload.msg = payload.errors[0].message;\n }else{\n payload.data.recordLoaded = true;\n }\n ").concat(options&&options.initApiAdaptor||'',"\n return payload;\n");}function getReadonlyFormInitApi(_x48,_x49,_x50,_x51){return _getReadonlyFormInitApi.apply(this,arguments);}/*
238
238
  img/avatar字段值添加URL前缀使其在amis中正常显示图片。
239
239
  */function _getReadonlyFormInitApi(){_getReadonlyFormInitApi=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee68(object,recordId,fields,options){var findOneOptions;return _regeneratorRuntime().wrap(function _callee68$(_context68){while(1){switch(_context68.prev=_context68.next){case 0:if(!recordId&&options&&options.isEditor){// 设计器中只读表单返回第一条记录
240
- findOneOptions={filters:[],queryOptions:"top: 1"};}_context68.t0=getApi$2();_context68.t1=API_CACHE;_context68.t2="\n ".concat(options&&options.initApiRequestAdaptor||'',"\n return api;\n ");_context68.t3=getReadonlyFormAdaptor(object,fields,options);_context68.next=7;return getFindOneQuery$1(object,recordId,fields,findOneOptions);case 7:_context68.t4=_context68.sent;_context68.t5={Authorization:"Bearer ${context.tenantId},${context.authToken}"};return _context68.abrupt("return",{method:"post",url:_context68.t0,cache:_context68.t1,requestAdaptor:_context68.t2,adaptor:_context68.t3,data:_context68.t4,headers:_context68.t5,trackExpression:'${objectName}'});case 10:case"end":return _context68.stop();}}},_callee68);}));return _getReadonlyFormInitApi.apply(this,arguments);}function getScriptForAddUrlPrefixForImgFields(fields,readonly){var imgFieldsKeys=[];var imgFields={};fields.forEach(function(item){if(___namespace.includes(['image','avatar'],item.type)){imgFieldsKeys.push(item.name);imgFields[item.name]={name:item.name,type:item.type,multiple:item.multiple};}});if(!imgFieldsKeys.length){return'';}return"\n // image\u5B57\u6BB5\u503C\u6DFB\u52A0URL\u524D\u7F00\n let imgFieldsKeys = ".concat(JSON.stringify(imgFieldsKeys),";\n let imgFields = ").concat(JSON.stringify(imgFields),";\n imgFieldsKeys.forEach((item)=>{\n let imgFieldValue = data[item];\n let imgFieldDisplayValue = data._display && data._display[item];\n if(imgFieldValue && imgFieldValue.length){\n let fieldProps = imgFields[item];\n if(fieldProps.multiple){\n if(imgFieldDisplayValue instanceof Array){\n data[item] = imgFieldDisplayValue.map((i)=>{ \n const url = window.getImageFieldUrl(i.url, ").concat(readonly,");\n return url;\n });\n }\n }else{\n const url = imgFieldDisplayValue && window.getImageFieldUrl(imgFieldDisplayValue.url, ").concat(readonly,");\n data[item] = url;\n }\n }\n })\n ");}/*
240
+ findOneOptions={filters:[],queryOptions:"top: 1"};}_context68.t0=getApi$2()+'&objectName=${objectName}'+"&recordId=${recordId}";_context68.t1=API_CACHE;_context68.t2="\n ".concat(options&&options.initApiRequestAdaptor||'',"\n return api;\n ");_context68.t3=getReadonlyFormAdaptor(object,fields,options);_context68.next=7;return getFindOneQuery$1(object,recordId,fields,findOneOptions);case 7:_context68.t4=_context68.sent;_context68.t5={Authorization:"Bearer ${context.tenantId},${context.authToken}"};return _context68.abrupt("return",{method:"post",url:_context68.t0,cache:_context68.t1,requestAdaptor:_context68.t2,adaptor:_context68.t3,data:_context68.t4,headers:_context68.t5});case 10:case"end":return _context68.stop();}}},_callee68);}));return _getReadonlyFormInitApi.apply(this,arguments);}function getScriptForAddUrlPrefixForImgFields(fields,readonly){var imgFieldsKeys=[];var imgFields={};fields.forEach(function(item){if(___namespace.includes(['image','avatar'],item.type)){imgFieldsKeys.push(item.name);imgFields[item.name]={name:item.name,type:item.type,multiple:item.multiple};}});if(!imgFieldsKeys.length){return'';}return"\n // image\u5B57\u6BB5\u503C\u6DFB\u52A0URL\u524D\u7F00\n let imgFieldsKeys = ".concat(JSON.stringify(imgFieldsKeys),";\n let imgFields = ").concat(JSON.stringify(imgFields),";\n imgFieldsKeys.forEach((item)=>{\n let imgFieldValue = data[item];\n let imgFieldDisplayValue = data._display && data._display[item];\n if(imgFieldValue && imgFieldValue.length){\n let fieldProps = imgFields[item];\n if(fieldProps.multiple){\n if(imgFieldDisplayValue instanceof Array){\n data[item] = imgFieldDisplayValue.map((i)=>{ \n const url = window.getImageFieldUrl(i.url, ").concat(readonly,");\n return url;\n });\n }\n }else{\n const url = imgFieldDisplayValue && window.getImageFieldUrl(imgFieldDisplayValue.url, ").concat(readonly,");\n data[item] = url;\n }\n }\n })\n ");}/*
241
241
  file字段值重写使其在amis中正常显示附件名、点击附件名下载文件。
242
242
  */function getScriptForRewriteValueForFileFields(fields){var fileFieldsKeys=[];var fileFields={};fields.forEach(function(item){if(item.type==='file'){fileFieldsKeys.push(item.name);fileFields[item.name]={name:item.name,multiple:item.multiple};}});if(!fileFieldsKeys.length){return'';}return"\n // file\u5B57\u6BB5\u503C\u91CD\u5199\u4EE5\u4FBF\u7F16\u8F91\u65F6\u6B63\u5E38\u663E\u793A\u9644\u4EF6\u540D\u3001\u70B9\u51FB\u9644\u4EF6\u540D\u6B63\u5E38\u4E0B\u8F7D\u9644\u4EF6\n let fileFieldsKeys = ".concat(JSON.stringify(fileFieldsKeys),";\n let fileFields = ").concat(JSON.stringify(fileFields),";\n fileFieldsKeys.forEach((item)=>{\n let fileFieldValue = data[item];\n let fileFieldDisplayValue = data._display && data._display[item];\n if(fileFieldValue && fileFieldValue.length){\n if(fileFields[item].multiple){\n if(fileFieldDisplayValue instanceof Array){\n data[item] = fileFieldDisplayValue.map((item, index)=>{ \n item.value = fileFieldValue[index];\n return {\n value: fileFieldValue[index],\n name: item.name,\n url: item.url,\n state: \"uploaded\"\n }\n });\n }\n }else{\n fileFieldDisplayValue.value = fileFieldValue;\n data[item] = [{\n value: fileFieldValue,\n name: fileFieldDisplayValue.name,\n url: fileFieldDisplayValue.url,\n state: \"uploaded\"\n }];\n }\n }\n })\n ");}function getEditFormInitApi(_x52,_x53,_x54,_x55){return _getEditFormInitApi.apply(this,arguments);}function _getEditFormInitApi(){_getEditFormInitApi=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee69(object,recordId,fields,options){var data;return _regeneratorRuntime().wrap(function _callee69$(_context69){while(1){switch(_context69.prev=_context69.next){case 0:_context69.next=2;return getFindOneQuery$1(object,recordId,fields);case 2:data=_context69.sent;data.recordId="${recordId}";data.objectName="${objectName}";data.uiSchema="${uiSchema}";data.global="${global}";data.context="${context}";data.defaultData="${defaultData}";data._master="${_master}";return _context69.abrupt("return",{method:"post",url:getApi$2(),// sendOn: "!!this.recordId",
243
243
  cache:API_CACHE,requestAdaptor:"\n // \u6240\u6709\u4E0D\u60F3\u5728network\u8BF7\u6C42\u4E2D\u53D1\u9001\u7684\u6570\u636E\u90FD\u5E94\u8BE5\u4ECEdata\u4E2D\u5206\u79BB\u51FA\u6765\uFF0Cdata\u53D8\u91CF\u53EA\u9700\u8981\u7559\u4E0Bquery\u624D\u9700\u8981\u53D1\u9001\u51FA\u53BB\n var { recordId, objectName, uiSchema, global, context, _master, ...data} = api.data;\n if(!recordId){\n // \u65B0\u5EFA\u5219\u4E0D\u8BF7\u6C42\u4EFB\u4F55\u6570\u636E\n data.query = \"{data:\" + objectName + \"(filters: \" + JSON.stringify([\"_id\", \"=\", null]) + \", top: 1){_id}}\";\n }\n api.data = data;\n ".concat(options.initApiRequestAdaptor||'',"\n return api;\n "),adaptor:"\n const recordId = api.body.recordId;\n let initialValues={};\n if(recordId && payload.data.data){\n var data = payload.data.data[0];\n const dataKeys = _.keys(data);\n const uiSchema = api.body.uiSchema;\n const fieldKeys = uiSchema && _.keys(uiSchema.fields);\n\n if(data){\n ".concat(getScriptForAddUrlPrefixForImgFields(fields,false),"\n ").concat(getScriptForRewriteValueForFileFields(fields),"\n\n _.each(dataKeys, function(key){\n if(fieldKeys.indexOf(key)<0 && key !== \"_display\"){\n delete data[key];\n }\n })\n \n //\u521D\u59CB\u5316\u63A5\u53E3\u8FD4\u56DE\u7684\u5B57\u6BB5\u79FB\u9664\u5B57\u6BB5\u503C\u4E3Anull\u7684\u5B57\u6BB5\n for (key in data){\n if(data[key] === null){\n delete data[key];\n }\n }\n };\n initialValues = data;\n }\n else{\n var uiSchema = api.body.uiSchema;\n var defaultData = api.body.defaultData;\n var defaultValues = {};\n _.each(uiSchema && uiSchema.fields, function(field){\n var value = SteedosUI.getFieldDefaultValue(field, api.body.global);\n if(!_.isNil(value)){\n defaultValues[field.name] = value;\n }\n });\n if(defaultData && _.isObject(defaultData) && !_.isArray(defaultData)){\n defaultValues = Object.assign({}, defaultValues, defaultData)\n }\n if(uiSchema.form){\n try{\n var objectFormConfig = JSON.parse(uiSchema.form);\n var formInitialValuesFun = objectFormConfig.initialValues;\n if(formInitialValuesFun){\n formInitialValuesFun = new Function(\"return \" + formInitialValuesFun)();\n }\n if(typeof formInitialValuesFun === \"function\"){\n initialValues = formInitialValuesFun.apply({doc: defaultValues || {} , global: api.body.global, master: api.body._master })\n }\n }\n catch(ex){\n console.warn(ex);\n }\n }\n if(_.isObject(initialValues)){\n // uiSchema.form.initialValues\u4E3A\u51FD\u6570\u4E14\u6267\u884C\u540E\u4E3Ajson\uFF0C\u5219\u4F18\u5148\u53D6initialValues\u4E2D\u7684\u9ED8\u8BA4\u503C\n initialValues = Object.assign({}, defaultValues, initialValues);\n }\n else{\n initialValues = defaultValues;\n }\n }\n // data\u4E0B\u7684\u53D8\u91CF\u9700\u8981\u5728\u4FDD\u5B58\u63A5\u53E3\uFF08getSaveApi\uFF09\u4E2D\u88AB\u5220\u9664\u3002\n payload.data = {\n ...initialValues\n }\n ").concat(options.initApiAdaptor||'',"\n // console.log('getEditFormInitApi======>', payload);\n return payload;\n "),responseData:{"&":"$$",editFormInited:true},data:data,headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"}});case 11:case"end":return _context69.stop();}}},_callee69);}));return _getEditFormInitApi.apply(this,arguments);}function getSaveApi(object,recordId,fields,options){return{method:'post',url:getApi$2(),data:getSaveQuery(object,recordId),requestAdaptor:getSaveRequestAdaptor(fields,options),responseData:{"recordId":"${record._id}"},adaptor:"\n if(payload.errors){\n delete payload.data;\n payload.status = 2;\n payload.msg = window.t ? window.t(payload.errors[0].message) : payload.errors[0].message;\n }\n ".concat(options.apiAdaptor||'',"\n return payload;\n "),headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"}};}function getBatchDelete(objectName){return{method:'post',url:getApi$2(),adaptor:"\n if(payload.errors){\n payload.data.deleteErrorMessage = [];\n payload.errors.forEach(function(error){\n let errorRecord = error.path.map(function (item) {\n return item.split('delete__')[1].to_float() + 1;\n }).toString();\n payload.data.deleteErrorMessage.push(\"\u7B2C\" + errorRecord + \"\u6761\u8BB0\u5F55\u5220\u9664\u51FA\u73B0\u5F02\u5E38\uFF0C\u62A5\u9519\u4FE1\u606F\u4E3A(\" + (window.t ? window.t(error.message) : error.message) + \")\");\n })\n }\n return payload;\n ",requestAdaptor:"\n var ids = api.data.ids.split(\",\");\n var deleteArray = [];\n ids.forEach((id,index)=>{\n deleteArray.push(`delete__${index}:".concat(objectName,"__delete(id: \"${id}\")`);\n })\n api.data = {query: `mutation{${deleteArray.join(',')}}`};\n return api;\n "),data:{ids:"${ids}"},headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"}};}var DEFAULT_CALENDAR_OPTIONS={startDateExpr:"start",endDateExpr:"end",allDayExpr:"is_all_day",textExpr:"name"};function getCalendarApi(_x56,_x57,_x58){return _getCalendarApi.apply(this,arguments);}function _getCalendarApi(){_getCalendarApi=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee70(mainObject,fields,options){var calendarOptions,searchableFields,_options3,filter,sort,top,_options3$setDataToCo,setDataToComponentId,idFieldName,valueField,api;return _regeneratorRuntime().wrap(function _callee70$(_context70){while(1){switch(_context70.prev=_context70.next){case 0:if(!options){options={};}calendarOptions=options.calendarOptions;searchableFields=[];_options3=options,filter=_options3.filter,sort=_options3.sort,top=_options3.top,_options3$setDataToCo=_options3.setDataToComponentId,setDataToComponentId=_options3$setDataToCo===void 0?'':_options3$setDataToCo;if(!top){// 日历请求不翻页