Patch #42515 » 0001-Introduce-Stimulus-to-facilitate-JavaScript-modernization-and-provide-a-new-development-approach.patch
.rubocop.yml | ||
---|---|---|
225 | 225 |
- 'Rakefile' |
226 | 226 |
- 'config.ru' |
227 | 227 |
- 'config/additional_environment.rb' |
228 |
- 'config/importmap.rb' |
|
228 | 229 | |
229 | 230 |
Style/GlobalStdStream: |
230 | 231 |
Enabled: false |
Gemfile | ||
---|---|---|
16 | 16 |
gem 'rubyzip', '~> 2.4.0' |
17 | 17 |
gem 'propshaft', '~> 1.1.0' |
18 | 18 |
gem 'rack', '>= 3.1.3' |
19 |
gem "stimulus-rails", "~> 1.3" |
|
20 |
gem "importmap-rails", "~> 2.0" |
|
19 | 21 | |
20 | 22 |
# Ruby Standard Gems |
21 | 23 |
gem 'csv', '~> 3.2.8' |
app/javascript/controllers/application.js | ||
---|---|---|
1 |
import { Application } from '@hotwired/stimulus' |
|
2 | ||
3 |
const application = Application.start() |
|
4 | ||
5 |
application.debug = false |
|
6 |
window.Stimulus = application |
|
7 | ||
8 |
export { application } |
app/javascript/controllers/index.js | ||
---|---|---|
1 |
import { application } from "controllers/application" |
|
2 |
import { eagerLoadControllersFrom } from "@hotwired/stimulus-loading" |
|
3 |
eagerLoadControllersFrom("controllers", application) |
app/javascript/main.js | ||
---|---|---|
1 |
import "controllers" |
app/views/layouts/base.html.erb | ||
---|---|---|
10 | 10 |
<%= favicon %> |
11 | 11 |
<%= stylesheet_link_tag 'jquery/jquery-ui-1.13.2', 'tribute-5.1.3', 'application', 'responsive', :media => 'all' %> |
12 | 12 |
<%= stylesheet_link_tag 'rtl', :media => 'all' if l(:direction) == 'rtl' %> |
13 |
<%= javascript_importmap_tags 'main' %> |
|
13 | 14 |
<%= javascript_heads %> |
14 | 15 |
<%= heads_for_theme %> |
15 | 16 |
<%= heads_for_auto_complete(@project) %> |
bin/importmap | ||
---|---|---|
1 |
#!/usr/bin/env ruby |
|
2 | ||
3 |
require_relative "../config/application" |
|
4 |
require "importmap/commands" |
config/importmap.rb | ||
---|---|---|
1 |
# Pin npm packages by running ./bin/importmap |
|
2 | ||
3 |
pin "main" |
|
4 |
pin "@hotwired/stimulus", to: "stimulus.min.js" |
|
5 |
pin "@hotwired/stimulus-loading", to: "stimulus-loading.js" |
|
6 |
pin_all_from "app/javascript/controllers", under: "controllers" |