{"id":153,"date":"2017-10-24T23:04:42","date_gmt":"2017-10-24T23:04:42","guid":{"rendered":"http:\/\/dart.honobono-life.info\/?p=153"},"modified":"2017-10-24T23:04:42","modified_gmt":"2017-10-24T23:04:42","slug":"angulardart-v4-built-in-pipes","status":"publish","type":"post","link":"http:\/\/dart.honobono-life.info\/?p=153","title":{"rendered":"AngularDart v4 Built-in pipes"},"content":{"rendered":"AngularDart v4 Sample Code,Demo<br \/>\r\n<!--more-->\r\n<ul>\r\n<li>AngularDart : 4.0.0<\/li>\r\n<li>Dart : 1.24.1<\/li>\r\n<\/ul>\r\n<div role=\"tabpanel\">\r\n  <ul class=\"nav nav-tabs\">\r\n    <li class=\"active\"><a href=\"#demo1\" data-toggle=\"tab\">demo<\/a><\/li>\r\n    <li><a href=\"#html1\" data-toggle=\"tab\">markup<\/a><\/li>\r\n    <li><a href=\"#script1\" data-toggle=\"tab\">dart<\/a><\/li>\r\n  <\/ul>\r\n  <div class=\"tab-content\">\r\n    <div class=\"tab-pane active\" id=\"demo1\">\r\n\r\n<my-app>Loading&#8230;<\/my-app>\r\n\r\n    <\/div>\r\n    <div class=\"tab-pane\" id=\"html1\">\r\n\r\n<pre>\r\n(html)\r\n&lt;head>\r\n.....\r\n  &lt;script defer src=\"main.dart\" type=\"application\/dart\">&lt;\/script>\r\n  &lt;script defer src=\"packages\/browser\/dart.js\">&lt;\/script>\r\n&lt;\/head>\r\n&lt;body>\r\n  &lt;my-app>Loading...&lt;\/my-app>\r\n&lt;\/body>\r\n\r\n(pubspec.yaml)\r\n.....\r\nenvironment:\r\n  sdk: '>=1.24.0 <2.0.0'\r\ndependencies:\r\n  angular: ^4.0.0\r\n  angular_forms: ^1.0.0\r\n  angular_router: ^1.0.2\r\n  http: ^0.11.0\r\n  stream_transform: ^0.0.6\r\n\r\ndev_dependencies:\r\n  angular_test: ^1.0.0\r\n  browser: ^0.10.0\r\n  dart_to_js_script_rewriter: ^1.0.1\r\n  mockito: ^2.0.2\r\n  test: ^0.12.21\r\n\r\ntransformers:\r\n- angular:\r\n    entry_points:\r\n    - web\/main.dart\r\n    - test\/**_test.dart\r\n- test\/pub_serve:\r\n    $include: test\/**_test.dart\r\n- dart_to_js_script_rewriter\r\n<\/pre>\r\n    <\/div>\r\n\r\n    <div class=\"tab-pane\" id=\"script1\">\r\n<pre>\r\nimport 'package:angular\/angular.dart';\r\nimport 'package:angular_forms\/angular_forms.dart';\r\n\r\n@Component(\r\n  selector: 'my-app',\r\n  template: '''\r\n&lt;strong>1)DatePipe&lt;\/strong>&lt;br \/>\r\n\r\n&lt;p>new DateTime(1988, 4, 15) {{ birthday | date:\"yMMdd\" }}&lt;\/p>\r\n\r\n&lt;strong>2)DecimalPipe&lt;\/strong>&lt;br \/>\r\n\r\n&lt;p>3.141592\uff1a(3.2-4): {{3.141592 | number:'3.2-4'}}&lt;\/p>\r\n&lt;p>3.1     \uff1a(3.2-4): {{3.1      | number:'3.2-4'}}&lt;\/p>\r\n&lt;p>3.141592\uff1a(1.1-1): {{3.141592 | number:'1.1-1'}}&lt;\/p>\r\n&lt;p>12345 (number): {{12345 | number}}&lt;\/p>\r\n\r\n&lt;strong>3)CurrencyPipe&lt;\/strong>&lt;br \/>\r\n\r\n&lt;p>51259: {{51259 | currency:'JPY':false}}&lt;\/p>\r\n&lt;p>15315731: {{15315731 | currency:'JPY':true}}&lt;\/p>\r\n\r\n&lt;strong>4)JsonPipe&lt;\/strong>&lt;br \/>\r\n\r\n&lt;p>Not JsonPipe&lt;\/p>\r\n&lt;pre>{{object}}&lt;\/pre>\r\n&lt;p>JsonPipe&lt;\/p>\r\n&lt;pre>{{object | json}}&lt;\/pre>\r\n\r\n&lt;strong>5)SlicePipe&lt;\/strong>&lt;br \/>\r\n\r\n&lt;select (change)=\"start=\\$event.target.value\" >\r\n  &lt;option *ngFor=\"let index of indexes\" [value]=index>{{index}}&lt;\/option>\r\n&lt;\/select>:\r\n&lt;select (change)=\"end=\\$event.target.value\" >\r\n  &lt;option *ngFor=\"let index of indexes\" [value]=index>{{index}}&lt;\/option>\r\n&lt;\/select>\r\n&lt;ul>\r\n  &lt;li *ngFor=\"let i of collection | slice:conv(start):conv(end)\">{{i}}&lt;\/li>\r\n&lt;\/ul>\r\n    ''',\r\n  directives: const [CORE_DIRECTIVES, formDirectives],\r\n  pipes: const [COMMON_PIPES]\r\n)\r\nclass AppComponent {\r\n  DateTime birthday = new DateTime(1988, 4, 15);\r\n  int start = 0;\r\n  int end = 10;\r\n  int i;\r\n  int conv(idx) {\r\n    if(idx is String) {\r\n      this.i = int.parse(idx);\r\n    } else {\r\n      this.i = idx;\r\n    }\r\n    return this.i;\r\n  }\r\n  List collection = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9'];\r\n  List indexes = [0,1,2,3,4,5,6,7,8,9];\r\n  Map object = {'foo': 'bar', 'nested': {'numbers': [1, 2]}};\r\n}\r\n\r\nvoid main() {\r\n  bootstrap(AppComponent);\r\n}\r\n<\/pre>\r\n    <\/div>\r\n  <\/div>\r\n<\/div>\r\n<script type=\"text\/javascript\"  src='http:\/\/dart.honobono-life.info\/wp-content\/themes\/ang\/ngdart4\/pipe.dart.js'><\/script>","protected":false},"excerpt":{"rendered":"<p>AngularDart v4 Sample Code,Demo<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[6],"tags":[],"amp_enabled":true,"_links":{"self":[{"href":"http:\/\/dart.honobono-life.info\/index.php?rest_route=\/wp\/v2\/posts\/153"}],"collection":[{"href":"http:\/\/dart.honobono-life.info\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/dart.honobono-life.info\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/dart.honobono-life.info\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/dart.honobono-life.info\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=153"}],"version-history":[{"count":1,"href":"http:\/\/dart.honobono-life.info\/index.php?rest_route=\/wp\/v2\/posts\/153\/revisions"}],"predecessor-version":[{"id":154,"href":"http:\/\/dart.honobono-life.info\/index.php?rest_route=\/wp\/v2\/posts\/153\/revisions\/154"}],"wp:attachment":[{"href":"http:\/\/dart.honobono-life.info\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=153"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/dart.honobono-life.info\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=153"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/dart.honobono-life.info\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=153"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}