[MediaWiki-commits] [Gerrit] mediawiki...AdvancedSearch[master]: SearchPreview: Show truncated search values

2017-08-10 Thread jenkins-bot (Code Review)
jenkins-bot has submitted this change and it was merged. ( 
https://gerrit.wikimedia.org/r/370642 )

Change subject: SearchPreview: Show truncated search values
..


SearchPreview: Show truncated search values

Search values are, to a point, shown inside search preview.
Complex values (multiple, with comparison operator) get formatted.
Full formatted search value is shown in title on mouse-over.
Also removes draggable behavior from preview pills.

Issue: T171756
Change-Id: Ia7adaba829e958f597cf33684671405836078908
---
M AdvancedSearch.hooks.php
M modules/ext.advancedSearch.css
M modules/ext.advancedSearch.init.js
M modules/ui/ext.advancedSearch.ExpandablePane.js
M modules/ui/ext.advancedSearch.SearchPreview.js
M package-lock.json
M package.json
A tests/qunit/.eslintrc.json
A tests/qunit/ui/SearchPreview.test.js
9 files changed, 342 insertions(+), 55 deletions(-)

Approvals:
  Gabriel Birke: Looks good to me, approved
  jenkins-bot: Verified
  Jeroen De Dauw: Looks good to me, but someone else must approve



diff --git a/AdvancedSearch.hooks.php b/AdvancedSearch.hooks.php
index a6214cc..98c6c95 100644
--- a/AdvancedSearch.hooks.php
+++ b/AdvancedSearch.hooks.php
@@ -78,11 +78,13 @@
'scripts' => [
'tests/qunit/ui/NamespaceFilters.test.js',
'tests/qunit/ui/NamespacePresets.test.js',
+   'tests/qunit/ui/SearchPreview.test.js',
'tests/qunit/dm/SearchModel.test.js'
],
'dependencies' => [
'ext.advancedSearch.ui.NamespaceFilters',
'ext.advancedSearch.ui.NamespacePresets',
+   'ext.advancedSearch.ui.SearchPreview',
'ext.advancedSearch.dm.SearchModel',
'oojs-ui'
],
diff --git a/modules/ext.advancedSearch.css b/modules/ext.advancedSearch.css
index 1973f21..57d7265 100644
--- a/modules/ext.advancedSearch.css
+++ b/modules/ext.advancedSearch.css
@@ -1,3 +1,31 @@
+.mw-advancedSearch-searchPreview-label {
+   font-weight: bold;
+   margin-right: 0.3125em;
+}
+
+.mw-advancedSearch-searchPreview-previewPill {
+   display: inline-flex;
+   display: -ms-inline-flexbox;
+   flex-flow: row nowrap;
+   -ms-flex-direction: row;
+   flex: 0 1 auto;
+}
+
+.mw-advancedSearch-searchPreview-previewPill > .oo-ui-labelElement-label {
+   order: 1;
+   -ms-flex-order: 1;
+}
+
+.mw-advancedSearch-searchPreview-previewPill > .content {
+   display: inline-block;
+   text-overflow: ellipsis;
+   overflow: hidden;
+   max-width: 5em;
+   order: 2;
+   -ms-flex-order: 2;
+   padding-left: 0.3em;
+}
+
 .mw-advancedSearch-fieldContainer {
background: linear-gradient( rgba( 0, 0, 0, 0.1 ), #fff 0.5em );
border: solid 1px #c8ccd1;
@@ -69,15 +97,6 @@
top: 0;
height: 100%;
right: 0.9375em;
-}
-
-.mw-advancedSearch-searchPreview-label {
-   font-weight: bold;
-   margin-right: 0.3125em;
-}
-
-.mw-advancedSearch-previewLabel.oo-ui.widget-enabled {
-   background: #fff;
 }
 
 .mw-advancedSearch-optionTags {
diff --git a/modules/ext.advancedSearch.init.js 
b/modules/ext.advancedSearch.init.js
index 26ceee5..fc44d9c 100644
--- a/modules/ext.advancedSearch.init.js
+++ b/modules/ext.advancedSearch.init.js
@@ -389,20 +389,11 @@
$allOptions.append( optionSets[ group ].$element );
}
 
-   function getPreviewOptions() {
-   var previewOptions = {};
-   advancedOptions.forEach( function ( option ) {
-   previewOptions[ option.id ] = {
-   formatter: option.formatter,
-   label: mw.msg( 'advancedsearch-field-' + 
option.id )
-   };
-   } );
-   return previewOptions;
-   }
-
var searchPreview = new mw.libs.advancedSearch.ui.SearchPreview( state, 
{
label: mw.msg( 'advancedsearch-options-pane-head' ),
-   previewOptions: getPreviewOptions()
+   previewOptions: $.map( advancedOptions, function ( option ) {
+   return option.id;
+   } )
} );
 
var pane = new mw.libs.advancedSearch.ui.ExpandablePane( {
diff --git a/modules/ui/ext.advancedSearch.ExpandablePane.js 
b/modules/ui/ext.advancedSearch.ExpandablePane.js
index e3d5938..074948b 100644
--- a/modules/ui/ext.advancedSearch.ExpandablePane.js
+++ b/modules/ui/ext.advancedSearch.ExpandablePane.js
@@ -50,27 +50,6 @@
this.$dependentPane.append( config.$paneContent );
}
 
-   // TODO Move the following code to a separate widget
-   /*
-

[MediaWiki-commits] [Gerrit] mediawiki...AdvancedSearch[master]: SearchPreview: Show truncated search values

2017-08-08 Thread Pablo Grass (WMDE) (Code Review)
Pablo Grass (WMDE) has uploaded a new change for review. ( 
https://gerrit.wikimedia.org/r/370642 )

Change subject: SearchPreview: Show truncated search values
..

SearchPreview: Show truncated search values

Search values are, to a point, shown inside search preview.
Complex values (multiple, with comparison operator) get fromatted.
Full formatted search value is shown in title on mouse-over.
Also removes draggable behavior from preview pills.

Issue: T171756
Change-Id: Ia7adaba829e958f597cf33684671405836078908
---
M AdvancedSearch.hooks.php
M modules/ext.advancedSearch.css
M modules/ui/ext.advancedSearch.ExpandablePane.js
M modules/ui/ext.advancedSearch.SearchPreview.js
M package-lock.json
M package.json
A tests/qunit/.eslintrc.json
A tests/qunit/ui/SearchPreview.test.js
8 files changed, 309 insertions(+), 41 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/AdvancedSearch 
refs/changes/42/370642/1

diff --git a/AdvancedSearch.hooks.php b/AdvancedSearch.hooks.php
index a6214cc..98c6c95 100644
--- a/AdvancedSearch.hooks.php
+++ b/AdvancedSearch.hooks.php
@@ -78,11 +78,13 @@
'scripts' => [
'tests/qunit/ui/NamespaceFilters.test.js',
'tests/qunit/ui/NamespacePresets.test.js',
+   'tests/qunit/ui/SearchPreview.test.js',
'tests/qunit/dm/SearchModel.test.js'
],
'dependencies' => [
'ext.advancedSearch.ui.NamespaceFilters',
'ext.advancedSearch.ui.NamespacePresets',
+   'ext.advancedSearch.ui.SearchPreview',
'ext.advancedSearch.dm.SearchModel',
'oojs-ui'
],
diff --git a/modules/ext.advancedSearch.css b/modules/ext.advancedSearch.css
index 1973f21..57d7265 100644
--- a/modules/ext.advancedSearch.css
+++ b/modules/ext.advancedSearch.css
@@ -1,3 +1,31 @@
+.mw-advancedSearch-searchPreview-label {
+   font-weight: bold;
+   margin-right: 0.3125em;
+}
+
+.mw-advancedSearch-searchPreview-previewPill {
+   display: inline-flex;
+   display: -ms-inline-flexbox;
+   flex-flow: row nowrap;
+   -ms-flex-direction: row;
+   flex: 0 1 auto;
+}
+
+.mw-advancedSearch-searchPreview-previewPill > .oo-ui-labelElement-label {
+   order: 1;
+   -ms-flex-order: 1;
+}
+
+.mw-advancedSearch-searchPreview-previewPill > .content {
+   display: inline-block;
+   text-overflow: ellipsis;
+   overflow: hidden;
+   max-width: 5em;
+   order: 2;
+   -ms-flex-order: 2;
+   padding-left: 0.3em;
+}
+
 .mw-advancedSearch-fieldContainer {
background: linear-gradient( rgba( 0, 0, 0, 0.1 ), #fff 0.5em );
border: solid 1px #c8ccd1;
@@ -69,15 +97,6 @@
top: 0;
height: 100%;
right: 0.9375em;
-}
-
-.mw-advancedSearch-searchPreview-label {
-   font-weight: bold;
-   margin-right: 0.3125em;
-}
-
-.mw-advancedSearch-previewLabel.oo-ui.widget-enabled {
-   background: #fff;
 }
 
 .mw-advancedSearch-optionTags {
diff --git a/modules/ui/ext.advancedSearch.ExpandablePane.js 
b/modules/ui/ext.advancedSearch.ExpandablePane.js
index e3d5938..074948b 100644
--- a/modules/ui/ext.advancedSearch.ExpandablePane.js
+++ b/modules/ui/ext.advancedSearch.ExpandablePane.js
@@ -50,27 +50,6 @@
this.$dependentPane.append( config.$paneContent );
}
 
-   // TODO Move the following code to a separate widget
-   /*
-   var $labelContainer = $( 'Advanced 
Parameters' );
-   $bar.append( $labelContainer );
-
-   var dummyDemoWidgets = [
-   new OO.ui.TagItemWidget( { label: 'First demo label: 
foo' } ),
-   new OO.ui.TagItemWidget( { label: 'Second demo label: 
bar' } ),
-   new OO.ui.TagItemWidget( { label: 'Third demo label: 
baz' } ),
-   new OO.ui.TagItemWidget( { label: 'Fourth demo label: 
quux' } ),
-   new OO.ui.TagItemWidget( { label: 'Fivth demo label: 
quuz' } )
-   ];
-
-   $.each( dummyDemoWidgets, function ( _, w ) {
-   // TODO Create custom TagItemWidget classes that have 
special classes (for styling) and disable clicking
-   w.$element.on( 'click', function () { return false; } );
-   w.$element.addClass( 'mw-advancedSearch-previewLabel' );
-   $labelContainer.append( w.$element );
-   } );
-   */
-
this.$btn.addClass( 'oo-ui-buttonElement-framed' );
this.$element.addClass( 'mw-advancedSearch-expandablePane' );
this.$el