blob: cbe281113c06067dcfd812788bf287e12d08bdee [file] [log] [blame]
// Copyright (c) 2014, 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.
library navigation_bar_isolate_element;
import 'observatory_element.dart';
import 'package:polymer/polymer.dart';
@CustomTag('navigation-bar-isolate')
class NavigationBarIsolateElement extends ObservatoryElement {
NavigationBarIsolateElement.created() : super.created();
@observable List<String> links = toObservable(
[ 'Stacktrace', 'Library', 'CPU Profile']);
void appChanged(oldValue) {
super.appChanged(oldValue);
notifyPropertyChange(#currentIsolateName, '', currentIsolateName);
}
String currentIsolateName() {
if (app == null) {
return '';
}
print('Fetching name');
var isolate = app.locationManager.currentIsolate();
if (isolate == null) {
return '';
}
return isolate.name;
}
String currentIsolateLink(String link) {
if (app == null) {
return '';
}
switch (link) {
case 'Stacktrace':
return app.locationManager.currentIsolateRelativeLink('stacktrace');
case 'Library':
return app.locationManager.currentIsolateRelativeLink('library');
case 'CPU Profile':
return app.locationManager.currentIsolateRelativeLink('profile');
default:
return app.locationManager.currentIsolateRelativeLink('');
}
}
}