2023-05-03 21:31:01 +02:00
|
|
|
<script setup="setup">
|
2023-11-13 00:22:34 +01:00
|
|
|
|
2023-12-08 15:00:40 +01:00
|
|
|
import { stripHtml } from 'string-strip-html'
|
|
|
|
|
2023-12-16 01:53:05 +01:00
|
|
|
const { etherFetch } = useEtherpadApi()
|
2023-05-03 21:31:01 +02:00
|
|
|
const store = usePojmiStore()
|
2024-01-17 20:24:11 +01:00
|
|
|
const route = useRoute()
|
2023-05-03 21:31:01 +02:00
|
|
|
|
|
|
|
const props = defineProps({
|
|
|
|
naslov: String
|
|
|
|
})
|
|
|
|
|
|
|
|
const pojem = computed(() => store.pojmi[props.naslov])
|
2023-11-13 00:22:34 +01:00
|
|
|
const revisionId = computed(() => pojem.value.id)
|
2023-05-03 21:31:01 +02:00
|
|
|
|
|
|
|
await store.naloziPojme()
|
|
|
|
|
2023-11-13 00:22:34 +01:00
|
|
|
const urejanje = ref(false)
|
2024-01-19 13:35:03 +01:00
|
|
|
|
2024-01-17 20:24:11 +01:00
|
|
|
const container = ref(null)
|
2023-11-13 00:22:34 +01:00
|
|
|
|
|
|
|
const urediPojem = async () => {
|
|
|
|
// Ustvari pad s tekstom pojma, ce se ne obstaja
|
2023-12-08 15:00:40 +01:00
|
|
|
const tekstPojma = stripHtml(pojem.value.tekst).result
|
2023-12-16 01:53:05 +01:00
|
|
|
const resp = await etherFetch('/createPad', {
|
|
|
|
padID: revisionId.value,
|
|
|
|
text: tekstPojma
|
2023-12-08 15:00:40 +01:00
|
|
|
})
|
2023-11-13 00:22:34 +01:00
|
|
|
urejanje.value = true
|
|
|
|
}
|
|
|
|
|
2024-01-17 20:24:11 +01:00
|
|
|
onMounted(() => {
|
|
|
|
// Link na pojem direktno? Poskrolaj nanj + odpri editiranje
|
|
|
|
if (route.params.guid === revisionId.value) {
|
|
|
|
urejanje.value = true
|
2024-01-19 12:42:02 +01:00
|
|
|
//const element = document.getElementById("pojem-obrazec")
|
2024-01-19 13:35:03 +01:00
|
|
|
//if (document.offsetWidth > 768) {
|
|
|
|
setTimeout(() => container.value.scrollIntoView({
|
|
|
|
behavior: 'smooth'
|
|
|
|
}), 50)
|
|
|
|
//}
|
2024-01-17 20:24:11 +01:00
|
|
|
}
|
|
|
|
})
|
|
|
|
|
2023-05-03 21:31:01 +02:00
|
|
|
</script>
|
|
|
|
|
|
|
|
<template>
|
2024-01-17 20:37:09 +01:00
|
|
|
<section class="pojem" ref="container">
|
2024-01-06 18:48:22 +01:00
|
|
|
<div>
|
2023-12-16 01:53:05 +01:00
|
|
|
<h2>{{ pojem.naslov }}</h2>
|
|
|
|
<div class="tekst" v-html="pojem.tekst" />
|
2023-11-13 00:22:34 +01:00
|
|
|
</div>
|
2024-01-17 22:20:56 +01:00
|
|
|
<PojemForm v-if="urejanje"
|
2024-01-17 20:35:42 +01:00
|
|
|
:revisionId="revisionId"
|
2024-01-17 22:20:56 +01:00
|
|
|
:pojem="pojem"
|
2024-01-17 20:35:42 +01:00
|
|
|
:urejanje="urejanje"
|
2024-01-19 12:42:02 +01:00
|
|
|
:onZapri="() => { urejanje = false; store.naloziPojme()}"
|
|
|
|
/>
|
2024-01-07 22:33:20 +01:00
|
|
|
<div>
|
|
|
|
<div v-if="!urejanje" class="gumb" @click="urediPojem">Uredi</div>
|
|
|
|
</div>
|
2023-05-03 21:31:01 +02:00
|
|
|
</section>
|
|
|
|
</template>
|
2023-12-08 15:00:40 +01:00
|
|
|
|
|
|
|
<style scoped>
|
2024-01-17 20:35:42 +01:00
|
|
|
form.pojem {
|
|
|
|
width: calc(50% - 32px);
|
|
|
|
margin-left: 32px;
|
|
|
|
gap: 1rem;
|
|
|
|
}
|
2024-01-17 22:20:56 +01:00
|
|
|
|
2024-01-19 13:35:03 +01:00
|
|
|
.pojem > div {
|
2024-01-07 22:33:20 +01:00
|
|
|
position: relative;
|
|
|
|
width: 50%;
|
|
|
|
}
|
|
|
|
.gumb {
|
|
|
|
position: absolute;
|
|
|
|
bottom: 0;
|
|
|
|
right: 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
@media screen and (max-width: 768px) {
|
2024-01-06 18:05:53 +01:00
|
|
|
PojemForm {
|
|
|
|
width: 50%;
|
2024-01-19 12:42:02 +01:00
|
|
|
float: right;
|
2024-01-06 18:05:53 +01:00
|
|
|
}
|
2024-01-07 22:33:20 +01:00
|
|
|
.pojem > div {
|
|
|
|
min-height: 4rem;
|
|
|
|
width: 100%;
|
|
|
|
}
|
2024-01-06 18:05:53 +01:00
|
|
|
}
|
2024-01-19 12:42:02 +01:00
|
|
|
|
|
|
|
@media screen and (max-width: 768px) {
|
|
|
|
form.pojem {
|
|
|
|
width: 100%;
|
|
|
|
margin-left: 0;
|
|
|
|
min-height: 70vh;
|
2024-01-07 22:33:20 +01:00
|
|
|
}
|
2024-01-06 18:48:22 +01:00
|
|
|
}
|
2023-12-08 15:00:40 +01:00
|
|
|
</style>
|