[Search] Clear icon working

Clicking on the clear icon now clears
the input text in the search bar.
This commit is contained in:
slhale
2015-08-12 12:46:01 -07:00
parent a76e54483a
commit dd993c81a7
4 changed files with 154 additions and 124 deletions

View File

@ -276,17 +276,20 @@ ul.tree {
padding-right: 5px; padding-right: 5px;
top: 23px; top: 23px;
margin-top: 10px; } margin-top: 10px; }
/* line 36, ../sass/search/_search.scss */ /* line 34, ../sass/search/_search.scss */
.search-holder .search {
position: relative; }
/* line 37, ../sass/search/_search.scss */
.search-holder .search .search-bar { .search-holder .search .search-bar {
width: 100%; width: 100%;
margin-top: 4px; } margin-top: 4px; }
/* line 43, ../sass/search/_search.scss */ /* line 44, ../sass/search/_search.scss */
.search-holder .search .search-bar .search-input { .search-holder .search .search-bar .search-input {
position: relative; position: relative;
top: -4px; top: -4px;
width: 100%; width: 100%;
padding-right: 16px; } padding-right: 16px; }
/* line 52, ../sass/search/_search.scss */ /* line 53, ../sass/search/_search.scss */
.search-holder .search .search-bar .search-icon { .search-holder .search .search-bar .search-icon {
color: #737373; color: #737373;
font-size: 12px; font-size: 12px;
@ -295,29 +298,35 @@ ul.tree {
height: 0; height: 0;
margin-top: -19px; margin-top: -19px;
transition: visibility .15s, opacity .15s; } transition: visibility .15s, opacity .15s; }
/* line 67, ../sass/search/_search.scss */ /* line 68, ../sass/search/_search.scss */
.search-holder .search .search-bar .search-icon.content { .search-holder .search .search-bar .search-icon.content {
visibility: hidden; visibility: hidden;
opacity: 0; } opacity: 0; }
/* line 74, ../sass/search/_search.scss */ /* line 75, ../sass/search/_search.scss */
.search-holder .search .search-bar .search-input:focus + div.search-icon { .search-holder .search .search-bar .search-input:focus + div.search-icon {
visibility: hidden; visibility: hidden;
opacity: 0; } opacity: 0; }
/* line 80, ../sass/search/_search.scss */ /* line 81, ../sass/search/_search.scss */
.search-holder .search .search-bar .clear-icon { .search-holder .search .search-bar .clear-icon {
position: absolute;
display: block;
cursor: pointer;
color: #737373; color: #737373;
font-size: 6px; font-size: 6px;
float: right;
margin-right: 2px;
margin-top: -2px;
padding: 4px; padding: 4px;
cursor: crosshair; } right: 0px;
/* line 98, ../sass/search/_search.scss */ top: -1px;
margin-right: 2px;
visibility: hidden; }
/* line 99, ../sass/search/_search.scss */
.search-holder .search .search-bar .clear-icon.content {
visibility: visible; }
/* line 105, ../sass/search/_search.scss */
.search-holder .search .search-scroll { .search-holder .search .search-scroll {
top: 25px; top: 25px;
overflow-y: auto; overflow-y: auto;
padding-right: 5px; } padding-right: 5px; }
/* line 106, ../sass/search/_search.scss */ /* line 113, ../sass/search/_search.scss */
.search-holder .search .search-scroll .results .search-result-item { .search-holder .search .search-scroll .results .search-result-item {
-moz-transition: background-color 0.25s; -moz-transition: background-color 0.25s;
-o-transition: background-color 0.25s; -o-transition: background-color 0.25s;
@ -327,10 +336,10 @@ ul.tree {
border-radius: 2px; border-radius: 2px;
padding-top: 4px; padding-top: 4px;
padding-bottom: 2px; } padding-bottom: 2px; }
/* line 120, ../sass/search/_search.scss */ /* line 127, ../sass/search/_search.scss */
.search-holder .search .search-scroll .results .search-result-item .label { .search-holder .search .search-scroll .results .search-result-item .label {
margin-left: 6px; } margin-left: 6px; }
/* line 124, ../sass/search/_search.scss */ /* line 131, ../sass/search/_search.scss */
.search-holder .search .search-scroll .results .search-result-item .label .title-label { .search-holder .search .search-scroll .results .search-result-item .label .title-label {
display: inline-block; display: inline-block;
position: absolute; position: absolute;
@ -342,47 +351,47 @@ ul.tree {
overflow: hidden; overflow: hidden;
text-overflow: ellipsis; text-overflow: ellipsis;
white-space: nowrap; } white-space: nowrap; }
/* line 146, ../sass/search/_search.scss */ /* line 153, ../sass/search/_search.scss */
.search-holder .search .search-scroll .results .search-result-item.selected { .search-holder .search .search-scroll .results .search-result-item.selected {
background: #005177; background: #005177;
color: #fff; } color: #fff; }
/* line 150, ../sass/search/_search.scss */ /* line 157, ../sass/search/_search.scss */
.search-holder .search .search-scroll .results .search-result-item.selected .view-control { .search-holder .search .search-scroll .results .search-result-item.selected .view-control {
color: #0099cc; } color: #0099cc; }
/* line 153, ../sass/search/_search.scss */ /* line 160, ../sass/search/_search.scss */
.search-holder .search .search-scroll .results .search-result-item.selected .label .type-icon { .search-holder .search .search-scroll .results .search-result-item.selected .label .type-icon {
color: #fff; } color: #fff; }
/* line 160, ../sass/search/_search.scss */ /* line 167, ../sass/search/_search.scss */
.search-holder .search .search-scroll .results .search-result-item:not(.selected):hover { .search-holder .search .search-scroll .results .search-result-item:not(.selected):hover {
background: #404040; background: #404040;
color: #cccccc; } color: #cccccc; }
/* line 163, ../sass/search/_search.scss */ /* line 170, ../sass/search/_search.scss */
.search-holder .search .search-scroll .results .search-result-item:not(.selected):hover .context-trigger { .search-holder .search .search-scroll .results .search-result-item:not(.selected):hover .context-trigger {
display: block; } display: block; }
/* line 166, ../sass/search/_search.scss */ /* line 173, ../sass/search/_search.scss */
.search-holder .search .search-scroll .results .search-result-item:not(.selected):hover .icon { .search-holder .search .search-scroll .results .search-result-item:not(.selected):hover .icon {
color: #33ccff; } color: #33ccff; }
/* line 174, ../sass/search/_search.scss */ /* line 181, ../sass/search/_search.scss */
.search-holder .search .search-scroll .load-icon { .search-holder .search .search-scroll .load-icon {
position: relative; } position: relative; }
/* line 176, ../sass/search/_search.scss */ /* line 183, ../sass/search/_search.scss */
.search-holder .search .search-scroll .load-icon.loading { .search-holder .search .search-scroll .load-icon.loading {
pointer-events: none; pointer-events: none;
margin-left: 6px; } margin-left: 6px; }
/* line 180, ../sass/search/_search.scss */ /* line 187, ../sass/search/_search.scss */
.search-holder .search .search-scroll .load-icon.loading .title-label { .search-holder .search .search-scroll .load-icon.loading .title-label {
font-style: italic; font-style: italic;
font-size: .9em; font-size: .9em;
opacity: 0.5; opacity: 0.5;
margin-left: 26px; margin-left: 26px;
line-height: 24px; } line-height: 24px; }
/* line 190, ../sass/search/_search.scss */ /* line 197, ../sass/search/_search.scss */
.search-holder .search .search-scroll .load-icon.loading .wait-spinner { .search-holder .search .search-scroll .load-icon.loading .wait-spinner {
margin-left: 6px; } margin-left: 6px; }
/* line 195, ../sass/search/_search.scss */ /* line 202, ../sass/search/_search.scss */
.search-holder .search .search-scroll .load-icon:not(.loading) { .search-holder .search .search-scroll .load-icon:not(.loading) {
cursor: pointer; } cursor: pointer; }
/* line 200, ../sass/search/_search.scss */ /* line 207, ../sass/search/_search.scss */
.search-holder .search .search-scroll .load-more-button { .search-holder .search .search-scroll .load-more-button {
margin-top: 5px; margin-top: 5px;
margin-bottom: 5px; margin-bottom: 5px;

View File

@ -32,6 +32,7 @@
margin-top: 10px; margin-top: 10px;
.search { .search {
position: relative;
.search-bar { .search-bar {
$heightAdjust: 4px; $heightAdjust: 4px;
@ -78,20 +79,26 @@
} }
.clear-icon { .clear-icon {
position: absolute;
display: block;
cursor: pointer;
color: $colorItemFg; color: $colorItemFg;
font-size: 6px; font-size: 6px;
float: right;
margin-right: 2px;
margin-top: -2px;
padding: 4px; padding: 4px;
&.content { right: 0px;
// Make button visible only when there is text input top: -1px;
} margin-right: 2px;
//temp // Icon is visible only when there is text input
cursor: crosshair; visibility: hidden;
&.content {
visibility: visible;
}
} }
} }

View File

@ -24,23 +24,28 @@
<!-- Search bar --> <!-- Search bar -->
<div class="search-bar"> <div class="search-bar">
<!-- Input field --> <!-- Input field -->
<input class="search-input" <input class="search-input"
type="text" type="text"
ng-model="ngModel.input" ng-model="ngModel.input"
ng-keyup="controller.search()" ng-keyup="controller.search()"
id="searchInput" /> id="searchInput" />
<!-- Search icon --> <!-- Search icon -->
<!-- ui symbols for search are 'd' and 'M' --> <!-- ui symbols for search are 'd' and 'M' -->
<div class="ui-symbol search-icon" <div class="ui-symbol search-icon"
ng-class="{content: controller.hasInput()}"> ng-class="{content: controller.hasInput()}">
M M
</div> </div>
<!-- Clear button/icon 'x' -->
<!-- Clear icon/button 'x' -->
<a class="ui-symbol clear-icon" <a class="ui-symbol clear-icon"
ng-class="{content: controller.hasInput()}"> ng-class="{content: controller.hasInput()}"
ng-click="controller.clear()">
x x
</a> </a>
</div> </div>
<!-- This div exists to determine scroll bar location --> <!-- This div exists to determine scroll bar location -->
@ -72,4 +77,5 @@
</div> </div>
</div> </div>
</div> </div>

View File

@ -118,6 +118,14 @@ define(function () {
*/ */
hasInput: function () { hasInput: function () {
return !($scope.ngModel.input === "" || $scope.ngModel.input === undefined); return !($scope.ngModel.input === "" || $scope.ngModel.input === undefined);
},
/**
* Clears the input text.
*/
clear: function () {
$scope.ngModel.input = '';
$scope.ngModel.search = false;
} }
}; };
} }