mirror of
https://github.com/elastic/kibana.git
synced 2025-04-23 17:28:26 -04:00
[Maps] fix save to maps for by_value map embeddables (#102968)
* [Maps] fix save to maps for by_value map embeddables * show the save as dialog with the option to update Panel on dashboard Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
This commit is contained in:
parent
136d361703
commit
1e7ef987be
2 changed files with 17 additions and 3 deletions
|
@ -241,6 +241,10 @@ export class SavedMap {
|
|||
return this._originatingApp;
|
||||
}
|
||||
|
||||
public getOriginatingAppName(): string | undefined {
|
||||
return this._originatingApp ? this.getAppNameFromId(this._originatingApp) : undefined;
|
||||
}
|
||||
|
||||
public getAppNameFromId = (appId: string): string | undefined => {
|
||||
return this._getStateTransfer().getAppNameFromId(appId);
|
||||
};
|
||||
|
|
|
@ -151,9 +151,8 @@ export function getTopNavConfig({
|
|||
const saveModalProps = {
|
||||
onSave: async (
|
||||
props: OnSaveProps & {
|
||||
returnToOrigin?: boolean;
|
||||
dashboardId?: string | null;
|
||||
addToLibrary?: boolean;
|
||||
addToLibrary: boolean;
|
||||
}
|
||||
) => {
|
||||
try {
|
||||
|
@ -181,7 +180,7 @@ export function getTopNavConfig({
|
|||
await savedMap.save({
|
||||
...props,
|
||||
newTags: selectedTags,
|
||||
saveByReference: Boolean(props.addToLibrary),
|
||||
saveByReference: props.addToLibrary,
|
||||
});
|
||||
// showSaveModal wrapper requires onSave to return an object with an id to close the modal after successful save
|
||||
return { id: 'id' };
|
||||
|
@ -204,8 +203,19 @@ export function getTopNavConfig({
|
|||
saveModal = (
|
||||
<SavedObjectSaveModalOrigin
|
||||
{...saveModalProps}
|
||||
onSave={async (props: OnSaveProps) => {
|
||||
return saveModalProps.onSave({ ...props, addToLibrary: true });
|
||||
}}
|
||||
originatingApp={savedMap.getOriginatingApp()}
|
||||
getAppNameFromId={savedMap.getAppNameFromId}
|
||||
returnToOriginSwitchLabel={
|
||||
savedMap.isByValue()
|
||||
? i18n.translate('xpack.maps.topNav.updatePanel', {
|
||||
defaultMessage: 'Update panel on {originatingAppName}',
|
||||
values: { originatingAppName: savedMap.getOriginatingAppName() },
|
||||
})
|
||||
: undefined
|
||||
}
|
||||
options={tagSelector}
|
||||
/>
|
||||
);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue