From e9ee4e5e17c45618d5b4336bd3b8d9f607743cf7 Mon Sep 17 00:00:00 2001 From: REJack Date: Wed, 17 Feb 2021 09:18:44 +0100 Subject: [PATCH] enhance IFrame close button & removeActiveTab function --- build/js/IFrame.js | 30 +++++++++++++++++++----------- iframe.html | 11 ++++++++++- 2 files changed, 29 insertions(+), 12 deletions(-) diff --git a/build/js/IFrame.js b/build/js/IFrame.js index 17a4c8609..48acbeb71 100644 --- a/build/js/IFrame.js +++ b/build/js/IFrame.js @@ -170,18 +170,26 @@ class IFrame { } } - removeActiveTab() { - const $navItem = $(`${SELECTOR_TAB_NAVBAR_NAV_ITEM}.active`) - const $navItemParent = $navItem.parent() - const navItemIndex = $navItem.index() - $navItem.remove() - $('.tab-pane.active').remove() - - if ($(SELECTOR_TAB_CONTENT).children().length == $(`${SELECTOR_TAB_EMPTY}, ${SELECTOR_TAB_LOADING}`).length) { + removeActiveTab(type) { + if (type == 'all') { + $(SELECTOR_TAB_NAVBAR_NAV_ITEM).remove() + $(SELECTOR_TAB_PANE).remove() $(SELECTOR_TAB_EMPTY).show() + } else if (type == 'all-other') { + $(`${SELECTOR_TAB_NAVBAR_NAV_ITEM}:not(.active)`).remove() + $(`${SELECTOR_TAB_PANE}:not(.active)`).remove() } else { - const prevNavItemIndex = navItemIndex - 1 - this.switchTab($navItemParent.children().eq(prevNavItemIndex).find('a')) + const $navItem = $(`${SELECTOR_TAB_NAVBAR_NAV_ITEM}.active`) + const $navItemParent = $navItem.parent() + const navItemIndex = $navItem.index() + $navItem.remove() + $(`${SELECTOR_TAB_PANE}.active`).remove() + if ($(SELECTOR_TAB_CONTENT).children().length == $(`${SELECTOR_TAB_EMPTY}, ${SELECTOR_TAB_LOADING}`).length) { + $(SELECTOR_TAB_EMPTY).show() + } else { + const prevNavItemIndex = navItemIndex - 1 + this.switchTab($navItemParent.children().eq(prevNavItemIndex).find('a')) + } } } @@ -248,7 +256,7 @@ class IFrame { }) $(document).on('click', SELECTOR_DATA_TOGGLE_CLOSE, e => { e.preventDefault() - this.removeActiveTab() + this.removeActiveTab(e.target.attributes['data-type'] ? e.target.attributes['data-type'].nodeValue : null) }) $(document).on('click', SELECTOR_DATA_TOGGLE_FULLSCREEN, e => { e.preventDefault() diff --git a/iframe.html b/iframe.html index 5e4fea56a..9ed26842c 100644 --- a/iframe.html +++ b/iframe.html @@ -753,7 +753,16 @@