Skip to content

События

Для отлеживания изменений на странице вы можете использовать шину событий.

vue
<script lang="ts" setup>
import { Injections, type Issue } from "luna";
import { onMounted } from "vue";
import { inject } from "@vue/runtime-core";

const $bus = inject(Injections.$bus);

const onIssueUpdated = (data: {issue: Issue, initiator: string, fields?: string[]}) => {
  console.log(data.issue);
}

onMounted(() => {
  $bus.on('issue.updated', onIssueUpdated)
})
</script>

Пользовательские события

Если вы на бекэнде добавили WebItem с событием, вы можете подписаться на него:

vue
<script lang="ts" setup>
import { Injections, type Issue } from "luna";
import { onMounted } from "vue";
import { inject } from "@vue/runtime-core";

const $bus = inject(Injections.$bus);

const onMyActions = (data: {name: string, issue?: Issue, initiator?: string, params: Record<string, string>}) => {
  console.log(data.issue);
}

onMounted(() => {
  $bus.on('action.custom', onMyActions)
})
</script>