compony 0.5.9 → 0.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (88) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +5 -0
  3. data/Gemfile.lock +1 -1
  4. data/README.md +21 -0
  5. data/VERSION +1 -1
  6. data/compony.gemspec +3 -3
  7. data/config/locales/de.yml +13 -0
  8. data/config/locales/en.yml +13 -0
  9. data/config/locales/fr.yml +14 -1
  10. data/doc/ComponentGenerator.html +16 -4
  11. data/doc/Components.html +3 -3
  12. data/doc/ComponentsGenerator.html +3 -3
  13. data/doc/Compony/Component.html +4 -4
  14. data/doc/Compony/ComponentMixins/Default/Labelling.html +3 -3
  15. data/doc/Compony/ComponentMixins/Default/Standalone/ResourcefulVerbDsl.html +3 -3
  16. data/doc/Compony/ComponentMixins/Default/Standalone/StandaloneDsl.html +3 -3
  17. data/doc/Compony/ComponentMixins/Default/Standalone/VerbDsl.html +3 -3
  18. data/doc/Compony/ComponentMixins/Default/Standalone.html +3 -3
  19. data/doc/Compony/ComponentMixins/Default.html +3 -3
  20. data/doc/Compony/ComponentMixins/Resourceful.html +4 -4
  21. data/doc/Compony/ComponentMixins.html +3 -3
  22. data/doc/Compony/Components/Button.html +3 -3
  23. data/doc/Compony/Components/Destroy.html +3 -3
  24. data/doc/Compony/Components/Edit.html +3 -3
  25. data/doc/Compony/Components/Form.html +3 -3
  26. data/doc/Compony/Components/Index.html +172 -0
  27. data/doc/Compony/Components/List.html +2731 -0
  28. data/doc/Compony/Components/New.html +3 -3
  29. data/doc/Compony/Components/Show.html +740 -0
  30. data/doc/Compony/Components/WithForm.html +3 -3
  31. data/doc/Compony/Components.html +5 -5
  32. data/doc/Compony/ControllerMixin.html +3 -3
  33. data/doc/Compony/Engine.html +3 -3
  34. data/doc/Compony/MethodAccessibleHash.html +3 -3
  35. data/doc/Compony/ModelFields/Anchormodel.html +136 -4
  36. data/doc/Compony/ModelFields/Association.html +4 -4
  37. data/doc/Compony/ModelFields/Attachment.html +4 -4
  38. data/doc/Compony/ModelFields/Base.html +143 -13
  39. data/doc/Compony/ModelFields/Boolean.html +136 -4
  40. data/doc/Compony/ModelFields/Color.html +4 -4
  41. data/doc/Compony/ModelFields/Currency.html +4 -4
  42. data/doc/Compony/ModelFields/Date.html +4 -4
  43. data/doc/Compony/ModelFields/Datetime.html +4 -4
  44. data/doc/Compony/ModelFields/Decimal.html +4 -4
  45. data/doc/Compony/ModelFields/Email.html +4 -4
  46. data/doc/Compony/ModelFields/Float.html +4 -4
  47. data/doc/Compony/ModelFields/Integer.html +83 -5
  48. data/doc/Compony/ModelFields/Percentage.html +4 -4
  49. data/doc/Compony/ModelFields/Phone.html +4 -4
  50. data/doc/Compony/ModelFields/RichText.html +4 -4
  51. data/doc/Compony/ModelFields/String.html +4 -4
  52. data/doc/Compony/ModelFields/Text.html +4 -4
  53. data/doc/Compony/ModelFields/Time.html +4 -4
  54. data/doc/Compony/ModelFields/Url.html +4 -4
  55. data/doc/Compony/ModelFields.html +3 -3
  56. data/doc/Compony/ModelMixin.html +26 -26
  57. data/doc/Compony/NaturalOrdering.html +3 -3
  58. data/doc/Compony/RequestContext.html +3 -3
  59. data/doc/Compony/Version.html +3 -3
  60. data/doc/Compony/ViewHelpers.html +3 -3
  61. data/doc/Compony.html +4 -4
  62. data/doc/ComponyController.html +3 -3
  63. data/doc/_index.html +25 -4
  64. data/doc/class_list.html +3 -6
  65. data/doc/css/full_list.css +3 -3
  66. data/doc/css/style.css +0 -6
  67. data/doc/file.README.html +37 -10
  68. data/doc/file_list.html +2 -5
  69. data/doc/frames.html +5 -10
  70. data/doc/index.html +37 -10
  71. data/doc/js/app.js +264 -294
  72. data/doc/js/full_list.js +4 -30
  73. data/doc/method_list.html +423 -114
  74. data/doc/top-level-namespace.html +3 -3
  75. data/lib/compony/components/index.rb +33 -0
  76. data/lib/compony/components/list.rb +418 -0
  77. data/lib/compony/components/show.rb +116 -0
  78. data/lib/compony/model_fields/anchormodel.rb +13 -0
  79. data/lib/compony/model_fields/base.rb +12 -0
  80. data/lib/compony/model_fields/boolean.rb +13 -0
  81. data/lib/compony/model_fields/integer.rb +3 -0
  82. data/lib/compony/model_mixin.rb +5 -0
  83. data/lib/compony.rb +3 -0
  84. data/lib/generators/component/component_generator.rb +6 -0
  85. data/lib/generators/component/templates/index.rb.erb +2 -0
  86. data/lib/generators/component/templates/list.rb.erb +7 -0
  87. data/lib/generators/component/templates/show.rb.erb +2 -0
  88. metadata +10 -1
data/doc/class_list.html CHANGED
@@ -1,5 +1,5 @@
1
1
  <!DOCTYPE html>
2
- <html >
2
+ <html>
3
3
  <head>
4
4
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
5
5
  <meta charset="utf-8" />
@@ -38,15 +38,12 @@
38
38
 
39
39
  </div>
40
40
 
41
- <div id="search">
42
- <label for="search-class">Search:</label>
43
- <input id="search-class" type="text" />
44
- </div>
41
+ <div id="search">Search: <input type="text" /></div>
45
42
  </div>
46
43
 
47
44
  <ul id="full_list" class="class">
48
45
  <li id="object_" class="odd"><div class="item" style="padding-left:30px"><span class='object_link'><a href="top-level-namespace.html" title="Top Level Namespace (root)">Top Level Namespace</a></span></div></li>
49
- <li id='object_ComponentGenerator' class='even'><div class='item' style='padding-left:30px'><span class='object_link'><a href="ComponentGenerator.html" title="ComponentGenerator (class)">ComponentGenerator</a></span> &lt; NamedBase<small class='search_info'>Top Level Namespace</small></div></li><li id='object_Components' class='odd'><div class='item' style='padding-left:30px'><span class='object_link'><a href="Components.html" title="Components (module)">Components</a></span><small class='search_info'>Top Level Namespace</small></div></li><li id='object_ComponentsGenerator' class='even'><div class='item' style='padding-left:30px'><span class='object_link'><a href="ComponentsGenerator.html" title="ComponentsGenerator (class)">ComponentsGenerator</a></span> &lt; NamedBase<small class='search_info'>Top Level Namespace</small></div></li><li id='object_Compony' class='odd'><div class='item' style='padding-left:30px'><a tabindex='0' class='toggle' role='button' aria-label='Compony child nodes' aria-expanded='false' aria-controls='object_Compony'></a> <span class='object_link'><a href="Compony.html" title="Compony (module)">Compony</a></span><small class='search_info'>Top Level Namespace</small></div><div aria-labelledby='object_Compony'><ul><li id='object_Compony::Component' class='collapsed even'><div class='item' style='padding-left:45px'><span class='object_link'><a href="Compony/Component.html" title="Compony::Component (class)">Component</a></span> &lt; Object<small class='search_info'>Compony</small></div></li><li id='object_Compony::ComponentMixins' class='collapsed odd'><div class='item' style='padding-left:45px'><a tabindex='0' class='toggle' role='button' aria-label='ComponentMixins child nodes' aria-expanded='false' aria-controls='object_Compony::ComponentMixins'></a> <span class='object_link'><a href="Compony/ComponentMixins.html" title="Compony::ComponentMixins (module)">ComponentMixins</a></span><small class='search_info'>Compony</small></div><div aria-labelledby='object_Compony::ComponentMixins'><ul><li id='object_Compony::ComponentMixins::Default' class='collapsed'><div class='item' style='padding-left:60px'><a tabindex='0' class='toggle' role='button' aria-label='Default child nodes' aria-expanded='false' aria-controls='object_Compony::ComponentMixins::Default'></a> <span class='object_link'><a href="Compony/ComponentMixins/Default.html" title="Compony::ComponentMixins::Default (module)">Default</a></span><small class='search_info'>Compony::ComponentMixins</small></div><div aria-labelledby='object_Compony::ComponentMixins::Default'><ul><li id='object_Compony::ComponentMixins::Default::Labelling' class='collapsed'><div class='item' style='padding-left:75px'><span class='object_link'><a href="Compony/ComponentMixins/Default/Labelling.html" title="Compony::ComponentMixins::Default::Labelling (module)">Labelling</a></span><small class='search_info'>Compony::ComponentMixins::Default</small></div></li><li id='object_Compony::ComponentMixins::Default::Standalone' class='collapsed'><div class='item' style='padding-left:75px'><a tabindex='0' class='toggle' role='button' aria-label='Standalone child nodes' aria-expanded='false' aria-controls='object_Compony::ComponentMixins::Default::Standalone'></a> <span class='object_link'><a href="Compony/ComponentMixins/Default/Standalone.html" title="Compony::ComponentMixins::Default::Standalone (module)">Standalone</a></span><small class='search_info'>Compony::ComponentMixins::Default</small></div><div aria-labelledby='object_Compony::ComponentMixins::Default::Standalone'><ul><li id='object_Compony::ComponentMixins::Default::Standalone::ResourcefulVerbDsl' class='collapsed'><div class='item' style='padding-left:90px'><span class='object_link'><a href="Compony/ComponentMixins/Default/Standalone/ResourcefulVerbDsl.html" title="Compony::ComponentMixins::Default::Standalone::ResourcefulVerbDsl (class)">ResourcefulVerbDsl</a></span> &lt; VerbDsl<small class='search_info'>Compony::ComponentMixins::Default::Standalone</small></div></li><li id='object_Compony::ComponentMixins::Default::Standalone::StandaloneDsl' class='collapsed'><div class='item' style='padding-left:90px'><span class='object_link'><a href="Compony/ComponentMixins/Default/Standalone/StandaloneDsl.html" title="Compony::ComponentMixins::Default::Standalone::StandaloneDsl (class)">StandaloneDsl</a></span> &lt; Base<small class='search_info'>Compony::ComponentMixins::Default::Standalone</small></div></li><li id='object_Compony::ComponentMixins::Default::Standalone::VerbDsl' class='collapsed'><div class='item' style='padding-left:90px'><span class='object_link'><a href="Compony/ComponentMixins/Default/Standalone/VerbDsl.html" title="Compony::ComponentMixins::Default::Standalone::VerbDsl (class)">VerbDsl</a></span> &lt; Base<small class='search_info'>Compony::ComponentMixins::Default::Standalone</small></div></li></ul></div></li></ul></div></li><li id='object_Compony::ComponentMixins::Resourceful' class='collapsed'><div class='item' style='padding-left:60px'><span class='object_link'><a href="Compony/ComponentMixins/Resourceful.html" title="Compony::ComponentMixins::Resourceful (module)">Resourceful</a></span><small class='search_info'>Compony::ComponentMixins</small></div></li></ul></div></li><li id='object_Compony::Components' class='collapsed even'><div class='item' style='padding-left:45px'><a tabindex='0' class='toggle' role='button' aria-label='Components child nodes' aria-expanded='false' aria-controls='object_Compony::Components'></a> <span class='object_link'><a href="Compony/Components.html" title="Compony::Components (module)">Components</a></span><small class='search_info'>Compony</small></div><div aria-labelledby='object_Compony::Components'><ul><li id='object_Compony::Components::Button' class='collapsed'><div class='item' style='padding-left:60px'><span class='object_link'><a href="Compony/Components/Button.html" title="Compony::Components::Button (class)">Button</a></span> &lt; Component<small class='search_info'>Compony::Components</small></div></li><li id='object_Compony::Components::Destroy' class='collapsed'><div class='item' style='padding-left:60px'><span class='object_link'><a href="Compony/Components/Destroy.html" title="Compony::Components::Destroy (class)">Destroy</a></span> &lt; Component<small class='search_info'>Compony::Components</small></div></li><li id='object_Compony::Components::Edit' class='collapsed'><div class='item' style='padding-left:60px'><span class='object_link'><a href="Compony/Components/Edit.html" title="Compony::Components::Edit (class)">Edit</a></span> &lt; WithForm<small class='search_info'>Compony::Components</small></div></li><li id='object_Compony::Components::Form' class='collapsed'><div class='item' style='padding-left:60px'><span class='object_link'><a href="Compony/Components/Form.html" title="Compony::Components::Form (class)">Form</a></span> &lt; Component<small class='search_info'>Compony::Components</small></div></li><li id='object_Compony::Components::New' class='collapsed'><div class='item' style='padding-left:60px'><span class='object_link'><a href="Compony/Components/New.html" title="Compony::Components::New (class)">New</a></span> &lt; WithForm<small class='search_info'>Compony::Components</small></div></li><li id='object_Compony::Components::WithForm' class='collapsed'><div class='item' style='padding-left:60px'><span class='object_link'><a href="Compony/Components/WithForm.html" title="Compony::Components::WithForm (class)">WithForm</a></span> &lt; Component<small class='search_info'>Compony::Components</small></div></li></ul></div></li><li id='object_Compony::ControllerMixin' class='collapsed odd'><div class='item' style='padding-left:45px'><span class='object_link'><a href="Compony/ControllerMixin.html" title="Compony::ControllerMixin (module)">ControllerMixin</a></span><small class='search_info'>Compony</small></div></li><li id='object_Compony::Engine' class='collapsed even'><div class='item' style='padding-left:45px'><span class='object_link'><a href="Compony/Engine.html" title="Compony::Engine (class)">Engine</a></span> &lt; Engine<small class='search_info'>Compony</small></div></li><li id='object_Compony::MethodAccessibleHash' class='collapsed odd'><div class='item' style='padding-left:45px'><span class='object_link'><a href="Compony/MethodAccessibleHash.html" title="Compony::MethodAccessibleHash (class)">MethodAccessibleHash</a></span> &lt; Hash<small class='search_info'>Compony</small></div></li><li id='object_Compony::ModelFields' class='collapsed even'><div class='item' style='padding-left:45px'><a tabindex='0' class='toggle' role='button' aria-label='ModelFields child nodes' aria-expanded='false' aria-controls='object_Compony::ModelFields'></a> <span class='object_link'><a href="Compony/ModelFields.html" title="Compony::ModelFields (module)">ModelFields</a></span><small class='search_info'>Compony</small></div><div aria-labelledby='object_Compony::ModelFields'><ul><li id='object_Compony::ModelFields::Anchormodel' class='collapsed'><div class='item' style='padding-left:60px'><span class='object_link'><a href="Compony/ModelFields/Anchormodel.html" title="Compony::ModelFields::Anchormodel (class)">Anchormodel</a></span> &lt; Base<small class='search_info'>Compony::ModelFields</small></div></li><li id='object_Compony::ModelFields::Association' class='collapsed'><div class='item' style='padding-left:60px'><span class='object_link'><a href="Compony/ModelFields/Association.html" title="Compony::ModelFields::Association (class)">Association</a></span> &lt; Base<small class='search_info'>Compony::ModelFields</small></div></li><li id='object_Compony::ModelFields::Attachment' class='collapsed'><div class='item' style='padding-left:60px'><span class='object_link'><a href="Compony/ModelFields/Attachment.html" title="Compony::ModelFields::Attachment (class)">Attachment</a></span> &lt; Base<small class='search_info'>Compony::ModelFields</small></div></li><li id='object_Compony::ModelFields::Base' class='collapsed'><div class='item' style='padding-left:60px'><span class='object_link'><a href="Compony/ModelFields/Base.html" title="Compony::ModelFields::Base (class)">Base</a></span> &lt; Object<small class='search_info'>Compony::ModelFields</small></div></li><li id='object_Compony::ModelFields::Boolean' class='collapsed'><div class='item' style='padding-left:60px'><span class='object_link'><a href="Compony/ModelFields/Boolean.html" title="Compony::ModelFields::Boolean (class)">Boolean</a></span> &lt; Base<small class='search_info'>Compony::ModelFields</small></div></li><li id='object_Compony::ModelFields::Color' class='collapsed'><div class='item' style='padding-left:60px'><span class='object_link'><a href="Compony/ModelFields/Color.html" title="Compony::ModelFields::Color (class)">Color</a></span> &lt; Base<small class='search_info'>Compony::ModelFields</small></div></li><li id='object_Compony::ModelFields::Currency' class='collapsed'><div class='item' style='padding-left:60px'><span class='object_link'><a href="Compony/ModelFields/Currency.html" title="Compony::ModelFields::Currency (class)">Currency</a></span> &lt; Base<small class='search_info'>Compony::ModelFields</small></div></li><li id='object_Compony::ModelFields::Date' class='collapsed'><div class='item' style='padding-left:60px'><span class='object_link'><a href="Compony/ModelFields/Date.html" title="Compony::ModelFields::Date (class)">Date</a></span> &lt; Base<small class='search_info'>Compony::ModelFields</small></div></li><li id='object_Compony::ModelFields::Datetime' class='collapsed'><div class='item' style='padding-left:60px'><span class='object_link'><a href="Compony/ModelFields/Datetime.html" title="Compony::ModelFields::Datetime (class)">Datetime</a></span> &lt; Base<small class='search_info'>Compony::ModelFields</small></div></li><li id='object_Compony::ModelFields::Decimal' class='collapsed'><div class='item' style='padding-left:60px'><span class='object_link'><a href="Compony/ModelFields/Decimal.html" title="Compony::ModelFields::Decimal (class)">Decimal</a></span> &lt; Base<small class='search_info'>Compony::ModelFields</small></div></li><li id='object_Compony::ModelFields::Email' class='collapsed'><div class='item' style='padding-left:60px'><span class='object_link'><a href="Compony/ModelFields/Email.html" title="Compony::ModelFields::Email (class)">Email</a></span> &lt; Base<small class='search_info'>Compony::ModelFields</small></div></li><li id='object_Compony::ModelFields::Float' class='collapsed'><div class='item' style='padding-left:60px'><span class='object_link'><a href="Compony/ModelFields/Float.html" title="Compony::ModelFields::Float (class)">Float</a></span> &lt; Base<small class='search_info'>Compony::ModelFields</small></div></li><li id='object_Compony::ModelFields::Integer' class='collapsed'><div class='item' style='padding-left:60px'><span class='object_link'><a href="Compony/ModelFields/Integer.html" title="Compony::ModelFields::Integer (class)">Integer</a></span> &lt; Base<small class='search_info'>Compony::ModelFields</small></div></li><li id='object_Compony::ModelFields::Percentage' class='collapsed'><div class='item' style='padding-left:60px'><span class='object_link'><a href="Compony/ModelFields/Percentage.html" title="Compony::ModelFields::Percentage (class)">Percentage</a></span> &lt; Base<small class='search_info'>Compony::ModelFields</small></div></li><li id='object_Compony::ModelFields::Phone' class='collapsed'><div class='item' style='padding-left:60px'><span class='object_link'><a href="Compony/ModelFields/Phone.html" title="Compony::ModelFields::Phone (class)">Phone</a></span> &lt; Base<small class='search_info'>Compony::ModelFields</small></div></li><li id='object_Compony::ModelFields::RichText' class='collapsed'><div class='item' style='padding-left:60px'><span class='object_link'><a href="Compony/ModelFields/RichText.html" title="Compony::ModelFields::RichText (class)">RichText</a></span> &lt; Base<small class='search_info'>Compony::ModelFields</small></div></li><li id='object_Compony::ModelFields::String' class='collapsed'><div class='item' style='padding-left:60px'><span class='object_link'><a href="Compony/ModelFields/String.html" title="Compony::ModelFields::String (class)">String</a></span> &lt; Base<small class='search_info'>Compony::ModelFields</small></div></li><li id='object_Compony::ModelFields::Text' class='collapsed'><div class='item' style='padding-left:60px'><span class='object_link'><a href="Compony/ModelFields/Text.html" title="Compony::ModelFields::Text (class)">Text</a></span> &lt; Base<small class='search_info'>Compony::ModelFields</small></div></li><li id='object_Compony::ModelFields::Time' class='collapsed'><div class='item' style='padding-left:60px'><span class='object_link'><a href="Compony/ModelFields/Time.html" title="Compony::ModelFields::Time (class)">Time</a></span> &lt; Base<small class='search_info'>Compony::ModelFields</small></div></li><li id='object_Compony::ModelFields::Url' class='collapsed'><div class='item' style='padding-left:60px'><span class='object_link'><a href="Compony/ModelFields/Url.html" title="Compony::ModelFields::Url (class)">Url</a></span> &lt; Base<small class='search_info'>Compony::ModelFields</small></div></li></ul></div></li><li id='object_Compony::ModelMixin' class='collapsed odd'><div class='item' style='padding-left:45px'><span class='object_link'><a href="Compony/ModelMixin.html" title="Compony::ModelMixin (module)">ModelMixin</a></span><small class='search_info'>Compony</small></div></li><li id='object_Compony::NaturalOrdering' class='collapsed even'><div class='item' style='padding-left:45px'><span class='object_link'><a href="Compony/NaturalOrdering.html" title="Compony::NaturalOrdering (class)">NaturalOrdering</a></span> &lt; Array<small class='search_info'>Compony</small></div></li><li id='object_Compony::RequestContext' class='collapsed odd'><div class='item' style='padding-left:45px'><span class='object_link'><a href="Compony/RequestContext.html" title="Compony::RequestContext (class)">RequestContext</a></span> &lt; Base<small class='search_info'>Compony</small></div></li><li id='object_Compony::Version' class='collapsed even'><div class='item' style='padding-left:45px'><span class='object_link'><a href="Compony/Version.html" title="Compony::Version (module)">Version</a></span><small class='search_info'>Compony</small></div></li><li id='object_Compony::ViewHelpers' class='collapsed odd'><div class='item' style='padding-left:45px'><span class='object_link'><a href="Compony/ViewHelpers.html" title="Compony::ViewHelpers (module)">ViewHelpers</a></span><small class='search_info'>Compony</small></div></li></ul></div></li><li id='object_ComponyController' class='even'><div class='item' style='padding-left:30px'><span class='object_link'><a href="ComponyController.html" title="ComponyController (class)">ComponyController</a></span> &lt; ApplicationController<small class='search_info'>Top Level Namespace</small></div></li>
46
+ <li id='object_ComponentGenerator' class='even'><div class='item' style='padding-left:30px'><span class='object_link'><a href="ComponentGenerator.html" title="ComponentGenerator (class)">ComponentGenerator</a></span> &lt; NamedBase<small class='search_info'>Top Level Namespace</small></div></li><li id='object_Components' class='odd'><div class='item' style='padding-left:30px'><span class='object_link'><a href="Components.html" title="Components (module)">Components</a></span><small class='search_info'>Top Level Namespace</small></div></li><li id='object_ComponentsGenerator' class='even'><div class='item' style='padding-left:30px'><span class='object_link'><a href="ComponentsGenerator.html" title="ComponentsGenerator (class)">ComponentsGenerator</a></span> &lt; NamedBase<small class='search_info'>Top Level Namespace</small></div></li><li id='object_Compony' class='odd'><div class='item' style='padding-left:30px'><a class='toggle'></a> <span class='object_link'><a href="Compony.html" title="Compony (module)">Compony</a></span><small class='search_info'>Top Level Namespace</small></div><ul><li id='object_Compony::Component' class='collapsed even'><div class='item' style='padding-left:45px'><span class='object_link'><a href="Compony/Component.html" title="Compony::Component (class)">Component</a></span> &lt; Object<small class='search_info'>Compony</small></div></li><li id='object_Compony::ComponentMixins' class='collapsed odd'><div class='item' style='padding-left:45px'><a class='toggle'></a> <span class='object_link'><a href="Compony/ComponentMixins.html" title="Compony::ComponentMixins (module)">ComponentMixins</a></span><small class='search_info'>Compony</small></div><ul><li id='object_Compony::ComponentMixins::Default' class='collapsed'><div class='item' style='padding-left:60px'><a class='toggle'></a> <span class='object_link'><a href="Compony/ComponentMixins/Default.html" title="Compony::ComponentMixins::Default (module)">Default</a></span><small class='search_info'>Compony::ComponentMixins</small></div><ul><li id='object_Compony::ComponentMixins::Default::Labelling' class='collapsed'><div class='item' style='padding-left:75px'><span class='object_link'><a href="Compony/ComponentMixins/Default/Labelling.html" title="Compony::ComponentMixins::Default::Labelling (module)">Labelling</a></span><small class='search_info'>Compony::ComponentMixins::Default</small></div></li><li id='object_Compony::ComponentMixins::Default::Standalone' class='collapsed'><div class='item' style='padding-left:75px'><a class='toggle'></a> <span class='object_link'><a href="Compony/ComponentMixins/Default/Standalone.html" title="Compony::ComponentMixins::Default::Standalone (module)">Standalone</a></span><small class='search_info'>Compony::ComponentMixins::Default</small></div><ul><li id='object_Compony::ComponentMixins::Default::Standalone::ResourcefulVerbDsl' class='collapsed'><div class='item' style='padding-left:90px'><span class='object_link'><a href="Compony/ComponentMixins/Default/Standalone/ResourcefulVerbDsl.html" title="Compony::ComponentMixins::Default::Standalone::ResourcefulVerbDsl (class)">ResourcefulVerbDsl</a></span> &lt; VerbDsl<small class='search_info'>Compony::ComponentMixins::Default::Standalone</small></div></li><li id='object_Compony::ComponentMixins::Default::Standalone::StandaloneDsl' class='collapsed'><div class='item' style='padding-left:90px'><span class='object_link'><a href="Compony/ComponentMixins/Default/Standalone/StandaloneDsl.html" title="Compony::ComponentMixins::Default::Standalone::StandaloneDsl (class)">StandaloneDsl</a></span> &lt; Base<small class='search_info'>Compony::ComponentMixins::Default::Standalone</small></div></li><li id='object_Compony::ComponentMixins::Default::Standalone::VerbDsl' class='collapsed'><div class='item' style='padding-left:90px'><span class='object_link'><a href="Compony/ComponentMixins/Default/Standalone/VerbDsl.html" title="Compony::ComponentMixins::Default::Standalone::VerbDsl (class)">VerbDsl</a></span> &lt; Base<small class='search_info'>Compony::ComponentMixins::Default::Standalone</small></div></li></ul></li></ul></li><li id='object_Compony::ComponentMixins::Resourceful' class='collapsed'><div class='item' style='padding-left:60px'><span class='object_link'><a href="Compony/ComponentMixins/Resourceful.html" title="Compony::ComponentMixins::Resourceful (module)">Resourceful</a></span><small class='search_info'>Compony::ComponentMixins</small></div></li></ul></li><li id='object_Compony::Components' class='collapsed even'><div class='item' style='padding-left:45px'><a class='toggle'></a> <span class='object_link'><a href="Compony/Components.html" title="Compony::Components (module)">Components</a></span><small class='search_info'>Compony</small></div><ul><li id='object_Compony::Components::Button' class='collapsed'><div class='item' style='padding-left:60px'><span class='object_link'><a href="Compony/Components/Button.html" title="Compony::Components::Button (class)">Button</a></span> &lt; Component<small class='search_info'>Compony::Components</small></div></li><li id='object_Compony::Components::Destroy' class='collapsed'><div class='item' style='padding-left:60px'><span class='object_link'><a href="Compony/Components/Destroy.html" title="Compony::Components::Destroy (class)">Destroy</a></span> &lt; Component<small class='search_info'>Compony::Components</small></div></li><li id='object_Compony::Components::Edit' class='collapsed'><div class='item' style='padding-left:60px'><span class='object_link'><a href="Compony/Components/Edit.html" title="Compony::Components::Edit (class)">Edit</a></span> &lt; WithForm<small class='search_info'>Compony::Components</small></div></li><li id='object_Compony::Components::Form' class='collapsed'><div class='item' style='padding-left:60px'><span class='object_link'><a href="Compony/Components/Form.html" title="Compony::Components::Form (class)">Form</a></span> &lt; Component<small class='search_info'>Compony::Components</small></div></li><li id='object_Compony::Components::Index' class='collapsed'><div class='item' style='padding-left:60px'><span class='object_link'><a href="Compony/Components/Index.html" title="Compony::Components::Index (class)">Index</a></span> &lt; Component<small class='search_info'>Compony::Components</small></div></li><li id='object_Compony::Components::List' class='collapsed'><div class='item' style='padding-left:60px'><span class='object_link'><a href="Compony/Components/List.html" title="Compony::Components::List (class)">List</a></span> &lt; Component<small class='search_info'>Compony::Components</small></div></li><li id='object_Compony::Components::New' class='collapsed'><div class='item' style='padding-left:60px'><span class='object_link'><a href="Compony/Components/New.html" title="Compony::Components::New (class)">New</a></span> &lt; WithForm<small class='search_info'>Compony::Components</small></div></li><li id='object_Compony::Components::Show' class='collapsed'><div class='item' style='padding-left:60px'><span class='object_link'><a href="Compony/Components/Show.html" title="Compony::Components::Show (class)">Show</a></span> &lt; Component<small class='search_info'>Compony::Components</small></div></li><li id='object_Compony::Components::WithForm' class='collapsed'><div class='item' style='padding-left:60px'><span class='object_link'><a href="Compony/Components/WithForm.html" title="Compony::Components::WithForm (class)">WithForm</a></span> &lt; Component<small class='search_info'>Compony::Components</small></div></li></ul></li><li id='object_Compony::ControllerMixin' class='collapsed odd'><div class='item' style='padding-left:45px'><span class='object_link'><a href="Compony/ControllerMixin.html" title="Compony::ControllerMixin (module)">ControllerMixin</a></span><small class='search_info'>Compony</small></div></li><li id='object_Compony::Engine' class='collapsed even'><div class='item' style='padding-left:45px'><span class='object_link'><a href="Compony/Engine.html" title="Compony::Engine (class)">Engine</a></span> &lt; Engine<small class='search_info'>Compony</small></div></li><li id='object_Compony::MethodAccessibleHash' class='collapsed odd'><div class='item' style='padding-left:45px'><span class='object_link'><a href="Compony/MethodAccessibleHash.html" title="Compony::MethodAccessibleHash (class)">MethodAccessibleHash</a></span> &lt; Hash<small class='search_info'>Compony</small></div></li><li id='object_Compony::ModelFields' class='collapsed even'><div class='item' style='padding-left:45px'><a class='toggle'></a> <span class='object_link'><a href="Compony/ModelFields.html" title="Compony::ModelFields (module)">ModelFields</a></span><small class='search_info'>Compony</small></div><ul><li id='object_Compony::ModelFields::Anchormodel' class='collapsed'><div class='item' style='padding-left:60px'><span class='object_link'><a href="Compony/ModelFields/Anchormodel.html" title="Compony::ModelFields::Anchormodel (class)">Anchormodel</a></span> &lt; Base<small class='search_info'>Compony::ModelFields</small></div></li><li id='object_Compony::ModelFields::Association' class='collapsed'><div class='item' style='padding-left:60px'><span class='object_link'><a href="Compony/ModelFields/Association.html" title="Compony::ModelFields::Association (class)">Association</a></span> &lt; Base<small class='search_info'>Compony::ModelFields</small></div></li><li id='object_Compony::ModelFields::Attachment' class='collapsed'><div class='item' style='padding-left:60px'><span class='object_link'><a href="Compony/ModelFields/Attachment.html" title="Compony::ModelFields::Attachment (class)">Attachment</a></span> &lt; Base<small class='search_info'>Compony::ModelFields</small></div></li><li id='object_Compony::ModelFields::Base' class='collapsed'><div class='item' style='padding-left:60px'><span class='object_link'><a href="Compony/ModelFields/Base.html" title="Compony::ModelFields::Base (class)">Base</a></span> &lt; Object<small class='search_info'>Compony::ModelFields</small></div></li><li id='object_Compony::ModelFields::Boolean' class='collapsed'><div class='item' style='padding-left:60px'><span class='object_link'><a href="Compony/ModelFields/Boolean.html" title="Compony::ModelFields::Boolean (class)">Boolean</a></span> &lt; Base<small class='search_info'>Compony::ModelFields</small></div></li><li id='object_Compony::ModelFields::Color' class='collapsed'><div class='item' style='padding-left:60px'><span class='object_link'><a href="Compony/ModelFields/Color.html" title="Compony::ModelFields::Color (class)">Color</a></span> &lt; Base<small class='search_info'>Compony::ModelFields</small></div></li><li id='object_Compony::ModelFields::Currency' class='collapsed'><div class='item' style='padding-left:60px'><span class='object_link'><a href="Compony/ModelFields/Currency.html" title="Compony::ModelFields::Currency (class)">Currency</a></span> &lt; Base<small class='search_info'>Compony::ModelFields</small></div></li><li id='object_Compony::ModelFields::Date' class='collapsed'><div class='item' style='padding-left:60px'><span class='object_link'><a href="Compony/ModelFields/Date.html" title="Compony::ModelFields::Date (class)">Date</a></span> &lt; Base<small class='search_info'>Compony::ModelFields</small></div></li><li id='object_Compony::ModelFields::Datetime' class='collapsed'><div class='item' style='padding-left:60px'><span class='object_link'><a href="Compony/ModelFields/Datetime.html" title="Compony::ModelFields::Datetime (class)">Datetime</a></span> &lt; Base<small class='search_info'>Compony::ModelFields</small></div></li><li id='object_Compony::ModelFields::Decimal' class='collapsed'><div class='item' style='padding-left:60px'><span class='object_link'><a href="Compony/ModelFields/Decimal.html" title="Compony::ModelFields::Decimal (class)">Decimal</a></span> &lt; Base<small class='search_info'>Compony::ModelFields</small></div></li><li id='object_Compony::ModelFields::Email' class='collapsed'><div class='item' style='padding-left:60px'><span class='object_link'><a href="Compony/ModelFields/Email.html" title="Compony::ModelFields::Email (class)">Email</a></span> &lt; Base<small class='search_info'>Compony::ModelFields</small></div></li><li id='object_Compony::ModelFields::Float' class='collapsed'><div class='item' style='padding-left:60px'><span class='object_link'><a href="Compony/ModelFields/Float.html" title="Compony::ModelFields::Float (class)">Float</a></span> &lt; Base<small class='search_info'>Compony::ModelFields</small></div></li><li id='object_Compony::ModelFields::Integer' class='collapsed'><div class='item' style='padding-left:60px'><span class='object_link'><a href="Compony/ModelFields/Integer.html" title="Compony::ModelFields::Integer (class)">Integer</a></span> &lt; Base<small class='search_info'>Compony::ModelFields</small></div></li><li id='object_Compony::ModelFields::Percentage' class='collapsed'><div class='item' style='padding-left:60px'><span class='object_link'><a href="Compony/ModelFields/Percentage.html" title="Compony::ModelFields::Percentage (class)">Percentage</a></span> &lt; Base<small class='search_info'>Compony::ModelFields</small></div></li><li id='object_Compony::ModelFields::Phone' class='collapsed'><div class='item' style='padding-left:60px'><span class='object_link'><a href="Compony/ModelFields/Phone.html" title="Compony::ModelFields::Phone (class)">Phone</a></span> &lt; Base<small class='search_info'>Compony::ModelFields</small></div></li><li id='object_Compony::ModelFields::RichText' class='collapsed'><div class='item' style='padding-left:60px'><span class='object_link'><a href="Compony/ModelFields/RichText.html" title="Compony::ModelFields::RichText (class)">RichText</a></span> &lt; Base<small class='search_info'>Compony::ModelFields</small></div></li><li id='object_Compony::ModelFields::String' class='collapsed'><div class='item' style='padding-left:60px'><span class='object_link'><a href="Compony/ModelFields/String.html" title="Compony::ModelFields::String (class)">String</a></span> &lt; Base<small class='search_info'>Compony::ModelFields</small></div></li><li id='object_Compony::ModelFields::Text' class='collapsed'><div class='item' style='padding-left:60px'><span class='object_link'><a href="Compony/ModelFields/Text.html" title="Compony::ModelFields::Text (class)">Text</a></span> &lt; Base<small class='search_info'>Compony::ModelFields</small></div></li><li id='object_Compony::ModelFields::Time' class='collapsed'><div class='item' style='padding-left:60px'><span class='object_link'><a href="Compony/ModelFields/Time.html" title="Compony::ModelFields::Time (class)">Time</a></span> &lt; Base<small class='search_info'>Compony::ModelFields</small></div></li><li id='object_Compony::ModelFields::Url' class='collapsed'><div class='item' style='padding-left:60px'><span class='object_link'><a href="Compony/ModelFields/Url.html" title="Compony::ModelFields::Url (class)">Url</a></span> &lt; Base<small class='search_info'>Compony::ModelFields</small></div></li></ul></li><li id='object_Compony::ModelMixin' class='collapsed odd'><div class='item' style='padding-left:45px'><span class='object_link'><a href="Compony/ModelMixin.html" title="Compony::ModelMixin (module)">ModelMixin</a></span><small class='search_info'>Compony</small></div></li><li id='object_Compony::NaturalOrdering' class='collapsed even'><div class='item' style='padding-left:45px'><span class='object_link'><a href="Compony/NaturalOrdering.html" title="Compony::NaturalOrdering (class)">NaturalOrdering</a></span> &lt; Array<small class='search_info'>Compony</small></div></li><li id='object_Compony::RequestContext' class='collapsed odd'><div class='item' style='padding-left:45px'><span class='object_link'><a href="Compony/RequestContext.html" title="Compony::RequestContext (class)">RequestContext</a></span> &lt; Base<small class='search_info'>Compony</small></div></li><li id='object_Compony::Version' class='collapsed even'><div class='item' style='padding-left:45px'><span class='object_link'><a href="Compony/Version.html" title="Compony::Version (module)">Version</a></span><small class='search_info'>Compony</small></div></li><li id='object_Compony::ViewHelpers' class='collapsed odd'><div class='item' style='padding-left:45px'><span class='object_link'><a href="Compony/ViewHelpers.html" title="Compony::ViewHelpers (module)">ViewHelpers</a></span><small class='search_info'>Compony</small></div></li></ul></li><li id='object_ComponyController' class='even'><div class='item' style='padding-left:30px'><span class='object_link'><a href="ComponyController.html" title="ComponyController (class)">ComponyController</a></span> &lt; ApplicationController<small class='search_info'>Top Level Namespace</small></div></li>
50
47
 
51
48
  </ul>
52
49
  </div>
@@ -20,8 +20,8 @@ h1 { padding: 12px 10px; padding-bottom: 0; margin: 0; font-size: 1.4em; }
20
20
  #content.insearch #noresults { margin-left: 7px; }
21
21
  li.collapsed ul { display: none; }
22
22
  li a.toggle { cursor: default; position: relative; left: -5px; top: 4px; text-indent: -999px; width: 10px; height: 9px; margin-left: -10px; display: block; float: left; background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAASCAYAAABb0P4QAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAK8AAACvABQqw0mAAAABx0RVh0U29mdHdhcmUAQWRvYmUgRmlyZXdvcmtzIENTM5jWRgMAAAAVdEVYdENyZWF0aW9uIFRpbWUAMy8xNC8wOeNZPpQAAAE2SURBVDiNrZTBccIwEEXfelIAHUA6CZ24BGaWO+FuzZAK4k6gg5QAdGAq+Bxs2Yqx7BzyL7Llp/VfzZeQhCTc/ezuGzKKnKSzpCxXJM8fwNXda3df5RZETlIt6YUzSQDs93sl8w3wBZxCCE10GM1OcWbWjB2mWgEH4Mfdyxm3PSepBHibgQE2wLe7r4HjEidpnXMYdQPKEMJcsZ4zs2POYQOcaPfwMVOo58zsAdMt18BuoVDPxUJRacELbXv3hUIX2vYmOUvi8C8ydz/ThjXrqKqqLbDIAdsCKBd+Wo7GWa7o9qzOQHVVVXeAbs+yHHCH4aTsaCOQqunmUy1yBUAXkdMIfMlgF5EXLo2OpV/c/Up7jG4hhHcYLgWzAZXUc2b2ixsfvc/RmNNfOXD3Q/oeL9axJE1yT9IOoUu6MGUkAAAAAElFTkSuQmCC) no-repeat bottom left; }
23
- li.collapsed a.toggle { cursor: default; background-position: top left; }
24
- li { color: #666; cursor: pointer; }
23
+ li.collapsed a.toggle { opacity: 0.5; cursor: default; background-position: top left; }
24
+ li { color: #888; cursor: pointer; }
25
25
  li.deprecated { text-decoration: line-through; font-style: italic; }
26
26
  li.odd { background: #f0f0f0; }
27
27
  li.even { background: #fafafa; }
@@ -47,7 +47,7 @@ li small { display: block; font-size: 0.8em; }
47
47
  li small:before { content: ""; }
48
48
  li small:after { content: ""; }
49
49
  li small.search_info { display: none; }
50
- #search { width: 170px; position: static; margin: 3px; margin-left: 10px; font-size: 0.9em; color: #666; padding-left: 0; padding-right: 24px; }
50
+ #search { width: 170px; position: static; margin: 3px; margin-left: 10px; font-size: 0.9em; color: #888; padding-left: 0; padding-right: 24px; }
51
51
  #content.insearch #search { background-position: center right; }
52
52
  #search input { width: 110px; }
53
53
 
data/doc/css/style.css CHANGED
@@ -82,11 +82,6 @@ body {
82
82
  #search { display: none; }
83
83
  }
84
84
 
85
- @media (max-width: 320px) {
86
- body { height: 100%; overflow: hidden; overflow-wrap: break-word; }
87
- #main { height: 100%; overflow: auto; }
88
- }
89
-
90
85
  #main img { max-width: 100%; }
91
86
  h1 { font-size: 25px; margin: 1em 0 0.5em; padding-top: 4px; border-top: 1px dotted #d5d5d5; }
92
87
  h1.noborder { border-top: 0px; margin-top: 0; padding-top: 4px; }
@@ -111,7 +106,6 @@ h2 small a {
111
106
  position: relative;
112
107
  padding: 2px 7px;
113
108
  }
114
- a { font-weight: 550; }
115
109
  .clear { clear: both; }
116
110
  .inline { display: inline; }
117
111
  .inline p:first-child { display: inline; }
data/doc/file.README.html CHANGED
@@ -6,7 +6,7 @@
6
6
  <title>
7
7
  File: README
8
8
 
9
- &mdash; Documentation by YARD 0.9.37
9
+ &mdash; Documentation by YARD 0.9.34
10
10
 
11
11
  </title>
12
12
 
@@ -195,7 +195,7 @@
195
195
 
196
196
  <p>Here is what our Show component looks like when we have a layout with the bare minimum and no styling at all:</p>
197
197
 
198
- <p><img src="doc/imgs/intro-example-show.png" alt="Screenshot"> of our component with an absolutely minimal layout</p>
198
+ <p><img src="doc/imgs/intro-example-show.png"></p>
199
199
 
200
200
  <p>It is important to note that actions, buttons, navigation, notifications etc. are handled by the application layout. In this and the subsequent screenshots, we explicitely use minimalism, as it makes the generated HTML clearer.</p>
201
201
 
@@ -209,7 +209,7 @@
209
209
 
210
210
  <p>Note that this component is fully functional. All is handled by the class it inherits from:</p>
211
211
 
212
- <p><img src="doc/imgs/intro-example-destroy.png" alt="Screenshot"> of the destroy component</p>
212
+ <p><img src="doc/imgs/intro-example-destroy.png"></p>
213
213
 
214
214
  <h3 id="label-The+New+component+and+the+Form+component">The New component and the Form component</h3>
215
215
 
@@ -243,7 +243,7 @@
243
243
 
244
244
  <p>This is enough to render a fully functional form that creates new users:</p>
245
245
 
246
- <p><img src="doc/imgs/intro-example-new.png" alt="New"> form</p>
246
+ <p><img src="doc/imgs/intro-example-new.png"></p>
247
247
 
248
248
  <h3 id="label-The+Edit+component">The Edit component</h3>
249
249
 
@@ -255,7 +255,7 @@
255
255
 
256
256
  <p>It then looks like this:</p>
257
257
 
258
- <p><img src="doc/imgs/intro-example-edit.png" alt="Edit"> form</p>
258
+ <p><img src="doc/imgs/intro-example-edit.png"></p>
259
259
 
260
260
  <h3 id="label-The+Index+component">The Index component</h3>
261
261
 
@@ -307,7 +307,7 @@
307
307
 
308
308
  <p>The result looks like this:</p>
309
309
 
310
- <p><img src="doc/imgs/intro-example-index.png" alt="Index"> component</p>
310
+ <p><img src="doc/imgs/intro-example-index.png"></p>
311
311
 
312
312
  <p>Note how the admin’s delete button is disabled due to the feasibility framework. Pointing the mouse at it causes a tooltip saying: “Cannot destroy admins.”, as specified in the model’s prevention.</p>
313
313
 
@@ -506,7 +506,7 @@
506
506
  <span class='kw'>end</span>
507
507
  </code></pre>
508
508
 
509
- <p>This results in: - This appears first. - Welcome to my basic component. - This paragraph is inserted between the others. - Thank you and see you tonight.</p>
509
+ <p>This results in: - This appears first. - Welcome to my basic component. - This paragraph is inserted between the others. - Thank you and see you tonight.</p>
510
510
 
511
511
  <p>As you see, overusing this feature can lead to messy code as it becomes unclear what happens in what order. For this reason, this feature should only be used to decouple the content of your abstract components for allowing surgical overrides in subclasses.</p>
512
512
 
@@ -1011,7 +1011,7 @@ The number 8 has the binary form 1000. Enter a number and press ENTER: [8]
1011
1011
  <p><code>respond</code> typically shows a flash and redirects to another component.</p>
1012
1012
  </li></ul>
1013
1013
 
1014
- <p><img src="doc/resourceful_lifecycle.png" alt="Graph"> of the complete resourceful lifecycle</p>
1014
+ <p><img src="doc/resourceful_lifecycle.png"></p>
1015
1015
 
1016
1016
  <h3 id="label-Nesting+resourceful+components">Nesting resourceful components</h3>
1017
1017
 
@@ -1390,6 +1390,33 @@ my_button = Compony.button(:index, :users, enabled: -&gt; { |controller| control
1390
1390
 
1391
1391
  <p>You will rarely (or probably never) instantiate a button on your own, but use helpers like <code>Compony.button</code> or <code>compony_button</code>. For this reason, the documentation for instantiating buttons is located in the section documenting those helpers above.</p>
1392
1392
 
1393
+ <h3 id="label-Show">Show</h3>
1394
+
1395
+ <p>This resourceful component corresponds to a typical Rails controller’s <code>show</code> action and presents <code>@data</code> which is typically a model instance.</p>
1396
+
1397
+ <p>To use it, create a component of the style <code>Components::Users::Show</code> and inherit from <code>Compony::Components::Show</code>. By default, this will display all permitted fields along with their labels. Consult the component’s class to learn about the methods you can use in <code>setup</code> in order to customize the behavior.</p>
1398
+
1399
+ <h3 id="label-Index">Index</h3>
1400
+
1401
+ <p>This stanalone component is resourceful, holds a collection of records and corresponds to Rail’s <code>index</code> controller action. It is a wrapper for the <code>List</code> component (see below).</p>
1402
+
1403
+ <h3 id="label-List">List</h3>
1404
+
1405
+ <p>This resourceful component displays a table / list of records. It is meant to be nested within another component, typically <code>Index</code> of the same family or <code>Show</code> of another family. Compony’s implementation of this component features:</p>
1406
+ <ul><li>
1407
+ <p>Inferrence of rows from model fields as well as custom rows</p>
1408
+ </li><li>
1409
+ <p>Row actions for each displayed record</p>
1410
+ </li><li>
1411
+ <p>Pagination</p>
1412
+ </li><li>
1413
+ <p>Sorting: if the Ransack gem is installed and at least one sorting column has been specified, the component can automatically generate a select input for sorting as well as sorting links.</p>
1414
+ </li><li>
1415
+ <p>Filtering / Searching: if the Ransack gem is installed and at least one filter has been specified, the component can automatically generate a filter / search form that works with Ransack.</p>
1416
+ </li></ul>
1417
+
1418
+ <p>This component serves as a base block for building powerful management interfaces. Consult the component’s class to learn about the various methods you can use in <code>setup</code> in order to customize the behavior. You will likely want to implement your own custom base component based on this component and overwrite the <code>content</code> blocks that you would like to customize.</p>
1419
+
1393
1420
  <h3 id="label-Destroy">Destroy</h3>
1394
1421
 
1395
1422
  <p>This component is the Compony equivalent to a typical Rails controller’s <code>destroy</code> action.</p>
@@ -1752,9 +1779,9 @@ my_button = Compony.button(:index, :users, enabled: -&gt; { |controller| control
1752
1779
  </div></div>
1753
1780
 
1754
1781
  <div id="footer">
1755
- Generated on Fri Aug 29 14:58:40 2025 by
1782
+ Generated on Fri Sep 5 14:00:24 2025 by
1756
1783
  <a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
1757
- 0.9.37 (ruby-3.3.5).
1784
+ 0.9.34 (ruby-3.3.5).
1758
1785
  </div>
1759
1786
 
1760
1787
  </div>
data/doc/file_list.html CHANGED
@@ -1,5 +1,5 @@
1
1
  <!DOCTYPE html>
2
- <html >
2
+ <html>
3
3
  <head>
4
4
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
5
5
  <meta charset="utf-8" />
@@ -38,10 +38,7 @@
38
38
 
39
39
  </div>
40
40
 
41
- <div id="search">
42
- <label for="search-class">Search:</label>
43
- <input id="search-class" type="text" />
44
- </div>
41
+ <div id="search">Search: <input type="text" /></div>
45
42
  </div>
46
43
 
47
44
  <ul id="full_list" class="file">
data/doc/frames.html CHANGED
@@ -2,18 +2,13 @@
2
2
  <html>
3
3
  <head>
4
4
  <meta charset="utf-8">
5
- <title>Documentation by YARD 0.9.37</title>
5
+ <title>Documentation by YARD 0.9.34</title>
6
6
  </head>
7
7
  <script type="text/javascript">
8
- var mainUrl = 'index.html';
9
- try {
10
- var match = decodeURIComponent(window.location.hash).match(/^#!(.+)/);
11
- var name = match ? match[1] : mainUrl;
12
- var url = new URL(name, location.href);
13
- window.top.location.replace(url.origin === location.origin ? name : mainUrl);
14
- } catch (e) {
15
- window.top.location.replace(mainUrl);
16
- }
8
+ var match = unescape(window.location.hash).match(/^#!(.+)/);
9
+ var name = match ? match[1] : 'index.html';
10
+ name = name.replace(/^(\w+):\/\//, '').replace(/^\/\//, '');
11
+ window.top.location = name;
17
12
  </script>
18
13
  <noscript>
19
14
  <h1>Oops!</h1>
data/doc/index.html CHANGED
@@ -6,7 +6,7 @@
6
6
  <title>
7
7
  File: README
8
8
 
9
- &mdash; Documentation by YARD 0.9.37
9
+ &mdash; Documentation by YARD 0.9.34
10
10
 
11
11
  </title>
12
12
 
@@ -195,7 +195,7 @@
195
195
 
196
196
  <p>Here is what our Show component looks like when we have a layout with the bare minimum and no styling at all:</p>
197
197
 
198
- <p><img src="doc/imgs/intro-example-show.png" alt="Screenshot"> of our component with an absolutely minimal layout</p>
198
+ <p><img src="doc/imgs/intro-example-show.png"></p>
199
199
 
200
200
  <p>It is important to note that actions, buttons, navigation, notifications etc. are handled by the application layout. In this and the subsequent screenshots, we explicitely use minimalism, as it makes the generated HTML clearer.</p>
201
201
 
@@ -209,7 +209,7 @@
209
209
 
210
210
  <p>Note that this component is fully functional. All is handled by the class it inherits from:</p>
211
211
 
212
- <p><img src="doc/imgs/intro-example-destroy.png" alt="Screenshot"> of the destroy component</p>
212
+ <p><img src="doc/imgs/intro-example-destroy.png"></p>
213
213
 
214
214
  <h3 id="label-The+New+component+and+the+Form+component">The New component and the Form component</h3>
215
215
 
@@ -243,7 +243,7 @@
243
243
 
244
244
  <p>This is enough to render a fully functional form that creates new users:</p>
245
245
 
246
- <p><img src="doc/imgs/intro-example-new.png" alt="New"> form</p>
246
+ <p><img src="doc/imgs/intro-example-new.png"></p>
247
247
 
248
248
  <h3 id="label-The+Edit+component">The Edit component</h3>
249
249
 
@@ -255,7 +255,7 @@
255
255
 
256
256
  <p>It then looks like this:</p>
257
257
 
258
- <p><img src="doc/imgs/intro-example-edit.png" alt="Edit"> form</p>
258
+ <p><img src="doc/imgs/intro-example-edit.png"></p>
259
259
 
260
260
  <h3 id="label-The+Index+component">The Index component</h3>
261
261
 
@@ -307,7 +307,7 @@
307
307
 
308
308
  <p>The result looks like this:</p>
309
309
 
310
- <p><img src="doc/imgs/intro-example-index.png" alt="Index"> component</p>
310
+ <p><img src="doc/imgs/intro-example-index.png"></p>
311
311
 
312
312
  <p>Note how the admin’s delete button is disabled due to the feasibility framework. Pointing the mouse at it causes a tooltip saying: “Cannot destroy admins.”, as specified in the model’s prevention.</p>
313
313
 
@@ -506,7 +506,7 @@
506
506
  <span class='kw'>end</span>
507
507
  </code></pre>
508
508
 
509
- <p>This results in: - This appears first. - Welcome to my basic component. - This paragraph is inserted between the others. - Thank you and see you tonight.</p>
509
+ <p>This results in: - This appears first. - Welcome to my basic component. - This paragraph is inserted between the others. - Thank you and see you tonight.</p>
510
510
 
511
511
  <p>As you see, overusing this feature can lead to messy code as it becomes unclear what happens in what order. For this reason, this feature should only be used to decouple the content of your abstract components for allowing surgical overrides in subclasses.</p>
512
512
 
@@ -1011,7 +1011,7 @@ The number 8 has the binary form 1000. Enter a number and press ENTER: [8]
1011
1011
  <p><code>respond</code> typically shows a flash and redirects to another component.</p>
1012
1012
  </li></ul>
1013
1013
 
1014
- <p><img src="doc/resourceful_lifecycle.png" alt="Graph"> of the complete resourceful lifecycle</p>
1014
+ <p><img src="doc/resourceful_lifecycle.png"></p>
1015
1015
 
1016
1016
  <h3 id="label-Nesting+resourceful+components">Nesting resourceful components</h3>
1017
1017
 
@@ -1390,6 +1390,33 @@ my_button = Compony.button(:index, :users, enabled: -&gt; { |controller| control
1390
1390
 
1391
1391
  <p>You will rarely (or probably never) instantiate a button on your own, but use helpers like <code>Compony.button</code> or <code>compony_button</code>. For this reason, the documentation for instantiating buttons is located in the section documenting those helpers above.</p>
1392
1392
 
1393
+ <h3 id="label-Show">Show</h3>
1394
+
1395
+ <p>This resourceful component corresponds to a typical Rails controller’s <code>show</code> action and presents <code>@data</code> which is typically a model instance.</p>
1396
+
1397
+ <p>To use it, create a component of the style <code>Components::Users::Show</code> and inherit from <code>Compony::Components::Show</code>. By default, this will display all permitted fields along with their labels. Consult the component’s class to learn about the methods you can use in <code>setup</code> in order to customize the behavior.</p>
1398
+
1399
+ <h3 id="label-Index">Index</h3>
1400
+
1401
+ <p>This stanalone component is resourceful, holds a collection of records and corresponds to Rail’s <code>index</code> controller action. It is a wrapper for the <code>List</code> component (see below).</p>
1402
+
1403
+ <h3 id="label-List">List</h3>
1404
+
1405
+ <p>This resourceful component displays a table / list of records. It is meant to be nested within another component, typically <code>Index</code> of the same family or <code>Show</code> of another family. Compony’s implementation of this component features:</p>
1406
+ <ul><li>
1407
+ <p>Inferrence of rows from model fields as well as custom rows</p>
1408
+ </li><li>
1409
+ <p>Row actions for each displayed record</p>
1410
+ </li><li>
1411
+ <p>Pagination</p>
1412
+ </li><li>
1413
+ <p>Sorting: if the Ransack gem is installed and at least one sorting column has been specified, the component can automatically generate a select input for sorting as well as sorting links.</p>
1414
+ </li><li>
1415
+ <p>Filtering / Searching: if the Ransack gem is installed and at least one filter has been specified, the component can automatically generate a filter / search form that works with Ransack.</p>
1416
+ </li></ul>
1417
+
1418
+ <p>This component serves as a base block for building powerful management interfaces. Consult the component’s class to learn about the various methods you can use in <code>setup</code> in order to customize the behavior. You will likely want to implement your own custom base component based on this component and overwrite the <code>content</code> blocks that you would like to customize.</p>
1419
+
1393
1420
  <h3 id="label-Destroy">Destroy</h3>
1394
1421
 
1395
1422
  <p>This component is the Compony equivalent to a typical Rails controller’s <code>destroy</code> action.</p>
@@ -1752,9 +1779,9 @@ my_button = Compony.button(:index, :users, enabled: -&gt; { |controller| control
1752
1779
  </div></div>
1753
1780
 
1754
1781
  <div id="footer">
1755
- Generated on Fri Aug 29 14:58:38 2025 by
1782
+ Generated on Fri Sep 5 14:00:23 2025 by
1756
1783
  <a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
1757
- 0.9.37 (ruby-3.3.5).
1784
+ 0.9.34 (ruby-3.3.5).
1758
1785
  </div>
1759
1786
 
1760
1787
  </div>