This repository has been archived by the owner on Jul 11, 2019. It is now read-only.
/
main.dart
64 lines (47 loc) · 1.62 KB
/
main.dart
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
import 'dart:html' as html;
import 'package:logging/logging.dart';
import 'package:console_log_handler/console_log_handler.dart';
import 'package:mdl/mdl.dart';
final Logger _logger = new Logger('layout-header-drawer-footer');
void main() {
configLogging();
scrollChecker();
registerMdl();
upgradeAllRegistered().then((_) {
});
}
void configLogging() {
hierarchicalLoggingEnabled = false; // set this to true - its part of Logging SDK
// now control the logging.
// Turn off all logging first
Logger.root.level = Level.INFO;
Logger.root.onRecord.listen(new LogConsoleHandler());
}
void scrollChecker() {
final html.HtmlElement body = html.querySelector("body");
// .wsk-layout__content section hat overflow: scroll - kein scroll event
final html.HtmlElement content = html.querySelector(".wsk-layout__content section");
final html.HtmlElement shadow = html.querySelector(".addscrollshadow");
final html.ButtonElement button = html.querySelector("#totop");
_logger.info(button);
if(content == null || shadow == null || button == null) {
return;
}
button.onClick.listen((_) {
content.scrollTop = 0;
});
content.onScroll.listen((final html.Event event) {
final int top = content.scrollTop;
print(top);
if(top > 25) {
shadow.classes.add("wsk-shadow--z2");
} else {
shadow.classes.remove("wsk-shadow--z2");
}
if(top > 100) {
body.classes.add("add-back-to-top-button");
} else {
body.classes.remove("add-back-to-top-button");
}
});
}