90 lines
2.8 KiB
JavaScript
90 lines
2.8 KiB
JavaScript
|
|
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();
|
|
}
|
|
}
|