UNPKG

ferngully-aurelia-tools

Version:

Ferngully Tools for Aurelia

70 lines 3.17 kB
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