Feat: Assessment page completed with save method combining Assessment, Distraction, Assessment Command Modality Link, and Assessment Response save for creating new complete Assessnent.

This commit is contained in:
2025-07-28 22:41:38 +01:00
parent 1bbe6f0040
commit 574d60442a
122 changed files with 3261 additions and 1057 deletions

View File

@@ -75,6 +75,10 @@
}
#formFilters {
display: none;
}
.container.save.button-cancel {
position: fixed;
top: 10vh;
@@ -124,8 +128,8 @@ table.table-main.assessment_command_modality_link thead tr th.is-in-sight-of-han
table.table-main.assessment_command_modality_link tbody tr td.is-in-sight-of-handler,
table.table-main.assessment_command_modality_link thead tr th.is-on-lead,
table.table-main.assessment_command_modality_link tbody tr td.is-on-lead {
max-width: 4vh;
min-width: 4vh;
max-width: 3vh;
min-width: 3vh;
}
table.table-main.assessment_command_modality_link thead tr th.notes,
table.table-main.assessment_command_modality_link tbody tr td.notes {
@@ -136,8 +140,19 @@ table.table-main.assessment_command_modality_link tbody tr td.notes {
table.table-main.assessment_command_modality_link thead tr th.assessment_response,
table.table-main.assessment_command_modality_link tbody tr td.assessment_response {
max-width: 43vh;
min-width: 43vh;
max-width: 60vh;
min-width: 60vh;
}
table.table-main.assessment_command_modality_link tbody tr td.assessment_response thead tr th.response-quality-metric,
table.table-main.assessment_command_modality_link tbody tr td.assessment_response tbody tr td.response-quality-metric {
max-width: 15vh;
min-width: 15vh;
}
table.table-main.assessment_command_modality_link tbody tr td.assessment_response thead tr th.obedience-level,
table.table-main.assessment_command_modality_link tbody tr td.assessment_response tbody tr td.obedience-level {
max-width: 15vh;
min-width: 15vh;
}
/*# sourceMappingURL=dog_assessment.bundle.css.map*/

File diff suppressed because one or more lines are too long

View File

@@ -842,6 +842,62 @@ var API = /*#__PURE__*/function () {
return _saveCommandButtonLinks.apply(this, arguments);
}
return saveCommandButtonLinks;
}() // Assessments
}, {
key: "saveAssessments",
value: function () {
var _saveAssessments = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee9(assessments, formFilters, comment) {
var dataRequest;
return _regeneratorRuntime().wrap(function _callee9$(_context9) {
while (1) switch (_context9.prev = _context9.next) {
case 0:
dataRequest = {};
dataRequest[flagFormFilters] = DOM.convertForm2JSON(formFilters);
dataRequest[flagAssessment] = assessments;
dataRequest[flagComment] = comment;
_context9.next = 6;
return API.request(hashSaveDogAssessment, 'POST', dataRequest);
case 6:
return _context9.abrupt("return", _context9.sent);
case 7:
case "end":
return _context9.stop();
}
}, _callee9);
}));
function saveAssessments(_x20, _x21, _x22) {
return _saveAssessments.apply(this, arguments);
}
return saveAssessments;
}() // Assessments
}, {
key: "saveAssessmentsDistractionsAndResponses",
value: function () {
var _saveAssessmentsDistractionsAndResponses = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee10(assessments, formFilters, comment) {
var filtersJson, dataRequest;
return _regeneratorRuntime().wrap(function _callee10$(_context10) {
while (1) switch (_context10.prev = _context10.next) {
case 0:
filtersJson = DOM.convertForm2JSON(formFilters);
filtersJson[attrIdAssessment] = null;
dataRequest = {};
dataRequest[flagFormFilters] = filtersJson;
dataRequest[flagAssessment] = assessments;
dataRequest[flagComment] = comment;
_context10.next = 8;
return API.request(hashSaveDogAssessmentDistractionAndResponse, 'POST', dataRequest);
case 8:
return _context10.abrupt("return", _context10.sent);
case 9:
case "end":
return _context10.stop();
}
}, _callee10);
}));
function saveAssessmentsDistractionsAndResponses(_x23, _x24, _x25) {
return _saveAssessmentsDistractionsAndResponses.apply(this, arguments);
}
return saveAssessmentsDistractionsAndResponses;
}()
}]);
}();
@@ -941,6 +997,7 @@ function base_toPrimitive(t, r) { if ("object" != base_typeof(t) || !t) return t
var BasePage = /*#__PURE__*/function () {
function BasePage(router) {
base_classCallCheck(this, BasePage);
@@ -1150,7 +1207,7 @@ var BasePage = /*#__PURE__*/function () {
key: "hookupButtonSave",
value: function hookupButtonSave() {
var _this4 = this;
Events.initialiseEventHandler('form.' + flagFilter + ' button.' + flagSave, flagInitialised, function (button) {
Events.initialiseEventHandler('.' + flagContainer + '.' + flagSave + '.' + flagCancel + ' button.' + flagSave, flagInitialised, function (button) {
button.addEventListener("click", function (event) {
event.stopPropagation();
button = event.target;
@@ -1181,10 +1238,17 @@ var BasePage = /*#__PURE__*/function () {
}, {
key: "toggleShowButtonsSaveCancel",
value: function toggleShowButtonsSaveCancel(show) {
var buttonContainerSelector = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '.' + flagContainer + '.' + flagSave + '.' + flagCancel;
var buttonContainerSelector = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
// , buttonSave = null, buttonCancel = null
var buttonSave = document.querySelector(buttonContainerSelector + ' button.' + flagSave);
var buttonCancel = document.querySelector(buttonContainerSelector + ' button.' + flagCancel);
if (Validation.isEmpty(buttonContainerSelector)) buttonContainerSelector = '.' + flagContainer + '.' + flagSave + '.' + flagCancel;
var buttonSave = document.querySelector(buttonContainerSelector + ' ' + idButtonSave);
var buttonCancel = document.querySelector(buttonContainerSelector + ' ' + idButtonCancel);
utils_Utils.consoleLogIfNotProductionEnvironment({
show: show,
buttonContainerSelector: buttonContainerSelector,
buttonCancel: buttonCancel,
buttonSave: buttonSave
});
if (show) {
buttonCancel.classList.remove(flagIsCollapsed);
buttonSave.classList.remove(flagIsCollapsed);
@@ -5375,7 +5439,7 @@ var TableBasePage = /*#__PURE__*/function (_BasePage) {
key: "hookupButtonCancel",
value: function hookupButtonCancel() {
var _this11 = this;
Events.initialiseEventHandler(idFormFilters + ' button.' + flagCancel, flagInitialised, function (button) {
Events.initialiseEventHandler('.' + flagContainer + '.' + flagSave + '.' + flagCancel + ' button.' + flagCancel, flagInitialised, function (button) {
button.addEventListener("click", function (event) {
event.stopPropagation();
button = event.target;
@@ -5967,6 +6031,12 @@ var TableBasePage = /*#__PURE__*/function (_BasePage) {
var isDirtyMainTable = records.length > 0;
var formFilters = TableBasePage.getFormFilters();
var areDirtyFilters = DOM.hasDirtyChildrenContainer(formFilters);
console.log({
records: records,
isDirtyMainTable: isDirtyMainTable,
formFilters: formFilters,
areDirtyFilters: areDirtyFilters
});
this.toggleShowButtonsSaveCancel(isDirtyMainTable && !areDirtyFilters);
}
}], [{
@@ -6899,7 +6969,7 @@ var PageDogAssessment = /*#__PURE__*/function (_TableBasePage) {
var _this;
assessment_classCallCheck(this, PageDogAssessment);
_this = assessment_callSuper(this, PageDogAssessment, [router]);
assessment_defineProperty(_this, "callSaveTableContent", API.saveAssessments);
assessment_defineProperty(_this, "callSaveTableContent", API.saveAssessmentsDistractionsAndResponses);
_this.dogMixin = new DogTableMixinPage(_this);
return _this;
}
@@ -6920,18 +6990,151 @@ var PageDogAssessment = /*#__PURE__*/function (_TableBasePage) {
utils_Utils.consoleLogIfNotProductionEnvironment("applying data row: ", rowJson);
}
}
}, {
key: "getTableRecords",
value: function getTableRecords() {
var dirtyOnly = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
dirtyOnly = true;
var row = document.querySelector(idTableAssessment + ' tbody tr.' + flagAssessment);
return [this.getJsonRow(row)];
}
}, {
key: "getJsonRow",
value: function getJsonRow(row) {
console.log("getJsonRow: ", row);
if (row == null) return;
/*
let inputTemperatureCelcius = row.querySelector('td.' + flagTemperatureCelcius + ' input');
let buttonActive = row.querySelector('td.' + flagActive + ' .' + flagActive);
*/
var inputWeather = row.querySelector(idTableAssessment + ' td.' + flagWeather + ' .' + flagWeather);
var inputLightingLevel = row.querySelector(idTableAssessment + ' td.' + flagLightingLevel + ' .' + flagLightingLevel);
var inputTemeratureCelcius = row.querySelector(idTableAssessment + ' td.' + flagTemperatureCelcius + ' .' + flagTemperatureCelcius);
var inputLocation = row.querySelector(idTableAssessment + ' td.' + flagLocation + ' .' + flagLocation);
var inputUserHandler = row.querySelector(idTableAssessment + ' td.' + flagUserHandler + ' .' + flagUserHandler);
var inputNotes = row.querySelector(idTableAssessment + ' td.' + flagNotes + ' .' + flagNotes);
// let buttonActive = row.querySelector(idTableAssessment + ' td.' + flagActive + ' .' + flagButton + '.' + flagIcon + '.' + flagActive);
var idAssessment = row.getAttribute(attrIdAssessment);
var jsonRow = {};
jsonRow[attrIdAssessment] = row.getAttribute(attrIdAssessment);
jsonRow[attrIdAssessment] = idAssessment;
jsonRow[attrIdWeather] = DOM.getElementAttributeValueCurrent(inputWeather);
jsonRow[attrIdLightingLevel] = DOM.getElementAttributeValueCurrent(inputLightingLevel);
jsonRow[flagTemperatureCelcius] = DOM.getElementAttributeValueCurrent(inputTemeratureCelcius);
jsonRow[attrIdLocation] = DOM.getElementAttributeValueCurrent(inputLocation);
jsonRow[flagUserHandler] = DOM.getElementAttributeValueCurrent(inputUserHandler);
jsonRow[flagNotes] = DOM.getElementAttributeValueCurrent(inputNotes);
jsonRow[flagActive] = true; // buttonActive.classList.contains(flagDelete);
jsonRow[flagDistraction] = this.getDirtyDistractions(idAssessment);
jsonRow[flagAssessmentCommandModalityLink] = this.getDirtyAssessmentCommandModalityLinks(idAssessment);
console.log({
jsonRow: jsonRow
});
return jsonRow;
}
}, {
key: "getDirtyDistractions",
value: function getDirtyDistractions(idAssessment) {
var dirtyRows = document.querySelectorAll(idTableDistractions + ' tbody tr.' + flagDistraction + '.' + flagDirty);
if (dirtyRows == null || dirtyRows.length == 0) return [];
// dirtyRows = Array.from(dirtyRows);
var dirtyRow, inputDistractionType, distractionType, inputIntensityLevelEmotional, intensityLevelEmotional, inputIntensityLevelScent, intensityLevelScent, inputIntensityLevelSight, intensityLevelSight, inputIntensityLevelSound, intensityLevelSound, inputIntensityLevelTouch, intensityLevelTouch, inputQuantity, quantity, inputProximityMetres, proximityMetres, inputNotes, notes, buttonActive, active;
console.log('getDirtyDistractions');
console.log({
dirtyRows: dirtyRows
});
var dirtyDistractions = [];
for (var indexRow = 0; indexRow < dirtyRows.length; indexRow++) {
var _dirtyDistractions$pu;
dirtyRow = dirtyRows[indexRow];
inputDistractionType = dirtyRow.querySelector('td.' + flagDistractionType + ' .' + flagDistractionType);
distractionType = DOM.getElementAttributeValueCurrent(inputDistractionType);
inputIntensityLevelEmotional = dirtyRow.querySelector('td.' + flagDistractionIntensityLevelEmotional + ' .' + flagDistractionIntensityLevelEmotional);
intensityLevelEmotional = DOM.getElementAttributeValueCurrent(inputIntensityLevelEmotional);
inputIntensityLevelScent = dirtyRow.querySelector('td.' + flagDistractionIntensityLevelScent + ' .' + flagDistractionIntensityLevelScent);
intensityLevelScent = DOM.getElementAttributeValueCurrent(inputIntensityLevelScent);
inputIntensityLevelSight = dirtyRow.querySelector('td.' + flagDistractionIntensityLevelSight + ' .' + flagDistractionIntensityLevelSight);
intensityLevelSight = DOM.getElementAttributeValueCurrent(inputIntensityLevelSight);
inputIntensityLevelSound = dirtyRow.querySelector('td.' + flagDistractionIntensityLevelSound + ' .' + flagDistractionIntensityLevelSound);
intensityLevelSound = DOM.getElementAttributeValueCurrent(inputIntensityLevelSound);
inputIntensityLevelTouch = dirtyRow.querySelector('td.' + flagDistractionIntensityLevelTouch + ' .' + flagDistractionIntensityLevelTouch);
intensityLevelTouch = DOM.getElementAttributeValueCurrent(inputIntensityLevelTouch);
inputQuantity = dirtyRow.querySelector('td.' + flagQuantity + ' .' + flagQuantity);
quantity = DOM.getElementAttributeValueCurrent(inputQuantity);
inputProximityMetres = dirtyRow.querySelector('td.' + flagProximityMetres + ' .' + flagProximityMetres);
proximityMetres = DOM.getElementAttributeValueCurrent(inputProximityMetres);
inputNotes = dirtyRow.querySelector('td.' + flagNotes + ' .' + flagNotes);
notes = DOM.getElementAttributeValueCurrent(inputNotes);
buttonActive = dirtyRow.querySelector(idTableDistractions + ' td.' + flagActive + ' .' + flagButton + '.' + flagIcon + '.' + flagActive);
active = buttonActive.classList.contains(flagDelete);
dirtyDistractions.push((_dirtyDistractions$pu = {}, assessment_defineProperty(assessment_defineProperty(assessment_defineProperty(assessment_defineProperty(assessment_defineProperty(assessment_defineProperty(assessment_defineProperty(assessment_defineProperty(assessment_defineProperty(assessment_defineProperty(_dirtyDistractions$pu, attrIdDistraction, dirtyRow.getAttribute(attrIdDistraction)), attrIdAssessment, idAssessment), attrIdDistractionType, distractionType), flagDistractionIntensityLevelEmotional, intensityLevelEmotional), flagDistractionIntensityLevelScent, intensityLevelScent), flagDistractionIntensityLevelSight, intensityLevelSight), flagDistractionIntensityLevelSound, intensityLevelSound), flagDistractionIntensityLevelTouch, intensityLevelTouch), flagQuantity, quantity), flagProximityMetres, proximityMetres), assessment_defineProperty(assessment_defineProperty(_dirtyDistractions$pu, flagNotes, notes), flagActive, active)));
}
;
return dirtyDistractions;
}
}, {
key: "getDirtyAssessmentCommandModalityLinks",
value: function getDirtyAssessmentCommandModalityLinks(idAssessment) {
var dirtyRows = document.querySelectorAll(idTableAssessmentCommandModalityLinks + ' > tbody > tr.' + flagAssessmentCommandModalityLink + '.' + flagDirty);
if (dirtyRows == null || dirtyRows.length == 0) return [];
dirtyRows = Array.from(dirtyRows);
var dirtyRow, idAssessmentCommandModalityLink, inputCommand, command, inputCommandModality, commandModality, inputBribe, bribe, inputDistanceFromHandler, distanceFromhandler, inputIsInHearingRangeOfHandler, isInHearingRangeOfHandler, inputIsInScentRangeOfHandler, isInScentRangeOfHandler, inputIsInSightOfHandler, isInSightOfHandler, inputIsOnLead, isOnLead, inputNotes, notes, buttonActive, active;
console.log('getDirtyAssessmentCommandModalityLinks');
console.log({
dirtyRows: dirtyRows
});
var dirtyLinks = [];
for (var indexRow = 0; indexRow < dirtyRows.length; indexRow++) {
var _dirtyLinks$push;
dirtyRow = dirtyRows[indexRow];
idAssessmentCommandModalityLink = dirtyRow.getAttribute(attrIdAssessmentCommandModalityLink);
inputCommand = dirtyRow.querySelector('td.' + flagCommand + ' .' + flagCommand);
command = DOM.getElementAttributeValueCurrent(inputCommand);
inputCommandModality = dirtyRow.querySelector('td.' + flagCommandModality + ' .' + flagCommandModality);
commandModality = DOM.getElementAttributeValueCurrent(inputCommandModality);
inputBribe = dirtyRow.querySelector('td.' + flagBribe + ' .' + flagBribe);
bribe = DOM.getElementAttributeValueCurrent(inputBribe);
inputDistanceFromHandler = dirtyRow.querySelector('td.' + flagDistanceFromHandlerMetres + ' .' + flagDistanceFromHandlerMetres);
distanceFromhandler = DOM.getElementAttributeValueCurrent(inputDistanceFromHandler);
inputIsInHearingRangeOfHandler = dirtyRow.querySelector('td.' + flagIsInHearingRangeOfHandler + ' .' + flagIsInHearingRangeOfHandler);
isInHearingRangeOfHandler = DOM.getElementAttributeValueCurrent(inputIsInHearingRangeOfHandler);
inputIsInScentRangeOfHandler = dirtyRow.querySelector('td.' + flagIsInScentRangeOfHandler + ' .' + flagIsInScentRangeOfHandler);
isInScentRangeOfHandler = DOM.getElementAttributeValueCurrent(inputIsInScentRangeOfHandler);
inputIsInSightOfHandler = dirtyRow.querySelector('td.' + flagIsInSightOfHandler + ' .' + flagIsInSightOfHandler);
isInSightOfHandler = DOM.getElementAttributeValueCurrent(inputIsInSightOfHandler);
inputIsOnLead = dirtyRow.querySelector('td.' + flagIsOnLead + ' .' + flagIsOnLead);
isOnLead = DOM.getElementAttributeValueCurrent(inputIsOnLead);
inputNotes = dirtyRow.querySelector('td.' + flagNotes + ' .' + flagNotes);
notes = DOM.getElementAttributeValueCurrent(inputNotes);
buttonActive = dirtyRow.querySelector(idTableAssessmentCommandModalityLinks + ' td.' + flagActive + ' .' + flagButton + '.' + flagIcon + '.' + flagActive);
active = buttonActive.classList.contains(flagDelete);
dirtyLinks.push((_dirtyLinks$push = {}, assessment_defineProperty(assessment_defineProperty(assessment_defineProperty(assessment_defineProperty(assessment_defineProperty(assessment_defineProperty(assessment_defineProperty(assessment_defineProperty(assessment_defineProperty(assessment_defineProperty(_dirtyLinks$push, attrIdAssessmentCommandModalityLink, idAssessmentCommandModalityLink), attrIdAssessment, idAssessment), attrIdCommand, command), attrIdCommandModality, commandModality), attrIdBribe, bribe), flagDistanceFromHandlerMetres, distanceFromhandler), flagIsInHearingRangeOfHandler, isInHearingRangeOfHandler), flagIsInScentRangeOfHandler, isInScentRangeOfHandler), flagIsInSightOfHandler, isInSightOfHandler), flagIsOnLead, isOnLead), assessment_defineProperty(assessment_defineProperty(assessment_defineProperty(_dirtyLinks$push, flagNotes, notes), flagActive, active), flagAssessmentResponse, this.getDirtyAssessmentResponses(dirtyRow, idAssessmentCommandModalityLink))));
}
return dirtyLinks;
}
}, {
key: "getDirtyAssessmentResponses",
value: function getDirtyAssessmentResponses(rowAssessmentCommandModalityLink, idAssessmentCommandModalityLink) {
var dirtyRows = rowAssessmentCommandModalityLink.querySelectorAll(idTableAssessmentResponses + ' tbody tr.' + flagAssessmentResponse + '.' + flagDirty);
if (dirtyRows == null || dirtyRows.length == 0) return [];
dirtyRows = Array.from(dirtyRows);
var dirtyRow, inputResponseQualityMetric, responseQualityMetric, inputObedienceLevel, obedienceLevel, inputValueMeasured, valueMeasured, inputNotes, notes, buttonActive, active;
console.log('getDirtyAssessmentResponses');
console.log({
dirtyRows: dirtyRows
});
var dirtyResponses = [];
for (var indexRow = 0; indexRow < dirtyRows.length; indexRow++) {
dirtyRow = dirtyRows[indexRow];
inputResponseQualityMetric = dirtyRow.querySelector('td.' + flagResponseQualityMetric + ' .' + flagResponseQualityMetric);
responseQualityMetric = DOM.getElementAttributeValueCurrent(inputResponseQualityMetric);
inputObedienceLevel = dirtyRow.querySelector('td.' + flagObedienceLevel + ' .' + flagObedienceLevel);
obedienceLevel = DOM.getElementAttributeValueCurrent(inputObedienceLevel);
inputValueMeasured = dirtyRow.querySelector('td.' + flagValueMeasured + ' .' + flagValueMeasured);
valueMeasured = DOM.getElementAttributeValueCurrent(inputValueMeasured);
inputNotes = dirtyRow.querySelector('td.' + flagNotes + ' .' + flagNotes);
notes = DOM.getElementAttributeValueCurrent(inputNotes);
buttonActive = dirtyRow.querySelector(idTableAssessmentResponses + ' td.' + flagActive + ' .' + flagButton + '.' + flagIcon + '.' + flagActive);
active = buttonActive.classList.contains(flagDelete);
dirtyResponses.push(assessment_defineProperty(assessment_defineProperty(assessment_defineProperty(assessment_defineProperty(assessment_defineProperty(assessment_defineProperty(assessment_defineProperty({}, attrIdAssessmentResponse, dirtyRow.getAttribute(attrIdAssessmentResponse)), attrIdAssessmentCommandModalityLink, idAssessmentCommandModalityLink), attrIdResponseQualityMetric, responseQualityMetric), attrIdObedienceLevel, obedienceLevel), flagValueMeasured, valueMeasured), flagNotes, notes), flagActive, active));
}
return dirtyResponses;
}
}, {
key: "initialiseRowNew",
value: function initialiseRowNew(tbody, row) {}
@@ -6945,6 +7148,16 @@ var PageDogAssessment = /*#__PURE__*/function (_TableBasePage) {
clickableElement.click();
});
}
}, {
key: "callFilterTableContent",
value: function callFilterTableContent() {
if (assessment[attrIdAssessment] < 1) {
var formFilters = TableBasePage.getFormFilters();
var filterAssessment = formFilters.querySelector('#' + attrIdAssessment);
DOM.setElementValueCurrent(filterAssessment, '');
}
assessment_superPropGet(PageDogAssessment, "callFilterTableContent", this, 3)([]);
}
}, {
key: "hookupTableMain",
value: function hookupTableMain() {
@@ -6962,6 +7175,12 @@ var PageDogAssessment = /*#__PURE__*/function (_TableBasePage) {
this.hookupTableAssessmentFieldLocation();
this.hookupTableAssessmentFieldUserHandler();
this.hookupTableAssessmentFieldNotes();
if (assessment[attrIdAssessment] < 1) {
var tbody = document.querySelector(idTableAssessment + ' tbody');
var row = tbody.querySelector('tr');
row.classList.add(flagRowNew);
this.postInitialiseRowNewCallback(tbody);
}
}
}, {
key: "hookupTableAssessmentFieldWeather",
@@ -7148,7 +7367,7 @@ var PageDogAssessment = /*#__PURE__*/function (_TableBasePage) {
this.hookupTableAssessmentCommandModalityLinksFieldsCommand();
this.hookupTableAssessmentCommandModalityLinksFieldsCommandModality();
this.hookupTableAssessmentCommandModalityLinksFieldsBribe();
this.hookupTableAssessmentCommandModalityLinksFieldsDistanceFromHandler();
this.hookupTableAssessmentCommandModalityLinksFieldsDistanceFromHandlerMetres();
this.hookupTableAssessmentCommandModalityLinksFieldsIsInHearingRangeOfHandler();
this.hookupTableAssessmentCommandModalityLinksFieldsIsInScentRangeOfHandler();
this.hookupTableAssessmentCommandModalityLinksFieldsIsInSightOfHandler();
@@ -7228,9 +7447,9 @@ var PageDogAssessment = /*#__PURE__*/function (_TableBasePage) {
this.hookupTableCellDdlPreviews(fieldFlag, optionList, cellSelector);
}
}, {
key: "hookupTableAssessmentCommandModalityLinksFieldsDistanceFromHandler",
value: function hookupTableAssessmentCommandModalityLinksFieldsDistanceFromHandler() {
this.hookupChangeHandlerTableCells(idTableAssessmentCommandModalityLinks + ' td.' + flagDistanceFromHandler + ' .' + flagDistanceFromHandler);
key: "hookupTableAssessmentCommandModalityLinksFieldsDistanceFromHandlerMetres",
value: function hookupTableAssessmentCommandModalityLinksFieldsDistanceFromHandlerMetres() {
this.hookupChangeHandlerTableCells(idTableAssessmentCommandModalityLinks + ' td.' + flagDistanceFromHandlerMetres + ' .' + flagDistanceFromHandlerMetres);
}
}, {
key: "hookupTableAssessmentCommandModalityLinksFieldsIsInHearingRangeOfHandler",
@@ -7270,6 +7489,8 @@ var PageDogAssessment = /*#__PURE__*/function (_TableBasePage) {
var selector = idTableAssessmentCommandModalityLinks + ' td.' + flagAssessmentResponse + ' div.' + flagAssessmentResponse;
var handler = function handler(event, element) {
var parentTd = DOM.getCellFromElement(element);
var rowAssessmentCommandModalityLink = parentTd.closest('tr.' + flagAssessmentCommandModalityLink);
var idAssessmentCommandModalityLink = rowAssessmentCommandModalityLink.getAttribute(attrIdAssessmentCommandModalityLink);
var responsesTable = document.createElement("table");
responsesTable.id = idTableAssessmentResponses.replace("#", "");
responsesTable.classList.add(flagTableMain, flagAssessmentResponse);
@@ -7299,16 +7520,42 @@ var PageDogAssessment = /*#__PURE__*/function (_TableBasePage) {
head.appendChild(headRow);
responsesTable.appendChild(head);
var body = document.createElement("tbody");
var assessmentCommandModalityLink = assessment[flagAssessmentCommandModalityLink];
var assessmentCommandModalityLinks = assessment[flagAssessmentCommandModalityLink].filter(function (link) {
return link[attrIdAssessmentCommandModalityLink] == idAssessmentCommandModalityLink;
});
var assessmentCommandModalityLink = assessmentCommandModalityLinks == null || assessmentCommandModalityLinks.length == 0 ? null : assessmentCommandModalityLinks[0];
var responses = assessmentCommandModalityLink == null ? null : assessmentCommandModalityLink[flagAssessmentResponse];
console.log({
assessmentCommandModalityLinks: assessmentCommandModalityLinks,
responses: responses
});
if (responses != null && responses.length > 0) {
for (var response in responses) {
for (var responseKey in Object.keys(responses)) {
var response = responses[responseKey];
var row = PageDogAssessment.createNewRowTableAssessmentResponses(response);
body.appendChild(row);
}
}
responsesTable.appendChild(body);
parentTd.innerHTML = responsesTable.outerHTML;
var responseRows = parentTd.querySelectorAll('tbody tr.' + flagAssessmentResponse);
if (responseRows != null && responseRows.length > 0) {
for (var indexRow = 0; indexRow < responseRows.length; indexRow++) {
var _row = responseRows[indexRow];
// let idAssessmentResponse = row.getAttribute(attrIdAssessmentResponse);
var _response = responses[indexRow]; // idAssessmentResponse];
console.log({
indexRow: indexRow,
row: _row,
response: _response
}); // idAssessmentResponse,
var inputValueMeasured = _row.querySelector('td.' + flagValueMeasured + ' .' + flagValueMeasured);
DOM.setElementValueCurrent(inputValueMeasured, _response[flagValueMeasured]);
var inputNotes = _row.querySelector('td.' + flagNotes + ' .' + flagNotes);
DOM.setElementValueCurrent(inputNotes, _response[flagNotes]);
}
}
_this3.hookupTablesAssessmentResponses();
};
Events.hookupEventHandler(eventType, selector, handler);
@@ -7369,7 +7616,7 @@ var PageDogAssessment = /*#__PURE__*/function (_TableBasePage) {
row.querySelectorAll('.' + flagInitialised).forEach(function (element) {
element.classList.remove(flagInitialised);
});
var countRows = document.querySelectorAll(attrIdAssessmentResponse + ' > tbody > tr').length;
var countRows = document.querySelectorAll(idTableAssessmentResponses + ' > tbody > tr').length;
row.setAttribute(attrIdAssessmentResponse, -1 - countRows);
tbody.prepend(row);
tbody.scrollTop = 0;
@@ -7441,7 +7688,10 @@ var PageDogAssessment = /*#__PURE__*/function (_TableBasePage) {
}], [{
key: "createNewRowTableAssessmentResponses",
value: function createNewRowTableAssessmentResponses(response) {
if (response == null) response = assessment_defineProperty(assessment_defineProperty(assessment_defineProperty(assessment_defineProperty(assessment_defineProperty(assessment_defineProperty({}, attrIdAssessmentResponse, null), flagResponseQualityMetric, 0), flagObedienceLevel, 0), flagValueMeasured, ''), flagNotes, ''), flagActive, true);
if (response == null) response = assessment_defineProperty(assessment_defineProperty(assessment_defineProperty(assessment_defineProperty(assessment_defineProperty(assessment_defineProperty({}, attrIdAssessmentResponse, null), attrIdResponseQualityMetric, assessment_defineProperty({}, attrIdResponseQualityMetric, 0)), attrIdObedienceLevel, assessment_defineProperty({}, attrIdObedienceLevel, 0)), flagValueMeasured, ''), flagNotes, ''), flagActive, true);
console.log({
response: response
});
var isNew = response[attrIdAssessmentResponse] == null || response[attrIdAssessmentResponse] < 1;
var row = document.createElement("tr");
row.classList.add(flagAssessmentResponse);
@@ -7451,16 +7701,20 @@ var PageDogAssessment = /*#__PURE__*/function (_TableBasePage) {
tdResponseQualityMetric.classList.add(flagResponseQualityMetric, flagDdlPreview);
var divResponseQualityMetric = document.createElement("div");
divResponseQualityMetric.classList.add(flagResponseQualityMetric);
DOM.setElementAttributesValuesCurrentAndPrevious(divResponseQualityMetric, response[flagResponseQualityMetric]);
divResponseQualityMetric.innerText = response[flagResponseQualityMetric];
var idResponseQualityMetric = response[attrIdResponseQualityMetric][attrIdResponseQualityMetric];
var responseQualityMetric = filterResponseQualityMetrics[idResponseQualityMetric];
DOM.setElementAttributesValuesCurrentAndPrevious(divResponseQualityMetric, idResponseQualityMetric);
divResponseQualityMetric.innerText = responseQualityMetric == null ? '' : responseQualityMetric[flagName];
tdResponseQualityMetric.appendChild(divResponseQualityMetric);
row.appendChild(tdResponseQualityMetric);
var tdObedienceLevel = document.createElement("td");
tdObedienceLevel.classList.add(flagObedienceLevel, flagDdlPreview);
var divObedienceLevel = document.createElement("div");
divObedienceLevel.classList.add(flagObedienceLevel);
DOM.setElementAttributesValuesCurrentAndPrevious(divObedienceLevel, response[flagObedienceLevel]);
divObedienceLevel.innerText = response[flagObedienceLevel];
var idObedienceLevel = response[attrIdObedienceLevel][attrIdObedienceLevel];
var obedienceLevel = filterObedienceLevels[idObedienceLevel];
DOM.setElementAttributesValuesCurrentAndPrevious(divObedienceLevel, idObedienceLevel);
divObedienceLevel.innerText = obedienceLevel == null ? '' : obedienceLevel[flagName];
tdObedienceLevel.appendChild(divObedienceLevel);
row.appendChild(tdObedienceLevel);
var tdValueMeasured = document.createElement("td");
@@ -7468,18 +7722,26 @@ var PageDogAssessment = /*#__PURE__*/function (_TableBasePage) {
var inputValueMeasured = document.createElement("input");
inputValueMeasured.type = "number";
inputValueMeasured.classList.add(flagValueMeasured);
DOM.setElementAttributesValuesCurrentAndPrevious(inputValueMeasured, response[flagValueMeasured]);
inputValueMeasured.value = response[flagValueMeasured];
var valueMeasured = response[flagValueMeasured];
DOM.setElementValueCurrent(inputValueMeasured, valueMeasured);
DOM.setElementAttributeValuePrevious(inputValueMeasured, valueMeasured);
tdValueMeasured.appendChild(inputValueMeasured);
row.appendChild(tdValueMeasured);
var tdNotes = document.createElement("td");
tdNotes.classList.add(flagNotes, flagDdlPreview);
var inputNotes = document.createElement("textarea");
inputNotes.classList.add(flagNotes);
DOM.setElementAttributesValuesCurrentAndPrevious(inputNotes, response[flagNotes]);
inputNotes.value = response[flagNotes];
var notes = response[flagNotes];
DOM.setElementValueCurrent(inputNotes, notes);
DOM.setElementAttributeValuePrevious(inputNotes, notes);
tdNotes.appendChild(inputNotes);
row.appendChild(tdNotes);
console.log(inputValueMeasured.tagName);
console.log(inputNotes.tagName);
console.log({
valueMeasured: valueMeasured,
notes: notes
});
var tdActive = document.createElement("td");
tdActive.classList.add(flagActive, flagDdlPreview);
var templateAddIcon = document.querySelector(idContainerTemplateElements + ' .' + flagButton + '.' + flagIcon + '.' + flagActive + '.' + flagAdd);
@@ -7618,10 +7880,15 @@ var PageDogAssessments = /*#__PURE__*/function (_TableBasePage) {
value: function postInitialiseRowNewCallback(tbody) {
var newRows = tbody.querySelectorAll('tr.' + flagRowNew);
var newestRow = newRows[0];
var clickableElementsSelector = ['td.' + flagWeather + ' div.' + flagWeather, ',td.' + flagLightingLevel + ' div.' + flagLightingLevel, ',td.' + flagLocation + ' div.' + flagLocation, ',td.' + flagUserHandler + ' div.' + flagUserHandler].join('');
newestRow.querySelectorAll(clickableElementsSelector).forEach(function (clickableElement) {
clickableElement.click();
});
var clickableElementsSelector = ['td.' + flagDetail + ' .' + flagDetail].join('');
var detailButton = newestRow.querySelector('td.' + flagDetail + ' .' + flagDetail); /*.forEach((clickableElement) => {
clickableElement.
clickableElement.click();
});
*/
newestRow.classList.add(flagIsCollapsed);
detailButton.click();
// console.log({ newestRow, detailButton });
}
}, {
key: "hookupTableMain",

File diff suppressed because one or more lines are too long