this.fullScreenMode = false;
this.panelTabShown = 'descriptor';
//File manager values
- this.files = [];
+ this.files = false;
this.filesState = {};
this.downloadJobs = {};
//End File manager values
editCatalogItem(item) {
let self = this;
+ self.closeFileManagerSockets();
if (item && item.uiState) {
item.uiState.isOpenForEdit = true;
if (item.uiState.type !== 'nsd') {
this.setState({showJSONViewer: false});
}
- toggleCanvasPanelTray() {
+ toggleCanvasPanelTray(event) {
const layout = this.layout;
- if (layout.bottom > 25) {
+ const attrMap = event.target.attributes;
+ let panelEvent = null;
+ for(let k in attrMap) {
+ if(attrMap[k].name == 'data-event') {
+ panelEvent = attrMap[k].nodeValue;
+ }
+ }
+ if ((layout.bottom > 25) && ((panelEvent == this.displayedPanel) || panelEvent == 'arrow')) {
this.closeCanvasPanelTray();
} else {
this.openCanvasPanelTray();
}
+ this.setState({displayedPanel: panelEvent})
}
openCanvasPanelTray() {
let self = this;
let filesState = null;
if (self.fileMonitoringSocketID) {
- filesState = addInputState( _.cloneDeep(this.filesState),data);
- // filesState = _.merge(self.filesState, addInputState({},data));
- let normalizedData = normalizeTree(data);
- this.setState({
- files: {
- data: _.mergeWith(normalizedData.data, self.files.data, function(obj, src) {
- return _.uniqBy(obj? obj.concat(src) : src, 'name');
- }),
- id: self.files.id || normalizedData.id
- },
- filesState: filesState
- });
+ let newState = {};
+ if(data.hasOwnProperty('contents')) {
+ filesState = addInputState( _.cloneDeep(this.filesState),data);
+ // filesState = _.merge(self.filesState, addInputState({},data));
+ let normalizedData = normalizeTree(data);
+ newState = {
+ files: {
+ data: _.mergeWith(normalizedData.data, self.files.data, function(obj, src) {
+ return _.uniqBy(obj? obj.concat(src) : src, 'name');
+ }),
+ id: self.files.id || normalizedData.id
+ },
+ filesState: filesState
+ }
+ } else {
+ newState = {
+ files: false
+ }
+ }
+
+ this.setState(newState);
}
function normalizeTree(data) {
let f = {
let self = this;
let ws = window.multiplexer.channel(id);
let downloadJobs = _.cloneDeep(self.downloadJobs);
- let newFiles = {};
+ let newFiles = false;
ws.onmessage = (socket) => {
if (self.files && self.files.length > 0) {
let jobs = [];
openFileManagerSockets(i) {
let self = this;
let item = i || self.item;
- this.files = {data:[]};
// this.closeFileManagerSockets();
this.getInstance().openFileMonitoringSocket(item.id, item.uiState.type).then(function() {
// // self.getInstance().openDownloadMonitoringSocket(item.id);