diff --git a/Gemfile.lock b/Gemfile.lock index 42609f656..fff550cb4 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -34,8 +34,6 @@ GIT rack-fiber_pool sinatra -<<<<<<< HEAD -======= GIT remote: git://github.com/pivotal/jasmine-gem.git revision: 34c1529c3f7b78ebd81ac16006f141fc6b7cf013 @@ -46,15 +44,6 @@ GIT rspec (>= 1.3.1) selenium-webdriver (>= 0.1.3) -GIT - remote: git://github.com/socialcast/resque-ensure-connected.git - revision: 8ac0f9e4658495097fb333a93db81d54ba9a5311 - specs: - resque-ensure-connected (0.2.0) - activerecord (>= 2.3.5) - resque (>= 1.10.0) - ->>>>>>> Fix Jasmine tests - first pass GEM remote: http://rubygems.org/ specs: @@ -161,13 +150,13 @@ GEM eventmachine (>= 1.0.0.beta.1) erubis (2.7.0) eventmachine (1.0.0.beta.4) - excon (0.12.0) + excon (0.13.2) execjs (1.3.0) multi_json (~> 1.0) - factory_girl (2.6.4) - activesupport (>= 2.3.9) - factory_girl_rails (1.7.0) - factory_girl (~> 2.6.0) + factory_girl (3.0.0) + activesupport (>= 3.0.0) + factory_girl_rails (3.0.0) + factory_girl (~> 3.0.0) railties (>= 3.0.0) faraday (0.7.6) addressable (~> 2.2) @@ -181,9 +170,9 @@ GEM fixture_builder (0.3.1) activerecord (>= 2) activesupport (>= 2) - fog (1.3.0) + fog (1.3.1) builder - excon (~> 0.12.0) + excon (~> 0.13.0) formatador (~> 0.2.0) mime-types multi_json (~> 1.0) @@ -202,7 +191,7 @@ GEM rspec-instafail (~> 0.1.8) ruby-progressbar (~> 0.0.10) gem_plugin (0.2.3) - gherkin (2.9.1) + gherkin (2.9.3) json (>= 1.4.6) haml (3.1.4) handlebars_assets (0.4.1) @@ -230,29 +219,16 @@ GEM actionpack (~> 3.0) i18n-inflector (~> 2.6) railties (~> 3.0) -<<<<<<< HEAD - jasmine (1.1.2) - jasmine-core (>= 1.1.0) - rack (>= 1.1) - rspec (>= 1.3.1) - selenium-webdriver (>= 0.1.3) - jasmine-core (1.1.0) -<<<<<<< HEAD - json (1.6.6) -======= -======= jasmine-core (1.2.0.rc1) ->>>>>>> Fix Jasmine tests - first pass jquery-rails (1.0.19) railties (~> 3.0) thor (~> 0.14) - json (1.6.5) ->>>>>>> stylesheets are basically now being served from sprockets + json (1.6.6) jsonpath (0.5.0) multi_json jwt (0.1.4) json (>= 1.2.4) - kgio (2.7.3) + kgio (2.7.4) launchy (2.0.3) linecache (0.46) rbx-require-relative (> 0.0.4) @@ -269,7 +245,7 @@ GEM mobile-fu (1.0.0) rack-mobile-detect rails - mock_redis (0.4.0) + mock_redis (0.4.1) mongrel (1.1.5) cgi_multipart_eof_fix (>= 2.4) daemons (>= 1.0.3) @@ -313,7 +289,7 @@ GEM omniauth-oauth (~> 1.0) omniauth-twitter (0.0.8) omniauth-oauth (~> 1.0) - orm_adapter (0.0.6) + orm_adapter (0.0.7) parallel (0.5.16) parallel_tests (0.7.2) parallel @@ -454,10 +430,10 @@ GEM typhoeus (0.3.3) mime-types tzinfo (0.3.32) - uglifier (1.2.3) + uglifier (1.2.4) execjs (>= 0.3.0) multi_json (>= 1.0.2) - unicorn (4.2.0) + unicorn (4.2.1) kgio (~> 2.6) rack raindrops (~> 0.7) diff --git a/public/javascripts/app/forms.js b/app/assets/javascripts/app/forms.js similarity index 100% rename from public/javascripts/app/forms.js rename to app/assets/javascripts/app/forms.js diff --git a/public/javascripts/app/forms/picture_form.js b/app/assets/javascripts/app/forms/picture_form.js similarity index 100% rename from public/javascripts/app/forms/picture_form.js rename to app/assets/javascripts/app/forms/picture_form.js diff --git a/public/javascripts/app/forms/post_form.js b/app/assets/javascripts/app/forms/post_form.js similarity index 100% rename from public/javascripts/app/forms/post_form.js rename to app/assets/javascripts/app/forms/post_form.js diff --git a/public/javascripts/app/pages/framer.js b/app/assets/javascripts/app/pages/framer.js similarity index 100% rename from public/javascripts/app/pages/framer.js rename to app/assets/javascripts/app/pages/framer.js diff --git a/public/javascripts/app/pages/post-new.js b/app/assets/javascripts/app/pages/post-new.js similarity index 100% rename from public/javascripts/app/pages/post-new.js rename to app/assets/javascripts/app/pages/post-new.js diff --git a/public/javascripts/app/templates/aspects-dropdown.handlebars b/app/assets/javascripts/app/templates/aspects-dropdown.handlebars similarity index 100% rename from public/javascripts/app/templates/aspects-dropdown.handlebars rename to app/assets/javascripts/app/templates/aspects-dropdown.handlebars diff --git a/public/javascripts/app/templates/day.handlebars b/app/assets/javascripts/app/templates/day.handlebars similarity index 100% rename from public/javascripts/app/templates/day.handlebars rename to app/assets/javascripts/app/templates/day.handlebars diff --git a/public/javascripts/app/templates/framer.handlebars b/app/assets/javascripts/app/templates/framer.handlebars similarity index 100% rename from public/javascripts/app/templates/framer.handlebars rename to app/assets/javascripts/app/templates/framer.handlebars diff --git a/public/javascripts/app/templates/photo-viewer.handlebars b/app/assets/javascripts/app/templates/photo-viewer.handlebars similarity index 100% rename from public/javascripts/app/templates/photo-viewer.handlebars rename to app/assets/javascripts/app/templates/photo-viewer.handlebars diff --git a/public/javascripts/app/templates/picture-form.handlebars b/app/assets/javascripts/app/templates/picture-form.handlebars similarity index 100% rename from public/javascripts/app/templates/picture-form.handlebars rename to app/assets/javascripts/app/templates/picture-form.handlebars diff --git a/public/javascripts/app/templates/post-form.handlebars b/app/assets/javascripts/app/templates/post-form.handlebars similarity index 100% rename from public/javascripts/app/templates/post-form.handlebars rename to app/assets/javascripts/app/templates/post-form.handlebars diff --git a/public/javascripts/app/templates/post-new.handlebars b/app/assets/javascripts/app/templates/post-new.handlebars similarity index 100% rename from public/javascripts/app/templates/post-new.handlebars rename to app/assets/javascripts/app/templates/post-new.handlebars diff --git a/public/javascripts/app/templates/services-selector.handlebars b/app/assets/javascripts/app/templates/services-selector.handlebars similarity index 100% rename from public/javascripts/app/templates/services-selector.handlebars rename to app/assets/javascripts/app/templates/services-selector.handlebars diff --git a/public/javascripts/app/templates/template-picker.handlebars b/app/assets/javascripts/app/templates/template-picker.handlebars similarity index 100% rename from public/javascripts/app/templates/template-picker.handlebars rename to app/assets/javascripts/app/templates/template-picker.handlebars diff --git a/public/javascripts/app/views/aspects_dropdown_view.js b/app/assets/javascripts/app/views/aspects_dropdown_view.js similarity index 100% rename from public/javascripts/app/views/aspects_dropdown_view.js rename to app/assets/javascripts/app/views/aspects_dropdown_view.js diff --git a/public/javascripts/app/views/photo_viewer.js b/app/assets/javascripts/app/views/photo_viewer.js similarity index 100% rename from public/javascripts/app/views/photo_viewer.js rename to app/assets/javascripts/app/views/photo_viewer.js diff --git a/public/javascripts/app/views/post/day_view.js b/app/assets/javascripts/app/views/post/day_view.js similarity index 100% rename from public/javascripts/app/views/post/day_view.js rename to app/assets/javascripts/app/views/post/day_view.js diff --git a/public/javascripts/app/views/services_selector_view.js b/app/assets/javascripts/app/views/services_selector_view.js similarity index 100% rename from public/javascripts/app/views/services_selector_view.js rename to app/assets/javascripts/app/views/services_selector_view.js diff --git a/public/javascripts/app/views/stream_post_views.js b/app/assets/javascripts/app/views/stream_post_views.js similarity index 100% rename from public/javascripts/app/views/stream_post_views.js rename to app/assets/javascripts/app/views/stream_post_views.js diff --git a/public/javascripts/app/views/template_picker_view.js b/app/assets/javascripts/app/views/template_picker_view.js similarity index 100% rename from public/javascripts/app/views/template_picker_view.js rename to app/assets/javascripts/app/views/template_picker_view.js diff --git a/app/assets/javascripts/main.js b/app/assets/javascripts/main.js index 49d1e50f7..c9260a2dc 100644 --- a/app/assets/javascripts/main.js +++ b/app/assets/javascripts/main.js @@ -6,6 +6,7 @@ //= require backbone //= require rails.validations //= require jquery.hotkeys +//= require jquery.remotipart //= require jquery.autoresize //= require jquery-ui-1.8.9.custom.min //= require jquery.charcount @@ -29,6 +30,7 @@ //= require_tree ./helpers //= require_tree ./pages //= require_tree ./widgets +//= require_tree ./forms //= require view //= require aspects-dropdown //= require contact-edit diff --git a/public/javascripts/apiconsole.js b/public/javascripts/apiconsole.js deleted file mode 100644 index 1a51d56a4..000000000 --- a/public/javascripts/apiconsole.js +++ /dev/null @@ -1,54 +0,0 @@ -var ApiConsole = { - - prettyPrint: function(obj, indent) - { - var result = ""; - if (indent === null) { indent = ""; } - - for (var property in obj) - { - var value = obj[property]; - if (typeof value == 'string') - { value = "'" + value + "'"; } - else if (typeof value == 'object') - { - if (value instanceof Array) - { - // Just let JS convert the Array to a string! - value = "[ " + value + " ]"; - } - else - { - // Recursive dump - // (replace " " by "\t" or something else if you prefer) - var od = ApiConsole.prettyPrint(value, indent + " "); - // If you like { on the same line as the key - //value = "{\n" + od + "\n" + indent + "}"; - // If you prefer { and } to be aligned - value = "\n" + indent + "{\n" + od + "\n" + indent + "}"; - } - } - result += indent + "'" + property + "' : " + value + ",\n"; - } - return result.replace(/,\n$/, ""); - }, - init: function(field, query_box, button){ - this.field = $(field); - this.query = $(query_box); - this.button = $(button); - - - this.button.click(function(){ - $.getJSON(ApiConsole.query.val(), function(data){ - var json = ApiConsole.prettyPrint(data, ''); - console.dir(json); - ApiConsole.field.html(json); - }); - }); - } -}; - -$(document).ready(function(){ - - ApiConsole.init('#resp', 'input[name=api]', '#api_submit:input'); -}); diff --git a/public/javascripts/vendor/FABridge.js b/public/javascripts/vendor/FABridge.js deleted file mode 100644 index df7e355ca..000000000 --- a/public/javascripts/vendor/FABridge.js +++ /dev/null @@ -1,604 +0,0 @@ -/* -/* -Copyright 2006 Adobe Systems Incorporated - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), -to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, -and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE -OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - -*/ - - -/* - * The Bridge class, responsible for navigating AS instances - */ -function FABridge(target,bridgeName) -{ - this.target = target; - this.remoteTypeCache = {}; - this.remoteInstanceCache = {}; - this.remoteFunctionCache = {}; - this.localFunctionCache = {}; - this.bridgeID = FABridge.nextBridgeID++; - this.name = bridgeName; - this.nextLocalFuncID = 0; - FABridge.instances[this.name] = this; - FABridge.idMap[this.bridgeID] = this; - - return this; -} - -// type codes for packed values -FABridge.TYPE_ASINSTANCE = 1; -FABridge.TYPE_ASFUNCTION = 2; - -FABridge.TYPE_JSFUNCTION = 3; -FABridge.TYPE_ANONYMOUS = 4; - -FABridge.initCallbacks = {}; -FABridge.userTypes = {}; - -FABridge.addToUserTypes = function() -{ - for (var i = 0; i < arguments.length; i++) - { - FABridge.userTypes[arguments[i]] = { - 'typeName': arguments[i], - 'enriched': false - }; - } -} - -FABridge.argsToArray = function(args) -{ - var result = []; - for (var i = 0; i < args.length; i++) - { - result[i] = args[i]; - } - return result; -} - -function instanceFactory(objID) -{ - this.fb_instance_id = objID; - return this; -} - -function FABridge__invokeJSFunction(args) -{ - var funcID = args[0]; - var throughArgs = args.concat();//FABridge.argsToArray(arguments); - throughArgs.shift(); - - var bridge = FABridge.extractBridgeFromID(funcID); - return bridge.invokeLocalFunction(funcID, throughArgs); -} - -FABridge.addInitializationCallback = function(bridgeName, callback) -{ - var inst = FABridge.instances[bridgeName]; - if (inst != undefined) - { - callback.call(inst); - return; - } - - var callbackList = FABridge.initCallbacks[bridgeName]; - if(callbackList == null) - { - FABridge.initCallbacks[bridgeName] = callbackList = []; - } - - callbackList.push(callback); -} - -// updated for changes to SWFObject2 -function FABridge__bridgeInitialized(bridgeName) { - var objects = document.getElementsByTagName("object"); - var ol = objects.length; - var activeObjects = []; - if (ol > 0) { - for (var i = 0; i < ol; i++) { - if (typeof objects[i].SetVariable != "undefined") { - activeObjects[activeObjects.length] = objects[i]; - } - } - } - var embeds = document.getElementsByTagName("embed"); - var el = embeds.length; - var activeEmbeds = []; - if (el > 0) { - for (var j = 0; j < el; j++) { - if (typeof embeds[j].SetVariable != "undefined") { - activeEmbeds[activeEmbeds.length] = embeds[j]; - } - } - } - var aol = activeObjects.length; - var ael = activeEmbeds.length; - var searchStr = "bridgeName="+ bridgeName; - if ((aol == 1 && !ael) || (aol == 1 && ael == 1)) { - FABridge.attachBridge(activeObjects[0], bridgeName); - } - else if (ael == 1 && !aol) { - FABridge.attachBridge(activeEmbeds[0], bridgeName); - } - else { - var flash_found = false; - if (aol > 1) { - for (var k = 0; k < aol; k++) { - var params = activeObjects[k].childNodes; - for (var l = 0; l < params.length; l++) { - var param = params[l]; - if (param.nodeType == 1 && param.tagName.toLowerCase() == "param" && param["name"].toLowerCase() == "flashvars" && param["value"].indexOf(searchStr) >= 0) { - FABridge.attachBridge(activeObjects[k], bridgeName); - flash_found = true; - break; - } - } - if (flash_found) { - break; - } - } - } - if (!flash_found && ael > 1) { - for (var m = 0; m < ael; m++) { - var flashVars = activeEmbeds[m].attributes.getNamedItem("flashVars").nodeValue; - if (flashVars.indexOf(searchStr) >= 0) { - FABridge.attachBridge(activeEmbeds[m], bridgeName); - break; - } - } - } - } - return true; -} - -// used to track multiple bridge instances, since callbacks from AS are global across the page. - -FABridge.nextBridgeID = 0; -FABridge.instances = {}; -FABridge.idMap = {}; -FABridge.refCount = 0; - -FABridge.extractBridgeFromID = function(id) -{ - var bridgeID = (id >> 16); - return FABridge.idMap[bridgeID]; -} - -FABridge.attachBridge = function(instance, bridgeName) -{ - var newBridgeInstance = new FABridge(instance, bridgeName); - - FABridge[bridgeName] = newBridgeInstance; - -/* FABridge[bridgeName] = function() { - return newBridgeInstance.root(); - } -*/ - var callbacks = FABridge.initCallbacks[bridgeName]; - if (callbacks == null) - { - return; - } - for (var i = 0; i < callbacks.length; i++) - { - callbacks[i].call(newBridgeInstance); - } - delete FABridge.initCallbacks[bridgeName] -} - -// some methods can't be proxied. You can use the explicit get,set, and call methods if necessary. - -FABridge.blockedMethods = -{ - toString: true, - get: true, - set: true, - call: true -}; - -FABridge.prototype = -{ - - -// bootstrapping - - root: function() - { - return this.deserialize(this.target.getRoot()); - }, -//clears all of the AS objects in the cache maps - releaseASObjects: function() - { - return this.target.releaseASObjects(); - }, -//clears a specific object in AS from the type maps - releaseNamedASObject: function(value) - { - if(typeof(value) != "object") - { - return false; - } - else - { - var ret = this.target.releaseNamedASObject(value.fb_instance_id); - return ret; - } - }, -//create a new AS Object - create: function(className) - { - return this.deserialize(this.target.create(className)); - }, - - - // utilities - - makeID: function(token) - { - return (this.bridgeID << 16) + token; - }, - - - // low level access to the flash object - -//get a named property from an AS object - getPropertyFromAS: function(objRef, propName) - { - if (FABridge.refCount > 0) - { - throw new Error("You are trying to call recursively into the Flash Player which is not allowed. In most cases the JavaScript setTimeout function, can be used as a workaround."); - } - else - { - FABridge.refCount++; - retVal = this.target.getPropFromAS(objRef, propName); - retVal = this.handleError(retVal); - FABridge.refCount--; - return retVal; - } - }, -//set a named property on an AS object - setPropertyInAS: function(objRef,propName, value) - { - if (FABridge.refCount > 0) - { - throw new Error("You are trying to call recursively into the Flash Player which is not allowed. In most cases the JavaScript setTimeout function, can be used as a workaround."); - } - else - { - FABridge.refCount++; - retVal = this.target.setPropInAS(objRef,propName, this.serialize(value)); - retVal = this.handleError(retVal); - FABridge.refCount--; - return retVal; - } - }, - -//call an AS function - callASFunction: function(funcID, args) - { - if (FABridge.refCount > 0) - { - throw new Error("You are trying to call recursively into the Flash Player which is not allowed. In most cases the JavaScript setTimeout function, can be used as a workaround."); - } - else - { - FABridge.refCount++; - retVal = this.target.invokeASFunction(funcID, this.serialize(args)); - retVal = this.handleError(retVal); - FABridge.refCount--; - return retVal; - } - }, -//call a method on an AS object - callASMethod: function(objID, funcName, args) - { - if (FABridge.refCount > 0) - { - throw new Error("You are trying to call recursively into the Flash Player which is not allowed. In most cases the JavaScript setTimeout function, can be used as a workaround."); - } - else - { - FABridge.refCount++; - args = this.serialize(args); - retVal = this.target.invokeASMethod(objID, funcName, args); - retVal = this.handleError(retVal); - FABridge.refCount--; - return retVal; - } - }, - - // responders to remote calls from flash - - //callback from flash that executes a local JS function - //used mostly when setting js functions as callbacks on events - invokeLocalFunction: function(funcID, args) - { - var result; - var func = this.localFunctionCache[funcID]; - - if(func != undefined) - { - result = this.serialize(func.apply(null, this.deserialize(args))); - } - - return result; - }, - - // Object Types and Proxies - - // accepts an object reference, returns a type object matching the obj reference. - getTypeFromName: function(objTypeName) - { - return this.remoteTypeCache[objTypeName]; - }, - //create an AS proxy for the given object ID and type - createProxy: function(objID, typeName) - { - var objType = this.getTypeFromName(typeName); - instanceFactory.prototype = objType; - var instance = new instanceFactory(objID); - this.remoteInstanceCache[objID] = instance; - return instance; - }, - //return the proxy associated with the given object ID - getProxy: function(objID) - { - return this.remoteInstanceCache[objID]; - }, - - // accepts a type structure, returns a constructed type - addTypeDataToCache: function(typeData) - { - var newType = new ASProxy(this, typeData.name); - var accessors = typeData.accessors; - for (var i = 0; i < accessors.length; i++) - { - this.addPropertyToType(newType, accessors[i]); - } - - var methods = typeData.methods; - for (var i = 0; i < methods.length; i++) - { - if (FABridge.blockedMethods[methods[i]] == undefined) - { - this.addMethodToType(newType, methods[i]); - } - } - - - this.remoteTypeCache[newType.typeName] = newType; - return newType; - }, - - //add a property to a typename; used to define the properties that can be called on an AS proxied object - addPropertyToType: function(ty, propName) - { - var c = propName.charAt(0); - var setterName; - var getterName; - if(c >= "a" && c <= "z") - { - getterName = "get" + c.toUpperCase() + propName.substr(1); - setterName = "set" + c.toUpperCase() + propName.substr(1); - } - else - { - getterName = "get" + propName; - setterName = "set" + propName; - } - ty[setterName] = function(val) - { - this.bridge.setPropertyInAS(this.fb_instance_id, propName, val); - } - ty[getterName] = function() - { - return this.bridge.deserialize(this.bridge.getPropertyFromAS(this.fb_instance_id, propName)); - } - }, - - //add a method to a typename; used to define the methods that can be callefd on an AS proxied object - addMethodToType: function(ty, methodName) - { - ty[methodName] = function() - { - return this.bridge.deserialize(this.bridge.callASMethod(this.fb_instance_id, methodName, FABridge.argsToArray(arguments))); - } - }, - - // Function Proxies - - //returns the AS proxy for the specified function ID - getFunctionProxy: function(funcID) - { - var bridge = this; - if (this.remoteFunctionCache[funcID] == null) - { - this.remoteFunctionCache[funcID] = function() - { - bridge.callASFunction(funcID, FABridge.argsToArray(arguments)); - } - } - return this.remoteFunctionCache[funcID]; - }, - - //reutrns the ID of the given function; if it doesnt exist it is created and added to the local cache - getFunctionID: function(func) - { - if (func.__bridge_id__ == undefined) - { - func.__bridge_id__ = this.makeID(this.nextLocalFuncID++); - this.localFunctionCache[func.__bridge_id__] = func; - } - return func.__bridge_id__; - }, - - // serialization / deserialization - - serialize: function(value) - { - var result = {}; - - var t = typeof(value); - //primitives are kept as such - if (t == "number" || t == "string" || t == "boolean" || t == null || t == undefined) - { - result = value; - } - else if (value instanceof Array) - { - //arrays are serializesd recursively - result = []; - for (var i = 0; i < value.length; i++) - { - result[i] = this.serialize(value[i]); - } - } - else if (t == "function") - { - //js functions are assigned an ID and stored in the local cache - result.type = FABridge.TYPE_JSFUNCTION; - result.value = this.getFunctionID(value); - } - else if (value instanceof ASProxy) - { - result.type = FABridge.TYPE_ASINSTANCE; - result.value = value.fb_instance_id; - } - else - { - result.type = FABridge.TYPE_ANONYMOUS; - result.value = value; - } - - return result; - }, - - //on deserialization we always check the return for the specific error code that is used to marshall NPE's into JS errors - // the unpacking is done by returning the value on each pachet for objects/arrays - deserialize: function(packedValue) - { - - var result; - - var t = typeof(packedValue); - if (t == "number" || t == "string" || t == "boolean" || packedValue == null || packedValue == undefined) - { - result = this.handleError(packedValue); - } - else if (packedValue instanceof Array) - { - result = []; - for (var i = 0; i < packedValue.length; i++) - { - result[i] = this.deserialize(packedValue[i]); - } - } - else if (t == "object") - { - for(var i = 0; i < packedValue.newTypes.length; i++) - { - this.addTypeDataToCache(packedValue.newTypes[i]); - } - for (var aRefID in packedValue.newRefs) - { - this.createProxy(aRefID, packedValue.newRefs[aRefID]); - } - if (packedValue.type == FABridge.TYPE_PRIMITIVE) - { - result = packedValue.value; - } - else if (packedValue.type == FABridge.TYPE_ASFUNCTION) - { - result = this.getFunctionProxy(packedValue.value); - } - else if (packedValue.type == FABridge.TYPE_ASINSTANCE) - { - result = this.getProxy(packedValue.value); - } - else if (packedValue.type == FABridge.TYPE_ANONYMOUS) - { - result = packedValue.value; - } - } - return result; - }, - //increases the reference count for the given object - addRef: function(obj) - { - this.target.incRef(obj.fb_instance_id); - }, - //decrease the reference count for the given object and release it if needed - release:function(obj) - { - this.target.releaseRef(obj.fb_instance_id); - }, - - // check the given value for the components of the hard-coded error code : __FLASHERROR - // used to marshall NPE's into flash - - handleError: function(value) - { - if (typeof(value)=="string" && value.indexOf("__FLASHERROR")==0) - { - var myErrorMessage = value.split("||"); - if(FABridge.refCount > 0 ) - { - FABridge.refCount--; - } - throw new Error(myErrorMessage[1]); - return value; - } - else - { - return value; - } - } -}; - -// The root ASProxy class that facades a flash object - -ASProxy = function(bridge, typeName) -{ - this.bridge = bridge; - this.typeName = typeName; - return this; -}; -//methods available on each ASProxy object -ASProxy.prototype = -{ - get: function(propName) - { - return this.bridge.deserialize(this.bridge.getPropertyFromAS(this.fb_instance_id, propName)); - }, - - set: function(propName, value) - { - this.bridge.setPropertyInAS(this.fb_instance_id, propName, value); - }, - - call: function(funcName, args) - { - this.bridge.callASMethod(this.fb_instance_id, funcName, args); - }, - - addRef: function() { - this.bridge.addRef(this); - }, - - release: function() { - this.bridge.release(this); - } -}; diff --git a/public/javascripts/vendor/bootstrap/bootstrap-dropdown.js b/public/javascripts/vendor/bootstrap/bootstrap-dropdown.js deleted file mode 100644 index f80995ca2..000000000 --- a/public/javascripts/vendor/bootstrap/bootstrap-dropdown.js +++ /dev/null @@ -1,92 +0,0 @@ -/* ============================================================ - * bootstrap-dropdown.js v2.0.1 - * http://twitter.github.com/bootstrap/javascript.html#dropdowns - * ============================================================ - * Copyright 2012 Twitter, Inc. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * ============================================================ */ - - -!function( $ ){ - - "use strict" - - /* DROPDOWN CLASS DEFINITION - * ========================= */ - - var toggle = '[data-toggle="dropdown"]' - , Dropdown = function ( element ) { - var $el = $(element).on('click.dropdown.data-api', this.toggle) - $('html').on('click.dropdown.data-api', function () { - $el.parent().removeClass('open') - }) - } - - Dropdown.prototype = { - - constructor: Dropdown - - , toggle: function ( e ) { - var $this = $(this) - , selector = $this.attr('data-target') - , $parent - , isActive - - if (!selector) { - selector = $this.attr('href') - selector = selector && selector.replace(/.*(?=#[^\s]*$)/, '') //strip for ie7 - } - - $parent = $(selector) - $parent.length || ($parent = $this.parent()) - - isActive = $parent.hasClass('open') - - clearMenus() - !isActive && $parent.toggleClass('open') - - return false - } - - } - - function clearMenus() { - $(toggle).parent().removeClass('open') - } - - - /* DROPDOWN PLUGIN DEFINITION - * ========================== */ - - $.fn.dropdown = function ( option ) { - return this.each(function () { - var $this = $(this) - , data = $this.data('dropdown') - if (!data) $this.data('dropdown', (data = new Dropdown(this))) - if (typeof option == 'string') data[option].call($this) - }) - } - - $.fn.dropdown.Constructor = Dropdown - - - /* APPLY TO STANDARD DROPDOWN ELEMENTS - * =================================== */ - - $(function () { - $('html').on('click.dropdown.data-api', clearMenus) - $('body').on('click.dropdown.data-api', toggle, Dropdown.prototype.toggle) - }) - -}( window.jQuery ); \ No newline at end of file diff --git a/public/javascripts/vendor/jquery.dnduploader.js b/public/javascripts/vendor/jquery.dnduploader.js deleted file mode 100644 index 332829a98..000000000 --- a/public/javascripts/vendor/jquery.dnduploader.js +++ /dev/null @@ -1,68 +0,0 @@ -(function( $ ){ - - var methods = { - init : function( options ) { - - return this.each( function () { - - var $this = $(this); - - $.each(options, function( label, setting ) { - $this.data(label, setting); - }); - - $this.bind('dragenter.dndUploader', methods.dragEnter); - $this.bind('dragover.dndUploader', methods.dragOver); - $this.bind('drop.dndUploader', methods.drop); - - }); - }, - - dragEnter : function ( event ) { - event.stopPropagation(); - event.preventDefault(); - - return false; - }, - - dragOver : function ( event ) { - event.stopPropagation(); - event.preventDefault(); - - return false; - }, - - drop : function( event ) { - event.stopPropagation(); - event.preventDefault(); - - var $this = $(this); - var dataTransfer = event.originalEvent.dataTransfer; - - if (dataTransfer.files.length > 0) { - $.each(dataTransfer.files, function ( i, file ) { - var xhr = new XMLHttpRequest(); - var upload = xhr.upload; - - xhr.open($this.data('method') || 'POST', $this.data('url'), true); - xhr.setRequestHeader('X-Filename', file.fileName); - - xhr.send(file); - }); - }; - - return false; - } - }; - - $.fn.dndUploader = function( method ) { - if ( methods[method] ) { - return methods[method].apply( this, Array.prototype.slice.call( arguments, 1 )); - } else if ( typeof method === 'object' || ! method ) { - return methods.init.apply( this, arguments ); - } else { - $.error( 'Method ' + method + ' does not exist on jQuery.dndUploader' ); - } - }; -})( jQuery ); - diff --git a/public/javascripts/vendor/jquery.iframe-transport.js b/public/javascripts/vendor/jquery.iframe-transport.js deleted file mode 100644 index 3407da0a5..000000000 --- a/public/javascripts/vendor/jquery.iframe-transport.js +++ /dev/null @@ -1,233 +0,0 @@ -// This [jQuery](http://jquery.com/) plugin implements an `"); - - // The first load event gets fired after the iframe has been injected - // into the DOM, and is used to prepare the actual submission. - iframe.bind("load", function() { - - // The second load event gets fired when the response to the form - // submission is received. The implementation detects whether the - // actual payload is embedded in a `