1
0
mirror of synced 2025-02-16 20:13:16 +03:00

Added lang attribute support

Select2 will now detect the language based on the `lang` attribute
of the `<select>` element or any parent elements.
This commit is contained in:
Kevin Brown 2014-12-10 18:09:00 -05:00
parent 14db3fc801
commit ec1bd3387b
7 changed files with 43 additions and 28 deletions

View File

@ -3300,14 +3300,17 @@ define('select2/options',[
}
Options.prototype.fromElement = function ($e) {
var fromProperties = ['multiple'];
var excludedData = ['select2'];
for (var p = 0; p < fromProperties.length; p++) {
var prop = fromProperties[p];
if (this.options.multiple == null) {
this.options.multiple = $e.prop('multiple');
}
if (this.options[prop] == null) {
this.options[prop] = $e.prop(prop);
if (this.options.language == null) {
if ($e.prop('lang')) {
this.options.language = $e.prop('lang').toLowerCase();
} else if ($e.closest('[lang]').prop('lang')) {
this.options.language = $e.closest('[lang]').prop('lang');
}
}

View File

@ -3300,14 +3300,17 @@ define('select2/options',[
}
Options.prototype.fromElement = function ($e) {
var fromProperties = ['multiple'];
var excludedData = ['select2'];
for (var p = 0; p < fromProperties.length; p++) {
var prop = fromProperties[p];
if (this.options.multiple == null) {
this.options.multiple = $e.prop('multiple');
}
if (this.options[prop] == null) {
this.options[prop] = $e.prop(prop);
if (this.options.language == null) {
if ($e.prop('lang')) {
this.options.language = $e.prop('lang').toLowerCase();
} else if ($e.closest('[lang]').prop('lang')) {
this.options.language = $e.closest('[lang]').prop('lang');
}
}

View File

@ -12835,14 +12835,17 @@ define('select2/options',[
}
Options.prototype.fromElement = function ($e) {
var fromProperties = ['multiple'];
var excludedData = ['select2'];
for (var p = 0; p < fromProperties.length; p++) {
var prop = fromProperties[p];
if (this.options.multiple == null) {
this.options.multiple = $e.prop('multiple');
}
if (this.options[prop] == null) {
this.options[prop] = $e.prop(prop);
if (this.options.language == null) {
if ($e.prop('lang')) {
this.options.language = $e.prop('lang').toLowerCase();
} else if ($e.closest('[lang]').prop('lang')) {
this.options.language = $e.closest('[lang]').prop('lang');
}
}

File diff suppressed because one or more lines are too long

13
dist/js/select2.js vendored
View File

@ -3728,14 +3728,17 @@ define('select2/options',[
}
Options.prototype.fromElement = function ($e) {
var fromProperties = ['multiple'];
var excludedData = ['select2'];
for (var p = 0; p < fromProperties.length; p++) {
var prop = fromProperties[p];
if (this.options.multiple == null) {
this.options.multiple = $e.prop('multiple');
}
if (this.options[prop] == null) {
this.options[prop] = $e.prop(prop);
if (this.options.language == null) {
if ($e.prop('lang')) {
this.options.language = $e.prop('lang').toLowerCase();
} else if ($e.closest('[lang]').prop('lang')) {
this.options.language = $e.closest('[lang]').prop('lang');
}
}

File diff suppressed because one or more lines are too long

View File

@ -13,14 +13,17 @@ define([
}
Options.prototype.fromElement = function ($e) {
var fromProperties = ['multiple'];
var excludedData = ['select2'];
for (var p = 0; p < fromProperties.length; p++) {
var prop = fromProperties[p];
if (this.options.multiple == null) {
this.options.multiple = $e.prop('multiple');
}
if (this.options[prop] == null) {
this.options[prop] = $e.prop(prop);
if (this.options.language == null) {
if ($e.prop('lang')) {
this.options.language = $e.prop('lang').toLowerCase();
} else if ($e.closest('[lang]').prop('lang')) {
this.options.language = $e.closest('[lang]').prop('lang');
}
}