five-two-nw-olivander 0.1.2.55 → 0.1.2.57
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/assets/javascripts/controllers/datatable_expandable_chart_controller.js +64 -0
- data/app/components/olivander/components/resource_show_component.html.haml +1 -1
- data/app/datatables/olivander/datatable.rb +7 -2
- data/app/views/effective/datatables/_bulk_actions_dropdown.html.haml +9 -0
- data/app/views/effective/datatables/_buttons.html.haml +14 -0
- data/app/views/layouts/olivander/adminlte/_navbar.html.haml +4 -4
- data/lib/olivander/engine.rb +4 -1
- data/lib/olivander/version.rb +1 -1
- metadata +5 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 69a61a8a8ef5070daf0d67aedfcea7ec0785f08795e0dee8e7db90b205a89478
|
4
|
+
data.tar.gz: aaadfdc3d026377f28b6fefb83d0c939483ea46a0bdd058dbde5d6da42210f20
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 066232ebd7a3eab92f61cb7825f8eaec6f077b5e2a966986d79b040f72eabc19864606c4802f8263e5449220a39172b1a119eaa0bb67d742234019118415470e
|
7
|
+
data.tar.gz: 2b84b2ae10634df082052ea8a2af783f8c7f763b9fcc37d437e192b05d11140a1626f146fde24066762b6904484c7b71ef8697f63280837c6d9610e9d5688861
|
@@ -0,0 +1,64 @@
|
|
1
|
+
import { Controller } from "@hotwired/stimulus"
|
2
|
+
|
3
|
+
// Connects to data-controller="datatable-expandable-chart"
|
4
|
+
export default class extends Controller {
|
5
|
+
connect() {
|
6
|
+
var self = this,
|
7
|
+
ele = self.element
|
8
|
+
$(ele).on('maximized.lte.cardwidget', function(evt) {
|
9
|
+
var attempts = 0,
|
10
|
+
maximized = false,
|
11
|
+
initialHeight = ele.offsetHeight,
|
12
|
+
lastHeight = initialHeight
|
13
|
+
|
14
|
+
self.toggleChartDiv(ele)
|
15
|
+
setTimeout(function tryAgain() {
|
16
|
+
attempts += 1
|
17
|
+
maximized = lastHeight > initialHeight && ele.offsetHeight == lastHeight
|
18
|
+
if (attempts < 10 && !maximized) {
|
19
|
+
lastHeight = ele.offsetHeight
|
20
|
+
setTimeout(tryAgain, 50)
|
21
|
+
} else {
|
22
|
+
self.fireResize(ele)
|
23
|
+
}
|
24
|
+
}, 50)
|
25
|
+
})
|
26
|
+
|
27
|
+
$(ele).on('minimized.lte.cardwidget', function(evt) {
|
28
|
+
var attempts = 0,
|
29
|
+
minimized = false,
|
30
|
+
initialHeight = ele.offsetHeight,
|
31
|
+
lastHeight = initialHeight
|
32
|
+
|
33
|
+
self.toggleChartDiv(ele)
|
34
|
+
setTimeout(function tryAgain() {
|
35
|
+
attempts += 1
|
36
|
+
minimized = lastHeight < initialHeight && ele.offsetHeight == lastHeight
|
37
|
+
if (attempts < 10 && !minimized) {
|
38
|
+
lastHeight = ele.offsetHeight
|
39
|
+
setTimeout(tryAgain, 50)
|
40
|
+
} else {
|
41
|
+
self.fireResize(ele)
|
42
|
+
}
|
43
|
+
}, 50)
|
44
|
+
})
|
45
|
+
}
|
46
|
+
|
47
|
+
fireResize(ele) {
|
48
|
+
this.toggleChartDiv(ele)
|
49
|
+
var evt = document.createEvent('Event')
|
50
|
+
evt.initEvent('resize', true, true)
|
51
|
+
window.dispatchEvent(evt)
|
52
|
+
}
|
53
|
+
|
54
|
+
toggleChartDiv(ele) {
|
55
|
+
var cardBody = ele.querySelector('.card-body'),
|
56
|
+
chartDiv = cardBody.firstElementChild
|
57
|
+
|
58
|
+
if (chartDiv.style.display == 'none') {
|
59
|
+
chartDiv.style.display = 'block'
|
60
|
+
} else {
|
61
|
+
chartDiv.style.display = 'none'
|
62
|
+
}
|
63
|
+
}
|
64
|
+
}
|
@@ -51,10 +51,11 @@ module Olivander
|
|
51
51
|
if bulk_action_list.size.positive?
|
52
52
|
bulk_actions do
|
53
53
|
bulk_action_list.each do |ma|
|
54
|
+
label = resource_form_action_label(instance, ma.action)
|
54
55
|
if ma.confirm
|
55
|
-
bulk_action
|
56
|
+
bulk_action label, url_for(controller: ma.controller, action: "confirm_#{ma.action}")
|
56
57
|
else
|
57
|
-
bulk_action
|
58
|
+
bulk_action label, send(ma.path_helper), data: { turbo_frame: ma.turbo_frame }
|
58
59
|
end
|
59
60
|
end
|
60
61
|
end
|
@@ -79,6 +80,10 @@ module Olivander
|
|
79
80
|
icon_class = val ? 'fa-check text-success' : 'fa-times text-danger'
|
80
81
|
"<div class='text-center'><i class='fa fa-icon #{icon_class}'></div>".html_safe
|
81
82
|
end
|
83
|
+
elsif sym == 'avatar'
|
84
|
+
col sym, visible: visible, label: label, search: false, sort: false do |c|
|
85
|
+
"<div class='image'><img style='max-height: 25px; max-width: 25px' class='img-circle elevation-2' src='#{c.send(sym).expiring_url}'></div>".html_safe
|
86
|
+
end
|
82
87
|
else
|
83
88
|
col sym, visible: visible, label: label
|
84
89
|
end
|
@@ -0,0 +1,9 @@
|
|
1
|
+
.btn-group.buttons-bulk-actions
|
2
|
+
%button.btn.btn-outline-primary.btn-sm.dropdown-toggle{'type': 'button', 'data-toggle': 'dropdown', 'aria-haspopup': true, 'aria-expanded': false, 'disabled': 'disabled'}
|
3
|
+
= t('effective_datatables.bulk_actions')
|
4
|
+
.dropdown-menu
|
5
|
+
- if datatable._bulk_actions.present?
|
6
|
+
= datatable._bulk_actions.join.html_safe
|
7
|
+
- else
|
8
|
+
%a.dropdown-item{href: '#'}
|
9
|
+
= t('effective_datatables.no_bulk_actions')
|
@@ -0,0 +1,14 @@
|
|
1
|
+
- if datatable._bulk_actions.present?
|
2
|
+
= render('/effective/datatables/bulk_actions_dropdown', datatable: datatable)
|
3
|
+
|
4
|
+
- if datatable.searchable?
|
5
|
+
= link_to '#', class: 'btn btn-outline-primary btn-sm buttons-reset-search' do
|
6
|
+
%span= t('effective_datatables.reset')
|
7
|
+
|
8
|
+
- if datatable.reorder? && EffectiveDatatables.authorized?(self, :update, datatable.collection_class)
|
9
|
+
= link_to '#', class: 'btn btn-primary btn-sm buttons-reorder' do
|
10
|
+
%span= t('effective_datatables.reorder')
|
11
|
+
|
12
|
+
- if datatable.downloadable?
|
13
|
+
= link_to 'download.csv', class: 'btn btn-primary btn-sm buttons-download', 'aria-controls': datatable.to_param do
|
14
|
+
%span= t('effective_datatables.download')
|
@@ -3,7 +3,7 @@
|
|
3
3
|
/ Left navbar links
|
4
4
|
%ul.navbar-nav
|
5
5
|
%li.nav-item
|
6
|
-
%a.nav-link{"data-widget" => "pushmenu", :href => "#", :role => "button"}
|
6
|
+
%a.nav-link{"data-widget" => "pushmenu", :href => "#", :role => "button", 'data-enable-remember': "true"}
|
7
7
|
%i.fas.fa-bars
|
8
8
|
- @context.visible_modules.each do |menu_item|
|
9
9
|
%li.nav-item.d-none.d-sm-inline-block
|
@@ -115,9 +115,9 @@
|
|
115
115
|
Profile
|
116
116
|
= link_to @context.sign_out_path, method: :delete, class: 'btn btn-default btn-flat float-right' do
|
117
117
|
Sign out
|
118
|
-
|
119
|
-
|
120
|
-
|
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
121
|
-# %li.nav-item
|
122
122
|
-# %a.nav-link{title: 'Show Sidebar Options', "data-controlsidebar-slide" => "true", "data-widget" => "control-sidebar", :href => "#", :role => "button"}
|
123
123
|
-# %i.fas.fa-th-large
|
data/lib/olivander/engine.rb
CHANGED
@@ -3,7 +3,10 @@ module Olivander
|
|
3
3
|
isolate_namespace Olivander
|
4
4
|
|
5
5
|
initializer "olivander.assets.precompile" do |app|
|
6
|
-
app.config.assets.precompile += %w[
|
6
|
+
app.config.assets.precompile += %w[
|
7
|
+
adminlte.js datatable_index_charts_controller.js
|
8
|
+
datatable_expandable_chart_controller.js
|
9
|
+
adminlte.css avatar0.png avatar1.png avatar2.png avatar3.png avatar4.png]
|
7
10
|
end
|
8
11
|
|
9
12
|
initializer "olivander.action_controller" do |app|
|
data/lib/olivander/version.rb
CHANGED
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.
|
4
|
+
version: 0.1.2.57
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Eric Dennis
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2024-
|
11
|
+
date: 2024-02-02 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: chartkick
|
@@ -204,6 +204,7 @@ files:
|
|
204
204
|
- app/assets/javascripts/adminlte/plugins/tempusdominus-bootstrap-4/css/tempusdominus-bootstrap-4.min.css
|
205
205
|
- app/assets/javascripts/adminlte/plugins/tempusdominus-bootstrap-4/js/tempusdominus-bootstrap-4.min.js
|
206
206
|
- app/assets/javascripts/adminlte/select2_defaults.coffee
|
207
|
+
- app/assets/javascripts/controllers/datatable_expandable_chart_controller.js
|
207
208
|
- app/assets/javascripts/controllers/datatable_index_charts_controller.js
|
208
209
|
- app/assets/stylesheets/adminlte.css
|
209
210
|
- app/assets/stylesheets/fa-fix.scss
|
@@ -239,6 +240,8 @@ files:
|
|
239
240
|
- app/views/application/index.json.jbuilder
|
240
241
|
- app/views/application/new.html.haml
|
241
242
|
- app/views/application/show.html.haml
|
243
|
+
- app/views/effective/datatables/_bulk_actions_dropdown.html.haml
|
244
|
+
- app/views/effective/datatables/_buttons.html.haml
|
242
245
|
- app/views/effective/resource/_actions_dropleft.html.haml
|
243
246
|
- app/views/layouts/olivander/adminlte/_content.html.haml
|
244
247
|
- app/views/layouts/olivander/adminlte/_content_kanban.html.haml
|