Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
87 commits
Select commit Hold shift + click to select a range
4042358
Temp commit
truongwp Dec 30, 2025
af5226a
Add forms list settings
truongwp Jan 13, 2026
76a715b
Move Pro columns to Pro
truongwp Jan 13, 2026
ade05d5
Fix JS error of forms list settings
truongwp Jan 28, 2026
24151a2
Completed the forms list settings
truongwp Feb 3, 2026
cc596c2
Improve styling of forms list settings
truongwp Feb 3, 2026
3be6c58
Show form description
truongwp Feb 3, 2026
807b3a0
Merge branch 'master' into redesigned-forms-table
truongwp Feb 4, 2026
53a9e94
Fix typo
truongwp Feb 6, 2026
555d8f2
Fix Rector
truongwp Feb 6, 2026
52a53b8
Fix eslint
truongwp Feb 6, 2026
f3cbfd0
Fix PHPCS
truongwp Feb 6, 2026
7e4c261
Fix PHP CS Fixer
truongwp Feb 6, 2026
184738d
Fix PHPCS
truongwp Feb 10, 2026
8a65f76
Update js/admin/forms-list.js
truongwp Feb 10, 2026
942927e
Update js/admin/forms-list.js
truongwp Feb 10, 2026
5b2df14
Move use strict to global scope
truongwp Feb 10, 2026
417981f
Fix Eslint
truongwp Feb 10, 2026
758a889
Move HTML to a view file
truongwp Feb 10, 2026
ecdf1ee
Temp commit
truongwp Mar 4, 2026
bac5bab
Improve the forms list dropdown
truongwp Mar 4, 2026
8f91df4
Fix show desc not work
truongwp Mar 4, 2026
45fa63a
Merge branch 'master' into redesigned-forms-table
Crabcyborg Mar 16, 2026
2844cc8
Run stylelint and eslint fixes
Crabcyborg Mar 16, 2026
b02b0ba
Merge branch 'master' into redesigned-forms-table
Crabcyborg Mar 16, 2026
d93cdf0
Use double quotes (consistency)
Crabcyborg Mar 16, 2026
9c8aee0
Make the forms list columns setting work with screen options disabled
truongwp Mar 17, 2026
8056141
Merge branch 'redesigned-forms-table' of github.com:Strategy11/formid…
truongwp Mar 17, 2026
52ba979
Make show form desc and forms per page work without Screen Options
truongwp Mar 17, 2026
201e4df
Fix DeepScan
truongwp Mar 17, 2026
ec543f2
Merge branch 'master' into redesigned-forms-table
truongwp Mar 18, 2026
5860232
Fix eslint and Psalm
truongwp Mar 18, 2026
1e37371
Escape the form desc
truongwp Mar 18, 2026
cc4e20e
Use FrmAppHelper::kses
truongwp Mar 18, 2026
4d90a89
Fix PHP CS Fixer
truongwp Mar 18, 2026
e998061
Use Frm settings icon instead of dashicon
truongwp Mar 23, 2026
ae3f4dc
Improve styling of columns setting dropdown
truongwp Mar 25, 2026
1193fc7
Show views count instead of the eye icon
truongwp Apr 3, 2026
2e2f79e
Move form action links
truongwp Apr 6, 2026
8b24b1c
Update forms list column width
truongwp Apr 6, 2026
95060ae
Fix the forms list value not show after enabling a column
truongwp Apr 7, 2026
38a41f7
Merge branch 'master' into redesigned-forms-table
truongwp Apr 7, 2026
98a585c
Check for views add-on exists
truongwp Apr 7, 2026
8994551
Add stubs
truongwp Apr 7, 2026
eedc219
Fix PHPCS
truongwp Apr 7, 2026
32f0d4a
Fix PHPCS
truongwp Apr 7, 2026
43472a5
Fix typo
truongwp Apr 7, 2026
cf4cc86
Fix PHPCS
truongwp Apr 7, 2026
8f13a96
Add Oxlint
truongwp Apr 7, 2026
2d28f44
Skip DeepSource PHP error
truongwp Apr 7, 2026
0c995cb
Skip DeepSource PHP error
truongwp Apr 7, 2026
0ebd048
Add animation to forms list settings
truongwp Apr 13, 2026
a15cc7a
Add animation to columns setting header icon
truongwp Apr 13, 2026
4652e94
Add collapsing animation to column checkboxes
truongwp Apr 13, 2026
3f978ba
Change date column format when show form description
truongwp Apr 13, 2026
a09376d
Remove forms list view switcher
truongwp Apr 13, 2026
51cefca
Improve column checkboxes list styling
truongwp Apr 14, 2026
4042186
Add hover color to columns list settings
truongwp Apr 14, 2026
8f37adb
Add transition to background color
truongwp Apr 14, 2026
3646510
Only deprecate Actions column if Pro is updated
truongwp Apr 14, 2026
2eaf7de
Fix PHP Cs Fixer
truongwp Apr 14, 2026
0a55bb0
Fix PHPCS
truongwp Apr 14, 2026
ed6bd35
Remove e2e test for excerpt view
truongwp Apr 14, 2026
de509f9
Fix PHPStan
truongwp Apr 14, 2026
6c89c4b
Remove more e2e test
truongwp Apr 14, 2026
80c01ad
Merge branch 'master' into redesigned-forms-table
truongwp Apr 17, 2026
83eea01
Reuse view mode instead new user option for form description
truongwp Apr 21, 2026
44d531c
Revert changes in entry count
truongwp Apr 21, 2026
575b5ed
Fix PHPStan
truongwp Apr 21, 2026
c37add0
Change padding of items per page input
truongwp Apr 21, 2026
e473848
Merge branch 'master' into redesigned-forms-table
Crabcyborg Apr 21, 2026
4ed5375
Merge branch 'master' into redesigned-forms-table
Crabcyborg Apr 21, 2026
8a9c6ef
Run phpcbf with new sniff fix
Crabcyborg Apr 21, 2026
65451e0
Remove unnecessary code
truongwp Apr 22, 2026
666341c
Add Embeds column into Lite
Crabcyborg Jun 11, 2026
06135a5
Spacing fix
Crabcyborg Jun 11, 2026
ee15e32
Merge branch 'master' into redesigned-forms-table
Crabcyborg Jun 11, 2026
0213eaf
Use protected
Crabcyborg Jun 11, 2026
ecadac4
Remove some Pro logic for embedded forms from Lite
Crabcyborg Jun 11, 2026
c96767e
Remove function doing nothing
Crabcyborg Jun 11, 2026
6eccb86
Run stylelint fixer, add property comment
Crabcyborg Jun 11, 2026
ff7d089
Use clip, add psalm return comment
Crabcyborg Jun 11, 2026
af20fae
Add type check to filtered value
Crabcyborg Jun 11, 2026
28638a6
Use more generic return type
Crabcyborg Jun 11, 2026
f1ac263
Add end foreach comment
Crabcyborg Jun 11, 2026
659aff5
Add another type check
Crabcyborg Jun 11, 2026
a8e3e76
Run eslint fixers
Crabcyborg Jun 11, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 11 additions & 0 deletions classes/controllers/FrmAppController.php
Original file line number Diff line number Diff line change
Expand Up @@ -729,9 +729,20 @@ public static function admin_js() {

wp_register_script( 'formidable_admin', $plugin_url . '/js/formidable_admin.js', self::get_admin_js_dependencies(), $version, true );

wp_register_script(
'formidable_forms_list',
$plugin_url . '/js/admin/forms-list.js',
array(
'formidable_dom',
),
$version,
true
);

if ( FrmAppHelper::on_form_listing_page() ) {
// For the existing page dropdown in the Form embed modal.
wp_enqueue_script( 'jquery-ui-autocomplete' );
wp_enqueue_script( 'formidable_forms_list' );
}

wp_register_script( 'bootstrap-multiselect', $plugin_url . '/js/bootstrap-multiselect.js', array( 'jquery', 'bootstrap_tooltip', 'popper' ), '2.0', true );
Expand Down
50 changes: 49 additions & 1 deletion classes/controllers/FrmFormsController.php
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,13 @@
add_filter( 'manage_toplevel_page_formidable_sortable_columns', 'FrmFormsController::get_sortable_columns' );
}

/**
* Runs on admin head of the formidable forms page.
*
* @since x.x This adds screen options.
*
* @return void
*/
public static function head() {
if ( wp_is_mobile() ) {
wp_enqueue_script( 'jquery-touch-punch' );
Expand Down Expand Up @@ -1233,15 +1240,25 @@
$columns['cb'] = '<input type="checkbox" />';
$columns['name'] = esc_html__( 'Form Title', 'formidable' );
$columns['entries'] = esc_html__( 'Entries', 'formidable' );
$columns['views'] = esc_html__( 'Views', 'formidable' );
$columns['id'] = 'ID';
$columns['form_key'] = esc_html__( 'Key', 'formidable' );

if ( 'trash' !== FrmAppHelper::simple_get( 'form_type' ) ) {
if ( 'trash' !== FrmAppHelper::simple_get( 'form_type' ) && has_filter( 'frm_form_list_actions' ) ) {
// If there is any filters added, keep this column.
$columns['shortcode'] = esc_html__( 'Actions', 'formidable' );
}

$columns['created_at'] = esc_html__( 'Date', 'formidable' );

if ( 'trash' !== FrmAppHelper::simple_get( 'form_type' ) ) {
$columns['embeds'] = esc_html__( 'Embeds', 'formidable' );
$columns['settings'] = '<div class="frm-forms-list-settings-btn-wrapper"><a href="#" class="frm-forms-list-settings-btn">';
$columns['settings'] .= FrmAppHelper::icon_by_class( 'frmfont frm_settings_icon', array( 'echo' => false ) );
$columns['settings'] .= '<span class="screen-reader-text">' . esc_html__( 'List settings', 'formidable' ) . '</span>';
$columns['settings'] .= '</a></div>';
}

Comment thread
coderabbitai[bot] marked this conversation as resolved.
add_screen_option(
'per_page',
array(
Expand Down Expand Up @@ -1381,7 +1398,7 @@
* @param object[] $fields Array of fields.
* @param array $args The arguments. Contains `form`.
*/
$values['fields'] = apply_filters( 'frm_fields_in_form_builder', $fields, compact( 'form' ) );

Check warning on line 1401 in classes/controllers/FrmFormsController.php

View workflow job for this annotation

GitHub Actions / Mago

possibly-invalid-array-access

Cannot perform array access on value of type `bool`. >The expression might be `bool` here. Attempting to use a scalar value as an array will result in a runtime error. Help: Ensure the variable holds an array before accessing it.

$edit_message = __( 'Form was successfully updated.', 'formidable' );

Expand Down Expand Up @@ -1463,7 +1480,7 @@
* @param array $fields Array of fields.
* @param array $args The arguments. Contains `form`.
*/
$values['fields'] = apply_filters( 'frm_fields_in_settings', $values['fields'], compact( 'form' ) );

Check warning on line 1483 in classes/controllers/FrmFormsController.php

View workflow job for this annotation

GitHub Actions / Mago

possibly-invalid-array-access

Cannot perform array access on value of type `bool`. >The expression might be `bool` here. Attempting to use a scalar value as an array will result in a runtime error. Help: Ensure the variable holds an array before accessing it.

Check warning on line 1483 in classes/controllers/FrmFormsController.php

View workflow job for this annotation

GitHub Actions / Mago

possibly-invalid-array-access

Cannot perform array access on value of type `bool`. >The expression might be `bool` here. Attempting to use a scalar value as an array will result in a runtime error. Help: Ensure the variable holds an array before accessing it.

self::clean_submit_html( $values );

Expand Down Expand Up @@ -3696,6 +3713,37 @@
);
}

/**
* Prints necessary templates for the forms list page.
*
* @since x.x
*
* @return void
*/
public static function print_forms_list_templates() {
if ( ! FrmAppHelper::on_form_listing_page() ) {
return;
}

$screen = get_current_screen();

if ( ! $screen ) {
return;
}

$columns = get_column_headers( $screen );
$hidden = get_hidden_columns( $screen );
$skip_cols = array( 'cb', 'name', 'settings' );
$per_page = get_user_option( 'formidable_page_formidable_per_page' );
$show_screen_options = $screen->show_screen_options();

if ( $per_page < 1 ) {
$per_page = 20;
}

include FrmAppHelper::plugin_path() . '/classes/views/frm-forms/forms-list-settings.php';
}

/**
* @deprecated 4.0
*
Expand Down
4 changes: 4 additions & 0 deletions classes/controllers/FrmHooksController.php
Original file line number Diff line number Diff line change
Expand Up @@ -85,6 +85,9 @@ public static function load_hooks() {

add_action( 'wp_scheduled_delete', 'FrmForm::scheduled_delete' );

// Clear embed posts transient when posts are updated.
add_action( 'wp_insert_post', 'FrmFormsListHelper::maybe_clear_embed_posts_transient', 10, 2 );

// Form Shortcodes.
add_shortcode( 'formidable', 'FrmFormsController::get_form_shortcode' );

Expand Down Expand Up @@ -159,6 +162,7 @@ public static function load_admin_hooks() {

add_filter( 'set-screen-option', 'FrmFormsController::save_per_page', 10, 3 );
add_action( 'admin_footer', 'FrmFormsController::insert_form_popup' );
add_action( 'admin_footer', 'FrmFormsController::print_forms_list_templates' );

// Elementor.
add_action( 'elementor/editor/footer', 'FrmElementorController::admin_init' );
Expand Down
2 changes: 2 additions & 0 deletions classes/helpers/FrmAppHelper.php
Original file line number Diff line number Diff line change
Expand Up @@ -1536,6 +1536,8 @@ public static function array_to_html_params( $atts, $echo = false ) {
* @param bool $echo
*
* @return string|null
*
* @psalm-return ($echo is true ? null : string)
*/
public static function clip( $echo_function, $echo = false ) {
if ( ! $echo ) {
Expand Down
2 changes: 1 addition & 1 deletion classes/helpers/FrmEntriesListHelper.php
Original file line number Diff line number Diff line change
Expand Up @@ -364,7 +364,7 @@ public function single_row( $item, $style = '' ) {
}

if ( in_array( $column_name, $hidden, true ) ) {
$class .= ' frm_hidden';
$class .= ' hidden';
} elseif ( ! $action_col && ! in_array( $column_name, $action_columns, true ) ) {
$action_col = $column_name;
}
Expand Down
2 changes: 1 addition & 1 deletion classes/helpers/FrmFormsHelper.php
Original file line number Diff line number Diff line change
Expand Up @@ -1248,7 +1248,7 @@ public static function get_action_links( $form_id, $form ) {
} else {
$actions['duplicate'] = array(
'url' => wp_nonce_url( $duplicate_link ),
'label' => __( 'Duplicate Form', 'formidable' ),
'label' => __( 'Duplicate', 'formidable' ),
'icon' => 'frmfont frm_clone_icon',
);
}
Expand Down
Loading
Loading