compony 0.5.9 → 0.6.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (88) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +9 -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 +2820 -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 +413 -96
  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 +428 -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,2820 @@
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="#default_sorting-instance_method" title="#default_sorting (instance method)">#<strong>default_sorting</strong>(new_default_sorting) &#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 Overrides the default sorting.</p>
212
+ </div></span>
213
+
214
+ </li>
215
+
216
+
217
+ <li class="public ">
218
+ <span class="summary_signature">
219
+
220
+ <a href="#filter-instance_method" title="#filter (instance method)">#<strong>filter</strong>(name, label: nil, &amp;block) &#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 Adds a ransack filter.</p>
236
+ </div></span>
237
+
238
+ </li>
239
+
240
+
241
+ <li class="public ">
242
+ <span class="summary_signature">
243
+
244
+ <a href="#filter_input_class-instance_method" title="#filter_input_class (instance method)">#<strong>filter_input_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 string form inputs in filters.</p>
260
+ </div></span>
261
+
262
+ </li>
263
+
264
+
265
+ <li class="public ">
266
+ <span class="summary_signature">
267
+
268
+ <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>
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 the div that wraps input-related elements in filters (inputs, selects, labels).</p>
284
+ </div></span>
285
+
286
+ </li>
287
+
288
+
289
+ <li class="public ">
290
+ <span class="summary_signature">
291
+
292
+ <a href="#filter_label_class-instance_method" title="#filter_label_class (instance method)">#<strong>filter_label_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 label elements in filters.</p>
308
+ </div></span>
309
+
310
+ </li>
311
+
312
+
313
+ <li class="public ">
314
+ <span class="summary_signature">
315
+
316
+ <a href="#filter_select_class-instance_method" title="#filter_select_class (instance method)">#<strong>filter_select_class</strong>(class_str) &#x21d2; Object </a>
317
+
318
+
319
+
320
+ </span>
321
+
322
+
323
+
324
+
325
+
326
+
327
+
328
+
329
+
330
+ <span class="summary_desc"><div class='inline'>
331
+ <p>DSL method Sets the CSS class attribute for form select inputs in filters.</p>
332
+ </div></span>
333
+
334
+ </li>
335
+
336
+
337
+ <li class="protected ">
338
+ <span class="summary_signature">
339
+
340
+ <a href="#filtering_enabled%3F-instance_method" title="#filtering_enabled? (instance method)">#<strong>filtering_enabled?</strong> &#x21d2; Boolean </a>
341
+
342
+
343
+
344
+ </span>
345
+
346
+
347
+
348
+ <span class="note title protected">protected</span>
349
+
350
+
351
+
352
+
353
+
354
+ <span class="summary_desc"><div class='inline'>
355
+ <p>Returns whether filtering is possible and wanted in general (regardless of whether there are any filters defined).</p>
356
+ </div></span>
357
+
358
+ </li>
359
+
360
+
361
+ <li class="public ">
362
+ <span class="summary_signature">
363
+
364
+ <a href="#filters-instance_method" title="#filters (instance method)">#<strong>filters</strong>(*filter_names) &#x21d2; Object </a>
365
+
366
+
367
+
368
+ </span>
369
+
370
+
371
+
372
+
373
+
374
+
375
+
376
+
377
+
378
+ <span class="summary_desc"><div class='inline'>
379
+ <p>DSL method Adds multiple filters at once, sharing the same kwargs.</p>
380
+ </div></span>
381
+
382
+ </li>
383
+
384
+
385
+ <li class="public ">
386
+ <span class="summary_signature">
387
+
388
+ <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: [], default_sorting: &#39;id asc&#39;) &#x21d2; List </a>
389
+
390
+
391
+
392
+ </span>
393
+
394
+
395
+ <span class="note title constructor">constructor</span>
396
+
397
+
398
+
399
+
400
+
401
+
402
+
403
+
404
+ <span class="summary_desc"><div class='inline'>
405
+ <p>The following parameters are meant for the case where this component is nested and therefore instanciated by a parent comp.</p>
406
+ </div></span>
407
+
408
+ </li>
409
+
410
+
411
+ <li class="protected ">
412
+ <span class="summary_signature">
413
+
414
+ <a href="#pagination_enabled%3F-instance_method" title="#pagination_enabled? (instance method)">#<strong>pagination_enabled?</strong> &#x21d2; Boolean </a>
415
+
416
+
417
+
418
+ </span>
419
+
420
+
421
+
422
+ <span class="note title protected">protected</span>
423
+
424
+
425
+
426
+
427
+
428
+ <span class="summary_desc"><div class='inline'>
429
+ <p>Returns whether pagination is enabled (regardless of whether there is more than one page).</p>
430
+ </div></span>
431
+
432
+ </li>
433
+
434
+
435
+ <li class="public ">
436
+ <span class="summary_signature">
437
+
438
+ <a href="#process_data!-instance_method" title="#process_data! (instance method)">#<strong>process_data!</strong>(controller) &#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>This method must be called before the data is read for the first time.</p>
454
+ </div></span>
455
+
456
+ </li>
457
+
458
+
459
+ <li class="public ">
460
+ <span class="summary_signature">
461
+
462
+ <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>
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 In case pagination is active, defines the amount of records to display per page.</p>
478
+ </div></span>
479
+
480
+ </li>
481
+
482
+
483
+ <li class="public ">
484
+ <span class="summary_signature">
485
+
486
+ <a href="#row_action-instance_method" title="#row_action (instance method)">#<strong>row_action</strong>(name, button_opts: {}, &amp;block) &#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 Adds a row action.</p>
502
+ </div></span>
503
+
504
+ </li>
505
+
506
+
507
+ <li class="public ">
508
+ <span class="summary_signature">
509
+
510
+ <a href="#skip_column-instance_method" title="#skip_column (instance method)">#<strong>skip_column</strong>(name) &#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 Marks a single column as skipped.</p>
526
+ </div></span>
527
+
528
+ </li>
529
+
530
+
531
+ <li class="public ">
532
+ <span class="summary_signature">
533
+
534
+ <a href="#skip_filtering!-instance_method" title="#skip_filtering! (instance method)">#<strong>skip_filtering!</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 filtering entirely (sorting is independent of this setting).</p>
550
+ </div></span>
551
+
552
+ </li>
553
+
554
+
555
+ <li class="public ">
556
+ <span class="summary_signature">
557
+
558
+ <a href="#skip_pagination!-instance_method" title="#skip_pagination! (instance method)">#<strong>skip_pagination!</strong> &#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 Disables pagination (caution: all records will be loaded).</p>
574
+ </div></span>
575
+
576
+ </li>
577
+
578
+
579
+ <li class="public ">
580
+ <span class="summary_signature">
581
+
582
+ <a href="#skip_row_action-instance_method" title="#skip_row_action (instance method)">#<strong>skip_row_action</strong>(name) &#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 Marks a single row action as skipped.</p>
598
+ </div></span>
599
+
600
+ </li>
601
+
602
+
603
+ <li class="public ">
604
+ <span class="summary_signature">
605
+
606
+ <a href="#skip_sorting!-instance_method" title="#skip_sorting! (instance method)">#<strong>skip_sorting!</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 entirely (both links and sorting input 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_in_filter!-instance_method" title="#skip_sorting_in_filter! (instance method)">#<strong>skip_sorting_in_filter!</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 in filter.</p>
646
+ </div></span>
647
+
648
+ </li>
649
+
650
+
651
+ <li class="public ">
652
+ <span class="summary_signature">
653
+
654
+ <a href="#skip_sorting_links!-instance_method" title="#skip_sorting_links! (instance method)">#<strong>skip_sorting_links!</strong> &#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 Disables sorting links.</p>
670
+ </div></span>
671
+
672
+ </li>
673
+
674
+
675
+ <li class="public ">
676
+ <span class="summary_signature">
677
+
678
+ <a href="#sort-instance_method" title="#sort (instance method)">#<strong>sort</strong>(name, label: nil) &#x21d2; Object </a>
679
+
680
+
681
+
682
+ </span>
683
+
684
+
685
+
686
+
687
+
688
+
689
+
690
+
691
+
692
+ <span class="summary_desc"><div class='inline'>
693
+ <p>DSL method Adds a sorting criterion that will be processed by ransack.</p>
694
+ </div></span>
695
+
696
+ </li>
697
+
698
+
699
+ <li class="protected ">
700
+ <span class="summary_signature">
701
+
702
+ <a href="#sorting_enabled%3F-instance_method" title="#sorting_enabled? (instance method)">#<strong>sorting_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 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_enabled%3F-instance_method" title="#sorting_in_filter_enabled? (instance method)">#<strong>sorting_in_filter_enabled?</strong> &#x21d2; Boolean </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 whether sorting in filter is possible and wanted in general (regardless of whether there are any sorts defined).</p>
742
+ </div></span>
743
+
744
+ </li>
745
+
746
+
747
+ <li class="protected ">
748
+ <span class="summary_signature">
749
+
750
+ <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>
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 the select options for sorting suitable for passing in a <code>f.select</code>.</p>
766
+ </div></span>
767
+
768
+ </li>
769
+
770
+
771
+ <li class="protected ">
772
+ <span class="summary_signature">
773
+
774
+ <a href="#sorting_links_enabled%3F-instance_method" title="#sorting_links_enabled? (instance method)">#<strong>sorting_links_enabled?</strong> &#x21d2; Boolean </a>
775
+
776
+
777
+
778
+ </span>
779
+
780
+
781
+
782
+ <span class="note title protected">protected</span>
783
+
784
+
785
+
786
+
787
+
788
+ <span class="summary_desc"><div class='inline'>
789
+ <p>Returns whether generating sorting links is possible and wanted in general (regardless of whether there are any sorts defined).</p>
790
+ </div></span>
791
+
792
+ </li>
793
+
794
+
795
+ <li class="public ">
796
+ <span class="summary_signature">
797
+
798
+ <a href="#sorts-instance_method" title="#sorts (instance method)">#<strong>sorts</strong>(*names) &#x21d2; Object </a>
799
+
800
+
801
+
802
+ </span>
803
+
804
+
805
+
806
+
807
+
808
+
809
+
810
+
811
+
812
+ <span class="summary_desc"><div class='inline'>
813
+ <p>DSL method Adds multiple sorts at once, sharing the same kwargs.</p>
814
+ </div></span>
815
+
816
+ </li>
817
+
818
+
819
+ </ul>
820
+
821
+
822
+
823
+
824
+
825
+
826
+
827
+
828
+
829
+
830
+
831
+ <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>
832
+ <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>
833
+
834
+
835
+
836
+
837
+
838
+
839
+
840
+
841
+
842
+
843
+ <h3 class="inherited">Methods inherited from <span class='object_link'><a href="../Component.html" title="Compony::Component (class)">Compony::Component</a></span></h3>
844
+ <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>
845
+ <div id="constructor_details" class="method_details_list">
846
+ <h2>Constructor Details</h2>
847
+
848
+ <div class="method_details first">
849
+ <h3 class="signature first" id="initialize-instance_method">
850
+
851
+ #<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: [], default_sorting: &#39;id asc&#39;) &#x21d2; <tt><span class='object_link'><a href="" title="Compony::Components::List (class)">List</a></span></tt>
852
+
853
+
854
+
855
+
856
+
857
+ </h3><div class="docstring">
858
+ <div class="discussion">
859
+
860
+ <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>
861
+
862
+
863
+ </div>
864
+ </div>
865
+ <div class="tags">
866
+ <p class="tag_title">Parameters:</p>
867
+ <ul class="param">
868
+
869
+ <li>
870
+
871
+ <span class='name'>skip_pagination</span>
872
+
873
+
874
+ <span class='type'>(<tt>Boolean</tt>)</span>
875
+
876
+
877
+ <em class="default">(defaults to: <tt>false</tt>)</em>
878
+
879
+
880
+ &mdash;
881
+ <div class='inline'>
882
+ <p>Disables pagination (caution: all records will be loaded)</p>
883
+ </div>
884
+
885
+ </li>
886
+
887
+ <li>
888
+
889
+ <span class='name'>results_per_page</span>
890
+
891
+
892
+ <span class='type'>(<tt>Integer</tt>)</span>
893
+
894
+
895
+ <em class="default">(defaults to: <tt>20</tt>)</em>
896
+
897
+
898
+ &mdash;
899
+ <div class='inline'>
900
+ <p>In case pagination is active, defines the amount of records to display per page.</p>
901
+ </div>
902
+
903
+ </li>
904
+
905
+ <li>
906
+
907
+ <span class='name'>skip_filtering</span>
908
+
909
+
910
+ <span class='type'>(<tt>Boolean</tt>)</span>
911
+
912
+
913
+ <em class="default">(defaults to: <tt>false</tt>)</em>
914
+
915
+
916
+ &mdash;
917
+ <div class='inline'>
918
+ <p>Disables filtering entirely (sorting is independent of this setting).</p>
919
+ </div>
920
+
921
+ </li>
922
+
923
+ <li>
924
+
925
+ <span class='name'>skip_sorting</span>
926
+
927
+
928
+ <span class='type'>(<tt>Boolean</tt>)</span>
929
+
930
+
931
+ <em class="default">(defaults to: <tt>false</tt>)</em>
932
+
933
+
934
+ &mdash;
935
+ <div class='inline'>
936
+ <p>Disables sorting entirely (both links and sorting input in filter).</p>
937
+ </div>
938
+
939
+ </li>
940
+
941
+ <li>
942
+
943
+ <span class='name'>skip_sorting_in_filter</span>
944
+
945
+
946
+ <span class='type'>(<tt>Boolean</tt>)</span>
947
+
948
+
949
+ <em class="default">(defaults to: <tt>false</tt>)</em>
950
+
951
+
952
+ &mdash;
953
+ <div class='inline'>
954
+ <p>Disables sorting in filter.</p>
955
+ </div>
956
+
957
+ </li>
958
+
959
+ <li>
960
+
961
+ <span class='name'>skip_sorting_links</span>
962
+
963
+
964
+ <span class='type'>(<tt>Boolean</tt>)</span>
965
+
966
+
967
+ <em class="default">(defaults to: <tt>false</tt>)</em>
968
+
969
+
970
+ &mdash;
971
+ <div class='inline'>
972
+ <p>Disables sorting links.</p>
973
+ </div>
974
+
975
+ </li>
976
+
977
+ <li>
978
+
979
+ <span class='name'>skip_columns</span>
980
+
981
+
982
+ <span class='type'>(<tt>Array</tt>)</span>
983
+
984
+
985
+ <em class="default">(defaults to: <tt>[]</tt>)</em>
986
+
987
+
988
+ &mdash;
989
+ <div class='inline'>
990
+ <p>Column names to be skipped.</p>
991
+ </div>
992
+
993
+ </li>
994
+
995
+ <li>
996
+
997
+ <span class='name'>skip_row_actions</span>
998
+
999
+
1000
+ <span class='type'>(<tt>Array</tt>)</span>
1001
+
1002
+
1003
+ <em class="default">(defaults to: <tt>[]</tt>)</em>
1004
+
1005
+
1006
+ &mdash;
1007
+ <div class='inline'>
1008
+ <p>Row action names to be skipped.</p>
1009
+ </div>
1010
+
1011
+ </li>
1012
+
1013
+ <li>
1014
+
1015
+ <span class='name'>skip_filters</span>
1016
+
1017
+
1018
+ <span class='type'>(<tt>Array</tt>)</span>
1019
+
1020
+
1021
+ <em class="default">(defaults to: <tt>[]</tt>)</em>
1022
+
1023
+
1024
+ &mdash;
1025
+ <div class='inline'>
1026
+ <p>Filter names to be skipped.</p>
1027
+ </div>
1028
+
1029
+ </li>
1030
+
1031
+ <li>
1032
+
1033
+ <span class='name'>default_sorting</span>
1034
+
1035
+
1036
+ <span class='type'>(<tt>String</tt>)</span>
1037
+
1038
+
1039
+ <em class="default">(defaults to: <tt>&#39;id asc&#39;</tt>)</em>
1040
+
1041
+
1042
+ &mdash;
1043
+ <div class='inline'>
1044
+ <p>Default sorting (only relevant for ransack based sorting)</p>
1045
+ </div>
1046
+
1047
+ </li>
1048
+
1049
+ </ul>
1050
+
1051
+
1052
+ </div><table class="source_code">
1053
+ <tr>
1054
+ <td>
1055
+ <pre class="lines">
1056
+
1057
+
1058
+ 20
1059
+ 21
1060
+ 22
1061
+ 23
1062
+ 24
1063
+ 25
1064
+ 26
1065
+ 27
1066
+ 28
1067
+ 29
1068
+ 30
1069
+ 31
1070
+ 32
1071
+ 33
1072
+ 34
1073
+ 35
1074
+ 36
1075
+ 37
1076
+ 38
1077
+ 39
1078
+ 40
1079
+ 41
1080
+ 42
1081
+ 43
1082
+ 44
1083
+ 45
1084
+ 46
1085
+ 47
1086
+ 48
1087
+ 49
1088
+ 50</pre>
1089
+ </td>
1090
+ <td>
1091
+ <pre class="code"><span class="info file"># File 'lib/compony/components/list.rb', line 20</span>
1092
+
1093
+ <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>
1094
+ <span class='label'>skip_pagination:</span> <span class='kw'>false</span><span class='comma'>,</span>
1095
+ <span class='label'>results_per_page:</span> <span class='int'>20</span><span class='comma'>,</span>
1096
+ <span class='label'>skip_filtering:</span> <span class='kw'>false</span><span class='comma'>,</span>
1097
+ <span class='label'>skip_sorting:</span> <span class='kw'>false</span><span class='comma'>,</span>
1098
+ <span class='label'>skip_sorting_in_filter:</span> <span class='kw'>false</span><span class='comma'>,</span>
1099
+ <span class='label'>skip_sorting_links:</span> <span class='kw'>false</span><span class='comma'>,</span>
1100
+ <span class='label'>skip_columns:</span> <span class='lbracket'>[</span><span class='rbracket'>]</span><span class='comma'>,</span>
1101
+ <span class='label'>skip_row_actions:</span> <span class='lbracket'>[</span><span class='rbracket'>]</span><span class='comma'>,</span>
1102
+ <span class='label'>skip_filters:</span> <span class='lbracket'>[</span><span class='rbracket'>]</span><span class='comma'>,</span>
1103
+ <span class='label'>default_sorting:</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>id asc</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span>
1104
+ <span class='op'>**</span><span class='rparen'>)</span>
1105
+ <span class='ivar'>@pagination</span> <span class='op'>=</span> <span class='op'>!</span><span class='id identifier rubyid_skip_pagination'>skip_pagination</span>
1106
+ <span class='ivar'>@results_per_page</span> <span class='op'>=</span> <span class='id identifier rubyid_results_per_page'>results_per_page</span>
1107
+ <span class='ivar'>@filtering</span> <span class='op'>=</span> <span class='op'>!</span><span class='id identifier rubyid_skip_filtering'>skip_filtering</span>
1108
+ <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>
1109
+ <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>
1110
+ <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>
1111
+ <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>
1112
+ <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>
1113
+ <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>
1114
+ <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>
1115
+ <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>
1116
+ <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>
1117
+ <span class='ivar'>@default_sorting</span> <span class='op'>=</span> <span class='id identifier rubyid_default_sorting'>default_sorting</span>
1118
+ <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>
1119
+ <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>
1120
+ <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>
1121
+ <span class='ivar'>@filter_item_wrapper_class</span> <span class='op'>=</span> <span class='kw'>nil</span>
1122
+ <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>
1123
+ <span class='kw'>end</span></pre>
1124
+ </td>
1125
+ </tr>
1126
+ </table>
1127
+ </div>
1128
+
1129
+ </div>
1130
+
1131
+
1132
+ <div id="instance_method_details" class="method_details_list">
1133
+ <h2>Instance Method Details</h2>
1134
+
1135
+
1136
+ <div class="method_details first">
1137
+ <h3 class="signature first" id="column-instance_method">
1138
+
1139
+ #<strong>column</strong>(name, label: nil, class: nil, link_opts: {}, &amp;block) &#x21d2; <tt>Object</tt>
1140
+
1141
+
1142
+
1143
+
1144
+
1145
+ </h3><div class="docstring">
1146
+ <div class="discussion">
1147
+
1148
+ <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>
1149
+
1150
+
1151
+ </div>
1152
+ </div>
1153
+ <div class="tags">
1154
+ <p class="tag_title">Parameters:</p>
1155
+ <ul class="param">
1156
+
1157
+ <li>
1158
+
1159
+ <span class='name'>name</span>
1160
+
1161
+
1162
+ <span class='type'>(<tt>String</tt>)</span>
1163
+
1164
+
1165
+
1166
+ &mdash;
1167
+ <div class='inline'>
1168
+ <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>
1169
+ </div>
1170
+
1171
+ </li>
1172
+
1173
+ <li>
1174
+
1175
+ <span class='name'>label</span>
1176
+
1177
+
1178
+ <span class='type'>(<tt>String</tt>)</span>
1179
+
1180
+
1181
+ <em class="default">(defaults to: <tt>nil</tt>)</em>
1182
+
1183
+
1184
+ &mdash;
1185
+ <div class='inline'>
1186
+ <p>Title of the column to be displayed in the table header.</p>
1187
+ </div>
1188
+
1189
+ </li>
1190
+
1191
+ <li>
1192
+
1193
+ <span class='name'>class</span>
1194
+
1195
+
1196
+ <span class='type'>(<tt>String</tt>)</span>
1197
+
1198
+
1199
+ <em class="default">(defaults to: <tt>nil</tt>)</em>
1200
+
1201
+
1202
+ &mdash;
1203
+ <div class='inline'>
1204
+ <p>Space-separated list of CSS classes for each cell</p>
1205
+ </div>
1206
+
1207
+ </li>
1208
+
1209
+ <li>
1210
+
1211
+ <span class='name'>link_opts</span>
1212
+
1213
+
1214
+ <span class='type'>(<tt>Hash</tt>)</span>
1215
+
1216
+
1217
+ <em class="default">(defaults to: <tt>{}</tt>)</em>
1218
+
1219
+
1220
+ &mdash;
1221
+ <div class='inline'>
1222
+ <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>
1223
+ </div>
1224
+
1225
+ </li>
1226
+
1227
+ <li>
1228
+
1229
+ <span class='name'>block</span>
1230
+
1231
+
1232
+ <span class='type'>(<tt>Block</tt>)</span>
1233
+
1234
+
1235
+
1236
+ &mdash;
1237
+ <div class='inline'>
1238
+ <p>Custom block, given the record and instance-execed in the context of the cell for every row.</p>
1239
+ </div>
1240
+
1241
+ </li>
1242
+
1243
+ </ul>
1244
+
1245
+
1246
+ </div><table class="source_code">
1247
+ <tr>
1248
+ <td>
1249
+ <pre class="lines">
1250
+
1251
+
1252
+ 132
1253
+ 133
1254
+ 134
1255
+ 135
1256
+ 136
1257
+ 137
1258
+ 138
1259
+ 139
1260
+ 140
1261
+ 141
1262
+ 142
1263
+ 143
1264
+ 144</pre>
1265
+ </td>
1266
+ <td>
1267
+ <pre class="code"><span class="info file"># File 'lib/compony/components/list.rb', line 132</span>
1268
+
1269
+ <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>
1270
+ <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>
1271
+ <span class='kw'>unless</span> <span class='id identifier rubyid_block_given?'>block_given?</span>
1272
+ <span class='comment'># Assume field column
1273
+ </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>
1274
+ <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>
1275
+ <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>
1276
+ <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>
1277
+ <span class='kw'>end</span>
1278
+ <span class='kw'>end</span>
1279
+ <span class='kw'>end</span>
1280
+ <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>
1281
+ <span class='kw'>end</span></pre>
1282
+ </td>
1283
+ </tr>
1284
+ </table>
1285
+ </div>
1286
+
1287
+ <div class="method_details ">
1288
+ <h3 class="signature " id="columns-instance_method">
1289
+
1290
+ #<strong>columns</strong>(*col_names) &#x21d2; <tt>Object</tt>
1291
+
1292
+
1293
+
1294
+
1295
+
1296
+ </h3><div class="docstring">
1297
+ <div class="discussion">
1298
+
1299
+ <p>DSL method Adds multiple columns at once, sharing the same kwargs.</p>
1300
+
1301
+
1302
+ </div>
1303
+ </div>
1304
+ <div class="tags">
1305
+
1306
+
1307
+ </div><table class="source_code">
1308
+ <tr>
1309
+ <td>
1310
+ <pre class="lines">
1311
+
1312
+
1313
+ 148
1314
+ 149
1315
+ 150</pre>
1316
+ </td>
1317
+ <td>
1318
+ <pre class="code"><span class="info file"># File 'lib/compony/components/list.rb', line 148</span>
1319
+
1320
+ <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>
1321
+ <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>
1322
+ <span class='kw'>end</span></pre>
1323
+ </td>
1324
+ </tr>
1325
+ </table>
1326
+ </div>
1327
+
1328
+ <div class="method_details ">
1329
+ <h3 class="signature " id="default_sorting-instance_method">
1330
+
1331
+ #<strong>default_sorting</strong>(new_default_sorting) &#x21d2; <tt>Object</tt>
1332
+
1333
+
1334
+
1335
+
1336
+
1337
+ </h3><div class="docstring">
1338
+ <div class="discussion">
1339
+
1340
+ <p>DSL method Overrides the default sorting</p>
1341
+
1342
+
1343
+ </div>
1344
+ </div>
1345
+ <div class="tags">
1346
+
1347
+
1348
+ </div><table class="source_code">
1349
+ <tr>
1350
+ <td>
1351
+ <pre class="lines">
1352
+
1353
+
1354
+ 91
1355
+ 92
1356
+ 93</pre>
1357
+ </td>
1358
+ <td>
1359
+ <pre class="code"><span class="info file"># File 'lib/compony/components/list.rb', line 91</span>
1360
+
1361
+ <span class='kw'>def</span> <span class='id identifier rubyid_default_sorting'>default_sorting</span><span class='lparen'>(</span><span class='id identifier rubyid_new_default_sorting'>new_default_sorting</span><span class='rparen'>)</span>
1362
+ <span class='ivar'>@default_sorting</span> <span class='op'>=</span> <span class='id identifier rubyid_new_default_sorting'>new_default_sorting</span>
1363
+ <span class='kw'>end</span></pre>
1364
+ </td>
1365
+ </tr>
1366
+ </table>
1367
+ </div>
1368
+
1369
+ <div class="method_details ">
1370
+ <h3 class="signature " id="filter-instance_method">
1371
+
1372
+ #<strong>filter</strong>(name, label: nil, &amp;block) &#x21d2; <tt>Object</tt>
1373
+
1374
+
1375
+
1376
+
1377
+
1378
+ </h3><div class="docstring">
1379
+ <div class="discussion">
1380
+
1381
+ <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>
1382
+
1383
+
1384
+ </div>
1385
+ </div>
1386
+ <div class="tags">
1387
+ <p class="tag_title">Parameters:</p>
1388
+ <ul class="param">
1389
+
1390
+ <li>
1391
+
1392
+ <span class='name'>name</span>
1393
+
1394
+
1395
+ <span class='type'>(<tt>String</tt>)</span>
1396
+
1397
+
1398
+
1399
+ &mdash;
1400
+ <div class='inline'>
1401
+ <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>
1402
+ </div>
1403
+
1404
+ </li>
1405
+
1406
+ <li>
1407
+
1408
+ <span class='name'>label</span>
1409
+
1410
+
1411
+ <span class='type'>(<tt>String</tt>)</span>
1412
+
1413
+
1414
+ <em class="default">(defaults to: <tt>nil</tt>)</em>
1415
+
1416
+
1417
+ &mdash;
1418
+ <div class='inline'>
1419
+ <p>The text to use in the input’s label.</p>
1420
+ </div>
1421
+
1422
+ </li>
1423
+
1424
+ <li>
1425
+
1426
+ <span class='name'>block</span>
1427
+
1428
+
1429
+ <span class='type'>(<tt>Block</tt>)</span>
1430
+
1431
+
1432
+
1433
+ &mdash;
1434
+ <div class='inline'>
1435
+ <p>Custom block that will be given the Ransack search form and should produce a label and a search input.</p>
1436
+ </div>
1437
+
1438
+ </li>
1439
+
1440
+ </ul>
1441
+
1442
+
1443
+ </div><table class="source_code">
1444
+ <tr>
1445
+ <td>
1446
+ <pre class="lines">
1447
+
1448
+
1449
+ 191
1450
+ 192
1451
+ 193
1452
+ 194
1453
+ 195
1454
+ 196
1455
+ 197
1456
+ 198
1457
+ 199
1458
+ 200
1459
+ 201
1460
+ 202
1461
+ 203
1462
+ 204
1463
+ 205
1464
+ 206
1465
+ 207
1466
+ 208
1467
+ 209
1468
+ 210
1469
+ 211
1470
+ 212</pre>
1471
+ </td>
1472
+ <td>
1473
+ <pre class="code"><span class="info file"># File 'lib/compony/components/list.rb', line 191</span>
1474
+
1475
+ <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>
1476
+ <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>
1477
+ <span class='kw'>unless</span> <span class='id identifier rubyid_block_given?'>block_given?</span>
1478
+ <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>
1479
+ <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>
1480
+ <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>
1481
+ <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>
1482
+
1483
+ <span class='kw'>if</span> <span class='id identifier rubyid_field'>field</span>
1484
+ <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>
1485
+ <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>
1486
+ <span class='kw'>else</span>
1487
+ <span class='id identifier rubyid_filter_name'>filter_name</span> <span class='op'>=</span> <span class='id identifier rubyid_name'>name</span>
1488
+ <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>
1489
+ <span class='kw'>end</span>
1490
+ <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>
1491
+ <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>
1492
+ <span class='kw'>end</span>
1493
+ <span class='kw'>end</span>
1494
+
1495
+ <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>
1496
+ <span class='kw'>end</span></pre>
1497
+ </td>
1498
+ </tr>
1499
+ </table>
1500
+ </div>
1501
+
1502
+ <div class="method_details ">
1503
+ <h3 class="signature " id="filter_input_class-instance_method">
1504
+
1505
+ #<strong>filter_input_class</strong>(class_str) &#x21d2; <tt>Object</tt>
1506
+
1507
+
1508
+
1509
+
1510
+
1511
+ </h3><div class="docstring">
1512
+ <div class="discussion">
1513
+
1514
+ <p>DSL method Sets the CSS class attribute for string form inputs in filters.</p>
1515
+
1516
+
1517
+ </div>
1518
+ </div>
1519
+ <div class="tags">
1520
+ <p class="tag_title">Parameters:</p>
1521
+ <ul class="param">
1522
+
1523
+ <li>
1524
+
1525
+ <span class='name'>class_str</span>
1526
+
1527
+
1528
+ <span class='type'>(<tt>String</tt>)</span>
1529
+
1530
+
1531
+
1532
+ &mdash;
1533
+ <div class='inline'>
1534
+ <p>Space-separated list of CSS classes</p>
1535
+ </div>
1536
+
1537
+ </li>
1538
+
1539
+ </ul>
1540
+
1541
+
1542
+ </div><table class="source_code">
1543
+ <tr>
1544
+ <td>
1545
+ <pre class="lines">
1546
+
1547
+
1548
+ 105
1549
+ 106
1550
+ 107</pre>
1551
+ </td>
1552
+ <td>
1553
+ <pre class="code"><span class="info file"># File 'lib/compony/components/list.rb', line 105</span>
1554
+
1555
+ <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>
1556
+ <span class='ivar'>@filter_input_class</span> <span class='op'>=</span> <span class='id identifier rubyid_class_str'>class_str</span>
1557
+ <span class='kw'>end</span></pre>
1558
+ </td>
1559
+ </tr>
1560
+ </table>
1561
+ </div>
1562
+
1563
+ <div class="method_details ">
1564
+ <h3 class="signature " id="filter_item_wrapper_class-instance_method">
1565
+
1566
+ #<strong>filter_item_wrapper_class</strong>(class_str) &#x21d2; <tt>Object</tt>
1567
+
1568
+
1569
+
1570
+
1571
+
1572
+ </h3><div class="docstring">
1573
+ <div class="discussion">
1574
+
1575
+ <p>DSL method Sets the CSS class attribute for the div that wraps input-related elements in filters (inputs, selects, labels).</p>
1576
+
1577
+
1578
+ </div>
1579
+ </div>
1580
+ <div class="tags">
1581
+ <p class="tag_title">Parameters:</p>
1582
+ <ul class="param">
1583
+
1584
+ <li>
1585
+
1586
+ <span class='name'>class_str</span>
1587
+
1588
+
1589
+ <span class='type'>(<tt>String</tt>)</span>
1590
+
1591
+
1592
+
1593
+ &mdash;
1594
+ <div class='inline'>
1595
+ <p>Space-separated list of CSS classes</p>
1596
+ </div>
1597
+
1598
+ </li>
1599
+
1600
+ </ul>
1601
+
1602
+
1603
+ </div><table class="source_code">
1604
+ <tr>
1605
+ <td>
1606
+ <pre class="lines">
1607
+
1608
+
1609
+ 119
1610
+ 120
1611
+ 121</pre>
1612
+ </td>
1613
+ <td>
1614
+ <pre class="code"><span class="info file"># File 'lib/compony/components/list.rb', line 119</span>
1615
+
1616
+ <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>
1617
+ <span class='ivar'>@filter_item_wrapper_class</span> <span class='op'>=</span> <span class='id identifier rubyid_class_str'>class_str</span>
1618
+ <span class='kw'>end</span></pre>
1619
+ </td>
1620
+ </tr>
1621
+ </table>
1622
+ </div>
1623
+
1624
+ <div class="method_details ">
1625
+ <h3 class="signature " id="filter_label_class-instance_method">
1626
+
1627
+ #<strong>filter_label_class</strong>(class_str) &#x21d2; <tt>Object</tt>
1628
+
1629
+
1630
+
1631
+
1632
+
1633
+ </h3><div class="docstring">
1634
+ <div class="discussion">
1635
+
1636
+ <p>DSL method Sets the CSS class attribute for form label elements in filters.</p>
1637
+
1638
+
1639
+ </div>
1640
+ </div>
1641
+ <div class="tags">
1642
+ <p class="tag_title">Parameters:</p>
1643
+ <ul class="param">
1644
+
1645
+ <li>
1646
+
1647
+ <span class='name'>class_str</span>
1648
+
1649
+
1650
+ <span class='type'>(<tt>String</tt>)</span>
1651
+
1652
+
1653
+
1654
+ &mdash;
1655
+ <div class='inline'>
1656
+ <p>Space-separated list of CSS classes</p>
1657
+ </div>
1658
+
1659
+ </li>
1660
+
1661
+ </ul>
1662
+
1663
+
1664
+ </div><table class="source_code">
1665
+ <tr>
1666
+ <td>
1667
+ <pre class="lines">
1668
+
1669
+
1670
+ 98
1671
+ 99
1672
+ 100</pre>
1673
+ </td>
1674
+ <td>
1675
+ <pre class="code"><span class="info file"># File 'lib/compony/components/list.rb', line 98</span>
1676
+
1677
+ <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>
1678
+ <span class='ivar'>@filter_label_class</span> <span class='op'>=</span> <span class='id identifier rubyid_class_str'>class_str</span>
1679
+ <span class='kw'>end</span></pre>
1680
+ </td>
1681
+ </tr>
1682
+ </table>
1683
+ </div>
1684
+
1685
+ <div class="method_details ">
1686
+ <h3 class="signature " id="filter_select_class-instance_method">
1687
+
1688
+ #<strong>filter_select_class</strong>(class_str) &#x21d2; <tt>Object</tt>
1689
+
1690
+
1691
+
1692
+
1693
+
1694
+ </h3><div class="docstring">
1695
+ <div class="discussion">
1696
+
1697
+ <p>DSL method Sets the CSS class attribute for form select inputs in filters.</p>
1698
+
1699
+
1700
+ </div>
1701
+ </div>
1702
+ <div class="tags">
1703
+ <p class="tag_title">Parameters:</p>
1704
+ <ul class="param">
1705
+
1706
+ <li>
1707
+
1708
+ <span class='name'>class_str</span>
1709
+
1710
+
1711
+ <span class='type'>(<tt>String</tt>)</span>
1712
+
1713
+
1714
+
1715
+ &mdash;
1716
+ <div class='inline'>
1717
+ <p>Space-separated list of CSS classes</p>
1718
+ </div>
1719
+
1720
+ </li>
1721
+
1722
+ </ul>
1723
+
1724
+
1725
+ </div><table class="source_code">
1726
+ <tr>
1727
+ <td>
1728
+ <pre class="lines">
1729
+
1730
+
1731
+ 112
1732
+ 113
1733
+ 114</pre>
1734
+ </td>
1735
+ <td>
1736
+ <pre class="code"><span class="info file"># File 'lib/compony/components/list.rb', line 112</span>
1737
+
1738
+ <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>
1739
+ <span class='ivar'>@filter_select_class</span> <span class='op'>=</span> <span class='id identifier rubyid_class_str'>class_str</span>
1740
+ <span class='kw'>end</span></pre>
1741
+ </td>
1742
+ </tr>
1743
+ </table>
1744
+ </div>
1745
+
1746
+ <div class="method_details ">
1747
+ <h3 class="signature " id="filtering_enabled?-instance_method">
1748
+
1749
+ #<strong>filtering_enabled?</strong> &#x21d2; <tt>Boolean</tt> <span class="extras">(protected)</span>
1750
+
1751
+
1752
+
1753
+
1754
+
1755
+ </h3><div class="docstring">
1756
+ <div class="discussion">
1757
+
1758
+ <p>Returns whether filtering is possible and wanted in general (regardless of whether there are any filters defined)</p>
1759
+
1760
+
1761
+ </div>
1762
+ </div>
1763
+ <div class="tags">
1764
+
1765
+ <p class="tag_title">Returns:</p>
1766
+ <ul class="return">
1767
+
1768
+ <li>
1769
+
1770
+
1771
+ <span class='type'>(<tt>Boolean</tt>)</span>
1772
+
1773
+
1774
+
1775
+ </li>
1776
+
1777
+ </ul>
1778
+
1779
+ </div><table class="source_code">
1780
+ <tr>
1781
+ <td>
1782
+ <pre class="lines">
1783
+
1784
+
1785
+ 392
1786
+ 393
1787
+ 394</pre>
1788
+ </td>
1789
+ <td>
1790
+ <pre class="code"><span class="info file"># File 'lib/compony/components/list.rb', line 392</span>
1791
+
1792
+ <span class='kw'>def</span> <span class='id identifier rubyid_filtering_enabled?'>filtering_enabled?</span>
1793
+ <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>
1794
+ <span class='kw'>end</span></pre>
1795
+ </td>
1796
+ </tr>
1797
+ </table>
1798
+ </div>
1799
+
1800
+ <div class="method_details ">
1801
+ <h3 class="signature " id="filters-instance_method">
1802
+
1803
+ #<strong>filters</strong>(*filter_names) &#x21d2; <tt>Object</tt>
1804
+
1805
+
1806
+
1807
+
1808
+
1809
+ </h3><div class="docstring">
1810
+ <div class="discussion">
1811
+
1812
+ <p>DSL method Adds multiple filters at once, sharing the same kwargs.</p>
1813
+
1814
+
1815
+ </div>
1816
+ </div>
1817
+ <div class="tags">
1818
+
1819
+
1820
+ </div><table class="source_code">
1821
+ <tr>
1822
+ <td>
1823
+ <pre class="lines">
1824
+
1825
+
1826
+ 216
1827
+ 217
1828
+ 218</pre>
1829
+ </td>
1830
+ <td>
1831
+ <pre class="code"><span class="info file"># File 'lib/compony/components/list.rb', line 216</span>
1832
+
1833
+ <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>
1834
+ <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>
1835
+ <span class='kw'>end</span></pre>
1836
+ </td>
1837
+ </tr>
1838
+ </table>
1839
+ </div>
1840
+
1841
+ <div class="method_details ">
1842
+ <h3 class="signature " id="pagination_enabled?-instance_method">
1843
+
1844
+ #<strong>pagination_enabled?</strong> &#x21d2; <tt>Boolean</tt> <span class="extras">(protected)</span>
1845
+
1846
+
1847
+
1848
+
1849
+
1850
+ </h3><div class="docstring">
1851
+ <div class="discussion">
1852
+
1853
+ <p>Returns whether pagination is enabled (regardless of whether there is more than one page)</p>
1854
+
1855
+
1856
+ </div>
1857
+ </div>
1858
+ <div class="tags">
1859
+
1860
+ <p class="tag_title">Returns:</p>
1861
+ <ul class="return">
1862
+
1863
+ <li>
1864
+
1865
+
1866
+ <span class='type'>(<tt>Boolean</tt>)</span>
1867
+
1868
+
1869
+
1870
+ </li>
1871
+
1872
+ </ul>
1873
+
1874
+ </div><table class="source_code">
1875
+ <tr>
1876
+ <td>
1877
+ <pre class="lines">
1878
+
1879
+
1880
+ 412
1881
+ 413
1882
+ 414</pre>
1883
+ </td>
1884
+ <td>
1885
+ <pre class="code"><span class="info file"># File 'lib/compony/components/list.rb', line 412</span>
1886
+
1887
+ <span class='kw'>def</span> <span class='id identifier rubyid_pagination_enabled?'>pagination_enabled?</span>
1888
+ <span class='ivar'>@pagination</span>
1889
+ <span class='kw'>end</span></pre>
1890
+ </td>
1891
+ </tr>
1892
+ </table>
1893
+ </div>
1894
+
1895
+ <div class="method_details ">
1896
+ <h3 class="signature " id="process_data!-instance_method">
1897
+
1898
+ #<strong>process_data!</strong>(controller) &#x21d2; <tt>Object</tt>
1899
+
1900
+
1901
+
1902
+
1903
+
1904
+ </h3><div class="docstring">
1905
+ <div class="discussion">
1906
+
1907
+ <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>
1908
+
1909
+
1910
+ </div>
1911
+ </div>
1912
+ <div class="tags">
1913
+
1914
+
1915
+ </div><table class="source_code">
1916
+ <tr>
1917
+ <td>
1918
+ <pre class="lines">
1919
+
1920
+
1921
+ 237
1922
+ 238
1923
+ 239
1924
+ 240
1925
+ 241
1926
+ 242
1927
+ 243
1928
+ 244
1929
+ 245
1930
+ 246
1931
+ 247
1932
+ 248
1933
+ 249
1934
+ 250
1935
+ 251
1936
+ 252
1937
+ 253
1938
+ 254
1939
+ 255
1940
+ 256
1941
+ 257
1942
+ 258
1943
+ 259
1944
+ 260
1945
+ 261
1946
+ 262
1947
+ 263
1948
+ 264
1949
+ 265
1950
+ 266
1951
+ 267</pre>
1952
+ </td>
1953
+ <td>
1954
+ <pre class="code"><span class="info file"># File 'lib/compony/components/list.rb', line 237</span>
1955
+
1956
+ <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>
1957
+ <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>
1958
+ <span class='comment'># Filtering
1959
+ </span> <span class='kw'>if</span> <span class='id identifier rubyid_filtering_enabled?'>filtering_enabled?</span>
1960
+ <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>
1961
+ <span class='ivar'>@q</span><span class='period'>.</span><span class='id identifier rubyid_sorts'>sorts</span> <span class='op'>=</span> <span class='ivar'>@default_sorting</span> <span class='kw'>if</span> <span class='ivar'>@q</span><span class='period'>.</span><span class='id identifier rubyid_sorts'>sorts</span><span class='period'>.</span><span class='id identifier rubyid_empty?'>empty?</span>
1962
+ <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>
1963
+ <span class='kw'>else</span>
1964
+ <span class='id identifier rubyid_filtered_data'>filtered_data</span> <span class='op'>=</span> <span class='ivar'>@data</span>
1965
+ <span class='kw'>end</span>
1966
+ <span class='comment'># Pagination
1967
+ </span> <span class='kw'>if</span> <span class='id identifier rubyid_pagination_enabled?'>pagination_enabled?</span>
1968
+ <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>
1969
+ <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>
1970
+ <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>
1971
+ <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
1972
+ </span> <span class='ivar'>@page</span> <span class='op'>=</span> <span class='int'>1</span>
1973
+ <span class='ivar'>@pagination_offset</span> <span class='op'>=</span> <span class='int'>0</span>
1974
+ <span class='kw'>end</span>
1975
+ <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>
1976
+ <span class='kw'>else</span>
1977
+ <span class='ivar'>@processed_data</span> <span class='op'>=</span> <span class='id identifier rubyid_filtered_data'>filtered_data</span>
1978
+ <span class='kw'>end</span>
1979
+ <span class='comment'># Apply skips to configs
1980
+ </span> <span class='comment'># Exclude columns that are skipped or the user is not allowed to display
1981
+ </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>
1982
+ <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>
1983
+ <span class='kw'>end</span>
1984
+ <span class='comment'># Exclude skipped filters
1985
+ </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>
1986
+ <span class='kw'>end</span></pre>
1987
+ </td>
1988
+ </tr>
1989
+ </table>
1990
+ </div>
1991
+
1992
+ <div class="method_details ">
1993
+ <h3 class="signature " id="results_per_page-instance_method">
1994
+
1995
+ #<strong>results_per_page</strong>(new_results_per_page) &#x21d2; <tt>Object</tt>
1996
+
1997
+
1998
+
1999
+
2000
+
2001
+ </h3><div class="docstring">
2002
+ <div class="discussion">
2003
+
2004
+ <p>DSL method In case pagination is active, defines the amount of records to display per page.</p>
2005
+
2006
+
2007
+ </div>
2008
+ </div>
2009
+ <div class="tags">
2010
+
2011
+
2012
+ </div><table class="source_code">
2013
+ <tr>
2014
+ <td>
2015
+ <pre class="lines">
2016
+
2017
+
2018
+ 60
2019
+ 61
2020
+ 62</pre>
2021
+ </td>
2022
+ <td>
2023
+ <pre class="code"><span class="info file"># File 'lib/compony/components/list.rb', line 60</span>
2024
+
2025
+ <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>
2026
+ <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>
2027
+ <span class='kw'>end</span></pre>
2028
+ </td>
2029
+ </tr>
2030
+ </table>
2031
+ </div>
2032
+
2033
+ <div class="method_details ">
2034
+ <h3 class="signature " id="row_action-instance_method">
2035
+
2036
+ #<strong>row_action</strong>(name, button_opts: {}, &amp;block) &#x21d2; <tt>Object</tt>
2037
+
2038
+
2039
+
2040
+
2041
+
2042
+ </h3><div class="docstring">
2043
+ <div class="discussion">
2044
+
2045
+ <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>
2046
+
2047
+
2048
+ </div>
2049
+ </div>
2050
+ <div class="tags">
2051
+ <p class="tag_title">Parameters:</p>
2052
+ <ul class="param">
2053
+
2054
+ <li>
2055
+
2056
+ <span class='name'>name</span>
2057
+
2058
+
2059
+ <span class='type'>(<tt>Symbol</tt>, <tt>String</tt>)</span>
2060
+
2061
+
2062
+
2063
+ &mdash;
2064
+ <div class='inline'>
2065
+ <p>The name of the action (e.g. :edit).</p>
2066
+ </div>
2067
+
2068
+ </li>
2069
+
2070
+ <li>
2071
+
2072
+ <span class='name'>button_opts</span>
2073
+
2074
+
2075
+ <span class='type'>(<tt>Hash</tt>)</span>
2076
+
2077
+
2078
+ <em class="default">(defaults to: <tt>{}</tt>)</em>
2079
+
2080
+
2081
+ &mdash;
2082
+ <div class='inline'>
2083
+ <p>Only relevant in case of an auto-generated row action, this allows to configure the generated button.</p>
2084
+ </div>
2085
+
2086
+ </li>
2087
+
2088
+ <li>
2089
+
2090
+ <span class='name'>block</span>
2091
+
2092
+
2093
+ <span class='type'>(<tt>Block</tt>)</span>
2094
+
2095
+
2096
+
2097
+ &mdash;
2098
+ <div class='inline'>
2099
+ <p>To create a custom row action; block will be given the current record and instance-execed once per row, for every record.</p>
2100
+ </div>
2101
+
2102
+ </li>
2103
+
2104
+ </ul>
2105
+
2106
+
2107
+ </div><table class="source_code">
2108
+ <tr>
2109
+ <td>
2110
+ <pre class="lines">
2111
+
2112
+
2113
+ 166
2114
+ 167
2115
+ 168
2116
+ 169
2117
+ 170
2118
+ 171
2119
+ 172
2120
+ 173
2121
+ 174
2122
+ 175</pre>
2123
+ </td>
2124
+ <td>
2125
+ <pre class="code"><span class="info file"># File 'lib/compony/components/list.rb', line 166</span>
2126
+
2127
+ <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>
2128
+ <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>
2129
+ <span class='kw'>unless</span> <span class='id identifier rubyid_block_given?'>block_given?</span>
2130
+ <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>
2131
+ <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>
2132
+ <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>
2133
+ <span class='kw'>end</span>
2134
+ <span class='kw'>end</span>
2135
+ <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>
2136
+ <span class='kw'>end</span></pre>
2137
+ </td>
2138
+ </tr>
2139
+ </table>
2140
+ </div>
2141
+
2142
+ <div class="method_details ">
2143
+ <h3 class="signature " id="skip_column-instance_method">
2144
+
2145
+ #<strong>skip_column</strong>(name) &#x21d2; <tt>Object</tt>
2146
+
2147
+
2148
+
2149
+
2150
+
2151
+ </h3><div class="docstring">
2152
+ <div class="discussion">
2153
+
2154
+ <p>DSL method Marks a single column as skipped. It will not be displayed, even if it is defined.</p>
2155
+
2156
+
2157
+ </div>
2158
+ </div>
2159
+ <div class="tags">
2160
+ <p class="tag_title">Parameters:</p>
2161
+ <ul class="param">
2162
+
2163
+ <li>
2164
+
2165
+ <span class='name'>name</span>
2166
+
2167
+
2168
+ <span class='type'>(<tt>Symbol</tt>, <tt>String</tt>)</span>
2169
+
2170
+
2171
+
2172
+ &mdash;
2173
+ <div class='inline'>
2174
+ <p>Name of the column to be skipped.</p>
2175
+ </div>
2176
+
2177
+ </li>
2178
+
2179
+ </ul>
2180
+
2181
+
2182
+ </div><table class="source_code">
2183
+ <tr>
2184
+ <td>
2185
+ <pre class="lines">
2186
+
2187
+
2188
+ 155
2189
+ 156
2190
+ 157</pre>
2191
+ </td>
2192
+ <td>
2193
+ <pre class="code"><span class="info file"># File 'lib/compony/components/list.rb', line 155</span>
2194
+
2195
+ <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>
2196
+ <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>
2197
+ <span class='kw'>end</span></pre>
2198
+ </td>
2199
+ </tr>
2200
+ </table>
2201
+ </div>
2202
+
2203
+ <div class="method_details ">
2204
+ <h3 class="signature " id="skip_filtering!-instance_method">
2205
+
2206
+ #<strong>skip_filtering!</strong> &#x21d2; <tt>Object</tt>
2207
+
2208
+
2209
+
2210
+
2211
+
2212
+ </h3><div class="docstring">
2213
+ <div class="discussion">
2214
+
2215
+ <p>DSL method Disables filtering entirely (sorting is independent of this setting).</p>
2216
+
2217
+
2218
+ </div>
2219
+ </div>
2220
+ <div class="tags">
2221
+
2222
+
2223
+ </div><table class="source_code">
2224
+ <tr>
2225
+ <td>
2226
+ <pre class="lines">
2227
+
2228
+
2229
+ 66
2230
+ 67
2231
+ 68</pre>
2232
+ </td>
2233
+ <td>
2234
+ <pre class="code"><span class="info file"># File 'lib/compony/components/list.rb', line 66</span>
2235
+
2236
+ <span class='kw'>def</span> <span class='id identifier rubyid_skip_filtering!'>skip_filtering!</span>
2237
+ <span class='ivar'>@filtering</span> <span class='op'>=</span> <span class='kw'>false</span>
2238
+ <span class='kw'>end</span></pre>
2239
+ </td>
2240
+ </tr>
2241
+ </table>
2242
+ </div>
2243
+
2244
+ <div class="method_details ">
2245
+ <h3 class="signature " id="skip_pagination!-instance_method">
2246
+
2247
+ #<strong>skip_pagination!</strong> &#x21d2; <tt>Object</tt>
2248
+
2249
+
2250
+
2251
+
2252
+
2253
+ </h3><div class="docstring">
2254
+ <div class="discussion">
2255
+
2256
+ <p>DSL method Disables pagination (caution: all records will be loaded).</p>
2257
+
2258
+
2259
+ </div>
2260
+ </div>
2261
+ <div class="tags">
2262
+
2263
+
2264
+ </div><table class="source_code">
2265
+ <tr>
2266
+ <td>
2267
+ <pre class="lines">
2268
+
2269
+
2270
+ 54
2271
+ 55
2272
+ 56</pre>
2273
+ </td>
2274
+ <td>
2275
+ <pre class="code"><span class="info file"># File 'lib/compony/components/list.rb', line 54</span>
2276
+
2277
+ <span class='kw'>def</span> <span class='id identifier rubyid_skip_pagination!'>skip_pagination!</span>
2278
+ <span class='ivar'>@pagination</span> <span class='op'>=</span> <span class='kw'>false</span>
2279
+ <span class='kw'>end</span></pre>
2280
+ </td>
2281
+ </tr>
2282
+ </table>
2283
+ </div>
2284
+
2285
+ <div class="method_details ">
2286
+ <h3 class="signature " id="skip_row_action-instance_method">
2287
+
2288
+ #<strong>skip_row_action</strong>(name) &#x21d2; <tt>Object</tt>
2289
+
2290
+
2291
+
2292
+
2293
+
2294
+ </h3><div class="docstring">
2295
+ <div class="discussion">
2296
+
2297
+ <p>DSL method Marks a single row action as skipped. It will not be displayed, even if it is defined.</p>
2298
+
2299
+
2300
+ </div>
2301
+ </div>
2302
+ <div class="tags">
2303
+ <p class="tag_title">Parameters:</p>
2304
+ <ul class="param">
2305
+
2306
+ <li>
2307
+
2308
+ <span class='name'>name</span>
2309
+
2310
+
2311
+ <span class='type'>(<tt>Symbol</tt>, <tt>String</tt>)</span>
2312
+
2313
+
2314
+
2315
+ &mdash;
2316
+ <div class='inline'>
2317
+ <p>Name of the row action to be skipped.</p>
2318
+ </div>
2319
+
2320
+ </li>
2321
+
2322
+ </ul>
2323
+
2324
+
2325
+ </div><table class="source_code">
2326
+ <tr>
2327
+ <td>
2328
+ <pre class="lines">
2329
+
2330
+
2331
+ 180
2332
+ 181
2333
+ 182</pre>
2334
+ </td>
2335
+ <td>
2336
+ <pre class="code"><span class="info file"># File 'lib/compony/components/list.rb', line 180</span>
2337
+
2338
+ <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>
2339
+ <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>
2340
+ <span class='kw'>end</span></pre>
2341
+ </td>
2342
+ </tr>
2343
+ </table>
2344
+ </div>
2345
+
2346
+ <div class="method_details ">
2347
+ <h3 class="signature " id="skip_sorting!-instance_method">
2348
+
2349
+ #<strong>skip_sorting!</strong> &#x21d2; <tt>Object</tt>
2350
+
2351
+
2352
+
2353
+
2354
+
2355
+ </h3><div class="docstring">
2356
+ <div class="discussion">
2357
+
2358
+ <p>DSL method Disables sorting entirely (both links and sorting input in filter).</p>
2359
+
2360
+
2361
+ </div>
2362
+ </div>
2363
+ <div class="tags">
2364
+
2365
+
2366
+ </div><table class="source_code">
2367
+ <tr>
2368
+ <td>
2369
+ <pre class="lines">
2370
+
2371
+
2372
+ 72
2373
+ 73
2374
+ 74
2375
+ 75</pre>
2376
+ </td>
2377
+ <td>
2378
+ <pre class="code"><span class="info file"># File 'lib/compony/components/list.rb', line 72</span>
2379
+
2380
+ <span class='kw'>def</span> <span class='id identifier rubyid_skip_sorting!'>skip_sorting!</span>
2381
+ <span class='ivar'>@sorting_in_filter</span> <span class='op'>=</span> <span class='kw'>false</span>
2382
+ <span class='ivar'>@sorting_links</span> <span class='op'>=</span> <span class='kw'>false</span>
2383
+ <span class='kw'>end</span></pre>
2384
+ </td>
2385
+ </tr>
2386
+ </table>
2387
+ </div>
2388
+
2389
+ <div class="method_details ">
2390
+ <h3 class="signature " id="skip_sorting_in_filter!-instance_method">
2391
+
2392
+ #<strong>skip_sorting_in_filter!</strong> &#x21d2; <tt>Object</tt>
2393
+
2394
+
2395
+
2396
+
2397
+
2398
+ </h3><div class="docstring">
2399
+ <div class="discussion">
2400
+
2401
+ <p>DSL method Disables sorting in filter.</p>
2402
+
2403
+
2404
+ </div>
2405
+ </div>
2406
+ <div class="tags">
2407
+
2408
+
2409
+ </div><table class="source_code">
2410
+ <tr>
2411
+ <td>
2412
+ <pre class="lines">
2413
+
2414
+
2415
+ 79
2416
+ 80
2417
+ 81</pre>
2418
+ </td>
2419
+ <td>
2420
+ <pre class="code"><span class="info file"># File 'lib/compony/components/list.rb', line 79</span>
2421
+
2422
+ <span class='kw'>def</span> <span class='id identifier rubyid_skip_sorting_in_filter!'>skip_sorting_in_filter!</span>
2423
+ <span class='ivar'>@sorting_in_filter</span> <span class='op'>=</span> <span class='kw'>false</span>
2424
+ <span class='kw'>end</span></pre>
2425
+ </td>
2426
+ </tr>
2427
+ </table>
2428
+ </div>
2429
+
2430
+ <div class="method_details ">
2431
+ <h3 class="signature " id="skip_sorting_links!-instance_method">
2432
+
2433
+ #<strong>skip_sorting_links!</strong> &#x21d2; <tt>Object</tt>
2434
+
2435
+
2436
+
2437
+
2438
+
2439
+ </h3><div class="docstring">
2440
+ <div class="discussion">
2441
+
2442
+ <p>DSL method Disables sorting links.</p>
2443
+
2444
+
2445
+ </div>
2446
+ </div>
2447
+ <div class="tags">
2448
+
2449
+
2450
+ </div><table class="source_code">
2451
+ <tr>
2452
+ <td>
2453
+ <pre class="lines">
2454
+
2455
+
2456
+ 85
2457
+ 86
2458
+ 87</pre>
2459
+ </td>
2460
+ <td>
2461
+ <pre class="code"><span class="info file"># File 'lib/compony/components/list.rb', line 85</span>
2462
+
2463
+ <span class='kw'>def</span> <span class='id identifier rubyid_skip_sorting_links!'>skip_sorting_links!</span>
2464
+ <span class='ivar'>@sorting_links</span> <span class='op'>=</span> <span class='kw'>false</span>
2465
+ <span class='kw'>end</span></pre>
2466
+ </td>
2467
+ </tr>
2468
+ </table>
2469
+ </div>
2470
+
2471
+ <div class="method_details ">
2472
+ <h3 class="signature " id="sort-instance_method">
2473
+
2474
+ #<strong>sort</strong>(name, label: nil) &#x21d2; <tt>Object</tt>
2475
+
2476
+
2477
+
2478
+
2479
+
2480
+ </h3><div class="docstring">
2481
+ <div class="discussion">
2482
+
2483
+ <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>
2484
+
2485
+
2486
+ </div>
2487
+ </div>
2488
+ <div class="tags">
2489
+ <p class="tag_title">Parameters:</p>
2490
+ <ul class="param">
2491
+
2492
+ <li>
2493
+
2494
+ <span class='name'>name</span>
2495
+
2496
+
2497
+ <span class='type'>(<tt>Symbol</tt>, <tt>String</tt>)</span>
2498
+
2499
+
2500
+
2501
+ &mdash;
2502
+ <div class='inline'>
2503
+ <p>Sorting criteria, e.g. <code>:id</code> or <code>:label</code>.</p>
2504
+ </div>
2505
+
2506
+ </li>
2507
+
2508
+ <li>
2509
+
2510
+ <span class='name'>label</span>
2511
+
2512
+
2513
+ <span class='type'>(<tt>String</tt>)</span>
2514
+
2515
+
2516
+ <em class="default">(defaults to: <tt>nil</tt>)</em>
2517
+
2518
+
2519
+ &mdash;
2520
+ <div class='inline'>
2521
+ <p>Label of the sorting link / entries.</p>
2522
+ </div>
2523
+
2524
+ </li>
2525
+
2526
+ </ul>
2527
+
2528
+
2529
+ </div><table class="source_code">
2530
+ <tr>
2531
+ <td>
2532
+ <pre class="lines">
2533
+
2534
+
2535
+ 225
2536
+ 226
2537
+ 227
2538
+ 228</pre>
2539
+ </td>
2540
+ <td>
2541
+ <pre class="code"><span class="info file"># File 'lib/compony/components/list.rb', line 225</span>
2542
+
2543
+ <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>
2544
+ <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>
2545
+ <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>
2546
+ <span class='kw'>end</span></pre>
2547
+ </td>
2548
+ </tr>
2549
+ </table>
2550
+ </div>
2551
+
2552
+ <div class="method_details ">
2553
+ <h3 class="signature " id="sorting_enabled?-instance_method">
2554
+
2555
+ #<strong>sorting_enabled?</strong> &#x21d2; <tt>Boolean</tt> <span class="extras">(protected)</span>
2556
+
2557
+
2558
+
2559
+
2560
+
2561
+ </h3><div class="docstring">
2562
+ <div class="discussion">
2563
+
2564
+ <p>Returns whether sorting is possible and wanted in general (regardless of whether there are any sorts defined)</p>
2565
+
2566
+
2567
+ </div>
2568
+ </div>
2569
+ <div class="tags">
2570
+
2571
+ <p class="tag_title">Returns:</p>
2572
+ <ul class="return">
2573
+
2574
+ <li>
2575
+
2576
+
2577
+ <span class='type'>(<tt>Boolean</tt>)</span>
2578
+
2579
+
2580
+
2581
+ </li>
2582
+
2583
+ </ul>
2584
+
2585
+ </div><table class="source_code">
2586
+ <tr>
2587
+ <td>
2588
+ <pre class="lines">
2589
+
2590
+
2591
+ 397
2592
+ 398
2593
+ 399</pre>
2594
+ </td>
2595
+ <td>
2596
+ <pre class="code"><span class="info file"># File 'lib/compony/components/list.rb', line 397</span>
2597
+
2598
+ <span class='kw'>def</span> <span class='id identifier rubyid_sorting_enabled?'>sorting_enabled?</span>
2599
+ <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>
2600
+ <span class='kw'>end</span></pre>
2601
+ </td>
2602
+ </tr>
2603
+ </table>
2604
+ </div>
2605
+
2606
+ <div class="method_details ">
2607
+ <h3 class="signature " id="sorting_in_filter_enabled?-instance_method">
2608
+
2609
+ #<strong>sorting_in_filter_enabled?</strong> &#x21d2; <tt>Boolean</tt> <span class="extras">(protected)</span>
2610
+
2611
+
2612
+
2613
+
2614
+
2615
+ </h3><div class="docstring">
2616
+ <div class="discussion">
2617
+
2618
+ <p>Returns whether sorting in filter is possible and wanted in general (regardless of whether there are any sorts defined)</p>
2619
+
2620
+
2621
+ </div>
2622
+ </div>
2623
+ <div class="tags">
2624
+
2625
+ <p class="tag_title">Returns:</p>
2626
+ <ul class="return">
2627
+
2628
+ <li>
2629
+
2630
+
2631
+ <span class='type'>(<tt>Boolean</tt>)</span>
2632
+
2633
+
2634
+
2635
+ </li>
2636
+
2637
+ </ul>
2638
+
2639
+ </div><table class="source_code">
2640
+ <tr>
2641
+ <td>
2642
+ <pre class="lines">
2643
+
2644
+
2645
+ 402
2646
+ 403
2647
+ 404</pre>
2648
+ </td>
2649
+ <td>
2650
+ <pre class="code"><span class="info file"># File 'lib/compony/components/list.rb', line 402</span>
2651
+
2652
+ <span class='kw'>def</span> <span class='id identifier rubyid_sorting_in_filter_enabled?'>sorting_in_filter_enabled?</span>
2653
+ <span class='id identifier rubyid_sorting_enabled?'>sorting_enabled?</span> <span class='op'>&amp;&amp;</span> <span class='ivar'>@sorting_in_filter</span>
2654
+ <span class='kw'>end</span></pre>
2655
+ </td>
2656
+ </tr>
2657
+ </table>
2658
+ </div>
2659
+
2660
+ <div class="method_details ">
2661
+ <h3 class="signature " id="sorting_in_filter_select_opts-instance_method">
2662
+
2663
+ #<strong>sorting_in_filter_select_opts</strong> &#x21d2; <tt>Object</tt> <span class="extras">(protected)</span>
2664
+
2665
+
2666
+
2667
+
2668
+
2669
+ </h3><div class="docstring">
2670
+ <div class="discussion">
2671
+
2672
+ <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>
2673
+
2674
+
2675
+ </div>
2676
+ </div>
2677
+ <div class="tags">
2678
+
2679
+
2680
+ </div><table class="source_code">
2681
+ <tr>
2682
+ <td>
2683
+ <pre class="lines">
2684
+
2685
+
2686
+ 417
2687
+ 418
2688
+ 419
2689
+ 420
2690
+ 421
2691
+ 422
2692
+ 423
2693
+ 424
2694
+ 425</pre>
2695
+ </td>
2696
+ <td>
2697
+ <pre class="code"><span class="info file"># File 'lib/compony/components/list.rb', line 417</span>
2698
+
2699
+ <span class='kw'>def</span> <span class='id identifier rubyid_sorting_in_filter_select_opts'>sorting_in_filter_select_opts</span>
2700
+ <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>
2701
+ <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>
2702
+ <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>
2703
+ <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>
2704
+ <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>
2705
+ <span class='kw'>end</span>
2706
+ <span class='kw'>end</span>
2707
+ <span class='kw'>end</span></pre>
2708
+ </td>
2709
+ </tr>
2710
+ </table>
2711
+ </div>
2712
+
2713
+ <div class="method_details ">
2714
+ <h3 class="signature " id="sorting_links_enabled?-instance_method">
2715
+
2716
+ #<strong>sorting_links_enabled?</strong> &#x21d2; <tt>Boolean</tt> <span class="extras">(protected)</span>
2717
+
2718
+
2719
+
2720
+
2721
+
2722
+ </h3><div class="docstring">
2723
+ <div class="discussion">
2724
+
2725
+ <p>Returns whether generating sorting links is possible and wanted in general (regardless of whether there are any sorts defined)</p>
2726
+
2727
+
2728
+ </div>
2729
+ </div>
2730
+ <div class="tags">
2731
+
2732
+ <p class="tag_title">Returns:</p>
2733
+ <ul class="return">
2734
+
2735
+ <li>
2736
+
2737
+
2738
+ <span class='type'>(<tt>Boolean</tt>)</span>
2739
+
2740
+
2741
+
2742
+ </li>
2743
+
2744
+ </ul>
2745
+
2746
+ </div><table class="source_code">
2747
+ <tr>
2748
+ <td>
2749
+ <pre class="lines">
2750
+
2751
+
2752
+ 407
2753
+ 408
2754
+ 409</pre>
2755
+ </td>
2756
+ <td>
2757
+ <pre class="code"><span class="info file"># File 'lib/compony/components/list.rb', line 407</span>
2758
+
2759
+ <span class='kw'>def</span> <span class='id identifier rubyid_sorting_links_enabled?'>sorting_links_enabled?</span>
2760
+ <span class='id identifier rubyid_sorting_enabled?'>sorting_enabled?</span> <span class='op'>&amp;&amp;</span> <span class='ivar'>@sorting_links</span>
2761
+ <span class='kw'>end</span></pre>
2762
+ </td>
2763
+ </tr>
2764
+ </table>
2765
+ </div>
2766
+
2767
+ <div class="method_details ">
2768
+ <h3 class="signature " id="sorts-instance_method">
2769
+
2770
+ #<strong>sorts</strong>(*names) &#x21d2; <tt>Object</tt>
2771
+
2772
+
2773
+
2774
+
2775
+
2776
+ </h3><div class="docstring">
2777
+ <div class="discussion">
2778
+
2779
+ <p>DSL method Adds multiple sorts at once, sharing the same kwargs.</p>
2780
+
2781
+
2782
+ </div>
2783
+ </div>
2784
+ <div class="tags">
2785
+
2786
+
2787
+ </div><table class="source_code">
2788
+ <tr>
2789
+ <td>
2790
+ <pre class="lines">
2791
+
2792
+
2793
+ 232
2794
+ 233
2795
+ 234</pre>
2796
+ </td>
2797
+ <td>
2798
+ <pre class="code"><span class="info file"># File 'lib/compony/components/list.rb', line 232</span>
2799
+
2800
+ <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>
2801
+ <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>
2802
+ <span class='kw'>end</span></pre>
2803
+ </td>
2804
+ </tr>
2805
+ </table>
2806
+ </div>
2807
+
2808
+ </div>
2809
+
2810
+ </div>
2811
+
2812
+ <div id="footer">
2813
+ Generated on Mon Sep 8 14:24:22 2025 by
2814
+ <a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
2815
+ 0.9.34 (ruby-3.3.5).
2816
+ </div>
2817
+
2818
+ </div>
2819
+ </body>
2820
+ </html>