From 01c39aa8874a80851706ba050211a10ea0eac091 Mon Sep 17 00:00:00 2001 From: WrinklyNinja Date: Fri, 18 Jul 2014 23:12:01 +0100 Subject: [PATCH] Refactored plugin card menu code. Also made some classes IDs, because encapsulation. --- resources/report/css/style.css | 12 +++++ resources/report/js/custom.js | 20 ++++++++ resources/report/js/plugin.js | 13 ----- resources/report/report.html | 87 ++++++++++++++++------------------ 4 files changed, 72 insertions(+), 60 deletions(-) diff --git a/resources/report/css/style.css b/resources/report/css/style.css index 436de7be..c89c6362 100644 --- a/resources/report/css/style.css +++ b/resources/report/css/style.css @@ -282,6 +282,18 @@ li.error{ li.warn{ background:#FFDD55; } +.version{ + color:#6394F8; +} +.crc{ + color:#BC8923; +} +.tag.add { + color:green; +} +.tag.remove { + color:red; +} #settings { width: auto; diff --git a/resources/report/js/custom.js b/resources/report/js/custom.js index 5e78c8ea..1051f6cb 100644 --- a/resources/report/js/custom.js +++ b/resources/report/js/custom.js @@ -25,6 +25,24 @@ /* Create a element type. */ var pluginCardProto = Object.create(HTMLElement.prototype, { + + onMenuItemClick: { + value: function(evt) { + + } + }, + + onMenuClick: { + value: function(evt) { + var section = evt.currentTarget.parentElement.parentElement; + section.querySelector('#editMetadata').addEventListener('click', this.onMenuItemClick, false); + section.querySelector('#copyMetadata').addEventListener('click', this.onMenuItemClick, false); + section.querySelector('#clearMetadata').addEventListener('click', this.onMenuItemClick, false); + + section.querySelector('#menu').classList.toggle('hidden'); + } + }, + createdCallback: { value: function() { @@ -43,6 +61,8 @@ var pluginCardProto = Object.create(HTMLElement.prototype, { version.className = 'version'; this.appendChild(version); + this.shadowRoot.querySelector('#menuButton').addEventListener('click', this.onMenuClick, false); + } } diff --git a/resources/report/js/plugin.js b/resources/report/js/plugin.js index 89f8558a..5fe1a162 100644 --- a/resources/report/js/plugin.js +++ b/resources/report/js/plugin.js @@ -36,16 +36,6 @@ function Plugin(obj) { this.id = this.name.replace(/\s+/g, ''); - Plugin.prototype.onMenuItemClick = function(evt) { - - } - - Plugin.prototype.onMenuClick = function(evt) { - card.querySelector('.editMetadata').addEventListener('click', this.onMenuItemClick, false); - card.querySelector('.editMetadata').addEventListener('click', this.onMenuItemClick, false); - card.querySelector('.editMetadata').addEventListener('click', this.onMenuItemClick, false); - } - Plugin.prototype.getTagsStrings = function () { var tagsAdded = []; var tagsRemoved = []; @@ -116,9 +106,6 @@ function Plugin(obj) { card.setAttribute('data-bsa', this.loadsBSA); card.setAttribute('data-edits', this.userlist != undefined); - card.shadowRoot.querySelector('.pluginMenu').addEventListener('click', this.onMenuClick, false); - - document.getElementById('main').appendChild(card); } diff --git a/resources/report/report.html b/resources/report/report.html index a1135545..1d2778ad 100644 --- a/resources/report/report.html +++ b/resources/report/report.html @@ -24,16 +24,16 @@ transition: 0.6s; transform-style: flat; } - :host([data-active=false]) .activeTick { + :host([data-active=false]) #activeTick { visibility: hidden; } - :host([data-bsa=false]) .loadsBSA { + :host([data-bsa=false]) #loadsBSA { display: none; } - :host([data-dummy=false]) .dummyPlugin { + :host([data-dummy=false]) #dummyPlugin { display: none; } - :host([data-edits=false]) .hasUserEdits { + :host([data-edits=false]) #hasUserEdits { display: none; } @@ -59,7 +59,7 @@ backface-visibility: visible; display:block; } - .icons { + #icons { background: transparent; margin: 0; padding: 0; @@ -69,23 +69,23 @@ right: 0.5em; overflow:visible; } - .icons .fa { + #icons .fa { color: grey; text-align: center; display: inline-block; margin: 0.2em; cursor: pointer; } - .icons > li:hover { + #icons > li:hover { color: black; } - .pluginMenu { + #menuButton { width: 1.5em; text-align: center; margin: 0.2em; cursor: pointer; } - .menu { + #menu { background: white; box-shadow:0 0 3px 0px rgba(0,0,0,0.5); font:10pt/1.5 Helvetica,sans-serif; @@ -98,14 +98,19 @@ opacity: 1; padding:0; color: black; + top: 2em; } - .menu > li { + #menu > li { padding: 0.2em 0.5em; cursor: pointer; + display: block; } - .menu > li:hover { + #menu > li:hover { background:#e3e3e3; } + #menu span { + padding-right: 0.4em; + } ::content h1 { margin: 0; font-weight: normal; @@ -123,28 +128,16 @@ .hidden, ::content .hidden { display: none; } - .activeTick { + #activeTick { color: green; padding-right: 0.5em; } - .version{ - color:#6394F8; - } - .crc{ - color:#BC8923; - } - .tag.add { - color:green; - } - .tag.remove { - color:red; - } - .tableTabs { + #tableTabs { margin: 1.5em 1em; display: table; } - .tableTabs > span { + #tableTabs > span { display: inline-block; padding: 0.5em; border: 1px black solid; @@ -152,13 +145,13 @@ background: #e3e3e3; cursor: pointer; } - .tableTabs > span:not(:first-child) { + #tableTabs > span:not(:first-child) { border-left: none; } - .tableTabs > span:hover, .tableTabs span.selected { + #tableTabs > span:hover, .tableTabs span.selected { background: #f8f8f8; } - .tableTabs .editable { + #tableTabs .editable { margin: 0; border-collapse: collapse; border: 1px black solid; @@ -167,25 +160,25 @@
- + -
    -
  1. -
  2. -
  3. -
  4. - +
      +
    1. +
    2. +
    3. +
    +

@@ -197,9 +190,9 @@
-
+
Load AfterRequirementsIncompatibilitiesMessagesBash TagsDirty Info - +
@@ -207,7 +200,7 @@
FilenameDisplay NameCondition
- + @@ -215,7 +208,7 @@ - + @@ -223,7 +216,7 @@ - + @@ -231,7 +224,7 @@ - + @@ -239,7 +232,7 @@ - +