card-mod-search 0.13.2 → 0.14.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: '086c398c42eee05ce5f259e81ec289ee396fa08c549d949b105619510248ad9a'
4
- data.tar.gz: 5295c16a266f5ff4d078584912352e73dc8a542b0f2c898dacd3d08cc7b9fbad
3
+ metadata.gz: f73d69b10b1dc5a14c62996add8ac37c69e8dc75f991ef61c3264b4ccfda74e9
4
+ data.tar.gz: 3a15bb989c8664cdadd06f4052316b0c0307a7bac0074ac23db4cdb2824897cd
5
5
  SHA512:
6
- metadata.gz: 2b84ac11b4919acb3c8b4317befecdfd63a25a545d84f7bd19ade832cc410967581c939f9e5b0a5451dc80fe9df8044f79099c739e9108b77589144df47b4fd9
7
- data.tar.gz: 2fed172ce5954d4f12d884202c95aea374a3cb1bcbddd097d854544902a8eb8d2e207f1de2fbad9cd478936411aaa05f6037441ab0ef091c6137d70bf1ee0a45
6
+ metadata.gz: 7f59a4b25d904a2de55006bbe43975747caee486fc9df8b65d11e54472b7d36b6f365976612ca6afad9a820fe6e085651fa6a27dcc0d39928931be61d950f520
7
+ data.tar.gz: f922b35501eeca0d14976b6de35d73494c5e449ecfcc451db488edc557d46f3c525d9fdf3df12710fbd5552065f8ba1d3bfb1ad7d4677472c508633f45fa9f64
@@ -25,7 +25,7 @@ class Card
25
25
  @filter_cql[cql_key] << val
26
26
  end
27
27
  else
28
- send("#{key}_cql", value)
28
+ send "#{key}_cql", value
29
29
  end
30
30
  end
31
31
 
@@ -85,7 +85,7 @@ format :html do
85
85
  end
86
86
 
87
87
  def filter_label_from_name field
88
- Card.fetch_name(field) { field.to_s.titleize }
88
+ Card.fetch_name(field) { field.to_s.sub(/^\*/, "").titleize }
89
89
  end
90
90
 
91
91
  def filter_action_path
@@ -22,6 +22,7 @@ format :html do
22
22
  view :filtered_content, template: :haml, wrap: :slot
23
23
 
24
24
  view :filtered_results do
25
+ class_up "card-slot", "_filter-result-slot"
25
26
  wrap { render_core }
26
27
  end
27
28
 
@@ -13,9 +13,7 @@ end
13
13
 
14
14
  def item_type
15
15
  type = cql_hash[:type]
16
- return if type.is_a?(Array) || type.is_a?(Hash)
17
-
18
- type
16
+ type unless type.is_a?(Array) || type.is_a?(Hash)
19
17
  end
20
18
 
21
19
  # for override, eg when required subqueries are known to be missing
@@ -0,0 +1,11 @@
1
+ def cql_content
2
+ { referred_to_by: "_" }
3
+ end
4
+
5
+ def item_cards args={}
6
+ standard_item_cards args
7
+ end
8
+
9
+ def count
10
+ item_strings.size
11
+ end
@@ -0,0 +1,59 @@
1
+ format do
2
+ view :core, cache: :never do
3
+ _render search_result_view
4
+ end
5
+
6
+ def search_result_view
7
+ case search_with_params
8
+ when Exception then :search_error
9
+ when Integer then :search_count
10
+ when nest_mode == :template then :raw
11
+ else :card_list
12
+ end
13
+ end
14
+ end
15
+
16
+ format :rss do
17
+ view :feed_body do
18
+ case raw_feed_items
19
+ when Exception then @xml.item(render!(:search_error))
20
+ when Integer then @xml.item(render!(:search_count))
21
+ else super()
22
+ end
23
+ end
24
+
25
+ def raw_feed_items
26
+ @raw_feed_items ||= search_with_params
27
+ end
28
+ end
29
+
30
+ format :html do
31
+ view :core do
32
+ _render search_result_view
33
+ end
34
+
35
+ view :bar do
36
+ voo.hide :one_line_content
37
+ super()
38
+ end
39
+
40
+ view :one_line_content, cache: :never do
41
+ if depth > max_depth
42
+ "..."
43
+ else
44
+ search_params[:limit] = closed_limit
45
+ _render_core hide: "paging", items: { view: :link }
46
+ # TODO: if item is queryified to be "name", then that should work.
47
+ # otherwise use link
48
+ end
49
+ end
50
+
51
+ def rss_link_tag
52
+ path_opts = { format: :rss }
53
+ Array(search_params[:vars]).compact.each { |k, v| opts["_#{k}"] = v }
54
+ tag "link", rel: "alternate",
55
+ type: "application/rss+xml",
56
+ title: "RSS",
57
+ href: path(path_opts)
58
+ end
59
+ end
data/set/self/recent.rb CHANGED
@@ -27,9 +27,3 @@ format :rss do
27
27
  render_blank
28
28
  end
29
29
  end
30
-
31
- format :json do
32
- def items_for_export
33
- card.item_cards limit: 20
34
- end
35
- end
data/set/self/search.rb CHANGED
@@ -63,7 +63,7 @@ format :json do
63
63
  !exact.virtual? &&
64
64
  exact.ok?(:create)
65
65
 
66
- [h(exact.name), CGI.escape(exact.name)]
66
+ [h(exact.name), ERB::Util.url_encode(exact.name)]
67
67
  end
68
68
 
69
69
  def new_item_of_type exact
@@ -1,81 +1,9 @@
1
1
  include_set Type::Json
2
2
  include_set Abstract::CqlSearch
3
+ include_set Abstract::SearchViews
3
4
 
4
5
  format do
5
- view :core, cache: :never do
6
- _render search_result_view
7
- end
8
-
9
6
  def chunk_list
10
7
  :query
11
8
  end
12
-
13
- def search_result_view
14
- case search_with_params
15
- when Exception then :search_error
16
- when Integer then :search_count
17
- when nest_mode == :template then :raw
18
- else :card_list
19
- end
20
- end
21
- end
22
-
23
- format :json do
24
- def items_for_export
25
- return [] if card.content.empty? || unexportable_tag?(card.name.tag_name.key)
26
-
27
- card.item_cards
28
- end
29
-
30
- # avoid running the search from +:content_options (huge results)
31
- # and +:structure (errors)
32
- # TODO: make this configurable in set mods
33
- def unexportable_tag? tag_key
34
- %i[content_options structure].map { |code| code.cardname.key }.include? tag_key
35
- end
36
- end
37
-
38
- format :rss do
39
- view :feed_body do
40
- case raw_feed_items
41
- when Exception then @xml.item(render!(:search_error))
42
- when Integer then @xml.item(render!(:search_count))
43
- else super()
44
- end
45
- end
46
-
47
- def raw_feed_items
48
- @raw_feed_items ||= search_with_params
49
- end
50
- end
51
-
52
- format :html do
53
- view :core do
54
- _render search_result_view
55
- end
56
-
57
- view :bar do
58
- voo.hide :one_line_content
59
- super()
60
- end
61
-
62
- view :one_line_content, cache: :never do
63
- if depth > max_depth
64
- "..."
65
- else
66
- search_params[:limit] = closed_limit
67
- _render_core hide: "paging", items: { view: :link }
68
- # TODO: if item is queryified to be "name", then that should work.
69
- # otherwise use link
70
- end
71
- end
72
-
73
- def rss_link_tag
74
- path_opts = { format: :rss }
75
- Array(search_params[:vars]).compact.each { |k, v| opts["_#{k}"] = v }
76
- tag "link", rel: "alternate",
77
- type: "application/rss+xml",
78
- title: "RSS",
79
- href: path(path_opts)
80
- end
81
9
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: card-mod-search
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.13.2
4
+ version: 0.14.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ethan McCutchen
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2021-08-06 00:00:00.000000000 Z
13
+ date: 2022-01-04 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: card
@@ -18,28 +18,28 @@ dependencies:
18
18
  requirements:
19
19
  - - '='
20
20
  - !ruby/object:Gem::Version
21
- version: 1.103.2
21
+ version: 1.104.1
22
22
  type: :runtime
23
23
  prerelease: false
24
24
  version_requirements: !ruby/object:Gem::Requirement
25
25
  requirements:
26
26
  - - '='
27
27
  - !ruby/object:Gem::Version
28
- version: 1.103.2
28
+ version: 1.104.1
29
29
  - !ruby/object:Gem::Dependency
30
30
  name: card-mod-collection
31
31
  requirement: !ruby/object:Gem::Requirement
32
32
  requirements:
33
33
  - - '='
34
34
  - !ruby/object:Gem::Version
35
- version: 0.13.2
35
+ version: 0.14.1
36
36
  type: :runtime
37
37
  prerelease: false
38
38
  version_requirements: !ruby/object:Gem::Requirement
39
39
  requirements:
40
40
  - - '='
41
41
  - !ruby/object:Gem::Version
42
- version: 0.13.2
42
+ version: 0.14.1
43
43
  description: ''
44
44
  email:
45
45
  - info@decko.org
@@ -59,14 +59,15 @@ files:
59
59
  - set/abstract/03_filter/query_construction.rb
60
60
  - set/abstract/03_filter/quick_filters.haml
61
61
  - set/abstract/03_filter/selectable_filtered_content.haml
62
- - set/abstract/04_right_filter_form.rb
63
62
  - set/abstract/05_search.rb
64
63
  - set/abstract/05_search/checkbox_item.haml
65
64
  - set/abstract/05_search/select_item.haml
66
65
  - set/abstract/05_search/views.rb
67
66
  - set/abstract/06_cql_search.rb
67
+ - set/abstract/filter_list.rb
68
68
  - set/abstract/filterable.rb
69
69
  - set/abstract/filterable_bar.rb
70
+ - set/abstract/search_views.rb
70
71
  - set/right/children.rb
71
72
  - set/right/created.rb
72
73
  - set/right/edited.rb
@@ -108,7 +109,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
108
109
  - !ruby/object:Gem::Version
109
110
  version: '0'
110
111
  requirements: []
111
- rubygems_version: 3.1.6
112
+ rubygems_version: 3.2.15
112
113
  signing_key:
113
114
  specification_version: 4
114
115
  summary: search
@@ -1,26 +0,0 @@
1
- # To be included in a field card to get a filter for the parent.
2
- # The core view renders a filter for the left card.
3
-
4
- include_set Set::Abstract::Filter
5
-
6
- def virtual?
7
- new?
8
- end
9
-
10
- format :html do
11
- def filter_action_path
12
- path mark: card.name.left, view: filter_view
13
- end
14
-
15
- view :core, cache: :never do
16
- filter_fields slot_selector: filter_selector
17
- end
18
-
19
- def filter_view
20
- :filter_result
21
- end
22
-
23
- def filter_selector
24
- ".#{filter_view}-view"
25
- end
26
- end