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, 09: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: ']]'
}
}
}
}
}
}
}
}
});
});
}