Skip to content

Commit

Permalink
#4036 - Move search extension to core.
Browse files Browse the repository at this point in the history
  • Loading branch information
kprovance committed Nov 6, 2024
1 parent 6036720 commit b04bfff
Show file tree
Hide file tree
Showing 26 changed files with 297 additions and 339 deletions.
30 changes: 24 additions & 6 deletions redux-core/assets/css/redux-admin.css

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion redux-core/assets/css/redux-admin.css.map

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion redux-core/assets/css/redux-admin.min.css

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion redux-core/assets/css/redux-fields.min.css

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion redux-core/assets/css/redux-fields.min.css.map

Large diffs are not rendered by default.

4 changes: 2 additions & 2 deletions redux-core/assets/css/rtl.css

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion redux-core/assets/css/rtl.css.map

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion redux-core/assets/css/rtl.min.css

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

89 changes: 89 additions & 0 deletions redux-core/assets/js/redux.js
Original file line number Diff line number Diff line change
Expand Up @@ -394,6 +394,95 @@ function colorNameToHex( colour ) {
}
);

if ( true === redux.optName.args.search ) {
$( '.redux-container' ).each(
function ( ) {
if ( ! $( this ).hasClass( 'redux-no-sections' ) ) {
$( this ).find( '.redux-main' ).prepend( '<input class="redux_field_search" id="redux_field_search" type="text" placeholder="' + redux.optName.search + '"/>' );
}
}
);

$( '.redux_field_search' ).on(
'keypress',
function ( evt ) {

// Determine where our character code is coming from within the event.
const charCode = evt.charCode || evt.keyCode;

if ( 13 === charCode ) { // Enter key's keycode.
return false;
}
}
).typeWatch(
{
callback: function ( searchString ) {
let searchArray;
let parent;
let expanded_options;

searchString = searchString.toLowerCase();

searchArray = searchString.split( ' ' );
parent = $( this ).parents( '.redux-container:first' );

expanded_options = parent.find( '.expand_options' );

if ( '' !== searchString ) {
if ( ! expanded_options.hasClass( 'expanded' ) ) {
expanded_options.trigger( 'click' );
parent.find( '.redux-main' ).addClass( 'redux-search' );
}
} else {
if ( expanded_options.hasClass( 'expanded' ) ) {
expanded_options.trigger( 'click' );
parent.find( '.redux-main' ).removeClass( 'redux-search' );
}
parent.find( '.redux-section-field, .redux-info-field, .redux-notice-field, .redux-container-group, .redux-section-desc, .redux-group-tab h3' ).show();
}

parent.find( '.redux-field-container' ).each(
function () {
if ( '' !== searchString ) {
$( this ).parents( 'tr:first' ).hide();
} else {
$( this ).parents( 'tr:first' ).show();
}
}
);

parent.find( '.form-table tr' ).filter(
function () {
let isMatch = true, text = $( this ).find( '.redux_field_th' ).text().toLowerCase();

if ( ! text || '' === text ) {
return false;
}

$.each(
searchArray,
function ( i, searchStr ) {
if ( -1 === text.indexOf( searchStr ) ) {
isMatch = false;
}
}
);

if ( isMatch ) {
$( this ).show();
}

return isMatch;
}
).show();
},
wait: 400,
highlight: false,
captureLength: 0
}
);
}

// Customizer save hook.
el.find( '#customize-save-button-wrapper #save' ).on(
'click',
Expand Down
2 changes: 1 addition & 1 deletion redux-core/assets/js/redux.min.js

Large diffs are not rendered by default.

Loading

0 comments on commit b04bfff

Please sign in to comment.