Skip to content

Commit

Permalink
Replacing Chosen with Select2, resolves #116
Browse files Browse the repository at this point in the history
  • Loading branch information
shadyvb committed Dec 22, 2013
1 parent 7cf944d commit 0f8444f
Show file tree
Hide file tree
Showing 63 changed files with 5,102 additions and 12 deletions.
2 changes: 1 addition & 1 deletion .jshintignore
Original file line number Diff line number Diff line change
@@ -1 +1 @@
ui/chosen
ui/select2/*
6 changes: 3 additions & 3 deletions includes/admin.php
Original file line number Diff line number Diff line change
Expand Up @@ -114,9 +114,9 @@ public static function admin_enqueue_scripts( $hook ) {
return;
}

wp_enqueue_script( 'wp-stream-chosen', WP_STREAM_URL . 'ui/chosen/chosen.jquery.min.js', array( 'jquery' ), '1.0.0' );
wp_enqueue_style( 'wp-stream-chosen', WP_STREAM_URL . 'ui/chosen/chosen.min.css', array(), '1.0.0' );
wp_enqueue_script( 'wp-stream-admin', WP_STREAM_URL . 'ui/admin.js', array( 'jquery' ) );
wp_enqueue_script( 'select2', WP_STREAM_URL . 'ui/select2/select2.min.js', array( 'jquery' ), '3.4.5' );
wp_enqueue_style( 'select2', WP_STREAM_URL . 'ui/select2/select2.css', array(), '3.4.5' );

This comment has been minimized.

Copy link
@frankiejarrett

frankiejarrett Dec 22, 2013

Contributor

@shadyvb If we don't prefix these I fear we are at risk overriding another plugin that might be registering the same name but relies on a different version of Select2.

wp_enqueue_script( 'wp-stream-admin', WP_STREAM_URL . 'ui/admin.js', array( 'jquery', 'select2' ) );
wp_localize_script(
'wp-stream-admin',
'wp_stream',
Expand Down
4 changes: 4 additions & 0 deletions ui/admin.css
Original file line number Diff line number Diff line change
Expand Up @@ -124,3 +124,7 @@
.alignleft.actions input[type=text] {
height: 28px;
}

.select2-container.select2-allowclear .select2-choice abbr {
margin-top: -2px;
}
6 changes: 3 additions & 3 deletions ui/admin.js
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,9 @@ jQuery(function($){
});
}

$( '.toplevel_page_wp_stream .chosen-select' ).chosen({
disable_search_threshold: 10,
allow_single_deselect: true,
$( '.toplevel_page_wp_stream .chosen-select' ).select2({
minimumResultsForSearch: 10,
allowClear: true,
width: '165px'
});

Expand Down
Binary file removed ui/chosen/chosen-sprite.png
Binary file not shown.
Binary file removed ui/chosen/chosen-sprite@2x.png
Binary file not shown.
2 changes: 0 additions & 2 deletions ui/chosen/chosen.jquery.min.js

This file was deleted.

3 changes: 0 additions & 3 deletions ui/chosen/chosen.min.css

This file was deleted.

25 changes: 25 additions & 0 deletions ui/select2/.bower.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
{
"name": "select2",
"version": "3.4.5",
"main": [
"select2.js",
"select2.css",
"select2.png",
"select2x2.png",
"select2-spinner.gif"
],
"dependencies": {
"jquery": ">= 1.7.1"
},
"homepage": "https://github.com/ivaynberg/select2",
"_release": "3.4.5",
"_resolution": {
"type": "version",
"tag": "3.4.5",
"commit": "152fa071ebb95a89fa62966f219e8f901ea73112"
},
"_source": "git://github.com/ivaynberg/select2.git",
"_target": "~3.4.5",
"_originalSource": "select2",
"_direct": true
}
18 changes: 18 additions & 0 deletions ui/select2/LICENSE
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
Copyright 2012 Igor Vaynberg

Version: @@ver@@ Timestamp: @@timestamp@@

This software is licensed under the Apache License, Version 2.0 (the "Apache License") or the GNU
General Public License version 2 (the "GPL License"). You may choose either license to govern your
use of this software only upon the condition that you accept all of the terms of either the Apache
License or the GPL License.

You may obtain a copy of the Apache License and the GPL License at:

http://www.apache.org/licenses/LICENSE-2.0
http://www.gnu.org/licenses/gpl-2.0.html

Unless required by applicable law or agreed to in writing, software distributed under the Apache License
or the GPL Licesnse is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
either express or implied. See the Apache License and the GPL License for the specific language governing
permissions and limitations under the Apache License and the GPL License.
83 changes: 83 additions & 0 deletions ui/select2/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,83 @@
Select2
=======

Select2 is a jQuery-based replacement for select boxes. It supports searching, remote data sets, and infinite scrolling of results.

To get started, checkout examples and documentation at http://ivaynberg.github.com/select2

Use cases
---------

* Enhancing native selects with search.
* Enhancing native selects with a better multi-select interface.
* Loading data from JavaScript: easily load items via ajax and have them searchable.
* Nesting optgroups: native selects only support one level of nested. Select2 does not have this restriction.
* Tagging: ability to add new items on the fly.
* Working with large, remote datasets: ability to partially load a dataset based on the search term.
* Paging of large datasets: easy support for loading more pages when the results are scrolled to the end.
* Templating: support for custom rendering of results and selections.

Browser compatibility
---------------------
* IE 8+
* Chrome 8+
* Firefox 10+
* Safari 3+
* Opera 10.6+

Integrations
------------

* [Wicket-Select2](https://github.com/ivaynberg/wicket-select2) (Java / [Apache Wicket](http://wicket.apache.org))
* [select2-rails](https://github.com/argerim/select2-rails) (Ruby on Rails)
* [AngularUI](http://angular-ui.github.com/#directives-select2) ([AngularJS](angularjs.org))
* [Django](https://github.com/applegrew/django-select2)
* [Symfony](https://github.com/19Gerhard85/sfSelect2WidgetsPlugin)
* [Bootstrap](https://github.com/t0m/select2-bootstrap-css) (CSS skin)
* [Yii](https://github.com/tonybolzan/yii-select2)

Internationalization (i18n)
---------------------------

Select2 supports multiple languages by simply including the right
language JS file (`select2_locale_it.js`, `select2_locale_nl.js`, etc.).

Missing a language? Just copy `select2_locale_en.js.template`, translate
it, and make a pull request back to Select2 here on GitHub.

Bug tracker
-----------

Have a bug? Please create an issue here on GitHub!

https://github.com/ivaynberg/select2/issues

Mailing list
------------

Have a question? Ask on our mailing list!

select2@googlegroups.com

https://groups.google.com/d/forum/select2


Copyright and license
---------------------

Copyright 2012 Igor Vaynberg

This software is licensed under the Apache License, Version 2.0 (the "Apache License") or the GNU
General Public License version 2 (the "GPL License"). You may choose either license to govern your
use of this software only upon the condition that you accept all of the terms of either the Apache
License or the GPL License.

You may obtain a copy of the Apache License and the GPL License in the LICENSE file, or at:

http://www.apache.org/licenses/LICENSE-2.0
http://www.gnu.org/licenses/gpl-2.0.html

Unless required by applicable law or agreed to in writing, software distributed under the Apache License
or the GPL License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
either express or implied. See the Apache License and the GPL License for the specific language governing
permissions and limitations under the Apache License and the GPL License.
8 changes: 8 additions & 0 deletions ui/select2/bower.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
{
"name": "select2",
"version": "3.4.5",
"main": ["select2.js", "select2.css", "select2.png", "select2x2.png", "select2-spinner.gif"],
"dependencies": {
"jquery": ">= 1.7.1"
}
}
73 changes: 73 additions & 0 deletions ui/select2/release.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
#!/bin/bash
set -e

echo -n "Enter the version for this release: "

read ver

if [ ! $ver ]; then
echo "Invalid version."
exit
fi

name="select2"
js="$name.js"
mini="$name.min.js"
css="$name.css"
release="$name-$ver"
tag="$ver"
branch="build-$ver"
curbranch=`git branch | grep "*" | sed "s/* //"`
timestamp=$(date)
tokens="s/@@ver@@/$ver/g;s/\@@timestamp@@/$timestamp/g"
remote="github"

echo "Pulling from origin"

git pull

echo "Updating Version Identifiers"

sed -E -e "s/\"version\": \"([0-9\.]+)\",/\"version\": \"$ver\",/g" -i "" bower.json select2.jquery.json
git add bower.json
git add select2.jquery.json
git commit -m "modified version identifiers in descriptors for release $ver"
git push

git branch "$branch"
git checkout "$branch"

echo "Tokenizing..."

find . -name "$js" | xargs -I{} sed -e "$tokens" -i "" {}
find . -name "$css" | xargs -I{} sed -e "$tokens" -i "" {}
sed -e "s/latest/$ver/g" -i "" bower.json

git add "$js"
git add "$css"

echo "Minifying..."

echo "/*" > "$mini"
cat LICENSE | sed "$tokens" >> "$mini"
echo "*/" >> "$mini"

curl -s \
--data-urlencode "js_code@$js" \
http://marijnhaverbeke.nl/uglifyjs \
>> "$mini"

git add "$mini"

git commit -m "release $ver"

echo "Tagging..."
git tag -a "$tag" -m "tagged version $ver"
git push "$remote" --tags

echo "Cleaning Up..."

git checkout "$curbranch"
git branch -D "$branch"

echo "Done"
Loading

0 comments on commit 0f8444f

Please sign in to comment.