Edit File by line

Deprecated: str_replace(): Passing null to parameter #2 ($replace) of type array|string is deprecated in /home/sportsfever/public_html/filemanger/function.php on line 93

Warning: Undefined array key "page_file_edit_line" in /home/sportsfever/public_html/filemanger/edit_text_line.php on line 32
/home/sportsfe.../public_h.../wp-admin/js
File: customize-controls.js
section.deferred.embedded.resolve();
[1500] Fix | Delete
});
[1501] Fix | Delete
} );
[1502] Fix | Delete
} else {
[1503] Fix | Delete
// There is no panel, so embed the section in the root of the customizer.
[1504] Fix | Delete
parentContainer = api.ensure( section.containerPaneParent );
[1505] Fix | Delete
if ( ! section.headContainer.parent().is( parentContainer ) ) {
[1506] Fix | Delete
parentContainer.append( section.headContainer );
[1507] Fix | Delete
}
[1508] Fix | Delete
if ( ! section.contentContainer.parent().is( section.headContainer ) ) {
[1509] Fix | Delete
section.containerParent.append( section.contentContainer );
[1510] Fix | Delete
}
[1511] Fix | Delete
section.deferred.embedded.resolve();
[1512] Fix | Delete
}
[1513] Fix | Delete
};
[1514] Fix | Delete
section.panel.bind( inject );
[1515] Fix | Delete
inject( section.panel.get() ); // Since a section may never get a panel, assume that it won't ever get one.
[1516] Fix | Delete
},
[1517] Fix | Delete
[1518] Fix | Delete
/**
[1519] Fix | Delete
* Add behaviors for the accordion section.
[1520] Fix | Delete
*
[1521] Fix | Delete
* @since 4.1.0
[1522] Fix | Delete
*/
[1523] Fix | Delete
attachEvents: function () {
[1524] Fix | Delete
var meta, content, section = this;
[1525] Fix | Delete
[1526] Fix | Delete
if ( section.container.hasClass( 'cannot-expand' ) ) {
[1527] Fix | Delete
return;
[1528] Fix | Delete
}
[1529] Fix | Delete
[1530] Fix | Delete
// Expand/Collapse accordion sections on click.
[1531] Fix | Delete
section.container.find( '.accordion-section-title, .customize-section-back' ).on( 'click keydown', function( event ) {
[1532] Fix | Delete
if ( api.utils.isKeydownButNotEnterEvent( event ) ) {
[1533] Fix | Delete
return;
[1534] Fix | Delete
}
[1535] Fix | Delete
event.preventDefault(); // Keep this AFTER the key filter above.
[1536] Fix | Delete
[1537] Fix | Delete
if ( section.expanded() ) {
[1538] Fix | Delete
section.collapse();
[1539] Fix | Delete
} else {
[1540] Fix | Delete
section.expand();
[1541] Fix | Delete
}
[1542] Fix | Delete
});
[1543] Fix | Delete
[1544] Fix | Delete
// This is very similar to what is found for api.Panel.attachEvents().
[1545] Fix | Delete
section.container.find( '.customize-section-title .customize-help-toggle' ).on( 'click', function() {
[1546] Fix | Delete
[1547] Fix | Delete
meta = section.container.find( '.section-meta' );
[1548] Fix | Delete
if ( meta.hasClass( 'cannot-expand' ) ) {
[1549] Fix | Delete
return;
[1550] Fix | Delete
}
[1551] Fix | Delete
content = meta.find( '.customize-section-description:first' );
[1552] Fix | Delete
content.toggleClass( 'open' );
[1553] Fix | Delete
content.slideToggle( section.defaultExpandedArguments.duration, function() {
[1554] Fix | Delete
content.trigger( 'toggled' );
[1555] Fix | Delete
} );
[1556] Fix | Delete
$( this ).attr( 'aria-expanded', function( i, attr ) {
[1557] Fix | Delete
return 'true' === attr ? 'false' : 'true';
[1558] Fix | Delete
});
[1559] Fix | Delete
});
[1560] Fix | Delete
},
[1561] Fix | Delete
[1562] Fix | Delete
/**
[1563] Fix | Delete
* Return whether this section has any active controls.
[1564] Fix | Delete
*
[1565] Fix | Delete
* @since 4.1.0
[1566] Fix | Delete
*
[1567] Fix | Delete
* @return {boolean}
[1568] Fix | Delete
*/
[1569] Fix | Delete
isContextuallyActive: function () {
[1570] Fix | Delete
var section = this,
[1571] Fix | Delete
controls = section.controls(),
[1572] Fix | Delete
activeCount = 0;
[1573] Fix | Delete
_( controls ).each( function ( control ) {
[1574] Fix | Delete
if ( control.active() ) {
[1575] Fix | Delete
activeCount += 1;
[1576] Fix | Delete
}
[1577] Fix | Delete
} );
[1578] Fix | Delete
return ( activeCount !== 0 );
[1579] Fix | Delete
},
[1580] Fix | Delete
[1581] Fix | Delete
/**
[1582] Fix | Delete
* Get the controls that are associated with this section, sorted by their priority Value.
[1583] Fix | Delete
*
[1584] Fix | Delete
* @since 4.1.0
[1585] Fix | Delete
*
[1586] Fix | Delete
* @return {Array}
[1587] Fix | Delete
*/
[1588] Fix | Delete
controls: function () {
[1589] Fix | Delete
return this._children( 'section', 'control' );
[1590] Fix | Delete
},
[1591] Fix | Delete
[1592] Fix | Delete
/**
[1593] Fix | Delete
* Update UI to reflect expanded state.
[1594] Fix | Delete
*
[1595] Fix | Delete
* @since 4.1.0
[1596] Fix | Delete
*
[1597] Fix | Delete
* @param {boolean} expanded
[1598] Fix | Delete
* @param {Object} args
[1599] Fix | Delete
*/
[1600] Fix | Delete
onChangeExpanded: function ( expanded, args ) {
[1601] Fix | Delete
var section = this,
[1602] Fix | Delete
container = section.headContainer.closest( '.wp-full-overlay-sidebar-content' ),
[1603] Fix | Delete
content = section.contentContainer,
[1604] Fix | Delete
overlay = section.headContainer.closest( '.wp-full-overlay' ),
[1605] Fix | Delete
backBtn = content.find( '.customize-section-back' ),
[1606] Fix | Delete
sectionTitle = section.headContainer.find( '.accordion-section-title' ).first(),
[1607] Fix | Delete
expand, panel;
[1608] Fix | Delete
[1609] Fix | Delete
if ( expanded && ! content.hasClass( 'open' ) ) {
[1610] Fix | Delete
[1611] Fix | Delete
if ( args.unchanged ) {
[1612] Fix | Delete
expand = args.completeCallback;
[1613] Fix | Delete
} else {
[1614] Fix | Delete
expand = function() {
[1615] Fix | Delete
section._animateChangeExpanded( function() {
[1616] Fix | Delete
sectionTitle.attr( 'tabindex', '-1' );
[1617] Fix | Delete
backBtn.attr( 'tabindex', '0' );
[1618] Fix | Delete
[1619] Fix | Delete
backBtn.trigger( 'focus' );
[1620] Fix | Delete
content.css( 'top', '' );
[1621] Fix | Delete
container.scrollTop( 0 );
[1622] Fix | Delete
[1623] Fix | Delete
if ( args.completeCallback ) {
[1624] Fix | Delete
args.completeCallback();
[1625] Fix | Delete
}
[1626] Fix | Delete
} );
[1627] Fix | Delete
[1628] Fix | Delete
content.addClass( 'open' );
[1629] Fix | Delete
overlay.addClass( 'section-open' );
[1630] Fix | Delete
api.state( 'expandedSection' ).set( section );
[1631] Fix | Delete
}.bind( this );
[1632] Fix | Delete
}
[1633] Fix | Delete
[1634] Fix | Delete
if ( ! args.allowMultiple ) {
[1635] Fix | Delete
api.section.each( function ( otherSection ) {
[1636] Fix | Delete
if ( otherSection !== section ) {
[1637] Fix | Delete
otherSection.collapse( { duration: args.duration } );
[1638] Fix | Delete
}
[1639] Fix | Delete
});
[1640] Fix | Delete
}
[1641] Fix | Delete
[1642] Fix | Delete
if ( section.panel() ) {
[1643] Fix | Delete
api.panel( section.panel() ).expand({
[1644] Fix | Delete
duration: args.duration,
[1645] Fix | Delete
completeCallback: expand
[1646] Fix | Delete
});
[1647] Fix | Delete
} else {
[1648] Fix | Delete
if ( ! args.allowMultiple ) {
[1649] Fix | Delete
api.panel.each( function( panel ) {
[1650] Fix | Delete
panel.collapse();
[1651] Fix | Delete
});
[1652] Fix | Delete
}
[1653] Fix | Delete
expand();
[1654] Fix | Delete
}
[1655] Fix | Delete
[1656] Fix | Delete
} else if ( ! expanded && content.hasClass( 'open' ) ) {
[1657] Fix | Delete
if ( section.panel() ) {
[1658] Fix | Delete
panel = api.panel( section.panel() );
[1659] Fix | Delete
if ( panel.contentContainer.hasClass( 'skip-transition' ) ) {
[1660] Fix | Delete
panel.collapse();
[1661] Fix | Delete
}
[1662] Fix | Delete
}
[1663] Fix | Delete
section._animateChangeExpanded( function() {
[1664] Fix | Delete
backBtn.attr( 'tabindex', '-1' );
[1665] Fix | Delete
sectionTitle.attr( 'tabindex', '0' );
[1666] Fix | Delete
[1667] Fix | Delete
sectionTitle.trigger( 'focus' );
[1668] Fix | Delete
content.css( 'top', '' );
[1669] Fix | Delete
[1670] Fix | Delete
if ( args.completeCallback ) {
[1671] Fix | Delete
args.completeCallback();
[1672] Fix | Delete
}
[1673] Fix | Delete
} );
[1674] Fix | Delete
[1675] Fix | Delete
content.removeClass( 'open' );
[1676] Fix | Delete
overlay.removeClass( 'section-open' );
[1677] Fix | Delete
if ( section === api.state( 'expandedSection' ).get() ) {
[1678] Fix | Delete
api.state( 'expandedSection' ).set( false );
[1679] Fix | Delete
}
[1680] Fix | Delete
[1681] Fix | Delete
} else {
[1682] Fix | Delete
if ( args.completeCallback ) {
[1683] Fix | Delete
args.completeCallback();
[1684] Fix | Delete
}
[1685] Fix | Delete
}
[1686] Fix | Delete
}
[1687] Fix | Delete
});
[1688] Fix | Delete
[1689] Fix | Delete
api.ThemesSection = api.Section.extend(/** @lends wp.customize.ThemesSection.prototype */{
[1690] Fix | Delete
currentTheme: '',
[1691] Fix | Delete
overlay: '',
[1692] Fix | Delete
template: '',
[1693] Fix | Delete
screenshotQueue: null,
[1694] Fix | Delete
$window: null,
[1695] Fix | Delete
$body: null,
[1696] Fix | Delete
loaded: 0,
[1697] Fix | Delete
loading: false,
[1698] Fix | Delete
fullyLoaded: false,
[1699] Fix | Delete
term: '',
[1700] Fix | Delete
tags: '',
[1701] Fix | Delete
nextTerm: '',
[1702] Fix | Delete
nextTags: '',
[1703] Fix | Delete
filtersHeight: 0,
[1704] Fix | Delete
headerContainer: null,
[1705] Fix | Delete
updateCountDebounced: null,
[1706] Fix | Delete
[1707] Fix | Delete
/**
[1708] Fix | Delete
* wp.customize.ThemesSection
[1709] Fix | Delete
*
[1710] Fix | Delete
* Custom section for themes that loads themes by category, and also
[1711] Fix | Delete
* handles the theme-details view rendering and navigation.
[1712] Fix | Delete
*
[1713] Fix | Delete
* @constructs wp.customize.ThemesSection
[1714] Fix | Delete
* @augments wp.customize.Section
[1715] Fix | Delete
*
[1716] Fix | Delete
* @since 4.9.0
[1717] Fix | Delete
*
[1718] Fix | Delete
* @param {string} id - ID.
[1719] Fix | Delete
* @param {Object} options - Options.
[1720] Fix | Delete
* @return {void}
[1721] Fix | Delete
*/
[1722] Fix | Delete
initialize: function( id, options ) {
[1723] Fix | Delete
var section = this;
[1724] Fix | Delete
section.headerContainer = $();
[1725] Fix | Delete
section.$window = $( window );
[1726] Fix | Delete
section.$body = $( document.body );
[1727] Fix | Delete
api.Section.prototype.initialize.call( section, id, options );
[1728] Fix | Delete
section.updateCountDebounced = _.debounce( section.updateCount, 500 );
[1729] Fix | Delete
},
[1730] Fix | Delete
[1731] Fix | Delete
/**
[1732] Fix | Delete
* Embed the section in the DOM when the themes panel is ready.
[1733] Fix | Delete
*
[1734] Fix | Delete
* Insert the section before the themes container. Assume that a themes section is within a panel, but not necessarily the themes panel.
[1735] Fix | Delete
*
[1736] Fix | Delete
* @since 4.9.0
[1737] Fix | Delete
*/
[1738] Fix | Delete
embed: function() {
[1739] Fix | Delete
var inject,
[1740] Fix | Delete
section = this;
[1741] Fix | Delete
[1742] Fix | Delete
// Watch for changes to the panel state.
[1743] Fix | Delete
inject = function( panelId ) {
[1744] Fix | Delete
var parentContainer;
[1745] Fix | Delete
api.panel( panelId, function( panel ) {
[1746] Fix | Delete
[1747] Fix | Delete
// The panel has been registered, wait for it to become ready/initialized.
[1748] Fix | Delete
panel.deferred.embedded.done( function() {
[1749] Fix | Delete
parentContainer = panel.contentContainer;
[1750] Fix | Delete
if ( ! section.headContainer.parent().is( parentContainer ) ) {
[1751] Fix | Delete
parentContainer.find( '.customize-themes-full-container-container' ).before( section.headContainer );
[1752] Fix | Delete
}
[1753] Fix | Delete
if ( ! section.contentContainer.parent().is( section.headContainer ) ) {
[1754] Fix | Delete
section.containerParent.append( section.contentContainer );
[1755] Fix | Delete
}
[1756] Fix | Delete
section.deferred.embedded.resolve();
[1757] Fix | Delete
});
[1758] Fix | Delete
} );
[1759] Fix | Delete
};
[1760] Fix | Delete
section.panel.bind( inject );
[1761] Fix | Delete
inject( section.panel.get() ); // Since a section may never get a panel, assume that it won't ever get one.
[1762] Fix | Delete
},
[1763] Fix | Delete
[1764] Fix | Delete
/**
[1765] Fix | Delete
* Set up.
[1766] Fix | Delete
*
[1767] Fix | Delete
* @since 4.2.0
[1768] Fix | Delete
*
[1769] Fix | Delete
* @return {void}
[1770] Fix | Delete
*/
[1771] Fix | Delete
ready: function() {
[1772] Fix | Delete
var section = this;
[1773] Fix | Delete
section.overlay = section.container.find( '.theme-overlay' );
[1774] Fix | Delete
section.template = wp.template( 'customize-themes-details-view' );
[1775] Fix | Delete
[1776] Fix | Delete
// Bind global keyboard events.
[1777] Fix | Delete
section.container.on( 'keydown', function( event ) {
[1778] Fix | Delete
if ( ! section.overlay.find( '.theme-wrap' ).is( ':visible' ) ) {
[1779] Fix | Delete
return;
[1780] Fix | Delete
}
[1781] Fix | Delete
[1782] Fix | Delete
// Pressing the right arrow key fires a theme:next event.
[1783] Fix | Delete
if ( 39 === event.keyCode ) {
[1784] Fix | Delete
section.nextTheme();
[1785] Fix | Delete
}
[1786] Fix | Delete
[1787] Fix | Delete
// Pressing the left arrow key fires a theme:previous event.
[1788] Fix | Delete
if ( 37 === event.keyCode ) {
[1789] Fix | Delete
section.previousTheme();
[1790] Fix | Delete
}
[1791] Fix | Delete
[1792] Fix | Delete
// Pressing the escape key fires a theme:collapse event.
[1793] Fix | Delete
if ( 27 === event.keyCode ) {
[1794] Fix | Delete
if ( section.$body.hasClass( 'modal-open' ) ) {
[1795] Fix | Delete
[1796] Fix | Delete
// Escape from the details modal.
[1797] Fix | Delete
section.closeDetails();
[1798] Fix | Delete
} else {
[1799] Fix | Delete
[1800] Fix | Delete
// Escape from the infinite scroll list.
[1801] Fix | Delete
section.headerContainer.find( '.customize-themes-section-title' ).focus();
[1802] Fix | Delete
}
[1803] Fix | Delete
event.stopPropagation(); // Prevent section from being collapsed.
[1804] Fix | Delete
}
[1805] Fix | Delete
});
[1806] Fix | Delete
[1807] Fix | Delete
section.renderScreenshots = _.throttle( section.renderScreenshots, 100 );
[1808] Fix | Delete
[1809] Fix | Delete
_.bindAll( section, 'renderScreenshots', 'loadMore', 'checkTerm', 'filtersChecked' );
[1810] Fix | Delete
},
[1811] Fix | Delete
[1812] Fix | Delete
/**
[1813] Fix | Delete
* Override Section.isContextuallyActive method.
[1814] Fix | Delete
*
[1815] Fix | Delete
* Ignore the active states' of the contained theme controls, and just
[1816] Fix | Delete
* use the section's own active state instead. This prevents empty search
[1817] Fix | Delete
* results for theme sections from causing the section to become inactive.
[1818] Fix | Delete
*
[1819] Fix | Delete
* @since 4.2.0
[1820] Fix | Delete
*
[1821] Fix | Delete
* @return {boolean}
[1822] Fix | Delete
*/
[1823] Fix | Delete
isContextuallyActive: function () {
[1824] Fix | Delete
return this.active();
[1825] Fix | Delete
},
[1826] Fix | Delete
[1827] Fix | Delete
/**
[1828] Fix | Delete
* Attach events.
[1829] Fix | Delete
*
[1830] Fix | Delete
* @since 4.2.0
[1831] Fix | Delete
*
[1832] Fix | Delete
* @return {void}
[1833] Fix | Delete
*/
[1834] Fix | Delete
attachEvents: function () {
[1835] Fix | Delete
var section = this, debounced;
[1836] Fix | Delete
[1837] Fix | Delete
// Expand/Collapse accordion sections on click.
[1838] Fix | Delete
section.container.find( '.customize-section-back' ).on( 'click keydown', function( event ) {
[1839] Fix | Delete
if ( api.utils.isKeydownButNotEnterEvent( event ) ) {
[1840] Fix | Delete
return;
[1841] Fix | Delete
}
[1842] Fix | Delete
event.preventDefault(); // Keep this AFTER the key filter above.
[1843] Fix | Delete
section.collapse();
[1844] Fix | Delete
});
[1845] Fix | Delete
[1846] Fix | Delete
section.headerContainer = $( '#accordion-section-' + section.id );
[1847] Fix | Delete
[1848] Fix | Delete
// Expand section/panel. Only collapse when opening another section.
[1849] Fix | Delete
section.headerContainer.on( 'click', '.customize-themes-section-title', function() {
[1850] Fix | Delete
[1851] Fix | Delete
// Toggle accordion filters under section headers.
[1852] Fix | Delete
if ( section.headerContainer.find( '.filter-details' ).length ) {
[1853] Fix | Delete
section.headerContainer.find( '.customize-themes-section-title' )
[1854] Fix | Delete
.toggleClass( 'details-open' )
[1855] Fix | Delete
.attr( 'aria-expanded', function( i, attr ) {
[1856] Fix | Delete
return 'true' === attr ? 'false' : 'true';
[1857] Fix | Delete
});
[1858] Fix | Delete
section.headerContainer.find( '.filter-details' ).slideToggle( 180 );
[1859] Fix | Delete
}
[1860] Fix | Delete
[1861] Fix | Delete
// Open the section.
[1862] Fix | Delete
if ( ! section.expanded() ) {
[1863] Fix | Delete
section.expand();
[1864] Fix | Delete
}
[1865] Fix | Delete
});
[1866] Fix | Delete
[1867] Fix | Delete
// Preview installed themes.
[1868] Fix | Delete
section.container.on( 'click', '.theme-actions .preview-theme', function() {
[1869] Fix | Delete
api.panel( 'themes' ).loadThemePreview( $( this ).data( 'slug' ) );
[1870] Fix | Delete
});
[1871] Fix | Delete
[1872] Fix | Delete
// Theme navigation in details view.
[1873] Fix | Delete
section.container.on( 'click', '.left', function() {
[1874] Fix | Delete
section.previousTheme();
[1875] Fix | Delete
});
[1876] Fix | Delete
[1877] Fix | Delete
section.container.on( 'click', '.right', function() {
[1878] Fix | Delete
section.nextTheme();
[1879] Fix | Delete
});
[1880] Fix | Delete
[1881] Fix | Delete
section.container.on( 'click', '.theme-backdrop, .close', function() {
[1882] Fix | Delete
section.closeDetails();
[1883] Fix | Delete
});
[1884] Fix | Delete
[1885] Fix | Delete
if ( 'local' === section.params.filter_type ) {
[1886] Fix | Delete
[1887] Fix | Delete
// Filter-search all theme objects loaded in the section.
[1888] Fix | Delete
section.container.on( 'input', '.wp-filter-search-themes', function( event ) {
[1889] Fix | Delete
section.filterSearch( event.currentTarget.value );
[1890] Fix | Delete
});
[1891] Fix | Delete
[1892] Fix | Delete
} else if ( 'remote' === section.params.filter_type ) {
[1893] Fix | Delete
[1894] Fix | Delete
// Event listeners for remote queries with user-entered terms.
[1895] Fix | Delete
// Search terms.
[1896] Fix | Delete
debounced = _.debounce( section.checkTerm, 500 ); // Wait until there is no input for 500 milliseconds to initiate a search.
[1897] Fix | Delete
section.contentContainer.on( 'input', '.wp-filter-search', function() {
[1898] Fix | Delete
if ( ! api.panel( 'themes' ).expanded() ) {
[1899] Fix | Delete
return;
[1900] Fix | Delete
}
[1901] Fix | Delete
debounced( section );
[1902] Fix | Delete
if ( ! section.expanded() ) {
[1903] Fix | Delete
section.expand();
[1904] Fix | Delete
}
[1905] Fix | Delete
});
[1906] Fix | Delete
[1907] Fix | Delete
// Feature filters.
[1908] Fix | Delete
section.contentContainer.on( 'click', '.filter-group input', function() {
[1909] Fix | Delete
section.filtersChecked();
[1910] Fix | Delete
section.checkTerm( section );
[1911] Fix | Delete
});
[1912] Fix | Delete
}
[1913] Fix | Delete
[1914] Fix | Delete
// Toggle feature filters.
[1915] Fix | Delete
section.contentContainer.on( 'click', '.feature-filter-toggle', function( e ) {
[1916] Fix | Delete
var $themeContainer = $( '.customize-themes-full-container' ),
[1917] Fix | Delete
$filterToggle = $( e.currentTarget );
[1918] Fix | Delete
section.filtersHeight = $filterToggle.parents( '.themes-filter-bar' ).next( '.filter-drawer' ).height();
[1919] Fix | Delete
[1920] Fix | Delete
if ( 0 < $themeContainer.scrollTop() ) {
[1921] Fix | Delete
$themeContainer.animate( { scrollTop: 0 }, 400 );
[1922] Fix | Delete
[1923] Fix | Delete
if ( $filterToggle.hasClass( 'open' ) ) {
[1924] Fix | Delete
return;
[1925] Fix | Delete
}
[1926] Fix | Delete
}
[1927] Fix | Delete
[1928] Fix | Delete
$filterToggle
[1929] Fix | Delete
.toggleClass( 'open' )
[1930] Fix | Delete
.attr( 'aria-expanded', function( i, attr ) {
[1931] Fix | Delete
return 'true' === attr ? 'false' : 'true';
[1932] Fix | Delete
})
[1933] Fix | Delete
.parents( '.themes-filter-bar' ).next( '.filter-drawer' ).slideToggle( 180, 'linear' );
[1934] Fix | Delete
[1935] Fix | Delete
if ( $filterToggle.hasClass( 'open' ) ) {
[1936] Fix | Delete
var marginOffset = 1018 < window.innerWidth ? 50 : 76;
[1937] Fix | Delete
[1938] Fix | Delete
section.contentContainer.find( '.themes' ).css( 'margin-top', section.filtersHeight + marginOffset );
[1939] Fix | Delete
} else {
[1940] Fix | Delete
section.contentContainer.find( '.themes' ).css( 'margin-top', 0 );
[1941] Fix | Delete
}
[1942] Fix | Delete
});
[1943] Fix | Delete
[1944] Fix | Delete
// Setup section cross-linking.
[1945] Fix | Delete
section.contentContainer.on( 'click', '.no-themes-local .search-dotorg-themes', function() {
[1946] Fix | Delete
api.section( 'wporg_themes' ).focus();
[1947] Fix | Delete
});
[1948] Fix | Delete
[1949] Fix | Delete
function updateSelectedState() {
[1950] Fix | Delete
var el = section.headerContainer.find( '.customize-themes-section-title' );
[1951] Fix | Delete
el.toggleClass( 'selected', section.expanded() );
[1952] Fix | Delete
el.attr( 'aria-expanded', section.expanded() ? 'true' : 'false' );
[1953] Fix | Delete
if ( ! section.expanded() ) {
[1954] Fix | Delete
el.removeClass( 'details-open' );
[1955] Fix | Delete
}
[1956] Fix | Delete
}
[1957] Fix | Delete
section.expanded.bind( updateSelectedState );
[1958] Fix | Delete
updateSelectedState();
[1959] Fix | Delete
[1960] Fix | Delete
// Move section controls to the themes area.
[1961] Fix | Delete
api.bind( 'ready', function () {
[1962] Fix | Delete
section.contentContainer = section.container.find( '.customize-themes-section' );
[1963] Fix | Delete
section.contentContainer.appendTo( $( '.customize-themes-full-container' ) );
[1964] Fix | Delete
section.container.add( section.headerContainer );
[1965] Fix | Delete
});
[1966] Fix | Delete
},
[1967] Fix | Delete
[1968] Fix | Delete
/**
[1969] Fix | Delete
* Update UI to reflect expanded state
[1970] Fix | Delete
*
[1971] Fix | Delete
* @since 4.2.0
[1972] Fix | Delete
*
[1973] Fix | Delete
* @param {boolean} expanded
[1974] Fix | Delete
* @param {Object} args
[1975] Fix | Delete
* @param {boolean} args.unchanged
[1976] Fix | Delete
* @param {Function} args.completeCallback
[1977] Fix | Delete
* @return {void}
[1978] Fix | Delete
*/
[1979] Fix | Delete
onChangeExpanded: function ( expanded, args ) {
[1980] Fix | Delete
[1981] Fix | Delete
// Note: there is a second argument 'args' passed.
[1982] Fix | Delete
var section = this,
[1983] Fix | Delete
container = section.contentContainer.closest( '.customize-themes-full-container' );
[1984] Fix | Delete
[1985] Fix | Delete
// Immediately call the complete callback if there were no changes.
[1986] Fix | Delete
if ( args.unchanged ) {
[1987] Fix | Delete
if ( args.completeCallback ) {
[1988] Fix | Delete
args.completeCallback();
[1989] Fix | Delete
}
[1990] Fix | Delete
return;
[1991] Fix | Delete
}
[1992] Fix | Delete
[1993] Fix | Delete
function expand() {
[1994] Fix | Delete
[1995] Fix | Delete
// Try to load controls if none are loaded yet.
[1996] Fix | Delete
if ( 0 === section.loaded ) {
[1997] Fix | Delete
section.loadThemes();
[1998] Fix | Delete
}
[1999] Fix | Delete
It is recommended that you Edit text format, this type of Fix handles quite a lot in one request
Function