Source: widgets/SignUp.js

// Generated by github.com/steida/coffee2closure 0.1.12
goog.provide('spark.widgets.SignUp');
goog.require('spark.core.View');
goog.require('spark.components.Form');

/**
  Ready to use customizable user sign up widget of Spark Framework.

  @constructor
  @export
  @param   {Object=} options Class options.
  @param   {*=} data Class data
  @extends {spark.core.View}
 */
spark.widgets.SignUp = function(options, data) {
  var _ref;
  if (options == null) {
    options = {};
  }
  if (options.withImage == null) {
    options.withImage = (_ref = options['withImage']) != null ? _ref : true;
  }
  options.imageUrl || (options.imageUrl = options['imageUrl'] || 'http://lorempixel.com/460/144/city/4');
  options.title || (options.title = options['title'] || 'Sign Up');
  options.buttonTitle || (options.buttonTitle = options['buttonTitle'] || 'Sign Up');
  options.buttonColor || (options.buttonColor = options['buttonColor'] || 'green');
  options.callback || (options.callback = options['callback'] || null);
  options.forgotPasswordCallback || (options.forgotPasswordCallback = options['forgotPasswordCallback'] || null);
  options.alreadyRegisteredCallback || (options.alreadyRegisteredCallback = options['alreadyRegisteredCallback'] || null);
  this.getCssClass(options, 'sign-up-widget');
  spark.widgets.SignUp.superClass_.constructor.call(this, options, data);
  if (options.withImage) {
    this.createImage_();
  }
  this.createTitle_();
  this.form = new spark.components.Form(this.getFormOptions_());
  this.appendView(this.form);
  this.createLinks_();
}
goog.inherits(spark.widgets.SignUp, spark.core.View);

/**
  Creates form title element.
 */
spark.widgets.SignUp.prototype.createTitle_ = function() {
  var title;
  title = new spark.core.View({
    template: this.getOptions().title,
    cssClass: 'title'
  });
  return this.appendView(title);
};

/**
  Creates form header image if `withImage` option is set to true.
 */
spark.widgets.SignUp.prototype.createImage_ = function() {
  var image;
  image = new spark.core.View({
    tagName: 'img',
    attributes: {
      src: this.getOptions().imageUrl
    }
  });
  this.appendView(image);
  return this.addClass('with-image');
};

/**
  Creates Forgot Password and Already Registered links.
 */
spark.widgets.SignUp.prototype.createLinks_ = function() {
  var alreadyRegisteredCallback, forgotPassword, forgotPasswordCallback, registered, _ref;
  _ref = this.getOptions(), forgotPasswordCallback = _ref.forgotPasswordCallback, alreadyRegisteredCallback = _ref.alreadyRegisteredCallback;
  registered = new spark.core.View({
    tagName: 'a',
    template: 'Already Registered?',
    cssClass: 'already-registered',
    attributes: {
      href: '#'
    },
    events: {
      click: (function(_this) {
        return function() {
          if (alreadyRegisteredCallback) {
            alreadyRegisteredCallback.call(_this);
          }
          return _this.emit('AlreadyRegisteredLinkClicked');
        };
      })(this)
    }
  });
  forgotPassword = new spark.core.View({
    tagName: 'a',
    template: 'Forgot password?',
    cssClass: 'forgot-password',
    attributes: {
      href: '#'
    },
    events: {
      click: (function(_this) {
        return function() {
          if (forgotPasswordCallback) {
            forgotPasswordCallback.call(_this);
          }
          return _this.emit('ForgotPasswordLinkClicked');
        };
      })(this)
    }
  });
  this.appendView(registered);
  return this.form.getInputsContainer().appendView(forgotPassword);
};

/**
  Returns form options.
  @private
  @return {Object} Form options.
 */
spark.widgets.SignUp.prototype.getFormOptions_ = function() {
  var formOptions, options;
  options = this.getOptions();
  formOptions = {
    inputs: [
      {
        type: 'text',
        placeholder: 'Email or username',
        name: 'username'
      }, {
        type: 'password',
        placeholder: 'Password',
        name: 'password'
      }
    ],
    buttons: [
      {
        title: options.buttonTitle,
        cssClass: options.buttonColor,
        callback: (function(_this) {
          return function() {
            if (options.callback) {
              options.callback.call(_this);
            }
            return _this.emit('SignUpFormPosted');
          };
        })(this)
      }
    ]
  };
  return formOptions;
};

/**
  Returns form instance.
  @export
  @return {spark.components.Form}
 */
spark.widgets.SignUp.prototype.getForm = function() {
  return this.form;
};
Spark Framework by Fatih Acet
Copyright © 2014 - Fatih Acet
Documentation generated by JSDoc 3.2.2 on 2015-07-19T22:09:29+00:00 using the DocStrap template.