blob: 3d57512f8fa973fff798a5b5f4d2f0fa39746590 [file] [log] [blame]
// Copyright (c) 2011, 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.
// @dart = 2.9
part of swarmlib;
/// An informational dialog that shows keyboard shortcuts and provides a
/// link to the Dart language webpage.
//TODO(efortuna): fix DialogView so it doesn't require the HTML passed to
// the constructor.
class HelpDialog extends DialogView {
final CompositeView _parent;
final Function _doneHandler;
HelpDialog(this._parent, this._doneHandler)
: super('Information', '', makeContent());
@override
void onDone() {
_doneHandler();
}
static View makeContent() {
return View.html('''
<div>
<p>
Keyboard shortcuts:
${generateTableHtml()}
</p>
<p>
<div id="dart-logo">
<a href="http://dartlang.org">
Dart, the programming language</a>.
</div>
</p>
</div>
''');
}
static String generateTableHtml() {
String cellStart = '''<th valign="middle" align="center">''';
return '''<table width="90%" border=1 cellspacing="0" cellpadding="2">
<tr bgcolor="#c3d9ff">
$cellStart Shortcut Key </th>
$cellStart Action </th>
</tr>
<tr>
$cellStart j, &lt;down arrow&gt; </th>
$cellStart Next Article </th>
</tr>
<tr>
$cellStart k, &lt;up arrow&gt; </th>
$cellStart Previous Article </th>
</tr>
<tr>
$cellStart o, &lt;enter&gt; </th>
$cellStart Open Article </th>
</tr>
<tr>
$cellStart &lt;esc&gt;, &lt;delete&gt; </th>
$cellStart Back </th>
</tr>
<tr>
$cellStart a, h, &lt;left arrow&gt; </th>
$cellStart Left </th>
</tr>
<tr>
$cellStart d, l, &lt;right arrow&gt; </th>
$cellStart Right </th>
</tr>
<tr>
$cellStart n </th>
$cellStart Next Category </th>
</tr>
<tr>
$cellStart p </th>
$cellStart Previous Category </th>
</tr>
</table>''';
}
}