{"version":3,"sources":["webpack:///ModalModule.chunk.js","webpack:///./js/modules/modal/controller/Modal.controller.js","webpack:///./js/modules/modal/Modal.module.js","webpack:///./js/modules/Base.module.js"],"names":["webpackJsonp","556","module","exports","__webpack_require__","_interopRequireDefault","obj","__esModule","default","show","_this","this","self","isOpen","beforeOpen","_fasterdom2","mutateInstant","$scope","removeClass","$body","css","afterOpen","removeAttr","open","hide","_this2","beforeClose","attr","afterClose","addClass","_jquery2","append","$content","find","empty","close","toggle","call","setContent","contentID","_this3","opts","cookie","on","Array","isArray","selector","e","_Cookie2","setCookie","name","value","lifetime","domain","closeTrigger","addHandler","_this4","$triggerBtn","preventDefault","data","$closeBtn","onClose","_typeof3","removeHandler","off","handleAutoOpen","_this5","timeout","with","getCookie","window","setTimeout","moveModalToRightDOMPosition","$root","parent","is","appendTo","Object","defineProperty","_assign","_assign2","_classCallCheck2","_classCallCheck3","_possibleConstructorReturn2","_possibleConstructorReturn3","_inherits2","_inherits3","_typeof2","_TransitionEvent","_TransitionEvent2","_Cookie","_Identifiers","_jquery","_fasterdom","modalOpts","ModalController","_TransitionEventContr","config","_this6","prototype","init","id","setTransition","reInit","559","_Base","_Base2","_Modal","_Modal2","ModalModule","_BaseModule","controllerInstance","modal","node","579","BaseModule","moduleConfig","identifier","getIdentifier"],"mappings":"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","file":"ModalModule.chunk.js","sourcesContent":["/*!\r\n * frontend\r\n * name:  /  innogy-web,\r\n * buildDate: Wed Jul 11 2018 14:29:13 GMT+0200 (CEST),\r\n * packageVersion: 2.24.0\r\n */\nwebpackJsonp([13],{\n\n/***/ 556:\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\n\nvar _assign = __webpack_require__(116);\n\nvar _assign2 = _interopRequireDefault(_assign);\n\nvar _classCallCheck2 = __webpack_require__(1);\n\nvar _classCallCheck3 = _interopRequireDefault(_classCallCheck2);\n\nvar _possibleConstructorReturn2 = __webpack_require__(10);\n\nvar _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);\n\nvar _inherits2 = __webpack_require__(11);\n\nvar _inherits3 = _interopRequireDefault(_inherits2);\n\nvar _typeof2 = __webpack_require__(81);\n\nvar _typeof3 = _interopRequireDefault(_typeof2);\n\nvar _TransitionEvent = __webpack_require__(119);\n\nvar _TransitionEvent2 = _interopRequireDefault(_TransitionEvent);\n\nvar _Cookie = __webpack_require__(150);\n\nvar _Cookie2 = _interopRequireDefault(_Cookie);\n\nvar _Identifiers = __webpack_require__(151);\n\nvar _Identifiers2 = _interopRequireDefault(_Identifiers);\n\nvar _jquery = __webpack_require__(16);\n\nvar _jquery2 = _interopRequireDefault(_jquery);\n\nvar _fasterdom = __webpack_require__(22);\n\nvar _fasterdom2 = _interopRequireDefault(_fasterdom);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar modalOpts = {};\n//\n// /**\n//  * Callback function executed before OffScreenNavigation / OffScreenCart has opened or closed\n//  * @returns { void }\n//  * @private\n//  */\n// function cbBefore () {\n// \tfasterdom.mutateInstant( () => {\n// \t\tthis.$slider.find( '.swiper-slide-active' ).css( 'width', '100%' );\n// \t} );\n// }\n//\n// /**\n//  * Callback function executed after OffScreenNavigation / OffScreenCart has opened or closed\n//  * @returns { void }\n//  * @private\n//  */\n// function cbAfter () {\n// \tthis.slider.onResize();\n// }\n/**\n *\n */\nfunction show() {\n\tvar _this = this;\n\n\tvar self = this;\n\n\tif (this.isOpen) {\n\t\treturn;\n\t}\n\n\tself.beforeOpen(function () {\n\t\t_fasterdom2.default.mutateInstant(function () {\n\t\t\tself.$scope.removeClass('hidden');\n\t\t\t_this.$body.css('overflow', 'hidden');\n\t\t});\n\t});\n\n\tself.afterOpen(function () {\n\t\t_fasterdom2.default.mutateInstant(function () {\n\t\t\tself.$scope.removeAttr('aria-hidden');\n\t\t});\n\t});\n\n\tself.open();\n}\n\n/**\n *\n */\nfunction hide() {\n\tvar _this2 = this;\n\n\tvar self = this;\n\n\tif (!this.isOpen) {\n\t\treturn;\n\t}\n\n\tself.beforeClose(function () {\n\t\t_fasterdom2.default.mutateInstant(function () {\n\t\t\tself.$scope.attr('aria-hidden', '');\n\t\t});\n\t});\n\n\tself.afterClose(function () {\n\t\t_fasterdom2.default.mutateInstant(function () {\n\t\t\tself.$scope.addClass('hidden');\n\t\t\t(0, _jquery2.default)('body').append(_this2.$content.find('[data-tpl=modal-content]'));\n\t\t\t_this2.$body.css('overflow', '');\n\t\t\tself.$content.empty();\n\t\t});\n\t});\n\n\tself.close();\n}\n\n/**\n *\n */\nfunction toggle() {\n\tif (!this.isOpen) {\n\t\tshow.call(this);\n\t} else {\n\t\thide.call(this);\n\t}\n}\n\nfunction setContent(contentID) {\n\tvar _this3 = this;\n\n\tthis.$content.empty();\n\tthis.$content.append((0, _jquery2.default)('[data-tpl=modal-content]#' + contentID));\n\n\t/**\n  * Hack this\n  */\n\t// if ( this.$scope.find( DWS01Identifiers.ROOT ).length ) {\n\t// \timport( './../../../components/controller/dws01/DWS01.controller' )\n\t// \t\t.then( module => {\n\t// \t\t\tconst\n\t// \t\t\t\t$dws01 = this.$scope.find( DWS01Identifiers.ROOT ),\n\t// \t\t\t\tinstance = new module.default();\n\n\t// \t\t\tinstance.init( $dws01, $dws01.data( 'config' ) );\n\t// \t\t} )\n\t// \t\t.catch( err => {\n\t// \t\t\tconsole.warn( err );\n\t// \t\t} );\n\t// }\n\n\tif (this.opts.cookie && typeof this.opts.cookie.on !== 'undefined') {\n\t\tvar cookie = this.opts.cookie;\n\n\t\tif (Array.isArray(cookie)) {\n\t\t\t// TODO\n\t\t} else {\n\n\t\t\tthis.$content.find(cookie.on.selector).on('click', function (e) {\n\t\t\t\t_Cookie2.default.setCookie(cookie.on.name || cookie.name, cookie.on.value, cookie.on.lifetime || cookie.lifetime, cookie.on.domain || cookie.domain);\n\t\t\t});\n\t\t}\n\n\t\tthis.$content.find(cookie.on.selector).on('click', function (e) {\n\t\t\t_Cookie2.default.setCookie(_this3.opts.cookie.name, 'was-dismissed', _this3.opts.cookie.lifetime, _this3.opts.cookie.domain);\n\t\t});\n\t}\n\n\tif (this.opts.closeTrigger) {\n\t\tthis.$content.find(this.opts.closeTrigger.selector).on('click', function (e) {\n\t\t\thide.call(_this3);\n\t\t});\n\t}\n}\n\n/**\n *\n */\nfunction addHandler() {\n\tvar _this4 = this;\n\n\tvar self = this;\n\n\tthis.$triggerBtn.on('click', function triggerButtonClick(e) {\n\t\te.preventDefault();\n\n\t\tsetContent.call(self, (0, _jquery2.default)(this).data('modal-content'));\n\n\t\ttoggle.call(self);\n\t});\n\n\tthis.$closeBtn.on('click', function (e) {\n\t\te.preventDefault();\n\n\t\tif (_this4.opts.cookie && (typeof _this4.opts.cookie.onClose === 'undefined' || typeof _this4.opts.cookie.onClose === 'boolean' && _this4.opts.cookie.onClose !== false)) {\n\t\t\t_Cookie2.default.setCookie(_this4.opts.cookie.name, 'was-dismissed', _this4.opts.cookie.lifetime);\n\t\t} else if (_this4.opts.cookie && (0, _typeof3.default)(_this4.opts.cookie.onClose) === 'object') {\n\t\t\t_Cookie2.default.setCookie(_this4.opts.cookie.onClose.name || _this4.opts.cookie.name, _this4.opts.cookie.onClose.value, _this4.opts.cookie.onClose.lifetime || _this4.opts.cookie.lifetime);\n\t\t}\n\n\t\thide.call(_this4);\n\t});\n}\n\nfunction removeHandler() {\n\tthis.$triggerBtn.off('click');\n\tthis.$closeBtn.off('click');\n}\n\nfunction handleAutoOpen() {\n\tvar _this5 = this;\n\n\tif (!this.opts.open.timeout || !this.opts.open.with) {\n\t\treturn;\n\t}\n\n\tif (this.opts.cookie && _Cookie2.default.getCookie(this.opts.cookie.name) !== false) {\n\t\treturn;\n\t}\n\n\twindow.setTimeout(function () {\n\t\tsetContent.call(_this5, _this5.opts.open.with);\n\t\tshow.call(_this5);\n\t}, this.opts.open.timeout);\n}\n\nfunction moveModalToRightDOMPosition($root) {\n\tif (!$root.parent().is('body')) {\n\t\t$root.appendTo('body');\n\t}\n}\n\n/**\n * Class representing a modal instance.\n * Controls the state of the modal navigation.\n * Controls modal behavior.\n * @extends { TransitionEventController }\n */\n\nvar ModalController = function (_TransitionEventContr) {\n\t(0, _inherits3.default)(ModalController, _TransitionEventContr);\n\n\tfunction ModalController(config) {\n\t\t(0, _classCallCheck3.default)(this, ModalController);\n\n\t\tvar _this6 = (0, _possibleConstructorReturn3.default)(this, _TransitionEventContr.call(this));\n\n\t\t_this6.opts = (0, _assign2.default)({}, modalOpts, config);\n\t\treturn _this6;\n\t}\n\n\t/**\n  * Initialises the controller.\n  * Has to be called after ready event.\n  *\n  * @param { object } $root - jQuery wrapped DOM node\n  * @returns { void }\n  * @public\n  */\n\n\n\tModalController.prototype.init = function init($root) {\n\t\tmoveModalToRightDOMPosition.call(this, $root);\n\n\t\t_TransitionEventContr.prototype.init.call(this, $root);\n\n\t\tthis.$scope = $root;\n\t\tthis.id = this.$scope.attr('data-modal-id');\n\t\tthis.$triggerBtn = (0, _jquery2.default)('[aria-controls=' + this.id + ']');\n\t\tthis.$closeBtn = this.$scope.find('[data-trigger=modal-close]');\n\t\tthis.$content = this.$scope.find('.modal-inner');\n\t\tthis.$body = (0, _jquery2.default)('body');\n\n\t\tthis.setTransition('opacity');\n\n\t\taddHandler.call(this);\n\n\t\tif (this.opts.open) {\n\t\t\thandleAutoOpen.call(this);\n\t\t}\n\t};\n\n\tModalController.prototype.reInit = function reInit() {\n\t\tremoveHandler.call(this);\n\t\tthis.init(this.$scope);\n\t};\n\n\treturn ModalController;\n}(_TransitionEvent2.default);\n\n/**\n * @public\n * @return {ModalController} ModalController class\n */\n\n\nexports.default = ModalController;\n\n/***/ }),\n\n/***/ 559:\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\n\nvar _classCallCheck2 = __webpack_require__(1);\n\nvar _classCallCheck3 = _interopRequireDefault(_classCallCheck2);\n\nvar _possibleConstructorReturn2 = __webpack_require__(10);\n\nvar _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);\n\nvar _inherits2 = __webpack_require__(11);\n\nvar _inherits3 = _interopRequireDefault(_inherits2);\n\nvar _Base = __webpack_require__(579);\n\nvar _Base2 = _interopRequireDefault(_Base);\n\nvar _Modal = __webpack_require__(556);\n\nvar _Modal2 = _interopRequireDefault(_Modal);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\r\n * @extends {BaseModule}\r\n */\nvar ModalModule = function (_BaseModule) {\n\t(0, _inherits3.default)(ModalModule, _BaseModule);\n\n\tfunction ModalModule(config) {\n\t\t(0, _classCallCheck3.default)(this, ModalModule);\n\t\treturn (0, _possibleConstructorReturn3.default)(this, _BaseModule.call(this, config));\n\t}\n\n\tModalModule.prototype.init = function init() {\n\t\t_BaseModule.prototype.init.call(this);\n\n\t\tvar controllerInstance = new _Modal2.default(this.config);\n\n\t\tthis.modal = controllerInstance.init(this.node);\n\t};\n\n\treturn ModalModule;\n}(_Base2.default);\n\nexports.default = ModalModule;\n\n/***/ }),\n\n/***/ 579:\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\n\nvar _classCallCheck2 = __webpack_require__(1);\n\nvar _classCallCheck3 = _interopRequireDefault(_classCallCheck2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * Basic module class definition providing basic interface functions\n */\nvar BaseModule = function () {\n\n\t/**\n  * Initialize a module with a config provided by the AppConmoduleConfig\n  * @param {moduleConfig} moduleConfig - Config parsed from teh DOM\n  */\n\tfunction BaseModule(moduleConfig) {\n\t\t(0, _classCallCheck3.default)(this, BaseModule);\n\n\n\t\t/**\n   *\n   * @type {Object}\n   */\n\t\tthis.node = moduleConfig.node;\n\t\t/**\n   *\n   * @type {Object}\n   */\n\t\tthis.config = moduleConfig.config;\n\t\t/**\n   *\n   * @type {string}\n   */\n\t\tthis.identifier = moduleConfig.identifier;\n\t}\n\n\tBaseModule.prototype.init = function init() {\n\t\treturn this;\n\t};\n\n\t/**\n  * @return {string} returns the identifier for the module instance\n  */\n\n\n\tBaseModule.prototype.getIdentifier = function getIdentifier() {\n\t\treturn this.identifier;\n\t};\n\n\treturn BaseModule;\n}();\n\nexports.default = BaseModule;\n\n/***/ })\n\n});\n\n\n// WEBPACK FOOTER //\n// ModalModule.chunk.js","import TransitionEventController from './../../../base/controller/TransitionEvent.controller';\nimport CookieService from './../../../services/Cookie.service';\n\nimport DWS01Identifiers from './../../../components/controller/dws01/Identifiers.const';\n\nimport $ from 'jquery';\nimport fasterdom from 'fasterdom';\n\nconst modalOpts = {};\n//\n// /**\n//  * Callback function executed before OffScreenNavigation / OffScreenCart has opened or closed\n//  * @returns { void }\n//  * @private\n//  */\n// function cbBefore () {\n// \tfasterdom.mutateInstant( () => {\n// \t\tthis.$slider.find( '.swiper-slide-active' ).css( 'width', '100%' );\n// \t} );\n// }\n//\n// /**\n//  * Callback function executed after OffScreenNavigation / OffScreenCart has opened or closed\n//  * @returns { void }\n//  * @private\n//  */\n// function cbAfter () {\n// \tthis.slider.onResize();\n// }\n/**\n *\n */\nfunction show () {\n\tconst self = this;\n\n\tif ( this.isOpen ) {\n\t\treturn;\n\t}\n\n\tself.beforeOpen( () => {\n\t\tfasterdom.mutateInstant( () => {\n\t\t\tself.$scope.removeClass( 'hidden' );\n\t\t\tthis.$body.css( 'overflow', 'hidden' );\n\t\t} );\n\t} );\n\n\tself.afterOpen( () => {\n\t\tfasterdom.mutateInstant( () => {\n\t\t\tself.$scope.removeAttr( 'aria-hidden' );\n\t\t} );\n\t} );\n\n\tself.open();\n}\n\n/**\n *\n */\nfunction hide () {\n\tconst self = this;\n\n\tif ( !this.isOpen ) {\n\t\treturn;\n\t}\n\n\tself.beforeClose( () => {\n\t\tfasterdom.mutateInstant( () => {\n\t\t\tself.$scope.attr( 'aria-hidden', '' );\n\t\t} );\n\t} );\n\n\tself.afterClose( () => {\n\t\tfasterdom.mutateInstant( () => {\n\t\t\tself.$scope.addClass( 'hidden' );\n\t\t\t$( 'body' ).append( this.$content.find( `[data-tpl=modal-content]` ) );\n\t\t\tthis.$body.css( 'overflow', '' );\n\t\t\tself.$content.empty();\n\t\t} );\n\t} );\n\n\tself.close();\n}\n\n/**\n *\n */\nfunction toggle () {\n\tif ( !this.isOpen ) {\n\t\tshow.call( this );\n\t} else {\n\t\thide.call( this );\n\t}\n}\n\nfunction setContent ( contentID ) {\n\tthis.$content.empty();\n\tthis.$content.append( $( `[data-tpl=modal-content]#${contentID}` ) );\n\n\t/**\n\t * Hack this\n\t */\n\t// if ( this.$scope.find( DWS01Identifiers.ROOT ).length ) {\n\t// \timport( './../../../components/controller/dws01/DWS01.controller' )\n\t// \t\t.then( module => {\n\t// \t\t\tconst\n\t// \t\t\t\t$dws01 = this.$scope.find( DWS01Identifiers.ROOT ),\n\t// \t\t\t\tinstance = new module.default();\n\n\t// \t\t\tinstance.init( $dws01, $dws01.data( 'config' ) );\n\t// \t\t} )\n\t// \t\t.catch( err => {\n\t// \t\t\tconsole.warn( err );\n\t// \t\t} );\n\t// }\n\n\tif ( this.opts.cookie && typeof this.opts.cookie.on !== 'undefined'  ) {\n\t\tconst\n\t\t\tcookie = this.opts.cookie;\n\n\t\tif ( Array.isArray( cookie ) ) {\n\t\t\t// TODO\n\t\t} else {\n\n\t\t\tthis.$content.find( cookie.on.selector ).on( 'click', e => {\n\t\t\t\tCookieService.setCookie( cookie.on.name || cookie.name, cookie.on.value, cookie.on.lifetime || cookie.lifetime, cookie.on.domain || cookie.domain );\n\t\t\t} );\n\t\t}\n\n\t\tthis.$content.find( cookie.on.selector ).on( 'click', e => {\n\t\t\tCookieService.setCookie( this.opts.cookie.name, 'was-dismissed', this.opts.cookie.lifetime, this.opts.cookie.domain );\n\t\t} );\n\t}\n\n\tif ( this.opts.closeTrigger ) {\n\t\tthis.$content.find( this.opts.closeTrigger.selector ).on( 'click', e => {\n\t\t\tthis::hide();\n\t\t} );\n\t}\n}\n\n/**\n *\n */\nfunction addHandler () {\n\tconst self = this;\n\n\tthis.$triggerBtn.on( 'click', function triggerButtonClick ( e ) {\n\t\te.preventDefault();\n\n\t\tsetContent.call( self, $( this ).data( 'modal-content' ) );\n\n\t\ttoggle.call( self );\n\t} );\n\n\tthis.$closeBtn.on( 'click', ( e ) => {\n\t\te.preventDefault();\n\n\t\tif ( this.opts.cookie && ( typeof this.opts.cookie.onClose === 'undefined' ||  ( typeof this.opts.cookie.onClose === 'boolean' && this.opts.cookie.onClose !== false ) )  ) {\n\t\t\tCookieService.setCookie( this.opts.cookie.name, 'was-dismissed', this.opts.cookie.lifetime );\n\t\t} else if ( this.opts.cookie && typeof this.opts.cookie.onClose === 'object' ) {\n\t\t\tCookieService.setCookie( this.opts.cookie.onClose.name || this.opts.cookie.name, this.opts.cookie.onClose.value, this.opts.cookie.onClose.lifetime || this.opts.cookie.lifetime );\n\t\t}\n\n\t\thide.call( this );\n\t} );\n}\n\nfunction removeHandler () {\n\tthis.$triggerBtn.off( 'click' );\n\tthis.$closeBtn.off( 'click' );\n}\n\nfunction handleAutoOpen () {\n\tif ( !this.opts.open.timeout || !this.opts.open.with ) {\n\t\treturn;\n\t}\n\n\tif ( this.opts.cookie && CookieService.getCookie( this.opts.cookie.name ) !== false ) {\n\t\treturn;\n\t}\n\n\twindow.setTimeout( () => {\n\t\tthis::setContent( this.opts.open.with );\n\t\tthis::show();\n\t}, this.opts.open.timeout );\n}\n\nfunction moveModalToRightDOMPosition ( $root) {\n\tif ( !$root.parent().is( 'body' ) ) {\n\t\t$root.appendTo( 'body' );\n\t}\n}\n\n/**\n * Class representing a modal instance.\n * Controls the state of the modal navigation.\n * Controls modal behavior.\n * @extends { TransitionEventController }\n */\nclass ModalController extends TransitionEventController {\n\n\tconstructor ( config ) {\n\t\tsuper();\n\n\t\tthis.opts = Object.assign( {}, modalOpts, config );\n\t}\n\n\t/**\n\t * Initialises the controller.\n\t * Has to be called after ready event.\n\t *\n\t * @param { object } $root - jQuery wrapped DOM node\n\t * @returns { void }\n\t * @public\n\t */\n\tinit ( $root ) {\n\t\tthis::moveModalToRightDOMPosition( $root );\n\n\t\tsuper.init( $root );\n\n\t\tthis.$scope      = $root;\n\t\tthis.id          = this.$scope.attr( 'data-modal-id' );\n\t\tthis.$triggerBtn = $( `[aria-controls=${this.id}]` );\n\t\tthis.$closeBtn   = this.$scope.find( '[data-trigger=modal-close]' );\n\t\tthis.$content    = this.$scope.find( '.modal-inner' );\n\t\tthis.$body = $( 'body' );\n\n\t\tthis.setTransition( 'opacity' );\n\n\t\taddHandler.call( this );\n\n\t\tif ( this.opts.open ) {\n\t\t\tthis::handleAutoOpen();\n\t\t}\n\t}\n\n\treInit () {\n\t\tremoveHandler.call( this );\n\t\tthis.init( this.$scope );\n\t}\n}\n\n/**\n * @public\n * @return {ModalController} ModalController class\n */\nexport default ModalController;\n\n\n\n// WEBPACK FOOTER //\n// ./js/modules/modal/controller/Modal.controller.js","import BaseModule from './../Base.module';\r\nimport ModalController from './controller/Modal.controller';\r\n\r\n/**\r\n * @extends {BaseModule}\r\n */\r\nclass ModalModule extends BaseModule {\r\n\r\n\tconstructor ( config ) {\r\n\r\n\t\tsuper( config );\r\n\t}\r\n\r\n\tinit () {\r\n\t\tsuper.init();\r\n\r\n\t\tconst controllerInstance = new ModalController( this.config );\r\n\r\n\t\tthis.modal = controllerInstance.init( this.node );\r\n\t}\r\n}\r\n\r\nexport default ModalModule;\r\n\n\n\n// WEBPACK FOOTER //\n// ./js/modules/modal/Modal.module.js","/**\n * Basic module class definition providing basic interface functions\n */\nclass BaseModule {\n\n\t/**\n\t * Initialize a module with a config provided by the AppConmoduleConfig\n\t * @param {moduleConfig} moduleConfig - Config parsed from teh DOM\n\t */\n\tconstructor ( moduleConfig ) {\n\n\t\t/**\n\t\t *\n\t\t * @type {Object}\n\t\t */\n\t\tthis.node       = moduleConfig.node;\n\t\t/**\n\t\t *\n\t\t * @type {Object}\n\t\t */\n\t\tthis.config     = moduleConfig.config;\n\t\t/**\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\tthis.identifier = moduleConfig.identifier;\n\t}\n\n\tinit () {\n\t\treturn this;\n\t}\n\n\t/**\n\t * @return {string} returns the identifier for the module instance\n\t */\n\tgetIdentifier () {\n\t\treturn this.identifier;\n\t}\n}\n\nexport default BaseModule;\n\n\n\n// WEBPACK FOOTER //\n// ./js/modules/Base.module.js"],"sourceRoot":""}