Commit d3abd118 authored by yann300's avatar yann300

rename _api => _component

parent 2d24d2c9
...@@ -117,7 +117,7 @@ var css = csjs` ...@@ -117,7 +117,7 @@ var css = csjs`
class App { class App {
constructor (api = {}, events = {}, opts = {}) { constructor (api = {}, events = {}, opts = {}) {
var self = this var self = this
self._api = {} self._components = {}
registry.put({api: self, name: 'app'}) registry.put({api: self, name: 'app'})
var fileStorage = new Storage('sol:') var fileStorage = new Storage('sol:')
registry.put({api: fileStorage, name: 'fileStorage'}) registry.put({api: fileStorage, name: 'fileStorage'})
...@@ -125,46 +125,45 @@ class App { ...@@ -125,46 +125,45 @@ class App {
var configStorage = new Storage('config:') var configStorage = new Storage('config:')
registry.put({api: configStorage, name: 'configStorage'}) registry.put({api: configStorage, name: 'configStorage'})
self._api.config = new Config(fileStorage) self._components.config = new Config(fileStorage)
registry.put({api: self._api.config, name: 'config'}) registry.put({api: self._components.config, name: 'config'})
executionContext.init(self._api.config) executionContext.init(self._components.config)
executionContext.listenOnLastBlock() executionContext.listenOnLastBlock()
self._api.filesProviders = {} self._components.filesProviders = {}
self._api.filesProviders['browser'] = new Browserfiles(fileStorage) self._components.filesProviders['browser'] = new Browserfiles(fileStorage)
self._api.filesProviders['config'] = new BrowserfilesTree('config', configStorage) self._components.filesProviders['config'] = new BrowserfilesTree('config', configStorage)
self._api.filesProviders['config'].init() self._components.filesProviders['config'].init()
registry.put({api: self._api.filesProviders['browser'], name: 'fileproviders/browser'}) registry.put({api: self._components.filesProviders['browser'], name: 'fileproviders/browser'})
registry.put({api: self._api.filesProviders['config'], name: 'fileproviders/config'}) registry.put({api: self._components.filesProviders['config'], name: 'fileproviders/config'})
var remixd = new Remixd() var remixd = new Remixd()
registry.put({api: remixd, name: 'remixd/config'}) registry.put({api: remixd, name: 'remixd/config'})
remixd.event.register('system', (message) => { remixd.event.register('system', (message) => {
if (message.error) toolTip(message.error) if (message.error) toolTip(message.error)
}) })
self._api.filesProviders['localhost'] = new SharedFolder(remixd) self._components.filesProviders['localhost'] = new SharedFolder(remixd)
self._api.filesProviders['swarm'] = new BasicReadOnlyExplorer('swarm') self._components.filesProviders['swarm'] = new BasicReadOnlyExplorer('swarm')
self._api.filesProviders['github'] = new BasicReadOnlyExplorer('github') self._components.filesProviders['github'] = new BasicReadOnlyExplorer('github')
self._api.filesProviders['gist'] = new NotPersistedExplorer('gist') self._components.filesProviders['gist'] = new NotPersistedExplorer('gist')
self._api.filesProviders['ipfs'] = new BasicReadOnlyExplorer('ipfs') self._components.filesProviders['ipfs'] = new BasicReadOnlyExplorer('ipfs')
registry.put({api: self._api.filesProviders['localhost'], name: 'fileproviders/localhost'}) registry.put({api: self._components.filesProviders['localhost'], name: 'fileproviders/localhost'})
registry.put({api: self._api.filesProviders['swarm'], name: 'fileproviders/swarm'}) registry.put({api: self._components.filesProviders['swarm'], name: 'fileproviders/swarm'})
registry.put({api: self._api.filesProviders['github'], name: 'fileproviders/github'}) registry.put({api: self._components.filesProviders['github'], name: 'fileproviders/github'})
registry.put({api: self._api.filesProviders['gist'], name: 'fileproviders/gist'}) registry.put({api: self._components.filesProviders['gist'], name: 'fileproviders/gist'})
registry.put({api: self._api.filesProviders['ipfs'], name: 'fileproviders/ipfs'}) registry.put({api: self._components.filesProviders['ipfs'], name: 'fileproviders/ipfs'})
registry.put({api: self._api.filesProviders, name: 'fileproviders'}) registry.put({api: self._components.filesProviders, name: 'fileproviders'})
self._view = {} self._view = {}
self._components = {}
self._components.compilerImport = new CompilerImport() self._components.compilerImport = new CompilerImport()
registry.put({api: self._components.compilerImport, name: 'compilerimport'}) registry.put({api: self._components.compilerImport, name: 'compilerimport'})
self._components.gistHandler = new GistHandler() self._components.gistHandler = new GistHandler()
self.data = { self.data = {
_layout: { _layout: {
right: { right: {
offset: self._api.config.get('right-offset') || 400, offset: self._components.config.get('right-offset') || 400,
show: true show: true
}, // @TODO: adapt sizes proportionally to browser window size }, // @TODO: adapt sizes proportionally to browser window size
left: { left: {
offset: self._api.config.get('left-offset') || 200, offset: self._components.config.get('left-offset') || 200,
show: true show: true
} }
} }
...@@ -179,7 +178,7 @@ class App { ...@@ -179,7 +178,7 @@ class App {
if (layout.show) delta = layout.offset if (layout.show) delta = layout.offset
else delta = 0 else delta = 0
} else { } else {
self._api.config.set(`${direction}-offset`, delta) self._components.config.set(`${direction}-offset`, delta)
layout.offset = delta layout.offset = delta
} }
} }
...@@ -232,7 +231,7 @@ class App { ...@@ -232,7 +231,7 @@ class App {
self._components.fileManager.saveCurrentFile() self._components.fileManager.saveCurrentFile()
self._components.editor.clearAnnotations() self._components.editor.clearAnnotations()
var currentFile = self._api.config.get('currentFile') var currentFile = self._components.config.get('currentFile')
if (currentFile) { if (currentFile) {
if (/.(.sol)$/.exec(currentFile)) { if (/.(.sol)$/.exec(currentFile)) {
// only compile *.sol file. // only compile *.sol file.
...@@ -271,7 +270,7 @@ class App { ...@@ -271,7 +270,7 @@ class App {
return return
} }
self.loadFiles(data.files, 'gist', (errorLoadingFile) => { self.loadFiles(data.files, 'gist', (errorLoadingFile) => {
if (!errorLoadingFile) self._api.filesProviders['gist'].id = gistId if (!errorLoadingFile) self._components.filesProviders['gist'].id = gistId
}) })
}) })
}) })
...@@ -281,14 +280,14 @@ class App { ...@@ -281,14 +280,14 @@ class App {
if (!fileProvider) fileProvider = 'browser' if (!fileProvider) fileProvider = 'browser'
async.each(Object.keys(filesSet), (file, callback) => { async.each(Object.keys(filesSet), (file, callback) => {
helper.createNonClashingName(file, self._api.filesProviders[fileProvider], helper.createNonClashingName(file, self._components.filesProviders[fileProvider],
(error, name) => { (error, name) => {
if (error) { if (error) {
modalDialogCustom.alert('Unexpected error loading the file ' + error) modalDialogCustom.alert('Unexpected error loading the file ' + error)
} else if (helper.checkSpecialChars(name)) { } else if (helper.checkSpecialChars(name)) {
modalDialogCustom.alert('Special characters are not allowed') modalDialogCustom.alert('Special characters are not allowed')
} else { } else {
self._api.filesProviders[fileProvider].set(name, filesSet[file].content) self._components.filesProviders[fileProvider].set(name, filesSet[file].content)
} }
callback() callback()
}) })
...@@ -305,8 +304,8 @@ class App { ...@@ -305,8 +304,8 @@ class App {
}, },
(error, content, cleanUrl, type, url) => { (error, content, cleanUrl, type, url) => {
if (!error) { if (!error) {
if (self._api.filesProviders[type]) { if (self._components.filesProviders[type]) {
self._api.filesProviders[type].addReadOnly(cleanUrl, content, url) self._components.filesProviders[type].addReadOnly(cleanUrl, content, url)
} }
cb(null, content) cb(null, content)
} else { } else {
...@@ -476,11 +475,10 @@ Please make a backup of your contracts and start using http://remix.ethereum.org ...@@ -476,11 +475,10 @@ Please make a backup of your contracts and start using http://remix.ethereum.org
this module basically listen on user input (from terminal && editor) this module basically listen on user input (from terminal && editor)
and interpret them as commands and interpret them as commands
*/ */
var cmdInterpreter = new CommandInterpreter() var cmdInterpreter = new CommandInterpreter() // @TODO: put into editorpanel
registry.put({api: cmdInterpreter, name: 'cmdinterpreter'}) registry.put({api: cmdInterpreter, name: 'cmdinterpreter'})
var config = self._api.config var config = self._components.config
var filesProviders = self._api.filesProviders
// ----------------- file manager ---------------------------- // ----------------- file manager ----------------------------
...@@ -532,13 +530,13 @@ Please make a backup of your contracts and start using http://remix.ethereum.org ...@@ -532,13 +530,13 @@ Please make a backup of your contracts and start using http://remix.ethereum.org
// insert ballot contract if there are no files available // insert ballot contract if there are no files available
if (!loadingFromGist) { if (!loadingFromGist) {
filesProviders['browser'].resolveDirectory('browser', (error, filesList) => { self._components.filesProviders['browser'].resolveDirectory('browser', (error, filesList) => {
if (error) console.error(error) if (error) console.error(error)
if (Object.keys(filesList).length === 0) { if (Object.keys(filesList).length === 0) {
if (!filesProviders['browser'].set(examples.ballot.name, examples.ballot.content)) { if (!self._components.filesProviders['browser'].set(examples.ballot.name, examples.ballot.content)) {
modalDialogCustom.alert('Failed to store example contract in browser. Remix will not work properly. Please ensure Remix has access to LocalStorage. Safari in Private mode is known not to work.') modalDialogCustom.alert('Failed to store example contract in browser. Remix will not work properly. Please ensure Remix has access to LocalStorage. Safari in Private mode is known not to work.')
} else { } else {
filesProviders['browser'].set(examples.ballot_test.name, examples.ballot_test.content) self._components.filesProviders['browser'].set(examples.ballot_test.name, examples.ballot_test.content)
} }
} }
}) })
...@@ -558,7 +556,7 @@ Please make a backup of your contracts and start using http://remix.ethereum.org ...@@ -558,7 +556,7 @@ Please make a backup of your contracts and start using http://remix.ethereum.org
var previouslyOpenedFile = config.get('currentFile') var previouslyOpenedFile = config.get('currentFile')
if (previouslyOpenedFile) { if (previouslyOpenedFile) {
filesProviders['browser'].get(previouslyOpenedFile, (error, content) => { self._components.filesProviders['browser'].get(previouslyOpenedFile, (error, content) => {
if (!error && content) { if (!error && content) {
fileManager.switchFile(previouslyOpenedFile) fileManager.switchFile(previouslyOpenedFile)
} else { } else {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment