|
|
|
@ -253,43 +253,47 @@ export class ScadaSymbolComponent extends PageComponent |
|
|
|
|
|
|
|
enterPreviewMode() { |
|
|
|
this.previewMetadata = this.scadaSymbolFormGroup.get('metadata').value; |
|
|
|
this.symbolData.scadaSymbolContent = this.prepareScadaSymbolContent(this.previewMetadata); |
|
|
|
this.previewScadaSymbolObjectSettings = { |
|
|
|
behavior: {}, |
|
|
|
properties: {} |
|
|
|
}; |
|
|
|
this.scadaPreviewFormGroup.patchValue({ |
|
|
|
scadaSymbolObjectSettings: this.previewScadaSymbolObjectSettings |
|
|
|
}, {emitEvent: false}); |
|
|
|
this.scadaPreviewFormGroup.markAsPristine(); |
|
|
|
const settings: ScadaSymbolWidgetSettings = {...scadaSymbolWidgetDefaultSettings, |
|
|
|
...{ |
|
|
|
try { |
|
|
|
this.symbolData.scadaSymbolContent = this.prepareScadaSymbolContent(this.previewMetadata); |
|
|
|
this.previewScadaSymbolObjectSettings = { |
|
|
|
behavior: {}, |
|
|
|
properties: {} |
|
|
|
}; |
|
|
|
this.scadaPreviewFormGroup.patchValue({ |
|
|
|
scadaSymbolObjectSettings: this.previewScadaSymbolObjectSettings |
|
|
|
}, {emitEvent: false}); |
|
|
|
this.scadaPreviewFormGroup.markAsPristine(); |
|
|
|
const settings: ScadaSymbolWidgetSettings = {...scadaSymbolWidgetDefaultSettings, |
|
|
|
...{ |
|
|
|
simulated: true, |
|
|
|
scadaSymbolUrl: null, |
|
|
|
scadaSymbolContent: this.symbolData.scadaSymbolContent, |
|
|
|
scadaSymbolObjectSettings: this.previewScadaSymbolObjectSettings, |
|
|
|
padding: '0', |
|
|
|
background: colorBackground('rgba(0,0,0,0)') |
|
|
|
} |
|
|
|
}; |
|
|
|
this.previewWidget = { |
|
|
|
typeFullFqn: 'system.scada_symbol', |
|
|
|
type: widgetType.rpc, |
|
|
|
sizeX: this.previewMetadata.widgetSizeX || 3, |
|
|
|
sizeY: this.previewMetadata.widgetSizeY || 3, |
|
|
|
row: 0, |
|
|
|
col: 0, |
|
|
|
config: { |
|
|
|
settings, |
|
|
|
showTitle: false, |
|
|
|
dropShadow: false, |
|
|
|
padding: '0', |
|
|
|
margin: '0', |
|
|
|
backgroundColor: 'rgba(0,0,0,0)' |
|
|
|
} |
|
|
|
}; |
|
|
|
this.previewWidgets = [this.previewWidget]; |
|
|
|
this.previewMode = true; |
|
|
|
} |
|
|
|
}; |
|
|
|
this.previewWidget = { |
|
|
|
typeFullFqn: 'system.scada_symbol', |
|
|
|
type: widgetType.rpc, |
|
|
|
sizeX: this.previewMetadata.widgetSizeX || 3, |
|
|
|
sizeY: this.previewMetadata.widgetSizeY || 3, |
|
|
|
row: 0, |
|
|
|
col: 0, |
|
|
|
config: { |
|
|
|
settings, |
|
|
|
showTitle: false, |
|
|
|
dropShadow: false, |
|
|
|
padding: '0', |
|
|
|
margin: '0', |
|
|
|
backgroundColor: 'rgba(0,0,0,0)' |
|
|
|
} |
|
|
|
}; |
|
|
|
this.previewWidgets = [this.previewWidget]; |
|
|
|
this.previewMode = true; |
|
|
|
} catch (e) { |
|
|
|
this.store.dispatch(new ActionNotificationShow({ message: e.message, type: 'error' })); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
exitPreviewMode() { |
|
|
|
@ -379,19 +383,23 @@ export class ScadaSymbolComponent extends PageComponent |
|
|
|
metadata = parseScadaSymbolMetadataFromContent(this.origSymbolData.scadaSymbolContent); |
|
|
|
} |
|
|
|
const linkElement = document.createElement('a'); |
|
|
|
const scadaSymbolContent = this.prepareScadaSymbolContent(metadata); |
|
|
|
const blob = new Blob([scadaSymbolContent], { type: this.symbolData.imageResource.descriptor.mediaType }); |
|
|
|
const url = URL.createObjectURL(blob); |
|
|
|
linkElement.setAttribute('href', url); |
|
|
|
linkElement.setAttribute('download', this.symbolData.imageResource.fileName); |
|
|
|
const clickEvent = new MouseEvent('click', |
|
|
|
{ |
|
|
|
view: window, |
|
|
|
bubbles: true, |
|
|
|
cancelable: false |
|
|
|
} |
|
|
|
); |
|
|
|
linkElement.dispatchEvent(clickEvent); |
|
|
|
try { |
|
|
|
const scadaSymbolContent = this.prepareScadaSymbolContent(metadata); |
|
|
|
const blob = new Blob([scadaSymbolContent], { type: this.symbolData.imageResource.descriptor.mediaType }); |
|
|
|
const url = URL.createObjectURL(blob); |
|
|
|
linkElement.setAttribute('href', url); |
|
|
|
linkElement.setAttribute('download', this.symbolData.imageResource.fileName); |
|
|
|
const clickEvent = new MouseEvent('click', |
|
|
|
{ |
|
|
|
view: window, |
|
|
|
bubbles: true, |
|
|
|
cancelable: false |
|
|
|
} |
|
|
|
); |
|
|
|
linkElement.dispatchEvent(clickEvent); |
|
|
|
} catch (e) { |
|
|
|
this.store.dispatch(new ActionNotificationShow({ message: e.message, type: 'error' })); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
createWidget() { |
|
|
|
|