diff --git a/.eslintrc.cjs b/.eslintrc.cjs index 064665526..f9fd8ab9e 100644 --- a/.eslintrc.cjs +++ b/.eslintrc.cjs @@ -15,6 +15,14 @@ * along with this program. If not, see . */ +const commaDangle = { + arrays: 'always-multiline', + objects: 'always-multiline', + imports: 'always-multiline', + exports: 'always-multiline', + functions: 'only-multiline', +} + module.exports = { root: true, parserOptions: { @@ -32,40 +40,45 @@ module.exports = { rules: { 'comma-dangle': [ 'error', + commaDangle, + ], + 'vue/comma-dangle': [ + 'error', + commaDangle, + ], + 'vue/html-indent': [ + 'error', + 2, { - arrays: 'only-multiline', - objects: 'only-multiline', - imports: 'only-multiline', - exports: 'only-multiline', - functions: 'only-multiline', + alignAttributesVertically: false, }, ], 'no-console': [ 'error', { - allow: ['warn', 'error'] - } + allow: ['warn', 'error'], + }, ], 'template-curly-spacing': [ - 'off' + 'off', ], 'vue/multi-word-component-names': [ - 'off' + 'off', ], 'vue/valid-v-slot': [ 'error', { - allowModifiers: true - } + allowModifiers: true, + }, ], 'promise/param-names': [ - 'error' + 'error', ], 'promise/no-return-wrap': [ - 'error' + 'error', ], 'cypress/unsafe-to-chain-command': [ - 'off' + 'off', ], }, } diff --git a/cypress.config.cjs b/cypress.config.cjs index 26285f80a..f40fc3836 100644 --- a/cypress.config.cjs +++ b/cypress.config.cjs @@ -36,13 +36,13 @@ module.exports = defineConfig({ return config }, specPattern: 'tests/e2e/specs/**/*.cy.{js,jsx,ts,tsx}', - supportFile: 'tests/e2e/support/index.js' + supportFile: 'tests/e2e/support/index.js', }, component: { devServer: { framework: 'vue', - bundler: 'vite' + bundler: 'vite', }, setupNodeEvents (on, config) { // For test coverage @@ -51,12 +51,12 @@ module.exports = defineConfig({ }, specPattern: 'tests/component/**/*.cy.{js,jsx,ts,tsx}', supportFile: 'tests/component/support/index.js', - indexHtmlFile: 'tests/component/support/component-index.html' + indexHtmlFile: 'tests/component/support/component-index.html', }, env: { // eslint-disable-next-line no-unneeded-ternary - coverage: process.env.COVERAGE ? true : false + coverage: process.env.COVERAGE ? true : false, }, morgan: false, // Disable XHR logging as it's very noisy diff --git a/scripts/concurrently.cjs b/scripts/concurrently.cjs index 2a5f9bda2..9e2634673 100644 --- a/scripts/concurrently.cjs +++ b/scripts/concurrently.cjs @@ -8,28 +8,28 @@ const allCommands = { 'serve:jupyterhub': { command: 'yarn run serve:jupyterhub', name: 'SERVER', - prefixColor: 'yellow' + prefixColor: 'yellow', }, 'serve:vue': { command: `yarn run serve:vue ${VITE_OPTIONS ?? ''}`, name: 'VITE', - prefixColor: 'blue' + prefixColor: 'blue', }, preview: { command: `yarn run -B vite preview --mode offline ${VITE_OPTIONS ?? ''}`, name: 'VITE', - prefixColor: 'blue' + prefixColor: 'blue', }, 'e2e:open': { command: 'yarn run -B cypress open --e2e', name: 'TESTS', - prefixColor: 'magenta' + prefixColor: 'magenta', }, 'cy:run': { command: 'yarn run -B cypress run', name: 'TESTS', - prefixColor: 'cyan' - } + prefixColor: 'cyan', + }, } concurrently( diff --git a/src/components/Markdown.vue b/src/components/Markdown.vue index 87799da48..4a233e313 100644 --- a/src/components/Markdown.vue +++ b/src/components/Markdown.vue @@ -34,14 +34,14 @@ export default { props: { markdown: { type: String, - required: true - } + required: true, + }, }, computed: { html () { return md.render(this.markdown) - } - } + }, + }, } diff --git a/src/components/core/Alert.vue b/src/components/core/Alert.vue index 064eac3b9..715456ff3 100644 --- a/src/components/core/Alert.vue +++ b/src/components/core/Alert.vue @@ -46,7 +46,7 @@ export default { name: 'Alert', computed: { - ...mapState(['alert']) + ...mapState(['alert']), }, methods: { @@ -56,11 +56,11 @@ export default { */ closeAlert () { this.setAlert(null) - } + }, }, icons: { - mdiClose - } + mdiClose, + }, } diff --git a/src/components/cylc/ConnectionStatus.vue b/src/components/cylc/ConnectionStatus.vue index 60f7f1b50..705597f64 100644 --- a/src/components/cylc/ConnectionStatus.vue +++ b/src/components/cylc/ConnectionStatus.vue @@ -46,8 +46,8 @@ export default { */ isOffline: { type: Boolean, - required: true - } + required: true, + }, }, icons: { diff --git a/src/components/cylc/Drawer.vue b/src/components/cylc/Drawer.vue index 29a08f18c..844b6ce7a 100644 --- a/src/components/cylc/Drawer.vue +++ b/src/components/cylc/Drawer.vue @@ -60,7 +60,7 @@ along with this program. If not, see . + >
import.meta.env.MODE === 'production' ? { text: `Cylc ${cylcVersionInfo.value?.['cylc-flow'] ?? ''}`, - variant: 'text' + variant: 'text', } : { text: import.meta.env.MODE.toUpperCase(), diff --git a/src/components/cylc/GraphNode.vue b/src/components/cylc/GraphNode.vue index 1d51a0956..25dafeae0 100644 --- a/src/components/cylc/GraphNode.vue +++ b/src/components/cylc/GraphNode.vue @@ -95,30 +95,30 @@ export default { name: 'GraphNode', components: { SVGTask, - Job + Job, }, props: { task: { type: Object, - required: true + required: true, }, jobs: { type: Array, - required: true + required: true, }, maxJobs: { // maximum number of jobs to display before using an overflow indicator default: 6, - required: false + required: false, }, mostRecentJobScale: { // the size of the most recent job icon relative to any previos jobs default: 1.2, - required: false + required: false, }, jobTheme: { - required: true - } + required: true, + }, }, computed: { nodeID () { @@ -150,7 +150,7 @@ export default { // the most recent job is larger so all subsequent jobs need to be bumped // along a bit further to account for this return (this.mostRecentJobScale * 100) - 100 // y offset in px - } - } + }, + }, } diff --git a/src/components/cylc/GraphSubgraph.vue b/src/components/cylc/GraphSubgraph.vue index c81a04cf6..860f6259f 100644 --- a/src/components/cylc/GraphSubgraph.vue +++ b/src/components/cylc/GraphSubgraph.vue @@ -31,7 +31,7 @@ along with this program. If not, see . stroke-width="8px" stroke="grey" stroke-dasharray="50 50" - /> + /> diff --git a/src/components/cylc/Header.vue b/src/components/cylc/Header.vue index acddfa1ae..b54555b8d 100644 --- a/src/components/cylc/Header.vue +++ b/src/components/cylc/Header.vue @@ -45,7 +45,7 @@ along with this program. If not, see . VCombobox: { bgColor: 'white', rules: [(val) => Boolean(val) || 'Required'], - } + }, }"> diff --git a/src/components/cylc/Job.vue b/src/components/cylc/Job.vue index 2362adbe4..d8a4889a1 100644 --- a/src/components/cylc/Job.vue +++ b/src/components/cylc/Job.vue @@ -43,7 +43,7 @@ const Job = (props, context) => { height: width, rx: '15', ry: '15', - 'stroke-width': '10' + 'stroke-width': '10', } ) // the job icon SVG @@ -63,7 +63,7 @@ const Job = (props, context) => { rx: '15', ry: '15', opacity: '50%', - 'stroke-width': '10' + 'stroke-width': '10', } ) jobIconChildren.splice(0, 0, previousStateIconSvg) @@ -73,7 +73,7 @@ const Job = (props, context) => { 'g', { class: cJobClass }, [ - h('g', { class: 'job' }, jobIconChildren) + h('g', { class: 'job' }, jobIconChildren), ] ) } @@ -81,7 +81,7 @@ const Job = (props, context) => { 'svg', { class: 'job', - viewBox: '0 0 100 100' + viewBox: '0 0 100 100', }, jobIconChildren ) @@ -99,13 +99,13 @@ Job.props = { }, previousState: { type: String, - required: false + required: false, }, svg: { type: Boolean, required: false, - default: false - } + default: false, + }, } export default Job diff --git a/src/components/cylc/Mutation.vue b/src/components/cylc/Mutation.vue index 75397f321..44d4c2510 100644 --- a/src/components/cylc/Mutation.vue +++ b/src/components/cylc/Mutation.vue @@ -22,7 +22,7 @@ along with this program. If not, see . - {{ mutation._title }} + {{ mutation._title }} @@ -37,8 +37,8 @@ along with this program. If not, see . v-bind="extendedDescription ? {} : { expandIcon: null, style: { - cursor: 'default' - } + cursor: 'default', + }, }" > @@ -53,7 +53,7 @@ along with this program. If not, see . v-if="mutation.name === 'editRuntime'" v-bind="{ cylcObject, - types + types, }" ref="form" v-model="isValid" @@ -63,7 +63,7 @@ along with this program. If not, see . v-bind="{ mutation, types, - initialData + initialData, }" ref="form" v-model="isValid" @@ -134,7 +134,7 @@ import Markdown from '@/components/Markdown.vue' import { getMutationShortDesc, getMutationExtendedDesc, - mutationStatus + mutationStatus, } from '@/utils/aotf' import { mdiClose } from '@mdi/js' import { useDynamicVuetifyDefaults } from '@/plugins/vuetify' @@ -146,7 +146,7 @@ export default { components: { EditRuntimeForm, FormGenerator, - Markdown + Markdown, }, emits: [ @@ -158,22 +158,22 @@ export default { mutation: { // graphql mutation object as returned by introspection query type: Object, - required: true + required: true, }, cylcObject: { // data store node type: Object, - required: true + required: true, }, types: { // list of all graphql types as returned by introspection query // (required for resolving InputType objects - type: Array + type: Array, }, initialData: { type: Object, required: false, - default: () => {} + default: () => {}, }, }, @@ -188,7 +188,7 @@ export default { data: () => ({ isValid: false, submitting: false, - warningMsg: null + warningMsg: null, }), computed: { @@ -206,8 +206,8 @@ export default { }, set (val) { if (!val) this.warningMsg = null - } - } + }, + }, }, methods: { @@ -234,8 +234,8 @@ export default { // Misc options icons: { - close: mdiClose - } + close: mdiClose, + }, } diff --git a/src/components/cylc/SVGTask.vue b/src/components/cylc/SVGTask.vue index 9ee798a08..ca9ade4d9 100644 --- a/src/components/cylc/SVGTask.vue +++ b/src/components/cylc/SVGTask.vue @@ -252,7 +252,7 @@ import TaskState from '@/model/TaskState.model' const props = defineProps({ task: { - required: true + required: true, }, startTime: { // The start time as an ISO8601 date-time string in expanded format @@ -260,12 +260,12 @@ const props = defineProps({ // TODO: aim to remove this in due course // (we should be able to obtain this directly from the task) type: String, - required: false + required: false, }, modifierSize: { // Scale the size of the task state modifier type: Number, - default: 0.7 + default: 0.7, }, }) diff --git a/src/components/cylc/Task.vue b/src/components/cylc/Task.vue index 527040465..25428dd20 100644 --- a/src/components/cylc/Task.vue +++ b/src/components/cylc/Task.vue @@ -39,20 +39,20 @@ export default { name: 'Task', props: { task: { - required: true + required: true, }, startTime: { - required: false + required: false, }, modifierSize: { // Scale the size of the task state modifier type: Number, - default: 0.7 - } + default: 0.7, + }, }, components: { - SVGTask - } + SVGTask, + }, } diff --git a/src/components/cylc/TaskFilter.vue b/src/components/cylc/TaskFilter.vue index 87e9d49e7..64336d48a 100644 --- a/src/components/cylc/TaskFilter.vue +++ b/src/components/cylc/TaskFilter.vue @@ -56,14 +56,14 @@ export default { name: 'TaskFilter', components: { - TaskFilterSelect + TaskFilterSelect, }, props: { modelValue: { type: Object, - required: true - } // { id, states } + required: true, + }, // { id, states } }, computed: { @@ -74,8 +74,8 @@ export default { set (value) { // Update 'modelValue' prop by notifying parent component's v-model for this component this.$emit('update:modelValue', value) - } - } + }, + }, }, allStates: TaskStateNames, } diff --git a/src/components/cylc/TaskFilterSelect.vue b/src/components/cylc/TaskFilterSelect.vue index ec71e0457..eb5cf243d 100644 --- a/src/components/cylc/TaskFilterSelect.vue +++ b/src/components/cylc/TaskFilterSelect.vue @@ -91,7 +91,7 @@ const localValue = computed({ }, set (val) { emit('update:modelValue', val) - } + }, }) const maxVisibleStates = 4 diff --git a/src/components/cylc/Toolbar.vue b/src/components/cylc/Toolbar.vue index 92e79d127..5ff01b8bb 100644 --- a/src/components/cylc/Toolbar.vue +++ b/src/components/cylc/Toolbar.vue @@ -47,7 +47,7 @@ component. Note: this is not used for the workflow view, see import { mapState } from 'vuex' import { useDrawer, toolbarHeight } from '@/utils/toolbar' import { - mdiViewList + mdiViewList, } from '@mdi/js' export default { @@ -57,7 +57,7 @@ export default { }, computed: { - ...mapState('app', ['title']) + ...mapState('app', ['title']), }, icons: { diff --git a/src/components/cylc/ViewToolbar.vue b/src/components/cylc/ViewToolbar.vue index 399ed54e7..60f53ad4a 100644 --- a/src/components/cylc/ViewToolbar.vue +++ b/src/components/cylc/ViewToolbar.vue @@ -51,13 +51,13 @@ export default { name: 'ViewToolbar', emits: [ - 'setOption' + 'setOption', ], props: { groups: { required: true, - type: Array + type: Array, /* groups: [ { @@ -97,7 +97,7 @@ export default { size: { type: String, default: 'default', - } + }, }, computed: { @@ -114,7 +114,7 @@ export default { for (const group of this.groups) { iGroup = { ...group, - iControls: [] + iControls: [], } for (const control of group.controls) { color = null @@ -152,7 +152,7 @@ export default { ...control, color, callback, - disabled + disabled, } iGroup.iControls.push(iControl) } @@ -162,7 +162,7 @@ export default { }, btnProps () { return btnProps(this.size) - } + }, }, methods: { @@ -190,7 +190,7 @@ export default { } return vars }, - } + }, } diff --git a/src/components/cylc/WarningIcon.vue b/src/components/cylc/WarningIcon.vue index 004460a32..4728d2070 100644 --- a/src/components/cylc/WarningIcon.vue +++ b/src/components/cylc/WarningIcon.vue @@ -68,7 +68,7 @@ const PATH = pathJoin([ ['L', x2 - sw, y1 + hsw], ['L', ((x2 - x1) / 2) + x1, y2 - sw], ['L', x1 + sw, y1 + hsw], - ['Z', '', ''] + ['Z', '', ''], ]) function nodeJoin (item) { @@ -88,18 +88,18 @@ export default { name: 'Warning', data: function () { return { - active: this.startActive + active: this.startActive, } }, props: { message: { type: String, - required: false + required: false, }, startActive: { type: Boolean, - required: false - } + required: false, + }, }, methods: { path () { @@ -112,7 +112,7 @@ export default { deactivate () { this.active = false - } - } + }, + }, } diff --git a/src/components/cylc/analysis/AnalysisTable.vue b/src/components/cylc/analysis/AnalysisTable.vue index d122f3ccd..0de2e6cd1 100644 --- a/src/components/cylc/analysis/AnalysisTable.vue +++ b/src/components/cylc/analysis/AnalysisTable.vue @@ -60,7 +60,7 @@ import { formatDuration } from '@/utils/tasks' import { initialOptions, updateInitialOptionsEvent, - useInitialOptions + useInitialOptions, } from '@/utils/initialOptions' export default { @@ -71,11 +71,11 @@ export default { props: { tasks: { type: Array, - required: true + required: true, }, timingOption: { type: String, - required: true + required: true, }, initialOptions, }, @@ -102,7 +102,7 @@ export default { return { itemsPerPage, sortBy, - page + page, } }, @@ -111,17 +111,17 @@ export default { headers: [ { title: 'Task', - key: 'name' + key: 'name', }, { title: 'Platform', - key: 'platform' + key: 'platform', }, { title: 'Count', - key: 'count' - } - ] + key: 'count', + }, + ], } }, @@ -133,47 +133,47 @@ export default { title: `Mean T-${times}`, key: `mean${times}Time`, formatter: formatDuration, - allowZeros: false + allowZeros: false, }, { title: `Std Dev T-${times}`, key: `stdDev${times}Time`, formatter: formatDuration, - allowZeros: true + allowZeros: true, }, { title: `Min T-${times}`, key: `min${times}Time`, formatter: formatDuration, - allowZeros: false + allowZeros: false, }, { title: `Q1 T-${times}`, key: `${times.toLowerCase()}Quartiles.0`, formatter: formatDuration, - allowZeros: false + allowZeros: false, }, { title: `Median T-${times}`, key: `${times.toLowerCase()}Quartiles.1`, formatter: formatDuration, - allowZeros: false + allowZeros: false, }, { title: `Q3 T-${times}`, key: `${times.toLowerCase()}Quartiles.2`, formatter: formatDuration, - allowZeros: false + allowZeros: false, }, { title: `Max T-${times}`, key: `max${times}Time`, formatter: formatDuration, - allowZeros: false - } + allowZeros: false, + }, ] return this.headers.concat(timingHeaders) - } + }, }, methods: { @@ -189,7 +189,7 @@ export default { return header.formatter(value, header.allowZeros) } return value - } + }, }, itemsPerPageOptions: [ @@ -198,7 +198,7 @@ export default { { value: 50, title: '50' }, { value: 100, title: '100' }, { value: 200, title: '200' }, - { value: -1, title: 'All' } + { value: -1, title: 'All' }, ], } diff --git a/src/components/cylc/analysis/BoxPlot.vue b/src/components/cylc/analysis/BoxPlot.vue index 755fc3202..1a28bfcff 100644 --- a/src/components/cylc/analysis/BoxPlot.vue +++ b/src/components/cylc/analysis/BoxPlot.vue @@ -70,7 +70,7 @@ import { useReducedAnimation } from '@/composables/localStorage' import { initialOptions, updateInitialOptionsEvent, - useInitialOptions + useInitialOptions, } from '@/utils/initialOptions' export default { @@ -138,10 +138,10 @@ export default { toolbar: { exportToSVG: 'Download SVG', exportToPNG: 'Download PNG', - menu: 'Download' - } - } - } + menu: 'Download', + }, + }, + }, ], animations: { enabled: reducedAnimation.value ? false : props.animate, @@ -197,7 +197,7 @@ export default { text: `${upperFirst(props.timingOption)} time`, }, labels: { - formatter: (value) => formatDuration(value, true) + formatter: (value) => formatDuration(value, true), }, }, })) @@ -253,7 +253,7 @@ export default { numPages () { // Clamp page number this.page = Math.min(this.numPages, this.page) - } + }, }, methods: { diff --git a/src/components/cylc/analysis/TimeSeries.vue b/src/components/cylc/analysis/TimeSeries.vue index 7b13cf0c9..326248b0d 100644 --- a/src/components/cylc/analysis/TimeSeries.vue +++ b/src/components/cylc/analysis/TimeSeries.vue @@ -71,7 +71,7 @@ along with this program. If not, see . :height="450" width="95%" class="d-flex justify-center" - /> + />
. class="d-flex justify-center" />
- + diff --git a/src/components/cylc/commandMenu/plugin.js b/src/components/cylc/commandMenu/plugin.js index 778fa01aa..eb12e716e 100644 --- a/src/components/cylc/commandMenu/plugin.js +++ b/src/components/cylc/commandMenu/plugin.js @@ -63,7 +63,7 @@ export default { app.directive('command-menu', { beforeMount: bind, unmounted: unbind, - updated + updated, }) - } + }, } diff --git a/src/components/cylc/gantt/GanttChart.vue b/src/components/cylc/gantt/GanttChart.vue index 6c20e1cf1..2f2132b9a 100644 --- a/src/components/cylc/gantt/GanttChart.vue +++ b/src/components/cylc/gantt/GanttChart.vue @@ -140,7 +140,7 @@ export default { x: job.name, y: [ new Date(job[start]).getTime(), - new Date(job[end]).getTime() + new Date(job[end]).getTime(), ], fillColor, } @@ -176,10 +176,10 @@ export default { zoomIn: 'Zoom In', zoomOut: 'Zoom Out', pan: 'Panning', - reset: 'Reset Zoom' - } - } - } + reset: 'Reset Zoom', + }, + }, + }, ], animations: { enabled: this.animate && !this.reducedAnimation, @@ -203,7 +203,7 @@ export default { zoomin: true, zoomout: true, pan: true, - reset: true + reset: true, }, }, }, @@ -235,7 +235,7 @@ export default { labels: { formatter: function (value, timestamp, opts) { return new Date(value).toUTCString().slice(17, -3) - } + }, }, title: { text: 'Time (UTC)', diff --git a/src/components/cylc/gantt/filter.js b/src/components/cylc/gantt/filter.js index 9bee2e821..5f497df0f 100644 --- a/src/components/cylc/gantt/filter.js +++ b/src/components/cylc/gantt/filter.js @@ -54,7 +54,7 @@ export function platformOptions (tasks) { platforms.push(jobs[i].platform) platformOptions.push({ value: jobs[i].platform, - title: jobs[i].platform + title: jobs[i].platform, }) } } diff --git a/src/components/cylc/gscan/GScan.vue b/src/components/cylc/gscan/GScan.vue index 74cbb1446..1849945a7 100644 --- a/src/components/cylc/gscan/GScan.vue +++ b/src/components/cylc/gscan/GScan.vue @@ -130,18 +130,18 @@ export default { components: { Tree, - TaskFilterSelect + TaskFilterSelect, }, props: { workflowTree: { type: Object, - required: true + required: true, }, isLoading: { type: Boolean, - required: true - } + required: true, + }, }, data: () => ({ @@ -156,7 +156,7 @@ export default { */ filters: { 'workflow state': [], - 'task state': [] + 'task state': [], // 'workflow host': [], // TODO: will it be in state totals? // 'cylc version': [] // TODO: will it be in state totals? }, @@ -220,7 +220,7 @@ export default { // Misc options icons: { mdiFilter, - mdiFolderRefresh + mdiFolderRefresh, }, /** * Lists of all the possible workflow and task states diff --git a/src/components/cylc/gscan/WorkflowIcon.vue b/src/components/cylc/gscan/WorkflowIcon.vue index c8c1dbdfd..ff2dbf992 100644 --- a/src/components/cylc/gscan/WorkflowIcon.vue +++ b/src/components/cylc/gscan/WorkflowIcon.vue @@ -34,8 +34,8 @@ export default { props: { status: { required: true, - type: String - } + type: String, + }, }, methods: { @@ -47,7 +47,7 @@ export default { getIcon () { const state = WorkflowState.enumValues.find(({ name }) => name === this.status) return state?.icon || mdiHelpCircle - } - } + }, + }, } diff --git a/src/components/cylc/gscan/sort.js b/src/components/cylc/gscan/sort.js index 3e57daf73..a87888165 100644 --- a/src/components/cylc/gscan/sort.js +++ b/src/components/cylc/gscan/sort.js @@ -16,7 +16,7 @@ */ import { - sortedIndexBy + sortedIndexBy, } from '@/components/cylc/common/sort' import { WorkflowState, WorkflowStateOrder } from '@/model/WorkflowState.model' @@ -108,7 +108,7 @@ export function flattenWorkflowParts (node) { } else if (node.children.length > 1) { return { ...node, - children: node.children.map((n) => flattenWorkflowParts(n)) + children: node.children.map((n) => flattenWorkflowParts(n)), } } } diff --git a/src/components/cylc/log/Log.vue b/src/components/cylc/log/Log.vue index a99b927d1..832dacea2 100644 --- a/src/components/cylc/log/Log.vue +++ b/src/components/cylc/log/Log.vue @@ -44,7 +44,7 @@ import { useTemplateRef, watch, onBeforeUnmount, nextTick } from 'vue' import { useScroll, useVModel, whenever } from '@vueuse/core' import { when } from '@/utils' import { - mdiMouseMoveUp + mdiMouseMoveUp, } from '@mdi/js' export default { @@ -53,31 +53,31 @@ export default { props: { placeholder: { type: String, - required: false + required: false, }, timestamps: { type: Boolean, required: false, - default: true + default: true, }, logs: { type: Array, - required: true + required: true, }, wordWrap: { type: Boolean, required: false, - default: false + default: false, }, autoScroll: { type: Boolean, required: false, - default: false - } + default: false, + }, }, emits: [ - 'update:autoScroll' + 'update:autoScroll', ], setup (props, { emit }) { @@ -133,7 +133,7 @@ export default { }) return { - scrollToTop + scrollToTop, } }, @@ -161,13 +161,13 @@ export default { stripTimestamp (logLine) { const regex = /^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:Z|[+-][\d:]+)?\s(.*\s*)/ return logLine.match(regex)?.[1] ?? logLine - } + }, }, // Misc options icons: { - mdiMouseMoveUp - } + mdiMouseMoveUp, + }, } diff --git a/src/components/cylc/table/Table.vue b/src/components/cylc/table/Table.vue index fd2c6413b..34833562c 100644 --- a/src/components/cylc/table/Table.vue +++ b/src/components/cylc/table/Table.vue @@ -66,7 +66,7 @@ along with this program. If not, see . size="small" :style="{ visibility: (item.task.children || []).length ? null : 'hidden', - transform: isExpanded(internalItem) ? 'rotate(180deg)' : null + transform: isExpanded(internalItem) ? 'rotate(180deg)' : null, }" > . import { getIndent } from '@/components/cylc/tree/util' import { formatDuration, - jobMessageOutputs + jobMessageOutputs, } from '@/utils/tasks' export default { @@ -79,7 +79,7 @@ export default { }, meanElapsedTime: { - } + }, }, computed: { diff --git a/src/components/cylc/tree/Tree.vue b/src/components/cylc/tree/Tree.vue index 1b47f5920..4a52eed76 100644 --- a/src/components/cylc/tree/Tree.vue +++ b/src/components/cylc/tree/Tree.vue @@ -43,7 +43,7 @@ export default { props: { workflows: { type: Array, - required: true + required: true, }, treeItemComponent: { type: String, @@ -69,7 +69,7 @@ export default { /** List of node types to manually expand. */ expandAll: { type: Array, - default: null + default: null, }, autoStripTypes: { // If there is only one child of the root node and its type is listed in @@ -80,13 +80,13 @@ export default { // root nodes. type: Array, required: false, - default: () => [] + default: () => [], }, flat: { type: Boolean, required: false, default: true, - } + }, }, components: { diff --git a/src/components/cylc/tree/TreeItem.vue b/src/components/cylc/tree/TreeItem.vue index aef856dfa..2b4e38104 100644 --- a/src/components/cylc/tree/TreeItem.vue +++ b/src/components/cylc/tree/TreeItem.vue @@ -54,7 +54,7 @@ along with this program. If not, see . v-if="node.familyTree?.length" :key="node.id" :task="node.familyTree[0].node" - /> + /> {{ node.name }}