Project

General

Profile

Actions

Patch #42515

open

Introduce Stimulus and reimplement partial quote feature

Added by Katsuya HIDAKA 3 days ago. Updated about 19 hours ago.

Status:
New
Priority:
Normal
Assignee:
-
Category:
-
Target version:
-
Start date:
Due date:
% Done:

0%

Estimated time:

Description

This patch introduces Stimulus, a JavaScript framework within the Rails ecosystem, and reimplements the partial quote feature added in #41294 using Stimulus.

Why introduce Stimulus?

Here's why I propose introducing Stimulus:

  • The current frontend JavaScript is becoming too complex and harder to develop. application.js is getting large, and everything operates in the global scope.
  • It will make it easier to begin the migration from jQuery UI, which is no longer being developed. Stimulus helps create UI components in vanilla Rails, and many third-party components are also available.
  • Stimulus works well with Turbo, which is a strong candidate to replace the deprecated rails-ujs, making future adoption smoother.
  • Introducing a modern environment can revitalize Redmine development and simply make development more enjoyable.

As a next step after introducing Stimulus, I plan to migrate the tooltip implementation to Stimulus to further reduce the dependency on jQuery UI.

Implementation

  • importmap-rails was also introduced to install Stimulus and its necessary libraries.
  • bin/rails stimulus:install creates app/javascript/application.js by default. To avoid conflicts with the existing app/assets/application.js, I renamed the new file to main.js.
  • turndown, which is used for the partial quote feature, is now also installed via importmap-rails.
  • I confirmed that CI builds pass and all system tests are successful.

Files


Related issues

Related to Redmine - Feature #42510: Evaluate the option to add Stimulus as a Javascript frameworkNewMarius BĂLTEANU

Actions
Actions

Also available in: Atom PDF