Henning Snater has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/92651


Change subject: Removed unnecessary nodes from "wb-statement" template
......................................................................

Removed unnecessary nodes from "wb-statement" template

Simplifying the statement node structure by removing nodes that have no actual 
use.
This allows dropping the toolbarParentSelector option for statementview "edit" 
toolbar
as wells as for the references "add" toolbar.

Change-Id: I0376ed6c2f885d4b2915a6db7a297d270d6c98ce
---
M lib/resources/jquery.wikibase/jquery.wikibase.claimlistview.js
M lib/resources/jquery.wikibase/jquery.wikibase.statementview.js
M lib/resources/templates.php
M lib/resources/wikibase.css
M selenium/lib/modules/reference_module.rb
M selenium_cuc/features/support/modules/reference_module.rb
6 files changed, 29 insertions(+), 40 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/Wikibase 
refs/changes/51/92651/1

diff --git a/lib/resources/jquery.wikibase/jquery.wikibase.claimlistview.js 
b/lib/resources/jquery.wikibase/jquery.wikibase.claimlistview.js
index 2b59489..abbc5cd 100644
--- a/lib/resources/jquery.wikibase/jquery.wikibase.claimlistview.js
+++ b/lib/resources/jquery.wikibase/jquery.wikibase.claimlistview.js
@@ -305,7 +305,7 @@
 $.wikibase.toolbarcontroller.definition( 'edittoolbar', {
        widgetName: 'wikibase.statementview',
        events: {
-               statementviewchange: function( event ) {
+               'claimviewchange statementviewchange': function( event ) {
                        var $target = $( event.target ),
                                statementview = $target.data( 'statementview' ),
                                $btnSave = $target.data( 'edittoolbar' 
).toolbar.editGroup.$btnSave,
@@ -342,8 +342,7 @@
        },
        options: {
                interactionWidgetName: 
$.wikibase.statementview.prototype.widgetName,
-               parentWidgetFullName: 'wikibase.claimlistview',
-               toolbarParentSelector: '.wb-statement-claim'
+               parentWidgetFullName: 'wikibase.claimlistview'
        }
 } );
 
diff --git a/lib/resources/jquery.wikibase/jquery.wikibase.statementview.js 
b/lib/resources/jquery.wikibase/jquery.wikibase.statementview.js
index 1c513c7..a94ef3b 100644
--- a/lib/resources/jquery.wikibase/jquery.wikibase.statementview.js
+++ b/lib/resources/jquery.wikibase/jquery.wikibase.statementview.js
@@ -65,7 +65,7 @@
 
                if( this.value() ) {
                        var $listview = $( '<div/>' )
-                       .prependTo( this.$references )
+                       .appendTo( this.$references )
                        .listview( {
                                listItemAdapter: new 
$.wikibase.listview.ListItemAdapter( {
                                        listItemWidget: 
$.wikibase.referenceview,
@@ -114,15 +114,9 @@
                                }
                        } );
 
-                       // Forward query for listview reference.
-                       this.$references.data(
-                               'listview',
-                               this.$references.children( '.wb-listview' 
).data( 'listview' )
-                       );
-
                        // Collapse references if there is at least one.
-                       if ( this.$references.data( 'listview' ).items().length 
> 0 ) {
-                               this.$references.css( 'display', 'none' );
+                       if ( $listview.data( 'listview' ).items().length > 0 ) {
+                               $listview.css( 'display', 'none' );
                        }
 
                        // toggle for references section:
@@ -131,7 +125,7 @@
                                        
'wikibase-statementview-referencesheading-pendingcountersubject',
                                        refs.length
                                )
-                       ).toggler( { $subject: this.$references } );
+                       ).toggler( { $subject: $listview } );
 
                        this.$refsHeading.append( $toggler );
 
@@ -178,7 +172,7 @@
         * @param {wb.Reference} reference
         */
        _addReference: function( reference ) {
-               var lv = this.$references.children( '.wb-listview' ).data( 
'listview' );
+               var lv = this.$references.children( ':wikibase-listview' 
).data( 'listview' );
                lv.addItem( reference );
        },
 
@@ -189,15 +183,16 @@
         */
        getReferences: function() {
                var self = this,
+                       listview = this.$references.children( 
':wikibase-listview' ).data( 'listview' ),
                        references = [];
 
                // If the statement is pending (not yet stored), the listview 
widget for the references is
                // not defined.
-               if ( !this.$references.data( 'listview' ) ) {
+               if ( !listview ) {
                        return references;
                }
 
-               $.each( this.$references.data( 'listview' ).items(), function( 
i, item ) {
+               $.each( listview.items(), function( i, item ) {
                        var referenceview = self._referenceviewLia.liInstance( 
$( item ) );
                        references.push( referenceview.value() );
                } );
@@ -218,7 +213,8 @@
 
                this._removeReferenceApiCall( referenceview.value() )
                        .done( function( pageInfo ) {
-                               self.$references.data( 'listview' ).removeItem( 
referenceview.element );
+                               var listview = self.$references.children( 
':wikibase-listview' ).data( 'listview' );
+                               listview.removeItem( referenceview.element );
                                self._trigger( 'afterremove' );
                        } ).fail( function( errorCode, details ) {
                                var error = wb.RepoApiError.newFromApiResponse( 
errorCode, details, 'remove' );
@@ -283,7 +279,7 @@
         * @since 0.4
         */
        drawReferencesCounter: function() {
-               var listView = this.$references.data( 'listview' ),
+               var listView = this.$references.children( ':wikibase-listview' 
).data( 'listview' ),
                        numberOfValues = listView.nonEmptyItems().length,
                        numberOfPendingValues = listView.items().length - 
numberOfValues;
 
@@ -302,15 +298,14 @@
 // Register toolbars:
 $.wikibase.toolbarcontroller.definition( 'addtoolbar', {
        id: 'references',
-       selector: '.wb-statement-references-container',
+       selector: '.wb-statement-references',
        eventPrefix: 'listview',
        baseClass: 'wb-snaklistview-listview',
        options: {
-               toolbarParentSelector: '.wb-statement-references',
                customAction: function( event, $parent ) {
                        var statementView = $parent.closest( 
'.wb-statementview' ).data( 'statementview' ),
-                               listview = statementView.$references.data( 
'listview' );
-                       listview.enterNewItem();
+                               $listview = statementView.$references.children( 
':wikibase-listview' );
+                       $listview.data( 'listview' ).enterNewItem();
                },
                eventPrefix: 
$.wikibase.statementview.prototype.widgetEventPrefix,
                addButtonLabel: mw.msg( 'wikibase-addreference' )
diff --git a/lib/resources/templates.php b/lib/resources/templates.php
index 48c3d9b..2d52680 100644
--- a/lib/resources/templates.php
+++ b/lib/resources/templates.php
@@ -8,9 +8,6 @@
  *
  * @since 0.2
  *
- * @file
- * @ingroup WikibaseLib
- *
  * @licence GNU GPL v2+
  * @author H. Snater <[email protected]>
  *
@@ -106,18 +103,16 @@
        $templates['wb-statement'] =
 <<<HTML
 <div class="wb-statement wb-statementview $1">
-       <div class="wb-statement-claim">
-               <div class="wb-claim wb-claim-$2">
-                       <div class="wb-claim-mainsnak" dir="auto">
-                               $3 <!-- wb-snak (Main Snak) -->
-                       </div>
-                       <div class="wb-claim-qualifiers 
wb-statement-qualifiers">$4</div>
+       <div class="wb-claim wb-claim-$2">
+               <div class="wb-claim-mainsnak" dir="auto">
+                       $3 <!-- wb-snak (Main Snak) -->
                </div>
-               $5
+               <div class="wb-claim-qualifiers 
wb-statement-qualifiers">$4</div>
        </div>
-       <div class="wb-statement-references-container">
+       $5 <!-- wikibase-toolbar -->
+       <div class="wb-statement-references">
                <div class="wb-statement-references-heading">$6</div>
-               <div class="wb-statement-references">$7 <!-- [0,*] 
wb-referenceview --></div>
+               $7 <!-- [0,*] wb-referenceview -->
        </div>
 </div>
 HTML;
diff --git a/lib/resources/wikibase.css b/lib/resources/wikibase.css
index c79a111..0216cd2 100644
--- a/lib/resources/wikibase.css
+++ b/lib/resources/wikibase.css
@@ -735,22 +735,22 @@
        padding-bottom: 1em;
 }
 
-div.wb-statement .wb-statement-claim > .wikibase-toolbar {
+.wb-statement > .wikibase-toolbar {
        display: block;
 }
 
-div.wb-statement .wb-editsection {
+.wb-statement .wb-editsection {
        top: 10px; /* even out padding */
 }
 
 /***** REFERENCES *****/
 
-.wb-statement-references-container {
+.wb-statement-references {
        padding-left: 17em;
        clear: both;
 }
 
-.wb-statement-references-container .wb-statement-references-heading {
+.wb-statement-references .wb-statement-references-heading {
        font-size: 90%;
 }
 
diff --git a/selenium/lib/modules/reference_module.rb 
b/selenium/lib/modules/reference_module.rb
index 67ceea0..d48a88f 100644
--- a/selenium/lib/modules/reference_module.rb
+++ b/selenium/lib/modules/reference_module.rb
@@ -9,7 +9,7 @@
 module ReferencePage
   include PageObject
   # references UI elements
-  div(:referenceContainer, :class => "wb-statement-references-container")
+  div(:referenceContainer, :class => "wb-statement-references")
   div(:referenceHeading, :class => "wb-statement-references-heading")
   link(:referenceHeadingToggleLink, :css => ".wb-statement-references-heading 
a")
   div(:referenceEditHeading, :css => ".wb-referenceview 
.wb-referenceview-heading")
diff --git a/selenium_cuc/features/support/modules/reference_module.rb 
b/selenium_cuc/features/support/modules/reference_module.rb
index f2bbdf4..84c2ad1 100644
--- a/selenium_cuc/features/support/modules/reference_module.rb
+++ b/selenium_cuc/features/support/modules/reference_module.rb
@@ -9,7 +9,7 @@
 module ReferencePage
   include PageObject
   # references UI elements
-  div(:referenceContainer, :class => "wb-statement-references-container")
+  div(:referenceContainer, :class => "wb-statement-references")
   div(:referenceHeading, :class => "wb-statement-references-heading")
   link(:referenceHeadingToggleLink, :css => ".wb-statement-references-heading 
a")
   div(:referenceEditHeading, :xpath => "//div[contains(@class, 
'wb-referenceview')]/div[contains(@class, 'wb-snaklistview-heading')]")

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

Gerrit-MessageType: newchange
Gerrit-Change-Id: I0376ed6c2f885d4b2915a6db7a297d270d6c98ce
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/Wikibase
Gerrit-Branch: master
Gerrit-Owner: Henning Snater <[email protected]>

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

Reply via email to