Added array adapter
This should add support for dynamically generated array data that still works with a basic `<select>` element.
This commit is contained in:
parent
3e05e32eda
commit
315b1b3c12
69
dist/js/select2.amd.full.js
vendored
69
dist/js/select2.amd.full.js
vendored
@ -449,6 +449,11 @@ define('select2/selection/single',[
|
|||||||
var self = this;
|
var self = this;
|
||||||
|
|
||||||
this.$selection.on('mousedown', function (evt) {
|
this.$selection.on('mousedown', function (evt) {
|
||||||
|
// Only respond to left clicks
|
||||||
|
if (evt.which !== 1) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
self.trigger("toggle", {
|
self.trigger("toggle", {
|
||||||
originalEvent: evt
|
originalEvent: evt
|
||||||
});
|
});
|
||||||
@ -557,12 +562,74 @@ define('select2/selection/multiple',[
|
|||||||
return MultipleSelection;
|
return MultipleSelection;
|
||||||
});
|
});
|
||||||
|
|
||||||
|
define('select2/data/array',[
|
||||||
|
"./select",
|
||||||
|
"../utils"
|
||||||
|
], function (SelectAdapter, Utils) {
|
||||||
|
function ArrayAdapter ($element, options) {
|
||||||
|
this.data = options.options.data;
|
||||||
|
this.selection = [];
|
||||||
|
|
||||||
|
ArrayAdapter.__super__.constructor.call(this, $element, options);
|
||||||
|
}
|
||||||
|
|
||||||
|
Utils.Extend(ArrayAdapter, SelectAdapter);
|
||||||
|
|
||||||
|
ArrayAdapter.prototype.select = function (data) {
|
||||||
|
var self = this;
|
||||||
|
|
||||||
|
this.$element.find("option").each(function () {
|
||||||
|
var $option = $(this);
|
||||||
|
var option = self.item($option);
|
||||||
|
|
||||||
|
if (option.id == data.id) {
|
||||||
|
$option.remove();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
var $option = this.option(data);
|
||||||
|
|
||||||
|
this.$element.append($option);
|
||||||
|
|
||||||
|
ArrayAdapter.__super__.select.call(this, data);
|
||||||
|
}
|
||||||
|
|
||||||
|
ArrayAdapter.prototype.option = function (data) {
|
||||||
|
var $option = $("<option></option>");
|
||||||
|
|
||||||
|
$option.text(data.text);
|
||||||
|
$option.val(data.id);
|
||||||
|
$option.data("data", data);
|
||||||
|
|
||||||
|
return $option;
|
||||||
|
}
|
||||||
|
|
||||||
|
ArrayAdapter.prototype.query = function (params, callback) {
|
||||||
|
var matches = [];
|
||||||
|
var self = this;
|
||||||
|
|
||||||
|
$.each(this.data, function () {
|
||||||
|
var option = this;
|
||||||
|
|
||||||
|
if (self.matches(params, option)) {
|
||||||
|
matches.push(option);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
callback(matches);
|
||||||
|
}
|
||||||
|
|
||||||
|
return ArrayAdapter;
|
||||||
|
});
|
||||||
|
|
||||||
define('select2/options',[
|
define('select2/options',[
|
||||||
'./data/select',
|
'./data/select',
|
||||||
'./results',
|
'./results',
|
||||||
'./dropdown',
|
'./dropdown',
|
||||||
'./selection/single',
|
'./selection/single',
|
||||||
'./selection/multiple'
|
'./selection/multiple',
|
||||||
|
|
||||||
|
'./data/array'
|
||||||
], function (SelectData, ResultsList, Dropdown, SingleSelection,
|
], function (SelectData, ResultsList, Dropdown, SingleSelection,
|
||||||
MultipleSelection) {
|
MultipleSelection) {
|
||||||
function Options (options) {
|
function Options (options) {
|
||||||
|
69
dist/js/select2.amd.js
vendored
69
dist/js/select2.amd.js
vendored
@ -449,6 +449,11 @@ define('select2/selection/single',[
|
|||||||
var self = this;
|
var self = this;
|
||||||
|
|
||||||
this.$selection.on('mousedown', function (evt) {
|
this.$selection.on('mousedown', function (evt) {
|
||||||
|
// Only respond to left clicks
|
||||||
|
if (evt.which !== 1) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
self.trigger("toggle", {
|
self.trigger("toggle", {
|
||||||
originalEvent: evt
|
originalEvent: evt
|
||||||
});
|
});
|
||||||
@ -557,12 +562,74 @@ define('select2/selection/multiple',[
|
|||||||
return MultipleSelection;
|
return MultipleSelection;
|
||||||
});
|
});
|
||||||
|
|
||||||
|
define('select2/data/array',[
|
||||||
|
"./select",
|
||||||
|
"../utils"
|
||||||
|
], function (SelectAdapter, Utils) {
|
||||||
|
function ArrayAdapter ($element, options) {
|
||||||
|
this.data = options.options.data;
|
||||||
|
this.selection = [];
|
||||||
|
|
||||||
|
ArrayAdapter.__super__.constructor.call(this, $element, options);
|
||||||
|
}
|
||||||
|
|
||||||
|
Utils.Extend(ArrayAdapter, SelectAdapter);
|
||||||
|
|
||||||
|
ArrayAdapter.prototype.select = function (data) {
|
||||||
|
var self = this;
|
||||||
|
|
||||||
|
this.$element.find("option").each(function () {
|
||||||
|
var $option = $(this);
|
||||||
|
var option = self.item($option);
|
||||||
|
|
||||||
|
if (option.id == data.id) {
|
||||||
|
$option.remove();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
var $option = this.option(data);
|
||||||
|
|
||||||
|
this.$element.append($option);
|
||||||
|
|
||||||
|
ArrayAdapter.__super__.select.call(this, data);
|
||||||
|
}
|
||||||
|
|
||||||
|
ArrayAdapter.prototype.option = function (data) {
|
||||||
|
var $option = $("<option></option>");
|
||||||
|
|
||||||
|
$option.text(data.text);
|
||||||
|
$option.val(data.id);
|
||||||
|
$option.data("data", data);
|
||||||
|
|
||||||
|
return $option;
|
||||||
|
}
|
||||||
|
|
||||||
|
ArrayAdapter.prototype.query = function (params, callback) {
|
||||||
|
var matches = [];
|
||||||
|
var self = this;
|
||||||
|
|
||||||
|
$.each(this.data, function () {
|
||||||
|
var option = this;
|
||||||
|
|
||||||
|
if (self.matches(params, option)) {
|
||||||
|
matches.push(option);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
callback(matches);
|
||||||
|
}
|
||||||
|
|
||||||
|
return ArrayAdapter;
|
||||||
|
});
|
||||||
|
|
||||||
define('select2/options',[
|
define('select2/options',[
|
||||||
'./data/select',
|
'./data/select',
|
||||||
'./results',
|
'./results',
|
||||||
'./dropdown',
|
'./dropdown',
|
||||||
'./selection/single',
|
'./selection/single',
|
||||||
'./selection/multiple'
|
'./selection/multiple',
|
||||||
|
|
||||||
|
'./data/array'
|
||||||
], function (SelectData, ResultsList, Dropdown, SingleSelection,
|
], function (SelectData, ResultsList, Dropdown, SingleSelection,
|
||||||
MultipleSelection) {
|
MultipleSelection) {
|
||||||
function Options (options) {
|
function Options (options) {
|
||||||
|
69
dist/js/select2.full.js
vendored
69
dist/js/select2.full.js
vendored
@ -9986,6 +9986,11 @@ define('select2/selection/single',[
|
|||||||
var self = this;
|
var self = this;
|
||||||
|
|
||||||
this.$selection.on('mousedown', function (evt) {
|
this.$selection.on('mousedown', function (evt) {
|
||||||
|
// Only respond to left clicks
|
||||||
|
if (evt.which !== 1) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
self.trigger("toggle", {
|
self.trigger("toggle", {
|
||||||
originalEvent: evt
|
originalEvent: evt
|
||||||
});
|
});
|
||||||
@ -10094,12 +10099,74 @@ define('select2/selection/multiple',[
|
|||||||
return MultipleSelection;
|
return MultipleSelection;
|
||||||
});
|
});
|
||||||
|
|
||||||
|
define('select2/data/array',[
|
||||||
|
"./select",
|
||||||
|
"../utils"
|
||||||
|
], function (SelectAdapter, Utils) {
|
||||||
|
function ArrayAdapter ($element, options) {
|
||||||
|
this.data = options.options.data;
|
||||||
|
this.selection = [];
|
||||||
|
|
||||||
|
ArrayAdapter.__super__.constructor.call(this, $element, options);
|
||||||
|
}
|
||||||
|
|
||||||
|
Utils.Extend(ArrayAdapter, SelectAdapter);
|
||||||
|
|
||||||
|
ArrayAdapter.prototype.select = function (data) {
|
||||||
|
var self = this;
|
||||||
|
|
||||||
|
this.$element.find("option").each(function () {
|
||||||
|
var $option = $(this);
|
||||||
|
var option = self.item($option);
|
||||||
|
|
||||||
|
if (option.id == data.id) {
|
||||||
|
$option.remove();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
var $option = this.option(data);
|
||||||
|
|
||||||
|
this.$element.append($option);
|
||||||
|
|
||||||
|
ArrayAdapter.__super__.select.call(this, data);
|
||||||
|
}
|
||||||
|
|
||||||
|
ArrayAdapter.prototype.option = function (data) {
|
||||||
|
var $option = $("<option></option>");
|
||||||
|
|
||||||
|
$option.text(data.text);
|
||||||
|
$option.val(data.id);
|
||||||
|
$option.data("data", data);
|
||||||
|
|
||||||
|
return $option;
|
||||||
|
}
|
||||||
|
|
||||||
|
ArrayAdapter.prototype.query = function (params, callback) {
|
||||||
|
var matches = [];
|
||||||
|
var self = this;
|
||||||
|
|
||||||
|
$.each(this.data, function () {
|
||||||
|
var option = this;
|
||||||
|
|
||||||
|
if (self.matches(params, option)) {
|
||||||
|
matches.push(option);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
callback(matches);
|
||||||
|
}
|
||||||
|
|
||||||
|
return ArrayAdapter;
|
||||||
|
});
|
||||||
|
|
||||||
define('select2/options',[
|
define('select2/options',[
|
||||||
'./data/select',
|
'./data/select',
|
||||||
'./results',
|
'./results',
|
||||||
'./dropdown',
|
'./dropdown',
|
||||||
'./selection/single',
|
'./selection/single',
|
||||||
'./selection/multiple'
|
'./selection/multiple',
|
||||||
|
|
||||||
|
'./data/array'
|
||||||
], function (SelectData, ResultsList, Dropdown, SingleSelection,
|
], function (SelectData, ResultsList, Dropdown, SingleSelection,
|
||||||
MultipleSelection) {
|
MultipleSelection) {
|
||||||
function Options (options) {
|
function Options (options) {
|
||||||
|
69
dist/js/select2.js
vendored
69
dist/js/select2.js
vendored
@ -877,6 +877,11 @@ define('select2/selection/single',[
|
|||||||
var self = this;
|
var self = this;
|
||||||
|
|
||||||
this.$selection.on('mousedown', function (evt) {
|
this.$selection.on('mousedown', function (evt) {
|
||||||
|
// Only respond to left clicks
|
||||||
|
if (evt.which !== 1) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
self.trigger("toggle", {
|
self.trigger("toggle", {
|
||||||
originalEvent: evt
|
originalEvent: evt
|
||||||
});
|
});
|
||||||
@ -985,12 +990,74 @@ define('select2/selection/multiple',[
|
|||||||
return MultipleSelection;
|
return MultipleSelection;
|
||||||
});
|
});
|
||||||
|
|
||||||
|
define('select2/data/array',[
|
||||||
|
"./select",
|
||||||
|
"../utils"
|
||||||
|
], function (SelectAdapter, Utils) {
|
||||||
|
function ArrayAdapter ($element, options) {
|
||||||
|
this.data = options.options.data;
|
||||||
|
this.selection = [];
|
||||||
|
|
||||||
|
ArrayAdapter.__super__.constructor.call(this, $element, options);
|
||||||
|
}
|
||||||
|
|
||||||
|
Utils.Extend(ArrayAdapter, SelectAdapter);
|
||||||
|
|
||||||
|
ArrayAdapter.prototype.select = function (data) {
|
||||||
|
var self = this;
|
||||||
|
|
||||||
|
this.$element.find("option").each(function () {
|
||||||
|
var $option = $(this);
|
||||||
|
var option = self.item($option);
|
||||||
|
|
||||||
|
if (option.id == data.id) {
|
||||||
|
$option.remove();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
var $option = this.option(data);
|
||||||
|
|
||||||
|
this.$element.append($option);
|
||||||
|
|
||||||
|
ArrayAdapter.__super__.select.call(this, data);
|
||||||
|
}
|
||||||
|
|
||||||
|
ArrayAdapter.prototype.option = function (data) {
|
||||||
|
var $option = $("<option></option>");
|
||||||
|
|
||||||
|
$option.text(data.text);
|
||||||
|
$option.val(data.id);
|
||||||
|
$option.data("data", data);
|
||||||
|
|
||||||
|
return $option;
|
||||||
|
}
|
||||||
|
|
||||||
|
ArrayAdapter.prototype.query = function (params, callback) {
|
||||||
|
var matches = [];
|
||||||
|
var self = this;
|
||||||
|
|
||||||
|
$.each(this.data, function () {
|
||||||
|
var option = this;
|
||||||
|
|
||||||
|
if (self.matches(params, option)) {
|
||||||
|
matches.push(option);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
callback(matches);
|
||||||
|
}
|
||||||
|
|
||||||
|
return ArrayAdapter;
|
||||||
|
});
|
||||||
|
|
||||||
define('select2/options',[
|
define('select2/options',[
|
||||||
'./data/select',
|
'./data/select',
|
||||||
'./results',
|
'./results',
|
||||||
'./dropdown',
|
'./dropdown',
|
||||||
'./selection/single',
|
'./selection/single',
|
||||||
'./selection/multiple'
|
'./selection/multiple',
|
||||||
|
|
||||||
|
'./data/array'
|
||||||
], function (SelectData, ResultsList, Dropdown, SingleSelection,
|
], function (SelectData, ResultsList, Dropdown, SingleSelection,
|
||||||
MultipleSelection) {
|
MultipleSelection) {
|
||||||
function Options (options) {
|
function Options (options) {
|
||||||
|
114
playground/basic/adapters.html
Normal file
114
playground/basic/adapters.html
Normal file
@ -0,0 +1,114 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<title>QUnit Example</title>
|
||||||
|
<link href="../../dist/css/select2.css" rel="stylesheet"/>
|
||||||
|
|
||||||
|
<script src="../../vendor/almond-0.2.9.js" type="text/javascript"></script>
|
||||||
|
<script src="../../vendor/jquery-2.1.0.js" type="text/javascript"></script>
|
||||||
|
|
||||||
|
<script src="../../dist/js/select2.js"></script>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<select style="width:300px" id="array-single"></select>
|
||||||
|
|
||||||
|
<br />
|
||||||
|
|
||||||
|
<select style="width:300px" id="array-multiple" multiple="multiple"></select>
|
||||||
|
|
||||||
|
<br />
|
||||||
|
|
||||||
|
<select style="width:300px" id="single-multiple">
|
||||||
|
<option value="AK">Alaska</option>
|
||||||
|
<option value="HI">Hawaii</option>
|
||||||
|
<option value="CA">California</option>
|
||||||
|
<option value="NV">Nevada</option>
|
||||||
|
<option value="OR">Oregon</option>
|
||||||
|
<option value="WA">Washington</option>
|
||||||
|
<option value="AZ">Arizona</option>
|
||||||
|
<option value="CO">Colorado</option>
|
||||||
|
<option value="ID">Idaho</option>
|
||||||
|
<option value="MT">Montana</option>
|
||||||
|
<option value="NE">Nebraska</option>
|
||||||
|
<option value="NM">New Mexico</option>
|
||||||
|
<option value="ND">North Dakota</option>
|
||||||
|
<option value="UT">Utah</option>
|
||||||
|
<option value="WY">Wyoming</option>
|
||||||
|
<option value="AL">Alabama</option>
|
||||||
|
<option value="AR">Arkansas</option>
|
||||||
|
<option value="IL">Illinois</option>
|
||||||
|
<option value="IA">Iowa</option>
|
||||||
|
<option value="KS">Kansas</option>
|
||||||
|
<option value="KY">Kentucky</option>
|
||||||
|
<option value="LA">Louisiana</option>
|
||||||
|
<option value="MN">Minnesota</option>
|
||||||
|
<option value="MS">Mississippi</option>
|
||||||
|
<option value="MO">Missouri</option>
|
||||||
|
<option value="OK">Oklahoma</option>
|
||||||
|
<option value="SD">South Dakota</option>
|
||||||
|
<option value="TX">Texas</option>
|
||||||
|
<option value="TN">Tennessee</option>
|
||||||
|
<option value="WI">Wisconsin</option>
|
||||||
|
<option value="CT">Connecticut</option>
|
||||||
|
<option value="DE">Delaware</option>
|
||||||
|
<option value="FL">Florida</option>
|
||||||
|
<option value="GA">Georgia</option>
|
||||||
|
<option value="IN">Indiana</option>
|
||||||
|
<option value="ME">Maine</option>
|
||||||
|
<option value="MD">Maryland</option>
|
||||||
|
<option value="MA">Massachusetts</option>
|
||||||
|
<option value="MI">Michigan</option>
|
||||||
|
<option value="NH">New Hampshire</option>
|
||||||
|
<option value="NJ">New Jersey</option>
|
||||||
|
<option value="NY">New York</option>
|
||||||
|
<option value="NC">North Carolina</option>
|
||||||
|
<option value="OH">Ohio</option>
|
||||||
|
<option value="PA">Pennsylvania</option>
|
||||||
|
<option value="RI">Rhode Island</option>
|
||||||
|
<option value="SC">South Carolina</option>
|
||||||
|
<option value="VT">Vermont</option>
|
||||||
|
<option value="VA">Virginia</option>
|
||||||
|
<option value="WV">West Virginia</option>
|
||||||
|
</select>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
require(["select2/core", "select2/data/array"], function (Select2, ArrayAdapter) {
|
||||||
|
var arrayData = [
|
||||||
|
{
|
||||||
|
id: 0,
|
||||||
|
text: 'enhancement'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: 1,
|
||||||
|
text: 'bug'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: 2,
|
||||||
|
text: 'duplicate'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: 3,
|
||||||
|
text: 'invalid'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: 4,
|
||||||
|
text: 'wontfix'
|
||||||
|
}
|
||||||
|
];
|
||||||
|
|
||||||
|
var arraySingle = new Select2($("#array-single"), {
|
||||||
|
dataAdapter: ArrayAdapter,
|
||||||
|
data: arrayData
|
||||||
|
});
|
||||||
|
|
||||||
|
var arrayMultiple = new Select2($("#array-multiple"), {
|
||||||
|
dataAdapter: ArrayAdapter,
|
||||||
|
data: arrayData
|
||||||
|
});
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
@ -178,11 +178,11 @@ require(["select2/core", "select2/utils", "select2/selection/single",
|
|||||||
|
|
||||||
this.$container = $container;
|
this.$container = $container;
|
||||||
|
|
||||||
this.$clear.on("click", function (evt) {
|
this.$clear.on("mousedown", function (evt) {
|
||||||
evt.stopPropagation();
|
evt.stopPropagation();
|
||||||
|
|
||||||
var $first = $container.find("li").first();
|
var $first = $container.find("li").first();
|
||||||
$first.click();
|
$first.mouseup();
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
|
59
src/js/select2/data/array.js
vendored
Normal file
59
src/js/select2/data/array.js
vendored
Normal file
@ -0,0 +1,59 @@
|
|||||||
|
define([
|
||||||
|
"./select",
|
||||||
|
"../utils"
|
||||||
|
], function (SelectAdapter, Utils) {
|
||||||
|
function ArrayAdapter ($element, options) {
|
||||||
|
this.data = options.options.data;
|
||||||
|
this.selection = [];
|
||||||
|
|
||||||
|
ArrayAdapter.__super__.constructor.call(this, $element, options);
|
||||||
|
}
|
||||||
|
|
||||||
|
Utils.Extend(ArrayAdapter, SelectAdapter);
|
||||||
|
|
||||||
|
ArrayAdapter.prototype.select = function (data) {
|
||||||
|
var self = this;
|
||||||
|
|
||||||
|
this.$element.find("option").each(function () {
|
||||||
|
var $option = $(this);
|
||||||
|
var option = self.item($option);
|
||||||
|
|
||||||
|
if (option.id == data.id) {
|
||||||
|
$option.remove();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
var $option = this.option(data);
|
||||||
|
|
||||||
|
this.$element.append($option);
|
||||||
|
|
||||||
|
ArrayAdapter.__super__.select.call(this, data);
|
||||||
|
}
|
||||||
|
|
||||||
|
ArrayAdapter.prototype.option = function (data) {
|
||||||
|
var $option = $("<option></option>");
|
||||||
|
|
||||||
|
$option.text(data.text);
|
||||||
|
$option.val(data.id);
|
||||||
|
$option.data("data", data);
|
||||||
|
|
||||||
|
return $option;
|
||||||
|
}
|
||||||
|
|
||||||
|
ArrayAdapter.prototype.query = function (params, callback) {
|
||||||
|
var matches = [];
|
||||||
|
var self = this;
|
||||||
|
|
||||||
|
$.each(this.data, function () {
|
||||||
|
var option = this;
|
||||||
|
|
||||||
|
if (self.matches(params, option)) {
|
||||||
|
matches.push(option);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
callback(matches);
|
||||||
|
}
|
||||||
|
|
||||||
|
return ArrayAdapter;
|
||||||
|
});
|
4
src/js/select2/options.js
vendored
4
src/js/select2/options.js
vendored
@ -3,7 +3,9 @@ define([
|
|||||||
'./results',
|
'./results',
|
||||||
'./dropdown',
|
'./dropdown',
|
||||||
'./selection/single',
|
'./selection/single',
|
||||||
'./selection/multiple'
|
'./selection/multiple',
|
||||||
|
|
||||||
|
'./data/array'
|
||||||
], function (SelectData, ResultsList, Dropdown, SingleSelection,
|
], function (SelectData, ResultsList, Dropdown, SingleSelection,
|
||||||
MultipleSelection) {
|
MultipleSelection) {
|
||||||
function Options (options) {
|
function Options (options) {
|
||||||
|
5
src/js/select2/selection/single.js
vendored
5
src/js/select2/selection/single.js
vendored
@ -26,6 +26,11 @@ define([
|
|||||||
var self = this;
|
var self = this;
|
||||||
|
|
||||||
this.$selection.on('mousedown', function (evt) {
|
this.$selection.on('mousedown', function (evt) {
|
||||||
|
// Only respond to left clicks
|
||||||
|
if (evt.which !== 1) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
self.trigger("toggle", {
|
self.trigger("toggle", {
|
||||||
originalEvent: evt
|
originalEvent: evt
|
||||||
});
|
});
|
||||||
|
Loading…
Reference in New Issue
Block a user