add ensureRoot function to file-panel

pull/3094/head
yann300 7 years ago
parent 4df6cc687b
commit c09a61ef38
  1. 16
      src/app/files/file-explorer.js
  2. 10
      src/app/panels/file-panel.js

@ -383,18 +383,22 @@ function removeSubtree (files, path, isFolder) {
} }
fileExplorer.prototype.init = function () { fileExplorer.prototype.init = function () {
this.container = yo`<div></div>`
return this.container
}
fileExplorer.prototype.ensureRoot = function (cb) {
var self = this var self = this
if (self.element && cb) return cb()
self.files.resolveDirectory('/', (error, files) => { self.files.resolveDirectory('/', (error, files) => {
if (error) console.error(error) if (error) console.error(error)
var element = self.treeView.render(files) var element = self.treeView.render(files, false)
element.className = css.fileexplorer element.className = css.fileexplorer
element.events = self.events element.events = self.events
element.api = self.api element.api = self.api
setTimeout(function () { self.container.appendChild(element)
self.element.parentElement.replaceChild(element, self.element)
self.element = element self.element = element
}, 0) if (cb) cb()
}) })
self.element = yo`<div></div>`
return self.element
} }

@ -73,7 +73,7 @@ function filepanel (appAPI, filesProvider) {
</div> </div>
<div class=${css.treeviews}> <div class=${css.treeviews}>
<div class=${css.treeview}>${fileExplorer.init()}</div> <div class=${css.treeview}>${fileExplorer.init()}</div>
<div class="filesystemexplorer ${css.treeview}"></div> <div class="filesystemexplorer ${css.treeview}">${fileSystemExplorer.init()}</div>
<div class="swarmexplorer ${css.treeview}">${swarmExplorer.init()}</div> <div class="swarmexplorer ${css.treeview}">${swarmExplorer.init()}</div>
<div class="githubexplorer ${css.treeview}">${githubExplorer.init()}</div> <div class="githubexplorer ${css.treeview}">${githubExplorer.init()}</div>
<div class="gistexplorer ${css.treeview}">${gistExplorer.init()}</div> <div class="gistexplorer ${css.treeview}">${gistExplorer.init()}</div>
@ -87,7 +87,7 @@ function filepanel (appAPI, filesProvider) {
var event = new EventManager() var event = new EventManager()
self.event = event self.event = event
var element = template() var element = template()
fileExplorer.ensureRoot()
var containerFileSystem = element.querySelector('.filesystemexplorer') var containerFileSystem = element.querySelector('.filesystemexplorer')
var websocketconn = element.querySelector('.websocketconn') var websocketconn = element.querySelector('.websocketconn')
filesProvider['localhost'].remixd.event.register('connecting', (event) => { filesProvider['localhost'].remixd.event.register('connecting', (event) => {
@ -200,7 +200,6 @@ function filepanel (appAPI, filesProvider) {
* @param {String} txHash - hash of the transaction * @param {String} txHash - hash of the transaction
*/ */
function connectToLocalhost () { function connectToLocalhost () {
var container = document.querySelector('.filesystemexplorer')
if (filesProvider['localhost'].isConnected()) { if (filesProvider['localhost'].isConnected()) {
filesProvider['localhost'].close((error) => { filesProvider['localhost'].close((error) => {
if (error) console.log(error) if (error) console.log(error)
@ -213,10 +212,7 @@ function filepanel (appAPI, filesProvider) {
if (error) { if (error) {
console.log(error) console.log(error)
} else { } else {
if (fileSystemExplorer.element && container.children.length > 0) { fileSystemExplorer.ensureRoot()
container.removeChild(fileSystemExplorer.element)
}
container.appendChild(fileSystemExplorer.init())
} }
}) })
}}) }})

Loading…
Cancel
Save