Skip to content

Commit a09c792

Browse files
authored
[OGUI-1846] Pass on drawing options from qcdb metadata in layout show (#3239)
* takes into consideration drawoptions and displayhints from CCDB metadata and the ignoreDefaults option set by the user in the layout * combines these options with the user saved layout options and uses them to plot the object.
1 parent 410bb8b commit a09c792

File tree

1 file changed

+19
-6
lines changed
  • QualityControl/public/layout/view

1 file changed

+19
-6
lines changed

QualityControl/public/layout/view/page.js

Lines changed: 19 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -192,16 +192,29 @@ function chartView(model, tabObject) {
192192
/**
193193
* Method to generate a component containing a header with actions and a jsroot plot
194194
* @param {Model} model - root model of the application
195-
* @param {object} tabObject - to be drawn with jsroot
195+
* @param {TabObject} tabObject - object with information form QCG own storage
196196
* @returns {vnode} - virtual node element
197197
*/
198198
const drawComponent = (model, tabObject) => {
199199
const { displayTimestamp = false } = model.layout.item;
200-
const { name, options: drawingOptions = [] } = tabObject;
200+
201+
const { name, options: drawingOptions = [], ignoreDefaults } = tabObject;
202+
203+
const objectFromQcdbAsRemoteData = model?.object?.objects?.[name] ?? {};
204+
const { displayHints = [], drawOptions = [] } = objectFromQcdbAsRemoteData?.payload ?? {};
205+
206+
let toUseDrawingOptions = [];
207+
if (ignoreDefaults) {
208+
toUseDrawingOptions = Array.from(new Set(drawingOptions));
209+
} else {
210+
toUseDrawingOptions = Array.from(new Set([...drawingOptions, ...displayHints, ...drawOptions]));
211+
}
201212
const lastModified = model.object.getLastModifiedByName(name);
202213
const runNumber = model.object.getRunNumberByName(name);
203-
204-
return h('', { style: 'height:100%; display: flex; flex-direction: column' }, [
214+
return h('', {
215+
key: `key-chart-component-${name}-${toUseDrawingOptions.join('-')}`,
216+
style: 'height:100%; display: flex; flex-direction: column',
217+
}, [
205218
h('.jsrootdiv', {
206219
style: {
207220
'z-index': 90,
@@ -211,9 +224,9 @@ const drawComponent = (model, tabObject) => {
211224
'flex-direction': 'column',
212225
},
213226
}, draw(
214-
model.object.objects[tabObject.name],
227+
objectFromQcdbAsRemoteData,
215228
{},
216-
drawingOptions,
229+
toUseDrawingOptions,
217230
(error) => model.object.invalidObject(tabObject.name, error.message),
218231
)),
219232
objectInfoResizePanel(model, tabObject),

0 commit comments

Comments
 (0)