activator for formview and datagridcore

This commit is contained in:
Jan Prochazka
2021-04-07 21:12:15 +02:00
parent 54cf6ad411
commit d236782795
3 changed files with 21 additions and 31 deletions

View File

@@ -1,10 +1,15 @@
import { getContext } from 'svelte';
import { get_current_component, onMount, setContext } from 'svelte/internal';
import invalidateCommands from '../commands/invalidateCommands';
import getAsArray from './getAsArray';
const lastActiveDictionary = {};
export default function createActivator(name, activateOnTabVisible) {
export default function createActivator(
name: string,
activateOnTabVisible: boolean,
mutualExclusive: string | string[] = []
) {
const instance = get_current_component();
const tabVisible: any = getContext('tabVisible');
const tabid = getContext('tabid');
@@ -28,6 +33,9 @@ export default function createActivator(name, activateOnTabVisible) {
const activate = () => {
lastActiveDictionary[name] = instance;
for (const comp of getAsArray(mutualExclusive)) {
delete lastActiveDictionary[comp];
}
if (parentActivatorInstance) {
parentActivatorInstance.activator.activate();
}