Use sgSearch directive in addressbook module
parent
44164c0f43
commit
01d4134a23
|
@ -194,7 +194,7 @@
|
|||
dropdown-toggle="#addressbookProperties"
|
||||
options="align:right"
|
||||
ng-show="currentFolderIsConfigurable(folder)">
|
||||
<i class="md-icon-settings"><!-- options --></i>
|
||||
<i class="md-icon-more-vert"><!-- options --></i>
|
||||
</a>
|
||||
</span>
|
||||
</md-item-content>
|
||||
|
@ -207,7 +207,7 @@
|
|||
<md-toolbar layout="column" layout-align="space-between start" class="md-tall toolbar-main">
|
||||
<div class="md-toolbar-tools md-toolbar-tools-top" layout="row" layout-align="space-between start">
|
||||
<div class="sg-toolbar-group-1" layout="row">
|
||||
<md-button ng-click="toggleLeft()" class="md-hide-gt-md sg-button-navicon iconButton" aria-label="Toggle Menu">
|
||||
<md-button ng-click="toggleLeft()" class="md-hide-gt-md sg-button-navicon iconButton" label:aria-label="Toggle Menu">
|
||||
<span class="md-icon-menu"></span>
|
||||
</md-button>
|
||||
<div class="sg-date-group" layout="column" layout-align="space-between end">
|
||||
|
@ -219,25 +219,26 @@
|
|||
<p class="sg-md-display-3 sg-date-today">15</p>
|
||||
</div>
|
||||
<div class="sg-toolbar-group-2">
|
||||
<md-button class="iconButton" aria-label="Search">
|
||||
<md-button class="iconButton" label:aria-label="Search">
|
||||
<i class="md-icon-search"><!--icon--></i>
|
||||
</md-button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="md-toolbar-tools md-toolbar-tools-bottom" layout="row" layout-align="space-between center">
|
||||
<div class="cols-6" layout="row" layout-align="space-between center" style="padding-right: 16px">
|
||||
<div class="cols-6" layout="row" layout-align="space-between center" style="padding-right: 16px"
|
||||
sg-search="addressbook.$filter(searchText, { search: searchField })">
|
||||
<md-input-container class="sg-search-field-container">
|
||||
<label style="color: white"><i class="md-icon-search"><!--icon--></i>Search</label>
|
||||
<input name="folderSearch" type="search"
|
||||
ng-model="search.filter" ng-keyup="doSearch($event)" style="color: white"/>
|
||||
<label style="color: white"><i class="md-icon-search"><!--icon--></i><var:string label:value="Search"/></label>
|
||||
<input name="folderSearch" type="search" style="color: white"/>
|
||||
</md-input-container>
|
||||
|
||||
<div class="sg-toolbar-group">
|
||||
<md-select class="sg-toolbar-sort md-contrast-light" label:placeholder="All"
|
||||
ng-model="search.filter">
|
||||
<md-option value="all">ALL</md-option>
|
||||
<md-select class="sg-toolbar-sort md-contrast-light">
|
||||
<md-option value="name_or_address"><var:string label:value="Name or Email"/></md-option>
|
||||
<md-option value="category"><var:string label:value="Category"/></md-option>
|
||||
<md-option value="organization"><var:string label:value="Organization"/></md-option>
|
||||
</md-select>
|
||||
<md-button class="iconButton" aria-label="New Contact" ui-sref="addressbook.new({addressbookId: addressbook.id, contactType: 'card'})"><i class="md-icon-create"><!--icon--></i></md-button>
|
||||
<md-button class="iconButton" label:aria-label="New Contact" ui-sref="addressbook.new({addressbookId: addressbook.id, contactType: 'card'})"><i class="md-icon-create"><!--icon--></i></md-button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="spacer cols-8"><!-- spacer --></div>
|
||||
|
|
|
@ -175,9 +175,8 @@
|
|||
sort: 'c_cn',
|
||||
asc: 'true'
|
||||
};
|
||||
if (options && options.excludeLists) {
|
||||
params.excludeLists = true;
|
||||
}
|
||||
if (options)
|
||||
angular.extend(params, options);
|
||||
|
||||
return this.$id().then(function(addressbookId) {
|
||||
var futureAddressBookData = AddressBook.$$resource.fetch(addressbookId, 'view', params);
|
||||
|
|
|
@ -93,14 +93,10 @@
|
|||
$scope.addressbooks = stateAddressbooks;
|
||||
$rootScope.addressbook = stateAddressbook;
|
||||
|
||||
// $scope objects
|
||||
$scope.search = { status: null, filter: null, lastFilter: null };
|
||||
|
||||
// Adjust search status depending on addressbook type
|
||||
currentAddressbook = _.find($scope.addressbooks, function(o) {
|
||||
return o.id == $stateParams.addressbookId;
|
||||
});
|
||||
$scope.search.status = (currentAddressbook && currentAddressbook.isRemote)? 'remote-addressbook' : '';
|
||||
|
||||
// $scope functions
|
||||
$scope.select = function(rowIndex) {
|
||||
|
@ -243,31 +239,6 @@
|
|||
}]
|
||||
});
|
||||
};
|
||||
$scope.doSearch = function(keyEvent) {
|
||||
if ($scope.search.filter != $scope.search.lastFilter) {
|
||||
if ($scope.search.filter.length > 2) {
|
||||
$rootScope.addressbook.$filter($scope.search.filter).then(function(data) {
|
||||
if (data.length == 0)
|
||||
$scope.search.status = 'no-result';
|
||||
else
|
||||
$scope.search.status = '';
|
||||
});
|
||||
}
|
||||
else if ($scope.search.filter.length == 0) {
|
||||
$rootScope.addressbook = AddressBook.$find($stateParams.addressbookId);
|
||||
// Extend resulting model instance with parameters from addressbooks listing
|
||||
var o = _.find($scope.addressbooks, function(o) {
|
||||
return o.id == $stateParams.addressbookId;
|
||||
});
|
||||
$scope.search.status = (o.isRemote)? 'remote-addressbook' : '';
|
||||
}
|
||||
else {
|
||||
$scope.search.status = 'min-char';
|
||||
$rootScope.addressbook.cards = [];
|
||||
}
|
||||
}
|
||||
$scope.search.lastFilter = $scope.search.filter;
|
||||
};
|
||||
|
||||
/**
|
||||
* subscribeToFolder - Callback of sgSubscribe directive
|
||||
|
|
Loading…
Reference in New Issue