From 7f06c07f36f052fa3ad52453c25e1acf3f3d4fb0 Mon Sep 17 00:00:00 2001 From: Rafael Date: Sun, 26 May 2019 10:36:12 -0300 Subject: [PATCH] v8.3.14-dev.34 #1268 --- package.json | 2 +- src/class/Popout.js | 5 +++-- src/modules/General/ContentLoader.js | 7 ++++++- src/modules/Storage.js | 2 +- 4 files changed, 11 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index e39a7314..1f68fbbe 100644 --- a/package.json +++ b/package.json @@ -53,7 +53,7 @@ "webpack-shell-plugin": "0.5.0", "webpack-cli": "^3.1.0" }, - "devVersion": "8.3.14-dev.33", + "devVersion": "8.3.14-dev.34", "homepage": "https://github.com/gsrafael01/ESGST", "keywords": [ "esgst", diff --git a/src/class/Popout.js b/src/class/Popout.js index 6ee7bd30..4749dbf9 100644 --- a/src/class/Popout.js +++ b/src/class/Popout.js @@ -46,7 +46,7 @@ class Popout { }); this.popout.addEventListener(`mouseleave`, event => { timeout = window.setTimeout(() => { - if (event.relatedTarget && !this.context.contains(event.relatedTarget) && (className !== `esgst-qiv-popout` || !event.relatedTarget.closest(`.esgst-popout`))) { + if (event.relatedTarget && !this.context.contains(event.relatedTarget) && ((this.ancestor && this.ancestor.contains(event.relatedTarget)) || !event.relatedTarget.closest(`.esgst-popout`))) { this.context.classList.remove(`esgst-qgs-container-expanded`); this.close(); } @@ -54,7 +54,7 @@ class Popout { }); document.addEventListener(`click`, event => { const element = /** @type {Node} */ event.target; - if (this.context && !this.context.contains(element) && !this.popout.contains(element) && (className !== `esgst-qiv-popout` || !element.closest(`.esgst-popout`))) { + if (this.context && !this.context.contains(element) && !this.popout.contains(element) && ((this.ancestor && this.ancestor.contains(element)) || !element.closest(`.esgst-popout`))) { this.close(); } }, true); @@ -80,6 +80,7 @@ class Popout { open(context = null, isFixed = false) { this.context = context || this.context; + this.ancestor = this.context.closest(`.esgst-popout`);; this.isFixed = isFixed; this.popout.classList.remove(`esgst-hidden`); let n = 9999 + document.querySelectorAll(`.esgst-popup:not(.esgst-hidden), .esgst-popout:not(.esgst-hidden)`).length; diff --git a/src/modules/General/ContentLoader.js b/src/modules/General/ContentLoader.js index ec2c2f22..9c9ea23e 100644 --- a/src/modules/General/ContentLoader.js +++ b/src/modules/General/ContentLoader.js @@ -185,7 +185,9 @@ class GeneralContentLoader extends Module { ]); targetObjs = items.querySelectorAll(selectors); for (const targetObj of targetObjs) { - this.setTrigger(id, {}, targetObj); + if (!targetObj.classList.contains(`esgst-ap-avatar`)) { + this.setTrigger(id, {}, targetObj); + } } } } @@ -261,6 +263,9 @@ class GeneralContentLoader extends Module { enterTimeout = window.setTimeout(async () => { if (id === `cl_gi` || id === `cl_ui`) { triggerObj = shared.esgst.apPopouts[targetObj.id]; + if (triggerObj) { + context = triggerObj.popout; + } } if (triggerObj) { switch (gSettings[`${id}_index`]) { diff --git a/src/modules/Storage.js b/src/modules/Storage.js index abb7abbe..c62e7bed 100644 --- a/src/modules/Storage.js +++ b/src/modules/Storage.js @@ -1252,7 +1252,7 @@ async function manageData(dm, dropbox, googleDrive, oneDrive, space, callback) { case `giveaways`: if (!values) { values = { - main: [`code`, `comments`, `copies`, `creator`, `endTime`, `entries`, `gameId`, `gameName`, `gameSteamId`, `gameType`, `group`, `inviteOnly`, `lastUsed`, `level`, `points`, `regionRestricted`, `started`, `startTime`, `whitelist`, `winners`], + main: [`code`, `comments`, `copies`, `creator`, `endTime`, `entries`, `gameId`, `gameName`, `gameSteamId`, `gameType`, `group`, `inviteOnly`, `lastUsed`, `level`, `numWinners`, `points`, `regionRestricted`, `started`, `startTime`, `whitelist`, `winners`, `v`], ct: [`count`, `readComments`], gb: [`bookmarked`], gdttt: [`visited`],