mirror of
https://github.com/n8n-io/n8n.git
synced 2024-11-15 17:14:05 -08:00
421dd72224
* introduce analytics * add user survey backend * add user survey backend * set answers on survey submit Co-authored-by: Mutasem Aldmour <4711238+mutdmour@users.noreply.github.com> * change name to personalization * lint Co-authored-by: Mutasem Aldmour <4711238+mutdmour@users.noreply.github.com> * N8n 2495 add personalization modal (#2280) * update modals * add onboarding modal * implement questions * introduce analytics * simplify impl * implement survey handling * add personalized cateogry * update modal behavior * add thank you view * handle empty cases * rename modal * standarize modal names * update image, add tags to headings * remove unused file * remove unused interfaces * clean up footer spacing * introduce analytics * refactor to fix bug * update endpoint * set min height * update stories * update naming from questions to survey * remove spacing after core categories * fix bug in logic * sort nodes * rename types * merge with be * rename userSurvey * clean up rest api * use constants for keys * use survey keys * clean up types * move personalization to its own file Co-authored-by: ahsan-virani <ahsan.virani@gmail.com> * Survey new options (#2300) * split up options * fix quotes * remove unused import * add user created workflow event (#2301) * simplify env vars * fix versionCli on FE * update personalization env * fix event User opened Credentials panel * fix select modal spacing * fix nodes panel event * fix workflow id in workflow execute event * improve telemetry error logging * fix config and stop process events * add flush call on n8n stop * ready for release * improve telemetry process exit * fix merge * improve n8n stop events Co-authored-by: Mutasem Aldmour <4711238+mutdmour@users.noreply.github.com> Co-authored-by: Mutasem <mutdmour@gmail.com> Co-authored-by: Jan Oberhauser <jan.oberhauser@gmail.com>
50 lines
942 B
Vue
50 lines
942 B
Vue
<template>
|
|
<div>
|
|
<n8n-menu-item
|
|
v-for="item in items"
|
|
:key="item.id"
|
|
:index="item.id"
|
|
@click="onClick(item)"
|
|
>
|
|
<font-awesome-icon :icon="item.properties.icon" />
|
|
<span slot="title" :class="{'item-title-root': root, 'item-title': !root}">{{ item.properties.title }}</span>
|
|
</n8n-menu-item>
|
|
</div>
|
|
</template>
|
|
|
|
<script lang="ts">
|
|
|
|
import { IMenuItem } from '../Interface';
|
|
import Vue from 'vue';
|
|
|
|
export default Vue.extend({
|
|
name: 'MenuItemsIterator',
|
|
props: [
|
|
'items',
|
|
'root',
|
|
'afterItemClick',
|
|
],
|
|
methods: {
|
|
onClick(item: IMenuItem) {
|
|
if (item && item.type === 'link' && item.properties) {
|
|
const href = item.properties.href;
|
|
if (!href) {
|
|
return;
|
|
}
|
|
|
|
if (item.properties.newWindow) {
|
|
window.open(href);
|
|
}
|
|
else {
|
|
window.location.assign(item.properties.href);
|
|
}
|
|
|
|
if(this.afterItemClick) {
|
|
this.afterItemClick(item.id);
|
|
}
|
|
}
|
|
},
|
|
},
|
|
});
|
|
</script>
|