Skip to content

Commit

Permalink
Added ability to set custom css classes on search messages
Browse files Browse the repository at this point in the history
  • Loading branch information
e-kolpakov committed Feb 3, 2015
1 parent 30a7318 commit d7ba0fc
Show file tree
Hide file tree
Showing 4 changed files with 33 additions and 7 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -303,7 +303,7 @@ browser and pasting the output. When that file changes, this one should be rege
</script>
<script aria-hidden="true" type="text/template" id="search-alert-template">
<div class="search-alert" id="search-alert-<%- cid %>">
<div class="search-alert <%= css_class %>" id="search-alert-<%- cid %>">
<div class="search-alert-content">
<p class="message"><%= message %></p>
</div>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -274,6 +274,11 @@ describe "DiscussionThreadListView", ->
$(@).html()
).get()).toEqual(expectedMessages)

getAlertMessagesAndClasses = () ->
$(".search-alert").map( ->
{ text: $('.message', @).html(), 'css_class': $(@).attr('class') }
).get()

it "renders and removes search alerts", ->
testAlertMessages []
foo = @view.addSearchAlert("foo")
Expand All @@ -285,6 +290,23 @@ describe "DiscussionThreadListView", ->
@view.removeSearchAlert(bar.cid)
testAlertMessages []

it "renders search alert with custom class", ->
testAlertMessages []
foo = @view.addSearchAlert("foo", "custom-class")
messages = getAlertMessagesAndClasses()
expect(messages.length).toEqual(1);
expect(messages[0].text).toEqual("foo")
expect(messages[0].css_class).toEqual("search-alert custom-class")

foo = @view.addSearchAlert("bar", "other-class")

messages = getAlertMessagesAndClasses()
expect(messages.length).toEqual(2);
expect(messages[0].text).toEqual("foo")
expect(messages[0].css_class).toEqual("search-alert custom-class")
expect(messages[1].text).toEqual("bar")
expect(messages[1].css_class).toEqual("search-alert other-class")

it "clears all search alerts", ->
@view.addSearchAlert("foo")
@view.addSearchAlert("bar")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -42,8 +42,12 @@ if Backbone?
@searchAlertCollection.on "add", (searchAlert) =>
content = _.template(
$("#search-alert-template").html(),
{'message': searchAlert.attributes.message, 'cid': searchAlert.cid}
)
{
'message': searchAlert.attributes.message,
'cid': searchAlert.cid,
'css_class': searchAlert.attributes.css_class
}
)
@$(".search-alerts").append(content)
@$("#search-alert-" + searchAlert.cid + " a.dismiss").bind "click", searchAlert, (event) =>
@removeSearchAlert(event.data.cid)
Expand All @@ -54,8 +58,8 @@ if Backbone?
@searchAlertCollection.on "reset", =>
@$(".search-alerts").empty()

addSearchAlert: (message) =>
m = new Backbone.Model({"message": message})
addSearchAlert: (message, css_class="") =>
m = new Backbone.Model({"message": message, "css_class": css_class})
@searchAlertCollection.add(m)
m

Expand Down Expand Up @@ -496,7 +500,7 @@ if Backbone?
},
true
)
@addSearchAlert(message)
@addSearchAlert(message, 'search-by-user')

clearSearch: ->
@$(".forum-nav-search-input").val("")
Expand Down
2 changes: 1 addition & 1 deletion common/templates/discussion/_underscore_templates.html
Original file line number Diff line number Diff line change
Expand Up @@ -371,7 +371,7 @@ <h1 class="home-title">${course.display_name_with_default}</h1>
</script>

<script aria-hidden="true" type="text/template" id="search-alert-template">
<div class="search-alert" id="search-alert-${'<%- cid %>'}">
<div class="search-alert ${'<%= css_class %>'}" id="search-alert-${'<%- cid %>'}">
<div class="search-alert-content">
<p class="message">${'<%= message %>'}</p>
</div>
Expand Down

0 comments on commit d7ba0fc

Please sign in to comment.