define(['jquery', 'internal/sitebuilder/common/ModuleClassLoader', 'translate!webs.module.contact'], function($, ModuleClassLoader, translate) { var module = {}, extend = {}; // SubModules extend.submodules = {"social-links":{"moduleType":"social-links"},"text":{"moduleType":"text"},"google_map":{"moduleType":"google_map"},"title":{"moduleType":"title"}}; // Module Styles extend.styles = {"default":{"global":{"css":"view.less"},"slug":"default"}}; if (!extend.styles['default']['global']) { extend.styles['default']['global'] = {}; } extend.styles['default']['global']['js'] = null; extend.defaultStyle = extend.styles['default']; // View JS module.oneLoaded = function() { this.bindSubmodules().done($.proxy(function() { $.each(this.submoduleInstances, function(name, submodule) { submodule.oneLoaded(); }); }, this)); }; module.describeSubmodules = function() { var self = this, $container = this.el.find('.webs-combo-contact'), $submodulesContainers = $container.find('.details_section .webs-submodule'), $moduleMap = $container.find('.webs-submodule-google_map'), submoduleDescriptions = [], detailsTextIndex = 0, detailsTitleIndex = 0; submoduleDescriptions.push( { name: 'google_map', el: $moduleMap, slug: $moduleMap.attr('webs-submodule-slug'), data: self.data['google_map'] }); $submodulesContainers.each(function(index, submodule) { var slug = $(submodule).attr('webs-submodule-slug'); if (slug === 'text') { submoduleDescriptions.push({ name: slug + detailsTextIndex, el: $(submodule), slug: $(submodule).attr('webs-submodule-slug'), data: self.data.details[detailsTextIndex][slug] }); detailsTextIndex++; } else if (slug === 'title') { submoduleDescriptions.push({ name: slug + detailsTitleIndex, el: $(submodule), slug: $(submodule).attr('webs-submodule-slug'), data: self.data.details[detailsTitleIndex][slug] }); detailsTitleIndex++; } else { submoduleDescriptions.push({ name: slug, el: $(submodule), slug: $(submodule).attr('webs-submodule-slug'), data: self.data.details[3][slug] }); } }); return submoduleDescriptions; }; return ModuleClassLoader.register('contact', module, extend); });