diff --git a/docs/en_US/release_notes.rst b/docs/en_US/release_notes.rst index 0fcc3f382..c33f383a7 100644 --- a/docs/en_US/release_notes.rst +++ b/docs/en_US/release_notes.rst @@ -9,6 +9,7 @@ for it. .. toctree:: + release_notes_3_6 release_notes_3_5 release_notes_3_4 release_notes_3_3 diff --git a/docs/en_US/release_notes_3_6.rst b/docs/en_US/release_notes_3_6.rst new file mode 100644 index 000000000..60ecef496 --- /dev/null +++ b/docs/en_US/release_notes_3_6.rst @@ -0,0 +1,18 @@ +*********** +Version 3.6 +*********** + +Release date: 2018-11-29 + +This release contains a number of features and fixes reported since the release of pgAdmin4 3.5 + + +Features +******** + + + +Bug fixes +********* + +| `Bug #3029 `_ - Allow the selection order to be preserved in the Select2 control to fix column ordering in data Import/Export. \ No newline at end of file diff --git a/web/pgadmin/static/js/backform.pgadmin.js b/web/pgadmin/static/js/backform.pgadmin.js index c8a32420e..023b6f17c 100644 --- a/web/pgadmin/static/js/backform.pgadmin.js +++ b/web/pgadmin/static/js/backform.pgadmin.js @@ -1781,8 +1781,29 @@ define([ first_empty: true, multiple: false, emptyOptions: false, + preserveSelectionOrder: false, }, }), + + events: function() { + // Inherit all default events of InputControl + return _.extend({}, Backform.SelectControl.prototype.events, { + 'select2:select': 'onSelect', + }); + }, + + onSelect: function (evt) { + var sel2Options = this.field.get('select2'); + if (sel2Options.multiple && sel2Options.preserveSelectionOrder) { + var element = evt.params.data.element; + var $element = $(element); + + $element.detach(); + $(this.$sel).append($element); + $(this.$sel).trigger('change'); + } + }, + formatter: Select2Formatter, template: _.template([ '', @@ -1836,6 +1857,7 @@ define([ first_empty: true, multiple: false, emptyOptions: false, + preserveSelectionOrder: false, }); // Evaluate the disabled, visible, and required option diff --git a/web/pgadmin/tools/import_export/static/js/import_export.js b/web/pgadmin/tools/import_export/static/js/import_export.js index 2080928a7..7b9ad376b 100644 --- a/web/pgadmin/tools/import_export/static/js/import_export.js +++ b/web/pgadmin/tools/import_export/static/js/import_export.js @@ -174,6 +174,7 @@ Backform, commonUtils, supportedNodes allowClear: false, placeholder: gettext('Columns for importing...'), first_empty: false, + preserveSelectionOrder: true, }, visible: 'importing', helpMessage: gettext('An optional list of columns to be copied. If no column list is specified, all columns of the table will be copied.'), @@ -192,6 +193,7 @@ Backform, commonUtils, supportedNodes multiple: true, allowClear: true, placeholder: gettext('Colums for exporting...'), + preserveSelectionOrder: true, }, visible: 'exporting', transform: function(rows) {