UNPKG

ferngully-aurelia-tools

Version:

Ferngully Tools for Aurelia

83 lines 3.71 kB
"use strict"; 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); }; Object.defineProperty(exports, "__esModule", { value: true }); var aurelia_framework_1 = require("aurelia-framework"); var aurelia_binding_1 = require("aurelia-binding"); var browser_service_1 = require("../../services/browser-service"); require("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([ aurelia_framework_1.transient(), aurelia_framework_1.autoinject, __metadata("design:paramtypes", [Number, browser_service_1.BrowserService]) ], EditableInputElementService); return EditableInputElementService; }()); exports.EditableInputElementService = EditableInputElementService; //# sourceMappingURL=editable-input-element-service.js.map