Font-Awesome/docs/assets/js/index/index.js

89 lines
1.9 KiB
JavaScript
Raw Normal View History

2012-03-09 05:02:49 +00:00
$(function() {
2012-06-04 19:10:35 +00:00
// start the icon carousel
$('#iconCarousel').carousel({
interval: 5000
});
// make code pretty
window.prettyPrint && prettyPrint();
// inject twitter & github counts
$.ajax({
url: 'http://api.twitter.com/1/users/show.json',
data: {screen_name: 'fortaweso_me'},
dataType: 'jsonp',
success: function(data) {
$('#followers').html(data.followers_count);
}
});
$.ajax({
url: 'http://github.com/api/v2/json/repos/show/FortAwesome/Font-Awesome',
dataType: 'jsonp',
success: function(data) {
$('#watchers').html(data.repository.watchers);
$('#forks').html(data.repository.forks);
}
});
var firstInHistory = true;
2012-03-09 05:02:49 +00:00
var MainView = Backbone.View.extend({
el: $("div.container"),
2012-03-09 05:02:49 +00:00
modalTemplate: _.template($("#modal-template").html()),
2012-03-09 05:02:49 +00:00
events:{
"click ul.the-icons > li": "iconClicked"
},
2012-03-09 05:02:49 +00:00
iconClicked: function(event) {
event.preventDefault();
2012-03-09 05:02:49 +00:00
var $item = $(event.currentTarget);
var $iconName = $item.find("i").attr("class");
mainRouter.navigate("icon/" + $iconName, {trigger: true});
firstInHistory = false;
}
});
var MainRouter = Backbone.Router.extend({
routes: {
2012-06-04 16:05:38 +00:00
"": "checkModal",
"icon/:iconName": "showIcon"
},
2012-06-04 16:05:38 +00:00
checkModal: function() {
var $modal = $("div.modal");
if ($modal.length > 0) {
$modal.modal("hide");
}
},
showIcon: function(iconName) {
var $modal = $(mainView.modalTemplate({"iconName": iconName}));
$modal.modal("show");
$modal.on('hidden', function () {
$modal.remove();
if (firstInHistory) {
mainRouter.navigate("/", {trigger: false});
firstInHistory = false;
} else {
window.history.back();
2012-03-09 05:02:49 +00:00
}
})
}
});
2012-03-09 05:02:49 +00:00
var mainView = new MainView();
var mainRouter = new MainRouter();
Backbone.history.start({pushState : false});
2012-03-09 05:02:49 +00:00
});