diff --git a/web/pgadmin/static/js/backgrid/backgrid.pgadmin.js b/web/pgadmin/static/js/backgrid/backgrid.pgadmin.js
index b12c089..de73b63 100644
--- a/web/pgadmin/static/js/backgrid/backgrid.pgadmin.js
+++ b/web/pgadmin/static/js/backgrid/backgrid.pgadmin.js
@@ -289,6 +289,78 @@
}
});
+
+ /*
+ * Select2Cell for backgrid.
+ */
+ var Select2Cell = Backgrid.Extension.Select2Cell = Backgrid.Cell.extend({
+
+ className: "select2-cell",
+
+ events: {
+ "change": "onSave",
+ "select2:unselect": "onSave"
+ },
+ render: function () {
+ var col = _.defaults(this.column.toJSON(), this.defaults),
+ model = this.model, column = this.column,
+ editable = Backgrid.callByNeed(col.editable, column, model),
+ optionValues = this.column.get('optionValues');
+
+ this.$el.empty();
+
+ if (!_.isArray(optionValues)) throw new TypeError("optionValues must be an array");
+
+ /* Add empty option as Select2 requires any empty '', null, {variable: null}),
+ model = this.model,
+ selectedValues = model.get(this.column.get("name"));
+
+ delete this.$select;
+
+ this.$select = $("