Dopolnitev prevodov, routing na guid
parent
69e4e6bca2
commit
6a80ee7d13
|
@ -1,6 +1,7 @@
|
||||||
<script setup="setup">
|
<script setup="setup">
|
||||||
|
|
||||||
import { ref } from 'vue'
|
const nastavitveStore = useNastavitveStore()
|
||||||
|
const { izbraniJezik } = storeToRefs(nastavitveStore)
|
||||||
|
|
||||||
const { etherpadUrl, etherpadPrefix } = useRuntimeConfig().public
|
const { etherpadUrl, etherpadPrefix } = useRuntimeConfig().public
|
||||||
|
|
||||||
|
@ -14,7 +15,7 @@ const embed = ref(null)
|
||||||
onMounted(() => {
|
onMounted(() => {
|
||||||
// Ce ni revisionId propertyja, se random generira.
|
// Ce ni revisionId propertyja, se random generira.
|
||||||
const uuid = props.revisionId ? props.revisionId : crypto.randomUUID()
|
const uuid = props.revisionId ? props.revisionId : crypto.randomUUID()
|
||||||
const padUrl = `${etherpadUrl}/p/${etherpadPrefix}${uuid}?showChat=false&showLineNumbers=false&toc=false`
|
const padUrl = `${etherpadUrl}/p/${etherpadPrefix}${izbraniJezik.value}-${uuid}?showChat=false&showLineNumbers=false&toc=false`
|
||||||
embed.value.src = padUrl
|
embed.value.src = padUrl
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
|
@ -11,6 +11,8 @@ const route = useRoute()
|
||||||
|
|
||||||
const { izbraniJezik } = storeToRefs(nastavitveStore)
|
const { izbraniJezik } = storeToRefs(nastavitveStore)
|
||||||
|
|
||||||
|
const routeName = computed(() => route.name)
|
||||||
|
|
||||||
const props = defineProps({
|
const props = defineProps({
|
||||||
pojemid: String
|
pojemid: String
|
||||||
})
|
})
|
||||||
|
@ -20,6 +22,7 @@ if (props.pojemid && !(props.pojemid in store.pojmi)) {
|
||||||
}
|
}
|
||||||
|
|
||||||
watch(izbraniJezik, jezik => {
|
watch(izbraniJezik, jezik => {
|
||||||
|
console.log('PONOVNO NALAGAM POJME!', jezik)
|
||||||
store.naloziPojme(jezik)
|
store.naloziPojme(jezik)
|
||||||
})
|
})
|
||||||
|
|
||||||
|
@ -34,7 +37,7 @@ const urediPojem = async () => {
|
||||||
// Ustvari pad s tekstom pojma, ce se ne obstaja
|
// Ustvari pad s tekstom pojma, ce se ne obstaja
|
||||||
const tekstPojma = stripHtml(pojem.value.tekst).result
|
const tekstPojma = stripHtml(pojem.value.tekst).result
|
||||||
const resp = await etherFetch('/createPad', {
|
const resp = await etherFetch('/createPad', {
|
||||||
padID: revisionId.value,
|
padID: izbraniJezik.value + '-' + revisionId.value,
|
||||||
text: tekstPojma
|
text: tekstPojma
|
||||||
})
|
})
|
||||||
urejanje.value = true
|
urejanje.value = true
|
||||||
|
@ -46,12 +49,12 @@ onMounted(() => {
|
||||||
navigateTo(localePath('manifest') + '#skrol')
|
navigateTo(localePath('manifest') + '#skrol')
|
||||||
}
|
}
|
||||||
|
|
||||||
// Link na editiranje pojma? Poskrolaj nanj + odpri editiranje
|
// Poskrolaj na pojem
|
||||||
if (route.params.guid === revisionId.value) {
|
|
||||||
urejanje.value = true
|
|
||||||
} else {
|
|
||||||
// Sicer samo poskrolaj na pojem
|
|
||||||
poskrolaj(container.value.parentNode)
|
poskrolaj(container.value.parentNode)
|
||||||
|
|
||||||
|
// Link na editiranje pojma? odpri editiranje
|
||||||
|
if (routeName.value.startsWith('pojem_uredi')) {
|
||||||
|
urediPojem()
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
|
@ -78,7 +81,7 @@ onUpdated(() => {
|
||||||
ref="obrazec"
|
ref="obrazec"
|
||||||
:revisionId="revisionId"
|
:revisionId="revisionId"
|
||||||
:pojem="pojem"
|
:pojem="pojem"
|
||||||
:onZapri="() => { urejanje = false; store.naloziPojme() }" />
|
:onZapri="() => navigateTo(localePath({ name: 'pojem_poglej', params: { pojemid: revisionId }}))" />
|
||||||
</div>
|
</div>
|
||||||
</section>
|
</section>
|
||||||
</template>
|
</template>
|
||||||
|
|
|
@ -1,8 +1,13 @@
|
||||||
<script setup="setup">
|
<script setup="setup">
|
||||||
|
|
||||||
const { etherFetch } = useEtherpadApi()
|
const { etherFetch } = useEtherpadApi()
|
||||||
|
const localePath = useLocalePath()
|
||||||
|
const { t } = useI18n()
|
||||||
|
|
||||||
const store = usePojmiStore()
|
const store = usePojmiStore()
|
||||||
|
const nastavitveStore = useNastavitveStore()
|
||||||
|
|
||||||
|
const izbraniJezik = computed(() => nastavitveStore.izbraniJezik)
|
||||||
|
|
||||||
const props = defineProps({
|
const props = defineProps({
|
||||||
revisionId: String,
|
revisionId: String,
|
||||||
|
@ -16,43 +21,36 @@ let email = ref('')
|
||||||
const oddajPredlog = async data => {
|
const oddajPredlog = async data => {
|
||||||
// @TODO vsebina pada v tekst, testirat
|
// @TODO vsebina pada v tekst, testirat
|
||||||
if (!naslov.value) {
|
if (!naslov.value) {
|
||||||
alert("Manjka naslov pojma!")
|
alert(t("Manjka naslov pojma!"))
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
const starNaslov = props.pojem.naslov
|
try {
|
||||||
|
const resp = await etherFetch('/getText', { padID: `${izbraniJezik.value}-${props.revisionId}` })
|
||||||
const resp = await etherFetch('/getText', { padID: props.revisionId })
|
const stvarjenje = await store.ustvariPojem({
|
||||||
const stvarjenje = store.ustvariPojem({
|
|
||||||
title: naslov.value,
|
title: naslov.value,
|
||||||
email: email.value,
|
email: email.value,
|
||||||
text: resp.data.text,
|
text: resp.data.text,
|
||||||
uuid: props.revisionId
|
uuid: props.revisionId,
|
||||||
})
|
language: izbraniJezik.value
|
||||||
console.log(stvarjenje)
|
|
||||||
alert("sprememba predlagana!")
|
|
||||||
|
|
||||||
stvarjenje.then(() => {
|
|
||||||
console.log('NOV NASLOV?', starNaslov, props.pojem.naslov)
|
|
||||||
if (starNaslov !== props.pojem.naslov) {
|
|
||||||
navigateTo(localePath({ name: 'pojem_poglej', params: { naslov: props.pojem.naslov }}))
|
|
||||||
}
|
|
||||||
})
|
})
|
||||||
|
alert(t("Sprememba predlagana!"))
|
||||||
|
|
||||||
props.onZapri()
|
props.onZapri()
|
||||||
|
} catch (error) {
|
||||||
|
alert(t('Napaka pri pošiljanju.'))
|
||||||
|
console.error(error)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// @TODO tole raje v pojmi.vue oz nov_pojem.vue - page!
|
// @TODO tole raje v pojmi.vue oz nov_pojem.vue - page!
|
||||||
const etherNalozen = ev => {
|
const etherNalozen = ev => {
|
||||||
if (props.pojem.nov) {
|
if (props.pojem.nov) {
|
||||||
navigateTo(localePath({ name: 'pojem_dodaj', params: { guid: revisionId }}), {
|
navigateTo(localePath({ name: 'pojem_dodaj', params: { guid: revisionId }}))
|
||||||
replace: true
|
|
||||||
})
|
|
||||||
} else {
|
} else {
|
||||||
navigateTo(localePath({ name: 'pojem_uredi', params: {
|
navigateTo(localePath({ name: 'pojem_uredi', params: {
|
||||||
naslov: props.pojem.naslov,
|
pojemid: props.revisionId
|
||||||
guid: props.revisionId
|
}}))
|
||||||
}}), { replace: true })
|
|
||||||
}
|
}
|
||||||
//window.location.hash = props.revisionId
|
//window.location.hash = props.revisionId
|
||||||
}
|
}
|
||||||
|
|
|
@ -16,8 +16,13 @@ export const useUi = () => ({
|
||||||
poskrolaj: (sekcija, timeout = 50) => {
|
poskrolaj: (sekcija, timeout = 50) => {
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
if (sekcija) {
|
if (sekcija) {
|
||||||
|
console.log('skrolam na', sekcija)
|
||||||
const top = sekcija.getBoundingClientRect().top
|
const top = sekcija.getBoundingClientRect().top
|
||||||
getScrollParent(sekcija).scrollTo({ top, behavior: 'smooth' })
|
const parent = getScrollParent(sekcija)
|
||||||
|
if (parent && top > 0) {
|
||||||
|
console.log('scrolling to', top)
|
||||||
|
parent.scrollTo({ top })
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}, timeout)
|
}, timeout)
|
||||||
}
|
}
|
||||||
|
|
|
@ -7,5 +7,9 @@
|
||||||
"Dodaj nov pojem": "Neues konzept hinzufügen",
|
"Dodaj nov pojem": "Neues konzept hinzufügen",
|
||||||
"Uredi": "Bearbeiten",
|
"Uredi": "Bearbeiten",
|
||||||
"Predlagaj": "Vorschlag",
|
"Predlagaj": "Vorschlag",
|
||||||
"Zapri": "Schließen"
|
"Zapri": "Schließen",
|
||||||
|
"Sprememba predlagana!": "Änderung vorgeschlagen!",
|
||||||
|
"Napaka pri pošiljanju.": "Fehler beim Senden von Vorschlägen.",
|
||||||
|
"Manjka naslov pojma!": "Der Titel des Konzepts fehlt!",
|
||||||
|
"strojni prevod": "übersetzung der maschine"
|
||||||
}
|
}
|
||||||
|
|
|
@ -6,6 +6,10 @@
|
||||||
"Vsak lahko prispeva k vsebinam manifesta. Predlaga lahko nov pojem ali ureja, dopolni ali predela obstoječe.": "Anyone can add content to the manifesto. You can suggest a new concept or edit, amend or adjust an existing one.",
|
"Vsak lahko prispeva k vsebinam manifesta. Predlaga lahko nov pojem ali ureja, dopolni ali predela obstoječe.": "Anyone can add content to the manifesto. You can suggest a new concept or edit, amend or adjust an existing one.",
|
||||||
"Dodaj nov pojem": "Add new concept",
|
"Dodaj nov pojem": "Add new concept",
|
||||||
"Uredi": "Edit",
|
"Uredi": "Edit",
|
||||||
"Predlagaj": "Suggest",
|
"Predlagaj": "Propose",
|
||||||
"Zapri": "Close"
|
"Zapri": "Close",
|
||||||
|
"Sprememba predlagana!": "Change proposed!",
|
||||||
|
"Napaka pri pošiljanju.": "Error sending proposition.",
|
||||||
|
"Manjka naslov pojma!": "Concept title missing!",
|
||||||
|
"strojni prevod": "machine translation"
|
||||||
}
|
}
|
||||||
|
|
|
@ -7,5 +7,9 @@
|
||||||
"Dodaj nov pojem": "Añadir nuevo concepto",
|
"Dodaj nov pojem": "Añadir nuevo concepto",
|
||||||
"Uredi": "Editar",
|
"Uredi": "Editar",
|
||||||
"Predlagaj": "Sugerencias",
|
"Predlagaj": "Sugerencias",
|
||||||
"Zapri": "Cerca"
|
"Zapri": "Cerca",
|
||||||
|
"Sprememba predlagana!": "¡Cambio propuesto!",
|
||||||
|
"Napaka pri pošiljanju.": "Proposición de envío de errores.",
|
||||||
|
"Manjka naslov pojma!": "¡El título del concepto está desaparecido!",
|
||||||
|
"strojni prevod": "traducción automática"
|
||||||
}
|
}
|
||||||
|
|
|
@ -5,5 +5,8 @@
|
||||||
"Vsak lahko prispeva k vsebinam manifesta. Predlaga lahko nov pojem ali ureja, dopolni ali predela obstoječe.": "Svatko može pridonijeti sadržaju manifesta. Predložiti može novi koncept ili urediti, dopuniti ili revidirati postojeće koncepte.",
|
"Vsak lahko prispeva k vsebinam manifesta. Predlaga lahko nov pojem ali ureja, dopolni ali predela obstoječe.": "Svatko može pridonijeti sadržaju manifesta. Predložiti može novi koncept ili urediti, dopuniti ili revidirati postojeće koncepte.",
|
||||||
"Dodaj nov pojem": "Dodajte novi koncept",
|
"Dodaj nov pojem": "Dodajte novi koncept",
|
||||||
"Zapri": "Zatvori",
|
"Zapri": "Zatvori",
|
||||||
"Predlagaj": "Predloži"
|
"Predlagaj": "Predloži",
|
||||||
|
"Sprememba predlagana!": "Promjena predložena!",
|
||||||
|
"Napaka pri pošiljanju.": "Greška u slanju predloga.",
|
||||||
|
"Manjka naslov pojma!": "Naslov koncepta nedostaje!"
|
||||||
}
|
}
|
||||||
|
|
|
@ -31,11 +31,11 @@ export default defineNuxtConfig({
|
||||||
file: '~/pages/manifest/pojem.vue'
|
file: '~/pages/manifest/pojem.vue'
|
||||||
}, {
|
}, {
|
||||||
name: 'pojem_uredi',
|
name: 'pojem_uredi',
|
||||||
path: '/manifest/:pojemid/uredi/:guid',
|
path: '/manifest/:pojemid/uredi',
|
||||||
file: '~/pages/manifest/pojem.vue'
|
file: '~/pages/manifest/pojem.vue'
|
||||||
}, {
|
}, {
|
||||||
name: 'pojem_dodaj',
|
name: 'pojem_dodaj',
|
||||||
path: '/manifest/dodaj/:guid',
|
path: '/manifest/dodaj/:guid?',
|
||||||
file: '~/pages/manifest/dodaj.vue'
|
file: '~/pages/manifest/dodaj.vue'
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
<script setup="setup">
|
<script setup="setup">
|
||||||
|
|
||||||
const { etherpadApiUrl } = useEtherpadApi()
|
|
||||||
const { pojemid } = useRoute().params
|
const { pojemid } = useRoute().params
|
||||||
|
|
||||||
</script>
|
</script>
|
||||||
|
|
Loading…
Reference in New Issue