diaspora/app/assets/javascripts/pages/users-getting-started.js
Steven Hancock 1aa0b15c8c Move Javascript to the asset pipeline
* Move all Diaspora-specific javascripts to app/assets/javascripts
* Move all vendored javascripts to vendor/assets/javascripts
* Add the appropriate Sprockets require directives to make sure
  everything gets included in the right order
* Remove Jammit dependencies
* Fix all templates that were using Jammit's include_javascripts helper
* Add handlebars_assets gem for compiling Handlebars templates
* Move all Handlebars templates to app/assets/templates and rename
  from .handlebars to .jst.hbs (this is to keep them in the same
  global JST namespace that they were in under Jammit)
* Add public/assets to .gitignore since these files can and should
  be re-generated by Heroku or Capistrano during each deploy
* Fix a few Handlebars templates that were looking for images in the
  wrong location (I'm sure there are others, but it's late)
* Configure application.rb to precompile all javascript and css assets
  that were compiled by Jammit in the Rails 3.0 code
2012-03-27 18:07:44 -07:00

81 lines
2.7 KiB
JavaScript

Diaspora.Pages.UsersGettingStarted = function() {
var self = this;
this.subscribe("page/ready", function(evt, body) {
self.peopleSearch = self.instantiate("Search", body.find("form.people.search_form"));
self.tagSearch = self.instantiate("Search", body.find("form.tag_input.search_form"));
$('#edit_profile').bind('ajax:success', function(evt, data, status, xhr){
$('#gs-name-form-spinner').addClass("hidden");
$('.profile .saved').show();
$('.profile .saved').fadeOut(2000);
});
// It seems that the default behavior of rails ujs is to clear the remote form
$('#edit_profile').bind('ajax:complete', function(evt, xhr, status){
var firstNameField = $("#profile_first_name");
firstNameField.val(firstNameField.data("cachedValue"));
/* flash message prompt */
var message = Diaspora.I18n.t("getting_started.hey", {'name': $("#profile_first_name").val()});
Diaspora.page.flashMessages.render({success: true, notice: message});
});
$("#profile_first_name").bind("change", function(){
$(this).data("cachedValue", $(this).val());
$('#edit_profile').submit();
$('#gs-name-form-spinner').removeClass("hidden");
});
$("#profile_first_name").bind("blur", function(){
$(this).removeClass("active_input");
});
$("#profile_first_name").bind("focus", function(){
$(this).addClass("active_input");
});
$("#awesome_button").bind("click", function(evt){
evt.preventDefault();
var confirmMessage = Diaspora.I18n.t("getting_started.no_tags");
if(($("#as-selections-tags").find(".as-selection-item").length > 0) || confirm(confirmMessage)) {
$('.tag_input').submit();
/* flash message prompt */
var message = Diaspora.I18n.t("getting_started.preparing_your_stream");
Diaspora.page.flashMessages.render({success: true, notice: message});
} else {
/* flash message prompt */
var message = Diaspora.I18n.t("getting_started.alright_ill_wait");
Diaspora.page.flashMessages.render({success: true, notice: message});
}
});
/* ------ */
var autocompleteInput = $("#follow_tags");
autocompleteInput.autoSuggest("/tags", {
selectedItemProp: "name",
searchObjProps: "name",
asHtmlID: "tags",
neverSubmit: true,
retriveLimit: 10,
selectionLimit: false,
minChars: 2,
keyDelay: 200,
startText: "",
emptyText: "no_results"
});
autocompleteInput.bind('keydown', function(evt){
if(evt.keyCode == 13 || evt.keyCode == 9 || evt.keyCode == 32){
evt.preventDefault();
if( $('li.as-result-item.active').length == 0 ){
$('li.as-result-item').first().click();
}
}
});
});
};