├── packages ├── nest_ui ├── logmaster ├── attributable ├── validatable ├── heritage_tree └── observable_roles ├── .gitignore ├── pubspec.yaml ├── .packages ├── pubspec.lock ├── app.dart └── index.html /packages/nest_ui: -------------------------------------------------------------------------------- 1 | ../../nest_ui/lib -------------------------------------------------------------------------------- /packages/logmaster: -------------------------------------------------------------------------------- 1 | ../../logmaster/lib -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | *.js 2 | *.deps 3 | *.js.map 4 | -------------------------------------------------------------------------------- /packages/attributable: -------------------------------------------------------------------------------- 1 | ../../attributable/lib -------------------------------------------------------------------------------- /packages/validatable: -------------------------------------------------------------------------------- 1 | ../../validatable/lib -------------------------------------------------------------------------------- /packages/heritage_tree: -------------------------------------------------------------------------------- 1 | ../../heritage_tree/lib -------------------------------------------------------------------------------- /packages/observable_roles: -------------------------------------------------------------------------------- 1 | ../../observable_roles/lib -------------------------------------------------------------------------------- /pubspec.yaml: -------------------------------------------------------------------------------- 1 | name: nest_ui_app 2 | version: 0.1.0 3 | description: > 4 | An example app for NestUI 5 | author: Roman Snitko 6 | 7 | dependencies: 8 | nest_ui: 9 | -------------------------------------------------------------------------------- /.packages: -------------------------------------------------------------------------------- 1 | # Generated by pub on 2016-05-11 03:55:34.082499. 2 | attributable:../attributable/lib/ 3 | heritage_tree:../heritage_tree/lib/ 4 | logmaster:../logmaster/lib/ 5 | nest_ui:../nest_ui/lib/ 6 | observable_roles:../observable_roles/lib/ 7 | validatable:../validatable/lib/ 8 | nest_ui_app:lib/ 9 | -------------------------------------------------------------------------------- /pubspec.lock: -------------------------------------------------------------------------------- 1 | # Generated by pub 2 | # See http://pub.dartlang.org/doc/glossary.html#lockfile 3 | packages: 4 | attributable: 5 | description: 6 | path: "../attributable" 7 | relative: true 8 | source: path 9 | version: "0.1.0" 10 | heritage_tree: 11 | description: 12 | path: "../heritage_tree" 13 | relative: true 14 | source: path 15 | version: "0.1.0" 16 | logmaster: 17 | description: 18 | path: "../logmaster" 19 | relative: true 20 | source: path 21 | version: "0.1.0" 22 | nest_ui: 23 | description: 24 | path: "../nest_ui" 25 | relative: true 26 | source: path 27 | version: "0.1.0" 28 | observable_roles: 29 | description: 30 | path: "../observable_roles" 31 | relative: true 32 | source: path 33 | version: "0.1.0" 34 | validatable: 35 | description: 36 | path: "../validatable" 37 | relative: true 38 | source: path 39 | version: "0.1.0" 40 | sdk: any 41 | -------------------------------------------------------------------------------- /app.dart: -------------------------------------------------------------------------------- 1 | import 'package:nest_ui/nest_ui.dart'; 2 | import 'dart:html'; 3 | 4 | // Importing Report Adapters that we'll actually use. 5 | import 'package:logmaster/report_adapters/console_report_adapter.dart'; 6 | 7 | class RootComponent extends Component { 8 | } 9 | 10 | class ButtonComponent extends Component { 11 | final List attribute_names = ["caption"]; 12 | List native_events = ["click"]; 13 | } 14 | 15 | class CommentComponent extends Component { 16 | final List attribute_names = ["body"]; 17 | List native_events = ["delete.click"]; 18 | CommentComponent() { 19 | event_handlers.add(event: 'click', role: 'self.delete', handler: (self,p) => self.remove()); 20 | } 21 | } 22 | 23 | class CommentFormComponent extends Component { 24 | 25 | Map validations = { 26 | 'content.value': { 'isLongerThan' : 5 } 27 | }; 28 | 29 | CommentFormComponent() { 30 | event_handlers.add(event: 'click', role: 'submit', handler: (self,p) { 31 | if(this.validate(deep: true)) { 32 | var new_comment = new CommentComponent(); 33 | new_comment.body = self.children[0].value; 34 | self.parent.addChild(new_comment); 35 | self.applyToChildren('reset'); 36 | } 37 | }); 38 | } 39 | } 40 | 41 | class TextAreaComponent extends FormFieldComponent { 42 | } 43 | 44 | main() { 45 | var logger = new Logmaster([new ConsoleReportAdapter()]); 46 | try { 47 | new NestUIApp(); 48 | } catch(e) { 49 | logger.capture(e); 50 | } 51 | } 52 | -------------------------------------------------------------------------------- /index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Simple Dart App 5 | 6 | 18 | 19 | 20 | 21 | 22 | 23 | 24 |

Hello, Dart!

25 | 26 |
27 |
28 | 29 |
30 |
31 |
32 | 33 |
34 | 35 |
36 |
This is an example of a comment
37 |
Delete
38 |
39 | 40 | 41 | 42 | 43 | --------------------------------------------------------------------------------