tramway-admin 2.0.0.1 → 2.1.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 1e602a60fe22a20f37a92bd8394367a478aafd76322faada559a3a41fe146341
4
- data.tar.gz: 01ae5f655caa7d8739522be9715caf07e9f2ac9622a68a5c56807d3d90c53c1b
3
+ metadata.gz: e1f1df8f432adde2da452b7fd80c31455b60c0f9780bf2fbef6e5d2df32bbf93
4
+ data.tar.gz: f89edad193cc1af91d7ed050d0e00e12b5a8b64b0539cdb5236ece6fe9e11cae
5
5
  SHA512:
6
- metadata.gz: 18e37c9857ed8846e50a8132a82425eda92c8c81fcdfa61ef4109c8de3a2a9822e9020f9a13578ef43b10d3f1e876d5dde46d1c095c4d8603f9e302a01059c02
7
- data.tar.gz: 36754d82837a6164d8511fe125fb9ec8e7b972ee5300559554e770ba3c1499b82f9b6698c6219c398f622d26d1ff95e29593e852cee270683428956bed6d2538
6
+ metadata.gz: e3f6f4afc8b26b1eca9bb2d514c123e4402db45ce485703ab16c78c7414bea00e5dccc4ca2db06a04503f920a3c522bddd65e024a5e903aac0fadf23ddb646c2
7
+ data.tar.gz: 1a7d2edf8c8c43336915d02fd95efc21fcbc6618e8a6cde73ca62513d66149bda94614b5fac4e43819a9af908a74ea65943d3af63799fe2db3e8136b4256b64c
data/README.md CHANGED
@@ -420,6 +420,9 @@ def state
420
420
  state_machine_view object, :state
421
421
  end
422
422
  ```
423
+
424
+ It takes locales from `I18n.t("state_machines.#{model_name}.#{state_machine_name}.states.#{state_value}")`
425
+
423
426
  #### image_view
424
427
  Returns an image in a particular format depending on the parameters of the original image file
425
428
 
@@ -523,6 +526,29 @@ en:
523
526
  my_dropdown: Very important dropdown
524
527
  ```
525
528
 
529
+ ## Additional buttons to the show view
530
+
531
+ You can additional buttons to the header of show view of your model. Just add its configuration to the decorator
532
+
533
+ *app/decorators/your_model_decorator.rb*
534
+ ```ruby
535
+ class YourModelDecorator < Tramway::Core::ApplicationDecorator
536
+ def additional_buttons
537
+ {
538
+ show: [ # means that this buttons will be shown on show view only
539
+ {
540
+ url: ::Tramway::Export::Engine.routes.url_helpers.export_path(object.id, model: object.class, collection: :tasks),
541
+ inner: lambda do # inner HTML you want to see in the button
542
+ fa_icon 'file-excel'
543
+ end,
544
+ color: :success # bootstrap button color
545
+ }
546
+ ]
547
+ }
548
+ end
549
+ end
550
+ ```
551
+
526
552
  ## Errors
527
553
 
528
554
  * **Model or Form is not available** - `params[:model]` or `params[:form]` is empty **OR** current user does not have access to model or form in `params[:model]` or `params[:form]`
@@ -5,4 +5,9 @@
5
5
  //= require bootstrap-sprockets
6
6
  //= require ckeditor/init
7
7
  //= require selectize
8
+ //= require clipboard
8
9
  //= require_tree .
10
+
11
+ $(document).ready(function() {
12
+ let clipboard = new Clipboard('.clipboard-btn');
13
+ })
@@ -1,17 +1,10 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Tramway::Admin::AdditionalButtonsBuilder
4
- def build_buttons(additional_buttons)
5
- additional_buttons = additional_buttons.is_a?(Hash) ? [additional_buttons] : additional_buttons
6
- additional_buttons.each do |button|
7
- options = button[:options] || {}
8
- concat(
9
- link_to(
10
- button[:url], method: button[:method], class: "btn btn-#{button[:color]} btn-xs", **options
11
- ) do
12
- button[:text]
13
- end
14
- )
15
- end
4
+ def build_button(button)
5
+ options = button[:options] || {}
6
+ concat(link_to(button[:url], method: button[:method], class: "btn btn-#{button[:color]} btn-xs", **options) do
7
+ button[:inner]&.call
8
+ end)
16
9
  end
17
10
  end
@@ -95,7 +95,7 @@ module Tramway::Admin
95
95
  new_record_path model: association.class_name,
96
96
  redirect: current_model_record_path(object.model),
97
97
  association.options[:class_name].underscore => {
98
- as || object.model.class.name.underscore => object.id
98
+ as || object.model.class.name.underscore.gsub('/', '_') => object.id
99
99
  }
100
100
  end
101
101
  end
@@ -1,11 +1,6 @@
1
1
  - default_page_title ||= nil; on_site_link ||= nil
2
2
  - current_title = default_page_title || "#{object.name} | #{model_class.model_name.human.pluralize(:ru)}"
3
3
  - title current_title
4
- -#= content_for :sidebar do
5
- -# - buttons = ::Tramway::Admin.additional_buttons(record: object.model.class, view: :show, project: @application.name)
6
- -# .btn-group-vertical
7
- -# - buttons.each do |button|
8
- -# - build_buttons button.call object
9
4
  .page-header
10
5
  .row
11
6
  .col-md-12
@@ -15,9 +10,9 @@
15
10
  = link_to fa_icon('pencil-alt'), edit_path, class: 'btn btn-warning btn-xs'
16
11
  - if public_path(object)
17
12
  = link_to fa_icon(:share), public_path(object), class: 'btn btn-primary btn-xs'
18
- - buttons = ::Tramway::Admin.additional_buttons(record: object.model.class, view: :show, project: @application.name)
13
+ - buttons = object.additional_buttons[:show]
19
14
  - buttons&.each do |button|
20
- - build_buttons button.call object
15
+ - build_button button
21
16
  %hr
22
17
  .row
23
18
  %table.table.table-striped.table-bordered
data/lib/tramway/admin.rb CHANGED
@@ -5,7 +5,6 @@ require 'tramway/admin/engine'
5
5
  require 'tramway/admin/singleton_models'
6
6
  require 'tramway/admin/records_models'
7
7
  require 'tramway/admin/forms'
8
- require 'tramway/admin/additional_buttons'
9
8
  require 'tramway/admin/notifications'
10
9
  require 'tramway/admin/welcome_page_actions'
11
10
  require 'tramway/admin/navbar'
@@ -20,7 +19,6 @@ module Tramway
20
19
  class << self
21
20
  include ::Tramway::Admin::RecordsModels
22
21
  include ::Tramway::Admin::SingletonModels
23
- include ::Tramway::Admin::AdditionalButtons
24
22
  include ::Tramway::Admin::Forms
25
23
  include ::Tramway::Admin::Notifications
26
24
  include ::Tramway::Admin::WelcomePageActions
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Tramway
4
4
  module Admin
5
- VERSION = '2.0.0.1'
5
+ VERSION = '2.1.0.1'
6
6
  end
7
7
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tramway-admin
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.0.1
4
+ version: 2.1.0.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Pavel Kalashnikov
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-02-04 00:00:00.000000000 Z
11
+ date: 2021-03-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: tramway-core
@@ -110,9 +110,6 @@ dependencies:
110
110
  name: kaminari
111
111
  requirement: !ruby/object:Gem::Requirement
112
112
  requirements:
113
- - - "~>"
114
- - !ruby/object:Gem::Version
115
- version: 1.1.1
116
113
  - - ">="
117
114
  - !ruby/object:Gem::Version
118
115
  version: 1.1.1
@@ -120,9 +117,6 @@ dependencies:
120
117
  prerelease: false
121
118
  version_requirements: !ruby/object:Gem::Requirement
122
119
  requirements:
123
- - - "~>"
124
- - !ruby/object:Gem::Version
125
- version: 1.1.1
126
120
  - - ">="
127
121
  - !ruby/object:Gem::Version
128
122
  version: 1.1.1
@@ -302,7 +296,6 @@ files:
302
296
  - config/routes.rb
303
297
  - lib/tasks/tramway/admin_tasks.rake
304
298
  - lib/tramway/admin.rb
305
- - lib/tramway/admin/additional_buttons.rb
306
299
  - lib/tramway/admin/engine.rb
307
300
  - lib/tramway/admin/forms.rb
308
301
  - lib/tramway/admin/generators/install_generator.rb
@@ -336,7 +329,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
336
329
  - !ruby/object:Gem::Version
337
330
  version: '0'
338
331
  requirements: []
339
- rubygems_version: 3.1.2
332
+ rubygems_version: 3.1.4
340
333
  signing_key:
341
334
  specification_version: 4
342
335
  summary: Engine for admin
@@ -1,13 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Tramway::Admin::AdditionalButtons
4
- def set_additional_buttons(buttons, project:)
5
- @additional_buttons ||= {}
6
- @additional_buttons[project] ||= {}
7
- @additional_buttons[project].merge! buttons
8
- end
9
-
10
- def additional_buttons(view: nil, record: nil, project: nil)
11
- @additional_buttons&.with_indifferent_access&.dig project, record, view
12
- end
13
- end