%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 );
};