вопрос по requirejs и методам define.
есть несколько файлов define, которые участвуют в построении всплывающего окна JQuery ColorBox Plugin:
index.php - все объекты картинок для увеличенного открытия img во всплывающем окне имеют класс cboxElement
<head><script data-main="scripts/main" src="scripts/require.js"></script></head>
scripts/lightbox/load.js
define( 'load',['jquery'],
function ( $ ) {
'use strict';
var LightboxCommon;
var LightboxSingle;
var LightboxVideo;
var LightboxGallery;
var LightboxIframe;
var LightboxLoad;
return {
init: function () {
LightboxLoad = this;
var $lightbox = $( '.js-lightbox-load' );
if ( $lightbox.length ) {
$lightbox.find( '.js-lightbox-trigger' ).on( 'click', LightboxLoad._loadAssets );
$lightbox.find( '.figure-caption' ).on( 'click', LightboxLoad._triggerMainImage );
}
},
...................................................
}
}
}
scripts/lightbox/gallery.js схематично такой конструкции:
define(['jquery','common','colorbox'],
function ( $, LightboxCommon ) {
var LightboxGallery;
return {
init: function () {
LightboxGallery = this;
var config = {
transition: 'none',
current: 'Image {current} of {total}',
maxWidth: '90%',
photo: true,
rel: this.rel,
title: LightboxCommon.setTitle,
onLoad: LightboxCommon.onLoadProcessing,
onComplete: LightboxCommon.onCompleteProcessing
};
},
open: function () {
//...............................
}
};
}
);
scripts/lightbox/common.js схематично :
define(['jquery','colorbox'],
function ( $ ) {
var Lightbox;
var $cboxContent;
и так далее................
return {
init: function ( closeOnResize ) {
Lightbox = this;
this._setVars();
this._initEvents( closeOnResize );
},
_initEvents: function ( closeOnResize ) {
//............инициализировать события......
},
setTitle: function () {
//.......... добавить заголовок картинки
},
_addDescription: function () {
//...............добавить описание картинки..
},
_addButtons: function () {
//.............добавить кнопки вперед или назад.....
},
_initFeedback: function () {
//...........добавить кнопку закрыть окно..........
},
_setVars: function () {
//............общие установки.........
}
};
}
);
main.js
require(["gallery"], function(g) {
g.init();
});
При запуске index.php и кликах по картинкам всплывают увеличенные окна с изображениями, но без кнопок подписей, построение которых определены в модуле common.js. такое впечатление, что при запуске в main.js метода объекта init определенного в gallery.js, последний не видит методов определенных для этого же объекта в common.js
в консоли chrome ошибка :
Error: cboxElement missing settings object
как можно в main.js в вызове функции requirejs задать для cboxElement установки объекта?
как можно одновременно запустить модули gallery.js и common.js, в которых все элементы для построения всплывающего окна с картинкой, заглавием и описанием?
спасибо за любую идею