Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
B
baas-ide
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
JIRA
JIRA
Merge Requests
1
Merge Requests
1
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
guxukai
baas-ide
Commits
79121b69
Commit
79121b69
authored
Jun 14, 2018
by
yann300
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
add registry
parent
ca239583
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
83 additions
and
8 deletions
+83
-8
app.js
src/app.js
+2
-0
editor.js
src/app/editor/editor.js
+10
-8
registry.js
src/global/registry.js
+1
-0
module-id.js
src/module-id.js
+8
-0
registry.js
src/registry.js
+62
-0
No files found.
src/app.js
View file @
79121b69
...
...
@@ -9,6 +9,7 @@ var remixLib = require('remix-lib')
var
remixTests
=
require
(
'remix-tests'
)
var
EventManager
=
remixLib
.
EventManager
var
registry
=
require
(
'./global/registry'
)
var
UniversalDApp
=
require
(
'./universal-dapp.js'
)
var
UniversalDAppUI
=
require
(
'./universal-dapp-ui.js'
)
var
Remixd
=
require
(
'./lib/remixd'
)
...
...
@@ -293,6 +294,7 @@ Please make a backup of your contracts and start using http://remix.ethereum.org
// ----------------- Compiler -----------------
var
compiler
=
new
Compiler
(
importFileCb
)
registry
.
put
({
api
:
compiler
,
name
:
'compiler'
})
var
offsetToLineColumnConverter
=
new
OffsetToLineColumnConverter
(
compiler
.
event
)
// ----------------- UniversalDApp -----------------
...
...
src/app/editor/editor.js
View file @
79121b69
'use strict'
var
remixLib
=
require
(
'remix-lib'
)
var
EventManager
=
remixLib
.
EventManager
var
yo
=
require
(
'yo-yo'
)
var
csjs
=
require
(
'csjs-inject'
)
var
ace
=
require
(
'brace'
)
var
registry
=
require
(
'../../global/registry'
)
require
(
'brace/theme/tomorrow_night_blue'
)
...
...
@@ -65,6 +64,10 @@ document.head.appendChild(yo`
function
Editor
(
opts
=
{})
{
var
self
=
this
var
eventsName
=
[
'breakpointCleared'
,
'breakpointAdded'
,
'sessionSwitched'
,
'contentChanged'
]
// not used for legacyEvent
var
{
uid
/* api, */
,
legacyEvents
}
=
registry
.
put
({
api
:
this
,
events
:
eventsName
,
name
:
'editor'
})
self
.
event
=
legacyEvents
var
el
=
yo
`<div id="input"></div>`
var
editor
=
ace
.
edit
(
el
)
if
(
styles
.
appProperties
.
aceTheme
)
{
...
...
@@ -85,8 +88,7 @@ function Editor (opts = {}) {
el
.
className
+=
' '
+
css
[
'ace-editor'
]
el
.
editor
=
editor
// required to access the editor during tests
self
.
render
=
function
()
{
return
el
}
var
event
=
new
EventManager
()
self
.
event
=
event
var
sessions
=
{}
var
sourceAnnotations
=
[]
var
readOnlySessions
=
{}
...
...
@@ -103,14 +105,14 @@ function Editor (opts = {}) {
var
breakpoints
=
e
.
editor
.
session
.
getBreakpoints
()
for
(
var
k
in
breakpoints
)
{
if
(
k
===
row
.
toString
())
{
event
.
trigger
(
'breakpointCleared'
,
[
currentSession
,
row
])
self
.
event
.
trigger
(
'breakpointCleared'
,
[
currentSession
,
row
])
e
.
editor
.
session
.
clearBreakpoint
(
row
)
e
.
stop
()
return
}
}
self
.
setBreakpoint
(
row
)
event
.
trigger
(
'breakpointAdded'
,
[
currentSession
,
row
])
self
.
event
.
trigger
(
'breakpointAdded'
,
[
currentSession
,
row
])
e
.
stop
()
})
...
...
@@ -277,10 +279,10 @@ function Editor (opts = {}) {
// Do setup on initialisation here
editor
.
on
(
'changeSession'
,
function
()
{
event
.
trigger
(
'sessionSwitched'
,
[])
self
.
event
.
trigger
(
'sessionSwitched'
,
[])
editor
.
getSession
().
on
(
'change'
,
function
()
{
event
.
trigger
(
'contentChanged'
,
[])
self
.
event
.
trigger
(
'contentChanged'
,
[])
})
})
...
...
src/global/registry.js
0 → 100644
View file @
79121b69
module
.
exports
=
new
(
require
(
'../registry.js'
))()
src/module-id.js
0 → 100644
View file @
79121b69
module
.
exports
=
stacktrace
function
stacktrace
()
{
var
_
=
Error
.
prepareStackTrace
Error
.
prepareStackTrace
=
(
_
,
stack
)
=>
stack
var
callsites
=
new
Error
().
stack
Error
.
prepareStackTrace
=
_
return
callsites
.
slice
(
2
).
map
(
x
=>
{
return
x
.
getFunctionName
()
}).
reverse
().
join
(
'.'
)
}
src/registry.js
0 → 100644
View file @
79121b69
const
moduleID
=
require
(
'./module-id.js'
)
const
remixLib
=
require
(
'remix-lib'
)
const
EventManager
=
remixLib
.
EventManager
module
.
exports
=
class
registry
{
constructor
()
{
this
.
state
=
{}
}
put
({
api
,
events
,
name
})
{
const
serveruid
=
moduleID
()
+
'.'
+
(
name
||
''
)
console
.
log
(
'registering '
,
serveruid
)
if
(
this
.
state
[
serveruid
])
return
this
.
state
[
serveruid
]
const
server
=
{
uid
:
serveruid
,
// api: new ApiManager(api),
events
:
makeEvents
(
events
),
legacyEvents
:
api
.
event
?
api
.
event
:
new
EventManager
()
}
this
.
state
[
serveruid
]
=
{
_name
:
name
,
_api
:
api
,
_events
:
events
,
server
:
server
,
clients
:
[]
}
return
server
}
get
(
uid
)
{
const
clientuid
=
moduleID
()
const
state
=
this
.
state
[
uid
]
if
(
!
state
)
return
const
server
=
state
.
server
const
client
=
{
uid
:
clientuid
,
api
:
state
.
_api
,
events
:
server
.
events
,
legacyEvents
:
server
.
legacyEvents
}
server
.
clients
.
push
(
client
)
return
client
}
}
function
makeEvents
(
events
)
{
if
(
!
events
)
return
[]
function
update
(
name
)
{
update
[
name
]
=
new
EventManager
()
}
return
events
.
reduce
((
fn
,
x
)
=>
{
fn
[
x
]
=
new
EventManager
()
var
oldTrigger
=
fn
[
x
].
trigger
fn
[
x
].
trigger
=
(
name
,
args
)
=>
{
console
.
log
(
name
)
oldTrigger
.
call
(
fn
[
x
],
name
,
args
)
}
var
oldRegister
=
fn
[
x
].
register
fn
[
x
].
register
=
(
name
,
obj
,
fn
)
=>
{
console
.
log
(
name
)
oldRegister
.
call
(
fn
[
x
],
obj
,
fn
)
}
return
fn
},
update
)
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment