Fix various Drop menu options that were broken during the treeview refactoring.

Fixes #3442. Fixes #3443. Fixes #3444
pull/14/head
Akshay Joshi 2018-06-25 15:52:12 +01:00 committed by Dave Page
parent 4a71c6d7af
commit 57c054fb0e
8 changed files with 26 additions and 37 deletions

View File

@ -24,7 +24,6 @@ define('pgadmin.node.collation', [
collection_type: 'coll-collation', collection_type: 'coll-collation',
hasSQL: true, hasSQL: true,
hasDepends: true, hasDepends: true,
parent_type: ['schema', 'catalog'],
Init: function() { Init: function() {
/* Avoid mulitple registration of menus */ /* Avoid mulitple registration of menus */
if (this.initialized) if (this.initialized)
@ -54,8 +53,6 @@ define('pgadmin.node.collation', [
]); ]);
}, },
canDrop: pgBrowser.Nodes['schema'].canChildDrop,
canDropCascade: pgBrowser.Nodes['schema'].canChildDrop,
model: pgAdmin.Browser.Node.Model.extend({ model: pgAdmin.Browser.Node.Model.extend({
defaults: { defaults: {
name: undefined, name: undefined,

View File

@ -2,8 +2,8 @@
define('pgadmin.node.domain_constraints', [ define('pgadmin.node.domain_constraints', [
'sources/gettext', 'sources/url_for', 'jquery', 'underscore', 'sources/gettext', 'sources/url_for', 'jquery', 'underscore',
'underscore.string', 'sources/pgadmin', 'pgadmin.browser', 'underscore.string', 'sources/pgadmin', 'pgadmin.browser',
'pgadmin.browser.collection', 'pgadmin.node.schema.dir/schema_child_tree_node', 'pgadmin.browser.collection',
], function(gettext, url_for, $, _, S, pgAdmin, pgBrowser) { ], function(gettext, url_for, $, _, S, pgAdmin, pgBrowser, schemaChildTreeNode) {
// Define Domain Constraint Collection Node // Define Domain Constraint Collection Node
if (!pgBrowser.Nodes['coll-domain_constraints']) { if (!pgBrowser.Nodes['coll-domain_constraints']) {
@ -57,7 +57,7 @@ define('pgadmin.node.domain_constraints', [
]); ]);
}, },
canDrop: pgBrowser.Nodes['schema'].canChildDrop, canDrop: schemaChildTreeNode.isTreeItemOfChildOfSchema,
model: pgAdmin.Browser.Node.Model.extend({ model: pgAdmin.Browser.Node.Model.extend({
defaults: { defaults: {
name: undefined, name: undefined,

View File

@ -2,9 +2,9 @@
define('pgadmin.node.procedure', [ define('pgadmin.node.procedure', [
'sources/gettext', 'sources/url_for', 'jquery', 'underscore', 'sources/gettext', 'sources/url_for', 'jquery', 'underscore',
'underscore.string', 'sources/pgadmin', 'pgadmin.browser', 'alertify', 'underscore.string', 'sources/pgadmin', 'pgadmin.browser', 'alertify',
'pgadmin.node.function', 'pgadmin.browser.collection', 'pgadmin.node.function', 'pgadmin.node.schema.dir/child',
'pgadmin.browser.server.privilege', 'pgadmin.browser.collection', 'pgadmin.browser.server.privilege',
], function(gettext, url_for, $, _, S, pgAdmin, pgBrowser, alertify, Function) { ], function(gettext, url_for, $, _, S, pgAdmin, pgBrowser, alertify, Function, schemaChild) {
if (!pgBrowser.Nodes['coll-procedure']) { if (!pgBrowser.Nodes['coll-procedure']) {
pgAdmin.Browser.Nodes['coll-procedure'] = pgAdmin.Browser.Nodes['coll-procedure'] =
@ -19,7 +19,7 @@ define('pgadmin.node.procedure', [
// Inherit Functions Node // Inherit Functions Node
if (!pgBrowser.Nodes['procedure']) { if (!pgBrowser.Nodes['procedure']) {
pgAdmin.Browser.Nodes['procedure'] = pgBrowser.Node.extend({ pgAdmin.Browser.Nodes['procedure'] = schemaChild.SchemaChildNode.extend({
type: 'procedure', type: 'procedure',
sqlAlterHelp: 'sql-alterprocedure.html', sqlAlterHelp: 'sql-alterprocedure.html',
sqlCreateHelp: 'sql-createprocedure.html', sqlCreateHelp: 'sql-createprocedure.html',
@ -30,7 +30,6 @@ define('pgadmin.node.procedure', [
hasDepends: true, hasDepends: true,
hasStatistics: true, hasStatistics: true,
hasScriptTypes: ['create', 'exec'], hasScriptTypes: ['create', 'exec'],
parent_type: ['schema', 'catalog'],
Init: function() { Init: function() {
/* Avoid mulitple registration of menus */ /* Avoid mulitple registration of menus */
if (this.proc_initialized) if (this.proc_initialized)
@ -60,8 +59,6 @@ define('pgadmin.node.procedure', [
}, },
]); ]);
}, },
canDrop: true,
canDropCascade: true,
canCreateProc: function(itemData, item) { canCreateProc: function(itemData, item) {
var node_hierarchy = this.getTreeNodeHierarchy.apply(this, [item]); var node_hierarchy = this.getTreeNodeHierarchy.apply(this, [item]);

View File

@ -1,8 +1,8 @@
define('pgadmin.node.package', [ define('pgadmin.node.package', [
'sources/gettext', 'sources/url_for', 'jquery', 'underscore', 'sources/gettext', 'sources/url_for', 'jquery', 'underscore',
'sources/pgadmin', 'pgadmin.browser', 'pgadmin.backform', 'sources/pgadmin', 'pgadmin.browser', 'pgadmin.backform',
'pgadmin.browser.collection', 'pgadmin.node.schema.dir/child', 'pgadmin.browser.collection',
], function(gettext, url_for, $, _, pgAdmin, pgBrowser, Backform) { ], function(gettext, url_for, $, _, pgAdmin, pgBrowser, Backform, schemaChild) {
// Extend the browser's collection class for package collection // Extend the browser's collection class for package collection
if (!pgBrowser.Nodes['coll-package']) { if (!pgBrowser.Nodes['coll-package']) {
@ -17,14 +17,13 @@ define('pgadmin.node.package', [
// Extend the browser's node class for package node // Extend the browser's node class for package node
if (!pgBrowser.Nodes['package']) { if (!pgBrowser.Nodes['package']) {
pgBrowser.Nodes['package'] = pgBrowser.Node.extend({ pgBrowser.Nodes['package'] = schemaChild.SchemaChildNode.extend({
type: 'package', type: 'package',
dialogHelp: url_for('help.static', {'filename': 'package_dialog.html'}), dialogHelp: url_for('help.static', {'filename': 'package_dialog.html'}),
label: gettext('Package'), label: gettext('Package'),
collection_type: 'coll-package', collection_type: 'coll-package',
hasSQL: true, hasSQL: true,
hasDepends: true, hasDepends: true,
parent_type: ['schema', 'catalog'],
Init: function() { Init: function() {
/* Avoid mulitple registration of menus */ /* Avoid mulitple registration of menus */
if (this.initialized) if (this.initialized)
@ -54,8 +53,6 @@ define('pgadmin.node.package', [
]); ]);
}, },
canDrop: pgBrowser.Nodes['schema'].canChildDrop,
canDropCascade: pgBrowser.Nodes['schema'].canChildDrop,
canCreate: function(itemData, item, data) { canCreate: function(itemData, item, data) {
//If check is false then , we will allow create menu //If check is false then , we will allow create menu
if (data && data.check == false) if (data && data.check == false)

View File

@ -8,15 +8,13 @@
///////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////
import * as Node from 'pgbrowser/node'; import * as Node from 'pgbrowser/node';
import { import * as SchemaTreeNode from './schema_child_tree_node';
isTreeItemOfChildOfSchema, childCreateMenuEnabled,
} from './schema_child_tree_node';
let SchemaChildNode = Node.extend({ let SchemaChildNode = Node.extend({
parent_type: ['schema', 'catalog'], parent_type: ['schema', 'catalog'],
canDrop: isTreeItemOfChildOfSchema, canDrop: SchemaTreeNode.isTreeItemOfChildOfSchema,
canDropCascade: isTreeItemOfChildOfSchema, canDropCascade: SchemaTreeNode.isTreeItemOfChildOfSchema,
canCreate: childCreateMenuEnabled, canCreate: SchemaTreeNode.childCreateMenuEnabled,
}, false); }, false);
export {SchemaChildNode}; export {SchemaChildNode};

View File

@ -1,8 +1,8 @@
define('pgadmin.node.synonym', [ define('pgadmin.node.synonym', [
'sources/gettext', 'sources/url_for', 'jquery', 'underscore', 'sources/gettext', 'sources/url_for', 'jquery', 'underscore',
'underscore.string', 'sources/pgadmin', 'pgadmin.browser', 'pgadmin.alertifyjs', 'underscore.string', 'sources/pgadmin', 'pgadmin.browser', 'pgadmin.alertifyjs',
'pgadmin.browser.collection', 'pgadmin.node.schema.dir/child', 'pgadmin.browser.collection',
], function(gettext, url_for, $, _, S, pgAdmin, pgBrowser, alertify) { ], function(gettext, url_for, $, _, S, pgAdmin, pgBrowser, alertify, schemaChild) {
if (!pgBrowser.Nodes['coll-synonym']) { if (!pgBrowser.Nodes['coll-synonym']) {
pgAdmin.Browser.Nodes['coll-synonym'] = pgAdmin.Browser.Nodes['coll-synonym'] =
@ -15,7 +15,7 @@ define('pgadmin.node.synonym', [
} }
if (!pgBrowser.Nodes['synonym']) { if (!pgBrowser.Nodes['synonym']) {
pgAdmin.Browser.Nodes['synonym'] = pgBrowser.Node.extend({ pgAdmin.Browser.Nodes['synonym'] = schemaChild.SchemaChildNode.extend({
type: 'synonym', type: 'synonym',
dialogHelp: url_for('help.static', {'filename': 'synonym_dialog.html'}), dialogHelp: url_for('help.static', {'filename': 'synonym_dialog.html'}),
label: gettext('Synonym'), label: gettext('Synonym'),
@ -52,7 +52,6 @@ define('pgadmin.node.synonym', [
]); ]);
}, },
canDrop: pgBrowser.Nodes['schema'].canChildDrop,
model: pgAdmin.Browser.Node.Model.extend({ model: pgAdmin.Browser.Node.Model.extend({
isNew: function() { isNew: function() {
return !this.fetchFromServer; return !this.fetchFromServer;

View File

@ -2,8 +2,8 @@
define('pgadmin.node.check_constraint', [ define('pgadmin.node.check_constraint', [
'sources/gettext', 'sources/url_for', 'jquery', 'underscore', 'sources/gettext', 'sources/url_for', 'jquery', 'underscore',
'underscore.string', 'sources/pgadmin', 'pgadmin.browser', 'pgadmin.alertifyjs', 'underscore.string', 'sources/pgadmin', 'pgadmin.browser', 'pgadmin.alertifyjs',
'pgadmin.browser.collection', 'pgadmin.node.schema.dir/schema_child_tree_node', 'pgadmin.browser.collection',
], function(gettext, url_for, $, _, S, pgAdmin, pgBrowser, alertify) { ], function(gettext, url_for, $, _, S, pgAdmin, pgBrowser, alertify, schemaChildTreeNode) {
// Check Constraint Node // Check Constraint Node
if (!pgBrowser.Nodes['check_constraint']) { if (!pgBrowser.Nodes['check_constraint']) {
@ -81,7 +81,7 @@ define('pgadmin.node.check_constraint', [
return false; return false;
}, },
}, },
canDrop: pgBrowser.Nodes['schema'].canChildDrop, canDrop: schemaChildTreeNode.isTreeItemOfChildOfSchema,
model: pgAdmin.Browser.Node.Model.extend({ model: pgAdmin.Browser.Node.Model.extend({
idAttribute: 'oid', idAttribute: 'oid',

View File

@ -1,7 +1,8 @@
define('pgadmin.node.rule', [ define('pgadmin.node.rule', [
'sources/gettext', 'sources/url_for', 'jquery', 'underscore', 'sources/gettext', 'sources/url_for', 'jquery', 'underscore',
'sources/pgadmin', 'pgadmin.browser', 'pgadmin.backform', 'sources/pgadmin', 'pgadmin.browser', 'pgadmin.backform',
], function(gettext, url_for, $, _, pgAdmin, pgBrowser, Backform) { 'pgadmin.node.schema.dir/schema_child_tree_node',
], function(gettext, url_for, $, _, pgAdmin, pgBrowser, Backform, schemaChildTreeNode) {
/** /**
Create and add a rule collection into nodes Create and add a rule collection into nodes
@ -43,16 +44,16 @@ define('pgadmin.node.rule', [
collection_type: 'coll-table', collection_type: 'coll-table',
hasSQL: true, hasSQL: true,
hasDepends: true, hasDepends: true,
canDrop: function(itemData, item, data){ canDrop: function(itemData, item){
pgBrowser.Nodes['schema'].canChildDrop.apply(this, [itemData, item, data]); schemaChildTreeNode.isTreeItemOfChildOfSchema.apply(this, [itemData, item]);
if(_.has(itemData, 'label') && itemData.label === '_RETURN') if(_.has(itemData, 'label') && itemData.label === '_RETURN')
return false; return false;
else { else {
return true; return true;
} }
}, },
canDropCascade: function(itemData, item, data){ canDropCascade: function(itemData, item){
pgBrowser.Nodes['schema'].canChildDrop.apply(this, [itemData, item, data]); schemaChildTreeNode.isTreeItemOfChildOfSchema.apply(this, [itemData, item]);
if(_.has(itemData, 'label') && itemData.label === '_RETURN') if(_.has(itemData, 'label') && itemData.label === '_RETURN')
return false; return false;
else { else {