diff --git a/webapp/src/main/webapp/themes/iph/css/iph.css b/webapp/src/main/webapp/themes/iph/css/iph.css index ca75ba78..bd6d0c57 100644 --- a/webapp/src/main/webapp/themes/iph/css/iph.css +++ b/webapp/src/main/webapp/themes/iph/css/iph.css @@ -496,6 +496,44 @@ ul#header-nav a.log-out { padding-left: 10px; } /* SEARCH ------> */ +.search-form-container { + width: 100%; + float: left; +} +#switch-to-extended-searchform { + border:none; + background-color:unset; + color: #2485AE; +} +.custom-search-input { + width: 60%; + border-radius: unset !important; + -webkit-border-radius: unset !important; + float: left; + height: 2rem; + padding: 0px 0px 0px 5px !important; + border-style: solid; + border-color: #4d5863 !important; + margin-bottom: 0 !important; +} +.search-submit-button{ + border-radius: unset !important; + -webkit-border-radius: unset !important; + float: left; + height: calc( 2rem + 2px); + border-style: solid; + border-color: #4d5863; + background: white; +} +.custom-search-select{ + border-radius: unset !important; + -webkit-border-radius: unset !important; + margin: 0; + float: left; + height: calc( 2rem + 2px); + border-style: solid; + border-color: #4d5863; +} #search { position: absolute; width: 396px; diff --git a/webapp/src/main/webapp/themes/iph/css/query-builder.default.css b/webapp/src/main/webapp/themes/iph/css/query-builder.default.css new file mode 100644 index 00000000..465fe2d6 --- /dev/null +++ b/webapp/src/main/webapp/themes/iph/css/query-builder.default.css @@ -0,0 +1,173 @@ +/*! + * jQuery QueryBuilder 2.5.2 + * Copyright 2014-2018 Damien "Mistic" Sorel (http://www.strangeplanet.fr) + * Licensed under MIT (https://opensource.org/licenses/MIT) + */ +.query-builder .rules-group-container, .query-builder .rule-container, .query-builder .rule-placeholder { + position: relative; + margin: 4px 0; + border-radius: 5px; + padding: 5px; + border: 1px solid #EEE; + background: rgba(255, 255, 255, 0.9); +} + +.query-builder .rule-container .rule-filter-container, +.query-builder .rule-container .rule-operator-container, +.query-builder .rule-container .rule-value-container, .query-builder .error-container, .query-builder .drag-handle { + display: inline-block; + margin: 0 5px 0 0; + vertical-align: middle; +} + +.query-builder .rules-group-container { + padding: 10px; + padding-bottom: 6px; + border: 1px solid #DCC896; + background: rgba(250, 240, 210, 0.5); +} + +.query-builder .rules-group-header { + margin-bottom: 10px; +} + +.query-builder .rules-group-header .group-conditions .btn.readonly:not(.active), +.query-builder .rules-group-header .group-conditions input[name$='_cond'] { + border: 0; + clip: rect(0 0 0 0); + height: 1px; + margin: -1px; + overflow: hidden; + padding: 0; + position: absolute; + width: 1px; + white-space: nowrap; +} + +.query-builder .rules-group-header .group-conditions .btn.readonly { + border-radius: 3px; +} + +.query-builder .rules-list { + list-style: none; + padding: 0 0 0 15px; + margin: 0; +} + +.query-builder .rule-value-container { + border-left: 1px solid #DDD; + padding-left: 5px; +} + +.query-builder .rule-value-container label { + margin-bottom: 0; + font-weight: normal; +} + +.query-builder .rule-value-container label.block { + display: block; +} + +.query-builder .rule-value-container select, +.query-builder .rule-value-container input[type='text'], +.query-builder .rule-value-container input[type='number'] { + padding: 1px; +} + +.query-builder .error-container { + display: none; + cursor: help; + color: #F00; +} + +.query-builder .has-error { + background-color: #FDD; + border-color: #F99; +} + +.query-builder .has-error .error-container { + display: inline-block !important; +} + +.query-builder .rules-list > *::before, .query-builder .rules-list > *::after { + content: ''; + position: absolute; + left: -10px; + width: 10px; + height: calc(50% + 4px); + border-color: #CCC; + border-style: solid; +} + +.query-builder .rules-list > *::before { + top: -4px; + border-width: 0 0 2px 2px; +} + +.query-builder .rules-list > *::after { + top: 50%; + border-width: 0 0 0 2px; +} + +.query-builder .rules-list > *:first-child::before { + top: -12px; + height: calc(50% + 14px); +} + +.query-builder .rules-list > *:last-child::before { + border-radius: 0 0 0 4px; +} + +.query-builder .rules-list > *:last-child::after { + display: none; +} + +.query-builder.bt-checkbox-glyphicons .checkbox input[type='checkbox']:checked + label::after { + font-family: 'Glyphicons Halflings'; + content: '\e013'; +} + +.query-builder.bt-checkbox-glyphicons .checkbox label::after { + padding-left: 4px; + padding-top: 2px; + font-size: 9px; +} + +.query-builder .error-container + .tooltip .tooltip-inner { + color: #F99 !important; +} + +.query-builder p.filter-description { + margin: 5px 0 0 0; + background: #D9EDF7; + border: 1px solid #BCE8F1; + color: #31708F; + border-radius: 5px; + padding: 2.5px 5px; + font-size: .8em; +} + +.query-builder .rules-group-header [data-invert] { + margin-left: 5px; +} + +.query-builder .drag-handle { + cursor: move; + vertical-align: middle; + margin-left: 5px; +} + +.query-builder .dragging { + position: fixed; + opacity: .5; + z-index: 100; +} + +.query-builder .dragging::before, .query-builder .dragging::after { + display: none; +} + +.query-builder .rule-placeholder { + border: 1px dashed #BBB; + opacity: .7; +} diff --git a/webapp/src/main/webapp/themes/iph/css/query-builder.default.min.css b/webapp/src/main/webapp/themes/iph/css/query-builder.default.min.css new file mode 100644 index 00000000..19d64ae9 --- /dev/null +++ b/webapp/src/main/webapp/themes/iph/css/query-builder.default.min.css @@ -0,0 +1,6 @@ +/*! + * jQuery QueryBuilder 2.5.2 + * Copyright 2014-2018 Damien "Mistic" Sorel (http://www.strangeplanet.fr) + * Licensed under MIT (https://opensource.org/licenses/MIT) + */ +.query-builder .rule-container,.query-builder .rule-placeholder,.query-builder .rules-group-container{position:relative;margin:4px 0;border-radius:5px;padding:5px;border:1px solid #eee;background:rgba(255,255,255,.9)}.query-builder .drag-handle,.query-builder .error-container,.query-builder .rule-container .rule-filter-container,.query-builder .rule-container .rule-operator-container,.query-builder .rule-container .rule-value-container{display:inline-block;margin:0 5px 0 0;vertical-align:middle}.query-builder .rules-group-container{padding:10px;padding-bottom:6px;border:1px solid #dcc896;background:rgba(250,240,210,.5)}.query-builder .rules-group-header{margin-bottom:10px}.query-builder .rules-group-header .group-conditions .btn.readonly:not(.active),.query-builder .rules-group-header .group-conditions input[name$='_cond']{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap}.query-builder .rules-group-header .group-conditions .btn.readonly{border-radius:3px}.query-builder .rules-list{list-style:none;padding:0 0 0 15px;margin:0}.query-builder .rule-value-container{border-left:1px solid #ddd;padding-left:5px}.query-builder .rule-value-container label{margin-bottom:0;font-weight:400}.query-builder .rule-value-container label.block{display:block}.query-builder .rule-value-container input[type=number],.query-builder .rule-value-container input[type=text],.query-builder .rule-value-container select{padding:1px}.query-builder .error-container{display:none;cursor:help;color:red}.query-builder .has-error{background-color:#fdd;border-color:#f99}.query-builder .has-error .error-container{display:inline-block!important}.query-builder .rules-list>::after,.query-builder .rules-list>::before{content:'';position:absolute;left:-10px;width:10px;height:calc(50% + 4px);border-color:#ccc;border-style:solid}.query-builder .rules-list>::before{top:-4px;border-width:0 0 2px 2px}.query-builder .rules-list>::after{top:50%;border-width:0 0 0 2px}.query-builder .rules-list>:first-child::before{top:-12px;height:calc(50% + 14px)}.query-builder .rules-list>:last-child::before{border-radius:0 0 0 4px}.query-builder .rules-list>:last-child::after{display:none}.query-builder.bt-checkbox-glyphicons .checkbox input[type=checkbox]:checked+label::after{font-family:'Glyphicons Halflings';content:'\e013'}.query-builder.bt-checkbox-glyphicons .checkbox label::after{padding-left:4px;padding-top:2px;font-size:9px}.query-builder .error-container+.tooltip .tooltip-inner{color:#f99!important}.query-builder p.filter-description{margin:5px 0 0 0;background:#d9edf7;border:1px solid #bce8f1;color:#31708f;border-radius:5px;padding:2.5px 5px;font-size:.8em}.query-builder .rules-group-header [data-invert]{margin-left:5px}.query-builder .drag-handle{cursor:move;vertical-align:middle;margin-left:5px}.query-builder .dragging{position:fixed;opacity:.5;z-index:100}.query-builder .dragging::after,.query-builder .dragging::before{display:none}.query-builder .rule-placeholder{border:1px dashed #bbb;opacity:.7} \ No newline at end of file diff --git a/webapp/src/main/webapp/themes/iph/js/query-builder-config.js b/webapp/src/main/webapp/themes/iph/js/query-builder-config.js new file mode 100644 index 00000000..e69de29b diff --git a/webapp/src/main/webapp/themes/iph/templates/customSearchForm.ftl b/webapp/src/main/webapp/themes/iph/templates/customSearchForm.ftl new file mode 100644 index 00000000..446c0eea --- /dev/null +++ b/webapp/src/main/webapp/themes/iph/templates/customSearchForm.ftl @@ -0,0 +1,25 @@ +
+ +
+<#macro classGroupOptions classGroups> + <#list classGroups as group> + <#if (group.individualCount > 0)> + + + + + diff --git a/webapp/src/main/webapp/themes/iph/templates/customsearchpanel.ftl b/webapp/src/main/webapp/themes/iph/templates/customsearchpanel.ftl new file mode 100644 index 00000000..9dcdd595 --- /dev/null +++ b/webapp/src/main/webapp/themes/iph/templates/customsearchpanel.ftl @@ -0,0 +1,3 @@ + diff --git a/webapp/src/main/webapp/themes/iph/templates/page-home.ftl b/webapp/src/main/webapp/themes/iph/templates/page-home.ftl index 0af25af7..326e4c9b 100644 --- a/webapp/src/main/webapp/themes/iph/templates/page-home.ftl +++ b/webapp/src/main/webapp/themes/iph/templates/page-home.ftl @@ -42,24 +42,8 @@
${i18n().search_form} -
- <#include "queryBuilder.ftl"> + <#include "searchSelector.ftl"> diff --git a/webapp/src/main/webapp/themes/iph/templates/page.ftl b/webapp/src/main/webapp/themes/iph/templates/page.ftl index f1a2d5b2..5cb056f2 100644 --- a/webapp/src/main/webapp/themes/iph/templates/page.ftl +++ b/webapp/src/main/webapp/themes/iph/templates/page.ftl @@ -10,7 +10,9 @@ <#include "identity.ftl"> - <#include "search.ftl" > + <#if !querytext?? > + <#include "customsearchpanel.ftl" > + <#include "menu.ftl"> <#-- VIVO OpenSocial Extension by UCSF --> diff --git a/webapp/src/main/webapp/themes/iph/templates/queryBuilder.ftl b/webapp/src/main/webapp/themes/iph/templates/queryBuilder.ftl index 78a215a3..1c72c7f2 100644 --- a/webapp/src/main/webapp/themes/iph/templates/queryBuilder.ftl +++ b/webapp/src/main/webapp/themes/iph/templates/queryBuilder.ftl @@ -1,9 +1,12 @@ -
-
- - - - + @@ -73,6 +76,12 @@ $('#btn-set').on('click', function() { $('#builder').queryBuilder('setRules', rules_example); }); + + $('#btn-get-standard-searchform').on('click', function() { + $('#querybuilder-container').hide(); + $('#simple-search-container').show(); + }); + //$('#btn-get').on('click', function() { // var result = $('#builder').queryBuilder('getRules'); diff --git a/webapp/src/main/webapp/themes/iph/templates/searchSelector.ftl b/webapp/src/main/webapp/themes/iph/templates/searchSelector.ftl new file mode 100644 index 00000000..9484ee1a --- /dev/null +++ b/webapp/src/main/webapp/themes/iph/templates/searchSelector.ftl @@ -0,0 +1,17 @@ +
+ <#include "customSearchForm.ftl"> + +
+<#include "queryBuilder.ftl"> + + +