From 6ffda996a3dede36171c487488cf3c1c7d861525 Mon Sep 17 00:00:00 2001 From: Rodrigo Souto Date: Wed, 30 Jul 2014 11:52:30 -0300 Subject: [PATCH] [media-panel-improvements] Create folder on dialog --- app/views/cms/_media_new_folder.html.erb | 15 +++++++++++++++ app/views/cms/_text_editor_sidebar.html.erb | 6 ++++-- public/javascripts/media-panel.js | 66 +++++++++++++++++++++++++++++++++++------------------------------- public/stylesheets/application.css | 7 ++++++- 4 files changed, 60 insertions(+), 34 deletions(-) create mode 100644 app/views/cms/_media_new_folder.html.erb diff --git a/app/views/cms/_media_new_folder.html.erb b/app/views/cms/_media_new_folder.html.erb new file mode 100644 index 0000000..93b02be --- /dev/null +++ b/app/views/cms/_media_new_folder.html.erb @@ -0,0 +1,15 @@ +<%= form_tag({:action => 'new', :profile => profile.identifier}, :id => 'new-folder-dialog', :title => _('Create new folder'), :style => 'display: none;') do %> + <%= select_profile_folder( + _('Choose parent folder:'), + :parent_id, profile, default_folder, {}, {}, + "type='Folder' or type='Gallery'") + %> + + <%= content_tag(:label, radio_button_tag(:folder_type, 'Gallery', true) + _('Gallery')) %> + <%= content_tag(:label, radio_button_tag(:folder_type, 'Folder', false) + _('Folder')) %> + + <%= labelled_form_field _('Name:'), text_field_tag(:new_folder, nil, 'data-url' => url_for({:action => 'new', :profile => profile.identifier})) %> + <% button_bar do %> + <%= submit_button(:newfolder, _('Create')) %> + <% end %> +<% end %> diff --git a/app/views/cms/_text_editor_sidebar.html.erb b/app/views/cms/_text_editor_sidebar.html.erb index 71abc0d..c2e68ec 100644 --- a/app/views/cms/_text_editor_sidebar.html.erb +++ b/app/views/cms/_text_editor_sidebar.html.erb @@ -1,3 +1,5 @@ +<% default_folder = content_id_to_str default_folder_for_image_upload(profile) %> +
'> '> @@ -10,14 +12,13 @@
<%= form_tag({ :action => 'media_upload' }, :multipart => true) do %>
- <% default_folder = content_id_to_str default_folder_for_image_upload(profile) %> <%= select_profile_folder( _('Choose folder to upload files:'), :parent_id, profile, default_folder, {}, {}, "type='Folder' or type='Gallery'" ) %> - <%= labelled_form_field _('Or create a folder under the selected above:'), text_field_tag(:new_folder, nil, 'data-url' => url_for({:action => 'new', :profile => profile.identifier})) %>
+ <%= button(:newfolder, _('New folder'), '#', :id => 'new-folder-button') %>

<%= file_field_tag('file', :multiple => true) %>

<% end %>
@@ -46,4 +47,5 @@
+<%= render :partial => 'media_new_folder', :locals => {:default_folder => default_folder} %> <%= javascript_include_tag 'jquery.fileupload.js', 'tmpl.js', 'media-panel.js' %> diff --git a/public/javascripts/media-panel.js b/public/javascripts/media-panel.js index 4de1d3a..1308f7f 100644 --- a/public/javascripts/media-panel.js +++ b/public/javascripts/media-panel.js @@ -85,40 +85,44 @@ jQuery("#published-media #q").typeWatch({ jQuery("#published-media #q").bind('notext', function(){ loadPublishedMedia() }); -jQuery("#new_folder").keypress(function( event ) { - if ( event.which == 13 ) { - event.preventDefault(); - var url = jQuery(this).data('url'); - var name = jQuery(this).val(); - var parent_id = jQuery("#media-upload-box #parent_id").val(); - jQuery('#media-upload-form').addClass('fetching'); - jQuery.ajax({ - url: url, - type: 'POST', - data: { - 'parent_id': parent_id, - 'article': {'name': name, 'published': true}, - 'type': 'Folder' }, - dataType: 'json', - success: function(response) { - var option_selected = "