소스 검색

Added back `select2("data")`

In the past, `select2("data")` allowed you to retrieve the currently
selected data objects.  Read-only support has been added back for
this, which maps to the `current` method of the data adapter.  This
will only work for data adapters which allow for the synchronous
retrieval of the current data, which is the case for all of the
default data adapters.

You could also previously overwrite the currently selected data
objects by passing in an argument to `select2("data")`.  As this
dealt directly with the internals, and required a considerable
amount of work to synchronize it, it has been removed.  A warning
will now be triggered if the method is called with additional
elements, and the `val` method should be used instead.

This closes https://github.com/select2/select2/issues/2938.
Kevin Brown 10 년 전
부모
커밋
61a231d868
7개의 변경된 파일85개의 추가작업 그리고 0개의 파일을 삭제
  1. 17 0
      dist/js/select2.amd.full.js
  2. 17 0
      dist/js/select2.amd.js
  3. 17 0
      dist/js/select2.full.js
  4. 0 0
      dist/js/select2.full.min.js
  5. 17 0
      dist/js/select2.js
  6. 0 0
      dist/js/select2.min.js
  7. 17 0
      src/js/select2/core.js

+ 17 - 0
dist/js/select2.amd.full.js

@@ -4531,6 +4531,23 @@ define('select2/core',[
     this.$element.prop('disabled', disabled);
   };
 
+  Select2.prototype.data = function () {
+    if (arguments.length > 0 && console && console.warn) {
+      console.warn(
+        'Select2: Data can no longer be set using `select2("data")`. You ' +
+        'should consider setting the value instead using `$element.val()`.'
+      );
+    }
+
+    var data = [];
+
+    this.dataAdpater.current(function (currentData) {
+      data = currentData;
+    });
+
+    return data;
+  };
+
   Select2.prototype.val = function (args) {
     if (console && console.warn) {
       console.warn(

+ 17 - 0
dist/js/select2.amd.js

@@ -4531,6 +4531,23 @@ define('select2/core',[
     this.$element.prop('disabled', disabled);
   };
 
+  Select2.prototype.data = function () {
+    if (arguments.length > 0 && console && console.warn) {
+      console.warn(
+        'Select2: Data can no longer be set using `select2("data")`. You ' +
+        'should consider setting the value instead using `$element.val()`.'
+      );
+    }
+
+    var data = [];
+
+    this.dataAdpater.current(function (currentData) {
+      data = currentData;
+    });
+
+    return data;
+  };
+
   Select2.prototype.val = function (args) {
     if (console && console.warn) {
       console.warn(

+ 17 - 0
dist/js/select2.full.js

@@ -4969,6 +4969,23 @@ define('select2/core',[
     this.$element.prop('disabled', disabled);
   };
 
+  Select2.prototype.data = function () {
+    if (arguments.length > 0 && console && console.warn) {
+      console.warn(
+        'Select2: Data can no longer be set using `select2("data")`. You ' +
+        'should consider setting the value instead using `$element.val()`.'
+      );
+    }
+
+    var data = [];
+
+    this.dataAdpater.current(function (currentData) {
+      data = currentData;
+    });
+
+    return data;
+  };
+
   Select2.prototype.val = function (args) {
     if (console && console.warn) {
       console.warn(

파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 0
dist/js/select2.full.min.js


+ 17 - 0
dist/js/select2.js

@@ -4969,6 +4969,23 @@ define('select2/core',[
     this.$element.prop('disabled', disabled);
   };
 
+  Select2.prototype.data = function () {
+    if (arguments.length > 0 && console && console.warn) {
+      console.warn(
+        'Select2: Data can no longer be set using `select2("data")`. You ' +
+        'should consider setting the value instead using `$element.val()`.'
+      );
+    }
+
+    var data = [];
+
+    this.dataAdpater.current(function (currentData) {
+      data = currentData;
+    });
+
+    return data;
+  };
+
   Select2.prototype.val = function (args) {
     if (console && console.warn) {
       console.warn(

파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 0
dist/js/select2.min.js


+ 17 - 0
src/js/select2/core.js

@@ -408,6 +408,23 @@ define([
     this.$element.prop('disabled', disabled);
   };
 
+  Select2.prototype.data = function () {
+    if (arguments.length > 0 && console && console.warn) {
+      console.warn(
+        'Select2: Data can no longer be set using `select2("data")`. You ' +
+        'should consider setting the value instead using `$element.val()`.'
+      );
+    }
+
+    var data = [];
+
+    this.dataAdpater.current(function (currentData) {
+      data = currentData;
+    });
+
+    return data;
+  };
+
   Select2.prototype.val = function (args) {
     if (console && console.warn) {
       console.warn(

이 변경점에서 너무 많은 파일들이 변경되어 몇몇 파일들은 표시되지 않았습니다.