Files
dog_training/static/js/pages/user/company.js

109 lines
4.1 KiB
JavaScript

import API from "../../api.js";
import BusinessObjects from "../../lib/business_objects/business_objects.js";
import DOM from "../../dom.js";
import Events from "../../lib/events.js";
import TableBasePage from "../base_table.js";
import Utils from "../../lib/utils.js";
import Validation from "../../lib/validation.js";
import DogTableMixinPage from "../dog/mixin_table.js";
var _rowBlankDistraction;
var _rowBlankAssessmentCommandModalityLink;
export default class PageUserCompany extends TableBasePage {
static hash = hashPageUserCompany;
static attrIdRowObject = attrIdCompany;
callSaveTableContent = API.saveCompanies;
constructor(router) {
super(router);
this.dogMixin = new DogTableMixinPage(this);
}
initialize() {
this.sharedInitialize();
}
hookupFilters() {
}
loadRowTable(rowJson) {
if (rowJson == null) return;
if (_verbose) { Utils.consoleLogIfNotProductionEnvironment("applying data row: ", rowJson); }
}
getTableRecords(dirtyOnly = false) {
dirtyOnly = true;
let container = document.querySelector('.' + flagContainer + '.' + flagUser);
let nameInput = document.getElementById(flagName);
let websiteInput = document.getElementById(flagWebsite);
let companies = [];
if (!dirtyOnly || container.classList.contains(flagDirty)) companies.push({
[attrIdCompany]: container.getAttribute(attrIdCompany)
, [flagName]: DOM.getElementAttributeValueCurrent(nameInput)
, [flagWebsite]: DOM.getElementAttributeValueCurrent(websiteInput)
, [flagActive]: true
});
return companies;
}
initialiseRowNew(tbody, row) {
}
postInitialiseRowNewCallback(tbody) {
}
callFilterTableContent() {
super.callFilterTableContent();
}
hookupTableMain() {
super.hookupTableMain();
this.hookupNameInput();
this.hookupWebsiteInput();
}
hookupNameInput() {
let selector = '#' + flagName;
Events.initialiseEventHandler(selector, flagInitialised, (nameInput) => {
nameInput.addEventListener("change", (event) => {
nameInput = event.target;
let container = document.querySelector('.' + flagContainer + '.' + flagUser);
let wasDirtyContainer = container.classList.contains(flagDirty);
let wasDirtyElement = nameInput.classList.contains(flagDirty);
let isDirtyElement = DOM.updateAndCheckIsElementDirty(nameInput);
if (isDirtyElement == wasDirtyElement) return;
let isDirtyContainer = DOM.hasDirtyChildrenContainer(container); // wasDirtyContainer || isDirtyElement;
if (isDirtyContainer) {
container.classList.add(flagDirty);
}
else {
container.classList.remove(flagDirty);
}
this.updateAndToggleShowButtonsSaveCancel();
});
});
}
hookupWebsiteInput() {
let selector = '#' + flagWebsite;
Events.initialiseEventHandler(selector, flagInitialised, (websiteInput) => {
websiteInput.addEventListener("change", (event) => {
websiteInput = event.target;
let container = document.querySelector('.' + flagContainer + '.' + flagUser);
let wasDirtyContainer = container.classList.contains(flagDirty);
let wasDirtyElement = websiteInput.classList.contains(flagDirty);
let isDirtyElement = DOM.updateAndCheckIsElementDirty(websiteInput);
if (isDirtyElement == wasDirtyElement) return;
let isDirtyContainer = DOM.hasDirtyChildrenContainer(container); // wasDirtyContainer || isDirtyElement;
if (isDirtyContainer) {
container.classList.add(flagDirty);
}
else {
container.classList.remove(flagDirty);
}
this.updateAndToggleShowButtonsSaveCancel();
});
});
}
leave() {
super.leave();
}
}