private openDrawingSettings = (drawing: Drawing) => {
const payload = this.drawingsManager.getDrawingSettingsPayload(drawing);
if (!payload.tabs.length || payload.tabs.every((tab) => tab.fields.length === 0)) {
return;
}
let settings = payload.values;
this.modalRenderer.renderComponent(
<EntitySettingsModal
tabs={payload.tabs}
values={settings}
onChange={(nextSettings) => {
settings = nextSettings;
}}
initialTabKey={payload.tabs[0]?.key}
/>,
{
size: 'sm',
title: payload.title,
onSave: () => payload.applySettings(settings),
},
);
};
public getDrawingSettingsPayload(drawing: Drawing) {
return {
title: drawing.name,
tabs: drawing.getSettingsTabs(),
values: drawing.getSettings(),
applySettings: (settings: SettingsValues) => drawing.updateSettings(settings),
};
}