mirror of
https://github.com/fergalmoran/dss.git
synced 2025-12-26 11:37:33 +00:00
Moved comments inline in mix page
This commit is contained in:
91
static/js/libs/clickify.js
Executable file → Normal file
91
static/js/libs/clickify.js
Executable file → Normal file
@@ -1,48 +1,45 @@
|
||||
(function($){
|
||||
// Declare the rootUrl used for filtering internal links.
|
||||
var rootUrl =
|
||||
document.location.protocol + '//' +
|
||||
(document.location.hostname || document.location.host) +
|
||||
(document.location.port ? ':' + document.location.port : '') + '/';
|
||||
|
||||
// Helper functions
|
||||
var getFragment = function(url, root) { // Grab the fragment and format it how Backbone expects
|
||||
var fragment = url;
|
||||
if (fragment.indexOf(':') !== -1)
|
||||
fragment = fragment.replace(/.*:\/\/[^\/]+/, '');
|
||||
if (!fragment.indexOf(root)) fragment = fragment.substr(root.length);
|
||||
return fragment.replace(/^[#\/]/, '');
|
||||
}
|
||||
|
||||
// jQuery selector for tagging internal links
|
||||
$.expr[':'].internal = function(obj, index, meta, stack) {
|
||||
var url = $(obj).attr('href') || '';
|
||||
return (url.substring(0, rootUrl.length) === rootUrl || url.indexOf(':') === -1); // same domain || relative link
|
||||
};
|
||||
|
||||
$.fn.clickify = function(options) {
|
||||
options = $.extend({ 'root': '/' }, options); // Set the root option if your single-page app isn't in the site root
|
||||
|
||||
var anchorTags = this.find('a:internal:not(.no-click)');
|
||||
|
||||
anchorTags.click(function (event) {
|
||||
var $this = $(this),
|
||||
url = $this.attr('href');
|
||||
|
||||
if (event.which == 2 || event.metaKey)
|
||||
return true;
|
||||
|
||||
// Make the call to Backbone.History
|
||||
// Backbone will call pushState, update the hash or change window.location depending on what our browser supports
|
||||
// Regardless, the part you should care about is that your routes are being called.
|
||||
Backbone.history.navigate(getFragment(url), { trigger: true });
|
||||
|
||||
event.preventDefault();
|
||||
return false;
|
||||
});
|
||||
|
||||
anchorTags.addClass('no-click'); // Mark tags we've already added our event handler to
|
||||
|
||||
return this; // chainability
|
||||
};
|
||||
(function($){
|
||||
// Declare the rootUrl used for filtering internal links.
|
||||
var rootUrl = document.location.protocol + '//' + (document.location.hostname || document.location.host) + (document.location.port ? ':' + document.location.port : '') + '/';
|
||||
|
||||
// Helper functions
|
||||
var getFragment = function(url, root) { // Grab the fragment and format it how Backbone expects
|
||||
var fragment = url;
|
||||
if (fragment.indexOf(':') !== -1)
|
||||
fragment = fragment.replace(/.*:\/\/[^\/]+/, '');
|
||||
if (!fragment.indexOf(root)) fragment = fragment.substr(root.length);
|
||||
return fragment.replace(/^[#\/]/, '');
|
||||
}
|
||||
|
||||
// jQuery selector for tagging internal links
|
||||
$.expr[':'].internal = function(obj, index, meta, stack) {
|
||||
var url = $(obj).attr('href') || '';
|
||||
return (url.substring(0, rootUrl.length) === rootUrl || url.indexOf(':') === -1); // same domain || relative link
|
||||
};
|
||||
|
||||
$.fn.clickify = function(options) {
|
||||
options = $.extend({ 'root': '/' }, options); // Set the root option if your single-page app isn't in the site root
|
||||
|
||||
var anchorTags = this.find('a:internal:not(.no-click)');
|
||||
|
||||
anchorTags.click(function (event) {
|
||||
var $this = $(this),
|
||||
url = $this.attr('href');
|
||||
|
||||
if (event.which == 2 || event.metaKey)
|
||||
return true;
|
||||
|
||||
// Make the call to Backbone.History
|
||||
// Backbone will call pushState, update the hash or change window.location depending on what our browser supports
|
||||
// Regardless, the part you should care about is that your routes are being called.
|
||||
Backbone.history.navigate(getFragment(url), { trigger: true });
|
||||
|
||||
event.preventDefault();
|
||||
return false;
|
||||
});
|
||||
|
||||
anchorTags.addClass('no-click'); // Mark tags we've already added our event handler to
|
||||
|
||||
return this; // chainability
|
||||
};
|
||||
})(jQuery);
|
||||
Reference in New Issue
Block a user