Skip to content

Commit

Permalink
WIP, need asset_pipeline
Browse files Browse the repository at this point in the history
  • Loading branch information
Thomas Lecavelier committed Oct 16, 2013
1 parent 44f2a3a commit d2c4d6f
Show file tree
Hide file tree
Showing 4 changed files with 21 additions and 45 deletions.
1 change: 1 addition & 0 deletions app/controllers/admin/content_controller.rb
Expand Up @@ -108,6 +108,7 @@ def autosave
end

if @article.save
gflash :success => _("Article was successfully saved")
@must_update_calendar = (params[:article][:published_at] and params[:article][:published_at].to_time.to_i < Time.now.to_time.to_i and @article.parent_id.nil?)
respond_to do |format|
format.js
Expand Down
1 change: 1 addition & 0 deletions app/views/admin/content/autosave.js.erb
Expand Up @@ -2,3 +2,4 @@ $('#autosave').replaceWith('<%= hidden_field_tag('articles[id]', @article.id %>'
$('#preview_link').replaceWith('<%= url_for({:controller => '/articles', :action => 'preview', :id => @article.id}, {:target => 'new', :class => 'btn info'}) %>')
$('#destroy_link').replaceWith('<%= link_to_destroy_draft(@article) %>')
$('#publish').replaceWith('<%= calendar_date_select('article', 'published_at', {:class => 'span7'}) %>')
<%= gflash :success => _("Article was successfully saved") %>
2 changes: 1 addition & 1 deletion app/views/layouts/administration.html.erb
Expand Up @@ -6,7 +6,7 @@
<title><%= this_blog.blog_name %><%= controller.controller_name %></title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="imagetoolbar" content="no" />
<%= stylesheet_link_tag "growler", "bootstrap", "administration_structure", "lightbox", "jquery-ui", "gritter" %>
<%= stylesheet_link_tag "bootstrap", "administration_structure", "lightbox", "jquery-ui", "gritter" %>
<%= javascript_include_tag "jquery", "jquery_ujs", "jquery-ui", "bootstrap", "publify", "publify_jquery", "lightbox", "publify_carousel", "administration", "administration_jquery", "gritter" %>
<style type="text/css">
#carousel-content .slide { width: <%= this_blog.image_thumb_size %>; }
Expand Down
62 changes: 18 additions & 44 deletions public/javascripts/administration.js
@@ -1,51 +1,25 @@
function autosave_request(e) {

new Form.Observer (e, 30, function(element, value) {
new Ajax.Request(e.action.gsub(/\/admin\/content\/{0,1}.*/, '/admin/content/autosave') , {
asynchronous:true,
evalScripts:true,
parameters: Form.serialize(e)
})
var g = new k.Growler({location : 'br'});
g.info('Article was successfully saved', {life: 3});
})
/* typewatch() borrowed from http://stackoverflow.com/questions/2219924/idiomatic-jquery-delayed-event-only-after-a-short-pause-in-typing-e-g-timew */
var typewatch = (function(){
var timer = 0;
return function(callback, ms){
clearTimeout (timer);
timer = setTimeout(callback, ms);
}
})();

function autosave_request(e) {
e.find('textarea').keyup(function() {
typewatch(function() {
e.up('form.autosave').ajax('/admin/content/autosave', e.serialize());
}
}));
}

Event.observe(window, 'load', function() {
$$('.autosave').each(function(e){autosave_request(e)});
$$('#article_form .new_category').each(function(cat_link){ cat_link.observe('click', bind_new_category_overlay); });
$$('.merge_link').each(function(merge_link){ merge_link.observe('click', bind_merge_link); });
$(document).ready(function() {
$('.autosave').each(function(e){autosave_request(e)});
$('#article_form .new_category').each(function(cat_link){ cat_link.click(bind_new_category_overlay); });
$('.merge_link').each(function(merge_link){ merge_link.click(bind_merge_link); });
})

// UJS for new category link in admin#new_article
function bind_new_category_overlay(event) {
new Ajax.Request(event.element().readAttribute('href'),
{
method:'get',
onSuccess: function(transport){
var response = transport.responseText;
Element.insert(document.body, {top: response });
window.scrollTo(window.pageXOffset, 0);
},
onFailure: function(){ alert('Something went wrong...') }
});
event.stop();
}

// JS for merging tags links in admin#tags
function bind_merge_link(e) {
var merger = $('tag_merger');
if(!merger) { return; }
merger.hide();
// Take calling element, then take informations
var tag_id = e.element()['id'] + 0;
var tag_name = e.element().up(1).previous().text;
merger.down('span').update(tag_name);
merger.show();
e.stop();
}

// JS QuickTags version 1.3.1
//
// Copyright (c) 2002-2008 Alex King
Expand Down

0 comments on commit d2c4d6f

Please sign in to comment.