fix: Error when logout from a Window. (#225)
							parent
							
								
									cd1c2a1b53
								
							
						
					
					
						commit
						371387dd92
					
				| 
						 | 
				
			
			@ -135,12 +135,11 @@ export const contextMixin = {
 | 
			
		|||
      return this.$store.getters.getDataRecordAndSelection(this.containerUuid).record
 | 
			
		||||
    },
 | 
			
		||||
    getDataRecord() {
 | 
			
		||||
      var record = this.getterDataRecordsAll.filter(fieldItem => {
 | 
			
		||||
      return this.getterDataRecordsAll.filter(fieldItem => {
 | 
			
		||||
        if (this.recordUuid === fieldItem.UUID) {
 | 
			
		||||
          return fieldItem
 | 
			
		||||
        }
 | 
			
		||||
      })
 | 
			
		||||
      return record
 | 
			
		||||
    },
 | 
			
		||||
    getterDataLog() {
 | 
			
		||||
      if (this.panelType === 'window') {
 | 
			
		||||
| 
						 | 
				
			
			@ -326,15 +325,25 @@ export const contextMixin = {
 | 
			
		|||
    },
 | 
			
		||||
    generateContextMenu() {
 | 
			
		||||
      this.metadataMenu = this.getterContextMenu
 | 
			
		||||
 | 
			
		||||
      // the function is broken avoiding that an error is generated when closing
 | 
			
		||||
      // session being in a window, since the store of vuex is cleaned, being
 | 
			
		||||
      // this.metadataMenu with value undefined
 | 
			
		||||
      if (this.isEmptyValue(this.metadataMenu)) {
 | 
			
		||||
        return
 | 
			
		||||
      }
 | 
			
		||||
 | 
			
		||||
      if (this.panelType === 'window') {
 | 
			
		||||
        this.$store.dispatch('getPrivateAccessFromServer', {
 | 
			
		||||
          tableName: this.$route.params.tableName,
 | 
			
		||||
          recordId: this.$route.params.recordId
 | 
			
		||||
        })
 | 
			
		||||
          .then(response => {
 | 
			
		||||
            this.$nextTick(() => {
 | 
			
		||||
              this.validatePrivateAccess(response)
 | 
			
		||||
            })
 | 
			
		||||
          .then(privateAccessResponse => {
 | 
			
		||||
            if (!this.isEmptyValue(privateAccessResponse)) {
 | 
			
		||||
              this.$nextTick(() => {
 | 
			
		||||
                this.validatePrivateAccess(privateAccessResponse)
 | 
			
		||||
              })
 | 
			
		||||
            }
 | 
			
		||||
          })
 | 
			
		||||
      }
 | 
			
		||||
      this.actions = this.metadataMenu.actions
 | 
			
		||||
| 
						 | 
				
			
			@ -605,17 +614,41 @@ export const contextMixin = {
 | 
			
		|||
        }
 | 
			
		||||
      })
 | 
			
		||||
    },
 | 
			
		||||
    validatePrivateAccess(response) {
 | 
			
		||||
      if (response.isLocked) {
 | 
			
		||||
        this.actions.find(item => item.action === 'unlockRecord').hidden = false
 | 
			
		||||
        this.actions.find(item => item.action === 'unlockRecord').tableName = response.tableName
 | 
			
		||||
        this.actions.find(item => item.action === 'unlockRecord').recordId = response.recordId
 | 
			
		||||
        this.actions.find(item => item.action === 'lockRecord').hidden = true
 | 
			
		||||
    validatePrivateAccess({ isLocked, tableName, recordId }) {
 | 
			
		||||
      if (isLocked) {
 | 
			
		||||
        this.actions = this.actions.map(actionItem => {
 | 
			
		||||
          if (actionItem.action === 'unlockRecord') {
 | 
			
		||||
            return {
 | 
			
		||||
              ...actionItem,
 | 
			
		||||
              hidden: false,
 | 
			
		||||
              tableName,
 | 
			
		||||
              recordId
 | 
			
		||||
            }
 | 
			
		||||
          } else if (actionItem.action === 'lockRecord') {
 | 
			
		||||
            return {
 | 
			
		||||
              ...actionItem,
 | 
			
		||||
              hidden: true
 | 
			
		||||
            }
 | 
			
		||||
          }
 | 
			
		||||
          return actionItem
 | 
			
		||||
        })
 | 
			
		||||
      } else {
 | 
			
		||||
        this.actions.find(item => item.action === 'lockRecord').hidden = false
 | 
			
		||||
        this.actions.find(item => item.action === 'lockRecord').tableName = response.tableName
 | 
			
		||||
        this.actions.find(item => item.action === 'lockRecord').recordId = response.recordId
 | 
			
		||||
        this.actions.find(item => item.action === 'unlockRecord').hidden = true
 | 
			
		||||
        this.actions = this.actions.map(actionItem => {
 | 
			
		||||
          if (actionItem.action === 'lockRecord') {
 | 
			
		||||
            return {
 | 
			
		||||
              ...actionItem,
 | 
			
		||||
              hidden: false,
 | 
			
		||||
              tableName,
 | 
			
		||||
              recordId
 | 
			
		||||
            }
 | 
			
		||||
          } else if (actionItem.action === 'unlockRecord') {
 | 
			
		||||
            return {
 | 
			
		||||
              ...actionItem,
 | 
			
		||||
              hidden: true
 | 
			
		||||
            }
 | 
			
		||||
          }
 | 
			
		||||
          return actionItem
 | 
			
		||||
        })
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue