n8n/packages/editor-ui/src/components/TextEdit.vue

79 lines
1.8 KiB
Vue
Raw Normal View History

2019-06-23 03:35:23 -07:00
<template>
<div v-if="dialogVisible">
<el-dialog
:visible="dialogVisible"
append-to-body
width="80%"
:title="`${$locale.baseText('textEdit.edit')} ${$locale
.nodeText()
.inputLabelDisplayName(parameter, path)}`"
:before-close="closeDialog"
>
:zap: Update parameter inputs to be multi-line (#2299) * 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> * update parameter inputs to be multiline * update spacing * Survey new options (#2300) * split up options * fix quotes * remove unused import * refactor node credentials * add user created workflow event (#2301) * update multi params * simplify env vars * fix versionCli on FE * update personalization env * clean up node detail settings * fix event User opened Credentials panel * fix font sizes across modals * clean up input spacing * fix select modal spacing * increase spacing * fix input copy * fix webhook, tab spacing, retry button * fix button sizes * fix button size * add mini xlarge sizes * fix webhook 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 * fix input error highlighting * revert change * update toggle spacing * fix delete positioning * keep tooltip while focused * set strict size * increase left spacing * fix sort icons * remove unnessary margin * clean unused functionality * remove unnessary css * remove duplicate tracking * only show tooltip when hovering over label * update credentials section * use includes Co-authored-by: ahsan-virani <ahsan.virani@gmail.com> Co-authored-by: Jan Oberhauser <jan.oberhauser@gmail.com>
2021-10-27 12:55:37 -07:00
<div class="ignore-key-press">
:zap: i18n feedback refactorings (#2597) * :zap: Create endpoint for node credential translation * :zap: Add API helper method in FE * :hammer: Add creds JSON files to tsconfig * :zap: Refactor credentials loading * :zap: Refactor calls in CredentialConfig * :pencil2: Add dummy translations * :zap: Split translations per node * :fire: Remove deprecated method * :zap: Refactor nesting in collections * :truck: Rename topParameter methods for accuracy * :pencil2: Fill out GitHub dummy cred * :truck: Clarify naming for collection utils * :pencil2: Fill out dummy translation * :fire: Remove surplus colons * :fire: Remove logging * :zap: Restore missing space * :fire: Remove lingering colon * :zap: Add path to InputLabel calls * :pencil2: Fill out dummy translations * :bug: Fix multipleValuesButtonText logic * :zap: Add sample properties to be deleted * :zap: Render deeply nested params * :package: Update package-lock.json * :fire: remove logging * :pencil2: Add dummy value to Slack translation * :pencil2: Add placeholder to dummy translation * :zap: Fix placeholder rendering for button text * :shirt: Fix lint * :fire: Remove outdated comment * :bug: Pass in missing arg for placeholder * :pencil2: Fill out Slack translation * :zap: Add explanatory comment * :pencil2: Fill out dummy translation * :pencil2: Update documentation * :fire: Remove broken link * :pencil2: Add pending functionality * :pencil2: Fix indentation * :bug: Fix method call in CredentialEdit * :zap: Implement eventTriggerDescription * :bug: Fix table-json-binary radio buttons * :pencil2: Clarify usage of eventTriggerDescription * :fire: Remove unneeded arg * :bug: Fix display in CodeEdit and TextEdit * :fire: Remove logging * :pencil2: Add translation for test cred options * :pencil2: Add test for separate file in same dir * :pencil2: Add test for versioned node * :pencil2: Add test for node in grouped dir * :pencil2: Add minor clarifications * :pencil2: Add nested collection test * :pencil2: Add pending functionality * :zap: Generalize collections handling * :truck: Rename helper to remove redundancy * :truck: Improve naming in helpers * :pencil2: Improve helpers documentation * :pencil2: Improve i18n methods documentation * :truck: Make endpoint naming consistent * :pencil2: Add final newlines * :pencil2: Clean up JSON examples * :zap: Reuse i18n method * :zap: Improve utils readability * :zap: Return early if cred translation exists * :fire: Remove dummy translations
2022-01-07 13:02:21 -08:00
<n8n-input-label :label="$locale.nodeText().inputLabelDisplayName(parameter, path)">
<div @keydown.stop @keydown.esc="onKeyDownEsc()">
<n8n-input
v-model="tempValue"
type="textarea"
ref="inputField"
:value="value"
:placeholder="$locale.nodeText().placeholder(parameter, path)"
:readOnly="isReadOnly"
@change="valueChanged"
:rows="15"
/>
:zap: Update parameter inputs to be multi-line (#2299) * 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> * update parameter inputs to be multiline * update spacing * Survey new options (#2300) * split up options * fix quotes * remove unused import * refactor node credentials * add user created workflow event (#2301) * update multi params * simplify env vars * fix versionCli on FE * update personalization env * clean up node detail settings * fix event User opened Credentials panel * fix font sizes across modals * clean up input spacing * fix select modal spacing * increase spacing * fix input copy * fix webhook, tab spacing, retry button * fix button sizes * fix button size * add mini xlarge sizes * fix webhook 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 * fix input error highlighting * revert change * update toggle spacing * fix delete positioning * keep tooltip while focused * set strict size * increase left spacing * fix sort icons * remove unnessary margin * clean unused functionality * remove unnessary css * remove duplicate tracking * only show tooltip when hovering over label * update credentials section * use includes Co-authored-by: ahsan-virani <ahsan.virani@gmail.com> Co-authored-by: Jan Oberhauser <jan.oberhauser@gmail.com>
2021-10-27 12:55:37 -07:00
</div>
</n8n-input-label>
2019-06-23 03:35:23 -07:00
</div>
</el-dialog>
</div>
</template>
<script lang="ts">
import Vue from 'vue';
2021-12-07 07:14:40 -08:00
export default Vue.extend({
2019-06-23 03:35:23 -07:00
name: 'TextEdit',
props: ['dialogVisible', 'parameter', 'path', 'value', 'isReadOnly'],
data() {
2019-06-23 03:35:23 -07:00
return {
tempValue: '', // el-input does not seem to work without v-model so add one
2019-06-23 03:35:23 -07:00
};
},
methods: {
valueChanged(value: string) {
2019-06-23 03:35:23 -07:00
this.$emit('valueChanged', value);
},
onKeyDownEsc() {
// Resetting input value when closing the dialog, required when closing it using the `Esc` key
this.tempValue = this.value;
this.closeDialog();
},
closeDialog() {
2019-06-23 03:35:23 -07:00
// Handle the close externally as the visible parameter is an external prop
// and is so not allowed to be changed here.
this.$emit('closeDialog');
return false;
},
},
mounted() {
this.tempValue = this.value as string;
},
2019-06-23 03:35:23 -07:00
watch: {
dialogVisible() {
2019-06-23 03:35:23 -07:00
if (this.dialogVisible === true) {
Vue.nextTick(() => {
(this.$refs.inputField as HTMLInputElement).focus();
});
}
},
value() {
this.tempValue = this.value as string;
},
2019-06-23 03:35:23 -07:00
},
});
</script>