katalyst-navigation 1.3.1 → 1.3.3
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/assets/javascripts/utils/navigation/editor/item.js +1 -1
- data/app/helpers/katalyst/navigation/frontend/builder.rb +2 -2
- data/app/models/katalyst/navigation/button.rb +11 -0
- data/app/models/katalyst/navigation/item.rb +21 -1
- data/db/migrate/20220826034507_create_katalyst_navigation_items.rb +1 -0
- data/lib/katalyst/navigation/version.rb +1 -1
- 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: 0430e1c7846b906e84d20fd7c0302b9a602a0a4427a925b12590983ec07a15c2
|
4
|
+
data.tar.gz: 85387acf67b2842d791daf9f7272b067cca28991913e36541eb7c6ef6b9aedf3
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: '034680c7620436686cf44504c3b22fd93a23301678c86a61fd2741719bdc8b16a561bb09d44b61256c33c41ee09a9418df071b1274615a38ab5a337f54049310'
|
7
|
+
data.tar.gz: db8060ce2d4bc572340af555630db50a3dc117f64c5f74b8faa85d9b674a2ec16c6f9ecede44eb16722059358ccdd6ef9d5a2d5fde1a5dede83ce5c21ade9d8d
|
@@ -42,7 +42,7 @@ export default class Item {
|
|
42
42
|
* @returns {number} logical nesting depth of node in menu
|
43
43
|
*/
|
44
44
|
get depth() {
|
45
|
-
return parseInt(this.node.dataset[`navigationDepth`]);
|
45
|
+
return parseInt(this.node.dataset[`navigationDepth`]) || 0;
|
46
46
|
}
|
47
47
|
|
48
48
|
get #depthInput() {
|
@@ -46,11 +46,11 @@ module Katalyst
|
|
46
46
|
end
|
47
47
|
|
48
48
|
def render_link(link)
|
49
|
-
link_to(link.title, link.url)
|
49
|
+
link_to(link.title, link.url, link.item_options)
|
50
50
|
end
|
51
51
|
|
52
52
|
def render_button(link)
|
53
|
-
link_to(link.title, link.url,
|
53
|
+
link_to(link.title, link.url, link.item_options)
|
54
54
|
end
|
55
55
|
|
56
56
|
private
|
@@ -14,6 +14,17 @@ module Katalyst
|
|
14
14
|
def self.permitted_params
|
15
15
|
super + %i[http_method]
|
16
16
|
end
|
17
|
+
|
18
|
+
def options_for_target
|
19
|
+
options = super
|
20
|
+
|
21
|
+
if target == "_blank" || target == "_top" || target == "self"
|
22
|
+
options.deep_merge!({ data: { method: http_method } })
|
23
|
+
else
|
24
|
+
options.deep_merge!({ data: { turbo_method: http_method } })
|
25
|
+
end
|
26
|
+
options
|
27
|
+
end
|
17
28
|
end
|
18
29
|
end
|
19
30
|
end
|
@@ -10,12 +10,16 @@ module Katalyst
|
|
10
10
|
|
11
11
|
attr_accessor :parent, :children, :index, :depth
|
12
12
|
|
13
|
+
TARGETS = %i[self _top _blank kpop].index_by(&:itself).freeze
|
14
|
+
|
15
|
+
enum method: TARGETS, _prefix: :target
|
16
|
+
|
13
17
|
def self.permitted_params
|
14
18
|
%i[
|
15
19
|
title
|
16
20
|
url
|
17
21
|
visible
|
18
|
-
|
22
|
+
target
|
19
23
|
type
|
20
24
|
]
|
21
25
|
end
|
@@ -24,6 +28,22 @@ module Katalyst
|
|
24
28
|
is_a? Layout
|
25
29
|
end
|
26
30
|
|
31
|
+
# Entrypoint for combining additional options based on attribute rules
|
32
|
+
def item_options
|
33
|
+
options_for_target
|
34
|
+
end
|
35
|
+
|
36
|
+
def options_for_target
|
37
|
+
return {} if target == "self"
|
38
|
+
|
39
|
+
options = { target: target }
|
40
|
+
|
41
|
+
unless target == "_blank" || target == "_top"
|
42
|
+
options = { data: { turbo: true, turbo_frame: target } }
|
43
|
+
end
|
44
|
+
options
|
45
|
+
end
|
46
|
+
|
27
47
|
private
|
28
48
|
|
29
49
|
def initialize_tree
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: katalyst-navigation
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.3.
|
4
|
+
version: 1.3.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Katalyst Interactive
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2022-11-
|
11
|
+
date: 2022-11-18 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
13
|
description:
|
14
14
|
email:
|