jenkins-bot has submitted this change and it was merged.
Change subject: Use jquery.chosen for the project filter
......................................................................
Use jquery.chosen for the project filter
A giant array of hidden checkboxes hidden by default isn't a great
way to display the project filter. Using chosen we can always show
the filter and the list will be searchable as users type.
Change-Id: If0bcf013e20079b2bd2d3aba626997829b1d3ee6
---
M special/SpecialNova.php
M special/SpecialNovaAddress.php
M special/SpecialNovaInstance.php
M special/SpecialNovaProject.php
M special/SpecialNovaPuppetGroup.php
M special/SpecialNovaSecurityGroup.php
M special/SpecialNovaSudoer.php
M special/SpecialNovaVolume.php
8 files changed, 11 insertions(+), 32 deletions(-)
Approvals:
Andrew Bogott: Looks good to me, approved
jenkins-bot: Verified
diff --git a/special/SpecialNova.php b/special/SpecialNova.php
index 9d87f34..dbc66be 100644
--- a/special/SpecialNova.php
+++ b/special/SpecialNova.php
@@ -108,7 +108,7 @@
return array();
}
- function showProjectFilter( $projects, $showbydefault=false,
$tocmode=true ) {
+ function showProjectFilter( $projects ) {
if ( $this->getRequest()->wasPosted() &&
$this->getRequest()->getVal( 'action' ) !== 'setprojectfilter' ) {
return null;
}
@@ -121,14 +121,7 @@
$defaults = array();
foreach ( $projects as $project ) {
$projectName = $project->getProjectName();
- if ( $tocmode && in_array( $projectName,
$currentProjects ) ) {
- # If the project is currently visible and toc
mode is turned on,
- # link the filter entry to an appropriate
anchor further on down
- $projectLink = Html::element( 'a', array('href'
=> "#$projectName"), $projectName );
- } else {
- $projectLink = $projectName;
- }
- $project_keys[$projectLink] = $projectName;
+ $project_keys[$projectName] = $projectName;
if ( in_array( $projectName, $currentProjects ) ) {
$defaults[$projectName] = $projectName;
}
@@ -140,6 +133,7 @@
'section' => 'projectfilter',
'options' => $project_keys,
'default' => $defaults,
+ 'cssclass' => 'mw-chosen',
'name' => 'projects',
);
$projectFilter['action'] = array(
@@ -149,13 +143,6 @@
);
$projectFilterForm = new HTMLForm( $projectFilter,
'openstackmanager-novaprojectfilter' );
$projectFilterForm->setTitle( $this->getTitle() );
- if ( $showbydefault ) {
- $classes = "mw-collapsible";
- } else {
- $classes = "mw-collapsible mw-collapsed";
- }
- $projectFilterForm->addHeaderText( '<div class="' . $classes
.'" data-expandtext="Show project filter" data-collapsetext="Hide project
filter">' );
- $projectFilterForm->addFooterText( '</div>' );
$projectFilterForm->setSubmitID(
'novaproject-form-setprojectfiltersubmit' );
$projectFilterForm->setSubmitCallback( array( $this,
'trySetProjectFilter' ) );
$projectFilterForm->show();
@@ -306,12 +293,11 @@
if ( !$formData['projects'] ) {
$wgRequest->response()->setCookie( 'projectfilter', '',
time() - 86400 );
- $this->getOutput()->redirect(
$this->getTitle()->getFullUrl() );
} else {
$projects = implode( ',', $formData['projects'] );
$wgRequest->response()->setCookie( 'projectfilter',
$projects );
- $this->getOutput()->redirect(
$this->getTitle()->getFullUrl( 'showmsg=setfilter' ) );
}
+ $this->getOutput()->redirect( $this->getTitle()->getFullUrl() );
return true;
}
diff --git a/special/SpecialNovaAddress.php b/special/SpecialNovaAddress.php
index cd651b4..3cfb470 100644
--- a/special/SpecialNovaAddress.php
+++ b/special/SpecialNovaAddress.php
@@ -398,13 +398,12 @@
} else {
$projects = OpenStackNovaProject::getProjectsByName(
$this->userLDAP->getProjects() );
}
+ $this->showProjectFilter( $projects );
$projectfilter = $this->getProjectFilter();
if ( !$projectfilter ) {
$this->getOutput()->addWikiMsg(
'openstackmanager-setprojectfilter' );
- $this->showProjectFilter( $projects, true );
return null;
}
- $this->showProjectFilter( $projects );
$out = '';
diff --git a/special/SpecialNovaInstance.php b/special/SpecialNovaInstance.php
index 0bbf74c..5848c7e 100644
--- a/special/SpecialNovaInstance.php
+++ b/special/SpecialNovaInstance.php
@@ -484,13 +484,12 @@
} else {
$projects = OpenStackNovaProject::getProjectsByName(
$this->userLDAP->getProjects() );
}
+ $this->showProjectFilter( $projects );
$projectfilter = $this->getProjectFilter();
if ( !$projectfilter ) {
$this->getOutput()->addWikiMsg(
'openstackmanager-setprojectfilter' );
- $this->showProjectFilter( $projects, true );
return null;
}
- $this->showProjectFilter( $projects );
$out = '';
foreach ( $projects as $project ) {
diff --git a/special/SpecialNovaProject.php b/special/SpecialNovaProject.php
index 12296e1..b13cfe4 100644
--- a/special/SpecialNovaProject.php
+++ b/special/SpecialNovaProject.php
@@ -268,13 +268,12 @@
} else {
$projects = OpenStackNovaProject::getProjectsByName(
$this->userLDAP->getProjects() );
}
+ $this->showProjectFilter( $projects );
$projectfilter = $this->getProjectFilter();
if ( !$projectfilter ) {
$this->getOutput()->addWikiMsg(
'openstackmanager-setprojectfilter' );
- $this->showProjectFilter( $projects, true );
return null;
}
- $this->showProjectFilter( $projects );
$out = '';
diff --git a/special/SpecialNovaPuppetGroup.php
b/special/SpecialNovaPuppetGroup.php
index aa9d132..90c0472 100644
--- a/special/SpecialNovaPuppetGroup.php
+++ b/special/SpecialNovaPuppetGroup.php
@@ -592,13 +592,12 @@
} else {
$projects = OpenStackNovaProject::getProjectsByName(
$this->userLDAP->getProjects() );
}
+ $this->showProjectFilter( $projects );
$projectfilter = $this->getProjectFilter();
if ( !$projectfilter ) {
$this->getOutput()->addWikiMsg(
'openstackmanager-setprojectfilter' );
- $this->showProjectFilter( $projects, true );
return null;
}
- $this->showProjectFilter( $projects );
$out = '';
foreach ( $projects as $project ) {
diff --git a/special/SpecialNovaSecurityGroup.php
b/special/SpecialNovaSecurityGroup.php
index e3c410e..a52c650 100644
--- a/special/SpecialNovaSecurityGroup.php
+++ b/special/SpecialNovaSecurityGroup.php
@@ -173,13 +173,12 @@
} else {
$projects = OpenStackNovaProject::getProjectsByName(
$this->userLDAP->getProjects() );
}
+ $this->showProjectFilter( $projects );
$projectfilter = $this->getProjectFilter();
if ( !$projectfilter ) {
$this->getOutput()->addWikiMsg(
'openstackmanager-setprojectfilter' );
- $this->showProjectFilter( $projects, true );
return null;
}
- $this->showProjectFilter( $projects );
$out = '';
foreach ( $projects as $project ) {
diff --git a/special/SpecialNovaSudoer.php b/special/SpecialNovaSudoer.php
index 3429ce2..2838010 100644
--- a/special/SpecialNovaSudoer.php
+++ b/special/SpecialNovaSudoer.php
@@ -412,13 +412,12 @@
} else {
$projects = OpenStackNovaProject::getProjectsByName(
$this->userLDAP->getProjects() );
}
+ $this->showProjectFilter( $projects );
$projectfilter = $this->getProjectFilter();
if ( !$projectfilter ) {
$this->getOutput()->addWikiMsg(
'openstackmanager-setprojectfilter' );
- $this->showProjectFilter( $projects, true );
return null;
}
- $this->showProjectFilter( $projects );
$out = '';
diff --git a/special/SpecialNovaVolume.php b/special/SpecialNovaVolume.php
index 456bfa7..1b5853f 100644
--- a/special/SpecialNovaVolume.php
+++ b/special/SpecialNovaVolume.php
@@ -325,13 +325,12 @@
} else {
$projects = OpenStackNovaProject::getProjectsByName(
$this->userLDAP->getProjects() );
}
+ $this->showProjectFilter( $projects );
$projectfilter = $this->getProjectFilter();
if ( !$projectfilter ) {
$this->getOutput()->addWikiMsg(
'openstackmanager-setprojectfilter' );
- $this->showProjectFilter( $projects, true );
return null;
}
- $this->showProjectFilter( $projects );
$out = '';
foreach ( $projects as $project ) {
--
To view, visit https://gerrit.wikimedia.org/r/63807
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: merged
Gerrit-Change-Id: If0bcf013e20079b2bd2d3aba626997829b1d3ee6
Gerrit-PatchSet: 2
Gerrit-Project: mediawiki/extensions/OpenStackManager
Gerrit-Branch: master
Gerrit-Owner: Ryan Lane <[email protected]>
Gerrit-Reviewer: Andrew Bogott <[email protected]>
Gerrit-Reviewer: jenkins-bot
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits