mirror of
https://github.com/pgadmin-org/pgadmin4.git
synced 2025-02-25 18:55:31 -06:00
Fixed SonarQube issues.
This commit is contained in:
parent
603ce21d24
commit
7086719640
@ -21,6 +21,7 @@ Housekeeping
|
||||
|
||||
| `Issue #6133 <https://redmine.postgresql.org/issues/6133>`_ - Port schema diff to React.
|
||||
| `Issue #7343 <https://redmine.postgresql.org/issues/7343>`_ - Port the remaining components of the ERD Tool to React.
|
||||
| `Issue #7619 <https://redmine.postgresql.org/issues/7619>`_ - Remove Alertify from pgAdmin completely.
|
||||
| `Issue #7622 <https://redmine.postgresql.org/issues/7622>`_ - Port search object dialog to React.
|
||||
|
||||
Bug fixes
|
||||
|
@ -335,7 +335,7 @@ const toggleFullScreen = () => {
|
||||
pgAdminWindowObject.toggleFullscreen();
|
||||
|
||||
// Change the menu label.
|
||||
var menu_label = pgAdminWindowObject.window.document.querySelector('#mnu_toggle_fullscreen_runtime span').innerHTML;
|
||||
let menu_label = pgAdminWindowObject.window.document.querySelector('#mnu_toggle_fullscreen_runtime span').innerHTML;
|
||||
if (menu_label.indexOf('Enter Full Screen') >= 0) {
|
||||
pgAdminWindowObject.window.document.querySelector('#mnu_toggle_fullscreen_runtime span').innerHTML = menu_label.replace('Enter', 'Exit');
|
||||
} else if (menu_label.indexOf('Exit Full Screen') >= 0) {
|
||||
|
@ -7,7 +7,7 @@
|
||||
//
|
||||
//////////////////////////////////////////////////////////////
|
||||
|
||||
var mfa_form_elem = document.getElementById('mfa_form');
|
||||
let mfa_form_elem = document.getElementById('mfa_form');
|
||||
|
||||
if (mfa_form_elem)
|
||||
mfa_form_elem.setAttribute('class', '');
|
||||
@ -16,7 +16,7 @@ function sendCodeToEmail(data, _json, _callback) {
|
||||
const URL = '{{ url_for('mfa.send_email_code') }}';
|
||||
let accept = 'text/html; charset=utf-8;';
|
||||
|
||||
var btn_send_code_elem = document.getElementById('btn_send_code');
|
||||
let btn_send_code_elem = document.getElementById('btn_send_code');
|
||||
if (btn_send_code_elem) btn_send_code_elem.disabled = true;
|
||||
|
||||
if (!data) {
|
||||
@ -46,7 +46,7 @@ function sendCodeToEmail(data, _json, _callback) {
|
||||
return null;
|
||||
}
|
||||
if (!resp.ok) {
|
||||
var btn_send_code_elem = document.getElementById('btn_send_code');
|
||||
let btn_send_code_elem = document.getElementById('btn_send_code');
|
||||
if (btn_send_code_elem) btn_send_code_elem.disabled = true;
|
||||
resp.text().then(msg => render_error(msg));
|
||||
|
||||
|
@ -76,12 +76,12 @@ define('pgadmin.node.cast', [
|
||||
return new Promise((resolve, reject)=>{
|
||||
const api = getApiInstance();
|
||||
|
||||
var _url = pgBrowser.Nodes['cast'].generate_url.apply(
|
||||
let _url = pgBrowser.Nodes['cast'].generate_url.apply(
|
||||
pgBrowser.Nodes['cast'], [
|
||||
null, 'get_functions', itemNodeData, false,
|
||||
treeNodeInfo,
|
||||
]);
|
||||
var data = {'srctyp' : srcTyp, 'trgtyp' : trgtyp};
|
||||
let data = {'srctyp' : srcTyp, 'trgtyp' : trgtyp};
|
||||
|
||||
if(srcTyp != undefined && srcTyp != '' &&
|
||||
trgtyp != undefined && trgtyp != ''){
|
||||
|
@ -30,8 +30,8 @@ export default class CastSchema extends BaseUISchema {
|
||||
}
|
||||
|
||||
getCastName(state) {
|
||||
var srctype = state.srctyp;
|
||||
var trgtype = state.trgtyp;
|
||||
let srctype = state.srctyp;
|
||||
let trgtype = state.trgtyp;
|
||||
if(srctype != undefined && srctype != '' &&
|
||||
trgtype != undefined && trgtype != '')
|
||||
return state.name = srctype+'->'+trgtype;
|
||||
|
@ -96,10 +96,10 @@ define('pgadmin.node.user_mapping', [
|
||||
|
||||
// Default values!
|
||||
initialize: function(attrs, args) {
|
||||
var isNew = (_.size(attrs) === 0);
|
||||
let isNew = (_.size(attrs) === 0);
|
||||
|
||||
if (isNew) {
|
||||
var userInfo = pgBrowser.serverInfo[args.node_info.server._id].user;
|
||||
let userInfo = pgBrowser.serverInfo[args.node_info.server._id].user;
|
||||
|
||||
this.set({'name': userInfo.name}, {silent: true});
|
||||
}
|
||||
@ -114,9 +114,9 @@ define('pgadmin.node.user_mapping', [
|
||||
mode: ['edit', 'create', 'properties'], select2: { allowClear: false },
|
||||
disabled: function(m) { return !m.isNew(); },
|
||||
transform: function() {
|
||||
var self = this,
|
||||
let self = this,
|
||||
node = self.field.get('schema_node');
|
||||
var res =
|
||||
let res =
|
||||
Backform.NodeListByNameControl.prototype.defaults.transform.apply(
|
||||
this, arguments
|
||||
);
|
||||
|
@ -83,7 +83,7 @@ export default class PublicationSchema extends BaseUISchema {
|
||||
}
|
||||
|
||||
isAllTable(state) {
|
||||
var allTable = state.all_table;
|
||||
let allTable = state.all_table;
|
||||
if(allTable){
|
||||
state.pubtable = '';
|
||||
return true;
|
||||
@ -92,7 +92,7 @@ export default class PublicationSchema extends BaseUISchema {
|
||||
}
|
||||
|
||||
isTable(state) {
|
||||
var allTable = state.all_table,
|
||||
let allTable = state.all_table,
|
||||
table = state.pubtable;
|
||||
if(allTable){
|
||||
state.only_table = false;
|
||||
|
@ -135,7 +135,7 @@ export default class DomainSchema extends BaseUISchema {
|
||||
readonly: function(state) {return !obj.isNew(state);},
|
||||
disabled: function(state) {
|
||||
// We will store type from selected from combobox
|
||||
var of_type = state.basetype;
|
||||
let of_type = state.basetype;
|
||||
if(obj.type_options) {
|
||||
// iterating over all the types
|
||||
_.each(obj.type_options, function(o) {
|
||||
@ -167,7 +167,7 @@ export default class DomainSchema extends BaseUISchema {
|
||||
readonly: function(state) {return !obj.isNew(state);},
|
||||
disabled: function(state) {
|
||||
// We will store type from selected from combobox
|
||||
var of_type = state.basetype;
|
||||
let of_type = state.basetype;
|
||||
if(obj.type_options) {
|
||||
// iterating over all the types
|
||||
_.each(obj.type_options, function(o) {
|
||||
|
@ -637,10 +637,6 @@ class ForeignTableView(PGChildNodeView, DataTypeReader,
|
||||
|
||||
except Exception:
|
||||
exc_type, exc_value, exc_traceback = sys.exc_info()
|
||||
current_app.logger.error(
|
||||
traceback.print_exception(exc_type,
|
||||
exc_value, exc_traceback, limit=2))
|
||||
|
||||
return internal_server_error(errormsg=str(exc_value))
|
||||
|
||||
@check_precondition
|
||||
@ -680,14 +676,6 @@ class ForeignTableView(PGChildNodeView, DataTypeReader,
|
||||
)
|
||||
except Exception:
|
||||
exc_type, exc_value, exc_traceback = sys.exc_info()
|
||||
current_app.logger.error(traceback.print_exception(
|
||||
exc_type,
|
||||
exc_value,
|
||||
exc_traceback,
|
||||
limit=2
|
||||
)
|
||||
)
|
||||
|
||||
return internal_server_error(errormsg=str(exc_value))
|
||||
|
||||
@check_precondition
|
||||
|
@ -116,7 +116,7 @@ export default class ForeignTableSchema extends BaseUISchema {
|
||||
let newColInherits = state.inherits || [];
|
||||
let oldColInherits = actionObj.oldState.inherits || [];
|
||||
|
||||
var tabName = undefined;
|
||||
let tabName = undefined;
|
||||
let tabColsResponse;
|
||||
|
||||
// Add columns logic
|
||||
@ -328,7 +328,7 @@ export class ColumnSchema extends BaseUISchema {
|
||||
id: 'typlen', label: gettext('Length'), cell: 'int',
|
||||
deps: ['datatype'], type: 'int', group: gettext('Definition'), width: 120, minWidth: 120,
|
||||
disabled: (state) => {
|
||||
var val = state.typlen;
|
||||
let val = state.typlen;
|
||||
// We will store type from selected from combobox
|
||||
if(!(_.isUndefined(state.inheritedid)
|
||||
|| _.isNull(state.inheritedid)
|
||||
@ -341,7 +341,7 @@ export class ColumnSchema extends BaseUISchema {
|
||||
return true;
|
||||
}
|
||||
|
||||
var of_type = state.datatype,
|
||||
let of_type = state.datatype,
|
||||
has_length = false;
|
||||
if(obj.type_options) {
|
||||
state.is_tlength = false;
|
||||
@ -378,7 +378,7 @@ export class ColumnSchema extends BaseUISchema {
|
||||
id: 'precision', label: gettext('Precision'), cell: 'int', minWidth: 60,
|
||||
deps: ['datatype'], type: 'int', group: gettext('Definition'),
|
||||
disabled: (state) => {
|
||||
var val = state.precision;
|
||||
let val = state.precision;
|
||||
if(!(_.isUndefined(state.inheritedid)
|
||||
|| _.isNull(state.inheritedid)
|
||||
|| _.isUndefined(state.inheritedfrom)
|
||||
@ -390,7 +390,7 @@ export class ColumnSchema extends BaseUISchema {
|
||||
return true;
|
||||
}
|
||||
|
||||
var of_type = state.datatype,
|
||||
let of_type = state.datatype,
|
||||
has_precision = false;
|
||||
|
||||
if(obj.type_options) {
|
||||
|
@ -131,7 +131,7 @@ export default class FTSConfigurationSchema extends BaseUISchema {
|
||||
options: this.fieldOptions.parsers,
|
||||
//disable parser when user select copy_config manually and vica-versa
|
||||
disabled: function(state) {
|
||||
var copy_config = state.copy_config;
|
||||
let copy_config = state.copy_config;
|
||||
return (_.isNull(copy_config) ||
|
||||
_.isUndefined(copy_config) ||
|
||||
copy_config === '') ? false : true;
|
||||
@ -144,7 +144,7 @@ export default class FTSConfigurationSchema extends BaseUISchema {
|
||||
options: this.fieldOptions.copyConfig,
|
||||
//disable copy_config when user select parser manually and vica-versa
|
||||
disabled: function(state) {
|
||||
var parser = state.prsname;
|
||||
let parser = state.prsname;
|
||||
return (_.isNull(parser) ||
|
||||
_.isUndefined(parser) ||
|
||||
parser === '') ? false : true;
|
||||
|
@ -786,14 +786,6 @@ class FunctionView(PGChildNodeView, DataTypeReader, SchemaDiffObjectCompare):
|
||||
)
|
||||
except Exception:
|
||||
exc_type, exc_value, exc_traceback = sys.exc_info()
|
||||
current_app.logger.error(traceback.print_exception(
|
||||
exc_type,
|
||||
exc_value,
|
||||
exc_traceback,
|
||||
limit=2
|
||||
)
|
||||
)
|
||||
|
||||
return internal_server_error(errormsg=str(exc_value))
|
||||
|
||||
@check_precondition
|
||||
|
@ -71,14 +71,14 @@ export class DefaultArgumentSchema extends BaseUISchema {
|
||||
}
|
||||
|
||||
isEditable() {
|
||||
var node_info = this.node_info;
|
||||
let node_info = this.node_info;
|
||||
if(node_info && 'catalog' in node_info) {
|
||||
return false;
|
||||
}
|
||||
return _.isUndefined(this.isNew) ? true : this.isNew();
|
||||
}
|
||||
isInCatalog(state){
|
||||
var node_info = this.node_info;
|
||||
let node_info = this.node_info;
|
||||
if(node_info && 'catalog' in node_info) {
|
||||
return false;
|
||||
}
|
||||
|
@ -77,7 +77,7 @@ define('pgadmin.node.procedure', [
|
||||
]);
|
||||
},
|
||||
canCreateProc: function(itemData, item) {
|
||||
var node_hierarchy = pgBrowser.tree.getTreeNodeHierarchy(item);
|
||||
let node_hierarchy = pgBrowser.tree.getTreeNodeHierarchy(item);
|
||||
|
||||
// Do not provide Create option in catalog
|
||||
if ('catalog' in node_hierarchy)
|
||||
|
@ -78,7 +78,7 @@ define('pgadmin.node.package', [
|
||||
if (data && data.check == false)
|
||||
return true;
|
||||
|
||||
var treeData = pgBrowser.tree.getTreeNodeHierarchy(item),
|
||||
let treeData = pgBrowser.tree.getTreeNodeHierarchy(item),
|
||||
server = treeData['server'];
|
||||
|
||||
if (server && server.server_type === 'pg')
|
||||
@ -92,7 +92,7 @@ define('pgadmin.node.package', [
|
||||
return true;
|
||||
},
|
||||
getSchema: (treeNodeInfo, itemNodeData) => {
|
||||
var nodeObj = pgBrowser.Nodes['package'];
|
||||
let nodeObj = pgBrowser.Nodes['package'];
|
||||
return new PackageSchema(
|
||||
(privileges)=>getNodePrivilegeRoleSchema(nodeObj, treeNodeInfo, itemNodeData, privileges),
|
||||
{
|
||||
|
@ -241,7 +241,7 @@ export default class SequenceSchema extends BaseUISchema {
|
||||
}
|
||||
}
|
||||
|
||||
var min_lt = gettext('Minimum value must be less than maximum value.'),
|
||||
let min_lt = gettext('Minimum value must be less than maximum value.'),
|
||||
start_lt = gettext('Start value cannot be less than minimum value.'),
|
||||
start_gt = gettext('Start value cannot be greater than maximum value.');
|
||||
|
||||
|
@ -26,12 +26,12 @@ define('pgadmin.node.schema', [
|
||||
|
||||
initialize: function() {
|
||||
Backform.Control.prototype.initialize.apply(this, arguments);
|
||||
var self = this,
|
||||
let self = this,
|
||||
m = this.model,
|
||||
url = self.field.get('url');
|
||||
|
||||
if (url && m.isNew()) {
|
||||
var node = self.field.get('node'),
|
||||
let node = self.field.get('node'),
|
||||
node_data = self.field.get('node_data'),
|
||||
node_info = self.field.get('node_info'),
|
||||
full_url = node.generate_url.apply(
|
||||
@ -79,7 +79,7 @@ define('pgadmin.node.schema', [
|
||||
},
|
||||
|
||||
render: function() {
|
||||
var self = this,
|
||||
let self = this,
|
||||
attributes = self.field.attributes;
|
||||
|
||||
// remove grid
|
||||
@ -91,7 +91,7 @@ define('pgadmin.node.schema', [
|
||||
|
||||
self.$el.empty();
|
||||
|
||||
var gridHeader = _.template([
|
||||
let gridHeader = _.template([
|
||||
'<div class="subnode-header">',
|
||||
'<% if (label && label != "") %> {',
|
||||
' <span class="control-label col-sm-4"><%-label%></span>',
|
||||
@ -102,7 +102,7 @@ define('pgadmin.node.schema', [
|
||||
);
|
||||
|
||||
// Initialize a new Grid instance
|
||||
var grid = self.grid = new Backgrid.Grid({
|
||||
let grid = self.grid = new Backgrid.Grid({
|
||||
columns: self.grid_columns,
|
||||
collection: self.model.get(self.field.get('name')),
|
||||
className: 'backgrid table table-bordered table-noouter-border table-hover',
|
||||
@ -119,7 +119,7 @@ define('pgadmin.node.schema', [
|
||||
// We will use this function in VacuumSettings Control
|
||||
// to convert data type on the fly
|
||||
Backform.cellFunction = function(model) {
|
||||
var vartype = model.get('column_type');
|
||||
let vartype = model.get('column_type');
|
||||
|
||||
switch(vartype) {
|
||||
case 'integer':
|
||||
@ -146,7 +146,7 @@ define('pgadmin.node.schema', [
|
||||
},
|
||||
|
||||
toJSON: function(){
|
||||
var d = pgBrowser.Node.Model.prototype.toJSON.apply(this);
|
||||
let d = pgBrowser.Node.Model.prototype.toJSON.apply(this);
|
||||
delete d.label;
|
||||
delete d.setting;
|
||||
delete d.column_type;
|
||||
@ -363,7 +363,7 @@ define('pgadmin.node.schema', [
|
||||
return pgBrowser.Nodes['database'].is_conn_allow.call(this, node);
|
||||
},
|
||||
getSchema: function(treeNodeInfo, itemNodeData) {
|
||||
var schemaObj = pgBrowser.Nodes['schema'];
|
||||
let schemaObj = pgBrowser.Nodes['schema'];
|
||||
return new PGSchema(
|
||||
(privileges)=>getNodePrivilegeRoleSchema(schemaObj, treeNodeInfo, itemNodeData, privileges),
|
||||
{
|
||||
@ -393,7 +393,7 @@ define('pgadmin.node.schema', [
|
||||
Backgrid.Extension.DependentCell.prototype.initialize.apply(this, arguments);
|
||||
},
|
||||
dependentChanged: function () {
|
||||
var model = this.model,
|
||||
let model = this.model,
|
||||
column = this.column,
|
||||
editable = this.column.get('editable'),
|
||||
input = this.$el.find('input[type=checkbox]').first(),
|
||||
|
@ -94,7 +94,7 @@ export default class PGSchema extends BaseUISchema {
|
||||
}
|
||||
|
||||
validate(state, setError) {
|
||||
var errmsg = null;
|
||||
let errmsg = null;
|
||||
|
||||
// Validation of mandatory fields
|
||||
if (isEmptyString(state.name)) {
|
||||
|
@ -83,7 +83,7 @@ define('pgadmin.node.synonym', [
|
||||
}),
|
||||
synobjschema: ()=>getNodeListByName('schema', treeNodeInfo, itemNodeData, {}, (m)=>{
|
||||
// Exclude PPAS catalogs
|
||||
var exclude_catalogs = ['pg_catalog', 'sys', 'dbo', 'pgagent', 'information_schema', 'dbms_job_procedure'];
|
||||
let exclude_catalogs = ['pg_catalog', 'sys', 'dbo', 'pgagent', 'information_schema', 'dbms_job_procedure'];
|
||||
return m && _.indexOf(exclude_catalogs, m.label) == -1;
|
||||
}),
|
||||
getTargetObjectOptions: (targettype, synobjschema) =>
|
||||
@ -105,7 +105,7 @@ define('pgadmin.node.synonym', [
|
||||
if (data && data.check == false)
|
||||
return true;
|
||||
|
||||
var treeData = pgBrowser.tree.getTreeNodeHierarchy(item),
|
||||
let treeData = pgBrowser.tree.getTreeNodeHierarchy(item),
|
||||
server = treeData['server'];
|
||||
|
||||
if (server && server.server_type === 'pg')
|
||||
|
@ -103,7 +103,7 @@ define('pgadmin.node.column', [
|
||||
if (data && data.check == false)
|
||||
return true;
|
||||
|
||||
var t = pgBrowser.tree, i = item, d = itemData, parents = [];
|
||||
let t = pgBrowser.tree, i = item, d = itemData, parents = [];
|
||||
// To iterate over tree to check parent node
|
||||
while (i) {
|
||||
// If it is schema then allow user to create table
|
||||
|
@ -198,7 +198,7 @@ export default class ColumnSchema extends BaseUISchema {
|
||||
return true;
|
||||
}
|
||||
|
||||
var name = state.name;
|
||||
let name = state.name;
|
||||
|
||||
if(!obj.inSchemaWithColumnCheck(state)
|
||||
&& (_.isUndefined(name) || _.isNull(name) || name == '')) {
|
||||
@ -387,11 +387,11 @@ export default class ColumnSchema extends BaseUISchema {
|
||||
type: 'text', group: gettext('Constraints'), deps: ['cltype', 'colconstype'],
|
||||
readonly: obj.inSchemaWithColumnCheck,
|
||||
disabled: function(state) {
|
||||
var isDisabled = ['serial', 'bigserial', 'smallserial'].indexOf(state.cltype) > -1;
|
||||
let isDisabled = ['serial', 'bigserial', 'smallserial'].indexOf(state.cltype) > -1;
|
||||
isDisabled = isDisabled || state.colconstype != 'n';
|
||||
return isDisabled;
|
||||
}, depChange: (state)=>{
|
||||
var isDisabled = false;
|
||||
let isDisabled = false;
|
||||
if(!obj.inSchemaWithModelCheck(state)) {
|
||||
isDisabled = ['serial', 'bigserial', 'smallserial'].indexOf(state.cltype) > -1;
|
||||
}
|
||||
@ -424,7 +424,7 @@ export default class ColumnSchema extends BaseUISchema {
|
||||
cell: 'text',
|
||||
group: gettext('Constraints'),
|
||||
type: (state)=>{
|
||||
var options = [
|
||||
let options = [
|
||||
{'label': gettext('NONE'), 'value': 'n'},
|
||||
{'label': gettext('IDENTITY'), 'value': 'i'},
|
||||
];
|
||||
@ -559,7 +559,7 @@ export default class ColumnSchema extends BaseUISchema {
|
||||
}
|
||||
|
||||
validate(state, setError) {
|
||||
var msg = undefined;
|
||||
let msg = undefined;
|
||||
|
||||
if (!_.isUndefined(state.cltype) && !isEmptyString(state.attlen)) {
|
||||
// Validation for Length field
|
||||
|
@ -102,7 +102,7 @@ define('pgadmin.node.compound_trigger', [
|
||||
callbacks: {
|
||||
/* Enable compound trigger */
|
||||
enable_compound_trigger: function(args) {
|
||||
var input = args || {},
|
||||
let input = args || {},
|
||||
obj = this,
|
||||
t = pgBrowser.tree,
|
||||
i = input.item || t.selected(),
|
||||
@ -111,7 +111,7 @@ define('pgadmin.node.compound_trigger', [
|
||||
if (!d)
|
||||
return false;
|
||||
|
||||
var data = d;
|
||||
let data = d;
|
||||
$.ajax({
|
||||
url: obj.generate_url(i, 'enable' , d, true),
|
||||
type:'PUT',
|
||||
@ -140,7 +140,7 @@ define('pgadmin.node.compound_trigger', [
|
||||
},
|
||||
/* Disable compound trigger */
|
||||
disable_compound_trigger: function(args) {
|
||||
var input = args || {},
|
||||
let input = args || {},
|
||||
obj = this,
|
||||
t = pgBrowser.tree,
|
||||
i = input.item || t.selected(),
|
||||
@ -149,7 +149,7 @@ define('pgadmin.node.compound_trigger', [
|
||||
if (!d)
|
||||
return false;
|
||||
|
||||
var data = d;
|
||||
let data = d;
|
||||
$.ajax({
|
||||
url: obj.generate_url(i, 'enable' , d, true),
|
||||
type:'PUT',
|
||||
@ -194,7 +194,7 @@ define('pgadmin.node.compound_trigger', [
|
||||
if (data && data.check == false)
|
||||
return true;
|
||||
|
||||
var treeData = pgBrowser.tree.getTreeNodeHierarchy(item),
|
||||
let treeData = pgBrowser.tree.getTreeNodeHierarchy(item),
|
||||
server = treeData['server'];
|
||||
|
||||
if (server && (server.server_type === 'pg' || server.version < 120000))
|
||||
@ -209,7 +209,7 @@ define('pgadmin.node.compound_trigger', [
|
||||
},
|
||||
// Check to whether trigger is disable ?
|
||||
canCreate_with_compound_trigger_enable: function(itemData, item, data) {
|
||||
var treeData = pgBrowser.tree.getTreeNodeHierarchy(item);
|
||||
let treeData = pgBrowser.tree.getTreeNodeHierarchy(item);
|
||||
if ('view' in treeData) {
|
||||
return false;
|
||||
}
|
||||
@ -219,7 +219,7 @@ define('pgadmin.node.compound_trigger', [
|
||||
},
|
||||
// Check to whether trigger is enable ?
|
||||
canCreate_with_compound_trigger_disable: function(itemData, item, data) {
|
||||
var treeData = pgBrowser.tree.getTreeNodeHierarchy(item);
|
||||
let treeData = pgBrowser.tree.getTreeNodeHierarchy(item);
|
||||
if ('view' in treeData) {
|
||||
return false;
|
||||
}
|
||||
|
@ -31,7 +31,7 @@ export class ForEventsSchema extends BaseUISchema {
|
||||
id: 'evnt_insert', label: gettext('INSERT'),
|
||||
type: 'switch',
|
||||
readonly: function(state) {
|
||||
var evn_insert = state.evnt_insert;
|
||||
let evn_insert = state.evnt_insert;
|
||||
if (!_.isUndefined(evn_insert) && obj.nodeInfo.server.server_type == 'ppas')
|
||||
return false;
|
||||
return obj.inCatalog();
|
||||
@ -40,7 +40,7 @@ export class ForEventsSchema extends BaseUISchema {
|
||||
id: 'evnt_update', label: gettext('UPDATE'),
|
||||
type: 'switch',
|
||||
readonly: function(state) {
|
||||
var evn_update = state.evnt_update;
|
||||
let evn_update = state.evnt_update;
|
||||
if (!_.isUndefined(evn_update) && obj.nodeInfo.server.server_type == 'ppas')
|
||||
return false;
|
||||
return obj.inCatalog();
|
||||
@ -49,7 +49,7 @@ export class ForEventsSchema extends BaseUISchema {
|
||||
id: 'evnt_delete', label: gettext('DELETE'),
|
||||
type: 'switch',
|
||||
readonly: function(state) {
|
||||
var evn_delete = state.evnt_delete;
|
||||
let evn_delete = state.evnt_delete;
|
||||
if (!_.isUndefined(evn_delete) && obj.nodeInfo.server.server_type == 'ppas')
|
||||
return false;
|
||||
return obj.inCatalog();
|
||||
@ -58,7 +58,7 @@ export class ForEventsSchema extends BaseUISchema {
|
||||
id: 'evnt_truncate', label: gettext('TRUNCATE'),
|
||||
type: 'switch',
|
||||
readonly: function(state) {
|
||||
var evn_truncate = state.evnt_truncate;
|
||||
let evn_truncate = state.evnt_truncate;
|
||||
// Views cannot have TRUNCATE triggers.
|
||||
if ('view' in obj.nodeInfo)
|
||||
return true;
|
||||
@ -127,7 +127,7 @@ export default class CompoundTriggerSchema extends BaseUISchema {
|
||||
return true;
|
||||
}
|
||||
// Enable column only if update event is set true
|
||||
var isUpdate = state.evnt_update;
|
||||
let isUpdate = state.evnt_update;
|
||||
if(!_.isUndefined(isUpdate) && isUpdate) {
|
||||
return false;
|
||||
}
|
||||
|
@ -62,14 +62,14 @@ define('pgadmin.node.check_constraint', [
|
||||
},
|
||||
callbacks: {
|
||||
validate_check_constraint: function(args) {
|
||||
var input = args || {},
|
||||
let input = args || {},
|
||||
obj = this,
|
||||
t = pgBrowser.tree,
|
||||
i = input.item || t.selected(),
|
||||
d = i ? t.itemData(i) : undefined;
|
||||
|
||||
if (d) {
|
||||
var data = d;
|
||||
let data = d;
|
||||
$.ajax({
|
||||
url: obj.generate_url(i, 'validate', d, true),
|
||||
type:'GET',
|
||||
@ -103,7 +103,7 @@ define('pgadmin.node.check_constraint', [
|
||||
if (data && data.check == false)
|
||||
return true;
|
||||
|
||||
var t = pgBrowser.tree, i = item, d = itemData, parents = [];
|
||||
let t = pgBrowser.tree, i = item, d = itemData, parents = [];
|
||||
// To iterate over tree to check parent node
|
||||
while (i) {
|
||||
// If it is schema then allow user to c reate table
|
||||
|
@ -61,7 +61,7 @@ define('pgadmin.node.exclusion_constraint', [
|
||||
if (data && data.check == false)
|
||||
return true;
|
||||
|
||||
var t = pgBrowser.tree, i = item, d = itemData, parents = [],
|
||||
let t = pgBrowser.tree, i = item, d = itemData, parents = [],
|
||||
immediate_parent_table_found = false,
|
||||
is_immediate_parent_table_partitioned = false;
|
||||
// To iterate over tree to check parent node
|
||||
|
@ -58,14 +58,14 @@ define('pgadmin.node.foreign_key', [
|
||||
},
|
||||
callbacks: {
|
||||
validate_foreign_key: function(args) {
|
||||
var input = args || {},
|
||||
let input = args || {},
|
||||
obj = this,
|
||||
t = pgBrowser.tree,
|
||||
i = input.item || t.selected(),
|
||||
d = i ? t.itemData(i) : undefined;
|
||||
|
||||
if (d) {
|
||||
var data = d;
|
||||
let data = d;
|
||||
$.ajax({
|
||||
url: obj.generate_url(i, 'validate', d, true),
|
||||
type:'GET',
|
||||
@ -97,7 +97,7 @@ define('pgadmin.node.foreign_key', [
|
||||
if (data && data.check == false)
|
||||
return true;
|
||||
|
||||
var t = pgBrowser.tree, i = item, d = itemData, parents = [],
|
||||
let t = pgBrowser.tree, i = item, d = itemData, parents = [],
|
||||
immediate_parent_table_found = false,
|
||||
is_immediate_parent_table_partitioned = false,
|
||||
s_version = t.getTreeNodeHierarchy(i).server.version;
|
||||
|
@ -325,7 +325,7 @@ export default class ForeignKeySchema extends BaseUISchema {
|
||||
controlProps: {
|
||||
formatter: {
|
||||
fromRaw: (rawValue)=>{
|
||||
var cols = [],
|
||||
let cols = [],
|
||||
remoteCols = [];
|
||||
if (rawValue?.length > 0) {
|
||||
rawValue.forEach((col)=>{
|
||||
|
@ -56,7 +56,7 @@ define('pgadmin.node.primary_key', [
|
||||
if (data && data.check == false)
|
||||
return true;
|
||||
|
||||
var t = pgBrowser.tree, i = item, d = itemData, parents = [],
|
||||
let t = pgBrowser.tree, i = item, d = itemData, parents = [],
|
||||
immediate_parent_table_found = false,
|
||||
is_immediate_parent_table_partitioned = false,
|
||||
s_version = t.getTreeNodeHierarchy(i).server.version;
|
||||
@ -78,7 +78,7 @@ define('pgadmin.node.primary_key', [
|
||||
}
|
||||
|
||||
// There should be only one primary key per table.
|
||||
var children = t.children(arguments[1], false),
|
||||
let children = t.children(arguments[1], false),
|
||||
primary_key_found = false;
|
||||
|
||||
_.each(children, function(child){
|
||||
@ -128,7 +128,7 @@ define('pgadmin.node.primary_key', [
|
||||
},
|
||||
|
||||
genResetColOptions: function() {
|
||||
var self = this;
|
||||
let self = this;
|
||||
|
||||
setTimeout(function () {
|
||||
self.custom_options();
|
||||
@ -138,12 +138,12 @@ define('pgadmin.node.primary_key', [
|
||||
|
||||
genCustomOptions: function() {
|
||||
// We will add all the columns entered by user in table model
|
||||
var columns = this.model.top.get('columns'),
|
||||
let columns = this.model.top.get('columns'),
|
||||
added_columns_from_tables = [];
|
||||
|
||||
if (columns.length > 0) {
|
||||
_.each(columns.models, function(m) {
|
||||
var col = m.get('name');
|
||||
let col = m.get('name');
|
||||
if(!_.isUndefined(col) && !_.isNull(col)) {
|
||||
added_columns_from_tables.push(
|
||||
{label: col, value: col, image:'icon-column'}
|
||||
@ -186,7 +186,7 @@ define('pgadmin.node.primary_key', [
|
||||
id: 'comment', label: gettext('Comment'), cell: 'string',
|
||||
type: 'multiline', mode: ['properties', 'create', 'edit'],
|
||||
deps:['name'], disabled:function(m) {
|
||||
var name = m.get('name');
|
||||
let name = m.get('name');
|
||||
if (!(name && name != '')) {
|
||||
setTimeout(function(){
|
||||
if(m.get('comment') && m.get('comment') !== '') {
|
||||
@ -206,12 +206,12 @@ define('pgadmin.node.primary_key', [
|
||||
initialize: function() {
|
||||
Backgrid.StringCell.prototype.initialize.apply(this, arguments);
|
||||
|
||||
var self = this,
|
||||
let self = this,
|
||||
collection = this.model.get('columns');
|
||||
|
||||
// Do not listen for any event(s) for existing constraint.
|
||||
if (_.isUndefined(self.model.get('oid'))) {
|
||||
var tableCols = self.model.top.get('columns');
|
||||
let tableCols = self.model.top.get('columns');
|
||||
self.listenTo(tableCols, 'remove' , self.removeColumn);
|
||||
self.listenTo(tableCols, 'change:name', self.resetColOptions);
|
||||
}
|
||||
@ -223,7 +223,7 @@ define('pgadmin.node.primary_key', [
|
||||
self.listenTo(collection, 'remove', self.render);
|
||||
},
|
||||
removeColumn: function(m) {
|
||||
var self = this,
|
||||
let self = this,
|
||||
removedCols = self.model.get('columns').where(
|
||||
{column: m.get('name')}
|
||||
);
|
||||
@ -233,9 +233,9 @@ define('pgadmin.node.primary_key', [
|
||||
self.render();
|
||||
}, 10);
|
||||
|
||||
var key = 'primary_key';
|
||||
let key = 'primary_key';
|
||||
setTimeout(function () {
|
||||
var constraints = self.model.top.get(key),
|
||||
let constraints = self.model.top.get(key),
|
||||
removed = [];
|
||||
constraints.each(function(constraint) {
|
||||
if (constraint.get('columns').length == 0) {
|
||||
@ -247,7 +247,7 @@ define('pgadmin.node.primary_key', [
|
||||
|
||||
},
|
||||
resetColOptions : function(m) {
|
||||
var self = this,
|
||||
let self = this,
|
||||
updatedCols = self.model.get('columns').where(
|
||||
{column: m.previous('name')}
|
||||
);
|
||||
@ -275,7 +275,7 @@ define('pgadmin.node.primary_key', [
|
||||
return Backgrid.StringCell.prototype.render.apply(this, arguments);
|
||||
},
|
||||
remove: function() {
|
||||
var tableCols = this.model.top.get('columns'),
|
||||
let tableCols = this.model.top.get('columns'),
|
||||
primary_key_col = this.model.get('columns');
|
||||
|
||||
if (primary_key_col) {
|
||||
@ -303,7 +303,7 @@ define('pgadmin.node.primary_key', [
|
||||
}
|
||||
),
|
||||
keyPathAccessor: function(obj, path) {
|
||||
var res = obj;
|
||||
let res = obj;
|
||||
if(_.isArray(res)) {
|
||||
return _.map(res, function(o) { return o['column'];
|
||||
});
|
||||
@ -319,12 +319,12 @@ define('pgadmin.node.primary_key', [
|
||||
initialize: function() {
|
||||
// Here we will decide if we need to call URL
|
||||
// Or fetch the data from parent columns collection
|
||||
var self = this;
|
||||
let self = this;
|
||||
if(this.model.handler) {
|
||||
Backform.Select2Control.prototype.initialize.apply(this, arguments);
|
||||
// Do not listen for any event(s) for existing constraint.
|
||||
if (_.isUndefined(self.model.get('oid'))) {
|
||||
var tableCols = self.model.top.get('columns');
|
||||
let tableCols = self.model.top.get('columns');
|
||||
self.listenTo(tableCols, 'remove' , self.resetColOptions);
|
||||
self.listenTo(tableCols, 'change:name', self.resetColOptions);
|
||||
}
|
||||
@ -344,7 +344,7 @@ define('pgadmin.node.primary_key', [
|
||||
this.genCustomOptions();
|
||||
},
|
||||
onChange: function() {
|
||||
var self = this,
|
||||
let self = this,
|
||||
model = this.model,
|
||||
attrArr = this.field.get('name').split('.'),
|
||||
name = attrArr.shift(),
|
||||
@ -359,7 +359,7 @@ define('pgadmin.node.primary_key', [
|
||||
* present in the collection.
|
||||
*/
|
||||
collection.each(function(m) {
|
||||
var column = m.get('column'),
|
||||
let column = m.get('column'),
|
||||
idx = _.indexOf(vals, column);
|
||||
|
||||
if (idx > -1) {
|
||||
@ -374,7 +374,7 @@ define('pgadmin.node.primary_key', [
|
||||
*/
|
||||
|
||||
_.each(vals, function(v) {
|
||||
var m = new (self.field.get('model'))(
|
||||
let m = new (self.field.get('model'))(
|
||||
{column: v}, { silent: true,
|
||||
top: self.model.top,
|
||||
collection: collection,
|
||||
@ -395,7 +395,7 @@ define('pgadmin.node.primary_key', [
|
||||
},
|
||||
remove: function() {
|
||||
if(this.model.handler) {
|
||||
var self = this,
|
||||
let self = this,
|
||||
tableCols = self.model.top.get('columns');
|
||||
self.stopListening(tableCols, 'remove' , self.resetColOptions);
|
||||
self.stopListening(tableCols, 'change:name' , self.resetColOptions);
|
||||
@ -408,9 +408,9 @@ define('pgadmin.node.primary_key', [
|
||||
}
|
||||
},
|
||||
render: function() {
|
||||
var index = this.model.get('index');
|
||||
let index = this.model.get('index');
|
||||
if(!_.isUndefined(index) && index != '') {
|
||||
var col = this.model.get('columns');
|
||||
let col = this.model.get('columns');
|
||||
col.reset([], {silent: true});
|
||||
}
|
||||
return Backform.Select2Control.prototype.render.apply(this, arguments);
|
||||
@ -426,7 +426,7 @@ define('pgadmin.node.primary_key', [
|
||||
},
|
||||
}),
|
||||
transform : function(data){
|
||||
var res = [];
|
||||
let res = [];
|
||||
if (data && _.isArray(data)) {
|
||||
_.each(data, function(d) {
|
||||
res.push({label: d.label, value: d.label, image:'icon-column'});
|
||||
@ -440,7 +440,7 @@ define('pgadmin.node.primary_key', [
|
||||
},
|
||||
disabled: function(m) {
|
||||
// Disable if index is selected.
|
||||
var index = m.get('index');
|
||||
let index = m.get('index');
|
||||
return !(_.isUndefined(index) || index == '');
|
||||
},
|
||||
},{
|
||||
@ -474,12 +474,12 @@ define('pgadmin.node.primary_key', [
|
||||
initialize: function() {
|
||||
// Here we will decide if we need to call URL
|
||||
// Or fetch the data from parent columns collection
|
||||
var self = this;
|
||||
let self = this;
|
||||
if(this.model.handler) {
|
||||
Backform.Select2Control.prototype.initialize.apply(this, arguments);
|
||||
// Do not listen for any event(s) for existing constraint.
|
||||
if (_.isUndefined(self.model.get('oid'))) {
|
||||
var tableCols = self.model.top.get('columns');
|
||||
let tableCols = self.model.top.get('columns');
|
||||
self.listenTo(tableCols, 'remove' , self.resetColOptions);
|
||||
self.listenTo(tableCols, 'change:name', self.resetColOptions);
|
||||
}
|
||||
@ -502,7 +502,7 @@ define('pgadmin.node.primary_key', [
|
||||
},
|
||||
disabled: function(m) {
|
||||
// Disable if index is selected.
|
||||
var index = m.get('index');
|
||||
let index = m.get('index');
|
||||
if(_.isUndefined(index) || index == '') {
|
||||
return false;
|
||||
} else {
|
||||
@ -525,7 +525,7 @@ define('pgadmin.node.primary_key', [
|
||||
disabled: function(m) {
|
||||
// Disable if index is selected.
|
||||
m = m.top || m;
|
||||
var index = m.get('index');
|
||||
let index = m.get('index');
|
||||
if(_.isUndefined(index) || index == '') {
|
||||
return false;
|
||||
} else {
|
||||
@ -564,7 +564,7 @@ define('pgadmin.node.primary_key', [
|
||||
type: 'int', group: gettext('Definition'), allowNull: true,
|
||||
disabled: function(m) {
|
||||
// Disable if index is selected.
|
||||
var index = m.get('index');
|
||||
let index = m.get('index');
|
||||
if(_.isUndefined(index) || index == '') {
|
||||
return false;
|
||||
} else {
|
||||
@ -582,7 +582,7 @@ define('pgadmin.node.primary_key', [
|
||||
},
|
||||
disabled: function(m) {
|
||||
// Disable if index is selected.
|
||||
var index = m.get('index');
|
||||
let index = m.get('index');
|
||||
if(_.isUndefined(index) || index == '') {
|
||||
return false;
|
||||
} else {
|
||||
@ -621,12 +621,12 @@ define('pgadmin.node.primary_key', [
|
||||
this.top.errorModel.clear();
|
||||
}
|
||||
|
||||
var columns = this.get('columns'),
|
||||
let columns = this.get('columns'),
|
||||
index = this.get('index');
|
||||
|
||||
if ((_.isUndefined(index) || String(index).replace(/^\s+|\s+$/g, '') == '') &&
|
||||
(_.isUndefined(columns) || _.isNull(columns) || columns.length < 1)) {
|
||||
var msg = gettext('Please specify columns for %s.', gettext('Primary key'));
|
||||
let msg = gettext('Please specify columns for %s.', gettext('Primary key'));
|
||||
this.errorModel.set('columns', msg);
|
||||
return msg;
|
||||
}
|
||||
|
@ -55,7 +55,7 @@ define('pgadmin.node.unique_constraint', [
|
||||
if (data && data.check == false)
|
||||
return true;
|
||||
|
||||
var t = pgBrowser.tree, i = item, d = itemData, parents = [],
|
||||
let t = pgBrowser.tree, i = item, d = itemData, parents = [],
|
||||
immediate_parent_table_found = false,
|
||||
is_immediate_parent_table_partitioned = false,
|
||||
s_version = pgBrowser.tree.getTreeNodeHierarchy(i).server.version;
|
||||
|
@ -97,7 +97,7 @@ define('pgadmin.node.index', [
|
||||
if (data && data.check == false)
|
||||
return true;
|
||||
|
||||
var t = pgBrowser.tree, i = item, d = itemData, parents = [],
|
||||
let t = pgBrowser.tree, i = item, d = itemData, parents = [],
|
||||
immediate_parent_table_found = false,
|
||||
is_immediate_parent_table_partitioned = false,
|
||||
s_version = t.getTreeNodeHierarchy(i).server.version;
|
||||
|
@ -126,7 +126,7 @@ export class ColumnSchema extends BaseUISchema {
|
||||
* to access method selected by user if not selected
|
||||
* send btree related op_class options
|
||||
*/
|
||||
var amname = columnSchemaObj._top?._sessData ? columnSchemaObj._top?._sessData.amname : columnSchemaObj._top?._origData.amname;
|
||||
let amname = columnSchemaObj._top?._sessData ? columnSchemaObj._top?._sessData.amname : columnSchemaObj._top?._origData.amname;
|
||||
|
||||
if(_.isUndefined(amname))
|
||||
return options;
|
||||
@ -442,10 +442,10 @@ export default class IndexSchema extends BaseUISchema {
|
||||
}
|
||||
|
||||
validate(state, setError) {
|
||||
var msg;
|
||||
let msg;
|
||||
|
||||
// Checks if columns is empty
|
||||
var cols = state.columns;
|
||||
let cols = state.columns;
|
||||
if(_.isArray(cols) && cols.length == 0){
|
||||
msg = gettext('You must specify at least one column.');
|
||||
setError('columns', msg);
|
||||
|
@ -147,18 +147,18 @@ function(
|
||||
callbacks: {
|
||||
/* Enable trigger(s) on table */
|
||||
enable_triggers_on_table: function(args) {
|
||||
var params = {'is_enable_trigger': 'O'};
|
||||
let params = {'is_enable_trigger': 'O'};
|
||||
this.callbacks.set_triggers.apply(this, [args, params]);
|
||||
},
|
||||
/* Disable trigger(s) on table */
|
||||
disable_triggers_on_table: function(args) {
|
||||
var params = {'is_enable_trigger': 'D'};
|
||||
let params = {'is_enable_trigger': 'D'};
|
||||
this.callbacks.set_triggers.apply(this, [args, params]);
|
||||
},
|
||||
set_triggers: function(args, params) {
|
||||
// This function will send request to enable or
|
||||
// disable triggers on table level
|
||||
var input = args || {},
|
||||
let input = args || {},
|
||||
obj = this,
|
||||
t = pgBrowser.tree,
|
||||
i = input.item || t.selected(),
|
||||
@ -191,16 +191,16 @@ function(
|
||||
},
|
||||
/* Truncate table */
|
||||
truncate_table: function(args) {
|
||||
var params = {'cascade': false };
|
||||
let params = {'cascade': false };
|
||||
this.callbacks.truncate.apply(this, [args, params]);
|
||||
},
|
||||
/* Truncate table with cascade */
|
||||
truncate_table_cascade: function(args) {
|
||||
var params = {'cascade': true };
|
||||
let params = {'cascade': true };
|
||||
this.callbacks.truncate.apply(this, [args, params]);
|
||||
},
|
||||
truncate: function(args, params) {
|
||||
var input = args || {},
|
||||
let input = args || {},
|
||||
obj = this,
|
||||
t = pgBrowser.tree,
|
||||
i = input.item || t.selected(),
|
||||
@ -213,7 +213,7 @@ function(
|
||||
gettext('Truncate Table'),
|
||||
gettext('Are you sure you want to truncate table %s?', d.label),
|
||||
function () {
|
||||
var data = d;
|
||||
let data = d;
|
||||
$.ajax({
|
||||
url: obj.generate_url(i, 'truncate' , d, true),
|
||||
type:'PUT',
|
||||
@ -231,7 +231,7 @@ function(
|
||||
);
|
||||
},
|
||||
reset_table_stats: function(args) {
|
||||
var input = args || {},
|
||||
let input = args || {},
|
||||
obj = this,
|
||||
t = pgBrowser.tree,
|
||||
i = input.item || t.selected(),
|
||||
@ -244,7 +244,7 @@ function(
|
||||
gettext('Reset statistics'),
|
||||
gettext('Are you sure you want to reset the statistics for table "%s"?', d._label),
|
||||
function () {
|
||||
var data = d;
|
||||
let data = d;
|
||||
$.ajax({
|
||||
url: obj.generate_url(i, 'reset' , d, true),
|
||||
type:'DELETE',
|
||||
@ -261,7 +261,7 @@ function(
|
||||
);
|
||||
},
|
||||
detach_partition: function(args) {
|
||||
var input = args || {},
|
||||
let input = args || {},
|
||||
obj = this,
|
||||
t = pgBrowser.tree,
|
||||
i = input.item || t.selected(),
|
||||
@ -281,7 +281,7 @@ function(
|
||||
.done(function(res) {
|
||||
if (res.success == 1) {
|
||||
Notify.success(res.info);
|
||||
var n = t.next(i);
|
||||
let n = t.next(i);
|
||||
if (!n) {
|
||||
n = t.prev(i);
|
||||
if (!n) {
|
||||
|
@ -281,7 +281,7 @@ export default class PartitionTableSchema extends BaseUISchema {
|
||||
editable: false, type: 'select', controlProps: {allowClear: false},
|
||||
group: 'partition', deps: ['is_partitioned'],
|
||||
options: function() {
|
||||
var options = [{
|
||||
let options = [{
|
||||
label: gettext('Range'), value: 'range',
|
||||
},{
|
||||
label: gettext('List'), value: 'list',
|
||||
@ -318,7 +318,7 @@ export default class PartitionTableSchema extends BaseUISchema {
|
||||
canAddRow: function(state) {
|
||||
let columnsExist = false;
|
||||
|
||||
var maxRowCount = 1000;
|
||||
let maxRowCount = 1000;
|
||||
if (state.partition_type && state.partition_type == 'list')
|
||||
maxRowCount = 1;
|
||||
|
||||
|
@ -88,7 +88,7 @@ define('pgadmin.node.row_security_policy', [
|
||||
},
|
||||
canCreate: function(itemData, item) {
|
||||
|
||||
var treeData = pgBrowser.tree.getTreeNodeHierarchy(item),
|
||||
let treeData = pgBrowser.tree.getTreeNodeHierarchy(item),
|
||||
server = treeData['server'];
|
||||
|
||||
// If node is under catalog then do not allow 'create' menu
|
||||
|
@ -47,7 +47,7 @@ export default class RowSecurityPolicySchema extends BaseUISchema {
|
||||
}
|
||||
|
||||
disableWithCheckField(state){
|
||||
var event = state.event;
|
||||
let event = state.event;
|
||||
if ((event == 'SELECT') || (event == 'DELETE')){
|
||||
state.withcheck = '';
|
||||
return true;
|
||||
|
@ -129,7 +129,7 @@ define('pgadmin.node.rule', [
|
||||
callbacks: {
|
||||
/* Enable rule */
|
||||
enable_rule: function(args) {
|
||||
var input = args || {},
|
||||
let input = args || {},
|
||||
obj = this,
|
||||
t = pgBrowser.tree,
|
||||
i = input.item || t.selected(),
|
||||
@ -138,7 +138,7 @@ define('pgadmin.node.rule', [
|
||||
if (!d)
|
||||
return false;
|
||||
|
||||
var data = d;
|
||||
let data = d;
|
||||
$.ajax({
|
||||
url: obj.generate_url(i, 'obj' , d, true),
|
||||
type:'PUT',
|
||||
@ -165,7 +165,7 @@ define('pgadmin.node.rule', [
|
||||
},
|
||||
/* Disable rule */
|
||||
disable_rule: function(args) {
|
||||
var input = args || {},
|
||||
let input = args || {},
|
||||
obj = this,
|
||||
t = pgBrowser.tree,
|
||||
i = input.item || t.selected(),
|
||||
@ -174,7 +174,7 @@ define('pgadmin.node.rule', [
|
||||
if (!d)
|
||||
return false;
|
||||
|
||||
var data = d;
|
||||
let data = d;
|
||||
$.ajax({
|
||||
url: obj.generate_url(i, 'obj' , d, true),
|
||||
type:'PUT',
|
||||
@ -216,7 +216,7 @@ define('pgadmin.node.rule', [
|
||||
if (data && data.check === false)
|
||||
return true;
|
||||
|
||||
var t = pgBrowser.tree, i = item, d = itemData;
|
||||
let t = pgBrowser.tree, i = item, d = itemData;
|
||||
|
||||
// To iterate over tree to check parent node
|
||||
while (i) {
|
||||
@ -228,7 +228,7 @@ define('pgadmin.node.rule', [
|
||||
if ('coll-rule' == d._type) {
|
||||
|
||||
//Check if we are not child of rule
|
||||
var prev_i = t.hasParent(i) ? t.parent(i) : null,
|
||||
let prev_i = t.hasParent(i) ? t.parent(i) : null,
|
||||
prev_j = t.hasParent(prev_i) ? t.parent(prev_i) : null,
|
||||
prev_k = t.hasParent(prev_j) ? t.parent(prev_j) : null,
|
||||
prev_f = prev_k ? t.itemData(prev_k) : null;
|
||||
@ -240,9 +240,9 @@ define('pgadmin.node.rule', [
|
||||
then allow to create Rule
|
||||
*/
|
||||
else if('view' == d._type || 'table' == d._type){
|
||||
prev_i = t.hasParent(i) ? t.parent(i) : null;
|
||||
prev_j = t.hasParent(prev_i) ? t.parent(prev_i) : null;
|
||||
var prev_e = prev_j ? t.itemData(prev_j) : null;
|
||||
let prev_i = t.hasParent(i) ? t.parent(i) : null,
|
||||
prev_j = t.hasParent(prev_i) ? t.parent(prev_i) : null,
|
||||
prev_e = prev_j ? t.itemData(prev_j) : null;
|
||||
return (!_.isNull(prev_e) && prev_e._type == 'schema');
|
||||
}
|
||||
i = t.hasParent(i) ? t.parent(i) : null;
|
||||
@ -255,7 +255,7 @@ define('pgadmin.node.rule', [
|
||||
},
|
||||
|
||||
canCreate_with_rule_enable: function(itemData, item, data) {
|
||||
var treeData = pgBrowser.tree.getTreeNodeHierarchy(item);
|
||||
let treeData = pgBrowser.tree.getTreeNodeHierarchy(item);
|
||||
if ('view' in treeData) {
|
||||
return false;
|
||||
}
|
||||
@ -265,7 +265,7 @@ define('pgadmin.node.rule', [
|
||||
},
|
||||
// Check to whether rule is enable ?
|
||||
canCreate_with_rule_disable: function(itemData, item, data) {
|
||||
var treeData = pgBrowser.tree.getTreeNodeHierarchy(item);
|
||||
let treeData = pgBrowser.tree.getTreeNodeHierarchy(item);
|
||||
if ('view' in treeData) {
|
||||
return false;
|
||||
}
|
||||
|
@ -314,7 +314,7 @@ export class PartitionsSchema extends BaseUISchema {
|
||||
editable: false, type: 'select', controlProps: {allowClear: false},
|
||||
group: 'Partition', deps: ['is_sub_partitioned'],
|
||||
options: function() {
|
||||
var options = [{
|
||||
let options = [{
|
||||
label: gettext('Range'), value: 'range',
|
||||
},{
|
||||
label: gettext('List'), value: 'list',
|
||||
@ -346,7 +346,7 @@ export class PartitionsSchema extends BaseUISchema {
|
||||
let columnsExist = false;
|
||||
let columns = obj.top.sessData.columns;
|
||||
|
||||
var maxRowCount = 1000;
|
||||
let maxRowCount = 1000;
|
||||
if (state.sub_partition_type && state.sub_partition_type == 'list')
|
||||
maxRowCount = 1;
|
||||
|
||||
|
@ -156,20 +156,20 @@ define('pgadmin.node.table', [
|
||||
},
|
||||
/* Truncate table */
|
||||
truncate_table: function(args) {
|
||||
var params = {'cascade': false };
|
||||
let params = {'cascade': false };
|
||||
this.callbacks.truncate.apply(this, [args, params]);
|
||||
},
|
||||
/* Truncate table with cascade */
|
||||
truncate_table_cascade: function(args) {
|
||||
var params = {'cascade': true };
|
||||
let params = {'cascade': true };
|
||||
this.callbacks.truncate.apply(this, [args, params]);
|
||||
},
|
||||
truncate_table_identity: function(args) {
|
||||
var params = {'identity': true };
|
||||
let params = {'identity': true };
|
||||
this.callbacks.truncate.apply(this, [args, params]);
|
||||
},
|
||||
truncate: function(args, params) {
|
||||
var input = args || {},
|
||||
let input = args || {},
|
||||
obj = this,
|
||||
t = pgBrowser.tree,
|
||||
i = input.item || t.selected(),
|
||||
@ -182,7 +182,7 @@ define('pgadmin.node.table', [
|
||||
gettext('Truncate Table'),
|
||||
gettext('Are you sure you want to truncate table %s?', d.label),
|
||||
function () {
|
||||
var data = d;
|
||||
let data = d;
|
||||
$.ajax({
|
||||
url: obj.generate_url(i, 'truncate' , d, true),
|
||||
type:'PUT',
|
||||
@ -215,7 +215,7 @@ define('pgadmin.node.table', [
|
||||
);
|
||||
},
|
||||
reset_table_stats: function(args) {
|
||||
var input = args || {},
|
||||
let input = args || {},
|
||||
obj = this,
|
||||
t = pgBrowser.tree,
|
||||
i = input.item || t.selected(),
|
||||
@ -228,7 +228,7 @@ define('pgadmin.node.table', [
|
||||
gettext('Reset statistics'),
|
||||
gettext('Are you sure you want to reset the statistics for table "%s"?', d._label),
|
||||
function () {
|
||||
var data = d;
|
||||
let data = d;
|
||||
$.ajax({
|
||||
url: obj.generate_url(i, 'reset' , d, true),
|
||||
type:'DELETE',
|
||||
@ -257,7 +257,7 @@ define('pgadmin.node.table', [
|
||||
);
|
||||
},
|
||||
count_table_rows: function(args) {
|
||||
var input = args || {},
|
||||
let input = args || {},
|
||||
obj = this,
|
||||
t = pgBrowser.tree,
|
||||
i = input.item || t.selected(),
|
||||
@ -354,18 +354,18 @@ define('pgadmin.node.table', [
|
||||
this.canCreate.apply(this, [itemData, item, data]);
|
||||
},
|
||||
onTableUpdated: function(_node, _oldNodeData, _newNodeData) {
|
||||
var key, childIDs;
|
||||
let key, childIDs;
|
||||
if (
|
||||
_newNodeData.is_partitioned &&
|
||||
'affected_partitions' in _newNodeData
|
||||
) {
|
||||
var partitions = _newNodeData.affected_partitions,
|
||||
let partitions = _newNodeData.affected_partitions,
|
||||
newPartitionsIDs = [],
|
||||
insertChildTreeNodes = [],
|
||||
insertChildrenNodes = function() {
|
||||
if (!insertChildTreeNodes.length)
|
||||
return;
|
||||
var option = insertChildTreeNodes.pop();
|
||||
let option = insertChildTreeNodes.pop();
|
||||
pgBrowser.addChildTreeNodes(
|
||||
option.treeHierarchy, option.parent, option.type,
|
||||
option.childrenIDs, insertChildrenNodes
|
||||
@ -383,7 +383,7 @@ define('pgadmin.node.table', [
|
||||
schemaNode = pgBrowser.findParentTreeNodeByType(
|
||||
_node, 'schema'
|
||||
);
|
||||
var detachedBySchema = _.groupBy(
|
||||
let detachedBySchema = _.groupBy(
|
||||
partitions.detached,
|
||||
function(_d) { return parseInt(_d.schema_id); }
|
||||
);
|
||||
@ -397,7 +397,7 @@ define('pgadmin.node.table', [
|
||||
function(_d) { return parseInt(_d.oid); }
|
||||
);
|
||||
|
||||
var tablesCollNode = pgBrowser.findChildCollectionTreeNode(
|
||||
let tablesCollNode = pgBrowser.findChildCollectionTreeNode(
|
||||
schemaNode, 'coll-table'
|
||||
);
|
||||
|
||||
@ -420,7 +420,7 @@ define('pgadmin.node.table', [
|
||||
schemaNode = pgBrowser.findParentTreeNodeByType(
|
||||
_node, 'schema'
|
||||
);
|
||||
var attachedBySchema = _.groupBy(
|
||||
let attachedBySchema = _.groupBy(
|
||||
partitions.attached,
|
||||
function(_d) { return parseInt(_d.schema_id); }
|
||||
);
|
||||
@ -449,7 +449,7 @@ define('pgadmin.node.table', [
|
||||
}
|
||||
|
||||
if (newPartitionsIDs.length) {
|
||||
var partitionsCollNode = pgBrowser.findChildCollectionTreeNode(
|
||||
let partitionsCollNode = pgBrowser.findChildCollectionTreeNode(
|
||||
_node, 'coll-partition'
|
||||
);
|
||||
|
||||
|
@ -640,7 +640,7 @@ export default class TableSchema extends BaseUISchema {
|
||||
deps: ['typname', 'is_partitioned'],
|
||||
depChange: (state, source, topState, actionObj)=>{
|
||||
if(source[0] === 'columns') {
|
||||
/* In ERD, attnum is an imp var for setting the links
|
||||
/* In ERD, attnum is an imp let for setting the links
|
||||
Here, attnum is set to max avail value.
|
||||
*/
|
||||
let columns = state.columns;
|
||||
@ -820,7 +820,7 @@ export default class TableSchema extends BaseUISchema {
|
||||
editable: false, type: 'select', controlProps: {allowClear: false},
|
||||
group: 'partition', deps: ['is_partitioned'],
|
||||
options: function() {
|
||||
var options = [{
|
||||
let options = [{
|
||||
label: gettext('Range'), value: 'range',
|
||||
},{
|
||||
label: gettext('List'), value: 'list',
|
||||
@ -858,7 +858,7 @@ export default class TableSchema extends BaseUISchema {
|
||||
canAddRow: function(state) {
|
||||
let columnsExist = false;
|
||||
|
||||
var maxRowCount = 1000;
|
||||
let maxRowCount = 1000;
|
||||
if (state.partition_type && state.partition_type == 'list')
|
||||
maxRowCount = 1;
|
||||
|
||||
|
@ -98,7 +98,7 @@ define('pgadmin.node.trigger', [
|
||||
callbacks: {
|
||||
/* Enable trigger */
|
||||
enable_trigger: function(args) {
|
||||
var input = args || {},
|
||||
let input = args || {},
|
||||
obj = this,
|
||||
t = pgBrowser.tree,
|
||||
i = input.item || t.selected(),
|
||||
@ -107,7 +107,7 @@ define('pgadmin.node.trigger', [
|
||||
if (!d)
|
||||
return false;
|
||||
|
||||
var data = d;
|
||||
let data = d;
|
||||
$.ajax({
|
||||
url: obj.generate_url(i, 'enable' , d, true),
|
||||
type:'PUT',
|
||||
@ -136,7 +136,7 @@ define('pgadmin.node.trigger', [
|
||||
},
|
||||
/* Disable trigger */
|
||||
disable_trigger: function(args) {
|
||||
var input = args || {},
|
||||
let input = args || {},
|
||||
obj = this,
|
||||
t = pgBrowser.tree,
|
||||
i = input.item || t.selected(),
|
||||
@ -145,7 +145,7 @@ define('pgadmin.node.trigger', [
|
||||
if (!d)
|
||||
return false;
|
||||
|
||||
var data = d;
|
||||
let data = d;
|
||||
$.ajax({
|
||||
url: obj.generate_url(i, 'enable' , d, true),
|
||||
type:'PUT',
|
||||
@ -191,7 +191,7 @@ define('pgadmin.node.trigger', [
|
||||
canCreate: SchemaChildTreeNode.isTreeItemOfChildOfSchema,
|
||||
// Check to whether trigger is disable ?
|
||||
canCreate_with_trigger_enable: function(itemData, item, data) {
|
||||
var treeData = pgBrowser.tree.getTreeNodeHierarchy(item);
|
||||
let treeData = pgBrowser.tree.getTreeNodeHierarchy(item);
|
||||
if ('view' in treeData) {
|
||||
return false;
|
||||
}
|
||||
@ -201,7 +201,7 @@ define('pgadmin.node.trigger', [
|
||||
},
|
||||
// Check to whether trigger is enable ?
|
||||
canCreate_with_trigger_disable: function(itemData, item, data) {
|
||||
var treeData = pgBrowser.tree.getTreeNodeHierarchy(item);
|
||||
let treeData = pgBrowser.tree.getTreeNodeHierarchy(item);
|
||||
if ('view' in treeData) {
|
||||
return false;
|
||||
}
|
||||
|
@ -52,7 +52,7 @@ export class EventSchema extends BaseUISchema {
|
||||
type: 'switch', mode: ['create','edit', 'properties'],
|
||||
group: gettext('Events'),
|
||||
readonly: (state) => {
|
||||
var evn_insert = state.evnt_insert;
|
||||
let evn_insert = state.evnt_insert;
|
||||
if (!_.isUndefined(evn_insert) && obj.nodeInfo && obj.nodeInfo.server.server_type == 'ppas' && obj.isNew(state))
|
||||
return false;
|
||||
return obj.inSchemaWithModelCheck(state);
|
||||
@ -62,7 +62,7 @@ export class EventSchema extends BaseUISchema {
|
||||
type: 'switch', mode: ['create','edit', 'properties'],
|
||||
group: gettext('Events'),
|
||||
readonly: (state) => {
|
||||
var evn_update = state.evnt_update;
|
||||
let evn_update = state.evnt_update;
|
||||
if (!_.isUndefined(evn_update) && obj.nodeInfo && obj.nodeInfo.server.server_type == 'ppas' && obj.isNew(state))
|
||||
return false;
|
||||
return obj.inSchemaWithModelCheck(state);
|
||||
@ -72,7 +72,7 @@ export class EventSchema extends BaseUISchema {
|
||||
type: 'switch', mode: ['create','edit', 'properties'],
|
||||
group: gettext('Events'),
|
||||
readonly: (state) => {
|
||||
var evn_delete = state.evnt_delete;
|
||||
let evn_delete = state.evnt_delete;
|
||||
if (!_.isUndefined(evn_delete) && obj.nodeInfo && obj.nodeInfo.server.server_type == 'ppas' && obj.isNew(state))
|
||||
return false;
|
||||
return obj.inSchemaWithModelCheck(state);
|
||||
@ -81,7 +81,7 @@ export class EventSchema extends BaseUISchema {
|
||||
id: 'evnt_truncate', label: gettext('TRUNCATE'),
|
||||
type: 'switch', group: gettext('Events'), deps: ['is_row_trigger', 'is_constraint_trigger'],
|
||||
readonly: (state) => {
|
||||
var is_constraint_trigger = state.is_constraint_trigger,
|
||||
let is_constraint_trigger = state.is_constraint_trigger,
|
||||
is_row_trigger = state.is_row_trigger,
|
||||
server_type = obj.nodeInfo ? obj.nodeInfo.server.server_type: null;
|
||||
if (is_row_trigger == true){
|
||||
@ -151,7 +151,7 @@ export default class TriggerSchema extends BaseUISchema {
|
||||
disableTransition(state) {
|
||||
if (!this.isNew())
|
||||
return true;
|
||||
var flag = false,
|
||||
let flag = false,
|
||||
evnt = null,
|
||||
name = state.name,
|
||||
evnt_count = 0;
|
||||
@ -239,7 +239,7 @@ export default class TriggerSchema extends BaseUISchema {
|
||||
|
||||
// If constraint trigger is set to True then row trigger will
|
||||
// automatically set to True and becomes disable
|
||||
var is_constraint_trigger = state.is_constraint_trigger;
|
||||
let is_constraint_trigger = state.is_constraint_trigger;
|
||||
if(!obj.inSchemaWithModelCheck(state)) {
|
||||
if(!_.isUndefined(is_constraint_trigger) &&
|
||||
is_constraint_trigger === true) {
|
||||
@ -251,7 +251,7 @@ export default class TriggerSchema extends BaseUISchema {
|
||||
}
|
||||
} else {
|
||||
// Check if it is row trigger then enabled it.
|
||||
var is_row_trigger = state.is_row_trigger;
|
||||
let is_row_trigger = state.is_row_trigger;
|
||||
if (!_.isUndefined(is_row_trigger) && obj.nodeInfo.server.server_type == 'ppas') {
|
||||
return false;
|
||||
}
|
||||
@ -267,7 +267,7 @@ export default class TriggerSchema extends BaseUISchema {
|
||||
deps: ['tfunction'],
|
||||
readonly: (state) => {
|
||||
// Disabled if table is a partitioned table.
|
||||
var tfunction = state.tfunction;
|
||||
let tfunction = state.tfunction;
|
||||
if (( _.has(obj.nodeInfo, 'table') && _.has(obj.nodeInfo.table, 'is_partitioned') &&
|
||||
obj.nodeInfo.table.is_partitioned) || ( _.has(obj.nodeInfo, 'view')) ||
|
||||
(obj.nodeInfo.server.server_type === 'ppas' && !_.isUndefined(tfunction) &&
|
||||
@ -290,7 +290,7 @@ export default class TriggerSchema extends BaseUISchema {
|
||||
deps: ['is_constraint_trigger'],
|
||||
readonly: (state) => {
|
||||
// If constraint trigger is set to True then only enable it
|
||||
var is_constraint_trigger = state.is_constraint_trigger;
|
||||
let is_constraint_trigger = state.is_constraint_trigger;
|
||||
if(!obj.inSchemaWithModelCheck(state)) {
|
||||
if(!_.isUndefined(is_constraint_trigger) &&
|
||||
is_constraint_trigger === true) {
|
||||
@ -317,7 +317,7 @@ export default class TriggerSchema extends BaseUISchema {
|
||||
deps: ['tgdeferrable', 'is_constraint_trigger'],
|
||||
readonly: (state) => {
|
||||
// If Deferrable is set to True then only enable it
|
||||
var tgdeferrable = state.tgdeferrable;
|
||||
let tgdeferrable = state.tgdeferrable;
|
||||
if(!obj.inSchemaWithModelCheck(state)) {
|
||||
if(!_.isUndefined(tgdeferrable) && tgdeferrable) {
|
||||
return false;
|
||||
@ -351,7 +351,7 @@ export default class TriggerSchema extends BaseUISchema {
|
||||
readonly: (state) => {
|
||||
// We will disable it when EDB PPAS and trigger function is
|
||||
// set to Inline EDB-SPL
|
||||
var tfunction = state.tfunction,
|
||||
let tfunction = state.tfunction,
|
||||
server_type = obj.nodeInfo.server.server_type;
|
||||
if(!obj.inSchemaWithModelCheck(state)) {
|
||||
if(server_type === 'ppas' &&
|
||||
@ -372,7 +372,7 @@ export default class TriggerSchema extends BaseUISchema {
|
||||
id: 'fires', label: gettext('Fires'), deps: ['is_constraint_trigger'],
|
||||
mode: ['create','edit', 'properties'], group: gettext('Events'),
|
||||
options: () => {
|
||||
var table_options = [
|
||||
let table_options = [
|
||||
{label: 'BEFORE', value: 'BEFORE'},
|
||||
{label: 'AFTER', value: 'AFTER'}],
|
||||
view_options = [
|
||||
@ -391,7 +391,7 @@ export default class TriggerSchema extends BaseUISchema {
|
||||
if (!obj.isNew())
|
||||
return true;
|
||||
// If contraint trigger is set to True then only enable it
|
||||
var is_constraint_trigger = state.is_constraint_trigger;
|
||||
let is_constraint_trigger = state.is_constraint_trigger;
|
||||
if(!obj.inSchemaWithModelCheck(state)) {
|
||||
if(!_.isUndefined(is_constraint_trigger) &&
|
||||
is_constraint_trigger === true) {
|
||||
@ -402,7 +402,7 @@ export default class TriggerSchema extends BaseUISchema {
|
||||
}
|
||||
} else {
|
||||
// Check if it is row trigger then enabled it.
|
||||
var fires_ = state.fires;
|
||||
let fires_ = state.fires;
|
||||
if (!_.isUndefined(fires_) && obj.nodeInfo.server.server_type == 'ppas') {
|
||||
return false;
|
||||
}
|
||||
@ -434,7 +434,7 @@ export default class TriggerSchema extends BaseUISchema {
|
||||
return true;
|
||||
}
|
||||
// Enable column only if update event is set true
|
||||
var isUpdate = state.evnt_update;
|
||||
let isUpdate = state.evnt_update;
|
||||
if(!_.isUndefined(isUpdate) && isUpdate) {
|
||||
return false;
|
||||
}
|
||||
@ -460,7 +460,7 @@ export default class TriggerSchema extends BaseUISchema {
|
||||
disabled: (state) => {
|
||||
// We will enable it only when EDB PPAS and trigger function is
|
||||
// set to Inline EDB-SPL
|
||||
var tfunction = state.tfunction,
|
||||
let tfunction = state.tfunction,
|
||||
server_type = obj.nodeInfo.server.server_type;
|
||||
|
||||
return (server_type !== 'ppas' ||
|
||||
|
@ -85,12 +85,12 @@ function getRangeSchema(nodeObj, treeNodeInfo, itemNodeData) {
|
||||
return new Promise((resolve, reject)=>{
|
||||
const api = getApiInstance();
|
||||
|
||||
var _url = nodeObj.generate_url.apply(
|
||||
let _url = nodeObj.generate_url.apply(
|
||||
nodeObj, [
|
||||
null, 'get_subopclass', itemNodeData, false,
|
||||
treeNodeInfo,
|
||||
]);
|
||||
var data;
|
||||
let data;
|
||||
|
||||
if(!_.isUndefined(typname) && typname != ''){
|
||||
api.get(_url, {
|
||||
@ -113,12 +113,12 @@ function getRangeSchema(nodeObj, treeNodeInfo, itemNodeData) {
|
||||
return new Promise((resolve, reject)=>{
|
||||
const api = getApiInstance();
|
||||
|
||||
var _url = nodeObj.generate_url.apply(
|
||||
let _url = nodeObj.generate_url.apply(
|
||||
nodeObj, [
|
||||
null, 'get_canonical', itemNodeData, false,
|
||||
treeNodeInfo,
|
||||
]);
|
||||
var data = [];
|
||||
let data = [];
|
||||
|
||||
if(!_.isUndefined(name) && name != '' && name != null){
|
||||
api.get(_url, {
|
||||
@ -140,12 +140,12 @@ function getRangeSchema(nodeObj, treeNodeInfo, itemNodeData) {
|
||||
return new Promise((resolve, reject)=>{
|
||||
const api = getApiInstance();
|
||||
|
||||
var _url = nodeObj.generate_url.apply(
|
||||
let _url = nodeObj.generate_url.apply(
|
||||
nodeObj, [
|
||||
null, 'get_stypediff', itemNodeData, false,
|
||||
treeNodeInfo,
|
||||
]);
|
||||
var data;
|
||||
let data;
|
||||
|
||||
if(!_.isUndefined(typname) && typname != '' &&
|
||||
!_.isUndefined(opcname) && opcname != ''){
|
||||
@ -211,7 +211,7 @@ class EnumerationSchema extends BaseUISchema {
|
||||
}
|
||||
|
||||
get baseFields() {
|
||||
var obj = this;
|
||||
let obj = this;
|
||||
return [
|
||||
{
|
||||
id: 'label', label: gettext('Label'),
|
||||
@ -247,7 +247,7 @@ class RangeSchema extends BaseUISchema {
|
||||
}
|
||||
|
||||
get baseFields() {
|
||||
var obj = this;
|
||||
let obj = this;
|
||||
return [{
|
||||
// We will disable range type control in edit mode
|
||||
id: 'typname', label: gettext('Subtype'),
|
||||
@ -333,7 +333,7 @@ class RangeSchema extends BaseUISchema {
|
||||
return disableCollNameControl;
|
||||
|
||||
// To check if collation is allowed?
|
||||
var of_subtype = state.typname;
|
||||
let of_subtype = state.typname;
|
||||
if(!_.isUndefined(of_subtype)) {
|
||||
// iterating over all the types
|
||||
_.each(state.subtypes, function(s) {
|
||||
@ -473,7 +473,7 @@ class ExternalSchema extends BaseUISchema {
|
||||
|
||||
// Function will help us to fill combobox
|
||||
external_func_combo(control) {
|
||||
var result = [];
|
||||
let result = [];
|
||||
_.each(control, function(item) {
|
||||
|
||||
if(item && item.label == '') {
|
||||
@ -515,7 +515,7 @@ class ExternalSchema extends BaseUISchema {
|
||||
}
|
||||
|
||||
get baseFields() {
|
||||
var obj = this;
|
||||
let obj = this;
|
||||
return [{
|
||||
id: 'spacer_ctrl', group: gettext('Required'), mode: ['edit', 'create'], type: 'spacer',
|
||||
},{
|
||||
@ -892,7 +892,7 @@ class CompositeSchema extends BaseUISchema {
|
||||
}
|
||||
|
||||
get baseFields() {
|
||||
var obj = this;
|
||||
let obj = this;
|
||||
return [{
|
||||
id: 'member_name', label: gettext('Member Name'),
|
||||
type: 'text', cell: 'text'
|
||||
@ -951,8 +951,8 @@ class CompositeSchema extends BaseUISchema {
|
||||
deps: ['type'],
|
||||
editable: (state) => {
|
||||
// We will store type from selected from combobox
|
||||
var of_type = state.type;
|
||||
var flag = false;
|
||||
let of_type = state.type;
|
||||
let flag = false;
|
||||
if(obj.type_options) {
|
||||
// iterating over all the types
|
||||
_.each(obj.type_options, function(o) {
|
||||
@ -1026,7 +1026,7 @@ class DataTypeSchema extends BaseUISchema {
|
||||
}
|
||||
|
||||
get baseFields() {
|
||||
var dataTypeObj = this;
|
||||
let dataTypeObj = this;
|
||||
return [{
|
||||
id: 'type',
|
||||
label: gettext('Data Type'),
|
||||
@ -1048,7 +1048,7 @@ class DataTypeSchema extends BaseUISchema {
|
||||
controlProps: {
|
||||
allowClear: false,
|
||||
filter: (options) => {
|
||||
var data_types = [];
|
||||
let data_types = [];
|
||||
options.forEach((option) => {
|
||||
if (!(option.value.includes('[]'))) {
|
||||
data_types.push(option);
|
||||
@ -1089,7 +1089,7 @@ class DataTypeSchema extends BaseUISchema {
|
||||
visible: (state) => isVisible(state, 'N'),
|
||||
disabled: function(state) {
|
||||
|
||||
var of_type = state.type,
|
||||
let of_type = state.type,
|
||||
flag = true;
|
||||
if (state.type_options) {
|
||||
_.each(state.type_options, function (o) {
|
||||
@ -1129,7 +1129,7 @@ class DataTypeSchema extends BaseUISchema {
|
||||
cell: 'int',
|
||||
visible: (state) => isVisible(state, 'N'),
|
||||
disabled: function(state) {
|
||||
var of_type = state.type,
|
||||
let of_type = state.type,
|
||||
flag = true;
|
||||
_.each(state.type_options, function(o) {
|
||||
if ( of_type == o.value ) {
|
||||
@ -1217,7 +1217,7 @@ export default class TypeSchema extends BaseUISchema {
|
||||
}
|
||||
|
||||
get baseFields() {
|
||||
var obj = this;
|
||||
let obj = this;
|
||||
return [{
|
||||
id: 'name', label: gettext('Name'), cell: 'string',
|
||||
type: 'text', mode: ['properties', 'create', 'edit'],
|
||||
@ -1272,7 +1272,7 @@ export default class TypeSchema extends BaseUISchema {
|
||||
},
|
||||
controlProps: { allowClear: false },
|
||||
options: function() {
|
||||
var typetype = [
|
||||
let typetype = [
|
||||
{label: gettext('Composite'), value: 'c'},
|
||||
{label: gettext('Enumeration'), value: 'e'},
|
||||
{label: gettext('External'), value: 'b'},
|
||||
@ -1462,7 +1462,7 @@ export default class TypeSchema extends BaseUISchema {
|
||||
// Do not allow to add when shell type is selected
|
||||
// Clear acl & security label collections as well
|
||||
if (state.typtype === 'p') {
|
||||
var acl = state.typacl;
|
||||
let acl = state.typacl;
|
||||
if(acl && acl.length > 0)
|
||||
acl.splice(0, acl.length);
|
||||
}
|
||||
@ -1480,7 +1480,7 @@ export default class TypeSchema extends BaseUISchema {
|
||||
// Do not allow to add when shell type is selected
|
||||
// Clear acl & security label collections as well
|
||||
if (state.typtype === 'p') {
|
||||
var secLabs = state.seclabels;
|
||||
let secLabs = state.seclabels;
|
||||
if(secLabs && secLabs.length > 0)
|
||||
secLabs.splice(0, secLabs.length);
|
||||
}
|
||||
|
@ -149,7 +149,7 @@ define('pgadmin.node.mview', [
|
||||
},
|
||||
|
||||
refresh_mview: function(args) {
|
||||
var input = args || {},
|
||||
let input = args || {},
|
||||
obj = this,
|
||||
t = pgBrowser.tree,
|
||||
i = input.item || t.selected(),
|
||||
@ -161,7 +161,7 @@ define('pgadmin.node.mview', [
|
||||
|
||||
let j = i;
|
||||
while (j) {
|
||||
var node_data = pgBrowser.tree.itemData(j);
|
||||
let node_data = pgBrowser.tree.itemData(j);
|
||||
if (node_data._type == 'server') {
|
||||
server_data = node_data;
|
||||
break;
|
||||
@ -227,7 +227,7 @@ define('pgadmin.node.mview', [
|
||||
},
|
||||
|
||||
is_version_supported: function(data, item) {
|
||||
var t = pgAdmin.Browser.tree,
|
||||
let t = pgAdmin.Browser.tree,
|
||||
i = item || t.selected(),
|
||||
info = t && t.getTreeNodeHierarchy(i),
|
||||
version = _.isUndefined(info) ? 0 : info.server.version;
|
||||
|
@ -108,13 +108,13 @@ define('pgadmin.node.database', [
|
||||
);
|
||||
},
|
||||
can_create_database: function(node, item) {
|
||||
var treeData = pgBrowser.tree.getTreeNodeHierarchy(item),
|
||||
let treeData = pgBrowser.tree.getTreeNodeHierarchy(item),
|
||||
server = treeData['server'];
|
||||
|
||||
return server.connected && server.user.can_create_db;
|
||||
},
|
||||
canCreate: function(itemData, item) {
|
||||
var treeData = pgBrowser.tree.getTreeNodeHierarchy(item),
|
||||
let treeData = pgBrowser.tree.getTreeNodeHierarchy(item),
|
||||
server = treeData['server'];
|
||||
|
||||
// If server is less than 10 then do not allow 'create' menu
|
||||
@ -139,7 +139,7 @@ define('pgadmin.node.database', [
|
||||
},
|
||||
connection_lost: function(i, resp, server_connected) {
|
||||
if (pgBrowser.tree) {
|
||||
var t = pgBrowser.tree,
|
||||
let t = pgBrowser.tree,
|
||||
d = i && t.itemData(i),
|
||||
self = this;
|
||||
|
||||
@ -153,7 +153,7 @@ define('pgadmin.node.database', [
|
||||
if (_.isUndefined(d.is_connecting) || !d.is_connecting) {
|
||||
d.is_connecting = true;
|
||||
|
||||
var disconnect = function(_i, _d) {
|
||||
let disconnect = function(_i, _d) {
|
||||
if (_d._id == this._id) {
|
||||
d.is_connecting = false;
|
||||
pgBrowser.Events.off(
|
||||
@ -187,7 +187,7 @@ define('pgadmin.node.database', [
|
||||
d.is_connecting = false;
|
||||
t.unload(i);
|
||||
t.setInode(i);
|
||||
var dbIcon = d.isTemplate ? 'icon-database-template-not-connected':'icon-database-not-connected';
|
||||
let dbIcon = d.isTemplate ? 'icon-database-template-not-connected':'icon-database-not-connected';
|
||||
t.addIcon(i, {icon: dbIcon});
|
||||
pgBrowser.Events.trigger(
|
||||
'pgadmin:database:connect:cancelled', i, d, self
|
||||
@ -200,7 +200,7 @@ define('pgadmin.node.database', [
|
||||
callbacks: {
|
||||
/* Connect the database */
|
||||
connect_database: function(args){
|
||||
var input = args || {},
|
||||
let input = args || {},
|
||||
obj = this,
|
||||
t = pgBrowser.tree,
|
||||
i = input.item || t.selected(),
|
||||
@ -218,7 +218,7 @@ define('pgadmin.node.database', [
|
||||
},
|
||||
/* Disconnect the database */
|
||||
disconnect_database: function(args) {
|
||||
var input = args || {},
|
||||
let input = args || {},
|
||||
obj = this,
|
||||
t = pgBrowser.tree,
|
||||
i = input.item || t.selected(),
|
||||
@ -229,14 +229,14 @@ define('pgadmin.node.database', [
|
||||
gettext('Disconnect from database'),
|
||||
gettext('Are you sure you want to disconnect from database - %s?', d.label),
|
||||
function() {
|
||||
var data = d;
|
||||
let data = d;
|
||||
$.ajax({
|
||||
url: obj.generate_url(i, 'connect', d, true),
|
||||
type:'DELETE',
|
||||
})
|
||||
.done(function(res) {
|
||||
if (res.success == 1) {
|
||||
var prv_i = t.parent(i);
|
||||
let prv_i = t.parent(i);
|
||||
if(res.data.info_prefix) {
|
||||
res.info = `${_.escape(res.data.info_prefix)} - ${res.info}`;
|
||||
}
|
||||
@ -275,7 +275,7 @@ define('pgadmin.node.database', [
|
||||
|
||||
/* Generate the ERD */
|
||||
generate_erd: function(args) {
|
||||
var input = args || {},
|
||||
let input = args || {},
|
||||
t = pgBrowser.tree,
|
||||
i = input.item || t.selected(),
|
||||
d = i ? t.itemData(i) : undefined;
|
||||
@ -311,7 +311,7 @@ define('pgadmin.node.database', [
|
||||
},
|
||||
|
||||
refresh: function(cmd, i) {
|
||||
var t = pgBrowser.tree,
|
||||
let t = pgBrowser.tree,
|
||||
item = i || t.selected(),
|
||||
d = t.itemData(item);
|
||||
|
||||
@ -367,18 +367,18 @@ define('pgadmin.node.database', [
|
||||
if (args && 'node_info' in args) {
|
||||
// If node_info is not present in current object then it might in its
|
||||
// parent in case if we used sub node control
|
||||
var node_info = args.node_info || args.handler.node_info;
|
||||
let node_info = args.node_info || args.handler.node_info;
|
||||
return 'catalog' in node_info ? false : true;
|
||||
}
|
||||
return true;
|
||||
},
|
||||
};
|
||||
|
||||
var connect_to_database = function(obj, data, tree, item, _wasConnected) {
|
||||
let connect_to_database = function(obj, data, tree, item, _wasConnected) {
|
||||
connect(obj, data, tree, item, _wasConnected);
|
||||
},
|
||||
connect = function (obj, data, tree, item, _wasConnected) {
|
||||
var wasConnected = _wasConnected || data.connected,
|
||||
let wasConnected = _wasConnected || data.connected,
|
||||
onFailure = function(
|
||||
xhr, status, error, _model, _data, _tree, _item, _status
|
||||
) {
|
||||
@ -392,7 +392,7 @@ define('pgadmin.node.database', [
|
||||
},
|
||||
function(fun_error) {
|
||||
tree.setInode(_item);
|
||||
var dbIcon = data.isTemplate ? 'icon-database-template-not-connected':'icon-database-not-connected';
|
||||
let dbIcon = data.isTemplate ? 'icon-database-template-not-connected':'icon-database-not-connected';
|
||||
tree.addIcon(_item, {icon: dbIcon});
|
||||
Notify.pgNotifier(fun_error, xhr, gettext('Connect to database.'));
|
||||
}
|
||||
@ -400,7 +400,7 @@ define('pgadmin.node.database', [
|
||||
} else {
|
||||
if (!_status) {
|
||||
tree.setInode(_item);
|
||||
var dbIcon = data.isTemplate ? 'icon-database-template-not-connected':'icon-database-not-connected';
|
||||
let dbIcon = data.isTemplate ? 'icon-database-template-not-connected':'icon-database-not-connected';
|
||||
tree.addIcon(_item, {icon: dbIcon});
|
||||
}
|
||||
|
||||
@ -430,7 +430,7 @@ define('pgadmin.node.database', [
|
||||
if (typeof res.data.icon == 'string') {
|
||||
_tree.removeIcon(_item);
|
||||
_data.icon = res.data.icon;
|
||||
var dbIcon = _data.isTemplate ? 'icon-database-template-connected':_data.icon;
|
||||
let dbIcon = _data.isTemplate ? 'icon-database-template-connected':_data.icon;
|
||||
_tree.addIcon(_item, {icon: dbIcon});
|
||||
}
|
||||
if(res.data.already_connected) {
|
||||
@ -462,11 +462,11 @@ define('pgadmin.node.database', [
|
||||
},
|
||||
onCancel = function(_tree, _item, _data) {
|
||||
_data.is_connecting = false;
|
||||
var server = _tree.parent(_item);
|
||||
let server = _tree.parent(_item);
|
||||
_tree.unload(_item);
|
||||
_tree.setInode(_item);
|
||||
_tree.removeIcon(_item);
|
||||
var dbIcon = data.isTemplate ? 'icon-database-template-not-connected':'icon-database-not-connected';
|
||||
let dbIcon = data.isTemplate ? 'icon-database-template-not-connected':'icon-database-not-connected';
|
||||
_tree.addIcon(_item, {icon: dbIcon});
|
||||
obj.trigger('connect:cancelled', obj, _item, _data);
|
||||
pgBrowser.Events.trigger(
|
||||
|
@ -86,7 +86,7 @@ define('pgadmin.node.subscription', [
|
||||
return new Promise((resolve, reject)=>{
|
||||
const api = getApiInstance();
|
||||
if(host != undefined && port!= undefined && username!= undefined && db != undefined){
|
||||
var _url = pgBrowser.Nodes['cast'].generate_url.apply(
|
||||
let _url = pgBrowser.Nodes['cast'].generate_url.apply(
|
||||
pgBrowser.Nodes['subscription'], [
|
||||
null, 'get_publications', itemNodeData, false,
|
||||
treeNodeInfo,
|
||||
|
@ -258,7 +258,7 @@ export default class SubscriptionSchema extends BaseUISchema{
|
||||
group: gettext('SSL'), mode: ['properties'],
|
||||
deps: ['sslmode'],
|
||||
visible: function(state) {
|
||||
var sslcert = state.sslcert;
|
||||
let sslcert = state.sslcert;
|
||||
return !_.isUndefined(sslcert) && !_.isNull(sslcert);
|
||||
},
|
||||
},{
|
||||
@ -266,7 +266,7 @@ export default class SubscriptionSchema extends BaseUISchema{
|
||||
group: gettext('SSL'), mode: ['properties'],
|
||||
deps: ['sslmode'],
|
||||
visible: function(state) {
|
||||
var sslkey = state.sslkey;
|
||||
let sslkey = state.sslkey;
|
||||
return !_.isUndefined(sslkey) && !_.isNull(sslkey);
|
||||
},
|
||||
},{
|
||||
@ -274,7 +274,7 @@ export default class SubscriptionSchema extends BaseUISchema{
|
||||
group: gettext('SSL'), mode: ['properties'],
|
||||
deps: ['sslmode'],
|
||||
visible: function(state) {
|
||||
var sslrootcert = state.sslrootcert;
|
||||
let sslrootcert = state.sslrootcert;
|
||||
return !_.isUndefined(sslrootcert) && !_.isNull(sslrootcert);
|
||||
},
|
||||
},{
|
||||
@ -282,7 +282,7 @@ export default class SubscriptionSchema extends BaseUISchema{
|
||||
group: gettext('SSL'), mode: ['properties'],
|
||||
deps: ['sslmode'],
|
||||
visible: function(state) {
|
||||
var sslcrl = state.sslcrl;
|
||||
let sslcrl = state.sslcrl;
|
||||
return !_.isUndefined(sslcrl) && !_.isNull(sslcrl);
|
||||
},
|
||||
},{
|
||||
|
@ -110,7 +110,7 @@ define('pgadmin.node.pga_job', [
|
||||
}),
|
||||
/* Run pgagent job now */
|
||||
run_pga_job_now: function(args) {
|
||||
var input = args || {},
|
||||
let input = args || {},
|
||||
obj = this,
|
||||
t = pgBrowser.tree,
|
||||
i = input.item || t.selected(),
|
||||
|
@ -79,7 +79,7 @@ define('pgadmin.node.pga_jobstep', [
|
||||
initialize: function() {
|
||||
pgBrowser.Node.Model.prototype.initialize.apply(this, arguments);
|
||||
if (this.isNew() && this.get('jstconntype')) {
|
||||
var args = arguments.length > 1 && arguments[1];
|
||||
let args = arguments.length > 1 && arguments[1];
|
||||
|
||||
if (args) {
|
||||
if (!_.isUndefined(args['node_info']) ||
|
||||
|
@ -57,7 +57,7 @@ define('pgadmin.node.resource_group', [
|
||||
* Resource Group only supported in PPAS 9.4 and above.
|
||||
*/
|
||||
enable: function(node, item) {
|
||||
var treeData = pgBrowser.tree.getTreeNodeHierarchy(item),
|
||||
let treeData = pgBrowser.tree.getTreeNodeHierarchy(item),
|
||||
server = treeData['server'];
|
||||
return server.connected && node.server_type === 'ppas' &&
|
||||
node.version >= 90400;
|
||||
|
@ -44,7 +44,7 @@ define('pgadmin.node.role', [
|
||||
hasSQL: true,
|
||||
width: '550px',
|
||||
canDrop: function(node, item) {
|
||||
var treeData = pgBrowser.tree.getTreeNodeHierarchy(item),
|
||||
let treeData = pgBrowser.tree.getTreeNodeHierarchy(item),
|
||||
server = treeData['server'];
|
||||
/*
|
||||
To Drop a role:
|
||||
@ -112,13 +112,13 @@ define('pgadmin.node.role', [
|
||||
}]);
|
||||
},
|
||||
can_create_role: function(node, item) {
|
||||
var treeData = pgBrowser.tree.getTreeNodeHierarchy(item),
|
||||
let treeData = pgBrowser.tree.getTreeNodeHierarchy(item),
|
||||
server = treeData['server'];
|
||||
|
||||
return server.connected && server.user.can_create_role;
|
||||
},
|
||||
can_reassign_role: function(node, item) {
|
||||
var treeData = pgBrowser.tree.getTreeNodeHierarchy(item),
|
||||
let treeData = pgBrowser.tree.getTreeNodeHierarchy(item),
|
||||
server = treeData['server'];
|
||||
|
||||
return server.connected && node.can_login;
|
||||
|
@ -49,16 +49,16 @@ export default class RoleSchema extends BaseUISchema {
|
||||
}
|
||||
|
||||
readOnly(state) {
|
||||
var user = this.nodeInfo.server.user;
|
||||
let user = this.nodeInfo.server.user;
|
||||
this.oid = state.oid;
|
||||
this.isReadOnly = !(user.is_superuser || user.can_create_role);
|
||||
return (!(user.is_superuser || user.can_create_role) && user.id != state.oid);
|
||||
}
|
||||
|
||||
memberDataFormatter(rawData) {
|
||||
var members = '';
|
||||
let members = '';
|
||||
if(_.isObject(rawData)) {
|
||||
var withAdmin = '';
|
||||
let withAdmin = '';
|
||||
rawData.forEach(member => {
|
||||
if(member.admin) { withAdmin = ' [WITH ADMIN]';}
|
||||
|
||||
|
@ -22,7 +22,7 @@ define(['sources/gettext', 'jquery', 'backbone',
|
||||
* privilege -> Has privilege? (true/false)
|
||||
* with_grant -> Has privilege with grant option (true/false)
|
||||
**/
|
||||
var PrivilegeModel = pgNode.Model.extend({
|
||||
let PrivilegeModel = pgNode.Model.extend({
|
||||
idAttribute: 'privilege_type',
|
||||
defaults: {
|
||||
privilege_type: undefined,
|
||||
@ -44,7 +44,7 @@ define(['sources/gettext', 'jquery', 'backbone',
|
||||
* + grantor - Grantor who has given this permission.
|
||||
* + privileges - Privileges for that role.
|
||||
**/
|
||||
var PrivilegeRoleModel = pgNode.PrivilegeRoleModel = pgNode.Model.extend({
|
||||
let PrivilegeRoleModel = pgNode.PrivilegeRoleModel = pgNode.Model.extend({
|
||||
idAttribute: 'grantee',
|
||||
defaults: {
|
||||
grantee: undefined,
|
||||
@ -72,7 +72,7 @@ define(['sources/gettext', 'jquery', 'backbone',
|
||||
);
|
||||
},
|
||||
transform: function() {
|
||||
var res =
|
||||
let res =
|
||||
Backgrid.Extension.NodeListByNameCell.prototype.defaults.transform.apply(
|
||||
this, arguments
|
||||
);
|
||||
@ -81,7 +81,7 @@ define(['sources/gettext', 'jquery', 'backbone',
|
||||
},
|
||||
cell: Backgrid.Extension.NodeListByNameCell.extend({
|
||||
initialize: function(opts) {
|
||||
var self = this,
|
||||
let self = this,
|
||||
override_opts = true;
|
||||
|
||||
// We would like to override the original options, because - we
|
||||
@ -105,8 +105,8 @@ define(['sources/gettext', 'jquery', 'backbone',
|
||||
);
|
||||
}
|
||||
|
||||
var rerender = function (m) {
|
||||
var _self = this;
|
||||
let rerender = function (m) {
|
||||
let _self = this;
|
||||
if ('grantee' in m.changed && this.model.cid != m.cid) {
|
||||
setTimeout(
|
||||
function() {
|
||||
@ -125,7 +125,7 @@ define(['sources/gettext', 'jquery', 'backbone',
|
||||
},
|
||||
// Remove all the selected roles (though- not mine).
|
||||
omit_selected_roles: function(opts, cell) {
|
||||
var res = opts(cell),
|
||||
let res = opts(cell),
|
||||
selected = {},
|
||||
model = cell.model,
|
||||
cid = model.cid,
|
||||
@ -140,7 +140,7 @@ define(['sources/gettext', 'jquery', 'backbone',
|
||||
curr_user = node_info.server.user.name;
|
||||
|
||||
model.collection.each(function(m) {
|
||||
var grantee = m.get('grantee');
|
||||
let grantee = m.get('grantee');
|
||||
|
||||
if (m.cid != cid && !_.isUndefined(grantee) &&
|
||||
curr_user == m.get('grantor')) {
|
||||
@ -194,7 +194,7 @@ define(['sources/gettext', 'jquery', 'backbone',
|
||||
/*
|
||||
* Define the collection of the privilege supported by this model
|
||||
*/
|
||||
var self = this,
|
||||
let self = this,
|
||||
models = self.get('privileges'),
|
||||
privileges = this.get('privileges') || {};
|
||||
|
||||
@ -210,7 +210,7 @@ define(['sources/gettext', 'jquery', 'backbone',
|
||||
this.set('privileges', privileges, {silent: true});
|
||||
}
|
||||
|
||||
var privs = {};
|
||||
let privs = {};
|
||||
_.each(self.privileges, function(p) {
|
||||
privs[p] = {
|
||||
'privilege_type': p, 'privilege': false, 'with_grant': false,
|
||||
@ -234,7 +234,7 @@ define(['sources/gettext', 'jquery', 'backbone',
|
||||
},
|
||||
|
||||
granteeChanged: function() {
|
||||
var privileges = this.get('privileges'),
|
||||
let privileges = this.get('privileges'),
|
||||
grantee = this.get('grantee');
|
||||
|
||||
// Reset all with grant options if grantee is public.
|
||||
@ -247,7 +247,7 @@ define(['sources/gettext', 'jquery', 'backbone',
|
||||
|
||||
toJSON: function() {
|
||||
|
||||
var privileges = [];
|
||||
let privileges = [];
|
||||
|
||||
if (this.attributes &&
|
||||
!this.attributes['privileges']) {
|
||||
@ -269,7 +269,7 @@ define(['sources/gettext', 'jquery', 'backbone',
|
||||
},
|
||||
|
||||
validate: function() {
|
||||
var errmsg = null,
|
||||
let errmsg = null,
|
||||
msg;
|
||||
|
||||
if (_.isUndefined(this.get('grantee'))) {
|
||||
@ -282,7 +282,7 @@ define(['sources/gettext', 'jquery', 'backbone',
|
||||
|
||||
if (this.attributes &&
|
||||
this.attributes['privileges']) {
|
||||
var anyPrivSelected = false;
|
||||
let anyPrivSelected = false;
|
||||
this.attributes['privileges'].each(
|
||||
function(p) {
|
||||
if (p.get('privilege')) {
|
||||
@ -306,7 +306,7 @@ define(['sources/gettext', 'jquery', 'backbone',
|
||||
/**
|
||||
Custom cell editor for editing privileges.
|
||||
*/
|
||||
var PrivilegeCellEditor = Backgrid.Extension.PrivilegeCellEditor =
|
||||
let PrivilegeCellEditor = Backgrid.Extension.PrivilegeCellEditor =
|
||||
Backgrid.CellEditor.extend({
|
||||
tagName: 'div',
|
||||
|
||||
@ -358,16 +358,16 @@ define(['sources/gettext', 'jquery', 'backbone',
|
||||
this.$el.attr('tabindex', '1');
|
||||
this.$el.attr('target', this.elId);
|
||||
|
||||
var collection = this.model.get(this.column.get('name')),
|
||||
let collection = this.model.get(this.column.get('name')),
|
||||
tbl = $('<table aria-label='+this.column.get('label')+'></table>').appendTo(this.$el),
|
||||
self = this,
|
||||
privilege = true, with_grant = true;
|
||||
|
||||
// For each privilege generate html template.
|
||||
// List down all the Privilege model.
|
||||
var checkbox_id = _.uniqueId();
|
||||
let checkbox_id = _.uniqueId();
|
||||
collection.each(function(m) {
|
||||
var d = m.toJSON();
|
||||
let d = m.toJSON();
|
||||
|
||||
privilege = (privilege && d.privilege);
|
||||
with_grant = (with_grant && privilege && d.with_grant);
|
||||
@ -423,7 +423,7 @@ define(['sources/gettext', 'jquery', 'backbone',
|
||||
/*
|
||||
* We're looking for checkboxes only.
|
||||
*/
|
||||
var $el = $(ev.target),
|
||||
let $el = $(ev.target),
|
||||
privilege_type = $el.attr('privilege'),
|
||||
type = $el.attr('name'),
|
||||
checked = $el.prop('checked'),
|
||||
@ -439,7 +439,7 @@ define(['sources/gettext', 'jquery', 'backbone',
|
||||
* the checkbox for each privilege.
|
||||
*/
|
||||
if (privilege_type == 'ALL') {
|
||||
var allPrivilege, allWithGrant;
|
||||
let allPrivilege, allWithGrant;
|
||||
|
||||
$elGrant = $tr.find('input[name=with_grant]');
|
||||
$allPrivileges = $tbl.find(
|
||||
@ -513,7 +513,7 @@ define(['sources/gettext', 'jquery', 'backbone',
|
||||
* Particular privilege has been selected/deselected, which can be
|
||||
* identified using the privilege="X" attribute.
|
||||
*/
|
||||
var attrs = {};
|
||||
let attrs = {};
|
||||
|
||||
$tbl = $tr.closest('table');
|
||||
$allPrivileges = $tbl.find(
|
||||
@ -568,7 +568,7 @@ define(['sources/gettext', 'jquery', 'backbone',
|
||||
}
|
||||
this.model.trigger('change', this.model);
|
||||
|
||||
var anySelected = false,
|
||||
let anySelected = false,
|
||||
msg = null;
|
||||
|
||||
collection.each(function(m) {
|
||||
@ -603,13 +603,13 @@ define(['sources/gettext', 'jquery', 'backbone',
|
||||
/*
|
||||
* We lost the focus, it's time for us to exit the editor.
|
||||
*/
|
||||
var self = this,
|
||||
let self = this,
|
||||
/*
|
||||
* Function to determine whether one dom element is descendant of another
|
||||
* dom element.
|
||||
*/
|
||||
isDescendant = function (parent, child) {
|
||||
var node = child.parentNode;
|
||||
let node = child.parentNode;
|
||||
while (node != null) {
|
||||
if (node == parent) {
|
||||
return true;
|
||||
@ -657,12 +657,12 @@ define(['sources/gettext', 'jquery', 'backbone',
|
||||
* if user clicks somewhere else then we will get tagName as 'BODY'
|
||||
* or 'WINDOW'
|
||||
*/
|
||||
var is_active_element = document.activeElement.tagName == 'DIV' ||
|
||||
let is_active_element = document.activeElement.tagName == 'DIV' ||
|
||||
document.activeElement.tagName == 'BUTTON';
|
||||
|
||||
if (is_active_element && self.$el[0] != document.activeElement &&
|
||||
!isDescendant(self.$el[0], document.activeElement)) {
|
||||
var m = self.model;
|
||||
let m = self.model;
|
||||
m.trigger('backgrid:edited', m, self.column, new Backgrid.Command(ev));
|
||||
}},10);
|
||||
},
|
||||
@ -672,7 +672,7 @@ define(['sources/gettext', 'jquery', 'backbone',
|
||||
* This will help us transform the privileges value in proper format to be
|
||||
* displayed in the cell.
|
||||
*/
|
||||
var PrivilegeCellFormatter = Backgrid.Extension.PrivilegeCellFormatter =
|
||||
let PrivilegeCellFormatter = Backgrid.Extension.PrivilegeCellFormatter =
|
||||
function () {/*This is intentional (SonarQube)*/};
|
||||
_.extend(PrivilegeCellFormatter.prototype, {
|
||||
notation: {
|
||||
@ -694,7 +694,7 @@ define(['sources/gettext', 'jquery', 'backbone',
|
||||
* string for display.
|
||||
*/
|
||||
fromRaw: function (rawData) {
|
||||
var res = '';
|
||||
let res = '';
|
||||
|
||||
if (rawData instanceof Backbone.Collection) {
|
||||
rawData.each(function(m) {
|
||||
@ -719,7 +719,7 @@ define(['sources/gettext', 'jquery', 'backbone',
|
||||
editor: PrivilegeCellEditor,
|
||||
|
||||
initialize: function () {
|
||||
var self = this;
|
||||
let self = this;
|
||||
Backgrid.Cell.prototype.initialize.apply(this, arguments);
|
||||
|
||||
self.model.on('change:grantee', function() {
|
||||
@ -741,9 +741,9 @@ define(['sources/gettext', 'jquery', 'backbone',
|
||||
},
|
||||
|
||||
saveOrCancel: function (e) {
|
||||
var model = this.model;
|
||||
var column = this.column;
|
||||
var command = new Backgrid.Command(e);
|
||||
let model = this.model;
|
||||
let column = this.column;
|
||||
let command = new Backgrid.Command(e);
|
||||
|
||||
if (command.moveUp() || command.moveDown() || command.moveLeft() || command.moveRight() ||
|
||||
command.save()) {
|
||||
|
@ -44,7 +44,7 @@ define('pgadmin.node.server', [
|
||||
if (_.isUndefined(this.get('label')) ||
|
||||
_.isNull(this.get('label')) ||
|
||||
String(this.get('label')).replace(/^\s+|\s+$/g, '') == '') {
|
||||
var errmsg = gettext('Security label must be specified.');
|
||||
let errmsg = gettext('Security label must be specified.');
|
||||
this.errorModel.set('label', errmsg);
|
||||
return errmsg;
|
||||
}
|
||||
@ -59,7 +59,7 @@ define('pgadmin.node.server', [
|
||||
dialogHelp: url_for('help.static', {'filename': 'server_dialog.html'}),
|
||||
label: gettext('Server'),
|
||||
canDrop: function(node){
|
||||
var serverOwner = node.user_id;
|
||||
let serverOwner = node.user_id;
|
||||
if (serverOwner != current_user.id && !_.isUndefined(serverOwner))
|
||||
return false;
|
||||
return true;
|
||||
@ -178,7 +178,7 @@ define('pgadmin.node.server', [
|
||||
return (node && node.connected != true);
|
||||
},
|
||||
canCreate: function(node){
|
||||
var serverOwner = node.user_id;
|
||||
let serverOwner = node.user_id;
|
||||
if (serverOwner == current_user.id || _.isUndefined(serverOwner))
|
||||
return true;
|
||||
return false;
|
||||
@ -227,7 +227,7 @@ define('pgadmin.node.server', [
|
||||
callbacks: {
|
||||
/* Connect the server */
|
||||
connect_server: function(args){
|
||||
var input = args || {},
|
||||
let input = args || {},
|
||||
obj = this,
|
||||
t = pgBrowser.tree,
|
||||
i = input.item || t.selected(),
|
||||
@ -240,7 +240,7 @@ define('pgadmin.node.server', [
|
||||
},
|
||||
/* Disconnect the server */
|
||||
disconnect_server: function(args, notify) {
|
||||
var input = args || {},
|
||||
let input = args || {},
|
||||
obj = this,
|
||||
t = pgBrowser.tree,
|
||||
i = 'item' in input ? input.item : t.selected(),
|
||||
@ -249,7 +249,7 @@ define('pgadmin.node.server', [
|
||||
if (d) {
|
||||
notify = notify || _.isUndefined(notify) || _.isNull(notify);
|
||||
|
||||
var disconnect = function() {
|
||||
let disconnect = function() {
|
||||
$.ajax({
|
||||
url: obj.generate_url(i, 'connect', d, true),
|
||||
type:'DELETE',
|
||||
@ -332,7 +332,7 @@ define('pgadmin.node.server', [
|
||||
},
|
||||
/* Reload configuration */
|
||||
reload_configuration: function(args){
|
||||
var input = args || {},
|
||||
let input = args || {},
|
||||
obj = this,
|
||||
t = pgBrowser.tree,
|
||||
i = input.item || t.selected(),
|
||||
@ -368,7 +368,7 @@ define('pgadmin.node.server', [
|
||||
},
|
||||
/* Add restore point */
|
||||
restore_point: function(args) {
|
||||
var input = args || {},
|
||||
let input = args || {},
|
||||
obj = this,
|
||||
t = pgBrowser.tree,
|
||||
i = input.item || t.selected(),
|
||||
@ -382,7 +382,7 @@ define('pgadmin.node.server', [
|
||||
|
||||
/* Change password */
|
||||
change_password: function(args){
|
||||
var input = args || {},
|
||||
let input = args || {},
|
||||
obj = this,
|
||||
t = pgBrowser.tree,
|
||||
i = input.item || t.selected(),
|
||||
@ -426,7 +426,7 @@ define('pgadmin.node.server', [
|
||||
|
||||
/* Pause WAL Replay */
|
||||
pause_wal_replay: function(args) {
|
||||
var input = args || {},
|
||||
let input = args || {},
|
||||
obj = this,
|
||||
t = pgBrowser.tree,
|
||||
i = input.item || t.selected(),
|
||||
@ -451,7 +451,7 @@ define('pgadmin.node.server', [
|
||||
|
||||
/* Resume WAL Replay */
|
||||
resume_wal_replay: function(args) {
|
||||
var input = args || {},
|
||||
let input = args || {},
|
||||
obj = this,
|
||||
t = pgBrowser.tree,
|
||||
i = input.item || t.selected(),
|
||||
@ -476,7 +476,7 @@ define('pgadmin.node.server', [
|
||||
|
||||
/* Cleat saved database server password */
|
||||
clear_saved_password: function(args){
|
||||
var input = args || {},
|
||||
let input = args || {},
|
||||
obj = this,
|
||||
t = pgBrowser.tree,
|
||||
i = input.item || t.selected(),
|
||||
@ -513,7 +513,7 @@ define('pgadmin.node.server', [
|
||||
|
||||
/* Reset stored ssh tunnel password */
|
||||
clear_sshtunnel_password: function(args){
|
||||
var input = args || {},
|
||||
let input = args || {},
|
||||
obj = this,
|
||||
t = pgBrowser.tree,
|
||||
i = input.item || t.selected(),
|
||||
@ -549,7 +549,7 @@ define('pgadmin.node.server', [
|
||||
},
|
||||
/* Open psql tool for server*/
|
||||
server_psql_tool: function(args) {
|
||||
var input = args || {},
|
||||
let input = args || {},
|
||||
t = pgBrowser.tree,
|
||||
i = input.item || t.selected(),
|
||||
d = i ? t.itemData(i) : undefined;
|
||||
@ -567,7 +567,7 @@ define('pgadmin.node.server', [
|
||||
},
|
||||
connection_lost: function(i, resp) {
|
||||
if (pgBrowser.tree) {
|
||||
var t = pgBrowser.tree,
|
||||
let t = pgBrowser.tree,
|
||||
d = i && t.itemData(i),
|
||||
self = this;
|
||||
|
||||
@ -580,7 +580,7 @@ define('pgadmin.node.server', [
|
||||
if (_.isUndefined(d.is_connecting) || !d.is_connecting) {
|
||||
d.is_connecting = true;
|
||||
|
||||
var disconnect = function(_sid) {
|
||||
let disconnect = function(_sid) {
|
||||
if (d._id == _sid) {
|
||||
d.is_connecting = false;
|
||||
// Stop listening to the connection cancellation event
|
||||
@ -628,7 +628,7 @@ define('pgadmin.node.server', [
|
||||
},
|
||||
});
|
||||
|
||||
var connect_to_server = function(obj, data, tree, item, reconnect) {
|
||||
let connect_to_server = function(obj, data, tree, item, reconnect) {
|
||||
// Open properties dialog in edit mode
|
||||
let server_url = obj.generate_url(item, 'obj', data, true);
|
||||
// Fetch the updated data
|
||||
@ -658,7 +658,7 @@ define('pgadmin.node.server', [
|
||||
data.is_connecting = false;
|
||||
});
|
||||
|
||||
var wasConnected = reconnect || data.connected,
|
||||
let wasConnected = reconnect || data.connected,
|
||||
onFailure = function(
|
||||
xhr, status, error, _node, _data, _tree, _item, _wasConnected
|
||||
) {
|
||||
@ -714,7 +714,7 @@ define('pgadmin.node.server', [
|
||||
_.extend(_data, res.data);
|
||||
_data.is_connecting = false;
|
||||
|
||||
var serverInfo = pgBrowser.serverInfo =
|
||||
let serverInfo = pgBrowser.serverInfo =
|
||||
pgBrowser.serverInfo || {};
|
||||
serverInfo[_data._id] = _.extend({}, _data);
|
||||
|
||||
@ -763,7 +763,7 @@ define('pgadmin.node.server', [
|
||||
}
|
||||
};
|
||||
|
||||
var onCancel = function(_tree, _item, _data, _status) {
|
||||
let onCancel = function(_tree, _item, _data, _status) {
|
||||
_data.is_connecting = false;
|
||||
_tree.unload(_item);
|
||||
_tree.setInode(_item);
|
||||
@ -793,7 +793,7 @@ define('pgadmin.node.server', [
|
||||
tree.setLeaf(item);
|
||||
tree.removeIcon(item);
|
||||
tree.addIcon(item, {icon: 'icon-server-connecting'});
|
||||
var url = obj.generate_url(item, 'connect', data, true);
|
||||
let url = obj.generate_url(item, 'connect', data, true);
|
||||
$.post(url)
|
||||
.done(function(res) {
|
||||
if (res.success == 1) {
|
||||
@ -811,8 +811,8 @@ define('pgadmin.node.server', [
|
||||
data.is_connecting = false;
|
||||
});
|
||||
};
|
||||
var fetch_connection_status = function(obj, data, tree, item) {
|
||||
var url = obj.generate_url(item, 'connect', data, true);
|
||||
let fetch_connection_status = function(obj, data, tree, item) {
|
||||
let url = obj.generate_url(item, 'connect', data, true);
|
||||
|
||||
tree.setLeaf(item);
|
||||
tree.removeIcon(item);
|
||||
@ -828,7 +828,7 @@ define('pgadmin.node.server', [
|
||||
}
|
||||
_.extend(data, res.data);
|
||||
|
||||
var serverInfo = pgBrowser.serverInfo = pgBrowser.serverInfo || {};
|
||||
let serverInfo = pgBrowser.serverInfo = pgBrowser.serverInfo || {};
|
||||
serverInfo[data._id] = _.extend({}, data);
|
||||
|
||||
if(data.errmsg) {
|
||||
|
@ -65,10 +65,7 @@ export default class ServerSchema extends BaseUISchema {
|
||||
get SSL_MODES() { return ['prefer', 'require', 'verify-ca', 'verify-full']; }
|
||||
|
||||
isShared(state) {
|
||||
if(!this.isNew(state) && this.userId != current_user.id && state.shared) {
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
return !this.isNew(state) && this.userId != current_user.id && state.shared;
|
||||
}
|
||||
|
||||
isConnected(state) {
|
||||
@ -105,11 +102,8 @@ export default class ServerSchema extends BaseUISchema {
|
||||
{
|
||||
id: 'server_owner', label: gettext('Shared Server Owner'), type: 'text', mode: ['properties'],
|
||||
visible: function(state) {
|
||||
var serverOwner = obj.userId;
|
||||
if (state.shared && serverOwner != current_user.id && pgAdmin.server_mode == 'True'){
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
let serverOwner = obj.userId;
|
||||
return state.shared && serverOwner != current_user.id && pgAdmin.server_mode == 'True';
|
||||
},
|
||||
},
|
||||
{
|
||||
@ -143,16 +137,10 @@ export default class ServerSchema extends BaseUISchema {
|
||||
id: 'shared', label: gettext('Shared?'), type: 'switch',
|
||||
mode: ['properties', 'create', 'edit'],
|
||||
readonly: function(state){
|
||||
var serverOwner = obj.userId;
|
||||
if (!obj.isNew(state) && serverOwner != current_user.id) {
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
let serverOwner = obj.userId;
|
||||
return !obj.isNew(state) && serverOwner != current_user.id;
|
||||
}, visible: function(){
|
||||
if (current_user.is_admin && pgAdmin.server_mode == 'True')
|
||||
return true;
|
||||
|
||||
return false;
|
||||
return current_user.is_admin && pgAdmin.server_mode == 'True';
|
||||
},
|
||||
},
|
||||
{
|
||||
@ -229,9 +217,7 @@ export default class ServerSchema extends BaseUISchema {
|
||||
return state.connect_now && obj.isNew(state);
|
||||
},
|
||||
disabled: function(state) {
|
||||
if (!current_user.allow_save_password || state.kerberos_conn)
|
||||
return true;
|
||||
return false;
|
||||
return !current_user.allow_save_password || state.kerberos_conn;
|
||||
},
|
||||
},{
|
||||
id: 'role', label: gettext('Role'), type: 'text', group: gettext('Connection'),
|
||||
@ -301,7 +287,7 @@ export default class ServerSchema extends BaseUISchema {
|
||||
group: gettext('SSL'), mode: ['properties'],
|
||||
deps: ['sslmode'],
|
||||
visible: function(state) {
|
||||
var sslcert = state.sslcert;
|
||||
let sslcert = state.sslcert;
|
||||
return !_.isUndefined(sslcert) && !_.isNull(sslcert);
|
||||
},
|
||||
},{
|
||||
@ -309,7 +295,7 @@ export default class ServerSchema extends BaseUISchema {
|
||||
group: gettext('SSL'), mode: ['properties'],
|
||||
deps: ['sslmode'],
|
||||
visible: function(state) {
|
||||
var sslkey = state.sslkey;
|
||||
let sslkey = state.sslkey;
|
||||
return !_.isUndefined(sslkey) && !_.isNull(sslkey);
|
||||
},
|
||||
},{
|
||||
@ -317,7 +303,7 @@ export default class ServerSchema extends BaseUISchema {
|
||||
group: gettext('SSL'), mode: ['properties'],
|
||||
deps: ['sslmode'],
|
||||
visible: function(state) {
|
||||
var sslrootcert = state.sslrootcert;
|
||||
let sslrootcert = state.sslrootcert;
|
||||
return !_.isUndefined(sslrootcert) && !_.isNull(sslrootcert);
|
||||
},
|
||||
},{
|
||||
@ -325,7 +311,7 @@ export default class ServerSchema extends BaseUISchema {
|
||||
group: gettext('SSL'), mode: ['properties'],
|
||||
deps: ['sslmode'],
|
||||
visible: function(state) {
|
||||
var sslcrl = state.sslcrl;
|
||||
let sslcrl = state.sslcrl;
|
||||
return !_.isUndefined(sslcrl) && !_.isNull(sslcrl);
|
||||
},
|
||||
},{
|
||||
@ -435,7 +421,7 @@ export default class ServerSchema extends BaseUISchema {
|
||||
id: 'passfile', label: gettext('Password file'), type: 'text',
|
||||
group: gettext('Advanced'), mode: ['properties'],
|
||||
visible: function(state) {
|
||||
var passfile = state.passfile;
|
||||
let passfile = state.passfile;
|
||||
return !_.isUndefined(passfile) && !_.isNull(passfile);
|
||||
},
|
||||
},{
|
||||
|
@ -61,7 +61,7 @@ export default class VacuumSettingsSchema extends BaseUISchema {
|
||||
}
|
||||
|
||||
get baseFields() {
|
||||
var obj = this;
|
||||
let obj = this;
|
||||
return [{
|
||||
id: 'autovacuum_custom', label: gettext('Custom auto-vacuum?'),
|
||||
group: gettext('Table'), mode: ['edit', 'create'], skipChange: true,
|
||||
|
@ -19,8 +19,8 @@ function(gettext, $, Backbone, Backform, Backgrid, pgNode) {
|
||||
* cellFunction for variable control.
|
||||
* This function returns cell class depending on vartype.
|
||||
*/
|
||||
var cellFunction = function(model) {
|
||||
var self = this,
|
||||
let cellFunction = function(model) {
|
||||
let self = this,
|
||||
name = model.get('name'),
|
||||
availVariables = {};
|
||||
|
||||
@ -30,7 +30,7 @@ function(gettext, $, Backbone, Backform, Backgrid, pgNode) {
|
||||
}
|
||||
});
|
||||
|
||||
var variable = name ? availVariables[name]: undefined,
|
||||
let variable = name ? availVariables[name]: undefined,
|
||||
value = model.get('value');
|
||||
|
||||
switch(variable && variable.vartype) {
|
||||
@ -79,19 +79,19 @@ function(gettext, $, Backbone, Backform, Backgrid, pgNode) {
|
||||
* This row will define behaviour or value column cell depending upon
|
||||
* variable name.
|
||||
*/
|
||||
var VariableRow = Backgrid.Row.extend({
|
||||
let VariableRow = Backgrid.Row.extend({
|
||||
modelDuplicateClass: 'bg-model-duplicate',
|
||||
|
||||
initialize: function () {
|
||||
Backgrid.Row.prototype.initialize.apply(this, arguments);
|
||||
var self = this;
|
||||
let self = this;
|
||||
self.model.on('change:name', function() {
|
||||
setTimeout(function() {
|
||||
self.columns.each(function(col) {
|
||||
if (col.get('name') == 'value') {
|
||||
// Reset old value
|
||||
self.model.set({'value': undefined}, {silent:true});
|
||||
var idx = self.columns.indexOf(col),
|
||||
let idx = self.columns.indexOf(col),
|
||||
cf = col.get('cellFunction'),
|
||||
cell = new (cf.apply(col, [self.model]))({
|
||||
column: col,
|
||||
@ -122,7 +122,7 @@ function(gettext, $, Backbone, Backform, Backgrid, pgNode) {
|
||||
* VariableModel used to represent configuration parameters (variables tab)
|
||||
* for database objects.
|
||||
**/
|
||||
var VariableModel = pgNode.VariableModel = pgNode.Model.extend({
|
||||
let VariableModel = pgNode.VariableModel = pgNode.Model.extend({
|
||||
keys: ['name'],
|
||||
defaults: {
|
||||
name: undefined,
|
||||
@ -142,7 +142,7 @@ function(gettext, $, Backbone, Backform, Backgrid, pgNode) {
|
||||
|
||||
// Immediately process options as we need them before render.
|
||||
|
||||
var opVals = _.clone(this.optionValues ||
|
||||
let opVals = _.clone(this.optionValues ||
|
||||
(_.isFunction(this.column.get('options')) ?
|
||||
(this.column.get('options'))(this) :
|
||||
this.column.get('options')));
|
||||
@ -153,7 +153,7 @@ function(gettext, $, Backbone, Backform, Backgrid, pgNode) {
|
||||
url: 'vopts',
|
||||
select2: { allowClear: false },
|
||||
transform: function(vars, cell) {
|
||||
var res = [],
|
||||
let res = [],
|
||||
availVariables = {};
|
||||
|
||||
_.each(vars, function(v) {
|
||||
@ -180,7 +180,7 @@ function(gettext, $, Backbone, Backform, Backgrid, pgNode) {
|
||||
node: 'role', cell: Backgrid.Extension.NodeListByNameCell},
|
||||
],
|
||||
toJSON: function() {
|
||||
var d = Backbone.Model.prototype.toJSON.apply(this);
|
||||
let d = Backbone.Model.prototype.toJSON.apply(this);
|
||||
|
||||
// Remove not defined values from model values.
|
||||
// i.e.
|
||||
@ -196,7 +196,7 @@ function(gettext, $, Backbone, Backform, Backgrid, pgNode) {
|
||||
return d;
|
||||
},
|
||||
validate: function() {
|
||||
var msg = null;
|
||||
let msg = null;
|
||||
if (_.isUndefined(this.get('name')) ||
|
||||
_.isNull(this.get('name')) ||
|
||||
String(this.get('name')).replace(/^\s+|\s+$/g, '') == '') {
|
||||
@ -228,7 +228,7 @@ function(gettext, $, Backbone, Backform, Backgrid, pgNode) {
|
||||
hasRole: false,
|
||||
|
||||
initialize: function(opts) {
|
||||
var self = this,
|
||||
let self = this,
|
||||
keys = ['name'];
|
||||
|
||||
/*
|
||||
@ -266,7 +266,7 @@ function(gettext, $, Backbone, Backform, Backgrid, pgNode) {
|
||||
|
||||
self.availVariables = {};
|
||||
|
||||
var gridCols = ['name', 'value'];
|
||||
let gridCols = ['name', 'value'];
|
||||
|
||||
if (self.hasDatabase) {
|
||||
gridCols.push('database');
|
||||
@ -287,7 +287,7 @@ function(gettext, $, Backbone, Backform, Backgrid, pgNode) {
|
||||
* Get the variable data for this node.
|
||||
*/
|
||||
getVariables: function() {
|
||||
var self = this,
|
||||
let self = this,
|
||||
url = this.field.get('url'),
|
||||
m = self.model;
|
||||
|
||||
@ -295,7 +295,7 @@ function(gettext, $, Backbone, Backform, Backgrid, pgNode) {
|
||||
return;
|
||||
|
||||
if (url && !m.isNew()) {
|
||||
var node = self.field.get('node'),
|
||||
let node = self.field.get('node'),
|
||||
node_data = self.field.get('node_data'),
|
||||
node_info = self.field.get('node_info'),
|
||||
full_url = node.generate_url.apply(
|
||||
@ -336,7 +336,7 @@ function(gettext, $, Backbone, Backform, Backgrid, pgNode) {
|
||||
|
||||
showGridControl: function(data) {
|
||||
|
||||
var self = this,
|
||||
let self = this,
|
||||
titleTmpl = _.template([
|
||||
'<div class=\'subnode-header\'>',
|
||||
'<span class=\'control-label\'><%-label%></span>',
|
||||
@ -352,7 +352,7 @@ function(gettext, $, Backbone, Backform, Backgrid, pgNode) {
|
||||
self.grid.remove();
|
||||
}
|
||||
|
||||
var gridSchema = _.clone(this.gridSchema);
|
||||
let gridSchema = _.clone(this.gridSchema);
|
||||
|
||||
_.each(gridSchema.columns, function(col) {
|
||||
if (col.name == 'value') {
|
||||
@ -372,7 +372,7 @@ function(gettext, $, Backbone, Backform, Backgrid, pgNode) {
|
||||
// Change format of each of the data
|
||||
// Because - data coming from the server is in string format
|
||||
self.collection.each(function(model) {
|
||||
var name = model.get('name'), val;
|
||||
let name = model.get('name'), val;
|
||||
|
||||
if (name in self.availVariables) {
|
||||
switch(self.availVariables[name].vartype) {
|
||||
@ -393,7 +393,7 @@ function(gettext, $, Backbone, Backform, Backgrid, pgNode) {
|
||||
});
|
||||
|
||||
// Initialize a new Grid instance
|
||||
var grid = self.grid = new Backgrid.Grid({
|
||||
let grid = self.grid = new Backgrid.Grid({
|
||||
columns: gridSchema.columns,
|
||||
collection: self.collection,
|
||||
row: VariableRow,
|
||||
@ -407,18 +407,18 @@ function(gettext, $, Backbone, Backform, Backgrid, pgNode) {
|
||||
if (!(data.disabled || data.canAdd == false)) {
|
||||
$gridBody.find('button.add').first().on('click',(e) => {
|
||||
e.preventDefault();
|
||||
var canAddRow = _.isFunction(data.canAddRow) ?
|
||||
let canAddRow = _.isFunction(data.canAddRow) ?
|
||||
data.canAddRow.apply(self, [self.model]) : true;
|
||||
if (canAddRow) {
|
||||
|
||||
var allowMultipleEmptyRows = !!self.field.get('allowMultipleEmptyRows');
|
||||
let allowMultipleEmptyRows = !!self.field.get('allowMultipleEmptyRows');
|
||||
|
||||
// If allowMultipleEmptyRows is not set or is false then don't allow second new empty row.
|
||||
// There should be only one empty row.
|
||||
if (!allowMultipleEmptyRows && self.collection) {
|
||||
var isEmpty = false;
|
||||
let isEmpty = false;
|
||||
self.collection.each(function(model) {
|
||||
var modelValues = [];
|
||||
let modelValues = [];
|
||||
_.each(model.attributes, function(val) {
|
||||
modelValues.push(val);
|
||||
});
|
||||
@ -432,7 +432,7 @@ function(gettext, $, Backbone, Backform, Backgrid, pgNode) {
|
||||
}
|
||||
|
||||
$(grid.body.$el.find($('tr.new'))).removeClass('new');
|
||||
var m = new (data.model) (null, {
|
||||
let m = new (data.model) (null, {
|
||||
silent: true,
|
||||
handler: self.collection,
|
||||
top: self.model.top || self.model,
|
||||
@ -441,7 +441,7 @@ function(gettext, $, Backbone, Backform, Backgrid, pgNode) {
|
||||
});
|
||||
self.collection.add(m);
|
||||
|
||||
var idx = self.collection.indexOf(m),
|
||||
let idx = self.collection.indexOf(m),
|
||||
newRow = grid.body.rows[idx].$el;
|
||||
|
||||
newRow.addClass('new');
|
||||
@ -459,7 +459,7 @@ function(gettext, $, Backbone, Backform, Backgrid, pgNode) {
|
||||
addVariable: function(ev) {
|
||||
ev.preventDefault();
|
||||
|
||||
var self = this,
|
||||
let self = this,
|
||||
m = new (self.field.get('model'))(
|
||||
self.headerData.toJSON(), {
|
||||
silent: true, top: self.collection.top,
|
||||
@ -469,14 +469,14 @@ function(gettext, $, Backbone, Backform, Backgrid, pgNode) {
|
||||
|
||||
coll.add(m);
|
||||
|
||||
var idx = coll.indexOf(m);
|
||||
let idx = coll.indexOf(m);
|
||||
|
||||
// idx may not be always > -1 because our UniqueColCollection may
|
||||
// remove 'm' if duplicate value found.
|
||||
if (idx > -1) {
|
||||
self.$grid.find('.new').removeClass('new');
|
||||
|
||||
var newRow = self.grid.body.rows[idx].$el;
|
||||
let newRow = self.grid.body.rows[idx].$el;
|
||||
|
||||
newRow.addClass('new');
|
||||
$(newRow).pgMakeVisible('backform-tab');
|
||||
|
@ -23,7 +23,7 @@ export function getNodeVariableSchema(nodeObj, treeNodeInfo, itemNodeData, hasDa
|
||||
}
|
||||
return new VariableSchema(
|
||||
()=>getNodeAjaxOptions('vopts', nodeObj, treeNodeInfo, itemNodeData, null, (vars)=>{
|
||||
var res = [];
|
||||
let res = [];
|
||||
_.each(vars, function(v) {
|
||||
res.push({
|
||||
'value': v.name,
|
||||
|
@ -77,7 +77,7 @@ define('pgadmin.node.tablespace', [
|
||||
]);
|
||||
},
|
||||
can_create_tablespace: function(node, item) {
|
||||
var treeData = pgBrowser.tree.getTreeNodeHierarchy(item),
|
||||
let treeData = pgBrowser.tree.getTreeNodeHierarchy(item),
|
||||
server = treeData['server'];
|
||||
|
||||
return server.connected && server.user.is_superuser;
|
||||
@ -103,10 +103,10 @@ define('pgadmin.node.tablespace', [
|
||||
|
||||
// Default values!
|
||||
initialize: function(attrs, args) {
|
||||
var isNew = (_.size(attrs) === 0);
|
||||
let isNew = (_.size(attrs) === 0);
|
||||
|
||||
if (isNew) {
|
||||
var userInfo = pgBrowser.serverInfo[args.node_info.server._id].user;
|
||||
let userInfo = pgBrowser.serverInfo[args.node_info.server._id].user;
|
||||
this.set({'spcuser': userInfo.name}, {silent: true});
|
||||
}
|
||||
pgBrowser.Node.Model.prototype.initialize.apply(this, arguments);
|
||||
|
@ -39,13 +39,13 @@ define('pgadmin.node.server_group', [
|
||||
},
|
||||
getSchema: ()=>new ServerGroupSchema(),
|
||||
canDrop: function(itemData) {
|
||||
var serverOwner = itemData.user_id;
|
||||
let serverOwner = itemData.user_id;
|
||||
if (serverOwner != current_user.id && !_.isUndefined(serverOwner))
|
||||
return false;
|
||||
return true; },
|
||||
dropAsRemove: true,
|
||||
canDelete: function(i) {
|
||||
var s = pgAdmin.Browser.tree.siblings(i, true);
|
||||
let s = pgAdmin.Browser.tree.siblings(i, true);
|
||||
|
||||
/* This is the only server group - we can't remove it*/
|
||||
if (!s || s.length == 0) {
|
||||
|
@ -16,7 +16,7 @@ define([
|
||||
'pgadmin.browser.node', 'backgrid.select.all',
|
||||
], function(gettext, pgAdmin, generateUrl) {
|
||||
|
||||
var pgBrowser = pgAdmin.Browser = pgAdmin.Browser || {};
|
||||
let pgBrowser = pgAdmin.Browser = pgAdmin.Browser || {};
|
||||
|
||||
// It has already been defined.
|
||||
// Avoid running this script again.
|
||||
@ -103,17 +103,17 @@ define([
|
||||
* Using list, and collection functions of a node to get the nodes
|
||||
* under the collection, and properties of the collection respectively.
|
||||
*/
|
||||
var opURL = {
|
||||
let opURL = {
|
||||
'properties': 'obj',
|
||||
'children': 'nodes',
|
||||
'drop': 'obj',
|
||||
},
|
||||
self = this;
|
||||
var collectionPickFunction = function (treeInfoValue, treeInfoKey) {
|
||||
let collectionPickFunction = function (treeInfoValue, treeInfoKey) {
|
||||
return (treeInfoKey != self.type);
|
||||
};
|
||||
var treeInfo = pgBrowser.tree.getTreeNodeHierarchy(item);
|
||||
var actionType = type in opURL ? opURL[type] : type;
|
||||
let treeInfo = pgBrowser.tree.getTreeNodeHierarchy(item);
|
||||
let actionType = type in opURL ? opURL[type] : type;
|
||||
return generateUrl.generate_url(
|
||||
pgAdmin.Browser.URL, treeInfo, actionType, self.node,
|
||||
collectionPickFunction
|
||||
@ -130,7 +130,7 @@ define([
|
||||
}
|
||||
},
|
||||
show_psql_tool: function(args) {
|
||||
var input = args || {},
|
||||
let input = args || {},
|
||||
t = pgBrowser.tree,
|
||||
i = input.item || t.selected(),
|
||||
d = i ? t.itemData(i) : undefined;
|
||||
|
@ -11,7 +11,7 @@ import _ from 'lodash';
|
||||
define([
|
||||
'sources/pgadmin', 'jquery', 'backbone', 'sources/utils',
|
||||
], function(pgAdmin, $, Backbone, pgadminUtils) {
|
||||
var pgBrowser = pgAdmin.Browser = pgAdmin.Browser || {};
|
||||
let pgBrowser = pgAdmin.Browser = pgAdmin.Browser || {};
|
||||
|
||||
pgBrowser.DataModel = Backbone.Model.extend({
|
||||
/*
|
||||
@ -19,15 +19,15 @@ define([
|
||||
*/
|
||||
on_server: false,
|
||||
parse: function(res) {
|
||||
var self = this;
|
||||
let self = this;
|
||||
if (res && _.isObject(res) && 'node' in res && res['node']) {
|
||||
self.tnode = _.extend({}, res.node);
|
||||
delete res.node;
|
||||
}
|
||||
var objectOp = function(schema) {
|
||||
let objectOp = function(schema) {
|
||||
if (schema && _.isArray(schema)) {
|
||||
_.each(schema, function(s) {
|
||||
var obj, val;
|
||||
let obj, val;
|
||||
switch (s.type) {
|
||||
case 'collection':
|
||||
obj = self.get(s.id);
|
||||
@ -132,7 +132,7 @@ define([
|
||||
},
|
||||
primary_key: function() {
|
||||
if (this.keys && _.isArray(this.keys)) {
|
||||
var res = {},
|
||||
let res = {},
|
||||
self = this;
|
||||
|
||||
_.each(self.keys, function(k) {
|
||||
@ -144,7 +144,7 @@ define([
|
||||
return this.cid;
|
||||
},
|
||||
initialize: function(attributes, options) {
|
||||
var self = this;
|
||||
let self = this;
|
||||
self._previous_key_values = {};
|
||||
|
||||
if (!_.isUndefined(options) && 'on_server' in options && options.on_server) {
|
||||
@ -170,8 +170,8 @@ define([
|
||||
self.errorModel = new Backbone.Model();
|
||||
self.node_info = options.node_info;
|
||||
|
||||
var obj;
|
||||
var objectOp = function(schema) {
|
||||
let obj;
|
||||
let objectOp = function(schema) {
|
||||
if (schema && _.isArray(schema)) {
|
||||
_.each(schema, function(s) {
|
||||
|
||||
@ -204,7 +204,7 @@ define([
|
||||
if (!obj || !(obj instanceof pgBrowser.Node.Collection)) {
|
||||
if (_.isString(s.model) &&
|
||||
s.model in pgBrowser.Nodes) {
|
||||
var node = pgBrowser.Nodes[s.model];
|
||||
let node = pgBrowser.Nodes[s.model];
|
||||
obj = new(node.Collection)(obj, {
|
||||
model: node.model,
|
||||
top: self.top || self,
|
||||
@ -283,7 +283,7 @@ define([
|
||||
},
|
||||
// Create a reset function, which allow us to remove the nested object.
|
||||
reset: function(opts) {
|
||||
var obj,
|
||||
let obj,
|
||||
reindex = !!(opts && opts.reindex);
|
||||
|
||||
if (opts && opts.stop)
|
||||
@ -294,7 +294,7 @@ define([
|
||||
return;
|
||||
}
|
||||
|
||||
for (var id in this.objects) {
|
||||
for (let id in this.objects) {
|
||||
obj = this.get(id);
|
||||
|
||||
if (obj) {
|
||||
@ -318,11 +318,11 @@ define([
|
||||
Backbone.Collection.prototype.reset.apply(this, arguments);
|
||||
},
|
||||
sessChanged: function() {
|
||||
var self = this;
|
||||
let self = this;
|
||||
|
||||
return (_.size(self.sessAttrs) > 0 ||
|
||||
_.some(self.objects, function(k) {
|
||||
var obj = self.get(k);
|
||||
let obj = self.get(k);
|
||||
if (!(_.isNull(obj) || _.isUndefined(obj))) {
|
||||
return obj.sessChanged();
|
||||
}
|
||||
@ -330,7 +330,7 @@ define([
|
||||
}));
|
||||
},
|
||||
sessValid: function() {
|
||||
var self = this;
|
||||
let self = this;
|
||||
// Perform default validations.
|
||||
if ('default_validate' in self && typeof(self.default_validate) == 'function' &&
|
||||
_.isString(self.default_validate())) {
|
||||
@ -344,13 +344,13 @@ define([
|
||||
return true;
|
||||
},
|
||||
set: function(key, val, options) {
|
||||
var opts = _.isObject(key) ? val : options;
|
||||
let opts = _.isObject(key) ? val : options;
|
||||
|
||||
this._changing = true;
|
||||
this._previousAttributes = _.clone(this.attributes);
|
||||
this.changed = {};
|
||||
|
||||
var res = Backbone.Model.prototype.set.call(this, key, val, options);
|
||||
let res = Backbone.Model.prototype.set.call(this, key, val, options);
|
||||
this._changing = false;
|
||||
|
||||
if ((opts && opts.internal) || !this.trackChanges) {
|
||||
@ -358,11 +358,11 @@ define([
|
||||
}
|
||||
|
||||
if (key != null && res) {
|
||||
var attrs = {},
|
||||
let attrs = {},
|
||||
self = this,
|
||||
msg;
|
||||
|
||||
var attrChanged = function(v, k) {
|
||||
let attrChanged = function(v, k) {
|
||||
if (k in self.objects) {
|
||||
return;
|
||||
}
|
||||
@ -442,7 +442,7 @@ define([
|
||||
* only from the parent object.
|
||||
*/
|
||||
toJSON: function(session, method) {
|
||||
var self = this,
|
||||
let self = this,
|
||||
res, isNew = self.isNew();
|
||||
|
||||
session = (typeof(session) != 'undefined' && session == true);
|
||||
@ -462,7 +462,7 @@ define([
|
||||
_.each(
|
||||
self.objects,
|
||||
function(k) {
|
||||
var obj = self.get(k);
|
||||
let obj = self.get(k);
|
||||
/*
|
||||
* For session changes, we only need the modified data to be
|
||||
* transformed to JSON data.
|
||||
@ -506,7 +506,7 @@ define([
|
||||
return res;
|
||||
},
|
||||
startNewSession: function() {
|
||||
var self = this;
|
||||
let self = this;
|
||||
|
||||
if (self.trackChanges) {
|
||||
self.trigger('pgadmin-session:stop', self);
|
||||
@ -522,7 +522,7 @@ define([
|
||||
self.origSessAttrs = _.clone(self.attributes);
|
||||
|
||||
_.each(self.objects, function(o) {
|
||||
var obj = self.get(o);
|
||||
let obj = self.get(o);
|
||||
|
||||
if (_.isUndefined(obj) || _.isNull(obj)) {
|
||||
return;
|
||||
@ -549,18 +549,18 @@ define([
|
||||
},
|
||||
|
||||
onChildInvalid: function(msg, obj) {
|
||||
var self = this;
|
||||
let self = this;
|
||||
|
||||
if (self.trackChanges && obj) {
|
||||
var objName = obj.attrName;
|
||||
let objName = obj.attrName;
|
||||
|
||||
if (!objName) {
|
||||
var hasPrimaryKey = obj.primary_key &&
|
||||
let hasPrimaryKey = obj.primary_key &&
|
||||
typeof(obj.primary_key) === 'function';
|
||||
var key = hasPrimaryKey ? obj.primary_key() : obj.cid,
|
||||
let key = hasPrimaryKey ? obj.primary_key() : obj.cid,
|
||||
comparator = hasPrimaryKey ?
|
||||
function(k) {
|
||||
var o = self.get('k');
|
||||
let o = self.get('k');
|
||||
|
||||
if (o && o.primary_key() === key) {
|
||||
objName = k;
|
||||
@ -570,7 +570,7 @@ define([
|
||||
return false;
|
||||
} :
|
||||
function(k) {
|
||||
var o = self.get(k);
|
||||
let o = self.get(k);
|
||||
|
||||
if (o.cid === key) {
|
||||
objName = k;
|
||||
@ -599,18 +599,18 @@ define([
|
||||
return this;
|
||||
},
|
||||
onChildValid: function(obj) {
|
||||
var self = this;
|
||||
let self = this;
|
||||
|
||||
if (self.trackChanges && obj) {
|
||||
var objName = obj.attrName;
|
||||
let objName = obj.attrName;
|
||||
|
||||
if (!objName) {
|
||||
var hasPrimaryKey = (obj.primary_key &&
|
||||
let hasPrimaryKey = (obj.primary_key &&
|
||||
(typeof(obj.primary_key) === 'function'));
|
||||
var key = hasPrimaryKey ? obj.primary_key() : obj.cid,
|
||||
let key = hasPrimaryKey ? obj.primary_key() : obj.cid,
|
||||
comparator = hasPrimaryKey ?
|
||||
function(k) {
|
||||
var o = self.get('k');
|
||||
let o = self.get('k');
|
||||
|
||||
if (o && o.primary_key() === key) {
|
||||
objName = k;
|
||||
@ -620,7 +620,7 @@ define([
|
||||
return false;
|
||||
} :
|
||||
function(k) {
|
||||
var o = self.get('k');
|
||||
let o = self.get('k');
|
||||
|
||||
if (o && o.cid === key) {
|
||||
objName = k;
|
||||
@ -633,7 +633,7 @@ define([
|
||||
_.findIndex(self.objects, comparator);
|
||||
}
|
||||
|
||||
var msg = null,
|
||||
let msg = null,
|
||||
validate = function(m, attrs) {
|
||||
if ('default_validate' in m && typeof(m.default_validate) == 'function') {
|
||||
msg = m.default_validate();
|
||||
@ -651,7 +651,7 @@ define([
|
||||
};
|
||||
|
||||
if (obj instanceof Backbone.Collection) {
|
||||
for (var idx in obj.models) {
|
||||
for (let idx in obj.models) {
|
||||
if (validate(obj.models[idx]))
|
||||
break;
|
||||
}
|
||||
@ -704,11 +704,11 @@ define([
|
||||
|
||||
onChildCollectionChanged: function(obj, obj_hand) {
|
||||
|
||||
var self = this;
|
||||
let self = this;
|
||||
|
||||
setTimeout(() => {
|
||||
|
||||
var msg = null,
|
||||
let msg = null,
|
||||
validate = function(m, attrs) {
|
||||
if ('default_validate' in m && typeof(m.default_validate) == 'function') {
|
||||
msg = m.default_validate();
|
||||
@ -729,13 +729,13 @@ define([
|
||||
|
||||
let collection = self.collection || obj_hand;
|
||||
if(collection) {
|
||||
var collection_selector = collection.attrName || collection.name;
|
||||
let collection_selector = collection.attrName || collection.name;
|
||||
let activeTab = $('.show.active div.'+collection_selector);
|
||||
$(activeTab).find('.error-in-grid').removeClass('error-in-grid');
|
||||
|
||||
model_collection_exit : if (collection instanceof Backbone.Collection) {
|
||||
|
||||
for (var cid in collection.models) {
|
||||
for (let cid in collection.models) {
|
||||
let model = collection.models[cid];
|
||||
|
||||
for(let mod_obj of model.objects) {
|
||||
@ -765,7 +765,7 @@ define([
|
||||
},
|
||||
|
||||
onChildChanged: function(obj) {
|
||||
var self = this;
|
||||
let self = this;
|
||||
|
||||
if (self.trackChanges && self.collection) {
|
||||
(self.collection).trigger('change', self);
|
||||
@ -774,7 +774,7 @@ define([
|
||||
},
|
||||
|
||||
stopSession: function() {
|
||||
var self = this;
|
||||
let self = this;
|
||||
|
||||
if (self.trackChanges) {
|
||||
self.off('pgadmin-session:model:invalid', self.onChildInvalid);
|
||||
@ -790,7 +790,7 @@ define([
|
||||
self.origSessAttrs = {};
|
||||
|
||||
_.each(self.objects, function(o) {
|
||||
var obj = self.get(o);
|
||||
let obj = self.get(o);
|
||||
|
||||
if (_.isUndefined(obj) || _.isNull(obj)) {
|
||||
return;
|
||||
@ -807,9 +807,9 @@ define([
|
||||
self.trigger('pgadmin-session:stop');
|
||||
},
|
||||
default_validate: function() {
|
||||
var msg, field, value, type;
|
||||
let msg, field, value, type;
|
||||
|
||||
for (var i = 0, keys = _.keys(this.attributes), l = keys.length; i < l; i++) {
|
||||
for (let i = 0, keys = _.keys(this.attributes), l = keys.length; i < l; i++) {
|
||||
|
||||
value = this.attributes[keys[i]];
|
||||
field = this.fieldData[keys[i]];
|
||||
@ -850,7 +850,7 @@ define([
|
||||
},
|
||||
|
||||
check_min_max: function(value, field) {
|
||||
var label = field.label,
|
||||
let label = field.label,
|
||||
min_value = field.min,
|
||||
max_value = field.max;
|
||||
|
||||
@ -862,14 +862,14 @@ define([
|
||||
return null;
|
||||
},
|
||||
number_validate: function(value, field) {
|
||||
var pattern = new RegExp('^-?[0-9]+(\.?[0-9]*)?$');
|
||||
let pattern = new RegExp('^-?[0-9]+(\.?[0-9]*)?$');
|
||||
if (!pattern.test(value)) {
|
||||
return pgadminUtils.sprintf(pgAdmin.Browser.messages.MUST_BE_NUM, field.label);
|
||||
}
|
||||
return this.check_min_max(value, field);
|
||||
},
|
||||
integer_validate: function(value, field) {
|
||||
var pattern = new RegExp('^-?[0-9]*$');
|
||||
let pattern = new RegExp('^-?[0-9]*$');
|
||||
if (!pattern.test(value)) {
|
||||
return pgadminUtils.sprintf(pgAdmin.Browser.messages.MUST_BE_INT, field.label);
|
||||
}
|
||||
@ -880,7 +880,7 @@ define([
|
||||
pgBrowser.DataCollection = Backbone.Collection.extend({
|
||||
// Model collection
|
||||
initialize: function(attributes, options) {
|
||||
var self = this;
|
||||
let self = this;
|
||||
|
||||
options = options || {};
|
||||
/*
|
||||
@ -915,7 +915,7 @@ define([
|
||||
return self;
|
||||
},
|
||||
startNewSession: function() {
|
||||
var self = this,
|
||||
let self = this,
|
||||
msg;
|
||||
|
||||
if (self.trackChanges) {
|
||||
@ -961,7 +961,7 @@ define([
|
||||
self.on('pgadmin-session:model:valid', self.onModelValid);
|
||||
},
|
||||
onModelInvalid: function(msg, m) {
|
||||
var self = this,
|
||||
let self = this,
|
||||
invalidModels = self.sessAttrs['invalid'];
|
||||
|
||||
if (self.trackChanges) {
|
||||
@ -979,12 +979,12 @@ define([
|
||||
return true;
|
||||
},
|
||||
onModelValid: function(m) {
|
||||
var self = this,
|
||||
let self = this,
|
||||
invalidModels = self.sessAttrs['invalid'];
|
||||
|
||||
if (self.trackChanges) {
|
||||
// Now check uniqueness of current model with other models.
|
||||
var isUnique = self.checkDuplicateWithModel(m);
|
||||
let isUnique = self.checkDuplicateWithModel(m);
|
||||
|
||||
// If unique then find the object the invalid list, if found remove it from the list
|
||||
// and inform the parent that - I am a valid object now.
|
||||
@ -1001,7 +1001,7 @@ define([
|
||||
return true;
|
||||
},
|
||||
stopSession: function() {
|
||||
var self = this;
|
||||
let self = this;
|
||||
|
||||
self.trackChanges = false;
|
||||
self.sessAttrs = {
|
||||
@ -1039,13 +1039,13 @@ define([
|
||||
* }
|
||||
*/
|
||||
toJSON: function(session) {
|
||||
var self = this;
|
||||
let self = this;
|
||||
session = (typeof(session) != 'undefined' && session == true);
|
||||
|
||||
if (!session) {
|
||||
return Backbone.Collection.prototype.toJSON.call(self);
|
||||
} else {
|
||||
var res = {};
|
||||
let res = {};
|
||||
|
||||
res['added'] = [];
|
||||
_.each(this.sessAttrs['added'], function(o) {
|
||||
@ -1089,7 +1089,7 @@ define([
|
||||
Backbone.Collection.prototype.reset.apply(this, arguments);
|
||||
},
|
||||
objFindInSession: function(m, type) {
|
||||
var hasPrimaryKey = m.primary_key &&
|
||||
let hasPrimaryKey = m.primary_key &&
|
||||
typeof(m.primary_key) == 'function',
|
||||
key = hasPrimaryKey ? m.primary_key() : m.cid,
|
||||
comparator = hasPrimaryKey ? function(o) {
|
||||
@ -1102,14 +1102,14 @@ define([
|
||||
},
|
||||
onModelAdd: function(obj) {
|
||||
if (this.trackChanges) {
|
||||
var self = this,
|
||||
let self = this,
|
||||
msg,
|
||||
idx = self.objFindInSession(obj, 'deleted');
|
||||
|
||||
// Hmm.. - it was originally deleted from this collection, we should
|
||||
// remove it from the 'deleted' list.
|
||||
if (idx >= 0) {
|
||||
var origObj = self.sessAttrs['deleted'][idx];
|
||||
let origObj = self.sessAttrs['deleted'][idx];
|
||||
|
||||
obj.origSessAttrs = _.clone(origObj.origSessAttrs);
|
||||
obj.attributes = _.extend(obj.attributes, origObj.attributes);
|
||||
@ -1175,7 +1175,7 @@ define([
|
||||
*/
|
||||
obj.errorModel.clear();
|
||||
|
||||
var self = this,
|
||||
let self = this,
|
||||
invalidModels = self.sessAttrs['invalid'],
|
||||
copy = _.clone(obj),
|
||||
idx = self.objFindInSession(obj, 'added');
|
||||
@ -1225,12 +1225,12 @@ define([
|
||||
return true;
|
||||
},
|
||||
triggerValidationEvent: function() {
|
||||
var self = this,
|
||||
let self = this,
|
||||
msg = null,
|
||||
invalidModels = self.sessAttrs['invalid'],
|
||||
validModels = [];
|
||||
|
||||
for (var key in invalidModels) {
|
||||
for (let key in invalidModels) {
|
||||
msg = invalidModels[key];
|
||||
if (msg) {
|
||||
break;
|
||||
@ -1243,7 +1243,7 @@ define([
|
||||
}
|
||||
|
||||
// Let's remove the un
|
||||
for (key in validModels) {
|
||||
for (let key in validModels) {
|
||||
delete invalidModels[validModels[key]];
|
||||
}
|
||||
|
||||
@ -1262,10 +1262,10 @@ define([
|
||||
}
|
||||
},
|
||||
onModelChange: function(obj) {
|
||||
var self = this;
|
||||
let self = this;
|
||||
|
||||
if (this.trackChanges && obj instanceof pgBrowser.Node.Model) {
|
||||
var idx = self.objFindInSession(obj, 'added');
|
||||
let idx = self.objFindInSession(obj, 'added');
|
||||
|
||||
// It was newly added model, we don't need to add into the changed
|
||||
// list.
|
||||
@ -1311,7 +1311,7 @@ define([
|
||||
return true;
|
||||
}
|
||||
|
||||
var self = this,
|
||||
let self = this,
|
||||
condition = {},
|
||||
previous_condition = {};
|
||||
|
||||
@ -1327,21 +1327,21 @@ define([
|
||||
// Reset previously changed values.
|
||||
model._previous_key_values = {};
|
||||
|
||||
var old_conflicting_models = self.where(previous_condition);
|
||||
let old_conflicting_models = self.where(previous_condition);
|
||||
|
||||
if (old_conflicting_models.length == 1) {
|
||||
var m = old_conflicting_models[0];
|
||||
let m = old_conflicting_models[0];
|
||||
self.clearInvalidSessionIfModelValid(m);
|
||||
}
|
||||
|
||||
var new_conflicting_models = self.where(condition);
|
||||
let new_conflicting_models = self.where(condition);
|
||||
if (new_conflicting_models.length == 0) {
|
||||
self.clearInvalidSessionIfModelValid(model);
|
||||
} else if (new_conflicting_models.length == 1) {
|
||||
self.clearInvalidSessionIfModelValid(model);
|
||||
self.clearInvalidSessionIfModelValid(new_conflicting_models[0]);
|
||||
} else {
|
||||
var msg = 'Duplicate rows.';
|
||||
let msg = 'Duplicate rows.';
|
||||
setTimeout(function() {
|
||||
_.each(new_conflicting_models, function(local_model) {
|
||||
self.trigger(
|
||||
@ -1358,7 +1358,7 @@ define([
|
||||
return true;
|
||||
},
|
||||
clearInvalidSessionIfModelValid: function(m) {
|
||||
var errors = m.errorModel.attributes,
|
||||
let errors = m.errorModel.attributes,
|
||||
invalidModels = this.sessAttrs['invalid'];
|
||||
|
||||
m.trigger('pgadmin-session:model:unique', m);
|
||||
|
@ -11,12 +11,12 @@ define([
|
||||
'sources/pgadmin', 'jquery', 'wcdocker',
|
||||
], function(pgAdmin, $) {
|
||||
|
||||
var pgBrowser = pgAdmin.Browser = pgAdmin.Browser || {},
|
||||
let pgBrowser = pgAdmin.Browser = pgAdmin.Browser || {},
|
||||
wcDocker = window.wcDocker,
|
||||
wcIFrame = window.wcIFrame;
|
||||
|
||||
pgAdmin.Browser.Frame = function(options) {
|
||||
var defaults = [
|
||||
let defaults = [
|
||||
'name', 'title', 'width', 'height', 'showTitle', 'isCloseable',
|
||||
'isPrivate', 'url', 'icon', 'onCreate', 'isLayoutMember', 'isRenamable',
|
||||
];
|
||||
@ -39,7 +39,7 @@ define([
|
||||
frame: null,
|
||||
onCreate: null,
|
||||
load: function(docker) {
|
||||
var that = this;
|
||||
let that = this;
|
||||
if (!that.panel) {
|
||||
docker.registerPanelType(this.name, {
|
||||
title: that.title,
|
||||
@ -57,10 +57,10 @@ define([
|
||||
myPanel.closeable(!!that.isCloseable);
|
||||
myPanel.renamable(that.isRenamable);
|
||||
|
||||
var $frameArea = $('<div style="position:absolute;top:0 !important;width:100%;height:100%;display:table;z-index:0;">');
|
||||
let $frameArea = $('<div style="position:absolute;top:0 !important;width:100%;height:100%;display:table;z-index:0;">');
|
||||
myPanel.layout().addItem($frameArea);
|
||||
that.panel = myPanel;
|
||||
var frame = new wcIFrame($frameArea, myPanel);
|
||||
let frame = new wcIFrame($frameArea, myPanel);
|
||||
$(myPanel).data('frameInitialized', false);
|
||||
$(myPanel).data('embeddedFrame', frame);
|
||||
|
||||
@ -112,7 +112,7 @@ define([
|
||||
}
|
||||
},
|
||||
eventFunc: function(eventName) {
|
||||
var name = $(this).data('pgAdminName');
|
||||
let name = $(this).data('pgAdminName');
|
||||
|
||||
try {
|
||||
pgBrowser.Events.trigger('pgadmin-browser:frame', eventName, this, arguments);
|
||||
|
@ -17,7 +17,7 @@ import Notify from '../../../static/js/helpers/Notifier';
|
||||
|
||||
const pgBrowser = pgAdmin.Browser = pgAdmin.Browser || {};
|
||||
|
||||
var wcDocker = window.wcDocker;
|
||||
let wcDocker = window.wcDocker;
|
||||
|
||||
/* Add cache related methods and properties */
|
||||
_.extend(pgBrowser, {
|
||||
@ -29,8 +29,8 @@ _.extend(pgBrowser, {
|
||||
|
||||
// Build the default layout
|
||||
buildDefaultLayout: function(docker) {
|
||||
var browserPanel = docker.addPanel('browser', wcDocker.DOCK.LEFT);
|
||||
var dashboardPanel = docker.addPanel(
|
||||
let browserPanel = docker.addPanel('browser', wcDocker.DOCK.LEFT);
|
||||
let dashboardPanel = docker.addPanel(
|
||||
'dashboard', wcDocker.DOCK.RIGHT, browserPanel);
|
||||
docker.addPanel('properties', wcDocker.DOCK.STACKED, dashboardPanel, {
|
||||
tabOrientation: wcDocker.TAB.TOP,
|
||||
@ -48,7 +48,7 @@ _.extend(pgBrowser, {
|
||||
|
||||
save_current_layout: function(layout_id, docker) {
|
||||
if(docker) {
|
||||
var layout = docker.save(),
|
||||
let layout = docker.save(),
|
||||
settings = { setting: layout_id, value: layout };
|
||||
$.ajax({
|
||||
type: 'POST',
|
||||
@ -65,7 +65,7 @@ _.extend(pgBrowser, {
|
||||
docker.restore(layout);
|
||||
if(checkLayout) {
|
||||
// Check restore layout is restored pgAdmin 4 layout successfully if not then reset layout to default pgAdmin 4 layout.
|
||||
var _panel = docker.findPanels('properties');
|
||||
let _panel = docker.findPanels('properties');
|
||||
if(_panel.length == 0 && defaultLayoutCallback){
|
||||
// clear the wcDocker before reset layout.
|
||||
docker.clear();
|
||||
|
@ -16,8 +16,8 @@ define([
|
||||
pgAdmin.Browser = pgAdmin.Browser || {};
|
||||
|
||||
// Individual menu-item class
|
||||
var MenuItem = pgAdmin.Browser.MenuItem = function(opts) {
|
||||
var menu_opts = [
|
||||
let MenuItem = pgAdmin.Browser.MenuItem = function(opts) {
|
||||
let menu_opts = [
|
||||
'name', 'label', 'priority', 'module', 'callback', 'data', 'enable',
|
||||
'category', 'target', 'url' /* Do not show icon in the menus, 'icon' */ , 'node',
|
||||
'checked', 'below', 'menu_items',
|
||||
@ -62,17 +62,17 @@ define([
|
||||
_.each(this.menu_items, function(submenu_item){
|
||||
submenu_item.generate(node, item);
|
||||
});
|
||||
var create_submenu = pgAdmin.Browser.MenuGroup({
|
||||
let create_submenu = pgAdmin.Browser.MenuGroup({
|
||||
'label': this.label,
|
||||
'id': this.name,
|
||||
}, this.menu_items);
|
||||
this.$el = create_submenu.$el;
|
||||
} else {
|
||||
var data_disabled = null;
|
||||
let data_disabled = null;
|
||||
if(this.data != undefined && this.data.data_disabled != undefined){
|
||||
data_disabled = this.data.data_disabled;
|
||||
}
|
||||
var url = $('<a></a>', {
|
||||
let url = $('<a></a>', {
|
||||
'id': this.name,
|
||||
'href': this.url,
|
||||
'target': this.target,
|
||||
@ -98,11 +98,11 @@ define([
|
||||
|
||||
url.addClass((this.is_disabled ? ' disabled' : ''));
|
||||
|
||||
var textSpan = $('<span data-test="menu-item-text"></span>').text(' ' + this.label);
|
||||
let textSpan = $('<span data-test="menu-item-text"></span>').text(' ' + this.label);
|
||||
|
||||
url.append(textSpan);
|
||||
|
||||
var mnu_element = $('<li/>').append(url);
|
||||
let mnu_element = $('<li/>').append(url);
|
||||
// Check if below parameter is defined and true then we need to add
|
||||
// separator.
|
||||
if (!_.isUndefined(this.below) && this.below === true) {
|
||||
@ -141,7 +141,7 @@ define([
|
||||
* This will be called when context-menu is clicked.
|
||||
*/
|
||||
context_menu_callback: function(item) {
|
||||
var o = this,
|
||||
let o = this,
|
||||
cb;
|
||||
|
||||
if (o.module['callbacks'] && (
|
||||
@ -219,7 +219,7 @@ define([
|
||||
*/
|
||||
|
||||
pgAdmin.Browser.MenuGroup = function(opts, items, prev, ctx) {
|
||||
var template = _.template([
|
||||
let template = _.template([
|
||||
'<% if (above) { %><li class="dropdown-divider"></li><% } %>',
|
||||
'<li class="dropdown-submenu" role="menuitem">',
|
||||
' <a href="#" class="dropdown-item">',
|
||||
@ -254,7 +254,7 @@ define([
|
||||
return a.priority - b.priority;
|
||||
});
|
||||
|
||||
for (var idx in items) {
|
||||
for (let idx in items) {
|
||||
m = items[idx];
|
||||
$menu.append(m.$el);
|
||||
if (!m.is_disabled) {
|
||||
@ -263,7 +263,7 @@ define([
|
||||
ctxId++;
|
||||
}
|
||||
|
||||
var is_disabled = (_.size(submenus) == 0);
|
||||
let is_disabled = (_.size(submenus) == 0);
|
||||
|
||||
return {
|
||||
$el: $el,
|
||||
@ -319,7 +319,7 @@ define([
|
||||
return;
|
||||
}
|
||||
|
||||
var groups = {
|
||||
let groups = {
|
||||
'common': [],
|
||||
},
|
||||
common, idx = 0,
|
||||
@ -331,11 +331,11 @@ define([
|
||||
delete m.$el;
|
||||
}
|
||||
m.generate(d, item);
|
||||
var group = groups[m.category || 'common'] =
|
||||
let group = groups[m.category || 'common'] =
|
||||
groups[m.category || 'common'] || [];
|
||||
group.push(m);
|
||||
} else {
|
||||
for (var key in m) {
|
||||
for (let key in m) {
|
||||
update_menuitem(m[key]);
|
||||
}
|
||||
}
|
||||
@ -352,10 +352,10 @@ define([
|
||||
common = groups['common'];
|
||||
delete groups['common'];
|
||||
|
||||
var prev = true;
|
||||
let prev = true;
|
||||
|
||||
for (var name in groups) {
|
||||
var g = groups[name],
|
||||
for (let name in groups) {
|
||||
let g = groups[name],
|
||||
c = categories[name] || {
|
||||
'label': name,
|
||||
single: false,
|
||||
@ -384,14 +384,14 @@ define([
|
||||
common.sort(function(a, b) {
|
||||
return a.priority - b.priority;
|
||||
});
|
||||
var len = _.size(common);
|
||||
let len = _.size(common);
|
||||
|
||||
for (idx in common) {
|
||||
item = common[idx];
|
||||
|
||||
item.priority = (item.priority || 10);
|
||||
$mnu.append(item.$el);
|
||||
var prefix = ctxId + '_' + item.priority + '_' + ctxIdx;
|
||||
let prefix = ctxId + '_' + item.priority + '_' + ctxIdx;
|
||||
|
||||
if (ctxIdx != 1 && item.above && !item.is_disabled) {
|
||||
// For creatign the seprator any string will do.
|
||||
@ -413,7 +413,7 @@ define([
|
||||
|
||||
// MENU PUBLIC CLASS DEFINITION
|
||||
// ==============================
|
||||
var Menu = function(element, options) {
|
||||
let Menu = function(element, options) {
|
||||
this.$element = $(element);
|
||||
this.options = $.extend({}, Menu.DEFAULTS, options);
|
||||
this.isLoading = false;
|
||||
@ -422,15 +422,15 @@ define([
|
||||
Menu.DEFAULTS = {};
|
||||
|
||||
Menu.prototype.toggle = function(ev) {
|
||||
var $parent = this.$element.closest('.dropdown-item');
|
||||
let $parent = this.$element.closest('.dropdown-item');
|
||||
if ($parent.hasClass('disabled')) {
|
||||
ev.preventDefault();
|
||||
return false;
|
||||
}
|
||||
|
||||
var d = this.$element.data('pgMenu');
|
||||
let d = this.$element.data('pgMenu');
|
||||
if (d.cb) {
|
||||
var cb = d.module && d.module['callbacks'] && d.module['callbacks'][d.cb] || d.module && d.module[d.cb];
|
||||
let cb = d.module && d.module['callbacks'] && d.module['callbacks'][d.cb] || d.module && d.module[d.cb];
|
||||
if (cb) {
|
||||
cb.apply(d.module, [d.data, pgAdmin.Browser.tree.selected()]);
|
||||
ev.preventDefault();
|
||||
@ -446,9 +446,9 @@ define([
|
||||
|
||||
function Plugin(option, ev) {
|
||||
return this.each(function() {
|
||||
var $this = $(this);
|
||||
var data = $this.data('pg.menu');
|
||||
var options = typeof option == 'object' && option;
|
||||
let $this = $(this);
|
||||
let data = $this.data('pg.menu');
|
||||
let options = typeof option == 'object' && option;
|
||||
|
||||
if (!data) $this.data('pg.menu', (data = new Menu(this, options)));
|
||||
|
||||
@ -456,7 +456,7 @@ define([
|
||||
});
|
||||
}
|
||||
|
||||
var old = $.fn.button;
|
||||
let old = $.fn.button;
|
||||
|
||||
$.fn.pgmenu = Plugin;
|
||||
$.fn.pgmenu.Constructor = Menu;
|
||||
@ -475,7 +475,7 @@ define([
|
||||
|
||||
$(document)
|
||||
.on('click.pg.menu.data-api', '[data-toggle^="pg-menu"]', function(ev) {
|
||||
var $menu = $(ev.target);
|
||||
let $menu = $(ev.target);
|
||||
if (!$menu.hasClass('dropdown-item'))
|
||||
$menu = $menu.closest('.dropdown-item');
|
||||
Plugin.call($menu, 'toggle', ev);
|
||||
|
@ -106,7 +106,7 @@ define([
|
||||
* specify the 'transform' function too, which will convert the fetched
|
||||
* data to proper 'label', 'value' format.
|
||||
*/
|
||||
var NodeAjaxOptionsControl = Backform.NodeAjaxOptionsControl =
|
||||
let NodeAjaxOptionsControl = Backform.NodeAjaxOptionsControl =
|
||||
Backform.Select2Control.extend({
|
||||
defaults: _.extend(Backform.Select2Control.prototype.defaults, {
|
||||
url: undefined,
|
||||
@ -127,7 +127,7 @@ define([
|
||||
/*
|
||||
* We're about to fetch the options required for this control.
|
||||
*/
|
||||
var self = this,
|
||||
let self = this,
|
||||
url = self.field.get('url') || self.defaults.url,
|
||||
m = self.model.top || self.model,
|
||||
url_jump_after_node = self.field.get('url_jump_after_node') || null;
|
||||
@ -135,7 +135,7 @@ define([
|
||||
// Hmm - we found the url option.
|
||||
// That means - we needs to fetch the options from that node.
|
||||
if (url) {
|
||||
var node = this.field.get('schema_node'),
|
||||
let node = this.field.get('schema_node'),
|
||||
node_info = this.field.get('node_info'),
|
||||
with_id = this.field.get('url_with_id') || false,
|
||||
full_url = node.generate_url.apply(
|
||||
@ -158,7 +158,7 @@ define([
|
||||
* If yes - use that, and do not bother about fetching it again,
|
||||
* and use it.
|
||||
*/
|
||||
var data = cache_node.cache(node.type + '#' + url, node_info, cache_level);
|
||||
let data = cache_node.cache(node.type + '#' + url, node_info, cache_level);
|
||||
|
||||
if (this.field.get('version_compatible') &&
|
||||
(_.isUndefined(data) || _.isNull(data))) {
|
||||
@ -188,7 +188,7 @@ define([
|
||||
/*
|
||||
* Transform the data
|
||||
*/
|
||||
var transform = this.field.get('transform') || self.defaults.transform;
|
||||
let transform = this.field.get('transform') || self.defaults.transform;
|
||||
if (transform && _.isFunction(transform)) {
|
||||
// We will transform the data later, when rendering.
|
||||
// It will allow us to generate different data based on the
|
||||
@ -201,12 +201,12 @@ define([
|
||||
},
|
||||
});
|
||||
|
||||
var formatNode = function(opt) {
|
||||
let formatNode = function(opt) {
|
||||
if (!opt.id) {
|
||||
return opt.text;
|
||||
}
|
||||
|
||||
var optimage = $(opt.element).data('image');
|
||||
let optimage = $(opt.element).data('image');
|
||||
|
||||
if (!optimage) {
|
||||
return opt.text;
|
||||
@ -219,11 +219,11 @@ define([
|
||||
}
|
||||
};
|
||||
|
||||
var filterRows = function(self, filter, rows, node) {
|
||||
var res = [];
|
||||
let filterRows = function(self, filter, rows, node) {
|
||||
let res = [];
|
||||
_.each(rows, function(r) {
|
||||
if (filter(r)) {
|
||||
var l = (_.isFunction(node['node_label']) ?
|
||||
let l = (_.isFunction(node['node_label']) ?
|
||||
(node['node_label']).apply(node, [r, self.model, self]) :
|
||||
r.label),
|
||||
image = (_.isFunction(node['node_image']) ?
|
||||
@ -243,13 +243,13 @@ define([
|
||||
return res;
|
||||
};
|
||||
|
||||
var NodeListByIdControl = Backform.NodeListByIdControl = NodeAjaxOptionsControl.extend({
|
||||
let NodeListByIdControl = Backform.NodeListByIdControl = NodeAjaxOptionsControl.extend({
|
||||
controlClassName: 'pgadmin-node-select form-control',
|
||||
defaults: _.extend({}, NodeAjaxOptionsControl.prototype.defaults, {
|
||||
url: 'nodes',
|
||||
filter: undefined,
|
||||
transform: function(rows) {
|
||||
var self = this,
|
||||
let self = this,
|
||||
node = self.field.get('schema_node'),
|
||||
filter = self.field.get('filter') || function() {
|
||||
return true;
|
||||
@ -271,7 +271,7 @@ define([
|
||||
Backform.NodeListByNameControl = NodeListByIdControl.extend({
|
||||
defaults: _.extend({}, NodeListByIdControl.prototype.defaults, {
|
||||
transform: function(rows) {
|
||||
var self = this,
|
||||
let self = this,
|
||||
node = self.field.get('schema_node'),
|
||||
res = [],
|
||||
filter = self.field.get('filter') || function() {
|
||||
@ -282,7 +282,7 @@ define([
|
||||
|
||||
_.each(rows, function(r) {
|
||||
if (filter(r)) {
|
||||
var l = (_.isFunction(node['node_label']) ?
|
||||
let l = (_.isFunction(node['node_label']) ?
|
||||
(node['node_label']).apply(node, [r, self.model, self]) :
|
||||
r.label),
|
||||
image = (_.isFunction(node['node_image']) ?
|
||||
@ -311,7 +311,7 @@ define([
|
||||
return this.each(function() {
|
||||
if (!this || !$(this.length))
|
||||
return;
|
||||
var top, p = $(this),
|
||||
let top, p = $(this),
|
||||
hasScrollbar = function(j) {
|
||||
if (j && j.length > 0) {
|
||||
return j.get(0).scrollHeight > j.height();
|
||||
@ -340,7 +340,7 @@ define([
|
||||
if (!this || !$(this.length))
|
||||
return;
|
||||
|
||||
var elem = $(this),
|
||||
let elem = $(this),
|
||||
backgridDiv = $(this).offsetParent().parent(), // Backgrid div.subnode
|
||||
backgridDivTop = backgridDiv.offset().top,
|
||||
backgridDivHeight = backgridDiv.height(),
|
||||
@ -353,7 +353,7 @@ define([
|
||||
gridScroll = backformTab[0].offsetHeight - backgridDivTop;
|
||||
|
||||
if (backgridDivHeight > gridScroll) {
|
||||
var top = elem.get(0).offsetTop + elem.height();
|
||||
let top = elem.get(0).offsetTop + elem.height();
|
||||
backformTab.find('.tab-content').scrollTop(top);
|
||||
}
|
||||
return true;
|
||||
@ -372,7 +372,7 @@ define([
|
||||
* specify the 'transform' function too, which will convert the fetched
|
||||
* data to proper 'label', 'value' format.
|
||||
*/
|
||||
var NodeAjaxOptionsCell = Backgrid.Extension.NodeAjaxOptionsCell = Backgrid.Extension.Select2Cell.extend({
|
||||
let NodeAjaxOptionsCell = Backgrid.Extension.NodeAjaxOptionsCell = Backgrid.Extension.Select2Cell.extend({
|
||||
defaults: _.extend({}, Backgrid.Extension.Select2Cell.prototype.defaults, {
|
||||
url: undefined,
|
||||
transform: undefined,
|
||||
@ -395,14 +395,14 @@ define([
|
||||
initialize: function() {
|
||||
Backgrid.Extension.Select2Cell.prototype.initialize.apply(this, arguments);
|
||||
|
||||
var url = this.column.get('url') || this.defaults.url,
|
||||
let url = this.column.get('url') || this.defaults.url,
|
||||
is_options_cached = _.has(this.column.attributes, 'options_cached'),
|
||||
options_cached = is_options_cached && this.column.get('options_cached');
|
||||
// Hmm - we found the url option.
|
||||
// That means - we needs to fetch the options from that node.
|
||||
if (url && !options_cached) {
|
||||
|
||||
var self = this,
|
||||
let self = this,
|
||||
m = this.model,
|
||||
column = this.column,
|
||||
eventHandler = m.top || m,
|
||||
@ -430,7 +430,7 @@ define([
|
||||
* If yes - use that, and do not bother about fetching it again,
|
||||
* and use it.
|
||||
*/
|
||||
var data = cache_node.cache(node.type + '#' + url, node_info, cache_level);
|
||||
let data = cache_node.cache(node.type + '#' + url, node_info, cache_level);
|
||||
|
||||
if (column.get('version_compatible') &&
|
||||
(_.isUndefined(data) || _.isNull(data))) {
|
||||
@ -460,7 +460,7 @@ define([
|
||||
/*
|
||||
* Transform the data
|
||||
*/
|
||||
var transform = column.get('transform') || self.defaults.transform;
|
||||
let transform = column.get('transform') || self.defaults.transform;
|
||||
if (transform && _.isFunction(transform)) {
|
||||
// We will transform the data later, when rendering.
|
||||
// It will allow us to generate different data based on the
|
||||
@ -477,8 +477,8 @@ define([
|
||||
},
|
||||
});
|
||||
|
||||
var transformFunc = function(rows, control) {
|
||||
var self = control || this,
|
||||
let transformFunc = function(rows, control) {
|
||||
let self = control || this,
|
||||
node = self.column.get('schema_node'),
|
||||
filter = self.column.get('filter') || function() {
|
||||
return true;
|
||||
@ -537,7 +537,7 @@ define([
|
||||
},
|
||||
}),
|
||||
getValueFromDOM: function() {
|
||||
var res = [];
|
||||
let res = [];
|
||||
|
||||
this.$el.find('select').find(':selected').each(function() {
|
||||
res.push($(this).attr('value'));
|
||||
|
@ -14,18 +14,18 @@ import pgAdmin from 'sources/pgadmin';
|
||||
|
||||
/* It generates the URL based on collection node selected */
|
||||
export function generateCollectionURL(item, type) {
|
||||
var opURL = {
|
||||
let opURL = {
|
||||
'properties': 'obj',
|
||||
'children': 'nodes',
|
||||
'drop': 'obj',
|
||||
};
|
||||
let nodeObj= this;
|
||||
var collectionPickFunction = function (treeInfoValue, treeInfoKey) {
|
||||
let collectionPickFunction = function (treeInfoValue, treeInfoKey) {
|
||||
return (treeInfoKey != nodeObj.type);
|
||||
};
|
||||
var treeInfo = pgAdmin.Browser.tree.getTreeNodeHierarchy(item);
|
||||
var actionType = type in opURL ? opURL[type] : type;
|
||||
var nodeType = type === 'properties' ? nodeObj.type : nodeObj.node;
|
||||
let treeInfo = pgAdmin.Browser.tree.getTreeNodeHierarchy(item);
|
||||
let actionType = type in opURL ? opURL[type] : type;
|
||||
let nodeType = type === 'properties' ? nodeObj.type : nodeObj.node;
|
||||
return generate_url(
|
||||
pgAdmin.Browser.URL, treeInfo, actionType, nodeType,
|
||||
collectionPickFunction
|
||||
@ -69,7 +69,7 @@ export function generateNodeUrl(treeNodeInfo, actionType, itemNodeData, withId,
|
||||
jump_after_priority = treeNodeInfo[jumpAfterNode].priority;
|
||||
}
|
||||
|
||||
var nodePickFunction = function(treeInfoValue) {
|
||||
let nodePickFunction = function(treeInfoValue) {
|
||||
return (treeInfoValue.priority <= jump_after_priority || treeInfoValue.priority == priority);
|
||||
};
|
||||
|
||||
@ -111,7 +111,7 @@ export function getNodeAjaxOptions(url, nodeObj, treeNodeInfo, itemNodeData, par
|
||||
* If yes - use that, and do not bother about fetching it again,
|
||||
* and use it.
|
||||
*/
|
||||
var data = cacheNode.cache(nodeObj.type + '#' + url, treeNodeInfo, cacheLevel);
|
||||
let data = cacheNode.cache(nodeObj.type + '#' + url, treeNodeInfo, cacheLevel);
|
||||
|
||||
if (_.isUndefined(data) || _.isNull(data)) {
|
||||
api.get(fullUrl, {
|
||||
@ -139,11 +139,11 @@ export function getNodeAjaxOptions(url, nodeObj, treeNodeInfo, itemNodeData, par
|
||||
export function getNodeListById(nodeObj, treeNodeInfo, itemNodeData, params={}, filter=()=>true) {
|
||||
/* Transform the result to add image details */
|
||||
const transform = (rows) => {
|
||||
var res = [];
|
||||
let res = [];
|
||||
|
||||
_.each(rows, function(r) {
|
||||
if (filter(r)) {
|
||||
var l = (_.isFunction(nodeObj['node_label']) ?
|
||||
let l = (_.isFunction(nodeObj['node_label']) ?
|
||||
(nodeObj['node_label']).apply(nodeObj, [r]) :
|
||||
r.label),
|
||||
image = (_.isFunction(nodeObj['node_image']) ?
|
||||
@ -170,11 +170,11 @@ export function getNodeListByName(node, treeNodeInfo, itemNodeData, params={}, f
|
||||
let {includeItemKeys} = params;
|
||||
/* Transform the result to add image details */
|
||||
const transform = (rows) => {
|
||||
var res = [];
|
||||
let res = [];
|
||||
|
||||
_.each(rows, function(r) {
|
||||
if (filter(r)) {
|
||||
var l = (_.isFunction(nodeObj['node_label']) ?
|
||||
let l = (_.isFunction(nodeObj['node_label']) ?
|
||||
(nodeObj['node_label']).apply(nodeObj, [r]) :
|
||||
r.label),
|
||||
image = (_.isFunction(nodeObj['node_image']) ?
|
||||
|
@ -14,11 +14,11 @@ define(
|
||||
['sources/pgadmin', 'jquery', 'wcdocker'],
|
||||
function(pgAdmin, $) {
|
||||
|
||||
var pgBrowser = pgAdmin.Browser = pgAdmin.Browser || {},
|
||||
let pgBrowser = pgAdmin.Browser = pgAdmin.Browser || {},
|
||||
wcDocker = window.wcDocker;
|
||||
|
||||
pgAdmin.Browser.Panel = function(options) {
|
||||
var defaults = [
|
||||
let defaults = [
|
||||
'name', 'title', 'width', 'height', 'showTitle', 'isCloseable',
|
||||
'isPrivate', 'isLayoutMember', 'content', 'icon', 'events', 'onCreate', 'elContainer',
|
||||
'canHide', 'limit', 'extraClasses', 'canMaximise',
|
||||
@ -44,7 +44,7 @@ define(
|
||||
limit: null,
|
||||
extraClasses: null,
|
||||
load: function(docker, title) {
|
||||
var that = this;
|
||||
let that = this;
|
||||
if (!that.panel) {
|
||||
docker.registerPanelType(that.name, {
|
||||
title: that.title,
|
||||
@ -58,13 +58,13 @@ define(
|
||||
if (!that.showTitle)
|
||||
myPanel.title(false);
|
||||
else {
|
||||
var title_elem = '<a href="#" tabindex="-1" class="panel-link-heading">' + (title || that.title) + '</a>';
|
||||
let title_elem = '<a href="#" tabindex="-1" class="panel-link-heading">' + (title || that.title) + '</a>';
|
||||
myPanel.title(title_elem);
|
||||
if (that.icon != '')
|
||||
myPanel.icon(that.icon);
|
||||
}
|
||||
|
||||
var $container = $('<div>', {
|
||||
let $container = $('<div>', {
|
||||
'class': 'pg-panel-content',
|
||||
}).append($(that.content));
|
||||
|
||||
@ -197,7 +197,7 @@ define(
|
||||
}
|
||||
},
|
||||
eventFunc: function(eventName) {
|
||||
var name = $(this).data('pgAdminName');
|
||||
let name = $(this).data('pgAdminName');
|
||||
try {
|
||||
pgBrowser.Events.trigger(
|
||||
'pgadmin-browser:panel', eventName, this, arguments
|
||||
@ -219,7 +219,7 @@ define(
|
||||
}
|
||||
},
|
||||
resizedContainer: function() {
|
||||
var p = this;
|
||||
let p = this;
|
||||
|
||||
if (p.pgElContainer && !p.pgResizeTimeout) {
|
||||
if (!p.isVisible()) {
|
||||
@ -230,7 +230,7 @@ define(
|
||||
}
|
||||
p.pgResizeTimeout = setTimeout(
|
||||
function() {
|
||||
var w = p.width(),
|
||||
let w = p.width(),
|
||||
elAttr = 'xs';
|
||||
p.pgResizeTimeout = null;
|
||||
|
||||
@ -259,7 +259,7 @@ define(
|
||||
|
||||
let selectedPanel = pgBrowser.docker.findPanels(this._type)[0];
|
||||
let isPanelVisible = selectedPanel.isVisible();
|
||||
var $container = selectedPanel
|
||||
let $container = selectedPanel
|
||||
.layout()
|
||||
.scene()
|
||||
.find('.pg-panel-content');
|
||||
|
@ -54,7 +54,7 @@ _.extend(pgBrowser, {
|
||||
|
||||
/* Get all the preferences of a module */
|
||||
get_preferences_for_module: function(module) {
|
||||
var self = this;
|
||||
let self = this;
|
||||
let preferences = {};
|
||||
_.each(
|
||||
_.where(self.preferences_cache, {'module': module}),
|
||||
@ -69,14 +69,14 @@ _.extend(pgBrowser, {
|
||||
|
||||
/* Get preference of an id, id is numeric */
|
||||
get_preference_for_id : function(id) {
|
||||
var self = this;
|
||||
let self = this;
|
||||
/* findWhere returns undefined if not found */
|
||||
return _.findWhere(self.preferences_cache, {'id': id});
|
||||
},
|
||||
|
||||
// Get and cache the preferences
|
||||
cache_preferences: function (modulesChanged) {
|
||||
var self = this,
|
||||
let self = this,
|
||||
headers = {};
|
||||
headers[pgAdmin.csrf_token_header] = pgAdmin.csrf_token;
|
||||
|
||||
|
@ -120,7 +120,7 @@ export function initializeToolbar(panel, wcDocker) {
|
||||
else if ('name' in data && data.name === gettext('Search objects'))
|
||||
pgAdmin.Tools.SearchObjects.show_search_objects('', pgAdmin.Browser.tree.selected());
|
||||
else if ('name' in data && data.name === gettext('PSQL Tool')){
|
||||
var input = {},
|
||||
let input = {},
|
||||
t = pgAdmin.Browser.tree,
|
||||
i = input.item || t.selected(),
|
||||
d = i ? t.itemData(i) : undefined;
|
||||
|
@ -12,12 +12,12 @@ define(
|
||||
['sources/gettext', 'sources/pgadmin'],
|
||||
function(gettext, pgAdmin) {
|
||||
|
||||
var pgBrowser = pgAdmin.Browser = pgAdmin.Browser || {};
|
||||
let pgBrowser = pgAdmin.Browser = pgAdmin.Browser || {};
|
||||
|
||||
if (pgBrowser.messages)
|
||||
return pgBrowser.messages;
|
||||
|
||||
var messages = pgBrowser.messages = {
|
||||
let messages = pgBrowser.messages = {
|
||||
'SERVER_LOST': gettext('Connection to the server has been lost.'),
|
||||
'CLICK_FOR_DETAILED_MSG': gettext('Click here for details.'),
|
||||
'GENERAL_CATEGORY': gettext('General'),
|
||||
|
@ -39,7 +39,7 @@
|
||||
define('pgadmin.browser.utils',
|
||||
['sources/pgadmin'], function(pgAdmin) {
|
||||
|
||||
var pgBrowser = pgAdmin.Browser = pgAdmin.Browser || {};
|
||||
let pgBrowser = pgAdmin.Browser = pgAdmin.Browser || {};
|
||||
|
||||
/* Add hooked-in panels by extensions */
|
||||
pgBrowser['panels_items'] = '{{ current_app.panels|tojson }}';
|
||||
@ -62,7 +62,7 @@ define('pgadmin.browser.utils',
|
||||
pgAdmin['enable_binary_path_browsing'] = '{{ current_app.config.get('ENABLE_BINARY_PATH_BROWSING') }}' == 'True';
|
||||
|
||||
// Define list of nodes on which Query tool option doesn't appears
|
||||
var unsupported_nodes = pgAdmin.unsupported_nodes = [
|
||||
let unsupported_nodes = pgAdmin.unsupported_nodes = [
|
||||
'server_group', 'server', 'coll-tablespace', 'tablespace',
|
||||
'coll-role', 'role', 'coll-resource_group', 'resource_group',
|
||||
'coll-database'
|
||||
@ -96,7 +96,7 @@ define('pgadmin.browser.utils',
|
||||
//
|
||||
// First - register the menus from the other
|
||||
// modules/extensions.
|
||||
var self = this;
|
||||
let self = this;
|
||||
if (this.counter.total == this.counter.loaded) {
|
||||
{% for key in ('File', 'Edit', 'Object' 'Tools', 'Management', 'Help') %}
|
||||
obj.add_menus({{ MENU_ITEMS(key, current_app.menu_items['%s_items' % key.lower()])}});
|
||||
@ -110,7 +110,7 @@ define('pgadmin.browser.utils',
|
||||
|
||||
// load the module right now
|
||||
load_module: function(name, path, c) {
|
||||
var obj = this;
|
||||
let obj = this;
|
||||
require([name],function(m) {
|
||||
try {
|
||||
// initialize the module (if 'init' function present).
|
||||
|
@ -8,7 +8,7 @@
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
|
||||
export function getHelpUrl(base_path, file, version) {
|
||||
var major = Math.floor(version / 10000),
|
||||
let major = Math.floor(version / 10000),
|
||||
minor = Math.floor(version / 100) - (major * 100),
|
||||
url = '',
|
||||
replace_string = major + '.' + minor;
|
||||
@ -28,7 +28,7 @@ export function getHelpUrl(base_path, file, version) {
|
||||
}
|
||||
|
||||
export function getEPASHelpUrl(version) {
|
||||
var major = Math.floor(version / 10000),
|
||||
let major = Math.floor(version / 10000),
|
||||
minor = Math.floor(version / 100) - (major * 100),
|
||||
epasHelp11Plus = 'https://www.enterprisedb.com/docs/epas/$VERSION$/epas_compat_sql/',
|
||||
epasHelp = 'https://www.enterprisedb.com/docs/epas/$VERSION$/',
|
||||
|
@ -81,7 +81,7 @@ export function AwsInstanceDetails(props) {
|
||||
{
|
||||
return new Promise((resolve, reject)=>{
|
||||
const api = getApiInstance();
|
||||
var _url = url_for('rds.db_instances') ;
|
||||
let _url = url_for('rds.db_instances') ;
|
||||
|
||||
if (engine) _url += '?eng_version=' + engine;
|
||||
if (reload || options === undefined || options.length == 0) {
|
||||
|
@ -32,7 +32,7 @@ const useStyles = makeStyles(() =>
|
||||
export function AzureCredentials(props) {
|
||||
const [cloudDBCredInstance, setCloudDBCredInstance] = React.useState();
|
||||
|
||||
var _eventBus = React.useContext(CloudWizardEventsContext);
|
||||
let _eventBus = React.useContext(CloudWizardEventsContext);
|
||||
React.useMemo(() => {
|
||||
const azureCloudDBCredSchema = new AzureCredSchema({
|
||||
authenticateAzure:(auth_type, azure_tenant_id) => {
|
||||
|
@ -37,7 +37,7 @@ define('pgadmin.misc.cloud', [
|
||||
this.initialized = true;
|
||||
|
||||
// Define the nodes on which the menus to be appear
|
||||
var menus = [{
|
||||
let menus = [{
|
||||
name: 'register_and_deploy_cloud_instance',
|
||||
module: this,
|
||||
applies: ['object', 'context'],
|
||||
|
@ -33,7 +33,7 @@ export default class Preferences {
|
||||
return;
|
||||
this.initialized = true;
|
||||
// Add Preferences in to file menu
|
||||
var menus = [{
|
||||
let menus = [{
|
||||
name: 'mnu_preferences',
|
||||
module: this,
|
||||
applies: ['file'],
|
||||
@ -49,7 +49,7 @@ export default class Preferences {
|
||||
|
||||
// This is a callback function to show preferences.
|
||||
show() {
|
||||
|
||||
|
||||
// Render Preferences component
|
||||
Notify.showModal(gettext('Preferences'), (closeModal) => {
|
||||
return <PreferencesComponent
|
||||
@ -59,4 +59,4 @@ export default class Preferences {
|
||||
}} closeModal={closeModal} />;
|
||||
}, { isFullScreen: false, isResizeable: true, showFullScreen: true, isFullWidth: true, dialogWidth: 900, dialogHeight: 550 });
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -37,7 +37,7 @@ define('pgadmin.settings', [
|
||||
Notify.confirm(gettext('Reset layout'),
|
||||
gettext('Are you sure you want to reset the current layout? This will cause the application to reload and any un-saved data will be lost.'),
|
||||
function() {
|
||||
var reloadingIndicator = $('<div id="reloading-indicator"></div>');
|
||||
let reloadingIndicator = $('<div id="reloading-indicator"></div>');
|
||||
$('body').append(reloadingIndicator);
|
||||
// Delete the record from database as well, then only reload page
|
||||
$.ajax({
|
||||
|
@ -10,9 +10,9 @@
|
||||
define('app', [
|
||||
'sources/pgadmin', 'bundled_browser',
|
||||
], function(pgAdmin) {
|
||||
var initializeModules = function(Object) {
|
||||
for (var key in Object) {
|
||||
var module = Object[key];
|
||||
let initializeModules = function(Object) {
|
||||
for (let key in Object) {
|
||||
let module = Object[key];
|
||||
|
||||
if (module && module.init && typeof module.init == 'function') {
|
||||
try {
|
||||
|
@ -26,7 +26,7 @@ import 'codemirror/addon/comment/comment';
|
||||
import 'sources/codemirror/addon/fold/pgadmin-sqlfoldcode';
|
||||
import 'sources/codemirror/extension/centre_on_line';
|
||||
|
||||
var cmds = CodeMirror.commands;
|
||||
let cmds = CodeMirror.commands;
|
||||
cmds.focusOut = function(){
|
||||
event.stopPropagation();
|
||||
document.activeElement.blur();
|
||||
|
@ -165,7 +165,7 @@ export default function FormView({
|
||||
let isOnScreen = useOnScreen(formRef);
|
||||
if(isOnScreen) {
|
||||
/* Don't do it when the form is alredy visible */
|
||||
if(onScreenTracker.current == false) {
|
||||
if(!onScreenTracker.current) {
|
||||
/* Re-select the tab. If form is hidden then sometimes it is not selected */
|
||||
setTabValue(tabValue);
|
||||
onScreenTracker.current = true;
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -24,14 +24,14 @@ define([],
|
||||
}
|
||||
|
||||
// Exclude non-applicable nodes
|
||||
var nodes_not_supported = [
|
||||
let nodes_not_supported = [
|
||||
'server_group', 'server', 'catalog_object_column',
|
||||
];
|
||||
if(_.indexOf(nodes_not_supported, node_type) >= 0) {
|
||||
return true;
|
||||
}
|
||||
|
||||
var preference = pgBrowser.get_preference('browser', 'show_node_'+node_type);
|
||||
let preference = pgBrowser.get_preference('browser', 'show_node_'+node_type);
|
||||
|
||||
if (preference) {
|
||||
return preference.value;
|
||||
|
@ -17,20 +17,21 @@
|
||||
})(function(CodeMirror) {
|
||||
'use strict';
|
||||
|
||||
var pgadminKeywordRangeFinder = function(cm, start, tokenSet) {
|
||||
var line = start.line,
|
||||
let pgadminKeywordRangeFinder = function(cm, start, tokenSet) {
|
||||
let line = start.line,
|
||||
lineText = cm.getLine(line);
|
||||
var at = lineText.length,
|
||||
let at = lineText.length,
|
||||
startChar, tokenType;
|
||||
|
||||
let tokenSetNo = 0;
|
||||
let tokenSetNo = 0,
|
||||
startToken, endToken;
|
||||
let startTkn = tokenSet[tokenSetNo].start,
|
||||
endTkn = tokenSet[tokenSetNo].end;
|
||||
while (at > 0) {
|
||||
var found = lineText.toUpperCase().lastIndexOf(startTkn, at);
|
||||
let found = lineText.toUpperCase().lastIndexOf(startTkn, at);
|
||||
found = checkStartTokenFoundOnEndToken(found, lineText.toUpperCase(), endTkn, startTkn);
|
||||
var startToken = startTkn;
|
||||
var endToken = endTkn;
|
||||
startToken = startTkn;
|
||||
endToken = endTkn;
|
||||
|
||||
if (found < start.ch) {
|
||||
/* If the start token is not found then search for the next set of token */
|
||||
@ -52,18 +53,18 @@
|
||||
at = found - 1;
|
||||
}
|
||||
if (startChar == null || lineText.toUpperCase().lastIndexOf(startToken) > startChar) return;
|
||||
var count = 1,
|
||||
let count = 1,
|
||||
lastLine = cm.lineCount(),
|
||||
end, endCh;
|
||||
outer: for (var i = line + 1; i < lastLine; ++i) {
|
||||
var text = cm.getLine(i).toUpperCase(),
|
||||
outer: for (let i = line + 1; i < lastLine; ++i) {
|
||||
let text = cm.getLine(i).toUpperCase(),
|
||||
pos = 0;
|
||||
var whileloopvar = 0;
|
||||
let whileloopvar = 0;
|
||||
while (whileloopvar < 1) {
|
||||
var nextOpen = text.indexOf(startToken, pos);
|
||||
let nextOpen = text.indexOf(startToken, pos);
|
||||
nextOpen = checkStartTokenFoundOnEndToken(nextOpen, text, endToken, startToken);
|
||||
|
||||
var nextClose = text.indexOf(endToken, pos);
|
||||
let nextClose = text.indexOf(endToken, pos);
|
||||
if (nextOpen < 0) nextOpen = text.length;
|
||||
if (nextClose < 0) nextClose = text.length;
|
||||
pos = Math.min(nextOpen, nextClose);
|
||||
|
@ -10,7 +10,7 @@
|
||||
import CodeMirror from 'codemirror/lib/codemirror';
|
||||
|
||||
CodeMirror.defineExtension('centerOnLine', function(line) {
|
||||
var ht = this.getScrollInfo().clientHeight;
|
||||
var coords = this.charCoords({line: line, ch: 0}, 'local');
|
||||
let ht = this.getScrollInfo().clientHeight;
|
||||
let coords = this.charCoords({line: line, ch: 0}, 'local');
|
||||
this.scrollTo(null, (coords.top + coords.bottom - ht) / 2);
|
||||
});
|
||||
|
@ -19,7 +19,7 @@ export function setPGCSRFToken(header, token) {
|
||||
|
||||
// Configure Backbone.sync to set CSRF-Token-header request header for
|
||||
// every requests except GET.
|
||||
var origBackboneSync = Backbone.sync;
|
||||
let origBackboneSync = Backbone.sync;
|
||||
Backbone.sync = function(method, model, options) {
|
||||
options.beforeSend = function(xhr) {
|
||||
xhr.setRequestHeader(header, token);
|
||||
@ -30,7 +30,7 @@ export function setPGCSRFToken(header, token) {
|
||||
|
||||
// Configure Backbone.get to set 'X-CSRFToken' request header for
|
||||
// GET requests.
|
||||
var origBackboneGet = Backbone.get;
|
||||
let origBackboneGet = Backbone.get;
|
||||
Backbone.get = function(method, model, options) {
|
||||
options.beforeSend = function(xhr) {
|
||||
xhr.setRequestHeader(header, token);
|
||||
|
@ -33,7 +33,7 @@ class dialogTabNavigator {
|
||||
}
|
||||
|
||||
onKeyboardEvent(event, shortcut) {
|
||||
var currentTabPane = this.dialogContainer
|
||||
let currentTabPane = this.dialogContainer
|
||||
.find('.tab-content:first > .tab-pane.active:first:visible'),
|
||||
childTabData = this.isActivePaneHasChildTabs(currentTabPane);
|
||||
|
||||
@ -44,7 +44,7 @@ class dialogTabNavigator {
|
||||
this.tabSwitching = true;
|
||||
|
||||
if(childTabData) {
|
||||
var res = this.navigate(shortcut, childTabData.childTab,
|
||||
let res = this.navigate(shortcut, childTabData.childTab,
|
||||
childTabData.childTabPane, event);
|
||||
|
||||
if (!res) {
|
||||
@ -56,7 +56,7 @@ class dialogTabNavigator {
|
||||
}
|
||||
|
||||
isActivePaneHasChildTabs(currentTabPane) {
|
||||
var childTab = currentTabPane.find('.nav-tabs:first:visible'),
|
||||
let childTab = currentTabPane.find('.nav-tabs:first:visible'),
|
||||
childTabPane;
|
||||
|
||||
if (childTab.length > 0) {
|
||||
@ -82,7 +82,7 @@ class dialogTabNavigator {
|
||||
}
|
||||
|
||||
navigateBackward(tabs, tab_pane, event) {
|
||||
var self = this,
|
||||
let self = this,
|
||||
nextTabPane,
|
||||
innerTabContainer,
|
||||
prevtab = $(tabs).find('li').has('a.active').prev('li');
|
||||
@ -113,7 +113,7 @@ class dialogTabNavigator {
|
||||
}
|
||||
|
||||
navigateForward(tabs, tab_pane, event) {
|
||||
var self = this,
|
||||
let self = this,
|
||||
nextTabPane,
|
||||
innerTabContainer,
|
||||
nexttab = $(tabs).find('li').has('a.active').next('li');
|
||||
|
@ -19,7 +19,7 @@ define(['translations'], function (translations) {
|
||||
*/
|
||||
return function gettext(text) {
|
||||
|
||||
var rawTranslation = translations[text] ? translations[text] : text;
|
||||
let rawTranslation = translations[text] ? translations[text] : text;
|
||||
|
||||
if(arguments.length == 1) {
|
||||
return rawTranslation;
|
||||
|
@ -4,17 +4,17 @@
|
||||
(function() {
|
||||
|
||||
// Used to resolve the internal `[[Class]]` of values
|
||||
var toString = Object.prototype.toString;
|
||||
let toString = Object.prototype.toString;
|
||||
|
||||
// Used to resolve the decompiled source of functions
|
||||
var fnToString = Function.prototype.toString;
|
||||
let fnToString = Function.prototype.toString;
|
||||
|
||||
// Used to detect host constructors (Safari > 4; really typed array specific)
|
||||
var reHostCtor = /^\[object .+?Constructor\]$/;
|
||||
let reHostCtor = /^\[object .+?Constructor\]$/;
|
||||
|
||||
// Compile a regexp using a common native method as a template.
|
||||
// We chose `Object#toString` because there's a good chance it is not being mucked with.
|
||||
var reNative = RegExp('^' +
|
||||
let reNative = RegExp('^' +
|
||||
// Coerce `Object#toString` to a string
|
||||
String(toString)
|
||||
// Escape any special regexp characters
|
||||
@ -26,7 +26,7 @@
|
||||
);
|
||||
|
||||
function isNative(value) {
|
||||
var type = typeof value;
|
||||
let type = typeof value;
|
||||
return type == 'function'
|
||||
// Use `Function#toString` to bypass the value's own `toString` method
|
||||
// and avoid being faked out.
|
||||
|
@ -8,7 +8,7 @@
|
||||
//////////////////////////////////////////////////////////////
|
||||
|
||||
define([], function() {
|
||||
var pgAdmin = window.pgAdmin = window.pgAdmin || {};
|
||||
let pgAdmin = window.pgAdmin = window.pgAdmin || {};
|
||||
|
||||
// Reference:
|
||||
// https://github.com/heygrady/Units/blob/master/Length.min.js
|
||||
@ -57,7 +57,7 @@ define([], function() {
|
||||
else('auto' === _o || _i && 'px' !== _i) && m ? _o = 0 : _i && 'px' !== _i && !m && (_o = r(_t, _o) + 'px');
|
||||
return _o;
|
||||
}
|
||||
var p, n = e.createElement('test'),
|
||||
let p, n = e.createElement('test'),
|
||||
i = e.documentElement,
|
||||
l = e.defaultView,
|
||||
m = l && l.getComputedStyle,
|
||||
@ -76,7 +76,7 @@ define([], function() {
|
||||
pgAdmin.natural_sort = function(a, b, options) {
|
||||
options = options || {};
|
||||
|
||||
var re = /(^-?[0-9]+(\.?[0-9]*)[df]?e?[0-9]?$|^0x[0-9a-f]+$|[0-9]+)/gi,
|
||||
let re = /(^-?[0-9]+(\.?[0-9]*)[df]?e?[0-9]?$|^0x[0-9a-f]+$|[0-9]+)/gi,
|
||||
sre = /(^[ ]*|[ ]*$)/g,
|
||||
dre = /(^([\w ]+,?[\w ]+)?[\w ]+,?[\w ]+\d+:\d+(:\d+)?[\w ]?|^\d{1,4}[\/\-]\d{1,4}[\/\-]\d{1,4}|^\w+, \w+ \d+, \d{4})/,
|
||||
hre = /^0x[0-9a-f]+$/i,
|
||||
@ -102,7 +102,7 @@ define([], function() {
|
||||
else if (xD > yD) return 1 * mult;
|
||||
|
||||
// natural sorting through split numeric strings and default strings
|
||||
for (var cLoc = 0, numS = Math.max(xN.length, yN.length); cLoc < numS; cLoc++) {
|
||||
for (let cLoc = 0, numS = Math.max(xN.length, yN.length); cLoc < numS; cLoc++) {
|
||||
// find floats not starting with '0', string or 0 if not defined (Clint Priest)
|
||||
oFxNcL = !(xN[cLoc] || '').match(ore) && parseFloat(xN[cLoc]) || xN[cLoc] || 0;
|
||||
oFyNcL = !(yN[cLoc] || '').match(ore) && parseFloat(yN[cLoc]) || yN[cLoc] || 0;
|
||||
|
@ -26,24 +26,24 @@ export default function (options) {
|
||||
Utils.Extend(ScrollDataAdapter, BaseAdapter);
|
||||
|
||||
ScrollDataAdapter.prototype.query = function (params, callback) {
|
||||
var data = [];
|
||||
var self = this;
|
||||
let data = [];
|
||||
let self = this;
|
||||
if (!params.page) {
|
||||
params.page = 1;
|
||||
}
|
||||
var pageSize = 20;
|
||||
let pageSize = 20;
|
||||
|
||||
var $options = this.$element.children();
|
||||
let $options = this.$element.children();
|
||||
$options.each(function () {
|
||||
var $option = $(this);
|
||||
let $option = $(this);
|
||||
|
||||
if (!$option.is('option') && !$option.is('optgroup')) {
|
||||
return;
|
||||
}
|
||||
|
||||
var option = self.item($option);
|
||||
let option = self.item($option);
|
||||
|
||||
var matches = self.matches(params, option);
|
||||
let matches = self.matches(params, option);
|
||||
|
||||
if (matches !== null) {
|
||||
data.push(matches);
|
||||
|
@ -12,7 +12,7 @@ import Notify from '../helpers/Notifier';
|
||||
define(['sources/gettext'], function (gettext) {
|
||||
return {
|
||||
copyTextToClipboard: function (text) {
|
||||
var textArea = document.createElement('textarea');
|
||||
let textArea = document.createElement('textarea');
|
||||
|
||||
//
|
||||
// *** This styling is an extra step which is likely not required. ***
|
||||
@ -54,7 +54,7 @@ define(['sources/gettext'], function (gettext) {
|
||||
textArea.textContent = text;
|
||||
textArea.select();
|
||||
|
||||
var copyTextToClipboardHandler = function(e) {
|
||||
let copyTextToClipboardHandler = function(e) {
|
||||
/* Remove oncopy event listener from document as we add listener for
|
||||
* oncopy event on each copy operation.
|
||||
* Also we don't want this listener to be persistent; Otherwise it'll get
|
||||
@ -62,7 +62,7 @@ define(['sources/gettext'], function (gettext) {
|
||||
* this document.
|
||||
*/
|
||||
document.removeEventListener('copy', copyTextToClipboardHandler);
|
||||
var clipboardData = e.clipboardData || window.clipboardData;
|
||||
let clipboardData = e.clipboardData || window.clipboardData;
|
||||
|
||||
if (clipboardData) {
|
||||
clipboardData.setData('text', text);
|
||||
|
@ -16,10 +16,10 @@ define(['sources/selection/range_selection_helper', 'json-bignumber'],
|
||||
}
|
||||
|
||||
allRanges.sort(firstElementNumberComparator);
|
||||
var unionedRanges = [allRanges[0]];
|
||||
let unionedRanges = [allRanges[0]];
|
||||
|
||||
allRanges.forEach(function (range) {
|
||||
var maxBeginningOfRange = _.last(unionedRanges);
|
||||
let maxBeginningOfRange = _.last(unionedRanges);
|
||||
if (isStartInsideRange(range, maxBeginningOfRange)) {
|
||||
if (!isEndInsideRange(range, maxBeginningOfRange)) {
|
||||
maxBeginningOfRange[1] = range[1];
|
||||
@ -45,9 +45,9 @@ define(['sources/selection/range_selection_helper', 'json-bignumber'],
|
||||
},
|
||||
|
||||
mapDimensionBoundaryUnion: function (unionedDimensionBoundaries, iteratee) {
|
||||
var mapResult = [];
|
||||
let mapResult = [];
|
||||
unionedDimensionBoundaries.forEach(function (subrange) {
|
||||
for (var index = subrange[0]; index <= subrange[1]; index += 1) {
|
||||
for (let index = subrange[0]; index <= subrange[1]; index += 1) {
|
||||
mapResult.push(iteratee(index));
|
||||
}
|
||||
});
|
||||
@ -55,11 +55,11 @@ define(['sources/selection/range_selection_helper', 'json-bignumber'],
|
||||
},
|
||||
|
||||
mapOver2DArray: function (rowRangeBounds, colRangeBounds, processCell, rowCollector) {
|
||||
var unionedRowRanges = this.getUnion(rowRangeBounds);
|
||||
var unionedColRanges = this.getUnion(colRangeBounds);
|
||||
let unionedRowRanges = this.getUnion(rowRangeBounds);
|
||||
let unionedColRanges = this.getUnion(colRangeBounds);
|
||||
|
||||
return this.mapDimensionBoundaryUnion(unionedRowRanges, function (rowId) {
|
||||
var rowData = this.mapDimensionBoundaryUnion(unionedColRanges, function (colId) {
|
||||
let rowData = this.mapDimensionBoundaryUnion(unionedColRanges, function (colId) {
|
||||
return processCell(rowId, colId);
|
||||
});
|
||||
return rowCollector(rowData);
|
||||
@ -67,7 +67,7 @@ define(['sources/selection/range_selection_helper', 'json-bignumber'],
|
||||
},
|
||||
|
||||
getHeaderData: function (columnDefinitions, CSVOptions) {
|
||||
var headerData = [],
|
||||
let headerData = [],
|
||||
field_separator = CSVOptions.field_separator || '\t',
|
||||
quote_char = CSVOptions.quote_char || '"';
|
||||
|
||||
@ -82,10 +82,10 @@ define(['sources/selection/range_selection_helper', 'json-bignumber'],
|
||||
|
||||
rangesToCsv: function (data, columnDefinitions, selectedRanges, CSVOptions, copyWithHeader) {
|
||||
|
||||
var rowRangeBounds = selectedRanges.map(function (range) {
|
||||
let rowRangeBounds = selectedRanges.map(function (range) {
|
||||
return [range.fromRow, range.toRow];
|
||||
});
|
||||
var colRangeBounds = selectedRanges.map(function (range) {
|
||||
let colRangeBounds = selectedRanges.map(function (range) {
|
||||
return [range.fromCell, range.toCell];
|
||||
});
|
||||
|
||||
@ -93,13 +93,13 @@ define(['sources/selection/range_selection_helper', 'json-bignumber'],
|
||||
colRangeBounds = this.removeFirstColumn(colRangeBounds);
|
||||
}
|
||||
|
||||
var csvRows = this.mapOver2DArray(rowRangeBounds, colRangeBounds, this.csvCell.bind(this, data, columnDefinitions, CSVOptions), function (rowData) {
|
||||
var field_separator = CSVOptions.field_separator || '\t';
|
||||
let csvRows = this.mapOver2DArray(rowRangeBounds, colRangeBounds, this.csvCell.bind(this, data, columnDefinitions, CSVOptions), function (rowData) {
|
||||
let field_separator = CSVOptions.field_separator || '\t';
|
||||
return rowData.join(field_separator);
|
||||
});
|
||||
|
||||
if (copyWithHeader) {
|
||||
var headerData = '';
|
||||
let headerData = '';
|
||||
headerData = this.getHeaderData(columnDefinitions, CSVOptions);
|
||||
|
||||
return headerData + '\n' + csvRows.join('\n');
|
||||
@ -109,13 +109,13 @@ define(['sources/selection/range_selection_helper', 'json-bignumber'],
|
||||
},
|
||||
|
||||
removeFirstColumn: function (colRangeBounds) {
|
||||
var unionedColRanges = this.getUnion(colRangeBounds);
|
||||
let unionedColRanges = this.getUnion(colRangeBounds);
|
||||
|
||||
if(unionedColRanges.length == 0) {
|
||||
return [];
|
||||
}
|
||||
|
||||
var firstSubrangeStartsAt0 = function () {
|
||||
let firstSubrangeStartsAt0 = function () {
|
||||
return unionedColRanges[0][0] == 0;
|
||||
};
|
||||
|
||||
@ -134,7 +134,7 @@ define(['sources/selection/range_selection_helper', 'json-bignumber'],
|
||||
},
|
||||
|
||||
csvCell: function (data, columnDefinitions, CSVOptions, rowId, colId) {
|
||||
var val = data[rowId][columnDefinitions[colId].field],
|
||||
let val = data[rowId][columnDefinitions[colId].field],
|
||||
cell_type = columnDefinitions[colId].cell || '',
|
||||
quoting = CSVOptions.quoting || 'strings',
|
||||
quote_char = CSVOptions.quote_char || '"';
|
||||
|
@ -24,11 +24,11 @@ define(
|
||||
|
||||
function getRowPrimaryKeyValuesToStage(selectedRows, primaryKeys, dataView, client_primary_key) {
|
||||
return _.reduce(selectedRows, function (primaryKeyValuesToStage, dataGridRowIndex) {
|
||||
var gridRow = dataView.getItem(dataGridRowIndex);
|
||||
let gridRow = dataView.getItem(dataGridRowIndex);
|
||||
if (isRowMissingPrimaryKeys(gridRow, primaryKeys)) {
|
||||
return primaryKeyValuesToStage;
|
||||
}
|
||||
var tempPK = gridRow[client_primary_key];
|
||||
let tempPK = gridRow[client_primary_key];
|
||||
primaryKeyValuesToStage[tempPK] = getSingleRowPrimaryKeyValueToStage(primaryKeys, gridRow);
|
||||
return primaryKeyValuesToStage;
|
||||
}, {});
|
||||
@ -47,7 +47,7 @@ define(
|
||||
}
|
||||
|
||||
function getSingleRowPrimaryKeyValueToStage(primaryKeys, gridRow) {
|
||||
var rowToStage = {};
|
||||
let rowToStage = {};
|
||||
if (primaryKeys && primaryKeys.length) {
|
||||
_.each(_.keys(gridRow), function (columnNames) {
|
||||
if (_.contains(primaryKeys, columnNames))
|
||||
@ -58,12 +58,12 @@ define(
|
||||
}
|
||||
|
||||
function getPrimaryKeysForSelectedRows(self, selectedRows) {
|
||||
var dataView = self.grid.getData();
|
||||
let dataView = self.grid.getData();
|
||||
return getRowPrimaryKeyValuesToStage(selectedRows, _.keys(self.keys), dataView, self.client_primary_key);
|
||||
}
|
||||
|
||||
return function () {
|
||||
var self = this;
|
||||
let self = this;
|
||||
|
||||
function setStagedRows(rowsToStage) {
|
||||
self.editor.handler.data_store.staged_rows = rowsToStage;
|
||||
@ -81,15 +81,15 @@ define(
|
||||
self.selection.getSelectedRanges());
|
||||
}
|
||||
|
||||
var selectedRanges = this.selection.getSelectedRanges();
|
||||
let selectedRanges = this.selection.getSelectedRanges();
|
||||
|
||||
if (selectedRanges.length > 0) {
|
||||
enableButton('#btn-copy-row');
|
||||
}
|
||||
|
||||
if (areAllSelectionsEntireRows()) {
|
||||
var selectedRows = RangeSelectionHelper.getIndexesOfCompleteRows(this.grid, this.selection.getSelectedRanges());
|
||||
var stagedRows = getPrimaryKeysForSelectedRows(self, selectedRows);
|
||||
let selectedRows = RangeSelectionHelper.getIndexesOfCompleteRows(this.grid, this.selection.getSelectedRanges());
|
||||
let stagedRows = getPrimaryKeysForSelectedRows(self, selectedRows);
|
||||
setStagedRows(stagedRows);
|
||||
if (_.isEmpty(stagedRows)) {
|
||||
this.selection.setSelectedRows([]);
|
||||
|
@ -75,11 +75,11 @@ _.extend(pgBrowser.browserTreeState, {
|
||||
type: 'DELETE',
|
||||
})
|
||||
.fail(function(jqx) {
|
||||
var msg = jqx.responseText;
|
||||
let msg = jqx.responseText;
|
||||
/* Error from the server */
|
||||
if (jqx.status == 417 || jqx.status == 410 || jqx.status == 500) {
|
||||
try {
|
||||
var data = JSON.parse(jqx.responseText);
|
||||
let data = JSON.parse(jqx.responseText);
|
||||
msg = data.errormsg;
|
||||
} catch (e) {
|
||||
console.warn(e.stack || e);
|
||||
@ -93,7 +93,7 @@ _.extend(pgBrowser.browserTreeState, {
|
||||
},
|
||||
save_state: function() {
|
||||
|
||||
var self = pgBrowser.browserTreeState;
|
||||
let self = pgBrowser.browserTreeState;
|
||||
if(self.last_state == JSON.stringify(self.current_state))
|
||||
return;
|
||||
|
||||
@ -108,11 +108,11 @@ _.extend(pgBrowser.browserTreeState, {
|
||||
self.fetch_state();
|
||||
})
|
||||
.fail(function(jqx) {
|
||||
var msg = jqx.responseText;
|
||||
let msg = jqx.responseText;
|
||||
/* Error from the server */
|
||||
if (jqx.status == 417 || jqx.status == 410 || jqx.status == 500) {
|
||||
try {
|
||||
var data = JSON.parse(jqx.responseText);
|
||||
let data = JSON.parse(jqx.responseText);
|
||||
msg = data.errormsg;
|
||||
} catch (e) {
|
||||
console.warn(e.stack || e);
|
||||
@ -125,7 +125,7 @@ _.extend(pgBrowser.browserTreeState, {
|
||||
},
|
||||
fetch_state: function() {
|
||||
|
||||
var self = this;
|
||||
let self = this;
|
||||
$.ajax({
|
||||
url: url_for('settings.get_tree_state'),
|
||||
type: 'GET',
|
||||
@ -136,11 +136,11 @@ _.extend(pgBrowser.browserTreeState, {
|
||||
self.stored_state = res;
|
||||
})
|
||||
.fail(function(jqx) {
|
||||
var msg = jqx.responseText;
|
||||
let msg = jqx.responseText;
|
||||
/* Error from the server */
|
||||
if (jqx.status == 417 || jqx.status == 410 || jqx.status == 500) {
|
||||
try {
|
||||
var data = JSON.parse(jqx.responseText);
|
||||
let data = JSON.parse(jqx.responseText);
|
||||
msg = data.errormsg;
|
||||
} catch (e) {
|
||||
console.warn(e.stack || e);
|
||||
|
@ -22,10 +22,10 @@ define(['pgadmin.browser.endpoints'], function(endpoints) {
|
||||
*/
|
||||
return function url_for(endpoint, substitutions) {
|
||||
|
||||
var rawURL = endpoints[endpoint];
|
||||
let rawURL = endpoints[endpoint];
|
||||
|
||||
// captures things of the form <path:substitutionName>
|
||||
var substitutionGroupsRegExp = /([<])([^:^>]*:)?([^>]+)([>])/g,
|
||||
let substitutionGroupsRegExp = /([<])([^:^>]*:)?([^>]+)([>])/g,
|
||||
interpolated = rawURL;
|
||||
|
||||
if (!rawURL)
|
||||
|
@ -15,10 +15,10 @@ import Notify from './helpers/Notifier';
|
||||
import { hasTrojanSource } from 'anti-trojan-source';
|
||||
import convert from 'convert-units';
|
||||
|
||||
var wcDocker = window.wcDocker;
|
||||
let wcDocker = window.wcDocker;
|
||||
|
||||
export function parseShortcutValue(obj) {
|
||||
var shortcut = '';
|
||||
let shortcut = '';
|
||||
if (obj.alt) { shortcut += 'alt+'; }
|
||||
if (obj.shift) { shortcut += 'shift+'; }
|
||||
if (obj.control) { shortcut += 'ctrl+'; }
|
||||
@ -89,7 +89,7 @@ export function findAndSetFocus(container) {
|
||||
return;
|
||||
}
|
||||
setTimeout(function() {
|
||||
var first_el = container
|
||||
let first_el = container
|
||||
.find('button.fa-plus:first');
|
||||
|
||||
/* Adding the tabindex condition makes sure that
|
||||
@ -263,7 +263,7 @@ export function getRandomInt(min, max) {
|
||||
const intArray = new Uint32Array(1);
|
||||
crypto.getRandomValues(intArray);
|
||||
|
||||
var range = max - min + 1;
|
||||
let range = max - min + 1;
|
||||
return min + (intArray[0] % range);
|
||||
}
|
||||
|
||||
@ -303,7 +303,7 @@ export function CSVToArray(strData, strDelimiter, quoteChar){
|
||||
quoteChar = quoteChar || '"';
|
||||
|
||||
// Create a regular expression to parse the CSV values.
|
||||
var objPattern = new RegExp(
|
||||
let objPattern = new RegExp(
|
||||
(
|
||||
// Delimiters.
|
||||
'(\\' + strDelimiter + '|\\r?\\n|\\r|^)' +
|
||||
@ -317,7 +317,7 @@ export function CSVToArray(strData, strDelimiter, quoteChar){
|
||||
|
||||
// Create an array to hold our data. Give the array
|
||||
// a default empty first row.
|
||||
var arrData = [[]];
|
||||
let arrData = [[]];
|
||||
|
||||
// The regex doesn't handle and skips start value if
|
||||
// string starts with delimiter
|
||||
@ -327,13 +327,13 @@ export function CSVToArray(strData, strDelimiter, quoteChar){
|
||||
|
||||
// Create an array to hold our individual pattern
|
||||
// matching groups.
|
||||
var arrMatches = null;
|
||||
let arrMatches = null;
|
||||
|
||||
// Keep looping over the regular expression matches
|
||||
// until we can no longer find a match.
|
||||
while ((arrMatches = objPattern.exec( strData ))){
|
||||
// Get the delimiter that was found.
|
||||
var strMatchedDelimiter = arrMatches[ 1 ];
|
||||
let strMatchedDelimiter = arrMatches[ 1 ];
|
||||
|
||||
// Check to see if the given delimiter has a length
|
||||
// (is not the start of string) and if it matches
|
||||
@ -345,7 +345,7 @@ export function CSVToArray(strData, strDelimiter, quoteChar){
|
||||
arrData.push( [] );
|
||||
}
|
||||
|
||||
var strMatchedValue;
|
||||
let strMatchedValue;
|
||||
|
||||
// Now that we have our delimiter out of the way,
|
||||
// let's check to see which kind of value we
|
||||
@ -429,11 +429,11 @@ export function registerDetachEvent(panel){
|
||||
});
|
||||
});
|
||||
panel.on(wcDocker.EVENT.ORDER_CHANGED, function() {
|
||||
var docker = this.docker(this._panel);
|
||||
var dockerPos = docker.$container.offset();
|
||||
var pos = this.$container.offset();
|
||||
var width = this.$container.width();
|
||||
var height = this.$container.height();
|
||||
let docker = this.docker(this._panel);
|
||||
let dockerPos = docker.$container.offset();
|
||||
let pos = this.$container.offset();
|
||||
let width = this.$container.width();
|
||||
let height = this.$container.height();
|
||||
|
||||
$((this.$container)[0].ownerDocument).find('.wcIFrameFloating').css('top', pos.top - dockerPos.top);
|
||||
$((this.$container)[0].ownerDocument).find('.wcIFrameFloating').css('left', pos.left - dockerPos.left);
|
||||
@ -446,7 +446,7 @@ export function registerDetachEvent(panel){
|
||||
}
|
||||
|
||||
export function getBrowser() {
|
||||
var ua=navigator.userAgent,tem,M=ua.match(/(opera|chrome|safari|firefox|msie|trident(?=\/))\/?\s*(\d+)/i) || [];
|
||||
let ua=navigator.userAgent,tem,M=ua.match(/(opera|chrome|safari|firefox|msie|trident(?=\/))\/?\s*(\d+)/i) || [];
|
||||
if(/trident/i.test(M[1])) {
|
||||
tem=/\brv[ :]+(\d+)/g.exec(ua) || [];
|
||||
return {name:'IE', version:(tem[1]||'')};
|
||||
@ -536,13 +536,13 @@ export function calcFontSize(fontSize) {
|
||||
}
|
||||
|
||||
export function pgHandleItemError(xhr, args) {
|
||||
var pgBrowser = window.pgAdmin.Browser;
|
||||
let pgBrowser = window.pgAdmin.Browser;
|
||||
|
||||
if (!xhr || !pgBrowser) {
|
||||
return;
|
||||
}
|
||||
|
||||
var contentType = xhr.getResponseHeader('Content-Type'),
|
||||
let contentType = xhr.getResponseHeader('Content-Type'),
|
||||
jsonResp = contentType &&
|
||||
contentType.indexOf('application/json') == 0 &&
|
||||
JSON.parse(xhr.responseText);
|
||||
@ -568,14 +568,14 @@ export function pgHandleItemError(xhr, args) {
|
||||
}
|
||||
|
||||
// Check the status of the maintenance server connection.
|
||||
var server = pgBrowser.Nodes['server'],
|
||||
let server = pgBrowser.Nodes['server'],
|
||||
ctx = {
|
||||
resp: jsonResp,
|
||||
xhr: xhr,
|
||||
args: args,
|
||||
},
|
||||
reconnectServer = function() {
|
||||
var ctx_local = this,
|
||||
let ctx_local = this,
|
||||
onServerConnect = function(_sid, _i, _d) {
|
||||
// Yay - server is reconnected.
|
||||
if (this.args.info.server._id == _sid) {
|
||||
|
@ -27,7 +27,7 @@ export function minMaxValidator(label, value, minValue, maxValue) {
|
||||
export function numberValidator(label, value) {
|
||||
if((_.isUndefined(value) || _.isNull(value) || String(value) === ''))
|
||||
return null;
|
||||
var pattern = new RegExp('^-?[0-9]+(\.?[0-9]*)?$');
|
||||
let pattern = new RegExp('^-?[0-9]+(\.?[0-9]*)?$');
|
||||
if (!pattern.test(value)) {
|
||||
return sprintf(pgAdmin.Browser.messages.MUST_BE_NUM, label);
|
||||
}
|
||||
@ -38,7 +38,7 @@ export function numberValidator(label, value) {
|
||||
export function integerValidator(label, value) {
|
||||
if((_.isUndefined(value) || _.isNull(value) || String(value) === ''))
|
||||
return null;
|
||||
var pattern = new RegExp('^-?[0-9]*$');
|
||||
let pattern = new RegExp('^-?[0-9]*$');
|
||||
if (!pattern.test(value)) {
|
||||
return sprintf(pgAdmin.Browser.messages.MUST_BE_INT, label);
|
||||
}
|
||||
|
@ -55,7 +55,7 @@ define([
|
||||
this.initialized = true;
|
||||
|
||||
// Define the nodes on which the menus to be appear
|
||||
var menus = [{
|
||||
let menus = [{
|
||||
name: 'backup_global',
|
||||
module: this,
|
||||
applies: ['tools'],
|
||||
@ -142,36 +142,36 @@ define([
|
||||
},
|
||||
startBackupGlobal: function(action, treeItem) {
|
||||
pgBrowser.Node.registerUtilityPanel();
|
||||
var panel = pgBrowser.Node.addUtilityPanel(pgBrowser.stdW.md);
|
||||
var tree = pgBrowser.tree,
|
||||
let panel = pgBrowser.Node.addUtilityPanel(pgBrowser.stdW.md);
|
||||
let tree = pgBrowser.tree,
|
||||
i = treeItem || tree.selected(),
|
||||
data = i ? tree.itemData(i) : undefined,
|
||||
j = panel.$container.find('.obj_properties').first();
|
||||
|
||||
var schema = this.getGlobalUISchema(treeItem);
|
||||
let schema = this.getGlobalUISchema(treeItem);
|
||||
panel.title('Backup Globals');
|
||||
panel.focus();
|
||||
var typeOfDialog = 'globals';
|
||||
var serverIdentifier = this.retrieveServerIdentifier();
|
||||
let typeOfDialog = 'globals';
|
||||
let serverIdentifier = this.retrieveServerIdentifier();
|
||||
|
||||
var extraData = this.setExtraParameters(typeOfDialog);
|
||||
let extraData = this.setExtraParameters(typeOfDialog);
|
||||
this.showBackupDialog(schema, treeItem, j, data, panel, typeOfDialog, serverIdentifier, extraData);
|
||||
},
|
||||
startBackupServer: function(action, treeItem) {
|
||||
pgBrowser.Node.registerUtilityPanel();
|
||||
var panel = pgBrowser.Node.addUtilityPanel(pgBrowser.stdW.md);
|
||||
var tree = pgBrowser.tree,
|
||||
let panel = pgBrowser.Node.addUtilityPanel(pgBrowser.stdW.md);
|
||||
let tree = pgBrowser.tree,
|
||||
i = treeItem || tree.selected(),
|
||||
data = i ? tree.itemData(i) : undefined,
|
||||
j = panel.$container.find('.obj_properties').first();
|
||||
|
||||
var schema = this.getUISchema(treeItem, 'server');
|
||||
let schema = this.getUISchema(treeItem, 'server');
|
||||
panel.title(gettext('Backup Server'));
|
||||
panel.focus();
|
||||
var typeOfDialog = 'server';
|
||||
var serverIdentifier = this.retrieveServerIdentifier();
|
||||
let typeOfDialog = 'server';
|
||||
let serverIdentifier = this.retrieveServerIdentifier();
|
||||
|
||||
var extraData = this.setExtraParameters(typeOfDialog);
|
||||
let extraData = this.setExtraParameters(typeOfDialog);
|
||||
this.showBackupDialog(schema, treeItem, j, data, panel, typeOfDialog, serverIdentifier, extraData);
|
||||
},
|
||||
saveCallBack: function(data) {
|
||||
@ -202,8 +202,8 @@ define([
|
||||
const baseUrl = url_for(urlShortcut, {
|
||||
'sid': serverIdentifier,
|
||||
});
|
||||
var sqlHelpUrl = 'backup.html';
|
||||
var helpUrl = url_for('help.static', {
|
||||
let sqlHelpUrl = 'backup.html';
|
||||
let helpUrl = url_for('help.static', {
|
||||
'filename': this.getHelpFile(typeOfDialog),
|
||||
});
|
||||
getUtilityView(
|
||||
@ -212,8 +212,8 @@ define([
|
||||
},
|
||||
// Callback to draw Backup Dialog for objects
|
||||
backupObjects: function(action, treeItem) {
|
||||
var that = this;
|
||||
var tree = pgBrowser.tree,
|
||||
let that = this;
|
||||
let tree = pgBrowser.tree,
|
||||
i = treeItem || tree.selected(),
|
||||
data = i ? tree.itemData(i) : undefined;
|
||||
|
||||
@ -235,14 +235,14 @@ define([
|
||||
}
|
||||
|
||||
pgBrowser.Node.registerUtilityPanel();
|
||||
var panel = pgBrowser.Node.addUtilityPanel(pgBrowser.stdW.md, pgBrowser.stdH.lg),
|
||||
let panel = pgBrowser.Node.addUtilityPanel(pgBrowser.stdW.md, pgBrowser.stdH.lg),
|
||||
j = panel.$container.find('.obj_properties').first();
|
||||
|
||||
var schema = that.getUISchema(treeItem, 'backup_objects');
|
||||
let schema = that.getUISchema(treeItem, 'backup_objects');
|
||||
panel.title(gettext(`Backup (${pgBrowser.Nodes[data._type].label}: ${data.label})`));
|
||||
panel.focus();
|
||||
|
||||
var typeOfDialog = 'backup_objects',
|
||||
let typeOfDialog = 'backup_objects',
|
||||
serverIdentifier = that.retrieveServerIdentifier(),
|
||||
extraData = that.setExtraParameters(typeOfDialog);
|
||||
|
||||
@ -286,14 +286,14 @@ define([
|
||||
retrieveServerIdentifier() {
|
||||
const selectedNode = pgBrowser.tree.selected();
|
||||
|
||||
var node = pgBrowser.tree.findNodeByDomElement(selectedNode);
|
||||
let node = pgBrowser.tree.findNodeByDomElement(selectedNode);
|
||||
const treeInfo = pgBrowser.tree.getTreeNodeHierarchy(node);
|
||||
return treeInfo.server._id;
|
||||
},
|
||||
setExtraParameters(typeOfDialog) {
|
||||
var extraData = {};
|
||||
let extraData = {};
|
||||
const selectedNode = pgBrowser.tree.selected();
|
||||
var selectedTreeNode = pgBrowser.tree.findNodeByDomElement(selectedNode);
|
||||
let selectedTreeNode = pgBrowser.tree.findNodeByDomElement(selectedNode);
|
||||
const treeInfo = pgBrowser.tree.getTreeNodeHierarchy(selectedTreeNode);
|
||||
if (typeOfDialog === 'backup_objects') {
|
||||
|
||||
|
@ -181,7 +181,7 @@ export class SaveOptSchema extends BaseUISchema {
|
||||
disabled: false,
|
||||
group: gettext('Do not save'),
|
||||
visible: function() {
|
||||
var serverInfo = _.isUndefined(obj.fieldOptions.nodeInfo) ? undefined : obj.fieldOptions.nodeInfo.server;
|
||||
let serverInfo = _.isUndefined(obj.fieldOptions.nodeInfo) ? undefined : obj.fieldOptions.nodeInfo.server;
|
||||
|
||||
return _.isUndefined(serverInfo) ? false : serverInfo.version >= 110000;
|
||||
},
|
||||
@ -267,7 +267,7 @@ export class QueryOptionSchema extends BaseUISchema {
|
||||
if (!_.isUndefined(obj.backupType) && obj.backupType === 'server')
|
||||
return false;
|
||||
|
||||
var serverInfo = _.isUndefined(obj.fieldOptions.nodeInfo) ? undefined : obj.fieldOptions.nodeInfo.server;
|
||||
let serverInfo = _.isUndefined(obj.fieldOptions.nodeInfo) ? undefined : obj.fieldOptions.nodeInfo.server;
|
||||
|
||||
return _.isUndefined(serverInfo) ? false : serverInfo.version >= 110000;
|
||||
},
|
||||
@ -349,7 +349,7 @@ export class MiscellaneousSchema extends BaseUISchema {
|
||||
deps: ['use_column_inserts', 'use_insert_commands'],
|
||||
group: gettext('Miscellaneous'),
|
||||
disabled: function(state) {
|
||||
var serverInfo = _.isUndefined(obj.fieldOptions.nodeInfo) ? undefined : obj.fieldOptions.nodeInfo.server;
|
||||
let serverInfo = _.isUndefined(obj.fieldOptions.nodeInfo) ? undefined : obj.fieldOptions.nodeInfo.server;
|
||||
|
||||
if (!_.isUndefined(serverInfo) && serverInfo.version >= 120000)
|
||||
return true;
|
||||
@ -418,7 +418,7 @@ export default class BackupSchema extends BaseUISchema {
|
||||
}
|
||||
|
||||
get baseFields() {
|
||||
var obj = this;
|
||||
let obj = this;
|
||||
return [{
|
||||
id: 'file',
|
||||
label: gettext('Filename'),
|
||||
@ -480,7 +480,7 @@ export default class BackupSchema extends BaseUISchema {
|
||||
options: obj.fieldOptions.encoding,
|
||||
visible: function() {
|
||||
if (!_.isUndefined(obj.backupType) && obj.backupType === 'server') {
|
||||
var dbNode = obj.pgBrowser.serverInfo[obj.treeNodeInfo.server._id];
|
||||
let dbNode = obj.pgBrowser.serverInfo[obj.treeNodeInfo.server._id];
|
||||
return _.isUndefined(dbNode) ? false : dbNode.version >= 110000;
|
||||
}
|
||||
return true;
|
||||
|
@ -65,7 +65,7 @@ export default class BackupGlobalSchema extends BaseUISchema {
|
||||
}
|
||||
|
||||
get baseFields() {
|
||||
var obj = this;
|
||||
let obj = this;
|
||||
return [{
|
||||
id: 'file',
|
||||
label: gettext('Filename'),
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user