mirror of
https://github.com/Combodo/iTop.git
synced 2026-02-13 07:24:13 +01:00
N°4312 Keep selected activity panel tab active when refreshing or modifying an object
This commit is contained in:
@@ -132,6 +132,7 @@ $(function()
|
||||
this._InitializeLockWatcher();
|
||||
}
|
||||
|
||||
this._InitializeCurrentTab();
|
||||
this._ApplyEntriesFilters();
|
||||
this._UpdateMessagesCounters();
|
||||
this._UpdateFiltersCheckboxesFromOptions();
|
||||
@@ -279,6 +280,8 @@ $(function()
|
||||
_onTabTitleClick: function (oEvent, oTabTitleElem) {
|
||||
// Avoid anchor glitch
|
||||
oEvent.preventDefault();
|
||||
let oState = {};
|
||||
const sId = this.element.attr('id');
|
||||
|
||||
const oTabTogglerElem = oTabTitleElem.closest(this.js_selectors.tab_toggler);
|
||||
const sTabType = oTabTogglerElem.attr('data-tab-type');
|
||||
@@ -293,12 +296,17 @@ $(function()
|
||||
{
|
||||
const sCaselogAttCode = oTabTogglerElem.attr('data-caselog-attribute-code');
|
||||
this._ShowCaseLogTab(sCaselogAttCode);
|
||||
oState[sId] = "caselog-"+sCaselogAttCode;
|
||||
}
|
||||
else
|
||||
{
|
||||
this.element.find(this.js_selectors.tab_toolbar + '[data-tab-type="activity"]').addClass(this.css_classes.is_active);
|
||||
this._ShowActivityTab();
|
||||
oState[sId] = "activity";
|
||||
}
|
||||
|
||||
// Add current activity tab to url hash
|
||||
$.bbq.pushState(oState);
|
||||
},
|
||||
/**
|
||||
* @param oInputElem {Object} jQuery object representing the filter's input
|
||||
@@ -590,6 +598,22 @@ $(function()
|
||||
|
||||
return oTabData;
|
||||
},
|
||||
/**
|
||||
* Set a tab active if it's specified in the url
|
||||
* @returns {void}
|
||||
* @private
|
||||
*/
|
||||
_InitializeCurrentTab : function(){
|
||||
const sTabId = $.bbq.getState(this.element.attr('id'), true);
|
||||
if(sTabId !== undefined){
|
||||
if(sTabId.startsWith("caselog-")){
|
||||
this._GetTabTogglerFromCaseLogAttCode(sTabId.replace("caselog-", "")).find(this.js_selectors.tab_title).trigger('click')
|
||||
}
|
||||
else if(sTabId === "activity"){
|
||||
this.element.find(this.js_selectors.tab_toggler + '[data-tab-type="activity"]').find(this.js_selectors.tab_title).trigger('click')
|
||||
}
|
||||
}
|
||||
},
|
||||
/**
|
||||
* @returns {Object} Active tab toolbar jQuery element
|
||||
* @private
|
||||
|
||||
Reference in New Issue
Block a user