* split up main, sass imports, import new nds * migrate most buttons * update sizes based on feedback * update copy buttons * update executions list * fix issues * force message box buttons * update warning color * update more buttons * wrap message box buttons * update last component * lint fixes * add build report step * breakout imports * set package.json * fix notification bug * clean up imports * use build directories directly * update imports * remove xl size * update number inputs * fix input width * update line height, fix icon bug * fix up editor * fix spacing between buttons * Reset line height * revert changes to this * revert changes * clean up button sizes * change to outline * update select height * update tooltip * remove build report step * clean up impl * remove regenerator runtime * add design system repo * apply editorconfig * apply editor config prettier * lint issue * switch to tabs * switch to single space * update eslintrc * remove git modules * update sass package * support dart sass * add build * update dependency * update contributing.md * set repo * update versions * add tslint step * update spacing to spaces, add dev step * add test step * add test step * update browser lint rc * remove .github * delete .gitignore * set comment for icons * remove preview link * update button interface * update types * set types * clean up intro * update intro * remove assets * move into preview * remove headline comment * reduce theme build * loading executions * match deps versions * match deps versions * fix lint issues * fix lint issues * update callback * disable codacy for docs.css * fix storybook issues * add design system to docker image * update spacing around delete sort button * set line height to stop juggling headline * update sizes * clean up vars * fix scss issues * update button vars * add shade color * fix button without click * fix buttons bug * fix bug with executions list * clean up theme * update link styling * fix typo * run prettier * 🎨 code format * 🎨 code format * 🔥 remove empty files * ✨ N8n 2284 new inputs (#2075) * implement inputs * prettier fixes * revert unnessary change * move input components and tooltip * remove form elements * move select * update input placements * update sizes * update credentails * clean up select size * fix caret issue * update inputs * clean up select * fix tags dropdown border * clean up tags input * fix workflow name bug * clean up select here * add sizes template * fix option caret * fix input sizes * update date input size * remove tags input override * update prop * update input size * center run data inputs * update disabled colors * update execution header * update scrollbar * update text area spacing * fix items in header * update run data tooltip * remove popover * update prefix positions * add filterable demo * address design issues * fix input issues, flip boolean input to text * update input sufffix colors * remove override * speed up switch, fix toggle spacing issue * update icon * remove icon classes * clean up inputs * clean up inputs with icons * update input spacing again * update suffix position * build * Add support for xlarge inputs * fix input issues * fix input issue * update listeners * update number inputs for settings * update append/prepend spacing * clean up inputs, set expression input as text * fix type errors * fix workflow number input * fix tags dropdown bug * fix bugs * fix menu item bug * remove font weight from link element * remove default * fix select option * fix contrast issues * allow overflow x for multi selects * fix icon * update options select * fix issue that resolves expression to null * update how actions are centered * fix up selects * update selects to support limiting size * update option styles * ⚡ Apply suggestions BHesseldieck Co-authored-by: Ben Hesseldieck <1849459+BHesseldieck@users.noreply.github.com> * 🎨 code format Co-authored-by: Jan <janober@users.noreply.github.com> Co-authored-by: Ben Hesseldieck <1849459+BHesseldieck@users.noreply.github.com> Co-authored-by: Ben Hesseldieck <b.hesseldieck@gmail.com> * ⏪ Revert "🔥 remove empty files" This reverts commit e91ace4e52403f4a6b00b7be68b86fc48b7d8fef. * ⚡ Remove private from n8n-design-system package * 🎨 Change to spaces to stay consistent with editorconfig & others package files * ⚡ Fix year in license Co-authored-by: Ben Hesseldieck <1849459+BHesseldieck@users.noreply.github.com> Co-authored-by: Ben Hesseldieck <b.hesseldieck@gmail.com> Co-authored-by: Jan <janober@users.noreply.github.com> Co-authored-by: Jan Oberhauser <jan.oberhauser@gmail.com>
187 lines
3.7 KiB
Vue
187 lines
3.7 KiB
Vue
<template>
|
|
<div>
|
|
<div class="error-header">
|
|
<div class="error-message">ERROR: {{error.message}}</div>
|
|
<div class="error-description" v-if="error.description">{{error.description}}</div>
|
|
</div>
|
|
<details>
|
|
<summary class="error-details__summary">
|
|
<font-awesome-icon class="error-details__icon" icon="angle-right" /> Details
|
|
</summary>
|
|
<div class="error-details__content">
|
|
<div v-if="error.timestamp">
|
|
<el-card class="box-card" shadow="never">
|
|
<div slot="header" class="clearfix box-card__title">
|
|
<span>Time</span>
|
|
</div>
|
|
<div>
|
|
{{new Date(error.timestamp).toLocaleString()}}
|
|
</div>
|
|
</el-card>
|
|
</div>
|
|
<div v-if="error.httpCode">
|
|
<el-card class="box-card" shadow="never">
|
|
<div slot="header" class="clearfix box-card__title">
|
|
<span>HTTP-Code</span>
|
|
</div>
|
|
<div>
|
|
{{error.httpCode}}
|
|
</div>
|
|
</el-card>
|
|
</div>
|
|
<div v-if="error.cause">
|
|
<el-card class="box-card" shadow="never">
|
|
<div slot="header" class="clearfix box-card__title">
|
|
<span>Cause</span>
|
|
<br>
|
|
<span class="box-card__subtitle">Data below may contain sensitive information. Proceed with caution when sharing.</span>
|
|
</div>
|
|
<div>
|
|
<div class="copy-button" v-if="displayCause">
|
|
<n8n-icon-button @click="copyCause" title="Copy to Clipboard" icon="copy" />
|
|
</div>
|
|
<vue-json-pretty
|
|
v-if="displayCause"
|
|
:data="error.cause"
|
|
:deep="3"
|
|
:showLength="true"
|
|
selectableType="single"
|
|
path="error"
|
|
class="json-data"
|
|
/>
|
|
<span v-else>
|
|
<font-awesome-icon icon="info-circle" /> The error cause is too large to be displayed.
|
|
</span>
|
|
</div>
|
|
</el-card>
|
|
</div>
|
|
<div v-if="error.stack">
|
|
<el-card class="box-card" shadow="never">
|
|
<div slot="header" class="clearfix box-card__title">
|
|
<span>Stack</span>
|
|
</div>
|
|
<div>
|
|
<pre><code>{{error.stack}}</code></pre>
|
|
</div>
|
|
</el-card>
|
|
</div>
|
|
</div>
|
|
</details>
|
|
</div>
|
|
</template>
|
|
|
|
<script lang="ts">
|
|
//@ts-ignore
|
|
import VueJsonPretty from 'vue-json-pretty';
|
|
import { copyPaste } from '@/components/mixins/copyPaste';
|
|
import { showMessage } from '@/components/mixins/showMessage';
|
|
import mixins from 'vue-typed-mixins';
|
|
import {
|
|
MAX_DISPLAY_DATA_SIZE,
|
|
} from '@/constants';
|
|
|
|
export default mixins(
|
|
copyPaste,
|
|
showMessage,
|
|
).extend({
|
|
name: 'NodeErrorView',
|
|
props: [
|
|
'error',
|
|
],
|
|
components: {
|
|
VueJsonPretty,
|
|
},
|
|
computed: {
|
|
displayCause(): boolean {
|
|
return JSON.stringify(this.error.cause).length < MAX_DISPLAY_DATA_SIZE;
|
|
},
|
|
},
|
|
methods: {
|
|
copyCause() {
|
|
this.copyToClipboard(JSON.stringify(this.error.cause));
|
|
this.copySuccess();
|
|
},
|
|
copySuccess() {
|
|
this.$showMessage({
|
|
title: 'Copied to clipboard',
|
|
message: '',
|
|
type: 'info',
|
|
});
|
|
},
|
|
},
|
|
});
|
|
</script>
|
|
|
|
<style lang="scss">
|
|
|
|
.error-header {
|
|
margin-bottom: 10px;
|
|
}
|
|
|
|
.error-message {
|
|
color: #ff0000;
|
|
font-weight: bold;
|
|
font-size: 1.1rem;
|
|
}
|
|
|
|
.error-description {
|
|
margin-top: 10px;
|
|
font-size: 1rem;
|
|
}
|
|
|
|
.error-details__summary {
|
|
font-weight: 600;
|
|
font-size: 16px;
|
|
cursor: pointer;
|
|
outline:none;
|
|
}
|
|
|
|
.error-details__icon {
|
|
margin-right: 4px;
|
|
}
|
|
|
|
details > summary {
|
|
list-style-type: none;
|
|
}
|
|
|
|
details > summary::-webkit-details-marker {
|
|
display: none;
|
|
}
|
|
|
|
details[open] {
|
|
.error-details__icon {
|
|
transform: rotate(90deg);
|
|
}
|
|
}
|
|
|
|
.error-details__content {
|
|
margin-top: 15px;
|
|
}
|
|
|
|
.el-divider__text {
|
|
background-color: #f9f9f9;
|
|
}
|
|
|
|
.box-card {
|
|
margin-top: 1em;
|
|
overflow: auto;
|
|
}
|
|
|
|
.box-card__title {
|
|
font-weight: 400;
|
|
}
|
|
|
|
.box-card__subtitle {
|
|
font-weight: 200;
|
|
font-style: italic;
|
|
font-size: 0.7rem;
|
|
}
|
|
|
|
.copy-button {
|
|
position: absolute;
|
|
right: 50px;
|
|
z-index: 1000;
|
|
}
|
|
|
|
</style>
|