"path": "packages/QZ/index.html",
"mandatory": true,
"lock": [
- 0,
- 1,
- 2,
- 3
+ "0",
+ "1",
+ "2",
+ "3"
],
"scorm": true,
}
</g>
</g>
</symbol>
+ <symbol id="lock-locked" viewBox="0 0 30 30">
+ <g>
+ <path fill="currentColor" d="M5.7,8.7c0-2.5,2.1-4.6,4.6-4.6s4.6,2.1,4.6,4.6v2.7h2.2V8.7c0-3.8-3.1-6.8-6.8-6.8S3.5,5,3.5,8.7v2.7h2.2
+ V8.7z"/>
+ <path fill="currentColor" d="M11.3,20.9l0.1,2.2c0,0.4-0.5,0.8-0.9,0.8h-0.4c-0.4,0-0.9-0.3-0.9-0.8l0.1-2.2c-0.6-0.3-1-1-1-1.7
+ c0-1.1,0.9-2,2-2s2,0.9,2,2C12.3,19.9,11.9,20.6,11.3,20.9 M19.2,13.2c0-0.4-0.4-0.8-0.8-0.8H2.3c-0.5,0-0.8,0.4-0.8,0.8l-0.3,8.4
+ c0,1.5,0.6,2.9,1.7,3.8c1.9,1.5,4.5,2.6,7.5,2.6c3.1,0,5.9-1.2,7.8-2.8c0.9-0.8,1.5-2,1.4-3.3L19.2,13.2z"/>
+ </g>
+ </symbol>
+ <symbol id="lock-unlocked" viewBox="0 0 30 30">
+ <g>
+ <path fill="currentColor" d="M11.4,21l0.1,2.2c0,0.4-0.5,0.8-0.9,0.8h-0.4c-0.4,0-0.9-0.4-0.9-0.8L9.4,21c-0.6-0.3-1-1-1-1.7
+ c0-1.1,0.9-2,2-2s2,0.9,2,2C12.5,20,12,20.7,11.4,21 M19.5,13.3c0-0.4-0.4-0.8-0.8-0.8H2.2c-0.5,0-0.8,0.4-0.9,0.8l-0.3,8.4
+ c-0.1,1.5,0.6,2.9,1.8,3.8c1.9,1.5,4.6,2.6,7.6,2.6c3.2,0,6-1.2,7.9-2.8c1-0.8,1.5-2,1.4-3.3L19.5,13.3z"/>
+ <path fill="currentColor" d="M22,2c-3.8,0-6.9,3.1-6.9,6.8v2.7h2.3V8.8c0-2.5,2.1-4.6,4.7-4.6s4.7,2.1,4.7,4.6v2.7h2.3V8.8
+ C28.9,5.1,25.8,2,22,2"/>
+ </g>
+ </symbol>
</svg>
<div id="wrapper">
<header>
<th class="c">Mandatory</th>
<th class="c">Validated</th>
<th class="c">Score</th>
+ <th></th>
</tr>
</thead>
<tbody>
var clone = $.extend(true, {}, window.savedState);
$.each(DATA.modules, function (k, v) {
var id = v.id.toString();
- var defaultState = {completion_status: 'incomplete', success_status: 'unknown', score: 0, location: '', cmi: {}};
+ var defaultState = {
+ completion_status: 'incomplete',
+ success_status: 'unknown',
+ score: 0,
+ location: '',
+ cmi: {}
+ };
if (clone[id] === undefined || clone[id] === null) {
window.savedState[id] = defaultState;
} else {
}
function initEvents() {
- $(document).on('click', '[data-id]', function () {
+ $(document).on('click', '[data-id]:not([data-lock="locked"])', function () {
openSubSCO($(this).data('id'));
return false;
});
$.each(DATA.modules, function (k, v) {
var s = window.savedState[v.id];
+ var lock = '';
+ var lockstatus = 'none';
+ var lockCol = '';
+ if (v.lock) {
+ console.log(v.lock);
+ lock = 'data-lock="';
+ lockstatus = 'unlocked';
+ lockCol = getSpriteIcon('lock-unlocked');
+ for (var i = 0; i < v.lock.length; i++) {
+ var ss = window.savedState[v.lock[i].toString()];
+ if (ss.completion_status !== 'completed' && ss.completion_status !== 'passed') {
+ lockstatus = 'locked';
+ lockCol = getSpriteIcon('lock-locked');
+ break;
+ }
+ }
+ lock += lockstatus + '"';
+ }
var score = calcScore(s);
- var tr = $('<tr data-type="' + v.type + '" data-id="' + v.id + '"><td class="i">' + getSpriteIcon('icon-' + v.type) + '</td></tr>');
+ var tr = $('<tr ' + lock + ' data-type="' + v.type + '" data-id="' + v.id + '"><td class="i">' + getSpriteIcon('icon-' + v.type) + '</td></tr>');
$('tbody').append(tr);
tr.append('<td class="t">' + v.title + '</td>');
tr.append('<td class="y">' + types[v.type] + '</td>');
tr.append('<td class="c">' + (v.mandatory ? vcheck : xcheck) + '</td>');
tr.append('<td class="c">' + (s.completion_status === 'completed' ? vcheck : xcheck) + '</td>');
tr.append('<td class="score c" data-score="' + score + '"><div>' + (score < 0 ? '-' : score + ' %') + '</div></td>');
+ tr.append('<td>' + lockCol + '</td>');
});
}
#wrapper main table th.c, #wrapper main table td.c {
text-align: center;
}
+#wrapper main table tbody tr[data-lock=locked]:hover td.t {
+ background-color: #fff;
+}
+#wrapper main table tbody tr[data-lock=locked] td {
+ opacity: 0.25;
+ cursor: not-allowed;
+}
#wrapper main table tbody tr[data-type=IN] td.t {
border-left-color: #47484e;
}
-{"version":3,"sourceRoot":"","sources":["style.sass"],"names":[],"mappings":"AAEA;EACE;;;AAEF;EACE;EACA;EACA;EACA;;;AAGF;EACE;;;AAEF;EACE;EACA;;AACA;EACE;EACA;EACA;EACA;;AACA;EACE;;AAEJ;EACE;EACA;EACA;;AAEA;EACE;EACA;;AAEJ;EACE;EACA;EACA;;;AAEJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAII;EACE,kBAvDA;;AAsDF;EACE,kBAvDA;;AAsDF;EACE,kBAvDA;;AAsDF;EACE,kBAvDA;;AAsDF;EACE,kBAvDA;;AAsDF;EACE,kBAvDA;;AAyDN;EACE;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;;AAEA;EACE;EACA;EACA;;AAEJ;EACE;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;;AAEJ;EACE;EACA;EACA;EACA;EACA;EACA;;;AAEJ;EACE;EACA;;AAGE;EACE;EACA;;AAEA;EACE;EACA;;AACA;EACE;;AAEF;EACE;;AAEF;EACE;;AAMI;EACE,mBAjIR;;AAmIQ;EACE,OApIV;;AAgIM;EACE,mBAjIR;;AAmIQ;EACE,OApIV;;AAgIM;EACE,mBAjIR;;AAmIQ;EACE,OApIV;;AAgIM;EACE,mBAjIR;;AAmIQ;EACE,OApIV;;AAgIM;EACE,mBAjIR;;AAmIQ;EACE,OApIV;;AAgIM;EACE,mBAjIR;;AAmIQ;EACE,OApIV;;AAuII;EACE;;AAGF;EACE;EACA;EACA;;AACJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAGA;EACE;EACA;EACA;EACA;EACA;EACA;;AAGJ;EACE;;;AAEZ;AACA;EACE;EACA;EACA;EACA;;AAGF;AACA;EACE;EACA;EACA;EACA;;AAGF;AACA;EACE;EACA;EACA;EACA;;AAGF;AACA;EACE;EACA;EACA;EACA;;AAGF;AACA;EACE;EACA;EACA;EACA;;AAGF;AACA;EACE;EACA;EACA;EACA","file":"style.css"}
\ No newline at end of file
+{"version":3,"sourceRoot":"","sources":["style.sass"],"names":[],"mappings":"AAEA;EACE;;;AAEF;EACE;EACA;EACA;EACA;;;AAGF;EACE;;;AAEF;EACE;EACA;;AACA;EACE;EACA;EACA;EACA;;AACA;EACE;;AAEJ;EACE;EACA;EACA;;AAEA;EACE;EACA;;AAEJ;EACE;EACA;EACA;;;AAEJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAII;EACE,kBAvDA;;AAsDF;EACE,kBAvDA;;AAsDF;EACE,kBAvDA;;AAsDF;EACE,kBAvDA;;AAsDF;EACE,kBAvDA;;AAsDF;EACE,kBAvDA;;AAyDN;EACE;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;;AAEA;EACE;EACA;EACA;;AAEJ;EACE;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;;AAEJ;EACE;EACA;EACA;EACA;EACA;EACA;;;AAEJ;EACE;EACA;;AAGE;EACE;EACA;;AAEA;EACE;EACA;;AACA;EACE;;AAEF;EACE;;AAEF;EACE;;AAMI;EACE;;AACJ;EACE;EACA;;AAIA;EACE,mBAzIR;;AA2IQ;EACE,OA5IV;;AAwIM;EACE,mBAzIR;;AA2IQ;EACE,OA5IV;;AAwIM;EACE,mBAzIR;;AA2IQ;EACE,OA5IV;;AAwIM;EACE,mBAzIR;;AA2IQ;EACE,OA5IV;;AAwIM;EACE,mBAzIR;;AA2IQ;EACE,OA5IV;;AAwIM;EACE,mBAzIR;;AA2IQ;EACE,OA5IV;;AA+II;EACE;;AAGF;EACE;EACA;EACA;;AACJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAGA;EACE;EACA;EACA;EACA;EACA;EACA;;AAGJ;EACE;;;AAEZ;AACA;EACE;EACA;EACA;EACA;;AAGF;AACA;EACE;EACA;EACA;EACA;;AAGF;AACA;EACE;EACA;EACA;EACA;;AAGF;AACA;EACE;EACA;EACA;EACA;;AAGF;AACA;EACE;EACA;EACA;EACA;;AAGF;AACA;EACE;EACA;EACA;EACA","file":"style.css"}
\ No newline at end of file
tbody
tr
+ &[data-lock="locked"]
+ &:hover
+ td.t
+ background-color: #fff
+ td
+ opacity: 0.25
+ cursor: not-allowed
+
@each $type, $color in $colors
&[data-type=#{$type}]
td.t