ferngully-aurelia-tools
Version:
Ferngully Tools for Aurelia
71 lines • 3.6 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';
var AureliaHelperService = (function () {
function AureliaHelperService(container, bindingEngine, templatingEngine) {
this.container = container;
this.bindingEngine = bindingEngine;
this.templatingEngine = templatingEngine;
}
AureliaHelperService.prototype.createPropertyWatch = function (object, propertyName, func) {
return this.bindingEngine.propertyObserver(object, propertyName)
.subscribe(function (newValue, oldValue) {
func(newValue, oldValue);
});
};
AureliaHelperService.prototype.createArrayWatch = function (array, func) {
return this.bindingEngine.collectionObserver(array)
.subscribe(function (splices) {
func(splices);
});
};
AureliaHelperService.prototype.createObservableProperty = function (object, propertyName) {
this.bindingEngine.propertyObserver(object, propertyName);
};
AureliaHelperService.prototype.createObservableComputedProperty = function (object, propertyName, func, dependencies) {
Object.defineProperty(object, propertyName, { get: func });
if (dependencies) {
object.get.dependencies = dependencies;
}
this.createObservableProperty(object, propertyName);
};
AureliaHelperService.prototype.getInstanceOf = function (whateverClass) {
return this.container.get(whateverClass);
};
AureliaHelperService.prototype.instanceIsRegistered = function (whateverClass, container, checkParent) {
if (!container) {
container = this.container;
}
return container.hasResolver(whateverClass, checkParent);
};
AureliaHelperService.prototype.createForCurrentScope = function (whateverClass, registerAs) {
var instance = this.getInstanceOf(whateverClass);
this.container.registerInstance(registerAs ? registerAs : whateverClass, instance);
return instance;
};
AureliaHelperService.prototype.enhance = function (elementSelector, bindingContext) {
var 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);
return AureliaHelperService;
}());
export { AureliaHelperService };
//# sourceMappingURL=aurelia-helper-service.js.map