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',
hasSQL: true,
hasDepends: true,
parent_type: ['schema', 'catalog'],
Init: function() {
/* Avoid mulitple registration of menus */
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({
defaults: {
name: undefined,

View File

@ -2,8 +2,8 @@
define('pgadmin.node.domain_constraints', [
'sources/gettext', 'sources/url_for', 'jquery', 'underscore',
'underscore.string', 'sources/pgadmin', 'pgadmin.browser',
'pgadmin.browser.collection',
], function(gettext, url_for, $, _, S, pgAdmin, pgBrowser) {
'pgadmin.node.schema.dir/schema_child_tree_node', 'pgadmin.browser.collection',
], function(gettext, url_for, $, _, S, pgAdmin, pgBrowser, schemaChildTreeNode) {
// Define Domain Constraint Collection Node
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({
defaults: {
name: undefined,

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -1,7 +1,8 @@
define('pgadmin.node.rule', [
'sources/gettext', 'sources/url_for', 'jquery', 'underscore',
'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
@ -43,16 +44,16 @@ define('pgadmin.node.rule', [
collection_type: 'coll-table',
hasSQL: true,
hasDepends: true,
canDrop: function(itemData, item, data){
pgBrowser.Nodes['schema'].canChildDrop.apply(this, [itemData, item, data]);
canDrop: function(itemData, item){
schemaChildTreeNode.isTreeItemOfChildOfSchema.apply(this, [itemData, item]);
if(_.has(itemData, 'label') && itemData.label === '_RETURN')
return false;
else {
return true;
}
},
canDropCascade: function(itemData, item, data){
pgBrowser.Nodes['schema'].canChildDrop.apply(this, [itemData, item, data]);
canDropCascade: function(itemData, item){
schemaChildTreeNode.isTreeItemOfChildOfSchema.apply(this, [itemData, item]);
if(_.has(itemData, 'label') && itemData.label === '_RETURN')
return false;
else {