web47core 3.2.18 → 3.2.19
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 +4 -4
- data/app/helpers/core_avatar_helper.rb +15 -0
- data/app/helpers/core_flash_toast_helper.rb +59 -0
- data/lib/web47core/version.rb +1 -1
- metadata +4 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 295c70f1220ae3e566fc003d76204e5baefdaee83abef6fc9b43cccc9de93e12
|
4
|
+
data.tar.gz: aafcd956bedf3d1f032ef4f00115c8eae0d195306de03185c8b8cdff77a586d3
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 40028db7e156aa29352a048236834661b6b527fe8e4bc0efccdc2add5ccc42ad92551eef6d9ff6a6d02ffdc31840c8b207e21fac789d61a007fa68a64fb7290b
|
7
|
+
data.tar.gz: e9f1098e8fb8689a472c17fe81e83129554a3e2abd825330c3d0cf6ee9ced2ca998ac567869db4595120ac625624711d6e66d16123fd064712d5524673229d40
|
@@ -0,0 +1,15 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
# Render avatar based on a user's profile
|
4
|
+
module CoreAvatarHelper
|
5
|
+
# @abstract Render an avatar div based on the user
|
6
|
+
def user_avatar(user, size: 'sm', bg_color: 'info')
|
7
|
+
content_tag(:div, class: "avatar avatar-#{size} me-2") do
|
8
|
+
if user.avatar.present?
|
9
|
+
concat(content_tag(:img, src: "/assets/img/avatars/#{user.avatar}.png", class: 'rounded-circle') {})
|
10
|
+
else
|
11
|
+
concat(content_tag(:span, class: "avatar-initial rounded-circle bg-label-#{bg_color}") { user.initials })
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
@@ -0,0 +1,59 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
# Helper methods for rendering the flash information received from the server and displaying it as toast messages
|
4
|
+
module CoreFlashToasterHelper
|
5
|
+
# @abstract render the whole toast container if there are toast messages to render
|
6
|
+
# @return HTML - To render in the page
|
7
|
+
def toast_container
|
8
|
+
return if flash.blank?
|
9
|
+
|
10
|
+
content_tag(:div, class: 'toast-container position-fixed top-0 start-50 translate-middle-x mt-5') do
|
11
|
+
flash.each { |key, value| concat(toast_flash_message(key, value)) unless 'timedout'.eql?(key) }
|
12
|
+
end
|
13
|
+
end
|
14
|
+
|
15
|
+
def toast_flash_message(key, value)
|
16
|
+
content_tag(:div, class: 'toast', role: :alert, aria: { live: :assertive, atomic: true }) do
|
17
|
+
concat(toast_flash_header(key))
|
18
|
+
concat(content_tag(:div, class: 'toast-body') { value })
|
19
|
+
end
|
20
|
+
end
|
21
|
+
|
22
|
+
def toast_flash_header(key)
|
23
|
+
content_tag(:div, class: 'toast-header') do
|
24
|
+
concat(content_tag(:i, class: [toast_flash_icon(key), 'me-2', toast_flash_color(key)].join(' ')) {})
|
25
|
+
concat(content_tag(:div, style: ['me-auto', 'fw-medium', toast_flash_color(key)].join(' ')) { key.humanize })
|
26
|
+
concat(tag(:button,
|
27
|
+
class: 'btn-close',
|
28
|
+
type: :button,
|
29
|
+
data: { 'bs-dismiss': :toast },
|
30
|
+
aria: { label: 'Close' }))
|
31
|
+
end
|
32
|
+
end
|
33
|
+
|
34
|
+
# @abstract map the flash key to an icon
|
35
|
+
# @return String - name of the icon to render
|
36
|
+
def toast_flash_color(key)
|
37
|
+
case key.downcase
|
38
|
+
when 'alert', 'error'
|
39
|
+
'text-danger'
|
40
|
+
when 'warning'
|
41
|
+
'text-warning'
|
42
|
+
else
|
43
|
+
'text-info'
|
44
|
+
end
|
45
|
+
end
|
46
|
+
|
47
|
+
# @abstract map the flash key to a color scheme
|
48
|
+
# @return String - color mapped to the flash message type
|
49
|
+
def toast_flash_icon(key)
|
50
|
+
case key
|
51
|
+
when 'alert', 'error'
|
52
|
+
'ri-alert-fill'
|
53
|
+
when 'warning'
|
54
|
+
'ri-error-warning-fill'
|
55
|
+
else
|
56
|
+
'ri-information-fill'
|
57
|
+
end
|
58
|
+
end
|
59
|
+
end
|
data/lib/web47core/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: web47core
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.2.
|
4
|
+
version: 3.2.19
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Chris Schroeder
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2025-01-
|
11
|
+
date: 2025-01-21 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activemodel
|
@@ -564,9 +564,11 @@ files:
|
|
564
564
|
- app/controllers/exceptions_controller.rb
|
565
565
|
- app/controllers/notifications_controller.rb
|
566
566
|
- app/controllers/status_controller.rb
|
567
|
+
- app/helpers/core_avatar_helper.rb
|
567
568
|
- app/helpers/core_breadcrumb_helper.rb
|
568
569
|
- app/helpers/core_card_nav_items_helper.rb
|
569
570
|
- app/helpers/core_dropdown_helper.rb
|
571
|
+
- app/helpers/core_flash_toast_helper.rb
|
570
572
|
- app/helpers/core_floating_action_button_helper.rb
|
571
573
|
- app/helpers/core_form_helper.rb
|
572
574
|
- app/helpers/core_helper.rb
|