openproject-primer_view_components 0.90.1 → 0.91.0

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 2ef0f7482a2f05830e52f6bf79c82a255a5f93a6e0633254ef227cc0d9dac286
4
- data.tar.gz: 97754d52c0c02941f138b71b1ca91a7de5e0fc62231984e488dc2ce06eed5695
3
+ metadata.gz: 9ece162d4bb90c9a0ff47147f17ca78a9f912d60278ae9bcc1c2c2158c443313
4
+ data.tar.gz: e171dfb9237266657147896d20fe7ca5be60b50b8787b37f95fdcce75136d586
5
5
  SHA512:
6
- metadata.gz: '08227413c52a33a55b8bb8cffd1796a77a5ad8b532aa46ce5eeab6fefc0811b1eae0be865c91e4201b63eeb55a3115cf9ef85f83d7fc15c15e51bf9d49c32e06'
7
- data.tar.gz: a1298136e10b35f585cc468e020282cd7e3c2efe0578f10ff5700faa7adc6ce828113e9d3b7a162c3d7f7e19bb38a325961f31b2645f13bb059a6e3f2cd4d3ff
6
+ metadata.gz: 569f889fe63f22c6f9ecef37ebdd5627734d5e600fc65b5f806d4dfb445cc3d27c0748b3813c255ebb75f29bd5137684d61e140b87a24ad1bb873e3f2ba2dcb9
7
+ data.tar.gz: 35feb5d650bf1676a5af0aa088d224b87d7626cc91440a9562756a5a69157548885a90fdbc91c4d54b4a0311aac24a5edaeeddc9e62dccf4dbd3c1666b316311
data/CHANGELOG.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # CHANGELOG
2
2
 
3
+ ## 0.91.0
4
+
5
+ ### Minor Changes
6
+
7
+ - [#512](https://github.com/opf/primer_view_components/pull/512) [`22fbe59`](https://github.com/opf/primer_view_components/commit/22fbe5973c85d47a2d9c6369e6b769076b997190) Thanks [@HDinger](https://github.com/HDinger)! - Support async TreeViews for select variant :single and :multiple for select strategy :self
8
+
3
9
  ## 0.90.1
4
10
 
5
11
  ### Patch Changes
@@ -185,8 +185,8 @@ module Primer
185
185
  def render_in(*args, **_kwargs, &block)
186
186
  super.tap do
187
187
  # check this _after_ rendering so @sub_tree's slots are defined
188
- if @node.select_variant != :none && @sub_tree.defer?
189
- raise ArgumentError, "TreeView does not currently support select variants for sub-trees loaded asynchronously."
188
+ if @node.select_variant == :multiple && @sub_tree.defer? && @select_strategy != :self
189
+ raise ArgumentError, "TreeView does not currently support the multiple select variant with #{@select_strategy.inspect} select strategy for sub-trees loaded asynchronously."
190
190
  end
191
191
  end
192
192
  end
@@ -46,7 +46,8 @@ module Primer
46
46
 
47
47
  render(
48
48
  locals: {
49
- action_menu_expanded: params[:action_menu_expanded] == "true"
49
+ action_menu_expanded: params[:action_menu_expanded] == "true",
50
+ select_variant: (params[:select_variant] || :none).to_sym
50
51
  }
51
52
  )
52
53
  end
@@ -1,21 +1,21 @@
1
1
  <%= render(Primer::Alpha::TreeView::SubTree.new(path: ["primer"], node_variant: :div)) do |tree| %>
2
- <% tree.with_sub_tree(label: "alpha") do |sub_tree| %>
2
+ <% tree.with_sub_tree(label: "alpha", select_variant: select_variant, select_strategy: :self) do |sub_tree| %>
3
3
  <% sub_tree.with_leading_visual_icons do |icons| %>
4
4
  <% icons.with_expanded_icon(icon: :"file-directory-open-fill", color: :accent) %>
5
5
  <% icons.with_collapsed_icon(icon: :"file-directory-fill", color: :accent) %>
6
6
  <% end %>
7
7
 
8
- <% sub_tree.with_sub_tree(label: "action_menu", expanded: action_menu_expanded) do |sub_tree| %>
8
+ <% sub_tree.with_sub_tree(label: "action_menu", expanded: action_menu_expanded, select_variant: select_variant, select_strategy: :self) do |sub_tree| %>
9
9
  <% sub_tree.with_leading_visual_icons do |icons| %>
10
10
  <% icons.with_expanded_icon(icon: :"file-directory-open-fill", color: :accent) %>
11
11
  <% icons.with_collapsed_icon(icon: :"file-directory-fill", color: :accent) %>
12
12
  <% end %>
13
13
 
14
- <% sub_tree.with_leaf(label: "group.rb") do |item| %>
14
+ <% sub_tree.with_leaf(label: "group.rb", select_variant: select_variant) do |item| %>
15
15
  <% item.with_leading_visual_icon(icon: :file) %>
16
16
  <% end %>
17
17
 
18
- <% sub_tree.with_leaf(label: "heading.rb") do |item| %>
18
+ <% sub_tree.with_leaf(label: "heading.rb", select_variant: select_variant) do |item| %>
19
19
  <% item.with_leading_visual_icon(icon: :file) %>
20
20
  <% end %>
21
21
  <% end %>
@@ -5,8 +5,8 @@ module Primer
5
5
  module ViewComponents
6
6
  module VERSION
7
7
  MAJOR = 0
8
- MINOR = 90
9
- PATCH = 1
8
+ MINOR = 91
9
+ PATCH = 0
10
10
 
11
11
  STRING = [MAJOR, MINOR, PATCH].join(".")
12
12
  end
@@ -1,12 +1,12 @@
1
1
  <div style="max-width: 400px">
2
2
  <%= render(Primer::Alpha::TreeView.new) do |tree_view| %>
3
- <% tree_view.with_sub_tree(label: "primer") do |sub_tree| %>
3
+ <% tree_view.with_sub_tree(label: "primer", select_variant: select_variant, select_strategy: :self) do |sub_tree| %>
4
4
  <% sub_tree.with_leading_visual_icons do |icons| %>
5
5
  <% icons.with_expanded_icon(icon: :"file-directory-open-fill", color: :accent) %>
6
6
  <% icons.with_collapsed_icon(icon: :"file-directory-fill", color: :accent) %>
7
7
  <% end %>
8
8
 
9
- <% sub_tree.with_loading_skeleton(src: primer_view_components.tree_view_items_async_alpha_path(action_menu_expanded: action_menu_expanded)) %>
9
+ <% sub_tree.with_loading_skeleton(src: primer_view_components.tree_view_items_async_alpha_path(action_menu_expanded: action_menu_expanded, select_variant: select_variant)) %>
10
10
  <% end %>
11
11
  <% end %>
12
12
  </div>
@@ -0,0 +1,16 @@
1
+ <%= form_with(url: primer_view_components.generic_form_submission_path(format: :json)) do |f| %>
2
+ <%= render(Primer::Alpha::Stack.new) do %>
3
+ <%= render(Primer::Alpha::TreeView.new(form_arguments: { builder: f, name: "folder_structure" })) do |tree| %>
4
+ <% tree.with_sub_tree(label: "primer", select_variant: select_variant, select_strategy: :self) do |sub_tree| %>
5
+ <% sub_tree.with_leading_visual_icons do |icons| %>
6
+ <% icons.with_expanded_icon(icon: :"file-directory-open-fill", color: :accent) %>
7
+ <% icons.with_collapsed_icon(icon: :"file-directory-fill", color: :accent) %>
8
+ <% end %>
9
+
10
+ <% sub_tree.with_loading_skeleton(src: primer_view_components.tree_view_items_async_alpha_path(select_variant: select_variant)) %>
11
+ <% end %>
12
+ <% end %>
13
+
14
+ <%= render(Primer::Alpha::SubmitButton.new(name: :submit, label: "Submit")) %>
15
+ <% end %>
16
+ <% end %>
@@ -114,9 +114,11 @@ module Primer
114
114
  # @label Async alpha
115
115
  #
116
116
  # @param action_menu_expanded [Boolean] toggle
117
- def async_alpha(action_menu_expanded: false)
117
+ # @param select_variant [Symbol] select [none, single, multiple]
118
+ def async_alpha(action_menu_expanded: false, select_variant: :none)
118
119
  render_with_template(locals: {
119
- action_menu_expanded: coerce_bool(action_menu_expanded)
120
+ action_menu_expanded: coerce_bool(action_menu_expanded),
121
+ select_variant: select_variant.to_sym
120
122
  })
121
123
  end
122
124
 
@@ -197,6 +199,15 @@ module Primer
197
199
  })
198
200
  end
199
201
 
202
+ # @label Async form input
203
+ # @hidden
204
+ # @param select_variant [Symbol] select [single, multiple]
205
+ def async_form_input(select_variant: :single)
206
+ render_with_template(locals: {
207
+ select_variant: select_variant.to_sym
208
+ })
209
+ end
210
+
200
211
  # @label Doubled paths
201
212
  # @hidden
202
213
  def doubled_path
@@ -10870,6 +10870,19 @@
10870
10870
  ]
10871
10871
  }
10872
10872
  },
10873
+ {
10874
+ "preview_path": "primer/alpha/tree_view/async_form_input",
10875
+ "name": "async_form_input",
10876
+ "snapshot": "false",
10877
+ "skip_rules": {
10878
+ "wont_fix": [
10879
+ "region"
10880
+ ],
10881
+ "will_fix": [
10882
+ "color-contrast"
10883
+ ]
10884
+ }
10885
+ },
10873
10886
  {
10874
10887
  "preview_path": "primer/alpha/tree_view/doubled_path",
10875
10888
  "name": "doubled_path",
data/static/previews.json CHANGED
@@ -4932,6 +4932,19 @@
4932
4932
  ]
4933
4933
  }
4934
4934
  },
4935
+ {
4936
+ "preview_path": "primer/alpha/tree_view/async_form_input",
4937
+ "name": "async_form_input",
4938
+ "snapshot": "false",
4939
+ "skip_rules": {
4940
+ "wont_fix": [
4941
+ "region"
4942
+ ],
4943
+ "will_fix": [
4944
+ "color-contrast"
4945
+ ]
4946
+ }
4947
+ },
4935
4948
  {
4936
4949
  "preview_path": "primer/alpha/tree_view/doubled_path",
4937
4950
  "name": "doubled_path",
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: openproject-primer_view_components
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.90.1
4
+ version: 0.91.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - GitHub Open Source
@@ -1097,6 +1097,7 @@ files:
1097
1097
  - previews/primer/alpha/tooltip_preview/with_right_most_position.html.erb
1098
1098
  - previews/primer/alpha/tree_view_preview.rb
1099
1099
  - previews/primer/alpha/tree_view_preview/async_alpha.html.erb
1100
+ - previews/primer/alpha/tree_view_preview/async_form_input.html.erb
1100
1101
  - previews/primer/alpha/tree_view_preview/buttons.html.erb
1101
1102
  - previews/primer/alpha/tree_view_preview/default.html.erb
1102
1103
  - previews/primer/alpha/tree_view_preview/doubled_path.html.erb