diff options
Diffstat (limited to 'app/assets/javascripts/pages/profiles/init_timezone_dropdown.js')
-rw-r--r-- | app/assets/javascripts/pages/profiles/init_timezone_dropdown.js | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/app/assets/javascripts/pages/profiles/init_timezone_dropdown.js b/app/assets/javascripts/pages/profiles/init_timezone_dropdown.js new file mode 100644 index 00000000000..80b911493a8 --- /dev/null +++ b/app/assets/javascripts/pages/profiles/init_timezone_dropdown.js @@ -0,0 +1,34 @@ +import Vue from 'vue'; +import TimezoneDropdown from '~/vue_shared/components/timezone_dropdown/timezone_dropdown.vue'; + +export const initTimezoneDropdown = () => { + const el = document.querySelector('.js-timezone-dropdown'); + + if (!el) { + return null; + } + + const { timezoneData, initialValue } = el.dataset; + const timezones = JSON.parse(timezoneData); + + const timezoneDropdown = new Vue({ + el, + data() { + return { + value: initialValue, + }; + }, + render(h) { + return h(TimezoneDropdown, { + props: { + value: this.value, + timezoneData: timezones, + name: 'user[timezone]', + }, + class: 'gl-md-form-input-lg', + }); + }, + }); + + return timezoneDropdown; +}; |