gerrit/polygerrit-ui/app/samples/bind-parameters.html
Viktar Donich 6e1e69bcce Update endpoint params on registered elements
Whenever endpoint-provided value changes, update corresponding attribute
on the plugin provided element. With this change, plugins can receive
updates to the parameters if that's needed.

To take advantage of this change, plugin has few options:

- use a Polymer observers or computed properties
- use `plugin.attributeHelper(element).bind(propertyName, callback)`

Bug: Issue 8162
Change-Id: Ie95f30dd8d840be62cb3370bf39de96672638fd7
2018-01-22 15:36:00 -08:00

38 lines
999 B
HTML

<dom-module id="bind-parameters">
<script>
Gerrit.install(plugin => {
plugin.registerCustomComponent(
'change-view-integration', 'my-bind-sample');
});
</script>
</dom-module>
<dom-module id="my-bind-sample">
<template>
Template example: Patchset number [[revision._number]]. <br/>
Computed example: [[computedExample]].
</template>
<script>
Polymer({
is: 'my-bind-sample',
properties: {
computedExample: {
type: String,
computed: '_computeExample(revision._number)',
},
},
attached() {
this.plugin.attributeHelper(this).bind(
'revision', this._onRevisionChanged.bind(this));
},
_computeExample(value) {
if (!value) { return '(empty)'; }
return `(patchset ${value} selected)`;
},
_onRevisionChanged(value) {
console.log(`(attributeHelper.bind) revision number: ${value._number}`);
},
});
</script>
</dom-module>