MediaWiki:PoemButtons.js: Difference between revisions

From Ekatra Foundation
Jump to navigation Jump to search
No edit summary
No edit summary
Line 30: Line 30:
         }
         }
     } );
     } );
   
    setTimeout(function () {
    var btn1 = document.querySelector('a[rel="Poem1"]');
    var btn2 = document.querySelector('a[rel="Poem2"]');
    btn1.style.cssText += ';margin-top:7px !important;background-size:40px 40px !important;width:40px !important;height:40px !important;';
    btn2.style.cssText += ';margin-top:7px !important;background-size:40px 40px !important;width:40px !important;height:40px !important;';
    console.log(btn1.style.cssText);
    console.log(btn2.style.cssText);
}, 500);
   
};
};


Line 53: Line 39:
$.when(
$.when(
mw.loader.using( 'ext.wikiEditor' ), $.ready
mw.loader.using( 'ext.wikiEditor' ), $.ready
).then( poemBtn );
).then(function () {
 
    poemBtn();
    var interval = setInterval(function () {
        var btn1 = document.querySelector('a[rel="Poem1"]');
        var btn2 = document.querySelector('a[rel="Poem2"]');
        if (btn1 && btn2) {
            btn1.style.setProperty('margin-top', '7px', 'important');
            btn1.style.setProperty('background-size', '28px 28px', 'important');
            btn1.style.setProperty('width', '40px', 'important');
            btn1.style.setProperty('height', '40px', 'important');
            btn2.style.setProperty('margin-top', '7px', 'important');
            btn2.style.setProperty('background-size', '28px 28px', 'important');
            btn2.style.setProperty('width', '40px', 'important');
            btn2.style.setProperty('height', '40px', 'important');
            clearInterval(interval);
        }
    }, 100);
});
}
}
} );
} );
}
}

Revision as of 11:59, 26 June 2026

var poemBtn = function () {
	$( '#wpTextbox1' ).wikiEditor( 'addToToolbar', {
        'section': 'main',
        'group': 'insert',
        'tools': {
            'Poem1': {
                label: 'Poem',
                type: 'button',
                icon: '//upload.wikimedia.org/wikipedia/commons/0/0f/Text_green_icon.svg',
                action: {
                    type: 'encapsulate',
                    options: {
                        pre: "<poem>\n",
                        post: "\n</poem>"
                    }
                }
            },
            'Poem2': {
                label: 'Poem2',
                type: 'button',
                icon: '//upload.wikimedia.org/wikipedia/commons/a/a1/Deepin_Icon_Theme_%E2%80%93_package_wordprocessing.svg',
                action: {
                    type: 'encapsulate',
                    options: {
                        pre: "{{Poem2Open}}\n",
                        post: "\n{{Poem2Close}}"
                    }
                }
            }
        }
    } );
};

/* Check if view is in edit mode and that the required modules are available. Then, customize the toolbar … */
if ( [ 'edit', 'submit' ].indexOf( mw.config.get( 'wgAction' ) ) !== -1 ) {
	mw.loader.using( 'user.options' ).then( function () {
		// This can be the string "0" if the user disabled the preference ([[phab:T54542#555387]])
		if ( mw.user.options.get( 'usebetatoolbar' ) == 1 ) {
			$.when(
				mw.loader.using( 'ext.wikiEditor' ), $.ready
			).then(function () {

			    poemBtn();
			
			    var interval = setInterval(function () {
			
			        var btn1 = document.querySelector('a[rel="Poem1"]');
			        var btn2 = document.querySelector('a[rel="Poem2"]');
			
			        if (btn1 && btn2) {
			
			            btn1.style.setProperty('margin-top', '7px', 'important');
			            btn1.style.setProperty('background-size', '28px 28px', 'important');
			            btn1.style.setProperty('width', '40px', 'important');
			            btn1.style.setProperty('height', '40px', 'important');
			
			            btn2.style.setProperty('margin-top', '7px', 'important');
			            btn2.style.setProperty('background-size', '28px 28px', 'important');
			            btn2.style.setProperty('width', '40px', 'important');
			            btn2.style.setProperty('height', '40px', 'important');
			
			            clearInterval(interval);
			        }
			
			    }, 100);
			
			});
		}
	} );
}