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

177 lines
3.7 KiB
Vue
Raw Normal View History

:sparkles: Add Templates (#2720) * Templates Bugs / Fixed Various Bugs / Multiply Api Request, Carousel Gradient, Core Nodes Filters ... * Updated MainSidebar Paddings * N8N-Templates Bugfixing - Remove Unnecesairy Icon (Shape), Refatctor infiniteScrollEnabled Prop + updated infiniterScroll functinality * N8N-2853 Fixed Carousel Arrows Bug after Cleaning the SearchBar * fix telemetry init * fix search tracking issues * N8N-2853 Created FilterTemplateNode Constant Array, Filter PlayButton and WebhookRespond from Nodes, Added Box for showing more nodes inside TemplateList, Updated NewWorkflowButton to primary, Fixed Markdown issue with Code * N8N-2853 Removed Placeholder if Workflows Or Collections are not found, Updated the Logic * fix telemetry events * clean up session id * update user inserted event * N8N-2853 Fixed Categories to Moving if the names are long * Add todos * Update Routes on loading * fix spacing * Update Border Color * Update Border Readius * fix filter fn * fix constant, console error * N8N-2853 PR Fixes, Refactoring, Removing unnecesairy code .. * N8N-2853 PR Fixes - Editor-ui Fixes, Refactoring, Removing Dead Code ... * N8N-2853 Refactor Card to LongCard * clean up spacing, replace css var * clean up spacing * set categories as optional in node * replace vars * refactor store * remove unnesssary import * fix error * fix templates view to start * add to cache * fix coll view data * fix categories * fix category event * fix collections carousel * fix initial load and search * fix infinite load * fix query param * fix scrolling issues * fix scroll to top * fix search * fix collections search * fix navigation bug * rename view * update package lock * rename workflow view * rename coll view * update routes * add wrapper component * set session id * fix search tracking * fix session tracking * remove deleted mutation * remove check for unsupported nodes * refactor filters * lazy load template * clean up types * refactor infinte scroll * fix end of search * Fix spacing * fix coll loading * fix types * fix coll view list * fix navigation * rename types * rename state * fix search responsiveness * fix coll view spacing * fix search view spacing * clean up views * set background color * center page not vert * fix workflow view * remove import * fix background color * fix background * clean props * clean up imports * refactor button * update background color * fix spacing issue * rename event * update telemetry event * update endpoints, add loading view, check for endpoint health * remove conolse log * N8N-2853 Fixed Menu Items Padding * replace endpoints * fix type issues * fix categories * N8N-2853 Fixed ParameterInput Placeholder after ElementUI Upgrade * update createdAt * :zap: Fix placeholder in creds config modal * :pencil2: Adjust docstring to `credText` placeholder version * N8N-2853 Optimized * N8N-2853 Optimized code * :zap: Add deployment type to FE settings * :zap: Add deployment type to interfaces * N8N-2853 Removed Animated prop from components * :zap: Add deployment type to store module * :sparkles: Create hiring banner * :zap: Display hiring banner * :rewind: Undo unrelated change * N8N-2853 Refactor TemplateFilters * :zap: Fix indentation * N8N-2853 Reorder items / TemplateList * :shirt: Fix lint * N8N-2853 Refactor TemplateFilters Component * N8N-2853 Reorder TemplateList * refactor template card * update timeout * fix removelistener * fix spacing * split enabled from offline * add spacing to go back * N8N-2853 Fixed Screens for Tablet & Mobile * N8N-2853 Update Stores Order * remove image componet * remove placeholder changes * N8N-2853 Fixed Chinnese Placeholders for El Select Component that comes from the Library Upgrade * N8N-2853 Fixed Vue Agile Console Warnings * N8N-2853 Update Collection Route * :pencil2: Update jobs URL * :truck: Move logging to root component * :zap: Refactor `deploymentType` to `isInternalUser` * :zap: Improve syntax * fix cut bug in readonly view * N8N-3012 Fixed Details section in templates with lots of description, Fixed Mardown Block with overflox-x * N8N-3012 Increased Font-size, Spacing and Line-height of the Categories Items * N8N-3012 Fixed Vue-agile client width error on resize * only delay redirect for root path * N8N-3012 Fixed Carousel Arrows that Disappear * N8N-3012 Make Loading Screen same color as Templates * N8N-3012 Markdown renders inline block as block code * add offline warning * hide log from workflow iframe * update text * make search button larger * N8N-3012 Categories / Tags extended all the way in details section * load data in cred modals * remove deleted message * add external hook * remove import * update env variable description * fix markdown width issue * disable telemetry for demo, add session id to template pages * fix telemetery bugs * N8N-3012 Not found Collections/Wokrkflow * N8N-3012 Checkboxes change order when categories are changed * N8N-3012 Refactor SortedCategories inside TemplateFilters component * fix firefox bug * add telemetry requirements * add error check * N8N-3012 Update GoBackButton to check if Route History is present * N8N-3012 Fixed WF Nodes Icons * hide workflow screenshots * remove unnessary mixins * rename prop * fix design a bit * rename data * clear workspace on destroy * fix copy paste bug * fix disabled state * N8N-3012 Fixed Saving/Leave without saving Modal * fix telemetry issue * fix telemetry issues, error bug * fix error notification * disable workflow menu items on templates * fix i18n elementui issue * Remove Emit - NodeType from HoverableNodeIcon component * TechnicalFixes: NavigateTo passed down as function should be helper * TechnicalFixes: Update NavigateTo function * TechnicalFixes: Add FilterCoreNodes directly as function * check for empty connecitions * fix titles * respect new lines * increase categories to be sliced * rename prop * onUseWorkflow * refactor click event * fix bug, refactor * fix loading story * add default * fix styles at right level of abstraction * add wrapper with width * remove loading blocks component * add story * rename prop * fix spacing * refactor tag, add story * move margin to container * fix tag redirect, remove unnessary check * make version optional * rename view * move from workflows to templates store * remove unnessary change * remove unnessary css * rename component * refactor collection card * add boolean to prevent shrink * clean up carousel * fix redirection bug on save * remove listeners to fix multiple listeners bug * remove unnessary types * clean up boolean set * fix node select bug * rename component * remove unnessary class * fix redirection bug * remove unnessary error * fix typo * fix blockquotes, pre * refactor markdown rendering * remove console log * escape markdown * fix safari bug * load active workflows to fix modal bug * :arrow_up: Update package-lock.json file * :zap: Add n8n version as header Co-authored-by: Mutasem Aldmour <4711238+mutdmour@users.noreply.github.com> Co-authored-by: Mutasem <mutdmour@gmail.com> Co-authored-by: Iván Ovejero <ivov.src@gmail.com> Co-authored-by: Jan Oberhauser <jan.oberhauser@gmail.com>
2022-02-28 01:57:44 -08:00
<template>
<div
:class="[$style.card, lastItem && $style.last, firstItem && $style.first, !loading && $style.loaded]"
@click="onCardClick"
>
<div :class="$style.loading" v-if="loading">
<n8n-loading :rows="2" :shrinkLast="false" :loading="loading" />
</div>
<div v-else>
<n8n-heading :bold="true" size="small">{{ workflow.name }}</n8n-heading>
<div :class="$style.content">
<span v-if="workflow.totalViews">
<n8n-text size="small" color="text-light">
<font-awesome-icon icon="eye" />
{{ abbreviateNumber(workflow.totalViews) }}
</n8n-text>
</span>
<div v-if="workflow.totalViews" :class="$style.line" v-text="'|'" />
<n8n-text size="small" color="text-light">
<TimeAgo :date="workflow.createdAt" />
</n8n-text>
<div v-if="workflow.user" :class="$style.line" v-text="'|'" />
<n8n-text v-if="workflow.user" size="small" color="text-light">By {{ workflow.user.username }}</n8n-text>
</div>
</div>
<div :class="[$style.nodesContainer, useWorkflowButton && $style.hideOnHover]" v-if="!loading">
<NodeList v-if="workflow.nodes" :nodes="workflow.nodes" :limit="nodesToBeShown" size="md" />
</div>
<div :class="$style.buttonContainer" v-if="useWorkflowButton">
<n8n-button
v-if="useWorkflowButton"
feat(editor): Add data pinning functionality (#3511) * feat: Design system color improvements and button component redesign. * feat: Added button focus state and unit tests. * refactor: Aligned n8n-button usage inside of editor-ui. * test: Updated snapshots. * refactor: Extracted focus outline width into scss variable. * fix: Fixed select input border-radius. * refactor: Removed element-ui references in button. * fix: Fixed scss variable imports. * feat: Added color-neutral variable story. * fix: Fixed color-secondary variable definition. * feat: Added color-white story. * test: Updated button snapshot. * feat: Replaced zoom buttons with new n8n-icon-button. * feat: Added stories for float utilities. * chore: Updated color shades generation code for later use. * chore: Removed color-white code. * chore: Updated story properties for button components. * fix: Added el-button fallback for places where el-button is not replaceable (messagebox). * feat: Reverted to css modules. Replaced el-button with n8n-button at application level. * test: Updated button snapshot. * fix: Fixed element-ui locally referenced buttons (via components: {}). * fix: Updated colors. Removed irrelevant validation. Added ElButton override component. * test: Updated button override snapshot. * fix: Various button adjustments and fixes. * fix: Updated button disabled state. * test: Updated snapshots. * fix: Consolidated css variables changes. * Data pinning (#3512) * refactor: Aligned n8n-button usage inside of editor-ui. * feat: Added edit data button on json hover. * feat: Extracted code editor into separate form component. * feat: Added edit data button on json hover. * feat: Added pinData and edit mode methods. * :fire: Remove conflict markers * :pencil2: Update i18n keys * :zap: Add JSON validation * :card_file_box: Add `pinData` column to `workflow_entity` * :blue_book: Tighten type * :zap: Make `pinData` column nullable * :zap: Adjust workflow endpoints for pin data * :blue_book: Improve types * :pencil2: Improve wording * Inject pindata into items flow (#3420) * :zap: Inject pin data - Second approach * :fire: Remove unneeded lint exception * feat: Added edit data button on json hover. * feat: Extracted code editor into separate form component. * feat: Added edit data button on json hover. * fix: Fixed rebase conflicts. * :rewind: Undo button change * :bug: Fix runNode call Adjust per update in bdb84130d687811d65337ff6b025e7cb0eae8256 * :test_tube: Fix workflow tests * :bug: More merge conflict fixes * feat: Added pin/unpin button and store mutations. * feat: Size check. Various design and ux improvements. * :zap: Add transformer * :zap: Hoist pin data * :zap: Adjust endpoints for hoisted pin data * :blue_book: Expand interface * :bug: Fix stray array * :shirt: Fix build * :shirt: Add lint exception * :shirt: Fix header * :art: Add color secondary tints * :sparkles: Create `HeaderMessage` component * :zap: Adjust `InfoTip` component * :sparkles: Add `HeaderMessage` to `RunData` * :bug: Fix console error * :shirt: Fix lint * :zap: Consolidate `HeaderMessage` and `Callout` * :rewind: Undo `InfoTip` changes * :fire: Remove duplicate icons * :zap: Simplify template * :art: Change cursor for action text * :shirt: Fix lint * :zap: Add URL * :bug: Fix handler name * :zap: Use constant * :recycle: Refactor per feedback * fix: Various fixes after data pinning relocation. * fix: Added store mutation for setting pinned data. * feat: Added pinned state for workflow canvas node. * fix: Fixed workflow saving. * fix: Removed pinData hoisting (no longer necessary). * feat: Added canPinData flag to hide for input pane and binary data. Fixed unpin and execute flow. * :zap: Fixes for canvas pin data (#3587) * :zap: Fixes for canvas pin data * :blue_book: Rename type * :test_tube: Fix unrelated Public API test * :fire: Remove logging * feat: Updated pinData mixin to no longer include extra fields. * :zap: Output same pindata for every run * :art: Fix cropping * :fire: Remove unrelated logging * feat: Moved edit button next to pin button. * feat: Changed data to be inserted for empty state. * chore: Changed invalid editor output translation. * feat: Added error line reporting on JSON Validation. * feat: Migrated pinData edit mode to store. * chore: Merged duplicate node border color condition. * feat: Moved pin data validation to mixin. Added check before closing ndv modal. * fix: Changed pinned data size calculation to discard active node pin data. * feat: Added support for rename and delete node with pin data. * feat: Simplified editing state. Fixed edit mode in input panel after store migration. * feat: Various data pinning improvements. * fix: Fixed callout link underline. * refactor: Added support for both string and objects for data size check. * feat: Added disabled node check for input panel. Fixed monaco editor resizing. * fix: Fixed edit mode footer size. * :zap: Fix pindata items per run * :shirt: Remove unneeded exception * refactor: Added isValidPinData() helper method. * refactor: Changed how string size in bytes in calculated.g * refactor: Updated pinData mixin interface. * refactor: Merged filter and reduce in pinDataSize calculation. * fix: Changed code-editor to correct type. * fix: Added insert test data message to trigger nodes. * feat: Disabled data pinning for multiple output nodes. * refactor: Updated ndv.input.disabled translation to include node name. * refactor: Aligned n8n-button usage inside of editor-ui. * feat: Added edit data button on json hover. * feat: Extracted code editor into separate form component. * feat: Added edit data button on json hover. * feat: Added pinData and edit mode methods. * :fire: Remove conflict markers * :pencil2: Update i18n keys * :zap: Add JSON validation * :card_file_box: Add `pinData` column to `workflow_entity` * :blue_book: Tighten type * :zap: Make `pinData` column nullable * :zap: Adjust workflow endpoints for pin data * :blue_book: Improve types * :pencil2: Improve wording * Inject pindata into items flow (#3420) * :zap: Inject pin data - Second approach * :fire: Remove unneeded lint exception * feat: Added edit data button on json hover. * feat: Extracted code editor into separate form component. * feat: Added edit data button on json hover. * fix: Fixed rebase conflicts. * :rewind: Undo button change * :bug: Fix runNode call Adjust per update in bdb84130d687811d65337ff6b025e7cb0eae8256 * :test_tube: Fix workflow tests * :bug: More merge conflict fixes * feat: Added pin/unpin button and store mutations. * feat: Size check. Various design and ux improvements. * :zap: Add transformer * :zap: Hoist pin data * :zap: Adjust endpoints for hoisted pin data * :blue_book: Expand interface * :bug: Fix stray array * :shirt: Fix build * :art: Add color secondary tints * :sparkles: Create `HeaderMessage` component * :zap: Adjust `InfoTip` component * :sparkles: Add `HeaderMessage` to `RunData` * :bug: Fix console error * :shirt: Fix lint * :zap: Consolidate `HeaderMessage` and `Callout` * :rewind: Undo `InfoTip` changes * :fire: Remove duplicate icons * :zap: Simplify template * :art: Change cursor for action text * :shirt: Fix lint * :zap: Add URL * :bug: Fix handler name * :zap: Use constant * :recycle: Refactor per feedback * fix: Various fixes after data pinning relocation. * fix: Added store mutation for setting pinned data. * feat: Added pinned state for workflow canvas node. * :zap: Fixes for canvas pin data (#3587) * :zap: Fixes for canvas pin data * :blue_book: Rename type * :test_tube: Fix unrelated Public API test * :fire: Remove logging * feat: Updated pinData mixin to no longer include extra fields. * fix: Removed pinData hoisting (no longer necessary). * chore: Merged duplicate node border color condition. * :zap: Output same pindata for every run * :art: Fix cropping * :bug: Fix excess closing template tag * fix: Removed rogue template tag after merge. * fix: Fixed code-editor resizing when moving ndv panel. * feat: Added node duplication pin data. * :zap: Implement telemetry * :recycle: Add clarifications from call * fix: Fixed run data header height. * feat: Removed border from pin data callout. * feat: Added line-break before 'or insert pin data'. * feat: Changed enterEditMode to always insert test data if there's no execution data. * feat: Removed copy output tooltip. * feat: Removed unpin tooltip. * fix: Removed thumbtack icon rotation. * fix: Removed run info from Edit Output title. * feat: Hid edit and pin buttons when editing. * feat: Updated monaco code-editor padding and borders. * feat: Progress on pinData error message format * feat: Updated copy feature to work without any selected value. * feat: Moved save and cancel buttons. Cleared notifications on save. * feat: Changed pin data beforeClosing confirm text. * feat: Closing ndv when discarding or saving pindata on close. * feat: Added split in batches node to pin data denylist. * fix: Added missing margin-bottom to webhook node. * feat: Moved thumbtack icon to the right, replacing the checkmark. * fix: Hid pagination while editing. * feat: Added pin data discovery flow. * feat: Changed pin data discovery flow to avoid tooltip glitching. * fix: Changed copy selection to copy all input data. * feat: Updated pin data validation error message for unexpected single quotes. * fix: Replaced :manual='true' prop with manual shorthand. * fix: Removed unused variable. * chore: Renamed translation key to node.discovery.pinData. * refactor: Extracted isPinDataNodeType to pinData mixin. * fix: Updated watch condition to improve performance. * refactor: Renamed some pin data variables and methods as per review. * fix: Added partial translation for JSON.parse pin data error messages. * chore: Temporarily disabled failing unit test. * :test_tube: Fix data pinning workflow retrieval test * :fire: Remove unused imports * :fire: Remove leftover line * :zap: Skip pindata node issues on BE * :zap: Skip pindata node issues on FE * :zap: Hide `RunInfo` for pindata node * :zap: Hide purple banner in edit output mode * feat: Updated data pinning discoverability flow. * fix: Fixed paginated data pinning. * fix: Disabled pin data in read only mode. * :bug: Fix runtime error with non-array * fix: Loading pin data when opening execution. * :zap: Adjust stale data warning for pinned data * :zap: Skip auth in endpoint * :zap: Mark start node for pinned trigger * :pencil2: Comment on passthrough * :fire: Remove comment * Final pindata metrics changes (#3673) * :bug: Fix `pinData` tracked as `0` * :zap: Add `is_pinned` to `nodesGraph` * :blue_book: Extend `IWorkflowBase` * :zap: Handle `pinData` being `undefined` * :zap: Add `data_pinning_tooltip_presented` * :recycle: Refactor to remove circular dependency * fix: Added pin data handling when importing workflow. (#3698) * :fire: Remove helper from WorkflowExecute * :zap: Add logic for single pinned trigger * :shirt: Remove lint exception * fix: Added pin data handling in importWorkflowExact. * N8N-4077 data pinning discoverability part 2 (#3701) * fix: Fixed pin data discovery tooltip position when moving canvas. * feat: Updated data pinning discovery tooltip copy. * Fix data pinning build (#3702) * :zap: Disable edit button for disabled node * :zap: Ensure disabled pinned nodes are passthrough * :bug: Fix JSON key unfurling in edit mode * :zap: Improve implementation * :bug: Fix console error * fix: Fixed copying pinned output data. (#3715) * Fix pinning for webhook responding with output from last node (#3719) * fix: Fixed entering edit mode after refresh. * fix: Fixed type error during build. * fix: RunData import formatting. * chore: Updated pin data types. * fix: Added missing type to stringSizeInBytes. Co-authored-by: Iván Ovejero <ivov.src@gmail.com> * fix: Showing pin data without executing the node only in output pane. * fix: Updated no data message when previous node not executed. * feat: Added expression input and evaluation for pin data nodes without execution. * chore: Fixed linting issues and removed remnant console.log(). * chore: Undone package-lock changes. * fix: Removed pin data store changes. * fix: Created a new object using vuex runExecutionData. * fix: Fixed bug appearing when adding a new node after executing. * fix: Fix editor-ui build * feat: Added green node connectors when having pin data output. * chore: Fixed linting errors. * fix: Added pin data eventBus unsubscribe. * fix: Added pin data color check after adding a connection. * :art: Add pindata styles Co-authored-by: Iván Ovejero <ivov.src@gmail.com>
2022-07-20 08:50:39 -07:00
outline
:sparkles: Add Templates (#2720) * Templates Bugs / Fixed Various Bugs / Multiply Api Request, Carousel Gradient, Core Nodes Filters ... * Updated MainSidebar Paddings * N8N-Templates Bugfixing - Remove Unnecesairy Icon (Shape), Refatctor infiniteScrollEnabled Prop + updated infiniterScroll functinality * N8N-2853 Fixed Carousel Arrows Bug after Cleaning the SearchBar * fix telemetry init * fix search tracking issues * N8N-2853 Created FilterTemplateNode Constant Array, Filter PlayButton and WebhookRespond from Nodes, Added Box for showing more nodes inside TemplateList, Updated NewWorkflowButton to primary, Fixed Markdown issue with Code * N8N-2853 Removed Placeholder if Workflows Or Collections are not found, Updated the Logic * fix telemetry events * clean up session id * update user inserted event * N8N-2853 Fixed Categories to Moving if the names are long * Add todos * Update Routes on loading * fix spacing * Update Border Color * Update Border Readius * fix filter fn * fix constant, console error * N8N-2853 PR Fixes, Refactoring, Removing unnecesairy code .. * N8N-2853 PR Fixes - Editor-ui Fixes, Refactoring, Removing Dead Code ... * N8N-2853 Refactor Card to LongCard * clean up spacing, replace css var * clean up spacing * set categories as optional in node * replace vars * refactor store * remove unnesssary import * fix error * fix templates view to start * add to cache * fix coll view data * fix categories * fix category event * fix collections carousel * fix initial load and search * fix infinite load * fix query param * fix scrolling issues * fix scroll to top * fix search * fix collections search * fix navigation bug * rename view * update package lock * rename workflow view * rename coll view * update routes * add wrapper component * set session id * fix search tracking * fix session tracking * remove deleted mutation * remove check for unsupported nodes * refactor filters * lazy load template * clean up types * refactor infinte scroll * fix end of search * Fix spacing * fix coll loading * fix types * fix coll view list * fix navigation * rename types * rename state * fix search responsiveness * fix coll view spacing * fix search view spacing * clean up views * set background color * center page not vert * fix workflow view * remove import * fix background color * fix background * clean props * clean up imports * refactor button * update background color * fix spacing issue * rename event * update telemetry event * update endpoints, add loading view, check for endpoint health * remove conolse log * N8N-2853 Fixed Menu Items Padding * replace endpoints * fix type issues * fix categories * N8N-2853 Fixed ParameterInput Placeholder after ElementUI Upgrade * update createdAt * :zap: Fix placeholder in creds config modal * :pencil2: Adjust docstring to `credText` placeholder version * N8N-2853 Optimized * N8N-2853 Optimized code * :zap: Add deployment type to FE settings * :zap: Add deployment type to interfaces * N8N-2853 Removed Animated prop from components * :zap: Add deployment type to store module * :sparkles: Create hiring banner * :zap: Display hiring banner * :rewind: Undo unrelated change * N8N-2853 Refactor TemplateFilters * :zap: Fix indentation * N8N-2853 Reorder items / TemplateList * :shirt: Fix lint * N8N-2853 Refactor TemplateFilters Component * N8N-2853 Reorder TemplateList * refactor template card * update timeout * fix removelistener * fix spacing * split enabled from offline * add spacing to go back * N8N-2853 Fixed Screens for Tablet & Mobile * N8N-2853 Update Stores Order * remove image componet * remove placeholder changes * N8N-2853 Fixed Chinnese Placeholders for El Select Component that comes from the Library Upgrade * N8N-2853 Fixed Vue Agile Console Warnings * N8N-2853 Update Collection Route * :pencil2: Update jobs URL * :truck: Move logging to root component * :zap: Refactor `deploymentType` to `isInternalUser` * :zap: Improve syntax * fix cut bug in readonly view * N8N-3012 Fixed Details section in templates with lots of description, Fixed Mardown Block with overflox-x * N8N-3012 Increased Font-size, Spacing and Line-height of the Categories Items * N8N-3012 Fixed Vue-agile client width error on resize * only delay redirect for root path * N8N-3012 Fixed Carousel Arrows that Disappear * N8N-3012 Make Loading Screen same color as Templates * N8N-3012 Markdown renders inline block as block code * add offline warning * hide log from workflow iframe * update text * make search button larger * N8N-3012 Categories / Tags extended all the way in details section * load data in cred modals * remove deleted message * add external hook * remove import * update env variable description * fix markdown width issue * disable telemetry for demo, add session id to template pages * fix telemetery bugs * N8N-3012 Not found Collections/Wokrkflow * N8N-3012 Checkboxes change order when categories are changed * N8N-3012 Refactor SortedCategories inside TemplateFilters component * fix firefox bug * add telemetry requirements * add error check * N8N-3012 Update GoBackButton to check if Route History is present * N8N-3012 Fixed WF Nodes Icons * hide workflow screenshots * remove unnessary mixins * rename prop * fix design a bit * rename data * clear workspace on destroy * fix copy paste bug * fix disabled state * N8N-3012 Fixed Saving/Leave without saving Modal * fix telemetry issue * fix telemetry issues, error bug * fix error notification * disable workflow menu items on templates * fix i18n elementui issue * Remove Emit - NodeType from HoverableNodeIcon component * TechnicalFixes: NavigateTo passed down as function should be helper * TechnicalFixes: Update NavigateTo function * TechnicalFixes: Add FilterCoreNodes directly as function * check for empty connecitions * fix titles * respect new lines * increase categories to be sliced * rename prop * onUseWorkflow * refactor click event * fix bug, refactor * fix loading story * add default * fix styles at right level of abstraction * add wrapper with width * remove loading blocks component * add story * rename prop * fix spacing * refactor tag, add story * move margin to container * fix tag redirect, remove unnessary check * make version optional * rename view * move from workflows to templates store * remove unnessary change * remove unnessary css * rename component * refactor collection card * add boolean to prevent shrink * clean up carousel * fix redirection bug on save * remove listeners to fix multiple listeners bug * remove unnessary types * clean up boolean set * fix node select bug * rename component * remove unnessary class * fix redirection bug * remove unnessary error * fix typo * fix blockquotes, pre * refactor markdown rendering * remove console log * escape markdown * fix safari bug * load active workflows to fix modal bug * :arrow_up: Update package-lock.json file * :zap: Add n8n version as header Co-authored-by: Mutasem Aldmour <4711238+mutdmour@users.noreply.github.com> Co-authored-by: Mutasem <mutdmour@gmail.com> Co-authored-by: Iván Ovejero <ivov.src@gmail.com> Co-authored-by: Jan Oberhauser <jan.oberhauser@gmail.com>
2022-02-28 01:57:44 -08:00
label="Use workflow"
@click.stop="onUseWorkflowClick"
/>
</div>
</div>
</template>
<script lang="ts">
import { genericHelpers } from '@/components/mixins/genericHelpers';
import mixins from 'vue-typed-mixins';
import { filterTemplateNodes, abbreviateNumber } from './helpers';
import NodeList from './NodeList.vue';
export default mixins(genericHelpers).extend({
name: 'TemplateCard',
props: {
lastItem: {
type: Boolean,
default: false,
},
firstItem: {
type: Boolean,
default: false,
},
workflow: {
type: Object,
},
useWorkflowButton: {
type: Boolean,
},
loading: {
type: Boolean,
},
},
components: {
NodeList,
},
data() {
return {
nodesToBeShown: 5,
};
},
methods: {
filterTemplateNodes,
abbreviateNumber,
countNodesToBeSliced(nodes: []): number {
if (nodes.length > this.nodesToBeShown) {
return this.nodesToBeShown - 1;
} else {
return this.nodesToBeShown;
}
},
onUseWorkflowClick(e: MouseEvent) {
this.$emit('useWorkflow', e);
},
onCardClick(e: MouseEvent) {
this.$emit('click', e);
},
},
});
</script>
<style lang="scss" module>
.nodes {
display: flex;
justify-content: center;
align-content: center;
flex-direction: row;
}
.icon {
margin-left: var(--spacing-xs);
}
.card {
position: relative;
border-left: var(--border-base);
border-right: var(--border-base);
border-bottom: var(--border-base);
background-color: var(--color-background-xlight);
display: flex;
padding: 0 var(--spacing-s) var(--spacing-s) var(--spacing-s);
background-color: var(--color-background-xlight);
cursor: pointer;
&:hover {
.hideOnHover {
visibility: hidden;
}
.buttonContainer {
display: block;
}
}
}
.buttonContainer {
display: none;
position: absolute;
right: 10px;
top: 30%;
}
.loaded {
padding-top: var(--spacing-s);
}
.first {
border-top: var(--border-base);
border-top-right-radius: var(--border-radius-large);
border-top-left-radius: var(--border-radius-large);
}
.last {
border-bottom-right-radius: var(--border-radius-large);
border-bottom-left-radius: var(--border-radius-large);
}
.content {
display: flex;
align-items: center;
}
.line {
padding: 0 6px;
color: var(--color-foreground-base);
font-size: var(--font-size-2xs);
}
.loading {
width: 100%;
background-color: var(--color-background-xlight);
}
.nodesContainer {
min-width: 175px;
display: flex;
justify-content: flex-end;
align-items: center;
flex-grow: 1;
}
</style>