UNPKG

ferngully-aurelia-tools

Version:

Ferngully Tools for Aurelia

81 lines 3.55 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 { autoinject, transient } from "aurelia-framework"; import { bindingMode as BindingMode } from "aurelia-binding"; import { BrowserService } from "../../services/browser-service"; import "jquery"; var EditableInputElementService = (function () { function EditableInputElementService(bindingMode, browserService) { this.bindingMode = bindingMode; this.browserService = browserService; this.windowResizeSubscription = null; } Object.defineProperty(EditableInputElementService.prototype, "maxLength", { set: function (value) { this.editor.attr("maxlength", this.maxLength); }, enumerable: true, configurable: true }); Object.defineProperty(EditableInputElementService.prototype, "value", { get: function () { return this.editor.val(); }, set: function (value) { this.editor.val(value); }, enumerable: true, configurable: true }); EditableInputElementService.prototype.detached = function () { if (this.windowResizeSubscription) { this.windowResizeSubscription.dispose(); this.windowResizeSubscription = null; } }; EditableInputElementService.prototype.attached = function () { this.windowResizeSubscription = this.browserService.registerForWindowResize(this.windowResizeHandler.bind(this)); }; EditableInputElementService.prototype.windowResizeHandler = function (event) { if (this.element) { this._refresh(); } }; EditableInputElementService.prototype._show = function (element) { var editor = this.editor; if (this.element) { this._hide(); } this.element = element; this._refresh(); editor.css({ "display": "inline-block" }); }; EditableInputElementService.prototype._refresh = function () { if (this.element) { var editor = this.editor; var position = this.element.position(); editor.css({ left: position.left - 1, top: position.top - 1 }); editor.width(this.element.width()); editor.height(this.element.height()); } }; EditableInputElementService.prototype._hide = function () { this.element = null; this.editor.css({ "display": "none" }); }; EditableInputElementService = __decorate([ transient(), autoinject, __metadata("design:paramtypes", [Number, BrowserService]) ], EditableInputElementService); return EditableInputElementService; }()); export { EditableInputElementService }; //# sourceMappingURL=editable-input-element-service.js.map