import API from "../../api.js"; import DogTableMixinPage from "../dog/mixin_table.js"; import DOM from "../../dom.js"; import TableBasePage from "../base_table.js"; export default class PageUser extends TableBasePage { static hash = hashPageUserAccount; static attrIdRowObject = attrIdUser; callSaveTableContent = API.saveUsers; constructor(router) { super(router); this.dogMixin = new DogTableMixinPage(this); } initialize() { this.sharedInitialize(); this.hookupTableMain(); } hookupFilters() { } loadRowTable(rowJson) { if (rowJson == null) return; if (_verbose) { Utils.consoleLogIfNotProductionEnvironment("applying data row: ", rowJson); } } getTableRecords(dirtyOnly = false) { dirtyOnly = true; let container = document.querySelector('.' + flagCard + '.' + flagUser); return [this.getJsonRow(container)]; } getJsonRow(container) { console.log("getJsonRow: ", container); if (container == null) return; let inputFirstname = container.querySelector(' #' + flagFirstname); let inputSurname = container.querySelector(' #' + flagSurname); let inputEmail = container.querySelector(' #' + flagEmail); let divRole = container.querySelector('.' + flagRole); let idUser = container.getAttribute(attrIdUser); let jsonRow = { [attrIdUserAuth0]: null , [flagEmail]: null , [flagIsEmailVerified]: null , [attrIdCompany]: company[attrIdCompany] , [flagIsSuperUser]: null , [flagCanAdminDog]: null , [flagCanAdminUser]: null , [flagCompany]: null , [flagRole]: null }; jsonRow[attrIdUser] = idUser; jsonRow[attrIdRole] = DOM.getElementAttributeValueCurrent(divRole); jsonRow[flagFirstname] = DOM.getElementAttributeValueCurrent(inputFirstname); jsonRow[flagSurname] = DOM.getElementAttributeValueCurrent(inputSurname); jsonRow[flagEmail] = DOM.getElementAttributeValueCurrent(inputEmail); return jsonRow; } initialiseRowNew(tbody, row) { } postInitialiseRowNewCallback(tbody) { } hookupTableMain() { super.hookupTableMain(); this.hookupFieldsFirstname(); this.hookupFieldsSurname(); this.hookupFieldsEmail(); } hookupFieldsFirstname() { this.hookupChangeHandlerTableCells('.' + flagCard + '.' + flagUser + ' #' + flagFirstname); } hookupFieldsSurname() { this.hookupChangeHandlerTableCells('.' + flagCard + '.' + flagUser + ' #' + flagSurname); } hookupFieldsEmail() { this.hookupChangeHandlerTableCells('.' + flagCard + '.' + flagUser + ' #' + flagEmail); } leave() { super.leave(); } }