Skip to content

How do I override a method? #5

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
ErikGrimes opened this issue Mar 7, 2017 · 5 comments
Closed

How do I override a method? #5

ErikGrimes opened this issue Mar 7, 2017 · 5 comments

Comments

@ErikGrimes
Copy link

I've tried:

namespace: Polymer
package-name:  polymer_elements
externals:
 "Polymer.IronFormElementBehavior": "package:polymer_elements/iron_form_element_behavior.dart"
 "Polymer.Templatizer": "package:polymer_element/polymer_element.dart"
 "Templatizer": "package:polymer_element/polymer_element.dart"
components:
 - name :    "iron-validator-behavior"
   ref : "PolymerElements/iron-validator-behavior#2.0-preview"
   overrides:
     IronValidatorBehavior:
       validate: "bool validate(dynamic values);"
resolutions:
  "polymer": "2.0.0-rc.1"
@dam0vm3nt
Copy link
Collaborator

This will work :

namespace: Polymer
package-name:  polymer_elements
externals:
 "Polymer.IronFormElementBehavior": "package:polymer_elements/iron_form_element_behavior.dart"
 "Polymer.Templatizer": "package:polymer_element/polymer_element.dart"
 "Templatizer": "package:polymer_element/polymer_element.dart"
components:
 - name :    "iron-validator-behavior"
   ref : "PolymerElements/iron-validator-behavior#2.0-preview"
   overrides:
     Polymer.IronValidatorBehavior:
       validate: 
         - "  extern bool validate(dynamic values);"
resolutions:
  "polymer": "2.0.0-rc.1"

Please note that you have to use extern keyword. And this will work only if you don't change the method name. To enable more generic mapping we should wait for extensions method feature to be added to dart (dart-lang/sdk#24779) please vote it!

@dam0vm3nt
Copy link
Collaborator

BTW : at the moment there is a polymer issue that make it impossible to use native old style (v.1) behavior with 2.0 component. see here for info

@ErikGrimes
Copy link
Author

ErikGrimes commented Mar 7, 2017 via email

@dam0vm3nt
Copy link
Collaborator

Actually it turns out to be a polymer-redux problem. When mixin a behavior only the properties of the latest behavior that was mixed will be used by redux.

If you don't use redux there should be no problems then, but I hope polymer-redux people will fix it.

@dam0vm3nt
Copy link
Collaborator

type : extern -> external

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants