Commit 224dcf933fcf1abbbdd0e8f3cf1ce53715bc4385
Exists in
master
and in
27 other branches
Merge branch 'stoa' of gitlab.com:colivre/noosfero into feedback
Showing
17 changed files
with
169 additions
and
41 deletions
Show diff stats
app/controllers/my_profile/cms_controller.rb
@@ -114,7 +114,7 @@ class CmsController < MyProfileController | @@ -114,7 +114,7 @@ class CmsController < MyProfileController | ||
114 | @success_back_to = params[:success_back_to] | 114 | @success_back_to = params[:success_back_to] |
115 | # user must choose an article type first | 115 | # user must choose an article type first |
116 | 116 | ||
117 | - @parent = profile.articles.find(params[:parent_id]) if params && params[:parent_id] | 117 | + @parent = profile.articles.find(params[:parent_id]) if params && params[:parent_id].present? |
118 | record_coming | 118 | record_coming |
119 | @type = params[:type] | 119 | @type = params[:type] |
120 | if @type.blank? | 120 | if @type.blank? |
@@ -159,7 +159,10 @@ class CmsController < MyProfileController | @@ -159,7 +159,10 @@ class CmsController < MyProfileController | ||
159 | if continue | 159 | if continue |
160 | redirect_to :action => 'edit', :id => @article | 160 | redirect_to :action => 'edit', :id => @article |
161 | else | 161 | else |
162 | - success_redirect | 162 | + respond_to do |format| |
163 | + format.html { success_redirect } | ||
164 | + format.json { render :text => {:id => @article.id, :full_name => profile.identifier + '/' + @article.full_name}.to_json } | ||
165 | + end | ||
163 | end | 166 | end |
164 | return | 167 | return |
165 | end | 168 | end |
@@ -477,7 +480,7 @@ class CmsController < MyProfileController | @@ -477,7 +480,7 @@ class CmsController < MyProfileController | ||
477 | files = profile.files | 480 | files = profile.files |
478 | end | 481 | end |
479 | 482 | ||
480 | - files = files.more_recent | 483 | + files = files.reorder('created_at DESC') |
481 | images = files.images | 484 | images = files.images |
482 | generics = files.no_images | 485 | generics = files.no_images |
483 | 486 |
app/models/profile_suggestion.rb
@@ -157,4 +157,22 @@ class ProfileSuggestion < ActiveRecord::Base | @@ -157,4 +157,22 @@ class ProfileSuggestion < ActiveRecord::Base | ||
157 | self.save | 157 | self.save |
158 | end | 158 | end |
159 | 159 | ||
160 | + def self.generate_all_profile_suggestions | ||
161 | + Delayed::Job.enqueue(ProfileSuggestion::GenerateAllJob.new) unless ProfileSuggestion::GenerateAllJob.exists? | ||
162 | + end | ||
163 | + | ||
164 | + def self.generate_profile_suggestions(person_id) | ||
165 | + Delayed::Job.enqueue ProfileSuggestionsJob.new(person_id) unless ProfileSuggestionsJob.exists?(person_id) | ||
166 | + end | ||
167 | + | ||
168 | + class GenerateAllJob | ||
169 | + def self.exists? | ||
170 | + Delayed::Job.by_handler("--- !ruby/object:ProfileSuggestion::GenerateAllJob {}\n").count > 0 | ||
171 | + end | ||
172 | + | ||
173 | + def perform | ||
174 | + Person.find_each {|person| ProfileSuggestion.generate_profile_suggestions(person.id) } | ||
175 | + end | ||
176 | + end | ||
177 | + | ||
160 | end | 178 | end |
app/views/admin_panel/_signup_welcome_screen.html.erb
1 | <div class='description'> | 1 | <div class='description'> |
2 | - <%= _('This text will be showed as a welcome message to users after signup.') %><br/><br/> | 2 | + <%= _('If you enable this feature on the "Features" section of the Administration Panel, this text will be shown as a welcome message to users after signup.') %><br/><br/> |
3 | </div> | 3 | </div> |
4 | <%= labelled_form_field(_('Body'), text_area(:environment, :signup_welcome_screen_body, :cols => 40, :style => 'width: 100%', :class => 'mceEditor')) %> | 4 | <%= labelled_form_field(_('Body'), text_area(:environment, :signup_welcome_screen_body, :cols => 40, :style => 'width: 100%', :class => 'mceEditor')) %> |
5 | 5 | ||
@@ -8,4 +8,4 @@ | @@ -8,4 +8,4 @@ | ||
8 | <%= _('If this content is left blank, the following page will be displayed to the user:') %><br/><br/> | 8 | <%= _('If this content is left blank, the following page will be displayed to the user:') %><br/><br/> |
9 | </div> | 9 | </div> |
10 | <p> | 10 | <p> |
11 | -<%= render :file => 'home/welcome' %> | 11 | +<%= render :file => 'home/welcome', :locals => {:default_message => true} %> |
@@ -0,0 +1,15 @@ | @@ -0,0 +1,15 @@ | ||
1 | +<%= form_tag({:action => 'new', :profile => profile.identifier}, :id => 'new-folder-dialog', :title => _('Create new folder'), :style => 'display: none;') do %> | ||
2 | + <%= select_profile_folder( | ||
3 | + _('Choose parent folder:'), | ||
4 | + :parent_id, profile, default_folder, {}, {}, | ||
5 | + "type='Folder' or type='Gallery'") | ||
6 | + %> | ||
7 | + | ||
8 | + <%= content_tag(:label, radio_button_tag(:folder_type, 'Gallery', true) + _('Gallery')) %> | ||
9 | + <%= content_tag(:label, radio_button_tag(:folder_type, 'Folder', false) + _('Folder')) %> | ||
10 | + | ||
11 | + <%= labelled_form_field _('Name:'), text_field_tag(:new_folder, nil, 'data-url' => url_for({:action => 'new', :profile => profile.identifier})) %> | ||
12 | + <% button_bar do %> | ||
13 | + <%= submit_button(:newfolder, _('Create')) %> | ||
14 | + <% end %> | ||
15 | +<% end %> |
app/views/cms/_text_editor_sidebar.html.erb
1 | +<% default_folder = content_id_to_str default_folder_for_image_upload(profile) %> | ||
2 | + | ||
1 | <div class='text-editor-sidebar'> | 3 | <div class='text-editor-sidebar'> |
2 | <span class='button-add' data-value='<%= _('Add to the text') %>'></span> | 4 | <span class='button-add' data-value='<%= _('Add to the text') %>'></span> |
3 | <span class='button-zoom' data-value='<%= _('Zoom in') %>'></span> | 5 | <span class='button-zoom' data-value='<%= _('Zoom in') %>'></span> |
4 | <span class='button-close' data-value='<%= _('Close') %>'></span> | 6 | <span class='button-close' data-value='<%= _('Close') %>'></span> |
5 | 7 | ||
8 | + <div class='header'><strong><%= _('Insert media') %></strong><%= button('vertical-toggle', _('Show/Hide'), '#') %></div> | ||
9 | + | ||
6 | <%= render(:partial => 'textile_quick_reference') if @article.is_a?(TextileArticle) %> | 10 | <%= render(:partial => 'textile_quick_reference') if @article.is_a?(TextileArticle) %> |
7 | <div class='text-editor-sidebar-box' id='media-upload-box'> | 11 | <div class='text-editor-sidebar-box' id='media-upload-box'> |
8 | - <div class='header'><strong><%= _('Insert media') %></strong></div> | ||
9 | <div id='media-upload-form'> | 12 | <div id='media-upload-form'> |
10 | <%= form_tag({ :action => 'media_upload' }, :multipart => true) do %> | 13 | <%= form_tag({ :action => 'media_upload' }, :multipart => true) do %> |
11 | <div class='formfield'> | 14 | <div class='formfield'> |
12 | - <% default_folder = content_id_to_str default_folder_for_image_upload(profile) %> | ||
13 | <%= select_profile_folder( | 15 | <%= select_profile_folder( |
14 | _('Choose folder to upload files:'), | 16 | _('Choose folder to upload files:'), |
15 | :parent_id, profile, default_folder, {}, {}, | 17 | :parent_id, profile, default_folder, {}, {}, |
16 | "type='Folder' or type='Gallery'" | 18 | "type='Folder' or type='Gallery'" |
17 | ) %> | 19 | ) %> |
18 | </div> | 20 | </div> |
21 | + <%= button(:newfolder, _('New folder'), '#', :id => 'new-folder-button') %> | ||
19 | <p><%= file_field_tag('file', :multiple => true) %></p> | 22 | <p><%= file_field_tag('file', :multiple => true) %></p> |
20 | <% end %> | 23 | <% end %> |
21 | </div> | 24 | </div> |
@@ -26,7 +29,6 @@ | @@ -26,7 +29,6 @@ | ||
26 | </div> | 29 | </div> |
27 | 30 | ||
28 | <div id='published-media' class='text-editor-sidebar-box' data-url='<%= url_for({:controller => 'cms', :action => 'published_media_items', :profile => profile.identifier}) %>'> | 31 | <div id='published-media' class='text-editor-sidebar-box' data-url='<%= url_for({:controller => 'cms', :action => 'published_media_items', :profile => profile.identifier}) %>'> |
29 | - <div class='header'><strong><%= _('Published media') %></strong></div> | ||
30 | <%= select_profile_folder(nil, :parent_id, profile, 'recent-media', {}, {}, | 32 | <%= select_profile_folder(nil, :parent_id, profile, 'recent-media', {}, {}, |
31 | "type='Folder' or type='Gallery'", {:root_label => _('Recent media')}) %> | 33 | "type='Folder' or type='Gallery'", {:root_label => _('Recent media')}) %> |
32 | <%= labelled_form_field _('Search'), text_field_tag('q') %> | 34 | <%= labelled_form_field _('Search'), text_field_tag('q') %> |
@@ -45,4 +47,5 @@ | @@ -45,4 +47,5 @@ | ||
45 | </div> | 47 | </div> |
46 | </script> | 48 | </script> |
47 | 49 | ||
50 | +<%= render :partial => 'media_new_folder', :locals => {:default_folder => default_folder} %> | ||
48 | <%= javascript_include_tag 'jquery.fileupload.js', 'tmpl.js', 'media-panel.js' %> | 51 | <%= javascript_include_tag 'jquery.fileupload.js', 'tmpl.js', 'media-panel.js' %> |
app/views/cms/media_upload.js.erb
app/views/enterprise_registration/creation.html.erb
1 | -<h1><%= __('Enterprise registration completed') %></h1> | ||
2 | -<p><%= __("Your enterprise (%s) was successfully registered.") % @enterprise.name %></p> | ||
3 | -<p><%= link_to __('You can manage your enterprise now.'), @enterprise.admin_url %></p> | 1 | +<h1><%= _('Enterprise registration completed') %></h1> |
2 | +<p><%= _("Your enterprise (%s) was successfully registered.") % @enterprise.name %></p> | ||
3 | +<p><%= link_to _('You can manage your enterprise now.'), @enterprise.admin_url %></p> | ||
4 | 4 | ||
5 | <%= render :partial => 'shared/template_welcome_page', :locals => {:template => @enterprise.template, :header => _("What can I do with a %s?")} %> | 5 | <%= render :partial => 'shared/template_welcome_page', :locals => {:template => @enterprise.template, :header => _("What can I do with a %s?")} %> |
6 | 6 |
app/views/home/welcome.html.erb
1 | +<% default_message = defined?(default_message) ? default_message : false %> | ||
2 | + | ||
1 | <div id='thanks-for-signing'> | 3 | <div id='thanks-for-signing'> |
2 | <h1><%= _("Welcome to %s!") % environment.name %></h1> | 4 | <h1><%= _("Welcome to %s!") % environment.name %></h1> |
3 | - <% if environment.has_custom_welcome_screen? %> | 5 | + <% if environment.has_custom_welcome_screen? && !default_message %> |
4 | <%= environment.settings[:signup_welcome_screen_body].html_safe %> | 6 | <%= environment.settings[:signup_welcome_screen_body].html_safe %> |
5 | <% else %> | 7 | <% else %> |
6 | <h3><%= _("Thanks for signing up, we're thrilled to have you on our social network!") %></h3> | 8 | <h3><%= _("Thanks for signing up, we're thrilled to have you on our social network!") %></h3> |
app/views/memberships/welcome.html.erb
1 | -<h1><%= __('Community created') %></h1> | ||
2 | -<p><%= __("Your community (%s) was successfully created.") % @community.name %></p> | ||
3 | -<p><%= link_to __('You can manage your community now.'), @community.admin_url %></p> | 1 | +<h1><%= _('Community created') %></h1> |
2 | +<p><%= _("Your community (%s) was successfully created.") % @community.name %></p> | ||
3 | +<p><%= link_to _('You can manage your community now.'), @community.admin_url %></p> | ||
4 | 4 | ||
5 | <%= render :partial => 'shared/template_welcome_page', :locals => {:template => @community.template, :header => _("What can I do with a %s?")} %> | 5 | <%= render :partial => 'shared/template_welcome_page', :locals => {:template => @community.template, :header => _("What can I do with a %s?")} %> |
6 | 6 |
app/views/profile_editor/welcome_page.html.erb
1 | <h1><%= _('Edit welcome page') %></h1> | 1 | <h1><%= _('Edit welcome page') %></h1> |
2 | 2 | ||
3 | -<% labelled_form_for :welcome_page, @welcome_page do |f| %> | 3 | +<%= labelled_form_for :welcome_page do |f| %> |
4 | <%= error_messages_for :welcome_page %> | 4 | <%= error_messages_for :welcome_page %> |
5 | 5 | ||
6 | <%= f.check_box(:published) %> | 6 | <%= f.check_box(:published) %> |
app/views/shared/_lead_and_body.html.erb
@@ -20,16 +20,16 @@ | @@ -20,16 +20,16 @@ | ||
20 | <div class='article-lead' id="article-lead-<%=lead_id.to_s%>"> | 20 | <div class='article-lead' id="article-lead-<%=lead_id.to_s%>"> |
21 | 21 | ||
22 | <% if f %> | 22 | <% if f %> |
23 | - <%= labelled_form_field(_(abstract_label), f.text_area(abstract_method, :style => 'width: 98%; height: 200px;', :class => editor_type)) %> | 23 | + <%= labelled_form_field(_(abstract_label), f.text_area(abstract_method, :style => 'width: 100%; height: 200px;', :class => editor_type)) %> |
24 | <% else %> | 24 | <% else %> |
25 | - <%= labelled_form_field(_(abstract_label), text_area(object, abstract_method, :style => 'width: 98%; height: 200px;', :class => editor_type)) %> | 25 | + <%= labelled_form_field(_(abstract_label), text_area(object, abstract_method, :style => 'width: 100%; height: 200px;', :class => editor_type)) %> |
26 | <% end %> | 26 | <% end %> |
27 | </div> | 27 | </div> |
28 | <div style="margin-top: 10px;"> | 28 | <div style="margin-top: 10px;"> |
29 | <% if f %> | 29 | <% if f %> |
30 | - <%= labelled_form_field(_(body_label), f.text_area(body_method, :style => 'width: 98%; height: 400px;', :class => editor_type)) %> | 30 | + <%= labelled_form_field(_(body_label), f.text_area(body_method, :style => 'width: 100%; height: 400px;', :class => editor_type)) %> |
31 | <% else %> | 31 | <% else %> |
32 | - <%= labelled_form_field(_(body_label), text_area(object, body_method, :style => 'width: 98%; height: 400px;', :class => editor_type)) %> | 32 | + <%= labelled_form_field(_(body_label), text_area(object, body_method, :style => 'width: 100%; height: 400px;', :class => editor_type)) %> |
33 | <% end %> | 33 | <% end %> |
34 | </div> | 34 | </div> |
35 | 35 |
config/schedule.rb
@@ -26,3 +26,7 @@ set :output, "log/cron.log" | @@ -26,3 +26,7 @@ set :output, "log/cron.log" | ||
26 | every 1.minute do | 26 | every 1.minute do |
27 | runner "SearchTerm.calculate_scores" | 27 | runner "SearchTerm.calculate_scores" |
28 | end | 28 | end |
29 | + | ||
30 | +every 90.days do | ||
31 | + runner "ProfileSuggestion.generate_all_profile_suggestions" | ||
32 | +end |
lib/profile_suggestions_job.rb
1 | class ProfileSuggestionsJob < Struct.new(:person_id) | 1 | class ProfileSuggestionsJob < Struct.new(:person_id) |
2 | 2 | ||
3 | + def self.exists?(person_id) | ||
4 | + !find(person_id).empty? | ||
5 | + end | ||
6 | + | ||
7 | + def self.find(person_id) | ||
8 | + Delayed::Job.by_handler("--- !ruby/struct:ProfileSuggestionsJob\nperson_id: #{person_id}\n") | ||
9 | + end | ||
10 | + | ||
3 | def perform | 11 | def perform |
12 | + logger = Delayed::Worker.logger | ||
4 | begin | 13 | begin |
5 | person = Person.find(person_id) | 14 | person = Person.find(person_id) |
6 | 15 | ||
7 | ProfileSuggestion::RULES.each do |rule| | 16 | ProfileSuggestion::RULES.each do |rule| |
8 | ProfileSuggestion.send(rule, person) | 17 | ProfileSuggestion.send(rule, person) |
9 | end | 18 | end |
10 | - | ||
11 | UserMailer.profiles_suggestions_email(person).deliver | 19 | UserMailer.profiles_suggestions_email(person).deliver |
12 | rescue Exception => exception | 20 | rescue Exception => exception |
13 | - Rails.logger.warn("Error with suggestions for person ID %d\n%s" % [person_id, exception.to_s]) | 21 | + logger.warn("Error with suggestions for person ID %d: %s" % [person_id, exception.to_s]) |
14 | end | 22 | end |
15 | end | 23 | end |
16 | 24 |
public/designs/icons/tango/style.css
@@ -72,6 +72,7 @@ | @@ -72,6 +72,7 @@ | ||
72 | .icon-newupload-file { background-image: url(Tango/16x16/actions/filesave.png) } | 72 | .icon-newupload-file { background-image: url(Tango/16x16/actions/filesave.png) } |
73 | .icon-slideshow { background-image: url(Tango/16x16/mimetypes/x-office-presentation.png) } | 73 | .icon-slideshow { background-image: url(Tango/16x16/mimetypes/x-office-presentation.png) } |
74 | .icon-photos { background-image: url(Tango/16x16/devices/camera-photo.png) } | 74 | .icon-photos { background-image: url(Tango/16x16/devices/camera-photo.png) } |
75 | +.icon-vertical-toggle { background-image: url(Tango/16x16/actions/mail-send-receive.png) } | ||
75 | 76 | ||
76 | .icon-text-html { background-image: url(Tango/16x16/mimetypes/text-html.png) } | 77 | .icon-text-html { background-image: url(Tango/16x16/mimetypes/text-html.png) } |
77 | .icon-text-plain { background-image: url(Tango/16x16/mimetypes/text-x-generic.png) } | 78 | .icon-text-plain { background-image: url(Tango/16x16/mimetypes/text-x-generic.png) } |
public/javascripts/article.js
@@ -74,9 +74,9 @@ jQuery(function($) { | @@ -74,9 +74,9 @@ jQuery(function($) { | ||
74 | } | 74 | } |
75 | } | 75 | } |
76 | 76 | ||
77 | - function zoom_dialog_html(img) { | 77 | + function zoom_dialog_html(name, img) { |
78 | // FIXME organize this code better | 78 | // FIXME organize this code better |
79 | - return '<div class="item" data-item="div"><div><img src="' + img + '" style="max-width: 640px; max-height: 480px"/></div>' + '<div class="button-bar">' + add_to_text_button('with-text') + ' ' + close_button('with-text') + '</div></div>' | 79 | + return '<h3 style="text-align: center;">'+ name +'</h3><div class="item" data-item="div"><div><img src="' + img + '" style="max-width: 640px; max-height: 480px"/></div>' + '<div class="button-bar">' + add_to_text_button('with-text') + ' ' + close_button('with-text') + '</div></div>' |
80 | } | 80 | } |
81 | 81 | ||
82 | $('.view-all-images .item').live('click', function(){ | 82 | $('.view-all-images .item').live('click', function(){ |
@@ -94,9 +94,10 @@ jQuery(function($) { | @@ -94,9 +94,10 @@ jQuery(function($) { | ||
94 | $('a.zoom').live('click', function() { | 94 | $('a.zoom').live('click', function() { |
95 | var $item = $(this).closest('.item'); | 95 | var $item = $(this).closest('.item'); |
96 | var html_selector = $item.attr('data-item'); | 96 | var html_selector = $item.attr('data-item'); |
97 | + var name = $item.attr('title'); | ||
97 | var img = $item.find(html_selector).find('img').attr('src'); | 98 | var img = $item.find(html_selector).find('img').attr('src'); |
98 | $.colorbox({ | 99 | $.colorbox({ |
99 | - html: zoom_dialog_html(img), | 100 | + html: zoom_dialog_html(name, img), |
100 | scrolling: false | 101 | scrolling: false |
101 | }); | 102 | }); |
102 | return false; | 103 | return false; |
public/javascripts/media-panel.js
@@ -84,3 +84,45 @@ jQuery("#published-media #q").typeWatch({ | @@ -84,3 +84,45 @@ jQuery("#published-media #q").typeWatch({ | ||
84 | }); | 84 | }); |
85 | 85 | ||
86 | jQuery("#published-media #q").bind('notext', function(){ loadPublishedMedia() }); | 86 | jQuery("#published-media #q").bind('notext', function(){ loadPublishedMedia() }); |
87 | + | ||
88 | +jQuery("#new-folder-dialog").submit(function( event ) { | ||
89 | + var name = jQuery('#new_folder').val(); | ||
90 | + var parent_id = jQuery("#new-folder-dialog #parent_id").val(); | ||
91 | + jQuery("#media-upload-box #parent_id").val(); | ||
92 | + jQuery.ajax({ | ||
93 | + url: this.action, | ||
94 | + type: 'POST', | ||
95 | + data: { | ||
96 | + 'parent_id': parent_id, | ||
97 | + 'article': {'name': name, 'published': true}, | ||
98 | + 'type': jQuery('input[name=folder_type]:checked').val() }, | ||
99 | + dataType: 'json', | ||
100 | + beforeSend: function(){jQuery("#new-folder-dialog").addClass('fetching')}, | ||
101 | + success: function(response) { | ||
102 | + var option_selected = "<option value='"+ response.id +"' selected='selected'>"+ response.full_name +"</options>" | ||
103 | + var option = "<option value='"+ response.id +"'>"+ response.full_name +"</options>" | ||
104 | + jQuery('#media-upload-form #parent_id').append(option_selected); | ||
105 | + jQuery('#published-media #parent_id').append(option); | ||
106 | + jQuery('#new_folder').val(''); | ||
107 | + }, | ||
108 | + error: function(response, textStatus, xhr) { | ||
109 | + console.log(response); | ||
110 | + console.log(textStatus); | ||
111 | + }, | ||
112 | + complete: function(response){ | ||
113 | + jQuery("#new-folder-dialog").removeClass('fetching'); | ||
114 | + jQuery("#new-folder-dialog").dialog('close'); | ||
115 | + } | ||
116 | + }); | ||
117 | + return false; | ||
118 | +}); | ||
119 | + | ||
120 | +jQuery('.text-editor-sidebar .header .icon-vertical-toggle').click(function(){ | ||
121 | + jQuery('#content').toggleClass('show-media-panel'); | ||
122 | + return false; | ||
123 | +}); | ||
124 | + | ||
125 | +jQuery('#new-folder-button').click(function(){ | ||
126 | + jQuery('#new-folder-dialog').dialog({modal: true}); | ||
127 | + return false; | ||
128 | +}); |
public/stylesheets/application.css
@@ -3443,11 +3443,18 @@ table.cms-articles .icon:hover { | @@ -3443,11 +3443,18 @@ table.cms-articles .icon:hover { | ||
3443 | 3443 | ||
3444 | /* Text editors sidebar */ | 3444 | /* Text editors sidebar */ |
3445 | 3445 | ||
3446 | -.controller-cms div.with_media_panel { | 3446 | +.controller-cms .with_media_panel { |
3447 | float: left; | 3447 | float: left; |
3448 | + width: 900px; | ||
3449 | + transition: 1s 0.5s; | ||
3450 | +} | ||
3451 | + | ||
3452 | +.controller-cms .show-media-panel .with_media_panel { | ||
3448 | width: 600px; | 3453 | width: 600px; |
3454 | + transition: 1s; | ||
3449 | } | 3455 | } |
3450 | -div.with_media_panel .formfield input[type="checkbox"] { | 3456 | + |
3457 | +.with_media_panel .formfield input[type="checkbox"] { | ||
3451 | width: auto; | 3458 | width: auto; |
3452 | } | 3459 | } |
3453 | 3460 | ||
@@ -3466,6 +3473,11 @@ div.with_media_panel .formfield input[type="checkbox"] { | @@ -3466,6 +3473,11 @@ div.with_media_panel .formfield input[type="checkbox"] { | ||
3466 | float: right; | 3473 | float: right; |
3467 | } | 3474 | } |
3468 | 3475 | ||
3476 | +#media-upload-form .progress { | ||
3477 | + background-color: #ddd; | ||
3478 | + border-radius: 3px; | ||
3479 | +} | ||
3480 | + | ||
3469 | #media-upload-form .bar { | 3481 | #media-upload-form .bar { |
3470 | height: 10px; | 3482 | height: 10px; |
3471 | background: #729fcf; | 3483 | background: #729fcf; |
@@ -3496,13 +3508,14 @@ div.with_media_panel .formfield input[type="checkbox"] { | @@ -3496,13 +3508,14 @@ div.with_media_panel .formfield input[type="checkbox"] { | ||
3496 | } | 3508 | } |
3497 | 3509 | ||
3498 | #media-upload-box .upload .file-name{ | 3510 | #media-upload-box .upload .file-name{ |
3499 | - width: 87%; | 3511 | + width: 86%; |
3500 | white-space: nowrap; | 3512 | white-space: nowrap; |
3501 | overflow: hidden; | 3513 | overflow: hidden; |
3502 | text-overflow: ellipsis; | 3514 | text-overflow: ellipsis; |
3503 | } | 3515 | } |
3504 | 3516 | ||
3505 | #media-upload-box .upload .percentage { | 3517 | #media-upload-box .upload .percentage { |
3518 | + text-align: right; | ||
3506 | width: 12%; | 3519 | width: 12%; |
3507 | } | 3520 | } |
3508 | 3521 | ||
@@ -3512,6 +3525,14 @@ div.with_media_panel .formfield input[type="checkbox"] { | @@ -3512,6 +3525,14 @@ div.with_media_panel .formfield input[type="checkbox"] { | ||
3512 | width: 280px; | 3525 | width: 280px; |
3513 | right: 20px; | 3526 | right: 20px; |
3514 | top: 70px; | 3527 | top: 70px; |
3528 | + max-height: 45px; | ||
3529 | + overflow: hidden; | ||
3530 | + transition: 1s; | ||
3531 | +} | ||
3532 | + | ||
3533 | +.show-media-panel .text-editor-sidebar { | ||
3534 | + max-height: 1200px; | ||
3535 | + transition: 1s 0.5s; | ||
3515 | } | 3536 | } |
3516 | 3537 | ||
3517 | .text-editor-sidebar-box { | 3538 | .text-editor-sidebar-box { |
@@ -3521,12 +3542,23 @@ div.with_media_panel .formfield input[type="checkbox"] { | @@ -3521,12 +3542,23 @@ div.with_media_panel .formfield input[type="checkbox"] { | ||
3521 | margin-bottom: 10px; | 3542 | margin-bottom: 10px; |
3522 | } | 3543 | } |
3523 | 3544 | ||
3524 | -.text-editor-sidebar-box .header { | ||
3525 | - margin: -10px -10px 0px -10px; | ||
3526 | - padding: 10px; | ||
3527 | - font-weight: bold; | ||
3528 | - border-bottom: 1px solid #d3d7cf; | ||
3529 | - background-color: #eeeeec; | 3545 | +.text-editor-sidebar .header { |
3546 | + margin: 0 0 10px 0; | ||
3547 | + padding: 10px; | ||
3548 | + font-weight: bold; | ||
3549 | + border: 1px solid #d3d7cf; | ||
3550 | + background-color: #eeeeec; | ||
3551 | + background-repeat: no-repeat; | ||
3552 | + background-position: 98% 10px; | ||
3553 | + position: relative; | ||
3554 | +} | ||
3555 | + | ||
3556 | +.text-editor-sidebar .header .icon-vertical-toggle { | ||
3557 | + position: absolute; | ||
3558 | + right: 6px; | ||
3559 | + top: 6px; | ||
3560 | + padding-top: 0px; | ||
3561 | + padding-bottom: 0px; | ||
3530 | } | 3562 | } |
3531 | 3563 | ||
3532 | .text-editor-sidebar code, | 3564 | .text-editor-sidebar code, |
@@ -3601,6 +3633,7 @@ div.with_media_panel .formfield input[type="checkbox"] { | @@ -3601,6 +3633,7 @@ div.with_media_panel .formfield input[type="checkbox"] { | ||
3601 | .text-editor-sidebar select, | 3633 | .text-editor-sidebar select, |
3602 | .text-editor-sidebar input { | 3634 | .text-editor-sidebar input { |
3603 | width: 100%; | 3635 | width: 100%; |
3636 | + margin-bottom: 5px; | ||
3604 | } | 3637 | } |
3605 | 3638 | ||
3606 | .text-editor-sidebar .items :hover, | 3639 | .text-editor-sidebar .items :hover, |
@@ -3639,10 +3672,6 @@ div.with_media_panel .formfield input[type="checkbox"] { | @@ -3639,10 +3672,6 @@ div.with_media_panel .formfield input[type="checkbox"] { | ||
3639 | margin-top: 4px; | 3672 | margin-top: 4px; |
3640 | } | 3673 | } |
3641 | 3674 | ||
3642 | -.text-editor-sidebar .header { | ||
3643 | - background-repeat: no-repeat; | ||
3644 | - background-position: 98% 10px; | ||
3645 | -} | ||
3646 | .text-editor-sidebar .media-upload-error { | 3675 | .text-editor-sidebar .media-upload-error { |
3647 | color: red; | 3676 | color: red; |
3648 | } | 3677 | } |
@@ -6918,3 +6947,7 @@ li.profile-activity-item.upload_image .activity-gallery-images-count-1 img { | @@ -6918,3 +6947,7 @@ li.profile-activity-item.upload_image .activity-gallery-images-count-1 img { | ||
6918 | .fetching { | 6947 | .fetching { |
6919 | opacity: 0.3; | 6948 | opacity: 0.3; |
6920 | } | 6949 | } |
6950 | + | ||
6951 | +body .ui-widget-overlay { | ||
6952 | + background: #000; | ||
6953 | +} |