Painel de administração de baixo código e mecanismo Rails de inteligência de negócios (sem DSL - configurável na interface do usuário) .
? Aplicativo de demonstração | ? Visão geral dos recursos | Pró
Adicione esta linha ao Gemfile da sua aplicação:
gem 'motor-admin'
E então execute:
$ bundle install
Crie e execute a migração:
$ rails motor:install && rake db:migrate
Tudo no painel de administração pode ser configurado usando a interface intuitiva de configurações, que pode ser aberta por meio do ícone no canto superior direito.
Os dados exibidos na página do recurso podem ser totalmente personalizados por meio de consultas SQL e painéis anexados ao recurso como uma guia. Normalmente, as consultas usadas para exibir dados de recursos devem conter a variável {{resource_name_id}}
.
Saiba mais sobre personalizações de recursos
Ações de recursos personalizados podem ser adicionadas por meio de chamada de método Active Record, endpoint de API ou formulários personalizados. Além disso, é possível substituir ações padrão de criação/atualização/exclusão.
Qualquer método ou atributo do modelo ActiveRecord pode ser exposto ao painel de administração adicionando uma nova coluna com o nome que corresponde ao nome do método do modelo de recursos:
class Customer < ApplicationRecord
has_many :orders
def lifetime_value
orders . sum ( & :total_price )
end
end
Os valores dos campos do formulário podem ser usados no caminho da API por meio da sintaxe {field_name}
: /api/some-endpoint/{resource_id}/apply
.
Saiba mais sobre o criador de formulários personalizados
As consultas podem incluir variáveis incorporadas por meio da sintaxe {{variable}}
(bigode). A sintaxe {{#variable}} ... {{/variable}}
permite decidir se as condições dentro do escopo devem ser incluídas na consulta.
Os dados da consulta SQL podem ser representados como: tabela, número, gráfico de linhas, gráfico de barras, gráfico de pizza, funil, remarcação.
As consultas SQL podem ser organizadas em painéis para criar uma representação conveniente dos dados.
Os dados da consulta podem ser enviados por e-mail periodicamente usando o recurso de alertas. O intervalo do e-mail de alerta pode ser especificado usando linguagem natural, por exemplo, every day at midnight
, every Monday at 8 PM
, every weekday at 6AM and 6PM
, every minute
.
O endereço do remetente pode ser especificado usando a variável de ambiente MOTOR_ALERTS_FROM_ADDRESS
.
A pesquisa de inteligência pode ser aberta através do botão no canto superior direito ou usando o atalho Cmd + K.
O Motor Admin permite definir permissões em nível de linha e coluna por meio do cancan gem. As permissões da UI do administrador devem ser definidas no arquivo app/models/motor/ability.rb
na classe Motor::Ability
. Consulte o guia Motor Admin e a documentação do CanCan para saber como definir permissões de usuário.
O Motor Admin é configurado por padrão para realizar uploads para o provedor configurado em seu arquivo storage.yml
para Active Storage. Se você estiver usando uploads grandes no Motor Admin, precisará habilitar uploads diretos definindo a seguinte variável ENV.
MOTOR_ACTIVE_STORAGE_DIRECT_UPLOADS_ENABLED=true
Observação: no momento, isso permitirá uploads diretos em todo o mundo
O Motor Admin pode usar chaves Rails ActiveRecord i18n para renderizar traduções de recursos:
es :
activerecord :
models :
customer :
one : Cliente
other : Clientes
attributes :
customer :
name : Nombre
scopes :
customer :
enabled : Activado
Todas as configurações do painel de administração são armazenadas automaticamente no arquivo config/motor.yml
. É recomendado incluir este arquivo no repositório git do aplicativo para sempre ter as configurações do painel de administração sincronizadas em diferentes ambientes locais e remotos.
É possível sincronizar as configurações do painel de administração de desenvolvimento local com o aplicativo de produção remota via rake motor:sync
task:
MOTOR_SYNC_REMOTE_URL=https://remote-app-url/ MOTOR_SYNC_API_KEY=secure-random-string rake motor:sync
O painel de administração pode ser protegido com 'autenticação básica' especificando as variáveis de ambiente MOTOR_AUTH_USERNAME
e MOTOR_AUTH_PASSWORD
.
Alternativamente, ele pode ser protegido com devise ou qualquer outra biblioteca de autenticação usada pelo aplicativo:
authenticate :admin_user do
mount Motor :: Admin => '/admin'
end
Inicie o servidor de desenvolvimento webpack:
yarn install && yarn serve
Configure o banco de dados de desenvolvimento:
rake app:db:create && rake app:db:setup
Inicie o aplicativo de exemplo no modo de desenvolvimento:
MOTOR_DEVELOPMENT=true rails s
Motor Admin é licenciado sob a licença MIT.