From 98f11b944a04cd87ac0a89f0108d92cec44f5bb5 Mon Sep 17 00:00:00 2001 From: theworldbright Date: Wed, 3 Jun 2015 13:21:23 +0900 Subject: [PATCH] Fix styleguide violations Fix hound remark 12 Remove unnecessary explicit div tag Rename el_**** to ****El (hound remark 2 and 3) Only find and replace operations were done with this commit Fix hound remark 4 and 8 Fix hound remark 6 Fix hound remark 7 Fix hound remark 9 Fix hound remark 10 and 11 Fix hound remark 13 Fix hound remark 1 Change single quotes to double quotes Change single quotes to double in publisher view Fix camelCase and missing {} in publisher view Change single quotes to double in bookmarklet view Use dot notation for serializedForm in publisher Change single quotes to double in bookmarklet spec Change single quotes to double in publisher spec Fix missing {} in publisher views Use ruby 1.9 hash syntax in invite_link Fix indentation in publisher view --- .../app/helpers/handlebars-helpers.js | 12 +- .../app/views/aspect_membership_view.js | 6 +- .../javascripts/app/views/bookmarklet_view.js | 12 +- .../app/views/notifications_view.js | 11 +- .../views/publisher/getting_started_view.js | 16 +- .../app/views/publisher/uploader_view.js | 98 ++++---- .../javascripts/app/views/publisher_view.js | 232 +++++++++--------- app/helpers/invitation_codes_helper.rb | 2 +- app/views/conversations/index.mobile.haml | 2 +- .../app/views/aspect_create_view_spec.js | 4 +- .../app/views/aspects_dropdown_view_spec.js | 34 +-- .../app/views/bookmarklet_view_spec.js | 36 +-- .../app/views/publisher_view_spec.js | 84 +++---- 13 files changed, 279 insertions(+), 270 deletions(-) diff --git a/app/assets/javascripts/app/helpers/handlebars-helpers.js b/app/assets/javascripts/app/helpers/handlebars-helpers.js index 442d35c49..36614780e 100644 --- a/app/assets/javascripts/app/helpers/handlebars-helpers.js +++ b/app/assets/javascripts/app/helpers/handlebars-helpers.js @@ -60,11 +60,8 @@ Handlebars.registerHelper('sharingMessage', function(person) { // allow hovercards for users that are not the current user. // returns the html class name used to trigger hovercards. -Handlebars.registerHelper('hovercardable', function(person) { - if( app.currentUser.get('guid') !== person.guid ) { - return 'hovercardable'; - } - return ''; +Handlebars.registerHelper("hovercardable", function(person) { + return app.currentUser.get("guid") === person.guid ? "" : "hovercardable"; }); Handlebars.registerHelper('personImage', function(person, size, imageClass) { @@ -78,9 +75,10 @@ Handlebars.registerHelper('personImage', function(person, size, imageClass) { size = ( !_.isString(size) ) ? "small" : size; imageClass = ( !_.isString(imageClass) ) ? size : imageClass; - return _.template('<%= title %>')({ + return _.template("\" class=\"<%= imageClass %>\" " + + "title=\"<%= title %>\" alt=\"<%= title %>\" />")({ src: avatar[size], - img_class: imageClass + " avatar img-responsive center-block", + imageClass: imageClass + " avatar img-responsive center-block", title: _.escape(name) }); }); diff --git a/app/assets/javascripts/app/views/aspect_membership_view.js b/app/assets/javascripts/app/views/aspect_membership_view.js index 231149131..e15d654a4 100644 --- a/app/assets/javascripts/app/views/aspect_membership_view.js +++ b/app/assets/javascripts/app/views/aspect_membership_view.js @@ -12,8 +12,10 @@ app.views.AspectMembership = app.views.AspectsDropdown.extend({ events: { - "click ul.aspect_membership.dropdown-menu > li.aspect_selector": "_clickHandler", - "keypress ul.aspect_membership.dropdown-menu > li.aspect_selector": "_clickHandler" + "click ul.aspect_membership.dropdown-menu > li.aspect_selector" + : "_clickHandler", + "keypress ul.aspect_membership.dropdown-menu > li.aspect_selector" + : "_clickHandler" }, initialize: function() { diff --git a/app/assets/javascripts/app/views/bookmarklet_view.js b/app/assets/javascripts/app/views/bookmarklet_view.js index 71b505edd..c85ffdf7c 100644 --- a/app/assets/javascripts/app/views/bookmarklet_view.js +++ b/app/assets/javascripts/app/views/bookmarklet_view.js @@ -7,9 +7,9 @@ app.views.Bookmarklet = Backbone.View.extend({ // init a standalone publisher app.publisher = new app.views.Publisher({standalone: true}); - app.publisher.on('publisher:add', this._postSubmit, this); - app.publisher.on('publisher:sync', this._postSuccess, this); - app.publisher.on('publisher:error', this._postError, this); + app.publisher.on("publisher:add", this._postSubmit, this); + app.publisher.on("publisher:sync", this._postSuccess, this); + app.publisher.on("publisher:error", this._postError, this); this.param_contents = opts; }, @@ -35,18 +35,18 @@ app.views.Bookmarklet = Backbone.View.extend({ }, _postSubmit: function() { - this.$('h4').text(Diaspora.I18n.t('bookmarklet.post_submit')); + this.$("h4").text(Diaspora.I18n.t("bookmarklet.post_submit")); }, _postSuccess: function() { - this.$('h4').text(Diaspora.I18n.t('bookmarklet.post_success')); + this.$("h4").text(Diaspora.I18n.t("bookmarklet.post_success")); app.publisher.close(); this.$("#publisher").addClass("hidden"); _.delay(window.close, 2000); }, _postError: function() { - this.$('h4').text(Diaspora.I18n.t('bookmarklet.post_something')); + this.$("h4").text(Diaspora.I18n.t("bookmarklet.post_something")); } }); // @license-end diff --git a/app/assets/javascripts/app/views/notifications_view.js b/app/assets/javascripts/app/views/notifications_view.js index c2d1cdfd1..3428a1e1c 100644 --- a/app/assets/javascripts/app/views/notifications_view.js +++ b/app/assets/javascripts/app/views/notifications_view.js @@ -15,9 +15,9 @@ app.views.Notifications = Backbone.View.extend({ toggleUnread: function(evt) { var note = $(evt.target).closest(".stream_element"); var unread = note.hasClass("unread"); - - if (unread){ this.setRead(note.data("guid")); } - else { this.setUnread(note.data("guid")); } + var guid = note.data.guid; + if (unread){ this.setRead(guid); } + else { this.setUnread(guid); } }, getAllUnread: function(){ return $(".media.stream_element.unread"); }, @@ -37,8 +37,9 @@ app.views.Notifications = Backbone.View.extend({ }, clickSuccess: function(data) { - var type = $(".stream_element[data-guid=" + data["guid"] + "]").data("type"); - this.updateView(data["guid"], type, data["unread"]); + var guid = data.guid; + var type = $(".stream_element[data-guid=" + guid + "]").data("type"); + this.updateView(guid, type, data.unread); }, markAllRead: function(evt){ diff --git a/app/assets/javascripts/app/views/publisher/getting_started_view.js b/app/assets/javascripts/app/views/publisher/getting_started_view.js index 1ca796ca5..25b1dacfd 100644 --- a/app/assets/javascripts/app/views/publisher/getting_started_view.js +++ b/app/assets/javascripts/app/views/publisher/getting_started_view.js @@ -11,14 +11,14 @@ app.views.PublisherGettingStarted = Backbone.View.extend({ initialize: function(opts) { - this.el_first_msg = opts.el_first_msg; - this.el_visibility = opts.el_visibility; - this.el_stream = opts.el_stream; + this.firstMessage = opts.firstMessageEl; + this.visibility = opts.visibilityEl; + this.stream = opts.streamEl; }, // initiate all the popover message boxes show: function() { - this._addPopover(this.el_first_msg, { + this._addPopover(this.firstMessage, { trigger: "manual", offset: 30, id: "first_message_explain", @@ -26,7 +26,7 @@ app.views.PublisherGettingStarted = Backbone.View.extend({ html: true, container: "body" }, 600); - this._addPopover(this.el_visibility, { + this._addPopover(this.visibility, { trigger: "manual", offset: 10, id: "message_visibility_explain", @@ -34,7 +34,7 @@ app.views.PublisherGettingStarted = Backbone.View.extend({ html: true, container: "body" }, 1000); - this._addPopover(this.el_stream, { + this._addPopover(this.stream, { trigger: "manual", offset: -5, id: "stream_explain", @@ -45,8 +45,8 @@ app.views.PublisherGettingStarted = Backbone.View.extend({ // hide some popovers when a post is created this.$("#submit").click(function() { - this.el_visibility.popover("hide"); - this.el_first_msg.popover("hide"); + this.visibility.popover("hide"); + this.firstMessage.popover("hide"); }); }, diff --git a/app/assets/javascripts/app/views/publisher/uploader_view.js b/app/assets/javascripts/app/views/publisher/uploader_view.js index 00580f57a..8f6690a12 100644 --- a/app/assets/javascripts/app/views/publisher/uploader_view.js +++ b/app/assets/javascripts/app/views/publisher/uploader_view.js @@ -6,7 +6,7 @@ app.views.PublisherUploader = Backbone.View.extend({ - allowedExtensions: ['jpg', 'jpeg', 'png', 'gif', 'tif', 'tiff'], + allowedExtensions: ["jpg", "jpeg", "png", "gif", "tif", "tiff"], sizeLimit: 4194304, // bytes initialize: function(opts) { @@ -18,14 +18,14 @@ app.views.PublisherUploader = Backbone.View.extend({ //debug: true, - action: '/photos', + action: "/photos", params: { photo: { pending: true }}, allowedExtensions: this.allowedExtensions, sizeLimit: this.sizeLimit, messages: { - typeError: Diaspora.I18n.t('photo_uploader.invalid_ext'), - sizeError: Diaspora.I18n.t('photo_uploader.size_error'), - emptyError: Diaspora.I18n.t('photo_uploader.empty') + typeError: Diaspora.I18n.t("photo_uploader.invalid_ext"), + sizeError: Diaspora.I18n.t("photo_uploader.size_error"), + emptyError: Diaspora.I18n.t("photo_uploader.empty") }, onProgress: _.bind(this.progressHandler, this), onSubmit: _.bind(this.submitHandler, this), @@ -33,22 +33,22 @@ app.views.PublisherUploader = Backbone.View.extend({ }); - this.el_info = $('
'); - this.publisher.el_wrapper.before(this.el_info); + this.info = $("
"); + this.publisher.wrapperEl.before(this.info); - this.publisher.el_photozone.on('click', '.x', _.bind(this._removePhoto, this)); + this.publisher.photozoneEl.on("click", ".x", _.bind(this._removePhoto, this)); }, progressHandler: function(id, fileName, loaded, total) { var progress = Math.round(loaded / total * 100); - this.el_info.text(fileName + ' ' + progress + '%').fadeTo(200, 1); - this.publisher.el_photozone - .find('li.loading').first().find('.bar') - .width(progress + '%'); + this.info.text(fileName + " " + progress + "%").fadeTo(200, 1); + this.publisher.photozoneEl + .find("li.loading").first().find(".bar") + .width(progress + "%"); }, submitHandler: function() { - this.$el.addClass('loading'); + this.$el.addClass("loading"); this._addPhotoPlaceholder(); }, @@ -57,32 +57,32 @@ app.views.PublisherUploader = Backbone.View.extend({ var publisher = this.publisher; publisher.setButtonsEnabled(false); - publisher.el_wrapper.addClass('with_attachments'); - publisher.el_photozone.append( - '
  • ' + - '
    ' + - ' '+ - '
  • ' + publisher.wrapperEl.addClass("with_attachments"); + publisher.photozoneEl.append( + "
  • " + + "
    " + + " \"\""+ + "
  • " ); }, uploadCompleteHandler: function(_id, fileName, response) { if (response.success){ - this.el_info.text(Diaspora.I18n.t('photo_uploader.completed', {file: fileName})).fadeTo(2000, 0); + this.info.text(Diaspora.I18n.t("photo_uploader.completed", {file: fileName})).fadeTo(2000, 0); var id = response.data.photo.id, url = response.data.photo.unprocessed_image.url; this._addFinishedPhoto(id, url); - this.trigger('change'); + this.trigger("change"); } else { this._cancelPhotoUpload(); - this.trigger('change'); - this.el_info.text(Diaspora.I18n.t('photo_uploader.error', {file: fileName})); - this.publisher.el_wrapper.find('#photodropzone_container').first().after( - '
    ' + - Diaspora.I18n.t('photo_uploader.error', {file: fileName}) + - '
    ' + this.trigger("change"); + this.info.text(Diaspora.I18n.t("photo_uploader.error", {file: fileName})); + this.publisher.wrapperEl.find("#photodropzone_container").first().after( + "
    " + + Diaspora.I18n.t("photo_uploader.error", {file: fileName}) + + "
    " ); } }, @@ -93,58 +93,58 @@ app.views.PublisherUploader = Backbone.View.extend({ var publisher = this.publisher; // add form input element - publisher.$('.content_creation form').append( - '' + publisher.$(".content_creation form").append( + "" ); // replace placeholder - var placeholder = publisher.el_photozone.find('li.loading').first(); + var placeholder = publisher.photozoneEl.find("li.loading").first(); placeholder - .removeClass('loading') + .removeClass("loading") .prepend( - '
    '+ - '
    ' + "
    "+ + "
    " ) - .find('img').attr({'src': url, 'data-id': id}).removeClass('ajax-loader'); + .find("img").attr({"src": url, "data-id": id}).removeClass("ajax-loader"); placeholder - .find('div.progress').remove(); + .find("div.progress").remove(); // no more placeholders? enable buttons - if( publisher.el_photozone.find('li.loading').length === 0 ) { - this.$el.removeClass('loading'); + if( publisher.photozoneEl.find("li.loading").length === 0 ) { + this.$el.removeClass("loading"); publisher.setButtonsEnabled(true); } }, _cancelPhotoUpload: function() { var publisher = this.publisher; - var placeholder = publisher.el_photozone.find('li.loading').first(); + var placeholder = publisher.photozoneEl.find("li.loading").first(); placeholder - .removeClass('loading') - .find('img').remove(); + .removeClass("loading") + .find("img").remove(); }, // remove an already uploaded photo _removePhoto: function(evt) { var self = this; - var photo = $(evt.target).parents('.publisher_photo'); - var img = photo.find('img'); + var photo = $(evt.target).parents(".publisher_photo"); + var img = photo.find("img"); - photo.addClass('dim'); + photo.addClass("dim"); $.ajax({ - url: '/photos/'+img.attr('data-id'), - dataType: 'json', - type: 'DELETE', + url: "/photos/"+img.attr("data-id"), + dataType: "json", + type: "DELETE", success: function() { $.when(photo.fadeOut(400)).then(function(){ photo.remove(); - if( self.publisher.$('.publisher_photo').length === 0 ) { + if( self.publisher.$(".publisher_photo").length === 0 ) { // no more photos left... - self.publisher.el_wrapper.removeClass('with_attachments'); + self.publisher.wrapperEl.removeClass("with_attachments"); } - self.trigger('change'); + self.trigger("change"); }); } }); diff --git a/app/assets/javascripts/app/views/publisher_view.js b/app/assets/javascripts/app/views/publisher_view.js index dd2bf7077..926b9ee05 100644 --- a/app/assets/javascripts/app/views/publisher_view.js +++ b/app/assets/javascripts/app/views/publisher_view.js @@ -34,29 +34,29 @@ app.views.Publisher = Backbone.View.extend({ this.disabled = false; // init shortcut references to the various elements - this.el_input = this.$('#status_message_fake_text'); - this.el_hiddenInput = this.$('#status_message_text'); - this.el_wrapper = this.$('#publisher_textarea_wrapper'); - this.el_submit = this.$('input[type=submit], button#submit'); - this.el_preview = this.$('button.post_preview_button'); - this.el_photozone = this.$('#photodropzone'); + this.inputEl = this.$("#status_message_fake_text"); + this.hiddenInputEl = this.$("#status_message_text"); + this.wrapperEl = this.$("#publisher_textarea_wrapper"); + this.submitEl = this.$("input[type=submit], button#submit"); + this.previewEl = this.$("button.post_preview_button"); + this.photozoneEl = this.$("#photodropzone"); // init mentions plugin - Mentions.initialize(this.el_input); + Mentions.initialize(this.inputEl); // init autoresize plugin - this.el_input.autoResize({ 'extraSpace' : 10, 'maxHeight' : Infinity }); + this.inputEl.autoResize({ "extraSpace" : 10, "maxHeight" : Infinity }); // if there is data in the publisher we ask for a confirmation // before the user is able to leave the page - $(window).on('beforeunload', _.bind(this._beforeUnload, this)); + $(window).on("beforeunload", _.bind(this._beforeUnload, this)); // sync textarea content - if( this.el_hiddenInput.val() === "" ) { - this.el_hiddenInput.val( this.el_input.val() ); + if( this.hiddenInputEl.val() === "" ) { + this.hiddenInputEl.val( this.inputEl.val() ); } - if( this.el_input.val() === "" ) { - this.el_input.val( this.el_hiddenInput.val() ); + if( this.inputEl.val() === "" ) { + this.inputEl.val( this.hiddenInputEl.val() ); } // hide close and preview buttons and manage services link @@ -64,37 +64,37 @@ app.views.Publisher = Backbone.View.extend({ // (e.g. bookmarklet, mentions popup) if( this.standalone ) { this.$("#hide_publisher").hide(); - this.el_preview.hide(); + this.previewEl.hide(); this.$(".question_mark").hide(); } // this has to be here, otherwise for some reason the callback for the // textchange event won't be called in Backbone... - this.el_input.bind('textchange', $.noop); + this.inputEl.bind("textchange", $.noop); var _this = this; - $('body').on('click', function(event){ + $("body").on("click", function(event){ // if the click event is happened outside the publisher view, then try to close the box - if( _this.el && $(event.target).closest('#publisher').attr('id') !== _this.el.id){ + if( _this.el && $(event.target).closest("#publisher").attr("id") !== _this.el.id){ _this.tryClose(); } }); // close publisher on post - this.on('publisher:add', function() { + this.on("publisher:add", function() { this.close(); this.showSpinner(true); }); // open publisher on post error - this.on('publisher:error', function() { + this.on("publisher:error", function() { this.open(); this.showSpinner(false); }); // resetting the poll view - this.on('publisher:sync', function() { - this.view_poll_creator.render(); + this.on("publisher:sync", function() { + this.viewPollCreator.render(); }); this.initSubviews(); @@ -103,7 +103,7 @@ app.views.Publisher = Backbone.View.extend({ }, initSubviews: function() { - var form = this.$('.content_creation form'); + var form = this.$(".content_creation form"); this.view_services = new app.views.PublisherServices({ el: this.$('#publisher_service_icons'), @@ -111,48 +111,48 @@ app.views.Publisher = Backbone.View.extend({ form: form }); - this.view_aspect_selector = new app.views.PublisherAspectSelector({ - el: this.$('.public_toggle .aspect_dropdown'), + this.viewAspectSelector = new app.views.PublisherAspectSelector({ + el: this.$(".public_toggle .aspect_dropdown"), form: form }); - this.view_getting_started = new app.views.PublisherGettingStarted({ - el_first_msg: this.el_input, - el_visibility: this.$('.public_toggle .aspect_dropdown > .dropdown-toggle'), - el_stream: $('#gs-shim') + this.viewGettingStarted = new app.views.PublisherGettingStarted({ + firstMessageEl: this.inputEl, + visibilityEl: this.$(".public_toggle .aspect_dropdown > .dropdown-toggle"), + streamEl: $("#gs-shim") }); - this.view_uploader = new app.views.PublisherUploader({ - el: this.$('#file-upload'), + this.viewUploader = new app.views.PublisherUploader({ + el: this.$("#file-upload"), publisher: this }); - this.view_uploader.on('change', this.checkSubmitAvailability, this); + this.viewUploader.on("change", this.checkSubmitAvailability, this); - this.view_poll_creator = new app.views.PublisherPollCreator({ - el: this.$('#poll_creator_container') + this.viewPollCreator = new app.views.PublisherPollCreator({ + el: this.$("#poll_creator_container") }); - this.view_poll_creator.on('change', this.checkSubmitAvailability, this); - this.view_poll_creator.render(); + this.viewPollCreator.on("change", this.checkSubmitAvailability, this); + this.viewPollCreator.render(); }, // set the selected aspects in the dropdown by their ids setSelectedAspects: function(ids) { - this.view_aspect_selector.updateAspectsSelector(ids); + this.viewAspectSelector.updateAspectsSelector(ids); }, // inject content into the publisher textarea setText: function(txt) { - this.el_input.val(txt); - this.el_hiddenInput.val(txt); + this.inputEl.val(txt); + this.hiddenInputEl.val(txt); this.prefillText = txt; - this.el_input.trigger('input'); + this.inputEl.trigger("input"); this.handleTextchange(); }, // show the "getting started" popups around the publisher triggerGettingStarted: function() { - this.view_getting_started.show(); + this.viewGettingStarted.show(); }, createStatusMessage : function(evt) { @@ -164,7 +164,7 @@ app.views.Publisher = Backbone.View.extend({ // Auto-adding a poll answer always leaves an empty box when the user starts // typing in the last box. We'll delete the last one to avoid submitting an // empty poll answer and failing validation. - this.view_poll_creator.removeLastAnswer(); + this.viewPollCreator.removeLastAnswer(); //add missing mentions at end of post: this.handleTextchange(); @@ -175,7 +175,9 @@ app.views.Publisher = Backbone.View.extend({ // lulz this code should be killed. var statusMessage = new app.models.Post(); - if( app.publisher ) app.publisher.trigger('publisher:add'); + if( app.publisher ) { + app.publisher.trigger("publisher:add"); + } statusMessage.save({ "status_message" : { @@ -192,9 +194,9 @@ app.views.Publisher = Backbone.View.extend({ url : "/status_messages", success : function() { if( app.publisher ) { - app.publisher.$el.trigger('ajax:success'); - app.publisher.trigger('publisher:sync'); - self.view_poll_creator.trigger('publisher:sync'); + app.publisher.$el.trigger("ajax:success"); + app.publisher.trigger("publisher:sync"); + self.viewPollCreator.trigger("publisher:sync"); } if(app.stream && !self.standalone){ @@ -208,9 +210,11 @@ app.views.Publisher = Backbone.View.extend({ if( self.standalone ) self.setEnabled(false); }, error: function(model, resp) { - if( app.publisher ) app.publisher.trigger('publisher:error'); + if( app.publisher ) { + app.publisher.trigger("publisher:error"); + } self.setInputEnabled(true); - Diaspora.page.flashMessages.render({ 'success':false, 'notice':resp.responseText }); + Diaspora.page.flashMessages.render({ "success":false, "notice":resp.responseText }); self.setButtonsEnabled(true); self.setInputEnabled(true); } @@ -219,9 +223,9 @@ app.views.Publisher = Backbone.View.extend({ // creates the location showLocation: function(){ - if($('#location').length === 0){ - $('#location_container').append('
    '); - this.el_wrapper.addClass('with_location'); + if($("#location").length === 0){ + $("#location_container").append("
    "); + this.wrapperEl.addClass("with_location"); this.view_locator = new app.views.Location(); } }, @@ -230,14 +234,14 @@ app.views.Publisher = Backbone.View.extend({ destroyLocation: function(){ if(this.view_locator){ this.view_locator.remove(); - this.el_wrapper.removeClass('with_location'); + this.wrapperEl.removeClass("with_location"); delete this.view_locator; } }, togglePollCreator: function(){ - this.view_poll_creator.$el.toggle(); - this.el_input.focus(); + this.viewPollCreator.$el.toggle(); + this.inputEl.focus(); }, // avoid submitting form when pressing Enter key @@ -255,8 +259,8 @@ app.views.Publisher = Backbone.View.extend({ var serializedForm = $(evt.target).closest("form").serializeObject(); var photos = []; - $('li.publisher_photo img').each(function(){ - var file = $(this).attr('src').substring("/uploads/images/".length); + $("li.publisher_photo img").each(function(){ + var file = $(this).attr("src").substring("/uploads/images/".length); photos.push( { "sizes":{ @@ -295,18 +299,20 @@ app.views.Publisher = Backbone.View.extend({ var date = (new Date()).toISOString(); var poll; - var poll_question = serializedForm["poll_question"]; - var poll_answers_arry = _.flatten([serializedForm["poll_answers[]"]]); - var poll_answers = _.map(poll_answers_arry, function(answer){ - if(answer) return { 'answer' : answer }; + var pollQuestion = serializedForm.poll_question; + var pollAnswersArray = _.flatten([serializedForm["poll_answers[]"]]); + var pollAnswers = _.map(pollAnswersArray, function(answer){ + if (answer) { + return { "answer" : answer }; + } }); - poll_answers = _.without(poll_answers, undefined); + pollAnswers = _.without(pollAnswers, undefined); - if(poll_question && poll_answers.length) { + if(pollQuestion && pollAnswers.length) { poll = { - 'question': poll_question, - 'poll_answers' : poll_answers, - 'participation_count': '0' + "question": pollQuestion, + "poll_answers" : pollAnswers, + "participation_count": "0" }; } @@ -324,30 +330,30 @@ app.views.Publisher = Backbone.View.extend({ "title" : serializedForm["status_message[text]"], "address" : $("#location_address").val(), "interactions" : {"likes":[],"reshares":[],"comments_count":0,"likes_count":0,"reshares_count":0}, - 'poll': poll + "poll": poll }; if(app.stream) { this.removePostPreview(); app.stream.addNow(previewMessage); this.recentPreview=previewMessage; - this.modifyPostPreview($('.stream_element:first',$('.stream_container'))); + this.modifyPostPreview($(".stream_element:first",$(".stream_container"))); } }, modifyPostPreview : function(post) { - post.addClass('post_preview'); - $('.collapsible',post).removeClass('collapsed').addClass('opened'); - $('a.delete.remove_post',post).hide(); - $('a.like, a.focus_comment_textarea',post).removeAttr("href"); - $('a.like',post).addClass("like_preview"); - $('a.like',post).removeClass("like"); - $('a.focus_comment_textarea',post).addClass("focus_comment_textarea_preview"); - $('a.focus_comment_textarea',post).removeClass("focus_comment_textarea"); - $('a',$('span.details.grey',post)).removeAttr("href"); + post.addClass("post_preview"); + $(".collapsible",post).removeClass("collapsed").addClass("opened"); + $("a.delete.remove_post",post).hide(); + $("a.like, a.focus_comment_textarea",post).removeAttr("href"); + $("a.like",post).addClass("like_preview"); + $("a.like",post).removeClass("like"); + $("a.focus_comment_textarea",post).addClass("focus_comment_textarea_preview"); + $("a.focus_comment_textarea",post).removeClass("focus_comment_textarea"); + $("a",$("span.details.grey",post)).removeAttr("href"); }, removePostPreview : function() { - if(app.stream && this.recentPreview){ + if(app.stream && this.recentPreview) { app.stream.items.remove(this.recentPreview); delete this.recentPreview; } @@ -363,21 +369,21 @@ app.views.Publisher = Backbone.View.extend({ clear : function() { // clear text(s) - this.el_input.val(''); - this.el_hiddenInput.val(''); - this.el_input.trigger('keyup') - .trigger('keydown'); + this.inputEl.val(""); + this.hiddenInputEl.val(""); + this.inputEl.trigger("keyup") + .trigger("keydown"); // remove mentions - this.el_input.mentionsInput('reset'); + this.inputEl.mentionsInput("reset"); // remove photos - this.el_photozone.find('li').remove(); + this.photozoneEl.find("li").remove(); this.$("input[name='photos[]']").remove(); - this.el_wrapper.removeClass("with_attachments"); + this.wrapperEl.removeClass("with_attachments"); // empty upload-photo - this.$('#fileInfo').empty(); + this.$("#fileInfo").empty(); // close publishing area (CSS) this.close(); @@ -401,11 +407,11 @@ app.views.Publisher = Backbone.View.extend({ this.destroyLocation(); // clear poll form - this.view_poll_creator.clearInputs(); + this.viewPollCreator.clearInputs(); // force textchange plugin to update lastValue - this.el_input.data('lastValue', ''); - this.el_hiddenInput.data('lastValue', ''); + this.inputEl.data("lastValue", ""); + this.hiddenInputEl.data("lastValue", ""); return this; }, @@ -421,8 +427,8 @@ app.views.Publisher = Backbone.View.extend({ if( this.disabled ) return; // visually 'open' the publisher - this.$el.removeClass('closed'); - this.el_wrapper.addClass('active'); + this.$el.removeClass("closed"); + this.wrapperEl.addClass("active"); // fetch contacts for mentioning Mentions.fetchContacts(); @@ -431,17 +437,19 @@ app.views.Publisher = Backbone.View.extend({ close : function() { $(this.el).addClass("closed"); - this.el_wrapper.removeClass("active"); - this.el_input.css('height', ''); - this.view_poll_creator.$el.hide(); + this.wrapperEl.removeClass("active"); + this.inputEl.css("height", ""); + this.viewPollCreator.$el.hide(); return this; }, showSpinner: function(bool) { - if (bool) - this.$('#publisher_spinner').removeClass('hidden'); - else - this.$('#publisher_spinner').addClass('hidden'); + if (bool) { + this.$("#publisher_spinner").removeClass("hidden"); + } + else { + this.$("#publisher_spinner").addClass("hidden"); + } }, checkSubmitAvailability: function() { @@ -461,29 +469,29 @@ app.views.Publisher = Backbone.View.extend({ setButtonsEnabled: function(bool) { if (bool) { - this.el_submit.removeProp('disabled'); - this.el_preview.removeProp('disabled'); + this.submitEl.removeProp("disabled"); + this.previewEl.removeProp("disabled"); } else { - this.el_submit.prop('disabled', true); - this.el_preview.prop('disabled', true); + this.submitEl.prop("disabled", true); + this.previewEl.prop("disabled", true); } }, setInputEnabled: function(bool) { if (bool) { - this.el_input.removeProp('disabled'); - this.el_hiddenInput.removeProp('disabled'); + this.inputEl.removeProp("disabled"); + this.hiddenInputEl.removeProp("disabled"); } else { - this.el_input.prop('disabled', true); - this.el_hiddenInput.prop('disabled', true); + this.inputEl.prop("disabled", true); + this.hiddenInputEl.prop("disabled", true); } }, // determine submit availability _submittable: function() { - var onlyWhitespaces = ($.trim(this.el_input.val()) === ''), - isPhotoAttached = (this.el_photozone.children().length > 0), - isValidPoll = this.view_poll_creator.validatePoll(); + var onlyWhitespaces = ($.trim(this.inputEl.val()) === ""), + isPhotoAttached = (this.photozoneEl.children().length > 0), + isValidPoll = this.viewPollCreator.validatePoll(); return (!onlyWhitespaces || isPhotoAttached) && isValidPoll && !this.disabled; }, @@ -492,13 +500,13 @@ app.views.Publisher = Backbone.View.extend({ var self = this; this.checkSubmitAvailability(); - this.el_input.mentionsInput("val", function(value){ - self.el_hiddenInput.val(value); + this.inputEl.mentionsInput("val", function(value){ + self.hiddenInputEl.val(value); }); }, _beforeUnload: function(e) { - if(this._submittable() && this.el_input.val() !== this.prefillText){ + if(this._submittable() && this.inputEl.val() !== this.prefillText){ var confirmationMessage = Diaspora.I18n.t("confirm_unload"); (e || window.event).returnValue = confirmationMessage; //Gecko + IE return confirmationMessage; //Webkit, Safari, Chrome, etc. @@ -516,9 +524,9 @@ $.fn.serializeObject = function() if (!o[this.name].push) { o[this.name] = [o[this.name]]; } - o[this.name].push(this.value || ''); + o[this.name].push(this.value || ""); } else { - o[this.name] = this.value || ''; + o[this.name] = this.value || ""; } }); return o; diff --git a/app/helpers/invitation_codes_helper.rb b/app/helpers/invitation_codes_helper.rb index 326e67a1c..7d069864a 100644 --- a/app/helpers/invitation_codes_helper.rb +++ b/app/helpers/invitation_codes_helper.rb @@ -6,7 +6,7 @@ module InvitationCodesHelper end def invite_link(invite_code) - text_field_tag :invite_code, invite_code_url(invite_code), :class => 'form-control', :readonly => true + text_field_tag :invite_code, invite_code_url(invite_code), class: "form-control", readonly: true end def invited_by_message diff --git a/app/views/conversations/index.mobile.haml b/app/views/conversations/index.mobile.haml index 31105e884..510008d5a 100644 --- a/app/views/conversations/index.mobile.haml +++ b/app/views/conversations/index.mobile.haml @@ -20,7 +20,7 @@ = render partial: 'conversations/conversation', collection: @conversations, locals: { authors: @authors, unread_counts: @unread_counts } - else - %div{ class: 'no-messages' } + .no-messages %i = t('.no_messages') diff --git a/spec/javascripts/app/views/aspect_create_view_spec.js b/spec/javascripts/app/views/aspect_create_view_spec.js index ada4b1bbe..96eabfe7f 100644 --- a/spec/javascripts/app/views/aspect_create_view_spec.js +++ b/spec/javascripts/app/views/aspect_create_view_spec.js @@ -86,7 +86,7 @@ describe("app.views.AspectCreate", function() { }); it("should hide the modal", function() { - this.view.$('.modal').removeClass('fade'); + this.view.$(".modal").removeClass("fade"); this.view.$(".modal").modal("toggle"); expect(this.view.$(".modal")).toHaveClass("in"); this.view.createAspect(); @@ -109,7 +109,7 @@ describe("app.views.AspectCreate", function() { }); it("should hide the modal", function() { - this.view.$('.modal').removeClass('fade'); + this.view.$(".modal").removeClass("fade"); this.view.$(".modal").modal("show"); expect(this.view.$(".modal")).toHaveClass("in"); this.view.createAspect(); diff --git a/spec/javascripts/app/views/aspects_dropdown_view_spec.js b/spec/javascripts/app/views/aspects_dropdown_view_spec.js index 0720a26e2..fc553fddb 100644 --- a/spec/javascripts/app/views/aspects_dropdown_view_spec.js +++ b/spec/javascripts/app/views/aspects_dropdown_view_spec.js @@ -15,8 +15,8 @@ describe("app.views.AspectsDropdown", function(){ context('_toggleCheckbox', function() { beforeEach(function() { - this.view.$('li.selected').removeClass('selected'); - this.view.$('li.all_aspects').addClass('selected'); + this.view.$("li.selected").removeClass("selected"); + this.view.$("li.all_aspects").addClass("selected"); }); it('deselects all radio buttons', function() { @@ -45,21 +45,21 @@ describe("app.views.AspectsDropdown", function(){ }); it('deselects all checkboxes', function() { - this.view._toggleRadio(this.view.$('li.all_aspects')); - expect(this.view.$('li.aspect_selector:eq(0)').hasClass('selected')).toBeFalsy(); - expect(this.view.$('li.aspect_selector:eq(1)').hasClass('selected')).toBeFalsy(); + this.view._toggleRadio(this.view.$("li.all_aspects")); + expect(this.view.$("li.aspect_selector:eq(0)").hasClass("selected")).toBeFalsy(); + expect(this.view.$("li.aspect_selector:eq(1)").hasClass("selected")).toBeFalsy(); }); it('toggles the clicked radio buttons', function() { - this.view._toggleRadio(this.view.$('li.all_aspects')); - expect(this.view.$('li.all_aspects').hasClass('selected')).toBeTruthy(); - expect(this.view.$('li.public').hasClass('selected')).toBeFalsy(); - this.view._toggleRadio(this.view.$('li.public')); - expect(this.view.$('li.all_aspects').hasClass('selected')).toBeFalsy(); - expect(this.view.$('li.public').hasClass('selected')).toBeTruthy(); - this.view._toggleRadio(this.view.$('li.all_aspects')); - expect(this.view.$('li.all_aspects').hasClass('selected')).toBeTruthy(); - expect(this.view.$('li.public').hasClass('selected')).toBeFalsy(); + this.view._toggleRadio(this.view.$("li.all_aspects")); + expect(this.view.$("li.all_aspects").hasClass("selected")).toBeTruthy(); + expect(this.view.$("li.public").hasClass("selected")).toBeFalsy(); + this.view._toggleRadio(this.view.$("li.public")); + expect(this.view.$("li.all_aspects").hasClass("selected")).toBeFalsy(); + expect(this.view.$("li.public").hasClass("selected")).toBeTruthy(); + this.view._toggleRadio(this.view.$("li.all_aspects")); + expect(this.view.$("li.all_aspects").hasClass("selected")).toBeTruthy(); + expect(this.view.$("li.public").hasClass("selected")).toBeFalsy(); }); }); @@ -90,9 +90,9 @@ describe("app.views.AspectsDropdown", function(){ }); it('shows the name of the selected radio button', function() { - this.view.$('li.all_aspects').addClass('selected'); - this.view._updateButton('inAspectClass'); - expect(this.view.$('.btn.dropdown-toggle > .text').text()).toContain(Diaspora.I18n.t('aspect_dropdown.all_aspects')); + this.view.$("li.all_aspects").addClass("selected"); + this.view._updateButton("inAspectClass"); + expect(this.view.$(".btn.dropdown-toggle > .text").text()).toContain(Diaspora.I18n.t("aspect_dropdown.all_aspects")); }); it('shows the name of the selected aspect ( == 1 )', function() { diff --git a/spec/javascripts/app/views/bookmarklet_view_spec.js b/spec/javascripts/app/views/bookmarklet_view_spec.js index bab7b5197..d5de57466 100644 --- a/spec/javascripts/app/views/bookmarklet_view_spec.js +++ b/spec/javascripts/app/views/bookmarklet_view_spec.js @@ -1,9 +1,9 @@ -describe('app.views.Bookmarklet', function() { +describe("app.views.Bookmarklet", function() { var test_data = { - url: 'https://www.youtube.com/watch?v=0Bmhjf0rKe8', - title: 'Surprised Kitty', - notes: 'cute kitty' + url: "https://www.youtube.com/watch?v=0Bmhjf0rKe8", + title: "Surprised Kitty", + notes: "cute kitty" }; var evil_test_data = _.extend({}, { notes: "**love** This is such a\n\n great \"cute kitty\" '''blabla''' %28%29\\" @@ -11,46 +11,46 @@ describe('app.views.Bookmarklet', function() { var init_bookmarklet = function(data) { app.bookmarklet = new app.views.Bookmarklet( - _.extend({el: $('#bookmarklet')}, data) + _.extend({el: $("#bookmarklet")}, data) ).render(); }; beforeEach(function() { app.stream = null; // avoid rendering posts loginAs({name: "alice", avatar : {small : "http://avatar.com/photo.jpg"}}); - spec.loadFixture('bookmarklet'); + spec.loadFixture("bookmarklet"); }); - it('initializes a standalone publisher', function() { + it("initializes a standalone publisher", function() { new app.views.Bookmarklet(); expect(app.publisher).not.toBeNull(); expect(app.publisher.standalone).toBeTruthy(); }); - it('prefills the publisher', function() { + it("prefills the publisher", function() { init_bookmarklet(test_data); - expect($.trim(app.publisher.el_input.val())).not.toEqual(''); - expect($.trim(app.publisher.el_hiddenInput.val())).not.toEqual(''); + expect($.trim(app.publisher.inputEl.val())).not.toEqual(""); + expect($.trim(app.publisher.hiddenInputEl.val())).not.toEqual(""); }); - it('handles dirty input well', function() { + it("handles dirty input well", function() { init_bookmarklet(evil_test_data); - expect($.trim(app.publisher.el_input.val())).not.toEqual(''); - expect($.trim(app.publisher.el_hiddenInput.val())).not.toEqual(''); + expect($.trim(app.publisher.inputEl.val())).not.toEqual(""); + expect($.trim(app.publisher.hiddenInputEl.val())).not.toEqual(""); }); - it('allows changing a prefilled publisher', function() { + it("allows changing a prefilled publisher", function() { init_bookmarklet(test_data); - app.publisher.setText(app.publisher.el_input.val()+'A'); + app.publisher.setText(app.publisher.inputEl.val()+"A"); - expect(app.publisher.el_hiddenInput.val()).toMatch(/.+A$/); + expect(app.publisher.hiddenInputEl.val()).toMatch(/.+A$/); }); - it('keeps the publisher disabled after successful post creation', function() { + it("keeps the publisher disabled after successful post creation", function() { init_bookmarklet(test_data); - spec.content().find('form').submit(); + spec.content().find("form").submit(); jasmine.Ajax.requests.mostRecent().respondWith({ status: 200, // success! diff --git a/spec/javascripts/app/views/publisher_view_spec.js b/spec/javascripts/app/views/publisher_view_spec.js index d15719262..17d9434ca 100644 --- a/spec/javascripts/app/views/publisher_view_spec.js +++ b/spec/javascripts/app/views/publisher_view_spec.js @@ -109,12 +109,12 @@ describe("app.views.Publisher", function() { it("removes all photos from the dropzone area", function(){ var self = this; _.times(3, function(){ - self.view.el_photozone.append($("
  • ")); + self.view.photozoneEl.append($("
  • ")); }); - expect(this.view.el_photozone.html()).not.toBe(""); + expect(this.view.photozoneEl.html()).not.toBe(""); this.view.clear($.Event()); - expect(this.view.el_photozone.html()).toBe(""); + expect(this.view.photozoneEl.html()).toBe(""); }); it("removes all photo values appended by the photo uploader", function(){ @@ -153,32 +153,32 @@ describe("app.views.Publisher", function() { }); describe('#setText', function() { - it('sets the content text', function() { - this.view.setText('FOO bar'); + it("sets the content text", function() { + this.view.setText("FOO bar"); - expect(this.view.el_input.val()).toEqual('FOO bar'); - expect(this.view.el_hiddenInput.val()).toEqual('FOO bar'); + expect(this.view.inputEl.val()).toEqual("FOO bar"); + expect(this.view.hiddenInputEl.val()).toEqual("FOO bar"); }); }); describe('#setEnabled', function() { - it('disables the publisher', function() { + it("disables the publisher", function() { expect(this.view.disabled).toBeFalsy(); this.view.setEnabled(false); expect(this.view.disabled).toBeTruthy(); - expect(this.view.el_input.prop('disabled')).toBeTruthy(); - expect(this.view.el_hiddenInput.prop('disabled')).toBeTruthy(); + expect(this.view.inputEl.prop("disabled")).toBeTruthy(); + expect(this.view.hiddenInputEl.prop("disabled")).toBeTruthy(); }); it("disables submitting", function() { - this.view.setText('TESTING'); - expect(this.view.el_submit.prop('disabled')).toBeFalsy(); - expect(this.view.el_preview.prop('disabled')).toBeFalsy(); + this.view.setText("TESTING"); + expect(this.view.submitEl.prop("disabled")).toBeFalsy(); + expect(this.view.previewEl.prop("disabled")).toBeFalsy(); this.view.setEnabled(false); - expect(this.view.el_submit.prop('disabled')).toBeTruthy(); - expect(this.view.el_preview.prop('disabled')).toBeTruthy(); + expect(this.view.submitEl.prop("disabled")).toBeTruthy(); + expect(this.view.previewEl.prop("disabled")).toBeTruthy(); }); }); @@ -305,7 +305,7 @@ describe("app.views.Publisher", function() { spec.loadFixture("status_message_new"); Diaspora.I18n.load({ stream: { public: 'Public' }}); - this.view_aspect_selector = new app.views.PublisherAspectSelector({ + this.viewAspectSelector = new app.views.PublisherAspectSelector({ el: $('.public_toggle .aspect_dropdown'), form: $('.content_creation form') }); @@ -349,7 +349,7 @@ describe("app.views.Publisher", function() { expect(selected.first().val()).toBe('all_aspects'); var evt = $.Event("click", { target: $('.aspect_dropdown li.aspect_selector:last') }); - this.view.view_aspect_selector.toggleAspect(evt); + this.view.viewAspectSelector.toggleAspect(evt); selected = $('input[name="aspect_ids[]"]'); expect(selected.length).toBe(1); @@ -360,20 +360,20 @@ describe("app.views.Publisher", function() { expect($('input[name="aspect_ids[]"][value="42"]').length).toBe(0); var evt = $.Event("click", { target: $('.aspect_dropdown li.aspect_selector:last') }); - this.view.view_aspect_selector.toggleAspect(evt); + this.view.viewAspectSelector.toggleAspect(evt); expect($('input[name="aspect_ids[]"][value="42"]').length).toBe(1); evt = $.Event("click", { target: $('.aspect_dropdown li.aspect_selector:last') }); - this.view.view_aspect_selector.toggleAspect(evt); + this.view.viewAspectSelector.toggleAspect(evt); expect($('input[name="aspect_ids[]"][value="42"]').length).toBe(0); }); it("keeps other fields with different values", function() { $('.dropdown-menu').append('
  • '); var evt = $.Event("click", { target: $('.aspect_dropdown li.aspect_selector:eq(-2)') }); - this.view.view_aspect_selector.toggleAspect(evt); + this.view.viewAspectSelector.toggleAspect(evt); evt = $.Event("click", { target: $('.aspect_dropdown li.aspect_selector:eq(-1)') }); - this.view.view_aspect_selector.toggleAspect(evt); + this.view.viewAspectSelector.toggleAspect(evt); expect($('input[name="aspect_ids[]"][value="42"]').length).toBe(1); expect($('input[name="aspect_ids[]"][value="99"]').length).toBe(1); @@ -460,7 +460,7 @@ describe("app.views.Publisher", function() { this.view = new app.views.Publisher(); // replace the uploader plugin with a dummy object - var upload_view = this.view.view_uploader; + var upload_view = this.view.viewUploader; this.uploader = { onProgress: _.bind(upload_view.progressHandler, upload_view), onSubmit: _.bind(upload_view.submitHandler, upload_view), @@ -473,7 +473,7 @@ describe("app.views.Publisher", function() { it('shows progress in percent', function() { this.uploader.onProgress(null, 'test.jpg', 20, 100); - var info = this.view.view_uploader.el_info; + var info = this.view.viewUploader.infoEl; expect(info.text()).toContain('test.jpg'); expect(info.text()).toContain('20%'); }); @@ -485,13 +485,13 @@ describe("app.views.Publisher", function() { }); it('adds a placeholder', function() { - expect(this.view.el_wrapper.attr('class')).toContain('with_attachments'); - expect(this.view.el_photozone.find('li').length).toBe(1); + expect(this.view.wrapperEl.attr("class")).toContain("with_attachments"); + expect(this.view.photozoneEl.find("li").length).toBe(1); }); it('disables the publisher buttons', function() { - expect(this.view.el_submit.prop('disabled')).toBeTruthy(); - expect(this.view.el_preview.prop('disabled')).toBeTruthy(); + expect(this.view.submitEl.prop("disabled")).toBeTruthy(); + expect(this.view.previewEl.prop("disabled")).toBeTruthy(); }); }); @@ -509,7 +509,7 @@ describe("app.views.Publisher", function() { }); it('shows it in text form', function() { - var info = this.view.view_uploader.el_info; + var info = this.view.viewUploader.infoEl; expect(info.text()).toBe(Diaspora.I18n.t('photo_uploader.completed', {file: 'test.jpg'})); }); @@ -519,7 +519,7 @@ describe("app.views.Publisher", function() { }); it('replaces the placeholder', function() { - var li = this.view.el_photozone.find('li'); + var li = this.view.photozoneEl.find("li"); var img = li.find('img'); expect(li.attr('class')).not.toContain('loading'); @@ -528,8 +528,8 @@ describe("app.views.Publisher", function() { }); it('re-enables the buttons', function() { - expect(this.view.el_submit.prop('disabled')).toBeFalsy(); - expect(this.view.el_preview.prop('disabled')).toBeFalsy(); + expect(this.view.submitEl.prop("disabled")).toBeFalsy(); + expect(this.view.previewEl.prop("disabled")).toBeFalsy(); }); }); @@ -547,7 +547,7 @@ describe("app.views.Publisher", function() { }); it('shows error message', function() { - var info = this.view.view_uploader.el_info; + var info = this.view.viewUploader.infoEl; expect(info.text()).toBe(Diaspora.I18n.t('photo_uploader.error', {file: 'test.jpg'})); }); }); @@ -556,21 +556,21 @@ describe("app.views.Publisher", function() { context('photo removal', function() { beforeEach(function() { this.view = new app.views.Publisher(); - this.view.el_wrapper.addClass('with_attachments'); - this.view.el_photozone.html( - '
  • .'+ - ' '+ - '
    X
    '+ - '
    '+ - '
  • ' + this.view.wrapperEl.addClass("with_attachments"); + this.view.photozoneEl.html( + "
  • ."+ + " "+ + "
    X
    "+ + "
    "+ + "
  • " ); spyOn(jQuery, 'ajax').and.callFake(function(opts) { opts.success(); }); - this.view.el_photozone.find('.x').click(); + this.view.photozoneEl.find(".x").click(); }); it('removes the element', function() { - var photo = this.view.el_photozone.find('li.publisher_photo'); + var photo = this.view.photozoneEl.find("li.publisher_photo"); expect(photo.length).toBe(0); }); @@ -579,7 +579,7 @@ describe("app.views.Publisher", function() { }); it('removes class on wrapper element', function() { - expect(this.view.el_wrapper.attr('class')).not.toContain('with_attachments'); + expect(this.view.wrapperEl.attr("class")).not.toContain("with_attachments"); }); }); });