jakewendt-surveyor 0.11.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (160) hide show
  1. data/MIT-LICENSE +20 -0
  2. data/README.md +285 -0
  3. data/Rakefile +54 -0
  4. data/VERSION +1 -0
  5. data/app/controllers/surveyor_controller.rb +142 -0
  6. data/app/helpers/survey_form_builder.rb +37 -0
  7. data/app/helpers/surveyor_helper.rb +67 -0
  8. data/app/models/answer.rb +23 -0
  9. data/app/models/dependency.rb +50 -0
  10. data/app/models/dependency_condition.rb +47 -0
  11. data/app/models/question.rb +54 -0
  12. data/app/models/question_group.rb +33 -0
  13. data/app/models/response.rb +94 -0
  14. data/app/models/response_set.rb +316 -0
  15. data/app/models/survey.rb +172 -0
  16. data/app/models/survey_section.rb +18 -0
  17. data/app/models/validation.rb +38 -0
  18. data/app/models/validation_condition.rb +47 -0
  19. data/app/views/layouts/surveyor_default.html.erb +13 -0
  20. data/app/views/partials/_answer.html.haml +58 -0
  21. data/app/views/partials/_question.html.haml +80 -0
  22. data/app/views/partials/_question_group.html.haml +39 -0
  23. data/app/views/surveyor/edit.html.haml +38 -0
  24. data/app/views/surveyor/new.html.haml +16 -0
  25. data/app/views/surveyor/show.html.haml +12 -0
  26. data/config/routes.rb +11 -0
  27. data/features/step_definitions/surveyor_steps.rb +7 -0
  28. data/features/step_definitions/web_steps.rb +273 -0
  29. data/features/support/env.rb +57 -0
  30. data/features/support/paths.rb +25 -0
  31. data/features/surveyor.feature +11 -0
  32. data/generators/extend_surveyor/extend_surveyor_generator.rb +22 -0
  33. data/generators/extend_surveyor/templates/EXTENDING_SURVEYOR +17 -0
  34. data/generators/extend_surveyor/templates/extensions/survey_extensions.rb +24 -0
  35. data/generators/extend_surveyor/templates/extensions/surveyor_controller_extensions.rb +28 -0
  36. data/generators/extend_surveyor/templates/extensions/surveyor_custom.html.erb +13 -0
  37. data/generators/extend_surveyor/templates/extensions/surveyor_helper_extensions.rb +17 -0
  38. data/generators/surveyor/surveyor_generator.rb +67 -0
  39. data/generators/surveyor/templates/README +10 -0
  40. data/generators/surveyor/templates/assets/images/222222_11x11_icon_arrows_leftright.gif +0 -0
  41. data/generators/surveyor/templates/assets/images/222222_11x11_icon_arrows_updown.gif +0 -0
  42. data/generators/surveyor/templates/assets/images/222222_11x11_icon_close.gif +0 -0
  43. data/generators/surveyor/templates/assets/images/222222_11x11_icon_doc.gif +0 -0
  44. data/generators/surveyor/templates/assets/images/222222_11x11_icon_folder_closed.gif +0 -0
  45. data/generators/surveyor/templates/assets/images/222222_11x11_icon_folder_open.gif +0 -0
  46. data/generators/surveyor/templates/assets/images/222222_11x11_icon_minus.gif +0 -0
  47. data/generators/surveyor/templates/assets/images/222222_11x11_icon_plus.gif +0 -0
  48. data/generators/surveyor/templates/assets/images/222222_11x11_icon_resize_se.gif +0 -0
  49. data/generators/surveyor/templates/assets/images/222222_35x9_colorpicker_indicator.gif.gif +0 -0
  50. data/generators/surveyor/templates/assets/images/222222_7x7_arrow_down.gif +0 -0
  51. data/generators/surveyor/templates/assets/images/222222_7x7_arrow_left.gif +0 -0
  52. data/generators/surveyor/templates/assets/images/222222_7x7_arrow_right.gif +0 -0
  53. data/generators/surveyor/templates/assets/images/222222_7x7_arrow_up.gif +0 -0
  54. data/generators/surveyor/templates/assets/images/454545_11x11_icon_arrows_leftright.gif +0 -0
  55. data/generators/surveyor/templates/assets/images/454545_11x11_icon_arrows_updown.gif +0 -0
  56. data/generators/surveyor/templates/assets/images/454545_11x11_icon_close.gif +0 -0
  57. data/generators/surveyor/templates/assets/images/454545_11x11_icon_doc.gif +0 -0
  58. data/generators/surveyor/templates/assets/images/454545_11x11_icon_folder_closed.gif +0 -0
  59. data/generators/surveyor/templates/assets/images/454545_11x11_icon_folder_open.gif +0 -0
  60. data/generators/surveyor/templates/assets/images/454545_11x11_icon_minus.gif +0 -0
  61. data/generators/surveyor/templates/assets/images/454545_11x11_icon_plus.gif +0 -0
  62. data/generators/surveyor/templates/assets/images/454545_7x7_arrow_down.gif +0 -0
  63. data/generators/surveyor/templates/assets/images/454545_7x7_arrow_left.gif +0 -0
  64. data/generators/surveyor/templates/assets/images/454545_7x7_arrow_right.gif +0 -0
  65. data/generators/surveyor/templates/assets/images/454545_7x7_arrow_up.gif +0 -0
  66. data/generators/surveyor/templates/assets/images/888888_11x11_icon_arrows_leftright.gif +0 -0
  67. data/generators/surveyor/templates/assets/images/888888_11x11_icon_arrows_updown.gif +0 -0
  68. data/generators/surveyor/templates/assets/images/888888_11x11_icon_close.gif +0 -0
  69. data/generators/surveyor/templates/assets/images/888888_11x11_icon_doc.gif +0 -0
  70. data/generators/surveyor/templates/assets/images/888888_11x11_icon_folder_closed.gif +0 -0
  71. data/generators/surveyor/templates/assets/images/888888_11x11_icon_folder_open.gif +0 -0
  72. data/generators/surveyor/templates/assets/images/888888_11x11_icon_minus.gif +0 -0
  73. data/generators/surveyor/templates/assets/images/888888_11x11_icon_plus.gif +0 -0
  74. data/generators/surveyor/templates/assets/images/888888_7x7_arrow_down.gif +0 -0
  75. data/generators/surveyor/templates/assets/images/888888_7x7_arrow_left.gif +0 -0
  76. data/generators/surveyor/templates/assets/images/888888_7x7_arrow_right.gif +0 -0
  77. data/generators/surveyor/templates/assets/images/888888_7x7_arrow_up.gif +0 -0
  78. data/generators/surveyor/templates/assets/images/dadada_40x100_textures_02_glass_75.png +0 -0
  79. data/generators/surveyor/templates/assets/images/e6e6e6_40x100_textures_02_glass_75.png +0 -0
  80. data/generators/surveyor/templates/assets/images/ffffff_40x100_textures_01_flat_0.png +0 -0
  81. data/generators/surveyor/templates/assets/images/ffffff_40x100_textures_02_glass_65.png +0 -0
  82. data/generators/surveyor/templates/assets/javascripts/accessibleUISlider.jQuery.js +201 -0
  83. data/generators/surveyor/templates/assets/javascripts/jquery-1.2.6.js +3549 -0
  84. data/generators/surveyor/templates/assets/javascripts/jquery-ui-personalized-1.5.3.js +7616 -0
  85. data/generators/surveyor/templates/assets/javascripts/jquery.form.js +637 -0
  86. data/generators/surveyor/templates/assets/javascripts/surveyor.js +47 -0
  87. data/generators/surveyor/templates/assets/stylesheets/jquery-ui-slider-additions.css +71 -0
  88. data/generators/surveyor/templates/assets/stylesheets/reset.css +50 -0
  89. data/generators/surveyor/templates/assets/stylesheets/sass/surveyor.sass +243 -0
  90. data/generators/surveyor/templates/assets/stylesheets/surveyor.css +235 -0
  91. data/generators/surveyor/templates/assets/stylesheets/ui.theme.css +851 -0
  92. data/generators/surveyor/templates/initializers/haml.rb +8 -0
  93. data/generators/surveyor/templates/initializers/surveyor.rb +10 -0
  94. data/generators/surveyor/templates/migrate/add_correct_answer_id_to_questions.rb +9 -0
  95. data/generators/surveyor/templates/migrate/add_display_order_to_surveys.rb +9 -0
  96. data/generators/surveyor/templates/migrate/add_index_to_response_sets.rb +9 -0
  97. data/generators/surveyor/templates/migrate/add_index_to_surveys.rb +9 -0
  98. data/generators/surveyor/templates/migrate/add_manual_numbering.rb +11 -0
  99. data/generators/surveyor/templates/migrate/add_unique_indicies.rb +17 -0
  100. data/generators/surveyor/templates/migrate/create_answers.rb +37 -0
  101. data/generators/surveyor/templates/migrate/create_dependencies.rb +22 -0
  102. data/generators/surveyor/templates/migrate/create_dependency_conditions.rb +29 -0
  103. data/generators/surveyor/templates/migrate/create_question_groups.rb +27 -0
  104. data/generators/surveyor/templates/migrate/create_questions.rb +36 -0
  105. data/generators/surveyor/templates/migrate/create_response_sets.rb +22 -0
  106. data/generators/surveyor/templates/migrate/create_responses.rb +33 -0
  107. data/generators/surveyor/templates/migrate/create_survey_sections.rb +29 -0
  108. data/generators/surveyor/templates/migrate/create_surveys.rb +31 -0
  109. data/generators/surveyor/templates/migrate/create_validation_conditions.rb +32 -0
  110. data/generators/surveyor/templates/migrate/create_validations.rb +20 -0
  111. data/generators/surveyor/templates/surveys/kitchen_sink_survey.rb +218 -0
  112. data/generators/surveyor/templates/tasks/surveyor.rb +4 -0
  113. data/generators/test_surveyor/templates/TESTING_SURVEYOR +0 -0
  114. data/generators/test_surveyor/templates/environments/cucumber.rb +21 -0
  115. data/generators/test_surveyor/test_surveyor_generator.rb +15 -0
  116. data/jakewendt-surveyor.gemspec +212 -0
  117. data/lib/fixtures_extensions.rb +6 -0
  118. data/lib/jakewendt-surveyor.rb +1 -0
  119. data/lib/surveyor.rb +44 -0
  120. data/lib/surveyor/acts_as_response.rb +33 -0
  121. data/lib/surveyor/config.rb +45 -0
  122. data/lib/tasks/surveyor_tasks.rake +33 -0
  123. data/lib/xml_formatter.rb +12 -0
  124. data/rails/init.rb +1 -0
  125. data/script/surveyor/answer.rb +54 -0
  126. data/script/surveyor/base.rb +77 -0
  127. data/script/surveyor/dependency.rb +13 -0
  128. data/script/surveyor/dependency_condition.rb +40 -0
  129. data/script/surveyor/parser.rb +207 -0
  130. data/script/surveyor/question.rb +37 -0
  131. data/script/surveyor/question_group.rb +26 -0
  132. data/script/surveyor/specs/answer_spec.rb +29 -0
  133. data/script/surveyor/specs/question_spec.rb +63 -0
  134. data/script/surveyor/specs/spec_helper.rb +7 -0
  135. data/script/surveyor/specs/survey_section_spec.rb +23 -0
  136. data/script/surveyor/specs/validation_condition_spec.rb +20 -0
  137. data/script/surveyor/specs/validation_spec.rb +20 -0
  138. data/script/surveyor/survey.rb +35 -0
  139. data/script/surveyor/survey_section.rb +21 -0
  140. data/script/surveyor/validation.rb +21 -0
  141. data/script/surveyor/validation_condition.rb +21 -0
  142. data/script/surveyor/whr_dsl.tmproj +244 -0
  143. data/spec/controllers/surveyor_controller_spec.rb +193 -0
  144. data/spec/factories.rb +145 -0
  145. data/spec/lib/surveyor_spec.rb +44 -0
  146. data/spec/models/answer_spec.rb +29 -0
  147. data/spec/models/dependency_condition_spec.rb +321 -0
  148. data/spec/models/dependency_spec.rb +81 -0
  149. data/spec/models/question_group_spec.rb +35 -0
  150. data/spec/models/question_spec.rb +75 -0
  151. data/spec/models/response_set_spec.rb +245 -0
  152. data/spec/models/response_spec.rb +76 -0
  153. data/spec/models/survey_section_spec.rb +32 -0
  154. data/spec/models/survey_spec.rb +71 -0
  155. data/spec/models/validation_condition_spec.rb +105 -0
  156. data/spec/models/validation_spec.rb +59 -0
  157. data/spec/rcov.opts +2 -0
  158. data/spec/spec.opts +4 -0
  159. data/spec/spec_helper.rb +12 -0
  160. metadata +254 -0
@@ -0,0 +1,47 @@
1
+ // Javascript UI for surveyor
2
+ jQuery(document).ready(function(){
3
+
4
+ if(jQuery.browser.msie){
5
+ // IE has trouble with the change event for form radio/checkbox elements - bind click instead
6
+ jQuery("form#survey_form input[type=radio], form#survey_form [type=checkbox]").bind("click", function(){
7
+ jQuery(this).parents("form").ajaxSubmit({dataType: 'json', success: successfulSave});
8
+ });
9
+ // IE fires the change event for all other (not radio/checkbox) elements of the form
10
+ jQuery("form#survey_form *").not("input[type=radio], input[type=checkbox]").bind("change", function(){
11
+ jQuery(this).parents("form").ajaxSubmit({dataType: 'json', success: successfulSave});
12
+ });
13
+ }else{
14
+ // Other browsers just use the change event on the form
15
+ jQuery("form#survey_form").bind("change", function(){ jQuery(this).ajaxSubmit({dataType: 'json', success: successfulSave}); return false; });
16
+ }
17
+
18
+ // If javascript works, we don't need to show dependents from previous sections at the top of the page.
19
+ jQuery("#dependents").remove();
20
+
21
+ function successfulSave(responseText){ // for(key in responseText) { console.log("key is "+[key]+", value is "+responseText[key]); }
22
+ // surveyor_controller returns a json object to show/hide elements e.g. {"hide":["question_12","question_13"],"show":["question_14"]}
23
+ jQuery.each(responseText.show, function(){ jQuery('#' + this).show("fast"); });
24
+ jQuery.each(responseText.hide, function(){ jQuery('#' + this).hide("fast"); });
25
+
26
+ /* Do something with the invalid and valid responses */
27
+ jQuery.each(responseText.invalid, function(){
28
+ jQuery('#' + this).addClass("invalid"); });
29
+ jQuery.each(responseText.valid, function(){
30
+ jQuery('#' + this).removeClass("invalid");});
31
+
32
+ return false;
33
+ }
34
+
35
+ // is_exclusive checkboxes should disble sibling checkboxes
36
+ $('input.exclusive:checked').parents('.answer').siblings().find(':checkbox').attr('checked', false).attr('disabled', true);
37
+ $('input.exclusive:checkbox').click(function(){
38
+ var e = $(this);
39
+ var others = e.parents('.answer').siblings().find(':checkbox');
40
+ if(e.is(':checked')){
41
+ others.attr('checked', false).attr('disabled', true);
42
+ }else{
43
+ others.attr('disabled', false);
44
+ }
45
+ });
46
+
47
+ });
@@ -0,0 +1,71 @@
1
+ /*NEW SLIDER STYLES FOR SCALE, ETC*/
2
+ /* slider widget */
3
+ .ui-slider {
4
+ text-decoration: none !important;
5
+ }
6
+ .ui-slider-tooltip {
7
+ display: none;
8
+ }
9
+ .ui-slider-handle-active .ui-slider-tooltip {
10
+ display: block;
11
+ position: relative;
12
+ top: -25px;
13
+ text-align: center;
14
+ padding: .1em;
15
+ font-size: .6em;
16
+ width: 8em;
17
+ margin-left: -4em;
18
+ text-decoration: none !important;
19
+ }
20
+ .ui-slider ol, .ui-slider li, .ui-slider dl, .ui-slider dd, .ui-slider dt {
21
+ list-style: none;
22
+ margin: 0;
23
+ padding: 0;
24
+ }
25
+ .ui-slider ol, .ui-slider dl {
26
+ position: relative;
27
+ top: 1.3em;
28
+ width: 100%;
29
+ }
30
+ .ui-slider dt {
31
+ top: 1.5em;
32
+ position: absolute;
33
+ padding-top: .2em;
34
+ text-align: center;
35
+ border-bottom: 1px dotted #ddd;
36
+ height: .7em;
37
+ color: #999;
38
+ }
39
+ .ui-slider dt span {
40
+ background: #fff;
41
+ padding: 0 .5em;
42
+ }
43
+ .ui-slider li, .ui-slider dd {
44
+ position: absolute;
45
+ overflow: visible;
46
+ color: #666;
47
+ }
48
+ .ui-slider li span.ui-slider-label, .ui-slider dd span.ui-slider-label {
49
+ display: none;
50
+ }
51
+ .ui-slider li span.ui-slider-label-show, .ui-slider dd span.ui-slider-label-show {
52
+ display: block;
53
+ font-size: 0.75em;
54
+ }
55
+ .ui-slider span.ui-slider-tic {
56
+ position: absolute;
57
+ left: 0;
58
+ height: .8em;
59
+ top: -1.3em;
60
+ }
61
+ .ui-slider li span.ui-component-content, .ui-slider dd span.ui-component-content {
62
+ border-right: 0;
63
+ border-left-width: 1px;
64
+ border-left-style: dotted;
65
+ border-top: 0;
66
+ border-bottom: 0;
67
+ }
68
+ .ui-slider .first .ui-slider-tic, .ui-slider .last .ui-slider-tic {
69
+ display: none;
70
+ }
71
+ .ui-slider {clear: both; top:1.2em; margin-bottom:2em;}
@@ -0,0 +1,50 @@
1
+ html, body, div, span, applet, object, iframe,
2
+ h1, h2, h3, h4, h5, h6, p, blockquote, pre,
3
+ a, abbr, acronym, address, big, cite, code,
4
+ del, dfn, em, font, img, ins, kbd, q, s, samp,
5
+ small, strike, strong, sub, sup, tt, var,
6
+ dl, dt, dd, ol, ul, li,
7
+ fieldset, form, label, legend,
8
+ table, caption, tbody, tfoot, thead, tr, th, td {
9
+ margin: 0;
10
+ padding: 0;
11
+ border: 0;
12
+ outline: 0;
13
+ font-weight: inherit;
14
+ font-style: inherit;
15
+ font-size: 100%;
16
+ font-family: inherit;
17
+ vertical-align: baseline;
18
+ }
19
+ /* remember to define focus styles! */
20
+ :focus {
21
+ outline: 0;
22
+ }
23
+ body {
24
+ line-height: 1;
25
+ color: black;
26
+ background: white;
27
+ }
28
+ ol, ul {
29
+ list-style: none;
30
+ }
31
+ /* tables still need 'cellspacing="0"' in the markup */
32
+ table {
33
+ border-collapse: separate;
34
+ border-spacing: 0;
35
+ }
36
+ caption, th, td {
37
+ text-align: left;
38
+ font-weight: normal;
39
+ }
40
+ blockquote:before, blockquote:after,
41
+ q:before, q:after {
42
+ content: "";
43
+ }
44
+ blockquote, q {
45
+ quotes: "" "";
46
+ }
47
+ pre {
48
+ background: #333333;
49
+ color: #EFEFEF;
50
+ }
@@ -0,0 +1,243 @@
1
+ !main_background_color = #DCDCDC
2
+ !page_color = #FFFFF4
3
+ !page_text_color = #213E00
4
+ !menus_color = #EBEBCC
5
+ !menus_text_color = #666666
6
+ !headings_color = #213E00
7
+ !headings_text_color = #B1AF03
8
+ !flash_color = #FF0000
9
+ !text_field_color = #fafafa
10
+ !subtle_shift = 16
11
+ !border_shift = 32
12
+ !emphasis_shift = 64
13
+ body
14
+ :background-color= !main_background_color
15
+ :font-family Helvetica
16
+ :word-spacing normal
17
+ :text-align left
18
+ :letter-spacing 0
19
+ :line-height 1.1em
20
+ :font-size 1em
21
+ #flash
22
+ :background-color transparent
23
+ :color= !flash_color
24
+ :width 98%
25
+ :position absolute
26
+ :top 0
27
+ :left 0
28
+ :z-index 1000
29
+ :text-align center
30
+ #surveyor
31
+ :width 960px
32
+ :padding 1em
33
+ :margin 0 auto
34
+ :background-color= !page_color
35
+ :color= !page_text_color
36
+ #survey_list
37
+ ul
38
+ :padding-left 2em
39
+ :margin-top -2em
40
+ #menu
41
+ :width 11.9em
42
+ :margin 0.65em -1em 0 0
43
+ :float right
44
+ ul
45
+ :padding 0
46
+ :margin 0
47
+ :list-style-type none
48
+ :border-style solid
49
+ :border-width 1px
50
+ :border-color= !main_background_color - !border_shift
51
+ :border-bottom-width 0
52
+ :border-right-width 0
53
+ :background-color= !main_background_color
54
+ :color= !menus_text_color
55
+ li
56
+ :border-bottom-style solid
57
+ :border-bottom-width 1px
58
+ :border-color= !main_background_color - !border_shift
59
+ li.active, li.active input[type="submit"]
60
+ :background-color= !menus_color
61
+ :color= !menus_text_color - !emphasis_shift
62
+ #header
63
+ :font-family "Century Gothic"
64
+ :padding 0.5em 1em 1em 0.3em
65
+ :margin 0
66
+ :font-size 2em
67
+ :font-weight bolid
68
+ .previous_section
69
+ :font-size 0.8em
70
+ :margin -0.6em 0 0.5em -1em
71
+ :padding 0
72
+ input
73
+ :background-color= !page_color
74
+ .next_section
75
+ :float right
76
+ :margin -2em 1em 0 0
77
+ .survey_section
78
+ :margin 0.5em 0.5em 0.5em -1em
79
+ :padding 0.5em 0 0 0
80
+ .title
81
+ :font-weight bold
82
+ :font-size 1.2em
83
+ :margin 0
84
+ :padding 0.3em 0.5em 0.1em 1.4em
85
+ :background-color= !menus_color
86
+ p
87
+ :padding 0.3em
88
+ :margin 0.5em
89
+ :margin 0.55em
90
+ input[type="submit"]
91
+ :font-size 1.0em
92
+ :border 0px
93
+ :padding 0.2em
94
+ :margin 0.2em
95
+ :cursor pointer
96
+ :background-color= !main_background_color
97
+ :color= !menus_text_color - !border_shift
98
+ input[type="text"], textarea
99
+ :border 2px inset #333
100
+ :border-color= !main_background_color - !border_shift
101
+ :background-color= !text_field_color
102
+ :padding 0.1em
103
+ :margin 0.1em
104
+ :font-size 0.8em
105
+ .disabled
106
+ :color= !page_color - !border_shift
107
+ input[type="text"], textarea
108
+ :background-color= !page_color - !subtle_shift
109
+ input[type="submit"].add_row
110
+ :padding 0.1em
111
+ :margin 0em
112
+ :margin-left -1em
113
+ :font-size 0.7em
114
+ :border 1px solid #333
115
+ :border-color= !main_background_color - !border_shift
116
+ .questions
117
+ :margin 0
118
+ :padding 1em 0.3em
119
+ .question
120
+ :margin 0 0 0.6em 0
121
+ :padding 0.2em
122
+ legend
123
+ :width 940px
124
+ :white-space normal
125
+ span
126
+ :display block
127
+ .number
128
+ :padding 0.2em
129
+ :font-weight bold
130
+ :font-size 1.2em
131
+ :letter-spacing 0
132
+ :float left
133
+ .text
134
+ :padding-top 0.2em
135
+ :font-size 1.1em
136
+ :line-height 1.2em
137
+ .help
138
+ :font-size 0.8em
139
+ :font-style italic
140
+ :color= !page_text_color - !emphasis_shift
141
+ :display none
142
+ ol.answers
143
+ :list-style-type none
144
+ :padding 0.2em
145
+ :margin 0 0 0.3em 1.5em
146
+ li.answer
147
+ :margin 0.2em
148
+ ol.answers_inline
149
+ :margin-left 1.8em
150
+ :list-style-type none
151
+ li
152
+ :display inline
153
+ :padding-right 1.5em
154
+ .label
155
+ :padding 0.5em 1em
156
+ :margin 0.5em 1em
157
+ :line-height 1.4em
158
+ #dependents
159
+ :background-color= !page_color - !border_shift
160
+ .title
161
+ :padding 0.5em
162
+ :font-weight bold
163
+ .dependent
164
+ :background-color= !page_color - !border_shift
165
+ :margin-left 1.2em
166
+ .hidden
167
+ :display none
168
+ .column_highlight
169
+ :background-color= !page_color - !subtle_shift
170
+ table.grid
171
+ :margin 0.5em 0.2em 0.5em 1em
172
+ th, td
173
+ :padding 0.2em 0.5em
174
+ :text-align center
175
+ td
176
+ :border-bottom 2px dotted #999
177
+ :border-color= !page_color - !emphasis_shift
178
+ th.question_prefix, th.question_postfix
179
+ :padding 0.2em 0.5em
180
+ :text-align left
181
+ :padding 0.2em
182
+ .question_group
183
+ :margin 0 0 0.6em 0
184
+ :padding 0.2em 0.2em 1em 0.2em
185
+ .head
186
+ :padding-bottom 0.5em
187
+ .number
188
+ :padding 0.2em
189
+ :font-weight bold
190
+ :font-size 1.2em
191
+ :letter-spacing 0
192
+ :float left
193
+ .text
194
+ :padding-top 0.2em
195
+ :font-size 1.1em
196
+ :line-height 1.2em
197
+ .help
198
+ :font-size 0.8em
199
+ :font-style italic
200
+ :color= !page_text_color - !emphasis_shift
201
+ ul
202
+ :padding 0.3em
203
+ :list-style-type none
204
+ li
205
+ :display inline
206
+ .question
207
+ :display inline
208
+ ol.answers
209
+ :display inline
210
+ :margin 0.2em
211
+ ul.repeater
212
+ :list-style-type none
213
+ li.repeater
214
+ :display block
215
+ :clear left
216
+ .question
217
+ :float left
218
+ ol
219
+ :margin 0
220
+ :padding 0
221
+
222
+ .question
223
+ :padding-left 1.2em
224
+ .inline
225
+ :display inline
226
+ //Reducing the question size for questions under a group
227
+ .group_questions
228
+ :margin 0.5em 0.2em 0.5em 1em
229
+ .question
230
+ :margin 0
231
+ :padding 0em 0.3em
232
+ .text
233
+ :font-size 0.9em
234
+ .help
235
+ :font-size 0.7em
236
+ :font-style italic
237
+ :color= !page_text_color - !emphasis_shift
238
+ .number
239
+ :padding 0.2em
240
+ :margin 0 0 0.3em 0
241
+ :font-weight bold
242
+ :font-size 1em
243
+ :letter-spacing 0
@@ -0,0 +1,235 @@
1
+ body {
2
+ background-color: #dcdcdc;
3
+ font-family: Helvetica;
4
+ word-spacing: normal;
5
+ text-align: left;
6
+ letter-spacing: 0;
7
+ line-height: 1.1em;
8
+ font-size: 1em; }
9
+
10
+ #flash {
11
+ background-color: transparent;
12
+ color: red;
13
+ width: 98%;
14
+ position: absolute;
15
+ top: 0;
16
+ left: 0;
17
+ z-index: 1000;
18
+ text-align: center; }
19
+
20
+ #surveyor {
21
+ width: 960px;
22
+ padding: 1em;
23
+ margin: 0 auto;
24
+ background-color: #fffff4;
25
+ color: #213e00; }
26
+ #surveyor #survey_list ul {
27
+ padding-left: 2em;
28
+ margin-top: -2em; }
29
+ #surveyor #menu {
30
+ width: 11.9em;
31
+ margin: 0.65em -1em 0 0;
32
+ float: right; }
33
+ #surveyor #menu ul {
34
+ padding: 0;
35
+ margin: 0;
36
+ list-style-type: none;
37
+ border-style: solid;
38
+ border-width: 1px;
39
+ border-color: #bcbcbc;
40
+ border-bottom-width: 0;
41
+ border-right-width: 0;
42
+ background-color: #dcdcdc;
43
+ color: #666666; }
44
+ #surveyor #menu ul li {
45
+ border-bottom-style: solid;
46
+ border-bottom-width: 1px;
47
+ border-color: #bcbcbc; }
48
+ #surveyor #menu ul li.active, #surveyor #menu ul li.active input[type="submit"] {
49
+ background-color: #ebebcc;
50
+ color: #262626; }
51
+ #surveyor #header {
52
+ font-family: "Century Gothic";
53
+ padding: 0.5em 1em 1em 0.3em;
54
+ margin: 0;
55
+ font-size: 2em;
56
+ font-weight: bolid; }
57
+ #surveyor .previous_section {
58
+ font-size: 0.8em;
59
+ margin: -0.6em 0 0.5em -1em;
60
+ padding: 0; }
61
+ #surveyor .previous_section input {
62
+ background-color: #fffff4; }
63
+ #surveyor .next_section {
64
+ float: right;
65
+ margin: -2em 1em 0 0; }
66
+ #surveyor .survey_section {
67
+ margin: 0.5em 0.5em 0.5em -1em;
68
+ padding: 0.5em 0 0 0; }
69
+ #surveyor .survey_section .title {
70
+ font-weight: bold;
71
+ font-size: 1.2em;
72
+ margin: 0;
73
+ padding: 0.3em 0.5em 0.1em 1.4em;
74
+ background-color: #ebebcc; }
75
+ #surveyor p {
76
+ padding: 0.3em;
77
+ margin: 0.5em;
78
+ margin: 0.55em; }
79
+ #surveyor input[type="submit"] {
80
+ font-size: 1.0em;
81
+ border: 0px;
82
+ padding: 0.2em;
83
+ margin: 0.2em;
84
+ cursor: pointer;
85
+ background-color: #dcdcdc;
86
+ color: #464646; }
87
+ #surveyor input[type="text"], #surveyor textarea {
88
+ border: 2px inset #333;
89
+ border-color: #bcbcbc;
90
+ background-color: #fafafa;
91
+ padding: 0.1em;
92
+ margin: 0.1em;
93
+ font-size: 0.8em; }
94
+ #surveyor .disabled {
95
+ color: #dfdfd4; }
96
+ #surveyor .disabled input[type="text"], #surveyor .disabled textarea {
97
+ background-color: #efefe4; }
98
+ #surveyor input[type="submit"].add_row {
99
+ padding: 0.1em;
100
+ margin: 0em;
101
+ margin-left: -1em;
102
+ font-size: 0.7em;
103
+ border: 1px solid #333;
104
+ border-color: #bcbcbc; }
105
+ #surveyor .questions {
106
+ margin: 0;
107
+ padding: 1em 0.3em; }
108
+ #surveyor .question {
109
+ margin: 0 0 0.6em 0;
110
+ padding: 0.2em; }
111
+
112
+ /* Give some obvious style to invalidly responded to questions */
113
+ #surveyor .question.invalid {
114
+ background-color: red}
115
+
116
+ #surveyor .question legend {
117
+ width: 940px;
118
+ white-space: normal; }
119
+ #surveyor .question legend span {
120
+ display: block; }
121
+ #surveyor .question .number {
122
+ padding: 0.2em;
123
+ font-weight: bold;
124
+ font-size: 1.2em;
125
+ letter-spacing: 0;
126
+ float: left; }
127
+ #surveyor .question .text {
128
+ padding-top: 0.2em;
129
+ font-size: 1.1em;
130
+ line-height: 1.2em; }
131
+ #surveyor .question .help {
132
+ font-size: 0.8em;
133
+ font-style: italic;
134
+ color: black;
135
+ display: none; }
136
+ #surveyor ol.answers {
137
+ list-style-type: none;
138
+ padding: 0.2em;
139
+ margin: 0 0 0.3em 1.5em; }
140
+ #surveyor ol.answers li.answer {
141
+ margin: 0.2em; }
142
+ #surveyor ol.answers_inline {
143
+ margin-left: 1.8em;
144
+ list-style-type: none; }
145
+ #surveyor ol.answers_inline li {
146
+ display: inline;
147
+ padding-right: 1.5em; }
148
+ #surveyor .label {
149
+ padding: 0.5em 1em;
150
+ margin: 0.5em 1em;
151
+ line-height: 1.4em; }
152
+ #surveyor #dependents {
153
+ background-color: #dfdfd4; }
154
+ #surveyor #dependents .title {
155
+ padding: 0.5em;
156
+ font-weight: bold; }
157
+ #surveyor .dependent {
158
+ background-color: #dfdfd4;
159
+ margin-left: 1.2em; }
160
+ #surveyor .hidden {
161
+ display: none; }
162
+ #surveyor .column_highlight {
163
+ background-color: #efefe4; }
164
+ #surveyor table.grid {
165
+ margin: 0.5em 0.2em 0.5em 1em; }
166
+ #surveyor table.grid th, #surveyor table.grid td {
167
+ padding: 0.2em 0.5em;
168
+ text-align: center; }
169
+ #surveyor table.grid td {
170
+ border-bottom: 2px dotted #999;
171
+ border-color: #bfbfb4; }
172
+ #surveyor table.grid th.question_prefix, #surveyor table.grid th.question_postfix {
173
+ padding: 0.2em 0.5em;
174
+ text-align: left;
175
+ padding: 0.2em; }
176
+ #surveyor .question_group {
177
+ margin: 0 0 0.6em 0;
178
+ padding: 0.2em 0.2em 1em 0.2em; }
179
+ #surveyor .question_group .head {
180
+ padding-bottom: 0.5em; }
181
+ #surveyor .question_group .head .number {
182
+ padding: 0.2em;
183
+ font-weight: bold;
184
+ font-size: 1.2em;
185
+ letter-spacing: 0;
186
+ float: left; }
187
+ #surveyor .question_group .head .text {
188
+ padding-top: 0.2em;
189
+ font-size: 1.1em;
190
+ line-height: 1.2em; }
191
+ #surveyor .question_group .head .help {
192
+ font-size: 0.8em;
193
+ font-style: italic;
194
+ color: black; }
195
+ #surveyor .question_group ul {
196
+ padding: 0.3em;
197
+ list-style-type: none; }
198
+ #surveyor .question_group ul li {
199
+ display: inline; }
200
+ #surveyor .question_group ul li .question {
201
+ display: inline; }
202
+ #surveyor .question_group ul li .question ol.answers {
203
+ display: inline;
204
+ margin: 0.2em; }
205
+ #surveyor .question_group ul.repeater {
206
+ list-style-type: none; }
207
+ #surveyor .question_group li.repeater {
208
+ display: block;
209
+ clear: left; }
210
+ #surveyor .question_group li.repeater .question {
211
+ float: left; }
212
+ #surveyor .question_group li.repeater ol {
213
+ margin: 0;
214
+ padding: 0; }
215
+ #surveyor .question_group li.repeater .question {
216
+ padding-left: 1.2em; }
217
+ #surveyor .inline {
218
+ display: inline; }
219
+ #surveyor .group_questions {
220
+ margin: 0.5em 0.2em 0.5em 1em; }
221
+ #surveyor .group_questions .question {
222
+ margin: 0;
223
+ padding: 0em 0.3em; }
224
+ #surveyor .group_questions .text {
225
+ font-size: 0.9em; }
226
+ #surveyor .group_questions .help {
227
+ font-size: 0.7em;
228
+ font-style: italic;
229
+ color: black; }
230
+ #surveyor .group_questions .number {
231
+ padding: 0.2em;
232
+ margin: 0 0 0.3em 0;
233
+ font-weight: bold;
234
+ font-size: 1em;
235
+ letter-spacing: 0; }