fix element

pull/1/head
yann300 7 years ago
parent 1c252bd859
commit e712036015
  1. 45
      src/app/files/file-explorer.js

@ -53,14 +53,12 @@ var css = csjs`
`
module.exports = fileExplorer
var focusElement = null
var focusPath = null
function fileExplorer (appAPI, files) {
var self = this
this.events = new EventManager()
this.files = files
this.focusElement = null
this.focusPath = null
function remixdDialog () {
return yo`<div>This file has been changed outside of Remix IDE.</div>`
}
@ -117,7 +115,18 @@ function fileExplorer (appAPI, files) {
})
self.treeView.event.register('leafClick', function (key, data, label) {
self.events.trigger('focus', [key])
if (self.focusElement) {
self.focusElement.classList.remove(css.hasFocus)
self.focusElement = null
self.focusPath = null
}
self.focusElement = self.treeView.labelAt(key)
if (self.focusElement) {
self.focusElement.classList.add(css.hasFocus)
self.focusPath = key
self.events.trigger('focus', [key])
appAPI.config.set('currentFile', key)
}
})
self.treeView.event.register('nodeClick', function (path, childrenContainer) {
@ -130,8 +139,7 @@ function fileExplorer (appAPI, files) {
if (error) console.error(error)
if (!fileTree) return
var newTree = normalize(path, fileTree)
newTree = self.treeView.renderProperties(newTree, false)
self.treeView.updateNode(path, newTree)
self.treeView.updateNodeFromJSON(path, newTree, false)
})
})
@ -145,16 +153,10 @@ function fileExplorer (appAPI, files) {
}
appAPI.event.register('currentFileChanged', (newFile, explorer) => {
if (focusElement && newFile !== focusPath) {
focusElement.classList.remove(css.hasFocus)
}
if (explorer === files) {
focusElement = self.treeView.labelAt(newFile)
if (focusElement) {
focusPath = newFile
focusElement.classList.add(css.hasFocus)
appAPI.config.set('currentFile', newFile)
}
if (self.focusElement && explorer.type !== files.type && self.focusPath !== newFile) {
self.focusElement.classList.remove(css.hasFocus)
self.focusElement = null
self.focusPath = null
}
})
fileEvents.register('fileRemoved', fileRemoved)
@ -273,8 +275,13 @@ function fileExplorer (appAPI, files) {
if (error) console.error(error)
if (!fileTree) return
fileTree = normalize(folderpath, fileTree)
var newTree = self.treeView.renderProperties(fileTree, false)
self.treeView.updateNode(folderpath, newTree)
self.treeView.updateNodeFromJSON(folderpath, fileTree, false)
self.focusElement = self.treeView.labelAt(self.focusPath)
// TODO: here we update the selected file (it applicable)
// cause we are refreshing the interface of the whole directory when there's a new file.
if (self.focusElement && !self.focusElement.classList.contains(css.hasFocus)) {
self.focusElement.classList.add(css.hasFocus)
}
})
}
})

Loading…
Cancel
Save