summaryrefslogtreecommitdiff
path: root/public/assets/javascripts/vendor
diff options
context:
space:
mode:
authorJules Laplace <jules@okfoc.us>2014-06-10 12:00:24 -0400
committerJules Laplace <jules@okfoc.us>2014-06-10 12:00:24 -0400
commit9fb0fe9b7ef614d2248b00ea2b964205f3453f41 (patch)
tree953fd956e1c6b3d641226d7ac36cc749ced92504 /public/assets/javascripts/vendor
parent3f8e4223cc57bc3fd461881e3d6e9eb331bf4dc5 (diff)
split up builder functionality
Diffstat (limited to 'public/assets/javascripts/vendor')
-rw-r--r--public/assets/javascripts/vendor/ModalFormView.js96
-rw-r--r--public/assets/javascripts/vendor/ModalView.js28
-rw-r--r--public/assets/javascripts/vendor/view.js130
3 files changed, 0 insertions, 254 deletions
diff --git a/public/assets/javascripts/vendor/ModalFormView.js b/public/assets/javascripts/vendor/ModalFormView.js
deleted file mode 100644
index d084031..0000000
--- a/public/assets/javascripts/vendor/ModalFormView.js
+++ /dev/null
@@ -1,96 +0,0 @@
-
-var ModalFormView = ModalView.extend({
-
- method: "post",
-
- events: {
- "submit form": "submit"
- },
-
- initialize: function(){
- this.$form = this.$("form")
- this.$errors = this.$(".errors")
- this.$errorList = this.$(".errorList")
- },
-
- reset: function(){
- this.$("input,textarea").not("[type='submit']").not("[type='hidden']").val("")
- },
-
- load: function(){
- this.reset()
- this.show()
- },
-
- showErrors: function(errors){
- if (errors && errors.length) {
- this.$errorList.empty();
- for (var i in errors) {
- this.$errorList.append('<div>' + errors[i] + '</div>');
- }
- this.$errors.css("opacity", 1.0);
- setTimeout($.proxy(function(){
- this.$errors.show().css("opacity", 1.0);
- }, this), 200)
- }
- },
-
- serialize: function(){
- var fd = new FormData()
-
- this.$("input[name], select[name], textarea[name]").each( function(){
- if (this.type == "file") {
- if (this.files.length > 0) {
- fd.append(this.name, this.files[0]);
- }
- }
- else if (this.type == "password") {
- if (this.value.length > 0) {
- fd.append(this.name, SHA1.hex('lol$' + this.value + '$vvalls'))
- }
- }
- else {
- fd.append(this.name, this.value);
- }
- });
-
- return fd
- },
-
- submit: function(e){
- e.preventDefault()
-
- this.$errors.hide().css("opacity", 0.0);
-
- if (this.validate) {
- var errors = this.validate()
- if (errors && errors.length) {
- this.showErrors(errors)
- return
- }
- }
-
- var request = $.ajax({
- url: this.action,
- type: this.method,
- data: this.serialize(),
- dataType: "json",
- processData: false,
- contentType: false,
- });
- request.done($.proxy(function (response) {
- if (response.error) {
- var errors = []
- for (var key in response.error.errors) {
- errors.push(response.error.errors[key].message);
- }
- this.showErrors(errors)
- return
- }
- else {
- this.success && this.success(response)
- }
- }, this));
- }
-
-})
diff --git a/public/assets/javascripts/vendor/ModalView.js b/public/assets/javascripts/vendor/ModalView.js
deleted file mode 100644
index b90b3c4..0000000
--- a/public/assets/javascripts/vendor/ModalView.js
+++ /dev/null
@@ -1,28 +0,0 @@
-
-var ModalView = View.extend({
- events: {
- "click .close": 'close',
- },
-
- show: function(){
- $(".mediaDrawer").removeClass("active");
- this.$el.addClass("active");
- $("body").addClass("noOverflow");
- },
-
- hide: function(){
- // $(".mediaDrawer, .room1").removeClass("active editing");
- this.$el.removeClass("active");
- $("body").removeClass("noOverflow");
- },
-
- close: function(){
- if (window.isModalView) {
- window.location.pathname = "/"
- }
- else {
- history.pushState(null, document.title, app.router.originalPath)
- this.hide()
- }
- }
-})
diff --git a/public/assets/javascripts/vendor/view.js b/public/assets/javascripts/vendor/view.js
deleted file mode 100644
index 823a75b..0000000
--- a/public/assets/javascripts/vendor/view.js
+++ /dev/null
@@ -1,130 +0,0 @@
-var View = (function($, _){
-
- var View = function(options) {
- this.cid = _.uniqueId('view');
- options || (options = {});
- _.extend(this, _.pick(options, viewOptions));
- this._ensureElement();
- this.initialize.apply(this, arguments);
- this.delegateEvents();
- };
-
- var delegateEventSplitter = /^(\S+)\s*(.*)$/;
-
- var viewOptions = ['model', 'collection', 'el', 'id', 'attributes', 'className', 'tagName', 'events'];
-
- _.extend(View.prototype, {
-
- // The default `tagName` of a View's element is `"div"`.
- tagName: 'div',
-
- $: function(selector) {
- return this.$el.find(selector);
- },
-
- initialize: function(){},
-
- setElement: function(element, delegate) {
- if (this.$el) this.undelegateEvents();
- this.$el = element instanceof $ ? element : $(element);
- this.el = this.$el[0];
- if (delegate !== false) this.delegateEvents();
- return this;
- },
-
- // Set callbacks, where `this.events` is a hash of
- //
- // *{"event selector": "callback"}*
- //
- // {
- // 'mousedown .title': 'edit',
- // 'click .button': 'save',
- // 'click .open': function(e) { ... }
- // }
- //
- // pairs. Callbacks will be bound to the view, with `this` set properly.
- // Uses event delegation for efficiency.
- // Omitting the selector binds the event to `this.el`.
- // This only works for delegate-able events: not `focus`, `blur`, and
- // not `change`, `submit`, and `reset` in Internet Explorer.
- delegateEvents: function(events) {
- if (!(events || (events = _.result(this, 'events')))) return this;
- this.undelegateEvents();
- for (var key in events) {
- var method = events[key];
- if (!_.isFunction(method)) method = this[events[key]];
- if (!method) continue;
-
- var match = key.match(delegateEventSplitter);
- var eventName = match[1], selector = match[2];
- method = _.bind(method, this);
- eventName += '.delegateEvents' + this.cid;
- if (selector === '') {
- this.$el.on(eventName, method);
- } else {
- this.$el.on(eventName, selector, method);
- }
- }
- return this;
- },
-
- // Clears all callbacks previously bound to the view with `delegateEvents`.
- undelegateEvents: function() {
- this.$el.off('.delegateEvents' + this.cid);
- return this;
- },
-
- // Ensure that the View has a DOM element to render into.
- // If `this.el` is a string, pass it through `$()`, take the first
- // matching element, and re-assign it to `el`. Otherwise, create
- // an element from the `id`, `className` and `tagName` properties.
- _ensureElement: function() {
- this.setElement(_.result(this, 'el'), false);
- }
-
- });
-
-
- var extend = function(protoProps, staticProps) {
- var staticProps = staticProps || {}
- var parent = this;
- var child;
- var childEvents = {};
-
- // The constructor function for the new subclass is either defined by you
- // (the "constructor" property in your `extend` definition), or defaulted
- // by us to simply call the parent's constructor.
- if (protoProps && _.has(protoProps, 'constructor')) {
- child = protoProps.constructor;
- } else {
- child = function(){ return parent.apply(this, arguments); };
- }
-
- // Extend events so we can subclass views
- _.extend(childEvents, parent.prototype.events, protoProps.events)
-
- // Add static properties to the constructor function, if supplied.
- _.extend(child, parent, staticProps);
-
- // Set the prototype chain to inherit from `parent`, without calling
- // `parent`'s constructor function.
- var Surrogate = function(){ this.constructor = child; };
- Surrogate.prototype = parent.prototype;
- child.prototype = new Surrogate;
-
- // Add prototype properties (instance properties) to the subclass,
- // if supplied.
- if (protoProps) _.extend(child.prototype, protoProps);
-
- // Set a convenience property in case the parent's prototype is needed
- // later.
- child.prototype.__super__ = parent.prototype;
- child.prototype.events = childEvents
-
- return child;
- };
-
- View.extend = extend;
-
- return View;
-})(jQuery, _)