- }
- });
-
- $( document ).bind( "pageshow", function( e, ui ){
- var controlbar_filter = $( ".ui-page" ).find( ":jqmData(role='footer')" ).eq( 0 ).find( ":jqmData(role='controlbar')" );
- var element_count = controlbar_filter.find( 'li' ).length;
-
- if( controlbar_filter.find(".ui-btn-active").length == 0 )
- controlbar_filter.find( "div" ).css( "left", "0px" );
- else
- controlbar_filter.find( "div" ).css( "left", controlbar_filter.find( ".ui-btn-active" ).parent( "li" ).index() * controlbar_filter.width()/element_count );
-
- /* Increase Content size with dummy <div> because of footer height */
- if( controlbar_filter.length != 0 && $( ".ui-page-active" ).find( ".dummy-div" ).length == 0
- && $( ".ui-page-active" ).find( ":jqmData(role='footer')" ).find( ":jqmData(role='controlbar')" ).length != 0 ){
- $( ".ui-page-active" ).find( ":jqmData(role='content')" ).append( '<div class="dummy-div"></div>' );
- $( ".ui-page-active" ).find( ".dummy-div" )
- .css( "width", controlbar_filter.width() )
- .css( "height", controlbar_filter.height() );
- }
- });
-
- },
-
- _setDisabled: function( value, cnt ) {
- this.element.find( "li" ).eq( cnt ).attr( "disabled", value );
- this.element.find( "li" ).eq( cnt ).attr( "aria-disabled", value );
- },
-
- disable: function( cnt ) {
- this._setDisabled( true, cnt );
- this.element.find( "li" ).eq( cnt ).addClass( "ui-disabled" );
- },
-
- enable: function( cnt ) {
- this._setDisabled( false, cnt );
- this.element.find( "li" ).eq( cnt ).removeClass( "ui-disabled" );
- }
-});
-
-//auto self-init widgets
-$( document ).bind( "pagecreate create", function( e ){
- $( $.tizen.controlbar.prototype.options.initSelector, e.target ).controlbar();
-});
-})( jQuery );
+
+ /* Increase Content size with dummy <div> because of footer height */
+ if ( controlbar_filter.length != 0 && $( ".ui-page-active" ).find( ".dummy-div" ).length == 0 && $( ".ui-page-active" ).find( ":jqmData(role='footer')" ).find( ":jqmData(role='controlbar')" ).length != 0 ) {
+ $( ".ui-page-active" ).find( ":jqmData(role='content')" ).append( '<div class="dummy-div"></div>' );
+ $( ".ui-page-active" ).find( ".dummy-div" )
+ .css( "width", controlbar_filter.width() )
+ .css( "height", controlbar_filter.height() );
+ }
+
+ if ( controlbar_filter.length ) {
+ element_width = Math.floor( controlbar_filter.outerWidth() / element_count );
+ controlbar_filter.find("li:last").width( controlbar_filter.outerWidth() - element_width * ( element_count - 1 ) );
+ }
+ });
+
+ $( window ).bind( "resize", function ( e ) {
+ var controlbar_filter = $( ".ui-page-active" ).find( ":jqmData(role='footer')" ).eq( 0 ).find( ":jqmData(role='controlbar')" ),
+ element_width = 0,
+ element_count = controlbar_filter.find( 'li' ).length;
+
+ if ( controlbar_filter.length ) {
+ element_width = Math.floor( controlbar_filter.outerWidth() / element_count );
+ controlbar_filter.find("li:last").width( controlbar_filter.outerWidth() - element_width * ( element_count - 1 ) );
+ }
+ });
+
+ this._bindControlbarEvents();
+ },
+
+ _bindControlbarEvents: function () {
+ var $controlbar = this.element;
+
+ $( window ).bind( "orientationchange", function ( e, ui ) {
+ ww = window.innerWidth || $( window ).width();
+ wh = window.innerHeight || $( window ).height();
+
+ isLandscape = ww > wh && ( ww - wh );
+
+ if ( isLandscape ) {
+ $controlbar.removeClass( "ui-portrait-controlbar" ).addClass( "ui-landscape-controlbar" );
+ } else {
+ $controlbar.removeClass( "ui-landscape-controlbar" ).addClass( "ui-portrait-controlbar" );
+ }
+ })
+
+ },
+
+ _setDisabled: function ( value, cnt ) {
+ this.element.find( "li" ).eq( cnt ).attr( "disabled", value );
+ this.element.find( "li" ).eq( cnt ).attr( "aria-disabled", value );
+ },
+
+ disable: function ( cnt ) {
+ this._setDisabled( true, cnt );
+ this.element.find( "li" ).eq( cnt ).addClass( "ui-disabled" );
+ },
+
+ enable: function ( cnt ) {
+ this._setDisabled( false, cnt );
+ this.element.find( "li" ).eq( cnt ).removeClass( "ui-disabled" );
+ }
+ });
+
+ //auto self-init widgets
+ $( document ).bind( "pagecreate create", function ( e ) {
+ $( $.tizen.controlbar.prototype.options.initSelector, e.target ).controlbar();
+ });
+}( jQuery ) );