| Index: src/site/docs/tutorials/fetchdata/examples/its_all_about_you/out/web/tute_its_all_about_you.dart
|
| diff --git a/src/site/docs/tutorials/fetchdata/examples/its_all_about_you/out/web/tute_its_all_about_you.dart b/src/site/docs/tutorials/fetchdata/examples/its_all_about_you/out/web/tute_its_all_about_you.dart
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..272ae698a8a995ca43b2248b3e45e553835fe556
|
| --- /dev/null
|
| +++ b/src/site/docs/tutorials/fetchdata/examples/its_all_about_you/out/web/tute_its_all_about_you.dart
|
| @@ -0,0 +1,88 @@
|
| +import 'dart:html';
|
| +import 'dart:convert';
|
| +import 'package:polymer/polymer.dart';
|
| +
|
| +@CustomTag('tute-its-all-about-you')
|
| +class TuteItsAllAboutYou extends PolymerElement {
|
| + // JSON strings, bound to HTML
|
| + @observable String get intAsJson => __$intAsJson; String __$intAsJson; set intAsJson(String value) { __$intAsJson = notifyPropertyChange(#intAsJson, __$intAsJson, value); }
|
| + @observable String get doubleAsJson => __$doubleAsJson; String __$doubleAsJson; set doubleAsJson(String value) { __$doubleAsJson = notifyPropertyChange(#doubleAsJson, __$doubleAsJson, value); }
|
| + @observable String get stringAsJson => __$stringAsJson; String __$stringAsJson; set stringAsJson(String value) { __$stringAsJson = notifyPropertyChange(#stringAsJson, __$stringAsJson, value); }
|
| + @observable String get listAsJson => __$listAsJson; String __$listAsJson; set listAsJson(String value) { __$listAsJson = notifyPropertyChange(#listAsJson, __$listAsJson, value); }
|
| + @observable String get boolAsJson => __$boolAsJson; String __$boolAsJson; set boolAsJson(String value) { __$boolAsJson = notifyPropertyChange(#boolAsJson, __$boolAsJson, value); }
|
| + @observable String get mapAsJson => __$mapAsJson; String __$mapAsJson; set mapAsJson(String value) { __$mapAsJson = notifyPropertyChange(#mapAsJson, __$mapAsJson, value); }
|
| +
|
| + // Data input as strings, bound to input fields
|
| + @observable String get favoriteNumber => __$favoriteNumber; String __$favoriteNumber=''; set favoriteNumber(String value) { __$favoriteNumber = notifyPropertyChange(#favoriteNumber, __$favoriteNumber, value); }
|
| + @observable String get valueOfPi => __$valueOfPi; String __$valueOfPi=''; set valueOfPi(String value) { __$valueOfPi = notifyPropertyChange(#valueOfPi, __$valueOfPi, value); }
|
| + @observable String get horrorScope => __$horrorScope; String __$horrorScope=''; set horrorScope(String value) { __$horrorScope = notifyPropertyChange(#horrorScope, __$horrorScope, value); }
|
| + @observable String get favOne => __$favOne; String __$favOne=''; set favOne(String value) { __$favOne = notifyPropertyChange(#favOne, __$favOne, value); }
|
| + @observable String get favTwo => __$favTwo; String __$favTwo=''; set favTwo(String value) { __$favTwo = notifyPropertyChange(#favTwo, __$favTwo, value); }
|
| + @observable String get favThree => __$favThree; String __$favThree=''; set favThree(String value) { __$favThree = notifyPropertyChange(#favThree, __$favThree, value); }
|
| + @observable String get chocolate => __$chocolate; String __$chocolate=''; set chocolate(String value) { __$chocolate = notifyPropertyChange(#chocolate, __$chocolate, value); }
|
| +
|
| + void showJson(Event e, var detail, Node target) {
|
| + // Typed data to convert to JSON
|
| + num favNum = int.parse(favoriteNumber);
|
| + num pi = double.parse(valueOfPi);
|
| + var anElement = $['lovechocolate'];
|
| + bool choco = (anElement as RadioButtonInputElement).checked;
|
| +
|
| + List<String> favoriteThings = [ favOne, favTwo, favThree ];
|
| +
|
| + Map formData = {
|
| + 'favoriteNumber': favNum,
|
| + 'valueOfPi': pi,
|
| + 'chocolate': choco,
|
| + 'horrorScope': horrorScope,
|
| + 'favoriteThings': favoriteThings
|
| + };
|
| +
|
| + // Convert everything to JSON
|
| + intAsJson = JSON.encode(favNum); // int
|
| + doubleAsJson = JSON.encode(pi); // double
|
| + boolAsJson = JSON.encode(choco); // boolean
|
| + stringAsJson = JSON.encode(horrorScope); // string
|
| + listAsJson = JSON.encode(favoriteThings); // list of strings
|
| + mapAsJson = JSON.encode(formData); // map with string keys
|
| + // and mixed values
|
| + }
|
| +
|
| + void inserted() {
|
| + super.inserted();
|
| + _populateFromJson();
|
| + showJson(null, null, null);
|
| + }
|
| +
|
| + void _populateFromJson() {
|
| +
|
| + String jsonDataAsString = '''
|
| + { "favoriteNumber":44,
|
| + "valueOfPi":3.141592,
|
| + "chocolate":true,
|
| + "horrorScope":"virgo",
|
| + "favoriteThings":["raindrops",
|
| + "whiskers",
|
| + "mittens"]
|
| + }
|
| + ''';
|
| +
|
| + Map jsonData = JSON.decode(jsonDataAsString);
|
| +
|
| + favoriteNumber = jsonData['favoriteNumber'].toString();
|
| + valueOfPi = jsonData['valueOfPi'].toString();
|
| + horrorScope = jsonData['horrorScope'];
|
| + favOne = jsonData['favoriteThings'][0];
|
| + favTwo = jsonData['favoriteThings'][1];
|
| + favThree = jsonData['favoriteThings'][2];
|
| +
|
| + if (jsonData['chocolate']) {
|
| + var anElement = $['lovechocolate'];
|
| + (anElement as RadioButtonInputElement).checked = true;
|
| + } else {
|
| + var anElement = $['noloveforchocolate'];
|
| + (anElement as RadioButtonInputElement).checked = true;
|
| + }
|
| +
|
| + }
|
| +}
|
|
|