ferngully-aurelia-tools
Version:
Ferngully Tools for Aurelia
70 lines • 3.17 kB
JavaScript
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
return c > 3 && r && Object.defineProperty(target, key, r), r;
};
var __metadata = (this && this.__metadata) || function (k, v) {
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
};
import { BindingEngine, TemplatingEngine, autoinject } from "aurelia-framework";
import { Container } from 'aurelia-dependency-injection';
let AureliaHelperService = class AureliaHelperService {
constructor(container, bindingEngine, templatingEngine) {
this.container = container;
this.bindingEngine = bindingEngine;
this.templatingEngine = templatingEngine;
}
createPropertyWatch(object, propertyName, func) {
return this.bindingEngine.propertyObserver(object, propertyName)
.subscribe((newValue, oldValue) => {
func(newValue, oldValue);
});
}
createArrayWatch(array, func) {
return this.bindingEngine.collectionObserver(array)
.subscribe((splices) => {
func(splices);
});
}
createObservableProperty(object, propertyName) {
this.bindingEngine.propertyObserver(object, propertyName);
}
createObservableComputedProperty(object, propertyName, func, dependencies) {
Object.defineProperty(object, propertyName, { get: func });
if (dependencies) {
object.get.dependencies = dependencies;
}
this.createObservableProperty(object, propertyName);
}
getInstanceOf(whateverClass) {
return this.container.get(whateverClass);
}
instanceIsRegistered(whateverClass, container, checkParent) {
if (!container) {
container = this.container;
}
return container.hasResolver(whateverClass, checkParent);
}
createForCurrentScope(whateverClass, registerAs) {
var instance = this.getInstanceOf(whateverClass);
this.container.registerInstance(registerAs ? registerAs : whateverClass, instance);
return instance;
}
enhance(elementSelector, bindingContext) {
let el = document.querySelector(elementSelector);
if (el) {
if (!el.querySelectorAll('.au-target').length) {
this.templatingEngine.enhance({ element: el, bindingContext: bindingContext });
}
}
}
};
AureliaHelperService = __decorate([
autoinject,
__metadata("design:paramtypes", [Container,
BindingEngine,
TemplatingEngine])
], AureliaHelperService);
export { AureliaHelperService };
//# sourceMappingURL=aurelia-helper-service.js.map