| Index: client/samples/swarm/SwarmApp.dart
|
| ===================================================================
|
| --- client/samples/swarm/SwarmApp.dart (revision 3770)
|
| +++ client/samples/swarm/SwarmApp.dart (working copy)
|
| @@ -1,87 +0,0 @@
|
| -// 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.
|
| -
|
| -/**
|
| - * A simple news reader in Dart.
|
| - */
|
| -class Swarm extends App {
|
| - /**
|
| - * Flag to insure the onLoad isn't called when callback from initializeFromUrl
|
| - * could occur before the document's onload event.
|
| - */
|
| - bool onLoadFired;
|
| -
|
| - /** Collections of datafeeds to show per page. */
|
| - Sections sections;
|
| -
|
| - /** The front page of the app. */
|
| - FrontView frontView;
|
| -
|
| - /** Observable UI state. */
|
| - SwarmState state;
|
| -
|
| - Swarm() : super(), onLoadFired = false {
|
| - Sections.initializeFromUrl((currSections) {
|
| - sections = currSections;
|
| - state = new SwarmState(sections);
|
| - setupApp();
|
| - });
|
| - // Catch user keypresses and decide whether to use them for the
|
| - // Streams app or pass them on to the browser.
|
| - document.on.keyUp.add((e) {
|
| - if (frontView != null) {
|
| - frontView.processKeyEvent(e);
|
| - }
|
| - });
|
| - }
|
| -
|
| - /**
|
| - * Tells each data source to check the server for the latest data.
|
| - */
|
| - void refresh() {
|
| - sections.refresh();
|
| -
|
| - // Hook up listeners about any data source additions or deletions. We don't
|
| - // differeniate additions or deletions just the fact that data feeds have
|
| - // changed. We might want more fidelity later.
|
| - sections.sectionTitles.forEach((title) {
|
| - Section section = sections.findSection(title);
|
| - // TODO(terry): addChangeListener needs to return an id so previous
|
| - // listener can be removed, otherwise anonymous functions
|
| - // can't easily be used. See b/5063673
|
| - section.feeds.addChangeListener((data) {
|
| - // TODO(jacobr): implement this.
|
| - print("Refresh sections not impl yet.");
|
| - });
|
| - });
|
| - }
|
| -
|
| - /** The page load event handler. */
|
| - void onLoad() {
|
| - onLoadFired = true;
|
| - super.onLoad();
|
| - setupApp();
|
| - }
|
| -
|
| - /**
|
| - * Setup the application's world.
|
| - */
|
| - void setupApp() {
|
| - // TODO(terry): Should be able to spinup the app w/o waiting for data.
|
| - // If the document is already loaded so we can setup the app anytime.
|
| - // Otherwise, we'll wait to setup the world until the document is ready
|
| - // to render.
|
| - if (onLoadFired && state != null) {
|
| - render();
|
| - // This call loads the initial data.
|
| - refresh();
|
| - eraseSplashScreen();
|
| - }
|
| - }
|
| -
|
| - void render() {
|
| - frontView = new FrontView(this);
|
| - frontView.addToDocument(document.body);
|
| - }
|
| -}
|
|
|