diff --git a/web/package.json b/web/package.json
index b5c643ce0..2c71afabd 100644
--- a/web/package.json
+++ b/web/package.json
@@ -66,7 +66,6 @@
"css-loader": "0.14.0",
"cssnano": "^3.10.0",
"dropzone": "^5.1.1",
- "eonasdan-bootstrap-datetimepicker": "^4.17.47",
"exports-loader": "~0.6.4",
"flotr2": "git+https://github.com/EnterpriseDB/Flotr2.git",
"font-awesome": "^4.7.0",
@@ -79,6 +78,7 @@
"jquery-ui": "^1.12.1",
"leaflet": "^1.3.3",
"moment": "^2.20.1",
+ "moment-timezone": "^0.5.21",
"mousetrap": "^1.6.1",
"prop-types": "^15.5.10",
"react": "^16.2.0",
@@ -92,6 +92,8 @@
"spectrum-colorpicker": "^1.8.0",
"sprintf-js": "^1.1.1",
"tablesorter": "^2.30.6",
+ "tempusdominus-bootstrap-4": "^5.1.2",
+ "tempusdominus-core": "^5.0.3",
"underscore": "^1.8.3",
"underscore.string": "^3.3.4",
"watchify": "~3.9.0",
diff --git a/web/pgadmin/browser/static/js/browser.js b/web/pgadmin/browser/static/js/browser.js
index b1e95adb0..f226fa072 100644
--- a/web/pgadmin/browser/static/js/browser.js
+++ b/web/pgadmin/browser/static/js/browser.js
@@ -132,7 +132,7 @@ define('pgadmin.browser', [
isCloseable: false,
isPrivate: true,
elContainer: true,
- content: '
' + select_object_msg + '
',
+ content: '' + select_object_msg + '
',
events: panelEvents,
onCreate: function(myPanel, $container) {
$container.addClass('pg-no-overflow');
diff --git a/web/pgadmin/browser/static/js/node.js b/web/pgadmin/browser/static/js/node.js
index a7f439745..b60f3fc3c 100644
--- a/web/pgadmin/browser/static/js/node.js
+++ b/web/pgadmin/browser/static/js/node.js
@@ -395,7 +395,7 @@ define('pgadmin.browser.node', [
success: function() {
// Clear timeout and remove message
clearTimeout(timer);
- $msgDiv.addClass('hidden');
+ $msgDiv.addClass('d-none');
// We got the latest attributes of the object. Render the view
// now.
@@ -479,7 +479,7 @@ define('pgadmin.browser.node', [
isCloseable: true,
isPrivate: true,
elContainer: true,
- content: '' + gettext('Please wait while we fetch information about the node from the server...') + '
',
+ content: '' + gettext('Please wait while we fetch information about the node from the server...') + '
',
onCreate: function(myPanel, $container) {
$container.addClass('pg-no-overflow');
},
diff --git a/web/pgadmin/static/css/style.css b/web/pgadmin/static/css/style.css
index 8a113f007..aeb0354ad 100644
--- a/web/pgadmin/static/css/style.css
+++ b/web/pgadmin/static/css/style.css
@@ -2,7 +2,7 @@
@import '~alertifyjs/build/css/themes/bootstrap.css';
@import '~font-awesome/css/font-awesome.css';
@import '~bootstrap-datepicker/dist/css/bootstrap-datepicker3.css';
-@import '~eonasdan-bootstrap-datetimepicker/build/css/bootstrap-datetimepicker.css';
+@import '~tempusdominus-bootstrap-4/build/css/tempusdominus-bootstrap-4.css';
@import '~bootstrap-switch/dist/css/bootstrap3/bootstrap-switch.css';
@import '~backgrid-select-all/backgrid-select-all.css';
@import '~backgrid-filter/backgrid-filter.css';
diff --git a/web/pgadmin/static/js/backform.pgadmin.js b/web/pgadmin/static/js/backform.pgadmin.js
index 7bfbcb90c..e475af6c3 100644
--- a/web/pgadmin/static/js/backform.pgadmin.js
+++ b/web/pgadmin/static/js/backform.pgadmin.js
@@ -28,6 +28,7 @@ define([
setGroupClassName: 'set-group pg-el-xs-12',
tabClassName: 'backform-tab pg-el-xs-12',
setGroupContentClassName: 'fieldset-content pg-el-xs-12',
+ hiddenClassName: 'd-none',
});
Backform.controlMapper = {
@@ -2340,13 +2341,19 @@ define([
label: '',
options: {
format: 'YYYY-MM-DD HH:mm:ss Z',
- showClear: true,
- showTodayButton: true,
+ icons: {
+ clear: 'fa fa-trash',
+ },
+ buttons: {
+ showClear: true,
+ showToday: true,
+ },
toolbarPlacement: 'top',
widgetPositioning: {
horizontal: 'auto',
vertical: 'bottom',
},
+ keepOpen: false,
},
placeholder: 'YYYY-MM-DD HH:mm:ss Z',
extraClasses: [],
@@ -2362,16 +2369,16 @@ define([
},
openPicker: function() {
if (this.has_datepicker) {
- this.$el.find('input').datetimepicker('show');
+ this.$el.find('input').datetimepicker('toggle');
}
},
template: _.template([
'',
'',
'<% if (helpMessage && helpMessage.length) { %>',
' ',
@@ -2464,7 +2471,6 @@ define([
);
}
this.updateInvalid();
-
return this;
},
clearInvalid: function() {
diff --git a/web/pgadmin/static/js/backgrid.pgadmin.js b/web/pgadmin/static/js/backgrid.pgadmin.js
index e9cd9757d..80ec67f5e 100644
--- a/web/pgadmin/static/js/backgrid.pgadmin.js
+++ b/web/pgadmin/static/js/backgrid.pgadmin.js
@@ -1348,9 +1348,15 @@ define([
},
options = _.extend({
format: 'YYYY-MM-DD HH:mm:ss Z',
- showClear: true,
- showTodayButton: true,
+ icons: {
+ clear: 'fa fa-trash',
+ },
+ buttons: {
+ showClear: true,
+ showToday: true,
+ },
toolbarPlacement: 'top',
+ keepOpen: false,
}, evalF(this.column.get('options')), {
keyBinds: {
'shift tab': function(widget) {
diff --git a/web/pgadmin/static/scss/_bootstrap.overrides.scss b/web/pgadmin/static/scss/_bootstrap.overrides.scss
index 078053bc1..22dd377dd 100644
--- a/web/pgadmin/static/scss/_bootstrap.overrides.scss
+++ b/web/pgadmin/static/scss/_bootstrap.overrides.scss
@@ -250,3 +250,8 @@ td.switch-cell > div.bootstrap-switch {
background-color: $input-disabled-bg !important;
opacity: 1;
}
+
+
+.btn-toolbar {
+ min-width: 100%;
+}
diff --git a/web/pgadmin/static/scss/_pgadmin.style.scss b/web/pgadmin/static/scss/_pgadmin.style.scss
index 92cdf46a5..8386d5990 100644
--- a/web/pgadmin/static/scss/_pgadmin.style.scss
+++ b/web/pgadmin/static/scss/_pgadmin.style.scss
@@ -935,6 +935,7 @@ lgg-el-container[el=md] .pg-el-lg-8,
}
.pg-prop-btn-group {
+ min-width: 100%;
left: 0px;
right: 0px;
padding: 2px;
@@ -1051,6 +1052,7 @@ lgg-el-container[el=md] .pg-el-lg-8,
.obj_properties .backform-tab > .tab-content {
padding: 0px;
overflow-y: auto;
+ min-height: 100%;
max-height: 100%;
}
diff --git a/web/pgadmin/tools/datagrid/templates/datagrid/index.html b/web/pgadmin/tools/datagrid/templates/datagrid/index.html
index 6e201b9fe..2b86824ae 100644
--- a/web/pgadmin/tools/datagrid/templates/datagrid/index.html
+++ b/web/pgadmin/tools/datagrid/templates/datagrid/index.html
@@ -186,7 +186,7 @@
tabindex="0" disabled>
-
diff --git a/web/pgadmin/tools/debugger/templates/debugger/direct.html b/web/pgadmin/tools/debugger/templates/debugger/direct.html
index f1a64032b..efbff876a 100644
--- a/web/pgadmin/tools/debugger/templates/debugger/direct.html
+++ b/web/pgadmin/tools/debugger/templates/debugger/direct.html
@@ -36,8 +36,8 @@ try {
{% endif %}