diff --git a/web/pgadmin/static/css/overrides.css b/web/pgadmin/static/css/overrides.css
index 150567b..ca87e7a 100755
--- a/web/pgadmin/static/css/overrides.css
+++ b/web/pgadmin/static/css/overrides.css
@@ -906,4 +906,9 @@ ul.nav.nav-tabs {
.btn-primary{
margin: 2px 13px !important;
+}
+
+.select2-cell .select2-container > .backgrid th, .backgrid td
+{
+ padding: 0px;
}
\ No newline at end of file
diff --git a/web/pgadmin/static/js/backgrid/backgrid.pgadmin.js b/web/pgadmin/static/js/backgrid/backgrid.pgadmin.js
index 4b233d2..3260dc7 100644
--- a/web/pgadmin/static/js/backgrid/backgrid.pgadmin.js
+++ b/web/pgadmin/static/js/backgrid/backgrid.pgadmin.js
@@ -335,22 +335,134 @@
}
});
+ /**
+ Select2CellEditor the cell editor renders a Select2 input
+ box as its editor.
+ */
+ var Select2CellEditor = Backgrid.Select2CellEditor = Backgrid.SelectCellEditor.extend({
+ /** @property */
+ events: {
+ "change": "onSave"
+ },
+
+ /** @property */
+ setSelect2Options: function (options) {
+ this.select2Options = _.extend(options || {});
+ },
+
+ /** @property */
+ // This option will prevent Select2 list to pop up
+ // when user press tab on select2
+ select2Options: {
+ openOnEnter: false
+ },
+
+ /** @property {function(Object, ?Object=): string} template */
+ template: _.template('',
+ null, {variable: null}),
+
+ initialize: function () {
+ Backgrid.SelectCellEditor.prototype.initialize.apply(this, arguments);
+ this.close = _.bind(this.close, this);
+ },
+ /**
+ Renders a `select2` select box instead of the default `