Commit 705ffd7bf42ff0dc8dcf299858a00739d5d812e0

Authored by Gabriela Navarro
1 parent 3f63e993
Exists in tests_fixies

Fix tests

  - The loading bar was fixed to fix media_panel_upload broken tests
  - The noosfero_steps was fixed to get the first box(this was breaking
    when it was on the environment.

Signed-off-by: Fabio Teixeira <fabio1079@gmail.com>
features/step_definitions/noosfero_steps.rb
... ... @@ -94,7 +94,7 @@ Given /^the following blocks$/ do |table|
94 94 owner.boxes<< Box.new
95 95 owner.boxes.first.blocks << MainBlock.new
96 96 end
97   - box = owner.boxes.where(:position => 3).first
  97 + box = owner.boxes.first
98 98 klass.constantize.create!(item.merge(:box => box))
99 99 end
100 100 end
... ...
public/javascripts/media-panel.js
1   -var file_id = 1;
2   -
3   -jQuery('.view-all-media').on('click', '.pagination a', function(event) {
4   - jQuery.ajax({
5   - url: this.href,
6   - beforeSend: function(){jQuery('.view-all-media').addClass('fetching')},
7   - complete: function() {jQuery('.view-all-media').removeClass('fetching')},
8   - dataType: 'script'
  1 +(function($) {
  2 + "use strict";
  3 +
  4 + var file_id = 1;
  5 +
  6 + $('.view-all-media').on('click', '.pagination a', function(event) {
  7 + $.ajax({
  8 + url: this.href,
  9 + beforeSend: function(){$('.view-all-media').addClass('fetching')},
  10 + complete: function() {$('.view-all-media').removeClass('fetching')},
  11 + dataType: 'script'
  12 + });
  13 + return false;
9 14 });
10   - return false;
11   -});
12   -
13   -jQuery('#file').fileupload({
14   - add: function(e, data){
15   - data.files[0].id = file_id;
16   - file_id++;
17   - data.context = jQuery(tmpl("template-upload", data.files[0]));
18   - jQuery('#media-upload-form').append(data.context);
19   - data.submit();
20   - },
21   - progress: function (e, data) {
22   - if (jQuery('#hide-uploads').data('bootstraped') == false) {
23   - jQuery('#hide-uploads').show();
24   - jQuery('#hide-uploads').data('bootstraped', true);
25   - }
26   - if (data.context) {
27   - progress = parseInt(data.loaded / data.total * 100, 10);
28   - data.context.find('.bar').css('width', progress + '%');
29   - data.context.find('.percentage').text(progress + '%');
30   - }
31   - },
32   - fail: function(e, data){
33   - var file_id = '#file-'+data.files[0].id;
34   - jQuery(file_id).find('.progress .bar').addClass('error');
35   - jQuery(file_id).append("<div class='error-message'>" + data.jqXHR.responseText + "</div>")
36   - }
37   -});
38   -
39   -jQuery('#hide-uploads').click(function(){
40   - jQuery('#hide-uploads').hide();
41   - jQuery('#show-uploads').show();
42   - jQuery('.upload').slideUp();
43   - return false;
44   -});
45   -
46   -jQuery('#show-uploads').click(function(){
47   - jQuery('#hide-uploads').show();
48   - jQuery('#show-uploads').hide();
49   - jQuery('.upload').slideDown();
50   - return false;
51   -});
52   -
53   -function loadPublishedMedia() {
54   - var parent_id = jQuery('#published-media #parent_id').val();
55   - var q = jQuery('#published-media #q').val();
56   - var url = jQuery('#published-media').data('url');
57   -
58   - jQuery('#published-media .items').addClass('fetching');
59   - jQuery.ajax({
60   - url: url,
61   - data: {'parent_id': parent_id, 'q': q},
62   - dataType: 'html',
63   - success: function(response) {
64   - jQuery("#published-media .items").html(response);
65   - jQuery('#published-media .items').removeClass('fetching');
66   - updateViewAllLinks();
  15 +
  16 +
  17 + $('#file').fileupload({
  18 + add: function(e, data){
  19 + data.files[0].id = file_id;
  20 + file_id++;
  21 + data.context = $(tmpl("template-upload", data.files[0]));
  22 + $('#media-upload-form').append(data.context);
  23 + data.submit();
  24 + },
  25 + progress: function (e, data) {
  26 + if ($('#hide-uploads').data('bootstraped') == false) {
  27 + $('#hide-uploads').show();
  28 + $('#hide-uploads').data('bootstraped', true);
  29 + }
  30 + if (data.context) {
  31 + var progress = parseInt(data.loaded / data.total * 100, 10);
  32 + data.context.find('.bar').css('width', progress + '%');
  33 + data.context.find('.percentage').text(progress + '%');
  34 + }
67 35 },
68   - error: function(response, textStatus, xhr) {
69   - console.log(response);
70   - console.log(textStatus);
  36 + fail: function(e, data){
  37 + var file_id = '#file-'+data.files[0].id;
  38 + $(file_id).find('.progress .bar').addClass('error');
  39 + $(file_id).append("<div class='error-message'>" + data.jqXHR.responseText + "</div>")
71 40 }
72 41 });
73   -}
74   -
75   -function updateViewAllLinks() {
76   - var parent_id = jQuery('#published-media #parent_id').val();
77   - var q = jQuery('#published-media #q').val();
78   - jQuery('#published-media .view-all').each(function(){
79   - var key = jQuery(this).data('key');
80   - var params = {parent_id: parent_id, q: q, key: key}
81   - var href = jQuery(this).attr('href');
82   - href = href.replace(/\?.*/, '?'+jQuery.param(params));
83   - jQuery(this).attr('href', href);
  42 +
  43 +
  44 + $('#hide-uploads').click(function(){
  45 + $('#hide-uploads').hide();
  46 + $('#show-uploads').show();
  47 + $('.upload').slideUp();
  48 + return false;
  49 + });
  50 +
  51 +
  52 + $('#show-uploads').click(function(){
  53 + $('#hide-uploads').show();
  54 + $('#show-uploads').hide();
  55 + $('.upload').slideDown();
  56 + return false;
84 57 });
85   -}
86   -
87   -jQuery('#published-media #parent_id').change(function(){ loadPublishedMedia() });
88   -
89   -jQuery("#published-media #q").typeWatch({
90   - callback: function (value) { loadPublishedMedia() },
91   - wait: 750,
92   - highlight: true,
93   - captureLength: 2
94   -});
95   -
96   -jQuery("#published-media #q").bind('notext', function(){ loadPublishedMedia() });
97   -
98   -jQuery("#new-folder-dialog").submit(function( event ) {
99   - var name = jQuery('#new_folder').val();
100   - var parent_id = jQuery("#new-folder-dialog #parent_id").val();
101   - jQuery.ajax({
102   - url: this.action,
103   - type: 'POST',
104   - data: {
105   - 'parent_id': parent_id,
106   - 'article': {'name': name, 'published': true},
107   - 'type': jQuery('input[name=folder_type]:checked').val() },
108   - dataType: 'json',
109   - beforeSend: function(){jQuery("#new-folder-dialog").addClass('fetching')},
110   - success: function(response) {
111   - var option_selected = "<option value='"+ response.id +"' selected='selected'>"+ response.full_name +"</options>"
112   - var option = "<option value='"+ response.id +"'>"+ response.full_name +"</options>"
113   - jQuery('#media-upload-form #parent_id').append(option_selected);
114   - jQuery('#published-media #parent_id').append(option);
115   - jQuery('#new_folder').val('');
116   - },
117   - error: function(response, textStatus, xhr) {
118   - console.log(response);
119   - console.log(textStatus);
120   - },
121   - complete: function(response){
122   - jQuery("#new-folder-dialog").removeClass('fetching');
123   - jQuery("#new-folder-dialog").dialog('close');
124   - }
  58 +
  59 +
  60 + function loadPublishedMedia() {
  61 + var parent_id = $('#published-media #parent_id').val();
  62 + var q = $('#published-media #q').val();
  63 + var url = $('#published-media').data('url');
  64 +
  65 + $('#published-media .items').addClass('fetching');
  66 + $.ajax({
  67 + url: url,
  68 + data: {'parent_id': parent_id, 'q': q},
  69 + dataType: 'html',
  70 + success: function(response) {
  71 + $("#published-media .items").html(response);
  72 + $('#published-media .items').removeClass('fetching');
  73 + updateViewAllLinks();
  74 + },
  75 + error: function(response, textStatus, xhr) {
  76 + console.log(response);
  77 + console.log(textStatus);
  78 + }
  79 + });
  80 + }
  81 + // make it global for usage in media_upload.js.erb
  82 + window.loadPublishedMedia = loadPublishedMedia;
  83 +
  84 +
  85 + function updateViewAllLinks() {
  86 + var parent_id = $('#published-media #parent_id').val();
  87 + var q = $('#published-media #q').val();
  88 + $('#published-media .view-all').each(function(){
  89 + var key = $(this).data('key');
  90 + var params = {parent_id: parent_id, q: q, key: key}
  91 + var href = $(this).attr('href');
  92 + href = href.replace(/\?.*/, '?'+$.param(params));
  93 + $(this).attr('href', href);
  94 + });
  95 + }
  96 +
  97 +
  98 + $('#published-media #parent_id').change(function(){
  99 + loadPublishedMedia()
  100 + });
  101 +
  102 +
  103 + // Using a immediate function to make timer variable only visible for the keyup event
  104 + (function() {
  105 + var timer = null;
  106 +
  107 + $("#published-media #q").keyup(function() {
  108 + if(this.value.length > 2) {
  109 + timer = setTimeout(loadPublishedMedia, 750);
  110 + }
  111 + }).keydown(function() {
  112 + clearTimeout(timer);
  113 + });
  114 + }) ();
  115 +
  116 +
  117 + $("#published-media #q").bind('notext', function(){
  118 + loadPublishedMedia()
  119 + });
  120 +
  121 +
  122 + $("#new-folder-dialog").submit(function( event ) {
  123 + var name = $('#new_folder').val();
  124 + var parent_id = $("#new-folder-dialog #parent_id").val();
  125 + $.ajax({
  126 + url: this.action,
  127 + type: 'POST',
  128 + data: {
  129 + 'parent_id': parent_id,
  130 + 'article': {'name': name, 'published': true},
  131 + 'type': $('input[name=folder_type]:checked').val() },
  132 + dataType: 'json',
  133 + beforeSend: function(){$("#new-folder-dialog").addClass('fetching')},
  134 + success: function(response) {
  135 + var option_selected = "<option value='"+ response.id +"' selected='selected'>"+ response.full_name +"</options>"
  136 + var option = "<option value='"+ response.id +"'>"+ response.full_name +"</options>"
  137 + $('#media-upload-form #parent_id').append(option_selected);
  138 + $('#published-media #parent_id').append(option);
  139 + $('#new_folder').val('');
  140 + },
  141 + error: function(response, textStatus, xhr) {
  142 + console.log(response);
  143 + console.log(textStatus);
  144 + },
  145 + complete: function(response){
  146 + $("#new-folder-dialog").removeClass('fetching');
  147 + $("#new-folder-dialog").dialog('close');
  148 + }
  149 + });
  150 + return false;
  151 + });
  152 +
  153 + $('.icon-vertical-toggle').click(function(){
  154 + $('#content').toggleClass('show-media-panel');
  155 + return false;
125 156 });
126   - return false;
127   -});
128   -
129   -jQuery('.text-editor-sidebar .header .icon-vertical-toggle').click(function(){
130   - jQuery('#content').toggleClass('show-media-panel');
131   - return false;
132   -});
133   -
134   -jQuery('#new-folder-button').click(function(){
135   - jQuery('#new-folder-dialog').dialog({modal: true});
136   - return false;
137   -});
  157 +
  158 +
  159 + $('#new-folder-button').click(function(){
  160 + $('#new-folder-dialog').dialog({modal: true});
  161 + return false;
  162 + });
  163 +
  164 +}) (jQuery);
... ...