UNPKG

lazo-next

Version:

A client-server web framework built on Node.js that allows front-end developers to easily create a 100% SEO compliant, component MVC structured web application with an optimized first page load.

44 lines (35 loc) 1.19 kB
define(['jquery', 'underscore', 'resolver/assets'], function ($, _, utils) { 'use strict'; return _.extend({ get: function (components, ctx, options) { var fetchAssets = []; var assets = {}; var asset; var i = components.length; var self = this; while (i--) { if ((asset = LAZO.ctl.ctx._rootCtx.assets[components[i]])) { assets[components[i]] = asset; } else { fetchAssets.push(components[i]); } } if (!fetchAssets.length) { return options.success(assets); } $.ajax({ data: { components: fetchAssets.join(',') }, error: function (error) { options.error(error); }, success: function (result) { _.extend(LAZO.ctl.ctx._rootCtx.assets, result); options.success(_.extend(assets, result)); }, url: '/assets' }); } }, utils); });