2021-12-21 15:51:26 +01:00
|
|
|
<template>
|
2021-12-22 00:14:48 +01:00
|
|
|
<div class="integrations">
|
|
|
|
|
<ui-header-bar title="@integration.list" :count="count" :back-button="true" />
|
|
|
|
|
<div class="ui-box">
|
|
|
|
|
<!--<h2 v-if="available.length > 0" class="ui-headline integrations-headline">Available</h2>-->
|
2021-12-23 08:38:01 +01:00
|
|
|
<integration-item v-for="(item, index) in items" :key="index" :model="item" @change="onChanged" />
|
2021-12-21 15:51:26 +01:00
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</template>
|
|
|
|
|
|
|
|
|
|
|
2021-12-22 00:14:48 +01:00
|
|
|
<script>
|
|
|
|
|
import api from './api';
|
|
|
|
|
import IntegrationItem from './integrations-item.vue';
|
|
|
|
|
|
2021-12-21 15:51:26 +01:00
|
|
|
export default {
|
|
|
|
|
data: () => ({
|
|
|
|
|
count: 0,
|
2021-12-22 00:14:48 +01:00
|
|
|
items: []
|
|
|
|
|
}),
|
|
|
|
|
|
|
|
|
|
components: { IntegrationItem },
|
|
|
|
|
|
|
|
|
|
mounted()
|
|
|
|
|
{
|
|
|
|
|
this.load();
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
methods: {
|
|
|
|
|
|
|
|
|
|
async load()
|
|
|
|
|
{
|
|
|
|
|
const result = await api.getTypes();
|
|
|
|
|
this.items = result.data;
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
onChanged()
|
|
|
|
|
{
|
|
|
|
|
this.load();
|
|
|
|
|
}
|
|
|
|
|
}
|
2021-12-21 15:51:26 +01:00
|
|
|
}
|
2021-12-22 00:14:48 +01:00
|
|
|
</script>
|
|
|
|
|
|
|
|
|
|
<style lang="scss">
|
|
|
|
|
h2.ui-headline.integrations-headline
|
|
|
|
|
{
|
|
|
|
|
font-family: var(--font);
|
|
|
|
|
color: var(--color-text);
|
|
|
|
|
margin: 0 0 var(--padding);
|
|
|
|
|
font-size: var(--font-size-l);
|
|
|
|
|
font-weight: 700;
|
|
|
|
|
padding-bottom: var(--padding-m);
|
|
|
|
|
border-bottom: 1px dashed var(--color-line-dashed);
|
|
|
|
|
}
|
|
|
|
|
</style>
|