MediaWiki: Editor.js: Unterschied zwischen den Versionen
Aus Joachim Camerarius (1500-1574)
Noeth (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung Markierung: Zurückgesetzt |
Noeth (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung Markierungen: Manuelle Zurücksetzung Zurückgesetzt |
||
Zeile 13: | Zeile 13: | ||
// Attribute Dropdown | // Attribute Dropdown | ||
attributeSelect: { | attributeSelect: { | ||
type: ' | type: 'element', | ||
element: function ( context ) { | |||
var $select = $( '<select>' ).attr( 'id', 'camerarius-attribute-select' ); | |||
// Populate dropdown with attributes | |||
var attributes = [ | |||
{ value: 'Auftraggeber', label: 'Auftraggeber' }, | |||
{ value: 'Beeinflusser', label: 'Beeinflusser' }, | |||
{ value: 'Briefpartner', label: 'Briefpartner' }, | |||
{ value: 'Erwähnte Körperschaft', label: 'Erwähnte Körperschaft' }, | |||
{ value: 'Erwähnte Person', label: 'Erwähnte Person' }, | |||
{ value: 'Erwähnter Ort', label: 'Erwähnter Ort' }, | |||
{ value: 'Erwähntes Werk', label: 'Erwähntes Werk' }, | |||
{ value: 'Forschungsliteratur', label: 'Forschungsliteratur' }, | |||
{ value: 'Gesprächspartner', label: 'Gesprächspartner' }, | |||
{ value: 'Initiator', label: 'Initiator' }, | |||
{ value: 'Lehrer', label: 'Lehrer' }, | |||
{ value: 'Schüler', label: 'Schüler' }, | |||
{ value: 'Student', label: 'Student' }, | |||
{ value: 'Unterstützer', label: 'Unterstützer' }, | |||
{ value: 'Werkadressat', label: 'Werkadressat' }, | |||
{ value: 'Widmender', label: 'Widmender' }, | |||
{ value: 'Widmungsempfänger', label: 'Widmungsempfänger' }, | |||
{ value: 'Nachrufempfänger', label: 'Nachrufempfänger' } | |||
]; | |||
var selectedAttr = | |||
attributes.forEach( function( attr ) { | |||
$select.append( $( '<option>' ).val( attr.value ).text( attr.label ) ); | |||
}); | |||
// Add button to insert selected attribute | |||
var insertButton = new OO.ui.ButtonWidget( { | |||
label: 'Insert Attribute', | |||
flags: [ 'progressive' ] | |||
}); | |||
insertButton.on( 'click', function() { | |||
var selectedAttr = $select.val(); | |||
var insertText = '[[' + selectedAttr + '::]]'; | var insertText = '[[' + selectedAttr + '::]]'; | ||
context.fn.insertText( insertText ); | context.fn.insertText( insertText ); | ||
} | }); | ||
return $( '<div>' ) | |||
.append( $select ) | |||
.append( insertButton.$element ); | |||
} | } | ||
} | } |
Version vom 6. Dezember 2024, 10:33 Uhr
// Check if we're in edit mode if ( [ 'edit', 'submit' ].indexOf( mw.config.get( 'wgAction' ) ) !== -1 ) { // Add a hook handler for WikiEditor toolbar mw.hook( 'wikiEditor.toolbarReady' ).add( function ( $textarea ) { $textarea.wikiEditor( 'addToToolbar', { sections: { camerarius: { type: 'section', label: 'Camerarius-Attribute', groups: { attributes: { tools: { // Attribute Dropdown attributeSelect: { type: 'element', element: function ( context ) { var $select = $( '<select>' ).attr( 'id', 'camerarius-attribute-select' ); // Populate dropdown with attributes var attributes = [ { value: 'Auftraggeber', label: 'Auftraggeber' }, { value: 'Beeinflusser', label: 'Beeinflusser' }, { value: 'Briefpartner', label: 'Briefpartner' }, { value: 'Erwähnte Körperschaft', label: 'Erwähnte Körperschaft' }, { value: 'Erwähnte Person', label: 'Erwähnte Person' }, { value: 'Erwähnter Ort', label: 'Erwähnter Ort' }, { value: 'Erwähntes Werk', label: 'Erwähntes Werk' }, { value: 'Forschungsliteratur', label: 'Forschungsliteratur' }, { value: 'Gesprächspartner', label: 'Gesprächspartner' }, { value: 'Initiator', label: 'Initiator' }, { value: 'Lehrer', label: 'Lehrer' }, { value: 'Schüler', label: 'Schüler' }, { value: 'Student', label: 'Student' }, { value: 'Unterstützer', label: 'Unterstützer' }, { value: 'Werkadressat', label: 'Werkadressat' }, { value: 'Widmender', label: 'Widmender' }, { value: 'Widmungsempfänger', label: 'Widmungsempfänger' }, { value: 'Nachrufempfänger', label: 'Nachrufempfänger' } ]; attributes.forEach( function( attr ) { $select.append( $( '<option>' ).val( attr.value ).text( attr.label ) ); }); // Add button to insert selected attribute var insertButton = new OO.ui.ButtonWidget( { label: 'Insert Attribute', flags: [ 'progressive' ] }); insertButton.on( 'click', function() { var selectedAttr = $select.val(); var insertText = '[[' + selectedAttr + '::]]'; context.fn.insertText( insertText ); }); return $( '<div>' ) .append( $select ) .append( insertButton.$element ); } } } }, specialButtons: { tools: { // Beschreibungen Button beschreibungenButton: { type: 'button', label: 'Beschreibungen', icon: 'bold', action: { type: 'encapsulate', options: { pre: '{{Beschreibungen|', post: '}}' } } }, // MBW Button mbwButton: { type: 'button', label: 'MBW', icon: 'link', action: { type: 'encapsulate', options: { pre: '[https://melanchthon.hadw-bw.de/regesten.html MBW - Regesten online], Nr. ', post: '' } } }, // Link Button linkButton: { type: 'button', label: 'Verlinkung', icon: 'linkExternal', action: { type: 'encapsulate', options: { pre: '[[', post: ']]' } } }, // Binnenverweis Button binnenverweisButton: { type: 'button', label: 'Binnenverweis', icon: 'redirect', action: { type: 'encapsulate', options: { pre: '[[', post: ']]' } } } } } } } } }); }); }