// 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()); querySelector('#bar')!.onClick.listen((_) => _handleBar()); querySelector('#page')!.onClick.listen((_) => _changePage()); } String _ua() => (querySelector('#ua') as InputElement).value!.trim(); Analytics getAnalytics() { if (_analytics == null || _lastUa != _ua()) { _lastUa = _ua(); _analytics = AnalyticsHtml(_lastUa!, 'Test app', '1.0'); _analytics!.sendScreenView(window.location.pathname!); } return _analytics!; } void _handleFoo() { var analytics = getAnalytics(); analytics.sendEvent('main', 'foo'); } void _handleBar() { var analytics = getAnalytics(); analytics.sendEvent('main', 'bar'); } void _changePage() { var analytics = getAnalytics(); window.history.pushState(null, 'new page', '${++_count}.html'); analytics.sendScreenView(window.location.pathname!); }