зеркало из
https://github.com/rs-pro/activeadmin-quill_editor.git
synced 2026-09-07 04:05:49 +03:00
feat: Add ActiveAdmin 4 and Propshaft support
- Switch to ActiveAdmin 4 beta with Tailwind CSS - Replace Sprockets with Propshaft for Rails 8 - Migrate from jQuery to vanilla JavaScript - Implement proper module initialization without setTimeout hacks - Add esbuild for JavaScript bundling with clean import aliases - Configure Tailwind CSS build process with ActiveAdmin plugin - Update engine configuration for both Propshaft and Sprockets - Add comprehensive documentation for AA4 gem updates - Maintain backward compatibility with legacy AA versions 🤖 Generated with Claude Code Co-Authored-By: Claude <noreply@anthropic.com>
Этот коммит содержится в:
55
docs/tailwind-4/active_admin.rake
Обычный файл
55
docs/tailwind-4/active_admin.rake
Обычный файл
@@ -0,0 +1,55 @@
|
||||
namespace :active_admin do
|
||||
desc 'Build Active Admin Tailwind stylesheets'
|
||||
task :build do
|
||||
require 'fileutils'
|
||||
|
||||
root = File.expand_path('../../', __dir__)
|
||||
|
||||
# Ensure builds directory exists
|
||||
FileUtils.mkdir_p(File.join(root, 'app/assets/builds'))
|
||||
|
||||
# Build with Tailwind CLI
|
||||
command = [
|
||||
'npx', 'tailwindcss',
|
||||
'-i', File.join(root, 'app/assets/stylesheets/active_admin.tailwind.css'),
|
||||
'-o', File.join(root, 'app/assets/builds/active_admin.css'),
|
||||
'-c', File.join(root, 'tailwind.config.js'),
|
||||
'-m'
|
||||
]
|
||||
|
||||
system(*command, exception: true)
|
||||
|
||||
puts 'Built Active Admin CSS with Tailwind'
|
||||
end
|
||||
|
||||
desc 'Watch Active Admin Tailwind stylesheets'
|
||||
task :watch do
|
||||
root = File.expand_path('../../', __dir__)
|
||||
|
||||
# Watch for changes
|
||||
command = [
|
||||
'npx', 'tailwindcss',
|
||||
'--watch',
|
||||
'-i', File.join(root, 'app/assets/stylesheets/active_admin.tailwind.css'),
|
||||
'-o', File.join(root, 'app/assets/builds/active_admin.css'),
|
||||
'-c', File.join(root, 'tailwind.config.js'),
|
||||
'-m'
|
||||
]
|
||||
|
||||
system(*command)
|
||||
end
|
||||
end
|
||||
|
||||
# Enhance existing rake tasks
|
||||
if Rake::Task.task_defined?('assets:precompile')
|
||||
Rake::Task['assets:precompile'].enhance(['active_admin:build'])
|
||||
end
|
||||
if Rake::Task.task_defined?('test:prepare')
|
||||
Rake::Task['test:prepare'].enhance(['active_admin:build'])
|
||||
end
|
||||
if Rake::Task.task_defined?('spec:prepare')
|
||||
Rake::Task['spec:prepare'].enhance(['active_admin:build'])
|
||||
end
|
||||
if Rake::Task.task_defined?('db:test:prepare')
|
||||
Rake::Task['db:test:prepare'].enhance(['active_admin:build'])
|
||||
end
|
||||
16
docs/tailwind-4/active_admin.tailwind.css
Обычный файл
16
docs/tailwind-4/active_admin.tailwind.css
Обычный файл
@@ -0,0 +1,16 @@
|
||||
@import "tailwindcss/base";
|
||||
@import "tailwindcss/components";
|
||||
@import "tailwindcss/utilities";
|
||||
|
||||
@import "activeadmin-tom_select/src/tom-select-tailwind.css";
|
||||
|
||||
/* Additional batch actions dropdown styles that aren't in the ActiveAdmin plugin */
|
||||
@layer components {
|
||||
.batch-actions-dropdown-toggle:disabled {
|
||||
@apply opacity-50 cursor-not-allowed;
|
||||
}
|
||||
|
||||
.batch-actions-dropdown-arrow {
|
||||
@apply w-2.5 h-2.5;
|
||||
}
|
||||
}
|
||||
18
docs/tailwind-4/tailwind-active_admin.config.js
Обычный файл
18
docs/tailwind-4/tailwind-active_admin.config.js
Обычный файл
@@ -0,0 +1,18 @@
|
||||
const execSync = require("node:child_process").execSync;
|
||||
const activeAdminPath = execSync("bundle show activeadmin", {
|
||||
encoding: "utf-8",
|
||||
}).trim();
|
||||
|
||||
module.exports = {
|
||||
content: [
|
||||
`${activeAdminPath}/vendor/javascript/flowbite.js`,
|
||||
`${activeAdminPath}/plugin.js`,
|
||||
`${activeAdminPath}/app/views/**/*.{arb,erb,html,rb}`,
|
||||
"./app/admin/**/*.{arb,erb,html,rb}",
|
||||
"./app/views/active_admin/**/*.{arb,erb,html,rb}",
|
||||
"./app/views/admin/**/*.{arb,erb,html,rb}",
|
||||
"./app/views/layouts/active_admin*.{erb,html}",
|
||||
"./app/assets/controllers/active_admin/**/*.js",
|
||||
],
|
||||
darkMode: "selector"
|
||||
};
|
||||
Ссылка в новой задаче
Block a user