@steedos-widgets/amis-lib 3.6.0-beta.5 → 3.6.0-beta.6
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 +66 -13
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.esm.js +66 -13
- package/dist/index.esm.js.map +1 -1
- package/dist/index.umd.js +12 -11
- package/dist/index.umd.js.map +1 -1
- package/dist/types/lib/converter/amis/fields/lookup.d.ts +0 -2
- package/package.json +2 -2
package/dist/index.umd.js
CHANGED
|
@@ -316,7 +316,7 @@ var buttons=getButtons(uiSchema,ctx);var listButtons=___namespace.filter(buttons
|
|
|
316
316
|
* 列表视图顶部第一行amisSchema
|
|
317
317
|
* @param {*} objectSchema 对象UISchema
|
|
318
318
|
* @returns amisSchema
|
|
319
|
-
*/function _getObjectFieldsFilterBarSchema(){_getObjectFieldsFilterBarSchema=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee73(objectSchema,ctx){var btnSearchId,filterFormSchema,keywordsSearchBoxName,onSearchScript,onCancelScript,dataProviderInited,onSearchableFieldsChangeScript;return _regeneratorRuntime().wrap(function _callee73$(_context73){while(1){switch(_context73.prev=_context73.next){case 0:if(!ctx){ctx={};}btnSearchId="btn_filter_form_search_"+new Date().getTime();_context73.next=4;return getObjectFieldsFilterFormSchema(ctx);case 4:filterFormSchema=_context73.sent;keywordsSearchBoxName=ctx.keywordsSearchBoxName||"__keywords";onSearchScript="\n // console.log(\"===onSearchScript=form==\");\n const scope = event.context.scoped;\n var filterForm = scope.parent.parent.getComponents().find(function(n){\n return n.props.type === \"form\";\n });\n filterForm.handleFormSubmit(event);\n // var filterFormValues = filterForm.getValues();\n // var listView = scope.parent.parent.parent.getComponents().find(function(n){\n // return n.props.type === \"crud\";\n // });\n // const removedValues = {};\n // // \u8BBE\u7F6E\u641C\u7D22\u9879\u4E2D\u79FB\u9664\u641C\u7D22\u9879\u540E\uFF0CfilterFormValues\u672A\u628A\u5176\u5B57\u6BB5\u7684\u7A7A\u503C\u4FDD\u5B58\u4E3Aown property\uFF0C\u5373hasOwnProperty\u5C5E\u6027\u4E2D\n // // \u8FD9\u4F1A\u9020\u6210handleFilterSubmit\u65F6\u628A\u79FB\u9664\u6389\u7684\u641C\u7D22\u9879\u5B57\u6BB5\u4E4B\u524D\u7684\u503C\u52A0\u5230\u8FC7\u6EE4\u6761\u4EF6\u4E2D\n // for(var k in filterFormValues){\n // if(filterFormValues[k] === \"\" && !filterFormValues.hasOwnProperty(k)){\n // removedValues[k] = null;\n // }\n // }\n // listView.handleFilterSubmit(Object.assign({}, removedValues, filterFormValues));\n // \u70B9\u51FB\u641C\u7D22\u7684\u65F6\u5019\u81EA\u52A8\u6536\u8D77\u641C\u7D22\u680F\n let resizeWindow = function(){\n //\u89E6\u53D1amis crud \u9AD8\u5EA6\u91CD\u7B97\n setTimeout(()=>{\n window.dispatchEvent(new Event(\"resize\"))\n }, 500);\n }\n const filterService = filterForm.context.getComponents().find(function(n){\n return n.props.type === \"service\";\n });\n let showFieldsFilter = false;\n const isMobile = window.innerWidth < 768;\n if(event.data.__from_fields_filter_settings_confirm){\n // \u5982\u679C\u662F\u4ECE\u8BBE\u7F6E\u641C\u7D22\u9879\u70B9\u51FB\u786E\u8BA4\u6309\u94AE\u89E6\u53D1\u7684\u641C\u7D22\u4E8B\u4EF6\u4E0D\u5E94\u8BE5\u81EA\u52A8\u5173\u95ED\u641C\u7D22\u680F\n showFieldsFilter = true;\n }\n else if(isMobile){\n // \u5982\u679C\u662F\u624B\u673A\u7AEF\uFF0C\u70B9\u51FB\u641C\u7D22\u540E\u81EA\u52A8\u5173\u95ED\u641C\u7D22\u680F\n showFieldsFilter = false;\n }\n else if(event.data.displayAs === \"split\") {\n // PC\u4E0A\u5206\u680F\u6A21\u5F0F\u4E0B\u7684\u5217\u8868\uFF0C\u59CB\u7EC8\u6309\u624B\u673A\u4E0A\u6548\u679C\u5904\u7406\uFF0C\u5373\u81EA\u52A8\u5173\u95ED\u641C\u7D22\u680F\n showFieldsFilter = false;\n }\n else if(window.innerHeight >= 1200){\n // \u9AD8\u5206\u8FA8\u7387\u5C4F\u5E55\uFF082k+\uFF09\uFF0C\u5217\u8868\u9AD8\u5EA6\u6BD4\u8F83\u9AD8\uFF0C\u6CA1\u5FC5\u8981\u81EA\u52A8\u5173\u95ED\u641C\u7D22\u680F\n showFieldsFilter = true;\n }\n filterService.setData({showFieldsFilter});\n // resizeWindow();//\u5DF2\u8FC1\u79FB\u5230\u641C\u7D22\u680F\u8868\u5355\u63D0\u4EA4\u4E8B\u4EF6\u4E2D\u6267\u884C\uFF0C\u56E0\u4E3A\u8868\u5355\u9879change\u540E\u4E5F\u4F1A\u89E6\u53D1\u8868\u5355\u63D0\u4EA4\u4E86\n // \u4F7F\u7528filterForm.getValues()\u7684\u8BDD\uFF0C\u5E76\u4E0D\u80FD\u62FF\u5230\u672C\u5730\u5B58\u50A8\u4E2D\u7684\u8FC7\u6EE4\u6761\u4EF6\uFF0C\u6240\u4EE5\u9700\u8981\u4ECEevent.data\u4E2D\u53D6\u3002\n let filterFormValues = event.data;\n let isFieldsFilterEmpty = SteedosUI.isFilterFormValuesEmpty(filterFormValues);\n let crud = SteedosUI.getClosestAmisComponentByType(scope, \"crud\");\n let crudService = crud && SteedosUI.getClosestAmisComponentByType(crud.context, \"service\");\n crudService && crudService.setData({isFieldsFilterEmpty, showFieldsFilter});\n ";onCancelScript="\n // console.log(\"===onCancelScript=form==\");\n let isLookup = event.data.isLookup;\n let __lookupField = event.data.__lookupField;\n const scope = event.context.scoped;\n var filterForm = scope.parent.parent.getComponents().find(function(n){\n return n.props.type === \"form\";\n });\n var filterFormValues = filterForm.getValues();\n let crud = SteedosUI.getClosestAmisComponentByType(scope, \"crud\");\n const removedValues = {};\n for(var k in filterFormValues){\n if(/^__searchable__/.test(k)){\n removedValues[k] = null;\n }\n }\n if(!event.data.isLookup){\n // \u5237\u65B0\u6D4F\u89C8\u5668\u540E\uFF0CfilterFormValues\u503C\u662F\u7A7A\u7684\uFF0C\u53EA\u80FD\u4ECE\u672C\u5730\u5B58\u50A8\u4E2D\u53D6\u51FA\u5E76\u91CD\u7F6E\u4E3A\u7A7A\u503C\n const listName = event.data.listName;\n const listViewPropsStoreKey = location.pathname + \"/crud\";\n let localListViewProps = sessionStorage.getItem(listViewPropsStoreKey);\n if(localListViewProps){\n localListViewProps = JSON.parse(localListViewProps);\n for(var k in localListViewProps){\n if(/^__searchable__/.test(k)){\n removedValues[k] = null;\n }\n }\n }\n }\n else{\n const keywordsSearchBoxName = \"".concat(keywordsSearchBoxName,"\";\n //lookup\u5B57\u6BB5\u4FDD\u7559\u5FEB\u901F\u641C\u7D22\u6761\u4EF6\n removedValues[keywordsSearchBoxName] = filterFormValues[keywordsSearchBoxName];\n }\n filterForm.setValues(removedValues);//\u4F1A\u628A\u8868\u5355\u63D0\u4EA4\u5230toolbar\u7684\u5FEB\u901F\u641C\u7D22\u533A\u57DF\uFF0C\u9020\u6210\u5728\u5FEB\u901F\u641C\u7D22\u6846\u4E2D\u89E6\u53D1\u641C\u7D22\u65F6\u518D\u6B21\u628A\u641C\u7D22\u8868\u5355\u4E2D\u7684\u5B57\u6BB5\u503C\u6E05\u9664\u6389\u7684bug\uFF0C\u5DF2\u5355\u72EC\u5728\u5FEB\u901F\u641C\u7D22\u6846\u90A3\u8FB9\u6DFB\u52A0\u641C\u7D22\u4E8B\u4EF6\u4EE3\u7801\u5904\u7406\u8FC7\u4E86\n // \u4EE5\u4E0B\u65B9\u6CD5\u90FD\u65E0\u6CD5\u5B9E\u73B0\u6E05\u9664\u8868\u5355\u503C\n // filterForm.setValues({}, true)\n // filterForm.reset();\n // filterForm.handleAction({},{\n // \"actionType\": \"setValue\",\n // \"args\": {\n // \"value\": removedValues\n // }\n // });\n // \u4E0B\u9762\u89E6\u53D1clear\u52A8\u4F5C\u53EF\u4EE5\u6E05\u9664\u8868\u5355\u503C\uFF0C\u4E14\u4E0D\u4F1A\u628A\u8868\u5355\u63D0\u4EA4\u5230toolbar\u7684\u5FEB\u901F\u641C\u7D22\u533A\u57DF\uFF0C\u4F46\u662F\u4F1A\u628A\u91D1\u989D\u7B49\u8303\u56F4\u5B57\u6BB5\u6E05\u7A7A\u6210\u975E\u8303\u56F4\u5B57\u6BB5\n // filterForm.handleAction({},{\n // \"actionType\": \"clear\"\n // });\n\n // \u6E05\u9664__changedFilterFormValues\u4E2D\u7684\u503C\n // crud && crud.setData({__changedFilterFormValues: {}});\n let __changedFilterFormValuesKey = \"__changedFilterFormValues\";\n if(isLookup && __lookupField){\n let lookupTag = \"__\" + __lookupField.name + \"__\" + __lookupField.reference_to;\n if(__lookupField.reference_to_field){\n lookupTag += \"__\" + __lookupField.reference_to_field;\n }\n __changedFilterFormValuesKey += lookupTag;\n }\n if(crud){\n let crudData = crud.getData();\n crudData[__changedFilterFormValuesKey] = {};\n crud.setData(crudData);\n }\n filterForm.handleFormSubmit(event);\n // crud.handleFilterSubmit(removedValues);\n\n let filterFormService = SteedosUI.getClosestAmisComponentByType(filterForm.context, \"service\");\n filterFormService.setData({showFieldsFilter: !!!filterFormService.props.data.showFieldsFilter});\n //\u89E6\u53D1amis crud \u9AD8\u5EA6\u91CD\u7B97\n setTimeout(()=>{\n window.dispatchEvent(new Event(\"resize\"))\n }, 100);\n // \u79FB\u9664\u641C\u7D22\u6309\u94AE\u4E0A\u7684\u7EA2\u70B9\n // let crudService = scope.getComponentById(\"service_listview_\" + event.data.objectName);\n let crudService = crud && SteedosUI.getClosestAmisComponentByType(crud.context, \"service\");\n crudService && crudService.setData({isFieldsFilterEmpty: true, showFieldsFilter: false});\n ");dataProviderInited="\n const objectName = data.objectName;\n const isLookup = data.isLookup;\n const listName = data.listName;\n let searchableFieldsStoreKey = location.pathname + \"/searchable_fields\";\n if(isLookup){\n searchableFieldsStoreKey += \"/lookup/\" + objectName;\n }\n searchableFieldsStoreKey = searchableFieldsStoreKey + \"/\" + (data.context && data.context.userId);\n let defaultSearchableFields = localStorage.getItem(searchableFieldsStoreKey);\n if(defaultSearchableFields){\n defaultSearchableFields = defaultSearchableFields.split(\",\");\n }\n if(_.isEmpty(defaultSearchableFields) && data.uiSchema){\n let listView = data.uiSchema.list_views[data.listName];\n const sFields = listView && listView.searchable_fields;\n if(sFields && sFields.length){\n defaultSearchableFields = _.map(sFields, 'field');\n }\n }\n if(_.isEmpty(defaultSearchableFields) && data.uiSchema){\n defaultSearchableFields = _.map(\n _.sortBy(_.filter(_.values(data.uiSchema.fields), (field) => {\n return field.filterable;\n }), \"sort_no\"),\n \"name\"\n );\n }\n setData({ filterFormSearchableFields: defaultSearchableFields });\n if(isLookup){\n // looup\u5B57\u6BB5\u8FC7\u6EE4\u5668\u4E0D\u5728\u672C\u5730\u7F13\u5B58\u8BB0\u4F4F\u8FC7\u6EE4\u6761\u4EF6\uFF0C\u6240\u4EE5\u521D\u59CB\u59CB\u7EC8\u9690\u85CF\u8FC7\u6EE4\u5668\n setData({ showFieldsFilter: false });\n }\n else{\n const listViewPropsStoreKey = location.pathname + \"/crud\";\n let localListViewProps = sessionStorage.getItem(listViewPropsStoreKey);\n if(localListViewProps){\n localListViewProps = JSON.parse(localListViewProps);\n let filterFormValues = _.pickBy(localListViewProps, function(n,k){\n return /^__searchable__/g.test(k);\n });\n if(!_.isEmpty(filterFormValues)){\n setData({ ...filterFormValues });\n const omitedEmptyFormValue = _.omitBy(filterFormValues, function(n){\n return _.isNil(n) \n || (_.isObject(n) && _.isEmpty(n)) \n || (_.isArray(n) && _.isEmpty(n.filter(function(item){return !_.isNil(item)})))\n || (_.isString(n) && n.length === 0);\n });\n // \u6709\u8FC7\u6EE4\u6761\u4EF6\u65F6\u53EA\u663E\u793A\u641C\u7D22\u6309\u94AE\u4E0A\u7684\u7EA2\u70B9\uFF0C\u4E0D\u81EA\u52A8\u5C55\u5F00\u641C\u7D22\u680F\n if(!_.isEmpty(omitedEmptyFormValue)){\n let crudService = SteedosUI.getRef(data.$scopeId).parent.getComponentById(\"service_listview_\" + data.objectName)\n crudService && crudService.setData({isFieldsFilterEmpty: false});\n // setData({ showFieldsFilter: true });//\u81EA\u52A8\u5C55\u5F00\u641C\u7D22\u680F\n }\n }\n }\n }\n ";onSearchableFieldsChangeScript="\n const data = context.props.data;\n const listName = data.listName;\n const objectName = data.objectName;\n const isLookup = data.isLookup;\n const value = data.fields;\n const scope = event.context.scoped;\n // \u8FD9\u91CC\u7684filterForm\u4E0D\u662Fname\u4E3A\"listview-filter-form\"\u7684\u5185\u90E8form\uFF0C\u800C\u662Fcrud\u81EA\u5E26\u7684filter form\n const filterForm = scope.parent.parent.getComponents().find(function(n){\n return n.props.type === \"form\";\n });\n const filterService = filterForm.context.getComponents().find(function(n){\n return n.props.type === \"service\";\n });\n filterService.setData({ filterFormSearchableFields: value });\n let searchableFieldsStoreKey = location.pathname + \"/searchable_fields\";\n if(isLookup){\n searchableFieldsStoreKey += \"/lookup/\" + objectName;\n }\n searchableFieldsStoreKey = searchableFieldsStoreKey + \"/\" + (data.context && data.context.userId);\n localStorage.setItem(searchableFieldsStoreKey, value);\n\n // ===START===:\u5F53\u53D8\u66F4\u53EF\u641C\u7D22\u5B57\u6BB5\u65F6\uFF0C\u5982\u679C\u88AB\u79FB\u9664\u7684\u53EF\u641C\u7D22\u5B57\u6BB5\u5728\u672C\u5730\u5B58\u50A8\u4E2D\u5DF2\u7ECF\u5B58\u5165\u8FC7\u6EE4\u6761\u4EF6\u4E2D\u5219\u5E94\u8BE5\u6E05\u9664\u672C\u5730\u5B58\u50A8\u4E2D\u76F8\u5173\u5B57\u6BB5\u7684\u8FC7\u6EE4\u6761\u4EF6\u3002\n const searchableFields = data.fields;\n let preSearchableFields = data.__super.fields;\n if(typeof preSearchableFields === \"string\"){\n preSearchableFields = preSearchableFields.split(\",\");\n }\n const removedFields = _.difference(preSearchableFields, searchableFields);\n\n // const getClosestAmisComponentByType = function (scope, type, name) {\n // // \u9012\u5F52children\u627E\u5230listview-filter-form\n // let re = scope.getComponents().find(function (n) {\n // return n.props.type === type && n.props.name === name;\n // });\n // if (re) {\n // return re;\n // }\n // else {\n // if (scope.children && scope.children.length) {\n // for (let i = 0; i < scope.children.length; i++) {\n // re = getClosestAmisComponentByType(scope.children[i], type, name);\n // if (re) {\n // break;\n // }\n // }\n // return re;\n // }\n \n // }\n // }\n // // \u8FD9\u91CC\u7B2C\u4E8C\u5C42form\u624D\u662F\u771F\u6B63\u8981\u63D0\u4EA4\u5230crud\u8FC7\u6EE4\u6761\u4EF6\u7684form\n // filterInnerForm = getClosestAmisComponentByType(filterForm.context, \"form\", \"listview-filter-form\");\n\n const filterFormValues = filterForm.getValues();\n let removedKeys = [];\n _.each(filterFormValues, function(n,k){\n // __searchable__\u5F00\u5934\u7684\u4E0D\u5728searchableFields\u8303\u56F4\u5219\u6E05\u9664\u5176\u503C\n let isRemoved = !!removedFields.find(function(fieldName){\n return new RegExp(\"__searchable__.*\" + fieldName + \"$\").test(k);\n });\n if(isRemoved){\n removedKeys.push(k);\n }\n });\n const removedValues = {};\n removedKeys.forEach(function(key){\n removedValues[key] = null;\n });\n filterForm.setValues(removedValues);//\u8FD9\u91CC\u4F7F\u7528filterInnerForm\u4E5F\u53EF\u4EE5\n\n if(isLookup){\n return;\n }\n \n // \u5217\u8868\u89C6\u56FEcrud\u652F\u6301\u672C\u5730\u7F13\u5B58\uFF0C\u6240\u4EE5\u9700\u8981\u8FDB\u4E00\u6B65\u6E05\u9664\u6D4F\u89C8\u5668\u672C\u5730\u7F13\u5B58\u91CC\u9762\u7528\u6237\u5728\u53EF\u641C\u7D22\u9879\u4E2D\u79FB\u9664\u7684\u5B57\u6BB5\u503C\n const listViewPropsStoreKey = location.pathname + \"/crud\";\n let localListViewProps = sessionStorage.getItem(listViewPropsStoreKey);\n if(localListViewProps){\n localListViewProps = JSON.parse(localListViewProps);\n _.each(localListViewProps, function(n,k){\n // __searchable__\u5F00\u5934\u7684\u4E0D\u5728searchableFields\u8303\u56F4\u5219\u6E05\u9664\u5176\u503C\n let isRemoved = !!removedFields.find(function(fieldName){\n return new RegExp(\"__searchable__.*\" + fieldName + \"$\").test(k);\n });\n if(isRemoved){\n delete localListViewProps[k];\n }\n });\n sessionStorage.setItem(listViewPropsStoreKey, JSON.stringify(localListViewProps));\n }\n //\u89E6\u53D1amis crud \u9AD8\u5EA6\u91CD\u7B97\n setTimeout(()=>{\n window.dispatchEvent(new Event(\"resize\"))\n }, 100)\n // ===END===\n ";return _context73.abrupt("return",{"type":"service","name":"service_listview_filter_form","data":{// "showFieldsFilter": false
|
|
319
|
+
*/function _getObjectFieldsFilterBarSchema(){_getObjectFieldsFilterBarSchema=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee73(objectSchema,ctx){var btnSearchId,filterFormSchema,keywordsSearchBoxName,onSearchScript,onCancelScript,dataProviderInited,onSearchableFieldsChangeScript;return _regeneratorRuntime().wrap(function _callee73$(_context73){while(1){switch(_context73.prev=_context73.next){case 0:if(!ctx){ctx={};}btnSearchId="btn_filter_form_search_"+new Date().getTime();_context73.next=4;return getObjectFieldsFilterFormSchema(ctx);case 4:filterFormSchema=_context73.sent;keywordsSearchBoxName=ctx.keywordsSearchBoxName||"__keywords";onSearchScript="\n // console.log(\"===onSearchScript=form==\");\n const scope = event.context.scoped;\n var filterForm = scope.parent.parent.getComponents().find(function(n){\n return n.props.type === \"form\";\n });\n filterForm.handleFormSubmit(event);\n // var filterFormValues = filterForm.getValues();\n // var listView = scope.parent.parent.parent.getComponents().find(function(n){\n // return n.props.type === \"crud\";\n // });\n // const removedValues = {};\n // // \u8BBE\u7F6E\u641C\u7D22\u9879\u4E2D\u79FB\u9664\u641C\u7D22\u9879\u540E\uFF0CfilterFormValues\u672A\u628A\u5176\u5B57\u6BB5\u7684\u7A7A\u503C\u4FDD\u5B58\u4E3Aown property\uFF0C\u5373hasOwnProperty\u5C5E\u6027\u4E2D\n // // \u8FD9\u4F1A\u9020\u6210handleFilterSubmit\u65F6\u628A\u79FB\u9664\u6389\u7684\u641C\u7D22\u9879\u5B57\u6BB5\u4E4B\u524D\u7684\u503C\u52A0\u5230\u8FC7\u6EE4\u6761\u4EF6\u4E2D\n // for(var k in filterFormValues){\n // if(filterFormValues[k] === \"\" && !filterFormValues.hasOwnProperty(k)){\n // removedValues[k] = null;\n // }\n // }\n // listView.handleFilterSubmit(Object.assign({}, removedValues, filterFormValues));\n // \u70B9\u51FB\u641C\u7D22\u7684\u65F6\u5019\u81EA\u52A8\u6536\u8D77\u641C\u7D22\u680F\n let resizeWindow = function(){\n //\u89E6\u53D1amis crud \u9AD8\u5EA6\u91CD\u7B97\n setTimeout(()=>{\n window.dispatchEvent(new Event(\"resize\"))\n }, 500);\n }\n const filterService = filterForm.context.getComponents().find(function(n){\n return n.props.type === \"service\";\n });\n let showFieldsFilter = false;\n const isMobile = window.innerWidth < 768;\n if(event.data.__from_fields_filter_settings_confirm){\n // \u5982\u679C\u662F\u4ECE\u8BBE\u7F6E\u641C\u7D22\u9879\u70B9\u51FB\u786E\u8BA4\u6309\u94AE\u89E6\u53D1\u7684\u641C\u7D22\u4E8B\u4EF6\u4E0D\u5E94\u8BE5\u81EA\u52A8\u5173\u95ED\u641C\u7D22\u680F\n showFieldsFilter = true;\n }\n else if(isMobile){\n // \u5982\u679C\u662F\u624B\u673A\u7AEF\uFF0C\u70B9\u51FB\u641C\u7D22\u540E\u81EA\u52A8\u5173\u95ED\u641C\u7D22\u680F\n showFieldsFilter = false;\n }\n else if(event.data.displayAs === \"split\") {\n // PC\u4E0A\u5206\u680F\u6A21\u5F0F\u4E0B\u7684\u5217\u8868\uFF0C\u59CB\u7EC8\u6309\u624B\u673A\u4E0A\u6548\u679C\u5904\u7406\uFF0C\u5373\u81EA\u52A8\u5173\u95ED\u641C\u7D22\u680F\n showFieldsFilter = false;\n }\n else if(window.innerHeight >= 1200){\n // \u9AD8\u5206\u8FA8\u7387\u5C4F\u5E55\uFF082k+\uFF09\uFF0C\u5217\u8868\u9AD8\u5EA6\u6BD4\u8F83\u9AD8\uFF0C\u6CA1\u5FC5\u8981\u81EA\u52A8\u5173\u95ED\u641C\u7D22\u680F\n showFieldsFilter = true;\n }\n filterService.setData({showFieldsFilter});\n // resizeWindow();//\u5DF2\u8FC1\u79FB\u5230\u641C\u7D22\u680F\u8868\u5355\u63D0\u4EA4\u4E8B\u4EF6\u4E2D\u6267\u884C\uFF0C\u56E0\u4E3A\u8868\u5355\u9879change\u540E\u4E5F\u4F1A\u89E6\u53D1\u8868\u5355\u63D0\u4EA4\u4E86\n // \u4F7F\u7528filterForm.getValues()\u7684\u8BDD\uFF0C\u5E76\u4E0D\u80FD\u62FF\u5230\u672C\u5730\u5B58\u50A8\u4E2D\u7684\u8FC7\u6EE4\u6761\u4EF6\uFF0C\u6240\u4EE5\u9700\u8981\u4ECEevent.data\u4E2D\u53D6\u3002\n let filterFormValues = event.data;\n let isFieldsFilterEmpty = SteedosUI.isFilterFormValuesEmpty(filterFormValues);\n let crud = SteedosUI.getClosestAmisComponentByType(scope, \"crud\");\n let crudService = crud && SteedosUI.getClosestAmisComponentByType(crud.context, \"service\");\n crudService && crudService.setData({isFieldsFilterEmpty, showFieldsFilter});\n ";onCancelScript="\n // console.log(\"===onCancelScript=form==\");\n let isLookup = event.data.isLookup;\n let __lookupField = event.data.__lookupField;\n const scope = event.context.scoped;\n var filterForm = scope.parent.parent.getComponents().find(function(n){\n return n.props.type === \"form\";\n });\n var filterFormValues = filterForm.getValues();\n let crud = SteedosUI.getClosestAmisComponentByType(scope, \"crud\");\n const removedValues = {};\n for(var k in filterFormValues){\n if(/^__searchable__/.test(k)){\n removedValues[k] = null;\n }\n }\n if(!event.data.isLookup){\n // \u5237\u65B0\u6D4F\u89C8\u5668\u540E\uFF0CfilterFormValues\u503C\u662F\u7A7A\u7684\uFF0C\u53EA\u80FD\u4ECE\u672C\u5730\u5B58\u50A8\u4E2D\u53D6\u51FA\u5E76\u91CD\u7F6E\u4E3A\u7A7A\u503C\n const listName = event.data.listName;\n const listViewPropsStoreKey = location.pathname + \"/crud\";\n let localListViewProps = sessionStorage.getItem(listViewPropsStoreKey);\n if(localListViewProps){\n localListViewProps = JSON.parse(localListViewProps);\n for(var k in localListViewProps){\n if(/^__searchable__/.test(k)){\n removedValues[k] = null;\n }\n }\n }\n }\n else{\n const keywordsSearchBoxName = \"".concat(keywordsSearchBoxName,"\";\n //lookup\u5B57\u6BB5\u4FDD\u7559\u5FEB\u901F\u641C\u7D22\u6761\u4EF6\n removedValues[keywordsSearchBoxName] = filterFormValues[keywordsSearchBoxName];\n }\n filterForm.setValues(removedValues);//\u4F1A\u628A\u8868\u5355\u63D0\u4EA4\u5230toolbar\u7684\u5FEB\u901F\u641C\u7D22\u533A\u57DF\uFF0C\u9020\u6210\u5728\u5FEB\u901F\u641C\u7D22\u6846\u4E2D\u89E6\u53D1\u641C\u7D22\u65F6\u518D\u6B21\u628A\u641C\u7D22\u8868\u5355\u4E2D\u7684\u5B57\u6BB5\u503C\u6E05\u9664\u6389\u7684bug\uFF0C\u5DF2\u5355\u72EC\u5728\u5FEB\u901F\u641C\u7D22\u6846\u90A3\u8FB9\u6DFB\u52A0\u641C\u7D22\u4E8B\u4EF6\u4EE3\u7801\u5904\u7406\u8FC7\u4E86\n // \u4EE5\u4E0B\u65B9\u6CD5\u90FD\u65E0\u6CD5\u5B9E\u73B0\u6E05\u9664\u8868\u5355\u503C\n // filterForm.setValues({}, true)\n // filterForm.reset();\n // filterForm.handleAction({},{\n // \"actionType\": \"setValue\",\n // \"args\": {\n // \"value\": removedValues\n // }\n // });\n // \u4E0B\u9762\u89E6\u53D1clear\u52A8\u4F5C\u53EF\u4EE5\u6E05\u9664\u8868\u5355\u503C\uFF0C\u4E14\u4E0D\u4F1A\u628A\u8868\u5355\u63D0\u4EA4\u5230toolbar\u7684\u5FEB\u901F\u641C\u7D22\u533A\u57DF\uFF0C\u4F46\u662F\u4F1A\u628A\u91D1\u989D\u7B49\u8303\u56F4\u5B57\u6BB5\u6E05\u7A7A\u6210\u975E\u8303\u56F4\u5B57\u6BB5\n // filterForm.handleAction({},{\n // \"actionType\": \"clear\"\n // });\n\n // \u6E05\u9664__changedFilterFormValues\u4E2D\u7684\u503C\n // crud && crud.setData({__changedFilterFormValues: {}});\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 if(crud){\n let crudData = crud.getData();\n crudData[__changedFilterFormValuesKey] = {};\n crud.setData(crudData);\n }\n filterForm.handleFormSubmit(event);\n // crud.handleFilterSubmit(removedValues);\n\n let filterFormService = SteedosUI.getClosestAmisComponentByType(filterForm.context, \"service\");\n filterFormService.setData({showFieldsFilter: !!!filterFormService.props.data.showFieldsFilter});\n //\u89E6\u53D1amis crud \u9AD8\u5EA6\u91CD\u7B97\n setTimeout(()=>{\n window.dispatchEvent(new Event(\"resize\"))\n }, 100);\n // \u79FB\u9664\u641C\u7D22\u6309\u94AE\u4E0A\u7684\u7EA2\u70B9\n // let crudService = scope.getComponentById(\"service_listview_\" + event.data.objectName);\n let crudService = crud && SteedosUI.getClosestAmisComponentByType(crud.context, \"service\");\n crudService && crudService.setData({isFieldsFilterEmpty: true, showFieldsFilter: false});\n ");dataProviderInited="\n const objectName = data.objectName;\n const isLookup = data.isLookup;\n const listName = data.listName;\n let searchableFieldsStoreKey = location.pathname + \"/searchable_fields\";\n if(isLookup){\n searchableFieldsStoreKey += \"/lookup/\" + objectName;\n }\n searchableFieldsStoreKey = searchableFieldsStoreKey + \"/\" + (data.context && data.context.userId);\n let defaultSearchableFields = localStorage.getItem(searchableFieldsStoreKey);\n if(defaultSearchableFields){\n defaultSearchableFields = defaultSearchableFields.split(\",\");\n }\n if(_.isEmpty(defaultSearchableFields) && data.uiSchema){\n let listView = data.uiSchema.list_views[data.listName];\n const sFields = listView && listView.searchable_fields;\n if(sFields && sFields.length){\n defaultSearchableFields = _.map(sFields, 'field');\n }\n }\n if(_.isEmpty(defaultSearchableFields) && data.uiSchema){\n defaultSearchableFields = _.map(\n _.sortBy(_.filter(_.values(data.uiSchema.fields), (field) => {\n return field.filterable;\n }), \"sort_no\"),\n \"name\"\n );\n }\n setData({ filterFormSearchableFields: defaultSearchableFields });\n if(isLookup){\n // looup\u5B57\u6BB5\u8FC7\u6EE4\u5668\u4E0D\u5728\u672C\u5730\u7F13\u5B58\u8BB0\u4F4F\u8FC7\u6EE4\u6761\u4EF6\uFF0C\u6240\u4EE5\u521D\u59CB\u59CB\u7EC8\u9690\u85CF\u8FC7\u6EE4\u5668\n setData({ showFieldsFilter: false });\n }\n else{\n const listViewPropsStoreKey = location.pathname + \"/crud\";\n let localListViewProps = sessionStorage.getItem(listViewPropsStoreKey);\n if(localListViewProps){\n localListViewProps = JSON.parse(localListViewProps);\n let filterFormValues = _.pickBy(localListViewProps, function(n,k){\n return /^__searchable__/g.test(k);\n });\n if(!_.isEmpty(filterFormValues)){\n setData({ ...filterFormValues });\n const omitedEmptyFormValue = _.omitBy(filterFormValues, function(n){\n return _.isNil(n) \n || (_.isObject(n) && _.isEmpty(n)) \n || (_.isArray(n) && _.isEmpty(n.filter(function(item){return !_.isNil(item)})))\n || (_.isString(n) && n.length === 0);\n });\n // \u6709\u8FC7\u6EE4\u6761\u4EF6\u65F6\u53EA\u663E\u793A\u641C\u7D22\u6309\u94AE\u4E0A\u7684\u7EA2\u70B9\uFF0C\u4E0D\u81EA\u52A8\u5C55\u5F00\u641C\u7D22\u680F\n if(!_.isEmpty(omitedEmptyFormValue)){\n let crudService = SteedosUI.getRef(data.$scopeId).parent.getComponentById(\"service_listview_\" + data.objectName)\n crudService && crudService.setData({isFieldsFilterEmpty: false});\n // setData({ showFieldsFilter: true });//\u81EA\u52A8\u5C55\u5F00\u641C\u7D22\u680F\n }\n }\n }\n }\n ";onSearchableFieldsChangeScript="\n const data = context.props.data;\n const listName = data.listName;\n const objectName = data.objectName;\n const isLookup = data.isLookup;\n const value = data.fields;\n const scope = event.context.scoped;\n // \u8FD9\u91CC\u7684filterForm\u4E0D\u662Fname\u4E3A\"listview-filter-form\"\u7684\u5185\u90E8form\uFF0C\u800C\u662Fcrud\u81EA\u5E26\u7684filter form\n const filterForm = scope.parent.parent.getComponents().find(function(n){\n return n.props.type === \"form\";\n });\n const filterService = filterForm.context.getComponents().find(function(n){\n return n.props.type === \"service\";\n });\n filterService.setData({ filterFormSearchableFields: value });\n let searchableFieldsStoreKey = location.pathname + \"/searchable_fields\";\n if(isLookup){\n searchableFieldsStoreKey += \"/lookup/\" + objectName;\n }\n searchableFieldsStoreKey = searchableFieldsStoreKey + \"/\" + (data.context && data.context.userId);\n localStorage.setItem(searchableFieldsStoreKey, value);\n\n // ===START===:\u5F53\u53D8\u66F4\u53EF\u641C\u7D22\u5B57\u6BB5\u65F6\uFF0C\u5982\u679C\u88AB\u79FB\u9664\u7684\u53EF\u641C\u7D22\u5B57\u6BB5\u5728\u672C\u5730\u5B58\u50A8\u4E2D\u5DF2\u7ECF\u5B58\u5165\u8FC7\u6EE4\u6761\u4EF6\u4E2D\u5219\u5E94\u8BE5\u6E05\u9664\u672C\u5730\u5B58\u50A8\u4E2D\u76F8\u5173\u5B57\u6BB5\u7684\u8FC7\u6EE4\u6761\u4EF6\u3002\n const searchableFields = data.fields;\n let preSearchableFields = data.__super.fields;\n if(typeof preSearchableFields === \"string\"){\n preSearchableFields = preSearchableFields.split(\",\");\n }\n const removedFields = _.difference(preSearchableFields, searchableFields);\n\n // const getClosestAmisComponentByType = function (scope, type, name) {\n // // \u9012\u5F52children\u627E\u5230listview-filter-form\n // let re = scope.getComponents().find(function (n) {\n // return n.props.type === type && n.props.name === name;\n // });\n // if (re) {\n // return re;\n // }\n // else {\n // if (scope.children && scope.children.length) {\n // for (let i = 0; i < scope.children.length; i++) {\n // re = getClosestAmisComponentByType(scope.children[i], type, name);\n // if (re) {\n // break;\n // }\n // }\n // return re;\n // }\n \n // }\n // }\n // // \u8FD9\u91CC\u7B2C\u4E8C\u5C42form\u624D\u662F\u771F\u6B63\u8981\u63D0\u4EA4\u5230crud\u8FC7\u6EE4\u6761\u4EF6\u7684form\n // filterInnerForm = getClosestAmisComponentByType(filterForm.context, \"form\", \"listview-filter-form\");\n\n const filterFormValues = filterForm.getValues();\n let removedKeys = [];\n _.each(filterFormValues, function(n,k){\n // __searchable__\u5F00\u5934\u7684\u4E0D\u5728searchableFields\u8303\u56F4\u5219\u6E05\u9664\u5176\u503C\n let isRemoved = !!removedFields.find(function(fieldName){\n return new RegExp(\"__searchable__.*\" + fieldName + \"$\").test(k);\n });\n if(isRemoved){\n removedKeys.push(k);\n }\n });\n const removedValues = {};\n removedKeys.forEach(function(key){\n removedValues[key] = null;\n });\n filterForm.setValues(removedValues);//\u8FD9\u91CC\u4F7F\u7528filterInnerForm\u4E5F\u53EF\u4EE5\n\n if(isLookup){\n return;\n }\n \n // \u5217\u8868\u89C6\u56FEcrud\u652F\u6301\u672C\u5730\u7F13\u5B58\uFF0C\u6240\u4EE5\u9700\u8981\u8FDB\u4E00\u6B65\u6E05\u9664\u6D4F\u89C8\u5668\u672C\u5730\u7F13\u5B58\u91CC\u9762\u7528\u6237\u5728\u53EF\u641C\u7D22\u9879\u4E2D\u79FB\u9664\u7684\u5B57\u6BB5\u503C\n const listViewPropsStoreKey = location.pathname + \"/crud\";\n let localListViewProps = sessionStorage.getItem(listViewPropsStoreKey);\n if(localListViewProps){\n localListViewProps = JSON.parse(localListViewProps);\n _.each(localListViewProps, function(n,k){\n // __searchable__\u5F00\u5934\u7684\u4E0D\u5728searchableFields\u8303\u56F4\u5219\u6E05\u9664\u5176\u503C\n let isRemoved = !!removedFields.find(function(fieldName){\n return new RegExp(\"__searchable__.*\" + fieldName + \"$\").test(k);\n });\n if(isRemoved){\n delete localListViewProps[k];\n }\n });\n sessionStorage.setItem(listViewPropsStoreKey, JSON.stringify(localListViewProps));\n }\n //\u89E6\u53D1amis crud \u9AD8\u5EA6\u91CD\u7B97\n setTimeout(()=>{\n window.dispatchEvent(new Event(\"resize\"))\n }, 100)\n // ===END===\n ";return _context73.abrupt("return",{"type":"service","name":"service_listview_filter_form","data":{// "showFieldsFilter": false
|
|
320
320
|
// "filterFormSearchableFields": ["name"],//默认可搜索项
|
|
321
321
|
// "filterFormValues": {"__searchable__name": "xxx"},//搜索项表单值
|
|
322
322
|
// "listViewId": "${listViewId}"
|
|
@@ -422,7 +422,7 @@ reg=new RegExp('_','g');standardIcon=icon&&icon.replace(reg,'-');gridBody=[];if(
|
|
|
422
422
|
function getObjectHeaderQuickSearchBox(mainObject,fields,formFactor){var _ref11=arguments.length>3&&arguments[3]!==undefined?arguments[3]:{},_ref11$isLookup=_ref11.isLookup,isLookup=_ref11$isLookup===void 0?false:_ref11$isLookup,_ref11$keywordsSearch=_ref11.keywordsSearchBoxName,keywordsSearchBoxName=_ref11$keywordsSearch===void 0?"__keywords":_ref11$keywordsSearch;var searchableFieldsLabel=[];_.each(mainObject.fields,function(field){if(isFieldQuickSearchable(field,mainObject.NAME_FIELD_KEY)){searchableFieldsLabel.push(field.label);}});var listViewPropsStoreKey=location.pathname+"/crud";var localListViewProps=sessionStorage.getItem(listViewPropsStoreKey);var crudKeywords="";if(localListViewProps&&!isLookup){localListViewProps=JSON.parse(localListViewProps);crudKeywords=localListViewProps&&localListViewProps.__keywords||"";}var onChangeScript="\n const scope = event.context.scoped;\n let crud = SteedosUI.getClosestAmisComponentByType(scope, \"crud\");\n // let crudService = crud && SteedosUI.getClosestAmisComponentByType(crud.context, \"service\");\n let __changedSearchBoxValues = {};\n __changedSearchBoxValues[\"".concat(keywordsSearchBoxName,"\"] = event.data[\"").concat(keywordsSearchBoxName,"\"];\n // crudService && crudService.setData({__changedSearchBoxValues: __changedSearchBoxValues});\n // \u8FD9\u91CC\u4E0D\u7528crudService\u800C\u7528crud\u662F\u56E0\u4E3Alookup\u5B57\u6BB5\u5F39\u51FA\u7684\u5217\u8868\u4E2D\u7684crudService\u4E2D\u7684\u53D8\u91CF\u65E0\u6CD5\u4F20\u5165crud\u7684\u53D1\u9001\u9002\u914D\u5668\u4E2D\n // crud && crud.setData({__changedSearchBoxValues: __changedSearchBoxValues});\n if(crud){\n let crudData = crud.getData();\n crudData.__changedSearchBoxValues = __changedSearchBoxValues;\n crud.setData(crudData);\n }\n ");// onSearchScript中加上了onChangeScript中的脚本,是因为amis 3.2不能用change事件执行onChangeScript
|
|
423
423
|
// 而点击回车按键又不会触发blur事件,所以只能每次回车事件中额外再执行一次onChangeScript
|
|
424
424
|
// 等升级到amis 3.4+,blur事件换成change事件执行onChangeScript,就可以不用在onSearchScript中执行onChangeScript了
|
|
425
|
-
var onSearchScript="\n ".concat(onChangeScript,"\n\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 = \"
|
|
425
|
+
var onSearchScript="\n ".concat(onChangeScript,"\n\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 ");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+后可以重新放开
|
|
426
426
|
"clearAndSubmit":true,"searchImediately":false,"onEvent":{"search":{"actions":[{"actionType":"custom","script":onSearchScript}]},"blur":{//这里把change事件换成blur是因为amis 3.2change事件中setData会卡,升级到3.4+后就可以换回change事件
|
|
427
427
|
"actions":[{"actionType":"custom","script":onChangeScript}]}}}]};}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)
|
|
428
428
|
// console.log(`getObjectHeaderToolbar`, mainObject)
|
|
@@ -470,7 +470,7 @@ if(formFactor==='SMALL'){// return [
|
|
|
470
470
|
// "load-more",
|
|
471
471
|
// ]
|
|
472
472
|
if(options.displayAs==='split'){return["switch-per-page",{"type":"pagination","maxButtons":5,"showPageInput":false}];}else{return[// "statistics",
|
|
473
|
-
{"type":"pagination","maxButtons":5,"showPageInput":true,"layout":"total,pager,go"}];}}else{if(options&&options.isRelated){return["statistics",{"type":"pagination","maxButtons":10,"showPageInput":false}];}else{var no_pagination=mainObject.paging&&mainObject.paging.enabled===false;var is_lookup=options.isLookup;var commonConfig=["statistics",{"type":"pagination","maxButtons":10,"showPageInput":false}];if(no_pagination&&is_lookup){return commonConfig;}else{return["switch-per-page"].concat(commonConfig);}}}}function getObjectFilter(_x100,_x101,_x102){return _getObjectFilter.apply(this,arguments);}function _getObjectFilter(){_getObjectFilter=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee79(objectSchema,fields,options){var fieldsFilterBarSchema,onSubmitSuccScript,onChangeScript;return _regeneratorRuntime().wrap(function _callee79$(_context79){while(1){switch(_context79.prev=_context79.next){case 0:_context79.next=2;return getObjectListHeaderFieldsFilterBar(objectSchema,null,options);case 2:fieldsFilterBarSchema=_context79.sent;onSubmitSuccScript="\n let isLookup = event.data.isLookup;\n if(isLookup){\n return;\n }\n // \u5217\u8868\u641C\u7D22\u680F\u5B57\u6BB5\u503C\u53D8\u66F4\u540E\u7ACB\u523B\u89E6\u53D1\u63D0\u4EA4\u8868\u5355\u6267\u884Ccrud\u641C\u7D22\uFF0C\u6240\u4EE5\u8FD9\u91CC\u9700\u8981\u989D\u5916\u91CD\u7B97crud\u9AD8\u5EA6\u53CA\u7B5B\u9009\u6309\u94AE\u7EA2\u8272\u661F\u53F7\u56FE\u6807\u663E\u793A\u9690\u85CF\n let resizeWindow = function(){\n //\u89E6\u53D1amis crud \u9AD8\u5EA6\u91CD\u7B97\n setTimeout(()=>{\n window.dispatchEvent(new Event(\"resize\"))\n }, 1000);\n }\n resizeWindow();\n const scope = event.context.scoped;\n // let filterFormValues = event.data;\n let filterForm = SteedosUI.getClosestAmisComponentByType(scope, \"form\");\n let filterFormService = SteedosUI.getClosestAmisComponentByType(filterForm.context, \"service\");\n // \u4F7F\u7528event.data\u7684\u8BDD\uFF0C\u5E76\u4E0D\u80FD\u62FF\u5230\u672C\u5730\u5B58\u50A8\u4E2D\u7684\u8FC7\u6EE4\u6761\u4EF6\uFF0C\u6240\u4EE5\u9700\u8981\u4ECEfilterFormService\u4E2D\u53D6\u3002\n let filterFormValues = filterFormService.getData()\n let isFieldsFilterEmpty = SteedosUI.isFilterFormValuesEmpty(filterFormValues);\n let crud = SteedosUI.getClosestAmisComponentByType(scope, \"crud\");\n let crudService = crud && SteedosUI.getClosestAmisComponentByType(crud.context, \"service\");\n crudService && crudService.setData({isFieldsFilterEmpty});\n ";onChangeScript="\n let isLookup = event.data.isLookup;\n let __lookupField = event.data.__lookupField;\n
|
|
473
|
+
{"type":"pagination","maxButtons":5,"showPageInput":true,"layout":"total,pager,go"}];}}else{if(options&&options.isRelated){return["statistics",{"type":"pagination","maxButtons":10,"showPageInput":false}];}else{var no_pagination=mainObject.paging&&mainObject.paging.enabled===false;var is_lookup=options.isLookup;var commonConfig=["statistics",{"type":"pagination","maxButtons":10,"showPageInput":false}];if(no_pagination&&is_lookup){return commonConfig;}else{return["switch-per-page"].concat(commonConfig);}}}}function getObjectFilter(_x100,_x101,_x102){return _getObjectFilter.apply(this,arguments);}function _getObjectFilter(){_getObjectFilter=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee79(objectSchema,fields,options){var fieldsFilterBarSchema,onSubmitSuccScript,onChangeScript;return _regeneratorRuntime().wrap(function _callee79$(_context79){while(1){switch(_context79.prev=_context79.next){case 0:_context79.next=2;return getObjectListHeaderFieldsFilterBar(objectSchema,null,options);case 2:fieldsFilterBarSchema=_context79.sent;onSubmitSuccScript="\n let isLookup = event.data.isLookup;\n if(isLookup){\n return;\n }\n // \u5217\u8868\u641C\u7D22\u680F\u5B57\u6BB5\u503C\u53D8\u66F4\u540E\u7ACB\u523B\u89E6\u53D1\u63D0\u4EA4\u8868\u5355\u6267\u884Ccrud\u641C\u7D22\uFF0C\u6240\u4EE5\u8FD9\u91CC\u9700\u8981\u989D\u5916\u91CD\u7B97crud\u9AD8\u5EA6\u53CA\u7B5B\u9009\u6309\u94AE\u7EA2\u8272\u661F\u53F7\u56FE\u6807\u663E\u793A\u9690\u85CF\n let resizeWindow = function(){\n //\u89E6\u53D1amis crud \u9AD8\u5EA6\u91CD\u7B97\n setTimeout(()=>{\n window.dispatchEvent(new Event(\"resize\"))\n }, 1000);\n }\n resizeWindow();\n const scope = event.context.scoped;\n // let filterFormValues = event.data;\n let filterForm = SteedosUI.getClosestAmisComponentByType(scope, \"form\");\n let filterFormService = SteedosUI.getClosestAmisComponentByType(filterForm.context, \"service\");\n // \u4F7F\u7528event.data\u7684\u8BDD\uFF0C\u5E76\u4E0D\u80FD\u62FF\u5230\u672C\u5730\u5B58\u50A8\u4E2D\u7684\u8FC7\u6EE4\u6761\u4EF6\uFF0C\u6240\u4EE5\u9700\u8981\u4ECEfilterFormService\u4E2D\u53D6\u3002\n let filterFormValues = filterFormService.getData()\n let isFieldsFilterEmpty = SteedosUI.isFilterFormValuesEmpty(filterFormValues);\n let crud = SteedosUI.getClosestAmisComponentByType(scope, \"crud\");\n let crudService = crud && SteedosUI.getClosestAmisComponentByType(crud.context, \"service\");\n crudService && crudService.setData({isFieldsFilterEmpty});\n ";onChangeScript="\n let isLookup = event.data.isLookup;\n let __lookupField = event.data.__lookupField;\n const scope = event.context.scoped;\n // let filterFormValues = event.data;\n let filterForm = SteedosUI.getClosestAmisComponentByType(scope, \"form\");\n let filterFormService = SteedosUI.getClosestAmisComponentByType(filterForm.context, \"service\");\n // \u4F7F\u7528event.data\u7684\u8BDD\uFF0C\u5E76\u4E0D\u80FD\u62FF\u5230\u672C\u5730\u5B58\u50A8\u4E2D\u7684\u8FC7\u6EE4\u6761\u4EF6\uFF0C\u6240\u4EE5\u9700\u8981\u4ECEfilterFormService\u4E2D\u53D6\u3002\n let filterFormValues = filterFormService.getData();\n filterFormValues = JSON.parse(JSON.stringify(filterFormValues)); //\u53EA\u53D6\u5F53\u5C42\u6570\u636E\u57DF\u4E2D\u6570\u636E\uFF0C\u53BB\u9664__super\u5C42\u6570\u636E\n let crud = SteedosUI.getClosestAmisComponentByType(scope, \"crud\");\n const changedFilterFormValues = _.pickBy(filterFormValues, function(n,k){return /^__searchable__/.test(k);});;\n // let crudService = crud && SteedosUI.getClosestAmisComponentByType(crud.context, \"service\");\n // crudService && crudService.setData({__changedFilterFormValues: changedFilterFormValues});\n // \u8FD9\u91CC\u4E0D\u7528crudService\u800C\u7528crud\u662F\u56E0\u4E3Alookup\u5B57\u6BB5\u5F39\u51FA\u7684\u5217\u8868\u4E2D\u7684crudService\u4E2D\u7684\u53D8\u91CF\u65E0\u6CD5\u4F20\u5165crud\u7684\u53D1\u9001\u9002\u914D\u5668\u4E2D\n // crud && crud.setData({__changedFilterFormValues: changedFilterFormValues});\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 if(crud){\n let crudData = crud.getData();\n crudData[__changedFilterFormValuesKey] = changedFilterFormValues;\n crud.setData(crudData);\n }\n ";return _context79.abrupt("return",{"title":"","submitText":"","className":"","debug":false,"mode":"normal","wrapWithPanel":false,"body":[fieldsFilterBarSchema],"onEvent":{"submitSucc":{"actions":[{"actionType":"custom","script":onSubmitSuccScript}]},"change":{"actions":[{"actionType":"custom","script":onChangeScript}]}}});case 6:case"end":return _context79.stop();}}},_callee79);}));return _getObjectFilter.apply(this,arguments);}function getBulkActions(objectSchema){return[{"type":"button","level":"danger","label":"批量删除","actionType":"ajax","confirmText":i18next__default["default"].t('frontend_delete_many_confirm_text'),"className":"hidden","id":"batchDelete","api":getBatchDelete(objectSchema.name)}// {
|
|
474
474
|
// "label": "批量修改",
|
|
475
475
|
// "actionType": "dialog",
|
|
476
476
|
// "dialog": {
|
|
@@ -633,9 +633,9 @@ queryOptions:"filters: {__filters}, sort: \"{__sort}\""});case 3:data=_context10
|
|
|
633
633
|
filters=field.filters;if(typeof filters==="string"){filters=new Function("return ".concat(filters));filters=filters();}if(typeof filters==="function"){filters=filters(field);}data.query=data.query.replace(/,count\:.+/,"}");// 字段要根据请求参数动态生成,写死为__fields后续在发送适配器中替换
|
|
634
634
|
data.query=data.query.replace("{_id}","{{__fields}}");requestAdaptor="\n var dep = api.query.dep;\n var term = api.query.term;\n var filters;\n var objectName;\n var fields;\n var sort = \"\";\n if (dep) {\n objectName = \"".concat(refObjectName,"\";\n fields = \"_id,value:").concat(ctx.valueField,",label:").concat(ctx.labelField,",children\";\n filters = [['parent', '=', dep]];\n sort = \"").concat(ctx.sort,"\";\n }\n api.data.query = api.data.query.replace(/{__object_name}/g, objectName).replace(/{__fields}/g, fields).replace(/{__filters}/g, JSON.stringify(filters)).replace('{__sort}', sort.trim());\n return api;\n ");adaptor="\n if (api.query.dep) {\n // \u5C55\u5F00\u7EC4\u7EC7\u65F6\u624D\u9700\u8981\u6839\u636Echildren\u503C\u8BBE\u7F6Edefer\u5C5E\u6027\n const data = payload.data;\n data.options = data.options.map(function (option) {\n option.defer = !!(option.children && option.children.length);\n delete option.children;\n return option;\n });\n payload.data = data;\n }\n return payload;\n ";return _context105.abrupt("return",{"method":"post","url":getApi$2()+"&dep=${value}","requestAdaptor":requestAdaptor,"adaptor":adaptor,"data":data,"headers":{"Authorization":"Bearer ${context.tenantId},${context.authToken}"}});case 12:case"end":return _context105.stop();}}},_callee105);}));return _getDeferApi.apply(this,arguments);}function getRefListViewSort(refObject){var listView=getLookupListView(refObject);var sort="";if(listView){sort=getListViewSort(listView);}return sort;}function lookupToAmisTreeSelect(_x172,_x173,_x174){return _lookupToAmisTreeSelect.apply(this,arguments);}function _lookupToAmisTreeSelect(){_lookupToAmisTreeSelect=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee106(field,readonly,ctx){var amisSchema,refObjectConfig,onEvent;return _regeneratorRuntime().wrap(function _callee106$(_context106){while(1){switch(_context106.prev=_context106.next){case 0:if(field){_context106.next=2;break;}return _context106.abrupt("return",{});case 2:if(!ctx){ctx={};}amisSchema={"type":getAmisStaticFieldType('tree-select',readonly)};if(!readonly){_context106.next=10;break;}_context106.next=7;return getLookupTpl(field,ctx);case 7:amisSchema.tpl=_context106.sent;_context106.next=30;break;case 10:_context106.next=12;return getUISchema(ctx.objectName);case 12:refObjectConfig=_context106.sent;ctx.sort=getRefListViewSort(refObjectConfig);_context106.t0=Object;_context106.t1=amisSchema;_context106.t2=field.multiple;_context106.t3=field.searchable;_context106.next=20;return getSource(field,ctx);case 20:_context106.t4=_context106.sent;_context106.next=23;return getDeferApi(field,ctx);case 23:_context106.t5=_context106.sent;_context106.t6={"multiple":_context106.t2,"searchable":_context106.t3,"extractValue":true,"hideNodePathLabel":true,"clearable":true,"source":_context106.t4,"deferApi":_context106.t5};_context106.t0.assign.call(_context106.t0,_context106.t1,_context106.t6);if(field.multiple){// 单选时如果配置joinValues为false,清空字段值会把字段值设置为空数组,这是amis人员单选功能的bug,普通的select没有这个问题
|
|
635
635
|
Object.assign(amisSchema,{"joinValues":false});}if(typeof amisSchema.searchable!=="boolean"){amisSchema.searchable=true;}onEvent=field.onEvent;if(onEvent){amisSchema.onEvent=onEvent;}case 30:return _context106.abrupt("return",amisSchema);case 31:case"end":return _context106.stop();}}},_callee106);}));return _lookupToAmisTreeSelect.apply(this,arguments);}var getReferenceToFieldSchema=function getReferenceToFieldSchema(field,refObjectConfig){var referenceTo=field.reference_to;if(!referenceTo){return;}// 如果lookup 引用的对象未定义
|
|
636
|
-
if(!refObjectConfig)return null;var valueField=null;var valueFieldName=field.reference_to_field;if(!valueFieldName){valueFieldName=refObjectConfig.idFieldName||'_id';}if(valueFieldName==='_id'){valueField={name:'_id',label:'ID',type:'text',toggled:false};}else{valueField=refObjectConfig.fields[valueFieldName]||{name:valueFieldName};}return{objectName:referenceTo,valueField:valueField,labelField:refObjectConfig.fields[refObjectConfig.NAME_FIELD_KEY||'name'],NAME_FIELD_KEY:refObjectConfig.NAME_FIELD_KEY||'name'};};var getReferenceTo=/*#__PURE__*/function(){var _ref17=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee16(field){var referenceTo,refObjectConfig;return _regeneratorRuntime().wrap(function _callee16$(_context16){while(1){switch(_context16.prev=_context16.next){case 0:referenceTo=field.reference_to;if(referenceTo==='users'){field.reference_to='space_users';field.reference_to_field='user';}_context16.next=4;return getUISchema(field.reference_to);case 4:refObjectConfig=_context16.sent;return _context16.abrupt("return",getReferenceToFieldSchema(field,refObjectConfig));case 6:case"end":return _context16.stop();}}},_callee16);}));return function getReferenceTo(_x175){return _ref17.apply(this,arguments);};}();function getReferenceToSync(field){var referenceTo=field.reference_to;if(referenceTo==='users'){field.reference_to='space_users';field.reference_to_field='user';}var refObjectConfig=getUISchemaSync(field.reference_to);return getReferenceToFieldSchema(field,refObjectConfig);}function getLookupSapceUserTreeSchema(isMobile){var
|
|
636
|
+
if(!refObjectConfig)return null;var valueField=null;var valueFieldName=field.reference_to_field;if(!valueFieldName){valueFieldName=refObjectConfig.idFieldName||'_id';}if(valueFieldName==='_id'){valueField={name:'_id',label:'ID',type:'text',toggled:false};}else{valueField=refObjectConfig.fields[valueFieldName]||{name:valueFieldName};}return{objectName:referenceTo,valueField:valueField,labelField:refObjectConfig.fields[refObjectConfig.NAME_FIELD_KEY||'name'],NAME_FIELD_KEY:refObjectConfig.NAME_FIELD_KEY||'name'};};var getReferenceTo=/*#__PURE__*/function(){var _ref17=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee16(field){var referenceTo,refObjectConfig;return _regeneratorRuntime().wrap(function _callee16$(_context16){while(1){switch(_context16.prev=_context16.next){case 0:referenceTo=field.reference_to;if(referenceTo==='users'){field.reference_to='space_users';field.reference_to_field='user';}_context16.next=4;return getUISchema(field.reference_to);case 4:refObjectConfig=_context16.sent;return _context16.abrupt("return",getReferenceToFieldSchema(field,refObjectConfig));case 6:case"end":return _context16.stop();}}},_callee16);}));return function getReferenceTo(_x175){return _ref17.apply(this,arguments);};}();function getReferenceToSync(field){var referenceTo=field.reference_to;if(referenceTo==='users'){field.reference_to='space_users';field.reference_to_field='user';}var refObjectConfig=getUISchemaSync(field.reference_to);return getReferenceToFieldSchema(field,refObjectConfig);}function getLookupSapceUserTreeSchema(isMobile){var apiAdaptor="\n // console.log(\"===getLookupSapceUserTreeSchema===\", JSON.stringify(payload));\n const records = payload.data.options;\n let isTreeOptionsComputed = false;\n if(records.length === 1 && records[0].children){\n isTreeOptionsComputed = true;\n }\n if(isTreeOptionsComputed){\n return payload;\n }\n const treeRecords = [];\n const getChildren = (records, childrenIds) => {\n if (!childrenIds) {\n return;\n }\n const children = _.filter(records, (record) => {\n return _.includes(childrenIds, record.value)\n });\n _.each(children, (item) => {\n if (item.children) {\n item.children = getChildren(records, item.children)\n }\n })\n return children;\n }\n \n const getRoot = (records) => {\n for (var i = 0; i < records.length; i++) {\n records[i].noParent = 0;\n if (!!records[i].parent) {\n biaozhi = 1\n for (var j = 0; j < records.length; j++) {\n if (records[i].parent == records[j].value)\n biaozhi = 0;\n }\n if (biaozhi == 1) records[i].noParent = 1;\n } else records[i].noParent = 1;\n }\n }\n getRoot(records);\n console.log(records)\n \n _.each(records, (record) => {\n if (record.noParent == 1) {\n treeRecords.push(Object.assign({}, record, { children: getChildren(records, record.children) }));\n }\n });\n console.log(treeRecords)\n \n payload.data.options = treeRecords;\n return payload;\n ";var treeSchema={"type":"input-tree","className":"steedos-select-user-tree","inputClassName":"p-0","source":{"method":"post","url":"${context.rootUrl}/graphql","headers":{"Authorization":"Bearer ${context.tenantId},${context.authToken}"},"adaptor":apiAdaptor,"data":{"query":"{options:organizations(filters:[\"hidden\", \"!=\", true],sort:\"sort_no desc\"){value:_id label:name,parent,children}}"},"messages":{},"cache":300000},"onEvent":{"change":{"actions":[{"actionType":"custom","script":"\n const scope = event.context.scoped;\n var filterFormValues={\n \"__searchable__organizations_parents\":event.data.value.value\n }\n var listView = scope.parent.getComponents().find(function(n){\n return n.props.type === \"crud\";\n });\n listView.handleFilterSubmit(Object.assign({}, filterFormValues));\n "},{"actionType":"custom","script":" if(window.innerWidth < 768){ document.querySelector('.steedos-select-user-sidebar').classList.remove('steedos-select-user-sidebar-open'); }"}]}},"label":"","name":"organizations","multiple":false,"joinValues":false,"clearValueOnHidden":false,"fieldName":"organizations","hideRoot":true,"initiallyOpen":false,"extractValue":true,"onlyChildren":true,"treeContainerClassName":"no-border","showIcon":false,"enableNodePath":false,"autoCheckChildren":false,"searchable":true,"searchConfig":{"sticky":true,"placeholder":"查找部门"},"unfoldedLevel":2,"originPosition":"left-top"};var tree=[];if(isMobile){tree.push({type:"action",body:[{type:"action",body:[treeSchema],className:"h-full w-[240px]"}],className:"absolute inset-0 steedos-select-user-sidebar","onEvent":{"click":{"actions":[{"actionType":"custom","script":"document.querySelector('.steedos-select-user-sidebar').classList.remove('steedos-select-user-sidebar-open')"}]}},id:"steedos_crud_toolbar_select_user_tree"});tree.push({"type":"button","label":"组织","icon":"fa fa-sitemap","className":"bg-white p-2 rounded border-gray-300 text-gray-500","align":"left","onEvent":{"click":{"actions":[{"actionType":"custom","script":"document.querySelector('.steedos-select-user-sidebar').classList.toggle('steedos-select-user-sidebar-open')"}]}},"id":"steedos_crud_toolbar_organization_button"});}else{tree.push(treeSchema);}return tree;}function lookupToAmisPicker(_x176,_x177,_x178){return _lookupToAmisPicker.apply(this,arguments);}function _lookupToAmisPicker(){_lookupToAmisPicker=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee107(field,readonly,ctx){var _fields;var referenceTo,refObjectConfig,tableFields,searchableFields,fieldsArr,isMobile,listView,listName,fields,sort,source,depend_on,sendOn,keywordsSearchBoxName,top,pickerSchema,labelFieldName,headerToolbarItems,isAllowCreate,isCreate,isHasFilters,new_button,data;return _regeneratorRuntime().wrap(function _callee107$(_context107){while(1){switch(_context107.prev=_context107.next){case 0:_context107.next=2;return getReferenceTo(field);case 2:referenceTo=_context107.sent;if(referenceTo){_context107.next=5;break;}return _context107.abrupt("return");case 5:_context107.next=7;return getUISchema(referenceTo.objectName);case 7:refObjectConfig=_context107.sent;ctx.idFieldName=refObjectConfig.idFieldName;ctx.objectName=refObjectConfig.name;tableFields=[];searchableFields=[];fieldsArr=[];isMobile=window.innerWidth<768;listView=getLookupListView(refObjectConfig);listName=listView&&listView.name;if(listView&&listView.columns){___namespace.each(listView.columns,function(column){if(___namespace.isString(column)&&refObjectConfig.fields[column]){fieldsArr.push(refObjectConfig.fields[column]);}else if(___namespace.isObject(column)&&refObjectConfig.fields[column.field]){fieldsArr.push(Object.assign({},refObjectConfig.fields[column.field],{width:column.width,wrap:column.wrap}));}});}else{___namespace.each(refObjectConfig.fields,function(field,field_name){if(field_name!='_id'&&!field.hidden){if(!___namespace.has(field,"name")){field.name=field_name;}fieldsArr.push(field);}});// 没有视图权限时,取对象上前5个字段,按sort_no排序
|
|
637
637
|
fieldsArr=___namespace.sortBy(fieldsArr,"sort_no").slice(0,5);}___namespace.each(fieldsArr,function(field){if(!___namespace.find(tableFields,function(f){return f.name===field.name;})){tableFields.push(field);}});___namespace.each(refObjectConfig.fields,function(field){if(isFieldQuickSearchable(field,refObjectConfig.NAME_FIELD_KEY)){searchableFields.push(field.name);}});fields=(_fields={},_defineProperty(_fields,referenceTo.labelField.name,referenceTo.labelField),_defineProperty(_fields,referenceTo.valueField.name,referenceTo.valueField),_fields);___namespace.each(tableFields,function(tableField){if(!tableField.hidden){fields[tableField.name]=tableField;}});sort="";if(listView){sort=getListViewSort(listView);}_context107.next=25;return getApi(refObjectConfig,null,fields,{expand:true,alias:'rows',queryOptions:"filters: {__filters}, top: {__top}, skip: {__skip}, sort: \"{__sort}\""});case 25:source=_context107.sent;if(source.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){source.url="".concat(source.url,"?").concat(depend_on.join('&'));source.sendOn="".concat(sendOn.join(' && '));}}source.data.$term="$term";source.data.$self="$$";// field.name可能是带点的名称,比如审批王中子表字段'instances.instances_submitter',如果不替换掉点,会造成审批王表单中新建子表行时报错
|
|
638
|
-
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 = \"
|
|
638
|
+
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 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 filters.push(fieldFilters);\n }\n \n const inFilterForm = ").concat(ctx.inFilterForm,";\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 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 }\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 try{\n setTimeout(() => {\n $('.amis-dialog-widget.antd-Modal .antd-Table-content .antd-Table-table thead .antd-Table-expandBtn')[0]?.click();\n }, 600);\n }\n catch(ex){\n console.error(\"tree\u6570\u636E\u683C\u5F0F\u5C55\u5F00\u5F02\u5E38\uFF1A\", ex);\n }\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 被标记为了 名称字段. 在此处特殊处理.
|
|
639
639
|
if(refObjectConfig.name==='organizations'){labelFieldName='name';}_context107.next=40;return getTableSchema$1(tableFields,_objectSpread({labelFieldName:labelFieldName,top:top,isLookup:true},ctx));case 40:pickerSchema=_context107.sent;pickerSchema.affixHeader=false;headerToolbarItems=[];if(referenceTo.objectName==="space_users"&&field.reference_to_field==="user"){headerToolbarItems=getLookupSapceUserTreeSchema(isMobile);pickerSchema.className=pickerSchema.className||""+" steedos-select-user";}pickerSchema.headerToolbar=getObjectHeaderToolbar(refObjectConfig,fieldsArr,ctx.formFactor,{headerToolbarItems:headerToolbarItems,isLookup:true,keywordsSearchBoxName:keywordsSearchBoxName});isAllowCreate=refObjectConfig.permissions.allowCreate;isCreate=___namespace.isBoolean(field.create)?field.create:true;// lookup字段配置过滤条件就强制不显示新建按钮
|
|
640
640
|
isHasFilters=field.filters||field._filtersFunction?true:false;if(!(isAllowCreate&&isCreate&&!isHasFilters)){_context107.next=54;break;}_context107.next=51;return getSchema$5(refObjectConfig,{appId:ctx.appId,objectName:refObjectConfig.name,formFactor:ctx.formFactor});case 51:new_button=_context107.sent;new_button.align="right";// 保持快速搜索放在最左侧,新建按钮往里插,而不是push到最后
|
|
641
641
|
pickerSchema.headerToolbar.splice(pickerSchema.headerToolbar.length-1,0,new_button);case 54:pickerSchema.footerToolbar=refObjectConfig.enable_tree?[]:getObjectFooterToolbar(refObjectConfig,ctx.formFactor,{isLookup:true});if(!(ctx.filterVisible!==false)){_context107.next=59;break;}_context107.next=58;return getObjectFilter(refObjectConfig,fields,_objectSpread(_objectSpread({},ctx),{},{isLookup:true,keywordsSearchBoxName:keywordsSearchBoxName}));case 58:pickerSchema.filter=_context107.sent;case 59:pickerSchema.data=Object.assign({},pickerSchema.data,{"&":"$$","objectName":refObjectConfig.name,"uiSchema":refObjectConfig,"listName":listName,// 需要按视图取可搜索项
|
|
@@ -657,9 +657,10 @@ data.source=apiInfo;}//删除xlink:href中的rootUrl前缀,解决客户端svg
|
|
|
657
657
|
select_menuTpl="<span class='flex items-center mt-0.5'>\n <span role='img' aria-label='smile' class='anticon anticon-smile'>\n <span class='slds-icon_container slds-icon-standard-${REPLACE(icon,'_','-')}'>\n <svg class='slds-icon slds-icon_x-small' aria-hidden='true'>\n <use xlink:href='/assets/icons/standard-sprite/svg/symbols.svg#${icon}'></use>\n </svg>\n </span> \n </span>\n <span class='pl-1.5'>${label}</span>\n </span>";menuTpl="${icon ? `"+select_menuTpl+"` : label}";// TODO: 待amis修复了此bug, 就可以撤销添加menuTpl的判断。
|
|
658
658
|
if(!(isMobile&&field.multiple)){data.menuTpl=menuTpl;}if(field.multiple){data.multiple=true;data.extractValue=true;}if(!readonly){_context108.next=46;break;}_context108.next=45;return getLookupTpl(field,ctx);case 45:data.tpl=_context108.sent;case 46:return _context108.abrupt("return",data);case 47:case"end":return _context108.stop();}}},_callee108);}));return _lookupToAmisSelect.apply(this,arguments);}function getApi(_x182,_x183,_x184,_x185){return _getApi.apply(this,arguments);}function _getApi(){_getApi=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee109(object,recordId,fields,options){var data;return _regeneratorRuntime().wrap(function _callee109$(_context109){while(1){switch(_context109.prev=_context109.next){case 0:_context109.next=2;return getFindQuery(object,recordId,fields,options);case 2:data=_context109.sent;return _context109.abrupt("return",{method:"post",url:getApi$2(),data:data,headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"}});case 4:case"end":return _context109.stop();}}},_callee109);}));return _getApi.apply(this,arguments);}function lookupToAmis(_x186,_x187,_x188){return _lookupToAmis.apply(this,arguments);}function _lookupToAmis(){_lookupToAmis=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee110(field,readonly,ctx){var referenceTo,refObject,enableEnhancedLookup,amisVersion,_referenceTo$labelFie,_referenceTo$valueFie2;return _regeneratorRuntime().wrap(function _callee110$(_context110){while(1){switch(_context110.prev=_context110.next){case 0:if(!ctx){ctx={};}// console.log(`lookupToAmis====`, field, readonly, ctx)
|
|
659
659
|
if(!readonly){_context110.next=3;break;}return _context110.abrupt("return",{type:getAmisStaticFieldType('picker',readonly),tpl:getRelatedFieldTpl(field,ctx)});case 3:if(!(field.reference_to&&!___namespace.isString(field.reference_to)&&!readonly)){_context110.next=5;break;}return _context110.abrupt("return",{type:'steedos-field-lookup',field:field,readonly:readonly,ctx:ctx});case 5:_context110.next=7;return getReferenceTo(field);case 7:referenceTo=_context110.sent;if(referenceTo){_context110.next=12;break;}_context110.next=11;return lookupToAmisSelect(field,readonly,ctx);case 11:return _context110.abrupt("return",_context110.sent);case 12:if(!(referenceTo.objectName==="space_users"&&field.reference_to_field==="user")){_context110.next=18;break;}ctx=Object.assign({},ctx,{onlyDisplayLookLabel:true});if(!ctx.idsDependOn){_context110.next=18;break;}_context110.next=17;return lookupToAmisIdsPicker(field,readonly,ctx);case 17:return _context110.abrupt("return",_context110.sent);case 18:_context110.next=20;return getUISchema(referenceTo.objectName);case 20:refObject=_context110.sent;// 优先取字段中配置的enable_enhanced_lookup,字段上没配置时,才从对象上取enable_enhanced_lookup属性
|
|
660
|
-
enableEnhancedLookup=___namespace.isBoolean(field.enable_enhanced_lookup)?field.enable_enhanced_lookup:refObject.enable_enhanced_lookup;amisVersion=getComparableAmisVersion();if(amisVersion>=3.6){// amis 3.6.3
|
|
661
|
-
// amis 3.6.3
|
|
662
|
-
|
|
660
|
+
enableEnhancedLookup=___namespace.isBoolean(field.enable_enhanced_lookup)?field.enable_enhanced_lookup:refObject.enable_enhanced_lookup;amisVersion=getComparableAmisVersion();if(amisVersion>=3.6){// amis 3.6.3单选和多选的树picker都有bug(https://github.com/baidu/amis/issues/9279,https://github.com/baidu/amis/issues/9295),我们改amis源码修正了
|
|
661
|
+
// amis 3.6.3多选的下拉树组件有bug,多选树字段的选中值在编辑模式展开树时不会自动勾选树里面的节点,而是始终勾选显示在最外面的选中值选项(即defaultValueOptions),amis 3.2没有这个问题
|
|
662
|
+
// 这里强制禁用多选下拉树,统一改为弹出树,如果以后需要下拉树功能,可以把下拉树组件改为一次性加载所有树节点数据模式来跳过这个问题
|
|
663
|
+
if(!enableEnhancedLookup&&refObject.enable_tree&&field.multiple){enableEnhancedLookup=true;}}// 默认使用下拉框模式显示lookup选项,只能配置了enable_enhanced_lookup才使用弹出增强模式
|
|
663
664
|
if(!(enableEnhancedLookup==true)){_context110.next=30;break;}_context110.next=27;return lookupToAmisPicker(field,readonly,ctx);case 27:return _context110.abrupt("return",_context110.sent);case 30:if(!refObject.enable_tree){_context110.next=36;break;}_context110.next=33;return lookupToAmisTreeSelect(field,readonly,Object.assign({},ctx,{labelField:((_referenceTo$labelFie=referenceTo.labelField)===null||_referenceTo$labelFie===void 0?void 0:_referenceTo$labelFie.name)||'name',valueField:((_referenceTo$valueFie2=referenceTo.valueField)===null||_referenceTo$valueFie2===void 0?void 0:_referenceTo$valueFie2.name)||'_id',objectName:referenceTo.objectName}));case 33:return _context110.abrupt("return",_context110.sent);case 36:_context110.next=38;return lookupToAmisSelect(field,readonly,ctx);case 38:return _context110.abrupt("return",_context110.sent);case 39:case"end":return _context110.stop();}}},_callee110);}));return _lookupToAmis.apply(this,arguments);}function lookupToAmisSelectUser(_x189,_x190,_x191){return _lookupToAmisSelectUser.apply(this,arguments);}function _lookupToAmisSelectUser(){_lookupToAmisSelectUser=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee111(field,readonly,ctx){return _regeneratorRuntime().wrap(function _callee111$(_context111){while(1){switch(_context111.prev=_context111.next){case 0:return _context111.abrupt("return",getSelectUserSchema(field,readonly,ctx));case 1:case"end":return _context111.stop();}}},_callee111);}));return _lookupToAmisSelectUser.apply(this,arguments);}function lookupToAmisIdsPicker(_x192,_x193,_x194){return _lookupToAmisIdsPicker.apply(this,arguments);}function _lookupToAmisIdsPicker(){_lookupToAmisIdsPicker=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee112(field,readonly,ctx){return _regeneratorRuntime().wrap(function _callee112$(_context112){while(1){switch(_context112.prev=_context112.next){case 0:return _context112.abrupt("return",getIdsPickerSchema(field,readonly,ctx));case 1:case"end":return _context112.stop();}}},_callee112);}));return _lookupToAmisIdsPicker.apply(this,arguments);}function getIdsPickerSchema(_x195,_x196,_x197){return _getIdsPickerSchema.apply(this,arguments);}function _getIdsPickerSchema(){_getIdsPickerSchema=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee113(field,readonly,ctx){var _fields2;var referenceTo,refObjectConfig,_ctx,idsDependOn,fields,tableFields,source,listView,sort,top,pickerSchema,data;return _regeneratorRuntime().wrap(function _callee113$(_context113){while(1){switch(_context113.prev=_context113.next){case 0:if(!ctx){ctx={};}_context113.next=3;return getReferenceTo(field);case 3:referenceTo=_context113.sent;if(referenceTo){_context113.next=6;break;}return _context113.abrupt("return");case 6:_context113.next=8;return getUISchema(referenceTo.objectName);case 8:refObjectConfig=_context113.sent;_ctx=ctx,idsDependOn=_ctx.idsDependOn;fields=(_fields2={},_defineProperty(_fields2,referenceTo.labelField.name,referenceTo.labelField),_defineProperty(_fields2,referenceTo.valueField.name,referenceTo.valueField),_fields2);tableFields=[referenceTo.labelField];_context113.next=14;return getApi(refObjectConfig,null,fields,{expand:true,alias:'rows',queryOptions:"filters: {__filters}, top: {__top}, skip: {__skip}, sort: \"{__sort}\""});case 14:source=_context113.sent;source.data.$term="$term";source.data.$self="$$";if(idsDependOn&&source.url&&!ctx.inFilterForm){source.sendOn="${".concat(idsDependOn," && ").concat(idsDependOn,".length}");source.url="".concat(source.url,"&depend_on_").concat(idsDependOn,"=${").concat(idsDependOn,"|join}");}listView=getLookupListView(refObjectConfig);sort="";if(listView){sort=getListViewSort(listView);}source.requestAdaptor="\n const selfData = JSON.parse(JSON.stringify(api.data.$self));\n var filters = [];\n var pageSize = api.data.pageSize || 1000;\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 if(selfData.op === 'loadOptions' && selfData.value){\n if(selfData.value && selfData.value.indexOf(',') > 0){\n filters = [[\"").concat(referenceTo.valueField.name,"\", \"=\", selfData.value.split(',')]];\n }else{\n filters = [[\"").concat(referenceTo.valueField.name,"\", \"=\", selfData.value]];\n }\n }\n\n var ids;\n var idsDependOn = \"").concat(idsDependOn,"\";\n if(idsDependOn){\n ids = api.data.$self[idsDependOn];\n }\n if(ids && ids.length){\n filters.push([\"").concat(referenceTo.valueField.name,"\", \"=\", ids]);\n }\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 ");top=1000;pickerSchema=null;if(!(ctx.formFactor==='SMALL')){_context113.next=30;break;}_context113.next=27;return getListSchema$1(tableFields,_objectSpread(_objectSpread({top:top},ctx),{},{actions:false}));case 27:pickerSchema=_context113.sent;_context113.next=34;break;case 30:_context113.next=32;return getTableSchema$1(tableFields,_objectSpread({labelFieldName:refObjectConfig.NAME_FIELD_KEY,top:top,isLookup:true},ctx));case 32:pickerSchema=_context113.sent;pickerSchema.affixHeader=false;case 34:data={type:getAmisStaticFieldType('picker',readonly),labelField:referenceTo.labelField.name,valueField:referenceTo.valueField.name,modalMode:'dialog',source:source,// disabledOn: this._master目的是相关表新建时禁止编辑关联字段; this.relatedKey目的是相关表编辑时禁止编辑关联字段,多选字段可以编辑。
|
|
664
665
|
disabledOn:"".concat(readonly," || ( (this._master && (this._master.relatedKey ==='").concat(field.name,"')) || ((this.relatedKey ==='").concat(field.name,"') && (").concat(field.multiple," != true)) )"),size:"lg",pickerSchema:pickerSchema,joinValues:false,extractValue:true};if(field.multiple){data.multiple=true;data.extractValue=true;}if(ctx.value){data.value=ctx.value;}if(ctx.selectFirst!=undefined){data.selectFirst=ctx.selectFirst;}if(!readonly){_context113.next=42;break;}_context113.next=41;return getLookupTpl(field,ctx);case 41:data.tpl=_context113.sent;case 42:return _context113.abrupt("return",data);case 43:case"end":return _context113.stop();}}},_callee113);}));return _getIdsPickerSchema.apply(this,arguments);}if(typeof window!='undefined'){window.getReferenceTo=getReferenceTo;window.getReferenceToSync=getReferenceToSync;}/*
|
|
665
666
|
* @Author: baozhoutao@steedos.com
|
|
@@ -856,8 +857,8 @@ sectionFieldsVisibleOn=___namespace.map(___namespace.compact(___namespace.map(fi
|
|
|
856
857
|
*/function getFormBody(_x212,_x213,_x214){return _getFormBody.apply(this,arguments);}/*
|
|
857
858
|
* @Author: 殷亮辉 yinlianghui@hotoa.com
|
|
858
859
|
* @Date: 2023-11-15 09:50:22
|
|
859
|
-
* @LastEditors:
|
|
860
|
-
* @LastEditTime:
|
|
860
|
+
* @LastEditors: baozhoutao@steedos.com
|
|
861
|
+
* @LastEditTime: 2024-01-02 15:43:50
|
|
861
862
|
*/ /**
|
|
862
863
|
* @param {*} props
|
|
863
864
|
* @param {*} mode edit/new/readonly
|
|
@@ -997,7 +998,7 @@ dialogButtons=[{"type":"button","label":"新增","tooltip":"保存并新增一
|
|
|
997
998
|
// 映射到中间变量__parentForm而不是直接用&展开映射是为了避免表单中字段名与作用域中变量重名
|
|
998
999
|
// "__parentForm": "${__super.__super || {}}",
|
|
999
1000
|
// "__parentForm": mode == "new" ? "$$" : "${__super.__super || {}}",
|
|
1000
|
-
"__parentForm":mode=="new"?"$$":parentFormData,"global":"${global}","uiSchema":"${uiSchema}","index":"${index}",// "__tableItems": `\${${props.name}}`
|
|
1001
|
+
"__parentForm":mode=="new"?"$$":parentFormData,"_master":"${_master}","global":"${global}","uiSchema":"${uiSchema}","index":"${index}",// "__tableItems": `\${${props.name}}`
|
|
1001
1002
|
// 为了解决"弹出的dialog窗口中子表组件会影响页面布局界面中父作用域字段值",比如设计字段布局微页面中的设置分组功能,弹出的就是子表dialog
|
|
1002
1003
|
// 所以这里使用json|toJson转一次,断掉event.data.__tableItems与上层任用域中props.name的联系
|
|
1003
1004
|
// "__tableItems": `\${${props.name}|json|toJson}`
|