app/assets/javascripts/social_stream.wall.js.erb in social_stream-base-0.16.4 vs app/assets/javascripts/social_stream.wall.js.erb in social_stream-base-0.17.0
- old
+ new
@@ -1,125 +1,142 @@
//= require social_stream.timeline
//
SocialStream.Wall = (function(SS, $, undefined){
- var setupCallbacks = [];
+ var initCallbacks = [];
- var addSetupCallback = function(callback){
- setupCallbacks.push(callback);
- }
+ var addInitCallback = function(callback){
+ initCallbacks.push(callback);
+ }
- var setup = function(){
- $.each(setupCallbacks, function(i, callback){ callback(); });
- }
+ var init = function(){
+ $.each(initCallbacks, function(i, callback){ callback(); });
+ }
- var setupFirstForm = function(){
- $('#wrapper_activities_header form').hide();
- $('#new_<%= SocialStream.activity_forms.first %>').show();
- $('#select_<%= SocialStream.activity_forms.first %>').addClass('selected');
- }
+ var initFirstForm = function(){
+ $('#wrapper_activities_header form').hide();
+ $('#new_<%= SocialStream.activity_forms.first %>').show();
+ $('#select_<%= SocialStream.activity_forms.first %>').addClass('selected');
+ }
- var setupSecuritySelect = function(){
- var default_security_width = '100px';
+ var initFormButton = function(){
+ $('#masterSubmitButton').click(function(){
+ $('#wrapper_activities_header form:visible').submit();
+ });
+ }
- chosen = $('#security').security_chosen();
+ var initFormSelector = function(){
+ $('.activity_form_selector').click(function(){
+ $('.activity_form_selector').removeClass('selected');
+ $(this).addClass('selected');
+ $('#wrapper_activities_header form').hide();
+ $('#new_'+this.id.split("_")[1]).show();
+ });
+ }
- $('#security').change(function() {
- $(this).children("option:selected").each(function(i,opt){
- if(opt.value==relation_public){
- if(public_selected==false){
- public_selected = true;
- for(id in relation_options){
- if(id==relation_public_pos){
- $("#securitychzn_o_" + relation_public_pos).click();
- }else{
- chosen.result_deselect(id);
- }
- }
- chosen.results_update_field();
- }else{
- if($('#security').children("option:selected").size()>1){
- public_selected = false;
- chosen.result_deselect(relation_public_pos);
- chosen.results_update_field();
- }
- }
- }
- });
-
- $('#securities .search-choice a').click(function(){
- if($('#security').children("option:selected").size()==0){
- $('#securities input').css('width', default_security_width)
- }
- });
- });
+ var initSecuritySelect = function(){
+ var default_security_width = '100px';
- $('#securities input').blur(function(){
- if($('#security').children("option:selected").size()==0){
- $('#securities input').css('width', default_security_width)
- }
- });
+ chosen = $('#security').security_chosen();
- // Remove width calculation
- $('#securities input.default').css('width', default_security_width);
+ $('#security').change(function() {
+ $(this).children("option:selected").each(function(i,opt){
+ if(opt.value==relation_public){
+ if(public_selected==false){
+ public_selected = true;
+ for(id in relation_options){
+ if(id==relation_public_pos){
+ $("#securitychzn_o_" + relation_public_pos).click();
+ }else{
+ chosen.result_deselect(id);
+ }
+ }
+ chosen.results_update_field();
+ }else{
+ if($('#security').children("option:selected").size()>1){
+ public_selected = false;
+ chosen.result_deselect(relation_public_pos);
+ chosen.results_update_field();
+ }
+ }
+ }
+ });
- }
+ $('#securities .search-choice a').click(function(){
+ if($('#security').children("option:selected").size()==0){
+ $('#securities input').css('width', default_security_width)
+ }
+ });
+ });
- var activateAntiRebounds = function(){
- $('#wrapper_activities_header form').submit(function() {
- $(this).find('input[type=text]').each(function() {
- $(this).blur().attr('readonly', true);
- });
- $("#masterSubmitButton").val(I18n.t('activity.sending') + '...').attr("disabled", true);
+ $('#securities input').blur(function(){
+ if($('#security').children("option:selected").size()==0){
+ $('#securities input').css('width', default_security_width)
+ }
+ });
- // Add _relation_ids[] parameter from authorization selector
- $('.liveAdded').remove();
+ // Remove width calculation
+ $('#securities input.default').css('width', default_security_width);
- var currentForm = $(this);
+ }
- $('#security option:selected').each(function() {
- currentForm.append(
- $('<input/>')
- .addClass('liveAdded')
- .attr('type', 'hidden')
- .attr('name', currentForm
- .attr('id').split('_')[1]+'[_relation_ids][]')
- .val($(this).attr('value')));
- });
- return true;
- });
+ var activateAntiRebounds = function(){
+ $('#wrapper_activities_header form').submit(function() {
+ $(this).find('input[type=text]').each(function() {
+ $(this).blur().attr('readonly', true);
+ });
+ $("#masterSubmitButton").val(I18n.t('activity.sending') + '...').attr("disabled", true);
- $('.new_comment').submit(function() {
- $(this).find('input[type=text]').each(function() {
- $(this).blur().attr('readonly', true);
- });
- $(this).find(".submitActivity").each(function() {
- $(this).val(I18n.t('activity.sending') + '...').attr("disabled", true);
- });
- return true;
- });
- }
+ // Add _relation_ids[] parameter from authorization selector
+ $('.liveAdded').remove();
- var unblockForms = function() {
- //Sharing buttons
- $(".submitActivity").val(I18n.t('share')).removeAttr("disabled");
- //Header activities form
- $("#masterSubmitButton").val(I18n.t('share')).removeAttr("disabled");
- $('#wrapper_activities_header form').find('input[type=text]').each(function() {
- $(this).removeAttr("readonly").val("").blur();
- });
- //New comments
- $('.input_new_comments').each(function() {chosen.result_deselect(0)
- $(this).removeAttr("readonly").val("");
- });
- }
+ var currentForm = $(this);
- addSetupCallback(setupFirstForm);
- addSetupCallback(setupSecuritySelect);
- addSetupCallback(activateAntiRebounds);
+ $('#security option:selected').each(function() {
+ currentForm.append(
+ $('<input/>')
+ .addClass('liveAdded')
+ .attr('type', 'hidden')
+ .attr('name', currentForm
+ .attr('id').split('_')[1]+'[_relation_ids][]')
+ .val($(this).attr('value')));
+ });
+ return true;
+ });
- return {
- addSetupCallback: addSetupCallback,
- setup: setup,
- activateAntiRebounds: activateAntiRebounds,
- unblockForms: unblockForms
- };
+ $('.new_comment').submit(function() {
+ $(this).find('input[type=text]').each(function() {
+ $(this).blur().attr('readonly', true);
+ });
+ $(this).find(".submitActivity").each(function() {
+ $(this).val(I18n.t('activity.sending') + '...').attr("disabled", true);
+ });
+ return true;
+ });
+ }
+
+ var unblockForms = function() {
+ //Sharing buttons
+ $(".submitActivity").val(I18n.t('share')).removeAttr("disabled");
+ //Header activities form
+ $("#masterSubmitButton").val(I18n.t('share')).removeAttr("disabled");
+ $('#wrapper_activities_header form').find('input[type=text]').each(function() {
+ $(this).removeAttr("readonly").val("").blur();
+ });
+ //New comments
+ $('.input_new_comments').each(function() {chosen.result_deselect(0)
+ $(this).removeAttr("readonly").val("");
+ });
+ }
+
+ addInitCallback(initFirstForm);
+ addInitCallback(initFormButton);
+ addInitCallback(initFormSelector);
+ addInitCallback(initSecuritySelect);
+ addInitCallback(activateAntiRebounds);
+
+ return {
+ addInitCallback: addInitCallback,
+ init: init,
+ activateAntiRebounds: activateAntiRebounds,
+ unblockForms: unblockForms
+ };
}) (SocialStream, jQuery)