From d8c260cb3109330295c7dc4bad33a02ee9cb0f39 Mon Sep 17 00:00:00 2001 From: WrinklyNinja Date: Wed, 21 May 2014 11:46:36 +0100 Subject: [PATCH] Added close handling to editor panels. Also fixed some table event handling not being registered correctly. --- resources/report/js/script.js | 30 ++++++++++++++++++++++++++---- resources/report/report.html | 6 ++++-- 2 files changed, 30 insertions(+), 6 deletions(-) diff --git a/resources/report/js/script.js b/resources/report/js/script.js index f209dc08..746753cd 100644 --- a/resources/report/js/script.js +++ b/resources/report/js/script.js @@ -283,6 +283,24 @@ function showEditorTable(evt) { evt.target.parentElement.getElementsByClassName('selected')[0].classList.toggle('selected'); evt.target.classList.toggle('selected'); } +function hideEditor(evt) { + if (evt.target.className.indexOf('accept') != -1) { + + } + var section = evt.target.parentElement.parentElement.parentElement; + + /* Disable priority hover in plugins list. */ + document.getElementById('pluginsNav').classList.toggle('editMode', false); + + /* Enable header buttons. */ + document.getElementsByTagName('header')[0].classList.toggle('editMode', false); + + /* Hide editor. */ + section.classList.toggle('flip'); + + /* Now delete editor panel. */ + section.removeChild(section.getElementsByClassName('editor')[0]); +} function showEditor(sectionId) { /* Editor is attached to plugins on-demand. */ var content = document.getElementById('pluginEditor').content; @@ -292,9 +310,9 @@ function showEditor(sectionId) { editor = section.lastElementChild; /* Fill in data. */ - section.getElementsByTagName('h1')[1].textContent = section.getElementsByTagName('h1')[0].textContent; - section.getElementsByClassName('crc')[1].textContent = section.getElementsByClassName('crc')[0].textContent; - section.getElementsByClassName('version')[1].textContent = section.getElementsByClassName('version')[0].textContent; + editor.getElementsByTagName('h1')[0].textContent = section.getElementsByTagName('h1')[0].textContent; + editor.getElementsByClassName('crc')[0].textContent = section.getElementsByClassName('crc')[0].textContent; + editor.getElementsByClassName('version')[0].textContent = section.getElementsByClassName('version')[0].textContent; /* Initialise tables. */ var tables = editor.getElementsByTagName('table'); @@ -303,7 +321,7 @@ function showEditor(sectionId) { } /* Set up table tab event handlers. */ - var elements = document.getElementsByClassName('tableTabs')[0].children; + var elements = editor.getElementsByClassName('tableTabs')[0].children; for (var i = 0; i < elements.length; ++i) { var tableClass = elements[i].getAttribute('data-for'); if (tableClass) { @@ -311,6 +329,10 @@ function showEditor(sectionId) { } } + /* Set up button event handlers. */ + editor.getElementsByClassName('accept')[0].addEventListener('click', hideEditor, false); + editor.getElementsByClassName('cancel')[0].addEventListener('click', hideEditor, false); + /* Enable priority hover in plugins list. */ document.getElementById('pluginsNav').classList.toggle('editMode', true); diff --git a/resources/report/report.html b/resources/report/report.html index 8002a5ed..c8ae16c1 100644 --- a/resources/report/report.html +++ b/resources/report/report.html @@ -153,8 +153,10 @@ - - +
+ + +