%PDF- %PDF-
Direktori : /www/varak.net/wiki.varak.net/vendor/oojs/oojs-ui/demos/classes/ |
Current File : //www/varak.net/wiki.varak.net/vendor/oojs/oojs-ui/demos/classes/BookletDialog.js |
Demo.BookletDialog = function DemoBookletDialog( config ) { Demo.BookletDialog.parent.call( this, config ); }; OO.inheritClass( Demo.BookletDialog, OO.ui.ProcessDialog ); Demo.BookletDialog.static.title = 'Booklet dialog'; Demo.BookletDialog.static.actions = [ { action: 'save', label: 'Done', flags: [ 'primary', 'progressive' ] }, { action: 'cancel', label: 'Cancel', flags: [ 'safe', 'back' ] } ]; Demo.BookletDialog.prototype.getBodyHeight = function () { return 250; }; Demo.BookletDialog.prototype.initialize = function () { var dialog; Demo.BookletDialog.parent.prototype.initialize.apply( this, arguments ); dialog = this; function changePage( direction ) { var pageIndex = dialog.pages.indexOf( dialog.bookletLayout.getCurrentPage() ); pageIndex = ( dialog.pages.length + pageIndex + direction ) % dialog.pages.length; dialog.bookletLayout.setPage( dialog.pages[ pageIndex ].getName() ); } this.navigationField = new OO.ui.FieldLayout( new OO.ui.ButtonGroupWidget( { items: [ new OO.ui.ButtonWidget( { data: 'previous', icon: 'previous' } ).on( 'click', function () { changePage( -1 ); } ), new OO.ui.ButtonWidget( { data: 'next', icon: 'next' } ).on( 'click', function () { changePage( 1 ); } ) ] } ), { label: 'Change page', align: 'top' } ); this.bookletLayout = new OO.ui.BookletLayout(); this.pages = [ new Demo.SamplePage( 'page-1', { label: 'Page 1', icon: 'window' } ), new Demo.SamplePage( 'page-2', { label: 'Page 2', icon: 'window' } ), new Demo.SamplePage( 'page-3', { label: 'Page 3', icon: 'window' } ) ]; this.bookletLayout.addPages( this.pages ); this.bookletLayout.connect( this, { set: 'onBookletLayoutSet' } ); this.bookletLayout.setPage( 'page-1' ); this.$body.append( this.bookletLayout.$element ); }; Demo.BookletDialog.prototype.getActionProcess = function ( action ) { if ( action ) { return new OO.ui.Process( function () { this.close( { action: action } ); }, this ); } return Demo.BookletDialog.parent.prototype.getActionProcess.call( this, action ); }; Demo.BookletDialog.prototype.onBookletLayoutSet = function ( page ) { page.$element.append( this.navigationField.$element ); };