| Index: packages/usage/example/example.dart
|
| diff --git a/packages/usage/example/example.dart b/packages/usage/example/example.dart
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..d570341621a7fe9f6241844169dc7b9235929b1c
|
| --- /dev/null
|
| +++ b/packages/usage/example/example.dart
|
| @@ -0,0 +1,47 @@
|
| +// Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file
|
| +// for details. All rights reserved. Use of this source code is governed by a
|
| +// BSD-style license that can be found in the LICENSE file.
|
| +
|
| +/**
|
| + * A simple web app to hand-test the usage library.
|
| + */
|
| +library usage_example;
|
| +
|
| +import 'dart:html';
|
| +
|
| +import 'package:usage/usage_html.dart';
|
| +
|
| +Analytics _analytics;
|
| +String _lastUa;
|
| +int _count = 0;
|
| +
|
| +void main() {
|
| + querySelector('#foo').onClick.listen((_) => _handleFoo(getAnalytics()));
|
| + querySelector('#bar').onClick.listen((_) => _handleBar(getAnalytics()));
|
| + querySelector('#page').onClick.listen((_) => _changePage(getAnalytics()));
|
| +}
|
| +
|
| +String _ua() => (querySelector('#ua') as InputElement).value.trim();
|
| +
|
| +Analytics getAnalytics() {
|
| + if (_analytics == null || _lastUa != _ua()) {
|
| + _lastUa = _ua();
|
| + _analytics = new AnalyticsHtml(_lastUa, 'Test app', '1.0');
|
| + _analytics.sendScreenView(window.location.pathname);
|
| + }
|
| +
|
| + return _analytics;
|
| +}
|
| +
|
| +void _handleFoo(Analytics analytics) {
|
| + analytics.sendEvent('main', 'foo');
|
| +}
|
| +
|
| +void _handleBar(Analytics analytics) {
|
| + analytics.sendEvent('main', 'bar');
|
| +}
|
| +
|
| +void _changePage(Analytics analytics) {
|
| + window.history.pushState(null, 'new page', '${++_count}.html');
|
| + analytics.sendScreenView(window.location.pathname);
|
| +}
|
|
|