polaris_view_helpers 0.0.7 → 0.0.8

Sign up to get free protection for your applications and to get access to all the features.
Files changed (111) hide show
  1. checksums.yaml +4 -4
  2. data/app/views/polaris/_annotated_section.html.erb +5 -1
  3. data/app/views/polaris/_form_layout.html.erb +4 -0
  4. data/app/views/polaris/_heading.html.erb +1 -0
  5. data/app/views/polaris/_layout.html.erb +4 -0
  6. data/app/views/polaris/_page.html.erb +4 -0
  7. data/app/views/polaris/_page_content.html.erb +4 -0
  8. data/app/views/polaris/_page_header.html.erb +7 -0
  9. data/app/views/polaris/_text_field.html.erb +15 -0
  10. data/lib/polaris_view_helpers/helper.rb +63 -0
  11. data/lib/polaris_view_helpers/version.rb +1 -1
  12. data/test/dummy/app/assets/javascripts/home.js +2 -0
  13. data/test/dummy/app/assets/stylesheets/application.css +6 -0
  14. data/test/dummy/app/assets/stylesheets/home.css +4 -0
  15. data/test/dummy/app/controllers/home_controller.rb +4 -0
  16. data/test/dummy/app/helpers/application_helper.rb +3 -0
  17. data/test/dummy/app/helpers/home_helper.rb +2 -0
  18. data/test/dummy/app/models/application_record.rb +3 -0
  19. data/test/dummy/app/models/widget.rb +3 -0
  20. data/test/dummy/app/views/home/_annotated_section.html.erb +9 -0
  21. data/test/dummy/app/views/home/_banner.html.erb +3 -0
  22. data/test/dummy/app/views/home/_banner_success.html.erb +6 -0
  23. data/test/dummy/app/views/home/_button_links.html.erb +1 -0
  24. data/test/dummy/app/views/home/_button_links_with_modifiers.html.erb +1 -0
  25. data/test/dummy/app/views/home/_demo_partial.html.erb +8 -0
  26. data/test/dummy/app/views/home/_model_errors.html.erb +3 -0
  27. data/test/dummy/app/views/home/_page_actions.html.erb +4 -0
  28. data/test/dummy/app/views/home/_tabs.html.erb +4 -0
  29. data/test/dummy/app/views/home/_text_field.html.erb +6 -0
  30. data/test/dummy/app/views/home/index.html.erb +98 -0
  31. data/test/dummy/app/views/layouts/application.html.erb +7 -1
  32. data/test/dummy/config/application.rb +1 -1
  33. data/test/dummy/config/database.yml +4 -1
  34. data/test/dummy/config/environments/production.rb +6 -0
  35. data/test/dummy/config/routes.rb +2 -0
  36. data/test/dummy/db/development.sqlite3 +0 -0
  37. data/test/dummy/db/migrate/20171004015121_create_widgets.rb +9 -0
  38. data/test/dummy/db/schema.rb +21 -0
  39. data/test/dummy/log/development.log +3882 -0
  40. data/test/dummy/log/production.log +0 -0
  41. data/test/dummy/public/assets/application-0e84ee7935b51510f3ab3b6ec3768292060384a52236c82e718ff7c3542ff843.js +17 -0
  42. data/test/dummy/public/assets/application-0e84ee7935b51510f3ab3b6ec3768292060384a52236c82e718ff7c3542ff843.js.gz +0 -0
  43. data/test/dummy/public/assets/application-6a28bd70fd8c35474f19bacea4fc027d9089a15e5f19362e403f912890d1096f.css +27 -0
  44. data/test/dummy/public/assets/application-6a28bd70fd8c35474f19bacea4fc027d9089a15e5f19362e403f912890d1096f.css.gz +0 -0
  45. data/test/dummy/public/assets/application-8dc5249dcacdb94dc32fc68dda2f1fb92b850645fcc30c75b035beb8d7ae37bd.css +27 -0
  46. data/test/dummy/public/assets/application-8dc5249dcacdb94dc32fc68dda2f1fb92b850645fcc30c75b035beb8d7ae37bd.css.gz +0 -0
  47. data/test/dummy/test/controllers/home_controller_test.rb +9 -0
  48. data/test/dummy/test/fixtures/widgets.yml +7 -0
  49. data/test/dummy/test/models/widget_test.rb +7 -0
  50. data/test/dummy/tmp/cache/assets/sprockets/v3.0/-6/-6Nr5GCniRi2FuNxVj9XhcQ9Y3kj7HMZAaA-YZYYw74.cache +2 -0
  51. data/test/dummy/tmp/cache/assets/sprockets/v3.0/19/19RHXWs23nQX7AtDgnBdA2-jOMkrhMJPV_4JkvyI-Xg.cache +1 -0
  52. data/test/dummy/tmp/cache/assets/sprockets/v3.0/4g/4gI7n8i6G02Vu3uLhGjiYhwRemlQVfOZTjvM0O9MTFA.cache +2 -0
  53. data/test/dummy/tmp/cache/assets/sprockets/v3.0/5L/5Lly_CA8DZvPhQV2jDQx-Y6P_y3Ygra9t5jfSlGhHDA.cache +2 -0
  54. data/test/dummy/tmp/cache/assets/sprockets/v3.0/6Q/6QLZyVEVVgXHx1KFIGszSPG-vCOWTT-3-kV7BD8IGUY.cache +0 -0
  55. data/test/dummy/tmp/cache/assets/sprockets/v3.0/8m/8mC6AmfXYQtIdQmK_HKIrw0b8-eXpVoibOoXn789tvY.cache +0 -0
  56. data/test/dummy/tmp/cache/assets/sprockets/v3.0/9S/9SbP2fSlcEmQ7Exc094J2xMkcMckL6nZnSS2Vaih0fw.cache +1 -0
  57. data/test/dummy/tmp/cache/assets/sprockets/v3.0/9m/9mDVmj9S9S4FAE7MJ3C2NTmPsjo0tYNpYNgiiViaevA.cache +0 -0
  58. data/test/dummy/tmp/cache/assets/sprockets/v3.0/BJ/BJ7zsL3XJACeq1h4b6aYEVLpyHPVuryQoatdQIS---w.cache +1 -0
  59. data/test/dummy/tmp/cache/assets/sprockets/v3.0/BJ/Bji1SOHbjr-b5nAqBmoVCbvY71EoePbdkldi-t7HWcM.cache +2 -0
  60. data/test/dummy/tmp/cache/assets/sprockets/v3.0/BP/BPie9MLQ8VLjltQ2oz2MfmtYxVLBC7yLaEuvm8oxVeI.cache +1 -0
  61. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Cz/Czed7Xnum_yEBD8M6Jd-pV1se7Sbb3aWobI676IIKbA.cache +0 -0
  62. data/test/dummy/tmp/cache/assets/sprockets/v3.0/D-/D-XknYsiS8OKZrDJlFq1Faxs0xUAMnscYRPTzftHNUs.cache +0 -0
  63. data/test/dummy/tmp/cache/assets/sprockets/v3.0/DM/DMw4-SHBNcoqiRiyCBFUFLtgvfOpBdzJjP9Wl0jfwaI.cache +1 -0
  64. data/test/dummy/tmp/cache/assets/sprockets/v3.0/DS/DSOLSc6A5RVSmvM415eEWAWG_AgOvZcLZOXQjsXyWQA.cache +2 -0
  65. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Fg/Fg_POAa3hAbmGsI8YDMBdC2G6hIFUtEoebJGbojvHOE.cache +1 -0
  66. data/test/dummy/tmp/cache/assets/sprockets/v3.0/KZ/KZcrlxLeaLD7k6LvQ66_EmUQ2ybZpTKBjhxDtwtwZko.cache +1 -0
  67. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Mu/MuvixueK3hWR8tkpeC_dnlZSSNdfgMoWkN8R8A-Jr7Y.cache +0 -0
  68. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Mv/MvlvzKtdPmbiKi9Ur_V2YEUvvlP17ytHYNFC6XWjGvc.cache +1 -0
  69. data/test/dummy/tmp/cache/assets/sprockets/v3.0/OI/OI6uxGcnsKavdWTtwDAasU3wPx8QXhzBgV0X2n1KjMQ.cache +2 -0
  70. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Q8/Q8mZEw062zJEX--VZS56f1qVg4WwUkK41u161i8fRDs.cache +1 -0
  71. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Rn/RnCK8nBm5ueocLFoN0gfAU6XyRZ2gl-22Jmuacxi3Dc.cache +0 -0
  72. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Rn/Rnrs1KFlku32Mb1aGuyUv8chgbuIxuVIzPszt0sdwG8.cache +1 -0
  73. data/test/dummy/tmp/cache/assets/sprockets/v3.0/UJ/UJsbpbcLD_dCBI-4fyGt_72pcTIq0rnaGs21u_ekWEM.cache +1 -0
  74. data/test/dummy/tmp/cache/assets/sprockets/v3.0/VB/VBsrJ5Xg31FA5mNJOA1WDLL8wyiBslP-dDDXHd95dEc.cache +2 -0
  75. data/test/dummy/tmp/cache/assets/sprockets/v3.0/VH/VHLfEU-OVYMESaf7JHzy0h2LOKR9XTFBEQmrAmw7cLo.cache +1 -0
  76. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Wn/WnfkQa5tiTEh_tJSKmLVbiVXKqdHfk1UW3slDVKffIs.cache +0 -0
  77. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Wu/Wu2IK2mEaOxwzETYjk5AEprm02SD00WkVhXcWm6HAy4.cache +0 -0
  78. data/test/dummy/tmp/cache/assets/sprockets/v3.0/XE/XEIMewVgX888W-UD3K34E9JZ4y1dGla5jjXRM65ZW5E.cache +2 -0
  79. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Ye/Ye6EpjjWl7_SAyZIQPH24oUrwDDGgNQcSvT9h5-eav0.cache +1 -0
  80. data/test/dummy/tmp/cache/assets/sprockets/v3.0/ZK/ZKlIrCOVuKLLswJ_3NYGFQibglwlYdV0TuPZrPxmEzo.cache +1 -0
  81. data/test/dummy/tmp/cache/assets/sprockets/v3.0/aG/aGsmi850WiHQ_iFYRldn7U5ZcOcTiJztdvm2mvn8lfY.cache +1 -0
  82. data/test/dummy/tmp/cache/assets/sprockets/v3.0/al/alpEk1xdSxdV5kwRj0TDX-kQNvuWxXLs-ePsDV6i8a8.cache +0 -0
  83. data/test/dummy/tmp/cache/assets/sprockets/v3.0/ap/apjBOZ25EiqQQAugemAsheXEKq6h0GEQ3ehcSU6JYho.cache +1 -0
  84. data/test/dummy/tmp/cache/assets/sprockets/v3.0/ar/arLQI4d_Ymcw82UeM3BsL-qOnPfe9eEXUqj547c8oPQ.cache +2 -0
  85. data/test/dummy/tmp/cache/assets/sprockets/v3.0/bM/bMgkrWk1WZetYLFw2EA-2U4z0KhMahE6RC1qlw3aWRw.cache +0 -0
  86. data/test/dummy/tmp/cache/assets/sprockets/v3.0/bg/bg-Kuq6xhqvWCmPfQL0stbUwGuWmf7r6N4yh0fOz2LI.cache +1 -0
  87. data/test/dummy/tmp/cache/assets/sprockets/v3.0/c1/c1Cy_JNfIHj-mSyHriaVxkmfBr6NZ8gsG1wa0ej1eBQ.cache +0 -0
  88. data/test/dummy/tmp/cache/assets/sprockets/v3.0/ci/cir4RSLnG-v0Zw-0chN5Gos2VLdbSF4muF-_iG_nZj0.cache +1 -0
  89. data/test/dummy/tmp/cache/assets/sprockets/v3.0/fU/fUVypQXXU0qdPZWI4dz_hYJXRsX6awErZnna_qVCs-s.cache +1 -0
  90. data/test/dummy/tmp/cache/assets/sprockets/v3.0/gZ/gZp3uXMHuYQC4hzCr7bQfetKNdJAtbQmg3so2KpW1Dw.cache +2 -0
  91. data/test/dummy/tmp/cache/assets/sprockets/v3.0/gq/gqQPAHulsw92R6YIhtSr-afG0-TcwIZelRl-bUzHTd8.cache +1 -0
  92. data/test/dummy/tmp/cache/assets/sprockets/v3.0/hP/hP3ENq-CKIyBiG9vhnLyhys5aDFmBfnpfTuX9F0594I.cache +1 -0
  93. data/test/dummy/tmp/cache/assets/sprockets/v3.0/hZ/hZi1k6tpxxCGYxRe7zY74ItcOI8gZrREOpGuA8JSpGg.cache +2 -0
  94. data/test/dummy/tmp/cache/assets/sprockets/v3.0/pE/pEhaat2KBd5SrT7szC_8R1_6hK17FTpvoRFkmCRSD3M.cache +2 -0
  95. data/test/dummy/tmp/cache/assets/sprockets/v3.0/pP/pPeU4xz-H75nxeLbdPzq1fAG-hux7H8ChUh3Hj86nAg.cache +1 -0
  96. data/test/dummy/tmp/cache/assets/sprockets/v3.0/pn/pnW3u_1AN48ig6ngefI89y96xoSlvnJurx-e3J-leoE.cache +3 -0
  97. data/test/dummy/tmp/cache/assets/sprockets/v3.0/r2/r224dl5W_kk8-z82aXtOsP-lTRCP_9zZtBVMeibObW4.cache +0 -0
  98. data/test/dummy/tmp/cache/assets/sprockets/v3.0/s2/s2BSY5-b6xvrqUS5ov33B8IzaytimJelMfGcaAAx3tA.cache +0 -0
  99. data/test/dummy/tmp/cache/assets/sprockets/v3.0/ss/ssS2x0Wl67rwXHaVHsh6CO7ayn9fQ5saIwATKN6O-nI.cache +3 -0
  100. data/test/dummy/tmp/cache/assets/sprockets/v3.0/uH/uHEyjJ3iWuP3zitEOhXr9neoSDJvES65YQ8A1mUzjLw.cache +1 -0
  101. data/test/dummy/tmp/cache/assets/sprockets/v3.0/ud/udWb2oaxF5Z_F08odsj3RLFiOZKpvLAITnm3W68ZqRw.cache +0 -0
  102. data/test/dummy/tmp/cache/assets/sprockets/v3.0/w7/W71Bqqaq0tVQ1SA5pJxsS1OFG_lqQzKDQJZH8-nxzK8.cache +1 -0
  103. data/test/dummy/tmp/cache/assets/sprockets/v3.0/w7/w7aU98mKHaqyzxC0qXDt41toBJHcfRLlNfgHz8-SK14.cache +1 -0
  104. data/test/dummy/tmp/cache/assets/sprockets/v3.0/wQ/wQGZqTzEVyFH7KW5AIuklAC3knDSSfia59K1zqyes0s.cache +1 -0
  105. data/test/dummy/tmp/cache/assets/sprockets/v3.0/xR/xRffy1d1YsGQdnJLbXaO1f6c6VS-POGj_2IPOupy2es.cache +0 -0
  106. data/test/dummy/tmp/cache/assets/sprockets/v3.0/xp/xpAZAF4FCnM_O1sur_NWwZwxhn_VZD1NY_kmYi_W7cc.cache +2 -0
  107. data/test/dummy/tmp/cache/assets/sprockets/v3.0/xv/xvWpuZt4UMTd-Dv4xsKoHrGCwO4n5kRJfMnZ92uHFA4.cache +2 -0
  108. data/test/dummy/tmp/cache/assets/sprockets/v3.0/yK/yKxiAJ1BcXULZMfowDpt8g1sYCkkk--jhtI137rCtHM.cache +1 -0
  109. data/test/dummy/tmp/cache/assets/sprockets/v3.0/yn/yndI79omu3HVFPyVKkn9KZ0U1fezM01AsR2aj5uNfbE.cache +2 -0
  110. metadata +192 -4
  111. data/README.rdoc +0 -3
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 33469dde16259e76722932874e586026edb048ff
4
- data.tar.gz: dad2ab9dd213a8f2f861bc1fae20d381f396c523
3
+ metadata.gz: 9d438b1e0a74c191a1fd04454b76a4dc19419eac
4
+ data.tar.gz: 39b9f5d35e090586361401b5134b269d19bc9539
5
5
  SHA512:
6
- metadata.gz: e9adb02354582941d9f5cc4eaf8203b4e3047cadebf2a78f0729a002979a5febf083969d39c76264e2d583cd5aa152230dfcd6bad061ad3cae11f8b1ae566e27
7
- data.tar.gz: fc8249947ca95744c2fa7bcf5a7ef2ded0deb45d79ed28faee5e0ebc6375b3c20bd1ebb14200063972d9479ad97d7234fffd643369814e46d0e65c0d943614c8
6
+ metadata.gz: 9c6418119541e5d3c0530a0b41312017e38be771cc0dffc0da61688b89cc3c28a3f5d2c46cc2e2ad5285b66515283143c4b57ce060bf31b05149dc98c5f7243a
7
+ data.tar.gz: 510e317eab3a14349ae275bee2dfc189a796bacfb77fe1f224f5e8212e6295a8ded1dab6e7d8119b3aaaf5dece34646cdd709b11fd6dc12023eca58b55e09e49
@@ -3,7 +3,11 @@
3
3
  <div class="Polaris-Layout__Annotation">
4
4
  <div class="Polaris-TextContainer">
5
5
  <h2 class="Polaris-Heading"><%= heading %></h2>
6
- <%= description %>
6
+ <% if description.html_safe? %>
7
+ <%= description %>
8
+ <% else %>
9
+ <p><%= description %></p>
10
+ <% end %>
7
11
  </div>
8
12
  </div>
9
13
  <div class="Polaris-Layout__AnnotationContent">
@@ -0,0 +1,4 @@
1
+ <div class="Polaris-FormLayout">
2
+ <%= capture(&block) %>
3
+ </div>
4
+
@@ -0,0 +1 @@
1
+ <h2 class="Polaris-Heading"><%= title %></h2>
@@ -0,0 +1,4 @@
1
+ <div class="Polaris-Layout">
2
+ <%= capture(&block) %>
3
+ </div>
4
+
@@ -0,0 +1,4 @@
1
+ <div class="Polaris-Page">
2
+ <%= capture(&block) %>
3
+ </div>
4
+
@@ -0,0 +1,4 @@
1
+ <div class="Polaris-Page__Content">
2
+ <%= capture(&block) %>
3
+ </div>
4
+
@@ -0,0 +1,7 @@
1
+ <div class="Polaris-Page__Header">
2
+ <h1 class="Polaris-DisplayText Polaris-DisplayText--sizeLarge"><%= title %></h1>
3
+ <% if block.present? %>
4
+ <%= capture(&block) %>
5
+ <% end %>
6
+ </div>
7
+
@@ -0,0 +1,15 @@
1
+ <% attribute.each do |att| %>
2
+ <div class="Polaris-FormLayout__Item">
3
+ <div class="">
4
+ <div class="Polaris-Labelled__LabelWrapper">
5
+ <div class="Polaris-Label">
6
+ <%= form.label att, options[:label], class: 'Polaris-Label__Text' %>
7
+ </div>
8
+ </div>
9
+ <div class="Polaris-TextField">
10
+ <%= form.send element_type, att, id: "#{form.object.class.name.tableize.singularize}_#{att}", class: "Polaris-TextField__Input", placeholder: options[:placeholder] %>
11
+ <div class="Polaris-TextField__Backdrop"></div>
12
+ </div>
13
+ </div>
14
+ </div>
15
+ <% end %>
@@ -1,6 +1,52 @@
1
1
  module PolarisViewHelpers
2
2
  module Helper
3
3
 
4
+ def polaris_css version = '1.6.0'
5
+ %[<link rel="stylesheet" href="https://sdks.shopifycdn.com/polaris/#{version}/polaris.min.css" />].html_safe
6
+ end
7
+
8
+ def polaris_page(&block)
9
+ render(
10
+ partial: 'polaris/page',
11
+ locals: { block: block }
12
+ )
13
+ end
14
+
15
+ def polaris_page_header(title, &block)
16
+ render(
17
+ partial: 'polaris/page_header',
18
+ locals: { title: title, block: block }
19
+ )
20
+ end
21
+
22
+ def polaris_heading(title)
23
+ render(
24
+ partial: 'polaris/heading',
25
+ locals: { title: title }
26
+ )
27
+ end
28
+
29
+ def polaris_page_content(&block)
30
+ render(
31
+ partial: 'polaris/page_content',
32
+ locals: { block: block }
33
+ )
34
+ end
35
+
36
+ def polaris_layout(&block)
37
+ render(
38
+ partial: 'polaris/layout',
39
+ locals: { block: block }
40
+ )
41
+ end
42
+
43
+ def polaris_form_layout(&block)
44
+ render(
45
+ partial: 'polaris/form_layout',
46
+ locals: { block: block }
47
+ )
48
+ end
49
+
4
50
  def polaris_tabs(&block)
5
51
  render(
6
52
  partial: 'polaris/tabs',
@@ -121,6 +167,23 @@ module PolarisViewHelpers
121
167
  )
122
168
  end
123
169
 
170
+ def polaris_text_field(form, attribute, options = {}, element_type = :text_field, &block)
171
+ unless attribute.is_a? Array
172
+ attribute = [attribute]
173
+ end
174
+
175
+ render(
176
+ partial: 'polaris/text_field',
177
+ locals: {
178
+ form: form,
179
+ attribute: attribute,
180
+ element_type: element_type,
181
+ options: options,
182
+ block: block
183
+ }
184
+ )
185
+ end
186
+
124
187
  def polaris_annotated_section_text_field(form, attribute, options = {}, element_type = :text_field, &block)
125
188
  unless attribute.is_a? Array
126
189
  attribute = [attribute]
@@ -1,3 +1,3 @@
1
1
  module PolarisViewHelpers
2
- VERSION = "0.0.7"
2
+ VERSION = "0.0.8"
3
3
  end
@@ -0,0 +1,2 @@
1
+ // Place all the behaviors and hooks related to the matching controller here.
2
+ // All this logic will automatically be available in application.js.
@@ -13,3 +13,9 @@
13
13
  *= require_tree .
14
14
  *= require_self
15
15
  */
16
+
17
+ code.demo{
18
+ border-top:1px solid #dedede;
19
+ border-bottom:1px solid #dedede;
20
+ display:block;
21
+ }
@@ -0,0 +1,4 @@
1
+ /*
2
+ Place all the styles related to the matching controller here.
3
+ They will automatically be included in application.css.
4
+ */
@@ -0,0 +1,4 @@
1
+ class HomeController < ApplicationController
2
+ def index
3
+ end
4
+ end
@@ -1,2 +1,5 @@
1
1
  module ApplicationHelper
2
+ def demo_partial name
3
+ render 'home/demo_partial', {name: name}
4
+ end
2
5
  end
@@ -0,0 +1,2 @@
1
+ module HomeHelper
2
+ end
@@ -0,0 +1,3 @@
1
+ class ApplicationRecord < ActiveRecord::Base
2
+ self.abstract_class = true
3
+ end
@@ -0,0 +1,3 @@
1
+ class Widget < ApplicationRecord
2
+ validates :title, presence: true
3
+ end
@@ -0,0 +1,9 @@
1
+ <%= form_with url: root_url do |form| %>
2
+ <%= polaris_layout do %>
3
+ <%= polaris_annotated_section( heading: "Some heading", description: "A description of this section") do %>
4
+ <%= polaris_form_layout_item_select form, :timezone do %>
5
+ <%= form.time_zone_select :timezone, ActiveSupport::TimeZone.us_zones, {include_blank: true}, id: :setting_timezone, class: "Polaris-Select__Input" %>
6
+ <% end %>
7
+ <% end %>
8
+ <% end %>
9
+ <% end %>
@@ -0,0 +1,3 @@
1
+ <%= polaris_banner status: 'warning', title: "Banner title" do %>
2
+ <p>You could put some useful info here</p>
3
+ <% end %>
@@ -0,0 +1,6 @@
1
+ <%= polaris_banner status: 'success', title: 'Good news!' do %>
2
+ <p>This banner means that something good happened. Maybe you want to do anther thing?</p>
3
+ <%= polaris_banner_actions do %>
4
+ <%= polaris_button_link_to "Do a thing!", root_path, modifiers: ['outline'] %>
5
+ <% end %>
6
+ <% end %>
@@ -0,0 +1 @@
1
+ <%= polaris_button_link_to("Button text", root_path) %>
@@ -0,0 +1 @@
1
+ <%= polaris_button_link_to("Button text", root_path, modifiers: ['primary', 'sizeSlim']) %>
@@ -0,0 +1,8 @@
1
+ <p>&nbsp;</p>
2
+ <h3>Demo</h3>
3
+ <%= render name %>
4
+ <p>&nbsp;</p>
5
+ <h3>Code</h3>
6
+ <code class="demo">
7
+ <pre><%= File.open("test/dummy/app/views/home/_#{name}.html.erb").read %></pre>
8
+ </code>
@@ -0,0 +1,3 @@
1
+ <% invalid_widget = Widget.new %>
2
+ <% invalid_widget.validate %>
3
+ <%= polaris_model_errors invalid_widget %>
@@ -0,0 +1,4 @@
1
+ <%= polaris_page_actions({
2
+ left: polaris_button_link_to("One thing", root_path),
3
+ right: polaris_button_link_to("Another thing", root_path, modifiers: ['primary'])
4
+ }) %>
@@ -0,0 +1,4 @@
1
+ <%= polaris_tabs do %>
2
+ <%= polaris_tab "First tab", root_path %>
3
+ <%= polaris_tab "Second tab", root_path(foo: 'bar') %>
4
+ <% end %>
@@ -0,0 +1,6 @@
1
+ <%= form_with url: root_url do |form| %>
2
+ <%= polaris_form_layout do %>
3
+ <%= polaris_text_field form, :name %>
4
+ <%= polaris_text_field form, :email, {}, :email_field %>
5
+ <% end %>
6
+ <% end %>
@@ -0,0 +1,98 @@
1
+ <% @page_title = 'Polaris View Helpers' %>
2
+ <p>A collection of Rails helpers to make it easy to style a Shopify app.</p>
3
+ <p>&nbsp;</p>
4
+ <p>&nbsp;</p>
5
+ <p>&nbsp;</p>
6
+
7
+ <%= polaris_heading "Installing" %>
8
+
9
+ <p>Add this to your <code>Gemfile</code>.</p>
10
+ <code class="demo"><pre>
11
+ gem 'polaris_view_helpers'
12
+ </pre></code>
13
+ <p>&nbsp;</p>
14
+ <p>&nbsp;</p>
15
+ <p>&nbsp;</p>
16
+
17
+ <%= polaris_heading "Including the Polaris CSS" %>
18
+ <p>Add this to the <code>&lt;head&gt;</code> of your <code>layouts/application.html.erb</code> and/or
19
+ <code>layouts/embedded_app.html.erb</code>.</p>
20
+ <code class="demo"><pre>
21
+ &lt;%= polaris_css %&gt;
22
+ </pre></code>
23
+ <p>&nbsp;</p>
24
+ <p>If you need to specify a particular version of the CSS you can do so:</p>
25
+ <code class="demo"><pre>
26
+ &lt;%= polaris_css '1.0.3' %&gt;
27
+ </pre></code>
28
+ <p>&nbsp;</p>
29
+ <p>&nbsp;</p>
30
+ <p>&nbsp;</p>
31
+
32
+ <%= polaris_heading "Setting up your page" %>
33
+ <p>In <code>layouts/application.html.erb</code> and/or
34
+ <code>layouts/embedded_app.html.erb</code>you'll want to replace the conent
35
+ between the <code>&lt;body&gt;</code> tags with something like this.</p>
36
+ <code class="demo"><pre>
37
+ &lt;%= polaris_page do %&gt;
38
+ &lt;%= polaris_page_header @page_title %&gt;
39
+ &lt;%= polaris_page_content do %&gt;
40
+ &lt;%= yield %&gt;
41
+ &lt;% end %&gt;
42
+ &lt;% end %&gt;
43
+ </pre></code>
44
+ <p>&nbsp;</p>
45
+ <p>You can set the <code>@page_title</code> variable either in a controller action or in a template to get a header for each page.</p>
46
+ <p>&nbsp;</p>
47
+ <p>&nbsp;</p>
48
+ <p>&nbsp;</p>
49
+
50
+
51
+
52
+ <%= polaris_heading "Button links" %>
53
+ <%= demo_partial 'button_links' %>
54
+ <%= demo_partial 'button_links_with_modifiers' %>
55
+ <p>&nbsp;</p>
56
+ <p>&nbsp;</p>
57
+ <p>&nbsp;</p>
58
+
59
+
60
+ <%= polaris_heading "Tabs" %>
61
+ <%= demo_partial 'tabs' %>
62
+ <p>&nbsp;</p>
63
+ <p>&nbsp;</p>
64
+ <p>&nbsp;</p>
65
+
66
+ <%= polaris_heading "Banners" %>
67
+ <%= demo_partial 'banner' %>
68
+ <%= demo_partial 'banner_success' %>
69
+ <p>&nbsp;</p>
70
+ <p>&nbsp;</p>
71
+ <p>&nbsp;</p>
72
+
73
+
74
+ <%= polaris_heading "Text fields" %>
75
+ <%= demo_partial 'text_field' %>
76
+ <p>&nbsp;</p>
77
+ <p>&nbsp;</p>
78
+ <p>&nbsp;</p>
79
+
80
+
81
+ <%= polaris_heading "Annotated Section" %>
82
+ <%= demo_partial 'annotated_section' %>
83
+ <p>&nbsp;</p>
84
+ <p>&nbsp;</p>
85
+ <p>&nbsp;</p>
86
+
87
+ <%= polaris_heading "Model errors" %>
88
+ <%= demo_partial 'model_errors' %>
89
+ <p>&nbsp;</p>
90
+ <p>&nbsp;</p>
91
+ <p>&nbsp;</p>
92
+
93
+
94
+ <%= polaris_heading "Page actions" %>
95
+ <%= demo_partial 'page_actions' %>
96
+ <p>&nbsp;</p>
97
+ <p>&nbsp;</p>
98
+ <p>&nbsp;</p>
@@ -3,12 +3,18 @@
3
3
  <head>
4
4
  <title>Dummy</title>
5
5
  <%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track' => true %>
6
+ <%= polaris_css %>
6
7
  <%= javascript_include_tag 'application', 'data-turbolinks-track' => true %>
7
8
  <%= csrf_meta_tags %>
8
9
  </head>
9
10
  <body>
10
11
 
11
- <%= yield %>
12
+ <%= polaris_page do %>
13
+ <%= polaris_page_header @page_title %>
14
+ <%= polaris_page_content do %>
15
+ <%= yield %>
16
+ <% end %>
17
+ <% end %>
12
18
 
13
19
  </body>
14
20
  </html>
@@ -20,7 +20,7 @@ module Dummy
20
20
  # config.i18n.default_locale = :de
21
21
 
22
22
  # Do not swallow errors in after_commit/after_rollback callbacks.
23
- config.active_record.raise_in_transactional_callbacks = true
23
+ #config.active_record.raise_in_transactional_callbacks = true
24
24
  end
25
25
  end
26
26
 
@@ -22,4 +22,7 @@ test:
22
22
 
23
23
  production:
24
24
  <<: *default
25
- database: db/production.sqlite3
25
+ adapter: postgresql
26
+ database: polaris-view-helpers_production
27
+ username: polaris-view-helpers
28
+ password: <%= ENV['POLARIS-VIEW-HELPERS_DATABASE_PASSWORD'] %>
@@ -76,4 +76,10 @@ Rails.application.configure do
76
76
 
77
77
  # Do not dump schema after migrations.
78
78
  config.active_record.dump_schema_after_migration = false
79
+
80
+ if ENV["RAILS_LOG_TO_STDOUT"].present?
81
+ logger = ActiveSupport::Logger.new(STDOUT)
82
+ logger.formatter = config.log_formatter
83
+ config.logger = ActiveSupport::TaggedLogging.new(logger)
84
+ end
79
85
  end
@@ -1,4 +1,6 @@
1
1
  Rails.application.routes.draw do
2
+ root 'home#index'
3
+
2
4
  # The priority is based upon order of creation: first created -> highest priority.
3
5
  # See how all your routes lay out with "rake routes".
4
6
 
@@ -0,0 +1,9 @@
1
+ class CreateWidgets < ActiveRecord::Migration[5.1]
2
+ def change
3
+ create_table :widgets do |t|
4
+ t.string :title
5
+
6
+ t.timestamps
7
+ end
8
+ end
9
+ end
@@ -0,0 +1,21 @@
1
+ # This file is auto-generated from the current state of the database. Instead
2
+ # of editing this file, please use the migrations feature of Active Record to
3
+ # incrementally modify your database, and then regenerate this schema definition.
4
+ #
5
+ # Note that this schema.rb definition is the authoritative source for your
6
+ # database schema. If you need to create the application database on another
7
+ # system, you should be using db:schema:load, not running all the migrations
8
+ # from scratch. The latter is a flawed and unsustainable approach (the more migrations
9
+ # you'll amass, the slower it'll run and the greater likelihood for issues).
10
+ #
11
+ # It's strongly recommended that you check this file into your version control system.
12
+
13
+ ActiveRecord::Schema.define(version: 20171004015121) do
14
+
15
+ create_table "widgets", force: :cascade do |t|
16
+ t.string "title"
17
+ t.datetime "created_at", null: false
18
+ t.datetime "updated_at", null: false
19
+ end
20
+
21
+ end