mirror of
https://github.com/pgadmin-org/pgadmin4.git
synced 2025-02-25 18:55:31 -06:00
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:
committed by
Akshay Joshi
parent
1b9c841c15
commit
86ecf9c84e
@@ -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);
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -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',
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -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'],
|
||||||
|
|||||||
@@ -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)
|
||||||
|
|||||||
@@ -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)
|
||||||
|
|||||||
@@ -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;
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -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({
|
||||||
|
|||||||
@@ -9,4 +9,4 @@
|
|||||||
|
|
||||||
.change_password {
|
.change_password {
|
||||||
padding-left: 7px;
|
padding-left: 7px;
|
||||||
}
|
}
|
||||||
@@ -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({
|
||||||
|
|||||||
@@ -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 */
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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);
|
||||||
|
|||||||
@@ -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) {
|
||||||
|
|||||||
@@ -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,
|
||||||
},
|
},
|
||||||
];
|
];
|
||||||
|
|||||||
@@ -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> ' + 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> ' + 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>' +
|
' <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> ' + gettext('Finish') + '</button>' +
|
||||||
' </div>' +
|
' </div>' +
|
||||||
' </div>' +
|
' </div>' +
|
||||||
' </div>' +
|
' </div>' +
|
||||||
|
|||||||
@@ -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;
|
||||||
|
}
|
||||||
@@ -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 {
|
||||||
|
|||||||
@@ -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 {
|
||||||
|
|||||||
@@ -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);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -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>`;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|||||||
@@ -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>
|
||||||
|
|||||||
@@ -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;
|
|
||||||
}
|
|
||||||
|
|||||||
@@ -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);
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -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;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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) {
|
||||||
|
|||||||
@@ -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) { %>',
|
||||||
|
|||||||
@@ -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> '+ 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> '+ 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);
|
||||||
|
|||||||
@@ -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);
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|||||||
@@ -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 {
|
||||||
|
|||||||
@@ -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;
|
||||||
|
}
|
||||||
@@ -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;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|||||||
@@ -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;
|
||||||
|
}
|
||||||
|
|||||||
@@ -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 {
|
||||||
|
|||||||
@@ -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;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -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 {
|
||||||
|
|||||||
@@ -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 {
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|||||||
@@ -404,7 +404,6 @@
|
|||||||
|
|
||||||
var SpacerControl = Backform.SpacerControl = Control.extend({
|
var SpacerControl = Backform.SpacerControl = Control.extend({
|
||||||
template: _.template([
|
template: _.template([
|
||||||
'<label class="<%=Backform.controlLabelClassName%>"> </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_"); %>',
|
||||||
|
|||||||
@@ -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);
|
||||||
|
|||||||
@@ -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>
|
||||||
|
|||||||
@@ -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>
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|||||||
@@ -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'),
|
||||||
|
|||||||
@@ -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);
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -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);
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -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);
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|||||||
@@ -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(
|
||||||
|
|||||||
@@ -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(
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|||||||
@@ -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'),
|
||||||
|
|||||||
@@ -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;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -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');
|
||||||
|
|||||||
@@ -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 {
|
||||||
|
|||||||
@@ -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);
|
||||||
},
|
},
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -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;
|
|
||||||
}
|
|
||||||
@@ -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);
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -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);
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -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 = {
|
||||||
|
|||||||
@@ -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);
|
||||||
});
|
});
|
||||||
|
|||||||
Reference in New Issue
Block a user