![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/mautic.corals.io/app/bundles/CoreBundle/Assets/js/ |
Mautic.overflowNavOptions = { "parent": ".nav-overflow-tabs", "more": Mautic.translate('mautic.core.tabs.more') }; /** * Toggle a tab based on published status * * @param el */ Mautic.toggleTabPublished = function(el) { if (mQuery(el).val() === "1" && mQuery(el).prop('checked')) { Mautic.publishTab(el); } else { Mautic.unpublishTab(el); } } /** * Publish a tab * * @param tab */ Mautic.publishTab = function(tab) { mQuery('a[href="#'+Mautic.getTabId(tab)+'"]').find('.fa').removeClass('text-muted').addClass('text-success'); }; /** * Unpublish a tab * * @param tab */ Mautic.unpublishTab = function(tab) { mQuery('a[href="#'+Mautic.getTabId(tab)+'"]').find('.fa').removeClass('text-success').addClass('text-muted'); }; /** * Get the tab ID from the given element * * @param tab * @returns {*} */ Mautic.getTabId = function(tab) { if (!mQuery(tab).hasClass('tab-pane')) { tab = mQuery(tab).closest('.tab-pane'); } return mQuery(tab).attr('id'); }; /** * * @param tabs * @param options */ Mautic.activateOverflowTabs = function(tabs, options) { if (!options) { options = {}; } var localOptions = Mautic.overflowNavOptions; mQuery.extend(localOptions, options); mQuery(tabs).overflowNavs(localOptions); var resizeMe = function(tabs, options) { mQuery(window).on('resize', {tabs: tabs, options: options}, function (event) { mQuery(event.data.tabs).overflowNavs(event.data.options); } ); }; resizeMe(tabs, localOptions); }; /** * Activate sortable tabs * @param tabs */ Mautic.activateSortableTabs = function(tabs) { mQuery(tabs).sortable( { container: 'ul.nav', axis: mQuery(tabs).hasClass('tabs-right') || mQuery(tabs).hasClass('tabs-left') ? 'y' : 'x', stop: function (e, ui) { var action = mQuery(tabs).attr('data-sort-action'); mQuery.ajax({ type: "POST", url: action, data: mQuery(tabs).sortable("serialize", {attribute: 'data-tab-id'}) }); } } ); }; /** * Activate hover delete buttons * * @param container */ Mautic.activateTabDeleteButtons = function(container) { mQuery(container + " .nav.nav-deletable>li a").each( function() { Mautic.activateTabDeleteButton(this); } ); }; /** * Activate hover and click for tab deletes * * @param tab */ Mautic.activateTabDeleteButton = function(tab) { var btn = mQuery('<span class="btn btn-danger btn-xs btn-delete pull-right hide"><i class="ri-close-line"></i></span>') .on('click', function() { return Mautic.deleteTab(btn) } ).appendTo(tab); mQuery(tab).hover( function() { mQuery(btn).removeClass('hide'); }, function () { mQuery(btn).addClass('hide'); } ); }; /** * Delete a tab * * @param tab */ Mautic.deleteTab = function(deleteBtn) { var tab = mQuery(deleteBtn).closest('li'); var tabContent = mQuery(deleteBtn).closest('a').attr('href'); var parent = mQuery(tab).closest('ul'); var wasActive = (mQuery(tab.hasClass('active'))); var action = mQuery(parent).attr('data-delete-action'); if (action) { var success = false; mQuery.ajax({ url: action, type: 'POST', dataType: "json", data: {tab: tabContent}, success: function (response) { if (response && response.success) { mQuery(tab).remove(); mQuery(tabContent).remove(); if (wasActive) { mQuery(parent).find('li:first a').click(); } if (!mQuery(parent).find('li').length) { mQuery('.tab-content .placeholder').removeClass('hide'); } } else { Mautic.stopIconSpinPostEvent(); } } }); } else { mQuery(tab).remove(); mQuery(tabContent).remove(); if (wasActive) { mQuery(parent).find('li:first a').click(); } if (!mQuery(parent).find('li').length) { mQuery('.tab-content .placeholder').removeClass('hide'); } } return false; };