Improves on the ifram modal functionality

This commit is contained in:
Alicia Sykes
2021-04-12 19:04:32 +01:00
parent 0c12cdb0f6
commit 9bec0526db
4 changed files with 94 additions and 43 deletions
+14
View File
@@ -23,14 +23,22 @@
:target="item.target"
:svg="item.svg"
@itemClicked="$emit('itemClicked')"
@triggerModal="triggerModal"
/>
<div ref="modalContainer"></div>
</div>
<IframeModal
:ref="`iframeModal-${groupId}`"
:name="`iframeModal-${groupId}`"
@closed="$emit('itemClicked')"
/>
</Collapsable>
</template>
<script>
import Item from '@/components/Item.vue';
import Collapsable from '@/components/Collapsable.vue';
import IframeModal from '@/components/IframeModal.vue';
export default {
name: 'ItemGroup',
@@ -43,11 +51,17 @@ export default {
components: {
Collapsable,
Item,
IframeModal,
},
methods: {
/* Returns a unique lowercase string, based on name, for section ID */
makeId(str) {
return str.replace(/\s+/g, '-').replace(/[^a-zA-Z ]/g, '').toLowerCase();
},
/* Opens the iframe modal */
triggerModal(url) {
this.$refs[`iframeModal-${this.groupId}`].show(url);
},
},
};
</script>