Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
20 commits
Select commit Hold shift + click to select a range
4a8a9c8
Refactor admin JavaScript to use webpack build system
shervElmi Aug 18, 2025
26f2049
Reorganize admin JavaScript component structure
shervElmi Aug 18, 2025
9aa9115
Merge branch 'master' into feature/admin-js-webpack-refactor
Crabcyborg Aug 21, 2025
5ec11df
Auto-disable screen options checkboxes when limit is reached
Crabcyborg Aug 21, 2025
192b46e
Merge pull request #2468 from Strategy11/auto_disable_screen_options_…
Crabcyborg Aug 21, 2025
65c2cbf
fix: resolve all ESLint errors across JavaScript files
shervElmi Aug 22, 2025
e7ad7df
Add label-based triggering to ESLint workflow
shervElmi Aug 22, 2025
389f8cf
Add `eslint . --fix`
shervElmi Aug 22, 2025
78fa853
Fix other errors manually
shervElmi Aug 22, 2025
a733844
Test an error
shervElmi Aug 22, 2025
919c076
Simplify JS linting workflow using npm scripts instead of direct esli…
shervElmi Aug 22, 2025
0c51975
Fix ESLint errors and optimize CI workflow
shervElmi Aug 22, 2025
efa917d
Use npm ci instead of npm install for js code style analysis
shervElmi Aug 22, 2025
942c052
Fix spacing in maybeScrollBuilder function parameters
shervElmi Aug 22, 2025
9907597
Add auto generated files
shervElmi Aug 22, 2025
6e2b60e
Merge remote-tracking branch 'origin/master' into feature/admin-js-we…
shervElmi Aug 22, 2025
02ff07b
Merge branch 'feature/admin-js-webpack-refactor' into fix/eslint
shervElmi Aug 22, 2025
f351881
Standardize npm install flags across GitHub workflows
shervElmi Aug 22, 2025
280828c
Merge pull request #2470 from Strategy11/fix/eslint
Crabcyborg Aug 25, 2025
9c8dc78
Merge branch 'master' into feature/admin-js-webpack-refactor
Crabcyborg Aug 25, 2025
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
1 change: 1 addition & 0 deletions .browserslistrc
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
extends @wordpress/browserslist-config
17 changes: 12 additions & 5 deletions .eslintignore
Original file line number Diff line number Diff line change
@@ -1,11 +1,18 @@
# Exclude auto generated files.
**/*.min.js
**/*.js.map
**/formidable_blocks.js
**/formidable_overlay.js
**/formidable_dashboard.js
**/formidable-templates.js
**/formidable_styles.js
js/formidable_blocks.js
js/formidable_overlay.js
js/form-templates.js
js/formidable_dashboard.js
js/onboarding-wizard.js
js/addons-page.js
js/formidable_styles.js
js/formidable_admin.js
js/bootstrap-multiselect.js

# Config files
*.config.js

**/node_modules/**
**/vendor/**
Expand Down
26 changes: 23 additions & 3 deletions .eslintrc.json
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@
"settings": {
"import/resolver": {
"webpack": {
"config": "webpack.config.js"
"config": "./webpack.config.js"
}
},
"react": {
Expand All @@ -48,7 +48,24 @@
"rules": {
"cypress/unsafe-to-chain-command": "off",
"cypress/no-assigning-return-values": "off",
"camelcase": ["error", { "properties": "never" }],
"camelcase": [
"error",
{
"properties": "never",
"allow": [
"frm_admin_js",
"frm_stripe_vars",
"frm_trans_vars",
"formidable_form_selector",
"frm_js",
"frm_password_checks",
"formidable_block_calculator",
"formidable_view_selector",
"frmdates_admin_js",
"frm_abdn"
]
}
],
"lines-around-comment": "off",
"react/display-name": "off",
"react/jsx-curly-spacing": [
Expand Down Expand Up @@ -128,6 +145,9 @@
"no-jquery/no-trim": "error",
"no-jquery/no-type": "error",
"no-jquery/no-unique": "error",
"no-jquery/no-when": "error"
"no-jquery/no-when": "error",
"react/jsx-no-target-blank": "off",
"comma-dangle": "off",
"arrow-parens": ["error", "as-needed"]
}
}
2 changes: 1 addition & 1 deletion .github/workflows/cypress.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ jobs:
node-version: 20

- name: Install dependencies
run: npm ci --include=dev
run: npm ci --legacy-peer-deps --include=dev

- name: Set up WP environment
run: npm run env start
Expand Down
10 changes: 4 additions & 6 deletions .github/workflows/jscs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,20 +5,18 @@ on:
branches:
- master
pull_request:
branches:
- master
types: [ opened, labeled, synchronize ]

name: Inspections
jobs:
runPHPCSInspection:
if: contains(github.event.pull_request.labels.*.name, 'run analysis')
name: Run ESLint
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@master
- name: Analyze js code style
run: |
npm install eslint
wget https://develop.svn.wordpress.org/trunk/.jshintrc
./node_modules/.bin/eslint ./js/formidable*
./node_modules/.bin/eslint ./tests/cypress/e2e/*
npm ci --legacy-peer-deps --include=dev
./node_modules/.bin/eslint .
16 changes: 9 additions & 7 deletions classes/controllers/FrmEntriesController.php
Original file line number Diff line number Diff line change
Expand Up @@ -393,20 +393,18 @@ private static function field_supports_sorting( $field ) {
* @return array
*/
public static function hidden_columns( $result ) {
global $frm_vars;

if ( ! is_array( $result ) ) {
// Force an unexpected value to be an array.
// Since $result is a filtered option and gets saved to the database, it's possible it could be a string.
// Since this code expects an array it would break with a "Uncaught Error: [] operator not supported for strings" error.
$result = array();
}

$form_id = FrmForm::get_current_form_id();

$hidden = self::user_hidden_columns_for_form( $form_id, $result );

global $frm_vars;
$i = isset( $frm_vars['cols'] ) ? count( $frm_vars['cols'] ) : 0;

$form_id = FrmForm::get_current_form_id();
$hidden = self::user_hidden_columns_for_form( $form_id, $result );
$i = isset( $frm_vars['cols'] ) ? count( $frm_vars['cols'] ) : 0;
$max_columns = 11;

if ( ! empty( $hidden ) ) {
Expand Down Expand Up @@ -447,6 +445,10 @@ private static function user_hidden_columns_for_form( $form_id, $result ) {
* Remove some columns by default when there are too many
*
* @since 2.05.07
*
* @param array $atts
* @param array $result
* @return void
*/
private static function remove_excess_cols( $atts, &$result ) {
global $frm_vars;
Expand Down
2 changes: 1 addition & 1 deletion js/addons-page.js

Large diffs are not rendered by default.

7 changes: 3 additions & 4 deletions js/admin/addons.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,19 +5,18 @@
*/

wp.domReady( () => {

/**
* Internal dependencies
*/
const { toggleAddonState } = window.frmAdminBuild;

document.addEventListener( 'click', ( event ) => {
document.addEventListener( 'click', event => {
if ( event.target.matches( '.frm-uninstall-addon' ) ) {
event.preventDefault();
toggleAddonState( event.target, 'frm_uninstall_addon' );
} else if ( event.target.matches( '.frm-deactivate-addon' ) ) {
event.preventDefault();
toggleAddonState( event.target, 'frm_deactivate_addon' );
}
});
});
} );
} );
Loading