Your IP : 216.73.216.147


Current Path : /home/lejardintz/www/media/foundry/3.1/scripts/
Upload File :
Current File : /home/lejardintz/www/media/foundry/3.1/scripts/component.min.js

FD31.plugin("component",function($){var Component=$.Component=function(name,options){return arguments.length<1?Component.registry:arguments.length<2?Component.registry[name]:Component.register(name,options)};Component.registry={},Component.proxy=function(component,property,value){component[property]=$.isFunction(value)?$.proxy(value,component):value},Component.register=function(name,options){var abstractComponent;$.isFunction(name)&&(abstractComponent=name,name=abstractComponent.className,options=abstractComponent.options);
var self=Component.registry[name]=window[name]=function(command){return $.isFunction(command)?command($):component};if($.each(Component.prototype,function(property,value){Component.proxy(self,property,value)}),self.$=$,self.options=options,self.className=name,self.identifier=name.toLowerCase(),self.componentName="com_"+self.identifier,self.prefix=self.identifier+"/",self.version=options.version,self.safeVersion=self.version.replace(/\./g,""),self.environment=options.environment||$.environment,self.mode=options.mode||$.mode,self.debug="development"===self.environment,self.console=Component.console(self),self.language=options.language||$.locale.lang||"en",self.baseUrl=options.baseUrl||$.indexUrl+"?option="+self.componentName,self.ajaxUrl=options.ajaxUrl||$.basePath+"/?option="+self.componentName,self.scriptPath=options.scriptPath||$.rootPath+"/media/"+self.componentName+"/scripts/",self.stylePath=options.stylePath||$.rootPath+"/media/"+self.componentName+"/styles/",self.templatePath=options.templatePath||options.scriptPath,self.languagePath=options.languagePath||self.ajaxUrl+"&tmpl=component&no_html=1&controller=lang&task=getLanguage",self.viewPath=options.viewPath||self.ajaxUrl+"&tmpl=component&no_html=1&controller=themes&task=getAjaxTemplate",self.optimizeResources=!0,self.resourcePath=options.resourcePath||self.ajaxUrl+"&tmpl=component&no_html=1&controller=foundry&task=getResource",self.resourceInterval=1200,self.scriptVersioning=options.scriptVersioning||!1,self.token=(abstractComponent||{}).token,self.tasks=[],FD31.component(name,self),abstractComponent)if(self.debug)abstractComponent.queue.execute();
else{for(var installer,installers=FD31.installer(name);installer=installers.shift();)self.install.apply(self,installer);$.when(self.install("definitions"),self.install("scripts"),self.install("resources")).done(function(){abstractComponent.queue.execute()})}},Component.extend=function(property,value){Component.prototype[property]=value,$.each(Component.registry,function(name,component){Component.proxy(component,property,value)})},$.template("component/console",'<div id="[%== component.identifier %]-console" class="foundry-console" style="display: none; z-index: 999999;"><div class="console-header"><div class="console-title">[%= component.className %] [%= component.version %]</div><div class="console-remove-button">x</div></div><div class="console-log-item-group"></div><style type="text/css">.foundry-console{position:fixed;width:50%;height:50%;bottom:0;left:0;background:white;box-shadow: 0 0 5px 0;margin-left: 25px;}.console-log-item-group{width: 100%;height: 100%;overflow-y:scroll;}.console-header{position: absolute;background:red;color:white;font-weight:bold;top:-24px;left: 0;line-height:24px;width:100%}.console-remove-button{text-align:center;cursor: pointer;display:block;width: 24px;float:right}.console-remove-button:hover{color: yellow}.console-title{padding: 0 5px;float:left}.console-log-item{padding: 5px}.console-log-item + .console-log-item{border-top: 1px solid #ccc}</style></div>'),Component.console=function(component){return function(self){var element,instance=function(method){return arguments.length<1?instance.toggle():instance[method]&&instance[method].apply(instance,arguments)
};return instance.selector="#"+self.identifier+"-console",instance.init=function(){return element=$(instance.selector),element.length<1&&(element=$($.View("component/console",{component:self})).appendTo("body"),element.find(".console-remove-button").click(function(){element.hide()})),instance.element=element,arguments.callee}(),instance.methods={log:function(message,type,code){type=type||"info";var itemGroup=element.find(".console-log-item-group"),item=$(document.createElement("div")).addClass("console-log-item type-"+type).attr("data-code",code).html(message);
itemGroup.append(item),itemGroup[0].scrollTop=itemGroup[0].scrollHeight,self.debug&&element.show()},toggle:function(){element.toggle()},reset:function(){element.find(".console-log-item-group").empty()}},$.each(instance.methods,function(method,fn){instance[method]=function(){return instance.init(),fn.apply(instance,arguments)}}),instance}(component)};var doc=$(document),proto=Component.prototype;$.extend(proto,{run:function(command){return $.isFunction(command)?command($):this},ready:function(){return doc.ready(function(){proto.ready=proto.run
}),function(callback){$.isFunction(callback)&&doc.ready(function(){callback($)})}}(),install:function(name,factory){var self=this,task=self.tasks[name]||(self.tasks[name]=$.Deferred());if(!factory)return task;var install=function(){return factory($,self),task.resolve()};return"definitions"==name?install():($.when(self.install("definitions")).done(install),void 0)},template:function(name){var self=this;return void 0==name?$.grep($.template(),function(template){return 0==template.indexOf(self.prefix)}):(arguments[0]=self.prefix+name,$.template.apply(null,arguments))
},require:function(options){var self=this,options=options||{},require=$.require(options),_require={};return $.each(["library","script","language","template","done"],function(i,method){_require[method]=require[method]}),require.resource=function(resource){if($.isPlainObject(resource)&&resource.type&&resource.name&&$.isDeferred(resource.loader)){var resourceCollector=self.resourceCollector;resourceCollector||(resourceCollector=self.resourceCollector=$.Deferred(),$.extend(resourceCollector,{name:$.uid("ResourceCollector"),manifest:[],loaderList:[],loaders:[],load:function(){if(delete self.resourceCollector,resourceCollector.manifest.length<0)return resourceCollector.resolve(),void 0;
var retry=0,loadResources=function(){retry++,$.Ajax({type:"POST",url:self.resourcePath,dataType:"json",data:{resource:resourceCollector.manifest}}).done(function(manifest){return $.isArray(manifest)?($.each(manifest,function(i,resource){var content=resource.content;resourceCollector.loaders[resource.id][void 0!==content?"resolve":"reject"](content)}),retry>1&&self.debug&&console.info("Attempt to try and get resources again was successful!"),void 0):(resourceCollector.reject("Server did not return a valid resource manifest."),void 0)
}).fail(function(){return retry>2?(self.debug&&console.error("Unable to get resource again. Giving up!"),void 0):(self.debug&&console.warn("Unable to get resource. Trying again..."),loadResources(),void 0)})};loadResources(),$.when.apply(null,resourceCollector.loaderList).done(resourceCollector.resolve).fail(resourceCollector.reject)}}),setTimeout(resourceCollector.load,self.resourceCollectionInterval));var id=resource.id=$.uid("Resource");return resourceCollector.loaders[id]=resource.loader,resourceCollector.loaderList.push(resource.loader),delete resource.loader,resourceCollector.manifest.push(resource),require
}},require.view=function(){var batch=this,request=batch.expand(arguments,{path:self.viewPath}),loaders={},options=request.options,names=$.map(request.names,function(name){var absoluteName=self.prefix+name,loader=$.require.template.loaders[absoluteName];if(!loader)return loader=$.require.template.loader(absoluteName),loader.name=absoluteName,batch.addTask(loader),self.optimizeResources?(require.resource({type:"view",name:name,loader:loader}),void 0):(loaders[name]=loader,name)});return names.length>0&&$.Ajax({url:options.path,dataType:"json",data:{names:names}}).done(function(templates){$.isArray(templates)&&$.each(templates,function(i,template){var content=template.content;
loaders[template.name][void 0!==content?"resolve":"reject"](content)})}),require},require.language=function(){var batch=this,request=batch.expand(arguments,{path:self.languagePath});return self.optimizeResources?$.each(request.names,function(i,name){var loader=$.require.language.loaders[name];loader||(loader=$.require.language.loader(name),loader.name=name,batch.addTask(loader),require.resource({type:"language",name:name,loader:loader}))}):_require.language.apply(require,[request.options].concat(request.names)),require
},require.library=function(){return _require.script.apply(this,arguments),require},require.script=function(){var batch=this,request=batch.expand(arguments,{path:self.scriptPath});return names=$.map(request.names,function(name){if($.isArray(name)||$.isUrl(name)||/^(\/|\.)/.test(name))return name;var moduleName=self.prefix+name,moduleUrl=$.uri(request.options.path).toPath("./"+name+"."+(request.options.extension||"js")+(self.scriptVersioning?"?version="+self.safeVersion:"")).toString();return[[moduleName,moduleUrl,!0]]
}),_require.script.apply(require,[request.options].concat(names)),require},require.template=function(){var batch=this,request=batch.expand(arguments,{path:self.templatePath});return _require.template.apply(require,[request.options].concat($.map(request.names,function(name){return[[self.prefix+name,name]]}))),require},require.done=function(callback){return _require.done.call(require,function(){self.ready(callback)})},require},module:function(name,factory){var self=this;if(!$.isArray(name)){var fullname=self.prefix+name;
return factory?$.module.apply(null,[fullname,function(){var module=this;factory.call(module,$)}]):$.module(fullname)}}}),$.Component.extend("getToken",function(){var self=this;return $("span#"+self.identifier+"-token input").attr("name")||self.token}),$.Component.extend("ajax",function(namespace,params,callback){var self=this,options={url:self.ajaxUrl,data:$.extend(params,{option:self.componentName,namespace:namespace})};if(options=$.extend(!0,options,self.options.ajax),options.data[self.getToken()]=1,options.data.hasOwnProperty("args")&&(options.data.args=$.toJSON(options.data.args)),$.isPlainObject(callback)){if(callback.type){switch(callback.type){case"jsonp":callback.dataType="jsonp",callback.crossDomain=!0,options.data.transport="jsonp";
break;case"iframe":callback.iframe=!0,callback.processData=!1,callback.files=options.data.files,delete options.data.files,options.data.transport="iframe"}delete callback.type}$.extend(options,callback)}$.isFunction(callback)&&(options.success=callback);var ajax=$.server(options);return ajax.progress(function(message,type,code){"debug"==type&&self.console.log(message,type,code)}),ajax}),$.Component.extend("Controller",function(){var staticProps,protoFactory,self=this,args=$.makeArray(arguments),name=args[0];return 1==args.length?$.String.getObject(name):(args.length>2?(staticProps=args[1],protoFactory=args[2]):(staticProps={},protoFactory=args[1]),$.extend(staticProps,{root:self.className+".Controller",component:self}),$.Controller.apply(this,[name,staticProps,protoFactory]))
}),$.Component.extend("Model",function(){var staticProps,protoFactory,self=this,args=$.makeArray(arguments),name=self.className+".Model."+args[0];return 1==args.length?$.String.getObject(args[0]):(2==args.length&&(staticProps={},protoFactory=args[1]),args.length>2&&(staticProps=args[1],protoFactory=args[2]),$.extend(staticProps,{component:self}),$.Model.apply(this,[name,staticProps,protoFactory]))}),$.Component.extend("Model.List",function(){var staticProps,protoFactory,self=this,args=$.makeArray(arguments),name=self.className+".Model.List."+args[0];
return 1==args.length?$.String.getObject(args[0]):(2==args.length&&(staticProps={},protoFactory=args[1]),args.length>2&&(staticProps=args[1],protoFactory=args[2]),$.extend(staticProps,{component:self}),$.Model.List.apply(this,[name,staticProps,protoFactory]))}),$.Component.extend("View",function(){var self=this;return arguments.length<1?self.template():(arguments[0]=self.prefix+arguments[0],$.View.apply(this,arguments))}),FD31.module.execute(),$.each(FD31.component(),function(i,abstractComponent){abstractComponent.registered||$.Component.register(abstractComponent)
})});