refactor(editor): Standardize how we use defineEmits in components using the composition API (no-changelog) (#9934)

This commit is contained in:
Ricardo Espinoza 2024-07-04 03:30:51 -04:00 committed by GitHub
parent 7a3c127b2c
commit cef177455e
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
96 changed files with 212 additions and 222 deletions

View file

@ -16,12 +16,7 @@ module.exports = {
overrides: [ overrides: [
{ {
files: [ files: ['**/*.test.ts', '**/test/**/*.ts', '**/__tests__/**/*.ts', '**/*.stories.ts'],
'**/*.test.ts',
'**/test/**/*.ts',
'**/__tests__/**/*.ts',
'**/*.stories.ts',
],
rules: { rules: {
'import/no-extraneous-dependencies': 'off', 'import/no-extraneous-dependencies': 'off',
}, },
@ -60,6 +55,7 @@ module.exports = {
'vue/prop-name-casing': ['error', 'camelCase'], 'vue/prop-name-casing': ['error', 'camelCase'],
'vue/attribute-hyphenation': ['error', 'always'], 'vue/attribute-hyphenation': ['error', 'always'],
'import/no-extraneous-dependencies': 'warn', 'import/no-extraneous-dependencies': 'warn',
'vue/define-emits-declaration': ['error', 'type-literal'],
// TODO: fix these // TODO: fix these
'@typescript-eslint/no-unsafe-call': 'off', '@typescript-eslint/no-unsafe-call': 'off',

View file

@ -102,8 +102,8 @@ const getItemClasses = (item: ActionDropdownItem): Record<string, boolean> => {
}; };
const $emit = defineEmits<{ const $emit = defineEmits<{
(event: 'select', action: string): void; select: [action: string];
(event: 'visibleChange', open: boolean): void; visibleChange: [open: boolean];
}>(); }>();
const elementDropdown = ref<InstanceType<typeof ElDropdown>>(); const elementDropdown = ref<InstanceType<typeof ElDropdown>>();

View file

@ -69,8 +69,8 @@ withDefaults(defineProps<ActionToggleProps>(), {
}); });
const $emit = defineEmits<{ const $emit = defineEmits<{
(event: 'action', value: string): void; action: [value: string];
(event: 'visible-change', value: boolean): void; 'visible-change': [value: boolean];
}>(); }>();
const onCommand = (value: string) => $emit('action', value); const onCommand = (value: string) => $emit('action', value);
const onVisibleChange = (value: boolean) => $emit('visible-change', value); const onVisibleChange = (value: boolean) => $emit('visible-change', value);

View file

@ -45,10 +45,11 @@ withDefaults(defineProps<CheckboxProps>(), {
labelSize: 'medium', labelSize: 'medium',
}); });
const $emit = defineEmits<{ const emit = defineEmits<{
(event: 'update:modelValue', value: CheckboxValueType): void; 'update:modelValue': [value: CheckboxValueType];
}>(); }>();
const onUpdateModelValue = (value: CheckboxValueType) => $emit('update:modelValue', value);
const onUpdateModelValue = (value: CheckboxValueType) => emit('update:modelValue', value);
const checkbox = ref<InstanceType<typeof ElCheckbox>>(); const checkbox = ref<InstanceType<typeof ElCheckbox>>();
const onLabelClick = () => { const onLabelClick = () => {

View file

@ -36,9 +36,9 @@ const colorPickerProps = computed(() => {
}); });
const emit = defineEmits<{ const emit = defineEmits<{
(event: 'update:modelValue', value: string | null): void; 'update:modelValue': [value: string | null];
(event: 'change', value: string | null): void; change: [value: string | null];
(event: 'active-change', value: string | null): void; 'active-change': [value: string | null];
}>(); }>();
const onChange = (value: string | null) => { const onChange = (value: string | null) => {

View file

@ -85,8 +85,8 @@ const props = withDefaults(defineProps<DatatableProps>(), {
}); });
const $emit = defineEmits<{ const $emit = defineEmits<{
(event: 'update:currentPage', value: number): void; 'update:currentPage': [value: number];
(event: 'update:rowsPerPage', value: number): void; 'update:rowsPerPage': [value: number];
}>(); }>();
const { t } = useI18n(); const { t } = useI18n();

View file

@ -69,9 +69,9 @@ withDefaults(defineProps<FormBoxProps>(), {
const formBus = createEventBus(); const formBus = createEventBus();
const $emit = defineEmits<{ const $emit = defineEmits<{
(event: 'submit', value: { [key: string]: Value }): void; submit: [value: { [key: string]: Value }];
(event: 'update', value: { name: string; value: Value }): void; update: [value: { name: string; value: Value }];
(event: 'secondaryClick', value: Event): void; secondaryClick: [value: Event];
}>(); }>();
const onUpdateModelValue = (e: { name: string; value: Value }) => $emit('update', e); const onUpdateModelValue = (e: { name: string; value: Value }) => $emit('update', e);

View file

@ -158,11 +158,11 @@ const props = withDefaults(defineProps<Props>(), {
}); });
const $emit = defineEmits<{ const $emit = defineEmits<{
(event: 'validate', shouldValidate: boolean): void; validate: [shouldValidate: boolean];
(event: 'update:modelValue', value: Validatable): void; 'update:modelValue': [value: Validatable];
(event: 'focus'): void; focus: [];
(event: 'blur'): void; blur: [];
(event: 'enter'): void; enter: [];
}>(); }>();
const state = reactive({ const state = reactive({

View file

@ -27,10 +27,10 @@ const props = withDefaults(defineProps<FormInputsProps>(), {
}); });
const emit = defineEmits<{ const emit = defineEmits<{
(name: 'update', _: { name: string; value: Value }): boolean; update: [value: { name: string; value: Value }];
(name: 'update:modelValue', value: Record<string, Value>): boolean; 'update:modelValue': [value: Record<string, Value>];
(name: 'submit', value: Record<string, Value>): boolean; submit: [value: Record<string, Value>];
(name: 'ready', value: boolean): boolean; ready: [value: boolean];
}>(); }>();
const showValidationWarnings = ref(false); const showValidationWarnings = ref(false);

View file

@ -69,8 +69,8 @@ const props = withDefaults(defineProps<InfoAccordionProps>(), {
eventBus: () => createEventBus(), eventBus: () => createEventBus(),
}); });
const $emit = defineEmits<{ const $emit = defineEmits<{
(name: 'click:body', e: MouseEvent): void; 'click:body': [e: MouseEvent];
(name: 'tooltipClick', item: string, e: MouseEvent): void; tooltipClick: [item: string, e: MouseEvent];
}>(); }>();
const expanded = ref(false); const expanded = ref(false);

View file

@ -156,8 +156,8 @@ const htmlContent = computed(() => {
}); });
const $emit = defineEmits<{ const $emit = defineEmits<{
(event: 'markdown-click', link: string, e: MouseEvent): void; 'markdown-click': [link: string, e: MouseEvent];
(event: 'update-content', content: string): void; 'update-content': [content: string];
}>(); }>();
const onClick = (event: MouseEvent) => { const onClick = (event: MouseEvent) => {

View file

@ -83,8 +83,8 @@ const props = withDefaults(defineProps<MenuProps>(), {
const $route = useRoute(); const $route = useRoute();
const $emit = defineEmits<{ const $emit = defineEmits<{
(event: 'select', itemId: string): void; select: [itemId: string];
(event: 'update:modelValue', itemId: string): void; 'update:modelValue': [itemId: string];
}>(); }>();
const activeTab = ref(props.modelValue); const activeTab = ref(props.modelValue);

View file

@ -18,7 +18,7 @@ export interface Props {
defineProps<Props>(); defineProps<Props>();
defineEmits<{ defineEmits<{
(event: 'tooltipClick', $e: MouseEvent): void; tooltipClick: [e: MouseEvent];
}>(); }>();
const { t } = useI18n(); const { t } = useI18n();

View file

@ -36,7 +36,7 @@ const props = withDefaults(defineProps<NoticeProps>(), {
}); });
const $emit = defineEmits<{ const $emit = defineEmits<{
(event: 'action', key: string): void; action: [key: string];
}>(); }>();
const $style = useCssModule(); const $style = useCssModule();

View file

@ -39,7 +39,7 @@ const props = withDefaults(defineProps<RadioButtonsProps>(), {
}); });
const $emit = defineEmits<{ const $emit = defineEmits<{
(event: 'update:modelValue', value: string, e: MouseEvent): void; 'update:modelValue': [value: string, e: MouseEvent];
}>(); }>();
const onClick = ( const onClick = (

View file

@ -80,9 +80,9 @@ export interface ResizeData {
} }
const $emit = defineEmits<{ const $emit = defineEmits<{
(event: 'resizestart'): void; resizestart: [];
(event: 'resize', value: ResizeData): void; resize: [value: ResizeData];
(event: 'resizeend'): void; resizeend: [];
}>(); }>();
const enabledDirections = computed((): Direction[] => { const enabledDirections = computed((): Direction[] => {

View file

@ -94,13 +94,13 @@ const props = withDefaults(defineProps<StickyProps>(), {
backgroundColor: 1, backgroundColor: 1,
}); });
const $emit = defineEmits<{ const emit = defineEmits<{
(event: 'edit', editing: boolean): void; edit: [editing: boolean];
(event: 'update:modelValue', value: string): void; 'update:modelValue': [value: string];
(event: 'markdown-click', link: string, e: Event): void; 'markdown-click': [link: string, e: Event];
(event: 'resize', values: ResizeData): void; resize: [values: ResizeData];
(event: 'resizestart'): void; resizestart: [];
(event: 'resizeend'): void; resizeend: [];
}>(); }>();
const { t } = useI18n(); const { t } = useI18n();
@ -137,33 +137,33 @@ watch(
); );
const onDoubleClick = () => { const onDoubleClick = () => {
if (!props.readOnly) $emit('edit', true); if (!props.readOnly) emit('edit', true);
}; };
const onInputBlur = () => { const onInputBlur = () => {
if (!isResizing.value) $emit('edit', false); if (!isResizing.value) emit('edit', false);
}; };
const onUpdateModelValue = (value: string) => { const onUpdateModelValue = (value: string) => {
$emit('update:modelValue', value); emit('update:modelValue', value);
}; };
const onMarkdownClick = (link: string, event: Event) => { const onMarkdownClick = (link: string, event: Event) => {
$emit('markdown-click', link, event); emit('markdown-click', link, event);
}; };
const onResize = (values: ResizeData) => { const onResize = (values: ResizeData) => {
$emit('resize', values); emit('resize', values);
}; };
const onResizeStart = () => { const onResizeStart = () => {
isResizing.value = true; isResizing.value = true;
$emit('resizestart'); emit('resizestart');
}; };
const onResizeEnd = () => { const onResizeEnd = () => {
isResizing.value = false; isResizing.value = false;
$emit('resizeend'); emit('resizeend');
}; };
const onInputScroll = (event: WheelEvent) => { const onInputScroll = (event: WheelEvent) => {

View file

@ -111,8 +111,8 @@ onUnmounted(() => {
}); });
const $emit = defineEmits<{ const $emit = defineEmits<{
(event: 'tooltipClick', tab: string, e: MouseEvent): void; tooltipClick: [tab: string, e: MouseEvent];
(event: 'update:modelValue', tab: string): void; 'update:modelValue': [tab: string];
}>(); }>();
const handleTooltipClick = (tab: string, event: MouseEvent) => $emit('tooltipClick', tab, event); const handleTooltipClick = (tab: string, event: MouseEvent) => $emit('tooltipClick', tab, event);

View file

@ -43,8 +43,8 @@ const props = withDefaults(defineProps<TagsProp>(), {
}); });
const $emit = defineEmits<{ const $emit = defineEmits<{
(event: 'expand', value: boolean): void; expand: [value: boolean];
(event: 'click:tag', tagId: string, e: MouseEvent): void; 'click:tag': [tagId: string, e: MouseEvent];
}>(); }>();
const { t } = useI18n(); const { t } = useI18n();

View file

@ -55,8 +55,8 @@ const props = withDefaults(defineProps<UserSelectProps>(), {
}); });
const $emit = defineEmits<{ const $emit = defineEmits<{
(event: 'blur'): void; blur: [];
(event: 'focus'): void; focus: [];
}>(); }>();
const { t } = useI18n(); const { t } = useI18n();

View file

@ -105,11 +105,11 @@ const getActions = (user: IUser): UserAction[] => {
return props.actions.filter((action) => (action.guard ?? defaultGuard)(user)); return props.actions.filter((action) => (action.guard ?? defaultGuard)(user));
}; };
const $emit = defineEmits<{ const emit = defineEmits<{
(event: 'action', _: { action: string; userId: string }): void; action: [value: { action: string; userId: string }];
}>(); }>();
const onUserAction = (user: IUser, action: string) => const onUserAction = (user: IUser, action: string) =>
$emit('action', { emit('action', {
action, action,
userId: user.id, userId: user.id,
}); });

View file

@ -8,7 +8,7 @@ const aiStore = useAIStore();
const locale = useI18n(); const locale = useI18n();
const telemetry = useTelemetry(); const telemetry = useTelemetry();
const emit = defineEmits<{ (event: 'optionSelected', option: string): void }>(); const emit = defineEmits<{ optionSelected: [option: string] }>();
const aiAssistantChatOpen = computed(() => aiStore.assistantChatOpen); const aiAssistantChatOpen = computed(() => aiStore.assistantChatOpen);

View file

@ -10,7 +10,7 @@ type QuickReply = {
const locale = useI18n(); const locale = useI18n();
const emit = defineEmits<{ const emit = defineEmits<{
(event: 'replySelected', value: QuickReply): void; replySelected: [value: QuickReply];
}>(); }>();
defineProps<{ defineProps<{

View file

@ -26,8 +26,8 @@ const props = defineProps<Props>();
const assignment = ref<AssignmentValue>(props.modelValue); const assignment = ref<AssignmentValue>(props.modelValue);
const emit = defineEmits<{ const emit = defineEmits<{
(event: 'update:model-value', value: AssignmentValue): void; 'update:model-value': [value: AssignmentValue];
(event: 'remove'): void; remove: [];
}>(); }>();
const ndvStore = useNDVStore(); const ndvStore = useNDVStore();

View file

@ -27,10 +27,7 @@ interface Props {
const props = withDefaults(defineProps<Props>(), { isReadOnly: false }); const props = withDefaults(defineProps<Props>(), { isReadOnly: false });
const emit = defineEmits<{ const emit = defineEmits<{
( valueChanged: [value: { name: string; node: string; value: AssignmentCollectionValue }];
event: 'valueChanged',
value: { name: string; node: string; value: AssignmentCollectionValue },
): void;
}>(); }>();
const i18n = useI18n(); const i18n = useI18n();

View file

@ -12,7 +12,7 @@ interface Props {
const props = defineProps<Props>(); const props = defineProps<Props>();
const emit = defineEmits<{ const emit = defineEmits<{
(event: 'update:model-value', type: string): void; 'update:model-value': [type: string];
}>(); }>();
const i18n = useI18n(); const i18n = useI18n();

View file

@ -31,7 +31,7 @@ const props = defineProps<{
}>(); }>();
const emit = defineEmits<{ const emit = defineEmits<{
(event: 'close'): void; close: [];
}>(); }>();
const nodeHelpers = useNodeHelpers(); const nodeHelpers = useNodeHelpers();

View file

@ -28,10 +28,10 @@ import {
} from '@/constants'; } from '@/constants';
const emit = defineEmits<{ const emit = defineEmits<{
(e: 'submit', code: string): void; submit: [code: string];
(e: 'replaceCode', code: string): void; replaceCode: [code: string];
(e: 'startedLoading'): void; startedLoading: [];
(e: 'finishedLoading'): void; finishedLoading: [];
}>(); }>();
const props = defineProps<{ const props = defineProps<{

View file

@ -94,7 +94,7 @@ const props = withDefaults(defineProps<Props>(), {
rows: 4, rows: 4,
}); });
const emit = defineEmits<{ const emit = defineEmits<{
(event: 'update:modelValue', value: string): void; 'update:modelValue': [value: string];
}>(); }>();
const message = useMessage(); const message = useMessage();

View file

@ -76,8 +76,9 @@ export interface Props {
isReadOnly?: boolean; isReadOnly?: boolean;
} }
const emit = defineEmits<{ const emit = defineEmits<{
(event: 'valueChanged', value: IUpdateInformation): void; valueChanged: [value: IUpdateInformation];
}>(); }>();
const props = defineProps<Props>(); const props = defineProps<Props>();
const ndvStore = useNDVStore(); const ndvStore = useNDVStore();
const i18n = useI18n(); const i18n = useI18n();

View file

@ -7,7 +7,7 @@ import { watch, ref } from 'vue';
const contextMenu = useContextMenu(); const contextMenu = useContextMenu();
const { position, isOpen, actions, target } = contextMenu; const { position, isOpen, actions, target } = contextMenu;
const dropdown = ref<InstanceType<typeof N8nActionDropdown>>(); const dropdown = ref<InstanceType<typeof N8nActionDropdown>>();
const emit = defineEmits<{ (event: 'action', action: ContextMenuAction, nodes: INode[]): void }>(); const emit = defineEmits<{ action: [action: ContextMenuAction, nodes: INode[]] }>();
watch( watch(
isOpen, isOpen,

View file

@ -48,7 +48,7 @@ const props = withDefaults(defineProps<Props>(), {
toastTitle: useI18n().baseText('generic.copiedToClipboard'), toastTitle: useI18n().baseText('generic.copiedToClipboard'),
}); });
const emit = defineEmits<{ const emit = defineEmits<{
(event: 'copy'): void; copy: [];
}>(); }>();
const clipboard = useClipboard(); const clipboard = useClipboard();

View file

@ -22,7 +22,7 @@ export interface Props {
} }
const emit = defineEmits<{ const emit = defineEmits<{
(event: 'authTypeChanged', value: string): void; authTypeChanged: [value: string];
}>(); }>();
const nodeTypesStore = useNodeTypesStore(); const nodeTypesStore = useNodeTypesStore();

View file

@ -215,11 +215,11 @@ const props = withDefaults(defineProps<Props>(), {
credentialPermissions: () => ({}) as PermissionsMap<CredentialScope>, credentialPermissions: () => ({}) as PermissionsMap<CredentialScope>,
}); });
const emit = defineEmits<{ const emit = defineEmits<{
(event: 'update', value: IUpdateInformation): void; update: [value: IUpdateInformation];
(event: 'authTypeChanged', value: string): void; authTypeChanged: [value: string];
(event: 'scrollToTop'): void; scrollToTop: [];
(event: 'retest'): void; retest: [];
(event: 'oauth'): void; oauth: [];
}>(); }>();
const credentialsStore = useCredentialsStore(); const credentialsStore = useCredentialsStore();

View file

@ -47,7 +47,7 @@ const credentialDataValues = computed(
); );
const emit = defineEmits<{ const emit = defineEmits<{
(event: 'update', value: IUpdateInformation): void; update: [value: IUpdateInformation];
}>(); }>();
function valueChanged(parameterData: IUpdateInformation) { function valueChanged(parameterData: IUpdateInformation) {

View file

@ -14,9 +14,9 @@ const props = defineProps<{
}>(); }>();
const $emit = defineEmits<{ const $emit = defineEmits<{
(event: 'credentialSelected', credentialId: string): void; credentialSelected: [credentialId: string];
(event: 'credentialDeselected'): void; credentialDeselected: [];
(event: 'credentialModalOpened'): void; credentialModalOpened: [];
}>(); }>();
const uiStore = useUIStore(); const uiStore = useUIStore();

View file

@ -13,8 +13,8 @@ const props = defineProps<{
}>(); }>();
const $emit = defineEmits<{ const $emit = defineEmits<{
(event: 'credentialSelected', credentialId: string): void; credentialSelected: [credentialId: string];
(event: 'newCredential'): void; newCredential: [];
}>(); }>();
const i18n = useI18n(); const i18n = useI18n();

View file

@ -30,10 +30,11 @@ type Props = {
}; };
const props = withDefaults(defineProps<Props>(), { tag: 'div', disabled: false }); const props = withDefaults(defineProps<Props>(), { tag: 'div', disabled: false });
const emit = defineEmits<{ const emit = defineEmits<{
(event: 'drag', value: XYPosition): void; drag: [value: XYPosition];
(event: 'dragstart', value: HTMLElement): void; dragstart: [value: HTMLElement];
(event: 'dragend', value: HTMLElement): void; dragend: [value: HTMLElement];
}>(); }>();
const isDragging = ref(false); const isDragging = ref(false);

View file

@ -24,8 +24,9 @@ const props = withDefaults(defineProps<Props>(), {
stickyOffset: () => [0, 0], stickyOffset: () => [0, 0],
stickyOrigin: 'top-left', stickyOrigin: 'top-left',
}); });
const emit = defineEmits<{ const emit = defineEmits<{
(event: 'drop', value: string): void; drop: [value: string];
}>(); }>();
const hovering = ref(false); const hovering = ref(false);

View file

@ -1,7 +1,7 @@
<script setup lang="ts"> <script setup lang="ts">
import DraggableTarget from '@/components/DraggableTarget.vue'; import DraggableTarget from '@/components/DraggableTarget.vue';
const emit = defineEmits<{ (event: 'drop', value: string): void }>(); const emit = defineEmits<{ drop: [value: string] }>();
const onDrop = (value: string) => { const onDrop = (value: string) => {
emit('drop', value); emit('drop', value);

View file

@ -30,10 +30,10 @@ type Props = {
const props = defineProps<Props>(); const props = defineProps<Props>();
const emit = defineEmits<{ const emit = defineEmits<{
(event: 'update:model-value', value: string): void; 'update:model-value': [value: string];
(event: 'enter', value: string): void; enter: [value: string];
(event: 'blur', value: string): void; blur: [value: string];
(event: 'esc'): void; esc: [];
}>(); }>();
const inputRef = ref<HTMLInputElement>(); const inputRef = ref<HTMLInputElement>();

View file

@ -37,9 +37,9 @@ const props = withDefaults(defineProps<Props>(), {
}); });
const emit = defineEmits<{ const emit = defineEmits<{
(event: 'change', value: { value: string; segments: Segment[] }): void; change: [value: { value: string; segments: Segment[] }];
(event: 'focus'): void; focus: [];
(event: 'close'): void; close: [];
}>(); }>();
const root = ref<HTMLElement>(); const root = ref<HTMLElement>();

View file

@ -39,10 +39,10 @@ const props = withDefaults(defineProps<Props>(), {
}); });
const emit = defineEmits<{ const emit = defineEmits<{
(event: 'modal-opener-click'): void; 'modal-opener-click': [];
(event: 'update:model-value', value: string): void; 'update:model-value': [value: string];
(event: 'focus'): void; focus: [];
(event: 'blur'): void; blur: [];
}>(); }>();
const telemetry = useTelemetry(); const telemetry = useTelemetry();

View file

@ -7,7 +7,7 @@ import { computed, onMounted, ref } from 'vue';
import type { EventBus } from 'n8n-design-system/utils'; import type { EventBus } from 'n8n-design-system/utils';
const emit = defineEmits<{ const emit = defineEmits<{
(e: 'change', value: boolean): void; change: [value: boolean];
}>(); }>();
const props = withDefaults( const props = withDefaults(

View file

@ -2,7 +2,7 @@
import { useI18n } from '@/composables/useI18n'; import { useI18n } from '@/composables/useI18n';
const emit = defineEmits<{ const emit = defineEmits<{
(e: 'update:modelValue', feedback: 'positive' | 'negative'): void; 'update:modelValue': [feedback: 'positive' | 'negative'];
}>(); }>();
defineProps<{ defineProps<{

View file

@ -11,7 +11,7 @@ interface Props {
defineProps<Props>(); defineProps<Props>();
const emit = defineEmits<{ const emit = defineEmits<{
(event: 'combinatorChange', value: FilterTypeCombinator): void; combinatorChange: [value: FilterTypeCombinator];
}>(); }>();
const i18n = useI18n(); const i18n = useI18n();

View file

@ -43,8 +43,8 @@ const props = withDefaults(defineProps<Props>(), {
}); });
const emit = defineEmits<{ const emit = defineEmits<{
(event: 'update', value: FilterConditionValue): void; update: [value: FilterConditionValue];
(event: 'remove'): void; remove: [];
}>(); }>();
const i18n = useI18n(); const i18n = useI18n();

View file

@ -35,7 +35,7 @@ interface Props {
const props = withDefaults(defineProps<Props>(), { readOnly: false }); const props = withDefaults(defineProps<Props>(), { readOnly: false });
const emit = defineEmits<{ const emit = defineEmits<{
(event: 'valueChanged', value: { name: string; node: string; value: FilterValue }): void; valueChanged: [value: { name: string; node: string; value: FilterValue }];
}>(); }>();
const i18n = useI18n(); const i18n = useI18n();

View file

@ -18,7 +18,7 @@ const shouldRenderItems = ref(false);
const submenu = ref('none'); const submenu = ref('none');
const emit = defineEmits<{ const emit = defineEmits<{
(event: 'operatorChange', value: string): void; operatorChange: [value: string];
}>(); }>();
const i18n = useI18n(); const i18n = useI18n();

View file

@ -59,7 +59,7 @@ const props = withDefaults(defineProps<Props>(), {
}); });
const emit = defineEmits<{ const emit = defineEmits<{
(event: 'update:model-value', value: string): void; 'update:model-value': [value: string];
}>(); }>();
const htmlEditor = ref<HTMLElement>(); const htmlEditor = ref<HTMLElement>();

View file

@ -39,9 +39,9 @@ const props = withDefaults(defineProps<Props>(), {
}); });
const emit = defineEmits<{ const emit = defineEmits<{
(event: 'update:model-value', value: { value: string; segments: Segment[] }): void; 'update:model-value': [value: { value: string; segments: Segment[] }];
(event: 'update:selection', value: { state: EditorState; selection: SelectionRange }): void; 'update:selection': [value: { state: EditorState; selection: SelectionRange }];
(event: 'focus'): void; focus: [];
}>(); }>();
const ndvStore = useNDVStore(); const ndvStore = useNDVStore();

View file

@ -44,7 +44,7 @@ interface Props {
const props = defineProps<Props>(); const props = defineProps<Props>();
const emit = defineEmits<{ const emit = defineEmits<{
(event: 'update:modelValue', value: string): void; 'update:modelValue': [value: string];
}>(); }>();
const isNameEdit = ref(false); const isNameEdit = ref(false);

View file

@ -46,8 +46,8 @@ const props = withDefaults(
); );
const emit = defineEmits<{ const emit = defineEmits<{
(event: 'toggle'): void; toggle: [];
(event: 'submit', payload: { name: string; onSubmit: (updated: boolean) => void }): void; submit: [payload: { name: string; onSubmit: (updated: boolean) => void }];
}>(); }>();
const isDisabled = ref(props.disabled); const isDisabled = ref(props.disabled);

View file

@ -17,7 +17,7 @@ type Props = {
const props = defineProps<Props>(); const props = defineProps<Props>();
const emit = defineEmits<{ const emit = defineEmits<{
(event: 'update:model-value', value: string): void; 'update:model-value': [value: string];
}>(); }>();
const i18n = useI18n(); const i18n = useI18n();

View file

@ -41,7 +41,7 @@ type Props = {
const props = withDefaults(defineProps<Props>(), { fillParent: false, isReadOnly: false, rows: 4 }); const props = withDefaults(defineProps<Props>(), { fillParent: false, isReadOnly: false, rows: 4 });
const emit = defineEmits<{ const emit = defineEmits<{
(event: 'update:modelValue', value: string): void; 'update:modelValue': [value: string];
}>(); }>();
onMounted(() => { onMounted(() => {

View file

@ -41,7 +41,7 @@ type Props = {
const props = withDefaults(defineProps<Props>(), { fillParent: false, isReadOnly: false, rows: 4 }); const props = withDefaults(defineProps<Props>(), { fillParent: false, isReadOnly: false, rows: 4 });
const emit = defineEmits<{ const emit = defineEmits<{
(event: 'update:modelValue', value: string): void; 'update:modelValue': [value: string];
}>(); }>();
const jsonEditorRef = ref<HTMLDivElement>(); const jsonEditorRef = ref<HTMLDivElement>();

View file

@ -29,7 +29,7 @@ withDefaults(
); );
const emit = defineEmits<{ const emit = defineEmits<{
(key: 'update:modelValue', tab: MAIN_HEADER_TABS, event: MouseEvent): void; 'update:modelValue': [tab: MAIN_HEADER_TABS, event: MouseEvent];
}>(); }>();
function onUpdateModelValue(tab: MAIN_HEADER_TABS, event: MouseEvent): void { function onUpdateModelValue(tab: MAIN_HEADER_TABS, event: MouseEvent): void {

View file

@ -57,7 +57,7 @@ const workflowsStore = useWorkflowsStore();
const nodeTypesStore = useNodeTypesStore(); const nodeTypesStore = useNodeTypesStore();
const workflow = workflowsStore.getCurrentWorkflow(); const workflow = workflowsStore.getCurrentWorkflow();
const emit = defineEmits<{ const emit = defineEmits<{
(key: 'switchSelectedNode', nodeName: string): void; switchSelectedNode: [nodeName: string];
}>(); }>();
interface NodeConfig { interface NodeConfig {

View file

@ -140,8 +140,8 @@ const nodeTypesStore = useNodeTypesStore();
const nodeHelpers = useNodeHelpers(); const nodeHelpers = useNodeHelpers();
const { debounce } = useDebounce(); const { debounce } = useDebounce();
const emit = defineEmits<{ const emit = defineEmits<{
(event: 'switchSelectedNode', nodeName: string): void; switchSelectedNode: [nodeName: string];
(event: 'openConnectionNodeCreator', nodeName: string, connectionType: ConnectionTypes): void; openConnectionNodeCreator: [nodeName: string, connectionType: ConnectionTypes];
}>(); }>();
interface NodeConfig { interface NodeConfig {

View file

@ -27,8 +27,8 @@ const props = withDefaults(defineProps<Props>(), {
}); });
const emit = defineEmits<{ const emit = defineEmits<{
(event: 'addNodes', value: AddedNodesAndConnections): void; addNodes: [value: AddedNodesAndConnections];
(event: 'toggleNodeCreator', value: ToggleNodeCreatorOptions): void; toggleNodeCreator: [value: ToggleNodeCreatorOptions];
}>(); }>();
const state = reactive({ const state = reactive({

View file

@ -30,7 +30,7 @@ import type { IDataObject } from 'n8n-workflow';
import { useTelemetry } from '@/composables/useTelemetry'; import { useTelemetry } from '@/composables/useTelemetry';
const emit = defineEmits<{ const emit = defineEmits<{
(event: 'nodeTypeSelected', _: [actionKey: string, nodeName: string] | [nodeName: string]): void; nodeTypeSelected: [value: [actionKey: string, nodeName: string] | [nodeName: string]];
}>(); }>();
const telemetry = useTelemetry(); const telemetry = useTelemetry();

View file

@ -32,7 +32,7 @@ export interface Props {
} }
const emit = defineEmits<{ const emit = defineEmits<{
(event: 'nodeTypeSelected', nodeTypes: string[]): void; nodeTypeSelected: [nodeTypes: string[]];
}>(); }>();
const i18n = useI18n(); const i18n = useI18n();

View file

@ -49,8 +49,8 @@ const props = defineProps<Props>();
const { resetViewStacks } = useViewStacks(); const { resetViewStacks } = useViewStacks();
const { registerKeyHook } = useKeyboardNavigation(); const { registerKeyHook } = useKeyboardNavigation();
const emit = defineEmits<{ const emit = defineEmits<{
(event: 'closeNodeCreator'): void; closeNodeCreator: [];
(event: 'nodeTypeSelected', value: string[]): void; nodeTypeSelected: [value: string[]];
}>(); }>();
const uiStore = useUIStore(); const uiStore = useUIStore();
const aiStore = useAIStore(); const aiStore = useAIStore();

View file

@ -38,7 +38,7 @@ withDefaults(defineProps<Props>(), {
}); });
const emit = defineEmits<{ const emit = defineEmits<{
(event: 'update:modelValue', value: string): void; 'update:modelValue': [value: string];
}>(); }>();
const state = reactive({ const state = reactive({

View file

@ -176,16 +176,12 @@ import { useI18n } from '@/composables/useI18n';
import { storeToRefs } from 'pinia'; import { storeToRefs } from 'pinia';
const emit = defineEmits<{ const emit = defineEmits<{
(value: 'saveKeyboardShortcut', event: KeyboardEvent): void; saveKeyboardShortcut: [event: KeyboardEvent];
(value: 'valueChanged', parameterData: IUpdateInformation): void; valueChanged: [parameterData: IUpdateInformation];
(value: 'switchSelectedNode', nodeTypeName: string): void; switchSelectedNode: [nodeTypeName: string];
( openConnectionNodeCreator: [nodeTypeName: string, connectionType: NodeConnectionType];
value: 'openConnectionNodeCreator', redrawNode: [nodeName: string];
nodeTypeName: string, stopExecution: [];
connectionType: NodeConnectionType,
): void;
(value: 'redrawNode', nodeName: string): void;
(value: 'stopExecution'): void;
}>(); }>();
const props = withDefaults( const props = withDefaults(

View file

@ -57,7 +57,7 @@ const props = withDefaults(defineProps<Props>(), {
}); });
const emit = defineEmits<{ const emit = defineEmits<{
(event: 'click'): void; click: [];
}>(); }>();
const rootStore = useRootStore(); const rootStore = useRootStore();

View file

@ -38,7 +38,7 @@ const props = withDefaults(defineProps<Props>(), {
pushRef: '', pushRef: '',
}); });
const emit = defineEmits<{ const emit = defineEmits<{
(event: 'update:model-value', tab: Tab): void; 'update:model-value': [tab: Tab];
}>(); }>();
const externalHooks = useExternalHooks(); const externalHooks = useExternalHooks();

View file

@ -58,7 +58,7 @@ const props = withDefaults(defineProps<Props>(), {
readOnly: false, readOnly: false,
}); });
const emit = defineEmits<{ const emit = defineEmits<{
(event: 'update:model-value', value: string): void; 'update:model-value': [value: string];
}>(); }>();
const editName = ref(false); const editName = ref(false);
const newName = ref(''); const newName = ref('');

View file

@ -569,11 +569,11 @@ const props = withDefaults(defineProps<Props>(), {
}); });
const emit = defineEmits<{ const emit = defineEmits<{
(event: 'focus'): void; focus: [];
(event: 'blur'): void; blur: [];
(event: 'drop', expression: string): void; drop: [expression: string];
(event: 'textInput', update: IUpdateInformation): void; textInput: [update: IUpdateInformation];
(event: 'update', update: IUpdateInformation): void; update: [update: IUpdateInformation];
}>(); }>();
const externalHooks = useExternalHooks(); const externalHooks = useExternalHooks();

View file

@ -84,7 +84,7 @@ const props = withDefaults(defineProps<Props>(), {
label: () => ({ size: 'small' }), label: () => ({ size: 'small' }),
}); });
const emit = defineEmits<{ const emit = defineEmits<{
(event: 'update', value: IUpdateInformation): void; update: [value: IUpdateInformation];
}>(); }>();
const focused = ref(false); const focused = ref(false);

View file

@ -121,8 +121,8 @@ const props = withDefaults(defineProps<Props>(), {
label: () => ({ size: 'small' }), label: () => ({ size: 'small' }),
}); });
const emit = defineEmits<{ const emit = defineEmits<{
(event: 'blur'): void; blur: [];
(event: 'update', value: IUpdateInformation): void; update: [value: IUpdateInformation];
}>(); }>();
const i18n = useI18n(); const i18n = useI18n();

View file

@ -212,9 +212,9 @@ type Props = {
const props = withDefaults(defineProps<Props>(), { path: '', hiddenIssuesInputs: () => [] }); const props = withDefaults(defineProps<Props>(), { path: '', hiddenIssuesInputs: () => [] });
const emit = defineEmits<{ const emit = defineEmits<{
(event: 'activate'): void; activate: [];
(event: 'valueChanged', value: IUpdateInformation): void; valueChanged: [value: IUpdateInformation];
(event: 'parameterBlur', value: string): void; parameterBlur: [value: string];
}>(); }>();
const nodeTypesStore = useNodeTypesStore(); const nodeTypesStore = useNodeTypesStore();

View file

@ -101,11 +101,11 @@ const props = withDefaults(defineProps<Props>(), {
}); });
const emit = defineEmits<{ const emit = defineEmits<{
(event: 'focus'): void; focus: [];
(event: 'blur'): void; blur: [];
(event: 'drop', value: string): void; drop: [value: string];
(event: 'update', value: IUpdateInformation): void; update: [value: IUpdateInformation];
(event: 'textInput', value: IUpdateInformation): void; textInput: [value: IUpdateInformation];
}>(); }>();
const router = useRouter(); const router = useRouter();

View file

@ -12,7 +12,7 @@ type Props = {
const props = defineProps<Props>(); const props = defineProps<Props>();
const visible = defineModel<boolean>(); const visible = defineModel<boolean>();
const emit = defineEmits<{ const emit = defineEmits<{
(e: 'confirmDelete', value?: string): void; confirmDelete: [value?: string];
}>(); }>();
const locale = useI18n(); const locale = useI18n();

View file

@ -22,8 +22,8 @@ const model = defineModel<(ProjectSharingData | null) | ProjectSharingData[]>({
required: true, required: true,
}); });
const emit = defineEmits<{ const emit = defineEmits<{
(event: 'projectAdded', value: ProjectSharingData): void; projectAdded: [value: ProjectSharingData];
(event: 'projectRemoved', value: ProjectSharingData): void; projectRemoved: [value: ProjectSharingData];
}>(); }>();
const selectedProject = ref(Array.isArray(model.value) ? '' : model.value?.id ?? ''); const selectedProject = ref(Array.isArray(model.value) ? '' : model.value?.id ?? '');

View file

@ -50,10 +50,10 @@ const {
} = useNodeSpecificationValues(props.parameter.typeOptions); } = useNodeSpecificationValues(props.parameter.typeOptions);
const emit = defineEmits<{ const emit = defineEmits<{
(event: 'fieldValueChanged', value: IUpdateInformation): void; fieldValueChanged: [value: IUpdateInformation];
(event: 'removeField', field: string): void; removeField: [field: string];
(event: 'addField', field: string): void; addField: [field: string];
(event: 'refreshFieldList'): void; refreshFieldList: [];
}>(); }>();
const ndvStore = useNDVStore(); const ndvStore = useNDVStore();

View file

@ -44,8 +44,8 @@ const mappingModeOptions = [
]; ];
const emit = defineEmits<{ const emit = defineEmits<{
(event: 'modeChanged', value: string): void; modeChanged: [value: string];
(event: 'retryFetch'): void; retryFetch: [];
}>(); }>();
const selected = ref(props.initialValue); const selected = ref(props.initialValue);

View file

@ -53,8 +53,8 @@ watch(
); );
const emit = defineEmits<{ const emit = defineEmits<{
(event: 'matchingColumnsChanged', value: string[]): void; matchingColumnsChanged: [value: string[]];
(event: 'refreshFieldList'): void; refreshFieldList: [];
}>(); }>();
const availableMatchingFields = computed<ResourceMapperField[]>(() => { const availableMatchingFields = computed<ResourceMapperField[]>(() => {

View file

@ -41,7 +41,7 @@ const props = withDefaults(defineProps<Props>(), {
}); });
const emit = defineEmits<{ const emit = defineEmits<{
(event: 'valueChanged', value: IUpdateInformation): void; valueChanged: [value: IUpdateInformation];
}>(); }>();
const state = reactive({ const state = reactive({

View file

@ -18,7 +18,7 @@ type Props = {
const props = defineProps<Props>(); const props = defineProps<Props>();
const emit = defineEmits<{ const emit = defineEmits<{
(event: 'togglePinData'): void; togglePinData: [];
}>(); }>();
const visible = computed(() => const visible = computed(() =>

View file

@ -67,7 +67,7 @@ const { getNodeInputData } = useNodeHelpers();
const { debounce } = useDebounce(); const { debounce } = useDebounce();
const emit = defineEmits<{ const emit = defineEmits<{
(event: 'clear:search'): void; 'clear:search': [];
}>(); }>();
const nodeSchema = computed(() => const nodeSchema = computed(() =>

View file

@ -16,8 +16,8 @@ const OPEN_WIDTH = '204px';
const OPEN_MIN_WIDTH = '120px'; const OPEN_MIN_WIDTH = '120px';
const emit = defineEmits<{ const emit = defineEmits<{
(event: 'update:modelValue', value: Props['modelValue']): void; 'update:modelValue': [value: Props['modelValue']];
(event: 'focus'): void; focus: [];
}>(); }>();
const props = withDefaults(defineProps<Props>(), { const props = withDefaults(defineProps<Props>(), {

View file

@ -77,7 +77,7 @@ const props = withDefaults(defineProps<Props>(), {
}); });
const emit = defineEmits<{ const emit = defineEmits<{
(event: 'update:model-value', value: string): void; 'update:model-value': [value: string];
}>(); }>();
const sqlEditor = ref<HTMLElement>(); const sqlEditor = ref<HTMLElement>();

View file

@ -18,10 +18,10 @@ const settingsStore = useSettingsStore();
const usersStore = useUsersStore(); const usersStore = useUsersStore();
const emit = defineEmits<{ const emit = defineEmits<{
(event: 'save', data: IResource): void; save: [data: IResource];
(event: 'cancel', data: IResource): void; cancel: [data: IResource];
(event: 'edit', data: IResource): void; edit: [data: IResource];
(event: 'delete', data: IResource): void; delete: [data: IResource];
}>(); }>();
const props = withDefaults( const props = withDefaults(

View file

@ -56,8 +56,8 @@ const props = withDefaults(
); );
const emit = defineEmits<{ const emit = defineEmits<{
(event: 'expand:tags'): void; 'expand:tags': [];
(event: 'click:tag', tagId: string, e: PointerEvent): void; 'click:tag': [tagId: string, e: PointerEvent];
}>(); }>();
const toast = useToast(); const toast = useToast();

View file

@ -21,14 +21,13 @@ const props = defineProps<{
}>(); }>();
const emit = defineEmits<{ const emit = defineEmits<{
( action: [
event: 'action',
value: { value: {
action: WorkflowHistoryActionTypes[number]; action: WorkflowHistoryActionTypes[number];
id: WorkflowVersionId; id: WorkflowVersionId;
data: { formattedCreatedAt: string }; data: { formattedCreatedAt: string };
}, },
): void; ];
}>(); }>();
const workflowVersionPreview = computed<IWorkflowDb | undefined>(() => { const workflowVersionPreview = computed<IWorkflowDb | undefined>(() => {

View file

@ -22,17 +22,16 @@ const props = defineProps<{
}>(); }>();
const emit = defineEmits<{ const emit = defineEmits<{
( action: [
event: 'action',
value: { value: {
action: WorkflowHistoryActionTypes[number]; action: WorkflowHistoryActionTypes[number];
id: WorkflowVersionId; id: WorkflowVersionId;
data: { formattedCreatedAt: string }; data: { formattedCreatedAt: string };
}, },
): void; ];
(event: 'preview', value: { event: MouseEvent; id: WorkflowVersionId }): void; preview: [value: { event: MouseEvent; id: WorkflowVersionId }];
(event: 'loadMore', value: WorkflowHistoryRequestParams): void; loadMore: [value: WorkflowHistoryRequestParams];
(event: 'upgrade'): void; upgrade: [];
}>(); }>();
const i18n = useI18n(); const i18n = useI18n();

View file

@ -16,16 +16,15 @@ const props = defineProps<{
isActive: boolean; isActive: boolean;
}>(); }>();
const emit = defineEmits<{ const emit = defineEmits<{
( action: [
event: 'action',
value: { value: {
action: WorkflowHistoryActionTypes[number]; action: WorkflowHistoryActionTypes[number];
id: WorkflowVersionId; id: WorkflowVersionId;
data: { formattedCreatedAt: string }; data: { formattedCreatedAt: string };
}, },
): void; ];
(event: 'preview', value: { event: MouseEvent; id: WorkflowVersionId }): void; preview: [value: { event: MouseEvent; id: WorkflowVersionId }];
(event: 'mounted', value: { index: number; offsetTop: number; isActive: boolean }): void; mounted: [value: { index: number; offsetTop: number; isActive: boolean }];
}>(); }>();
const i18n = useI18n(); const i18n = useI18n();

View file

@ -53,7 +53,7 @@ const props = withDefaults(
); );
const emit = defineEmits<{ const emit = defineEmits<{
(event: 'close'): void; close: [];
}>(); }>();
const i18n = useI18n(); const i18n = useI18n();

View file

@ -19,7 +19,7 @@ const props = withDefaults(defineProps<Props>(), {
}); });
const emit = defineEmits<{ const emit = defineEmits<{
(event: 'close'): void; close: [];
}>(); }>();
const hasTrailingContent = computed(() => { const hasTrailingContent = computed(() => {

View file

@ -5,7 +5,7 @@ import { useI18n } from '@/composables/useI18n';
import { useUIStore } from '@/stores/ui.store'; import { useUIStore } from '@/stores/ui.store';
defineEmits<{ defineEmits<{
(key: 'click', event: MouseEvent): void; click: [event: MouseEvent];
}>(); }>();
const uiStore = useUIStore(); const uiStore = useUIStore();

View file

@ -36,7 +36,7 @@ const props = withDefaults(defineProps<ExecutionFilterProps>(), {
teleported: true, teleported: true,
}); });
const emit = defineEmits<{ const emit = defineEmits<{
(event: 'filterChanged', value: ExecutionFilterType): void; filterChanged: [value: ExecutionFilterType];
}>(); }>();
const debouncedEmit = debounce(emit, { const debouncedEmit = debounce(emit, {
debounceTime: 500, debounceTime: 500,

View file

@ -26,8 +26,8 @@ const props = withDefaults(
); );
const emit = defineEmits<{ const emit = defineEmits<{
(event: 'update:filters', value: ExecutionFilterType): void; 'update:filters': [value: ExecutionFilterType];
(event: 'execution:stop'): void; 'execution:stop': [];
}>(); }>();
const i18n = useI18n(); const i18n = useI18n();

View file

@ -12,9 +12,11 @@ import { useExecutionHelpers } from '@/composables/useExecutionHelpers';
type Command = 'retrySaved' | 'retryOriginal' | 'delete'; type Command = 'retrySaved' | 'retryOriginal' | 'delete';
const emit = defineEmits<{ const emit = defineEmits<{
(event: 'stop', data: ExecutionSummary): void; stop: [data: ExecutionSummary];
(event: 'select', data: ExecutionSummary): void; select: [data: ExecutionSummary];
(event: Command, data: ExecutionSummary): void; retrySaved: [data: ExecutionSummary];
retryOriginal: [data: ExecutionSummary];
delete: [data: ExecutionSummary];
}>(); }>();
const props = withDefaults( const props = withDefaults(
@ -148,6 +150,7 @@ function onSelect() {
} }
async function handleActionItemClick(commandData: Command) { async function handleActionItemClick(commandData: Command) {
//@ts-ignore todo: fix this type
emit(commandData, props.execution); emit(commandData, props.execution);
} }
</script> </script>

View file

@ -116,9 +116,9 @@ const i18 = useI18n();
// --------------------------------------------------------------------------- // ---------------------------------------------------------------------------
const emit = defineEmits<{ const emit = defineEmits<{
(event: 'onFormChanged', formField: string): void; onFormChanged: [formField: string];
(event: 'onBackClick', formField: string): void; onBackClick: [formField: string];
(event: 'submit', form: { token: string; recoveryCode: string }): void; submit: [{ token: string; recoveryCode: string }];
}>(); }>();
// #endregion // #endregion

View file

@ -28,11 +28,8 @@ const props = withDefaults(
); );
const emit = defineEmits<{ const emit = defineEmits<{
( credentialSelected: [event: { credentialUsageKey: TemplateCredentialKey; credentialId: string }];
e: 'credentialSelected', credentialDeselected: [event: { credentialUsageKey: TemplateCredentialKey }];
event: { credentialUsageKey: TemplateCredentialKey; credentialId: string },
): void;
(e: 'credentialDeselected', event: { credentialUsageKey: TemplateCredentialKey }): void;
}>(); }>();
// Stores // Stores