@steedos-widgets/amis-lib 3.6.11-beta.6 → 3.6.11
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/cjs/tsconfig.tsbuildinfo +1 -1
- package/dist/index.cjs.js +55 -33
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.esm.js +55 -33
- package/dist/index.esm.js.map +1 -1
- package/dist/index.umd.js +22 -5
- package/dist/index.umd.js.map +1 -1
- package/package.json +2 -2
package/dist/index.umd.js
CHANGED
|
@@ -465,11 +465,28 @@ function getObjectHeaderQuickSearchBox(mainObject,fields,formFactor){var _ref11=
|
|
|
465
465
|
// 而点击回车按键又不会触发blur事件,所以只能每次回车事件中额外再执行一次onChangeScript
|
|
466
466
|
// 等升级到amis 3.4+,blur事件换成change事件执行onChangeScript,就可以不用在onSearchScript中执行onChangeScript了
|
|
467
467
|
// 基于amis3.6,已经不再用blur事件触发onChangeScript,所以这里把之前加上的onChangeScript去掉了,如果以后还要换blur来触发onChangeScript脚本的话,这里又要加回onChangeScript脚本
|
|
468
|
-
var onSearchScript="\n //
|
|
468
|
+
var onSearchScript="\n // \u4E0B\u9762\u7684\u811A\u672C\u53EA\u4E3A\u89E3\u51B3\u70B9\u51FB\u641C\u7D22\u8868\u5355\u53D6\u6D88\u6309\u94AE\uFF0C\u518D\u91CD\u65B0\u5728\u5176\u4E2D\u8F93\u5165\u8FC7\u6EE4\u6761\u4EF6\u4F46\u662F\u4E0D\u70B9\u51FB\u641C\u7D22\u6309\u94AE\u6216\u56DE\u8F66\u6309\u952E\u89E6\u53D1\u641C\u7D22\uFF0C\u6B64\u65F6\u5728\u5FEB\u901F\u641C\u7D22\u6846\u8F93\u5165\u8FC7\u6EE4\u6761\u4EF6\u6309\u56DE\u8F66\u6309\u952E\u4F1A\u628A\u641C\u7D22\u8868\u5355\u4E2D\u7684\u8FC7\u6EE4\u6761\u4EF6\u6E05\u7A7A\u7684\u95EE\u9898\n const scope = event.context.scoped;\n // \u5982\u679C\u70B9\u51FB\u8FC7\u9876\u90E8\u641C\u7D22\u680F\u8868\u5355\u7684\u53D6\u6D88\u6309\u94AE\uFF0C\u4F1A\u628A\u6B64\u5904event.data.__super.__super.__super\u4E2D\u7684\u641C\u7D22\u8868\u5355\u9879\u7684\u6240\u6709\u5B57\u6BB5\u8BBE\u7F6E\u4E3Anull\n // \u70B9\u51FB\u53D6\u6D88\u6309\u94AE\u540E\u7EE7\u7EED\u5728\u8868\u5355\u9879\u4E2D\u8F93\u5165\u8FC7\u6EE4\u6761\u4EF6\u4E14\u6700\u540E\u6CA1\u6709\u70B9\u51FB\u56DE\u8F66\u6309\u952E\u6216\u70B9\u51FB\u8868\u5355\u9879\u641C\u7D22\u6309\u94AE\u7684\u8BDD\uFF0C\u5728\u5FEB\u901F\u641C\u7D22\u4E2D\u70B9\u51FB\u56DE\u8F66\u6309\u94AE\u63D0\u4EA4\u641C\u7D22\u4F1A\u6240\u9876\u90E8\u641C\u7D22\u8868\u5355\u4E2D\u7684\u5B57\u6BB5\u503C\u6E05\u7A7A\n let isLookup = event.data.isLookup;\n let __lookupField = event.data.__lookupField;\n let __changedFilterFormValuesKey = \"__changedFilterFormValues\";\n if(isLookup && __lookupField){\n let lookupTag = \"__lookup__\" + __lookupField.name + \"__\" + __lookupField.reference_to;\n if(__lookupField.reference_to_field){\n lookupTag += \"__\" + __lookupField.reference_to_field;\n }\n __changedFilterFormValuesKey += lookupTag;\n }\n let filterForm = SteedosUI.getClosestAmisComponentByType(scope, \"form\");\n setTimeout(function(){\n filterForm.setValues(event.data[__changedFilterFormValuesKey]);\n }, 500);\n ";// const onBlurScript = `
|
|
469
|
+
// // 失去焦点事件触发搜索,先去掉,因为会有bug,见:[Bug]: 列表上快速搜索输入框输入内容后点击放大镜界面上列表未显示过滤后的内容 #6742
|
|
470
|
+
// const value = event.data.value;
|
|
471
|
+
// setTimeout(function(){
|
|
472
|
+
// const scope = event.context.scoped;
|
|
473
|
+
// const sb = SteedosUI.getClosestAmisComponentByType(scope, "search-box");
|
|
474
|
+
// sb.handleSearch(value);
|
|
475
|
+
// }, 500);
|
|
476
|
+
// `;
|
|
477
|
+
return{"type":"tooltip-wrapper","id":"steedos_crud_toolbar_quick_search","align":"right","title":"","content":"可搜索字段:"+searchableFieldsLabel.join(","),"placement":"bottom","tooltipTheme":"dark","trigger":"click","className":formFactor!=='SMALL'?"mr-1":'',"visible":!!searchableFieldsLabel.length,"body":[{"type":"search-box","name":keywordsSearchBoxName,"placeholder":"快捷搜索","value":crudKeywords,"clearable":true,//因为清除并不会触发失去焦点事件,只有禁用,但是它会触发change事件,所以等升级到amis 3.4+后可以重新放开
|
|
469
478
|
"clearAndSubmit":true,"searchImediately":false,"onEvent":{"search":{"actions":[{"actionType":"custom","script":onSearchScript}]},"change":{//amis 3.2change事件中setData会卡,升级到amis 3.4+应该不会再卡了,所以这里换回change事件,如果还是会卡就要考虑重新换成blur事件
|
|
470
|
-
"actions":[{"actionType":"custom","script":onChangeScript}]}
|
|
479
|
+
"actions":[{"actionType":"custom","script":onChangeScript}]}// "blur": {
|
|
480
|
+
// "actions": [
|
|
481
|
+
// {
|
|
482
|
+
// "actionType": "custom",
|
|
483
|
+
// "script": onBlurScript
|
|
484
|
+
// },
|
|
485
|
+
// ]
|
|
486
|
+
// }
|
|
487
|
+
}}]};}function getObjectHeaderToolbar(mainObject,fields,formFactor){var _ref12=arguments.length>3&&arguments[3]!==undefined?arguments[3]:{},_ref12$showDisplayAs=_ref12.showDisplayAs,showDisplayAs=_ref12$showDisplayAs===void 0?false:_ref12$showDisplayAs,_ref12$hiddenCount=_ref12.hiddenCount,hiddenCount=_ref12$hiddenCount===void 0?false:_ref12$hiddenCount,headerToolbarItems=_ref12.headerToolbarItems,_ref12$filterVisible=_ref12.filterVisible,filterVisible=_ref12$filterVisible===void 0?true:_ref12$filterVisible,_ref12$isLookup=_ref12.isLookup,isLookup=_ref12$isLookup===void 0?false:_ref12$isLookup,keywordsSearchBoxName=_ref12.keywordsSearchBoxName;// console.log(`getObjectHeaderToolbar====>`, filterVisible)
|
|
471
488
|
// console.log(`getObjectHeaderToolbar`, mainObject)
|
|
472
|
-
var isMobile=window.innerWidth<768;if(isMobile){showDisplayAs=false;}var toolbarCount;if(!hiddenCount){toolbarCount={"type":"tpl","tpl":"${count} "+i18next__default["default"].t('frontend_record_sum')};}var toolbarReloadButton;var onReloadScript="\n // const scope = event.context.scoped;\n // var listView = scope.parent.getComponents().find(function(n){\n // return n.props.type === \"crud\";\n // });\n // listView.handleChangePage(1);\n\n\n // \u89E6\u53D1\u641C\u7D22\uFF0C\u800C\u4E0D\u662Freload\uFF0C\u56E0\u4E3A\
|
|
489
|
+
var isMobile=window.innerWidth<768;if(isMobile){showDisplayAs=false;}var toolbarCount;if(!hiddenCount){toolbarCount={"type":"tpl","tpl":"${count} "+i18next__default["default"].t('frontend_record_sum')};}var toolbarReloadButton;var onReloadScript="\n // const scope = event.context.scoped;\n // var listView = scope.parent.getComponents().find(function(n){\n // return n.props.type === \"crud\";\n // });\n // listView.handleChangePage(1);\n\n\n // \u89E6\u53D1\u641C\u7D22\uFF0C\u800C\u4E0D\u662Freload\uFF0C\u56E0\u4E3A\u4F7F\u7528search-box\u53EF\u4EE5\u5728amissdk\u662F3.6.3-patch.8+\u5B9E\u73B0\u5728\u975E\u7B2C\u4E00\u9875\u7684\u60C5\u51B5\u4E0B\uFF0C\u5FEB\u901F\u641C\u7D22\u8F93\u5165\u6846\u4E2D\u8FC7\u6EE4\u6761\u4EF6\u53D8\u66F4\u65F6\u518D\u70B9\u5237\u65B0\u53EF\u4EE5\u81EA\u52A8\u8DF3\u8F6C\u7FFB\u9875\u5230\u7B2C\u4E00\u9875\n const scope = event.context.scoped;\n const sb = SteedosUI.getClosestAmisComponentByType(scope, \"search-box\");\n sb.handleSearch();\n ";toolbarReloadButton={// "type": "reload",//不可以直接使用reload,因为它不会设置页码到第一页,这在加载更多按钮的翻页模式下会有问题
|
|
473
490
|
"type":"button","align":"right",//TODO: dropdown-button只支持在按钮上方配置提示,对于上方按钮的点击会有影响,为保持统一,暂时去除,等待amis优化,https://github.com/baidu/amis/issues/7330
|
|
474
491
|
// "tooltip": i18next.t('frontend_button_reload_tooltip'),
|
|
475
492
|
"tooltipPlacement":"top","className":"bg-white p-2 rounded text-gray-500","label":"","icon":"fa fa-sync",// "visibleOn": "${!showFieldsFilter}",
|
|
@@ -687,7 +704,7 @@ autoFillMapping=!field.multiple&&field.auto_fill_mapping;if(autoFillMapping&&aut
|
|
|
687
704
|
// F字段值变更后,虽然会自动填充值到T字段中,但是并不会触发T字段的source接口重新请求,这会造成T字段被填充后,可能会显示为字段id而不是label了,见issue:https://github.com/steedos/steedos-platform/issues/6601
|
|
688
705
|
// amis@6.2.2不需要配置trackExpression不会有#6601所示问题,但是更高版本6.3.0也会有,所以这里只能加上trackExpression避开相关bug。
|
|
689
706
|
source.trackExpression="${".concat(field.name,"}");source.data.$term="$term";source.data.$self="$$";// field.name可能是带点的名称,比如审批王中子表字段'instances.instances_submitter',如果不替换掉点,会造成审批王表单中新建子表行时报错
|
|
690
|
-
keywordsSearchBoxName="__keywords_lookup__".concat(field.name.replace(/\./g,"_"),"__to__").concat(refObjectConfig.name);source.requestAdaptor="\n let __changedFilterFormValuesKey = \"__changedFilterFormValues\";\n let __lookupField = api.data.$self.__lookupField;\n if(__lookupField){\n let lookupTag = \"__lookup__\" + __lookupField.name + \"__\" + __lookupField.reference_to;\n if(__lookupField.reference_to_field){\n lookupTag += \"__\" + __lookupField.reference_to_field;\n }\n __changedFilterFormValuesKey += lookupTag;\n }\n let __changedFilterFormValues = api.data.$self[__changedFilterFormValuesKey] || {};\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 if(api.data.$self.op !== 'loadOptions'){\n Object.assign(api.data.$self, __changedSearchBoxValues, __changedFilterFormValues);\n }\n const selfData = JSON.parse(JSON.stringify(api.data.$self));\n ".concat(listviewFilter&&!ctx.inFilterForm?"var filters = ".concat(JSON.stringify(listviewFilter),";"):'var filters = [];',"\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 let fieldValue;\n if(api.data.$term){\n filters = [[\"name\", \"contains\", \"'+ api.data.$term +'\"]];\n }else if(selfData.op === 'loadOptions' && selfData.value){\n if(selfData.value && selfData.value.indexOf(',') > 0){\n fieldValue = selfData.value.split(',');\n filters = [[\"").concat(referenceTo.valueField.name,"\", \"=\", fieldValue]];\n }else{\n fieldValue = selfData.value;\n filters = [[\"").concat(referenceTo.valueField.name,"\", \"=\", fieldValue]];\n }\n }\n\n var searchableFilter = SteedosUI.getSearchFilter(selfData) || [];\n\n if(searchableFilter.length > 0){\n if(filters.length > 0 ){\n filters = [filters, 'and', searchableFilter];\n }else{\n filters = searchableFilter;\n }\n }\n\n if(").concat((referenceTo===null||referenceTo===void 0?void 0:referenceTo.objectName)==="space_users"," && ").concat(field.reference_to_field==="user","){\n if(filters.length > 0){\n filters = [ [\"user_accepted\", \"=\", true], \"and\", filters ]\n }else{\n filters = [[\"user_accepted\", \"=\", true]];\n }\n }\n\n if(allowSearchFields){\n allowSearchFields.forEach(function(key){\n const keyValue = selfData[key];\n if(_.isString(keyValue)){\n filters.push([key, \"contains\", keyValue]);\n }else if(_.isArray(keyValue) || _.isBoolean(keyValue) || keyValue){\n filters.push([key, \"=\", keyValue]);\n }\n })\n }\n\n var keywordsFilters = SteedosUI.getKeywordsSearchFilter(selfData.").concat(keywordsSearchBoxName,", allowSearchFields);\n if(keywordsFilters && keywordsFilters.length > 0){\n filters.push(keywordsFilters);\n }\n\n var fieldFilters = ").concat(JSON.stringify(field.filters),";\n if(fieldFilters && fieldFilters.length){\n var filtersForString = JSON.stringify(fieldFilters);\n if(filtersForString.indexOf('$') > -1) {\n var currentAmis = amisRequire('amis');\n fieldFilters = JSON.parse(currentAmis.evaluate(filtersForString, api.data.$self.__super))\n }\n filters.push(fieldFilters);\n }\n \n const inFilterForm = ").concat(ctx.inFilterForm,";\n\n const listviewFiltersFunction = ").concat(listviewFiltersFunction,";\n\n if(listviewFiltersFunction && !inFilterForm){\n const _filters0 = listviewFiltersFunction(filters, api.data.$self.__super);\n if(_filters0 && _filters0.length){\n filters.push(_filters0);\n }\n }\n \n const filtersFunction = ").concat(field.filtersFunction||field._filtersFunction,";\n\n if(filtersFunction && !inFilterForm){\n const _filters = filtersFunction(filters, api.data.$self.__super);\n if(_filters && _filters.length > 0){\n filters.push(_filters);\n }\n }\n\n const enable_tree = ").concat(refObjectConfig.enable_tree,";\n if(enable_tree){\n pageSize = 10000;\n }\n if(fieldValue && _.isArray(fieldValue) && fieldValue.length > pageSize){\n pageSize = fieldValue.length;\n }\n api.data.query = api.data.query.replace(/{__filters}/g, JSON.stringify(filters)).replace('{__top}', pageSize).replace('{__skip}', skip).replace('{__sort}', sort.trim());\n return api;\n ");source.adaptor="\n const enable_tree = ".concat(refObjectConfig.enable_tree,";\n const op = api.data.$self.op;\n if(!_.isEmpty(op)){\n // op\u4E0D\u4E3A\u7A7A\uFF0C\u8868\u793A\u5904\u4E8E\u5B57\u6BB5\u521D\u59CB\u7F16\u8F91\u72B6\u6001\uFF0C\u4E0D\u662F\u70B9\u51FB\u540E\u51FA\u73B0\u5F39\u7A97\u72B6\u6001\u3002\n // \u8FD9\u91CC\u4E0D\u53EF\u4EE5\u7528_.pick\u51FD\u6570\u8BA9payload\u53EA\u8FD4\u56DElabelField\u548CvalueField\uFF0C\u56E0\u4E3A\u5B57\u6BB5\u4E0A\u914D\u7F6E\u7684amis autoFill\u529F\u80FD\u53EF\u80FD\u4F9D\u8D56\u4E86\u5176\u4ED6\u5B57\u6BB5\n /*\n const rows = _.map(payload.data.rows, (item)=>{\n return _.pick(item, [\"").concat(referenceTo.labelField.name,"\", \"").concat(referenceTo.valueField.name,"\"]);\n })\n payload.data.rows = rows;\n */\n if(enable_tree){\n const rows = _.map(payload.data.rows, (item)=>{\n if (!item.children) {\n return { ...item, children: [] };\n } else {\n return item;\n }\n })\n payload.data.rows = rows;\n }\n return payload;\n }\n if(!payload.data.rows){\n payload.data.rows = [];\n }\n if(enable_tree){\n const records = payload.data.rows;\n const treeRecords = [];\n\n const getParentIds = (records)=>{\n const ids = _.map(records, (item)=>{\n return item._id;\n });\n const parents = _.filter(records,(record)=>{\n return !record.parent || !_.includes(ids,record.parent);\n })\n const parentsIds = _.map(parents,(item)=>{\n return item._id;\n })\n return parentsIds;\n }\n const getChildren = (records, childrenIds)=>{\n if(!childrenIds){\n return;\n }\n const children = _.filter(records, (record)=>{\n return _.includes(childrenIds, record._id)\n });\n _.each(children, (item)=>{\n if(item.children){\n item.children = getChildren(records, item.children)\n }else{\n item.children = [];\n }\n })\n return children;\n }\n\n const parentIds = getParentIds(records);\n _.each(records, (record)=>{\n if(!record.parent || _.includes(parentIds, record._id)){\n treeRecords.push(Object.assign({}, record, {children: getChildren(records, record.children)}));\n }\n });\n payload.data.rows = treeRecords;\n }\n const result = payload.data.rows;\n if(result && result.length){\n const updatedResult = _.map(result, (element) => {\n const data = { ...element };\n // image\u5B57\u6BB5\u503C\u6DFB\u52A0URL\u524D\u7F00\n ").concat(getScriptForAddUrlPrefixForImgFields(___namespace.values(refObjectConfig.fields)),"\n return data;\n });\n payload.data.rows = updatedResult;\n }\n return payload;\n ");if(field.optionsFunction||field._optionsFunction){source.adaptor="\n payload.data.rows = eval(".concat(field.optionsFunction||field._optionsFunction,")(api.data.$self);\n return payload;\n ");}top=20;if(refObjectConfig.paging&&refObjectConfig.paging.enabled===false){top=1000;}pickerSchema=null;labelFieldName=refObjectConfig.NAME_FIELD_KEY||'name';// organizations 对象的历史遗留问题, fullname 被标记为了 名称字段. 在此处特殊处理.
|
|
707
|
+
keywordsSearchBoxName="__keywords_lookup__".concat(field.name.replace(/\./g,"_"),"__to__").concat(refObjectConfig.name);source.requestAdaptor="\n let __changedFilterFormValuesKey = \"__changedFilterFormValues\";\n let __lookupField = api.data.$self.__lookupField;\n if(__lookupField){\n let lookupTag = \"__lookup__\" + __lookupField.name + \"__\" + __lookupField.reference_to;\n if(__lookupField.reference_to_field){\n lookupTag += \"__\" + __lookupField.reference_to_field;\n }\n __changedFilterFormValuesKey += lookupTag;\n }\n let __changedFilterFormValues = api.data.$self[__changedFilterFormValuesKey] || {};\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 if(api.data.$self.op !== 'loadOptions'){\n Object.assign(api.data.$self, __changedSearchBoxValues, __changedFilterFormValues);\n }\n const selfData = JSON.parse(JSON.stringify(api.data.$self));\n ".concat(listviewFilter&&!ctx.inFilterForm?"var filters = ".concat(JSON.stringify(listviewFilter),";"):'var filters = [];',"\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 let fieldValue;\n if(api.data.$term){\n filters = [[\"name\", \"contains\", \"'+ api.data.$term +'\"]];\n }else if(selfData.op === 'loadOptions' && selfData.value){\n if(selfData.value && selfData.value.indexOf(',') > 0){\n fieldValue = selfData.value.split(',');\n filters = [[\"").concat(referenceTo.valueField.name,"\", \"=\", fieldValue]];\n }else{\n fieldValue = selfData.value;\n filters = [[\"").concat(referenceTo.valueField.name,"\", \"=\", fieldValue]];\n }\n }\n\n var searchableFilter = SteedosUI.getSearchFilter(selfData) || [];\n\n if(searchableFilter.length > 0){\n if(filters.length > 0 ){\n filters = [filters, 'and', searchableFilter];\n }else{\n filters = searchableFilter;\n }\n }\n\n if(").concat((referenceTo===null||referenceTo===void 0?void 0:referenceTo.objectName)==="space_users"," && ").concat(field.reference_to_field==="user","){\n if(filters.length > 0){\n filters = [ [\"user_accepted\", \"=\", true], \"and\", filters ]\n }else{\n filters = [[\"user_accepted\", \"=\", true]];\n }\n }\n\n if(allowSearchFields){\n allowSearchFields.forEach(function(key){\n const keyValue = selfData[key];\n if(_.isString(keyValue)){\n filters.push([key, \"contains\", keyValue]);\n }else if(_.isArray(keyValue) || _.isBoolean(keyValue) || keyValue){\n filters.push([key, \"=\", keyValue]);\n }\n })\n }\n\n var keywordsFilters = SteedosUI.getKeywordsSearchFilter(selfData.").concat(keywordsSearchBoxName,", allowSearchFields);\n if(keywordsFilters && keywordsFilters.length > 0){\n filters.push(keywordsFilters);\n }\n\n var fieldFilters = ").concat(JSON.stringify(field.filters),";\n var currentAmis = amisRequire('amis');\n //\u9012\u5F52fieldFilters\u6570\u7EC4\uFF0C\u68C0\u67E5\u6BCF\u4E00\u4E2A\u5143\u7D20\uFF0C\u5224\u65AD\u82E5\u662F\u516C\u5F0F\uFF0C\u5C31\u4EC5\u628A\u5B83\u89E3\u6790\n function traverseNestedArray(arr) {\n for (let i = 0; i < arr.length; i++) {\n if (Array.isArray(arr[i])) {\n // \u5982\u679C\u5F53\u524D\u5143\u7D20\u662F\u6570\u7EC4\uFF0C\u5219\u9012\u5F52\u8C03\u7528\u81EA\u8EAB\u7EE7\u7EED\u904D\u5386\n traverseNestedArray(arr[i]);\n } else {\n // \u5982\u679C\u5F53\u524D\u5143\u7D20\u4E0D\u662F\u6570\u7EC4\uFF0C\u5219\u5904\u7406\u8BE5\u5143\u7D20\n // \u4E0B\u9762\u6B63\u5219\u7528\u4E8E\u5339\u914Damis\u516C\u5F0F${}\n if(/\\$\\{([^}]*)\\}/.test(arr[i])) {\n arr[i] = currentAmis.evaluate(arr[i], api.data.$);\n }\n }\n }\n }\n if(fieldFilters && fieldFilters.length){\n traverseNestedArray(fieldFilters);\n filters.push(fieldFilters);\n }\n \n const inFilterForm = ").concat(ctx.inFilterForm,";\n\n const listviewFiltersFunction = ").concat(listviewFiltersFunction,";\n\n if(listviewFiltersFunction && !inFilterForm){\n const _filters0 = listviewFiltersFunction(filters, api.data.$self.__super);\n if(_filters0 && _filters0.length){\n filters.push(_filters0);\n }\n }\n \n const filtersFunction = ").concat(field.filtersFunction||field._filtersFunction,";\n\n if(filtersFunction && !inFilterForm){\n const _filters = filtersFunction(filters, api.data.$self.__super);\n if(_filters && _filters.length > 0){\n filters.push(_filters);\n }\n }\n\n const enable_tree = ").concat(refObjectConfig.enable_tree,";\n if(enable_tree){\n pageSize = 10000;\n }\n if(fieldValue && _.isArray(fieldValue) && fieldValue.length > pageSize){\n pageSize = fieldValue.length;\n }\n api.data.query = api.data.query.replace(/{__filters}/g, JSON.stringify(filters)).replace('{__top}', pageSize).replace('{__skip}', skip).replace('{__sort}', sort.trim());\n return api;\n ");source.adaptor="\n const enable_tree = ".concat(refObjectConfig.enable_tree,";\n const op = api.data.$self.op;\n if(!_.isEmpty(op)){\n // op\u4E0D\u4E3A\u7A7A\uFF0C\u8868\u793A\u5904\u4E8E\u5B57\u6BB5\u521D\u59CB\u7F16\u8F91\u72B6\u6001\uFF0C\u4E0D\u662F\u70B9\u51FB\u540E\u51FA\u73B0\u5F39\u7A97\u72B6\u6001\u3002\n // \u8FD9\u91CC\u4E0D\u53EF\u4EE5\u7528_.pick\u51FD\u6570\u8BA9payload\u53EA\u8FD4\u56DElabelField\u548CvalueField\uFF0C\u56E0\u4E3A\u5B57\u6BB5\u4E0A\u914D\u7F6E\u7684amis autoFill\u529F\u80FD\u53EF\u80FD\u4F9D\u8D56\u4E86\u5176\u4ED6\u5B57\u6BB5\n /*\n const rows = _.map(payload.data.rows, (item)=>{\n return _.pick(item, [\"").concat(referenceTo.labelField.name,"\", \"").concat(referenceTo.valueField.name,"\"]);\n })\n payload.data.rows = rows;\n */\n if(enable_tree){\n const rows = _.map(payload.data.rows, (item)=>{\n if (!item.children) {\n return { ...item, children: [] };\n } else {\n return item;\n }\n })\n payload.data.rows = rows;\n }\n return payload;\n }\n if(!payload.data.rows){\n payload.data.rows = [];\n }\n if(enable_tree){\n const records = payload.data.rows;\n const treeRecords = [];\n\n const getParentIds = (records)=>{\n const ids = _.map(records, (item)=>{\n return item._id;\n });\n const parents = _.filter(records,(record)=>{\n return !record.parent || !_.includes(ids,record.parent);\n })\n const parentsIds = _.map(parents,(item)=>{\n return item._id;\n })\n return parentsIds;\n }\n const getChildren = (records, childrenIds)=>{\n if(!childrenIds){\n return;\n }\n const children = _.filter(records, (record)=>{\n return _.includes(childrenIds, record._id)\n });\n _.each(children, (item)=>{\n if(item.children){\n item.children = getChildren(records, item.children)\n }else{\n item.children = [];\n }\n })\n return children;\n }\n\n const parentIds = getParentIds(records);\n _.each(records, (record)=>{\n if(!record.parent || _.includes(parentIds, record._id)){\n treeRecords.push(Object.assign({}, record, {children: getChildren(records, record.children)}));\n }\n });\n payload.data.rows = treeRecords;\n }\n const result = payload.data.rows;\n if(result && result.length){\n const updatedResult = _.map(result, (element) => {\n const data = { ...element };\n // image\u5B57\u6BB5\u503C\u6DFB\u52A0URL\u524D\u7F00\n ").concat(getScriptForAddUrlPrefixForImgFields(___namespace.values(refObjectConfig.fields)),"\n return data;\n });\n payload.data.rows = updatedResult;\n }\n return payload;\n ");if(field.optionsFunction||field._optionsFunction){source.adaptor="\n payload.data.rows = eval(".concat(field.optionsFunction||field._optionsFunction,")(api.data.$self);\n return payload;\n ");}top=20;if(refObjectConfig.paging&&refObjectConfig.paging.enabled===false){top=1000;}pickerSchema=null;labelFieldName=refObjectConfig.NAME_FIELD_KEY||'name';// organizations 对象的历史遗留问题, fullname 被标记为了 名称字段. 在此处特殊处理.
|
|
691
708
|
if(refObjectConfig.name==='organizations'){labelFieldName='name';}_context109.next=45;return getTableSchema$1(refObjectConfig,tableFields,_objectSpread({labelFieldName:labelFieldName,top:top,isLookup:true,enable_tree:refObjectConfig.enable_tree},ctx));case 45:pickerSchema=_context109.sent;pickerSchema.affixHeader=false;pickerSchema.headerToolbar=getObjectHeaderToolbar(refObjectConfig,fieldsArr,ctx.formFactor,{isLookup:true,keywordsSearchBoxName:keywordsSearchBoxName});if(referenceTo.objectName==="space_users"&&field.reference_to_field==="user"){pickerSchema.headerToolbar.push(getLookupSapceUserTreeSchema(isMobile));pickerSchema.className=pickerSchema.className||""+" steedos-select-user";}isAllowCreate=refObjectConfig.permissions.allowCreate;isCreate=___namespace.isBoolean(field.create)?field.create:true;// lookup字段配置过滤条件就强制不显示新建按钮
|
|
692
709
|
isHasFilters=field.filters||field.filtersFunction||field._filtersFunction?true:false;if(!(isAllowCreate&&isCreate&&!isHasFilters)){_context109.next=58;break;}_context109.next=55;return getSchema$5(refObjectConfig,{appId:ctx.appId,objectName:refObjectConfig.name,formFactor:ctx.formFactor});case 55:new_button=_context109.sent;new_button.align="right";// 保持快速搜索放在最左侧,新建按钮往里插,而不是push到最后
|
|
693
710
|
pickerSchema.headerToolbar.splice(pickerSchema.headerToolbar.length-1,0,new_button);case 58:pickerSchema.footerToolbar=refObjectConfig.enable_tree?[]:getObjectFooterToolbar(refObjectConfig,ctx.formFactor,{isLookup:true});if(!(ctx.filterVisible!==false)){_context109.next=63;break;}_context109.next=62;return getObjectFilter(refObjectConfig,fields,_objectSpread(_objectSpread({},ctx),{},{isLookup:true,keywordsSearchBoxName:keywordsSearchBoxName}));case 62:pickerSchema.filter=_context109.sent;case 63:pickerSchema.data=Object.assign({},pickerSchema.data,{"&":"$$","objectName":refObjectConfig.name,"uiSchema":refObjectConfig,"listName":listName,// 需要按视图取可搜索项
|
|
@@ -700,7 +717,7 @@ autoFillMapping=!field.multiple&&field.auto_fill_mapping;if(autoFillMapping&&aut
|
|
|
700
717
|
_context110.next=17;return getFindQuery({name:referenceTo.objectName},null,queryFields,{expand:false,alias:"defaultValueOptions",filters:"{__options_filters}",count:false});case 17:defaultValueOptionsQueryData=_context110.sent;_context110.next=20;return getApi({name:referenceTo.objectName},null,queryFields,{expand:false,alias:'options',queryOptions:"filters: {__filters}, top: {__top}, sort: \"{__sort}\""});case 20:apiInfo=_context110.sent;apiInfo.adaptor="\n const data = payload.data;\n var defaultValueOptions = data.defaultValueOptions;\n // \u5B57\u6BB5\u503C\u4E0B\u62C9\u9009\u9879\u5408\u5E76\u5230options\u4E2D\n data.options = _.unionWith(defaultValueOptions, data.options, function(a,b){\n return a[\"value\"]=== b[\"value\"];\n });\n delete data.defaultValueOptions;\n payload.data.options = data.options;\n return payload;\n ";_context110.next=25;break;case 24:apiInfo={method:"post",url:getApi$2(),data:{query:'{objects(filters: ["_id", "=", "-1"]){_id}}',$:"$$"},"headers":{"Authorization":"Bearer ${context.tenantId},${context.authToken}"}};case 25:listView=getLookupListView(refObjectConfig);listviewFilter=getListViewFilter(listView);listviewFiltersFunction=listView&&listView._filters;sort="";if(listView){sort=getListViewSort(listView);}// 列表视图搜索栏中,即inFilterForm=true时,不需要执行depend_on
|
|
701
718
|
if(apiInfo.url&&!ctx.inFilterForm){depend_on=[];sendOn=[];___namespace.each(field.depend_on,function(fName){depend_on.push("depend_on_".concat(fName,"=${").concat(fName,"}"));sendOn.push("this.".concat(fName));});if(depend_on.length>0){apiInfo.url="".concat(apiInfo.url,"&").concat(depend_on.join('&'));apiInfo.sendOn="".concat(sendOn.join(' && '));}}apiInfo.data.$term="$term";// apiInfo.data.$value = `$${field.name}.${referenceTo ? referenceTo.valueField.name : '_id'}`;
|
|
702
719
|
apiInfo.data.$value=ctx.isRefToMutiple?"$".concat(field.name,".ids"):"$".concat(field.name);___namespace.each(field.depend_on,function(fName){apiInfo.data[fName]="$".concat(fName);});apiInfo.data['$']="$$";apiInfo.data['rfield']="${object_name}";// [["_id", "=", "$${field.name}._id"],"or",["name", "contains", "$term"]]
|
|
703
|
-
apiInfo.requestAdaptor="\n ".concat(listviewFilter&&!ctx.inFilterForm?"var filters = ".concat(JSON.stringify(listviewFilter),";"):'var filters = [];',"\n var top = 200;\n if(api.data.$term){\n filters = [[\"").concat((referenceTo===null||referenceTo===void 0?void 0:referenceTo.NAME_FIELD_KEY)||'name',"\", \"contains\", api.data.$term]];\n }\n // else if(api.data.$value){\n // filters = [[\"_id\", \"=\", api.data.$value]];\n // }\n\n var fieldFilters = ").concat(JSON.stringify(field.filters),";\n
|
|
720
|
+
apiInfo.requestAdaptor="\n ".concat(listviewFilter&&!ctx.inFilterForm?"var filters = ".concat(JSON.stringify(listviewFilter),";"):'var filters = [];',"\n var top = 200;\n if(api.data.$term){\n filters = [[\"").concat((referenceTo===null||referenceTo===void 0?void 0:referenceTo.NAME_FIELD_KEY)||'name',"\", \"contains\", api.data.$term]];\n }\n // else if(api.data.$value){\n // filters = [[\"_id\", \"=\", api.data.$value]];\n // }\n\n var fieldFilters = ").concat(JSON.stringify(field.filters),";\n var currentAmis = amisRequire('amis');\n //\u9012\u5F52fieldFilters\u6570\u7EC4\uFF0C\u68C0\u67E5\u6BCF\u4E00\u4E2A\u5143\u7D20\uFF0C\u5224\u65AD\u82E5\u662F\u516C\u5F0F\uFF0C\u5C31\u4EC5\u628A\u5B83\u89E3\u6790\n function traverseNestedArray(arr) {\n for (let i = 0; i < arr.length; i++) {\n if (Array.isArray(arr[i])) {\n // \u5982\u679C\u5F53\u524D\u5143\u7D20\u662F\u6570\u7EC4\uFF0C\u5219\u9012\u5F52\u8C03\u7528\u81EA\u8EAB\u7EE7\u7EED\u904D\u5386\n traverseNestedArray(arr[i]);\n } else {\n // \u5982\u679C\u5F53\u524D\u5143\u7D20\u4E0D\u662F\u6570\u7EC4\uFF0C\u5219\u5904\u7406\u8BE5\u5143\u7D20\n // \u4E0B\u9762\u6B63\u5219\u7528\u4E8E\u5339\u914Damis\u516C\u5F0F${}\n if(/\\$\\{([^}]*)\\}/.test(arr[i])) {\n arr[i] = currentAmis.evaluate(arr[i], api.data.$);\n }\n }\n }\n }\n if(fieldFilters && fieldFilters.length){\n traverseNestedArray(fieldFilters);\n filters.push(fieldFilters);\n }\n\n if(").concat((referenceTo===null||referenceTo===void 0?void 0:referenceTo.objectName)==="space_users"," && ").concat(field.reference_to_field==="user","){\n if(filters.length > 0){\n filters = [ [\"user_accepted\", \"=\", true], \"and\", filters ]\n }else{\n filters = [[\"user_accepted\", \"=\", true]];\n }\n }\n\n const inFilterForm = ").concat(ctx.inFilterForm,";\n\n const listviewFiltersFunction = ").concat(listviewFiltersFunction,";\n\n if(listviewFiltersFunction && !inFilterForm){\n const _filters0 = listviewFiltersFunction(filters, api.data.$);\n if(_filters0 && _filters0.length){\n filters.push(_filters0);\n }\n }\n \n const filtersFunction = ").concat(field.filtersFunction||field._filtersFunction,";\n\n if(filtersFunction && !inFilterForm){\n const _filters = filtersFunction(filters, api.data.$);\n if(_filters && _filters.length > 0){\n filters.push(_filters);\n }\n }\n var sort = \"").concat(sort,"\";\n api.data.query = api.data.query.replace(/{__filters}/g, JSON.stringify(filters)).replace('{__top}', top).replace('{__sort}', sort.trim());\n\n var defaultValue = api.data.$value;\n var optionsFiltersOp = \"").concat(field.multiple?"in":"=","\";\n var optionsFilters = [[\"").concat(valueFieldKey,"\", optionsFiltersOp, []]];\n if (defaultValue && !api.data.$term) { \n const defaultValueOptionsQueryData = ").concat(JSON.stringify(defaultValueOptionsQueryData),";\n const defaultValueOptionsQuery = defaultValueOptionsQueryData?.query?.replace(/^{/,\"\").replace(/}$/,\"\");\n // \u5B57\u6BB5\u503C\u5355\u72EC\u8BF7\u6C42\uFF0C\u6CA1\u503C\u7684\u65F6\u5019\u5728\u8BF7\u6C42\u4E2D\u8FD4\u56DE\u7A7A\n optionsFilters = [[\"").concat(valueFieldKey,"\", optionsFiltersOp, defaultValue]];\n if(filters.length > 0){\n optionsFilters = [filters, optionsFilters];\n }\n if(defaultValueOptionsQuery){\n api.data.query = \"{\"+api.data.query.replace(/^{/,\"\").replace(/}$/,\"\")+\",\"+defaultValueOptionsQuery+\"}\";\n } \n }\n api.data.query = api.data.query.replace(/{__options_filters}/g, JSON.stringify(optionsFilters));\n return api;\n ");referenceTo?referenceTo.labelField.name:'';referenceTo?referenceTo.valueField.name:'';if(field.optionsFunction||field._optionsFunction){apiInfo.adaptor="\n var options = eval(".concat(field.optionsFunction||field._optionsFunction,")(api.data.$);\n if(api.data.$term){\n options = _.filter(options, function(o) {\n var label = o.label;\n return label.toLowerCase().indexOf(api.data.$term.toLowerCase()) > -1;\n });\n }\n payload.data.options = options;\n return payload;\n ");}else if(field.options){apiInfo.adaptor="\n var options = ".concat(JSON.stringify(field.options),"\n if(api.data.$term){\n options = _.filter(options, function(o) {\n var label = o.label;\n return label.toLowerCase().indexOf(api.data.$term.toLowerCase()) > -1;\n });\n }\n payload.data.options = options;\n return payload;\n ");}data={type:getAmisStaticFieldType('select',readonly),joinValues:false,extractValue:true,clearable:true,// disabledOn: this._master目的是相关表新建时禁止编辑关联字段; this.relatedKey目的是相关表编辑时禁止编辑关联字段,多选字段可以编辑。
|
|
704
721
|
disabledOn:"".concat(readonly," || ( (this._master && (this._master.relatedKey ==='").concat(field.name,"')) || ((this.relatedKey ==='").concat(field.name,"') && (").concat(field.multiple," != true)) )"),// labelField: labelField,
|
|
705
722
|
// valueField: valueField,
|
|
706
723
|
// source: apiInfo,
|