From 660ba032d50e0a522337295072ee80a50766d6d9 Mon Sep 17 00:00:00 2001 From: Filipa Lacerda Date: Mon, 14 Aug 2017 16:22:48 +0100 Subject: Move callout to vue file and remove svg from data function to improve performance --- .../components/pipeline_schedules_callout.js | 50 ------------------ .../components/pipeline_schedules_callout.vue | 59 ++++++++++++++++++++++ .../pipeline_schedules_index_bundle.js | 2 +- .../34371-pipeline-schedule-vue-files.yml | 6 +++ .../pipeline_schedule_callout_spec.js | 2 +- 5 files changed, 67 insertions(+), 52 deletions(-) delete mode 100644 app/assets/javascripts/pipeline_schedules/components/pipeline_schedules_callout.js create mode 100644 app/assets/javascripts/pipeline_schedules/components/pipeline_schedules_callout.vue create mode 100644 changelogs/unreleased/34371-pipeline-schedule-vue-files.yml diff --git a/app/assets/javascripts/pipeline_schedules/components/pipeline_schedules_callout.js b/app/assets/javascripts/pipeline_schedules/components/pipeline_schedules_callout.js deleted file mode 100644 index c827b7402dc..00000000000 --- a/app/assets/javascripts/pipeline_schedules/components/pipeline_schedules_callout.js +++ /dev/null @@ -1,50 +0,0 @@ -import Vue from 'vue'; -import Cookies from 'js-cookie'; -import Translate from '../../vue_shared/translate'; -import illustrationSvg from '../icons/intro_illustration.svg'; - -Vue.use(Translate); - -const cookieKey = 'pipeline_schedules_callout_dismissed'; - -export default { - name: 'PipelineSchedulesCallout', - data() { - return { - docsUrl: document.getElementById('pipeline-schedules-callout').dataset.docsUrl, - illustrationSvg, - calloutDismissed: Cookies.get(cookieKey) === 'true', - }; - }, - methods: { - dismissCallout() { - this.calloutDismissed = true; - Cookies.set(cookieKey, this.calloutDismissed, { expires: 365 }); - }, - }, - template: ` -
-
- -
-
-

{{ __('Scheduling Pipelines') }}

-

- {{ __('The pipelines schedule runs pipelines in the future, repeatedly, for specific branches or tags. Those scheduled pipelines will inherit limited project access based on their associated user.') }} -

-

{{ __('Learn more in the') }} - {{ s__('Learn more in the|pipeline schedules documentation') }}. -

-
-
-
- `, -}; diff --git a/app/assets/javascripts/pipeline_schedules/components/pipeline_schedules_callout.vue b/app/assets/javascripts/pipeline_schedules/components/pipeline_schedules_callout.vue new file mode 100644 index 00000000000..b5ad7dc52eb --- /dev/null +++ b/app/assets/javascripts/pipeline_schedules/components/pipeline_schedules_callout.vue @@ -0,0 +1,59 @@ + + \ No newline at end of file diff --git a/app/assets/javascripts/pipeline_schedules/pipeline_schedules_index_bundle.js b/app/assets/javascripts/pipeline_schedules/pipeline_schedules_index_bundle.js index 6584549ad06..a6c945e22b0 100644 --- a/app/assets/javascripts/pipeline_schedules/pipeline_schedules_index_bundle.js +++ b/app/assets/javascripts/pipeline_schedules/pipeline_schedules_index_bundle.js @@ -1,5 +1,5 @@ import Vue from 'vue'; -import PipelineSchedulesCallout from './components/pipeline_schedules_callout'; +import PipelineSchedulesCallout from './components/pipeline_schedules_callout.vue'; document.addEventListener('DOMContentLoaded', () => new Vue({ el: '#pipeline-schedules-callout', diff --git a/changelogs/unreleased/34371-pipeline-schedule-vue-files.yml b/changelogs/unreleased/34371-pipeline-schedule-vue-files.yml new file mode 100644 index 00000000000..7de30d82601 --- /dev/null +++ b/changelogs/unreleased/34371-pipeline-schedule-vue-files.yml @@ -0,0 +1,6 @@ +--- +title: Improves performance of vue code by using vue files and moving svg out of data + function in pipeline schedule callout +merge_request: +author: +type: other diff --git a/spec/javascripts/pipeline_schedules/pipeline_schedule_callout_spec.js b/spec/javascripts/pipeline_schedules/pipeline_schedule_callout_spec.js index 6120d224ac0..ed481cb60a1 100644 --- a/spec/javascripts/pipeline_schedules/pipeline_schedule_callout_spec.js +++ b/spec/javascripts/pipeline_schedules/pipeline_schedule_callout_spec.js @@ -1,6 +1,6 @@ import Vue from 'vue'; import Cookies from 'js-cookie'; -import PipelineSchedulesCallout from '~/pipeline_schedules/components/pipeline_schedules_callout'; +import PipelineSchedulesCallout from '~/pipeline_schedules/components/pipeline_schedules_callout.vue'; const PipelineSchedulesCalloutComponent = Vue.extend(PipelineSchedulesCallout); const cookieKey = 'pipeline_schedules_callout_dismissed'; -- cgit v1.2.1