fix: Zoom window in context info field. (#286)
							parent
							
								
									5a38ada770
								
							
						
					
					
						commit
						5beca7630a
					
				|  | @ -1,7 +1,7 @@ | |||
| <template> | ||||
|   <span> | ||||
|     <el-popover | ||||
|       v-if="(contextInfo && contextInfo.isActive) || reference.zoomWindowList.length" | ||||
|       v-if="(fieldAttributes.contextInfo && fieldAttributes.contextInfo.isActive) || fieldAttributes.reference.zoomWindowList.length" | ||||
|       ref="contextInfoField" | ||||
|       placement="top" | ||||
|       width="300" | ||||
|  | @ -9,17 +9,17 @@ | |||
|     > | ||||
|       <p | ||||
|         class="pre-formatted" | ||||
|         v-html="contextInfo.messageText.msgText" | ||||
|         v-html="fieldAttributes.contextInfo.messageText.msgText" | ||||
|       /> | ||||
|       <div> | ||||
|         <span class="custom-tittle-popover"> | ||||
|           {{ name }} | ||||
|           {{ fieldAttributes.name }} | ||||
|         </span> | ||||
|         <template v-if="!isEmptyValue(help)"> | ||||
|           : {{ help }} | ||||
|         <template v-if="!isEmptyValue(fieldAttributes.help)"> | ||||
|           : {{ fieldAttributes.help }} | ||||
|         </template> | ||||
|       </div> | ||||
|       <template v-for="(zoomItem, index) in reference.zoomWindowList"> | ||||
|       <template v-for="(zoomItem, index) in fieldAttributes.reference.zoomWindowList"> | ||||
|         <el-button | ||||
|           :key="index" | ||||
|           type="text" | ||||
|  | @ -31,37 +31,22 @@ | |||
|       </template> | ||||
|     </el-popover> | ||||
|     <span v-popover:contextInfoField> | ||||
|       {{ name }} | ||||
|       {{ fieldAttributes.name }} | ||||
|     </span> | ||||
|   </span> | ||||
| </template> | ||||
| 
 | ||||
| <script> | ||||
| import { showMessage } from '@/utils/ADempiere/notification' | ||||
| import { recursiveTreeSearch } from '@/utils/ADempiere/valueUtils' | ||||
| 
 | ||||
| export default { | ||||
|   name: 'FieldContextInfo', | ||||
|   props: { | ||||
|     contextInfo: { | ||||
|     fieldAttributes: { | ||||
|       type: Object, | ||||
|       required: true | ||||
|     }, | ||||
|     reference: { | ||||
|       type: Object, | ||||
|       required: true | ||||
|     }, | ||||
|     columnName: { | ||||
|       type: String, | ||||
|       required: true | ||||
|     }, | ||||
|     name: { | ||||
|       type: String, | ||||
|       default: undefined | ||||
|     }, | ||||
|     help: { | ||||
|       type: String, | ||||
|       default: undefined | ||||
|     }, | ||||
|     fieldValue: { | ||||
|       type: [Number, String, Boolean, Array, Object, Date], | ||||
|       default: undefined | ||||
|  | @ -85,18 +70,21 @@ export default { | |||
|   methods: { | ||||
|     showMessage, | ||||
|     redirect({ window }) { | ||||
|       this.$store.dispatch('getWindowByUuid', { | ||||
|         routes: this.permissionRoutes, | ||||
|         windowUuid: window.uuid | ||||
|       const viewSearch = recursiveTreeSearch({ | ||||
|         treeData: this.permissionRoutes, | ||||
|         attributeValue: window.uuid, | ||||
|         attributeName: 'meta', | ||||
|         secondAttribute: 'uuid', | ||||
|         attributeChilds: 'children' | ||||
|       }) | ||||
|       const windowRoute = this.$store.getters.getWindowRoute(window.uuid) | ||||
|       if (windowRoute) { | ||||
| 
 | ||||
|       if (viewSearch) { | ||||
|         this.$router.push({ | ||||
|           name: windowRoute.name, | ||||
|           name: viewSearch.name, | ||||
|           query: { | ||||
|             action: 'advancedQuery', | ||||
|             tabParent: 0, | ||||
|             [this.columnName]: this.value | ||||
|             [this.fieldAttributes.columnName]: this.value | ||||
|           } | ||||
|         }) | ||||
|       } else { | ||||
|  |  | |||
|  | @ -20,12 +20,8 @@ | |||
|       <template slot="label"> | ||||
|         <field-context-info | ||||
|           v-if="(field.contextInfo && field.contextInfo.isActive) || field.reference.zoomWindowList.length" | ||||
|           :name="field.name" | ||||
|           :field-attributes="fieldAttributes" | ||||
|           :field-value="field.value" | ||||
|           :help="field.help" | ||||
|           :context-info="field.contextInfo" | ||||
|           :reference="field.reference" | ||||
|           :column-name="field.columnName" | ||||
|         /> | ||||
|         <template v-else> | ||||
|           {{ isFieldOnly() }} | ||||
|  | @ -43,17 +39,7 @@ | |||
|       <component | ||||
|         :is="componentRender" | ||||
|         :ref="field.columnName" | ||||
|         :metadata="{ | ||||
|           ...field, | ||||
|           panelType, | ||||
|           inTable, | ||||
|           isAdvancedQuery, | ||||
|           // DOM properties | ||||
|           required: isMandatory(), | ||||
|           readonly: isReadOnly(), | ||||
|           displayed: isDisplayed(), | ||||
|           disabled: !field.isActive | ||||
|         }" | ||||
|         :metadata="fieldAttributes" | ||||
|         :value-model="recordDataFields" | ||||
|       /> | ||||
|     </el-form-item> | ||||
|  | @ -63,15 +49,7 @@ | |||
|     v-else | ||||
|     key="table-template" | ||||
|     :class="classField" | ||||
|     :metadata="{ | ||||
|       ...field, | ||||
|       panelType, | ||||
|       inTable, | ||||
|       // DOM properties | ||||
|       required: isMandatory(), | ||||
|       readonly: isReadOnly(), | ||||
|       disabled: !field.isActive | ||||
|     }" | ||||
|     :metadata="fieldAttributes" | ||||
|     :value-model="recordDataFields" | ||||
|   /> | ||||
| </template> | ||||
|  | @ -144,6 +122,19 @@ export default { | |||
|     componentRender() { | ||||
|       return () => import(`@/components/ADempiere/Field/${this.field.componentPath}`) | ||||
|     }, | ||||
|     fieldAttributes() { | ||||
|       return { | ||||
|         ...this.field, | ||||
|         panelType: this.panelType, | ||||
|         inTable: this.inTable, | ||||
|         isAdvancedQuery: this.isAdvancedQuery, | ||||
|         // DOM properties | ||||
|         required: this.isMandatory(), | ||||
|         readonly: this.isReadOnly(), | ||||
|         displayed: this.isDisplayed(), | ||||
|         disabled: !this.field.isActive | ||||
|       } | ||||
|     }, | ||||
|     getWidth() { | ||||
|       return this.$store.getters.getWidthLayout | ||||
|     }, | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue
	
	 EdwinBetanc0urt
						EdwinBetanc0urt