Fixed 'Remove the unnecessary boolean literals' code smell.

This commit is contained in:
Akshay Joshi 2022-09-09 15:23:18 +05:30
parent ec47a2aa66
commit 3b95a416ca
21 changed files with 221 additions and 224 deletions

View File

@ -186,13 +186,13 @@ define('pgadmin.node.server', [
// Must be connected & super user & not in recovery mode
return (node && node._type == 'server' &&
node.connected && node.user.is_superuser
&& !node.in_recovery);
&& !(node.in_recovery??true));
},
wal_pause_enabled: function(node) {
// Must be connected & is Super user & in Recovery mode
return (node && node._type == 'server' &&
node.connected && node.user.is_superuser
&& node.in_recovery && !node.wal_pause);
&& node.in_recovery && !(node.wal_pause??true));
},
wal_resume_enabled: function(node) {
// Must be connected & is Super user & in Recovery mode

View File

@ -35,21 +35,21 @@ define('pgadmin.browser', [
window.jQuery = window.$ = $;
// Some scripts do export their object in the window only.
// Generally the one, which do no have AMD support.
var wcDocker = window.wcDocker;
let wcDocker = window.wcDocker;
$ = $ || window.jQuery || window.$;
var CodeMirror = codemirror.default;
let CodeMirror = codemirror.default;
var pgBrowser = pgAdmin.Browser = pgAdmin.Browser || {};
var select_object_msg = gettext('Please select an object in the tree view.');
let pgBrowser = pgAdmin.Browser = pgAdmin.Browser || {};
let select_object_msg = gettext('Please select an object in the tree view.');
csrfToken.setPGCSRFToken(pgAdmin.csrf_token_header, pgAdmin.csrf_token);
Kerberos.validate_kerberos_ticket();
var panelEvents = {};
let panelEvents = {};
panelEvents[wcDocker.EVENT.VISIBILITY_CHANGED] = function() {
if (this.isVisible()) {
var obj = pgAdmin.Browser,
let obj = pgAdmin.Browser,
i = obj.tree ? obj.tree.selected() : undefined,
d = i ? obj.tree.itemData(i) : undefined;
@ -61,7 +61,7 @@ define('pgadmin.browser', [
}
};
var initializeBrowserTree = pgAdmin.Browser.initializeBrowserTree =
let initializeBrowserTree = pgAdmin.Browser.initializeBrowserTree =
function(b) {
InitTree.initBrowserTree(b).then(() => {
b.tree.registerDraggableType({
@ -306,7 +306,7 @@ define('pgadmin.browser', [
},
add_panels: function() {
/* Add hooked-in panels by extensions */
var panels = JSON.parse(pgBrowser.panels_items);
let panels = JSON.parse(pgBrowser.panels_items);
_.each(panels, function(panel) {
if (panel.isIframe) {
pgBrowser.frames[panel.name] = new pgBrowser.Frame({
@ -361,7 +361,7 @@ define('pgadmin.browser', [
},
// A callback to load/fetch a script when a certain node is loaded
register_script: function(n, m, p) {
var scripts = this.scripts;
let scripts = this.scripts;
scripts[n] = _.isArray(scripts[n]) ? scripts[n] : [];
scripts[n].push({'name': m, 'path': p, loaded: false});
},
@ -369,7 +369,7 @@ define('pgadmin.browser', [
// Enable/disable menu options
enable_disable_menus: function(item) {
// Mechanism to enable/disable menus depending on the condition.
var obj = this,
let obj = this,
// menu navigation bar
navbar = $('#navbar-menu > ul').first(),
// Drop down menu for objects
@ -380,7 +380,7 @@ define('pgadmin.browser', [
if (m instanceof pgAdmin.Browser.MenuItem) {
m.update(d, item);
} else {
for (var key in m) {
for (let key in m) {
update_menuitem(m[key]);
}
}
@ -411,7 +411,7 @@ define('pgadmin.browser', [
);
} else {
// Create a dummy 'no object seleted' menu
var create_submenu = pgAdmin.Browser.MenuGroup(
let create_submenu = pgAdmin.Browser.MenuGroup(
obj.menu_categories['create'], [{
$el: $('<li><a class="dropdown-item disabled" href="#" role="menuitem">' + gettext('No object selected') + '</a></li>'),
priority: 1,
@ -422,7 +422,7 @@ define('pgadmin.browser', [
}
},
init: function() {
var obj=this;
let obj=this;
if (obj.initialized) {
return;
}
@ -453,7 +453,7 @@ define('pgadmin.browser', [
});
// Stored layout in database from the previous session
var layout = pgBrowser.utils.layout;
let layout = pgBrowser.utils.layout;
obj.restore_layout(obj.docker, layout, obj.buildDefaultLayout.bind(obj), true);
obj.docker.on(wcDocker.EVENT.LAYOUT_CHANGED, function() {
@ -503,7 +503,7 @@ define('pgadmin.browser', [
selector: '.file-entry',
autoHide: false,
build: function(element) {
var item = obj.tree.itemFrom(element),
let item = obj.tree.itemFrom(element),
d = obj.tree.itemData(item),
menus = obj.menus['context'][d._type],
$div = $('<div></div>'),
@ -667,7 +667,7 @@ define('pgadmin.browser', [
// Add menus of module/extension at appropriate menu
add_menus: function(menus) {
var self = this,
let self = this,
pgMenu = this.menus,
MenuItem = pgAdmin.Browser.MenuItem;
_.each(menus, function(m) {
@ -676,7 +676,7 @@ define('pgadmin.browser', [
if ($.inArray(a, [
'context', 'file', 'edit', 'object',
'management', 'tools', 'help']) >= 0) {
var _menus;
let _menus;
// If current node is not visible in browser tree
// then return from here
@ -737,8 +737,8 @@ define('pgadmin.browser', [
create_menus: function() {
/* Create menus */
var navbar = $('#navbar-menu > ul').first();
var obj = this;
let navbar = $('#navbar-menu > ul').first();
let obj = this;
_.each([
{menu: 'file', id: '#mnu_file'},
@ -746,7 +746,7 @@ define('pgadmin.browser', [
{menu: 'tools', id: '#mnu_tools'},
{menu: 'help', id:'#mnu_help'}],
function(o) {
var $mnu = navbar.children(o.id).first(),
let $mnu = navbar.children(o.id).first(),
$dropdown = $mnu.children('.dropdown-menu').first();
$dropdown.empty();
if(o.menu == 'help'){
@ -768,9 +768,9 @@ define('pgadmin.browser', [
showHelp: function(type, url, node, item) {
if (type == 'object_help') {
// Construct the URL
var server = pgBrowser.tree.getTreeNodeHierarchy(item).server;
var baseUrl = pgBrowser.utils.pg_help_path;
var fullUrl = help.getHelpUrl(baseUrl, url, server.version);
let server = pgBrowser.tree.getTreeNodeHierarchy(item).server;
let baseUrl = pgBrowser.utils.pg_help_path;
let fullUrl = help.getHelpUrl(baseUrl, url, server.version);
window.open(fullUrl, 'postgres_help');
} else if(type == 'dialog_help') {
@ -784,9 +784,9 @@ define('pgadmin.browser', [
$('#live-search-field').focus();
},
_findTreeChildNode: function(_i, _d, _o) {
var loaded = _o.t.wasLoad(_i),
let loaded = _o.t.wasLoad(_i),
onLoad = function() {
var items = _o.t.children(_i),
let items = _o.t.children(_i),
i, d, n, idx = 0, size = items.length;
for (; idx < size; idx++) {
i = items[idx];
@ -830,7 +830,7 @@ define('pgadmin.browser', [
onLoad();
},
() => {
var fail = _o && _o.o && _o.o.fail;
let fail = _o && _o.o && _o.o.fail;
if (fail && typeof(fail) == 'function') {
fail.apply(_o.t, []);
}
@ -845,7 +845,7 @@ define('pgadmin.browser', [
},
onAddTreeNode: function(_data, _hierarchy, _opts) {
var ctx = {
let ctx = {
b: this, // Browser
d: null, // current parent
hasId: true,
@ -863,7 +863,7 @@ define('pgadmin.browser', [
o: _opts,
},
traversePath = function() {
var _ctx = this, data;
let _ctx = this, data;
_ctx.success = traversePath;
if (_ctx.p.length) {
@ -888,11 +888,11 @@ define('pgadmin.browser', [
addItemNode = function() {
// Append the new data in the tree under the current item.
// We may need to pass it to proper collection node.
var _ctx = this,
let _ctx = this,
first = (_ctx.i || this.t.wasLoad(_ctx.i)) &&
this.t.first(_ctx.i),
findChildNode = function(success, notFound) {
var __ctx = this;
let __ctx = this;
__ctx.success = success;
__ctx.notFound = notFound;
@ -908,13 +908,13 @@ define('pgadmin.browser', [
}
}.bind(_ctx),
addNode = function() {
var __ctx = this,
let __ctx = this,
items = __ctx.t.children(__ctx.i),
s = 0, e = items.length - 1, i,
linearSearch = function() {
while (e >= s) {
i = items[s];
var d = __ctx.t.itemData(i);
let d = __ctx.t.itemData(i);
if (d._type === 'column') {
if (pgAdmin.numeric_comparator(d._id, _data._id) == 1)
return true;
@ -933,7 +933,7 @@ define('pgadmin.browser', [
return false;
},
binarySearch = function() {
var d, m;
let d, m;
// Binary search only outperforms Linear search for n > 44.
// Reference:
// https://en.wikipedia.org/wiki/Binary_search_algorithm#cite_note-30
@ -1007,8 +1007,8 @@ define('pgadmin.browser', [
}
});
} else {
var _append = function() {
var ___ctx = this,
let _append = function() {
let ___ctx = this,
_parent_data = ___ctx.t.itemData(___ctx.i);
___ctx.t.append(___ctx.i, _data).then(
@ -1073,7 +1073,7 @@ define('pgadmin.browser', [
findChildNode(
selectNode,
function() {
var o = this && this.o;
let o = this && this.o;
if (
o && o.fail && typeof(o.fail) == 'function'
) {
@ -1083,7 +1083,7 @@ define('pgadmin.browser', [
);
},
() => {
var o = this && this.o;
let o = this && this.o;
if (
o && o.fail && typeof(o.fail) == 'function'
) {
@ -1108,7 +1108,7 @@ define('pgadmin.browser', [
},
onUpdateTreeNode: function(_old, _new, _hierarchy, _opts) {
var ctx = {
let ctx = {
b: this, // Browser
d: null, // current parent
i: null, // current item
@ -1130,18 +1130,18 @@ define('pgadmin.browser', [
op: null,
},
errorOut = function() {
var fail = this.o && this.o.fail;
let fail = this.o && this.o.fail;
if (fail && typeof(fail) == 'function') {
fail.apply(this.t, [this.i, _new, _old]);
}
}.bind(ctx),
deleteNode = function() {
var self = this,
let self = this,
pathOfTreeItems = this.pathOfTreeItems,
findParent = function() {
if (pathOfTreeItems.length) {
pathOfTreeItems.pop();
var length = pathOfTreeItems.length;
let length = pathOfTreeItems.length;
this.i = (length && pathOfTreeItems[length - 1].item) || null;
this.d = (length && pathOfTreeItems[length - 1].d) || null;
@ -1158,7 +1158,7 @@ define('pgadmin.browser', [
}
}.bind(this);
var _item_parent = (this.i
let _item_parent = (this.i
&& this.t.hasParent(this.i)
&& this.t.parent(this.i)) || null,
_item_grand_parent = _item_parent ?
@ -1172,7 +1172,7 @@ define('pgadmin.browser', [
this.i && this.d && this.old._id == this.d._id &&
this.old._type == this.d._type
) {
var _parent = this.t.parent(this.i) || null;
let _parent = this.t.parent(this.i) || null;
// If there is no parent then just update the node
if(this.t.isRootNode(_parent) ||
@ -1181,7 +1181,7 @@ define('pgadmin.browser', [
if(this.t.children().length === 1) {
updateNode();
} else {
var that = this;
let that = this;
this.t.remove(this.i).then(() => {
that.t.before(that.i, that.new).then((new_item) => {
that.t.select(new_item);
@ -1191,15 +1191,15 @@ define('pgadmin.browser', [
});
}
} else {
var postRemove = function() {
let postRemove = function() {
// If item has parent but no grand parent
if (_item_parent.path !== '/browser' && !_item_grand_parent) {
var parent = null;
let parent = null;
// We need to search in all parent siblings (eg: server groups)
var parents = this.t.siblings(this.i) || [];
let parents = this.t.siblings(this.i) || [];
parents.push(this.i);
_.each(parents, function (p) {
var d = self.t.itemData(p);
let d = self.t.itemData(p);
// If new server group found then assign it parent
if(d._id == self.new._pid) {
parent = p;
@ -1217,7 +1217,7 @@ define('pgadmin.browser', [
// it right now.
this.notFound = errorOut;
var loaded = this.t.wasLoad(parent),
let loaded = this.t.wasLoad(parent),
onLoad = function() {
self.i = parent;
self.pathOfTreeItems.push({coll: false, item: parent, d: self.d});
@ -1230,7 +1230,7 @@ define('pgadmin.browser', [
onLoad();
},
() => {
var fail = self && self.o && self.o.fail;
let fail = self && self.o && self.o.fail;
if (
fail && typeof(fail) == 'function'
) {
@ -1244,7 +1244,7 @@ define('pgadmin.browser', [
}
} else {
// This is for rest of the nodes
var _parentData = this.d;
let _parentData = this.d;
// Find the grand-parent, or the collection node of parent.
findParent();
@ -1286,12 +1286,12 @@ define('pgadmin.browser', [
}.bind(ctx),
findNewParent = function(_d) {
var findParent = function() {
var pathOfTreeItems = this.pathOfTreeItems;
let findParent = function() {
let pathOfTreeItems = this.pathOfTreeItems;
if (pathOfTreeItems.length) {
pathOfTreeItems.pop();
var length = pathOfTreeItems.length;
let length = pathOfTreeItems.length;
this.i = (length && pathOfTreeItems[length - 1].item) || null;
this.d = (length && pathOfTreeItems[length - 1].d) || null;
@ -1338,11 +1338,11 @@ define('pgadmin.browser', [
if (
this.i && this.d && this.new._type == this.d._type
) {
var self = this,
let self = this,
_id = this.d._id;
if (this.new._id != this.d._id) {
// Found the new oid, update its node_id
var node_data = this.t.itemData(ctx.i);
let node_data = this.t.itemData(ctx.i);
node_data._id = _id = this.new._id;
}
if (this.new._id == _id) {
@ -1365,13 +1365,13 @@ define('pgadmin.browser', [
}, 10);
}
}
var success = this.o && this.o.success;
let success = this.o && this.o.success;
if (success && typeof(success) == 'function') {
success.apply(this.t, [this.i, _old, _new]);
}
}.bind(ctx),
traversePath = function() {
var _ctx = this, data;
let _ctx = this, data;
_ctx.success = traversePath;
if (_ctx.p.length) {
@ -1398,11 +1398,11 @@ define('pgadmin.browser', [
return true;
}.bind(ctx),
addItemNode = function() {
var _ctx = this,
let _ctx = this,
first = (_ctx.i || this.t.wasLoad(_ctx.i)) &&
this.t.first(_ctx.i),
findChildNode = function(success, notFound) {
var __ctx = this;
let __ctx = this;
__ctx.success = success;
__ctx.notFound = notFound;
@ -1418,13 +1418,13 @@ define('pgadmin.browser', [
}
}.bind(_ctx),
addNode = function() {
var __ctx = this,
let __ctx = this,
items = __ctx.t.children(__ctx.i),
s = 0, e = items.length - 1, i,
linearSearch = function() {
while (e >= s) {
i = items[s];
var d = __ctx.t.itemData(i);
let d = __ctx.t.itemData(i);
if (d._type === 'column') {
if (pgAdmin.numeric_comparator(d._id, _new._id) == 1)
return true;
@ -1444,7 +1444,7 @@ define('pgadmin.browser', [
binarySearch = function() {
while (e - s > 22) {
i = items[s];
var d = __ctx.t.itemData(i);
let d = __ctx.t.itemData(i);
if (d._type === 'column') {
if (pgAdmin.numeric_comparator(d._id, _new._id) != -1)
return true;
@ -1468,7 +1468,7 @@ define('pgadmin.browser', [
i = null;
return false;
}
var m = s + Math.round((e - s) / 2);
let m = s + Math.round((e - s) / 2);
i = items[m];
d = __ctx.t.itemData(i);
if(d._type === 'column'){
@ -1510,7 +1510,7 @@ define('pgadmin.browser', [
}
});
} else {
var _appendNode = function() {
let _appendNode = function() {
__ctx.t.append(__ctx.i, _new).then(
(new_item) => {
__ctx.t.openPath(new_item);
@ -1550,7 +1550,7 @@ define('pgadmin.browser', [
findChildNode(
selectNode,
function() {
var o = this && this.o;
let o = this && this.o;
if (
o && o.fail && typeof(o.fail) == 'function'
) {
@ -1560,7 +1560,7 @@ define('pgadmin.browser', [
);
},
() => {
var o = this && this.o;
let o = this && this.o;
if (
o && o.fail && typeof(o.fail) == 'function'
) {
@ -1616,7 +1616,7 @@ define('pgadmin.browser', [
},
onRefreshTreeNode: function(_i, _opts) {
var _d = _i && this.tree.itemData(_i),
let _d = _i && this.tree.itemData(_i),
n = _d && _d._type && this.Nodes[_d._type],
ctx = {
b: this, // Browser
@ -1659,7 +1659,7 @@ define('pgadmin.browser', [
ctx.b._refreshNode(ctx, ctx.branch);
},
error: function() {
var fail = (_opts.o && _opts.o.fail) || _opts.fail;
let fail = (_opts.o && _opts.o.fail) || _opts.fail;
if (typeof(fail) == 'function') {
fail();
@ -1668,8 +1668,8 @@ define('pgadmin.browser', [
});
return;
}
var fetchNodeInfo = function(__i, __d, __n) {
var info = __n.getTreeNodeHierarchy(__i),
let fetchNodeInfo = function(__i, __d, __n) {
let info = __n.getTreeNodeHierarchy(__i),
url = __n.generate_url(__i, 'nodes', __d, true);
$.ajax({
@ -1680,7 +1680,7 @@ define('pgadmin.browser', [
})
.done(function(res) {
// Node information can come as result/data
var newData = res.result || res.data;
let newData = res.result || res.data;
newData._label = newData.label;
newData.label = _.escape(newData.label);
@ -1692,7 +1692,7 @@ define('pgadmin.browser', [
ctx.t.setInode(ctx.i, {inode: true});
// This will update the tree item data.
var itemData = ctx.t.itemData(ctx.i);
let itemData = ctx.t.itemData(ctx.i);
_.extend(itemData, newData);
if (
@ -1704,7 +1704,7 @@ define('pgadmin.browser', [
}
}
ctx.b._refreshNode(ctx, ctx.branch);
var success = (ctx.o && ctx.o.success) || ctx.success;
let success = (ctx.o && ctx.o.success) || ctx.success;
if (success && typeof(success) == 'function') {
success();
}
@ -1713,7 +1713,7 @@ define('pgadmin.browser', [
if (!pgHandleItemError(
xhr, {item: __i, info: info}
)) {
var contentType = xhr.getResponseHeader('Content-Type'),
let contentType = xhr.getResponseHeader('Content-Type'),
jsonResp = (
contentType &&
contentType.indexOf('application/json') == 0 &&
@ -1721,7 +1721,7 @@ define('pgadmin.browser', [
) || {};
if (xhr.status == 410 && jsonResp.success == 0) {
var parent = ctx.t.parent(ctx.i);
let parent = ctx.t.parent(ctx.i);
ctx.t.remove(ctx.i, {
success: function() {
@ -1749,7 +1749,7 @@ define('pgadmin.browser', [
}.bind(this);
if (n && n.collection_node) {
var p = ctx.i = this.tree.parent(_i),
let p = ctx.i = this.tree.parent(_i),
unloadNode = function() {
this.tree.unload(_i, {
success: function() {
@ -1802,11 +1802,10 @@ define('pgadmin.browser', [
},
removeChildTreeNodesById: function(_parentNode, _collType, _childIds) {
var tree_local = pgBrowser.tree;
let tree_local = pgBrowser.tree, childNode, childNodeData;
if(_parentNode && _collType) {
var children = tree_local.children(_parentNode),
idx = 0, size = children.length,
childNode, childNodeData;
let children = tree_local.children(_parentNode),
idx = 0, size = children.length;
_parentNode = null;
@ -1822,9 +1821,8 @@ define('pgadmin.browser', [
}
if (_parentNode) {
children = tree_local.children(_parentNode);
idx = 0;
size = children.length;
let children = tree_local.children(_parentNode),
idx = 0, size = children.length;
for (; idx < size; idx++) {
childNode = children[idx];
@ -1840,7 +1838,7 @@ define('pgadmin.browser', [
},
removeTreeNode: function(_node, _selectNext, _parentNode) {
var tree_local = pgBrowser.tree,
let tree_local = pgBrowser.tree,
nodeToSelect = null;
if (!_node)
@ -1868,7 +1866,7 @@ define('pgadmin.browser', [
},
findSiblingTreeNode: function(_node, _id) {
var tree_local = pgBrowser.tree,
let tree_local = pgBrowser.tree,
parentNode = tree_local.parent(_node),
siblings = tree_local.children(parentNode),
idx = 0, nodeData, node;
@ -1884,7 +1882,7 @@ define('pgadmin.browser', [
},
findParentTreeNodeByType: function(_node, _parentType) {
var tree_local = pgBrowser.tree,
let tree_local = pgBrowser.tree,
nodeData,
node = _node;
@ -1899,7 +1897,7 @@ define('pgadmin.browser', [
},
findChildCollectionTreeNode: function(_node, _collType) {
var tree_local = pgBrowser.tree,
let tree_local = pgBrowser.tree,
nodeData, idx = 0,
node,
children = _node && tree_local.children(_node);
@ -1918,7 +1916,7 @@ define('pgadmin.browser', [
},
addChildTreeNodes: function(_treeHierarchy, _node, _type, _arrayIds, _callback) {
var module = _type in pgBrowser.Nodes && pgBrowser.Nodes[_type],
let module = _type in pgBrowser.Nodes && pgBrowser.Nodes[_type],
childTreeInfo = _arrayIds.length && _.extend(
{}, _.mapObject(_treeHierarchy, function(_val) {
_val.priority -= 1; return _val;
@ -1932,7 +1930,7 @@ define('pgadmin.browser', [
return;
}
var childDummyInfo = {
let childDummyInfo = {
'_id': _arrayIds.pop(), '_type': _type, 'priority': 0,
},
childNodeUrl;
@ -1989,8 +1987,8 @@ define('pgadmin.browser', [
},
_refreshNode: function(_ctx, _d) {
var traverseNodes = function(__d) {
var __ctx = this, idx = 0, ctx, d,
let traverseNodes = function(__d) {
let __ctx = this, idx = 0, ctx, d,
size = (__d.branch && __d.branch.length) || 0,
findNode = function(i_findNode, d_findNode, ctx_findNode) {
setTimeout(
@ -2002,7 +2000,7 @@ define('pgadmin.browser', [
for (; idx < size; idx++) {
d = __d.branch[idx];
var n = __ctx.b.Nodes[d._type];
let n = __ctx.b.Nodes[d._type];
ctx = {
b: __ctx.b,
t: __ctx.t,
@ -2063,7 +2061,7 @@ define('pgadmin.browser', [
// This function will return the name and version of the browser.
get_browser: function() {
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]||'')};

View File

@ -24,7 +24,7 @@ define('pgadmin.browser.node', [
commonUtils
) {
var wcDocker = window.wcDocker,
let wcDocker = window.wcDocker,
keyCode = {
ENTER: 13,
ESCAPE: 27,
@ -48,8 +48,8 @@ define('pgadmin.browser.node', [
// It is unlikely - we will instantiate an object for this class.
// (Inspired by Backbone.extend function)
pgBrowser.Node.extend = function(props, initialize) {
var parent = this;
var child;
let parent = this;
let child;
// The constructor function for the new subclass is defined to simply call
// the parent's constructor.
@ -67,7 +67,7 @@ define('pgadmin.browser.node', [
if (!(initialize??true))
return child;
var bindToChild = function(cb) {
let bindToChild = function(cb) {
if (typeof(child.callbacks[cb]) == 'function') {
child.callbacks[cb] = child.callbacks[cb].bind(child);
}
@ -107,7 +107,7 @@ define('pgadmin.browser.node', [
//
// NOTE: Override this for each node for initialization purpose
Init: function() {
var self = this;
let self = this;
if (self.node_initialized)
return;
self.node_initialized = true;
@ -231,7 +231,7 @@ define('pgadmin.browser.node', [
// For each script type create menu
_.each(self.hasScriptTypes, function(stype) {
var type_label = gettext('%s Script',stype.toUpperCase());
let type_label = gettext('%s Script',stype.toUpperCase());
stype = stype.toLowerCase();
@ -271,7 +271,7 @@ define('pgadmin.browser.node', [
if (itemData._type == 'database' && !itemData.allowConn)
return false;
var parentData = pgBrowser.tree.getTreeNodeHierarchy(item);
let parentData = pgBrowser.tree.getTreeNodeHierarchy(item);
if (_.indexOf(['create', 'insert', 'update', 'delete'], data.script) != -1) {
if (itemData.type == 'role' &&
parentData.server.user.can_create_role) {
@ -300,7 +300,7 @@ define('pgadmin.browser.node', [
// Used to generate view for the particular node properties, edit,
// creation.
getView: function(item, type, el, node, formType, callback, ctx, cancelFunc) {
var that = this;
let that = this;
if (!this.type || this.type == '')
// We have no information, how to generate view for this type.
@ -309,14 +309,14 @@ define('pgadmin.browser.node', [
if (this.model) {
// This will be the URL, used for object manipulation.
// i.e. Create, Update in these cases
var urlBase = this.generate_url(item, type, node, false, null, that.url_jump_after_node);
let urlBase = this.generate_url(item, type, node, false, null, that.url_jump_after_node);
if (!urlBase)
// Ashamed of myself, I don't know how to manipulate this
// node.
return null;
var attrs = {};
let attrs = {};
// In order to get the object data from the server, we must set
// object-id in the model (except in the create mode).
@ -326,7 +326,7 @@ define('pgadmin.browser.node', [
}
// We know - which data model to be used for this object.
var info = pgBrowser.tree.getTreeNodeHierarchy(item),
let info = pgBrowser.tree.getTreeNodeHierarchy(item),
newModel = new(this.model.extend({
urlRoot: urlBase,
}))(
@ -350,8 +350,8 @@ define('pgadmin.browser.node', [
};
}
var onSessionInvalid = function(msg) {
var alertMessage = `
let onSessionInvalid = function(msg) {
let alertMessage = `
<div class="error-in-footer">
<div class="d-flex px-2 py-1">
<div class="pr-2">
@ -371,7 +371,7 @@ define('pgadmin.browser.node', [
}.bind(that.statusBar));
}
var sessHasChanged = false;
let sessHasChanged = false;
if(this.sessChanged && this.sessChanged()){
sessHasChanged = true;
}
@ -380,7 +380,7 @@ define('pgadmin.browser.node', [
return true;
};
var onSessionValidated = function(sessHasChanged) {
let onSessionValidated = function(sessHasChanged) {
if (!_.isUndefined(that.statusBar)) {
that.statusBar.empty().css('visibility', 'hidden');
@ -394,10 +394,11 @@ define('pgadmin.browser.node', [
newModel.on('pgadmin-session:valid', onSessionValidated);
newModel.on('pgadmin-session:invalid', onSessionInvalid);
}
let view;
// 'schema' has the information about how to generate the form.
if (_.size(fields)) {
// This will contain the actual view
var view;
if (formType == 'fieldset') {
// It is used to show, edit, create the object in the
@ -417,17 +418,17 @@ define('pgadmin.browser.node', [
});
}
var setFocusOnEl = function() {
var container = $(el).find('.tab-content:first > .tab-pane.active:first');
let setFocusOnEl = function() {
let container = $(el).find('.tab-content:first > .tab-pane.active:first');
commonUtils.findAndSetFocus(container);
};
if (!newModel.isNew()) {
// This is definetely not in create mode
var msgDiv = '<div role="status" class="pg-panel-message pg-panel-properties-message">' +
let msgDiv = '<div role="status" class="pg-panel-message pg-panel-properties-message">' +
gettext('Retrieving data from the server...') + '</div>',
$msgDiv = $(msgDiv);
var timer = setTimeout(function(_ctx) {
let timer = setTimeout(function(_ctx) {
// notify user if request is taking longer than 1 second
if (!_.isUndefined(_ctx)) {
@ -436,7 +437,7 @@ define('pgadmin.browser.node', [
}, 1000, ctx);
var fetchAjaxHook = function() {
let fetchAjaxHook = function() {
newModel.fetch({
success: function() {
// Clear timeout and remove message
@ -450,7 +451,7 @@ define('pgadmin.browser.node', [
newModel.startNewSession();
},
error: function(model, xhr, options) {
var _label = that && item ?
let _label = that && item ?
pgBrowser.tree.getTreeNodeHierarchy(
item
)[that.type].label : '';
@ -498,13 +499,13 @@ define('pgadmin.browser.node', [
return null;
},
addUtilityPanel: function(width, height, docker) {
var body = window.document.body,
let body = window.document.body,
el = document.createElement('div'),
dockerObject = docker || pgBrowser.docker;
body.insertBefore(el, body.firstChild);
var new_width = screen.width < 700 ? screen.width * 0.95 : screen.width * 0.5,
let new_width = screen.width < 700 ? screen.width * 0.95 : screen.width * 0.5,
new_height = screen.height < 500 ? screen.height * 0.95 : screen.height * 0.4;
if (!_.isUndefined(width) && !_.isNull(width)) {
new_width = width;
@ -516,7 +517,7 @@ define('pgadmin.browser.node', [
let x = (body.offsetWidth - new_width) / 2;
let y = (body.offsetHeight - new_height) / 4;
var new_panel = dockerObject.addPanel(
let new_panel = dockerObject.addPanel(
'utility_props', window.wcDocker.DOCK.FLOAT, undefined, {
w: new_width,
h: new_height,
@ -537,7 +538,7 @@ define('pgadmin.browser.node', [
},
onEventResizeEnded: function() {
var $container = this.$container.find('.obj_properties').first(),
let $container = this.$container.find('.obj_properties').first(),
v = $container.data('obj-view');
if (v && v.model && v.model) {
@ -551,7 +552,7 @@ define('pgadmin.browser.node', [
}
},
registerDockerPanel: function(docker, name, params) {
var w = docker || pgBrowser.docker,
let w = docker || pgBrowser.docker,
p = w.findPanels(name);
if (p && p.length == 1)
@ -570,13 +571,13 @@ define('pgadmin.browser.node', [
p.load(w);
},
registerUtilityPanel: function(docker) {
var w = docker || pgBrowser.docker,
let w = docker || pgBrowser.docker,
p = w.findPanels('utility_props');
if (p && p.length == 1)
return;
var events = {};
let events = {};
events[wcDocker.EVENT.RESIZE_ENDED] = this.onEventResizeEnded;
p = new pgBrowser.Panel({
@ -596,13 +597,13 @@ define('pgadmin.browser.node', [
p.load(w);
},
register_node_panel: function() {
var w = pgBrowser.docker,
let w = pgBrowser.docker,
p = w.findPanels('node_props');
if (p && p.length == 1)
return;
var events = {};
let events = {};
events[wcDocker.EVENT.RESIZE_ENDED] = this.onEventResizeEnded;
p = new pgBrowser.Panel({
@ -677,11 +678,12 @@ define('pgadmin.browser.node', [
*
**/
show_obj_properties: function(args, item) {
var t = pgBrowser.tree,
let t = pgBrowser.tree,
i = (args && args.item) || item || t.selected(),
d = i ? t.itemData(i) : undefined,
o = this,
l = o.title.apply(this, [d]);
l = o.title.apply(this, [d]),
p;
// Make sure - the properties dialog type registered
pgBrowser.Node.register_node_panel();
@ -690,7 +692,7 @@ define('pgadmin.browser.node', [
if (!d)
return;
var self = this,
let self = this,
isParent = (_.isArray(this.parent_type) ?
function(_d) {
return (_.indexOf(self.parent_type, _d._type) != -1);
@ -698,7 +700,7 @@ define('pgadmin.browser.node', [
return (self.parent_type == _d._type);
}),
addPanel = function() {
var body = window.document.body,
let body = window.document.body,
el = document.createElement('div');
body.insertBefore(el, body.firstChild);
@ -759,7 +761,7 @@ define('pgadmin.browser.node', [
h = window.innerHeight;
}
var new_panel = pgBrowser.docker.addPanel(
let new_panel = pgBrowser.docker.addPanel(
'node_props', wcDocker.DOCK.FLOAT, undefined, {
w: w + 'px',
h: h + 'px',
@ -791,7 +793,7 @@ define('pgadmin.browser.node', [
// And, actual parent of a table is schema, not Tables.
while (i && t.hasParent(i)) {
i = t.parent(i);
var pd = t.itemData(i);
let pd = t.itemData(i);
if (isParent(pd)) {
// Assign the data, this is my actual parent.
@ -824,14 +826,14 @@ define('pgadmin.browser.node', [
} else {
if (pgBrowser.Node.panels && pgBrowser.Node.panels[d.id] &&
pgBrowser.Node.panels[d.id].$container) {
var p = pgBrowser.Node.panels[d.id];
p = pgBrowser.Node.panels[d.id];
/** TODO ::
* Run in edit mode (if asked) only when it is
* not already been running edit mode
**/
var mode = p.$container.attr('action-mode');
let mode = p.$container.attr('action-mode');
if (mode) {
var msg = gettext('Are you sure want to stop editing the properties of %s "%s"?');
let msg = gettext('Are you sure want to stop editing the properties of %s "%s"?');
if (args.action == 'edit') {
msg = gettext('Are you sure want to reset the current changes and re-open the panel for %s "%s"?');
}
@ -868,7 +870,7 @@ define('pgadmin.browser.node', [
},
// Delete the selected object
delete_obj: function(args, item) {
var input = args || {
let input = args || {
'url': 'drop',
},
obj = this,
@ -883,9 +885,9 @@ define('pgadmin.browser.node', [
* Make sure - we're using the correct version of node
*/
obj = pgBrowser.Nodes[d._type];
var objName = _.unescape(d.label);
let objName = _.unescape(d.label);
var msg, title;
let msg, title;
if (input.url == 'delete') {
@ -934,9 +936,9 @@ define('pgadmin.browser.node', [
pgBrowser.report_error(res.errormsg, res.info);
} else {
// Remove the node from tree and set collection node as selected.
var selectNextNode = true;
let selectNextNode = true;
if(obj.selectParentNodeOnDelete) {
var prv_i = t.parent(i);
let prv_i = t.parent(i);
setTimeout(function() {
t.select(prv_i);
}, 10);
@ -947,11 +949,11 @@ define('pgadmin.browser.node', [
return true;
})
.fail(function(jqx) {
var errmsg = jqx.responseText;
let errmsg = 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);
errmsg = data.info || data.errormsg;
} catch (e) {
console.warn(e.stack || e);
@ -965,7 +967,7 @@ define('pgadmin.browser.node', [
},
// Callback for creating script(s) & opening them in Query editor
show_script: function(args, item) {
var scriptType = args.script,
let scriptType = args.script,
obj,
t = pgBrowser.tree,
i = item || t.selected(),
@ -978,7 +980,7 @@ define('pgadmin.browser.node', [
* Make sure - we're using the correct version of node
*/
obj = pgBrowser.Nodes[d._type];
var sql_url;
let sql_url;
// URL for script type
if (scriptType == 'insert') {
@ -1004,8 +1006,8 @@ define('pgadmin.browser.node', [
// Callback to render query editor
show_query_tool: function(args, item) {
var preference = pgBrowser.get_preference('sqleditor', 'copy_sql_to_query_tool');
var t = pgBrowser.tree,
let preference = pgBrowser.get_preference('sqleditor', 'copy_sql_to_query_tool');
let t = pgBrowser.tree,
i = item || t.selected(),
d = i ? t.itemData(i) : undefined;
@ -1015,8 +1017,8 @@ define('pgadmin.browser.node', [
// Here call data grid method to render query tool
//Open query tool with create script if copy_sql_to_query_tool is true else open blank query tool
if(preference.value && !d._type.includes('coll-')){
var stype = d._type.toLowerCase();
var data = {
let stype = d._type.toLowerCase();
let data = {
'script': stype,
data_disabled: gettext('The selected tree node does not support this option.'),
};
@ -1028,7 +1030,7 @@ define('pgadmin.browser.node', [
// Callback to render psql tool.
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;
@ -1051,11 +1053,11 @@ define('pgadmin.browser.node', [
// Go further only if node type is a Server
if (index !== -1) {
// First element will be icon and second will be colour code
var bgcolor = serverData.icon.split(' ')[1] || null,
let bgcolor = serverData.icon.split(' ')[1] || null,
fgcolor = serverData.icon.split(' ')[2] || '';
if (bgcolor) {
var dynamic_class = 'pga_server_' + serverData._id + '_bgcolor',
let dynamic_class = 'pga_server_' + serverData._id + '_bgcolor',
style_tag;
// Prepare dynamic style tag
@ -1097,7 +1099,7 @@ define('pgadmin.browser.node', [
// + Dependents
// + Dependencies
// + Statistics
var b = browser || pgBrowser,
let b = browser || pgBrowser,
t = b.tree,
d = data || t.itemData(item);
@ -1118,13 +1120,13 @@ define('pgadmin.browser.node', [
return true;
},
removed: function(item) {
var self = this;
let self = this;
setTimeout(function() {
self.clear_cache.apply(self, item);
}, 0);
},
refresh: function(cmd, _item) {
var self = this,
let self = this,
t = pgBrowser.tree,
data = _item && t.itemData(_item);
@ -1176,7 +1178,7 @@ define('pgadmin.browser.node', [
* This has also been used for creating a node.
**/
showProperties: function(item, data, panel, action) {
var that = this,
let that = this,
tree = pgAdmin.Browser.tree,
j = panel.$container.find('.obj_properties').first(),
view = j.data('obj-view'),
@ -1185,7 +1187,7 @@ define('pgadmin.browser.node', [
confirm_close = true;
// Handle key press events for Cancel, save and help button
var handleKeyDown = function(event, context) {
let handleKeyDown = function(event, context) {
// If called on panel other than node_props, return
if (panel && panel['_type'] !== 'node_props') return;
@ -1197,7 +1199,7 @@ define('pgadmin.browser.node', [
// Return if event is fired from child element
if (event.target !== context) return;
if (view && view.model && view.model.sessChanged()) {
var btn = $(event.target).closest('.obj_properties')
let btn = $(event.target).closest('.obj_properties')
.find('.pg-prop-btn-group')
.find('button.btn-primary');
onSave.call(this, view, btn);
@ -1219,8 +1221,8 @@ define('pgadmin.browser.node', [
}, 200); // wait for panel tab to render
// Template function to create the status bar
var createStatusBar = function(location) {
var statusBar = $('<div role="status"></div>').addClass(
let createStatusBar = function(location) {
let statusBar = $('<div role="status"></div>').addClass(
'pg-prop-status-bar'
).appendTo(j);
statusBar.css('visibility', 'hidden');
@ -1240,7 +1242,7 @@ define('pgadmin.browser.node', [
if (buttons && _.isArray(buttons) && buttons.length > 0) {
// All buttons will be created within a single
// div area.
var btnGroup =
let btnGroup =
$('<div class="pg-prop-btn-group"></div>'),
// Template used for creating a button
tmpl = _.template([
@ -1266,7 +1268,7 @@ define('pgadmin.browser.node', [
if (!btn.icon) {
btn.icon = '';
}
var b = $(tmpl(btn));
let b = $(tmpl(btn));
btnGroup.append(b);
// Register is a callback to set callback
// for certain operation for this button.
@ -1280,7 +1282,7 @@ define('pgadmin.browser.node', [
properties = function() {
// Avoid unnecessary reloads
var i = tree.selected(),
let i = tree.selected(),
d = i && tree.itemData(i),
treeHierarchy = tree.getTreeNodeHierarchy(i);
@ -1332,7 +1334,7 @@ define('pgadmin.browser.node', [
// Create proper buttons
var buttons = [];
let buttons = [];
buttons.push({
label: gettext('Edit'),
@ -1367,10 +1369,10 @@ define('pgadmin.browser.node', [
}.bind(panel),
onSqlHelp = function() {
// Construct the URL
var server = pgBrowser.tree.getTreeNodeHierarchy(item).server;
let server = pgBrowser.tree.getTreeNodeHierarchy(item).server;
var url = pgBrowser.utils.pg_help_path;
var fullUrl = '';
let url = pgBrowser.utils.pg_help_path;
let fullUrl = '';
if (server.server_type == 'ppas' && that.epasHelp) {
fullUrl = help.getEPASHelpUrl(server.version);
@ -1396,7 +1398,7 @@ define('pgadmin.browser.node', [
}.bind(panel),
warnBeforeChangesLost = function(warn_text, yes_callback) {
var $props = this.$container.find('.obj_properties').first(),
let $props = this.$container.find('.obj_properties').first(),
objview = $props && $props.data('obj-view'),
self = this;
@ -1426,7 +1428,7 @@ define('pgadmin.browser.node', [
}.bind(panel),
warnBeforeAttributeChange = function(yes_callback) {
var $props = this.$container.find('.obj_properties').first(),
let $props = this.$container.find('.obj_properties').first(),
objview = $props && $props.data('obj-view'),
self = this;
@ -1457,7 +1459,7 @@ define('pgadmin.browser.node', [
}.bind(panel),
informBeforeAttributeChange = function(ok_callback) {
var $props = this.$container.find('.obj_properties').first(),
let $props = this.$container.find('.obj_properties').first(),
objview = $props && $props.data('obj-view');
if (objview && objview.model && !_.isUndefined(objview.model.inform_text) && !_.isNull(objview.model.inform_text)) {
@ -1472,7 +1474,7 @@ define('pgadmin.browser.node', [
}.bind(panel),
onSave = function(_view, saveBtn) {
var m = _view.model,
let m = _view.model,
d = m.toJSON(true),
// Generate a timer for the request
timer = setTimeout(function() {
@ -1497,7 +1499,7 @@ define('pgadmin.browser.node', [
// Removing the node-prop property of panel
// so that we show updated data on panel
var pnlProperties = pgBrowser.docker.findPanels('properties')[0],
let pnlProperties = pgBrowser.docker.findPanels('properties')[0],
pnlSql = pgBrowser.docker.findPanels('sql')[0],
pnlStats = pgBrowser.docker.findPanels('statistics')[0],
pnlDependencies = pgBrowser.docker.findPanels('dependencies')[0],
@ -1531,7 +1533,7 @@ define('pgadmin.browser.node', [
}.bind(panel),
editFunc = function() {
var self = this;
let self = this;
if (action && action == 'properties') {
action = 'edit';
}
@ -1554,7 +1556,7 @@ define('pgadmin.browser.node', [
onSaveFunc(nodeData.node, treeNodeInfo);
// Removing the node-prop property of panel
// so that we show updated data on panel
var pnlProperties = pgBrowser.docker.findPanels('properties')[0],
let pnlProperties = pgBrowser.docker.findPanels('properties')[0],
pnlSql = pgBrowser.docker.findPanels('sql')[0],
pnlStats = pgBrowser.docker.findPanels('statistics')[0],
pnlDependencies = pgBrowser.docker.findPanels('dependencies')[0],
@ -1606,9 +1608,9 @@ define('pgadmin.browser.node', [
'pg-prop-footer'
).appendTo(j);
var updateButtons = function(hasError, modified) {
let updateButtons = function(hasError, modified) {
var btnGroup = this.find('.pg-prop-btn-group'),
let btnGroup = this.find('.pg-prop-btn-group'),
btnSave = btnGroup.find('button.btn-primary'),
btnReset = btnGroup.find('button.btn-secondary[type="reset"]');
@ -1777,7 +1779,7 @@ define('pgadmin.browser.node', [
this.close();
}.bind(panel),
updateTreeItem = function(obj, tnode, node_info) {
var _old = data,
let _old = data,
_new = tnode || _.clone(view.model.tnode),
info = node_info || _.clone(view.model.node_info);
@ -1804,7 +1806,7 @@ define('pgadmin.browser.node', [
closePanel(false);
},
saveNewNode = function(obj, tnode, node_info) {
var $props = this.$container.find('.obj_properties').first(),
let $props = this.$container.find('.obj_properties').first(),
objview = $props.data('obj-view');
// Clear the cache for this node now.
@ -1859,8 +1861,8 @@ define('pgadmin.browser.node', [
}
));
var onCloseFunc = function() {
var $props = this.$container.find('.obj_properties').first(),
let onCloseFunc = function() {
let $props = this.$container.find('.obj_properties').first(),
objview = $props && $props.data('obj-view');
if (objview) {
@ -1919,7 +1921,7 @@ define('pgadmin.browser.node', [
* depends, statistics
*/
generate_url: function(item, type, d, with_id, info, jump_after_node) {
var opURL = {
let opURL = {
'create': 'obj',
'drop': 'obj',
'edit': 'obj',
@ -1928,10 +1930,10 @@ define('pgadmin.browser.node', [
},
self = this,
priority = -Infinity;
var treeInfo = (_.isUndefined(item) || _.isNull(item)) ?
let treeInfo = (_.isUndefined(item) || _.isNull(item)) ?
info || {} : pgBrowser.tree.getTreeNodeHierarchy(item);
var actionType = type in opURL ? opURL[type] : type;
var itemID = with_id && d._type == self.type ? encodeURIComponent(d._id) : '';
let actionType = type in opURL ? opURL[type] : type;
let itemID = with_id && d._type == self.type ? encodeURIComponent(d._id) : '';
if (self.parent_type) {
if (_.isString(self.parent_type)) {
@ -1956,7 +1958,7 @@ define('pgadmin.browser.node', [
jump_after_priority = treeInfo[jump_after_node].priority;
}
var nodePickFunction = function(treeInfoValue) {
let nodePickFunction = function(treeInfoValue) {
return (treeInfoValue.priority <= jump_after_priority || treeInfoValue.priority == priority);
};
@ -1967,7 +1969,7 @@ define('pgadmin.browser.node', [
// Base class for Node Data Model
Model: pgBrowser.DataModel,
cache: function(url, node_info, level, data) {
var cached = this.cached = this.cached || {},
let cached = this.cached = this.cached || {},
hash = url,
min_priority = (
node_info && node_info[level] && node_info[level].priority
@ -1987,7 +1989,7 @@ define('pgadmin.browser.node', [
}
if (_.isUndefined(data)) {
var res = cached[hash];
let res = cached[hash];
if (!_.isUndefined(res) &&
(res.at - Date.now() > 300000)) {
@ -1996,7 +1998,7 @@ define('pgadmin.browser.node', [
return res;
}
res = cached[hash] = {
let res = cached[hash] = {
data: data,
at: Date.now(),
level: level,
@ -2015,7 +2017,7 @@ define('pgadmin.browser.node', [
this.cached = {};
// Trigger Notify event about node's cache
var self = this;
let self = this;
pgBrowser.Events.trigger(
'pgadmin:browser:node:' + self.type + ':cache_cleared',
item, self
@ -2027,7 +2029,7 @@ define('pgadmin.browser.node', [
return this.type;
}
if (_.isArray(this.parent_type)) {
for (var parent in this.parent_type) {
for (let parent in this.parent_type) {
if (parent in node_info) {
return parent;
}

View File

@ -200,7 +200,7 @@ export function Search() {
:''}
<div >
{ (menuSearchResult.fetched && !isMenuLoading ) ?
{ (menuSearchResult.fetched && !(isMenuLoading??true) ) ?
<div>
<div className='menu-groups'>
<span className='fa fa-window-maximize'></span> &nbsp;{gettext('MENU ITEMS')} ({menuSearchResult.data.length})
@ -210,9 +210,9 @@ export function Search() {
{refactorMenuItems(menuSearchResult.data)}
</div> : ( (isMenuLoading) ? (<div className='pad-12'><div className="search-icon">{gettext('Searching...')}</div></div>) : '')}
{(menuSearchResult.data.length == 0 && menuSearchResult.fetched && !isMenuLoading) ? (<div className='pad-12 no-results'><span className='fa fa-info-circle'></span> {gettext('No search results')}</div>):''}
{(menuSearchResult.data.length == 0 && menuSearchResult.fetched && !(isMenuLoading??true)) ? (<div className='pad-12 no-results'><span className='fa fa-info-circle'></span> {gettext('No search results')}</div>):''}
{ (helpSearchResult.fetched && !isHelpLoading) ?
{ (helpSearchResult.fetched && !(isHelpLoading??true)) ?
<div>
<div className='help-groups'>
<span className='fa fa-question-circle'></span> &nbsp;{gettext('HELP ARTICLES')} {Object.keys(helpSearchResult.data).length > 10 ?
@ -228,7 +228,7 @@ export function Search() {
})}
{(Object.keys(helpSearchResult.data).length == 0) ? (<div className='pad-12 no-results'><span className='fa fa-info-circle'></span> {gettext('No search results')}</div>):''}
</div> : ( (isHelpLoading && !isMenuLoading) ? (
</div> : ( (isHelpLoading && !(isMenuLoading??true)) ? (
<div>
<div className='help-groups'>
<span className='fa fa-question-circle'></span>

View File

@ -24,7 +24,7 @@ import ChangeOwnershipContent from './ChangeOwnershipContent';
import UrlDialogContent from './UrlDialogContent';
import RenamePanelContent from './RenamePanelContent';
function mountDialog(title, getDialogContent, docker=undefined, width, height) {
function mountDialog(title, getDialogContent, docker=undefined, width=undefined, height=undefined) {
// Register dialog panel
let panel;
if (docker) {

View File

@ -1,6 +1,5 @@
import {useRef, useEffect, useState, useCallback} from 'react';
import moment from 'moment';
// export { useStopwatch } from 'react-timer-hook';
/* React hook for setInterval */
export function useInterval(callback, delay) {

View File

@ -125,7 +125,7 @@ def load_servers():
file_path.lstrip('/').lstrip('\\')
)
if file_path is not None and os.path.exists(file_path):
if file_path and os.path.exists(file_path):
try:
with open(file_path, 'r') as j:
data = json.loads(j.read())

View File

@ -311,9 +311,8 @@ export function GraphVisualiser({initColumns}) {
// Check the previously selected X axis column is exist in the list of
// new columns. If exists then set that as it is.
setXAxis((prevXAxis)=>{
if (prevXAxis === '<Row Number>') {
return prevXAxis;
} else if (newColumns.map((c)=>c.name).includes(prevXAxis)) {
if (prevXAxis === '<Row Number>' ||
newColumns.map((c)=>c.name).includes(prevXAxis)) {
return prevXAxis;
}
return null;

View File

@ -929,7 +929,7 @@ export function ResultSet() {
eventBus.fireEvent(QUERY_TOOL_EVENTS.RESET_GRAPH_VISUALISER, columns);
}, [columns]);
const fetchMoreRows = async (all=false, callback)=>{
const fetchMoreRows = async (all=false, callback=undefined)=>{
if(queryData.has_more_rows) {
setIsLoadingMore(true);
const res = await rsu.current.getMoreRows(all);

View File

@ -49,7 +49,7 @@ def SchemaObject(name, schema=None, meta=None):
# Regex for finding "words" in documents.
_FIND_WORD_RE = re.compile(r'([a-zA-Z0-9_]+|[^a-zA-Z0-9_\s]+)')
_FIND_WORD_RE = re.compile(r'([\w]+|[^a-zA-Z0-9_\s]+)')
_FIND_BIG_WORD_RE = re.compile(r'([^\s]+)')
_Candidate = namedtuple("Candidate",
@ -1191,7 +1191,7 @@ class SQLAutoComplete(object):
)
if obj_type == 'tables':
self.extend_foreignkeys(
self.fetch_foreign_keys(in_clause, obj_type)
self.fetch_foreign_keys(in_clause)
)
elif obj_type == 'datatypes' and len(data) > 0:
self.extend_datatypes(data)
@ -1285,12 +1285,11 @@ class SQLAutoComplete(object):
))
return data
def fetch_foreign_keys(self, schemas, obj_type):
def fetch_foreign_keys(self, schemas):
"""
This function is used to fetch the foreign_keys for the given
schema name
:param schemas:
:param obj_type:
:return:
"""

View File

@ -93,5 +93,5 @@ class BrowserToolBarFeatureTest(BaseFeatureTest):
BrowserToolBarLocators.filter_data_button_css),
(By.XPATH, BrowserToolBarLocators.filter_box_css)),
'Filter dialogue did not open on clicking filter button.')
self.page.click_modal('Close', True)
self.page.click_modal('Close')
self.page.close_query_tool(prompt=False)

View File

@ -97,7 +97,7 @@ class CheckFileManagerFeatureTest(BaseFeatureTest):
input_file_path_ele = \
self.page.find_by_xpath(QueryToolLocators.save_file_path_xpath)
input_file_path_ele.send_keys(self.XSS_FILE)
self.page.click_modal('Save', True)
self.page.click_modal('Save')
self.page.wait_for_query_tool_loading_indicator_to_disappear()
def _open_file_manager_and_check_xss_file(self):
@ -136,7 +136,7 @@ class CheckFileManagerFeatureTest(BaseFeatureTest):
except (StaleElementReferenceException, TimeoutException):
retry_count += 1
self.page.click_modal('Cancel', True)
self.page.click_modal('Cancel')
self.page.wait_for_query_tool_loading_indicator_to_disappear()
filename = self.server_information['type'] + \
str(self.server_information['server_version'])
@ -189,4 +189,4 @@ class CheckFileManagerFeatureTest(BaseFeatureTest):
raise RuntimeError("Unable to sort in descending order while "
"clicked on 'Name' column")
self.page.click_modal('Cancel', True)
self.page.click_modal('Cancel')

View File

@ -137,4 +137,4 @@ class KeyboardShortcutFeatureTest(BaseFeatureTest):
maximize_button.click()
# save and close the preference dialog.
self.page.click_modal('Save', True)
self.page.click_modal('Save')

View File

@ -154,7 +154,7 @@ class PGDataypeFeatureTest(BaseFeatureTest):
time.sleep(0.5)
# save and close the preference dialog.
self.page.click_modal('Save', react_dialog=True)
self.page.click_modal('Save')
break
except Exception:
retry -= 1

View File

@ -317,9 +317,9 @@ class PGUtilitiesBackupFeatureTest(BaseFeatureTest):
# save and close the preference dialog.
if path_already_set:
self.page.click_modal('Cancel', True)
self.page.click_modal('Cancel')
else:
self.page.click_modal('Save', True)
self.page.click_modal('Save')
self.page.wait_for_element_to_disappear(
lambda driver: driver.find_element(By.CSS_SELECTOR, ".ajs-modal")

View File

@ -79,7 +79,7 @@ class PGUtilitiesMaintenanceFeatureTest(BaseFeatureTest):
def runTest(self):
self._open_maintenance_dialogue()
self.page.click_modal('OK', True)
self.page.click_modal('OK')
self.page.wait_for_element_to_disappear(
lambda driver: driver.find_element(
By.XPATH, NavMenuLocators.maintenance_operation), 10)

View File

@ -303,7 +303,7 @@ class QueryToolJourneyTest(BaseFeatureTest):
# discard edits
self.page.execute_query('SELECT 1')
self.page.click_modal('Yes', True)
self.page.click_modal('Yes')
def _test_is_editable_columns_icons(self):
if self.driver_version < 2.8:
@ -418,7 +418,7 @@ class QueryToolJourneyTest(BaseFeatureTest):
self.page.find_by_css_selector(
QueryToolLocators.btn_history_remove_all)
)
self.page.click_modal('Yes', True)
self.page.click_modal('Yes')
def _navigate_to_query_tool(self):
self.page.expand_database_node("Server", self.server['name'],
@ -448,7 +448,7 @@ class QueryToolJourneyTest(BaseFeatureTest):
discard_changes_modal=False):
self.page.execute_query(query)
if discard_changes_modal:
self.page.click_modal('Yes', True)
self.page.click_modal('Yes')
# first column is rownum
enumerated_should_be_editable = enumerate(cols_should_be_editable, 2)

View File

@ -155,4 +155,4 @@ class CopySQLFeatureTest(BaseFeatureTest):
maximize_button.click()
# save and close the preference dialog.
self.page.click_modal('Save', react_dialog=True)
self.page.click_modal('Save')

View File

@ -90,7 +90,7 @@ class CheckDebuggerForXssFeatureTest(BaseFeatureTest):
click = True
while click:
try:
self.page.click_modal('OK', True)
self.page.click_modal('OK')
wait.until(EC.invisibility_of_element(
(By.XPATH, "//div[@class ='MuiDialogTitle-root']"
"//div[text()='Debugger Error']")

View File

@ -24,7 +24,7 @@ class BrowserToolBarLocators():
filter_data_button_css = \
".wcFrameButton[title='Filtered Rows']:not(.disabled)"
filter_box_css = "//*[@id='0']/div[contains(text(), Data Filter')]"
filter_box_css = "//*[@id='0']/div[contains(text(), 'Data Filter')]"
class NavMenuLocators:

View File

@ -81,7 +81,7 @@ class PgadminPage:
except TimeoutException:
pass
def click_modal(self, button_text, react_dialog=False):
def click_modal(self, button_text):
time.sleep(0.5)
# Find active dialog in case of multiple dialog
# & click on that dialog
@ -222,7 +222,7 @@ class PgadminPage:
self.click_element(
self.find_by_css_selector(QueryToolLocators.btn_clear)
)
self.click_modal('Yes', True)
self.click_modal('Yes')
def execute_query(self, query):
self.fill_codemirror_area_with(query)
@ -332,7 +332,7 @@ class PgadminPage:
delete_menu_item = self.find_by_partial_link_text("Remove Server")
self.click_element(delete_menu_item)
self.driver.switch_to.default_content()
self.click_modal('Yes', True)
self.click_modal('Yes')
time.sleep(1)
else:
print("%s Server is not removed", server_config['name'],
@ -1262,5 +1262,5 @@ class PgadminPage:
return element_located_status
def clear_edit_box(self, edit_box_webelement):
while not edit_box_webelement.get_attribute("value") == "":
while edit_box_webelement.get_attribute("value") != "":
edit_box_webelement.send_keys(Keys.BACK_SPACE)