five-two-nw-olivander 0.1.2.43 → 0.1.2.45

Sign up to get free protection for your applications and to get access to all the features.
Files changed (95) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/fonts/summernote.eot +0 -0
  3. data/app/assets/fonts/summernote.ttf +0 -0
  4. data/app/assets/fonts/summernote.woff +0 -0
  5. data/app/assets/fonts/summernote.woff2 +0 -0
  6. data/app/assets/javascripts/adminlte/select2_defaults.coffee +5 -1
  7. data/app/assets/stylesheets/fa-fix.scss +12 -0
  8. data/app/components/olivander/components/portlet_component.html.haml +2 -2
  9. data/app/components/olivander/components/portlet_component.rb +2 -0
  10. data/app/components/olivander/components/resource_show_component.html.haml +7 -1
  11. data/app/components/olivander/components/table_portlet_component.html.haml +2 -2
  12. data/app/components/olivander/components/table_portlet_component.rb +2 -0
  13. data/app/controllers/concerns/olivander/resources/auto_form_attributes.rb +7 -7
  14. data/app/datatables/olivander/datatable.rb +3 -5
  15. data/app/helpers/olivander/application_helper.rb +3 -1
  16. data/app/views/application/_resource_form_actions.html.haml +1 -1
  17. data/app/views/application/edit.html.haml +1 -1
  18. data/app/views/application/show.html.haml +2 -0
  19. data/app/views/effective/resource/_actions_dropleft.html.haml +9 -2
  20. data/app/views/layouts/olivander/adminlte/_login_flashes.html.haml +4 -0
  21. data/app/views/layouts/olivander/adminlte/_navbar.html.haml +98 -82
  22. data/app/views/layouts/olivander/adminlte/_sidebar.html.haml +1 -7
  23. data/app/views/layouts/olivander/adminlte/login.html.haml +0 -1
  24. data/lib/five-two-nw-olivander.rb +1 -0
  25. data/lib/olivander/engine.rb +1 -1
  26. data/lib/olivander/version.rb +1 -1
  27. data/lib/olivander.rb +5 -1
  28. metadata +20 -69
  29. data/app/assets/javascripts/adminlte/plugins/select2/js/i18n/af.js +0 -3
  30. data/app/assets/javascripts/adminlte/plugins/select2/js/i18n/ar.js +0 -3
  31. data/app/assets/javascripts/adminlte/plugins/select2/js/i18n/az.js +0 -3
  32. data/app/assets/javascripts/adminlte/plugins/select2/js/i18n/bg.js +0 -3
  33. data/app/assets/javascripts/adminlte/plugins/select2/js/i18n/bn.js +0 -3
  34. data/app/assets/javascripts/adminlte/plugins/select2/js/i18n/bs.js +0 -3
  35. data/app/assets/javascripts/adminlte/plugins/select2/js/i18n/build.txt +0 -236
  36. data/app/assets/javascripts/adminlte/plugins/select2/js/i18n/ca.js +0 -3
  37. data/app/assets/javascripts/adminlte/plugins/select2/js/i18n/cs.js +0 -3
  38. data/app/assets/javascripts/adminlte/plugins/select2/js/i18n/da.js +0 -3
  39. data/app/assets/javascripts/adminlte/plugins/select2/js/i18n/de.js +0 -3
  40. data/app/assets/javascripts/adminlte/plugins/select2/js/i18n/dsb.js +0 -3
  41. data/app/assets/javascripts/adminlte/plugins/select2/js/i18n/el.js +0 -3
  42. data/app/assets/javascripts/adminlte/plugins/select2/js/i18n/en.js +0 -3
  43. data/app/assets/javascripts/adminlte/plugins/select2/js/i18n/es.js +0 -3
  44. data/app/assets/javascripts/adminlte/plugins/select2/js/i18n/et.js +0 -3
  45. data/app/assets/javascripts/adminlte/plugins/select2/js/i18n/eu.js +0 -3
  46. data/app/assets/javascripts/adminlte/plugins/select2/js/i18n/fa.js +0 -3
  47. data/app/assets/javascripts/adminlte/plugins/select2/js/i18n/fi.js +0 -3
  48. data/app/assets/javascripts/adminlte/plugins/select2/js/i18n/fr.js +0 -3
  49. data/app/assets/javascripts/adminlte/plugins/select2/js/i18n/gl.js +0 -3
  50. data/app/assets/javascripts/adminlte/plugins/select2/js/i18n/he.js +0 -3
  51. data/app/assets/javascripts/adminlte/plugins/select2/js/i18n/hi.js +0 -3
  52. data/app/assets/javascripts/adminlte/plugins/select2/js/i18n/hr.js +0 -3
  53. data/app/assets/javascripts/adminlte/plugins/select2/js/i18n/hsb.js +0 -3
  54. data/app/assets/javascripts/adminlte/plugins/select2/js/i18n/hu.js +0 -3
  55. data/app/assets/javascripts/adminlte/plugins/select2/js/i18n/hy.js +0 -3
  56. data/app/assets/javascripts/adminlte/plugins/select2/js/i18n/id.js +0 -3
  57. data/app/assets/javascripts/adminlte/plugins/select2/js/i18n/is.js +0 -3
  58. data/app/assets/javascripts/adminlte/plugins/select2/js/i18n/it.js +0 -3
  59. data/app/assets/javascripts/adminlte/plugins/select2/js/i18n/ja.js +0 -3
  60. data/app/assets/javascripts/adminlte/plugins/select2/js/i18n/ka.js +0 -3
  61. data/app/assets/javascripts/adminlte/plugins/select2/js/i18n/km.js +0 -3
  62. data/app/assets/javascripts/adminlte/plugins/select2/js/i18n/ko.js +0 -3
  63. data/app/assets/javascripts/adminlte/plugins/select2/js/i18n/lt.js +0 -3
  64. data/app/assets/javascripts/adminlte/plugins/select2/js/i18n/lv.js +0 -3
  65. data/app/assets/javascripts/adminlte/plugins/select2/js/i18n/mk.js +0 -3
  66. data/app/assets/javascripts/adminlte/plugins/select2/js/i18n/ms.js +0 -3
  67. data/app/assets/javascripts/adminlte/plugins/select2/js/i18n/nb.js +0 -3
  68. data/app/assets/javascripts/adminlte/plugins/select2/js/i18n/ne.js +0 -3
  69. data/app/assets/javascripts/adminlte/plugins/select2/js/i18n/nl.js +0 -3
  70. data/app/assets/javascripts/adminlte/plugins/select2/js/i18n/pl.js +0 -3
  71. data/app/assets/javascripts/adminlte/plugins/select2/js/i18n/ps.js +0 -3
  72. data/app/assets/javascripts/adminlte/plugins/select2/js/i18n/pt-BR.js +0 -3
  73. data/app/assets/javascripts/adminlte/plugins/select2/js/i18n/pt.js +0 -3
  74. data/app/assets/javascripts/adminlte/plugins/select2/js/i18n/ro.js +0 -3
  75. data/app/assets/javascripts/adminlte/plugins/select2/js/i18n/ru.js +0 -3
  76. data/app/assets/javascripts/adminlte/plugins/select2/js/i18n/sk.js +0 -3
  77. data/app/assets/javascripts/adminlte/plugins/select2/js/i18n/sl.js +0 -3
  78. data/app/assets/javascripts/adminlte/plugins/select2/js/i18n/sq.js +0 -3
  79. data/app/assets/javascripts/adminlte/plugins/select2/js/i18n/sr-Cyrl.js +0 -3
  80. data/app/assets/javascripts/adminlte/plugins/select2/js/i18n/sr.js +0 -3
  81. data/app/assets/javascripts/adminlte/plugins/select2/js/i18n/sv.js +0 -3
  82. data/app/assets/javascripts/adminlte/plugins/select2/js/i18n/th.js +0 -3
  83. data/app/assets/javascripts/adminlte/plugins/select2/js/i18n/tk.js +0 -3
  84. data/app/assets/javascripts/adminlte/plugins/select2/js/i18n/tr.js +0 -3
  85. data/app/assets/javascripts/adminlte/plugins/select2/js/i18n/uk.js +0 -3
  86. data/app/assets/javascripts/adminlte/plugins/select2/js/i18n/vi.js +0 -3
  87. data/app/assets/javascripts/adminlte/plugins/select2/js/i18n/zh-CN.js +0 -3
  88. data/app/assets/javascripts/adminlte/plugins/select2/js/i18n/zh-TW.js +0 -3
  89. data/app/assets/javascripts/adminlte/plugins/select2/js/select2.full.js +0 -6820
  90. data/app/assets/javascripts/adminlte/plugins/select2/js/select2.js +0 -6108
  91. data/app/assets/javascripts/adminlte/plugins/select2/js/select2.min.js +0 -2
  92. data/app/assets/javascripts/controllers/refresh_datatable_controller.js +0 -8
  93. data/app/controllers/concerns/olivander/resources/model_registrar.rb +0 -49
  94. data/app/controllers/concerns/olivander/resources/model_registry.rb +0 -201
  95. data/app/javascript/controllers/refresh_datatable_controller.js +0 -8
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: d373dc4241b4ea6d5d9b6dfd7621ca4db75c82e27f397daea51a495340c5f473
4
- data.tar.gz: 5afb293d14959155c212377cd586180948f0595f7618b2f6cbc2590e16942283
3
+ metadata.gz: ba4f9dbeed1514a03779ee98689bf49f07d604a494b37b28f8cfd6bcf371afba
4
+ data.tar.gz: f3b1d97003eac15db5a922fb708ab1045bbc90e438566966fdbd154c93cc3786
5
5
  SHA512:
6
- metadata.gz: 434d967e6c399cecc168efb2d901f5dc1df6b45db6c2448ba0ab24ba7da72a3c3b7a290c3f235ee1ced5d356b2c43e9de036c23ec33c63af57d3b7df184ff34d
7
- data.tar.gz: 4165ad3635e60cdde3b907c0219bb6352b986464a2fb54be5db2f3aea047cc390fe06aa6ab405875fbc5aaf55df8ebba71de66b6fd5c947ee7f560dfc0c7b1ba
6
+ metadata.gz: 791870070c907f93452a9492ded3aeaacc869fef869ac7097f105cbb7876e7d4b8e5da3223534b102671b555384b55b8bc6db67363ae9e2c9202e228ec51de3e
7
+ data.tar.gz: 0f9fb63a3e04530081db4cc89f40fad5a2f5cb1a88fe1ed59939e92d8df419fab909d4f67acac343b5d156b7027490e1aefece3339a500158f9556541958a2f0
Binary file
Binary file
Binary file
Binary file
@@ -14,6 +14,10 @@ $.fn.select2.defaults.set('dropdownParent', $('#modal-root'))
14
14
  $(document).on 'select2:open', () =>
15
15
  document.querySelector('.select2-search__field').focus()
16
16
 
17
- initSelect2s = () -> $('select').not('.no-select2').select2()
17
+ initSelect2s = () -> $('select').not('.no-select2').each (k,v) =>
18
+ $(v).select2({ dropdownParent: $(v).parent() })
18
19
 
19
20
  $(document).ready -> initSelect2s()
21
+ $(document).on 'show.bs.modal', (e) =>
22
+ $('select').not('.no-select2').each (k,v) =>
23
+ $(v).select2({ dropdownParent: $(v).parent() })
@@ -39,3 +39,15 @@
39
39
  asset-url("fa-solid-900.ttf") format("truetype"),
40
40
  asset-url("fa-solid-900.svg#fontawesome") format("svg");
41
41
  }
42
+
43
+ @font-face {
44
+ font-display: auto;
45
+ font-family: summernote;
46
+ font-style: normal;
47
+ font-weight: 400;
48
+ src:
49
+ asset-url("summernote.eot?#iefix") format("embedded-opentype"),
50
+ asset-url("summernote.woff2") format("woff2"),
51
+ asset-url("summernote.woff") format("woff"),
52
+ asset-url("summernote.ttf") format("truetype");
53
+ }
@@ -1,7 +1,7 @@
1
1
  - if @turbo_frame.present?
2
- <turbo-frame id="#{@turbo_frame}" src="#{@src}" loading="#{@loading}">
2
+ %turbo-frame{ id: @turbo_frame, src: @src, loading: @loading, data: @turbo_frame_data }/
3
3
 
4
- .card{ class: @card_type }
4
+ .card{ class: @card_type, data: @card_data }
5
5
  .card-header{ class: @header_background }
6
6
  %h3.card-title= @title
7
7
  - if header_tools?
@@ -16,6 +16,8 @@ module Olivander
16
16
  @turbo_frame = options[:turbo_frame]
17
17
  @src = options[:src]
18
18
  @loading = options[:loading]
19
+ @card_data = options[:card_data]
20
+ @turbo_frame_data = options[:turbo_frame_data]
19
21
  end
20
22
  end
21
23
  end
@@ -22,7 +22,13 @@
22
22
  - icon_class = val ? 'fa-check text-success' : 'fa-times text-danger'
23
23
  %i.fa{ class: icon_class }
24
24
  - when :association
25
- = link_to val if val.present?
25
+ - if val.present?
26
+ - if val.is_a?(ActiveRecord::Associations::CollectionProxy)
27
+ %ul
28
+ - val.each do |val1|
29
+ %li= link_to val1
30
+ - else
31
+ = link_to val if val.present?
26
32
  - else
27
33
  = val
28
34
  - (section.columns-slice.size).times do
@@ -1,7 +1,7 @@
1
1
  - if @turbo_frame.present?
2
- <turbo-frame id="#{@turbo_frame}">
2
+ %turbo-frame{ id: @turbo_frame, colin: 'ferrel', data: @turbo_frame_data }/
3
3
 
4
- .card{ class: @card_type }
4
+ .card{ class: @card_type, data: @card_data }
5
5
  .card-header{ class: @header_background }
6
6
  %h3.card-title= @title
7
7
  .card-tools
@@ -19,6 +19,8 @@ module Olivander
19
19
  @max_height = options[:max_height]
20
20
  @headers = options[:headers].nil? ? true : options[:headers]
21
21
  @id = options[:id]
22
+ @card_data = options[:card_data]
23
+ @turbo_frame_data = options[:turbo_frame_data]
22
24
  end
23
25
 
24
26
  class TableComponent < ViewComponent::Base
@@ -49,14 +49,14 @@ module Olivander
49
49
  sym = att.name.to_sym
50
50
  type = att.type
51
51
  next unless inc == sym
52
+ resource_field sym, type
53
+ end
52
54
 
53
- reflections.map{ |x| x[1] }
54
- .filter{ |x| x.foreign_key == att.name }
55
- .each do |r|
56
- sym = r.name
57
- type = :association
58
- end
59
-
55
+ reflections.map{ |x| x[1] }
56
+ .filter{ |x| x.foreign_key == inc || x.name == inc }
57
+ .each do |r|
58
+ sym = r.name
59
+ type = :association
60
60
  resource_field sym, type
61
61
  end
62
62
  end
@@ -64,14 +64,12 @@ module Olivander
64
64
  label = field_label_for(klazz, key)
65
65
  sym = key.gsub('_id', '')
66
66
  visible = show.include?(key) || !(default_hidden.include?(key) || hide.include?(key))
67
- if link_path.present? && sym == :id
68
- link_col sym, link_path, 'id', visible: visible
69
- elsif link_path.present? && sym == 'name'
70
- link_col sym, link_path, :id, visible: visible
67
+ if %w[id name first_name last_name display_name title].include?(sym)
68
+ col sym, visible: visible, action: :show
71
69
  elsif sym.include?('.')
72
70
  col sym, visible: visible, label: label
73
71
  else
74
- col sym, visible: visible, label: label, action: :show
72
+ col sym, visible: visible, label: label
75
73
  end
76
74
  end
77
75
  actions_col
@@ -14,7 +14,9 @@ module Olivander
14
14
  end
15
15
 
16
16
  def user_image_path(user)
17
- "avatar#{SecureRandom.random_number(4)}.png"
17
+ return "avatar#{SecureRandom.random_number(4)}.png" unless user.present? && user.respond_to?(:avatar_path)
18
+
19
+ user.avatar_path
18
20
  end
19
21
 
20
22
  def authorized_resource_actions(route_builder, resource, for_action: :show)
@@ -7,7 +7,7 @@
7
7
  = resource_form_action_label(@resource, a.sym)
8
8
 
9
9
  - if a.turbo_frame.blank?
10
- = link_to({ controller: a.controller, action: a.action }, method: a.verb, class: 'btn btn-tool') do
10
+ = link_to({ controller: a.controller, action: a.action }, method: a.verb, class: 'btn btn-tool', data: { confirm: 'are you sure?' }) do
11
11
  = yield cf_sym
12
12
  - else
13
13
  = link_to({ controller: a.controller, action: a.action }, class: 'btn btn-tool', data: { turbo: true, turbo_method: a.verb, turbo_frame: a.turbo_frame }) do
@@ -3,5 +3,5 @@
3
3
 
4
4
  - if @resource
5
5
  .row
6
- .col-12
6
+ .col-12{ data: { controller: [controller.class.name.gsub('Controller', '').underscore.dasherize.gsub('/', '--'), action_name].join('-') } }
7
7
  = render_resource_form(@resource)
@@ -12,7 +12,9 @@
12
12
  .card-tools
13
13
  = resource_form_actions(@context.route_builder, @resource, for_action: action_name.to_sym)
14
14
  .card-body
15
+ = render_optional_partial 'show_inside_before'
15
16
  = render Olivander::Components::ResourceShowComponent.new(@resource, [])
17
+ = render_optional_partial 'show_inside_after'
16
18
  .card-footer.text-right
17
19
  = link_to 'Cancel', @_effective_resource.action_path(:index), class: 'btn btn-secondary'
18
20
 
@@ -1,6 +1,13 @@
1
1
  - route_builder = @context&.route_builder || datatable.class::ROUTE_BUILDER
2
- = dropdown(variation: :dropleft, btn_class: btn_class) do
2
+ -# = dropdown(variation: :dropleft, btn_class: btn_class) do
3
+ -# - authorized_resource_actions(route_builder, resource, for_action: action_name).select{ |x| x.show_in_datatable }.each do |a|
4
+ -# - path = a.path_helper.is_a?(Proc) ? a.path_helper.call(resource) : send(a.path_helper, resource.id)
5
+ -# - data = a.turbo_frame.present? ? { turbo: true, turbo_frame: a.turbo_frame } : {}
6
+ -# = dropdown_link_to resource_form_action_label(resource, a.sym), path, data: data
7
+ .text-center
3
8
  - authorized_resource_actions(route_builder, resource, for_action: action_name).select{ |x| x.show_in_datatable }.each do |a|
4
9
  - path = a.path_helper.is_a?(Proc) ? a.path_helper.call(resource) : send(a.path_helper, resource.id)
5
10
  - data = a.turbo_frame.present? ? { turbo: true, turbo_frame: a.turbo_frame } : {}
6
- = dropdown_link_to resource_form_action_label(resource, a.sym), path, data: data
11
+ = link_to path, data: data, method: a.verb, title: resource_form_action_label(resource, a.sym) do
12
+ - icon_class = (a.verb == :delete ? 'text-danger' : '')
13
+ %i.fa.fa-edit{ class: icon_class }
@@ -0,0 +1,4 @@
1
+ - flash.to_hash.slice("alert", "error", "notice", "success").each do |key, value|
2
+ .span.alert{ class: "alert-#{flash_class(key)}" }
3
+ %i.icon{ class: flash_icon(key) }
4
+ = value
@@ -23,85 +23,101 @@
23
23
  %i.fas.fa-search
24
24
  %button.btn.btn-navbar{"data-widget" => "navbar-search", :type => "button"}
25
25
  %i.fas.fa-times
26
- / Messages Dropdown Menu
27
- %li.nav-item.dropdown
28
- %a.nav-link{"data-toggle" => "dropdown", :href => "#"}
29
- %i.far.fa-comments
30
- %span.badge.badge-danger.navbar-badge 3
31
- .dropdown-menu.dropdown-menu-lg.dropdown-menu-right
32
- %a.dropdown-item{:href => "#"}
33
- / Message Start
34
- .media
35
- %img.img-size-50.mr-3.img-circle{:alt => "User Avatar", :src => image_path(user_image_path(nil))}/
36
- .media-body
37
- %h3.dropdown-item-title
38
- Brad Diesel
39
- %span.float-right.text-sm.text-danger
40
- %i.fas.fa-star
41
- %p.text-sm Call me whenever you can...
42
- %p.text-sm.text-muted
43
- %i.far.fa-clock.mr-1
44
- 4 Hours Ago
45
- / Message End
46
- .dropdown-divider
47
- %a.dropdown-item{:href => "#"}
48
- / Message Start
49
- .media
50
- %img.img-size-50.img-circle.mr-3{:alt => "User Avatar", :src => image_path(user_image_path(nil))}/
51
- .media-body
52
- %h3.dropdown-item-title
53
- John Pierce
54
- %span.float-right.text-sm.text-muted
55
- %i.fas.fa-star
56
- %p.text-sm I got your message bro
57
- %p.text-sm.text-muted
58
- %i.far.fa-clock.mr-1
59
- 4 Hours Ago
60
- / Message End
61
- .dropdown-divider
62
- %a.dropdown-item{:href => "#"}
63
- / Message Start
64
- .media
65
- %img.img-size-50.img-circle.mr-3{:alt => "User Avatar", :src => image_path(user_image_path(nil))}/
66
- .media-body
67
- %h3.dropdown-item-title
68
- Nora Silvester
69
- %span.float-right.text-sm.text-warning
70
- %i.fas.fa-star
71
- %p.text-sm The subject goes here
72
- %p.text-sm.text-muted
73
- %i.far.fa-clock.mr-1
74
- 4 Hours Ago
75
- / Message End
76
- .dropdown-divider
77
- %a.dropdown-item.dropdown-footer{:href => "#"} See All Messages
78
- / Notifications Dropdown Menu
79
- %li.nav-item.dropdown
80
- %a.nav-link{"data-toggle" => "dropdown", :href => "#"}
81
- %i.far.fa-bell
82
- %span.badge.badge-warning.navbar-badge 15
83
- .dropdown-menu.dropdown-menu-lg.dropdown-menu-right
84
- %span.dropdown-item.dropdown-header 15 Notifications
85
- .dropdown-divider
86
- %a.dropdown-item{:href => "#"}
87
- %i.fas.fa-envelope.mr-2
88
- 4 new messages
89
- %span.float-right.text-muted.text-sm 3 mins
90
- .dropdown-divider
91
- %a.dropdown-item{:href => "#"}
92
- %i.fas.fa-users.mr-2
93
- 8 friend requests
94
- %span.float-right.text-muted.text-sm 12 hours
95
- .dropdown-divider
96
- %a.dropdown-item{:href => "#"}
97
- %i.fas.fa-file.mr-2
98
- 3 new reports
99
- %span.float-right.text-muted.text-sm 2 days
100
- .dropdown-divider
101
- %a.dropdown-item.dropdown-footer{:href => "#"} See All Notifications
102
- %li.nav-item
103
- %a.nav-link{title: 'Full Screen Mode', "data-widget" => "fullscreen", :href => "#", :role => "button"}
104
- %i.fas.fa-expand-arrows-alt
105
- %li.nav-item
106
- %a.nav-link{title: 'Show Sidebar Options', "data-controlsidebar-slide" => "true", "data-widget" => "control-sidebar", :href => "#", :role => "button"}
107
- %i.fas.fa-th-large
26
+ -# / Messages Dropdown Menu
27
+ -# %li.nav-item.dropdown
28
+ -# %a.nav-link{"data-toggle" => "dropdown", :href => "#"}
29
+ -# %i.far.fa-comments
30
+ -# %span.badge.badge-danger.navbar-badge 3
31
+ -# .dropdown-menu.dropdown-menu-lg.dropdown-menu-right
32
+ -# %a.dropdown-item{:href => "#"}
33
+ -# / Message Start
34
+ -# .media
35
+ -# %img.img-size-50.mr-3.img-circle{:alt => "User Avatar", :src => image_path(user_image_path(nil))}/
36
+ -# .media-body
37
+ -# %h3.dropdown-item-title
38
+ -# Brad Diesel
39
+ -# %span.float-right.text-sm.text-danger
40
+ -# %i.fas.fa-star
41
+ -# %p.text-sm Call me whenever you can...
42
+ -# %p.text-sm.text-muted
43
+ -# %i.far.fa-clock.mr-1
44
+ -# 4 Hours Ago
45
+ -# / Message End
46
+ -# .dropdown-divider
47
+ -# %a.dropdown-item{:href => "#"}
48
+ -# / Message Start
49
+ -# .media
50
+ -# %img.img-size-50.img-circle.mr-3{:alt => "User Avatar", :src => image_path(user_image_path(nil))}/
51
+ -# .media-body
52
+ -# %h3.dropdown-item-title
53
+ -# John Pierce
54
+ -# %span.float-right.text-sm.text-muted
55
+ -# %i.fas.fa-star
56
+ -# %p.text-sm I got your message bro
57
+ -# %p.text-sm.text-muted
58
+ -# %i.far.fa-clock.mr-1
59
+ -# 4 Hours Ago
60
+ -# / Message End
61
+ -# .dropdown-divider
62
+ -# %a.dropdown-item{:href => "#"}
63
+ -# / Message Start
64
+ -# .media
65
+ -# %img.img-size-50.img-circle.mr-3{:alt => "User Avatar", :src => image_path(user_image_path(nil))}/
66
+ -# .media-body
67
+ -# %h3.dropdown-item-title
68
+ -# Nora Silvester
69
+ -# %span.float-right.text-sm.text-warning
70
+ -# %i.fas.fa-star
71
+ -# %p.text-sm The subject goes here
72
+ -# %p.text-sm.text-muted
73
+ -# %i.far.fa-clock.mr-1
74
+ -# 4 Hours Ago
75
+ -# / Message End
76
+ -# .dropdown-divider
77
+ -# %a.dropdown-item.dropdown-footer{:href => "#"} See All Messages
78
+ -# / Notifications Dropdown Menu
79
+ -# %li.nav-item.dropdown
80
+ -# %a.nav-link{"data-toggle" => "dropdown", :href => "#"}
81
+ -# %i.far.fa-bell
82
+ -# %span.badge.badge-warning.navbar-badge 15
83
+ -# .dropdown-menu.dropdown-menu-lg.dropdown-menu-right
84
+ -# %span.dropdown-item.dropdown-header 15 Notifications
85
+ -# .dropdown-divider
86
+ -# %a.dropdown-item{:href => "#"}
87
+ -# %i.fas.fa-envelope.mr-2
88
+ -# 4 new messages
89
+ -# %span.float-right.text-muted.text-sm 3 mins
90
+ -# .dropdown-divider
91
+ -# %a.dropdown-item{:href => "#"}
92
+ -# %i.fas.fa-users.mr-2
93
+ -# 8 friend requests
94
+ -# %span.float-right.text-muted.text-sm 12 hours
95
+ -# .dropdown-divider
96
+ -# %a.dropdown-item{:href => "#"}
97
+ -# %i.fas.fa-file.mr-2
98
+ -# 3 new reports
99
+ -# %span.float-right.text-muted.text-sm 2 days
100
+ -# .dropdown-divider
101
+ -# %a.dropdown-item.dropdown-footer{:href => "#"} See All Notifications
102
+ %li.nav-item.dropdown.user-menu
103
+ %a.nav-link.dropdown-toggle{"data-toggle" => "dropdown", :href => "#"}
104
+ %img.user-image.img-circle.elevation-2{:alt => "User Image", :src => image_path(user_image_path(nil))}/
105
+
106
+ %span.d-none.d-md-inline= current_user.display_name
107
+ %ul.dropdown-menu.dropdown-menu-lg.dropdown-menu-right
108
+ / User image
109
+ %li.user-header.bg-primary
110
+ %img.img-circle.elevation-2{:alt => "User Image", src: image_path(user_image_path(nil))}/
111
+ %p= current_user.display_name
112
+ / Menu Footer
113
+ %li.user-footer
114
+ = link_to user_path(current_user), class: 'btn btn-default btn-flat' do
115
+ Profile
116
+ = link_to @context.sign_out_path, method: :delete, class: 'btn btn-default btn-flat float-right' do
117
+ Sign out
118
+ -# %li.nav-item
119
+ -# %a.nav-link{title: 'Full Screen Mode', "data-widget" => "fullscreen", :href => "#", :role => "button"}
120
+ -# %i.fas.fa-expand-arrows-alt
121
+ -# %li.nav-item
122
+ -# %a.nav-link{title: 'Show Sidebar Options', "data-controlsidebar-slide" => "true", "data-widget" => "control-sidebar", :href => "#", :role => "button"}
123
+ -# %i.fas.fa-th-large
@@ -6,14 +6,8 @@
6
6
  %span.brand-text.font-weight-light= sidebar_context_name
7
7
  / Sidebar
8
8
  .sidebar
9
- / Sidebar user panel (optional)
10
- .user-panel.mt-3.pb-3.mb-3.d-flex
11
- .image
12
- %img.img-circle.elevation-2{:alt => "User Image", :src => image_path(user_image_path(nil))}/
13
- .info
14
- = link_to current_user, @context.sign_out_path, method: :delete, class: 'd-block'
15
9
  / SidebarSearch Form
16
- .form-inline
10
+ .form-inline{ style: 'padding-top: 7px' }
17
11
  .input-group{"data-widget" => "sidebar-search"}
18
12
  %input.form-control.form-control-sidebar{"aria-label" => "Search Menu Items", :placeholder => "Search Menu Items", :type => "search"}/
19
13
  .input-group-append
@@ -10,7 +10,6 @@
10
10
  %a.h1{ href: '/' }
11
11
  %b= sidebar_context_name
12
12
  .card-body
13
- %p.login-box-msg Sign in to start your session
14
13
  = render partial: 'layouts/olivander/adminlte/login_flashes'
15
14
  = yield
16
15
  .card-footer
@@ -6,3 +6,4 @@ require 'view_component'
6
6
  require 'simple_form'
7
7
  require 'olivander'
8
8
  require 'devise'
9
+ require 'net/http'
@@ -3,7 +3,7 @@ module Olivander
3
3
  isolate_namespace Olivander
4
4
 
5
5
  initializer "olivander.assets.precompile" do |app|
6
- app.config.assets.precompile += %w( adminlte.js adminlte.css avatar0.png avatar1.png avatar2.png avatar3.png avatar4.png)
6
+ app.config.assets.precompile += %w[adminlte.js adminlte.css avatar0.png avatar1.png avatar2.png avatar3.png avatar4.png]
7
7
  end
8
8
 
9
9
  initializer "olivander.action_controller" do |app|
@@ -1,3 +1,3 @@
1
1
  module Olivander
2
- VERSION = '0.1.2.43'.freeze
2
+ VERSION = '0.1.2.45'.freeze
3
3
  end
data/lib/olivander.rb CHANGED
@@ -2,7 +2,11 @@ require 'olivander/version'
2
2
  require 'olivander/engine'
3
3
  require 'olivander/application_context'
4
4
  require 'olivander/menus'
5
+ require 'pathname'
5
6
 
6
7
  module Olivander
7
- # Your code goes here...
8
+ # Root pathname to get the path of Olivander files like templates or dictionaries
9
+ def self.root
10
+ @root ||= Pathname.new(__dir__).freeze
11
+ end
8
12
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: five-two-nw-olivander
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.2.43
4
+ version: 0.1.2.45
5
5
  platform: ruby
6
6
  authors:
7
7
  - Eric Dennis
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-10-04 00:00:00.000000000 Z
11
+ date: 2024-01-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: chartkick
@@ -80,6 +80,20 @@ dependencies:
80
80
  - - "~>"
81
81
  - !ruby/object:Gem::Version
82
82
  version: '2.0'
83
+ - !ruby/object:Gem::Dependency
84
+ name: net-http
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - ">="
88
+ - !ruby/object:Gem::Version
89
+ version: '0'
90
+ type: :runtime
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - ">="
95
+ - !ruby/object:Gem::Version
96
+ version: '0'
83
97
  - !ruby/object:Gem::Dependency
84
98
  name: rails
85
99
  requirement: !ruby/object:Gem::Requirement
@@ -149,6 +163,10 @@ files:
149
163
  - app/assets/fonts/fa-solid-900.ttf
150
164
  - app/assets/fonts/fa-solid-900.woff
151
165
  - app/assets/fonts/fa-solid-900.woff2
166
+ - app/assets/fonts/summernote.eot
167
+ - app/assets/fonts/summernote.ttf
168
+ - app/assets/fonts/summernote.woff
169
+ - app/assets/fonts/summernote.woff2
152
170
  - app/assets/images/avatar0.png
153
171
  - app/assets/images/avatar1.png
154
172
  - app/assets/images/avatar2.png
@@ -177,70 +195,7 @@ files:
177
195
  - app/assets/javascripts/adminlte/plugins/select2/css/select2-bootstrap4.min.css
178
196
  - app/assets/javascripts/adminlte/plugins/select2/css/select2.css
179
197
  - app/assets/javascripts/adminlte/plugins/select2/css/select2.min.css
180
- - app/assets/javascripts/adminlte/plugins/select2/js/i18n/af.js
181
- - app/assets/javascripts/adminlte/plugins/select2/js/i18n/ar.js
182
- - app/assets/javascripts/adminlte/plugins/select2/js/i18n/az.js
183
- - app/assets/javascripts/adminlte/plugins/select2/js/i18n/bg.js
184
- - app/assets/javascripts/adminlte/plugins/select2/js/i18n/bn.js
185
- - app/assets/javascripts/adminlte/plugins/select2/js/i18n/bs.js
186
- - app/assets/javascripts/adminlte/plugins/select2/js/i18n/build.txt
187
- - app/assets/javascripts/adminlte/plugins/select2/js/i18n/ca.js
188
- - app/assets/javascripts/adminlte/plugins/select2/js/i18n/cs.js
189
- - app/assets/javascripts/adminlte/plugins/select2/js/i18n/da.js
190
- - app/assets/javascripts/adminlte/plugins/select2/js/i18n/de.js
191
- - app/assets/javascripts/adminlte/plugins/select2/js/i18n/dsb.js
192
- - app/assets/javascripts/adminlte/plugins/select2/js/i18n/el.js
193
- - app/assets/javascripts/adminlte/plugins/select2/js/i18n/en.js
194
- - app/assets/javascripts/adminlte/plugins/select2/js/i18n/es.js
195
- - app/assets/javascripts/adminlte/plugins/select2/js/i18n/et.js
196
- - app/assets/javascripts/adminlte/plugins/select2/js/i18n/eu.js
197
- - app/assets/javascripts/adminlte/plugins/select2/js/i18n/fa.js
198
- - app/assets/javascripts/adminlte/plugins/select2/js/i18n/fi.js
199
- - app/assets/javascripts/adminlte/plugins/select2/js/i18n/fr.js
200
- - app/assets/javascripts/adminlte/plugins/select2/js/i18n/gl.js
201
- - app/assets/javascripts/adminlte/plugins/select2/js/i18n/he.js
202
- - app/assets/javascripts/adminlte/plugins/select2/js/i18n/hi.js
203
- - app/assets/javascripts/adminlte/plugins/select2/js/i18n/hr.js
204
- - app/assets/javascripts/adminlte/plugins/select2/js/i18n/hsb.js
205
- - app/assets/javascripts/adminlte/plugins/select2/js/i18n/hu.js
206
- - app/assets/javascripts/adminlte/plugins/select2/js/i18n/hy.js
207
- - app/assets/javascripts/adminlte/plugins/select2/js/i18n/id.js
208
- - app/assets/javascripts/adminlte/plugins/select2/js/i18n/is.js
209
- - app/assets/javascripts/adminlte/plugins/select2/js/i18n/it.js
210
- - app/assets/javascripts/adminlte/plugins/select2/js/i18n/ja.js
211
- - app/assets/javascripts/adminlte/plugins/select2/js/i18n/ka.js
212
- - app/assets/javascripts/adminlte/plugins/select2/js/i18n/km.js
213
- - app/assets/javascripts/adminlte/plugins/select2/js/i18n/ko.js
214
- - app/assets/javascripts/adminlte/plugins/select2/js/i18n/lt.js
215
- - app/assets/javascripts/adminlte/plugins/select2/js/i18n/lv.js
216
- - app/assets/javascripts/adminlte/plugins/select2/js/i18n/mk.js
217
- - app/assets/javascripts/adminlte/plugins/select2/js/i18n/ms.js
218
- - app/assets/javascripts/adminlte/plugins/select2/js/i18n/nb.js
219
- - app/assets/javascripts/adminlte/plugins/select2/js/i18n/ne.js
220
- - app/assets/javascripts/adminlte/plugins/select2/js/i18n/nl.js
221
- - app/assets/javascripts/adminlte/plugins/select2/js/i18n/pl.js
222
- - app/assets/javascripts/adminlte/plugins/select2/js/i18n/ps.js
223
- - app/assets/javascripts/adminlte/plugins/select2/js/i18n/pt-BR.js
224
- - app/assets/javascripts/adminlte/plugins/select2/js/i18n/pt.js
225
- - app/assets/javascripts/adminlte/plugins/select2/js/i18n/ro.js
226
- - app/assets/javascripts/adminlte/plugins/select2/js/i18n/ru.js
227
- - app/assets/javascripts/adminlte/plugins/select2/js/i18n/sk.js
228
- - app/assets/javascripts/adminlte/plugins/select2/js/i18n/sl.js
229
- - app/assets/javascripts/adminlte/plugins/select2/js/i18n/sq.js
230
- - app/assets/javascripts/adminlte/plugins/select2/js/i18n/sr-Cyrl.js
231
- - app/assets/javascripts/adminlte/plugins/select2/js/i18n/sr.js
232
- - app/assets/javascripts/adminlte/plugins/select2/js/i18n/sv.js
233
- - app/assets/javascripts/adminlte/plugins/select2/js/i18n/th.js
234
- - app/assets/javascripts/adminlte/plugins/select2/js/i18n/tk.js
235
- - app/assets/javascripts/adminlte/plugins/select2/js/i18n/tr.js
236
- - app/assets/javascripts/adminlte/plugins/select2/js/i18n/uk.js
237
- - app/assets/javascripts/adminlte/plugins/select2/js/i18n/vi.js
238
- - app/assets/javascripts/adminlte/plugins/select2/js/i18n/zh-CN.js
239
- - app/assets/javascripts/adminlte/plugins/select2/js/i18n/zh-TW.js
240
- - app/assets/javascripts/adminlte/plugins/select2/js/select2.full.js
241
198
  - app/assets/javascripts/adminlte/plugins/select2/js/select2.full.min.js
242
- - app/assets/javascripts/adminlte/plugins/select2/js/select2.js
243
- - app/assets/javascripts/adminlte/plugins/select2/js/select2.min.js
244
199
  - app/assets/javascripts/adminlte/plugins/sparklines/sparkline.js
245
200
  - app/assets/javascripts/adminlte/plugins/summernote/summernote-bs4.min.css
246
201
  - app/assets/javascripts/adminlte/plugins/summernote/summernote-bs4.min.js
@@ -249,7 +204,6 @@ files:
249
204
  - app/assets/javascripts/adminlte/plugins/tempusdominus-bootstrap-4/css/tempusdominus-bootstrap-4.min.css
250
205
  - app/assets/javascripts/adminlte/plugins/tempusdominus-bootstrap-4/js/tempusdominus-bootstrap-4.min.js
251
206
  - app/assets/javascripts/adminlte/select2_defaults.coffee
252
- - app/assets/javascripts/controllers/refresh_datatable_controller.js
253
207
  - app/assets/stylesheets/adminlte.css
254
208
  - app/assets/stylesheets/fa-fix.scss
255
209
  - app/assets/stylesheets/olivander/application.css
@@ -269,14 +223,11 @@ files:
269
223
  - app/components/olivander/components/table_portlet_component.rb
270
224
  - app/components/olivander/components/table_portlet_component/table_component.html.haml
271
225
  - app/controllers/concerns/olivander/resources/auto_form_attributes.rb
272
- - app/controllers/concerns/olivander/resources/model_registrar.rb
273
- - app/controllers/concerns/olivander/resources/model_registry.rb
274
226
  - app/controllers/concerns/olivander/resources/route_builder.rb
275
227
  - app/controllers/olivander/application_controller.rb
276
228
  - app/datatables/olivander/datatable.rb
277
229
  - app/helpers/olivander/application_helper.rb
278
230
  - app/inputs/date_time_input.rb
279
- - app/javascript/controllers/refresh_datatable_controller.js
280
231
  - app/jobs/olivander/application_job.rb
281
232
  - app/mailers/olivander/application_mailer.rb
282
233
  - app/models/olivander/application_record.rb
@@ -1,3 +0,0 @@
1
- /*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */
2
-
3
- !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;e.define("select2/i18n/af",[],function(){return{errorLoading:function(){return"Die resultate kon nie gelaai word nie."},inputTooLong:function(e){var n=e.input.length-e.maximum,r="Verwyders asseblief "+n+" character";return 1!=n&&(r+="s"),r},inputTooShort:function(e){return"Voer asseblief "+(e.minimum-e.input.length)+" of meer karakters"},loadingMore:function(){return"Meer resultate word gelaai…"},maximumSelected:function(e){var n="Kies asseblief net "+e.maximum+" item";return 1!=e.maximum&&(n+="s"),n},noResults:function(){return"Geen resultate gevind"},searching:function(){return"Besig…"},removeAllItems:function(){return"Verwyder alle items"}}}),e.define,e.require}();
@@ -1,3 +0,0 @@
1
- /*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */
2
-
3
- !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/ar",[],function(){return{errorLoading:function(){return"لا يمكن تحميل النتائج"},inputTooLong:function(n){return"الرجاء حذف "+(n.input.length-n.maximum)+" عناصر"},inputTooShort:function(n){return"الرجاء إضافة "+(n.minimum-n.input.length)+" عناصر"},loadingMore:function(){return"جاري تحميل نتائج إضافية..."},maximumSelected:function(n){return"تستطيع إختيار "+n.maximum+" بنود فقط"},noResults:function(){return"لم يتم العثور على أي نتائج"},searching:function(){return"جاري البحث…"},removeAllItems:function(){return"قم بإزالة كل العناصر"}}}),n.define,n.require}();
@@ -1,3 +0,0 @@
1
- /*! Select2 4.0.13 | https://github.com/select2/select2/blob/master/LICENSE.md */
2
-
3
- !function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var n=jQuery.fn.select2.amd;n.define("select2/i18n/az",[],function(){return{inputTooLong:function(n){return n.input.length-n.maximum+" simvol silin"},inputTooShort:function(n){return n.minimum-n.input.length+" simvol daxil edin"},loadingMore:function(){return"Daha çox nəticə yüklənir…"},maximumSelected:function(n){return"Sadəcə "+n.maximum+" element seçə bilərsiniz"},noResults:function(){return"Nəticə tapılmadı"},searching:function(){return"Axtarılır…"},removeAllItems:function(){return"Bütün elementləri sil"}}}),n.define,n.require}();