Fixed issues related to porting of properties collection and dashboard.

refs #7132
This commit is contained in:
Pradip Parkale
2022-04-04 17:42:42 +05:30
committed by Akshay Joshi
parent c4d61f5a55
commit b397ba7787
16 changed files with 178 additions and 93 deletions

View File

@@ -8,7 +8,7 @@
//////////////////////////////////////////////////////////////
import { getNodeAjaxOptions,getNodeListByName } from '../../../../../../static/js/node_ajax';
import { getNodeAjaxOptions, getNodeListByName } from '../../../../../../static/js/node_ajax';
import ExtensionsSchema from './extension.ui';
define('pgadmin.node.extension', [
@@ -99,6 +99,7 @@ define('pgadmin.node.extension', [
let nodeObj = pgAdmin.Browser.Nodes['extension'];
return new ExtensionsSchema(
{
role:()=>getNodeListByName('role', treeNodeInfo, itemNodeData),
extensionsList:()=>getNodeAjaxOptions('avails', nodeObj, treeNodeInfo, itemNodeData, { cacheLevel: 'server'},
(data)=>{
let res = [];

View File

@@ -24,11 +24,13 @@ export default class ExtensionsSchema extends BaseUISchema {
});
fieldOptions = {
extensionsList: [],
role:[],
schemaList: [],
...fieldOptions,
};
this.extensionsList = fieldOptions.extensionsList;
this.schemaList = fieldOptions.schemaList;
this.role = fieldOptions.role;
}
get idAttribute() {
@@ -89,6 +91,12 @@ export default class ExtensionsSchema extends BaseUISchema {
id: 'oid', label: gettext('OID'), type: 'text',
mode: ['properties'],
},
{
id: 'owner', label: gettext('Owner'),
options: this.role,
type: 'select',
mode: ['properties'], controlProps: { allowClear: false},
},
{
id: 'schema', label: gettext('Schema'), type: 'select',
mode: ['properties', 'create', 'edit'], group: gettext('Definition'),

View File

@@ -24,6 +24,7 @@ define('pgadmin.node.operator', [
columns: ['name', 'owner', 'description'],
canDrop: false,
canDropCascade: false,
canSelect: false
});
}

View File

@@ -29,7 +29,7 @@ function(
label: gettext('Partitions'),
type: 'coll-partition',
columns: [
'name', 'schema', 'partition_value', 'is_partitioned', 'description',
'name', 'schema', 'partition_scheme', 'partition_value', 'is_partitioned', 'description',
],
canDrop: SchemaChildTreeNode.isTreeItemOfChildOfSchema,
canDropCascade: SchemaChildTreeNode.isTreeItemOfChildOfSchema,

View File

@@ -6,9 +6,6 @@
// This software is released under the PostgreSQL Licence
//
//////////////////////////////////////////////////////////////
// import {removeNodeView} from './node_view';
// import Notify from '../../../static/js/helpers/Notifier';
import {getPanelView} from './panel_view';
define([
@@ -92,11 +89,10 @@ define([
canDropCascade: true,
selectParentNodeOnDelete: false,
showProperties: function(item, data, panel) {
let container = panel.$container[0];
let container = panel.$container.find('.obj_properties').first();
getPanelView(
pgBrowser.tree,
container,
container[0],
pgBrowser,
panel._type
);

View File

@@ -1261,16 +1261,11 @@ define('pgadmin.browser.node', [
$(this).data('node-prop', treeHierarchy);
/* Remove any dom rendered by getNodeView */
removeNodeView(pgBrowser.panels['properties'].panel.$container[0]);
var containerProperties = pgBrowser.panels['properties'].panel.$container;
containerProperties.addClass('pg-panel-content pg-no-overflow pg-el-container');
removeNodeView(j[0]);
if(that.getSchema) {
let treeNodeInfo = pgBrowser.tree.getTreeNodeHierarchy(item);
getNodeView(
that.type, treeNodeInfo, 'properties', data, 'tab', containerProperties[0], this, onEdit
that.type, treeNodeInfo, 'properties', data, 'tab', j[0], this, onEdit
);
return;
}

View File

@@ -122,8 +122,6 @@ define(
that.resizedContainer.apply(myPanel);
}
if (myPanel._type == 'dashboard') {
getPanelView(
pgBrowser.tree,
@@ -150,7 +148,7 @@ define(
pgBrowser.Events.on('pgadmin-browser:tree:selected', () => {
if(myPanel.isVisible()) {
if(myPanel.isVisible() && myPanel._type !== 'properties') {
getPanelView(
pgBrowser.tree,
$container[0],
@@ -162,7 +160,7 @@ define(
pgBrowser.Events.on('pgadmin-browser:tree:refreshing', () => {
if(myPanel.isVisible()) {
if(myPanel.isVisible() && myPanel._type !== 'properties') {
getPanelView(
pgBrowser.tree,
$container[0],
@@ -177,7 +175,6 @@ define(
},
eventFunc: function(eventName) {
var name = $(this).data('pgAdminName');
try {
pgBrowser.Events.trigger(
'pgadmin-browser:panel', eventName, this, arguments
@@ -244,10 +241,11 @@ define(
.scene()
.find('.pg-panel-content');
if (isPanelVisible) {
if (isPanelVisible && selectedPanel._type !== 'properties') {
if (eventName == 'panelClosed') {
removePanelView($container[0]);
} else if (eventName == 'panelVisibilityChanged') {
}
else if (eventName == 'panelVisibilityChanged' && selectedPanel._type !== 'properties') {
getPanelView(
pgBrowser.tree,
$container[0],

View File

@@ -53,8 +53,6 @@ export function getPanelView(
container
);
}
if (panelType == 'statistics') {
ReactDOM.render(
<Theme>
@@ -69,7 +67,7 @@ export function getPanelView(
container
);
}
if (panelType == 'properties') {
if (panelType == 'properties' && nodeData?.is_collection) {
ReactDOM.render(
<Theme>
<CollectionNodeView