Created
March 26, 2015 03:29
-
-
Save Foovanadil/d678f8e1cbbfd8e3b93d to your computer and use it in GitHub Desktop.
Search Highlight
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
var myApp = angular.module('myApp', []); | |
myApp.factory('Avengers', function () { | |
var Avengers = {}; | |
Avengers.cast = [{ | |
name: "Robert Downey Jr.", | |
character: "Tony Stark / Iron Man" | |
}, | |
{ | |
name: "Chris Evans", | |
character: "Steve Rogers / Captain America}" | |
}, | |
{ | |
name: "Mark Ruffalo", | |
character: "Bruce Banner / The Hulk}" | |
}, | |
{ | |
name: "Chris Hemsworth", | |
character: "Thor" | |
}, | |
{ | |
name: "Scarlett Johansson", | |
character: "Natasha Romanoff / Black Widow" | |
}, | |
{ | |
name: "Jeremy Renner", | |
character: "Clint Barton / Hawkeye" | |
}, | |
{ | |
name: "Tom Hiddleston", | |
character: "Loki" | |
}, | |
{ | |
name: "Clark Gregg", | |
character: "Agent Phil Coulson" | |
}, | |
{ | |
name: "Cobie Smulders", | |
character: "Agent Maria Hill" | |
}, | |
{ | |
name: "Stellan Skarsgard", | |
character: "Selvig" | |
}, | |
{ | |
name: "Samuel L. Jackson", | |
character: "Nick Fury" | |
}, | |
{ | |
name: "Gwyneth Paltrow", | |
character: "Pepper Potts" | |
}, | |
{ | |
name: "Paul Bettany", | |
character: "Jarvis (voice)" | |
}, | |
{ | |
name: "Alexis Denisof", | |
character: "The Other" | |
}, | |
{ | |
name: "Tina Benko", | |
character: "NASA Scientist" | |
}]; | |
return Avengers; | |
}); | |
function AvengersCtrl($scope, Avengers) { | |
$scope.avengers = Avengers; | |
} | |
myApp.directive("highlight", function ($parse) { | |
return { | |
//scope: { | |
// bindField : "@" | |
//}, | |
link: function (scope, element, attrs) { | |
//console.log(scope.search); | |
if (scope.search) { | |
var searchValue = scope.search.$; | |
var fn = $parse(attrs.bindField); | |
text = fn(scope); | |
//console.log(text(scope)); | |
if (text.indexOf(searchValue) >= 0) { | |
var bolded = "<span style='color:red'>" + searchValue + "</span>"; | |
var replace = text.replace(searchValue, bolded); | |
element.html(replace); | |
} else { | |
element.html(text); | |
} | |
} | |
} | |
} | |
}) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment