ferngully-aurelia-tools
Version:
Ferngully Tools for Aurelia
81 lines • 3.55 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 { 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