ソースを参照

Fixed `select2('data')`

This fixes an issue with `select2('data')` that caused it to not
work as intended. Because we were using `Select2.data` for the
data adapter, it was overriding the `Select2.data()` method which
was supposed to be used.

This just renames the `Select2.data` property to
`Select2.dataAdapter` to prevent the naming collision.

This closes https://github.com/select2/select2/issues/3104.
Kevin Brown 10 年 前
コミット
95be140760

+ 10 - 10
dist/js/select2.amd.full.js

@@ -4227,7 +4227,7 @@ define('select2/core',[
     // Set up containers and adapters
 
     var DataAdapter = this.options.get('dataAdapter');
-    this.data = new DataAdapter($element, this.options);
+    this.dataAdapter = new DataAdapter($element, this.options);
 
     var $container = this.render();
 
@@ -4246,7 +4246,7 @@ define('select2/core',[
     this.dropdown.position(this.$dropdown, $container);
 
     var ResultsAdapter = this.options.get('resultsAdapter');
-    this.results = new ResultsAdapter($element, this.options, this.data);
+    this.results = new ResultsAdapter($element, this.options, this.dataAdapter);
     this.$results = this.results.render();
 
     this.results.position(this.$results, this.$dropdown);
@@ -4269,7 +4269,7 @@ define('select2/core',[
     this._registerEvents();
 
     // Set the initial state
-    this.data.current(function (initialData) {
+    this.dataAdapter.current(function (initialData) {
       self.trigger('selection:update', {
         data: initialData
       });
@@ -4360,7 +4360,7 @@ define('select2/core',[
   };
 
   Select2.prototype._bindAdapters = function () {
-    this.data.bind(this, this.$container);
+    this.dataAdapter.bind(this, this.$container);
     this.selection.bind(this, this.$container);
 
     this.dropdown.bind(this, this.$container);
@@ -4371,7 +4371,7 @@ define('select2/core',[
     var self = this;
 
     this.$element.on('change.select2', function () {
-      self.data.current(function (data) {
+      self.dataAdapter.current(function (data) {
         self.trigger('selection:update', {
           data: data
         });
@@ -4405,7 +4405,7 @@ define('select2/core',[
   Select2.prototype._registerDataEvents = function () {
     var self = this;
 
-    this.data.on('*', function (name, params) {
+    this.dataAdapter.on('*', function (name, params) {
       self.trigger(name, params);
     });
   };
@@ -4475,7 +4475,7 @@ define('select2/core',[
         self.trigger('open');
       }
 
-      this.data.query(params, function (data) {
+      this.dataAdapter.query(params, function (data) {
         self.trigger('results:all', {
           data: data,
           query: params
@@ -4484,7 +4484,7 @@ define('select2/core',[
     });
 
     this.on('query:append', function (params) {
-      this.data.query(params, function (data) {
+      this.dataAdapter.query(params, function (data) {
         self.trigger('results:append', {
           data: data,
           query: params
@@ -4690,12 +4690,12 @@ define('select2/core',[
     this.$element.show();
     this.$element.removeData('select2');
 
-    this.data.destroy();
+    this.dataAdapter.destroy();
     this.selection.destroy();
     this.dropdown.destroy();
     this.results.destroy();
 
-    this.data = null;
+    this.dataAdapter = null;
     this.selection = null;
     this.dropdown = null;
     this.results = null;

+ 10 - 10
dist/js/select2.amd.js

@@ -4227,7 +4227,7 @@ define('select2/core',[
     // Set up containers and adapters
 
     var DataAdapter = this.options.get('dataAdapter');
-    this.data = new DataAdapter($element, this.options);
+    this.dataAdapter = new DataAdapter($element, this.options);
 
     var $container = this.render();
 
@@ -4246,7 +4246,7 @@ define('select2/core',[
     this.dropdown.position(this.$dropdown, $container);
 
     var ResultsAdapter = this.options.get('resultsAdapter');
-    this.results = new ResultsAdapter($element, this.options, this.data);
+    this.results = new ResultsAdapter($element, this.options, this.dataAdapter);
     this.$results = this.results.render();
 
     this.results.position(this.$results, this.$dropdown);
@@ -4269,7 +4269,7 @@ define('select2/core',[
     this._registerEvents();
 
     // Set the initial state
-    this.data.current(function (initialData) {
+    this.dataAdapter.current(function (initialData) {
       self.trigger('selection:update', {
         data: initialData
       });
@@ -4360,7 +4360,7 @@ define('select2/core',[
   };
 
   Select2.prototype._bindAdapters = function () {
-    this.data.bind(this, this.$container);
+    this.dataAdapter.bind(this, this.$container);
     this.selection.bind(this, this.$container);
 
     this.dropdown.bind(this, this.$container);
@@ -4371,7 +4371,7 @@ define('select2/core',[
     var self = this;
 
     this.$element.on('change.select2', function () {
-      self.data.current(function (data) {
+      self.dataAdapter.current(function (data) {
         self.trigger('selection:update', {
           data: data
         });
@@ -4405,7 +4405,7 @@ define('select2/core',[
   Select2.prototype._registerDataEvents = function () {
     var self = this;
 
-    this.data.on('*', function (name, params) {
+    this.dataAdapter.on('*', function (name, params) {
       self.trigger(name, params);
     });
   };
@@ -4475,7 +4475,7 @@ define('select2/core',[
         self.trigger('open');
       }
 
-      this.data.query(params, function (data) {
+      this.dataAdapter.query(params, function (data) {
         self.trigger('results:all', {
           data: data,
           query: params
@@ -4484,7 +4484,7 @@ define('select2/core',[
     });
 
     this.on('query:append', function (params) {
-      this.data.query(params, function (data) {
+      this.dataAdapter.query(params, function (data) {
         self.trigger('results:append', {
           data: data,
           query: params
@@ -4690,12 +4690,12 @@ define('select2/core',[
     this.$element.show();
     this.$element.removeData('select2');
 
-    this.data.destroy();
+    this.dataAdapter.destroy();
     this.selection.destroy();
     this.dropdown.destroy();
     this.results.destroy();
 
-    this.data = null;
+    this.dataAdapter = null;
     this.selection = null;
     this.dropdown = null;
     this.results = null;

+ 10 - 10
dist/js/select2.full.js

@@ -4666,7 +4666,7 @@ define('select2/core',[
     // Set up containers and adapters
 
     var DataAdapter = this.options.get('dataAdapter');
-    this.data = new DataAdapter($element, this.options);
+    this.dataAdapter = new DataAdapter($element, this.options);
 
     var $container = this.render();
 
@@ -4685,7 +4685,7 @@ define('select2/core',[
     this.dropdown.position(this.$dropdown, $container);
 
     var ResultsAdapter = this.options.get('resultsAdapter');
-    this.results = new ResultsAdapter($element, this.options, this.data);
+    this.results = new ResultsAdapter($element, this.options, this.dataAdapter);
     this.$results = this.results.render();
 
     this.results.position(this.$results, this.$dropdown);
@@ -4708,7 +4708,7 @@ define('select2/core',[
     this._registerEvents();
 
     // Set the initial state
-    this.data.current(function (initialData) {
+    this.dataAdapter.current(function (initialData) {
       self.trigger('selection:update', {
         data: initialData
       });
@@ -4799,7 +4799,7 @@ define('select2/core',[
   };
 
   Select2.prototype._bindAdapters = function () {
-    this.data.bind(this, this.$container);
+    this.dataAdapter.bind(this, this.$container);
     this.selection.bind(this, this.$container);
 
     this.dropdown.bind(this, this.$container);
@@ -4810,7 +4810,7 @@ define('select2/core',[
     var self = this;
 
     this.$element.on('change.select2', function () {
-      self.data.current(function (data) {
+      self.dataAdapter.current(function (data) {
         self.trigger('selection:update', {
           data: data
         });
@@ -4844,7 +4844,7 @@ define('select2/core',[
   Select2.prototype._registerDataEvents = function () {
     var self = this;
 
-    this.data.on('*', function (name, params) {
+    this.dataAdapter.on('*', function (name, params) {
       self.trigger(name, params);
     });
   };
@@ -4914,7 +4914,7 @@ define('select2/core',[
         self.trigger('open');
       }
 
-      this.data.query(params, function (data) {
+      this.dataAdapter.query(params, function (data) {
         self.trigger('results:all', {
           data: data,
           query: params
@@ -4923,7 +4923,7 @@ define('select2/core',[
     });
 
     this.on('query:append', function (params) {
-      this.data.query(params, function (data) {
+      this.dataAdapter.query(params, function (data) {
         self.trigger('results:append', {
           data: data,
           query: params
@@ -5129,12 +5129,12 @@ define('select2/core',[
     this.$element.show();
     this.$element.removeData('select2');
 
-    this.data.destroy();
+    this.dataAdapter.destroy();
     this.selection.destroy();
     this.dropdown.destroy();
     this.results.destroy();
 
-    this.data = null;
+    this.dataAdapter = null;
     this.selection = null;
     this.dropdown = null;
     this.results = null;

ファイルの差分が大きいため隠しています
+ 0 - 0
dist/js/select2.full.min.js


+ 10 - 10
dist/js/select2.js

@@ -4666,7 +4666,7 @@ define('select2/core',[
     // Set up containers and adapters
 
     var DataAdapter = this.options.get('dataAdapter');
-    this.data = new DataAdapter($element, this.options);
+    this.dataAdapter = new DataAdapter($element, this.options);
 
     var $container = this.render();
 
@@ -4685,7 +4685,7 @@ define('select2/core',[
     this.dropdown.position(this.$dropdown, $container);
 
     var ResultsAdapter = this.options.get('resultsAdapter');
-    this.results = new ResultsAdapter($element, this.options, this.data);
+    this.results = new ResultsAdapter($element, this.options, this.dataAdapter);
     this.$results = this.results.render();
 
     this.results.position(this.$results, this.$dropdown);
@@ -4708,7 +4708,7 @@ define('select2/core',[
     this._registerEvents();
 
     // Set the initial state
-    this.data.current(function (initialData) {
+    this.dataAdapter.current(function (initialData) {
       self.trigger('selection:update', {
         data: initialData
       });
@@ -4799,7 +4799,7 @@ define('select2/core',[
   };
 
   Select2.prototype._bindAdapters = function () {
-    this.data.bind(this, this.$container);
+    this.dataAdapter.bind(this, this.$container);
     this.selection.bind(this, this.$container);
 
     this.dropdown.bind(this, this.$container);
@@ -4810,7 +4810,7 @@ define('select2/core',[
     var self = this;
 
     this.$element.on('change.select2', function () {
-      self.data.current(function (data) {
+      self.dataAdapter.current(function (data) {
         self.trigger('selection:update', {
           data: data
         });
@@ -4844,7 +4844,7 @@ define('select2/core',[
   Select2.prototype._registerDataEvents = function () {
     var self = this;
 
-    this.data.on('*', function (name, params) {
+    this.dataAdapter.on('*', function (name, params) {
       self.trigger(name, params);
     });
   };
@@ -4914,7 +4914,7 @@ define('select2/core',[
         self.trigger('open');
       }
 
-      this.data.query(params, function (data) {
+      this.dataAdapter.query(params, function (data) {
         self.trigger('results:all', {
           data: data,
           query: params
@@ -4923,7 +4923,7 @@ define('select2/core',[
     });
 
     this.on('query:append', function (params) {
-      this.data.query(params, function (data) {
+      this.dataAdapter.query(params, function (data) {
         self.trigger('results:append', {
           data: data,
           query: params
@@ -5129,12 +5129,12 @@ define('select2/core',[
     this.$element.show();
     this.$element.removeData('select2');
 
-    this.data.destroy();
+    this.dataAdapter.destroy();
     this.selection.destroy();
     this.dropdown.destroy();
     this.results.destroy();
 
-    this.data = null;
+    this.dataAdapter = null;
     this.selection = null;
     this.dropdown = null;
     this.results = null;

ファイルの差分が大きいため隠しています
+ 0 - 0
dist/js/select2.min.js


+ 10 - 10
src/js/select2/core.js

@@ -28,7 +28,7 @@ define([
     // Set up containers and adapters
 
     var DataAdapter = this.options.get('dataAdapter');
-    this.data = new DataAdapter($element, this.options);
+    this.dataAdapter = new DataAdapter($element, this.options);
 
     var $container = this.render();
 
@@ -47,7 +47,7 @@ define([
     this.dropdown.position(this.$dropdown, $container);
 
     var ResultsAdapter = this.options.get('resultsAdapter');
-    this.results = new ResultsAdapter($element, this.options, this.data);
+    this.results = new ResultsAdapter($element, this.options, this.dataAdapter);
     this.$results = this.results.render();
 
     this.results.position(this.$results, this.$dropdown);
@@ -70,7 +70,7 @@ define([
     this._registerEvents();
 
     // Set the initial state
-    this.data.current(function (initialData) {
+    this.dataAdapter.current(function (initialData) {
       self.trigger('selection:update', {
         data: initialData
       });
@@ -161,7 +161,7 @@ define([
   };
 
   Select2.prototype._bindAdapters = function () {
-    this.data.bind(this, this.$container);
+    this.dataAdapter.bind(this, this.$container);
     this.selection.bind(this, this.$container);
 
     this.dropdown.bind(this, this.$container);
@@ -172,7 +172,7 @@ define([
     var self = this;
 
     this.$element.on('change.select2', function () {
-      self.data.current(function (data) {
+      self.dataAdapter.current(function (data) {
         self.trigger('selection:update', {
           data: data
         });
@@ -206,7 +206,7 @@ define([
   Select2.prototype._registerDataEvents = function () {
     var self = this;
 
-    this.data.on('*', function (name, params) {
+    this.dataAdapter.on('*', function (name, params) {
       self.trigger(name, params);
     });
   };
@@ -276,7 +276,7 @@ define([
         self.trigger('open');
       }
 
-      this.data.query(params, function (data) {
+      this.dataAdapter.query(params, function (data) {
         self.trigger('results:all', {
           data: data,
           query: params
@@ -285,7 +285,7 @@ define([
     });
 
     this.on('query:append', function (params) {
-      this.data.query(params, function (data) {
+      this.dataAdapter.query(params, function (data) {
         self.trigger('results:append', {
           data: data,
           query: params
@@ -491,12 +491,12 @@ define([
     this.$element.show();
     this.$element.removeData('select2');
 
-    this.data.destroy();
+    this.dataAdapter.destroy();
     this.selection.destroy();
     this.dropdown.destroy();
     this.results.destroy();
 
-    this.data = null;
+    this.dataAdapter = null;
     this.selection = null;
     this.dropdown = null;
     this.results = null;

この差分においてかなりの量のファイルが変更されているため、一部のファイルを表示していません