import API from "../../api"; import TableMixinPage from "../mixin_table"; import DOM from "../../dom"; import TableBasePage from "../base_table"; import Utils from "../../lib/utils"; export default class PageUsers extends TableBasePage { static hash = hashPageUserAccounts; static attrIdRowObject = attrUserId; callSaveTableContent = API.saveUsers; constructor(router) { super(router); this.mixin = new TableMixinPage(this); } initialize() { this.sharedInitialize(); } hookupFilters() { this.sharedHookupFilters(); this.hookupFilterActive(); } loadRowTable(rowJson) { if (rowJson == null) return; if (_verbose) { Utils.consoleLogIfNotProductionEnvironment("applying data row: ", rowJson); } } getJsonRow(row) { if (row == null) return; let inputFirstname = row.querySelector('td.' + flagFirstname + ' .' + flagFirstname); let inputSurname = row.querySelector('td.' + flagSurname + ' .' + flagSurname); let inputNotes = row.querySelector('td.' + flagNotes + ' .' + flagNotes); let buttonActive = row.querySelector('td.' + flagActive + ' .' + flagActive); let jsonRow = { [attrUserAuth0Id]: null , [flagEmail]: null , [flagIsEmailVerified]: null , [flagIsSuperUser]: null , [flagCanAdminUser]: null }; jsonRow[attrUserId] = row.getAttribute(attrUserId); jsonRow[flagFirstname] = DOM.getElementAttributeValueCurrent(inputFirstname); jsonRow[flagSurname] = DOM.getElementAttributeValueCurrent(inputSurname); jsonRow[flagNotes] = DOM.getElementAttributeValueCurrent(inputNotes); jsonRow[flagActive] = buttonActive.classList.contains(flagDelete); console.log("jsonRow"); console.log(jsonRow); return jsonRow; } initialiseRowNew(tbody, row) { } postInitialiseRowNewCallback(tbody) { let newRows = tbody.querySelectorAll('tr.' + flagRowNew); let newestRow = newRows[0]; let clickableElementsSelector = [].join(''); newestRow.querySelectorAll(clickableElementsSelector).forEach((clickableElement) => { clickableElement.click(); }); } hookupTableMain() { super.hookupTableMain(); this.hookupFieldsFirstname(); this.hookupFieldsSurname(); this.hookupFieldsNotesTable(); this.hookupFieldsActive(); } hookupFieldsFirstname() { this.hookupChangeHandlerTableCells(flagFirstname); } hookupFieldsSurname() { this.hookupChangeHandlerTableCells(flagSurname); } leave() { super.leave(); } }