Skip to content

Reactify configuration editing without changing stored setting formats#10509

Open
Montekkundan wants to merge 4 commits into
aces:mainfrom
Montekkundan:montek/5213-configuration-reactify
Open

Reactify configuration editing without changing stored setting formats#10509
Montekkundan wants to merge 4 commits into
aces:mainfrom
Montekkundan:montek/5213-configuration-reactify

Conversation

@Montekkundan

Copy link
Copy Markdown
Contributor

Brief summary of changes

  • Rewrites the main Configuration module page from the Smarty/jQuery form into a React entrypoint.
  • Adds JSON endpoints for loading configuration categories/settings and saving setting updates.

Testing instructions (if applicable)

  • Open /configuration/ as a user with the config permission and confirm the page loads as the React UI without the old Smarty form.
  • Click through the category tabs and confirm settings load for each category.
  • Edit a text/email/textarea setting and confirm the value saves on blur and persists after category reload.
  • Edit a boolean setting that currently stores true/false, then one that stores 1/0, and confirm each keeps its existing storage format after saving.
  • Add and remove values from a multi-value setting such as scan types or instruments and confirm the updated values persist.

Link(s) to related issue(s)

@github-actions github-actions Bot added Language: PHP PR or issue that update PHP code Language: Javascript PR or issue that update Javascript code Module: configuration PR or issue related to configuration module labels May 25, 2026
@MaximeBICMTL

Copy link
Copy Markdown
Contributor

Although they are currently (unfortunately) pervasively used in LORIS, propTypes and defaultProps are removed in the next version of React. I am a strong advocate that we should use Typescript exclusively for all new Javascript code moving forward. To be discussed at a next meeting.

https://react.dev/blog/2024/04/25/react-19-upgrade-guide#removed-proptypes-and-defaultprops

@github-actions github-actions Bot added the Module: dashboard PR or issue related to dashboard module label May 27, 2026
@skarya22 skarya22 self-assigned this May 29, 2026
@skarya22 skarya22 self-requested a review May 29, 2026 15:31

@skarya22 skarya22 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can you add the changes from #8471 to .eslintrc.json and Makefile?

Comment thread modules/configuration/js/index.js Outdated
Comment thread modules/configuration/php/categories.class.inc Outdated
Comment thread modules/configuration/php/categories.class.inc
Comment thread modules/configuration/php/categories.class.inc
Comment thread modules/configuration/php/setting.class.inc Outdated
Comment thread modules/configuration/php/setting.class.inc Outdated
Comment thread modules/configuration/jsx/index.tsx Outdated
Comment thread modules/configuration/jsx/index.tsx Outdated
Comment thread modules/configuration/jsx/index.tsx
@skarya22 skarya22 assigned Montekkundan and unassigned skarya22 Jun 2, 2026
@skarya22 skarya22 added the State: Needs work PR awaiting additional work by the author to proceed label Jun 2, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Language: Javascript PR or issue that update Javascript code Language: PHP PR or issue that update PHP code Module: configuration PR or issue related to configuration module Module: dashboard PR or issue related to dashboard module State: Needs work PR awaiting additional work by the author to proceed

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Configuration] module rewrite with react

3 participants