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

Unified Diff: samples/dartiverse_search/web/client.dart

Issue 752303004: Delete dartiverse-search from the repo and update dart:io documentation to point (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 6 years 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 | « samples/dartiverse_search/readme.txt ('k') | samples/dartiverse_search/web/index.html » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: samples/dartiverse_search/web/client.dart
diff --git a/samples/dartiverse_search/web/client.dart b/samples/dartiverse_search/web/client.dart
deleted file mode 100644
index 52f531ff1fc8826229a1e89324d76ca8da490a3f..0000000000000000000000000000000000000000
--- a/samples/dartiverse_search/web/client.dart
+++ /dev/null
@@ -1,115 +0,0 @@
-// Copyright (c) 2013, 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.
-
-import 'dart:async';
-import 'dart:convert';
-import 'dart:html';
-
-
-class Client {
- static const Duration RECONNECT_DELAY = const Duration(milliseconds: 500);
-
- bool connectPending = false;
- String mostRecentSearch = null;
- WebSocket webSocket;
- final DivElement log = new DivElement();
- SearchInputElement searchElement = querySelector('#q');
- DivElement statusElement = querySelector('#status');
- DivElement resultsElement = querySelector('#results');
-
- Client() {
- searchElement.onChange.listen((e) {
- search(searchElement.value);
- searchElement.value = '';
- });
- connect();
- }
-
- void connect() {
- connectPending = false;
- webSocket = new WebSocket('ws://${Uri.base.host}:${Uri.base.port}/ws');
- webSocket.onOpen.first.then((_) {
- onConnected();
- webSocket.onClose.first.then((_) {
- print("Connection disconnected to ${webSocket.url}.");
- onDisconnected();
- });
- });
- webSocket.onError.first.then((_) {
- print("Failed to connect to ${webSocket.url}. "
- "Run bin/server.dart and try again.");
- onDisconnected();
- });
- }
-
- void onConnected() {
- setStatus('');
- searchElement.disabled = false;
- searchElement.focus();
- webSocket.onMessage.listen((e) {
- handleMessage(e.data);
- });
- }
-
- void onDisconnected() {
- if (connectPending) return;
- connectPending = true;
- setStatus('Disconnected. Start \'bin/server.dart\' to continue.');
- searchElement.disabled = true;
- new Timer(RECONNECT_DELAY, connect);
- }
-
- void setStatus(String status) {
- statusElement.innerHtml = status;
- }
-
-
- void handleMessage(data) {
- var json = JSON.decode(data);
- var response = json['response'];
- switch (response) {
- case 'searchResult':
- addResult(json['source'], json['title'], json['link']);
- break;
-
- case 'searchDone':
- setStatus(resultsElement.children.isEmpty
- ? "$mostRecentSearch: No results found"
- : "$mostRecentSearch: "
- "${resultsElement.children.length} results found");
- break;
-
- default:
- print("Invalid response: '$response'");
- }
- }
-
- void addResult(String source, String title, String link) {
- var result = new DivElement();
- result.children.add(new HeadingElement.h2()..innerHtml = source);
- result.children.add(
- new AnchorElement(href: link)
- ..innerHtml = title
- ..target = '_blank');
- result.classes.add('result');
- resultsElement.children.add(result);
- }
-
- void search(String input) {
- if (input.isEmpty) return;
- setStatus('Searching for $input...');
- resultsElement.children.clear();
- var request = {
- 'request': 'search',
- 'input': input
- };
- webSocket.send(JSON.encode(request));
- mostRecentSearch = input;
- }
-}
-
-
-void main() {
- var client = new Client();
-}
« no previous file with comments | « samples/dartiverse_search/readme.txt ('k') | samples/dartiverse_search/web/index.html » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698