Blame |
Last modification |
View Log
| Download
| RSS feed
'use strict';
/**
* AngularJS default filter with the following expression:
* "person in people | filter: {name: $select.search, age: $select.search}"
* performs a AND between 'name: $select.search' and 'age: $select.search'.
* We want to perform a OR.
*/
MetronicApp.filter('propsFilter', function() {
return function(items, props) {
var out = [];
if (angular.isArray(items)) {
items.forEach(function(item) {
var itemMatches = false;
var keys = Object.keys(props);
for (var i = 0; i < keys.length; i++) {
var prop = keys[i];
var text = props[prop].toLowerCase();
if (item[prop].toString().toLowerCase().indexOf(text) !== -1) {
itemMatches = true;
break;
}
}
if (itemMatches) {
out.push(item);
}
});
} else {
// Let the output be the input untouched
out = items;
}
return out;
};
});
MetronicApp.controller('UISelectController', function($scope, $http, $timeout) {
$scope.$on('$viewContentLoaded', function() {
Metronic.initAjax(); // initialize core components
});
$scope.disabled = undefined;
$scope.searchEnabled = undefined;
$scope.enable = function() {
$scope.disabled = false;
};
$scope.disable = function() {
$scope.disabled = true;
};
$scope.enableSearch = function() {
$scope.searchEnabled = true;
}
$scope.disableSearch = function() {
$scope.searchEnabled = false;
}
$scope.clear = function() {
$scope.person.selected = undefined;
$scope.address.selected = undefined;
$scope.country.selected = undefined;
};
$scope.someGroupFn = function(item) {
if (item.name[0] >= 'A' && item.name[0] <= 'M')
return 'From A - M';
if (item.name[0] >= 'N' && item.name[0] <= 'Z')
return 'From N - Z';
};
$scope.personAsync = {
selected: "wladimir@email.com"
};
$scope.peopleAsync = [];
$timeout(function() {
$scope.peopleAsync = [{
name: 'Adam',
email: 'adam@email.com',
age: 12,
country: 'United States'
}, {
name: 'Amalie',
email: 'amalie@email.com',
age: 12,
country: 'Argentina'
}, {
name: 'Estefanía',
email: 'estefania@email.com',
age: 21,
country: 'Argentina'
}, {
name: 'Adrian',
email: 'adrian@email.com',
age: 21,
country: 'Ecuador'
}, {
name: 'Wladimir',
email: 'wladimir@email.com',
age: 30,
country: 'Ecuador'
}, {
name: 'Samantha',
email: 'samantha@email.com',
age: 30,
country: 'United States'
}, {
name: 'Nicole',
email: 'nicole@email.com',
age: 43,
country: 'Colombia'
}, {
name: 'Natasha',
email: 'natasha@email.com',
age: 54,
country: 'Ecuador'
}, {
name: 'Michael',
email: 'michael@email.com',
age: 15,
country: 'Colombia'
}, {
name: 'Nicolás',
email: 'nicole@email.com',
age: 43,
country: 'Colombia'
}];
}, 3000);
$scope.counter = 0;
$scope.someFunction = function(item, model) {
$scope.counter++;
$scope.eventResult = {
item: item,
model: model
};
};
$scope.removed = function(item, model) {
$scope.lastRemoved = {
item: item,
model: model
};
};
$scope.person = {};
$scope.people = [{
name: 'Adam',
email: 'adam@email.com',
age: 12,
country: 'United States'
}, {
name: 'Amalie',
email: 'amalie@email.com',
age: 12,
country: 'Argentina'
}, {
name: 'Estefanía',
email: 'estefania@email.com',
age: 21,
country: 'Argentina'
}, {
name: 'Adrian',
email: 'adrian@email.com',
age: 21,
country: 'Ecuador'
}, {
name: 'Wladimir',
email: 'wladimir@email.com',
age: 30,
country: 'Ecuador'
}, {
name: 'Samantha',
email: 'samantha@email.com',
age: 30,
country: 'United States'
}, {
name: 'Nicole',
email: 'nicole@email.com',
age: 43,
country: 'Colombia'
}, {
name: 'Natasha',
email: 'natasha@email.com',
age: 54,
country: 'Ecuador'
}, {
name: 'Michael',
email: 'michael@email.com',
age: 15,
country: 'Colombia'
}, {
name: 'Nicolás',
email: 'nicolas@email.com',
age: 43,
country: 'Colombia'
}];
$scope.availableColors = ['Red', 'Green', 'Blue', 'Yellow', 'Magenta', 'Maroon', 'Umbra', 'Turquoise'];
$scope.multipleDemo = {};
$scope.multipleDemo.colors = ['Blue', 'Red'];
$scope.multipleDemo.selectedPeople = [$scope.people[5], $scope.people[4]];
$scope.multipleDemo.selectedPeopleWithGroupBy = [$scope.people[8], $scope.people[6]];
$scope.multipleDemo.selectedPeopleSimple = ['samantha@email.com', 'wladimir@email.com'];
$scope.address = {};
$scope.refreshAddresses = function(address) {
var params = {
address: address,
sensor: false
};
return $http.get(
'http://maps.googleapis.com/maps/api/geocode/json', {
params: params
}
).then(function(response) {
$scope.addresses = response.data.results;
});
};
$scope.country = {};
$scope.countries = [ // Taken from https://gist.github.com/unceus/6501985
{
name: 'Afghanistan',
code: 'AF'
}, {
name: 'Åland Islands',
code: 'AX'
}, {
name: 'Albania',
code: 'AL'
}, {
name: 'Algeria',
code: 'DZ'
}, {
name: 'American Samoa',
code: 'AS'
}, {
name: 'Andorra',
code: 'AD'
}, {
name: 'Angola',
code: 'AO'
}, {
name: 'Anguilla',
code: 'AI'
}, {
name: 'Antarctica',
code: 'AQ'
}, {
name: 'Antigua and Barbuda',
code: 'AG'
}, {
name: 'Argentina',
code: 'AR'
}, {
name: 'Armenia',
code: 'AM'
}, {
name: 'Aruba',
code: 'AW'
}, {
name: 'Australia',
code: 'AU'
}, {
name: 'Austria',
code: 'AT'
}, {
name: 'Azerbaijan',
code: 'AZ'
}, {
name: 'Bahamas',
code: 'BS'
}, {
name: 'Bahrain',
code: 'BH'
}, {
name: 'Bangladesh',
code: 'BD'
}, {
name: 'Barbados',
code: 'BB'
}, {
name: 'Belarus',
code: 'BY'
}, {
name: 'Belgium',
code: 'BE'
}, {
name: 'Belize',
code: 'BZ'
}, {
name: 'Benin',
code: 'BJ'
}, {
name: 'Bermuda',
code: 'BM'
}, {
name: 'Bhutan',
code: 'BT'
}, {
name: 'Bolivia',
code: 'BO'
}, {
name: 'Bosnia and Herzegovina',
code: 'BA'
}, {
name: 'Botswana',
code: 'BW'
}, {
name: 'Bouvet Island',
code: 'BV'
}, {
name: 'Brazil',
code: 'BR'
}, {
name: 'British Indian Ocean Territory',
code: 'IO'
}, {
name: 'Brunei Darussalam',
code: 'BN'
}, {
name: 'Bulgaria',
code: 'BG'
}, {
name: 'Burkina Faso',
code: 'BF'
}, {
name: 'Burundi',
code: 'BI'
}, {
name: 'Cambodia',
code: 'KH'
}, {
name: 'Cameroon',
code: 'CM'
}, {
name: 'Canada',
code: 'CA'
}, {
name: 'Cape Verde',
code: 'CV'
}, {
name: 'Cayman Islands',
code: 'KY'
}, {
name: 'Central African Republic',
code: 'CF'
}, {
name: 'Chad',
code: 'TD'
}, {
name: 'Chile',
code: 'CL'
}, {
name: 'China',
code: 'CN'
}, {
name: 'Christmas Island',
code: 'CX'
}, {
name: 'Cocos (Keeling) Islands',
code: 'CC'
}, {
name: 'Colombia',
code: 'CO'
}, {
name: 'Comoros',
code: 'KM'
}, {
name: 'Congo',
code: 'CG'
}, {
name: 'Congo, The Democratic Republic of the',
code: 'CD'
}, {
name: 'Cook Islands',
code: 'CK'
}, {
name: 'Costa Rica',
code: 'CR'
}, {
name: 'Cote D\'Ivoire',
code: 'CI'
}, {
name: 'Croatia',
code: 'HR'
}, {
name: 'Cuba',
code: 'CU'
}, {
name: 'Cyprus',
code: 'CY'
}, {
name: 'Czech Republic',
code: 'CZ'
}, {
name: 'Denmark',
code: 'DK'
}, {
name: 'Djibouti',
code: 'DJ'
}, {
name: 'Dominica',
code: 'DM'
}, {
name: 'Dominican Republic',
code: 'DO'
}, {
name: 'Ecuador',
code: 'EC'
}, {
name: 'Egypt',
code: 'EG'
}, {
name: 'El Salvador',
code: 'SV'
}, {
name: 'Equatorial Guinea',
code: 'GQ'
}, {
name: 'Eritrea',
code: 'ER'
}, {
name: 'Estonia',
code: 'EE'
}, {
name: 'Ethiopia',
code: 'ET'
}, {
name: 'Falkland Islands (Malvinas)',
code: 'FK'
}, {
name: 'Faroe Islands',
code: 'FO'
}, {
name: 'Fiji',
code: 'FJ'
}, {
name: 'Finland',
code: 'FI'
}, {
name: 'France',
code: 'FR'
}, {
name: 'French Guiana',
code: 'GF'
}, {
name: 'French Polynesia',
code: 'PF'
}, {
name: 'French Southern Territories',
code: 'TF'
}, {
name: 'Gabon',
code: 'GA'
}, {
name: 'Gambia',
code: 'GM'
}, {
name: 'Georgia',
code: 'GE'
}, {
name: 'Germany',
code: 'DE'
}, {
name: 'Ghana',
code: 'GH'
}, {
name: 'Gibraltar',
code: 'GI'
}, {
name: 'Greece',
code: 'GR'
}, {
name: 'Greenland',
code: 'GL'
}, {
name: 'Grenada',
code: 'GD'
}, {
name: 'Guadeloupe',
code: 'GP'
}, {
name: 'Guam',
code: 'GU'
}, {
name: 'Guatemala',
code: 'GT'
}, {
name: 'Guernsey',
code: 'GG'
}, {
name: 'Guinea',
code: 'GN'
}, {
name: 'Guinea-Bissau',
code: 'GW'
}, {
name: 'Guyana',
code: 'GY'
}, {
name: 'Haiti',
code: 'HT'
}, {
name: 'Heard Island and Mcdonald Islands',
code: 'HM'
}, {
name: 'Holy See (Vatican City State)',
code: 'VA'
}, {
name: 'Honduras',
code: 'HN'
}, {
name: 'Hong Kong',
code: 'HK'
}, {
name: 'Hungary',
code: 'HU'
}, {
name: 'Iceland',
code: 'IS'
}, {
name: 'India',
code: 'IN'
}, {
name: 'Indonesia',
code: 'ID'
}, {
name: 'Iran, Islamic Republic Of',
code: 'IR'
}, {
name: 'Iraq',
code: 'IQ'
}, {
name: 'Ireland',
code: 'IE'
}, {
name: 'Isle of Man',
code: 'IM'
}, {
name: 'Israel',
code: 'IL'
}, {
name: 'Italy',
code: 'IT'
}, {
name: 'Jamaica',
code: 'JM'
}, {
name: 'Japan',
code: 'JP'
}, {
name: 'Jersey',
code: 'JE'
}, {
name: 'Jordan',
code: 'JO'
}, {
name: 'Kazakhstan',
code: 'KZ'
}, {
name: 'Kenya',
code: 'KE'
}, {
name: 'Kiribati',
code: 'KI'
}, {
name: 'Korea, Democratic People\'s Republic of',
code: 'KP'
}, {
name: 'Korea, Republic of',
code: 'KR'
}, {
name: 'Kuwait',
code: 'KW'
}, {
name: 'Kyrgyzstan',
code: 'KG'
}, {
name: 'Lao People\'s Democratic Republic',
code: 'LA'
}, {
name: 'Latvia',
code: 'LV'
}, {
name: 'Lebanon',
code: 'LB'
}, {
name: 'Lesotho',
code: 'LS'
}, {
name: 'Liberia',
code: 'LR'
}, {
name: 'Libyan Arab Jamahiriya',
code: 'LY'
}, {
name: 'Liechtenstein',
code: 'LI'
}, {
name: 'Lithuania',
code: 'LT'
}, {
name: 'Luxembourg',
code: 'LU'
}, {
name: 'Macao',
code: 'MO'
}, {
name: 'Macedonia, The Former Yugoslav Republic of',
code: 'MK'
}, {
name: 'Madagascar',
code: 'MG'
}, {
name: 'Malawi',
code: 'MW'
}, {
name: 'Malaysia',
code: 'MY'
}, {
name: 'Maldives',
code: 'MV'
}, {
name: 'Mali',
code: 'ML'
}, {
name: 'Malta',
code: 'MT'
}, {
name: 'Marshall Islands',
code: 'MH'
}, {
name: 'Martinique',
code: 'MQ'
}, {
name: 'Mauritania',
code: 'MR'
}, {
name: 'Mauritius',
code: 'MU'
}, {
name: 'Mayotte',
code: 'YT'
}, {
name: 'Mexico',
code: 'MX'
}, {
name: 'Micronesia, Federated States of',
code: 'FM'
}, {
name: 'Moldova, Republic of',
code: 'MD'
}, {
name: 'Monaco',
code: 'MC'
}, {
name: 'Mongolia',
code: 'MN'
}, {
name: 'Montserrat',
code: 'MS'
}, {
name: 'Morocco',
code: 'MA'
}, {
name: 'Mozambique',
code: 'MZ'
}, {
name: 'Myanmar',
code: 'MM'
}, {
name: 'Namibia',
code: 'NA'
}, {
name: 'Nauru',
code: 'NR'
}, {
name: 'Nepal',
code: 'NP'
}, {
name: 'Netherlands',
code: 'NL'
}, {
name: 'Netherlands Antilles',
code: 'AN'
}, {
name: 'New Caledonia',
code: 'NC'
}, {
name: 'New Zealand',
code: 'NZ'
}, {
name: 'Nicaragua',
code: 'NI'
}, {
name: 'Niger',
code: 'NE'
}, {
name: 'Nigeria',
code: 'NG'
}, {
name: 'Niue',
code: 'NU'
}, {
name: 'Norfolk Island',
code: 'NF'
}, {
name: 'Northern Mariana Islands',
code: 'MP'
}, {
name: 'Norway',
code: 'NO'
}, {
name: 'Oman',
code: 'OM'
}, {
name: 'Pakistan',
code: 'PK'
}, {
name: 'Palau',
code: 'PW'
}, {
name: 'Palestinian Territory, Occupied',
code: 'PS'
}, {
name: 'Panama',
code: 'PA'
}, {
name: 'Papua New Guinea',
code: 'PG'
}, {
name: 'Paraguay',
code: 'PY'
}, {
name: 'Peru',
code: 'PE'
}, {
name: 'Philippines',
code: 'PH'
}, {
name: 'Pitcairn',
code: 'PN'
}, {
name: 'Poland',
code: 'PL'
}, {
name: 'Portugal',
code: 'PT'
}, {
name: 'Puerto Rico',
code: 'PR'
}, {
name: 'Qatar',
code: 'QA'
}, {
name: 'Reunion',
code: 'RE'
}, {
name: 'Romania',
code: 'RO'
}, {
name: 'Russian Federation',
code: 'RU'
}, {
name: 'Rwanda',
code: 'RW'
}, {
name: 'Saint Helena',
code: 'SH'
}, {
name: 'Saint Kitts and Nevis',
code: 'KN'
}, {
name: 'Saint Lucia',
code: 'LC'
}, {
name: 'Saint Pierre and Miquelon',
code: 'PM'
}, {
name: 'Saint Vincent and the Grenadines',
code: 'VC'
}, {
name: 'Samoa',
code: 'WS'
}, {
name: 'San Marino',
code: 'SM'
}, {
name: 'Sao Tome and Principe',
code: 'ST'
}, {
name: 'Saudi Arabia',
code: 'SA'
}, {
name: 'Senegal',
code: 'SN'
}, {
name: 'Serbia and Montenegro',
code: 'CS'
}, {
name: 'Seychelles',
code: 'SC'
}, {
name: 'Sierra Leone',
code: 'SL'
}, {
name: 'Singapore',
code: 'SG'
}, {
name: 'Slovakia',
code: 'SK'
}, {
name: 'Slovenia',
code: 'SI'
}, {
name: 'Solomon Islands',
code: 'SB'
}, {
name: 'Somalia',
code: 'SO'
}, {
name: 'South Africa',
code: 'ZA'
}, {
name: 'South Georgia and the South Sandwich Islands',
code: 'GS'
}, {
name: 'Spain',
code: 'ES'
}, {
name: 'Sri Lanka',
code: 'LK'
}, {
name: 'Sudan',
code: 'SD'
}, {
name: 'Suriname',
code: 'SR'
}, {
name: 'Svalbard and Jan Mayen',
code: 'SJ'
}, {
name: 'Swaziland',
code: 'SZ'
}, {
name: 'Sweden',
code: 'SE'
}, {
name: 'Switzerland',
code: 'CH'
}, {
name: 'Syrian Arab Republic',
code: 'SY'
}, {
name: 'Taiwan, Province of China',
code: 'TW'
}, {
name: 'Tajikistan',
code: 'TJ'
}, {
name: 'Tanzania, United Republic of',
code: 'TZ'
}, {
name: 'Thailand',
code: 'TH'
}, {
name: 'Timor-Leste',
code: 'TL'
}, {
name: 'Togo',
code: 'TG'
}, {
name: 'Tokelau',
code: 'TK'
}, {
name: 'Tonga',
code: 'TO'
}, {
name: 'Trinidad and Tobago',
code: 'TT'
}, {
name: 'Tunisia',
code: 'TN'
}, {
name: 'Turkey',
code: 'TR'
}, {
name: 'Turkmenistan',
code: 'TM'
}, {
name: 'Turks and Caicos Islands',
code: 'TC'
}, {
name: 'Tuvalu',
code: 'TV'
}, {
name: 'Uganda',
code: 'UG'
}, {
name: 'Ukraine',
code: 'UA'
}, {
name: 'United Arab Emirates',
code: 'AE'
}, {
name: 'United Kingdom',
code: 'GB'
}, {
name: 'United States',
code: 'US'
}, {
name: 'United States Minor Outlying Islands',
code: 'UM'
}, {
name: 'Uruguay',
code: 'UY'
}, {
name: 'Uzbekistan',
code: 'UZ'
}, {
name: 'Vanuatu',
code: 'VU'
}, {
name: 'Venezuela',
code: 'VE'
}, {
name: 'Vietnam',
code: 'VN'
}, {
name: 'Virgin Islands, British',
code: 'VG'
}, {
name: 'Virgin Islands, U.S.',
code: 'VI'
}, {
name: 'Wallis and Futuna',
code: 'WF'
}, {
name: 'Western Sahara',
code: 'EH'
}, {
name: 'Yemen',
code: 'YE'
}, {
name: 'Zambia',
code: 'ZM'
}, {
name: 'Zimbabwe',
code: 'ZW'
}
];
});