compony 0.5.9 → 0.6.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.
Files changed (88) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +5 -0
  3. data/Gemfile.lock +1 -1
  4. data/README.md +21 -0
  5. data/VERSION +1 -1
  6. data/compony.gemspec +3 -3
  7. data/config/locales/de.yml +13 -0
  8. data/config/locales/en.yml +13 -0
  9. data/config/locales/fr.yml +14 -1
  10. data/doc/ComponentGenerator.html +16 -4
  11. data/doc/Components.html +3 -3
  12. data/doc/ComponentsGenerator.html +3 -3
  13. data/doc/Compony/Component.html +4 -4
  14. data/doc/Compony/ComponentMixins/Default/Labelling.html +3 -3
  15. data/doc/Compony/ComponentMixins/Default/Standalone/ResourcefulVerbDsl.html +3 -3
  16. data/doc/Compony/ComponentMixins/Default/Standalone/StandaloneDsl.html +3 -3
  17. data/doc/Compony/ComponentMixins/Default/Standalone/VerbDsl.html +3 -3
  18. data/doc/Compony/ComponentMixins/Default/Standalone.html +3 -3
  19. data/doc/Compony/ComponentMixins/Default.html +3 -3
  20. data/doc/Compony/ComponentMixins/Resourceful.html +4 -4
  21. data/doc/Compony/ComponentMixins.html +3 -3
  22. data/doc/Compony/Components/Button.html +3 -3
  23. data/doc/Compony/Components/Destroy.html +3 -3
  24. data/doc/Compony/Components/Edit.html +3 -3
  25. data/doc/Compony/Components/Form.html +3 -3
  26. data/doc/Compony/Components/Index.html +172 -0
  27. data/doc/Compony/Components/List.html +2731 -0
  28. data/doc/Compony/Components/New.html +3 -3
  29. data/doc/Compony/Components/Show.html +740 -0
  30. data/doc/Compony/Components/WithForm.html +3 -3
  31. data/doc/Compony/Components.html +5 -5
  32. data/doc/Compony/ControllerMixin.html +3 -3
  33. data/doc/Compony/Engine.html +3 -3
  34. data/doc/Compony/MethodAccessibleHash.html +3 -3
  35. data/doc/Compony/ModelFields/Anchormodel.html +136 -4
  36. data/doc/Compony/ModelFields/Association.html +4 -4
  37. data/doc/Compony/ModelFields/Attachment.html +4 -4
  38. data/doc/Compony/ModelFields/Base.html +143 -13
  39. data/doc/Compony/ModelFields/Boolean.html +136 -4
  40. data/doc/Compony/ModelFields/Color.html +4 -4
  41. data/doc/Compony/ModelFields/Currency.html +4 -4
  42. data/doc/Compony/ModelFields/Date.html +4 -4
  43. data/doc/Compony/ModelFields/Datetime.html +4 -4
  44. data/doc/Compony/ModelFields/Decimal.html +4 -4
  45. data/doc/Compony/ModelFields/Email.html +4 -4
  46. data/doc/Compony/ModelFields/Float.html +4 -4
  47. data/doc/Compony/ModelFields/Integer.html +83 -5
  48. data/doc/Compony/ModelFields/Percentage.html +4 -4
  49. data/doc/Compony/ModelFields/Phone.html +4 -4
  50. data/doc/Compony/ModelFields/RichText.html +4 -4
  51. data/doc/Compony/ModelFields/String.html +4 -4
  52. data/doc/Compony/ModelFields/Text.html +4 -4
  53. data/doc/Compony/ModelFields/Time.html +4 -4
  54. data/doc/Compony/ModelFields/Url.html +4 -4
  55. data/doc/Compony/ModelFields.html +3 -3
  56. data/doc/Compony/ModelMixin.html +26 -26
  57. data/doc/Compony/NaturalOrdering.html +3 -3
  58. data/doc/Compony/RequestContext.html +3 -3
  59. data/doc/Compony/Version.html +3 -3
  60. data/doc/Compony/ViewHelpers.html +3 -3
  61. data/doc/Compony.html +4 -4
  62. data/doc/ComponyController.html +3 -3
  63. data/doc/_index.html +25 -4
  64. data/doc/class_list.html +3 -6
  65. data/doc/css/full_list.css +3 -3
  66. data/doc/css/style.css +0 -6
  67. data/doc/file.README.html +37 -10
  68. data/doc/file_list.html +2 -5
  69. data/doc/frames.html +5 -10
  70. data/doc/index.html +37 -10
  71. data/doc/js/app.js +264 -294
  72. data/doc/js/full_list.js +4 -30
  73. data/doc/method_list.html +423 -114
  74. data/doc/top-level-namespace.html +3 -3
  75. data/lib/compony/components/index.rb +33 -0
  76. data/lib/compony/components/list.rb +418 -0
  77. data/lib/compony/components/show.rb +116 -0
  78. data/lib/compony/model_fields/anchormodel.rb +13 -0
  79. data/lib/compony/model_fields/base.rb +12 -0
  80. data/lib/compony/model_fields/boolean.rb +13 -0
  81. data/lib/compony/model_fields/integer.rb +3 -0
  82. data/lib/compony/model_mixin.rb +5 -0
  83. data/lib/compony.rb +3 -0
  84. data/lib/generators/component/component_generator.rb +6 -0
  85. data/lib/generators/component/templates/index.rb.erb +2 -0
  86. data/lib/generators/component/templates/list.rb.erb +7 -0
  87. data/lib/generators/component/templates/show.rb.erb +2 -0
  88. metadata +10 -1
@@ -0,0 +1,2731 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <meta charset="utf-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <title>
7
+ Class: Compony::Components::List
8
+
9
+ &mdash; Documentation by YARD 0.9.34
10
+
11
+ </title>
12
+
13
+ <link rel="stylesheet" href="../../css/style.css" type="text/css" />
14
+
15
+ <link rel="stylesheet" href="../../css/common.css" type="text/css" />
16
+
17
+ <script type="text/javascript">
18
+ pathId = "Compony::Components::List";
19
+ relpath = '../../';
20
+ </script>
21
+
22
+
23
+ <script type="text/javascript" charset="utf-8" src="../../js/jquery.js"></script>
24
+
25
+ <script type="text/javascript" charset="utf-8" src="../../js/app.js"></script>
26
+
27
+
28
+ </head>
29
+ <body>
30
+ <div class="nav_wrap">
31
+ <iframe id="nav" src="../../class_list.html?1"></iframe>
32
+ <div id="resizer"></div>
33
+ </div>
34
+
35
+ <div id="main" tabindex="-1">
36
+ <div id="header">
37
+ <div id="menu">
38
+
39
+ <a href="../../_index.html">Index (L)</a> &raquo;
40
+ <span class='title'><span class='object_link'><a href="../../Compony.html" title="Compony (module)">Compony</a></span></span> &raquo; <span class='title'><span class='object_link'><a href="../Components.html" title="Compony::Components (module)">Components</a></span></span>
41
+ &raquo;
42
+ <span class="title">List</span>
43
+
44
+ </div>
45
+
46
+ <div id="search">
47
+
48
+ <a class="full_list_link" id="class_list_link"
49
+ href="../../class_list.html">
50
+
51
+ <svg width="24" height="24">
52
+ <rect x="0" y="4" width="24" height="4" rx="1" ry="1"></rect>
53
+ <rect x="0" y="12" width="24" height="4" rx="1" ry="1"></rect>
54
+ <rect x="0" y="20" width="24" height="4" rx="1" ry="1"></rect>
55
+ </svg>
56
+ </a>
57
+
58
+ </div>
59
+ <div class="clear"></div>
60
+ </div>
61
+
62
+ <div id="content"><h1>Class: Compony::Components::List
63
+
64
+
65
+
66
+ </h1>
67
+ <div class="box_info">
68
+
69
+ <dl>
70
+ <dt>Inherits:</dt>
71
+ <dd>
72
+ <span class="inheritName"><span class='object_link'><a href="../Component.html" title="Compony::Component (class)">Compony::Component</a></span></span>
73
+
74
+ <ul class="fullTree">
75
+ <li>Object</li>
76
+
77
+ <li class="next"><span class='object_link'><a href="../Component.html" title="Compony::Component (class)">Compony::Component</a></span></li>
78
+
79
+ <li class="next">Compony::Components::List</li>
80
+
81
+ </ul>
82
+ <a href="#" class="inheritanceTree">show all</a>
83
+
84
+ </dd>
85
+ </dl>
86
+
87
+
88
+
89
+
90
+
91
+
92
+ <dl>
93
+ <dt>Includes:</dt>
94
+ <dd><span class='object_link'><a href="../ComponentMixins/Resourceful.html" title="Compony::ComponentMixins::Resourceful (module)">Compony::ComponentMixins::Resourceful</a></span></dd>
95
+ </dl>
96
+
97
+
98
+
99
+
100
+
101
+
102
+ <dl>
103
+ <dt>Defined in:</dt>
104
+ <dd>lib/compony/components/list.rb</dd>
105
+ </dl>
106
+
107
+ </div>
108
+
109
+ <h2>Overview</h2><div class="docstring">
110
+ <div class="discussion">
111
+
112
+ <p>This component is used for the Rails list paradigm. It is meant to be nested inside the same family’s <code>::Index</code> or an owner’s <code>::Show</code> component.</p>
113
+
114
+
115
+ </div>
116
+ </div>
117
+ <div class="tags">
118
+
119
+
120
+ </div>
121
+
122
+
123
+
124
+
125
+
126
+ <h2>Instance Attribute Summary</h2>
127
+
128
+ <h3 class="inherited">Attributes included from <span class='object_link'><a href="../ComponentMixins/Resourceful.html" title="Compony::ComponentMixins::Resourceful (module)">Compony::ComponentMixins::Resourceful</a></span></h3>
129
+ <p class="inherited"><span class='object_link'><a href="../ComponentMixins/Resourceful.html#data-instance_method" title="Compony::ComponentMixins::Resourceful#data (method)">#data</a></span>, <span class='object_link'><a href="../ComponentMixins/Resourceful.html#global_after_assign_attributes_block-instance_method" title="Compony::ComponentMixins::Resourceful#global_after_assign_attributes_block (method)">#global_after_assign_attributes_block</a></span>, <span class='object_link'><a href="../ComponentMixins/Resourceful.html#global_after_load_data_block-instance_method" title="Compony::ComponentMixins::Resourceful#global_after_load_data_block (method)">#global_after_load_data_block</a></span>, <span class='object_link'><a href="../ComponentMixins/Resourceful.html#global_assign_attributes_block-instance_method" title="Compony::ComponentMixins::Resourceful#global_assign_attributes_block (method)">#global_assign_attributes_block</a></span>, <span class='object_link'><a href="../ComponentMixins/Resourceful.html#global_load_data_block-instance_method" title="Compony::ComponentMixins::Resourceful#global_load_data_block (method)">#global_load_data_block</a></span>, <span class='object_link'><a href="../ComponentMixins/Resourceful.html#global_store_data_block-instance_method" title="Compony::ComponentMixins::Resourceful#global_store_data_block (method)">#global_store_data_block</a></span></p>
130
+
131
+
132
+
133
+ <h3 class="inherited">Attributes inherited from <span class='object_link'><a href="../Component.html" title="Compony::Component (class)">Compony::Component</a></span></h3>
134
+ <p class="inherited"><span class='object_link'><a href="../Component.html#comp_opts-instance_method" title="Compony::Component#comp_opts (method)">#comp_opts</a></span>, <span class='object_link'><a href="../Component.html#content_blocks-instance_method" title="Compony::Component#content_blocks (method)">#content_blocks</a></span>, <span class='object_link'><a href="../Component.html#parent_comp-instance_method" title="Compony::Component#parent_comp (method)">#parent_comp</a></span></p>
135
+
136
+
137
+
138
+ <h2>
139
+ Instance Method Summary
140
+ <small><a href="#" class="summary_toggle">collapse</a></small>
141
+ </h2>
142
+
143
+ <ul class="summary">
144
+
145
+ <li class="public ">
146
+ <span class="summary_signature">
147
+
148
+ <a href="#column-instance_method" title="#column (instance method)">#<strong>column</strong>(name, label: nil, class: nil, link_opts: {}, &amp;block) &#x21d2; Object </a>
149
+
150
+
151
+
152
+ </span>
153
+
154
+
155
+
156
+
157
+
158
+
159
+
160
+
161
+
162
+ <span class="summary_desc"><div class='inline'>
163
+ <p>DSL method Adds a new column to the list.</p>
164
+ </div></span>
165
+
166
+ </li>
167
+
168
+
169
+ <li class="public ">
170
+ <span class="summary_signature">
171
+
172
+ <a href="#columns-instance_method" title="#columns (instance method)">#<strong>columns</strong>(*col_names) &#x21d2; Object </a>
173
+
174
+
175
+
176
+ </span>
177
+
178
+
179
+
180
+
181
+
182
+
183
+
184
+
185
+
186
+ <span class="summary_desc"><div class='inline'>
187
+ <p>DSL method Adds multiple columns at once, sharing the same kwargs.</p>
188
+ </div></span>
189
+
190
+ </li>
191
+
192
+
193
+ <li class="public ">
194
+ <span class="summary_signature">
195
+
196
+ <a href="#filter-instance_method" title="#filter (instance method)">#<strong>filter</strong>(name, label: nil, &amp;block) &#x21d2; Object </a>
197
+
198
+
199
+
200
+ </span>
201
+
202
+
203
+
204
+
205
+
206
+
207
+
208
+
209
+
210
+ <span class="summary_desc"><div class='inline'>
211
+ <p>DSL method Adds a ransack filter.</p>
212
+ </div></span>
213
+
214
+ </li>
215
+
216
+
217
+ <li class="public ">
218
+ <span class="summary_signature">
219
+
220
+ <a href="#filter_input_class-instance_method" title="#filter_input_class (instance method)">#<strong>filter_input_class</strong>(class_str) &#x21d2; Object </a>
221
+
222
+
223
+
224
+ </span>
225
+
226
+
227
+
228
+
229
+
230
+
231
+
232
+
233
+
234
+ <span class="summary_desc"><div class='inline'>
235
+ <p>DSL method Sets the CSS class attribute for string form inputs in filters.</p>
236
+ </div></span>
237
+
238
+ </li>
239
+
240
+
241
+ <li class="public ">
242
+ <span class="summary_signature">
243
+
244
+ <a href="#filter_item_wrapper_class-instance_method" title="#filter_item_wrapper_class (instance method)">#<strong>filter_item_wrapper_class</strong>(class_str) &#x21d2; Object </a>
245
+
246
+
247
+
248
+ </span>
249
+
250
+
251
+
252
+
253
+
254
+
255
+
256
+
257
+
258
+ <span class="summary_desc"><div class='inline'>
259
+ <p>DSL method Sets the CSS class attribute for the div that wraps input-related elements in filters (inputs, selects, labels).</p>
260
+ </div></span>
261
+
262
+ </li>
263
+
264
+
265
+ <li class="public ">
266
+ <span class="summary_signature">
267
+
268
+ <a href="#filter_label_class-instance_method" title="#filter_label_class (instance method)">#<strong>filter_label_class</strong>(class_str) &#x21d2; Object </a>
269
+
270
+
271
+
272
+ </span>
273
+
274
+
275
+
276
+
277
+
278
+
279
+
280
+
281
+
282
+ <span class="summary_desc"><div class='inline'>
283
+ <p>DSL method Sets the CSS class attribute for form label elements in filters.</p>
284
+ </div></span>
285
+
286
+ </li>
287
+
288
+
289
+ <li class="public ">
290
+ <span class="summary_signature">
291
+
292
+ <a href="#filter_select_class-instance_method" title="#filter_select_class (instance method)">#<strong>filter_select_class</strong>(class_str) &#x21d2; Object </a>
293
+
294
+
295
+
296
+ </span>
297
+
298
+
299
+
300
+
301
+
302
+
303
+
304
+
305
+
306
+ <span class="summary_desc"><div class='inline'>
307
+ <p>DSL method Sets the CSS class attribute for form select inputs in filters.</p>
308
+ </div></span>
309
+
310
+ </li>
311
+
312
+
313
+ <li class="protected ">
314
+ <span class="summary_signature">
315
+
316
+ <a href="#filtering_enabled%3F-instance_method" title="#filtering_enabled? (instance method)">#<strong>filtering_enabled?</strong> &#x21d2; Boolean </a>
317
+
318
+
319
+
320
+ </span>
321
+
322
+
323
+
324
+ <span class="note title protected">protected</span>
325
+
326
+
327
+
328
+
329
+
330
+ <span class="summary_desc"><div class='inline'>
331
+ <p>Returns whether filtering is possible and wanted in general (regardless of whether there are any filters defined).</p>
332
+ </div></span>
333
+
334
+ </li>
335
+
336
+
337
+ <li class="public ">
338
+ <span class="summary_signature">
339
+
340
+ <a href="#filters-instance_method" title="#filters (instance method)">#<strong>filters</strong>(*filter_names) &#x21d2; Object </a>
341
+
342
+
343
+
344
+ </span>
345
+
346
+
347
+
348
+
349
+
350
+
351
+
352
+
353
+
354
+ <span class="summary_desc"><div class='inline'>
355
+ <p>DSL method Adds multiple filters at once, sharing the same kwargs.</p>
356
+ </div></span>
357
+
358
+ </li>
359
+
360
+
361
+ <li class="public ">
362
+ <span class="summary_signature">
363
+
364
+ <a href="#initialize-instance_method" title="#initialize (instance method)">#<strong>initialize</strong>(skip_pagination: false, results_per_page: 20, skip_filtering: false, skip_sorting: false, skip_sorting_in_filter: false, skip_sorting_links: false, skip_columns: [], skip_row_actions: [], skip_filters: []) &#x21d2; List </a>
365
+
366
+
367
+
368
+ </span>
369
+
370
+
371
+ <span class="note title constructor">constructor</span>
372
+
373
+
374
+
375
+
376
+
377
+
378
+
379
+
380
+ <span class="summary_desc"><div class='inline'>
381
+ <p>The following parameters are meant for the case where this component is nested and therefore instanciated by a parent comp.</p>
382
+ </div></span>
383
+
384
+ </li>
385
+
386
+
387
+ <li class="protected ">
388
+ <span class="summary_signature">
389
+
390
+ <a href="#pagination_enabled%3F-instance_method" title="#pagination_enabled? (instance method)">#<strong>pagination_enabled?</strong> &#x21d2; Boolean </a>
391
+
392
+
393
+
394
+ </span>
395
+
396
+
397
+
398
+ <span class="note title protected">protected</span>
399
+
400
+
401
+
402
+
403
+
404
+ <span class="summary_desc"><div class='inline'>
405
+ <p>Returns whether pagination is enabled (regardless of whether there is more than one page).</p>
406
+ </div></span>
407
+
408
+ </li>
409
+
410
+
411
+ <li class="public ">
412
+ <span class="summary_signature">
413
+
414
+ <a href="#process_data!-instance_method" title="#process_data! (instance method)">#<strong>process_data!</strong>(controller) &#x21d2; Object </a>
415
+
416
+
417
+
418
+ </span>
419
+
420
+
421
+
422
+
423
+
424
+
425
+
426
+
427
+
428
+ <span class="summary_desc"><div class='inline'>
429
+ <p>This method must be called before the data is read for the first time.</p>
430
+ </div></span>
431
+
432
+ </li>
433
+
434
+
435
+ <li class="public ">
436
+ <span class="summary_signature">
437
+
438
+ <a href="#results_per_page-instance_method" title="#results_per_page (instance method)">#<strong>results_per_page</strong>(new_results_per_page) &#x21d2; Object </a>
439
+
440
+
441
+
442
+ </span>
443
+
444
+
445
+
446
+
447
+
448
+
449
+
450
+
451
+
452
+ <span class="summary_desc"><div class='inline'>
453
+ <p>DSL method In case pagination is active, defines the amount of records to display per page.</p>
454
+ </div></span>
455
+
456
+ </li>
457
+
458
+
459
+ <li class="public ">
460
+ <span class="summary_signature">
461
+
462
+ <a href="#row_action-instance_method" title="#row_action (instance method)">#<strong>row_action</strong>(name, button_opts: {}, &amp;block) &#x21d2; Object </a>
463
+
464
+
465
+
466
+ </span>
467
+
468
+
469
+
470
+
471
+
472
+
473
+
474
+
475
+
476
+ <span class="summary_desc"><div class='inline'>
477
+ <p>DSL method Adds a row action.</p>
478
+ </div></span>
479
+
480
+ </li>
481
+
482
+
483
+ <li class="public ">
484
+ <span class="summary_signature">
485
+
486
+ <a href="#skip_column-instance_method" title="#skip_column (instance method)">#<strong>skip_column</strong>(name) &#x21d2; Object </a>
487
+
488
+
489
+
490
+ </span>
491
+
492
+
493
+
494
+
495
+
496
+
497
+
498
+
499
+
500
+ <span class="summary_desc"><div class='inline'>
501
+ <p>DSL method Marks a single column as skipped.</p>
502
+ </div></span>
503
+
504
+ </li>
505
+
506
+
507
+ <li class="public ">
508
+ <span class="summary_signature">
509
+
510
+ <a href="#skip_filtering!-instance_method" title="#skip_filtering! (instance method)">#<strong>skip_filtering!</strong> &#x21d2; Object </a>
511
+
512
+
513
+
514
+ </span>
515
+
516
+
517
+
518
+
519
+
520
+
521
+
522
+
523
+
524
+ <span class="summary_desc"><div class='inline'>
525
+ <p>DSL method Disables filtering entirely (sorting is independent of this setting).</p>
526
+ </div></span>
527
+
528
+ </li>
529
+
530
+
531
+ <li class="public ">
532
+ <span class="summary_signature">
533
+
534
+ <a href="#skip_pagination!-instance_method" title="#skip_pagination! (instance method)">#<strong>skip_pagination!</strong> &#x21d2; Object </a>
535
+
536
+
537
+
538
+ </span>
539
+
540
+
541
+
542
+
543
+
544
+
545
+
546
+
547
+
548
+ <span class="summary_desc"><div class='inline'>
549
+ <p>DSL method Disables pagination (caution: all records will be loaded).</p>
550
+ </div></span>
551
+
552
+ </li>
553
+
554
+
555
+ <li class="public ">
556
+ <span class="summary_signature">
557
+
558
+ <a href="#skip_row_action-instance_method" title="#skip_row_action (instance method)">#<strong>skip_row_action</strong>(name) &#x21d2; Object </a>
559
+
560
+
561
+
562
+ </span>
563
+
564
+
565
+
566
+
567
+
568
+
569
+
570
+
571
+
572
+ <span class="summary_desc"><div class='inline'>
573
+ <p>DSL method Marks a single row action as skipped.</p>
574
+ </div></span>
575
+
576
+ </li>
577
+
578
+
579
+ <li class="public ">
580
+ <span class="summary_signature">
581
+
582
+ <a href="#skip_sorting!-instance_method" title="#skip_sorting! (instance method)">#<strong>skip_sorting!</strong> &#x21d2; Object </a>
583
+
584
+
585
+
586
+ </span>
587
+
588
+
589
+
590
+
591
+
592
+
593
+
594
+
595
+
596
+ <span class="summary_desc"><div class='inline'>
597
+ <p>DSL method Disables sorting entirely (both links and sorting input in filter).</p>
598
+ </div></span>
599
+
600
+ </li>
601
+
602
+
603
+ <li class="public ">
604
+ <span class="summary_signature">
605
+
606
+ <a href="#skip_sorting_in_filter!-instance_method" title="#skip_sorting_in_filter! (instance method)">#<strong>skip_sorting_in_filter!</strong> &#x21d2; Object </a>
607
+
608
+
609
+
610
+ </span>
611
+
612
+
613
+
614
+
615
+
616
+
617
+
618
+
619
+
620
+ <span class="summary_desc"><div class='inline'>
621
+ <p>DSL method Disables sorting in filter.</p>
622
+ </div></span>
623
+
624
+ </li>
625
+
626
+
627
+ <li class="public ">
628
+ <span class="summary_signature">
629
+
630
+ <a href="#skip_sorting_links!-instance_method" title="#skip_sorting_links! (instance method)">#<strong>skip_sorting_links!</strong> &#x21d2; Object </a>
631
+
632
+
633
+
634
+ </span>
635
+
636
+
637
+
638
+
639
+
640
+
641
+
642
+
643
+
644
+ <span class="summary_desc"><div class='inline'>
645
+ <p>DSL method Disables sorting links.</p>
646
+ </div></span>
647
+
648
+ </li>
649
+
650
+
651
+ <li class="public ">
652
+ <span class="summary_signature">
653
+
654
+ <a href="#sort-instance_method" title="#sort (instance method)">#<strong>sort</strong>(name, label: nil) &#x21d2; Object </a>
655
+
656
+
657
+
658
+ </span>
659
+
660
+
661
+
662
+
663
+
664
+
665
+
666
+
667
+
668
+ <span class="summary_desc"><div class='inline'>
669
+ <p>DSL method Adds a sorting criterion that will be processed by ransack.</p>
670
+ </div></span>
671
+
672
+ </li>
673
+
674
+
675
+ <li class="protected ">
676
+ <span class="summary_signature">
677
+
678
+ <a href="#sorting_enabled%3F-instance_method" title="#sorting_enabled? (instance method)">#<strong>sorting_enabled?</strong> &#x21d2; Boolean </a>
679
+
680
+
681
+
682
+ </span>
683
+
684
+
685
+
686
+ <span class="note title protected">protected</span>
687
+
688
+
689
+
690
+
691
+
692
+ <span class="summary_desc"><div class='inline'>
693
+ <p>Returns whether sorting is possible and wanted in general (regardless of whether there are any sorts defined).</p>
694
+ </div></span>
695
+
696
+ </li>
697
+
698
+
699
+ <li class="protected ">
700
+ <span class="summary_signature">
701
+
702
+ <a href="#sorting_in_filter_enabled%3F-instance_method" title="#sorting_in_filter_enabled? (instance method)">#<strong>sorting_in_filter_enabled?</strong> &#x21d2; Boolean </a>
703
+
704
+
705
+
706
+ </span>
707
+
708
+
709
+
710
+ <span class="note title protected">protected</span>
711
+
712
+
713
+
714
+
715
+
716
+ <span class="summary_desc"><div class='inline'>
717
+ <p>Returns whether sorting in filter is possible and wanted in general (regardless of whether there are any sorts defined).</p>
718
+ </div></span>
719
+
720
+ </li>
721
+
722
+
723
+ <li class="protected ">
724
+ <span class="summary_signature">
725
+
726
+ <a href="#sorting_in_filter_select_opts-instance_method" title="#sorting_in_filter_select_opts (instance method)">#<strong>sorting_in_filter_select_opts</strong> &#x21d2; Object </a>
727
+
728
+
729
+
730
+ </span>
731
+
732
+
733
+
734
+ <span class="note title protected">protected</span>
735
+
736
+
737
+
738
+
739
+
740
+ <span class="summary_desc"><div class='inline'>
741
+ <p>Returns the select options for sorting suitable for passing in a <code>f.select</code>.</p>
742
+ </div></span>
743
+
744
+ </li>
745
+
746
+
747
+ <li class="protected ">
748
+ <span class="summary_signature">
749
+
750
+ <a href="#sorting_links_enabled%3F-instance_method" title="#sorting_links_enabled? (instance method)">#<strong>sorting_links_enabled?</strong> &#x21d2; Boolean </a>
751
+
752
+
753
+
754
+ </span>
755
+
756
+
757
+
758
+ <span class="note title protected">protected</span>
759
+
760
+
761
+
762
+
763
+
764
+ <span class="summary_desc"><div class='inline'>
765
+ <p>Returns whether generating sorting links is possible and wanted in general (regardless of whether there are any sorts defined).</p>
766
+ </div></span>
767
+
768
+ </li>
769
+
770
+
771
+ <li class="public ">
772
+ <span class="summary_signature">
773
+
774
+ <a href="#sorts-instance_method" title="#sorts (instance method)">#<strong>sorts</strong>(*names) &#x21d2; Object </a>
775
+
776
+
777
+
778
+ </span>
779
+
780
+
781
+
782
+
783
+
784
+
785
+
786
+
787
+
788
+ <span class="summary_desc"><div class='inline'>
789
+ <p>DSL method Adds multiple sorts at once, sharing the same kwargs.</p>
790
+ </div></span>
791
+
792
+ </li>
793
+
794
+
795
+ </ul>
796
+
797
+
798
+
799
+
800
+
801
+
802
+
803
+
804
+
805
+
806
+
807
+ <h3 class="inherited">Methods included from <span class='object_link'><a href="../ComponentMixins/Resourceful.html" title="Compony::ComponentMixins::Resourceful (module)">Compony::ComponentMixins::Resourceful</a></span></h3>
808
+ <p class="inherited"><span class='object_link'><a href="../ComponentMixins/Resourceful.html#after_assign_attributes-instance_method" title="Compony::ComponentMixins::Resourceful#after_assign_attributes (method)">#after_assign_attributes</a></span>, <span class='object_link'><a href="../ComponentMixins/Resourceful.html#after_load_data-instance_method" title="Compony::ComponentMixins::Resourceful#after_load_data (method)">#after_load_data</a></span>, <span class='object_link'><a href="../ComponentMixins/Resourceful.html#assign_attributes-instance_method" title="Compony::ComponentMixins::Resourceful#assign_attributes (method)">#assign_attributes</a></span>, <span class='object_link'><a href="../ComponentMixins/Resourceful.html#data_class-instance_method" title="Compony::ComponentMixins::Resourceful#data_class (method)">#data_class</a></span>, <span class='object_link'><a href="../ComponentMixins/Resourceful.html#load_data-instance_method" title="Compony::ComponentMixins::Resourceful#load_data (method)">#load_data</a></span>, <span class='object_link'><a href="../ComponentMixins/Resourceful.html#resourceful%3F-instance_method" title="Compony::ComponentMixins::Resourceful#resourceful? (method)">#resourceful?</a></span>, <span class='object_link'><a href="../ComponentMixins/Resourceful.html#resourceful_sub_comp-instance_method" title="Compony::ComponentMixins::Resourceful#resourceful_sub_comp (method)">#resourceful_sub_comp</a></span>, <span class='object_link'><a href="../ComponentMixins/Resourceful.html#store_data-instance_method" title="Compony::ComponentMixins::Resourceful#store_data (method)">#store_data</a></span></p>
809
+
810
+
811
+
812
+
813
+
814
+
815
+
816
+
817
+
818
+
819
+ <h3 class="inherited">Methods inherited from <span class='object_link'><a href="../Component.html" title="Compony::Component (class)">Compony::Component</a></span></h3>
820
+ <p class="inherited"><span class='object_link'><a href="../Component.html#action-instance_method" title="Compony::Component#action (method)">#action</a></span>, <span class='object_link'><a href="../Component.html#before_render-instance_method" title="Compony::Component#before_render (method)">#before_render</a></span>, <span class='object_link'><a href="../Component.html#comp_cst-class_method" title="Compony::Component.comp_cst (method)">comp_cst</a></span>, <span class='object_link'><a href="../Component.html#comp_name-class_method" title="Compony::Component.comp_name (method)">comp_name</a></span>, <span class='object_link'><a href="../Component.html#content-instance_method" title="Compony::Component#content (method)">#content</a></span>, <span class='object_link'><a href="../Component.html#family_cst-class_method" title="Compony::Component.family_cst (method)">family_cst</a></span>, <span class='object_link'><a href="../Component.html#family_name-class_method" title="Compony::Component.family_name (method)">family_name</a></span>, <span class='object_link'><a href="../Component.html#id-instance_method" title="Compony::Component#id (method)">#id</a></span>, <span class='object_link'><a href="../Component.html#inspect-instance_method" title="Compony::Component#inspect (method)">#inspect</a></span>, <span class='object_link'><a href="../Component.html#param_name-instance_method" title="Compony::Component#param_name (method)">#param_name</a></span>, <span class='object_link'><a href="../Component.html#path-instance_method" title="Compony::Component#path (method)">#path</a></span>, <span class='object_link'><a href="../Component.html#path_hash-instance_method" title="Compony::Component#path_hash (method)">#path_hash</a></span>, <span class='object_link'><a href="../Component.html#remove_content-instance_method" title="Compony::Component#remove_content (method)">#remove_content</a></span>, <span class='object_link'><a href="../Component.html#remove_content!-instance_method" title="Compony::Component#remove_content! (method)">#remove_content!</a></span>, <span class='object_link'><a href="../Component.html#render-instance_method" title="Compony::Component#render (method)">#render</a></span>, <span class='object_link'><a href="../Component.html#render_actions-instance_method" title="Compony::Component#render_actions (method)">#render_actions</a></span>, <span class='object_link'><a href="../Component.html#resourceful%3F-instance_method" title="Compony::Component#resourceful? (method)">#resourceful?</a></span>, <span class='object_link'><a href="../Component.html#root_comp-instance_method" title="Compony::Component#root_comp (method)">#root_comp</a></span>, <span class='object_link'><a href="../Component.html#root_comp%3F-instance_method" title="Compony::Component#root_comp? (method)">#root_comp?</a></span>, <span class='object_link'><a href="../Component.html#setup-class_method" title="Compony::Component.setup (method)">setup</a></span>, <span class='object_link'><a href="../Component.html#skip_action-instance_method" title="Compony::Component#skip_action (method)">#skip_action</a></span>, <span class='object_link'><a href="../Component.html#sub_comp-instance_method" title="Compony::Component#sub_comp (method)">#sub_comp</a></span></p>
821
+ <div id="constructor_details" class="method_details_list">
822
+ <h2>Constructor Details</h2>
823
+
824
+ <div class="method_details first">
825
+ <h3 class="signature first" id="initialize-instance_method">
826
+
827
+ #<strong>initialize</strong>(skip_pagination: false, results_per_page: 20, skip_filtering: false, skip_sorting: false, skip_sorting_in_filter: false, skip_sorting_links: false, skip_columns: [], skip_row_actions: [], skip_filters: []) &#x21d2; <tt><span class='object_link'><a href="" title="Compony::Components::List (class)">List</a></span></tt>
828
+
829
+
830
+
831
+
832
+
833
+ </h3><div class="docstring">
834
+ <div class="discussion">
835
+
836
+ <p>The following parameters are meant for the case where this component is nested and therefore instanciated by a parent comp. If the component is to configure itself, use the DSL calls below instead.</p>
837
+
838
+
839
+ </div>
840
+ </div>
841
+ <div class="tags">
842
+ <p class="tag_title">Parameters:</p>
843
+ <ul class="param">
844
+
845
+ <li>
846
+
847
+ <span class='name'>skip_pagination</span>
848
+
849
+
850
+ <span class='type'>(<tt>Boolean</tt>)</span>
851
+
852
+
853
+ <em class="default">(defaults to: <tt>false</tt>)</em>
854
+
855
+
856
+ &mdash;
857
+ <div class='inline'>
858
+ <p>Disables pagination (caution: all records will be loaded)</p>
859
+ </div>
860
+
861
+ </li>
862
+
863
+ <li>
864
+
865
+ <span class='name'>results_per_page</span>
866
+
867
+
868
+ <span class='type'>(<tt>Integer</tt>)</span>
869
+
870
+
871
+ <em class="default">(defaults to: <tt>20</tt>)</em>
872
+
873
+
874
+ &mdash;
875
+ <div class='inline'>
876
+ <p>In case pagination is active, defines the amount of records to display per page.</p>
877
+ </div>
878
+
879
+ </li>
880
+
881
+ <li>
882
+
883
+ <span class='name'>skip_filtering</span>
884
+
885
+
886
+ <span class='type'>(<tt>Boolean</tt>)</span>
887
+
888
+
889
+ <em class="default">(defaults to: <tt>false</tt>)</em>
890
+
891
+
892
+ &mdash;
893
+ <div class='inline'>
894
+ <p>Disables filtering entirely (sorting is independent of this setting).</p>
895
+ </div>
896
+
897
+ </li>
898
+
899
+ <li>
900
+
901
+ <span class='name'>skip_sorting</span>
902
+
903
+
904
+ <span class='type'>(<tt>Boolean</tt>)</span>
905
+
906
+
907
+ <em class="default">(defaults to: <tt>false</tt>)</em>
908
+
909
+
910
+ &mdash;
911
+ <div class='inline'>
912
+ <p>Disables sorting entirely (both links and sorting input in filter).</p>
913
+ </div>
914
+
915
+ </li>
916
+
917
+ <li>
918
+
919
+ <span class='name'>skip_sorting_in_filter</span>
920
+
921
+
922
+ <span class='type'>(<tt>Boolean</tt>)</span>
923
+
924
+
925
+ <em class="default">(defaults to: <tt>false</tt>)</em>
926
+
927
+
928
+ &mdash;
929
+ <div class='inline'>
930
+ <p>Disables sorting in filter.</p>
931
+ </div>
932
+
933
+ </li>
934
+
935
+ <li>
936
+
937
+ <span class='name'>skip_sorting_links</span>
938
+
939
+
940
+ <span class='type'>(<tt>Boolean</tt>)</span>
941
+
942
+
943
+ <em class="default">(defaults to: <tt>false</tt>)</em>
944
+
945
+
946
+ &mdash;
947
+ <div class='inline'>
948
+ <p>Disables sorting links.</p>
949
+ </div>
950
+
951
+ </li>
952
+
953
+ <li>
954
+
955
+ <span class='name'>skip_columns</span>
956
+
957
+
958
+ <span class='type'>(<tt>Array</tt>)</span>
959
+
960
+
961
+ <em class="default">(defaults to: <tt>[]</tt>)</em>
962
+
963
+
964
+ &mdash;
965
+ <div class='inline'>
966
+ <p>Column names to be skipped.</p>
967
+ </div>
968
+
969
+ </li>
970
+
971
+ <li>
972
+
973
+ <span class='name'>skip_row_actions</span>
974
+
975
+
976
+ <span class='type'>(<tt>Array</tt>)</span>
977
+
978
+
979
+ <em class="default">(defaults to: <tt>[]</tt>)</em>
980
+
981
+
982
+ &mdash;
983
+ <div class='inline'>
984
+ <p>Row action names to be skipped.</p>
985
+ </div>
986
+
987
+ </li>
988
+
989
+ <li>
990
+
991
+ <span class='name'>skip_filters</span>
992
+
993
+
994
+ <span class='type'>(<tt>Array</tt>)</span>
995
+
996
+
997
+ <em class="default">(defaults to: <tt>[]</tt>)</em>
998
+
999
+
1000
+ &mdash;
1001
+ <div class='inline'>
1002
+ <p>Filter names to be skipped.</p>
1003
+ </div>
1004
+
1005
+ </li>
1006
+
1007
+ </ul>
1008
+
1009
+
1010
+ </div><table class="source_code">
1011
+ <tr>
1012
+ <td>
1013
+ <pre class="lines">
1014
+
1015
+
1016
+ 19
1017
+ 20
1018
+ 21
1019
+ 22
1020
+ 23
1021
+ 24
1022
+ 25
1023
+ 26
1024
+ 27
1025
+ 28
1026
+ 29
1027
+ 30
1028
+ 31
1029
+ 32
1030
+ 33
1031
+ 34
1032
+ 35
1033
+ 36
1034
+ 37
1035
+ 38
1036
+ 39
1037
+ 40
1038
+ 41
1039
+ 42
1040
+ 43
1041
+ 44
1042
+ 45
1043
+ 46
1044
+ 47</pre>
1045
+ </td>
1046
+ <td>
1047
+ <pre class="code"><span class="info file"># File 'lib/compony/components/list.rb', line 19</span>
1048
+
1049
+ <span class='kw'>def</span> <span class='id identifier rubyid_initialize'>initialize</span><span class='lparen'>(</span><span class='op'>*</span><span class='comma'>,</span>
1050
+ <span class='label'>skip_pagination:</span> <span class='kw'>false</span><span class='comma'>,</span>
1051
+ <span class='label'>results_per_page:</span> <span class='int'>20</span><span class='comma'>,</span>
1052
+ <span class='label'>skip_filtering:</span> <span class='kw'>false</span><span class='comma'>,</span>
1053
+ <span class='label'>skip_sorting:</span> <span class='kw'>false</span><span class='comma'>,</span>
1054
+ <span class='label'>skip_sorting_in_filter:</span> <span class='kw'>false</span><span class='comma'>,</span>
1055
+ <span class='label'>skip_sorting_links:</span> <span class='kw'>false</span><span class='comma'>,</span>
1056
+ <span class='label'>skip_columns:</span> <span class='lbracket'>[</span><span class='rbracket'>]</span><span class='comma'>,</span>
1057
+ <span class='label'>skip_row_actions:</span> <span class='lbracket'>[</span><span class='rbracket'>]</span><span class='comma'>,</span>
1058
+ <span class='label'>skip_filters:</span> <span class='lbracket'>[</span><span class='rbracket'>]</span><span class='comma'>,</span>
1059
+ <span class='op'>**</span><span class='rparen'>)</span>
1060
+ <span class='ivar'>@pagination</span> <span class='op'>=</span> <span class='op'>!</span><span class='id identifier rubyid_skip_pagination'>skip_pagination</span>
1061
+ <span class='ivar'>@results_per_page</span> <span class='op'>=</span> <span class='id identifier rubyid_results_per_page'>results_per_page</span>
1062
+ <span class='ivar'>@filtering</span> <span class='op'>=</span> <span class='op'>!</span><span class='id identifier rubyid_skip_filtering'>skip_filtering</span>
1063
+ <span class='ivar'>@sorting_in_filter</span> <span class='op'>=</span> <span class='op'>!</span><span class='id identifier rubyid_skip_sorting'>skip_sorting</span> <span class='op'>&amp;&amp;</span> <span class='op'>!</span><span class='id identifier rubyid_skip_sorting_in_filter'>skip_sorting_in_filter</span>
1064
+ <span class='ivar'>@sorting_links</span> <span class='op'>=</span> <span class='op'>!</span><span class='id identifier rubyid_skip_sorting'>skip_sorting</span> <span class='op'>&amp;&amp;</span> <span class='op'>!</span><span class='id identifier rubyid_skip_sorting_links'>skip_sorting_links</span>
1065
+ <span class='ivar'>@columns</span> <span class='op'>=</span> <span class='const'><span class='object_link'><a href="../../Compony.html" title="Compony (module)">Compony</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../NaturalOrdering.html" title="Compony::NaturalOrdering (class)">NaturalOrdering</a></span></span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span>
1066
+ <span class='ivar'>@row_actions</span> <span class='op'>=</span> <span class='const'><span class='object_link'><a href="../../Compony.html" title="Compony (module)">Compony</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../NaturalOrdering.html" title="Compony::NaturalOrdering (class)">NaturalOrdering</a></span></span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span>
1067
+ <span class='ivar'>@skipped_columns</span> <span class='op'>=</span> <span class='id identifier rubyid_skip_columns'>skip_columns</span><span class='period'>.</span><span class='id identifier rubyid_map'>map</span><span class='lparen'>(</span><span class='op'>&amp;</span><span class='symbol'>:to_sym</span><span class='rparen'>)</span>
1068
+ <span class='ivar'>@skipped_row_actions</span> <span class='op'>=</span> <span class='id identifier rubyid_skip_row_actions'>skip_row_actions</span><span class='period'>.</span><span class='id identifier rubyid_map'>map</span><span class='lparen'>(</span><span class='op'>&amp;</span><span class='symbol'>:to_sym</span><span class='rparen'>)</span>
1069
+ <span class='ivar'>@filters</span> <span class='op'>=</span> <span class='const'><span class='object_link'><a href="../../Compony.html" title="Compony (module)">Compony</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../NaturalOrdering.html" title="Compony::NaturalOrdering (class)">NaturalOrdering</a></span></span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span>
1070
+ <span class='ivar'>@sorts</span> <span class='op'>=</span> <span class='const'><span class='object_link'><a href="../../Compony.html" title="Compony (module)">Compony</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../NaturalOrdering.html" title="Compony::NaturalOrdering (class)">NaturalOrdering</a></span></span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span>
1071
+ <span class='ivar'>@skipped_filters</span> <span class='op'>=</span> <span class='id identifier rubyid_skip_filters'>skip_filters</span><span class='period'>.</span><span class='id identifier rubyid_map'>map</span><span class='lparen'>(</span><span class='op'>&amp;</span><span class='symbol'>:to_sym</span><span class='rparen'>)</span>
1072
+ <span class='ivar'>@filter_label_class</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>list-filter-label</span><span class='tstring_end'>&#39;</span></span>
1073
+ <span class='ivar'>@filter_input_class</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>list-filter-input</span><span class='tstring_end'>&#39;</span></span>
1074
+ <span class='ivar'>@filter_select_class</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>list-filter-select</span><span class='tstring_end'>&#39;</span></span>
1075
+ <span class='ivar'>@filter_item_wrapper_class</span> <span class='op'>=</span> <span class='kw'>nil</span>
1076
+ <span class='kw'>super</span><span class='lparen'>(</span><span class='op'>*</span><span class='comma'>,</span> <span class='op'>**</span><span class='rparen'>)</span>
1077
+ <span class='kw'>end</span></pre>
1078
+ </td>
1079
+ </tr>
1080
+ </table>
1081
+ </div>
1082
+
1083
+ </div>
1084
+
1085
+
1086
+ <div id="instance_method_details" class="method_details_list">
1087
+ <h2>Instance Method Details</h2>
1088
+
1089
+
1090
+ <div class="method_details first">
1091
+ <h3 class="signature first" id="column-instance_method">
1092
+
1093
+ #<strong>column</strong>(name, label: nil, class: nil, link_opts: {}, &amp;block) &#x21d2; <tt>Object</tt>
1094
+
1095
+
1096
+
1097
+
1098
+
1099
+ </h3><div class="docstring">
1100
+ <div class="discussion">
1101
+
1102
+ <p>DSL method Adds a new column to the list. If <code>name</code> corresponds to that of a field, everything is auto-inferred. Custom columns can be added by providing at least <code>label</code> and a block that will be given a record and instance-execed for every row. Please note that the column is only shown if the current user has permission to index the attribute.</p>
1103
+
1104
+
1105
+ </div>
1106
+ </div>
1107
+ <div class="tags">
1108
+ <p class="tag_title">Parameters:</p>
1109
+ <ul class="param">
1110
+
1111
+ <li>
1112
+
1113
+ <span class='name'>name</span>
1114
+
1115
+
1116
+ <span class='type'>(<tt>String</tt>)</span>
1117
+
1118
+
1119
+
1120
+ &mdash;
1121
+ <div class='inline'>
1122
+ <p>Name of the field that is supposed to be displayed. If custom name, make sure the user has the permission to index the attribute.</p>
1123
+ </div>
1124
+
1125
+ </li>
1126
+
1127
+ <li>
1128
+
1129
+ <span class='name'>label</span>
1130
+
1131
+
1132
+ <span class='type'>(<tt>String</tt>)</span>
1133
+
1134
+
1135
+ <em class="default">(defaults to: <tt>nil</tt>)</em>
1136
+
1137
+
1138
+ &mdash;
1139
+ <div class='inline'>
1140
+ <p>Title of the column to be displayed in the table header.</p>
1141
+ </div>
1142
+
1143
+ </li>
1144
+
1145
+ <li>
1146
+
1147
+ <span class='name'>class</span>
1148
+
1149
+
1150
+ <span class='type'>(<tt>String</tt>)</span>
1151
+
1152
+
1153
+ <em class="default">(defaults to: <tt>nil</tt>)</em>
1154
+
1155
+
1156
+ &mdash;
1157
+ <div class='inline'>
1158
+ <p>Space-separated list of CSS classes for each cell</p>
1159
+ </div>
1160
+
1161
+ </li>
1162
+
1163
+ <li>
1164
+
1165
+ <span class='name'>link_opts</span>
1166
+
1167
+
1168
+ <span class='type'>(<tt>Hash</tt>)</span>
1169
+
1170
+
1171
+ <em class="default">(defaults to: <tt>{}</tt>)</em>
1172
+
1173
+
1174
+ &mdash;
1175
+ <div class='inline'>
1176
+ <p>Only used in the case of a model field, this is used to pass options to the field’s <code>value_for</code>.</p>
1177
+ </div>
1178
+
1179
+ </li>
1180
+
1181
+ <li>
1182
+
1183
+ <span class='name'>block</span>
1184
+
1185
+
1186
+ <span class='type'>(<tt>Block</tt>)</span>
1187
+
1188
+
1189
+
1190
+ &mdash;
1191
+ <div class='inline'>
1192
+ <p>Custom block, given the record and instance-execed in the context of the cell for every row.</p>
1193
+ </div>
1194
+
1195
+ </li>
1196
+
1197
+ </ul>
1198
+
1199
+
1200
+ </div><table class="source_code">
1201
+ <tr>
1202
+ <td>
1203
+ <pre class="lines">
1204
+
1205
+
1206
+ 123
1207
+ 124
1208
+ 125
1209
+ 126
1210
+ 127
1211
+ 128
1212
+ 129
1213
+ 130
1214
+ 131
1215
+ 132
1216
+ 133
1217
+ 134
1218
+ 135</pre>
1219
+ </td>
1220
+ <td>
1221
+ <pre class="code"><span class="info file"># File 'lib/compony/components/list.rb', line 123</span>
1222
+
1223
+ <span class='kw'>def</span> <span class='id identifier rubyid_column'>column</span><span class='lparen'>(</span><span class='id identifier rubyid_name'>name</span><span class='comma'>,</span> <span class='label'>label:</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='label'>class:</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='label'>link_opts:</span> <span class='lbrace'>{</span><span class='rbrace'>}</span><span class='comma'>,</span> <span class='op'>**</span><span class='comma'>,</span> <span class='op'>&amp;</span><span class='id identifier rubyid_block'>block</span><span class='rparen'>)</span>
1224
+ <span class='id identifier rubyid_name'>name</span> <span class='op'>=</span> <span class='id identifier rubyid_name'>name</span><span class='period'>.</span><span class='id identifier rubyid_to_sym'>to_sym</span>
1225
+ <span class='kw'>unless</span> <span class='id identifier rubyid_block_given?'>block_given?</span>
1226
+ <span class='comment'># Assume field column
1227
+ </span> <span class='id identifier rubyid_field'>field</span> <span class='op'>=</span> <span class='id identifier rubyid_data_class'>data_class</span><span class='period'>.</span><span class='id identifier rubyid_fields'>fields</span><span class='lbracket'>[</span><span class='id identifier rubyid_name'>name</span><span class='rbracket'>]</span> <span class='op'>||</span> <span class='id identifier rubyid_fail'>fail</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Field </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_name'>name</span><span class='period'>.</span><span class='id identifier rubyid_inspect'>inspect</span><span class='embexpr_end'>}</span><span class='tstring_content'> was not found for data class </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_data_class'>data_class</span><span class='embexpr_end'>}</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span>
1228
+ <span class='id identifier rubyid_block'>block</span> <span class='op'>=</span> <span class='id identifier rubyid_proc'>proc</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_record'>record</span><span class='op'>|</span>
1229
+ <span class='kw'>if</span> <span class='id identifier rubyid_controller'>controller</span><span class='period'>.</span><span class='id identifier rubyid_current_ability'>current_ability</span><span class='period'>.</span><span class='id identifier rubyid_permitted_attributes'>permitted_attributes</span><span class='lparen'>(</span><span class='symbol'>:index</span><span class='comma'>,</span> <span class='id identifier rubyid_record'>record</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_include?'>include?</span><span class='lparen'>(</span><span class='id identifier rubyid_field'>field</span><span class='period'>.</span><span class='id identifier rubyid_name'>name</span><span class='period'>.</span><span class='id identifier rubyid_to_sym'>to_sym</span><span class='rparen'>)</span>
1230
+ <span class='kw'>next</span> <span class='id identifier rubyid_field'>field</span><span class='period'>.</span><span class='id identifier rubyid_value_for'>value_for</span><span class='lparen'>(</span><span class='id identifier rubyid_record'>record</span><span class='comma'>,</span> <span class='label'>link_to_component:</span> <span class='symbol'>:show</span><span class='comma'>,</span> <span class='label'>controller:</span><span class='comma'>,</span> <span class='label'>link_opts:</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span>
1231
+ <span class='kw'>end</span>
1232
+ <span class='kw'>end</span>
1233
+ <span class='kw'>end</span>
1234
+ <span class='ivar'>@columns</span><span class='period'>.</span><span class='id identifier rubyid_natural_push'>natural_push</span><span class='lparen'>(</span><span class='id identifier rubyid_name'>name</span><span class='comma'>,</span> <span class='id identifier rubyid_block'>block</span><span class='comma'>,</span> <span class='label'>label:</span> <span class='id identifier rubyid_label'>label</span> <span class='op'>||</span> <span class='id identifier rubyid_field'>field</span><span class='period'>.</span><span class='id identifier rubyid_label'>label</span><span class='comma'>,</span> <span class='label'>class:</span><span class='comma'>,</span> <span class='op'>**</span><span class='rparen'>)</span>
1235
+ <span class='kw'>end</span></pre>
1236
+ </td>
1237
+ </tr>
1238
+ </table>
1239
+ </div>
1240
+
1241
+ <div class="method_details ">
1242
+ <h3 class="signature " id="columns-instance_method">
1243
+
1244
+ #<strong>columns</strong>(*col_names) &#x21d2; <tt>Object</tt>
1245
+
1246
+
1247
+
1248
+
1249
+
1250
+ </h3><div class="docstring">
1251
+ <div class="discussion">
1252
+
1253
+ <p>DSL method Adds multiple columns at once, sharing the same kwargs.</p>
1254
+
1255
+
1256
+ </div>
1257
+ </div>
1258
+ <div class="tags">
1259
+
1260
+
1261
+ </div><table class="source_code">
1262
+ <tr>
1263
+ <td>
1264
+ <pre class="lines">
1265
+
1266
+
1267
+ 139
1268
+ 140
1269
+ 141</pre>
1270
+ </td>
1271
+ <td>
1272
+ <pre class="code"><span class="info file"># File 'lib/compony/components/list.rb', line 139</span>
1273
+
1274
+ <span class='kw'>def</span> <span class='id identifier rubyid_columns'>columns</span><span class='lparen'>(</span><span class='op'>*</span><span class='id identifier rubyid_col_names'>col_names</span><span class='comma'>,</span> <span class='op'>**</span><span class='rparen'>)</span>
1275
+ <span class='id identifier rubyid_col_names'>col_names</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='lbrace'>{</span> <span class='op'>|</span><span class='id identifier rubyid_col_name'>col_name</span><span class='op'>|</span> <span class='id identifier rubyid_column'>column</span><span class='lparen'>(</span><span class='id identifier rubyid_col_name'>col_name</span><span class='comma'>,</span> <span class='op'>**</span><span class='rparen'>)</span> <span class='rbrace'>}</span>
1276
+ <span class='kw'>end</span></pre>
1277
+ </td>
1278
+ </tr>
1279
+ </table>
1280
+ </div>
1281
+
1282
+ <div class="method_details ">
1283
+ <h3 class="signature " id="filter-instance_method">
1284
+
1285
+ #<strong>filter</strong>(name, label: nil, &amp;block) &#x21d2; <tt>Object</tt>
1286
+
1287
+
1288
+
1289
+
1290
+
1291
+ </h3><div class="docstring">
1292
+ <div class="discussion">
1293
+
1294
+ <p>DSL method Adds a ransack filter. If <code>name</code> is the name of an existing model field, the filter is auto-generated. If <code>name</code> is a valid Ransack search string (e.g. <code>id_eq</code>), all you need to pass is <code>name</code> and <code>label</code>. To create a fully custom filter, pass <code>name</code> and <code>block</code>. The block will be given the Ransack search form and should return HTML.</p>
1295
+
1296
+
1297
+ </div>
1298
+ </div>
1299
+ <div class="tags">
1300
+ <p class="tag_title">Parameters:</p>
1301
+ <ul class="param">
1302
+
1303
+ <li>
1304
+
1305
+ <span class='name'>name</span>
1306
+
1307
+
1308
+ <span class='type'>(<tt>String</tt>)</span>
1309
+
1310
+
1311
+
1312
+ &mdash;
1313
+ <div class='inline'>
1314
+ <p>The name of the filter. Can either be the name of a field, a ransack search string or a custom name (see above).</p>
1315
+ </div>
1316
+
1317
+ </li>
1318
+
1319
+ <li>
1320
+
1321
+ <span class='name'>label</span>
1322
+
1323
+
1324
+ <span class='type'>(<tt>String</tt>)</span>
1325
+
1326
+
1327
+ <em class="default">(defaults to: <tt>nil</tt>)</em>
1328
+
1329
+
1330
+ &mdash;
1331
+ <div class='inline'>
1332
+ <p>The text to use in the input’s label.</p>
1333
+ </div>
1334
+
1335
+ </li>
1336
+
1337
+ <li>
1338
+
1339
+ <span class='name'>block</span>
1340
+
1341
+
1342
+ <span class='type'>(<tt>Block</tt>)</span>
1343
+
1344
+
1345
+
1346
+ &mdash;
1347
+ <div class='inline'>
1348
+ <p>Custom block that will be given the Ransack search form and should produce a label and a search input.</p>
1349
+ </div>
1350
+
1351
+ </li>
1352
+
1353
+ </ul>
1354
+
1355
+
1356
+ </div><table class="source_code">
1357
+ <tr>
1358
+ <td>
1359
+ <pre class="lines">
1360
+
1361
+
1362
+ 182
1363
+ 183
1364
+ 184
1365
+ 185
1366
+ 186
1367
+ 187
1368
+ 188
1369
+ 189
1370
+ 190
1371
+ 191
1372
+ 192
1373
+ 193
1374
+ 194
1375
+ 195
1376
+ 196
1377
+ 197
1378
+ 198
1379
+ 199
1380
+ 200
1381
+ 201
1382
+ 202
1383
+ 203</pre>
1384
+ </td>
1385
+ <td>
1386
+ <pre class="code"><span class="info file"># File 'lib/compony/components/list.rb', line 182</span>
1387
+
1388
+ <span class='kw'>def</span> <span class='id identifier rubyid_filter'>filter</span><span class='lparen'>(</span><span class='id identifier rubyid_name'>name</span><span class='comma'>,</span> <span class='label'>label:</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='op'>**</span><span class='comma'>,</span> <span class='op'>&amp;</span><span class='id identifier rubyid_block'>block</span><span class='rparen'>)</span>
1389
+ <span class='id identifier rubyid_name'>name</span> <span class='op'>=</span> <span class='id identifier rubyid_name'>name</span><span class='period'>.</span><span class='id identifier rubyid_to_sym'>to_sym</span>
1390
+ <span class='kw'>unless</span> <span class='id identifier rubyid_block_given?'>block_given?</span>
1391
+ <span class='id identifier rubyid_field'>field</span> <span class='op'>=</span> <span class='id identifier rubyid_data_class'>data_class</span><span class='period'>.</span><span class='id identifier rubyid_fields'>fields</span><span class='lbracket'>[</span><span class='id identifier rubyid_name'>name</span><span class='rbracket'>]</span>
1392
+ <span class='id identifier rubyid_block'>block</span> <span class='op'>||=</span> <span class='id identifier rubyid_proc'>proc</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_f'>f</span><span class='op'>|</span>
1393
+ <span class='id identifier rubyid_label'>label</span> <span class='op'>||=</span> <span class='id identifier rubyid_field'>field</span><span class='period'>.</span><span class='id identifier rubyid_label'>label</span> <span class='kw'>if</span> <span class='id identifier rubyid_field'>field</span>
1394
+ <span class='id identifier rubyid_fail'>fail</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>You must provide a label to filter </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_name'>name</span><span class='period'>.</span><span class='id identifier rubyid_inspect'>inspect</span><span class='embexpr_end'>}</span><span class='tstring_content'>.</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span> <span class='kw'>unless</span> <span class='id identifier rubyid_label'>label</span>
1395
+
1396
+ <span class='kw'>if</span> <span class='id identifier rubyid_field'>field</span>
1397
+ <span class='id identifier rubyid_filter_name'>filter_name</span> <span class='op'>=</span> <span class='id identifier rubyid_field'>field</span><span class='period'>.</span><span class='id identifier rubyid_ransack_filter_name'>ransack_filter_name</span>
1398
+ <span class='id identifier rubyid_filter_input_html'>filter_input_html</span> <span class='op'>=</span> <span class='id identifier rubyid_capture'>capture</span> <span class='lbrace'>{</span> <span class='id identifier rubyid_field'>field</span><span class='period'>.</span><span class='id identifier rubyid_ransack_filter_input'>ransack_filter_input</span><span class='lparen'>(</span><span class='id identifier rubyid_f'>f</span><span class='comma'>,</span> <span class='label'>filter_input_class:</span> <span class='ivar'>@filter_input_class</span><span class='comma'>,</span> <span class='label'>filter_select_class:</span> <span class='ivar'>@filter_select_class</span><span class='rparen'>)</span> <span class='rbrace'>}</span>
1399
+ <span class='kw'>else</span>
1400
+ <span class='id identifier rubyid_filter_name'>filter_name</span> <span class='op'>=</span> <span class='id identifier rubyid_name'>name</span>
1401
+ <span class='id identifier rubyid_filter_input_html'>filter_input_html</span> <span class='op'>=</span> <span class='id identifier rubyid_capture'>capture</span> <span class='lbrace'>{</span> <span class='id identifier rubyid_f'>f</span><span class='period'>.</span><span class='id identifier rubyid_search_field'>search_field</span><span class='lparen'>(</span><span class='id identifier rubyid_filter_name'>filter_name</span><span class='comma'>,</span> <span class='label'>class:</span> <span class='ivar'>@filter_input_class</span><span class='rparen'>)</span> <span class='rbrace'>}</span>
1402
+ <span class='kw'>end</span>
1403
+ <span class='id identifier rubyid_div'>div</span> <span class='id identifier rubyid_tag'>tag</span><span class='period'>.</span><span class='id identifier rubyid_label'>label</span><span class='lparen'>(</span><span class='id identifier rubyid_label'>label</span><span class='comma'>,</span> <span class='label'>for:</span> <span class='id identifier rubyid_filter_name'>filter_name</span><span class='comma'>,</span> <span class='label'>class:</span> <span class='ivar'>@filter_label_class</span><span class='rparen'>)</span><span class='comma'>,</span> <span class='label'>class:</span> <span class='ivar'>@filter_item_wrapper_class</span>
1404
+ <span class='id identifier rubyid_div'>div</span> <span class='id identifier rubyid_filter_input_html'>filter_input_html</span><span class='comma'>,</span> <span class='label'>class:</span> <span class='ivar'>@filter_item_wrapper_class</span>
1405
+ <span class='kw'>end</span>
1406
+ <span class='kw'>end</span>
1407
+
1408
+ <span class='ivar'>@filters</span><span class='period'>.</span><span class='id identifier rubyid_natural_push'>natural_push</span><span class='lparen'>(</span><span class='id identifier rubyid_name'>name</span><span class='comma'>,</span> <span class='id identifier rubyid_block'>block</span><span class='comma'>,</span> <span class='op'>**</span><span class='rparen'>)</span>
1409
+ <span class='kw'>end</span></pre>
1410
+ </td>
1411
+ </tr>
1412
+ </table>
1413
+ </div>
1414
+
1415
+ <div class="method_details ">
1416
+ <h3 class="signature " id="filter_input_class-instance_method">
1417
+
1418
+ #<strong>filter_input_class</strong>(class_str) &#x21d2; <tt>Object</tt>
1419
+
1420
+
1421
+
1422
+
1423
+
1424
+ </h3><div class="docstring">
1425
+ <div class="discussion">
1426
+
1427
+ <p>DSL method Sets the CSS class attribute for string form inputs in filters.</p>
1428
+
1429
+
1430
+ </div>
1431
+ </div>
1432
+ <div class="tags">
1433
+ <p class="tag_title">Parameters:</p>
1434
+ <ul class="param">
1435
+
1436
+ <li>
1437
+
1438
+ <span class='name'>class_str</span>
1439
+
1440
+
1441
+ <span class='type'>(<tt>String</tt>)</span>
1442
+
1443
+
1444
+
1445
+ &mdash;
1446
+ <div class='inline'>
1447
+ <p>Space-separated list of CSS classes</p>
1448
+ </div>
1449
+
1450
+ </li>
1451
+
1452
+ </ul>
1453
+
1454
+
1455
+ </div><table class="source_code">
1456
+ <tr>
1457
+ <td>
1458
+ <pre class="lines">
1459
+
1460
+
1461
+ 96
1462
+ 97
1463
+ 98</pre>
1464
+ </td>
1465
+ <td>
1466
+ <pre class="code"><span class="info file"># File 'lib/compony/components/list.rb', line 96</span>
1467
+
1468
+ <span class='kw'>def</span> <span class='id identifier rubyid_filter_input_class'>filter_input_class</span><span class='lparen'>(</span><span class='id identifier rubyid_class_str'>class_str</span><span class='rparen'>)</span>
1469
+ <span class='ivar'>@filter_input_class</span> <span class='op'>=</span> <span class='id identifier rubyid_class_str'>class_str</span>
1470
+ <span class='kw'>end</span></pre>
1471
+ </td>
1472
+ </tr>
1473
+ </table>
1474
+ </div>
1475
+
1476
+ <div class="method_details ">
1477
+ <h3 class="signature " id="filter_item_wrapper_class-instance_method">
1478
+
1479
+ #<strong>filter_item_wrapper_class</strong>(class_str) &#x21d2; <tt>Object</tt>
1480
+
1481
+
1482
+
1483
+
1484
+
1485
+ </h3><div class="docstring">
1486
+ <div class="discussion">
1487
+
1488
+ <p>DSL method Sets the CSS class attribute for the div that wraps input-related elements in filters (inputs, selects, labels).</p>
1489
+
1490
+
1491
+ </div>
1492
+ </div>
1493
+ <div class="tags">
1494
+ <p class="tag_title">Parameters:</p>
1495
+ <ul class="param">
1496
+
1497
+ <li>
1498
+
1499
+ <span class='name'>class_str</span>
1500
+
1501
+
1502
+ <span class='type'>(<tt>String</tt>)</span>
1503
+
1504
+
1505
+
1506
+ &mdash;
1507
+ <div class='inline'>
1508
+ <p>Space-separated list of CSS classes</p>
1509
+ </div>
1510
+
1511
+ </li>
1512
+
1513
+ </ul>
1514
+
1515
+
1516
+ </div><table class="source_code">
1517
+ <tr>
1518
+ <td>
1519
+ <pre class="lines">
1520
+
1521
+
1522
+ 110
1523
+ 111
1524
+ 112</pre>
1525
+ </td>
1526
+ <td>
1527
+ <pre class="code"><span class="info file"># File 'lib/compony/components/list.rb', line 110</span>
1528
+
1529
+ <span class='kw'>def</span> <span class='id identifier rubyid_filter_item_wrapper_class'>filter_item_wrapper_class</span><span class='lparen'>(</span><span class='id identifier rubyid_class_str'>class_str</span><span class='rparen'>)</span>
1530
+ <span class='ivar'>@filter_item_wrapper_class</span> <span class='op'>=</span> <span class='id identifier rubyid_class_str'>class_str</span>
1531
+ <span class='kw'>end</span></pre>
1532
+ </td>
1533
+ </tr>
1534
+ </table>
1535
+ </div>
1536
+
1537
+ <div class="method_details ">
1538
+ <h3 class="signature " id="filter_label_class-instance_method">
1539
+
1540
+ #<strong>filter_label_class</strong>(class_str) &#x21d2; <tt>Object</tt>
1541
+
1542
+
1543
+
1544
+
1545
+
1546
+ </h3><div class="docstring">
1547
+ <div class="discussion">
1548
+
1549
+ <p>DSL method Sets the CSS class attribute for form label elements in filters.</p>
1550
+
1551
+
1552
+ </div>
1553
+ </div>
1554
+ <div class="tags">
1555
+ <p class="tag_title">Parameters:</p>
1556
+ <ul class="param">
1557
+
1558
+ <li>
1559
+
1560
+ <span class='name'>class_str</span>
1561
+
1562
+
1563
+ <span class='type'>(<tt>String</tt>)</span>
1564
+
1565
+
1566
+
1567
+ &mdash;
1568
+ <div class='inline'>
1569
+ <p>Space-separated list of CSS classes</p>
1570
+ </div>
1571
+
1572
+ </li>
1573
+
1574
+ </ul>
1575
+
1576
+
1577
+ </div><table class="source_code">
1578
+ <tr>
1579
+ <td>
1580
+ <pre class="lines">
1581
+
1582
+
1583
+ 89
1584
+ 90
1585
+ 91</pre>
1586
+ </td>
1587
+ <td>
1588
+ <pre class="code"><span class="info file"># File 'lib/compony/components/list.rb', line 89</span>
1589
+
1590
+ <span class='kw'>def</span> <span class='id identifier rubyid_filter_label_class'>filter_label_class</span><span class='lparen'>(</span><span class='id identifier rubyid_class_str'>class_str</span><span class='rparen'>)</span>
1591
+ <span class='ivar'>@filter_label_class</span> <span class='op'>=</span> <span class='id identifier rubyid_class_str'>class_str</span>
1592
+ <span class='kw'>end</span></pre>
1593
+ </td>
1594
+ </tr>
1595
+ </table>
1596
+ </div>
1597
+
1598
+ <div class="method_details ">
1599
+ <h3 class="signature " id="filter_select_class-instance_method">
1600
+
1601
+ #<strong>filter_select_class</strong>(class_str) &#x21d2; <tt>Object</tt>
1602
+
1603
+
1604
+
1605
+
1606
+
1607
+ </h3><div class="docstring">
1608
+ <div class="discussion">
1609
+
1610
+ <p>DSL method Sets the CSS class attribute for form select inputs in filters.</p>
1611
+
1612
+
1613
+ </div>
1614
+ </div>
1615
+ <div class="tags">
1616
+ <p class="tag_title">Parameters:</p>
1617
+ <ul class="param">
1618
+
1619
+ <li>
1620
+
1621
+ <span class='name'>class_str</span>
1622
+
1623
+
1624
+ <span class='type'>(<tt>String</tt>)</span>
1625
+
1626
+
1627
+
1628
+ &mdash;
1629
+ <div class='inline'>
1630
+ <p>Space-separated list of CSS classes</p>
1631
+ </div>
1632
+
1633
+ </li>
1634
+
1635
+ </ul>
1636
+
1637
+
1638
+ </div><table class="source_code">
1639
+ <tr>
1640
+ <td>
1641
+ <pre class="lines">
1642
+
1643
+
1644
+ 103
1645
+ 104
1646
+ 105</pre>
1647
+ </td>
1648
+ <td>
1649
+ <pre class="code"><span class="info file"># File 'lib/compony/components/list.rb', line 103</span>
1650
+
1651
+ <span class='kw'>def</span> <span class='id identifier rubyid_filter_select_class'>filter_select_class</span><span class='lparen'>(</span><span class='id identifier rubyid_class_str'>class_str</span><span class='rparen'>)</span>
1652
+ <span class='ivar'>@filter_select_class</span> <span class='op'>=</span> <span class='id identifier rubyid_class_str'>class_str</span>
1653
+ <span class='kw'>end</span></pre>
1654
+ </td>
1655
+ </tr>
1656
+ </table>
1657
+ </div>
1658
+
1659
+ <div class="method_details ">
1660
+ <h3 class="signature " id="filtering_enabled?-instance_method">
1661
+
1662
+ #<strong>filtering_enabled?</strong> &#x21d2; <tt>Boolean</tt> <span class="extras">(protected)</span>
1663
+
1664
+
1665
+
1666
+
1667
+
1668
+ </h3><div class="docstring">
1669
+ <div class="discussion">
1670
+
1671
+ <p>Returns whether filtering is possible and wanted in general (regardless of whether there are any filters defined)</p>
1672
+
1673
+
1674
+ </div>
1675
+ </div>
1676
+ <div class="tags">
1677
+
1678
+ <p class="tag_title">Returns:</p>
1679
+ <ul class="return">
1680
+
1681
+ <li>
1682
+
1683
+
1684
+ <span class='type'>(<tt>Boolean</tt>)</span>
1685
+
1686
+
1687
+
1688
+ </li>
1689
+
1690
+ </ul>
1691
+
1692
+ </div><table class="source_code">
1693
+ <tr>
1694
+ <td>
1695
+ <pre class="lines">
1696
+
1697
+
1698
+ 382
1699
+ 383
1700
+ 384</pre>
1701
+ </td>
1702
+ <td>
1703
+ <pre class="code"><span class="info file"># File 'lib/compony/components/list.rb', line 382</span>
1704
+
1705
+ <span class='kw'>def</span> <span class='id identifier rubyid_filtering_enabled?'>filtering_enabled?</span>
1706
+ <span class='ivar'>@filtering</span> <span class='op'>&amp;&amp;</span> <span class='kw'>defined?</span><span class='lparen'>(</span><span class='const'>Ransack</span><span class='rparen'>)</span>
1707
+ <span class='kw'>end</span></pre>
1708
+ </td>
1709
+ </tr>
1710
+ </table>
1711
+ </div>
1712
+
1713
+ <div class="method_details ">
1714
+ <h3 class="signature " id="filters-instance_method">
1715
+
1716
+ #<strong>filters</strong>(*filter_names) &#x21d2; <tt>Object</tt>
1717
+
1718
+
1719
+
1720
+
1721
+
1722
+ </h3><div class="docstring">
1723
+ <div class="discussion">
1724
+
1725
+ <p>DSL method Adds multiple filters at once, sharing the same kwargs.</p>
1726
+
1727
+
1728
+ </div>
1729
+ </div>
1730
+ <div class="tags">
1731
+
1732
+
1733
+ </div><table class="source_code">
1734
+ <tr>
1735
+ <td>
1736
+ <pre class="lines">
1737
+
1738
+
1739
+ 207
1740
+ 208
1741
+ 209</pre>
1742
+ </td>
1743
+ <td>
1744
+ <pre class="code"><span class="info file"># File 'lib/compony/components/list.rb', line 207</span>
1745
+
1746
+ <span class='kw'>def</span> <span class='id identifier rubyid_filters'>filters</span><span class='lparen'>(</span><span class='op'>*</span><span class='id identifier rubyid_filter_names'>filter_names</span><span class='comma'>,</span> <span class='op'>**</span><span class='rparen'>)</span>
1747
+ <span class='id identifier rubyid_filter_names'>filter_names</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='lbrace'>{</span> <span class='op'>|</span><span class='id identifier rubyid_filter_name'>filter_name</span><span class='op'>|</span> <span class='id identifier rubyid_filter'>filter</span><span class='lparen'>(</span><span class='id identifier rubyid_filter_name'>filter_name</span><span class='comma'>,</span> <span class='op'>**</span><span class='rparen'>)</span> <span class='rbrace'>}</span>
1748
+ <span class='kw'>end</span></pre>
1749
+ </td>
1750
+ </tr>
1751
+ </table>
1752
+ </div>
1753
+
1754
+ <div class="method_details ">
1755
+ <h3 class="signature " id="pagination_enabled?-instance_method">
1756
+
1757
+ #<strong>pagination_enabled?</strong> &#x21d2; <tt>Boolean</tt> <span class="extras">(protected)</span>
1758
+
1759
+
1760
+
1761
+
1762
+
1763
+ </h3><div class="docstring">
1764
+ <div class="discussion">
1765
+
1766
+ <p>Returns whether pagination is enabled (regardless of whether there is more than one page)</p>
1767
+
1768
+
1769
+ </div>
1770
+ </div>
1771
+ <div class="tags">
1772
+
1773
+ <p class="tag_title">Returns:</p>
1774
+ <ul class="return">
1775
+
1776
+ <li>
1777
+
1778
+
1779
+ <span class='type'>(<tt>Boolean</tt>)</span>
1780
+
1781
+
1782
+
1783
+ </li>
1784
+
1785
+ </ul>
1786
+
1787
+ </div><table class="source_code">
1788
+ <tr>
1789
+ <td>
1790
+ <pre class="lines">
1791
+
1792
+
1793
+ 402
1794
+ 403
1795
+ 404</pre>
1796
+ </td>
1797
+ <td>
1798
+ <pre class="code"><span class="info file"># File 'lib/compony/components/list.rb', line 402</span>
1799
+
1800
+ <span class='kw'>def</span> <span class='id identifier rubyid_pagination_enabled?'>pagination_enabled?</span>
1801
+ <span class='ivar'>@pagination</span>
1802
+ <span class='kw'>end</span></pre>
1803
+ </td>
1804
+ </tr>
1805
+ </table>
1806
+ </div>
1807
+
1808
+ <div class="method_details ">
1809
+ <h3 class="signature " id="process_data!-instance_method">
1810
+
1811
+ #<strong>process_data!</strong>(controller) &#x21d2; <tt>Object</tt>
1812
+
1813
+
1814
+
1815
+
1816
+
1817
+ </h3><div class="docstring">
1818
+ <div class="discussion">
1819
+
1820
+ <p>This method must be called before the data is read for the first time. It makes the data fit for display. Only call it once.</p>
1821
+
1822
+
1823
+ </div>
1824
+ </div>
1825
+ <div class="tags">
1826
+
1827
+
1828
+ </div><table class="source_code">
1829
+ <tr>
1830
+ <td>
1831
+ <pre class="lines">
1832
+
1833
+
1834
+ 228
1835
+ 229
1836
+ 230
1837
+ 231
1838
+ 232
1839
+ 233
1840
+ 234
1841
+ 235
1842
+ 236
1843
+ 237
1844
+ 238
1845
+ 239
1846
+ 240
1847
+ 241
1848
+ 242
1849
+ 243
1850
+ 244
1851
+ 245
1852
+ 246
1853
+ 247
1854
+ 248
1855
+ 249
1856
+ 250
1857
+ 251
1858
+ 252
1859
+ 253
1860
+ 254
1861
+ 255
1862
+ 256
1863
+ 257</pre>
1864
+ </td>
1865
+ <td>
1866
+ <pre class="code"><span class="info file"># File 'lib/compony/components/list.rb', line 228</span>
1867
+
1868
+ <span class='kw'>def</span> <span class='id identifier rubyid_process_data!'>process_data!</span><span class='lparen'>(</span><span class='id identifier rubyid_controller'>controller</span><span class='rparen'>)</span>
1869
+ <span class='id identifier rubyid_fail'>fail</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>Data was already processed!</span><span class='tstring_end'>&#39;</span></span><span class='rparen'>)</span> <span class='kw'>if</span> <span class='ivar'>@processed_data</span>
1870
+ <span class='comment'># Filtering
1871
+ </span> <span class='kw'>if</span> <span class='id identifier rubyid_filtering_enabled?'>filtering_enabled?</span>
1872
+ <span class='ivar'>@q</span> <span class='op'>=</span> <span class='ivar'>@data</span><span class='period'>.</span><span class='id identifier rubyid_ransack'>ransack</span><span class='lparen'>(</span><span class='id identifier rubyid_controller'>controller</span><span class='period'>.</span><span class='id identifier rubyid_params'>params</span><span class='lbracket'>[</span><span class='id identifier rubyid_param_name'>param_name</span><span class='lparen'>(</span><span class='symbol'>:q</span><span class='rparen'>)</span><span class='rbracket'>]</span><span class='comma'>,</span> <span class='label'>auth_object:</span> <span class='id identifier rubyid_controller'>controller</span><span class='period'>.</span><span class='id identifier rubyid_current_ability'>current_ability</span><span class='comma'>,</span> <span class='label'>search_key:</span> <span class='id identifier rubyid_param_name'>param_name</span><span class='lparen'>(</span><span class='symbol'>:q</span><span class='rparen'>)</span><span class='rparen'>)</span>
1873
+ <span class='id identifier rubyid_filtered_data'>filtered_data</span> <span class='op'>=</span> <span class='ivar'>@q</span><span class='period'>.</span><span class='id identifier rubyid_result'>result</span><span class='period'>.</span><span class='id identifier rubyid_accessible_by'>accessible_by</span><span class='lparen'>(</span><span class='id identifier rubyid_controller'>controller</span><span class='period'>.</span><span class='id identifier rubyid_current_ability'>current_ability</span><span class='rparen'>)</span>
1874
+ <span class='kw'>else</span>
1875
+ <span class='id identifier rubyid_filtered_data'>filtered_data</span> <span class='op'>=</span> <span class='ivar'>@data</span>
1876
+ <span class='kw'>end</span>
1877
+ <span class='comment'># Pagination
1878
+ </span> <span class='kw'>if</span> <span class='id identifier rubyid_pagination_enabled?'>pagination_enabled?</span>
1879
+ <span class='ivar'>@page</span> <span class='op'>=</span> <span class='id identifier rubyid_controller'>controller</span><span class='period'>.</span><span class='id identifier rubyid_params'>params</span><span class='lbracket'>[</span><span class='id identifier rubyid_param_name'>param_name</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>page</span><span class='tstring_end'>&#39;</span></span><span class='rparen'>)</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_presence'>presence</span><span class='op'>&amp;.</span><span class='id identifier rubyid_to_i'>to_i</span> <span class='op'>||</span> <span class='int'>1</span>
1880
+ <span class='ivar'>@pagination_offset</span> <span class='op'>=</span> <span class='lparen'>(</span><span class='ivar'>@page</span> <span class='op'>-</span> <span class='int'>1</span><span class='rparen'>)</span> <span class='op'>*</span> <span class='ivar'>@results_per_page</span>
1881
+ <span class='ivar'>@total_pages</span> <span class='op'>=</span> <span class='lparen'>(</span><span class='id identifier rubyid_filtered_data'>filtered_data</span><span class='period'>.</span><span class='id identifier rubyid_count'>count</span><span class='period'>.</span><span class='id identifier rubyid_to_f'>to_f</span> <span class='op'>/</span> <span class='ivar'>@results_per_page</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_ceil'>ceil</span>
1882
+ <span class='kw'>if</span> <span class='ivar'>@pagination_offset</span> <span class='op'>&lt;</span> <span class='int'>0</span> <span class='op'>||</span> <span class='ivar'>@pagination_offset</span> <span class='op'>&gt;=</span> <span class='id identifier rubyid_filtered_data'>filtered_data</span><span class='period'>.</span><span class='id identifier rubyid_count'>count</span> <span class='comment'># out of bounds check
1883
+ </span> <span class='ivar'>@page</span> <span class='op'>=</span> <span class='int'>1</span>
1884
+ <span class='ivar'>@pagination_offset</span> <span class='op'>=</span> <span class='int'>0</span>
1885
+ <span class='kw'>end</span>
1886
+ <span class='ivar'>@processed_data</span> <span class='op'>=</span> <span class='id identifier rubyid_filtered_data'>filtered_data</span><span class='period'>.</span><span class='id identifier rubyid_offset'>offset</span><span class='lparen'>(</span><span class='ivar'>@pagination_offset</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_limit'>limit</span><span class='lparen'>(</span><span class='ivar'>@results_per_page</span><span class='rparen'>)</span>
1887
+ <span class='kw'>else</span>
1888
+ <span class='ivar'>@processed_data</span> <span class='op'>=</span> <span class='id identifier rubyid_filtered_data'>filtered_data</span>
1889
+ <span class='kw'>end</span>
1890
+ <span class='comment'># Apply skips to configs
1891
+ </span> <span class='comment'># Exclude columns that are skipped or the user is not allowed to display
1892
+ </span> <span class='ivar'>@columns</span><span class='period'>.</span><span class='id identifier rubyid_select!'>select!</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_col'>col</span><span class='comma'>,</span> <span class='id identifier rubyid__'>_</span><span class='op'>|</span>
1893
+ <span class='ivar'>@skipped_columns</span><span class='period'>.</span><span class='id identifier rubyid_exclude?'>exclude?</span><span class='lparen'>(</span><span class='id identifier rubyid_col'>col</span><span class='lbracket'>[</span><span class='symbol'>:name</span><span class='rbracket'>]</span><span class='rparen'>)</span> <span class='op'>&amp;&amp;</span> <span class='id identifier rubyid_controller'>controller</span><span class='period'>.</span><span class='id identifier rubyid_current_ability'>current_ability</span><span class='period'>.</span><span class='id identifier rubyid_permitted_attributes'>permitted_attributes</span><span class='lparen'>(</span><span class='symbol'>:index</span><span class='comma'>,</span> <span class='id identifier rubyid_data_class'>data_class</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_include?'>include?</span><span class='lparen'>(</span><span class='id identifier rubyid_col'>col</span><span class='lbracket'>[</span><span class='symbol'>:name</span><span class='rbracket'>]</span><span class='rparen'>)</span>
1894
+ <span class='kw'>end</span>
1895
+ <span class='comment'># Exclude skipped filters
1896
+ </span> <span class='ivar'>@filters</span><span class='period'>.</span><span class='id identifier rubyid_select!'>select!</span> <span class='lbrace'>{</span> <span class='op'>|</span><span class='id identifier rubyid_filter'>filter</span><span class='comma'>,</span> <span class='id identifier rubyid__'>_</span><span class='op'>|</span> <span class='ivar'>@skipped_filters</span><span class='period'>.</span><span class='id identifier rubyid_exclude?'>exclude?</span><span class='lparen'>(</span><span class='id identifier rubyid_filter'>filter</span><span class='lbracket'>[</span><span class='symbol'>:name</span><span class='rbracket'>]</span><span class='rparen'>)</span> <span class='rbrace'>}</span>
1897
+ <span class='kw'>end</span></pre>
1898
+ </td>
1899
+ </tr>
1900
+ </table>
1901
+ </div>
1902
+
1903
+ <div class="method_details ">
1904
+ <h3 class="signature " id="results_per_page-instance_method">
1905
+
1906
+ #<strong>results_per_page</strong>(new_results_per_page) &#x21d2; <tt>Object</tt>
1907
+
1908
+
1909
+
1910
+
1911
+
1912
+ </h3><div class="docstring">
1913
+ <div class="discussion">
1914
+
1915
+ <p>DSL method In case pagination is active, defines the amount of records to display per page.</p>
1916
+
1917
+
1918
+ </div>
1919
+ </div>
1920
+ <div class="tags">
1921
+
1922
+
1923
+ </div><table class="source_code">
1924
+ <tr>
1925
+ <td>
1926
+ <pre class="lines">
1927
+
1928
+
1929
+ 57
1930
+ 58
1931
+ 59</pre>
1932
+ </td>
1933
+ <td>
1934
+ <pre class="code"><span class="info file"># File 'lib/compony/components/list.rb', line 57</span>
1935
+
1936
+ <span class='kw'>def</span> <span class='id identifier rubyid_results_per_page'>results_per_page</span><span class='lparen'>(</span><span class='id identifier rubyid_new_results_per_page'>new_results_per_page</span><span class='rparen'>)</span>
1937
+ <span class='ivar'>@results_per_page</span> <span class='op'>=</span> <span class='id identifier rubyid_new_results_per_page'>new_results_per_page</span>
1938
+ <span class='kw'>end</span></pre>
1939
+ </td>
1940
+ </tr>
1941
+ </table>
1942
+ </div>
1943
+
1944
+ <div class="method_details ">
1945
+ <h3 class="signature " id="row_action-instance_method">
1946
+
1947
+ #<strong>row_action</strong>(name, button_opts: {}, &amp;block) &#x21d2; <tt>Object</tt>
1948
+
1949
+
1950
+
1951
+
1952
+
1953
+ </h3><div class="docstring">
1954
+ <div class="discussion">
1955
+
1956
+ <p>DSL method Adds a row action. The very last col provides actions such as :show, :edit or :destroy. Use this method to add your own. In case the action exists as a component in the family of <code>data_class</code>, it is enough to pass the action’s name, and the rest is auto-generated. In order to create a custom row action, pass a block that will be given the current record and instance-execed once per row, for every record.</p>
1957
+
1958
+
1959
+ </div>
1960
+ </div>
1961
+ <div class="tags">
1962
+ <p class="tag_title">Parameters:</p>
1963
+ <ul class="param">
1964
+
1965
+ <li>
1966
+
1967
+ <span class='name'>name</span>
1968
+
1969
+
1970
+ <span class='type'>(<tt>Symbol</tt>, <tt>String</tt>)</span>
1971
+
1972
+
1973
+
1974
+ &mdash;
1975
+ <div class='inline'>
1976
+ <p>The name of the action (e.g. :edit).</p>
1977
+ </div>
1978
+
1979
+ </li>
1980
+
1981
+ <li>
1982
+
1983
+ <span class='name'>button_opts</span>
1984
+
1985
+
1986
+ <span class='type'>(<tt>Hash</tt>)</span>
1987
+
1988
+
1989
+ <em class="default">(defaults to: <tt>{}</tt>)</em>
1990
+
1991
+
1992
+ &mdash;
1993
+ <div class='inline'>
1994
+ <p>Only relevant in case of an auto-generated row action, this allows to configure the generated button.</p>
1995
+ </div>
1996
+
1997
+ </li>
1998
+
1999
+ <li>
2000
+
2001
+ <span class='name'>block</span>
2002
+
2003
+
2004
+ <span class='type'>(<tt>Block</tt>)</span>
2005
+
2006
+
2007
+
2008
+ &mdash;
2009
+ <div class='inline'>
2010
+ <p>To create a custom row action; block will be given the current record and instance-execed once per row, for every record.</p>
2011
+ </div>
2012
+
2013
+ </li>
2014
+
2015
+ </ul>
2016
+
2017
+
2018
+ </div><table class="source_code">
2019
+ <tr>
2020
+ <td>
2021
+ <pre class="lines">
2022
+
2023
+
2024
+ 157
2025
+ 158
2026
+ 159
2027
+ 160
2028
+ 161
2029
+ 162
2030
+ 163
2031
+ 164
2032
+ 165
2033
+ 166</pre>
2034
+ </td>
2035
+ <td>
2036
+ <pre class="code"><span class="info file"># File 'lib/compony/components/list.rb', line 157</span>
2037
+
2038
+ <span class='kw'>def</span> <span class='id identifier rubyid_row_action'>row_action</span><span class='lparen'>(</span><span class='id identifier rubyid_name'>name</span><span class='comma'>,</span> <span class='label'>button_opts:</span> <span class='lbrace'>{</span><span class='rbrace'>}</span><span class='comma'>,</span> <span class='op'>**</span><span class='comma'>,</span> <span class='op'>&amp;</span><span class='id identifier rubyid_block'>block</span><span class='rparen'>)</span>
2039
+ <span class='id identifier rubyid_name'>name</span> <span class='op'>=</span> <span class='id identifier rubyid_name'>name</span><span class='period'>.</span><span class='id identifier rubyid_to_sym'>to_sym</span>
2040
+ <span class='kw'>unless</span> <span class='id identifier rubyid_block_given?'>block_given?</span>
2041
+ <span class='id identifier rubyid_block'>block</span> <span class='op'>=</span> <span class='id identifier rubyid_proc'>proc</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_record'>record</span><span class='op'>|</span>
2042
+ <span class='kw'>next</span> <span class='kw'>if</span> <span class='const'><span class='object_link'><a href="../../Compony.html" title="Compony (module)">Compony</a></span></span><span class='period'>.</span><span class='id identifier rubyid_comp_class_for'><span class='object_link'><a href="../../Compony.html#comp_class_for-class_method" title="Compony.comp_class_for (method)">comp_class_for</a></span></span><span class='lparen'>(</span><span class='id identifier rubyid_name'>name</span><span class='comma'>,</span> <span class='id identifier rubyid_record'>record</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_nil?'>nil?</span>
2043
+ <span class='id identifier rubyid_compony_button'>compony_button</span><span class='lparen'>(</span><span class='id identifier rubyid_name'>name</span><span class='comma'>,</span> <span class='id identifier rubyid_record'>record</span><span class='comma'>,</span> <span class='op'>**</span><span class='id identifier rubyid_button_opts'>button_opts</span><span class='rparen'>)</span>
2044
+ <span class='kw'>end</span>
2045
+ <span class='kw'>end</span>
2046
+ <span class='ivar'>@row_actions</span><span class='period'>.</span><span class='id identifier rubyid_natural_push'>natural_push</span><span class='lparen'>(</span><span class='id identifier rubyid_name'>name</span><span class='comma'>,</span> <span class='id identifier rubyid_block'>block</span><span class='comma'>,</span> <span class='op'>**</span><span class='rparen'>)</span>
2047
+ <span class='kw'>end</span></pre>
2048
+ </td>
2049
+ </tr>
2050
+ </table>
2051
+ </div>
2052
+
2053
+ <div class="method_details ">
2054
+ <h3 class="signature " id="skip_column-instance_method">
2055
+
2056
+ #<strong>skip_column</strong>(name) &#x21d2; <tt>Object</tt>
2057
+
2058
+
2059
+
2060
+
2061
+
2062
+ </h3><div class="docstring">
2063
+ <div class="discussion">
2064
+
2065
+ <p>DSL method Marks a single column as skipped. It will not be displayed, even if it is defined.</p>
2066
+
2067
+
2068
+ </div>
2069
+ </div>
2070
+ <div class="tags">
2071
+ <p class="tag_title">Parameters:</p>
2072
+ <ul class="param">
2073
+
2074
+ <li>
2075
+
2076
+ <span class='name'>name</span>
2077
+
2078
+
2079
+ <span class='type'>(<tt>Symbol</tt>, <tt>String</tt>)</span>
2080
+
2081
+
2082
+
2083
+ &mdash;
2084
+ <div class='inline'>
2085
+ <p>Name of the column to be skipped.</p>
2086
+ </div>
2087
+
2088
+ </li>
2089
+
2090
+ </ul>
2091
+
2092
+
2093
+ </div><table class="source_code">
2094
+ <tr>
2095
+ <td>
2096
+ <pre class="lines">
2097
+
2098
+
2099
+ 146
2100
+ 147
2101
+ 148</pre>
2102
+ </td>
2103
+ <td>
2104
+ <pre class="code"><span class="info file"># File 'lib/compony/components/list.rb', line 146</span>
2105
+
2106
+ <span class='kw'>def</span> <span class='id identifier rubyid_skip_column'>skip_column</span><span class='lparen'>(</span><span class='id identifier rubyid_name'>name</span><span class='rparen'>)</span>
2107
+ <span class='ivar'>@skipped_columns</span> <span class='op'>&lt;&lt;</span> <span class='id identifier rubyid_name'>name</span><span class='period'>.</span><span class='id identifier rubyid_to_sym'>to_sym</span>
2108
+ <span class='kw'>end</span></pre>
2109
+ </td>
2110
+ </tr>
2111
+ </table>
2112
+ </div>
2113
+
2114
+ <div class="method_details ">
2115
+ <h3 class="signature " id="skip_filtering!-instance_method">
2116
+
2117
+ #<strong>skip_filtering!</strong> &#x21d2; <tt>Object</tt>
2118
+
2119
+
2120
+
2121
+
2122
+
2123
+ </h3><div class="docstring">
2124
+ <div class="discussion">
2125
+
2126
+ <p>DSL method Disables filtering entirely (sorting is independent of this setting).</p>
2127
+
2128
+
2129
+ </div>
2130
+ </div>
2131
+ <div class="tags">
2132
+
2133
+
2134
+ </div><table class="source_code">
2135
+ <tr>
2136
+ <td>
2137
+ <pre class="lines">
2138
+
2139
+
2140
+ 63
2141
+ 64
2142
+ 65</pre>
2143
+ </td>
2144
+ <td>
2145
+ <pre class="code"><span class="info file"># File 'lib/compony/components/list.rb', line 63</span>
2146
+
2147
+ <span class='kw'>def</span> <span class='id identifier rubyid_skip_filtering!'>skip_filtering!</span>
2148
+ <span class='ivar'>@filtering</span> <span class='op'>=</span> <span class='kw'>false</span>
2149
+ <span class='kw'>end</span></pre>
2150
+ </td>
2151
+ </tr>
2152
+ </table>
2153
+ </div>
2154
+
2155
+ <div class="method_details ">
2156
+ <h3 class="signature " id="skip_pagination!-instance_method">
2157
+
2158
+ #<strong>skip_pagination!</strong> &#x21d2; <tt>Object</tt>
2159
+
2160
+
2161
+
2162
+
2163
+
2164
+ </h3><div class="docstring">
2165
+ <div class="discussion">
2166
+
2167
+ <p>DSL method Disables pagination (caution: all records will be loaded).</p>
2168
+
2169
+
2170
+ </div>
2171
+ </div>
2172
+ <div class="tags">
2173
+
2174
+
2175
+ </div><table class="source_code">
2176
+ <tr>
2177
+ <td>
2178
+ <pre class="lines">
2179
+
2180
+
2181
+ 51
2182
+ 52
2183
+ 53</pre>
2184
+ </td>
2185
+ <td>
2186
+ <pre class="code"><span class="info file"># File 'lib/compony/components/list.rb', line 51</span>
2187
+
2188
+ <span class='kw'>def</span> <span class='id identifier rubyid_skip_pagination!'>skip_pagination!</span>
2189
+ <span class='ivar'>@pagination</span> <span class='op'>=</span> <span class='kw'>false</span>
2190
+ <span class='kw'>end</span></pre>
2191
+ </td>
2192
+ </tr>
2193
+ </table>
2194
+ </div>
2195
+
2196
+ <div class="method_details ">
2197
+ <h3 class="signature " id="skip_row_action-instance_method">
2198
+
2199
+ #<strong>skip_row_action</strong>(name) &#x21d2; <tt>Object</tt>
2200
+
2201
+
2202
+
2203
+
2204
+
2205
+ </h3><div class="docstring">
2206
+ <div class="discussion">
2207
+
2208
+ <p>DSL method Marks a single row action as skipped. It will not be displayed, even if it is defined.</p>
2209
+
2210
+
2211
+ </div>
2212
+ </div>
2213
+ <div class="tags">
2214
+ <p class="tag_title">Parameters:</p>
2215
+ <ul class="param">
2216
+
2217
+ <li>
2218
+
2219
+ <span class='name'>name</span>
2220
+
2221
+
2222
+ <span class='type'>(<tt>Symbol</tt>, <tt>String</tt>)</span>
2223
+
2224
+
2225
+
2226
+ &mdash;
2227
+ <div class='inline'>
2228
+ <p>Name of the row action to be skipped.</p>
2229
+ </div>
2230
+
2231
+ </li>
2232
+
2233
+ </ul>
2234
+
2235
+
2236
+ </div><table class="source_code">
2237
+ <tr>
2238
+ <td>
2239
+ <pre class="lines">
2240
+
2241
+
2242
+ 171
2243
+ 172
2244
+ 173</pre>
2245
+ </td>
2246
+ <td>
2247
+ <pre class="code"><span class="info file"># File 'lib/compony/components/list.rb', line 171</span>
2248
+
2249
+ <span class='kw'>def</span> <span class='id identifier rubyid_skip_row_action'>skip_row_action</span><span class='lparen'>(</span><span class='id identifier rubyid_name'>name</span><span class='rparen'>)</span>
2250
+ <span class='ivar'>@skipped_row_actions</span> <span class='op'>&lt;&lt;</span> <span class='id identifier rubyid_name'>name</span><span class='period'>.</span><span class='id identifier rubyid_to_sym'>to_sym</span>
2251
+ <span class='kw'>end</span></pre>
2252
+ </td>
2253
+ </tr>
2254
+ </table>
2255
+ </div>
2256
+
2257
+ <div class="method_details ">
2258
+ <h3 class="signature " id="skip_sorting!-instance_method">
2259
+
2260
+ #<strong>skip_sorting!</strong> &#x21d2; <tt>Object</tt>
2261
+
2262
+
2263
+
2264
+
2265
+
2266
+ </h3><div class="docstring">
2267
+ <div class="discussion">
2268
+
2269
+ <p>DSL method Disables sorting entirely (both links and sorting input in filter).</p>
2270
+
2271
+
2272
+ </div>
2273
+ </div>
2274
+ <div class="tags">
2275
+
2276
+
2277
+ </div><table class="source_code">
2278
+ <tr>
2279
+ <td>
2280
+ <pre class="lines">
2281
+
2282
+
2283
+ 69
2284
+ 70
2285
+ 71
2286
+ 72</pre>
2287
+ </td>
2288
+ <td>
2289
+ <pre class="code"><span class="info file"># File 'lib/compony/components/list.rb', line 69</span>
2290
+
2291
+ <span class='kw'>def</span> <span class='id identifier rubyid_skip_sorting!'>skip_sorting!</span>
2292
+ <span class='ivar'>@sorting_in_filter</span> <span class='op'>=</span> <span class='kw'>false</span>
2293
+ <span class='ivar'>@sorting_links</span> <span class='op'>=</span> <span class='kw'>false</span>
2294
+ <span class='kw'>end</span></pre>
2295
+ </td>
2296
+ </tr>
2297
+ </table>
2298
+ </div>
2299
+
2300
+ <div class="method_details ">
2301
+ <h3 class="signature " id="skip_sorting_in_filter!-instance_method">
2302
+
2303
+ #<strong>skip_sorting_in_filter!</strong> &#x21d2; <tt>Object</tt>
2304
+
2305
+
2306
+
2307
+
2308
+
2309
+ </h3><div class="docstring">
2310
+ <div class="discussion">
2311
+
2312
+ <p>DSL method Disables sorting in filter.</p>
2313
+
2314
+
2315
+ </div>
2316
+ </div>
2317
+ <div class="tags">
2318
+
2319
+
2320
+ </div><table class="source_code">
2321
+ <tr>
2322
+ <td>
2323
+ <pre class="lines">
2324
+
2325
+
2326
+ 76
2327
+ 77
2328
+ 78</pre>
2329
+ </td>
2330
+ <td>
2331
+ <pre class="code"><span class="info file"># File 'lib/compony/components/list.rb', line 76</span>
2332
+
2333
+ <span class='kw'>def</span> <span class='id identifier rubyid_skip_sorting_in_filter!'>skip_sorting_in_filter!</span>
2334
+ <span class='ivar'>@sorting_in_filter</span> <span class='op'>=</span> <span class='kw'>false</span>
2335
+ <span class='kw'>end</span></pre>
2336
+ </td>
2337
+ </tr>
2338
+ </table>
2339
+ </div>
2340
+
2341
+ <div class="method_details ">
2342
+ <h3 class="signature " id="skip_sorting_links!-instance_method">
2343
+
2344
+ #<strong>skip_sorting_links!</strong> &#x21d2; <tt>Object</tt>
2345
+
2346
+
2347
+
2348
+
2349
+
2350
+ </h3><div class="docstring">
2351
+ <div class="discussion">
2352
+
2353
+ <p>DSL method Disables sorting links.</p>
2354
+
2355
+
2356
+ </div>
2357
+ </div>
2358
+ <div class="tags">
2359
+
2360
+
2361
+ </div><table class="source_code">
2362
+ <tr>
2363
+ <td>
2364
+ <pre class="lines">
2365
+
2366
+
2367
+ 82
2368
+ 83
2369
+ 84</pre>
2370
+ </td>
2371
+ <td>
2372
+ <pre class="code"><span class="info file"># File 'lib/compony/components/list.rb', line 82</span>
2373
+
2374
+ <span class='kw'>def</span> <span class='id identifier rubyid_skip_sorting_links!'>skip_sorting_links!</span>
2375
+ <span class='ivar'>@sorting_links</span> <span class='op'>=</span> <span class='kw'>false</span>
2376
+ <span class='kw'>end</span></pre>
2377
+ </td>
2378
+ </tr>
2379
+ </table>
2380
+ </div>
2381
+
2382
+ <div class="method_details ">
2383
+ <h3 class="signature " id="sort-instance_method">
2384
+
2385
+ #<strong>sort</strong>(name, label: nil) &#x21d2; <tt>Object</tt>
2386
+
2387
+
2388
+
2389
+
2390
+
2391
+ </h3><div class="docstring">
2392
+ <div class="discussion">
2393
+
2394
+ <p>DSL method Adds a sorting criterion that will be processed by ransack. <code>data_class</code> must be sortable by this criterion. See Ransack’s sorting for constraints. For every call of this method, one sorting link and two entries (asc, desc) in the sorting-in-filter feature will be generated, if enabled.</p>
2395
+
2396
+
2397
+ </div>
2398
+ </div>
2399
+ <div class="tags">
2400
+ <p class="tag_title">Parameters:</p>
2401
+ <ul class="param">
2402
+
2403
+ <li>
2404
+
2405
+ <span class='name'>name</span>
2406
+
2407
+
2408
+ <span class='type'>(<tt>Symbol</tt>, <tt>String</tt>)</span>
2409
+
2410
+
2411
+
2412
+ &mdash;
2413
+ <div class='inline'>
2414
+ <p>Sorting criteria, e.g. <code>:id</code> or <code>:label</code>.</p>
2415
+ </div>
2416
+
2417
+ </li>
2418
+
2419
+ <li>
2420
+
2421
+ <span class='name'>label</span>
2422
+
2423
+
2424
+ <span class='type'>(<tt>String</tt>)</span>
2425
+
2426
+
2427
+ <em class="default">(defaults to: <tt>nil</tt>)</em>
2428
+
2429
+
2430
+ &mdash;
2431
+ <div class='inline'>
2432
+ <p>Label of the sorting link / entries.</p>
2433
+ </div>
2434
+
2435
+ </li>
2436
+
2437
+ </ul>
2438
+
2439
+
2440
+ </div><table class="source_code">
2441
+ <tr>
2442
+ <td>
2443
+ <pre class="lines">
2444
+
2445
+
2446
+ 216
2447
+ 217
2448
+ 218
2449
+ 219</pre>
2450
+ </td>
2451
+ <td>
2452
+ <pre class="code"><span class="info file"># File 'lib/compony/components/list.rb', line 216</span>
2453
+
2454
+ <span class='kw'>def</span> <span class='id identifier rubyid_sort'>sort</span><span class='lparen'>(</span><span class='id identifier rubyid_name'>name</span><span class='comma'>,</span> <span class='label'>label:</span> <span class='kw'>nil</span><span class='rparen'>)</span>
2455
+ <span class='id identifier rubyid_label'>label</span> <span class='op'>||=</span> <span class='id identifier rubyid_data_class'>data_class</span><span class='period'>.</span><span class='id identifier rubyid_fields'>fields</span><span class='lbracket'>[</span><span class='id identifier rubyid_name'>name</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_label'>label</span>
2456
+ <span class='ivar'>@sorts</span><span class='period'>.</span><span class='id identifier rubyid_natural_push'>natural_push</span><span class='lparen'>(</span><span class='id identifier rubyid_name'>name</span><span class='period'>.</span><span class='id identifier rubyid_to_sym'>to_sym</span><span class='comma'>,</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='label'>label:</span><span class='rparen'>)</span>
2457
+ <span class='kw'>end</span></pre>
2458
+ </td>
2459
+ </tr>
2460
+ </table>
2461
+ </div>
2462
+
2463
+ <div class="method_details ">
2464
+ <h3 class="signature " id="sorting_enabled?-instance_method">
2465
+
2466
+ #<strong>sorting_enabled?</strong> &#x21d2; <tt>Boolean</tt> <span class="extras">(protected)</span>
2467
+
2468
+
2469
+
2470
+
2471
+
2472
+ </h3><div class="docstring">
2473
+ <div class="discussion">
2474
+
2475
+ <p>Returns whether sorting is possible and wanted in general (regardless of whether there are any sorts defined)</p>
2476
+
2477
+
2478
+ </div>
2479
+ </div>
2480
+ <div class="tags">
2481
+
2482
+ <p class="tag_title">Returns:</p>
2483
+ <ul class="return">
2484
+
2485
+ <li>
2486
+
2487
+
2488
+ <span class='type'>(<tt>Boolean</tt>)</span>
2489
+
2490
+
2491
+
2492
+ </li>
2493
+
2494
+ </ul>
2495
+
2496
+ </div><table class="source_code">
2497
+ <tr>
2498
+ <td>
2499
+ <pre class="lines">
2500
+
2501
+
2502
+ 387
2503
+ 388
2504
+ 389</pre>
2505
+ </td>
2506
+ <td>
2507
+ <pre class="code"><span class="info file"># File 'lib/compony/components/list.rb', line 387</span>
2508
+
2509
+ <span class='kw'>def</span> <span class='id identifier rubyid_sorting_enabled?'>sorting_enabled?</span>
2510
+ <span class='lparen'>(</span><span class='ivar'>@sorting_in_filter</span> <span class='op'>||</span> <span class='ivar'>@sorting_links</span><span class='rparen'>)</span> <span class='op'>&amp;&amp;</span> <span class='kw'>defined?</span><span class='lparen'>(</span><span class='const'>Ransack</span><span class='rparen'>)</span>
2511
+ <span class='kw'>end</span></pre>
2512
+ </td>
2513
+ </tr>
2514
+ </table>
2515
+ </div>
2516
+
2517
+ <div class="method_details ">
2518
+ <h3 class="signature " id="sorting_in_filter_enabled?-instance_method">
2519
+
2520
+ #<strong>sorting_in_filter_enabled?</strong> &#x21d2; <tt>Boolean</tt> <span class="extras">(protected)</span>
2521
+
2522
+
2523
+
2524
+
2525
+
2526
+ </h3><div class="docstring">
2527
+ <div class="discussion">
2528
+
2529
+ <p>Returns whether sorting in filter is possible and wanted in general (regardless of whether there are any sorts defined)</p>
2530
+
2531
+
2532
+ </div>
2533
+ </div>
2534
+ <div class="tags">
2535
+
2536
+ <p class="tag_title">Returns:</p>
2537
+ <ul class="return">
2538
+
2539
+ <li>
2540
+
2541
+
2542
+ <span class='type'>(<tt>Boolean</tt>)</span>
2543
+
2544
+
2545
+
2546
+ </li>
2547
+
2548
+ </ul>
2549
+
2550
+ </div><table class="source_code">
2551
+ <tr>
2552
+ <td>
2553
+ <pre class="lines">
2554
+
2555
+
2556
+ 392
2557
+ 393
2558
+ 394</pre>
2559
+ </td>
2560
+ <td>
2561
+ <pre class="code"><span class="info file"># File 'lib/compony/components/list.rb', line 392</span>
2562
+
2563
+ <span class='kw'>def</span> <span class='id identifier rubyid_sorting_in_filter_enabled?'>sorting_in_filter_enabled?</span>
2564
+ <span class='id identifier rubyid_sorting_enabled?'>sorting_enabled?</span> <span class='op'>&amp;&amp;</span> <span class='ivar'>@sorting_in_filter</span>
2565
+ <span class='kw'>end</span></pre>
2566
+ </td>
2567
+ </tr>
2568
+ </table>
2569
+ </div>
2570
+
2571
+ <div class="method_details ">
2572
+ <h3 class="signature " id="sorting_in_filter_select_opts-instance_method">
2573
+
2574
+ #<strong>sorting_in_filter_select_opts</strong> &#x21d2; <tt>Object</tt> <span class="extras">(protected)</span>
2575
+
2576
+
2577
+
2578
+
2579
+
2580
+ </h3><div class="docstring">
2581
+ <div class="discussion">
2582
+
2583
+ <p>Returns the select options for sorting suitable for passing in a <code>f.select</code>. Used in sorting-in-filter feature. Useful for custom subclasses of List.</p>
2584
+
2585
+
2586
+ </div>
2587
+ </div>
2588
+ <div class="tags">
2589
+
2590
+
2591
+ </div><table class="source_code">
2592
+ <tr>
2593
+ <td>
2594
+ <pre class="lines">
2595
+
2596
+
2597
+ 407
2598
+ 408
2599
+ 409
2600
+ 410
2601
+ 411
2602
+ 412
2603
+ 413
2604
+ 414
2605
+ 415</pre>
2606
+ </td>
2607
+ <td>
2608
+ <pre class="code"><span class="info file"># File 'lib/compony/components/list.rb', line 407</span>
2609
+
2610
+ <span class='kw'>def</span> <span class='id identifier rubyid_sorting_in_filter_select_opts'>sorting_in_filter_select_opts</span>
2611
+ <span class='ivar'>@sorts</span><span class='period'>.</span><span class='id identifier rubyid_flat_map'>flat_map</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_sort'>sort</span><span class='op'>|</span>
2612
+ <span class='qwords_beg'>%w[</span><span class='tstring_content'>asc</span><span class='words_sep'> </span><span class='tstring_content'>desc</span><span class='tstring_end'>]</span></span><span class='period'>.</span><span class='id identifier rubyid_map'>map</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_order'>order</span><span class='op'>|</span>
2613
+ <span class='id identifier rubyid_label'>label</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_sort'>sort</span><span class='lbracket'>[</span><span class='symbol'>:label</span><span class='rbracket'>]</span><span class='embexpr_end'>}</span><span class='tstring_content'> </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_order'>order</span> <span class='op'>==</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>asc</span><span class='tstring_end'>&#39;</span></span> <span class='op'>?</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>↑</span><span class='tstring_end'>&#39;</span></span> <span class='op'>:</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>↓</span><span class='tstring_end'>&#39;</span></span><span class='embexpr_end'>}</span><span class='tstring_end'>&quot;</span></span>
2614
+ <span class='id identifier rubyid_value'>value</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_sort'>sort</span><span class='lbracket'>[</span><span class='symbol'>:name</span><span class='rbracket'>]</span><span class='embexpr_end'>}</span><span class='tstring_content'> </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_order'>order</span><span class='embexpr_end'>}</span><span class='tstring_end'>&quot;</span></span>
2615
+ <span class='lbracket'>[</span><span class='id identifier rubyid_label'>label</span><span class='comma'>,</span> <span class='id identifier rubyid_value'>value</span><span class='rbracket'>]</span>
2616
+ <span class='kw'>end</span>
2617
+ <span class='kw'>end</span>
2618
+ <span class='kw'>end</span></pre>
2619
+ </td>
2620
+ </tr>
2621
+ </table>
2622
+ </div>
2623
+
2624
+ <div class="method_details ">
2625
+ <h3 class="signature " id="sorting_links_enabled?-instance_method">
2626
+
2627
+ #<strong>sorting_links_enabled?</strong> &#x21d2; <tt>Boolean</tt> <span class="extras">(protected)</span>
2628
+
2629
+
2630
+
2631
+
2632
+
2633
+ </h3><div class="docstring">
2634
+ <div class="discussion">
2635
+
2636
+ <p>Returns whether generating sorting links is possible and wanted in general (regardless of whether there are any sorts defined)</p>
2637
+
2638
+
2639
+ </div>
2640
+ </div>
2641
+ <div class="tags">
2642
+
2643
+ <p class="tag_title">Returns:</p>
2644
+ <ul class="return">
2645
+
2646
+ <li>
2647
+
2648
+
2649
+ <span class='type'>(<tt>Boolean</tt>)</span>
2650
+
2651
+
2652
+
2653
+ </li>
2654
+
2655
+ </ul>
2656
+
2657
+ </div><table class="source_code">
2658
+ <tr>
2659
+ <td>
2660
+ <pre class="lines">
2661
+
2662
+
2663
+ 397
2664
+ 398
2665
+ 399</pre>
2666
+ </td>
2667
+ <td>
2668
+ <pre class="code"><span class="info file"># File 'lib/compony/components/list.rb', line 397</span>
2669
+
2670
+ <span class='kw'>def</span> <span class='id identifier rubyid_sorting_links_enabled?'>sorting_links_enabled?</span>
2671
+ <span class='id identifier rubyid_sorting_enabled?'>sorting_enabled?</span> <span class='op'>&amp;&amp;</span> <span class='ivar'>@sorting_links</span>
2672
+ <span class='kw'>end</span></pre>
2673
+ </td>
2674
+ </tr>
2675
+ </table>
2676
+ </div>
2677
+
2678
+ <div class="method_details ">
2679
+ <h3 class="signature " id="sorts-instance_method">
2680
+
2681
+ #<strong>sorts</strong>(*names) &#x21d2; <tt>Object</tt>
2682
+
2683
+
2684
+
2685
+
2686
+
2687
+ </h3><div class="docstring">
2688
+ <div class="discussion">
2689
+
2690
+ <p>DSL method Adds multiple sorts at once, sharing the same kwargs.</p>
2691
+
2692
+
2693
+ </div>
2694
+ </div>
2695
+ <div class="tags">
2696
+
2697
+
2698
+ </div><table class="source_code">
2699
+ <tr>
2700
+ <td>
2701
+ <pre class="lines">
2702
+
2703
+
2704
+ 223
2705
+ 224
2706
+ 225</pre>
2707
+ </td>
2708
+ <td>
2709
+ <pre class="code"><span class="info file"># File 'lib/compony/components/list.rb', line 223</span>
2710
+
2711
+ <span class='kw'>def</span> <span class='id identifier rubyid_sorts'>sorts</span><span class='lparen'>(</span><span class='op'>*</span><span class='id identifier rubyid_names'>names</span><span class='comma'>,</span> <span class='op'>**</span><span class='rparen'>)</span>
2712
+ <span class='id identifier rubyid_names'>names</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='lbrace'>{</span> <span class='op'>|</span><span class='id identifier rubyid_name'>name</span><span class='op'>|</span> <span class='id identifier rubyid_sort'>sort</span><span class='lparen'>(</span><span class='id identifier rubyid_name'>name</span><span class='comma'>,</span> <span class='op'>**</span><span class='rparen'>)</span> <span class='rbrace'>}</span>
2713
+ <span class='kw'>end</span></pre>
2714
+ </td>
2715
+ </tr>
2716
+ </table>
2717
+ </div>
2718
+
2719
+ </div>
2720
+
2721
+ </div>
2722
+
2723
+ <div id="footer">
2724
+ Generated on Fri Sep 5 14:00:25 2025 by
2725
+ <a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
2726
+ 0.9.34 (ruby-3.3.5).
2727
+ </div>
2728
+
2729
+ </div>
2730
+ </body>
2731
+ </html>