forked from zombieFox/nightTab
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathpagelock.js
More file actions
71 lines (58 loc) · 1.2 KB
/
Copy pathpagelock.js
File metadata and controls
71 lines (58 loc) · 1.2 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
var pagelock = (function() {
var mod = {};
mod.lock = function() {
helper.setObject({
object: state.get.current(),
path: "pagelock",
newValue: true
});
};
mod.unlock = function() {
helper.setObject({
object: state.get.current(),
path: "pagelock",
newValue: false
});
};
mod.toggle = function() {
if (state.get.current().menu || state.get.current().modal || state.get.current().autoSuggest) {
mod.lock();
} else {
mod.unlock();
};
};
var render = {};
render.lock = function() {
helper.addClass(helper.e("body"), "scroll-disabled");
};
render.unlock = function() {
helper.removeClass(helper.e("body"), "scroll-disabled");
};
render.toggle = function() {
if (state.get.current().pagelock) {
render.lock();
} else {
render.unlock();
};
};
var lock = function() {
mod.lock();
render.toggle();
};
var unlock = function() {
mod.unlock();
render.unlock();
};
var toggle = function() {
mod.toggle();
render.toggle();
};
// exposed methods
return {
mod: mod,
render: render,
toggle: toggle,
lock: lock,
unlock: unlock
};
})();