author | rougeronj |
Fri, 23 Jan 2015 00:43:54 +0100 | |
changeset 128 | 9f2334598088 |
parent 124 | b5697bcdbaff |
child 129 | 7181e1f28eb0 |
permissions | -rw-r--r-- |
99 | 1 |
/** |
2 |
* js/utils.js |
|
3 |
* |
|
4 |
* basic tools |
|
5 |
* |
|
6 |
*/ |
|
7 |
||
8 |
'use strict'; |
|
9 |
||
124 | 10 |
var PIXI = require('pixi'); |
11 |
var _ = require('lodash'); |
|
12 |
||
105
25ac8802c189
Improve interface + Add horizontal pianoroll to annotsvizview
rougeronj
parents:
99
diff
changeset
|
13 |
function formatTime (ts) { |
25ac8802c189
Improve interface + Add horizontal pianoroll to annotsvizview
rougeronj
parents:
99
diff
changeset
|
14 |
var hours = Math.floor( (ts/1000) / 3600 ) % 24; |
25ac8802c189
Improve interface + Add horizontal pianoroll to annotsvizview
rougeronj
parents:
99
diff
changeset
|
15 |
var minutes = Math.floor( (ts/1000) / 60 ) % 60; |
25ac8802c189
Improve interface + Add horizontal pianoroll to annotsvizview
rougeronj
parents:
99
diff
changeset
|
16 |
var seconds = Math.floor( (ts/1000) % 60); |
25ac8802c189
Improve interface + Add horizontal pianoroll to annotsvizview
rougeronj
parents:
99
diff
changeset
|
17 |
return ((hours < 10 ? '0' + hours : hours) + ':' + (minutes < 10 ? '0' + minutes : minutes) + ':' + (seconds < 10 ? '0' + seconds : seconds)); |
25ac8802c189
Improve interface + Add horizontal pianoroll to annotsvizview
rougeronj
parents:
99
diff
changeset
|
18 |
} |
25ac8802c189
Improve interface + Add horizontal pianoroll to annotsvizview
rougeronj
parents:
99
diff
changeset
|
19 |
|
119 | 20 |
function colorToHex(c) { |
21 |
var m = /rgba?\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)/.exec(c); |
|
22 |
return m ? '#' + (1 << 24 | m[1] << 16 | m[2] << 8 | m[3]).toString(16).substr(1) : c; |
|
23 |
} |
|
24 |
||
121
df6b39f962bc
Add getAnnotCategories to utils and propagate the modification to annotsvizview and annotstimeline
rougeronj
parents:
105
diff
changeset
|
25 |
function getAnnotCategories(urlCategories, annotCategories) { |
119 | 26 |
|
121
df6b39f962bc
Add getAnnotCategories to utils and propagate the modification to annotsvizview and annotstimeline
rougeronj
parents:
105
diff
changeset
|
27 |
var jsonLoader = new PIXI.JsonLoader(urlCategories, true); |
124 | 28 |
|
121
df6b39f962bc
Add getAnnotCategories to utils and propagate the modification to annotsvizview and annotstimeline
rougeronj
parents:
105
diff
changeset
|
29 |
jsonLoader.on('loaded', function(res) { |
df6b39f962bc
Add getAnnotCategories to utils and propagate the modification to annotsvizview and annotstimeline
rougeronj
parents:
105
diff
changeset
|
30 |
var data = res.target.json; |
df6b39f962bc
Add getAnnotCategories to utils and propagate the modification to annotsvizview and annotstimeline
rougeronj
parents:
105
diff
changeset
|
31 |
|
df6b39f962bc
Add getAnnotCategories to utils and propagate the modification to annotsvizview and annotstimeline
rougeronj
parents:
105
diff
changeset
|
32 |
while(annotCategories.length > 0) { |
df6b39f962bc
Add getAnnotCategories to utils and propagate the modification to annotsvizview and annotstimeline
rougeronj
parents:
105
diff
changeset
|
33 |
annotCategories.pop(); |
df6b39f962bc
Add getAnnotCategories to utils and propagate the modification to annotsvizview and annotstimeline
rougeronj
parents:
105
diff
changeset
|
34 |
} |
df6b39f962bc
Add getAnnotCategories to utils and propagate the modification to annotsvizview and annotstimeline
rougeronj
parents:
105
diff
changeset
|
35 |
|
df6b39f962bc
Add getAnnotCategories to utils and propagate the modification to annotsvizview and annotstimeline
rougeronj
parents:
105
diff
changeset
|
36 |
data.sessions.forEach(function(session) { |
df6b39f962bc
Add getAnnotCategories to utils and propagate the modification to annotsvizview and annotstimeline
rougeronj
parents:
105
diff
changeset
|
37 |
var annotCat = { |
df6b39f962bc
Add getAnnotCategories to utils and propagate the modification to annotsvizview and annotstimeline
rougeronj
parents:
105
diff
changeset
|
38 |
ts: session.start_ts === null ? new Date(0) : Date.parse(session.start_ts), |
df6b39f962bc
Add getAnnotCategories to utils and propagate the modification to annotsvizview and annotstimeline
rougeronj
parents:
105
diff
changeset
|
39 |
colors: {} |
df6b39f962bc
Add getAnnotCategories to utils and propagate the modification to annotsvizview and annotstimeline
rougeronj
parents:
105
diff
changeset
|
40 |
} |
df6b39f962bc
Add getAnnotCategories to utils and propagate the modification to annotsvizview and annotstimeline
rougeronj
parents:
105
diff
changeset
|
41 |
var categoriesJson = session.categories_json; |
df6b39f962bc
Add getAnnotCategories to utils and propagate the modification to annotsvizview and annotstimeline
rougeronj
parents:
105
diff
changeset
|
42 |
annotCat.order = categoriesJson.order; |
128
9f2334598088
add archive variable to desactivate the socket listening for the static timeLines
rougeronj
parents:
124
diff
changeset
|
43 |
if (typeof(annotCat.order['default']) === 'undefined'){ |
9f2334598088
add archive variable to desactivate the socket listening for the static timeLines
rougeronj
parents:
124
diff
changeset
|
44 |
annotCat.order.push('default'); |
9f2334598088
add archive variable to desactivate the socket listening for the static timeLines
rougeronj
parents:
124
diff
changeset
|
45 |
} |
124 | 46 |
var catList = _.clone(categoriesJson.categories); |
47 |
while(catList.length > 0) { |
|
48 |
var cat = catList.pop(); |
|
49 |
if(cat.code) { |
|
50 |
annotCat.colors[cat.code] = colorToHex(cat.color); |
|
51 |
} |
|
52 |
if(cat.subcategories) { |
|
53 |
catList = catList.concat(cat.subcategories); |
|
54 |
} |
|
55 |
} |
|
121
df6b39f962bc
Add getAnnotCategories to utils and propagate the modification to annotsvizview and annotstimeline
rougeronj
parents:
105
diff
changeset
|
56 |
categoriesJson.categories.forEach(function(cat) { |
124 | 57 |
if(cat.code) { |
58 |
annotCat.colors[cat.code] = colorToHex(cat.color); |
|
59 |
} |
|
121
df6b39f962bc
Add getAnnotCategories to utils and propagate the modification to annotsvizview and annotstimeline
rougeronj
parents:
105
diff
changeset
|
60 |
}); |
df6b39f962bc
Add getAnnotCategories to utils and propagate the modification to annotsvizview and annotstimeline
rougeronj
parents:
105
diff
changeset
|
61 |
annotCat.defaultColor = categoriesJson.defaultColor || "#536991"; |
df6b39f962bc
Add getAnnotCategories to utils and propagate the modification to annotsvizview and annotstimeline
rougeronj
parents:
105
diff
changeset
|
62 |
annotCategories.push(annotCat); |
df6b39f962bc
Add getAnnotCategories to utils and propagate the modification to annotsvizview and annotstimeline
rougeronj
parents:
105
diff
changeset
|
63 |
}); |
df6b39f962bc
Add getAnnotCategories to utils and propagate the modification to annotsvizview and annotstimeline
rougeronj
parents:
105
diff
changeset
|
64 |
}); |
124 | 65 |
|
121
df6b39f962bc
Add getAnnotCategories to utils and propagate the modification to annotsvizview and annotstimeline
rougeronj
parents:
105
diff
changeset
|
66 |
jsonLoader.load(); |
124 | 67 |
|
121
df6b39f962bc
Add getAnnotCategories to utils and propagate the modification to annotsvizview and annotstimeline
rougeronj
parents:
105
diff
changeset
|
68 |
} |
105
25ac8802c189
Improve interface + Add horizontal pianoroll to annotsvizview
rougeronj
parents:
99
diff
changeset
|
69 |
|
25ac8802c189
Improve interface + Add horizontal pianoroll to annotsvizview
rougeronj
parents:
99
diff
changeset
|
70 |
module.exports = { |
119 | 71 |
formatTime: formatTime, |
122
3b11017a76a4
Merge with e6605fecb175a2d880aa3448085f48bfcaffd29b + minor update about color pic in annostroll
rougeronj
diff
changeset
|
72 |
getAnnotCategories: getAnnotCategories, |
119 | 73 |
colorToHex: colorToHex |
99 | 74 |
}; |