Add:
static/js/index.js
-Add header comments to existing search-group manipulation functions.
static/sass/index.sass
-Remove style rules for the old advanced search form.
templates/index.html
-Add element tree for new search form.
tags/v1.0^2
| @@ -174,12 +174,14 @@ function loadMoreResults(){ | |||
| var searchGroups = []; | |||
| var currentSearchGroup = 0; | |||
| // Create a new search group. | |||
| $("div#add-group").click(function(){ | |||
| storeSearchGroup(); | |||
| currentSearchGroup = searchGroups.length; | |||
| $("span#current, span#total").text(currentSearchGroup + 1); | |||
| }); | |||
| // Save the current's search group's values, and load the previous one. | |||
| $("div#previous-group").click(function(){ | |||
| console.log(currentSearchGroup); | |||
| if(0 < currentSearchGroup){ | |||
| @@ -190,6 +192,7 @@ $("div#previous-group").click(function(){ | |||
| } | |||
| }); | |||
| // Save the current's search group's values, and load the next one. | |||
| $("div#next-group").click(function(){ | |||
| console.log(currentSearchGroup); | |||
| if(currentSearchGroup < searchGroups.length - 1){ | |||
| @@ -200,6 +203,10 @@ $("div#next-group").click(function(){ | |||
| } | |||
| }); | |||
| /* | |||
| * Store the advanced search form's values into the currently selected search | |||
| * group object. | |||
| */ | |||
| function storeSearchGroup(){ | |||
| var searchGroup = {}; | |||
| var inputs = $("div#advanced-search input[type='text']"); | |||
| @@ -216,6 +223,10 @@ function storeSearchGroup(){ | |||
| searchGroups.push(searchGroup); | |||
| } | |||
| /* | |||
| * Load the values belonging to the currently selected search group object into | |||
| * the advanced search form. | |||
| */ | |||
| function loadSearchGroup(groupNumber){ | |||
| for(var inputId in searchGroups[currentSearchGroup]){ | |||
| var selector = "div#advanced-search input[type='text']#" + inputId; | |||
| @@ -110,145 +110,23 @@ div#search-field | |||
| height: 26px | |||
| div#advanced-search | |||
| border: 1px solid $baseColor2 | |||
| margin: 0px | |||
| background-color: red | |||
| padding-top: 0px | |||
| overflow: auto | |||
| padding: 0px | |||
| // display: none | |||
| >div | |||
| @include vendor(box-sizing, border-box) | |||
| display: inline-block | |||
| float: left | |||
| height: 100% | |||
| >#col1 | |||
| width: 10% | |||
| div#group-count | |||
| font-size: 150% | |||
| margin-left: 10% | |||
| padding: 35% 0 20% 12% | |||
| #current | |||
| color: green | |||
| font-size: 140% | |||
| #seperator | |||
| color: $baseColor3 | |||
| font-weight: bold | |||
| div#group-selector | |||
| margin-left: 20% | |||
| div | |||
| $triangleHeight: 40% | |||
| display: inline-block | |||
| height: 0 | |||
| padding-bottom: $triangleHeight | |||
| padding-top: $triangleHeight | |||
| overflow: hidden | |||
| &:after | |||
| border-bottom: 500px solid transparent | |||
| border-top: 500px solid transparent | |||
| content: "" | |||
| display: block | |||
| height: 0 | |||
| margin-top: -500px | |||
| width: 0 | |||
| &#previous-group | |||
| width: $triangleHeight | |||
| &:after | |||
| border-right: 500px solid $baseColor3 | |||
| &:hover | |||
| &:after | |||
| @extend .t3 | |||
| border-right-color: green | |||
| &#next-group | |||
| padding-left: $triangleHeight | |||
| width: 0 | |||
| &:after | |||
| border-left: 500px solid $baseColor3 | |||
| margin-left: -500px | |||
| &:hover | |||
| &:after | |||
| @extend .t3 | |||
| border-left-color: green | |||
| div#add-group | |||
| margin-top: -10px | |||
| margin-left: auto | |||
| margin-right: auto | |||
| width: 50% | |||
| span | |||
| color: $baseColor3 | |||
| font-size: 510% | |||
| font-weight: bold | |||
| &:hover | |||
| @extend .t3 | |||
| color: green | |||
| div#add-group, div#group-selector div | |||
| &:hover | |||
| cursor: pointer | |||
| >#col2 | |||
| width: 84% | |||
| ul | |||
| list-style: none | |||
| li | |||
| margin-bottom: 0.5em | |||
| label | |||
| @extend .t3 | |||
| &:hover | |||
| input[type="text"] | |||
| border-color: $baseColor1 | |||
| label | |||
| color: black | |||
| label | |||
| display: block | |||
| font-size: 110% | |||
| color: #747575 | |||
| input[type="text"] | |||
| @extend .t3 | |||
| border-color: $baseColor3 | |||
| font-size: 100% | |||
| padding: 4px | |||
| width: 100% | |||
| #upper-half | |||
| >div | |||
| float: left | |||
| width: 50% | |||
| #col2 | |||
| input[type="text"] | |||
| width: 50% | |||
| #sidebar | |||
| background-color: yellow | |||
| width: 20% | |||
| #lower-half | |||
| padding-bottom: 20px | |||
| #search-groups | |||
| background-color: blue | |||
| width: 80% | |||
| &.partly-visible | |||
| margin-top: 0% | |||
| @@ -34,74 +34,34 @@ | |||
| </button> | |||
| <div id="advanced-search"> | |||
| <!-- Tags are closed on the following line to remove whitespace between divs. --> | |||
| <div id="col1"> | |||
| <div id="group-count"> | |||
| <span id="current">1</span | |||
| ><span id="seperator">/</span | |||
| ><span id="total">1</span> | |||
| </div> | |||
| <div id="group-selector"> | |||
| <div id="previous-group"></div> | |||
| <div></div> | |||
| <div id="next-group"></div> | |||
| </div> | |||
| <div id="add-group"> | |||
| <span>+</span> | |||
| </div> | |||
| </div | |||
| ><div id="col2"> | |||
| <div id="upper-half"> | |||
| <div id="col1"> | |||
| <ul> | |||
| <li> | |||
| <label for="languages">Languages</label> | |||
| <input type="text" name="languages" id="languages" class="typeahead"><br> | |||
| </li> | |||
| <li> | |||
| <label for="authors">Authors</label> | |||
| <input type="text" name="authors" id="authors"><br> | |||
| </li> | |||
| </ul> | |||
| </div><div id="col2"> | |||
| <ul> | |||
| <li> | |||
| <label for="date-last-modified">Date last modified</label> | |||
| <input type="text" name="date-last-modified" id="date-last-modified"> | |||
| </li> | |||
| <li> | |||
| <label for="date-created">Date created</label> | |||
| <input type="text" name="date-created" id="date-created"> | |||
| </li> | |||
| </ul> | |||
| </div> | |||
| </div> | |||
| <div id="lower-half"> | |||
| <ul> | |||
| <li> | |||
| <label for="symbols">Symbols</label> | |||
| <input class="typeahead" type="text" name="symbols" id="symbols"><br> | |||
| </li> | |||
| <li> | |||
| <label for="functions">Functions</label> | |||
| <input type="text" name="functions" id="functions"><br> | |||
| </li> | |||
| <li> | |||
| <label for="classes">Classes</label> | |||
| <input type="text" name="classes" id="classes"><br> | |||
| </li> | |||
| <li> | |||
| <label for="variables">Variables</label> | |||
| <input type="text" name="variables" id="variables"><br> | |||
| </li> | |||
| </ul> | |||
| </div> | |||
| <div id="sidebar"> | |||
| <div>Fields</div> | |||
| <ul> | |||
| <li><button id="language">languages</button></li> | |||
| <li><button id="author">authors</button></li> | |||
| <li><button id="modified">date last modified</button></li> | |||
| <li><button id="created">date created</button></li> | |||
| <li><button id="symbol">symbols</button></li> | |||
| <li><button id="function">functions</button></li> | |||
| <li><button id="class">classes</button></li> | |||
| <li><button id="variable">variables</button></li> | |||
| </ul> | |||
| <button id="add-group"> | |||
| Add group. | |||
| </button> | |||
| </div> | |||
| <div id="search-groups"> | |||
| <div class="search-group">Hello, world.</div> | |||
| <div class="search-group">Hello, world.</div> | |||
| <div class="search-group">Hello, world.</div> | |||
| <div class="search-group">Hello, world.</div> | |||
| <div class="search-group">Hello, world.</div> | |||
| <div class="search-group">Hello, world.</div> | |||
| <div class="search-group">Hello, world.</div> | |||
| <div class="search-group">Hello, world.</div> | |||
| <div class="search-group">Hello, world.</div> | |||
| <div class="search-group">Hello, world.</div> | |||
| <div class="search-group">Hello, world.</div> | |||
| </div> | |||
| </div> | |||
| </form> | |||