if(typeof RevelryContent === 'undefined') { var RevelryContent = {}; } RevelryContent.Utilities = {}; RevelryContent.Models = {}; RevelryContent.lazyComponents = []; RevelryContent.Utilities.lazyComponentDefinition = function(def) { RevelryContent.lazyComponents.push(def); } RevelryContent.Utilities.exportLazyComponents = function() { for(var i = 0; i < RevelryContent.lazyComponents.length; i++) { RevelryContent.lazyComponents[i](); } } RevelryContent.Utilities.ready = function (fn) { if (document.readyState != 'loading'){ fn(); } else { document.addEventListener('DOMContentLoaded', fn); } }; RevelryContent.Utilities.rev_script_loader = function(moduleIsLoaded, url, then) { if(moduleIsLoaded) { then(); return; } $.ajax({ url: url, dataType: 'script', success: then }); }; RevelryContent.Utilities.getAuthenticityToken = function() { return $('meta[name="csrf-token"]').attr('content'); }; RevelryContent.Utilities.toObject = function (v) { if (v === null || v === undefined) throw TypeError(); return Object(v); } RevelryContent.Utilities.ownPropertyKeys = function (o) { return Object.getOwnPropertyNames(o); } if(typeof Object.assign === 'undefined') { Object.assign = function(target, sources) { var to = RevelryContent.Utilities.toObject(target); if (arguments.length < 2) return to; for (var sourcesIndex = 1; sourcesIndex < arguments.length; ++sourcesIndex) { var nextSource = arguments[sourcesIndex]; if (nextSource === undefined || nextSource === null) continue; var from = RevelryContent.Utilities.toObject(nextSource); var keysArray = RevelryContent.Utilities.ownPropertyKeys(from); for (var keysIndex = 0; keysIndex < keysArray.length; ++keysIndex) { var nextKey = keysArray[keysIndex]; var desc = Object.getOwnPropertyDescriptor(from, nextKey); if (desc !== undefined && desc.enumerable) { var propValue = from[nextKey]; to[nextKey] = propValue; } } } return to; } }