aboutsummaryrefslogtreecommitdiffstats
path: root/app/assets/javascripts/refinery
diff options
context:
space:
mode:
Diffstat (limited to 'app/assets/javascripts/refinery')
-rw-r--r--app/assets/javascripts/refinery/blog/backend.js115
-rw-r--r--app/assets/javascripts/refinery/blog/frontend.js25
2 files changed, 140 insertions, 0 deletions
diff --git a/app/assets/javascripts/refinery/blog/backend.js b/app/assets/javascripts/refinery/blog/backend.js
new file mode 100644
index 0000000..695cdb7
--- /dev/null
+++ b/app/assets/javascripts/refinery/blog/backend.js
@@ -0,0 +1,115 @@
+$(document).ready(function(){
+ $('nav#actions.multilist > ul:not(.search_list) li a[href$="' + window.location.pathname + '"]')
+ .parent().addClass('selected');
+ if($('nav#actions.multilist > ul:not(.search_list) li.selected').length == 0) {
+ $('nav#actions.multilist > ul:not(.search_list) li a:nth(1)').parent().addClass('selected');
+ }
+
+ $('nav#actions.multilist > ul:not(.search_list) li > a').each(function(i,a){
+ if ($(this).data('dialog-title') == null) {
+ $(this).bind('click', function(){
+ $(this).css('background-image', "url('/images/refinery/icons/ajax-loader.gif') !important");
+ });
+ }
+ });
+
+ $('ul.collapsible_menu').each(function(i, ul) {
+ (first_li = $(this).children('li:first')).after(div=$("<div></div>"));
+
+ $("<span class='arrow'>&nbsp;</span>").appendTo(first_li)
+
+ if (($(this).children('li.selected')).length == 0) {
+ div.hide();
+ first_li.addClass("closed");
+ }
+ $(this).children('li:not(:first)').appendTo(div);
+
+ first_li.find('> a, > span.arrow').click(function(e){
+ $(this).parent().toggleClass("closed");
+ $(this).parent().toggleClass("open");
+
+ $(this).parent().next('div').animate({
+ opacity: 'toggle'
+ , height: 'toggle'
+ }, 250, $.proxy(function(){
+ $(this).css('background-image', null);
+ }, $(this))
+ );
+ e.preventDefault();
+ });
+ });
+
+ $('.success_icon, .failure_icon').bind('click', function(e) {
+ $.get($(this).attr('href'), $.proxy(function(data){
+ $(this).css('background-image', null)
+ .removeClass('failure_icon').removeClass('success_icon')
+ .addClass(data.enabled ? 'success_icon' : 'failure_icon');
+ }, $(this)));
+ e.preventDefault();
+ });
+
+
+ $(function() {
+ $('#page-tabs').tabs();
+ $('#copy_body_link').click(function(event) {
+ // Find the WYMEditor that maps to the custom_teaser field
+ var teaserTextArea = $('#blog_post_custom_teaser')[0];
+ var teaserEditor = null;
+ $.each(WYMeditor.INSTANCES, function(index, editor) {
+ if (editor._element[0] == teaserTextArea) {
+ teaserEditor = editor;
+ }
+ });
+
+ if (teaserEditor) {
+ teaserEditor.html($('#blog_post_body').attr('value'));
+ }
+
+ event.preventDefault();
+ });
+ });
+
+
+ function split( val ) {
+ return val.split( /,\s*/ );
+ }
+ function extractLast( term ) {
+ return split( term ).pop();
+ }
+
+ page_options.init(false, '', '')
+
+ $('<%= dom_id %>').bind( "keydown", function( event ) {
+ if ( event.keyCode === $.ui.keyCode.TAB && $( this ).data( "autocomplete" ).menu.active ) {
+ event.preventDefault()
+ }
+ }).autocomplete({
+ source: function( request, response ) {
+ $.getJSON( "<%= url %>", {
+ term: extractLast( request.term )
+ }, response );
+ },
+ search: function() {
+ // custom minLength
+ var term = extractLast( this.value );
+ if ( term.length < 2 ) {
+ return false;
+ }
+ },
+ focus: function() {
+ // prevent value inserted on focus
+ return false;
+ },
+ select: function( event, ui ) {
+ var terms = split( this.value );
+ // remove the current input
+ terms.pop();
+ // add the selected item
+ terms.push( ui.item.value );
+ // add placeholder to get the comma-and-space at the end
+ terms.push( "" );
+ this.value = terms.join( ", " );
+ return false;
+ }
+ })
+});
diff --git a/app/assets/javascripts/refinery/blog/frontend.js b/app/assets/javascripts/refinery/blog/frontend.js
new file mode 100644
index 0000000..269f70f
--- /dev/null
+++ b/app/assets/javascripts/refinery/blog/frontend.js
@@ -0,0 +1,25 @@
+$(document).ready(function(){
+ $('#show_blog_post').height($('#show_blog_post').height());
+
+ $('#next_prev_article a:not(".home")').live('click', function(){
+ url = this.href + ".js";
+ $('#show_blog_post > *').fadeOut();
+ $.ajax({
+ url: url,
+ success: function(data) {
+ $('#show_blog_post').html(data);
+ new_height = 0;
+ $('#show_blog_post > *').each(function(){
+ new_height += $(this).height()
+ });
+ $('#show_blog_post').animate({
+ height: new_height
+ });
+ }
+ });
+ $('html, body').animate({
+ scrollTop: $('body').offset().top
+ }, 2000);
+ return false;
+ })
+}) \ No newline at end of file