Limit the explicit coupling between adapters
This commit is contained in:
parent
0081716841
commit
94b460f930
38
dist/js/select2.amd.full.js
vendored
38
dist/js/select2.amd.full.js
vendored
@ -192,6 +192,18 @@ define('select2/data/select',[
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
SelectAdapter.prototype.bind = function (container, $container) {
|
||||||
|
var self = this;
|
||||||
|
|
||||||
|
container.on("select", function (params) {
|
||||||
|
var current = self.current(function (data) {
|
||||||
|
//
|
||||||
|
});
|
||||||
|
|
||||||
|
self.select(params.data);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
SelectAdapter.prototype.query = function (params, callback) {
|
SelectAdapter.prototype.query = function (params, callback) {
|
||||||
var data = [];
|
var data = [];
|
||||||
var self = this;
|
var self = this;
|
||||||
@ -305,7 +317,7 @@ define('select2/results',[
|
|||||||
return $option;
|
return $option;
|
||||||
}
|
}
|
||||||
|
|
||||||
Results.prototype.bind = function ($container) {
|
Results.prototype.bind = function (container, $container) {
|
||||||
var self = this;
|
var self = this;
|
||||||
|
|
||||||
this.on("results:all", function (data) {
|
this.on("results:all", function (data) {
|
||||||
@ -390,7 +402,7 @@ define('select2/selection/single',[
|
|||||||
return $selection;
|
return $selection;
|
||||||
}
|
}
|
||||||
|
|
||||||
SingleSelection.prototype.bind = function ($container) {
|
SingleSelection.prototype.bind = function (container, $container) {
|
||||||
var self = this;
|
var self = this;
|
||||||
|
|
||||||
this.$selection.on('click', function (evt) {
|
this.$selection.on('click', function (evt) {
|
||||||
@ -398,6 +410,10 @@ define('select2/selection/single',[
|
|||||||
originalEvent: evt
|
originalEvent: evt
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
container.on("selection:update", function (params) {
|
||||||
|
self.update(params.data);
|
||||||
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
SingleSelection.prototype.clear = function () {
|
SingleSelection.prototype.clear = function () {
|
||||||
@ -448,7 +464,7 @@ define('select2/selection/multiple',[
|
|||||||
return $selection;
|
return $selection;
|
||||||
}
|
}
|
||||||
|
|
||||||
MultipleSelection.prototype.bind = function ($container) {
|
MultipleSelection.prototype.bind = function (container, $container) {
|
||||||
var self = this;
|
var self = this;
|
||||||
|
|
||||||
this.$selection.on('click', function (evt) {
|
this.$selection.on('click', function (evt) {
|
||||||
@ -456,6 +472,10 @@ define('select2/selection/multiple',[
|
|||||||
originalEvent: evt
|
originalEvent: evt
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
container.on("selection:update", function (params) {
|
||||||
|
self.update(params.data);
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
MultipleSelection.prototype.clear = function () {
|
MultipleSelection.prototype.clear = function () {
|
||||||
@ -573,12 +593,15 @@ define('select2/core',[
|
|||||||
|
|
||||||
var self = this;
|
var self = this;
|
||||||
|
|
||||||
this.selection.bind($container);
|
this.data.bind(this, $container);
|
||||||
this.results.bind($container);
|
this.selection.bind(this, $container);
|
||||||
|
this.results.bind(this, $container);
|
||||||
|
|
||||||
this.$element.on("change", function () {
|
this.$element.on("change", function () {
|
||||||
self.data.current(function (data) {
|
self.data.current(function (data) {
|
||||||
self.selection.update(data);
|
self.trigger("selection:update", {
|
||||||
|
data: data
|
||||||
|
});
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -587,7 +610,8 @@ define('select2/core',[
|
|||||||
});
|
});
|
||||||
|
|
||||||
this.results.on("selected", function (params) {
|
this.results.on("selected", function (params) {
|
||||||
self.data.select(params.data);
|
self.trigger("select", params);
|
||||||
|
|
||||||
$container.removeClass("open");
|
$container.removeClass("open");
|
||||||
});
|
});
|
||||||
|
|
||||||
|
38
dist/js/select2.amd.js
vendored
38
dist/js/select2.amd.js
vendored
@ -192,6 +192,18 @@ define('select2/data/select',[
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
SelectAdapter.prototype.bind = function (container, $container) {
|
||||||
|
var self = this;
|
||||||
|
|
||||||
|
container.on("select", function (params) {
|
||||||
|
var current = self.current(function (data) {
|
||||||
|
//
|
||||||
|
});
|
||||||
|
|
||||||
|
self.select(params.data);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
SelectAdapter.prototype.query = function (params, callback) {
|
SelectAdapter.prototype.query = function (params, callback) {
|
||||||
var data = [];
|
var data = [];
|
||||||
var self = this;
|
var self = this;
|
||||||
@ -305,7 +317,7 @@ define('select2/results',[
|
|||||||
return $option;
|
return $option;
|
||||||
}
|
}
|
||||||
|
|
||||||
Results.prototype.bind = function ($container) {
|
Results.prototype.bind = function (container, $container) {
|
||||||
var self = this;
|
var self = this;
|
||||||
|
|
||||||
this.on("results:all", function (data) {
|
this.on("results:all", function (data) {
|
||||||
@ -390,7 +402,7 @@ define('select2/selection/single',[
|
|||||||
return $selection;
|
return $selection;
|
||||||
}
|
}
|
||||||
|
|
||||||
SingleSelection.prototype.bind = function ($container) {
|
SingleSelection.prototype.bind = function (container, $container) {
|
||||||
var self = this;
|
var self = this;
|
||||||
|
|
||||||
this.$selection.on('click', function (evt) {
|
this.$selection.on('click', function (evt) {
|
||||||
@ -398,6 +410,10 @@ define('select2/selection/single',[
|
|||||||
originalEvent: evt
|
originalEvent: evt
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
container.on("selection:update", function (params) {
|
||||||
|
self.update(params.data);
|
||||||
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
SingleSelection.prototype.clear = function () {
|
SingleSelection.prototype.clear = function () {
|
||||||
@ -448,7 +464,7 @@ define('select2/selection/multiple',[
|
|||||||
return $selection;
|
return $selection;
|
||||||
}
|
}
|
||||||
|
|
||||||
MultipleSelection.prototype.bind = function ($container) {
|
MultipleSelection.prototype.bind = function (container, $container) {
|
||||||
var self = this;
|
var self = this;
|
||||||
|
|
||||||
this.$selection.on('click', function (evt) {
|
this.$selection.on('click', function (evt) {
|
||||||
@ -456,6 +472,10 @@ define('select2/selection/multiple',[
|
|||||||
originalEvent: evt
|
originalEvent: evt
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
container.on("selection:update", function (params) {
|
||||||
|
self.update(params.data);
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
MultipleSelection.prototype.clear = function () {
|
MultipleSelection.prototype.clear = function () {
|
||||||
@ -573,12 +593,15 @@ define('select2/core',[
|
|||||||
|
|
||||||
var self = this;
|
var self = this;
|
||||||
|
|
||||||
this.selection.bind($container);
|
this.data.bind(this, $container);
|
||||||
this.results.bind($container);
|
this.selection.bind(this, $container);
|
||||||
|
this.results.bind(this, $container);
|
||||||
|
|
||||||
this.$element.on("change", function () {
|
this.$element.on("change", function () {
|
||||||
self.data.current(function (data) {
|
self.data.current(function (data) {
|
||||||
self.selection.update(data);
|
self.trigger("selection:update", {
|
||||||
|
data: data
|
||||||
|
});
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -587,7 +610,8 @@ define('select2/core',[
|
|||||||
});
|
});
|
||||||
|
|
||||||
this.results.on("selected", function (params) {
|
this.results.on("selected", function (params) {
|
||||||
self.data.select(params.data);
|
self.trigger("select", params);
|
||||||
|
|
||||||
$container.removeClass("open");
|
$container.removeClass("open");
|
||||||
});
|
});
|
||||||
|
|
||||||
|
38
dist/js/select2.full.js
vendored
38
dist/js/select2.full.js
vendored
@ -9729,6 +9729,18 @@ define('select2/data/select',[
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
SelectAdapter.prototype.bind = function (container, $container) {
|
||||||
|
var self = this;
|
||||||
|
|
||||||
|
container.on("select", function (params) {
|
||||||
|
var current = self.current(function (data) {
|
||||||
|
//
|
||||||
|
});
|
||||||
|
|
||||||
|
self.select(params.data);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
SelectAdapter.prototype.query = function (params, callback) {
|
SelectAdapter.prototype.query = function (params, callback) {
|
||||||
var data = [];
|
var data = [];
|
||||||
var self = this;
|
var self = this;
|
||||||
@ -9842,7 +9854,7 @@ define('select2/results',[
|
|||||||
return $option;
|
return $option;
|
||||||
}
|
}
|
||||||
|
|
||||||
Results.prototype.bind = function ($container) {
|
Results.prototype.bind = function (container, $container) {
|
||||||
var self = this;
|
var self = this;
|
||||||
|
|
||||||
this.on("results:all", function (data) {
|
this.on("results:all", function (data) {
|
||||||
@ -9927,7 +9939,7 @@ define('select2/selection/single',[
|
|||||||
return $selection;
|
return $selection;
|
||||||
}
|
}
|
||||||
|
|
||||||
SingleSelection.prototype.bind = function ($container) {
|
SingleSelection.prototype.bind = function (container, $container) {
|
||||||
var self = this;
|
var self = this;
|
||||||
|
|
||||||
this.$selection.on('click', function (evt) {
|
this.$selection.on('click', function (evt) {
|
||||||
@ -9935,6 +9947,10 @@ define('select2/selection/single',[
|
|||||||
originalEvent: evt
|
originalEvent: evt
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
container.on("selection:update", function (params) {
|
||||||
|
self.update(params.data);
|
||||||
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
SingleSelection.prototype.clear = function () {
|
SingleSelection.prototype.clear = function () {
|
||||||
@ -9985,7 +10001,7 @@ define('select2/selection/multiple',[
|
|||||||
return $selection;
|
return $selection;
|
||||||
}
|
}
|
||||||
|
|
||||||
MultipleSelection.prototype.bind = function ($container) {
|
MultipleSelection.prototype.bind = function (container, $container) {
|
||||||
var self = this;
|
var self = this;
|
||||||
|
|
||||||
this.$selection.on('click', function (evt) {
|
this.$selection.on('click', function (evt) {
|
||||||
@ -9993,6 +10009,10 @@ define('select2/selection/multiple',[
|
|||||||
originalEvent: evt
|
originalEvent: evt
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
container.on("selection:update", function (params) {
|
||||||
|
self.update(params.data);
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
MultipleSelection.prototype.clear = function () {
|
MultipleSelection.prototype.clear = function () {
|
||||||
@ -10110,12 +10130,15 @@ define('select2/core',[
|
|||||||
|
|
||||||
var self = this;
|
var self = this;
|
||||||
|
|
||||||
this.selection.bind($container);
|
this.data.bind(this, $container);
|
||||||
this.results.bind($container);
|
this.selection.bind(this, $container);
|
||||||
|
this.results.bind(this, $container);
|
||||||
|
|
||||||
this.$element.on("change", function () {
|
this.$element.on("change", function () {
|
||||||
self.data.current(function (data) {
|
self.data.current(function (data) {
|
||||||
self.selection.update(data);
|
self.trigger("selection:update", {
|
||||||
|
data: data
|
||||||
|
});
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -10124,7 +10147,8 @@ define('select2/core',[
|
|||||||
});
|
});
|
||||||
|
|
||||||
this.results.on("selected", function (params) {
|
this.results.on("selected", function (params) {
|
||||||
self.data.select(params.data);
|
self.trigger("select", params);
|
||||||
|
|
||||||
$container.removeClass("open");
|
$container.removeClass("open");
|
||||||
});
|
});
|
||||||
|
|
||||||
|
38
dist/js/select2.js
vendored
38
dist/js/select2.js
vendored
@ -620,6 +620,18 @@ define('select2/data/select',[
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
SelectAdapter.prototype.bind = function (container, $container) {
|
||||||
|
var self = this;
|
||||||
|
|
||||||
|
container.on("select", function (params) {
|
||||||
|
var current = self.current(function (data) {
|
||||||
|
//
|
||||||
|
});
|
||||||
|
|
||||||
|
self.select(params.data);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
SelectAdapter.prototype.query = function (params, callback) {
|
SelectAdapter.prototype.query = function (params, callback) {
|
||||||
var data = [];
|
var data = [];
|
||||||
var self = this;
|
var self = this;
|
||||||
@ -733,7 +745,7 @@ define('select2/results',[
|
|||||||
return $option;
|
return $option;
|
||||||
}
|
}
|
||||||
|
|
||||||
Results.prototype.bind = function ($container) {
|
Results.prototype.bind = function (container, $container) {
|
||||||
var self = this;
|
var self = this;
|
||||||
|
|
||||||
this.on("results:all", function (data) {
|
this.on("results:all", function (data) {
|
||||||
@ -818,7 +830,7 @@ define('select2/selection/single',[
|
|||||||
return $selection;
|
return $selection;
|
||||||
}
|
}
|
||||||
|
|
||||||
SingleSelection.prototype.bind = function ($container) {
|
SingleSelection.prototype.bind = function (container, $container) {
|
||||||
var self = this;
|
var self = this;
|
||||||
|
|
||||||
this.$selection.on('click', function (evt) {
|
this.$selection.on('click', function (evt) {
|
||||||
@ -826,6 +838,10 @@ define('select2/selection/single',[
|
|||||||
originalEvent: evt
|
originalEvent: evt
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
container.on("selection:update", function (params) {
|
||||||
|
self.update(params.data);
|
||||||
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
SingleSelection.prototype.clear = function () {
|
SingleSelection.prototype.clear = function () {
|
||||||
@ -876,7 +892,7 @@ define('select2/selection/multiple',[
|
|||||||
return $selection;
|
return $selection;
|
||||||
}
|
}
|
||||||
|
|
||||||
MultipleSelection.prototype.bind = function ($container) {
|
MultipleSelection.prototype.bind = function (container, $container) {
|
||||||
var self = this;
|
var self = this;
|
||||||
|
|
||||||
this.$selection.on('click', function (evt) {
|
this.$selection.on('click', function (evt) {
|
||||||
@ -884,6 +900,10 @@ define('select2/selection/multiple',[
|
|||||||
originalEvent: evt
|
originalEvent: evt
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
container.on("selection:update", function (params) {
|
||||||
|
self.update(params.data);
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
MultipleSelection.prototype.clear = function () {
|
MultipleSelection.prototype.clear = function () {
|
||||||
@ -1001,12 +1021,15 @@ define('select2/core',[
|
|||||||
|
|
||||||
var self = this;
|
var self = this;
|
||||||
|
|
||||||
this.selection.bind($container);
|
this.data.bind(this, $container);
|
||||||
this.results.bind($container);
|
this.selection.bind(this, $container);
|
||||||
|
this.results.bind(this, $container);
|
||||||
|
|
||||||
this.$element.on("change", function () {
|
this.$element.on("change", function () {
|
||||||
self.data.current(function (data) {
|
self.data.current(function (data) {
|
||||||
self.selection.update(data);
|
self.trigger("selection:update", {
|
||||||
|
data: data
|
||||||
|
});
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -1015,7 +1038,8 @@ define('select2/core',[
|
|||||||
});
|
});
|
||||||
|
|
||||||
this.results.on("selected", function (params) {
|
this.results.on("selected", function (params) {
|
||||||
self.data.select(params.data);
|
self.trigger("select", params);
|
||||||
|
|
||||||
$container.removeClass("open");
|
$container.removeClass("open");
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -171,10 +171,10 @@ require(["select2/core", "select2/utils", "select2/selection/single",
|
|||||||
return $selection;
|
return $selection;
|
||||||
};
|
};
|
||||||
|
|
||||||
ClearSelection.prototype.bind = function (decorated, $container) {
|
ClearSelection.prototype.bind = function (decorated, container, $container) {
|
||||||
var self = this;
|
var self = this;
|
||||||
|
|
||||||
decorated.call(this, $container);
|
decorated.call(this, container, $container);
|
||||||
|
|
||||||
this.$container = $container;
|
this.$container = $container;
|
||||||
|
|
||||||
|
12
src/js/select2/core.js
vendored
12
src/js/select2/core.js
vendored
@ -49,12 +49,15 @@ define([
|
|||||||
|
|
||||||
var self = this;
|
var self = this;
|
||||||
|
|
||||||
this.selection.bind($container);
|
this.data.bind(this, $container);
|
||||||
this.results.bind($container);
|
this.selection.bind(this, $container);
|
||||||
|
this.results.bind(this, $container);
|
||||||
|
|
||||||
this.$element.on("change", function () {
|
this.$element.on("change", function () {
|
||||||
self.data.current(function (data) {
|
self.data.current(function (data) {
|
||||||
self.selection.update(data);
|
self.trigger("selection:update", {
|
||||||
|
data: data
|
||||||
|
});
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -63,7 +66,8 @@ define([
|
|||||||
});
|
});
|
||||||
|
|
||||||
this.results.on("selected", function (params) {
|
this.results.on("selected", function (params) {
|
||||||
self.data.select(params.data);
|
self.trigger("select", params);
|
||||||
|
|
||||||
$container.removeClass("open");
|
$container.removeClass("open");
|
||||||
});
|
});
|
||||||
|
|
||||||
|
12
src/js/select2/data/select.js
vendored
12
src/js/select2/data/select.js
vendored
@ -54,6 +54,18 @@ define([
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
SelectAdapter.prototype.bind = function (container, $container) {
|
||||||
|
var self = this;
|
||||||
|
|
||||||
|
container.on("select", function (params) {
|
||||||
|
var current = self.current(function (data) {
|
||||||
|
//
|
||||||
|
});
|
||||||
|
|
||||||
|
self.select(params.data);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
SelectAdapter.prototype.query = function (params, callback) {
|
SelectAdapter.prototype.query = function (params, callback) {
|
||||||
var data = [];
|
var data = [];
|
||||||
var self = this;
|
var self = this;
|
||||||
|
2
src/js/select2/results.js
vendored
2
src/js/select2/results.js
vendored
@ -70,7 +70,7 @@ define([
|
|||||||
return $option;
|
return $option;
|
||||||
}
|
}
|
||||||
|
|
||||||
Results.prototype.bind = function ($container) {
|
Results.prototype.bind = function (container, $container) {
|
||||||
var self = this;
|
var self = this;
|
||||||
|
|
||||||
this.on("results:all", function (data) {
|
this.on("results:all", function (data) {
|
||||||
|
6
src/js/select2/selection/multiple.js
vendored
6
src/js/select2/selection/multiple.js
vendored
@ -22,7 +22,7 @@ define([
|
|||||||
return $selection;
|
return $selection;
|
||||||
}
|
}
|
||||||
|
|
||||||
MultipleSelection.prototype.bind = function ($container) {
|
MultipleSelection.prototype.bind = function (container, $container) {
|
||||||
var self = this;
|
var self = this;
|
||||||
|
|
||||||
this.$selection.on('click', function (evt) {
|
this.$selection.on('click', function (evt) {
|
||||||
@ -30,6 +30,10 @@ define([
|
|||||||
originalEvent: evt
|
originalEvent: evt
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
container.on("selection:update", function (params) {
|
||||||
|
self.update(params.data);
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
MultipleSelection.prototype.clear = function () {
|
MultipleSelection.prototype.clear = function () {
|
||||||
|
6
src/js/select2/selection/single.js
vendored
6
src/js/select2/selection/single.js
vendored
@ -22,7 +22,7 @@ define([
|
|||||||
return $selection;
|
return $selection;
|
||||||
}
|
}
|
||||||
|
|
||||||
SingleSelection.prototype.bind = function ($container) {
|
SingleSelection.prototype.bind = function (container, $container) {
|
||||||
var self = this;
|
var self = this;
|
||||||
|
|
||||||
this.$selection.on('click', function (evt) {
|
this.$selection.on('click', function (evt) {
|
||||||
@ -30,6 +30,10 @@ define([
|
|||||||
originalEvent: evt
|
originalEvent: evt
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
container.on("selection:update", function (params) {
|
||||||
|
self.update(params.data);
|
||||||
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
SingleSelection.prototype.clear = function () {
|
SingleSelection.prototype.clear = function () {
|
||||||
|
@ -2,7 +2,7 @@ module("Decorators")
|
|||||||
|
|
||||||
var Utils = require("select2/utils");
|
var Utils = require("select2/utils");
|
||||||
|
|
||||||
test("overridden", function (assert) {
|
test("overridden - method", function (assert) {
|
||||||
function BaseClass () {};
|
function BaseClass () {};
|
||||||
|
|
||||||
BaseClass.prototype.hello = function () {
|
BaseClass.prototype.hello = function () {
|
||||||
@ -47,7 +47,7 @@ test("overridden - constructor", function (assert) {
|
|||||||
assert.ok(!inst.inherited);
|
assert.ok(!inst.inherited);
|
||||||
});
|
});
|
||||||
|
|
||||||
test("not overridden", function (assert) {
|
test("not overridden - method", function (assert) {
|
||||||
function BaseClass () {};
|
function BaseClass () {};
|
||||||
|
|
||||||
BaseClass.prototype.hello = function () {
|
BaseClass.prototype.hello = function () {
|
||||||
@ -89,20 +89,14 @@ test("not overridden - constructor", function (assert) {
|
|||||||
assert.ok(inst.called);
|
assert.ok(inst.called);
|
||||||
});
|
});
|
||||||
|
|
||||||
test("inherited", function (assert) {
|
test("inherited - method", function (assert) {
|
||||||
function BaseClass () {
|
function BaseClass () { };
|
||||||
this.inherited = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
BaseClass.prototype.hello = function () {
|
BaseClass.prototype.hello = function () {
|
||||||
return "A";
|
return "A";
|
||||||
}
|
}
|
||||||
|
|
||||||
function DecoratorClass (decorated) {
|
function DecoratorClass (decorated) { };
|
||||||
this.called = true;
|
|
||||||
|
|
||||||
decorated.call(this);
|
|
||||||
};
|
|
||||||
|
|
||||||
DecoratorClass.prototype.hello = function (decorated) {
|
DecoratorClass.prototype.hello = function (decorated) {
|
||||||
return "B" + decorated.call(this) + "C";
|
return "B" + decorated.call(this) + "C";
|
||||||
|
Loading…
Reference in New Issue
Block a user