diff --git a/app/javascript/packs/vue/assign_items_to_task_modal.js b/app/javascript/packs/vue/assign_items_to_task_modal.js new file mode 100644 index 000000000..1c0775e76 --- /dev/null +++ b/app/javascript/packs/vue/assign_items_to_task_modal.js @@ -0,0 +1,37 @@ +import TurbolinksAdapter from 'vue-turbolinks'; +import Vue from 'vue/dist/vue.esm'; +import AssignItemsToTaskModalContainer from '../../vue/assign_items_to_tasks_modal/container.vue'; + +Vue.use(TurbolinksAdapter); +Vue.prototype.i18n = window.I18n; + +function initAssignItemsToTaskModalComponent() { + const container = $('.assign-items-to-task-modal-container'); + if (container.length) { + window.AssignItemsToTaskModalComponent = new Vue({ + el: '.assign-items-to-task-modal-container', + name: 'AssignItemsToTaskModalComponent', + components: { + 'assign-items-to-task-modal-container': AssignItemsToTaskModalContainer + }, + data() { + return { + visibility: false, + urls: { + assign: container.data('assign-url'), + projects: container.data('projects-url'), + experiments: container.data('experiments-url'), + tasks: container.data('tasks-url'), + } + }; + }, + methods: { + closeModal() { + this.visibility = false; + } + } + }); + } +} + +initAssignItemsToTaskModalComponent(); diff --git a/app/javascript/vue/assign_items_to_tasks_modal/container.vue b/app/javascript/vue/assign_items_to_tasks_modal/container.vue new file mode 100644 index 000000000..bffb2b02f --- /dev/null +++ b/app/javascript/vue/assign_items_to_tasks_modal/container.vue @@ -0,0 +1,198 @@ + + + diff --git a/app/javascript/vue/shared/select.vue b/app/javascript/vue/shared/select.vue index 9cb048dfa..2438a8b8f 100644 --- a/app/javascript/vue/shared/select.vue +++ b/app/javascript/vue/shared/select.vue @@ -67,6 +67,7 @@ }, setValue(value) { this.value = value; + this.toggle this.$emit('change', this.value); }, updateOptionPosition() { diff --git a/app/javascript/vue/shared/select_search.vue b/app/javascript/vue/shared/select_search.vue index 44827b109..b20e73179 100644 --- a/app/javascript/vue/shared/select_search.vue +++ b/app/javascript/vue/shared/select_search.vue @@ -1,5 +1,5 @@