Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
C
coopwire-hypothesis
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
孙灵跃 Leon Sun
coopwire-hypothesis
Commits
73aad9a8
Commit
73aad9a8
authored
Jan 10, 2013
by
Jehan
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #236 from jtremback/flat
Heatmap containerization
parents
f3b84e4b
a4230eb0
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
44 additions
and
38 deletions
+44
-38
app.scss
h/css/app.scss
+18
-12
controllers.coffee
h/js/controllers.coffee
+7
-8
heatmap.coffee
h/js/plugin/heatmap.coffee
+19
-18
No files found.
h/css/app.scss
View file @
73aad9a8
...
...
@@ -28,15 +28,6 @@ svg { -webkit-tap-highlight-color: rgba(255, 255, 255, 0); }
visibility
:
hidden
;
}
.annotator-heatmap
{
background
:
hsla
(
0
,
0
,
0
,
.1
);
border
:
solid
thin
rgba
(
$grayLighter
,
.4
);
left
:
17px
;
height
:
100%
;
position
:
fixed
;
top
:
0
;
width
:
$heatmap-width
;
}
.sliding-panels
>
li
{
...
...
@@ -48,7 +39,6 @@ svg { -webkit-tap-highlight-color: rgba(255, 255, 255, 0); }
-webkit-overflow-scrolling
:
touch
;
padding
:
1em
;
position
:
absolute
;
height
:
100%
;
left
:
0
;
right
:
0
;
...
...
@@ -82,7 +72,23 @@ svg { -webkit-tap-highlight-color: rgba(255, 255, 255, 0); }
//HEATMAP POINTERS////////////////////////////////
//HEATMAP STUFF////////////////////////////////
.annotator-heatmap
{
height
:
100%
;
position
:
fixed
;
top
:
0
;
svg
{
background
:
hsla
(
0
,
0
,
0
,
.1
);
border
:
solid
thin
rgba
(
$grayLighter
,
.4
);
left
:
17px
;
height
:
100%
;
position
:
absolute
;
top
:
0
;
width
:
$heatmap-width
;
}
}
.heatmap-pointer
{
@include
user-select
(
none
);
@include
transition-property
(
left
);
...
...
@@ -91,7 +97,7 @@ svg { -webkit-tap-highlight-color: rgba(255, 255, 255, 0); }
// color: rgb(238, 238, 238);
color
:
#666
;
left
:
0px
;
position
:
fixed
;
position
:
absolute
;
height
:
20
.1px
;
width
:
40
.1px
;
vertical-align
:
middle
;
...
...
h/js/controllers.coffee
View file @
73aad9a8
...
...
@@ -22,7 +22,6 @@ class App
{
plugins
,
provider
}
=
annotator
heatmap
=
annotator
.
plugins
.
Heatmap
heatmap
.
element
.
appendTo
$element
# Update the heatmap when the host is updated or annotations are loaded
events
=
[
'hostUpdated'
,
'annotationsLoaded'
]
for
event
in
events
...
...
@@ -36,8 +35,12 @@ class App
hl
offset
:
offset
heatmap
.
element
.
bind
'click'
,
->
$scope
.
$apply
->
$location
.
path
(
'/viewer'
).
search
(
null
).
replace
()
annotator
.
show
()
heatmap
.
subscribe
'updated'
,
=>
tabs
=
d3
.
select
(
annotator
.
element
[
0
])
tabs
=
d3
.
select
(
heatmap
.
element
[
0
])
.
selectAll
(
'div.heatmap-pointer'
)
.
data
=>
buckets
=
[]
...
...
@@ -48,10 +51,6 @@ class App
buckets
.
push
i
buckets
heatmap
.
element
.
bind
'click'
,
->
$scope
.
$apply
->
$location
.
path
(
'/viewer'
).
search
(
null
).
replace
()
annotator
.
show
()
{
highlights
,
offset
}
=
d3
.
select
(
heatmap
.
element
[
0
]).
datum
()
height
=
$
(
window
).
outerHeight
(
true
)
pad
=
height
*
.
2
...
...
@@ -92,8 +91,8 @@ class App
provider
.
setActiveHighlights
null
# Does one of a few things when a tab is clicked depending on type
.
on
'
mouseup
'
,
(
bucket
)
=>
d3
.
event
.
preventDefault
()
.
on
'
click
'
,
(
bucket
)
=>
d3
.
event
.
stopPropagation
()
search
=
$location
.
search
()
or
{}
search
.
bucket
=
bucket
...
...
h/js/plugin/heatmap.coffee
View file @
73aad9a8
...
...
@@ -5,22 +5,23 @@ class Annotator.Plugin.Heatmap extends Annotator.Plugin
# heatmap svg skeleton
html
:
"""
<svg class="annotator-heatmap"
xmlns="http://www.w3.org/2000/svg"
version="1.1">
<defs>
<linearGradient id="heatmap-gradient" x2="0" y2="100%">
</linearGradient>
<filter id="heatmap-blur">
<feGaussianBlur stdDeviation="0 2"></feGaussianBlur>
</filter>
</defs>
<rect x="0" y="0" width="100%" height="100%"
fill="url('#heatmap-gradient')"
filter="url('#heatmap-blur')" >
</rect>
</svg>
"""
<div class="annotator-heatmap">
<svg xmlns="http://www.w3.org/2000/svg"
version="1.1">
<defs>
<linearGradient id="heatmap-gradient" x2="0" y2="100%">
</linearGradient>
<filter id="heatmap-blur">
<feGaussianBlur stdDeviation="0 2"></feGaussianBlur>
</filter>
</defs>
<rect x="0" y="0" width="100%" height="100%"
fill="url('#heatmap-gradient')"
filter="url('#heatmap-blur')" >
</rect>
</svg>
</div>
"""
# buckets of annotations that overlap
buckets
:
[]
...
...
@@ -49,7 +50,7 @@ class Annotator.Plugin.Heatmap extends Annotator.Plugin
updateHeatmap
:
(
data
)
=>
return
unless
d3
?
wrapper
=
this
.
element
.
offsetParent
()
{
highlights
,
offset
}
=
data
...
...
@@ -159,7 +160,7 @@ class Annotator.Plugin.Heatmap extends Annotator.Plugin
opacity
=
d3
.
scale
.
pow
().
domain
([
0
,
max
]).
range
([.
1
,
.
6
]).
exponent
(
2
)
# d3 selections
stops
=
d3
.
select
(
@
element
[
0
]).
datum
(
data
)
# cache highlights
stops
=
d3
.
select
(
@
element
[
0
]).
datum
(
data
)
.
select
(
'#heatmap-gradient'
)
.
selectAll
(
'stop'
).
data
(
stopData
,
(
d
)
=>
d
)
stops
.
enter
().
append
(
'stop'
)
...
...
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