relay_ui 0.4.0 → 0.4.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 +4 -4
- data/lib/relay_ui/version.rb +1 -1
- data/lib/rui/flash.rb +0 -10
- data/lib/rui/links/base.rb +3 -3
- data/lib/rui/slideout.rb +12 -3
- data/lib/rui/table.rb +33 -9
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ac008514b4c6294d178fbcb34b555bbb87f55e71a58ae882f772da69766e9afa
|
4
|
+
data.tar.gz: 49972be6884ac11eb5a932afb0b2e1fa803dcac29f7fc5690f54db358f74bd20
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e13a3dc12a61096d944ce0d88da1416a9a4a9e05127b1d4cc37a77dbb414629ceee63a02a5d0f87a74cb8488ced3f2d2eda080f49e5f65b5d1abe0f9f5d7d59e
|
7
|
+
data.tar.gz: 5d9f7449fd5c1cb535527fa54ca04e531e4f55b961f18eed4e5f2b02bdb0b6603ab92bb0a0a56ebbbac1df6fdb3b59d04ae68be3670a60a4f148febfe4a2f115
|
data/lib/relay_ui/version.rb
CHANGED
data/lib/rui/flash.rb
CHANGED
@@ -38,14 +38,4 @@ class RUI::Flash < RUI::Base
|
|
38
38
|
div(class: "fixed left-0 lg:left-auto bottom-0 right-0 m-5 lg:m-10 flex flex-col gap-3", &)
|
39
39
|
end
|
40
40
|
end
|
41
|
-
|
42
|
-
module Helper
|
43
|
-
def success(message)
|
44
|
-
flash[:success] = message
|
45
|
-
end
|
46
|
-
|
47
|
-
def failure(message)
|
48
|
-
flash[:failure] = message
|
49
|
-
end
|
50
|
-
end
|
51
41
|
end
|
data/lib/rui/links/base.rb
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
class RUI::Links::Base < RUI::Base
|
4
|
-
def initialize(href: "#", icon: nil,
|
4
|
+
def initialize(href: "#", icon: nil, **attrs)
|
5
5
|
@href = href
|
6
6
|
@icon = icon
|
7
|
-
@
|
7
|
+
@attrs = attrs
|
8
8
|
end
|
9
9
|
|
10
10
|
def view_template
|
11
|
-
a(href: @href, class: classes,
|
11
|
+
a(href: @href, class: classes, **@attrs) do
|
12
12
|
div(class: "flex flex-row items-center gap-2") do
|
13
13
|
if @icon
|
14
14
|
div(class: "size-4 my-1") do
|
data/lib/rui/slideout.rb
CHANGED
@@ -9,9 +9,18 @@ class RUI::Slideout < RUI::Base
|
|
9
9
|
a(href: "#", class: "cursor-default", data: { action: "slideout#hide" }) do
|
10
10
|
div(id: "modal-curtain", class: "w-screen h-screen bg-black transition-opacity opacity-75", data: { slideout_target: "curtain" })
|
11
11
|
end
|
12
|
-
div(class: "right-0
|
13
|
-
div
|
14
|
-
div(class: "
|
12
|
+
div(class: "fixed right-0 inset-y-0 w-1/2 h-full bg-white shadow flex flex-col pointer-events-auto", data: { slideout_target: "slideout" }) do
|
13
|
+
div class: "flex-grow flex flex-col gap-3 overflow-y-scroll p-10" do
|
14
|
+
div(class: "flex flex-row justify-between items-center") do
|
15
|
+
render RUI::Markdown::Safe.new { "## #{@title}" }
|
16
|
+
|
17
|
+
render RUI::Links::Destructive.new(
|
18
|
+
href: "#",
|
19
|
+
icon: "x",
|
20
|
+
data: { action: "slideout#hide" }
|
21
|
+
)
|
22
|
+
end
|
23
|
+
yield
|
15
24
|
end
|
16
25
|
end
|
17
26
|
end
|
data/lib/rui/table.rb
CHANGED
@@ -1,13 +1,16 @@
|
|
1
1
|
class RUI::Table < RUI::Base
|
2
|
-
|
2
|
+
include Phlex::Rails::Helpers::DOMID
|
3
|
+
|
4
|
+
def initialize(rows, **attrs)
|
3
5
|
@rows = rows
|
4
6
|
@columns = []
|
7
|
+
@attrs = attrs
|
5
8
|
end
|
6
9
|
|
7
10
|
def view_template(&)
|
8
11
|
vanish(&)
|
9
12
|
|
10
|
-
table(class: "bg-white w-full table-auto border-collapse rounded") do
|
13
|
+
table(class: "bg-white w-full table-auto border-collapse rounded", **@attrs) do
|
11
14
|
thead(class: "bg-blue-50") do
|
12
15
|
@columns.each do |column|
|
13
16
|
th(class: classes(column[:attrs][:class])) do
|
@@ -18,13 +21,7 @@ class RUI::Table < RUI::Base
|
|
18
21
|
|
19
22
|
tbody do
|
20
23
|
@rows.each do |row|
|
21
|
-
|
22
|
-
@columns.each do |column|
|
23
|
-
td(class: classes(column[:attrs][:class])) do
|
24
|
-
column[:content].call(row)
|
25
|
-
end
|
26
|
-
end
|
27
|
-
end
|
24
|
+
render Row.new(row:, columns: @columns)
|
28
25
|
end
|
29
26
|
end
|
30
27
|
end
|
@@ -34,6 +31,33 @@ class RUI::Table < RUI::Base
|
|
34
31
|
@columns << { header:, attrs:, content: }
|
35
32
|
end
|
36
33
|
|
34
|
+
class Row < RUI::Base
|
35
|
+
include Phlex::Rails::Helpers::DOMID
|
36
|
+
|
37
|
+
def initialize(row:, columns:)
|
38
|
+
@row = row
|
39
|
+
@columns = columns
|
40
|
+
end
|
41
|
+
|
42
|
+
def view_template
|
43
|
+
tr(id: dom_id(@row), class: "odd:bg-white even:bg-zinc-100 hover:bg-zinc-200") do
|
44
|
+
@columns.each do |column|
|
45
|
+
td(class: classes(column[:attrs][:class])) do
|
46
|
+
column[:content].call(@row)
|
47
|
+
end
|
48
|
+
end
|
49
|
+
end
|
50
|
+
end
|
51
|
+
|
52
|
+
private
|
53
|
+
|
54
|
+
def base_classes = "border border-zinc-300 py-1 px-2 text-left"
|
55
|
+
|
56
|
+
def classes(custom_classes)
|
57
|
+
RUI::TailwindMerger.instance.merge(base_classes, custom_classes)
|
58
|
+
end
|
59
|
+
end
|
60
|
+
|
37
61
|
private
|
38
62
|
|
39
63
|
def base_classes = "border border-zinc-300 py-1 px-2 text-left"
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: relay_ui
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.4.
|
4
|
+
version: 0.4.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- logicrelay
|
8
8
|
bindir: bin
|
9
9
|
cert_chain: []
|
10
|
-
date: 2025-04-
|
10
|
+
date: 2025-04-10 00:00:00.000000000 Z
|
11
11
|
dependencies:
|
12
12
|
- !ruby/object:Gem::Dependency
|
13
13
|
name: phlex
|