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(); } }