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
1829f908
Commit
1829f908
authored
Oct 23, 2017
by
yann300
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
error/warning rendering fix
parent
2825901d
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
54 additions
and
30 deletions
+54
-30
renderer.js
src/app/ui/renderer.js
+54
-30
No files found.
src/app/ui/renderer.js
View file @
1829f908
...
...
@@ -76,43 +76,59 @@ function Renderer (appAPI) {
}
}
Renderer
.
prototype
.
error
=
function
(
message
,
container
,
options
)
{
/**
* format msg like error or warning,
*
* @param {String or DOMElement} message
* @param {DOMElement} container
* @param {Object} options {useSpan, noAnnotations, click:(Function), type:(warning, error), errFile, errLine, errCol}
*/
Renderer
.
prototype
.
error
=
function
(
message
,
container
,
opt
)
{
if
(
container
===
undefined
)
return
var
self
=
this
var
opt
=
options
||
{}
opt
=
opt
||
{}
var
text
if
(
typeof
message
===
'string'
)
{
text
=
message
message
=
yo
`<span>
${
message
}
</span>`
}
else
if
(
message
.
innerText
)
{
text
=
message
.
innerText
}
if
(
!
opt
.
type
)
{
opt
.
type
=
utils
.
errortype
(
message
)
opt
.
type
=
utils
.
errortype
(
text
)
}
var
$pre
if
(
opt
.
isHTML
)
{
$pre
=
$
(
opt
.
useSpan
?
'<span />'
:
'<pre />'
).
html
(
message
)
}
else
{
$pre
=
$
(
opt
.
useSpan
?
'<span />'
:
'<pre />'
).
text
(
message
)
var
errLocation
=
text
.
match
(
/^
([^
:
]
*
)
:
([
0-9
]
*
)
:
(([
0-9
]
*
)
:
)?
/
)
if
(
errLocation
)
{
errLocation
=
parseRegExError
(
errLocation
)
opt
.
errFile
=
errLocation
.
errFile
opt
.
errLine
=
errLocation
.
errLine
opt
.
errCol
=
errLocation
.
errCol
}
var
$error
=
$
(
'<div class="sol '
+
opt
.
type
+
'"><div class="close"><i class="fa fa-close"></i></div></div>'
).
prepend
(
$pre
)
container
.
append
(
$error
)
var
err
=
message
.
match
(
/^
([^
:
]
*
)
:
([
0-9
]
*
)
:
(([
0-9
]
*
)
:
)?
/
)
if
(
err
)
{
var
errFile
=
err
[
1
]
var
errLine
=
parseInt
(
err
[
2
],
10
)
-
1
var
errCol
=
err
[
4
]
?
parseInt
(
err
[
4
],
10
)
:
0
if
(
!
opt
.
noAnnotations
)
{
self
.
appAPI
.
error
(
errFile
,
{
row
:
errLine
,
column
:
errCol
,
text
:
message
,
type
:
opt
.
type
})
}
$error
.
click
(
function
(
ev
)
{
options
&&
options
.
click
?
options
.
click
(
errFile
,
errLine
,
errCol
)
:
self
.
appAPI
.
errorClick
(
errFile
,
errLine
,
errCol
)
})
}
else
if
(
options
&&
options
.
click
)
{
$error
.
click
(
function
(
ev
)
{
options
.
click
(
message
)
if
(
!
opt
.
noAnnotations
&&
errLocation
)
{
this
.
appAPI
.
error
(
errLocation
.
errFile
,
{
row
:
errLocation
.
errLine
,
column
:
errLocation
.
errCol
,
text
:
text
,
type
:
opt
.
type
})
}
var
$pre
=
$
(
opt
.
useSpan
?
'<span />'
:
'<pre />'
).
html
(
message
)
var
$error
=
$
(
yo
`<div class="sol
${
opt
.
type
}
"><div class="close"><i class="fa fa-close"></i></div></div>`
).
prepend
(
$pre
)
container
.
append
(
$error
)
$error
.
click
((
ev
)
=>
{
if
(
opt
.
errFile
&&
opt
.
errLine
)
{
this
.
appAPI
.
errorClick
(
opt
.
errFile
,
opt
.
errLine
,
opt
.
errCol
)
}
else
if
(
opt
.
click
)
{
opt
.
click
(
message
)
}
})
$error
.
find
(
'.close'
).
click
(
function
(
ev
)
{
ev
.
preventDefault
()
$error
.
remove
()
...
...
@@ -120,4 +136,12 @@ Renderer.prototype.error = function (message, container, options) {
})
}
function
parseRegExError
(
err
)
{
return
{
errFile
:
err
[
1
],
errLine
:
parseInt
(
err
[
2
],
10
)
-
1
,
errCol
:
err
[
4
]
?
parseInt
(
err
[
4
],
10
)
:
0
}
}
module
.
exports
=
Renderer
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