home *** CD-ROM | disk | FTP | other *** search
- /**
- * Das App Modul regelt das Event-Binding mit hilfe von jQuery und Instanziert die erfoderlichen Klassen
- * @module app
- */
- (function ( $, window, undefined ) {
-
- IM.Config.loadWinProp();
-
- var file = new IM.FileUtils(),
- frame = new IM.ContentLoader();
-
- $(function () {
-
- frame.loadFrameContent( IM.Config.APP_CONTENT_FRAME, IM.Config.APP_BASE_PAGE_URL, IM.Config.APP_BASE_CSS_URL );
- frame.getXML( IM.Config.APP_BASE_SITEMAP );
-
- var sIframe = document.getElementById( IM.Config.APP_CONTENT_FRAME );
- sIframe.addEventListener('load', function (e) {
-
- setFileHandler( true, sIframe );
-
- }, false);
-
- setFileHandler();
- rebindEvents();
-
- $( '.logo' ).off('click').on('click', function () {
- $( '.submenu-wrapper, .external-wrapper' ).css({display: 'none'});
- $('.navi li a:not( .menu-subitem )').css({display: 'block'});
-
- frame.loadFrameContent( IM.Config.APP_CONTENT_FRAME, IM.Config.APP_BASE_PAGE_URL, IM.Config.APP_BASE_CSS_URL );
-
- setSubPage();
- rebindEvents();
- });
-
- setMenuTitle();
-
- });
-
- var setFileHandler = function (inFrame, sIframe) {
-
- var inFrame = inFrame || false,
- sIframe = sIframe || null;
-
- $( 'a.ui-open-file, a.ui-open-dir, a.ui-open-link', ( inFrame ) ? sIframe.contentDocument.body : '' ).off('click').on('click', function ( event ) {
- var fileUrl = $( this ).attr( 'data-im-url' ),
- fileType = $( this ).attr( 'data-im-type' );
-
- switch( fileType ) {
- case 'file':
- file.openFile( fileUrl );
- break;
- case 'dir':
- file.openFileDir( fileUrl );
- break;
- case 'link':
- file.openLink( fileUrl );
- break;
- default:
- IM.ErrorHandler.errorMsg( 'fileType is missing', 'type' );
- break;
- }
-
- return false;
- }).css({cursor: 'pointer'});
-
- };
-
- var setSubPage = function () {
- if ( frame.isSubPage( 'menu-item' ) ) {
- $( 'body' ).addClass( 'subPage' );
- } else {
- $( 'body' ).removeAttr( 'class' );
- }
- };
-
- var setMenuTitle = function () {
- $("p:contains('Service')").clone().prependTo('#overview_item3').addClass('normalCrumb');
- };
-
- var rebindEvents = function ( htmlContent ) {
- $( '.navi .back-btn' ).off('click').on('click', function () {
- window.setBackBtn( $(this) );
- }).css({cursor: 'pointer'});
-
- $( '.navi li a' ).off('click').on('click', function ( event ) {
- menuHandler( this );
- return false;
- });
- };
-
- var menuHandler = function ( element ) {
- var elClass = $(element).attr('class'),
- parentId = $(element).parent('li').attr('id'),
- elTarget = '',
- targetId = '',
- currentTargetId,
- isPath = $(element).attr( 'href' ).indexOf('/'),
- isStatic = false,
- isMap = $(element).parent().parent('div').attr('id');
-
- $( '.navi li' ).each(function (index, element) {
- $(element).removeClass('active');
- });
-
- if( isPath != -1 ) {
- isStatic = ( $(element).attr( 'href' ).split('/')[0] ) === 'static' ? true : false;
- }
-
- if( elClass != 'menu-subitem' ) {
-
- $('.navi li a:not( .menu-subitem )').css({display: 'none'});
- $( '#wrapper_' + parentId + ', #ul_' + parentId ).css({display: 'block'});
-
- rebindEvents();
-
- } else if( isStatic || isMap ) {
-
- elTarget = $(element).attr( 'href' );
- frame.loadFrameContent( IM.Config.APP_CONTENT_FRAME, elTarget, IM.Config.APP_BASE_CSS_URL );
-
- $(element).parent('li').addClass('active');
-
- } else {
-
- elTarget = $(element).attr('href');
- parentId = $(element).parent().parent('ul').attr('id');
- targetId = parentId.split( '_' )[1];
- currentTargetId = window.currentTargetId = targetId;
-
- isPackage = elTarget.indexOf('menu_');
-
- if( isPackage != -1 ) {
- $( '#external_wrapper_' + targetId ).attr('data-prev-menu', elTarget);
- } else {
- $( '#external_wrapper_' + targetId ).removeAttr('data-prev-menu');
- }
-
- $( '#external_wrapper_' + targetId + ' .overview' ).load( elTarget, function ( response, status, xhr ) {
- $( '.submenu-wrapper' ).css({display: 'none'});
- $( '#external_wrapper_' + targetId + '.external-wrapper' ).css({display: 'block'});
-
- window.subMenuHandler();
-
- $( '.navi .back-btn' ).off('click').one('click', function() {
- var parent = 'wrapper_' + targetId,
- element = $(this);
-
- window.setBackBtn( element, parent, true );
- }).css({cursor: 'pointer'});
- } );
- }
-
- setSubPage();
-
- };
-
- window.subMenuHandler = function () {
- $( '#external_wrapper_' + currentTargetId + '.external-wrapper a' ).off( 'click' ).on( 'click', function ( event ) {
- var elCls = $(this).attr( 'class' );
- elTarget = $(this).attr( 'href' );
-
- if( elCls == 'tools' ) {
-
- $( '#external_wrapper_' + currentTargetId + ' .overview' ).load( elTarget, function () {
-
- window.toolMenuHandler();
-
- $( '.navi .back-btn' ).off('click').one('click', function() {
- var elTarget = $( '#external_wrapper_' + currentTargetId ).attr( 'data-prev-menu' );
-
- $( '#external_wrapper_' + currentTargetId + ' .overview' ).load( elTarget, function () {
-
- $( '.navi .back-btn' ).off('click').one('click', function() {
- var parent = 'wrapper_' + currentTargetId,
- element = $(this);
-
- window.setBackBtn( element, parent, true );
- }).css({cursor: 'pointer'});
-
- });
-
- }).css({cursor: 'pointer'});
- } );
-
- } else {
- frame.loadFrameContent( IM.Config.APP_CONTENT_FRAME, elTarget, IM.Config.APP_BASE_CSS_URL );
-
- $( '#external_wrapper_' + currentTargetId + '.external-wrapper li' ).each(function (index, element) {
- $(element).removeClass('active');
- });
- $(this).parent('li').addClass('active');
- }
- return false;
- });
-
- };
-
- window.toolMenuHandler = function () {
- $( '#external_wrapper_' + currentTargetId + '.external-wrapper .overview a' ).off('click').on('click', function () {
- var elTarget = $(this).attr('href');
- frame.loadFrameContent( IM.Config.APP_CONTENT_FRAME, elTarget, IM.Config.APP_BASE_CSS_URL );
-
- $( '#external_wrapper_' + currentTargetId + '.external-wrapper .overview li' ).each(function (index, element) {
- $(element).removeClass('active');
- });
- $(this).parent('li').addClass('active');
-
- return false;
- });
- };
-
- window.setBackBtn = function (element, parent, htmlContent) {
- var element = element || null,
- parentId = '',
- htmlContent = htmlContent || false,
- targetElement = '';
-
- frame.loadFrameContent( IM.Config.APP_CONTENT_FRAME, IM.Config.APP_BASE_PAGE_URL, IM.Config.APP_BASE_CSS_URL );
-
- if( element != null ) {
- parentId = parent || element.parent('div').attr('id');
- targetElement = parentId.split( '_' )[1];
-
- if( htmlContent ) {
- $( '#wrapper_' + targetElement ).css( {display: 'block'} );
- $( '#external_wrapper_' + targetElement + '.external-wrapper' ).css( {display: 'none'} );
-
- rebindEvents();
- } else {
- $( '.navi li a:not( .menu-subitem )' ).css( {display: 'block'} );
- $( '#wrapper_' + targetElement ).css( {display: 'none'} );
- }
- }
-
- setSubPage();
-
- };
-
- })( jQuery, window, undefined );