mirror of
https://github.com/n8n-io/n8n.git
synced 2024-12-26 13:14:07 -08:00
⚡ Move obfuscators to editor-ui
This commit is contained in:
parent
b0159f1afb
commit
c9f4e26e02
|
@ -1,6 +1,6 @@
|
||||||
<template>
|
<template>
|
||||||
<div :class="$style.container">
|
<div :class="$style.container">
|
||||||
<div :class="$style.avatarContainer">
|
<div class="ph-no-capture" :class="$style.avatarContainer">
|
||||||
<n8n-avatar :firstName="firstName" :lastName="lastName" />
|
<n8n-avatar :firstName="firstName" :lastName="lastName" />
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
<div>
|
<div>
|
||||||
<n8n-input-label :label="label">
|
<n8n-input-label :label="label">
|
||||||
<div :class="{[$style.copyText]: true, [$style[size]]: true, [$style.collapsed]: collapse}" @click="copy">
|
<div :class="{[$style.copyText]: true, [$style[size]]: true, [$style.collapsed]: collapse}" @click="copy">
|
||||||
<span ref="copyInputValue">{{ value }}</span>
|
<span ref="copyInputValue ph-no-capture">{{ value }}</span>
|
||||||
<div :class="$style.copyButton"><span>{{ copyButtonText }}</span></div>
|
<div :class="$style.copyButton"><span>{{ copyButtonText }}</span></div>
|
||||||
</div>
|
</div>
|
||||||
</n8n-input-label>
|
</n8n-input-label>
|
||||||
|
@ -62,9 +62,6 @@ export default mixins(copyPaste, showMessage).extend({
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
mounted() {
|
|
||||||
this.$externalHooks().run('copyInput.mounted', { copyInputValueRef: this.$refs.copyInputValue });
|
|
||||||
},
|
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
|
|
@ -16,7 +16,7 @@
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<el-table :data="credentialsToDisplay" v-loading="loading" :default-sort = "{prop: 'name', order: 'ascending'}" stripe max-height="450" @row-click="editCredential" ref="table">
|
<el-table class="ph-no-capture" :data="credentialsToDisplay" v-loading="loading" :default-sort = "{prop: 'name', order: 'ascending'}" stripe max-height="450" @row-click="editCredential" ref="table">
|
||||||
<el-table-column property="name" :label="$locale.baseText('credentialsList.name')" class-name="clickable" sortable></el-table-column>
|
<el-table-column property="name" :label="$locale.baseText('credentialsList.name')" class-name="clickable" sortable></el-table-column>
|
||||||
<el-table-column property="type" :label="$locale.baseText('credentialsList.type')" class-name="clickable" sortable></el-table-column>
|
<el-table-column property="type" :label="$locale.baseText('credentialsList.type')" class-name="clickable" sortable></el-table-column>
|
||||||
<el-table-column property="createdAt" :label="$locale.baseText('credentialsList.created')" class-name="clickable" sortable></el-table-column>
|
<el-table-column property="createdAt" :label="$locale.baseText('credentialsList.created')" class-name="clickable" sortable></el-table-column>
|
||||||
|
@ -96,9 +96,6 @@ export default mixins(
|
||||||
this.$showError(e, this.$locale.baseText('credentialsList.errorLoadingCredentials'));
|
this.$showError(e, this.$locale.baseText('credentialsList.errorLoadingCredentials'));
|
||||||
}
|
}
|
||||||
this.loading = false;
|
this.loading = false;
|
||||||
this.$externalHooks().run('credentialsList.mounted', {
|
|
||||||
tableRef: this.$refs['table'],
|
|
||||||
});
|
|
||||||
this.$telemetry.track('User opened Credentials panel', { workflow_id: this.$store.getters.workflowId });
|
this.$telemetry.track('User opened Credentials panel', { workflow_id: this.$store.getters.workflowId });
|
||||||
},
|
},
|
||||||
destroyed() {
|
destroyed() {
|
||||||
|
|
|
@ -7,7 +7,7 @@
|
||||||
>
|
>
|
||||||
<template v-slot:content>
|
<template v-slot:content>
|
||||||
|
|
||||||
<div class="filters" ref="filters">
|
<div class="filters">
|
||||||
<el-row>
|
<el-row>
|
||||||
<el-col :span="2" class="filter-headline">
|
<el-col :span="2" class="filter-headline">
|
||||||
{{ $locale.baseText('executionsList.filters') }}:
|
{{ $locale.baseText('executionsList.filters') }}:
|
||||||
|
@ -15,6 +15,7 @@
|
||||||
<el-col :span="7">
|
<el-col :span="7">
|
||||||
<n8n-select v-model="filter.workflowId" :placeholder="$locale.baseText('executionsList.selectWorkflow')" size="medium" filterable @change="handleFilterChanged">
|
<n8n-select v-model="filter.workflowId" :placeholder="$locale.baseText('executionsList.selectWorkflow')" size="medium" filterable @change="handleFilterChanged">
|
||||||
<n8n-option
|
<n8n-option
|
||||||
|
class="ph-no-capture"
|
||||||
v-for="item in workflows"
|
v-for="item in workflows"
|
||||||
:key="item.id"
|
:key="item.id"
|
||||||
:label="item.name"
|
:label="item.name"
|
||||||
|
@ -45,7 +46,7 @@
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<el-table :data="combinedExecutions" stripe v-loading="isDataLoading" :row-class-name="getRowClass" ref="table">
|
<el-table :data="combinedExecutions" stripe v-loading="isDataLoading" :row-class-name="getRowClass">
|
||||||
<el-table-column label="" width="30">
|
<el-table-column label="" width="30">
|
||||||
<!-- eslint-disable-next-line vue/no-unused-vars -->
|
<!-- eslint-disable-next-line vue/no-unused-vars -->
|
||||||
<template slot="header" slot-scope="scope">
|
<template slot="header" slot-scope="scope">
|
||||||
|
@ -63,7 +64,7 @@
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column property="workflowName" :label="$locale.baseText('executionsList.name')">
|
<el-table-column property="workflowName" :label="$locale.baseText('executionsList.name')">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<span class="workflow-name">
|
<span class="workflow-name ph-no-capture">
|
||||||
{{ scope.row.workflowName || $locale.baseText('executionsList.unsavedWorkflow') }}
|
{{ scope.row.workflowName || $locale.baseText('executionsList.unsavedWorkflow') }}
|
||||||
</span>
|
</span>
|
||||||
|
|
||||||
|
@ -245,11 +246,6 @@ export default mixins(
|
||||||
|
|
||||||
this.$externalHooks().run('executionsList.openDialog');
|
this.$externalHooks().run('executionsList.openDialog');
|
||||||
this.$telemetry.track('User opened Executions log', { workflow_id: this.$store.getters.workflowId });
|
this.$telemetry.track('User opened Executions log', { workflow_id: this.$store.getters.workflowId });
|
||||||
|
|
||||||
this.$externalHooks().run('executionsList.created', {
|
|
||||||
tableRef: this.$refs['table'],
|
|
||||||
filtersRef: this.$refs['filters'],
|
|
||||||
});
|
|
||||||
},
|
},
|
||||||
beforeDestroy() {
|
beforeDestroy() {
|
||||||
if (this.autoRefreshInterval) {
|
if (this.autoRefreshInterval) {
|
||||||
|
|
|
@ -21,7 +21,7 @@
|
||||||
<div class="editor-description">
|
<div class="editor-description">
|
||||||
{{ $locale.baseText('expressionEdit.expression') }}
|
{{ $locale.baseText('expressionEdit.expression') }}
|
||||||
</div>
|
</div>
|
||||||
<div class="expression-editor" ref="expressionInput">
|
<div class="expression-editor ph-no-capture">
|
||||||
<expression-input :parameter="parameter" ref="inputFieldExpression" rows="8" :value="value" :path="path" @change="valueChanged" @keydown.stop="noOp"></expression-input>
|
<expression-input :parameter="parameter" ref="inputFieldExpression" rows="8" :value="value" :path="path" @change="valueChanged" @keydown.stop="noOp"></expression-input>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -30,7 +30,7 @@
|
||||||
<div class="editor-description">
|
<div class="editor-description">
|
||||||
{{ $locale.baseText('expressionEdit.result') }}
|
{{ $locale.baseText('expressionEdit.result') }}
|
||||||
</div>
|
</div>
|
||||||
<div ref="expressionOutput">
|
<div class="ph-no-capture">
|
||||||
<expression-input :parameter="parameter" resolvedValue="true" ref="expressionResult" rows="8" :value="displayValue" :path="path"></expression-input>
|
<expression-input :parameter="parameter" resolvedValue="true" ref="expressionResult" rows="8" :value="displayValue" :path="path"></expression-input>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -146,7 +146,7 @@
|
||||||
<span slot="title" class="item-title-root">{{nextVersions.length > 99 ? '99+' : nextVersions.length}} update{{nextVersions.length > 1 ? 's' : ''}} available</span>
|
<span slot="title" class="item-title-root">{{nextVersions.length > 99 ? '99+' : nextVersions.length}} update{{nextVersions.length > 1 ? 's' : ''}} available</span>
|
||||||
</n8n-menu-item>
|
</n8n-menu-item>
|
||||||
<el-dropdown placement="right-end" trigger="click" @command="onUserActionToggle" v-if="canUserAccessSidebarUserInfo && currentUser">
|
<el-dropdown placement="right-end" trigger="click" @command="onUserActionToggle" v-if="canUserAccessSidebarUserInfo && currentUser">
|
||||||
<div ref="user">
|
<div class="ph-no-capture">
|
||||||
<n8n-menu-item class="user">
|
<n8n-menu-item class="user">
|
||||||
<div class="avatar">
|
<div class="avatar">
|
||||||
<n8n-avatar :firstName="currentUser.firstName" :lastName="currentUser.lastName" size="small" />
|
<n8n-avatar :firstName="currentUser.firstName" :lastName="currentUser.lastName" size="small" />
|
||||||
|
@ -361,11 +361,6 @@ export default mixins(
|
||||||
return this.$route.meta && this.$route.meta.nodeView;
|
return this.$route.meta && this.$route.meta.nodeView;
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
mounted() {
|
|
||||||
if (this.$refs.user) {
|
|
||||||
this.$externalHooks().run('mainSidebar.mounted', { userRef: this.$refs.user });
|
|
||||||
}
|
|
||||||
},
|
|
||||||
methods: {
|
methods: {
|
||||||
trackHelpItemClick (itemType: string) {
|
trackHelpItemClick (itemType: string) {
|
||||||
this.$telemetry.track('User clicked help resource', { type: itemType, workflow_id: this.$store.getters.workflowId });
|
this.$telemetry.track('User clicked help resource', { type: itemType, workflow_id: this.$store.getters.workflowId });
|
||||||
|
|
|
@ -81,7 +81,7 @@
|
||||||
({{ $locale.baseText('node.disabled') }})
|
({{ $locale.baseText('node.disabled') }})
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
<div v-if="nodeSubtitle !== undefined" class="node-subtitle" :title="nodeSubtitle">
|
<div v-if="nodeSubtitle !== undefined" class="node-subtitle ph-no-capture" :title="nodeSubtitle">
|
||||||
{{ nodeSubtitle }}
|
{{ nodeSubtitle }}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -201,7 +201,7 @@
|
||||||
>
|
>
|
||||||
<div class="list-option">
|
<div class="list-option">
|
||||||
<div
|
<div
|
||||||
class="option-headline"
|
class="option-headline ph-no-capture"
|
||||||
:class="{ 'remote-parameter-option': isRemoteParameterOption(option) }"
|
:class="{ 'remote-parameter-option': isRemoteParameterOption(option) }"
|
||||||
>
|
>
|
||||||
{{ getOptionsOptionDisplayName(option) }}
|
{{ getOptionsOptionDisplayName(option) }}
|
||||||
|
|
|
@ -497,7 +497,9 @@ export default mixins(
|
||||||
const elements = [...jsonValues, ...tableRows].reduce<Element[]>((acc, cur) => [...acc, cur], []);
|
const elements = [...jsonValues, ...tableRows].reduce<Element[]>((acc, cur) => [...acc, cur], []);
|
||||||
|
|
||||||
if (elements.length > 0) {
|
if (elements.length > 0) {
|
||||||
this.$externalHooks().run('runData.updated', { elements });
|
for (const element of elements) {
|
||||||
|
element.classList.value = [element.classList.value, 'ph-no-capture'].join(' ');
|
||||||
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
>
|
>
|
||||||
<div class="select-sticky-background" v-show="isSelected" />
|
<div class="select-sticky-background" v-show="isSelected" />
|
||||||
<div
|
<div
|
||||||
class="sticky-box"
|
class="sticky-box ph-no-capture"
|
||||||
:data-name="data.name"
|
:data-name="data.name"
|
||||||
:ref="data.name"
|
:ref="data.name"
|
||||||
@click.left="mouseLeftClick"
|
@click.left="mouseLeftClick"
|
||||||
|
@ -67,9 +67,6 @@ export default mixins(externalHooks, nodeBase, nodeHelpers, workflowHelpers).ext
|
||||||
type: Number,
|
type: Number,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
mounted() {
|
|
||||||
this.$externalHooks().run('sticky.mounted', { stickyRef: this.$refs['sticky'] });
|
|
||||||
},
|
|
||||||
computed: {
|
computed: {
|
||||||
defaultText (): string {
|
defaultText (): string {
|
||||||
if (!this.nodeType) {
|
if (!this.nodeType) {
|
||||||
|
|
|
@ -25,7 +25,7 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div v-else class="value clickable" @click="selectItem(item)">
|
<div v-else class="value clickable" @click="selectItem(item)">
|
||||||
<div class="item-title" :title="item.key" ref="variableSelectorItem">
|
<div class="item-title ph-no-capture" :title="item.key">
|
||||||
{{item.name}}:
|
{{item.name}}:
|
||||||
<font-awesome-icon icon="dot-circle" title="Select Item" />
|
<font-awesome-icon icon="dot-circle" title="Select Item" />
|
||||||
</div>
|
</div>
|
||||||
|
@ -87,14 +87,6 @@ export default mixins(externalHooks).extend({
|
||||||
extended: false,
|
extended: false,
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
mounted() {
|
|
||||||
if (this.$refs.variableSelectorItem) {
|
|
||||||
this.$externalHooks().run(
|
|
||||||
'variableSelectorItem.mounted',
|
|
||||||
{ variableSelectorItemRef: this.$refs.variableSelectorItem },
|
|
||||||
);
|
|
||||||
}
|
|
||||||
},
|
|
||||||
methods: {
|
methods: {
|
||||||
optionSelected (command: string, item: IVariableSelectorOption) {
|
optionSelected (command: string, item: IVariableSelectorOption) {
|
||||||
// By default it is raw
|
// By default it is raw
|
||||||
|
|
|
@ -29,7 +29,7 @@
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<template v-slot:content>
|
<template v-slot:content>
|
||||||
<el-table class="search-table" :data="filteredWorkflows" stripe @cell-click="openWorkflow" :default-sort = "{prop: 'updatedAt', order: 'descending'}" v-loading="isDataLoading" ref="table">
|
<el-table class="search-table ph-no-capture" :data="filteredWorkflows" stripe @cell-click="openWorkflow" :default-sort = "{prop: 'updatedAt', order: 'descending'}" v-loading="isDataLoading">
|
||||||
<el-table-column property="name" :label="$locale.baseText('workflowOpen.name')" class-name="clickable" sortable>
|
<el-table-column property="name" :label="$locale.baseText('workflowOpen.name')" class-name="clickable" sortable>
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<div :key="scope.row.id">
|
<div :key="scope.row.id">
|
||||||
|
@ -127,10 +127,6 @@ export default mixins(
|
||||||
// Make sure that users can directly type in the filter
|
// Make sure that users can directly type in the filter
|
||||||
(this.$refs.inputFieldFilter as HTMLInputElement).focus();
|
(this.$refs.inputFieldFilter as HTMLInputElement).focus();
|
||||||
});
|
});
|
||||||
|
|
||||||
this.$externalHooks().run('workflowOpen.mounted', {
|
|
||||||
tableRef: this.$refs['table'],
|
|
||||||
});
|
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
getIds(tags: ITag[] | undefined) {
|
getIds(tags: ITag[] | undefined) {
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
<div :class="$style.container">
|
<div :class="$style.container">
|
||||||
<div :class="$style.header">
|
<div :class="$style.header">
|
||||||
<n8n-heading size="2xlarge">{{ $locale.baseText('settings.personal.personalSettings') }}</n8n-heading>
|
<n8n-heading size="2xlarge">{{ $locale.baseText('settings.personal.personalSettings') }}</n8n-heading>
|
||||||
<div :class="$style.user" ref="user">
|
<div class="ph-no-capture" :class="$style.user">
|
||||||
<span :class="$style.username">
|
<span :class="$style.username">
|
||||||
<n8n-text color="text-light">{{currentUser.fullName}}</n8n-text>
|
<n8n-text color="text-light">{{currentUser.fullName}}</n8n-text>
|
||||||
</span>
|
</span>
|
||||||
|
@ -103,10 +103,6 @@ export default mixins(
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
];
|
];
|
||||||
|
|
||||||
if (this.$refs.user) {
|
|
||||||
this.$externalHooks().run('settingsPersonalView.mounted', { userRef: this.$refs.user });
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
computed: {
|
computed: {
|
||||||
currentUser() {
|
currentUser() {
|
||||||
|
|
Loading…
Reference in a new issue