101 lines
4.0 KiB
JavaScript
101 lines
4.0 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 "./mixin_table.js";
|
|
|
|
export default class PageDogCalendarEntries extends TableBasePage {
|
|
static hash = hashPageDogCalendarEntries;
|
|
static attrIdRowObject = attrIdCalendarEntry;
|
|
callSaveTableContent = API.saveCalendarEntries;
|
|
|
|
constructor(router) {
|
|
super(router);
|
|
this.dogMixin = new DogTableMixinPage(this);
|
|
}
|
|
|
|
initialize() {
|
|
this.sharedInitialize();
|
|
}
|
|
|
|
hookupFilters() {
|
|
this.sharedHookupFilters();
|
|
// this.hookupFilterCalendarEntryType();
|
|
this.hookupFilterActive();
|
|
}
|
|
/*
|
|
hookupFilterCalendarEntryType() {
|
|
let filterSelector = idFormFilters + ' #' + attrIdCalendarEntryType;
|
|
let filterCalendarEntryTypeOld = document.querySelector(filterSelector);
|
|
filterCalendarEntryTypeOld.removeAttribute('id');
|
|
let parentDiv = filterCalendarEntryTypeOld.parentElement;
|
|
let isChecked = (DOM.getElementAttributeValuePrevious(parentDiv) == "True");
|
|
let filterCalendarEntryTypeNew = document.querySelector(idFormFilters + ' div.' + flagCalendarEntryTypeOnly + '.' + flagContainerInput + ' svg.' + flagCalendarEntryTypeOnly);
|
|
filterCalendarEntryTypeNew.setAttribute('id', flagCalendarEntryTypeOnly);
|
|
if (isChecked) filterCalendarEntryTypeNew.classList.add(flagIsChecked);
|
|
|
|
Events.hookupEventHandler("click", filterSelector, (event, filterCalendarEntryType) => {
|
|
Utils.consoleLogIfNotProductionEnvironment({ filterCalendarEntryType });
|
|
Utils.consoleLogIfNotProductionEnvironment({ [filterCalendarEntryType.tagName]: filterCalendarEntryType.tagName });
|
|
let svgElement = (filterCalendarEntryType.tagName.toUpperCase() == 'SVG') ? filterCalendarEntryType : filterCalendarEntryType.parentElement;
|
|
let wasChecked = svgElement.classList.contains(flagIsChecked);
|
|
if (wasChecked) {
|
|
svgElement.classList.remove(flagIsChecked);
|
|
}
|
|
else {
|
|
svgElement.classList.add(flagIsChecked);
|
|
}
|
|
return this.handleChangeFilter(event, filterCalendarEntryType);
|
|
});
|
|
let filter = document.querySelector(filterSelector);
|
|
let filterValuePrevious = DOM.getElementValueCurrent(filter);
|
|
filter.setAttribute(attrValueCurrent, filterValuePrevious);
|
|
filter.setAttribute(attrValuePrevious, filterValuePrevious);
|
|
}
|
|
*/
|
|
|
|
loadRowTable(rowJson) {
|
|
if (rowJson == null) return;
|
|
if (_verbose) { Utils.consoleLogIfNotProductionEnvironment("applying data row: ", rowJson); }
|
|
}
|
|
getJsonRow(row) {
|
|
Utils.consoleLogIfNotProductionEnvironment({ row });
|
|
if (row == null) return;
|
|
let inputCode = row.querySelector('td.' + flagCode + ' .' + flagCode);
|
|
let inputName = row.querySelector('td.' + flagName + ' .' + flagName);
|
|
let buttonActive = row.querySelector('td.' + flagActive + ' .' + flagActive);
|
|
|
|
console.log("inputCode");
|
|
console.log(inputCode);
|
|
|
|
let jsonRow = {};
|
|
jsonRow[attrIdCalendarEntry] = row.getAttribute(attrIdCalendarEntry);
|
|
jsonRow[flagCode] = DOM.getElementAttributeValueCurrent(inputCode);
|
|
jsonRow[flagName] = DOM.getElementAttributeValueCurrent(inputName);
|
|
jsonRow[flagActive] = buttonActive.classList.contains(flagDelete);
|
|
return jsonRow;
|
|
}
|
|
initialiseRowNew(tbody, row) {
|
|
|
|
}
|
|
postInitialiseRowNewCallback(tbody) {
|
|
// let newRows = tbody.querySelectorAll('tr.' + flagRowNew);
|
|
}
|
|
|
|
hookupTableMain() {
|
|
super.hookupTableMain();
|
|
this.hookupFieldsCodeTable();
|
|
this.hookupFieldsNameTable();
|
|
this.hookupFieldsActive();
|
|
}
|
|
|
|
leave() {
|
|
super.leave();
|
|
}
|
|
}
|
|
|