Jonas Kress (WMDE) has uploaded a new change for review. ( 
https://gerrit.wikimedia.org/r/369639 )

Change subject: Refactor storing of item meta data
......................................................................

Refactor storing of item meta data


Fixes issue where data attribute is not updated.

Change-Id: I9fff3967b9f13e4b47c1ec8a37161ae4604377bc
---
M wikibase/queryService/ui/queryHelper/SelectorBox.js
1 file changed, 28 insertions(+), 10 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/wikidata/query/gui 
refs/changes/39/369639/1

diff --git a/wikibase/queryService/ui/queryHelper/SelectorBox.js 
b/wikibase/queryService/ui/queryHelper/SelectorBox.js
index d009bb3..ac44256 100644
--- a/wikibase/queryService/ui/queryHelper/SelectorBox.js
+++ b/wikibase/queryService/ui/queryHelper/SelectorBox.js
@@ -375,7 +375,7 @@
 
                $select.change( function( e ) {
                        if ( listener ) {
-                               listener( $select.val(), $select.find( 
'option:selected' ).text(), $( e.target ).data( 'options' ) );
+                               listener( $select.val(), $select.find( 
'option:selected' ).text(), $element.data( 'items' ) );
                        }
                        $element.click();// hide clickover
                        $select.html( '' );
@@ -393,7 +393,7 @@
 
                $select.change( function( e ) {
                        if ( listener ) {
-                               listener( $select.val(), $select.find( 
'option:selected' ).text(), $( e.target ).data( 'options' ) );
+                               listener( $select.val(), $select.find( 
'option:selected' ).text(), $element.data( 'items' ) );
                        }
                } );
 
@@ -460,6 +460,8 @@
                                        self._searchEntities( params.data.term, 
type )
                                        ).done( function ( r1, r2 ) {
 
+                                       self._addItemMetaData( $element, 
r1.concat( r2 ) );
+
                                        if ( r1.length > 0 ) {
                                                r1 = [ {
                                                                text: 
self._i18n( 'suggestions', 'Suggestions' ),
@@ -479,6 +481,29 @@
                                        } );
                        } );
                };
+       };
+
+       /**
+        * @private
+        */
+       SELF.prototype._addItemMetaData = function( $element, items ) {
+               var data = {};
+
+               items.forEach( function ( item ) {
+
+                       if ( !data[item.data.id] ) {
+                               data[item.data.id] = {};
+                       }
+
+                       data[item.data.id].text = item.text;
+
+                       if ( item.data.propertyId ) {
+                               data[item.data.id].propertyId = 
item.data.propertyId;
+                       }
+
+               } );
+
+               $element.data( 'items', data );
        };
 
        /**
@@ -633,17 +658,10 @@
         * @private
         */
        SELF.prototype._renderSelect2 = function( $select, $element, triple ) {
-               var data = {},
-                       formatter = function( item, li ) {
+               var formatter = function( item, li ) {
                                if ( !item.data ) {
                                        return item.text;
                                }
-
-                               data[ item.data.id  ] = {
-                                               text: item.text,
-                                               propertyId: item.data.propertyId
-                               };
-                               $select.attr( 'data-options', JSON.stringify( 
data ) );
 
                                return $( '<span><b>' + item.text + ' (' + 
item.data.id + ')' + '</b></span><br/><small>' +
                                                item.data.description + 
'</small>' );

-- 
To view, visit https://gerrit.wikimedia.org/r/369639
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I9fff3967b9f13e4b47c1ec8a37161ae4604377bc
Gerrit-PatchSet: 1
Gerrit-Project: wikidata/query/gui
Gerrit-Branch: master
Gerrit-Owner: Jonas Kress (WMDE) <[email protected]>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to