Search code examples
dartdart-polymer

How to register a PolymerExpression filter inside a custom element, in Polymer.dart?


How do I register a PolymerExpression filter inside a custom element? I am using Polymer.dart.

I want to use this:

<div>Uppercase: {{bob.fullName | uppercase}}</div>

inside the template of my custom element. Where do I register uppercase ?


Solution

  • Inside the PolymerElement, override instanceTemplate:

      DocumentFragment instanceTemplate(Element template) =>
          template.createInstance(this,
              new PolymerExpressions(globals: {
                'uppercase': (String input) => input.toUpperCase()
              }));
    

    Notice you have to create an instance of PolymerExpressions and register the filter. Then you must call template.createInstance