aurelia-templating-resources
Version:
A standard set of behaviors, converters and other resources for use with the Aurelia templating library.
72 lines (54 loc) • 1.45 kB
text/typescript
import { bindingBehavior, bindingMode } from 'aurelia-binding';
import { mixin } from 'aurelia-metadata';
let modeBindingBehavior = {
// eslint-disable-next-line @typescript-eslint/no-unused-vars
bind(binding, source, lookupFunctions) {
binding.originalMode = binding.mode;
binding.mode = this.mode;
},
// eslint-disable-next-line @typescript-eslint/no-unused-vars
unbind(binding, source) {
binding.mode = binding.originalMode;
binding.originalMode = null;
}
};
export class OneTimeBindingBehavior {
mode: bindingMode;
constructor() {
this.mode = bindingMode.oneTime;
}
}
export class OneWayBindingBehavior {
mode: bindingMode;
constructor() {
this.mode = bindingMode.toView;
}
}
export class ToViewBindingBehavior {
mode: bindingMode;
constructor() {
this.mode = bindingMode.toView;
}
}
export class FromViewBindingBehavior {
mode: bindingMode;
constructor() {
this.mode = bindingMode.fromView;
}
}
export class TwoWayBindingBehavior {
mode: bindingMode;
constructor() {
this.mode = bindingMode.twoWay;
}
}