87 lines
2.7 KiB
JavaScript
87 lines
2.7 KiB
JavaScript
|
|
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();
|
|
}
|
|
}
|