Custom top filtering links

This commit is contained in:
Vit Brunner
2015-01-06 18:55:42 +01:00
parent 3e96ca3a84
commit 0a8acdb43a
5 changed files with 47 additions and 5 deletions
+2
View File
@@ -21,6 +21,8 @@ html(ng-app="sideBySide" ng-controller="AppController")
// top menu
.pure-menu.pure-menu-open.pure-menu-horizontal.menu-main
ul
li(ng-repeat="link in links")
a(href="" ng-click="display(link.display)" ng-bind-html="link.text")
li
a(href="" ng-click="showPage('help')") Help
li
+13 -2
View File
@@ -1,6 +1,6 @@
angular.module("sideBySide").controller "AppController",
['$scope', 'ngDialog', 'poems'
($scope, ngDialog, poems) ->
['$scope', 'ngDialog', 'filter', 'poems'
($scope, ngDialog, filter, poems) ->
$scope.title = =>
sbs = 'Side By Side viewer'
if poems.config.title
@@ -8,6 +8,17 @@ angular.module("sideBySide").controller "AppController",
else
sbs
$scope.$watchCollection ->
poems.config
, ->
if 'links' of poems.config
$scope.links = poems.config.links.map (link) ->
link.display = JSON.stringify link.display
link
$scope.display = (encoded) ->
filter.setFilter JSON.parse encoded
$scope.showPage = (page) ->
ngDialog.open {
template: 'partials/' + page + '.html'
+7
View File
@@ -5,6 +5,13 @@ angular.module("sideBySide").service "filter",
@update = ->
extractHeaders poems.all
@setFilter = (filter) ->
for key, values of filter
null
poems.all.map (poem) ->
poem.meta.Active = poem.meta[key] in values
@getFilter = ->
encodings = []
for header in headers
+14
View File
@@ -70,3 +70,17 @@ test "get filter for arbitrary poems using shortest key", ->
deepEqual filter.getFilter(), {
'Code': [ 'vrch', 'muz' ]
}
test "set filter", ->
setPoems()
poemList.vrch.meta.Active = true
filter.update()
filter.setFilter {
'Language': [ 'English' ]
}
equal poemList.vrch.meta.Active, false
equal poemList.poe.meta.Active, true
deepEqual filter.getFilter(), {
'Code': [ 'poe' ]
}
+11 -3
View File
@@ -1,5 +1,15 @@
{
"title": "The Raven",
"links": [{
"text": "English",
"display": { "Language": [ "en" ] }
}, {
"text": "Česky",
"display": { "Language": [ "cs" ] }
}, {
"text": "Polski",
"display": { "Language": [ "pl" ] }
}],
"files": [
"1845-poe.md",
"1881-vrchlicky.md",
@@ -9,7 +19,5 @@
"1910-barbara-beaupre.md",
"1970-baranczak.md"
],
"display": {
"Language": [ "cs" ]
}
"display": { "Language": [ "cs" ] }
}