Przeglądaj źródła

Improve the custom mention list item label and inserted text feature.

Maciej Gołaszewski 6 lat temu
rodzic
commit
5848e20c72

+ 3 - 1
packages/ckeditor5-mention/src/mentionui.js

@@ -537,7 +537,9 @@ function createFeedCallback( feedItems ) {
 	return feedText => {
 		const filteredItems = feedItems
 		// Make default mention feed case-insensitive.
-			.filter( item => item.toLowerCase().includes( feedText.toLowerCase() ) )
+			.filter( item => {
+				return ( typeof item == 'string' ? item : String( item.id ) ).toLowerCase().includes( feedText.toLowerCase() );
+			} )
 			// Do not return more than 10 items.
 			.slice( 0, 10 );
 

+ 7 - 2
packages/ckeditor5-mention/tests/manual/mention.js

@@ -27,8 +27,13 @@ ClassicEditor
 		mention: {
 			feeds: [
 				{
-					feed: [ 'Barney', 'Lily', 'Marshall', 'Robin', 'Ted' ],
-					itemRenderer: item => item.text
+					feed: [
+						{ id: '@Barney', label: 'The Barney', text: 'Barney' },
+						{ id: '@Lily', label: 'The Lily', text: 'Lily' },
+						{ id: '@Marshall', label: 'The Marshall', text: 'Marshall' },
+						{ id: '@Robin', label: 'The Robin', text: 'Robin' },
+						{ id: '@Ted', label: 'The Ted', text: 'Ted' } ],
+					itemRenderer: item => item.label
 				},
 				{
 					marker: '#',