summaryrefslogtreecommitdiff
path: root/app/assets/javascripts/vue_shared/new_namespace/components/legacy_container.vue
diff options
context:
space:
mode:
Diffstat (limited to 'app/assets/javascripts/vue_shared/new_namespace/components/legacy_container.vue')
-rw-r--r--app/assets/javascripts/vue_shared/new_namespace/components/legacy_container.vue31
1 files changed, 31 insertions, 0 deletions
diff --git a/app/assets/javascripts/vue_shared/new_namespace/components/legacy_container.vue b/app/assets/javascripts/vue_shared/new_namespace/components/legacy_container.vue
new file mode 100644
index 00000000000..d2fc2c66924
--- /dev/null
+++ b/app/assets/javascripts/vue_shared/new_namespace/components/legacy_container.vue
@@ -0,0 +1,31 @@
+<script>
+export default {
+ inheritAttrs: false,
+ props: {
+ selector: {
+ type: String,
+ required: true,
+ },
+ },
+ mounted() {
+ const legacyEntry = document.querySelector(this.selector);
+ if (legacyEntry.tagName === 'TEMPLATE') {
+ this.$el.innerHTML = legacyEntry.innerHTML;
+ } else {
+ this.source = legacyEntry.parentNode;
+ this.$el.appendChild(legacyEntry);
+ legacyEntry.classList.add('active');
+ }
+ },
+
+ beforeDestroy() {
+ if (this.source) {
+ this.$el.firstChild.classList.remove('active');
+ this.source.appendChild(this.$el.firstChild);
+ }
+ },
+};
+</script>
+<template>
+ <div></div>
+</template>