|
|
(22 intermediate revisions by 2 users not shown) |
Line 1: |
Line 1: |
− | $( function (){
| |
− | mw.loader.using( ['oojs', 'oojs-ui'], function () {
| |
| | | |
− | var dropdown = new OO.ui.DropdownWidget( {
| |
− | data: 'a',
| |
− | label: 'First'
| |
− | } ),
| |
− | new OO.ui.MenuOptionWidget( {
| |
− | data: 'b',
| |
− | label: 'Second',
| |
− | indicator: 'clear'
| |
− | } ),
| |
− | new OO.ui.MenuOptionWidget( {
| |
− | data: 'c',
| |
− | label: 'Third'
| |
− | } ),
| |
− | new OO.ui.MenuOptionWidget( {
| |
− | data: 'c',
| |
− | label: 'The fourth option has an overly long label'
| |
− | } ),
| |
− | new OO.ui.MenuOptionWidget( {
| |
− | icon: 'feedback',
| |
− | data: 'd',
| |
− | label: 'The fifth option has an icon'
| |
− | } )
| |
− | ]
| |
− | }
| |
− | } )
| |
− |
| |
− | $( '.wrapper' ).append(
| |
− | dropdown.$element
| |
− | );
| |
− |
| |
− | lang = mw.config.get( 'wgUserLanguage' );
| |
− |
| |
− | AudioBox.prototype.display = function() {
| |
− | this.$node.find( '.ab-title' ).text( "un label" + lang ); //this.label
| |
− | this.$node.find( '.ab-metadata' ).text( this.lang + ' - ' + this.speaker );
| |
− |
| |
− | this.audioNode.src = this.media;
| |
− | this.$node.find( '.ab-playbutton' ).click( this.audioNode.play.bind( this.audioNode ) );
| |
− | }
| |
− |
| |
− |
| |
− | function createAudioBoxes( data ) {
| |
− | if ( data.query === undefined || data.query.rwrecords === undefined || data.query.rwrecords.length < 2 ) {
| |
− | displayError( 'nodata' );
| |
− | return;
| |
− | }
| |
− |
| |
− | ab1 = new AudioBox( data.query.rwrecords[ 0 ], $( '.audiobox' ).eq( 0 ) );
| |
− | ab2 = new AudioBox( data.query.rwrecords[ 1 ], $( '.audiobox' ).eq( 1 ) );
| |
− | }
| |
− |
| |
− | function getRecords() {
| |
− | var api = new mw.Api();
| |
− | api.get( {
| |
− | action: 'query',
| |
− | format: 'json',
| |
− | list: 'rwrecords',
| |
− | rwrlimit: '2',
| |
− | rwrsort: 'pageid',
| |
− | rwrdir: 'descending',
| |
− | rwrformat: 'qid'
| |
− | } ).then( createAudioBoxes, displayError );
| |
− | }
| |
− |
| |
− | function displayError( code, error ) {
| |
− | console.warn( code, error );
| |
− | }
| |
− |
| |
− |
| |
− | if ( mw.config.get( 'wgPageName' ) === 'User:Nicolas_NALLET' ) {
| |
− | mw.loader.using( [ 'mediawiki.api', 'ext.recordWizard.wikibase' ] ).then( getRecords );
| |
− | $('.selectors').append(lang.$element);
| |
− | $('.selectors').append(list.$element);
| |
− | }
| |