Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(335)

Unified Diff: sky/examples/stocks2/lib/stock_app.dart

Issue 1156543004: [Effen] Fork stocks and fn.dart so we have something to work on during the porting process (Closed) Base URL: https://github.com/domokit/mojo.git@master
Patch Set: Created 5 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « sky/examples/stocks2/data/stock_data_9.json ('k') | sky/examples/stocks2/lib/stock_arrow.dart » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: sky/examples/stocks2/lib/stock_app.dart
diff --git a/sky/examples/stocks2/lib/stock_app.dart b/sky/examples/stocks2/lib/stock_app.dart
new file mode 100644
index 0000000000000000000000000000000000000000..9678b82e4563174711a74435561ea11129fb1458
--- /dev/null
+++ b/sky/examples/stocks2/lib/stock_app.dart
@@ -0,0 +1,227 @@
+// Copyright 2015 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+// import 'package:sky/framework/components/tool_bar.dart';
+// import 'package:sky/framework/components/drawer.dart';
+// import 'package:sky/framework/components/drawer_header.dart';
+// import 'package:sky/framework/components/floating_action_button.dart';
+// import 'package:sky/framework/components/icon.dart';
+// import 'package:sky/framework/components/icon_button.dart';
+// import 'package:sky/framework/components/input.dart';
+// import 'package:sky/framework/components/menu_divider.dart';
+// import 'package:sky/framework/components/menu_item.dart';
+// import 'package:sky/framework/components/modal_overlay.dart';
+// import 'package:sky/framework/components/popup_menu.dart';
+// import 'package:sky/framework/components/radio.dart';
+// import 'package:sky/framework/components/scaffold.dart';
+import 'package:sky/framework/fn2.dart';
+import 'package:sky/framework/theme/typography.dart' as typography;
+import 'package:sky/framework/theme/colors.dart';
+import 'stock_data.dart';
+// import 'stock_list.dart';
+// import 'stock_menu.dart';
+
+import 'dart:async';
+import 'package:sky/framework/layout2.dart';
+
+enum StockMode { Optimistic, Pessimistic }
+
+class StocksApp extends App {
+
+ // static final Style _toolBarStyle = new Style('''
+ // background-color: ${Purple[500]};''');
+
+ // static final Style _searchBarStyle = new Style('''
+ // background-color: ${Grey[50]};''');
+
+ // static final Style _titleStyle = new Style('''
+ // ${typography.white.title};''');
+
+ List<Stock> _stocks = [];
+
+ StocksApp() : super() {
+ // if (debug)
+ // new Timer(new Duration(seconds: 1), dumpState);
+ new StockDataFetcher((StockData data) {
+ setState(() {
+ data.appendTo(_stocks);
+ });
+ });
+ // _drawerController = new DrawerController(_handleDrawerStatusChanged);
+ }
+
+ bool _isSearching = false;
+ String _searchQuery;
+
+ void _handleSearchBegin(_) {
+ setState(() {
+ _isSearching = true;
+ });
+ }
+
+ void _handleSearchEnd(_) {
+ setState(() {
+ _isSearching = false;
+ _searchQuery = null;
+ });
+ }
+
+ void _handleSearchQueryChanged(String query) {
+ setState(() {
+ _searchQuery = query;
+ });
+ }
+
+ // DrawerController _drawerController;
+ bool _drawerShowing = false;
+
+ void _handleDrawerStatusChanged(bool showing) {
+ setState(() {
+ _drawerShowing = showing;
+ });
+ }
+
+ // PopupMenuController _menuController;
+
+ void _handleMenuShow(_) {
+ setState(() {
+ // _menuController = new PopupMenuController();
+ // _menuController.open();
+ });
+ }
+
+ void _handleMenuHide(_) {
+ setState(() {
+ // _menuController.close().then((_) {
+ // setState(() {
+ // _menuController = null;
+ // });
+ // });
+ });
+ }
+
+ bool _autorefresh = false;
+ void _handleAutorefreshChanged(bool value) {
+ setState(() {
+ _autorefresh = value;
+ });
+ }
+
+ StockMode _stockMode = StockMode.Optimistic;
+ void _handleStockModeChange(StockMode value) {
+ setState(() {
+ _stockMode = value;
+ });
+ }
+
+ // static FlexBoxParentData _flex1 = new FlexBoxParentData()..flex = 1;
+
+ // Drawer buildDrawer() {
+ // return new Drawer(
+ // controller: _drawerController,
+ // level: 3,
+ // children: [
+ // new DrawerHeader(children: [new Text('Stocks')]),
+ // new MenuItem(
+ // key: 'Stock list',
+ // icon: 'action/assessment',
+ // children: [new Text('Stock List')]),
+ // new MenuItem(
+ // key: 'Account Balance',
+ // icon: 'action/account_balance',
+ // children: [new Text('Account Balance')]),
+ // new MenuDivider(key: 'div1'),
+ // new MenuItem(
+ // key: 'Optimistic Menu Item',
+ // icon: 'action/thumb_up',
+ // onGestureTap: (event) => _handleStockModeChange(StockMode.Optimistic),
+ // children: [
+ // new ParentDataNode(new Text('Optimistic'), _flex1),
+ // new Radio(key: 'optimistic-radio', value: StockMode.Optimistic, groupValue: _stockMode, onChanged: _handleStockModeChange)
+ // ]),
+ // new MenuItem(
+ // key: 'Pessimistic Menu Item',
+ // icon: 'action/thumb_down',
+ // onGestureTap: (event) => _handleStockModeChange(StockMode.Pessimistic),
+ // children: [
+ // new ParentDataNode(new Text('Pessimistic'), _flex1),
+ // new Radio(key: 'pessimistic-radio', value: StockMode.Pessimistic, groupValue: _stockMode, onChanged: _handleStockModeChange)
+ // ]),
+ // new MenuDivider(key: 'div2'),
+ // new MenuItem(
+ // key: 'Settings',
+ // icon: 'action/settings',
+ // children: [new Text('Settings')]),
+ // new MenuItem(
+ // key: 'Help & Feedback',
+ // icon: 'action/help',
+ // children: [new Text('Help & Feedback')])
+ // ]
+ // );
+ // }
+
+ // UINode buildToolBar() {
+ // return new StyleNode(
+ // new ToolBar(
+ // left: new IconButton(
+ // icon: 'navigation/menu_white',
+ // onGestureTap: _drawerController.toggle),
+ // center: new Container(
+ // style: _titleStyle,
+ // children: [new Text('Stocks')]),
+ // right: [
+ // new IconButton(
+ // icon: 'action/search_white',
+ // onGestureTap: _handleSearchBegin),
+ // new IconButton(
+ // icon: 'navigation/more_vert_white',
+ // onGestureTap: _handleMenuShow)
+ // ]),
+ // _toolBarStyle);
+ // }
+
+ // // TODO(abarth): Should we factor this into a SearchBar in the framework?
+ // UINode buildSearchBar() {
+ // return new StyleNode(
+ // new ToolBar(
+ // left: new IconButton(
+ // icon: 'navigation/arrow_back_grey600',
+ // onGestureTap: _handleSearchEnd),
+ // center: new Input(
+ // focused: true,
+ // placeholder: 'Search stocks',
+ // onChanged: _handleSearchQueryChanged)),
+ // _searchBarStyle);
+ // }
+
+ // void addMenuToOverlays(List<UINode> overlays) {
+ // if (_menuController == null)
+ // return;
+ // overlays.add(new ModalOverlay(
+ // children: [new StockMenu(
+ // controller: _menuController,
+ // autorefresh: _autorefresh,
+ // onAutorefreshChanged: _handleAutorefreshChanged
+ // )],
+ // onDismiss: _handleMenuHide));
+ // }
+
+ UINode build() {
+ // List<UINode> overlays = [];
+ // addMenuToOverlays(overlays);
+
+ // return new Scaffold(
+ // header: _isSearching ? buildSearchBar() : buildToolBar(),
+ // content: new Stocklist(stocks: _stocks, query: _searchQuery),
+ // fab: new FloatingActionButton(
+ // content: new Icon(type: 'content/add_white', size: 24), level: 3),
+ // drawer: _drawerShowing ? buildDrawer() : null,
+ // overlays: overlays
+ // );
+ }
+}
+
+void main() {
+ new StocksApp();
+}
« no previous file with comments | « sky/examples/stocks2/data/stock_data_9.json ('k') | sky/examples/stocks2/lib/stock_arrow.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698