Fixed following:

- Base font size changed from 0.815rem to 0.875rem, for navbar from 0.875rem to 0.925rem.
- Dialog sizes made consistent throughout the application. Now there are 3 size options for width and height each - sm, md, lg. Combination of any of these to be used hereafter
- Alignment fix for controls of Node properties dialogs which includes showing text and label in one line without dialog size change, checkbox alignment, switch control alignment at places and other minor improvements in other dialogs
- Error message design change in dialogs validation
- SQL Editor data grid editor popup design changes which were missed
- Design change for dashboard server activity grid
- Login page language dropdown color fix
- Properties accordion collapse design fix
- Help, Info icon fixed across all dialogs which were not working if clicked exactly on the text
- Added missing icon with buttons at few places
- Shadow behind the dialogs is increased to make it look clearly separated and depth.
- Control Alignment fix in maintenance dialog
- Min height of alertify dialogs set for better UX
- File dialog design fix when no files found
- Grant wizard fixes - Scroll bar visibility on first page, use full space for SQL generated on the last page
- Browser toolbar buttons changed to sync with SQL editor toolbar buttons
- Rounded corners for docker floating dialog (no properties)
- Renaming file in file dialog should show original file name
- SQL data grid text edit popup buttons behaviour was swapped. This is fixed.
- Import/Export dialog changes as per new design.
This commit is contained in:
Aditya Toshniwal
2019-01-02 15:05:15 +05:30
committed by Akshay Joshi
parent 1b9c841c15
commit 86ecf9c84e
65 changed files with 512 additions and 341 deletions

View File

@@ -20,7 +20,8 @@ define(
}, },
setup: function() { setup: function() {
return { return {
buttons:[{ text: gettext('OK'), key: 27, className: 'btn btn-primary' }], buttons:[{ text: gettext('OK'), key: 27,
className: 'btn btn-primary fa fa-lg fa-check pg-alertify-button' }],
options: { options: {
modal: false, modal: false,
resizable: true, resizable: true,
@@ -44,7 +45,7 @@ define(
function(data) { function(data) {
alertify.aboutDialog( alertify.aboutDialog(
S(gettext('About %s')).sprintf(pgAdmin.Browser.utils.app_name).value(), data S(gettext('About %s')).sprintf(pgAdmin.Browser.utils.app_name).value(), data
).resizeTo(800, 450); ).resizeTo(pgAdmin.Browser.stdW.md, pgAdmin.Browser.stdH.md);
}); });
}, },
}; };

View File

@@ -220,14 +220,14 @@ define('pgadmin.node.language', [
}, },
}, { }, {
id: 'lanacl', label: gettext('Privileges'), type: 'collection', id: 'lanacl', label: gettext('Privileges'), type: 'collection',
group: 'security', control: 'unique-col-collection', mode: ['edit', 'create'], group: gettext('Security'), control: 'unique-col-collection', mode: ['edit', 'create'],
model: pgBrowser.Node.PrivilegeRoleModel.extend({ model: pgBrowser.Node.PrivilegeRoleModel.extend({
privileges: ['U'], privileges: ['U'],
}), canAdd: true, canDelete: true, uniqueCol : ['grantee'], }), canAdd: true, canDelete: true, uniqueCol : ['grantee'],
},{ },{
id: 'seclabels', label: gettext('Security Labels'), mode: ['edit', 'create'], id: 'seclabels', label: gettext('Security Labels'), mode: ['edit', 'create'],
model: pgBrowser.SecLabelModel, editable: false, model: pgBrowser.SecLabelModel, editable: false,
type: 'collection', group: 'security', min_version: 90200, type: 'collection', group: gettext('Security'), min_version: 90200,
canAdd: true, canEdit: false, canDelete: true, canAdd: true, canEdit: false, canDelete: true,
control: 'unique-col-collection', control: 'unique-col-collection',
}, },

View File

@@ -72,7 +72,7 @@ define('pgadmin.node.schema', [
var grid = self.grid = new Backgrid.Grid({ var grid = self.grid = new Backgrid.Grid({
columns: self.grid_columns, columns: self.grid_columns,
collection: self.model.get(self.field.get('name')), collection: self.model.get(self.field.get('name')),
className: 'backgrid table-bordered', className: 'backgrid table-bordered table-noouter-border table-hover',
}); });
// render grid // render grid
@@ -120,6 +120,8 @@ define('pgadmin.node.schema', [
// Extend the browser's collection class for VacuumSettingsModel // Extend the browser's collection class for VacuumSettingsModel
Backform.VacuumSettingsSchema = [{ Backform.VacuumSettingsSchema = [{
id: 'spacer_ctrl', group: gettext('Table'), mode: ['edit', 'create'], type: 'spacer',
},{
id: 'autovacuum_custom', label: gettext('Custom auto-vacuum?'), id: 'autovacuum_custom', label: gettext('Custom auto-vacuum?'),
group: gettext('Table'), mode: ['edit', 'create'], group: gettext('Table'), mode: ['edit', 'create'],
type: 'switch', type: 'switch',
@@ -184,6 +186,8 @@ define('pgadmin.node.schema', [
], ],
}), }),
deps: ['autovacuum_enabled'], deps: ['autovacuum_enabled'],
},{
id: 'spacer_ctrl', group: gettext('Toast Table'), mode: ['edit', 'create'], type: 'spacer',
},{ },{
id: 'toast_autovacuum', label: gettext('Custom auto-vacuum?'), id: 'toast_autovacuum', label: gettext('Custom auto-vacuum?'),
group: gettext('Toast Table'), mode: ['edit', 'create'], group: gettext('Toast Table'), mode: ['edit', 'create'],

View File

@@ -228,7 +228,6 @@ define('pgadmin.node.index', [
hasDepends: true, hasDepends: true,
hasStatistics: true, hasStatistics: true,
statsPrettifyFields: ['Size', 'Index size'], statsPrettifyFields: ['Size', 'Index size'],
width: '45%',
Init: function() { Init: function() {
/* Avoid mulitple registration of menus */ /* Avoid mulitple registration of menus */
if (this.initialized) if (this.initialized)

View File

@@ -44,7 +44,7 @@ define('pgadmin.node.table', [
sqlCreateHelp: 'sql-createtable.html', sqlCreateHelp: 'sql-createtable.html',
dialogHelp: url_for('help.static', {'filename': 'table_dialog.html'}), dialogHelp: url_for('help.static', {'filename': 'table_dialog.html'}),
hasScriptTypes: ['create', 'select', 'insert', 'update', 'delete'], hasScriptTypes: ['create', 'select', 'insert', 'update', 'delete'],
width: '60%', width: '650px',
Init: function() { Init: function() {
/* Avoid multiple registration of menus */ /* Avoid multiple registration of menus */
if (this.initialized) if (this.initialized)

View File

@@ -187,6 +187,15 @@ define('pgadmin.node.pga_schedule', [
}, },
}); });
var CustomInfoControl = Backform.Control.extend({
template: _.template([
'<div>',
' <%=infotext%>',
'</div>',
].join('\n')),
className: 'pgadmin-control-group',
});
pgBrowser.Nodes['pga_schedule'] = pgBrowser.Node.extend({ pgBrowser.Nodes['pga_schedule'] = pgBrowser.Node.extend({
parent_type: 'pga_job', parent_type: 'pga_job',
type: 'pga_schedule', type: 'pga_schedule',
@@ -335,6 +344,10 @@ define('pgadmin.node.pga_schedule', [
return this; return this;
}, },
}), mode: ['properties'], }), mode: ['properties'],
},{
type: 'control', mode: ['create', 'edit'], group: gettext('Repeat'),
infotext: gettext('Schedules are specified using a <b>cron-style</b> format.<br/><ul><li>For each selected time or date element, the schedule will execute.<br/>e.g. To execute at 5 minutes past every hour, simply select 05 in the Minutes list box.<br/></li><li>Values from more than one field may be specified in order to further control the schedule.<br/>e.g. To execute at 12:05 and 14:05 every Monday and Thursday, you would click minute 05, hours 12 and 14, and weekdays Monday and Thursday.</li><li>For additional flexibility, the Month Days check list includes an extra Last Day option. This matches the last day of the month, whether it happens to be the 28th, 29th, 30th or 31st.</li></ul>'),
control: CustomInfoControl,
},{ },{
type: 'nested', label: gettext('Days'), group: gettext('Repeat'), type: 'nested', label: gettext('Days'), group: gettext('Repeat'),
mode: ['create', 'edit'], mode: ['create', 'edit'],
@@ -344,11 +357,11 @@ define('pgadmin.node.pga_schedule', [
this, arguments this, arguments
); );
this.$el.prepend( // $(
'<div class="set-group">' + // '<div>' +
gettext('Schedules are specified using a <b>cron-style</b> format.<br/><ul><li>For each selected time or date element, the schedule will execute.<br/>e.g. To execute at 5 minutes past every hour, simply select 05 in the Minutes list box.<br/></li><li>Values from more than one field may be specified in order to further control the schedule.<br/>e.g. To execute at 12:05 and 14:05 every Monday and Thursday, you would click minute 05, hours 12 and 14, and weekdays Monday and Thursday.</li><li>For additional flexibility, the Month Days check list includes an extra Last Day option. This matches the last day of the month, whether it happens to be the 28th, 29th, 30th or 31st.</li></ul>') + // gettext('Schedules are specified using a <b>cron-style</b> format.<br/><ul><li>For each selected time or date element, the schedule will execute.<br/>e.g. To execute at 5 minutes past every hour, simply select 05 in the Minutes list box.<br/></li><li>Values from more than one field may be specified in order to further control the schedule.<br/>e.g. To execute at 12:05 and 14:05 every Monday and Thursday, you would click minute 05, hours 12 and 14, and weekdays Monday and Thursday.</li><li>For additional flexibility, the Month Days check list includes an extra Last Day option. This matches the last day of the month, whether it happens to be the 28th, 29th, 30th or 31st.</li></ul>') +
'</div>' // '</div>'
); // ).insertBefore(this.$el);
return res; return res;
}, },

View File

@@ -68,18 +68,19 @@ define('pgadmin.node.role', [
var RoleCustomSwitchControl = Backform.SwitchControl.extend({ var RoleCustomSwitchControl = Backform.SwitchControl.extend({
template: _.template([ template: _.template([
'<label class="control-label"><%=label%></label>', '<label class="control-label pg-el-sm-10 pg-el-12"><%=label%></label>',
'<div class="pgadmin-controls">', '<div class="pgadmin-controls pg-el-sm-2 pg-el-12">',
' <div class="checkbox" style="float:right">', ' <div class="checkbox">',
' <label>', ' <label>',
' <input type="checkbox" class="<%=extraClasses.join(\' \')%>" name="<%=name%>" <%=value ? "checked=\'checked\'" : ""%> <%=disabled ? "disabled" : ""%> <%=required ? "required" : ""%> />', ' <input type="checkbox" class="<%=extraClasses.join(\' \')%>" name="<%=name%>" <%=value ? "checked=\'checked\'" : ""%> <%=disabled ? "disabled" : ""%> <%=required ? "required" : ""%> />',
' </label>', ' </label>',
' </div>', ' </div>',
' <% if (helpMessage && helpMessage.length) { %>',
' <span class="<%=Backform.helpMessageClassName%>"><%=helpMessage%></span>',
' <% } %>',
'</div>', '</div>',
'<% if (helpMessage && helpMessage.length) { %>',
' <span class="<%=Backform.helpMessageClassName%>"><%=helpMessage%></span>',
'<% } %>',
].join('\n')), ].join('\n')),
className: 'pgadmin-control-group form-group pg-el-12 row',
}); });
var RoleMembersControl = Backform.Control.extend({ var RoleMembersControl = Backform.Control.extend({

View File

@@ -9,4 +9,4 @@
.change_password { .change_password {
padding-left: 7px; padding-left: 7px;
} }

View File

@@ -302,7 +302,7 @@ define('pgadmin.node.tablespace', [
}; };
}); });
} }
Alertify.move_objects_dlg(true).resizeTo('40%','50%'); Alertify.move_objects_dlg(true).resizeTo(pgBrowser.stdW.md,pgBrowser.stdH.md);
}, },
}, },
model: pgBrowser.Node.Model.extend({ model: pgBrowser.Node.Model.extend({

View File

@@ -9,8 +9,8 @@ define('pgadmin.node.server_group', [
type: 'server_group', type: 'server_group',
dialogHelp: url_for('help.static', {'filename': 'server_group_dialog.html'}), dialogHelp: url_for('help.static', {'filename': 'server_group_dialog.html'}),
label: gettext('Server Group'), label: gettext('Server Group'),
width: '350px', width: '250px',
height: '250px', height: '150px',
is_collection: true, is_collection: true,
Init: function() { Init: function() {
/* Avoid multiple registration of menus */ /* Avoid multiple registration of menus */

View File

@@ -44,30 +44,11 @@
width: 140px; width: 140px;
} }
.wizard-right-panel_content {
padding: 0.5rem 0rem;
}
/* Wizard Footer CSS */ /* Wizard Footer CSS */
.pgadmin-wizard .footer .row { .pgadmin-wizard .footer .row {
margin: 0 -6px 3px -6px; margin: 0 -6px 3px -6px;
} }
/* Wizard Button CSS */
.pgadmin-wizard .wizard-buttons button.wizard-next i.fa {
padding-left: 5px;
}
.pgadmin-wizard .wizard-buttons button.wizard-back i.fa,
.pgadmin-wizard .wizard-buttons button.wizard-cancel i.fa {
padding-right: 5px;
}
.pgadmin-wizard .wizard-buttons .wizard-finish {
margin-right: 0 !important;
}
.wizard-header .wizard-cancel-event { .wizard-header .wizard-cancel-event {
background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAdklEQVQ4jd2SwQnAIAxF36GH0pOTFHEgF3IkR5LO0F4SCGJVEHroAy/f/E+igV+yAa6hO7nrcgAZuIBg9CBalppXEnDL0RA1q556ASdQqhBrLlLTxVch1uxHZiU2AuKs2Vdt23GGHSy/wfIvzOzBPhpjaRO/5wG/szevJ+ZXzAAAAABJRU5ErkJggg==) no-repeat center center; background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAdklEQVQ4jd2SwQnAIAxF36GH0pOTFHEgF3IkR5LO0F4SCGJVEHroAy/f/E+igV+yAa6hO7nrcgAZuIBg9CBalppXEnDL0RA1q556ASdQqhBrLlLTxVch1uxHZiU2AuKs2Vdt23GGHSy/wfIvzOzBPhpjaRO/5wG/szevJ+ZXzAAAAABJRU5ErkJggg==) no-repeat center center;
padding: 10px; padding: 10px;

View File

@@ -108,6 +108,19 @@ define('pgadmin.browser', [
// It will be used to register extensions, tools, child node scripts, // It will be used to register extensions, tools, child node scripts,
// etc. // etc.
scripts: {}, scripts: {},
// Standard Widths and Height for dialogs in px
stdW: {
sm: 500,
md: 700,
lg: 900,
default: 500,
},
stdH: {
sm: 200,
md: 400,
lg: 550,
default: 550,
},
// Default panels // Default panels
panels: { panels: {
// Panel to keep the left hand browser tree // Panel to keep the left hand browser tree

View File

@@ -313,18 +313,19 @@ define('pgadmin.browser.node', [
} }
var onSessionInvalid = function(msg) { var onSessionInvalid = function(msg) {
var alertMessage = '\ var alertMessage = `
<div class="media error-in-footer bg-danger-light border-danger text-danger text-14">\ <div class="error-in-footer">
<div class="media-body media-middle">\ <div class="d-flex px-2 py-1">
<div class="alert-icon error-icon">\ <div class="pr-2">
<i class="fa fa-exclamation-triangle" aria-hidden="true"></i>\ <i class="fa fa-exclamation-triangle text-danger" aria-hidden="true"></i>
</div>\ </div>
<div class="alert-text">' + msg + '</div>\ <div class="alert-text">${msg}</div>
<div class="close-error-bar">\ <div class="ml-auto close-error-bar">
<a class="close-error">x</a>\ <a class="close-error fa fa-times text-danger"></a>
</div>\ </div>
</div>\ </div>
</div>'; </div>`;
if (!_.isUndefined(that.statusBar)) { if (!_.isUndefined(that.statusBar)) {
that.statusBar.html(alertMessage).css('visibility', 'visible'); that.statusBar.html(alertMessage).css('visibility', 'visible');
that.statusBar.find('a.close-error').bind('click', function() { that.statusBar.find('a.close-error').bind('click', function() {
@@ -558,12 +559,43 @@ define('pgadmin.browser.node', [
d.body.insertBefore(el, d.body.firstChild); d.body.insertBefore(el, d.body.firstChild);
var pW = screen.width < 800 ? '95%' : '500px', let w, h, x, y;
pH = screen.height < 600 ? '95%' : '550px', if(screen.width < 800) {
w = pgAdmin.toPx(el, self.width || pW, 'width', true), w= pgAdmin.toPx(el, '95%', 'width', true);
h = pgAdmin.toPx(el, self.height || pH, 'height', true), } else {
x = (b.offsetWidth - w) / 2, w= pgAdmin.toPx(el, self.width || pgBrowser.stdW.default+'px', 'width', true);
y = (b.offsetHeight - h) / 2;
/* Fit to standard sizes */
if(w <= pgBrowser.stdW.sm) {
w = pgBrowser.stdW.sm;
} else {
if(w <= pgBrowser.stdW.md) {
w = pgBrowser.stdW.md;
} else {
w = pgBrowser.stdW.lg;
}
}
}
if(screen.height < 600) {
h = pgAdmin.toPx(el, '95%', 'height', true);
} else {
h = pgAdmin.toPx(el, self.height || pgBrowser.stdH.default+'px', 'height', true);
/* Fit to standard sizes */
if(h <= pgBrowser.stdH.sm) {
h = pgBrowser.stdH.sm;
} else {
if(h <= pgBrowser.stdH.md) {
h = pgBrowser.stdH.md;
} else {
h = pgBrowser.stdH.lg;
}
}
}
x = (b.offsetWidth - w) / 2,
y = (b.offsetHeight - h) / 4;
var p = pgBrowser.docker.addPanel( var p = pgBrowser.docker.addPanel(
'node_props', wcDocker.DOCK.FLOAT, undefined, { 'node_props', wcDocker.DOCK.FLOAT, undefined, {
@@ -1319,7 +1351,7 @@ define('pgadmin.browser.node', [
var btnGroup = this.find('.pg-prop-btn-group'), var btnGroup = this.find('.pg-prop-btn-group'),
btnSave = btnGroup.find('button.btn-primary'), btnSave = btnGroup.find('button.btn-primary'),
btnReset = btnGroup.find('button.btn-warning'); btnReset = btnGroup.find('button.btn-secondary[type="reset"]');
if (hasError || !modified) { if (hasError || !modified) {
btnSave.prop('disabled', true); btnSave.prop('disabled', true);

View File

@@ -142,10 +142,10 @@ define(
p.pgResizeTimeout = null; p.pgResizeTimeout = null;
/** Calculations based on https://getbootstrap.com/docs/4.1/layout/grid/#grid-options **/ /** Calculations based on https://getbootstrap.com/docs/4.1/layout/grid/#grid-options **/
if (w < 576) { if (w < 480) {
w = 'xs'; w = 'xs';
} }
if (w >= 576) { if (w >= 480) {
w = 'sm'; w = 'sm';
} }
if (w >= 768) { if (w >= 768) {

View File

@@ -13,6 +13,7 @@ let _defaultToolBarButtons = [
text: '', text: '',
toggled: false, toggled: false,
toggleClass: '', toggleClass: '',
parentClass: 'pg-toolbar-btn',
enabled: false, enabled: false,
}, },
{ {
@@ -21,6 +22,7 @@ let _defaultToolBarButtons = [
text: '', text: '',
toggled: false, toggled: false,
toggleClass: '', toggleClass: '',
parentClass: 'pg-toolbar-btn',
enabled: false, enabled: false,
}, },
{ {
@@ -29,6 +31,7 @@ let _defaultToolBarButtons = [
text: '', text: '',
toggled: false, toggled: false,
toggleClass: '', toggleClass: '',
parentClass: 'pg-toolbar-btn',
enabled: false, enabled: false,
}, },
]; ];

View File

@@ -106,20 +106,19 @@ define([
' </div>' + ' </div>' +
' </div>' + ' </div>' +
' <div class="wizard-footer pg-prop-footer">' + ' <div class="wizard-footer pg-prop-footer">' +
' <div class="pg-prop-status-bar" style="visibility:hidden">' + ' <div class="pg-prop-status-bar" style="visibility:hidden">' +
' <div class="media error-in-footer bg-danger-light border-danger text-danger text-14">' + ' <div class="error-in-footer"> ' +
' <div class="media-body media-middle">' + ' <div class="d-flex px-2 py-1"> ' +
' <div class="alert-icon error-icon">' + ' <div class="pr-2"> ' +
' <i class="fa fa-exclamation-triangle" aria-hidden="true"></i>' + ' <i class="fa fa-exclamation-triangle text-danger" aria-hidden="true"></i> ' +
' </div>' + ' </div> ' +
' <div class="alert-text">' + ' <div class="alert-text"></div> ' +
' </div>' + ' <div class="ml-auto close-error-bar"> ' +
' <div class="close-error-bar">' + ' <a class="close-error fa fa-times text-danger"></a> ' +
' <a class="close-error">x</a>' + ' </div> ' +
' </div>' + ' </div> ' +
' </div>' + ' </div> ' +
' </div>' + ' </div>' +
' </div>' +
' <div class="wizard-buttons d-flex">' + ' <div class="wizard-buttons d-flex">' +
' <div>' + ' <div>' +
' <button title = "' + gettext('Help for this dialog.') + '"' + ' <button title = "' + gettext('Help for this dialog.') + '"' +
@@ -128,14 +127,14 @@ define([
' </div>' + ' </div>' +
' <div class="ml-auto">' + ' <div class="ml-auto">' +
' <button class="btn btn-secondary wizard-cancel" <%=this.options.disable_cancel ? "disabled" : ""%>>' + ' <button class="btn btn-secondary wizard-cancel" <%=this.options.disable_cancel ? "disabled" : ""%>>' +
' <i class="fa fa-lg fa-close"></i>' + gettext('Cancel') + '</button>' + ' <i class="fa fa-close"></i>&nbsp;' + gettext('Cancel') + '</button>' +
' <button class="btn btn-secondary wizard-back" <%=this.options.disable_prev ? "disabled" : ""%>>' + ' <button class="btn btn-secondary wizard-back" <%=this.options.disable_prev ? "disabled" : ""%>>' +
' <i class="fa fa-backward"></i>' + gettext('Back') + '</button>' + ' <i class="fa fa-backward"></i>&nbsp;' + gettext('Back') + '</button>' +
' <button class="btn btn-secondary wizard-next" <%=this.options.disable_next ? "disabled" : ""%>>' + ' <button class="btn btn-secondary wizard-next" <%=this.options.disable_next ? "disabled" : ""%>>' +
' ' + gettext('Next') + ' ' + gettext('Next') +
' <i class="fa fa-forward"></i></button>' + ' &nbsp;<i class="fa fa-forward"></i></button>' +
' <button class="btn btn-primary wizard-finish" <%=this.options.disable_finish ? "disabled" : ""%>>' + ' <button class="btn btn-primary wizard-finish" <%=this.options.disable_finish ? "disabled" : ""%>>' +
' ' + gettext('Finish') + '</button>' + ' <i class="fa fa-check"></i>&nbsp;' + gettext('Finish') + '</button>' +
' </div>' + ' </div>' +
' </div>' + ' </div>' +
' </div>' + ' </div>' +

View File

@@ -46,3 +46,8 @@ samp,
text-align: center; text-align: center;
color: $loading-fg; color: $loading-fg;
} }
.pg-toolbar-btn {
margin-left: 0.25rem;
border: $input-btn-border-width solid $btn-secondary-border;
}

View File

@@ -82,7 +82,7 @@ $bgproc-container-pad: 2px;
.ajs-bg-bgprocess > .pg-bg-bgprocess > .pg-bg-status.bg-failed { .ajs-bg-bgprocess > .pg-bg-bgprocess > .pg-bg-status.bg-failed {
color: $color-fg; color: $color-fg;
background-color: $color-danger-light; background-color: $color-danger-lighter;
} }
.pg-panel-content div.bg-process-watcher { .pg-panel-content div.bg-process-watcher {

View File

@@ -236,10 +236,8 @@ a.dz-remove {
.file_listing .no_folder_found { .file_listing .no_folder_found {
text-align: center; text-align: center;
position: absolute;
top: 50px;
width: 100%; width: 100%;
font-size: 14px; padding: 0.5rem;
} }
div.change_file_types span { div.change_file_types span {

View File

@@ -29,9 +29,9 @@ define('misc.file_manager', [
// Call dialogs subject to dialog_type param // Call dialogs subject to dialog_type param
show_dialog: function(params) { show_dialog: function(params) {
if (params.dialog_type == 'create_file') { if (params.dialog_type == 'create_file') {
Alertify.createModeDlg(params).resizeTo('60%', '80%'); Alertify.createModeDlg(params).resizeTo(pgAdmin.Browser.stdW.md,pgAdmin.Browser.stdH.lg);
} else { } else {
Alertify.fileSelectionDlg(params).resizeTo('60%', '80%'); Alertify.fileSelectionDlg(params).resizeTo(pgAdmin.Browser.stdW.md,pgAdmin.Browser.stdH.lg);
} }
}, },
}; };

View File

@@ -576,7 +576,7 @@ define([
result += '</ul>'; result += '</ul>';
} else { } else {
result += '<table id="contents" class="table table-bordered table-noouter-border table-hover tablesorter">'; result += '<table id="contents" class="table table-bordered table-noouter-border table-bottom-border table-hover tablesorter">';
result += '<thead><tr><th>'; result += '<thead><tr><th>';
result += '<span>' + lg.name + '</span></th>'; result += '<span>' + lg.name + '</span></th>';
result += '<th><span>' + lg.size + '</span></th><th>'; result += '<th><span>' + lg.size + '</span></th><th>';
@@ -659,16 +659,15 @@ define([
if ($('.fileinfo').data('view') == 'grid') { if ($('.fileinfo').data('view') == 'grid') {
result += '<ul id="contents" class="grid"></ul>'; result += '<ul id="contents" class="grid"></ul>';
} else { } else {
result += '<table id="contents" class="list tablesorter">'; result += '<table id="contents" class="table table-bordered table-noouter-border table-empty-rows ablesorter">';
result += '<thead><tr><th><span>' + result += '<thead><tr><th><span>' + lg.name + '</span></th>' +
lg.name + '</span></th><th><span>' + lg.size + '<th><span>' + lg.size + '</span></th>' +
'</span></th><th><span>' + lg.modified + '<th><span>' + lg.modified + '</span></th>' +
'</span></th></tr></thead>'; '</tr></thead>';
result += '<tbody>'; result += '</tbody>';
result += '</table>';
} }
result += '<h1 class="no_folder_found">' + result += '<div class="no_folder_found">' + lg.could_not_retrieve_folder + '</div>';
lg.could_not_retrieve_folder + '</h1>';
var cap_no_folders = ['upload', 'create']; var cap_no_folders = ['upload', 'create'];
data.Capabilities = cap_no_folders; data.Capabilities = cap_no_folders;
@@ -691,7 +690,7 @@ define([
if ($('.fileinfo').data('view') == 'grid') { if ($('.fileinfo').data('view') == 'grid') {
e.stopPropagation(); e.stopPropagation();
$this = $('.file_manager').find('#contents li.selected p'); $this = $('.file_manager').find('#contents li.selected p');
orig_value = decodeURI($this.find('span').attr('title')); orig_value = decodeURI($this.find('span.less_text').attr('title'));
newvalue = orig_value.substring(0, orig_value.indexOf('.')); newvalue = orig_value.substring(0, orig_value.indexOf('.'));
if (newvalue === '') { if (newvalue === '') {
@@ -715,7 +714,7 @@ define([
$this = $('.fileinfo').find( $this = $('.fileinfo').find(
'table#contents tbody tr.selected td:first-child p' 'table#contents tbody tr.selected td:first-child p'
); );
orig_value = decodeURI($this.find('span').html()), orig_value = decodeURI($this.find('span.less_text').html()),
newvalue = orig_value.substring(0, orig_value.lastIndexOf('.')); newvalue = orig_value.substring(0, orig_value.lastIndexOf('.'));
if (orig_value.lastIndexOf('/') == orig_value.length - 1 || newvalue === '') { if (orig_value.lastIndexOf('/') == orig_value.length - 1 || newvalue === '') {
@@ -1137,7 +1136,7 @@ define([
<input type='checkbox' id='show_hidden' onclick='pgAdmin.FileUtils.handleClick(this)' tabindex='11'> <input type='checkbox' id='show_hidden' onclick='pgAdmin.FileUtils.handleClick(this)' tabindex='11'>
</div> </div>
<div class="ml-auto"> <div class="ml-auto">
<label>${gettext('Format')}</label> <label class="my-auto">${gettext('Format')}</label>
<select name='type' tabindex='12'>${fileFormats}</select> <select name='type' tabindex='12'>${fileFormats}</select>
<div>`; <div>`;
} }

View File

@@ -142,6 +142,9 @@
.allowed_file_types { .allowed_file_types {
border-top: $panel-border; border-top: $panel-border;
background: $color-bg-theme;
z-index: 5;
padding: 0.25rem;
} }
.upload_file{ .upload_file{
@@ -211,10 +214,10 @@
} }
.fileinfo .fm_dimmer { .fileinfo .fm_dimmer {
height: calc(100% - 32px);
display: none; display: none;
top: 0px; top: 0;
background:$color-fg; bottom: 0;
background: $loading-bg;
opacity: 0.5; opacity: 0.5;
width: 100%; width: 100%;
position: absolute; position: absolute;
@@ -223,10 +226,8 @@
.fileinfo .delete_item, .fileinfo .replace_file { .fileinfo .delete_item, .fileinfo .replace_file {
display: none; display: none;
padding: 15px 15px; padding: 1rem;
border: 1px solid $color-gray-light; border-bottom: $panel-border;
border-left: 0;
border-right: 0;
background: $color-bg-theme; background: $color-bg-theme;
position: absolute; position: absolute;
top: 0; top: 0;
@@ -235,15 +236,6 @@
z-index: 4; z-index: 4;
} }
.fileinfo .delete_item span.pull-right .btn,
.fileinfo .replace_file span.pull-right .btn {
padding: 0px 5px;
color: $color-fg;
background: $color-bg;
font-size: 12px;
margin-right: 4px;
}
.upload_file .dz_cross_btn { .upload_file .dz_cross_btn {
color: $color-fg-theme; color: $color-fg-theme;
right: 0px; right: 0px;

View File

@@ -64,16 +64,16 @@
<div class='fm_dimmer'></div> <div class='fm_dimmer'></div>
<div class='delete_item'> <div class='delete_item'>
<span>{{ _('Are you sure you want to delete this item?') }}</span> <span>{{ _('Are you sure you want to delete this item?') }}</span>
<span class="pull-right"> <span class="pull-right">
<button type='button' class='btn btn_yes' tabindex="13">{{ _('Yes') }}</button> <button type='button' class='btn btn-secondary btn_no' tabindex="14">{{ _('No') }}</button>
<button type='button' class='btn btn_no' tabindex="14">{{ _('No') }}</button> <button type='button' class='btn btn-primary btn_yes' tabindex="13">{{ _('Yes') }}</button>
</span> </span>
</div> </div>
<div class='replace_file'> <div class='replace_file'>
<span>{{ _('Are you sure you want to replace this file?') }}</span> <span>{{ _('Are you sure you want to replace this file?') }}</span>
<span class="pull-right"> <span class="pull-right">
<button type='button' class='btn btn_yes' tabindex="15">{{ _('Yes') }}</button> <button type='button' class='btn btn-secondary btn_no' tabindex="16">{{ _('No') }}</button>
<button type='button' class='btn btn_no' tabindex="16">{{ _('No') }}</button> <button type='button' class='btn btn-primary btn_yes' tabindex="15">{{ _('Yes') }}</button>
</span> </span>
</div> </div>
</div> </div>

View File

@@ -6,11 +6,11 @@
cursor: pointer; cursor: pointer;
} }
.pg-explain-zoom-btn { .pg-explain-zoom-btn,
.pg-explain-download-btn {
top: 5px; top: 5px;
min-width: 25px; min-width: 25px;
cursor: pointer; cursor: pointer;
border: 1px solid transparent;
font-size: 0.75rem; font-size: 0.75rem;
} }
@@ -72,10 +72,3 @@ td.explain-tooltip-val {
left: 79px; left: 79px;
opacity: 0.5; opacity: 0.5;
} }
.pg-explain-download-btn {
top: 5px;
min-width: 25px;
border: 1px solid transparent;
font-size: 0.75rem;
}

View File

@@ -307,12 +307,6 @@ define('pgadmin.preferences', [
/* /*
* Clear the existing html in the preferences content * Clear the existing html in the preferences content
*/ */
// Keyboard short cuts and nodes wiull have striped divs
if (d.label.toLowerCase() == 'keyboard shortcuts' || d.label.toLowerCase() == 'nodes')
$container.find('.preferences_content').addClass('striped-divs');
else
$container.find('.preferences_content').removeClass('striped-divs');
$container.find('.preferences_content'); $container.find('.preferences_content');
renderPreferencePanel(d.preferences); renderPreferencePanel(d.preferences);
@@ -477,7 +471,7 @@ define('pgadmin.preferences', [
}, },
show: function() { show: function() {
Alertify.preferencesDlg(true).resizeTo('60%', '60%'); Alertify.preferencesDlg(true).resizeTo(pgAdmin.Browser.stdW.lg,pgAdmin.Browser.stdH.lg);
}, },
}; };

View File

@@ -3,22 +3,13 @@
padding-top: 2px; padding-top: 2px;
height: 100%; height: 100%;
overflow: auto; overflow: auto;
border-right: 2px solid $color-gray-light; border-right: $panel-border;
background-image: $color-gray-lighter;
}
.preferences_content {
&.striped-divs > {
div.pgadmin-control-group:nth-of-type(odd) {
background: $color-gray-light;
padding-top: 6px;
}
div.pgadmin-control-group:nth-of-type(even) {
background: $color-bg-theme;
}
}
} }
.btn-checkbox { .btn-checkbox {
padding: $btn-checkbox-padding; padding: $btn-checkbox-padding;
& input[type="checkbox"]{
margin-top: 0px !important;
}
} }

View File

@@ -197,10 +197,10 @@ define([
this.pgResizeTimeout = null; this.pgResizeTimeout = null;
/** Calculations based on https://getbootstrap.com/docs/4.1/layout/grid/#grid-options **/ /** Calculations based on https://getbootstrap.com/docs/4.1/layout/grid/#grid-options **/
if (w < 576) { if (w < 480) {
w = 'xs'; w = 'xs';
} }
if (w >= 576) { if (w >= 480) {
w = 'sm'; w = 'sm';
} }
if (w >= 768) { if (w >= 768) {

View File

@@ -2288,7 +2288,7 @@ define([
'<div class="input-group">', '<div class="input-group">',
'<input type="<%=type%>" class="form-control <%=extraClasses.join(\' \')%>" name="<%=name%>" min="<%=min%>" max="<%=max%>"maxlength="<%=maxlength%>" value="<%-value%>" placeholder="<%-placeholder%>" <%=disabled ? "disabled" : ""%> <%=required ? "required" : ""%> />', '<input type="<%=type%>" class="form-control <%=extraClasses.join(\' \')%>" name="<%=name%>" min="<%=min%>" max="<%=max%>"maxlength="<%=maxlength%>" value="<%-value%>" placeholder="<%-placeholder%>" <%=disabled ? "disabled" : ""%> <%=required ? "required" : ""%> />',
'<div class="input-group-append">', '<div class="input-group-append">',
'<button class="btn btn-outline-secondary fa fa-ellipsis-h select_item" <%=disabled ? "disabled" : ""%> ></button>', '<button class="btn btn-secondary fa fa-ellipsis-h select_item" <%=disabled ? "disabled" : ""%> ></button>',
'</div>', '</div>',
'</div>', '</div>',
'<% if (helpMessage && helpMessage.length) { %>', '<% if (helpMessage && helpMessage.length) { %>',

View File

@@ -36,7 +36,13 @@
function getButtons(editable) { function getButtons(editable) {
var $buttons = $('<div class=\'pg_buttons\' />'), var $buttons = $('<div class=\'pg_buttons\' />'),
label = editable ? 'Cancel' : 'OK', label = editable ? 'Cancel' : 'OK',
button_type = editable ? 'btn-danger' : 'btn-primary'; button_type = editable ? 'btn-secondary' : 'btn-primary',
button_icon = editable ? 'fa-times' : 'fa-check';
$('<button class=\'btn ' + button_type + ' long_text_editor pg-alertify-button\' data-label="'+label+'">' +
'<span class="fa '+ button_icon +' pg-alertify-button"></span>&nbsp;'+ label +
'</button>')
.appendTo($buttons);
if (editable) { if (editable) {
$('<button class=\'btn btn-primary long_text_editor\' data-label="Save">'+ $('<button class=\'btn btn-primary long_text_editor\' data-label="Save">'+
@@ -44,11 +50,6 @@
'</button>') '</button>')
.appendTo($buttons); .appendTo($buttons);
} }
$('<button class=\'btn ' + button_type + ' long_text_editor pg-alertify-button\' data-label="'+label+'">' +
'<span class="fa fa-save pg-alertify-button"></span>&nbsp;'+ label +
'</button>')
.appendTo($buttons);
return $buttons; return $buttons;
} }
@@ -140,8 +141,8 @@
$input = getTextArea().appendTo($wrapper); $input = getTextArea().appendTo($wrapper);
$buttons = getButtons(true).appendTo($wrapper); $buttons = getButtons(true).appendTo($wrapper);
$buttons.find('button:first').on('click', this.save); $buttons.find('button:first').on('click', this.cancel);
$buttons.find('button:last').on('click', this.cancel); $buttons.find('button:last').on('click', this.save);
$input.on('keydown', this.handleKeyDown); $input.on('keydown', this.handleKeyDown);
scope.position(args.position); scope.position(args.position);

View File

@@ -112,19 +112,17 @@ let FilterDialog = {
this.__internal.buttons[2].element.disabled = true; this.__internal.buttons[2].element.disabled = true;
// Status bar // Status bar
this.statusBar = $('<div class=\'pg-prop-status-bar pg-el-xs-12 d-none\'>' + this.statusBar = $(
' <div class=\'media error-in-footer bg-danger-light border-danger text-danger text-14\'>' + '<div class=\'pg-prop-status-bar pg-el-xs-12 d-none\'>' +
' <div class=\'media-body media-middle\'>' + ' <div class="error-in-footer"> ' +
' <div class=\'alert-icon error-icon\'>' + ' <div class="d-flex px-2 py-1"> ' +
' <i class=\'fa fa-exclamation-triangle\' aria-hidden=\'true\'></i>' + ' <div class="pr-2"> ' +
' </div>' + ' <i class="fa fa-exclamation-triangle text-danger" aria-hidden="true"></i> ' +
' <div class=\'alert-text\'>' + ' </div> ' +
' </div>' + ' <div class="alert-text"></div> ' +
' </div>' + ' </div> ' +
' </div>' + ' </div> ' +
'</div>', { '</div>').appendTo($container);
text: '',
}).appendTo($container);
// To show progress on filter Saving/Updating on AJAX // To show progress on filter Saving/Updating on AJAX
this.showFilterProgress = $( this.showFilterProgress = $(
@@ -259,7 +257,7 @@ let FilterDialog = {
}; };
}); });
Alertify.filterDialog(title).resizeTo('65%', '60%'); Alertify.filterDialog(title).resizeTo(pgAdmin.Browser.stdW.md,pgAdmin.Browser.stdH.md);
}) })
.fail(function(e) { .fail(function(e) {
handleQueryToolAjaxError(pgAdmin, handler, e, '_show_filter', [], true); handleQueryToolAjaxError(pgAdmin, handler, e, '_show_filter', [], true);

View File

@@ -88,14 +88,15 @@ let queryToolNotifications = {
// Set up the grid // Set up the grid
let notifications_grid = new Backgrid.Grid({ let notifications_grid = new Backgrid.Grid({
emptyText: 'No data found',
columns: gridCols, columns: gridCols,
collection: queryToolNotifications.collection, collection: queryToolNotifications.collection,
className: 'backgrid table-bordered presentation table backgrid-striped', className: 'backgrid presentation table table-bordered table-hover table-noouter-border table-bottom-border',
}); });
// Render the grid // Render the grid
if (notifications_grid) if (notifications_grid)
notifications_panel.$container.append(notifications_grid.render().el); notifications_panel.$container.find('.sql-editor-notifications').append(notifications_grid.render().el);
}, },
// This function is used to raise notify messages and update the // This function is used to raise notify messages and update the

View File

@@ -3,7 +3,7 @@
} }
.aciTree .aciTreeText { .aciTree .aciTreeText {
font-family: $font-family-primary; font-family: $font-family-primary;
font-size: 12px; font-size: 0.815rem;
} }
.aciTree.aciTreeFocus .aciTreeFocus > .aciTreeLine { .aciTree.aciTreeFocus .aciTreeFocus > .aciTreeLine {
background-color: $color-primary-light; background-color: $color-primary-light;

View File

@@ -104,25 +104,17 @@
} }
.alert-text { .alert-text {
flex-grow: 1;
border: 1px solid $color-danger-light;
padding: 6px 12px 6px 10px;
border-left: none;
-moz-user-select: text; -moz-user-select: text;
-khtml-user-select: text; -khtml-user-select: text;
-webkit-user-select: text; -webkit-user-select: text;
-ms-user-select: text; -ms-user-select: text;
user-select: text; user-select: text;
width: 100%;
} }
.error-in-footer { .error-in-footer {
border-radius: 5px; border-radius: $border-radius;
border: 1px solid transparent; border: 1px solid $color-danger-light;
background: $color-danger-lighter;
.alert-text {
border-color: $color-danger-light;
}
} }
.success-in-footer { .success-in-footer {

View File

@@ -32,7 +32,7 @@
border-top-left-radius: $panel-border-radius; border-top-left-radius: $panel-border-radius;
border-top-right-radius: $panel-border-radius; border-top-right-radius: $panel-border-radius;
& .ajs-content { & .ajs-content {
top: 0; top: 0 !important;
border-radius: inherit; border-radius: inherit;
} }
} }
@@ -48,7 +48,8 @@
} }
} }
.ajs-body .ajs-content { .ajs-body .ajs-content {
top: $title-height; top: $title-height !important;
bottom: $footer-height-calc !important;
} }
/* Removes padding from alertify footer */ /* Removes padding from alertify footer */
@@ -114,6 +115,10 @@
} }
} }
.alertify.ajs-frameless .ajs-body .ajs-content {
bottom: 0px !important;
}
.alertify.ajs-maximized .ajs-commands, .alertify.ajs-maximized .ajs-commands,
.alertify.ajs-resizable .ajs-commands { .alertify.ajs-resizable .ajs-commands {
margin: 2px 0px 0 0; margin: 2px 0px 0 0;
@@ -180,11 +185,9 @@
} }
.pg-alertify-icon-button { .pg-alertify-icon-button {
//refered - $input-btn-padding-y, $input-btn-padding-x
padding: 0.275rem $input-btn-padding-x;
&:before { &:before {
font-size: 1.3em !important; font-size: 1.3em !important;
line-height: 1.3; line-height: 1.2;
font-family: $font-family-icon; font-family: $font-family-icon;
} }
} }
@@ -195,7 +198,7 @@
} }
.ajs-message.ajs-error.ajs-visible { .ajs-message.ajs-error.ajs-visible {
background: $color-danger-light; background: $color-danger-lighter;
border: $border-width solid $color-danger; border: $border-width solid $color-danger;
@extend .ajs-text-smoothing; @extend .ajs-text-smoothing;
} }
@@ -215,3 +218,7 @@
.ajs-message > .media > .media-body.media-middle { .ajs-message > .media > .media-body.media-middle {
display: flex; display: flex;
} }
.alertify .ajs-dimmer {
background-color: $loading-bg;
}

View File

@@ -1,6 +1,6 @@
.has-error { .has-error {
.pgadmin-controls .form-control { .pgadmin-controls .form-control {
border-color: $color-danger; border-color: $color-danger-light;
} }
.form-control { .form-control {
@@ -11,15 +11,15 @@
color: $color-danger; color: $color-danger;
} }
.control-label:before { .control-label::before {
font: normal normal normal 16px/1 FontAwesome; font: normal normal normal 16px/1 FontAwesome;
content: "\f071"; content: "\f071";
text-decoration: inherit; text-decoration: inherit;
position: absolute; position: absolute;
color: $color-danger; color: $color-danger;
right: 6px; right: 0.5rem;
padding-top: 6px;
z-index: 1; z-index: 1;
line-height: inherit;
} }
} }
@@ -36,10 +36,14 @@
} }
} }
.backform-tab .tab-pane { .backform-tab .tab-pane {
padding: 7px; padding: 0.5rem;
&.SQL { &.SQL {
height: 100%; height: 100%;
padding: 0px 7px 0px 0px; padding: 0px;
& .pgadmin-controls.SQL {
padding: 0px;
}
} }
} }

View File

@@ -1,6 +1,7 @@
.backgrid th, .backgrid td { .backgrid th, .backgrid td {
font-weight: normal!important; font-weight: normal!important;
text-align: left; text-align: left;
line-height: $line-height-base;
} }
.backgrid.backgrid-striped tbody { .backgrid.backgrid-striped tbody {
@@ -223,6 +224,10 @@ span.form-control:disabled {
background-color: $color-bg; background-color: $color-bg;
border: 1px solid $border-color; border: 1px solid $border-color;
border-radius: $panel-border-radius; border-radius: $panel-border-radius;
& .tab-pane {
padding: 0.5rem;
}
} }
.subnode-footer { .subnode-footer {
height: 38px; height: 38px;

View File

@@ -18,6 +18,10 @@ iframe {
border-width: 0; border-width: 0;
} }
legend {
margin-bottom: 0rem;
}
/* Padding for the treeview */ /* Padding for the treeview */
.browser-browser-pane { .browser-browser-pane {
padding-left: 0; padding-left: 0;
@@ -134,13 +138,19 @@ iframe {
border-left: 5px solid; border-left: 5px solid;
border-top: 5px solid transparent; border-top: 5px solid transparent;
} }
/* 25px is for showing error icon */
.control-label { .control-label {
display: inline-block; display: inline-block;
margin: 0px; margin: 0px;
padding: 5px 25px 5px 5px; padding: 5px 25px 5px 5px !important;
vertical-align: middle; vertical-align: middle;
} }
.form-check {
padding-left: 0rem;
padding-right: 0.5rem;
}
.form-control[disabled], .form-control[readonly], fieldset[disabled] .form-control { .form-control[disabled], .form-control[readonly], fieldset[disabled] .form-control {
color: $text-muted; color: $text-muted;
} }
@@ -259,6 +269,7 @@ td.switch-cell > div.bootstrap-switch {
font-weight: bold; font-weight: bold;
&.active { &.active {
border-bottom: $active-border !important; border-bottom: $active-border !important;
color: $color-primary;
} }
} }
} }
@@ -311,3 +322,17 @@ td.switch-cell > div.bootstrap-switch {
.bootstrap-datetimepicker-widget thead th { .bootstrap-datetimepicker-widget thead th {
background-color: $color-bg; background-color: $color-bg;
} }
.input-group {
& .input-group-text {
background: $input-bg;
}
}
/* bootstrap-switch */
.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-primary, .bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-primary {
background: $color-primary;
}
.bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-success, .bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-success {
background: $color-success;
}

View File

@@ -24,9 +24,6 @@
.user-language div{ .user-language div{
float:left; float:left;
} }
.user-language select{
height: 25px !important;
}
.Resizer { .Resizer {
background: $color-gray-lighter; background: $color-gray-lighter;
@@ -142,7 +139,7 @@
} }
.alertify .ajs-body { .alertify .ajs-body {
min-height: $footer-height-calc*2; min-height: $footer-height-calc*1.5;
} }
@@ -248,6 +245,10 @@
margin-bottom: 33px; margin-bottom: 33px;
} }
.pg-prop-btn-group-above {
border-bottom: $panel-border;
}
.has-pg-prop-btn-group { .has-pg-prop-btn-group {
top: 45px; top: 45px;
height: calc(100% - 45px); height: calc(100% - 45px);
@@ -323,9 +324,10 @@
} }
.pgadmin-controls { .pgadmin-controls {
padding-right: 3px; padding-right: 0px;
padding-left: 3px; padding-left: 0px;
} }
.pgadmin-controls.SQL { .pgadmin-controls.SQL {
padding-right: 3px; padding-right: 3px;
padding-left: 1px; padding-left: 1px;
@@ -372,6 +374,11 @@
border-radius: 0rem; border-radius: 0rem;
border-top-left-radius: $card-border-radius; border-top-left-radius: $card-border-radius;
border-top-right-radius: $card-border-radius; border-top-right-radius: $card-border-radius;
&.collapsed {
border-bottom: none !important;
border-radius: $card-border-radius;
}
} }
.obj_properties .badge .caret { .obj_properties .badge .caret {
@@ -502,15 +509,17 @@ fieldset.inline-fieldset > div {
padding: 15px; padding: 15px;
} }
.pgadmin-control-group.sql { .pgadmin-control-group{
margin: 0px; &.sql, &.sqltab {
padding: 0px; margin: 0px;
height: 100%; padding: 0px;
height: 100%;
}
} }
.pgadmin-controls input[type="checkbox"]{ .pgadmin-controls input[type="checkbox"]{
margin-left: 0 !important; margin-left: 0 !important;
margin-top: 0px !important; margin-top: 10px !important;
} }
.pgadmin-controls.sql_field_layout { .pgadmin-controls.sql_field_layout {
@@ -520,14 +529,14 @@ fieldset.inline-fieldset > div {
z-index: 1; z-index: 1;
} }
.pgadmin-controls.focused { .pgadmin-controls.focused,
border-color: $color-primary-light; .pgadmin-controls:focus {
border-color: $input-focus-border-color !important;
outline: 0; outline: 0;
-webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba($color-primary, .6); -webkit-box-shadow: $input-focus-box-shadow;
box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba($color-primary, .6); box-shadow: $input-focus-box-shadow;
} }
.dashboard-tab-container, .dashboard-tab-container,
.pg-panel-statistics-container, .pg-panel-statistics-container,
.pg-panel-depends-container, .pg-panel-depends-container,
@@ -742,14 +751,7 @@ form[name="change_password_form"] .help-block {
} }
} }
.close-error-bar { .close-error {
background: $color-danger;
padding: 5px;
border-radius: 0px 4px 4px 0px;
}
.close-error-bar a {
color: $color-danger-fg !important;
cursor: pointer; cursor: pointer;
} }
@@ -831,6 +833,15 @@ table.table-bottom-border {
} }
} }
table.table-empty-rows{
thead th:last-of-type,tr:last-of-type{
& td, & th {
border-bottom: $panel-border;
}
}
}
.context-menu-list .context-menu-submenu:after { .context-menu-list .context-menu-submenu:after {
font-family: $font-family-icon; font-family: $font-family-icon;
content: "\f054" !important; content: "\f054" !important;
@@ -852,14 +863,21 @@ table.table-bottom-border {
padding-bottom: 1.0rem; padding-bottom: 1.0rem;
} }
& .panel-body { & .panel-body {
padding-botttom: 0.8rem; padding-bottom: 0.8rem;
} }
& .btn-login { & .btn-login {
background-color: $security-btn-color; background-color: $security-btn-color;
} }
& .user-language select { & .user-language {
background-color: transparent; & select{
color: $security-text-color; background-color: $color-primary;
color: $security-text-color;
& option{
background-color: $color-primary;
color: $security-text-color;
}
}
} }
& .pg-icon { & .pg-icon {
width: 28px; width: 28px;
@@ -917,7 +935,6 @@ table.table-bottom-border {
} }
} }
.backform-tab{ .backform-tab{
& > .nav.nav-tabs { & > .nav.nav-tabs {
position: absolute; position: absolute;
@@ -928,7 +945,7 @@ table.table-bottom-border {
& > .tab-content { & > .tab-content {
position: absolute; position: absolute;
top: $title-height; top: $title-height;
bottom: 50px; bottom: $footer-height-calc;
} }
} }
.ajs-content { .ajs-content {

View File

@@ -30,18 +30,14 @@
height: 100%; height: 100%;
} }
.select2-container--default.select2-container--focus
.select2-selection--multiple {
border: 1px solid $color-gray-light !important;
outline: 0 none;
}
.select2-container--default.select2-container--focus { .select2-container--default.select2-container--focus {
border-color: $color-primary-light; & .select2-selection--single,
outline: 0; & .select2-selection--multiple {
-webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba($color-primary, .6); border-color: $input-focus-border-color !important;
box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba($color-primary, .6); outline: 0;
-webkit-box-shadow: $input-focus-box-shadow;
box-shadow: $input-focus-box-shadow;
}
} }

View File

@@ -29,8 +29,8 @@
} }
.wcFrameButton { .wcFrameButton {
width: 25px; width: 24px;
height: 20px; height: 22px;
display: flex; display: flex;
border-radius: $btn-border-radius; border-radius: $btn-border-radius;
margin: auto; margin: auto;
@@ -85,6 +85,66 @@
.wcFloating { .wcFloating {
box-shadow: $box-shadow; box-shadow: $box-shadow;
z-index: 1050 !important; z-index: 1050 !important;
&.wcFrame, & .wcPanelBackground {
border-bottom-left-radius: $card-border-radius;
border-bottom-right-radius: $card-border-radius;
}
& .pg-panel-content {
border-bottom: $card-border-radius;
}
& .wcFrameCornerNE,
& .wcFrameCornerNW,
& .wcFrameCornerSE,
& .wcFrameCornerSW {
height: $card-border-radius*2;
width: $card-border-radius*2;
background: transparent;
}
& .wcFrameCornerNE {
border: $panel-border;
border-left: none !important;
border-bottom: none !important;
border-radius: none;
border-top-right-radius: $card-border-radius;
}
& .wcFrameCornerNW {
border: $panel-border;
border-right: none !important;
border-bottom: none !important;
border-radius: none;
border-top-left-radius: $card-border-radius;
}
& .wcFrameCornerSE {
border: $panel-border;
border-top: none !important;
border-left: none !important;
border-radius: none;
border-bottom-right-radius: $card-border-radius;
}
& .wcFrameCornerSW {
border: $panel-border;
border-right: none !important;
border-top: none !important;
border-radius: none;
border-bottom-left-radius: $card-border-radius;
}
.wcFrameEdgeH {
left: $card-border-radius !important;
right: $card-border-radius !important;
}
.wcFrameEdgeV {
top: $card-border-radius !important;
bottom: $card-border-radius !important;
}
} }
.wcFloating .wcPanelTabActive { .wcFloating .wcPanelTabActive {

View File

@@ -22,6 +22,10 @@
&-light { &-light {
background-color: $color-danger-light; background-color: $color-danger-light;
} }
&-lighter {
background-color: $color-danger-lighter;
}
} }
.bg-success { .bg-success {
@@ -81,6 +85,10 @@
&-light { &-light {
border-color: $color-danger-light; border-color: $color-danger-light;
} }
&-lighter {
border-color: $color-danger-lighter;
}
} }
.border-success { .border-success {

View File

@@ -19,7 +19,8 @@ $color-secondary: $white !default;
$color-danger: #e53935 !default; $color-danger: #e53935 !default;
$color-danger-fg: $white !default; $color-danger-fg: $white !default;
$color-danger-light: #FBE1E1; $color-danger-light: #F39999;
$color-danger-lighter: #FAECEC;
$color-success: #43a047 !default; $color-success: #43a047 !default;
$color-success-fg: $black !default; $color-success-fg: $black !default;
@@ -51,7 +52,7 @@ $font-family-editor: 'Source Code Pro' !default;
$font-family-icon: 'FontAwesome' !default; $font-family-icon: 'FontAwesome' !default;
$border-width: 1px; $border-width: 1px;
$border-color: rgba($color-gray, 0.5); $border-color: #dde0e6;
$border-color-dark: $color-gray; $border-color-dark: $color-gray;
$box-shadow: 0 0.5rem 3rem $color-gray-dark; $box-shadow: 0 0.5rem 3rem $color-gray-dark;
@@ -59,7 +60,8 @@ $box-shadow: 0 0.5rem 3rem $color-gray-dark;
$gray-600: $color-gray-dark; $gray-600: $color-gray-dark;
$gray-900: $color-fg-theme; $gray-900: $color-fg-theme;
$body-color: $color-fg-theme; $body-color: $color-fg-theme;
$font-size-base: 0.815rem; $font-size-base: 0.875rem;
$line-height-base: 1.5; // no change
$grid-gutter-width: 15px; $grid-gutter-width: 15px;
$border-radius: 0.25rem; //no change $border-radius: 0.25rem; //no change
@@ -122,9 +124,19 @@ $input-border-radius: $border-radius; //no change
$input-disabled-bg: $color-gray-lighter; $input-disabled-bg: $color-gray-lighter;
$input-btn-border-width: $border-width; //no change $input-btn-border-width: $border-width; //no change
$input-border-width: $input-btn-border-width; //no change $input-border-width: $input-btn-border-width; //no change
$input-btn-padding-y: .375rem; //no change $input-btn-padding-y: .25rem;
$input-btn-padding-x: .75rem; //no change $input-btn-padding-x: .75rem; //no change
$component-active-bg: $color-primary; //no change
$input-btn-focus-width: .2rem !default; //no change
$input-btn-focus-color: rgba($component-active-bg, .25) !default; //no change
$input-btn-focus-box-shadow: 0 0 0 $input-btn-focus-width $input-btn-focus-color !default; //no change
$input-focus-bg: $input-bg !default; //no change
$input-focus-border-color: lighten($component-active-bg, 25%) !default; //no change
$input-focus-color: $input-color !default; //no change
$input-focus-width: $input-btn-focus-width !default; //no change
$input-focus-box-shadow: $input-btn-focus-box-shadow !default; //no change
$btn-border-radius: $border-radius; //no change $btn-border-radius: $border-radius; //no change
/***************/ /***************/
@@ -136,12 +148,12 @@ $panel-border-radius: $border-radius;
$panel-border: $panel-border-width solid $panel-border-color !important; $panel-border: $panel-border-width solid $panel-border-color !important;
$panel-border-dark: $panel-border-width solid $border-color-dark !important; $panel-border-dark: $panel-border-width solid $border-color-dark !important;
$tabs-padding: 5px 10px 2px; $tabs-padding: 5px 10px 2px;
$title-height: 37px * $font-size-base/1rem; $title-height: ($line-height-base*16px) + 5px + 2px + $border-width;
$footer-padding: 0.5rem; $footer-padding: 0.5rem;
$footer-min-height: 2.18rem; $footer-min-height: 2rem;
$footer-height-calc: $footer-min-height+$footer-padding*2; $footer-height-calc: $footer-min-height+$footer-padding*2;
$navbar-font-size: 0.875rem; $navbar-font-size: 0.925rem;
$navbar-user-font-size: 0.815rem; $navbar-user-font-size: 0.875rem;
$navbar-dropdown-top: 100%; $navbar-dropdown-top: 100%;
$dropdown-submenu-top: -$dropdown-spacer; $dropdown-submenu-top: -$dropdown-spacer;
@@ -160,7 +172,7 @@ $sql-gutters-bg: $color-gray-light;
$sql-history-detail-bg: $color-gray-lighter; $sql-history-detail-bg: $color-gray-lighter;
$sql-history-success-bg: $color-primary-light; $sql-history-success-bg: $color-primary-light;
$sql-history-success-fg: $color-primary; $sql-history-success-fg: $color-primary;
$sql-history-error-bg: $color-danger-light; $sql-history-error-bg: $color-danger-lighter;
$sql-history-error-fg: $color-danger; $sql-history-error-fg: $color-danger;
$negative-bg: $color-gray-light; $negative-bg: $color-gray-light;
@@ -175,7 +187,7 @@ $btn-secondary-hover-bg: $color-gray-light;
$card-header-padding : 0.25rem 0.5rem; $card-header-padding : 0.25rem 0.5rem;
$no-border-radius: 0px !important; $no-border-radius: 0px !important;
$btn-checkbox-padding: 0.3rem 0.8rem; $btn-checkbox-padding: $input-btn-padding-y $input-btn-padding-x;
$security-text-color: $white; $security-text-color: $white;
$security-btn-color: #038bba; $security-btn-color: #038bba;

View File

@@ -404,7 +404,6 @@
var SpacerControl = Backform.SpacerControl = Control.extend({ var SpacerControl = Backform.SpacerControl = Control.extend({
template: _.template([ template: _.template([
'<label class="<%=Backform.controlLabelClassName%>">&nbsp;</label>',
'<div class="<%=Backform.controlsClassName%>"></div>' '<div class="<%=Backform.controlsClassName%>"></div>'
].join("\n")) ].join("\n"))
}); });
@@ -558,7 +557,7 @@
}, },
template: _.template([ template: _.template([
'<label class="<%=Backform.controlLabelClassName%>"><%=label%></label>', '<label class="<%=Backform.controlLabelClassName%>"><%=label%></label>',
'<div class="<%=Backform.controlContainerClassName%> form-check-inline">', '<div class="<%=Backform.controlContainerClassName%> d-flex">',
' <% for (var i=0; i < options.length; i++) { %>', ' <% for (var i=0; i < options.length; i++) { %>',
' <% var option = options[i]; %>', ' <% var option = options[i]; %>',
' <% var id = _.uniqueId("bf_"); %>', ' <% var id = _.uniqueId("bf_"); %>',

View File

@@ -80,10 +80,6 @@
text-align: center; text-align: center;
} }
.backgrid td.editor {
padding: 0;
}
.backgrid td.editor, .backgrid td.editor,
.backgrid tbody tr:nth-child(odd) td.editor { .backgrid tbody tr:nth-child(odd) td.editor {
background-color: rgba(82, 168, 236, 0.1); background-color: rgba(82, 168, 236, 0.1);

View File

@@ -4,7 +4,7 @@
type="{% if type %}{{ type }}{% else %}{{ field.type }}{% endif %}" autofocus> type="{% if type %}{{ type }}{% else %}{{ field.type }}{% endif %}" autofocus>
{% if field.errors %} {% if field.errors %}
{% for error in field.errors %} {% for error in field.errors %}
<span class="form-text text-danger">{{ error }}</span> <span class="form-text">{{ error }}</span>
{% endfor %} {% endfor %}
{% endif %} {% endif %}
</div> </div>

View File

@@ -14,8 +14,8 @@
{{ render_field_with_errors(login_user_form.password, "password") }} {{ render_field_with_errors(login_user_form.password, "password") }}
<button class="btn btn-primary btn-block btn-login" type="submit" value="{{ _('Login') }}">{{ _('Login') }}</button> <button class="btn btn-primary btn-block btn-login" type="submit" value="{{ _('Login') }}">{{ _('Login') }}</button>
<div class="form-group row mb-3 c user-language"> <div class="form-group row mb-3 c user-language">
<div class="col-8"><span class="help-block">{{ _('<a href="%(url)s" class="text-white">Forgotten your password</a>?', url=url_for('browser.forgot_password')) }}</span></div> <div class="col-7"><span class="help-block">{{ _('<a href="%(url)s" class="text-white">Forgotten your password</a>?', url=url_for('browser.forgot_password')) }}</span></div>
<div class="col-4"> <div class="col-5">
<select class="form-control" name="language" value="{{user_language}}"> <select class="form-control" name="language" value="{{user_language}}">
{% for key, lang in config.LANGUAGES.items() %} {% for key, lang in config.LANGUAGES.items() %}
<option value="{{key}}" {% if user_language == key %}selected{% endif %}>{{lang}}</option> <option value="{{key}}" {% if user_language == key %}selected{% endif %}>{{lang}}</option>

View File

@@ -50,7 +50,7 @@ define([
' <span class="<%=Backform.helpMessageClassName%>"><%=helpMessage%></span>', ' <span class="<%=Backform.helpMessageClassName%>"><%=helpMessage%></span>',
'<% } %>', '<% } %>',
].join('\n')), ].join('\n')),
className: 'pgadmin-control-group form-group pg-el-md-6 pg-el-xs-12 row', className: 'pgadmin-control-group form-group pg-el-md-6 pg-el-12 row',
}); });
//Backup Model (Server Node) //Backup Model (Server Node)
@@ -580,7 +580,7 @@ define([
alertify, alertify,
BackupModel BackupModel
); );
dialog.draw(action, item, {'globals': true}); dialog.draw(action, item, {'globals': true}, pgBrowser.stdW.md, pgBrowser.stdH.md);
}, },
start_backup_server: function(action, item) { start_backup_server: function(action, item) {
let dialog = new globalBackupDialog.BackupDialog( let dialog = new globalBackupDialog.BackupDialog(
@@ -589,7 +589,7 @@ define([
alertify, alertify,
BackupObjectModel BackupObjectModel
); );
dialog.draw(action, item, {'server': true}); dialog.draw(action, item, {'server': true}, pgBrowser.stdW.md, pgBrowser.stdH.md);
}, },
// Callback to draw Backup Dialog for objects // Callback to draw Backup Dialog for objects
backup_objects: function(action, treeItem) { backup_objects: function(action, treeItem) {
@@ -599,7 +599,7 @@ define([
alertify, alertify,
BackupObjectModel BackupObjectModel
); );
dialog.draw(action, treeItem, null); dialog.draw(action, treeItem, null, pgBrowser.stdW.md, pgBrowser.stdH.md);
}, },
}; };
return pgBrowser.Backup; return pgBrowser.Backup;

View File

@@ -28,7 +28,7 @@ export class BackupDialog extends Dialog {
}); });
} }
draw(action, aciTreeItem, params) { draw(action, aciTreeItem, params, width=0, height=0) {
const serverInformation = this.retrieveAncestorOfTypeServer(aciTreeItem); const serverInformation = this.retrieveAncestorOfTypeServer(aciTreeItem);
if (!serverInformation) { if (!serverInformation) {
@@ -66,7 +66,7 @@ export class BackupDialog extends Dialog {
typeOfDialog typeOfDialog
); );
dialog(true).resizeTo('60%', '50%'); dialog(true).resizeTo(width, height);
}).catch(function() { }).catch(function() {
that.alertify.alert( that.alertify.alert(
gettext('Utility not found'), gettext('Utility not found'),

View File

@@ -379,7 +379,7 @@ define('pgadmin.datagrid', [
$.get(url_for('datagrid.filter'), $.get(url_for('datagrid.filter'),
function(data) { function(data) {
alertify.filterDialog('Data Filter', data, baseUrl, validateUrl) alertify.filterDialog('Data Filter', data, baseUrl, validateUrl)
.resizeTo(300, 200); .resizeTo(pgBrowser.stdW.sm,pgBrowser.stdH.sm);
} }
); );
}, },

View File

@@ -951,7 +951,7 @@ define([
Alertify.debuggerInputArgsDialog( Alertify.debuggerInputArgsDialog(
gettext('Debugger'), debug_info, restart_debug, is_edb_proc gettext('Debugger'), debug_info, restart_debug, is_edb_proc
).resizeTo('60%', '60%'); ).resizeTo(pgBrowser.stdW.md,pgBrowser.stdH.md);
}; };

View File

@@ -1031,6 +1031,7 @@ define([
// Render SqlTab control to generate its html markup // Render SqlTab control to generate its html markup
var sqlCtrlHtml = sqlControl.render().$el; var sqlCtrlHtml = sqlControl.render().$el;
sqlCtrlHtml.addClass('h-100');
this.render = function() { this.render = function() {
return { return {
el: sqlCtrlHtml, el: sqlCtrlHtml,
@@ -1150,7 +1151,7 @@ define([
} }
// Call Grant Wizard Dialog and set dimensions for wizard // Call Grant Wizard Dialog and set dimensions for wizard
Alertify.wizardDialog(true).resizeTo('55%', '75%'); Alertify.wizardDialog(true).resizeTo(pgBrowser.stdW.lg,pgBrowser.stdH.lg);
}, },
}; };

View File

@@ -29,6 +29,7 @@
height: calc(100% - 15px); height: calc(100% - 15px);
display: block; display: block;
padding: 0; padding: 0;
overflow-y: hidden !important;
} }
.object_type_table thead { .object_type_table thead {
@@ -114,8 +115,8 @@
.wizard-right-panel_content .CodeMirror { .wizard-right-panel_content .CodeMirror {
border: 1px solid $color-gray-light; border: 1px solid $color-gray-light;
height: 285px !important; height: 100% !important;
min-height: 285px !important; min-height: 100% !important;
} }
.wizard-right-panel_content .CodeMirror-linenumber { .wizard-right-panel_content .CodeMirror-linenumber {
@@ -123,10 +124,6 @@
border-right: none; border-right: none;
} }
.wizard-right-panel_content .CodeMirror-gutters {
min-height: 285px !important;
}
.grant_wizard_container { .grant_wizard_container {
position: relative; position: relative;
overflow: hidden; overflow: hidden;

View File

@@ -496,6 +496,8 @@ Backform, commonUtils, supportedNodes
}], }],
options: { options: {
modal: true, modal: true,
padding: !1,
overflow: !1,
}, },
}; };
}, },
@@ -645,10 +647,6 @@ Backform, commonUtils, supportedNodes
} }
}); });
// Give the dialog initial height & width
this.elements.dialog.style.minHeight = '80%';
this.elements.dialog.style.minWidth = '70%';
view.$el.attr('tabindex', -1); view.$el.attr('tabindex', -1);
// var dialogTabNavigator = pgBrowser.keyboardNavigation.getDialogTabNavigator(view); // var dialogTabNavigator = pgBrowser.keyboardNavigation.getDialogTabNavigator(view);
pgBrowser.keyboardNavigation.getDialogTabNavigator(view); pgBrowser.keyboardNavigation.getDialogTabNavigator(view);
@@ -682,7 +680,7 @@ Backform, commonUtils, supportedNodes
S( S(
gettext('Import/Export data - table \'%s\'') gettext('Import/Export data - table \'%s\'')
).sprintf(treeInfo.table.label).value(), node, i, d ).sprintf(treeInfo.table.label).value(), node, i, d
).set('resizable', true).resizeTo('70%', '80%'); ).set('resizable', true).resizeTo(pgAdmin.Browser.stdW.md,pgAdmin.Browser.stdH.lg);
}) })
.fail(function() { .fail(function() {
Alertify.alert( Alertify.alert(

View File

@@ -34,7 +34,7 @@ define([
' <span class="<%=Backform.helpMessageClassName%>"><%=helpMessage%></span>', ' <span class="<%=Backform.helpMessageClassName%>"><%=helpMessage%></span>',
'<% } %>', '<% } %>',
].join('\n')), ].join('\n')),
className: 'pgadmin-control-group form-group col-6', className: 'pgadmin-control-group form-group pg-el-md-6 pg-el-12 row',
}); });
// Main model for Maintenance functionality // Main model for Maintenance functionality
@@ -492,7 +492,8 @@ define([
return; return;
} }
// Open the Alertify dialog // Open the Alertify dialog
Alertify.MaintenanceDialog('Maintenance...').set('resizable', true).resizeTo('60%', '80%'); Alertify.MaintenanceDialog(gettext('Maintenance...')).set('resizable', true)
.resizeTo(pgAdmin.Browser.stdW.md,pgAdmin.Browser.stdH.md);
}) })
.fail(function() { .fail(function() {
Alertify.alert( Alertify.alert(

View File

@@ -29,7 +29,7 @@ commonUtils, menuUtils, supportedNodes, restoreDialog
' <span class="<%=Backform.helpMessageClassName%>"><%=helpMessage%></span>', ' <span class="<%=Backform.helpMessageClassName%>"><%=helpMessage%></span>',
'<% } %>', '<% } %>',
].join('\n')), ].join('\n')),
className: 'pgadmin-control-group form-group pg-el-4 row', className: 'pgadmin-control-group form-group pg-el-md-6 row',
}); });
//Restore Model (Objects like Database/Schema/Table) //Restore Model (Objects like Database/Schema/Table)
@@ -381,7 +381,7 @@ commonUtils, menuUtils, supportedNodes, restoreDialog
let dialog = new restoreDialog.RestoreDialog( let dialog = new restoreDialog.RestoreDialog(
pgBrowser, $, alertify, RestoreObjectModel pgBrowser, $, alertify, RestoreObjectModel
); );
dialog.draw(action, treeItem); dialog.draw(action, treeItem, pgBrowser.stdW.md, pgBrowser.stdH.md);
}, },
}; };
return pgBrowser.Restore; return pgBrowser.Restore;

View File

@@ -27,7 +27,7 @@ export class RestoreDialog extends Dialog {
}); });
} }
draw(action, aciTreeItem) { draw(action, aciTreeItem, width, height) {
const serverInformation = this.retrieveAncestorOfTypeServer(aciTreeItem); const serverInformation = this.retrieveAncestorOfTypeServer(aciTreeItem);
@@ -69,7 +69,8 @@ export class RestoreDialog extends Dialog {
let title = sprintf(gettext('Restore (%s: %s)'), node.label, data.label); let title = sprintf(gettext('Restore (%s: %s)'), node.label, data.label);
that.createOrGetDialog(title, 'restore'); that.createOrGetDialog(title, 'restore');
that.alertify.pg_restore(title, aciTreeItem1, data, node).resizeTo('65%', '60%'); that.alertify.pg_restore(title, aciTreeItem1, data, node)
.resizeTo(width, height);
}).catch(function() { }).catch(function() {
that.alertify.alert( that.alertify.alert(
gettext('Utility not found'), gettext('Utility not found'),

View File

@@ -310,7 +310,9 @@ input.editor-checkbox:focus {
/* For Filter status bar */ /* For Filter status bar */
.data_sorting_dialog .pg-prop-status-bar { .data_sorting_dialog .pg-prop-status-bar {
position: absolute; position: absolute;
bottom: 40px; left: 0;
right: 0;
bottom: 0;
z-index: 5; z-index: 5;
} }

View File

@@ -2172,7 +2172,7 @@ define('tools.querytool', [
/* If filter is applied then remove class 'btn-secondary' /* If filter is applied then remove class 'btn-secondary'
* and add 'btn-warning' to change the colour of the button. * and add 'btn-primary' to change the colour of the button.
*/ */
if (self.can_filter && res.data.filter_applied) { if (self.can_filter && res.data.filter_applied) {
$('#btn-filter').removeClass('btn-secondary'); $('#btn-filter').removeClass('btn-secondary');

View File

@@ -218,11 +218,10 @@ li.CodeMirror-hint-active {
.pg_text_editor { .pg_text_editor {
z-index:10000; z-index:10000;
position:absolute; position:absolute;
background: $color-bg; background: $color-bg-theme;
padding: 7px 5px 5px 1px; padding: 0.25rem;
border:2px solid $color-gray; border: $panel-border;
-moz-border-radius:10px; box-shadow: $dropdown-box-shadow;
border-radius:10px;
} }
.editor-title { .editor-title {

View File

@@ -122,7 +122,7 @@ define([
}); });
} }
alertify.ChangePassword(title, url).resizeTo('55%', '60%'); alertify.ChangePassword(title, url).resizeTo(pgBrowser.stdW.lg, pgBrowser.stdH.md);
}, },
isPgaLoginRequired(xhr) { isPgaLoginRequired(xhr) {
@@ -220,7 +220,7 @@ define([
}); });
} }
alertify.PgaLogin(title, url).resizeTo('75%','70%'); alertify.PgaLogin(title, url).resizeTo(pgBrowser.stdW.md, pgBrowser.stdH.md);
}, },
// Callback to draw User Management Dialog. // Callback to draw User Management Dialog.
@@ -625,18 +625,19 @@ define([
prepare: function() { prepare: function() {
var footerTpl = _.template([ var footerTpl = _.template([
'<div class="pg-prop-footer" style="visibility:hidden;">', '<div class="pg-prop-footer" style="visibility:hidden;">',
'<div class="pg-prop-status-bar">', ' <div class="pg-prop-status-bar">',
'<div class="media error-in-footer bg-danger-light border-danger text-danger text-14">', ' <div class="error-in-footer"> ',
'<div class="media-body media-middle">', ' <div class="d-flex px-2 py-1"> ',
'<div class="alert-icon error-icon">', ' <div class="pr-2"> ',
'<i class="fa fa-exclamation-triangle" aria-hidden="true"></i>', ' <i class="fa fa-exclamation-triangle text-danger" aria-hidden="true"></i> ',
'</div>', ' </div> ',
'<div class="alert-text">', ' <div class="alert-text"></div> ',
'</div>', ' <div class="ml-auto close-error-bar"> ',
'<div class="close-error-bar"><a class="close-error">x</a></div>', ' <a class="close-error fa fa-times text-danger"></a> ',
'</div>', ' </div> ',
'</div>', ' </div> ',
'</div>', ' </div> ',
' </div>',
'</div>', '</div>',
].join('\n')), ].join('\n')),
$statusBar = $(footerTpl()), $statusBar = $(footerTpl()),
@@ -887,7 +888,7 @@ define([
}; };
}); });
} }
alertify.UserManagement(true).resizeTo('680px', '400px'); alertify.UserManagement(true).resizeTo(pgBrowser.stdW.md, pgBrowser.stdH.md);
}, },
}; };

View File

@@ -24,23 +24,4 @@
.user_management .backform-tab { .user_management .backform-tab {
height: calc(100% - 75px); height: calc(100% - 75px);
} }
.user_management .search_users {
float:right;
margin-right: 5px;
padding:0 !important;
}
.user_management .search_users input{
height:15px;
margin-top: 3px;
}
.user_management input[placeholder] {
font-size: 12px;
}
.user_management_pg-alertify-button {
line-height: 16px;
}

View File

@@ -40,6 +40,18 @@ describe('BackupDialog', () => {
getTreeNodeHierarchy: jasmine.createSpy('db.getTreeNodeHierarchy'), getTreeNodeHierarchy: jasmine.createSpy('db.getTreeNodeHierarchy'),
}, },
}, },
stdW: {
sm: 500,
md: 700,
lg: 900,
default: 500,
},
stdH: {
sm: 200,
md: 400,
lg: 550,
default: 550,
},
}; };
pgBrowser.Nodes.server.hasId = true; pgBrowser.Nodes.server.hasId = true;
pgBrowser.Nodes.database.hasId = true; pgBrowser.Nodes.database.hasId = true;
@@ -196,10 +208,10 @@ describe('BackupDialog', () => {
}); });
it('displays the dialog', (done) => { it('displays the dialog', (done) => {
backupDialog.draw(null, [{id: 'serverTreeNode'}], null); backupDialog.draw(null, [{id: 'serverTreeNode'}], null, pgBrowser.stdW.md, pgBrowser.stdH.md);
setTimeout(() => { setTimeout(() => {
expect(alertifySpy['backup_objects']).toHaveBeenCalledWith(true); expect(alertifySpy['backup_objects']).toHaveBeenCalledWith(true);
expect(backupDialogResizeToSpy.resizeTo).toHaveBeenCalledWith('60%', '50%'); expect(backupDialogResizeToSpy.resizeTo).toHaveBeenCalledWith(pgBrowser.stdW.md, pgBrowser.stdH.md);
done(); done();
}, 0); }, 0);
}); });

View File

@@ -31,6 +31,18 @@ describe('GlobalServerBackupDialog', () => {
Nodes: { Nodes: {
server: jasmine.createSpyObj('Node[server]', ['getTreeNodeHierarchy']), server: jasmine.createSpyObj('Node[server]', ['getTreeNodeHierarchy']),
}, },
stdW: {
sm: 500,
md: 700,
lg: 900,
default: 500,
},
stdH: {
sm: 200,
md: 400,
lg: 550,
default: 550,
},
}; };
pgBrowser.Nodes.server.hasId = true; pgBrowser.Nodes.server.hasId = true;
jquerySpy = jasmine.createSpy('jquerySpy'); jquerySpy = jasmine.createSpy('jquerySpy');
@@ -158,10 +170,10 @@ describe('GlobalServerBackupDialog', () => {
context('dialog for global backup', () => { context('dialog for global backup', () => {
it('displays the dialog', (done) => { it('displays the dialog', (done) => {
backupDialog.draw(null, [serverTreeNode], {globals: true}); backupDialog.draw(null, [serverTreeNode], {globals: true}, pgBrowser.stdW.md, pgBrowser.stdH.md);
setTimeout(() => { setTimeout(() => {
expect(alertifySpy['BackupDialog_globals']).toHaveBeenCalledWith(true); expect(alertifySpy['BackupDialog_globals']).toHaveBeenCalledWith(true);
expect(globalResizeToSpy.resizeTo).toHaveBeenCalledWith('60%', '50%'); expect(globalResizeToSpy.resizeTo).toHaveBeenCalledWith(pgBrowser.stdW.md, pgBrowser.stdH.md);
done(); done();
}, 0); }, 0);
}); });
@@ -169,10 +181,10 @@ describe('GlobalServerBackupDialog', () => {
context('dialog for server backup', () => { context('dialog for server backup', () => {
it('displays the dialog', (done) => { it('displays the dialog', (done) => {
backupDialog.draw(null, [serverTreeNode], {server: true}); backupDialog.draw(null, [serverTreeNode], {server: true}, pgBrowser.stdW.md, pgBrowser.stdH.md);
setTimeout(() => { setTimeout(() => {
expect(alertifySpy['BackupDialog_server']).toHaveBeenCalledWith(true); expect(alertifySpy['BackupDialog_server']).toHaveBeenCalledWith(true);
expect(serverResizeToSpy.resizeTo).toHaveBeenCalledWith('60%', '50%'); expect(serverResizeToSpy.resizeTo).toHaveBeenCalledWith(pgBrowser.stdW.md, pgBrowser.stdH.md);
done(); done();
}, 0); }, 0);
}); });

View File

@@ -17,6 +17,21 @@ describe('fileSelectDialog', function () {
let params; let params;
pgAdmin.Browser = {
stdW: {
sm: 500,
md: 700,
lg: 900,
default: 500,
},
stdH: {
sm: 200,
md: 400,
lg: 550,
default: 550,
},
};
describe('When dialog is called for select file', () => { describe('When dialog is called for select file', () => {
it('Select file dialog', function() { it('Select file dialog', function() {
params = { params = {

View File

@@ -27,6 +27,18 @@ describe('RestoreDialog', () => {
server: jasmine.createSpyObj('Node[server]', ['getTreeNodeHierarchy']), server: jasmine.createSpyObj('Node[server]', ['getTreeNodeHierarchy']),
database: jasmine.createSpyObj('Node[database]', ['getTreeNodeHierarchy']), database: jasmine.createSpyObj('Node[database]', ['getTreeNodeHierarchy']),
}, },
stdW: {
sm: 500,
md: 700,
lg: 900,
default: 500,
},
stdH: {
sm: 200,
md: 400,
lg: 550,
default: 550,
},
}; };
pgBrowser.Nodes.server.hasId = true; pgBrowser.Nodes.server.hasId = true;
pgBrowser.Nodes.database.hasId = true; pgBrowser.Nodes.database.hasId = true;
@@ -185,7 +197,7 @@ describe('RestoreDialog', () => {
}); });
it('displays the dialog', (done) => { it('displays the dialog', (done) => {
restoreDialog.draw(null, [{id: 'serverTreeNode'}], {server: true}); restoreDialog.draw(null, [{id: 'serverTreeNode'}], pgBrowser.stdW.md, pgBrowser.stdH.md);
setTimeout(() => { setTimeout(() => {
expect(alertifySpy['pg_restore']).toHaveBeenCalledWith( expect(alertifySpy['pg_restore']).toHaveBeenCalledWith(
'Restore (some-server-label: some-tree-label)', 'Restore (some-server-label: some-tree-label)',
@@ -197,7 +209,7 @@ describe('RestoreDialog', () => {
}, },
pgBrowser.Nodes.server pgBrowser.Nodes.server
); );
expect(spy.resizeTo).toHaveBeenCalledWith('65%', '60%'); expect(spy.resizeTo).toHaveBeenCalledWith(pgBrowser.stdW.md, pgBrowser.stdH.md);
done(); done();
}, 0); }, 0);
}); });