views/mdc/assets/js/components/hidden-fields.js in voom-presenters-0.2.0 vs views/mdc/assets/js/components/hidden-fields.js in voom-presenters-2.0.0
- old
+ new
@@ -1,33 +1,44 @@
import {VBaseComponent, hookupComponents} from './base-component';
+import {dirtyableMixin} from './mixins/dirtyable';
-export function initHiddenFields() {
- console.log('\tHiddenFields');
- hookupComponents('.v-hidden-field', VHiddenField, null);
+export function initHiddenFields(e) {
+ console.debug('\tHiddenFields');
+ hookupComponents(e, '.v-hidden-field', VHiddenField, null);
}
-export class VHiddenField extends VBaseComponent {
+export class VHiddenField extends dirtyableMixin(VBaseComponent) {
constructor(element, mdcComponent) {
super(element, mdcComponent);
+ this.originalValue = this.value();
}
// Called to collect data for submission
prepareSubmit(params) {
params.push([this.name(), this.value()]);
}
- name(){
+ name() {
return this.element.name;
}
- value(){
+ value() {
return this.element.value;
}
- clear(){
+ clear() {
this.setValue('');
}
- setValue(value){
+ reset() {
+ this.element.value = this.originalValue;
+ }
+
+ setValue(value) {
this.element.value = value;
+ }
+
+ isDirty() {
+ return this.dirtyable
+ && this.value() !== this.originalValue;
}
}