ferngully-aurelia-tools
Version:
Ferngully Tools for Aurelia
54 lines • 2.33 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;
};
import { transient } from "aurelia-dependency-injection";
let BootstrapFormRenderer = class BootstrapFormRenderer {
render(instruction) {
console.log(instruction);
for (let { result, elements } of instruction.unrender) {
for (let element of elements) {
this.remove(element, result);
}
}
for (let { result, elements } of instruction.render) {
for (let element of elements) {
this.add(element, result);
}
}
}
add(element, result) {
const formGroup = $(element).closest(".form-group")[0];
if (!formGroup) {
return;
}
if (!result.valid) {
formGroup.classList.add("has-error");
const message = document.createElement("span");
message.className = "help-block validation-message";
message.textContent = result.message;
message.id = `validation-message-${result.id}`;
formGroup.appendChild(message);
}
}
remove(element, result) {
const formGroup = $(element).closest(".form-group")[0];
if (!formGroup) {
return;
}
const message = formGroup.querySelector(`#validation-message-${result.id}`);
if (message) {
formGroup.removeChild(message);
if (formGroup.querySelectorAll(".help-block.validation-message").length === 0) {
formGroup.classList.remove("has-error");
}
}
}
};
BootstrapFormRenderer = __decorate([
transient()
], BootstrapFormRenderer);
export { BootstrapFormRenderer };
//# sourceMappingURL=bootstrap-form-renderer.js.map