discerner 1.1.18
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/MIT-LICENSE +20 -0
- data/README.md +97 -0
- data/Rakefile +29 -0
- data/app/assets/images/discerner/add.png +0 -0
- data/app/assets/images/discerner/ajax-loader.gif +0 -0
- data/app/assets/images/discerner/bar.gif +0 -0
- data/app/assets/images/discerner/bullet_arrow_down.png +0 -0
- data/app/assets/images/discerner/bullet_arrow_up.png +0 -0
- data/app/assets/images/discerner/cog.png +0 -0
- data/app/assets/images/discerner/delete.png +0 -0
- data/app/assets/images/discerner/edit.png +0 -0
- data/app/assets/images/discerner/excel.png +0 -0
- data/app/assets/images/discerner/greencheck.gif +0 -0
- data/app/assets/images/discerner/rails.png +0 -0
- data/app/assets/images/discerner/show.png +0 -0
- data/app/assets/images/discerner/switch_minus.gif +0 -0
- data/app/assets/images/discerner/switch_plus.gif +0 -0
- data/app/assets/javascripts/discerner/application.js +20 -0
- data/app/assets/javascripts/discerner/combobox.js +301 -0
- data/app/assets/javascripts/discerner/discerner.js +19 -0
- data/app/assets/javascripts/discerner/export_parameters.js +13 -0
- data/app/assets/javascripts/discerner/jquery/jquery.blockUI.js +576 -0
- data/app/assets/javascripts/discerner/jquery/jquery.form.js +1074 -0
- data/app/assets/javascripts/discerner/nested_attributes.js +69 -0
- data/app/assets/javascripts/discerner/search_combinations.js +49 -0
- data/app/assets/javascripts/discerner/search_parameter.js +131 -0
- data/app/assets/javascripts/discerner/search_parameter_value.js +172 -0
- data/app/assets/javascripts/discerner/searches.js +93 -0
- data/app/assets/javascripts/discerner/url.js +42 -0
- data/app/assets/stylesheets/discerner/application.css +16 -0
- data/app/assets/stylesheets/discerner/buttons.sass +13 -0
- data/app/assets/stylesheets/discerner/categorized_autocompleter.sass +53 -0
- data/app/assets/stylesheets/discerner/discerner.sass +51 -0
- data/app/assets/stylesheets/discerner/export_parameters.sass +43 -0
- data/app/assets/stylesheets/discerner/links.sass +29 -0
- data/app/assets/stylesheets/discerner/searches.sass +205 -0
- data/app/assets/stylesheets/discerner/tables.sass +32 -0
- data/app/controllers/discerner/application_controller.rb +2 -0
- data/app/controllers/discerner/export_parameters_controller.rb +5 -0
- data/app/controllers/discerner/parameters_controller.rb +5 -0
- data/app/controllers/discerner/searches_controller.rb +5 -0
- data/app/helpers/discerner/application_helper.rb +4 -0
- data/app/helpers/discerner/parameters_helper.rb +5 -0
- data/app/helpers/discerner/searches_helper.rb +5 -0
- data/app/models/discerner/dictionary.rb +5 -0
- data/app/models/discerner/export_parameter.rb +5 -0
- data/app/models/discerner/operator.rb +5 -0
- data/app/models/discerner/parameter.rb +5 -0
- data/app/models/discerner/parameter_category.rb +5 -0
- data/app/models/discerner/parameter_type.rb +5 -0
- data/app/models/discerner/parameter_value.rb +5 -0
- data/app/models/discerner/parameter_value_categorization.rb +5 -0
- data/app/models/discerner/parameter_value_category.rb +5 -0
- data/app/models/discerner/search.rb +5 -0
- data/app/models/discerner/search_combination.rb +5 -0
- data/app/models/discerner/search_parameter.rb +5 -0
- data/app/models/discerner/search_parameter_value.rb +5 -0
- data/app/views/discerner/export_parameters/index.html.haml +55 -0
- data/app/views/discerner/parameters/_values_autocompleter.html.haml +49 -0
- data/app/views/discerner/parameters/values.html.haml +1 -0
- data/app/views/discerner/searches/_form.html.haml +21 -0
- data/app/views/discerner/searches/_form_combined_searches.html.haml +32 -0
- data/app/views/discerner/searches/_form_controls.html.haml +8 -0
- data/app/views/discerner/searches/_form_header.html.haml +39 -0
- data/app/views/discerner/searches/_form_search_parameters.html.haml +28 -0
- data/app/views/discerner/searches/_list.html.haml +17 -0
- data/app/views/discerner/searches/_search_combination_fields.html.haml +22 -0
- data/app/views/discerner/searches/_search_parameter_fields.html.haml +48 -0
- data/app/views/discerner/searches/_search_parameter_value_fields.html.haml +62 -0
- data/app/views/discerner/searches/_summary.html.haml +25 -0
- data/app/views/discerner/searches/edit.html.haml +8 -0
- data/app/views/discerner/searches/index.html.haml +13 -0
- data/app/views/discerner/searches/index.js.haml +1 -0
- data/app/views/discerner/searches/new.html.haml +3 -0
- data/app/views/discerner/searches/rename.html.haml +6 -0
- data/app/views/discerner/searches/update.js.haml +7 -0
- data/app/views/discerner/shared/_categorized_autocompleter_items.html.haml +15 -0
- data/app/views/discerner/shared/_error_messages.html.haml +5 -0
- data/app/views/layouts/discerner/searches.html.erb +17 -0
- data/config/cucumber.yml +8 -0
- data/config/routes.rb +17 -0
- data/db/migrate/20121004040716_create_discerner_dictionaries.rb +11 -0
- data/db/migrate/20121004153043_create_discerner_parameter_categories.rb +12 -0
- data/db/migrate/20121005194843_create_discerner_parameter_types.rb +11 -0
- data/db/migrate/20121005203223_create_discerner_parameters.rb +14 -0
- data/db/migrate/20121008154855_create_discerner_operators.rb +13 -0
- data/db/migrate/20121008160313_create_discerner_operators_parameter_types.rb +8 -0
- data/db/migrate/20121008161455_create_discerner_parameter_values.rb +13 -0
- data/db/migrate/20121008180829_create_discerner_searches.rb +11 -0
- data/db/migrate/20121008182443_create_discerner_search_parameters.rb +11 -0
- data/db/migrate/20121011205130_create_discerner_search_parameter_values.rb +15 -0
- data/db/migrate/20121211213215_add_dictionary_id_to_discerner_searches.rb +5 -0
- data/db/migrate/20130205193602_create_discerner_search_combinations.rb +12 -0
- data/db/migrate/20130211230636_create_discerner_export_parameters.rb +9 -0
- data/db/migrate/20130213185818_add_search_columns_to_discerner_parameters.rb +38 -0
- data/db/migrate/20130213205255_rename_database_name_to_search_value_in_discerner_parameter_values.rb +5 -0
- data/db/migrate/20130215165416_add_searchable_to_discerner_parameters.rb +5 -0
- data/db/migrate/20130218230257_add_exclusive_to_discerner_parameters.rb +5 -0
- data/db/migrate/20130220163015_replace_integer_type_with_numeric.rb +22 -0
- data/db/migrate/20130221172826_add_unique_identifier_to_discerner_parameters.rb +5 -0
- data/db/migrate/20130222052924_change_search_attribute_to_method.rb +29 -0
- data/db/migrate/20130222070959_add_export_columns_to_discerner_parameters.rb +6 -0
- data/db/migrate/20130227031747_add_unique_identifier_to_discerner_operators.rb +16 -0
- data/db/migrate/20130306015019_change_discerner_parameter_values_name.rb +9 -0
- data/db/migrate/20130306212430_add_deleted_at_to_discerner_search_parameters.rb +5 -0
- data/db/migrate/20130306212504_add_deleted_at_to_discerner_search_parameter_values.rb +5 -0
- data/db/migrate/20130306212527_add_deleted_at_to_discerner_search_combinations.rb +5 -0
- data/db/migrate/20130306212818_add_deleted_at_to_discerner_export_parameters.rb +5 -0
- data/db/migrate/20130311190717_add_operator_type_to_discerner_operators.rb +5 -0
- data/db/migrate/20131212175110_remove_extra_search_parameter_values.rb +10 -0
- data/db/migrate/20140204170625_create_discerner_parameter_value_categories.rb +16 -0
- data/db/migrate/20140204170646_create_discerner_parameter_value_categorizations.rb +12 -0
- data/db/migrate/20140227191827_remove_blank_parameter_values_from_export_parameters.rb +10 -0
- data/db/seeds.rb +0 -0
- data/lib/discerner/engine.rb +16 -0
- data/lib/discerner/methods/controllers/export_parameters_controller.rb +38 -0
- data/lib/discerner/methods/controllers/parameters_controller.rb +30 -0
- data/lib/discerner/methods/controllers/searches_controller.rb +204 -0
- data/lib/discerner/methods/helpers/searches_helper.rb +145 -0
- data/lib/discerner/methods/models/dictionary.rb +54 -0
- data/lib/discerner/methods/models/export_parameter.rb +35 -0
- data/lib/discerner/methods/models/operator.rb +42 -0
- data/lib/discerner/methods/models/parameter.rb +90 -0
- data/lib/discerner/methods/models/parameter_category.rb +60 -0
- data/lib/discerner/methods/models/parameter_type.rb +33 -0
- data/lib/discerner/methods/models/parameter_value.rb +87 -0
- data/lib/discerner/methods/models/parameter_value_categorization.rb +21 -0
- data/lib/discerner/methods/models/parameter_value_category.rb +45 -0
- data/lib/discerner/methods/models/search.rb +147 -0
- data/lib/discerner/methods/models/search_combination.rb +50 -0
- data/lib/discerner/methods/models/search_parameter.rb +128 -0
- data/lib/discerner/methods/models/search_parameter_value.rb +130 -0
- data/lib/discerner/methods/models/soft_delete.rb +35 -0
- data/lib/discerner/methods/models/warning.rb +15 -0
- data/lib/discerner/parser.rb +497 -0
- data/lib/discerner/version.rb +3 -0
- data/lib/discerner.rb +4 -0
- data/lib/generators/discerner/dictionary/dictionary_generator.rb +38 -0
- data/lib/generators/discerner/dictionary/templates/model.rb +15 -0
- data/lib/generators/discerner/dictionary/templates/show.xls.erb +37 -0
- data/lib/generators/discerner/dictionary/templates/view.html.haml +2 -0
- data/lib/generators/discerner/install/install_generator.rb +153 -0
- data/lib/generators/discerner/install/templates/controllers/export_parameters_controller.rb +20 -0
- data/lib/generators/discerner/install/templates/controllers/parameters_controller.rb +15 -0
- data/lib/generators/discerner/install/templates/controllers/searches_controller.rb +39 -0
- data/lib/generators/discerner/install/templates/dictionaries.yml +236 -0
- data/lib/generators/discerner/install/templates/helpers/searches_helper.rb +9 -0
- data/lib/generators/discerner/install/templates/models/book.rb +15 -0
- data/lib/generators/discerner/install/templates/models/dictionary.rb +9 -0
- data/lib/generators/discerner/install/templates/models/export_parameter.rb +9 -0
- data/lib/generators/discerner/install/templates/models/operator.rb +9 -0
- data/lib/generators/discerner/install/templates/models/parameter.rb +10 -0
- data/lib/generators/discerner/install/templates/models/parameter_category.rb +9 -0
- data/lib/generators/discerner/install/templates/models/parameter_type.rb +9 -0
- data/lib/generators/discerner/install/templates/models/parameter_value.rb +9 -0
- data/lib/generators/discerner/install/templates/models/parameter_value_categorization.rb +9 -0
- data/lib/generators/discerner/install/templates/models/parameter_value_category.rb +9 -0
- data/lib/generators/discerner/install/templates/models/search.rb +9 -0
- data/lib/generators/discerner/install/templates/models/search_combination.rb +9 -0
- data/lib/generators/discerner/install/templates/models/search_parameter.rb +9 -0
- data/lib/generators/discerner/install/templates/models/search_parameter_value.rb +9 -0
- data/lib/generators/discerner/install/templates/views/layouts/searches.html.erb +17 -0
- data/lib/setup/operators.yml +91 -0
- data/lib/tasks/cucumber.rake +65 -0
- data/lib/tasks/discerner_tasks.rake +30 -0
- metadata +531 -0
@@ -0,0 +1,51 @@
|
|
1
|
+
.discerner
|
2
|
+
:overflow visible !important
|
3
|
+
:font-size 13px
|
4
|
+
:font-family Helvetica Neue,Arial,Helvetica,sans-serif
|
5
|
+
:font-weight 400
|
6
|
+
|
7
|
+
.ui-widget
|
8
|
+
:font-size 13px
|
9
|
+
:font-family Helvetica Neue,Arial,Helvetica,sans-serif
|
10
|
+
:font-weight 400
|
11
|
+
|
12
|
+
.message
|
13
|
+
:padding 0.5em
|
14
|
+
:text-align center
|
15
|
+
:margin .75em auto
|
16
|
+
:width 80%
|
17
|
+
:border-radius 20px
|
18
|
+
:border-radius 20px
|
19
|
+
|
20
|
+
#error, .error
|
21
|
+
:border 1px solid maroon
|
22
|
+
:color maroon
|
23
|
+
:background-color lavenderblush
|
24
|
+
|
25
|
+
#notice
|
26
|
+
:border 1px solid green
|
27
|
+
:color darkgreen
|
28
|
+
:background-color #cfc
|
29
|
+
.clear
|
30
|
+
:clear both
|
31
|
+
|
32
|
+
tr.error
|
33
|
+
:border 1px solid lightgray
|
34
|
+
:background-color lavenderblush
|
35
|
+
td
|
36
|
+
:padding-top 2px
|
37
|
+
tr.error
|
38
|
+
:border none
|
39
|
+
.invisible
|
40
|
+
:visibility hidden
|
41
|
+
|
42
|
+
.ui-autocomplete
|
43
|
+
:max-height 200px
|
44
|
+
:max-width 410px
|
45
|
+
:overflow-y auto
|
46
|
+
:overflow-x hidden
|
47
|
+
|
48
|
+
* html .ui-autocomplete
|
49
|
+
:height 200px
|
50
|
+
:width 410px
|
51
|
+
|
@@ -0,0 +1,43 @@
|
|
1
|
+
#discerner_search
|
2
|
+
#discerner_exportable_fields, #discerner_search_summary
|
3
|
+
h4
|
4
|
+
:color #696969
|
5
|
+
:font-size 1em
|
6
|
+
:font-weight bold
|
7
|
+
:padding-bottom 0.5em
|
8
|
+
:padding-top 1.5em
|
9
|
+
:margin 0
|
10
|
+
h3
|
11
|
+
:font-size 1.2em
|
12
|
+
:font-weight bold
|
13
|
+
:padding-bottom 0.5em
|
14
|
+
:margin 0
|
15
|
+
|
16
|
+
#discerner_search_summary
|
17
|
+
:margin-bottom -1em
|
18
|
+
table
|
19
|
+
:width auto
|
20
|
+
th
|
21
|
+
:text-align left
|
22
|
+
:color #696969
|
23
|
+
:background-color #fff
|
24
|
+
:padding-top 1.5em
|
25
|
+
th, td
|
26
|
+
:padding-left 0
|
27
|
+
.parameter_name
|
28
|
+
:width 18em
|
29
|
+
:display block
|
30
|
+
:float left
|
31
|
+
|
32
|
+
#discerner_exportable_fields
|
33
|
+
.column
|
34
|
+
:float left
|
35
|
+
:width 27em
|
36
|
+
.error
|
37
|
+
:margin -1px 0
|
38
|
+
.select_all_parameters, .deselect_all_parameters
|
39
|
+
:text-decoration none
|
40
|
+
:font-weight normal
|
41
|
+
:font-size 0.8em
|
42
|
+
.export_parameter
|
43
|
+
:margin-bottom 0.25em
|
@@ -0,0 +1,29 @@
|
|
1
|
+
/* Link styles */
|
2
|
+
#discerner_searches, #discerner_search
|
3
|
+
.icon_link
|
4
|
+
:padding 2px 2px 2px 20px
|
5
|
+
:text-decoration none !important
|
6
|
+
|
7
|
+
.add_link, .add_link:hover
|
8
|
+
:background url(add.png) 0 2px no-repeat !important
|
9
|
+
|
10
|
+
.add_person_link, .add_person_link:hover
|
11
|
+
:background url(user_add.png) 0 2px no-repeat !important
|
12
|
+
|
13
|
+
.edit_link, .edit_link:hover
|
14
|
+
:background url(edit.png) 0 2px no-repeat !important
|
15
|
+
|
16
|
+
.search_link, .search_link:hover
|
17
|
+
:background url(find.png) 0 2px no-repeat !important
|
18
|
+
|
19
|
+
.show_link, .show_link:hover
|
20
|
+
:background url(show.png) 0 2px no-repeat !important
|
21
|
+
|
22
|
+
.list_link, .list_link:hover
|
23
|
+
:background url(list.png) 0 2px no-repeat !important
|
24
|
+
|
25
|
+
.delete_link, .delete_link:hover
|
26
|
+
:background url(delete.png) 0 2px no-repeat !important
|
27
|
+
|
28
|
+
.options_link, .options_link:hover
|
29
|
+
:background url(cog.png) 0 2px no-repeat !important
|
@@ -0,0 +1,205 @@
|
|
1
|
+
#discerner_searches, #discerner_search
|
2
|
+
:width 1110px
|
3
|
+
:margin 1em
|
4
|
+
|
5
|
+
.discerner-buttons
|
6
|
+
:float right
|
7
|
+
|
8
|
+
#discerner_searches_filter
|
9
|
+
:margin-bottom 1em
|
10
|
+
|
11
|
+
#discerner_search
|
12
|
+
form.new_search
|
13
|
+
label, input, select
|
14
|
+
:display inline
|
15
|
+
:width auto
|
16
|
+
|
17
|
+
#discerner_search_header
|
18
|
+
div.discerner_search_name, div.discerner_search_dictionary, .discerner_dictionary_required_message
|
19
|
+
:margin 1em 0.5em
|
20
|
+
:height 2em
|
21
|
+
:padding 0.25em
|
22
|
+
:float left
|
23
|
+
|
24
|
+
div.discerner_search_name
|
25
|
+
form
|
26
|
+
:display inline
|
27
|
+
:width 10em
|
28
|
+
|
29
|
+
a, input
|
30
|
+
:margin-top -10px
|
31
|
+
:margin-bottom 0
|
32
|
+
|
33
|
+
input[type="text"]
|
34
|
+
:width 30em
|
35
|
+
.discerner_dictionary_required_message
|
36
|
+
color: red
|
37
|
+
|
38
|
+
#discerner_search_form
|
39
|
+
:border 1px solid #D1DAE3
|
40
|
+
|
41
|
+
table
|
42
|
+
:margin-bottom 0
|
43
|
+
|
44
|
+
table.records tr
|
45
|
+
:border none
|
46
|
+
|
47
|
+
.ui-widget
|
48
|
+
:font-size 1em !important
|
49
|
+
|
50
|
+
.fields td
|
51
|
+
:vertical-align top
|
52
|
+
:border-bottom 1px solid lightgrey
|
53
|
+
:padding-top 0.5em
|
54
|
+
:padding-top 0.5em
|
55
|
+
|
56
|
+
.search_combinations td
|
57
|
+
:border none
|
58
|
+
.parameter_boolean_operator, td.remove, th.remove,
|
59
|
+
.combined_search_operator, .combined_search_operator
|
60
|
+
:width 68px
|
61
|
+
|
62
|
+
.parameter_values
|
63
|
+
:padding-right 0 !important
|
64
|
+
table
|
65
|
+
:margin-bottom 0
|
66
|
+
:width 100%
|
67
|
+
|
68
|
+
td
|
69
|
+
:border none
|
70
|
+
:padding-top 0
|
71
|
+
|
72
|
+
.records
|
73
|
+
input[type="text"]
|
74
|
+
:width 143px
|
75
|
+
td.operator, td.value, td.additional_value
|
76
|
+
:width 113px
|
77
|
+
|
78
|
+
td.operator select, td.value input, td.additional_value input
|
79
|
+
:margin-top 0
|
80
|
+
:padding-top 0
|
81
|
+
|
82
|
+
.parameter_values_boolean_operator, .chosen
|
83
|
+
:width 1.5em
|
84
|
+
|
85
|
+
button.ui-button
|
86
|
+
:margin-bottom 0
|
87
|
+
|
88
|
+
input.ui-autocomplete-input
|
89
|
+
:border 1px solid #CCCCCC
|
90
|
+
:border-radius 0px
|
91
|
+
:padding-left 0.25em
|
92
|
+
|
93
|
+
button.ui-widget, input.ui-autocomplete-input
|
94
|
+
:font-size 13px !important
|
95
|
+
.ui-button-text
|
96
|
+
:padding 0 !important
|
97
|
+
|
98
|
+
.categorized_autocompleter button, .parameter_value button, .combined_search button
|
99
|
+
:border-left-width 0
|
100
|
+
:background-color #FFFFFF
|
101
|
+
:background-image none
|
102
|
+
:border-radius 0px
|
103
|
+
:margin-top 0 !important
|
104
|
+
:padding-top 0 !important
|
105
|
+
:padding-bottom 0 !important
|
106
|
+
:vertical-align bottom
|
107
|
+
:height 1.6em
|
108
|
+
|
109
|
+
.combined_search_combobox button
|
110
|
+
:border-width 0
|
111
|
+
:padding 0 !important
|
112
|
+
|
113
|
+
.parameter, .combined_search, .parameter_value
|
114
|
+
.div-category-popup
|
115
|
+
ul
|
116
|
+
:padding 0
|
117
|
+
:margin 0
|
118
|
+
li
|
119
|
+
:list-style none outside none
|
120
|
+
:padding-bottom .25em
|
121
|
+
|
122
|
+
.parameter, .combined_search
|
123
|
+
:width 395px
|
124
|
+
|
125
|
+
.div-category-popup
|
126
|
+
:width 70em
|
127
|
+
|
128
|
+
input.ui-autocomplete-input
|
129
|
+
:width 24em
|
130
|
+
.column
|
131
|
+
:width 16em
|
132
|
+
|
133
|
+
.parameter_value
|
134
|
+
.div-category-popup
|
135
|
+
:width 40em
|
136
|
+
input.ui-autocomplete-input
|
137
|
+
:width 28em
|
138
|
+
.column
|
139
|
+
:width 12em
|
140
|
+
|
141
|
+
.parameter, .combined_search, .parameter_value
|
142
|
+
.categorized_autocompleter, .combined_search_combobox
|
143
|
+
:border 1px solid #CCCCCC
|
144
|
+
:background-color #FFFFFF
|
145
|
+
:position relative
|
146
|
+
|
147
|
+
input.ui-autocomplete-input
|
148
|
+
:border none
|
149
|
+
:border-right 1px solid #CCCCCC
|
150
|
+
:padding-left 0.2em
|
151
|
+
|
152
|
+
.div-category-popup
|
153
|
+
:border-style solid
|
154
|
+
:border-color #CCCCCC #999999 #999999 #CCCCCC
|
155
|
+
:border-width 1px 3px 3px 1px
|
156
|
+
:padding 0.1em 0.1em 1em 0.1em
|
157
|
+
|
158
|
+
.div-category-list
|
159
|
+
:overflow auto
|
160
|
+
|
161
|
+
.parameter_category, .parameter_value_category
|
162
|
+
:padding-bottom 5px
|
163
|
+
:padding-left 5px
|
164
|
+
:padding-right 5px
|
165
|
+
:padding-top 15px
|
166
|
+
:clear both
|
167
|
+
|
168
|
+
.parameter_category_name, .parameter_value_category_name
|
169
|
+
:font-weight bold
|
170
|
+
:margin-bottom 0
|
171
|
+
:margin-left 0
|
172
|
+
:margin-right 0
|
173
|
+
:margin-top 0
|
174
|
+
:padding-bottom 0
|
175
|
+
:padding-left 0
|
176
|
+
:padding-right 0
|
177
|
+
:padding-top 0
|
178
|
+
|
179
|
+
.column
|
180
|
+
:float left
|
181
|
+
:margin-right 5px
|
182
|
+
|
183
|
+
.criteria
|
184
|
+
:margin-bottom 3px
|
185
|
+
:margin-left 0
|
186
|
+
:margin-right 0
|
187
|
+
:margin-top 3px
|
188
|
+
a
|
189
|
+
:text-decoration none
|
190
|
+
a:hover
|
191
|
+
:border-bottom 1px dotted
|
192
|
+
|
193
|
+
|
194
|
+
.selection_disabled
|
195
|
+
:color #cccccc
|
196
|
+
|
197
|
+
.combined_search_combobox
|
198
|
+
button.ui-button
|
199
|
+
:margin-bottom 0
|
200
|
+
.discerner
|
201
|
+
input.ui-autocomplete-input
|
202
|
+
:width 20em
|
203
|
+
|
204
|
+
.ui-menu .ui-menu-item a
|
205
|
+
:text-align left
|
@@ -0,0 +1,32 @@
|
|
1
|
+
/* Tabular Data */
|
2
|
+
#discerner_searches, #discerner_search
|
3
|
+
table.records, table.repeater
|
4
|
+
:width 100%
|
5
|
+
:border-collapse collapse
|
6
|
+
:border none
|
7
|
+
|
8
|
+
table.records td, table.repeater td
|
9
|
+
:padding 0.125em 0.25em
|
10
|
+
|
11
|
+
table.records td.action, table.repeater td.action
|
12
|
+
:width 5em
|
13
|
+
|
14
|
+
table.records thead th, table.repeater thead th, table.records tr.labels th
|
15
|
+
:background-color #f0f0f0
|
16
|
+
|
17
|
+
table.records tr, table.repeater tr
|
18
|
+
:border 1px solid lightgray
|
19
|
+
:background none
|
20
|
+
|
21
|
+
table.records tbody tr.odd_record, table.repeater tbody tr.odd_record
|
22
|
+
:background-color white
|
23
|
+
|
24
|
+
table.records tr.even_record, table.repeater tr.even_record
|
25
|
+
:background-color whitesmoke
|
26
|
+
|
27
|
+
table.nested
|
28
|
+
:width 50%
|
29
|
+
:margin-top 1em
|
30
|
+
|
31
|
+
table tfoot
|
32
|
+
:background none
|
@@ -0,0 +1,55 @@
|
|
1
|
+
#discerner_search
|
2
|
+
= render 'discerner/searches/summary'
|
3
|
+
.discerner-buttons
|
4
|
+
= link_to 'Back to search', edit_search_path(@discerner_search), :class => "discerner-button discerner-button-positive"
|
5
|
+
.clear
|
6
|
+
%hr
|
7
|
+
|
8
|
+
- unless @discerner_search.disabled? && @discerner_search.export_parameters && @discerner_search.export_parameters.select{|ep| ep.disabled?}.empty?
|
9
|
+
#discerner_exportable_fields
|
10
|
+
%h3
|
11
|
+
Fields to be exported
|
12
|
+
|
13
|
+
- exportable_parameter_categories = exportable_parameter_categories(@discerner_search)
|
14
|
+
- if exportable_parameter_categories.blank?
|
15
|
+
= "-- No exportable parameters detected --"
|
16
|
+
- else
|
17
|
+
- selected_parameters = @discerner_search.export_parameters.ordered.to_a
|
18
|
+
- selected_parameters = @discerner_search.search_parameters.ordered.to_a + @discerner_search.nested_searches.map{|s| s.search_parameters}.flatten if selected_parameters.empty?
|
19
|
+
|
20
|
+
= form_tag assign_export_parameters_path(@discerner_search), :url => {:action => "assign"} do
|
21
|
+
- exportable_parameter_categories.each do |c|
|
22
|
+
.clear
|
23
|
+
%div{ :class => "#{c.css_class_name}"}
|
24
|
+
%h4
|
25
|
+
= c.name
|
26
|
+
%a{ :class => "select_all_parameters", :href => "#"}
|
27
|
+
Select all
|
28
|
+
|
29
|
+
- items = exportable_parameters(@discerner_search, c)
|
30
|
+
- columns_count = 3
|
31
|
+
- items_rendered_count = 0
|
32
|
+
- (0...columns_count).each do |i|
|
33
|
+
.column
|
34
|
+
- column_items_count = ((items.size - items_rendered_count).to_f/(columns_count-i)).ceil
|
35
|
+
- from = items_rendered_count
|
36
|
+
- to = items_rendered_count + column_items_count
|
37
|
+
- to = items.size if to > items.size
|
38
|
+
- items_rendered_count = to
|
39
|
+
- (from...to).each do |j|
|
40
|
+
- export_parameter = items[j]
|
41
|
+
%div{ :class => "export_parameter #{'error' if export_parameter.deleted?}"}
|
42
|
+
- is_checked = selected_parameters.select{ |cp| cp.parameter_id == export_parameter.id }.blank? ? false : true
|
43
|
+
= check_box_tag "parameter_ids[]", export_parameter.id, is_checked, :id => "parameter_ids_#{export_parameter.id}"
|
44
|
+
= label_tag "parameter_ids_#{export_parameter.id}", export_parameter.name
|
45
|
+
|
46
|
+
.clear
|
47
|
+
.discerner-buttons
|
48
|
+
- if @discerner_search.disabled?
|
49
|
+
= submit_tag 'Update and export', :class => "discerner-button discerner-button-positive"
|
50
|
+
- else
|
51
|
+
= submit_tag 'Export', :class => "discerner-button discerner-button-positive"
|
52
|
+
:javascript
|
53
|
+
$(function () {
|
54
|
+
new Discerner.ExportParameters.UI();
|
55
|
+
});
|
@@ -0,0 +1,49 @@
|
|
1
|
+
- parameter ||= @parameter
|
2
|
+
- search_parameter_value_id ||= @search_parameter_value_id
|
3
|
+
- parameter_values = parameter_value_options(@searchable_parameter_values[parameter.id], search_parameter_value_id)
|
4
|
+
|
5
|
+
- if parameter.parameter_values.categorized.any?
|
6
|
+
%div{:class => 'ui-widget categorized_autocompleter'}
|
7
|
+
|
8
|
+
- if defined?(f)
|
9
|
+
= f.select(:parameter_value_id, parameter_values, { :include_blank => true }, {:class => 'parameter_values_combobox_autocompleter'})
|
10
|
+
- else
|
11
|
+
= select_tag(:parameter_value_id, options_for_select(parameter_values), :include_blank => true, :class => 'parameter_values_combobox_autocompleter')
|
12
|
+
|
13
|
+
%a{ :href => 'javascript:void(0);', :class => 'categorized_autocompleter_link collapsed_categorized_autocompleter_link' }
|
14
|
+
Select
|
15
|
+
.div-category-popup{ :style => "display: none;"}
|
16
|
+
.div-category-list
|
17
|
+
- parameter.parameter_value_categories.ordered_by_display_order_and_name.each do |parameter_value_category|
|
18
|
+
- unless parameter_value_category.parameter_values.empty?
|
19
|
+
= div_for parameter_value_category, :class => "#{parameter_value_category.css_class} categorized-parameter-values" do
|
20
|
+
%p{ :class => 'parameter_value_category_name' }
|
21
|
+
= parameter_value_category.name
|
22
|
+
- if parameter_value_category.collapse?
|
23
|
+
%a{ :class => "show-category-items", :href => "#"}
|
24
|
+
more
|
25
|
+
- else
|
26
|
+
%a{ :class => "hide-category-items", :href => "#"}
|
27
|
+
less
|
28
|
+
.category-items{:style => "#{parameter_value_category.collapse ? 'display:none;' : ''}"}
|
29
|
+
- items = parameter_value_category.parameter_values.not_deleted.ordered_by_name.to_a.map{ |pv| {:name => pv.name, :rel => searchable_object_index(pv, search_parameter_value_id)}}
|
30
|
+
- unless items.empty?
|
31
|
+
= render :partial => 'discerner/shared/categorized_autocompleter_items', :locals => { :columns_count => 2, :items => items }
|
32
|
+
.clear
|
33
|
+
|
34
|
+
- uncategorized_items = parameter.parameter_values.uncategorized.ordered_by_name.to_a.map{ |pv| {:name => pv.name, :rel => searchable_object_index(pv, search_parameter_value_id)}}
|
35
|
+
- unless uncategorized_items.empty?
|
36
|
+
.uncategorized-parameter-values.parameter_value_category
|
37
|
+
%p{ :class => 'parameter_value_category_name' }
|
38
|
+
Uncategorized
|
39
|
+
%a{ :class => "hide-category-items", :href => "#"}
|
40
|
+
less
|
41
|
+
.category-items
|
42
|
+
= render :partial => 'discerner/shared/categorized_autocompleter_items', :locals => { :columns_count => 2, :items => uncategorized_items }
|
43
|
+
|
44
|
+
.div-instruction-bar
|
45
|
+
- else
|
46
|
+
- if defined?(f)
|
47
|
+
= f.select(:parameter_value_id, parameter_values, { :include_blank => true },{ :class => 'parameter_values_combobox_autocompleter' })
|
48
|
+
- else
|
49
|
+
= select_tag(:parameter_value_id, options_for_select(parameter_values), :include_blank => true, :class => 'parameter_values_combobox_autocompleter')
|
@@ -0,0 +1 @@
|
|
1
|
+
= render :partial => 'discerner/parameters/values_autocompleter', :locals => {:parameter => @parameter, :search_parameter_value_id => @search_parameter_value_id}
|
@@ -0,0 +1,21 @@
|
|
1
|
+
- unless @discerner_search.blank?
|
2
|
+
= render 'discerner/shared/error_messages', :object => @discerner_search
|
3
|
+
|
4
|
+
#discerner_search_form
|
5
|
+
= form_for @discerner_search, :html => { :id => 'search' } do |f|
|
6
|
+
= render :partial => 'form_header', :locals => { :f => f }
|
7
|
+
- unless enable_combined_searches?.blank?
|
8
|
+
= render :partial => 'form_combined_searches', :locals => { :f => f }
|
9
|
+
= render :partial => 'form_search_parameters', :locals => { :f => f }
|
10
|
+
= render :partial => 'form_controls', :locals => { :f => f }
|
11
|
+
.clear
|
12
|
+
|
13
|
+
:javascript
|
14
|
+
$(function () {
|
15
|
+
var yearRange = '#{DateTime.now.year - 100}:#{DateTime.now.year}',
|
16
|
+
renameUrl = '#{@discerner_search.persisted? ? rename_search_path(@discerner_search) : ""}';
|
17
|
+
new Discerner.Search.UI({
|
18
|
+
yearRange: yearRange,
|
19
|
+
renameUrl: renameUrl
|
20
|
+
})
|
21
|
+
});
|
@@ -0,0 +1,32 @@
|
|
1
|
+
%table{ :class => 'records search_combinations' }
|
2
|
+
%thead
|
3
|
+
%tr
|
4
|
+
%th.combined_search_operator
|
5
|
+
%th.combined_search
|
6
|
+
Searches
|
7
|
+
%th.remove
|
8
|
+
%th
|
9
|
+
%tbody.nested_records_search_combinations
|
10
|
+
- if combined_searches_options(@discerner_search).blank?
|
11
|
+
%td{:colspan => '4'}
|
12
|
+
No qualifying searches found
|
13
|
+
- else
|
14
|
+
- @discernerSearchCombinationsTemplate = generate_nested_attributes_template(f, :search_combinations, 'search_combination')
|
15
|
+
= f.fields_for :search_combinations, f.object.search_combinations.ordered_by_display_order do |search_combination|
|
16
|
+
= render :partial => 'search_combination_fields', :locals => { :f => search_combination }
|
17
|
+
|
18
|
+
%tfoot
|
19
|
+
%tr
|
20
|
+
%td{ :colspan => '4', :class => 'add_search_combinations_link' }
|
21
|
+
= link_to_add_fields "Add search", :search_combinations
|
22
|
+
.clear
|
23
|
+
|
24
|
+
:javascript
|
25
|
+
$(function () {
|
26
|
+
var discernerSearchCombinationsTemplate = '#{@discernerSearchCombinationsTemplate}';
|
27
|
+
if (discernerSearchCombinationsTemplate) {
|
28
|
+
new Discerner.SearchCombination.UI({
|
29
|
+
searchCombinationsTemplate: discernerSearchCombinationsTemplate
|
30
|
+
})
|
31
|
+
}
|
32
|
+
});
|
@@ -0,0 +1,8 @@
|
|
1
|
+
.discerner-buttons
|
2
|
+
- if @discerner_search.disabled?
|
3
|
+
= submit_tag 'Update search', :class => "discerner-button discerner-button-positive"
|
4
|
+
- else
|
5
|
+
= submit_tag 'Search', :class => "discerner-button discerner-button-positive"
|
6
|
+
- if @discerner_search.persisted? && export_discerner_results? && discerner_export_link
|
7
|
+
= discerner_export_link
|
8
|
+
= link_to 'Clear', new_search_path, :class => "discerner-button discerner-button-negative"
|