express_ui 0.1.7 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (58) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/javascripts/express_ui/application.js +46 -0
  3. data/app/assets/javascripts/express_ui/sidebar.js +6 -0
  4. data/app/assets/javascripts/express_ui/styleguide.js +9 -10
  5. data/app/assets/stylesheets/express_ui/application.css +3 -0
  6. data/app/assets/stylesheets/express_ui/atoms/_animations.sass +3 -0
  7. data/app/assets/stylesheets/express_ui/atoms/_buttons.sass +35 -28
  8. data/app/assets/stylesheets/express_ui/atoms/_headings.sass +5 -5
  9. data/app/assets/stylesheets/express_ui/atoms/_icons.sass +1 -1
  10. data/app/assets/stylesheets/express_ui/atoms/_typography.sass +6 -3
  11. data/app/assets/stylesheets/express_ui/atoms/_variables.sass +5 -1
  12. data/app/assets/stylesheets/express_ui/molecules/_container.sass +23 -0
  13. data/app/assets/stylesheets/express_ui/molecules/_form_groups.sass +30 -1
  14. data/app/assets/stylesheets/express_ui/molecules/_forms.sass +15 -8
  15. data/app/assets/stylesheets/express_ui/molecules/_nav.sass +29 -4
  16. data/app/assets/stylesheets/express_ui/molecules/_tables.sass +9 -18
  17. data/app/assets/stylesheets/express_ui/organisms/_header.sass +6 -2
  18. data/app/assets/stylesheets/express_ui/organisms/_sidebar.sass +2 -1
  19. data/app/assets/stylesheets/express_ui/scripts/_accordion.sass +39 -0
  20. data/app/assets/stylesheets/express_ui/scripts/_calendar.sass +35 -0
  21. data/app/assets/stylesheets/express_ui/scripts/_carousel.sass +43 -0
  22. data/app/assets/stylesheets/express_ui/scripts/_datepicker.sass +10 -0
  23. data/app/assets/stylesheets/express_ui/scripts/_popup.sass +48 -0
  24. data/app/assets/stylesheets/express_ui/scripts/_select.sass +12 -0
  25. data/app/assets/stylesheets/express_ui/scripts/_slider.sass +30 -0
  26. data/app/assets/stylesheets/express_ui/style.sass +19 -0
  27. data/app/assets/stylesheets/express_ui/styleguide.sass +0 -4
  28. data/app/assets/stylesheets/express_ui/templates/_content_sidebar.sass +2 -2
  29. data/app/components/code_demo.rb +2 -4
  30. data/app/controllers/express_ui/scripts_controller.rb +10 -0
  31. data/app/views/express_ui/molecules/_forms.html.erb +1 -1
  32. data/app/views/express_ui/molecules/_forms_select.html.erb +2 -2
  33. data/app/views/express_ui/molecules/_table.html.erb +0 -2
  34. data/app/views/express_ui/molecules/_table_with_filtering.html.erb +83 -54
  35. data/app/views/express_ui/scripts/_accordion.html.et +27 -0
  36. data/app/views/express_ui/scripts/_calendar.html.et +35 -0
  37. data/app/views/express_ui/scripts/_carousel.html.et +21 -0
  38. data/app/views/express_ui/scripts/_datepicker.html.et +37 -0
  39. data/app/views/express_ui/scripts/_popup.html.et +58 -0
  40. data/app/views/express_ui/scripts/_select.html.et +40 -0
  41. data/app/views/express_ui/scripts/_tabs.html.et +17 -0
  42. data/app/views/express_ui/scripts/index.html.erb +41 -0
  43. data/app/views/express_ui/shared/_header.html.erb +1 -0
  44. data/app/views/layouts/express_ui/_head.html.erb +3 -1
  45. data/config/routes.rb +1 -0
  46. data/lib/express_ui/engine.rb +5 -3
  47. data/lib/express_ui/version.rb +1 -1
  48. data/vendor/assets/javascripts/forms.js +39 -0
  49. data/vendor/assets/javascripts/ion.rangeSlider.js +2368 -0
  50. data/vendor/assets/javascripts/picker.date.js +1354 -0
  51. data/vendor/assets/javascripts/picker.js +1163 -0
  52. data/vendor/assets/stylesheets/classic.css +99 -0
  53. data/vendor/assets/stylesheets/default.css +4 -0
  54. data/vendor/assets/stylesheets/default.date.css +1 -0
  55. data/vendor/assets/stylesheets/ion.rangeSlider.css +146 -0
  56. data/vendor/assets/stylesheets/ion.rangeSlider.skinFlat.css +86 -0
  57. metadata +102 -20
  58. data/app/components/express_ui/table/express_table.rb +0 -6
@@ -0,0 +1,35 @@
1
+ .ae-calendar
2
+ .fc-widget-header, .fc-content-skeleton
3
+ table
4
+ margin: 0
5
+ &.fc table
6
+ @include font-size(18px, 14px)
7
+
8
+ h2
9
+ padding: 0
10
+
11
+ .fc-icon-left-single-arrow, .fc-icon-right-single-arrow
12
+ &:after
13
+ @include icon-font
14
+ font-weight: normal
15
+ font-size: 100%
16
+ top: 0
17
+
18
+ .fc-icon-left-single-arrow:after
19
+ content: "\f053"
20
+
21
+ .fc-icon-right-single-arrow:after
22
+ content: "\f054"
23
+
24
+ .fc-button.fc-state-default
25
+ @include button
26
+ @include btn-type($primary-color)
27
+ color: #fff
28
+ text-shadow: none
29
+ box-shadow: none
30
+ @include font-size(18px, 14px)
31
+
32
+ .fc-button.fc-state-default .fc-icon
33
+ top: 0
34
+ height: auto
35
+ line-height: normal
@@ -0,0 +1,43 @@
1
+ .ae-carousel
2
+ .ae-carousel-item
3
+ background-repeat: no-repeat
4
+ background-size: cover
5
+ position: relative
6
+
7
+ .ae-carousel-caption
8
+ position: absolute
9
+ bottom: 0
10
+ left: 0
11
+ right: 0
12
+ background: rgba(#000, 0.5)
13
+ max-height: 5em
14
+ overflow: scroll
15
+
16
+ @include tablet-max
17
+ padding: 0 0.5em 0.5em 0.5em
18
+
19
+ @include tablet
20
+ padding: 0 6em 0.5em 0.5em
21
+
22
+ *
23
+ color: #fff
24
+
25
+ .carousel-heading
26
+ border-bottom: 1px solid #fff
27
+
28
+ @include tablet-max
29
+ min-height: 200px
30
+
31
+ @include tablet
32
+ min-height: 400px
33
+
34
+ .ae-carousel-controls
35
+ position: absolute
36
+ right: 0.5em
37
+ z-index: 99
38
+
39
+ @include tablet-max
40
+ top: 0.5em
41
+
42
+ @include tablet
43
+ bottom: 0.5em
@@ -0,0 +1,10 @@
1
+ // Overrides for the datepicker
2
+ .picker
3
+ select, .picker__select--year, .picker__select--month
4
+ width: auto
5
+
6
+ .picker__day--today:before, .picker__button--today:before
7
+ border-top-color: $primary-color
8
+
9
+ .picker__select--month
10
+ margin-left: 1em
@@ -0,0 +1,48 @@
1
+ // TODO: Adds fake transparent blocker behind popup. Should be removed once JS is active
2
+ .ae-popup
3
+ width: 60%
4
+ background: #fff
5
+ margin: 2em auto
6
+ padding: 1em
7
+ position: relative
8
+
9
+ .ae-popup-header
10
+ padding:
11
+ right: 1em
12
+ left: 1em
13
+ bottom: 1em
14
+ position: relative
15
+ border-bottom: 1px solid $border-light
16
+
17
+ .ae-popup-title
18
+ padding-right: 1em
19
+
20
+ .ae-popup-close
21
+ position: absolute
22
+ right: 1em
23
+ top: 1em
24
+ text-decoration: none
25
+
26
+ .ae-popup-content
27
+ padding: 1em
28
+ max-height: 300px
29
+ overflow: scroll
30
+
31
+ .ae-popup-footer
32
+ padding: 0 1em
33
+ overflow: hidden
34
+
35
+ @include tablet-max
36
+ width: 90% !important
37
+
38
+ @include tablet
39
+ height: 100%
40
+
41
+ .ae-popup-sm
42
+ width: 40%
43
+
44
+ .ae-popup-md
45
+ width: 60%
46
+
47
+ .ae-popup-lg
48
+ width: 80%
@@ -0,0 +1,12 @@
1
+ .select2
2
+ @include font-size(18px, 14px)
3
+ margin: 1em 0 !important
4
+
5
+ .select2-selection--single
6
+ height: 36px !important
7
+
8
+ .select2-selection__rendered
9
+ line-height: 36px !important
10
+
11
+ .select2-selection__arrow
12
+ height: 36px !important
@@ -0,0 +1,30 @@
1
+ .irs .irs-line
2
+ height: 6px
3
+
4
+ .irs-line-mid, .irs-line-left, .irs-line-right, .irs-bar-edge, .irs-slider
5
+ background: $border-light
6
+ cursor: pointer
7
+
8
+ .irs
9
+
10
+ .irs-bar
11
+ background: $primary-color
12
+ height: 6px
13
+ cursor: pointer
14
+
15
+ &:hover
16
+ @include box-shadow(0, 0px, 5px, 0, $border-dark)
17
+
18
+ .irs-from, .irs-to, .irs-single
19
+ cursor: pointer
20
+ top: 16px
21
+ z-index: 1
22
+ @include border-radius(3px)
23
+ @include font-size(20px, 20px)
24
+ background: darken($primary-color, 15%)
25
+
26
+ &:hover
27
+ @include box-shadow(0, 0px, 5px, 0, $border-dark)
28
+
29
+ &:after
30
+ display: none
@@ -30,3 +30,22 @@
30
30
  @import "templates/half_width"
31
31
  @import "templates/content_sidebar"
32
32
  @import "templates/master_detail"
33
+ @import "scripts/accordion"
34
+ @import "scripts/carousel"
35
+ @import "scripts/popup"
36
+ @import "scripts/calendar"
37
+ @import "scripts/select"
38
+ @import "scripts/datepicker"
39
+ @import "scripts/slider"
40
+ @import "scripts/datepicker"
41
+ @import "scripts/slider"
42
+
43
+ @import "default.date"
44
+ @import "default"
45
+ @import "magnific-popup"
46
+ @import "fullcalendar"
47
+ @import "select2"
48
+ @import "ion.rangeSlider"
49
+ @import "ion.rangeSlider.skinFlat"
50
+ @import "default.date"
51
+ @import "default"
@@ -19,9 +19,6 @@ header
19
19
  &:hover
20
20
  @include scale
21
21
 
22
- pre
23
- font-size: 0.75rem
24
-
25
22
  .pre-line
26
23
  white-space: pre-line
27
24
 
@@ -79,7 +76,6 @@ pre
79
76
  z-index: 2
80
77
  cursor: pointer
81
78
 
82
-
83
79
  // Hide the tooltip content by default
84
80
  [data-tooltip]:before,
85
81
  [data-tooltip]:after
@@ -3,7 +3,7 @@
3
3
  .ae-sidebar-left
4
4
  display: none
5
5
  left: 10px
6
- top: 4.6em
6
+ margin-top: 2em
7
7
  right: 10px
8
8
  width: auto !important
9
9
  z-index: 99
@@ -47,4 +47,4 @@
47
47
  overflow: auto
48
48
 
49
49
  @include tablet-max
50
- padding-top: $container-padding*6
50
+ padding-top: $container-padding*6 !important
@@ -22,10 +22,8 @@ class CodeDemo < ExpressTemplates::Components::Container
22
22
 
23
23
  div(id: 'output', class: 'ae-tab-content'){
24
24
  div(class: 'demo-container'){
25
- # eval block.call.html_safe
25
+ eval block.call.html_safe
26
26
  }
27
27
  }
28
28
  }
29
- end
30
-
31
-
29
+ end
@@ -0,0 +1,10 @@
1
+ require_dependency "express_ui/application_controller"
2
+
3
+ module ExpressUi
4
+ class ScriptsController < ApplicationController
5
+ layout "express_ui/styleguide"
6
+
7
+ def index
8
+ end
9
+ end
10
+ end
@@ -190,7 +190,7 @@
190
190
  <%= render "express_ui/molecules/forms_checkbox" %>
191
191
 
192
192
  <h4>Select</h4>
193
- <p>Add <code>input-size</code> in <code>select</code> to change select form height and font size.</p>
193
+
194
194
  <%= render "express_ui/molecules/forms_select" %>
195
195
 
196
196
  <h4>Switch</h4>
@@ -1,7 +1,6 @@
1
1
  <form>
2
2
  <div class="ae-form-field">
3
- <label for="select">Filter</label>
4
- <select class="ae-input-md" name="select" id="select">
3
+ <select class="ae-select" name="select" id="select">
5
4
  <option value="volvo">Volvo</option>
6
5
  <option value="saab">Saab</option>
7
6
  <option value="mercedes">Mercedes</option>
@@ -9,3 +8,4 @@
9
8
  </select>
10
9
  </div>
11
10
  </form>
11
+
@@ -86,8 +86,6 @@
86
86
  <%= render "express_ui/molecules/table_with_filtering" %>
87
87
  </div>
88
88
 
89
- <h4>Empty Table</h4>
90
-
91
89
  <p>Recommended reading on designing tables: <a href="https://medium.com/mission-log/design-better-data-tables-430a30a00d8c#.28lwzzybi" title="Design better data tables">Design better data tables</a></p></section>
92
90
 
93
91
 
@@ -1,56 +1,85 @@
1
- <div class="ae-table-filter">
2
- <div class="ae-filter">
3
- <%= render "express_ui/molecules/form_group_single_line" %>
4
- </div>
5
- <div class="ae-filter">
6
- <%= render "express_ui/molecules/forms_radio" %>
7
- </div>
8
- <div class="ae-filter">
9
- <%= render "express_ui/molecules/forms_select" %>
10
- </div>
11
- <div class="ae-filter">
12
- <a href="#" title="Reset">×</a>
1
+ <div class="ae-demo-container">
2
+ <div class="ae-mega-menu">
3
+ <div class="ae-actions">
4
+ <a href="#" class="ae-btn ae-btn-md ae-btn-border ae-btn-default ae-open-filter"><i class="fa fa-filter"></i> Filter</a>
5
+ </div>
6
+ <div class="ae-table-filter ae-hidden">
7
+ <div class="ae-nav-mega-menu-content">
8
+ <a href="#" class="ae-mega-menu-close ae-u-float-right">×</a>
9
+ <ul class="ae-list-block ae-nav-mega-menu-list">
10
+ <li class="ae-nav-mega-menu-item">
11
+ <h3 class="ae-filter-heading">Sort By</h3>
12
+ <form>
13
+ <select class="ae-select">
14
+ <option value="Value 1">Value 1</option>
15
+ <option value="Value 2">Value 2</option>
16
+ </select>
17
+ </form>
18
+ </li>
19
+ <li class="ae-nav-mega-menu-item ae-nav-mega-menu-item-inline">
20
+ <h3 class="ae-filter-heading">Button Group (Single Selection)</h3>
21
+ <div class="ae-btn-group-single">
22
+ <a href="#!" class="ae-btn ae-btn-border ae-btn-default ae-btn-md">Type 1</a>
23
+ <a href="#!" class="ae-btn ae-btn-border ae-btn-default ae-btn-md">Type 2</a>
24
+ <a href="#!" class="ae-btn ae-btn-border ae-btn-default ae-btn-md">Type 3</a>
25
+ </div>
26
+ </li>
27
+ <li class="ae-nav-mega-menu-item ae-nav-mega-menu-item-inline">
28
+ <h3 class="ae-filter-heading">Button Group (Multiple Selection)</h3>
29
+ <div class="ae-btn-group-multiple">
30
+ <a href="#!" class="ae-btn ae-btn-border ae-btn-default ae-btn-md">Type 1</a>
31
+ <a href="#!" class="ae-btn ae-btn-border ae-btn-default ae-btn-md">Type 2</a>
32
+ <a href="#!" class="ae-btn ae-btn-border ae-btn-default ae-btn-md">Type 3</a>
33
+ </div>
34
+ </li>
35
+ <li class="ae-nav-mega-menu-item">
36
+ <h3 class="ae-filter-heading">Single Slider</h3>
37
+ <input type="text" id="ae-single-slider" value="" name="range" />
38
+ </li>
39
+ <li class="ae-nav-mega-menu-item">
40
+ <h3 class="ae-filter-heading">Double Slider</h3>
41
+ <input type="text" id="ae-double-slider" value="" name="range" />
42
+ </li>
43
+ <li class="ae-nav-mega-menu-item">
44
+ <h3 class="ae-filter-heading">Input Increment</h3>
45
+ <div class="ae-form-increment">
46
+ <div class="ae-form-field">
47
+ <input type="number" name="numbers" value="1" class="ae-input-increment ae-text-field ae-input-md">
48
+ </div>
49
+ <div class="ae-actions">
50
+ <button class="ae-btn ae-btn-primary ae-btn-increment ae-btn-md" type="button">-</button>
51
+ <button class="ae-btn ae-btn-primary ae-btn-increment ae-btn-md" type="button">+</button>
52
+ </div>
53
+ </div>
54
+ </li>
55
+ <li class="ae-nav-mega-menu-item">
56
+ <div class="ae-grid-container ae-grid-one-half">
57
+ <div class="ae-grid">
58
+ <h3 class="ae-filter-heading">From</h3>
59
+ <form class="ae-form-single">
60
+ <div class="ae-form-field ae-has-icon">
61
+ <i class="fa fa-calendar"></i>
62
+ <input class="ae-text-field ae-input-md" type="text" name="datepicker" placeholder="Select a date" />
63
+ </div>
64
+ </form>
65
+ </div>
66
+ <div class="ae-grid">
67
+ <h3 class="ae-filter-heading">To</h3>
68
+ <form class="ae-form-single">
69
+ <div class="ae-form-field ae-has-icon">
70
+ <i class="fa fa-calendar"></i>
71
+ <input class="ae-text-field ae-input-md" type="text" name="datepicker" placeholder="Select a date" />
72
+ </div>
73
+ </form>
74
+ </div>
75
+ </div>
76
+ </li>
77
+ </ul>
78
+ <div class="ae-actions">
79
+ <a href="#" class="ae-btn ae-btn-block ae-btn-primary ae-btn-md">Apply</a>
80
+ <a href="#" class="ae-btn ae-btn-block ae-btn-default ae-btn-border ae-btn-md">Reset</a>
81
+ </div>
13
82
  </div>
14
83
  </div>
15
- <div class="ae-table-responsive">
16
- <table>
17
-
18
- <thead>
19
- <th><a href="#" title="created_at">Created At </a></th>
20
- <th width="30%"><a href="#" title="address">Address</a></th>
21
- <th><a href="#" title="contract_effective_date">Contract Effective Date </a></th>
22
- <th><a href="#" title="closing_date">Closing Date</a></th>
23
- <th><a href="#" title="owner">Owner</a></th>
24
- <th><a href="#" title="creation_step">Creation Step</a></th>
25
- <th><a href="#" title="paid">Paid</a></th>
26
- <th width="15%"><a href="#" title="action">Actions</a></th>
27
- </thead>
28
- <tbody>
29
- <tr>
30
- <td>January 07, 2016 </td>
31
- <td><a href="#">658 NW 9th Ct, Boca Raton, FL 33486, USA</a></td>
32
- <td>January 07, 2016 </td>
33
- <td>January 29, 2016 </td>
34
- <td></td>
35
- <td>step_2</td>
36
- <td>false</td>
37
- <td><button type="button" value="Delete" class="ae-btn ae-btn-danger">Delete</button></td>
38
- </tr>
39
- <tr>
40
- <td>January 07, 2016 </td>
41
- <td><a href="#">2714 Southern Parkway West</a></td>
42
- <td>January 07, 2016 </td>
43
- <td>January 29, 2016 </td>
44
- <td></td>
45
- <td>step_2</td>
46
- <td>false</td>
47
- <td><a href="#">View</a></td>
48
- </tr>
49
- <tr>
50
- <td>Small Office</td>
51
- <td>Top Producer</td>
52
- <td>$1,299.00</td>
53
- </tr>
54
- </tbody>
55
- </table>
56
- </div>
84
+ </div>
85
+ </div>
@@ -0,0 +1,27 @@
1
+ para { 'Reference: http://www.jqueryscript.net/accordion/Accessible-Cross-browser-Accordion-Plugin-For-jQuery-QuickAccord.html' }
2
+
3
+ code_demo {
4
+ %Q{
5
+ ul {
6
+ li {
7
+ a(href:"#ae-accordion1", class:"ae-accordion-trigger ae-btn ae-btn-primary") { 'Accordion 1' }
8
+ div(id: "ae-accordion1", class: "ae-accordion-content") {
9
+ para { 'Content 1'}
10
+ }
11
+ }
12
+ li {
13
+ a(href:"#ae-accordion2", class:"ae-accordion-trigger ae-btn ae-btn-primary collapsed") { 'Accordion 2' }
14
+ div(id: "ae-accordion2", class: "ae-accordion-content collapsed") {
15
+ para { 'Content 2'}
16
+ }
17
+ }
18
+ li {
19
+ a(href:"#ae-accordion3", class:"ae-accordion-trigger ae-btn ae-btn-primary collapsed") { 'Accordion 3' }
20
+ div(id: "ae-accordion3", class: "ae-accordion-content collapsed") {
21
+ para { 'Content 3'}
22
+ }
23
+ }
24
+ }
25
+ }
26
+ }
27
+
@@ -0,0 +1,35 @@
1
+ para {
2
+ text_node 'ExpressUI uses FullCalendar to display dates.'
3
+ a(href: 'https://fullcalendar.io/docs/', title: 'FullCalendar documentation') { 'See documentation' }
4
+ text_node 'and usage guidelines.'
5
+ }
6
+
7
+ table {
8
+ thead {
9
+ th { "Code" }
10
+ th { "Notes" }
11
+ }
12
+ tbody {
13
+ tr {
14
+ td {
15
+ code { "$('.ae-calendar').fullCalendar()" }
16
+ }
17
+ td { "Required Javascript. This script initializes the calendar." }
18
+ }
19
+ tr {
20
+ td {
21
+ code { '<div class="ae-calendar"></div>' }
22
+ }
23
+ td { "Required mark-up. The Javascript inserts the calendar through this class." }
24
+ }
25
+ }
26
+ }
27
+
28
+
29
+ code_demo {
30
+ %Q{
31
+ div(class: 'ae-calendar')
32
+ }
33
+ }
34
+
35
+
@@ -0,0 +1,21 @@
1
+ para { 'https://github.com/Naggi-Goishi/siema-rails' }
2
+
3
+
4
+ code_demo {
5
+ %Q{
6
+ div(class: 'ae-carousel') {
7
+ div(class: 'ae-carousel-item', style: "background-image: url('http://lorempixel.com/1000/300/food')") {
8
+ div(class: 'ae-carousel-controls') {
9
+ div(class: 'ae-btn-group ae-btn-group-right') {
10
+ button(class: 'ae-btn ae-btn-primary', type: 'button') { 'Back' }
11
+ button(class: 'ae-btn ae-btn-primary', type: 'button') { 'Next' }
12
+ }
13
+ }
14
+ div(class: 'ae-carousel-caption') {
15
+ h3(class: 'carousel-heading') { 'Slide 1 Title' }
16
+ para { 'Slide 1 caption' }
17
+ }
18
+ }
19
+ }
20
+ }
21
+ }
@@ -0,0 +1,37 @@
1
+ para {
2
+ text_node 'ExpressUI uses Pickadate.js to select dates.'
3
+ a(href: 'http://amsul.ca/pickadate.js/date/', title: 'Pickadate.js documentation') { 'See documentation' }
4
+ text_node 'and usage guidelines.'
5
+ }
6
+
7
+ table {
8
+ thead {
9
+ th { "Code" }
10
+ th { "Notes" }
11
+ }
12
+ tbody {
13
+ tr {
14
+ td {
15
+ code { "$('.ae-datepicker').pickadate()" }
16
+ }
17
+ td { "Required Javascript. This script initializes the datepicker." }
18
+ }
19
+ tr {
20
+ td {
21
+ code { '<input class="ae-datepicker"></input>' }
22
+ }
23
+ td { "Required mark-up. The Javascript inserts the datepicker through this class." }
24
+ }
25
+ }
26
+ }
27
+
28
+ code_demo {
29
+ %Q{
30
+ form {
31
+ div(class: 'ae-form-field ae-has-icon') {
32
+ i(class: 'fa fa-calendar')
33
+ input(type: 'text', class: 'ae-datepicker ae-text-field ae-input-lg', name: 'ae-datepicker', placeholder: 'Select a date')
34
+ }
35
+ }
36
+ }
37
+ }
@@ -0,0 +1,58 @@
1
+ para {
2
+ text_node 'ExpressUI uses Magnific Pop-up.'
3
+ a(href: 'http://dimsemenov.com/plugins/magnific-popup/documentation.html', title: 'Magnific Pop-up documentation') { 'See documentation' }
4
+ text_node 'and usage guidelines.'
5
+ }
6
+
7
+ para {
8
+ text_node 'To add a header and footer/pop-up actions to the pop-up, you may use the '
9
+ link_to '<code>popup()</code> component'.html_safe, uicomponents_path(anchor: "pop-up")
10
+ }
11
+
12
+ table {
13
+ thead {
14
+ th { "Class" }
15
+ th { "Notes" }
16
+ }
17
+ tbody {
18
+ tr {
19
+ td {
20
+ code { ".ae-popup-link" }
21
+ text_node '+ href'
22
+ code { "#sample-popup" }
23
+ }
24
+ td { "Required. This link triggers the pop-up" }
25
+ }
26
+ tr {
27
+ td {
28
+ code { ".ae-popup" }
29
+ text_node '+ ID'
30
+ code { "sample-popup" }
31
+ }
32
+ td { "Required. Pop-up contents" }
33
+ }
34
+ tr {
35
+ td {
36
+ code { ".ae-popup" }
37
+ text_node '+'
38
+ code { ".ae-popup-sm" }
39
+ code { ".ae-popup-md" }
40
+ code { ".ae-popup-lg" }
41
+ }
42
+ td { "Optional. Specify pop-up size" }
43
+ }
44
+ }
45
+ }
46
+
47
+
48
+ code_demo {
49
+ %Q{
50
+ a(href: "#sample-popup", class: "ae-popup-link ae-btn ae-btn-primary ae-btn-md") { 'Open Popup' }
51
+
52
+ div(id: "sample-popup", class: "mfp-hide ae-popup ae-popup-sm") {
53
+ para { 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean laoreet vestibulum enim, eu malesuada dolor mollis a. Quisque mollis pulvinar enim id malesuada. Sed sit amet libero libero. Nullam velit erat, fringilla sit amet porttitor et, facilisis vitae lectus. Fusce eget nisl sagittis metus faucibus placerat et eget ligula. Duis eget augue maximus, fermentum velit at, bibendum nulla. Cras a libero mi. Sed ac feugiat justo. Maecenas euismod ex enim, eget auctor velit sollicitudin scelerisque. Suspendisse placerat pellentesque mauris nec accumsan. Quisque volutpat, sapien eget interdum fringilla, ex lectus aliquam elit, eget faucibus libero lectus a sem.'
54
+ }
55
+ }
56
+ }
57
+ }
58
+
@@ -0,0 +1,40 @@
1
+ para {
2
+ text_node 'AppExpress uses select2 dropdown to style select inputs.'
3
+ a(href: 'https://select2.github.io/examples.html', title: 'select2 documentation') { 'See documentation' }
4
+ text_node 'and usage guidelines.'
5
+ }
6
+
7
+ table {
8
+ thead {
9
+ th { "Class" }
10
+ th { "Notes" }
11
+ }
12
+ tbody {
13
+ tr {
14
+ td {
15
+ code { ".ae-select" }
16
+ }
17
+ td { "Required. This div class inserts the select2 dropdown." }
18
+ }
19
+ tr {
20
+ td {
21
+ code { "<select><option></option>
22
+ </select>" }
23
+ }
24
+ td { "Required. Select2 transforms this select into a dropdown list." }
25
+ }
26
+ }
27
+ }
28
+
29
+
30
+ code_demo {
31
+ %Q{
32
+ form() {
33
+ select(class: 'ae-select', name: 'select', id: 'select-sample') {
34
+ option(value: "option1") { 'Option 1' }
35
+ option(value: "option2") { 'Option 2' }
36
+ }
37
+ }
38
+ }
39
+ }
40
+