Dopolnitev prevodov, routing na guid
parent
69e4e6bca2
commit
6a80ee7d13
|
@ -1,6 +1,7 @@
|
|||
<script setup="setup">
|
||||
|
||||
import { ref } from 'vue'
|
||||
const nastavitveStore = useNastavitveStore()
|
||||
const { izbraniJezik } = storeToRefs(nastavitveStore)
|
||||
|
||||
const { etherpadUrl, etherpadPrefix } = useRuntimeConfig().public
|
||||
|
||||
|
@ -14,7 +15,7 @@ const embed = ref(null)
|
|||
onMounted(() => {
|
||||
// Ce ni revisionId propertyja, se random generira.
|
||||
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
|
||||
})
|
||||
|
||||
|
|
|
@ -11,6 +11,8 @@ const route = useRoute()
|
|||
|
||||
const { izbraniJezik } = storeToRefs(nastavitveStore)
|
||||
|
||||
const routeName = computed(() => route.name)
|
||||
|
||||
const props = defineProps({
|
||||
pojemid: String
|
||||
})
|
||||
|
@ -20,6 +22,7 @@ if (props.pojemid && !(props.pojemid in store.pojmi)) {
|
|||
}
|
||||
|
||||
watch(izbraniJezik, jezik => {
|
||||
console.log('PONOVNO NALAGAM POJME!', jezik)
|
||||
store.naloziPojme(jezik)
|
||||
})
|
||||
|
||||
|
@ -34,7 +37,7 @@ const urediPojem = async () => {
|
|||
// Ustvari pad s tekstom pojma, ce se ne obstaja
|
||||
const tekstPojma = stripHtml(pojem.value.tekst).result
|
||||
const resp = await etherFetch('/createPad', {
|
||||
padID: revisionId.value,
|
||||
padID: izbraniJezik.value + '-' + revisionId.value,
|
||||
text: tekstPojma
|
||||
})
|
||||
urejanje.value = true
|
||||
|
@ -46,12 +49,12 @@ onMounted(() => {
|
|||
navigateTo(localePath('manifest') + '#skrol')
|
||||
}
|
||||
|
||||
// Link na editiranje pojma? Poskrolaj nanj + odpri editiranje
|
||||
if (route.params.guid === revisionId.value) {
|
||||
urejanje.value = true
|
||||
} else {
|
||||
// Sicer samo poskrolaj na pojem
|
||||
poskrolaj(container.value.parentNode)
|
||||
// Poskrolaj na pojem
|
||||
poskrolaj(container.value.parentNode)
|
||||
|
||||
// Link na editiranje pojma? odpri editiranje
|
||||
if (routeName.value.startsWith('pojem_uredi')) {
|
||||
urediPojem()
|
||||
}
|
||||
})
|
||||
|
||||
|
@ -78,7 +81,7 @@ onUpdated(() => {
|
|||
ref="obrazec"
|
||||
:revisionId="revisionId"
|
||||
:pojem="pojem"
|
||||
:onZapri="() => { urejanje = false; store.naloziPojme() }" />
|
||||
:onZapri="() => navigateTo(localePath({ name: 'pojem_poglej', params: { pojemid: revisionId }}))" />
|
||||
</div>
|
||||
</section>
|
||||
</template>
|
||||
|
|
|
@ -1,8 +1,13 @@
|
|||
<script setup="setup">
|
||||
|
||||
const { etherFetch } = useEtherpadApi()
|
||||
const localePath = useLocalePath()
|
||||
const { t } = useI18n()
|
||||
|
||||
const store = usePojmiStore()
|
||||
const nastavitveStore = useNastavitveStore()
|
||||
|
||||
const izbraniJezik = computed(() => nastavitveStore.izbraniJezik)
|
||||
|
||||
const props = defineProps({
|
||||
revisionId: String,
|
||||
|
@ -16,43 +21,36 @@ let email = ref('')
|
|||
const oddajPredlog = async data => {
|
||||
// @TODO vsebina pada v tekst, testirat
|
||||
if (!naslov.value) {
|
||||
alert("Manjka naslov pojma!")
|
||||
alert(t("Manjka naslov pojma!"))
|
||||
return
|
||||
}
|
||||
|
||||
const starNaslov = props.pojem.naslov
|
||||
try {
|
||||
const resp = await etherFetch('/getText', { padID: `${izbraniJezik.value}-${props.revisionId}` })
|
||||
const stvarjenje = await store.ustvariPojem({
|
||||
title: naslov.value,
|
||||
email: email.value,
|
||||
text: resp.data.text,
|
||||
uuid: props.revisionId,
|
||||
language: izbraniJezik.value
|
||||
})
|
||||
alert(t("Sprememba predlagana!"))
|
||||
|
||||
const resp = await etherFetch('/getText', { padID: props.revisionId })
|
||||
const stvarjenje = store.ustvariPojem({
|
||||
title: naslov.value,
|
||||
email: email.value,
|
||||
text: resp.data.text,
|
||||
uuid: props.revisionId
|
||||
})
|
||||
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 }}))
|
||||
}
|
||||
})
|
||||
|
||||
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!
|
||||
const etherNalozen = ev => {
|
||||
if (props.pojem.nov) {
|
||||
navigateTo(localePath({ name: 'pojem_dodaj', params: { guid: revisionId }}), {
|
||||
replace: true
|
||||
})
|
||||
navigateTo(localePath({ name: 'pojem_dodaj', params: { guid: revisionId }}))
|
||||
} else {
|
||||
navigateTo(localePath({ name: 'pojem_uredi', params: {
|
||||
naslov: props.pojem.naslov,
|
||||
guid: props.revisionId
|
||||
}}), { replace: true })
|
||||
pojemid: props.revisionId
|
||||
}}))
|
||||
}
|
||||
//window.location.hash = props.revisionId
|
||||
}
|
||||
|
|
|
@ -16,8 +16,13 @@ export const useUi = () => ({
|
|||
poskrolaj: (sekcija, timeout = 50) => {
|
||||
setTimeout(() => {
|
||||
if (sekcija) {
|
||||
console.log('skrolam na', sekcija)
|
||||
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)
|
||||
}
|
||||
|
|
|
@ -7,5 +7,9 @@
|
|||
"Dodaj nov pojem": "Neues konzept hinzufügen",
|
||||
"Uredi": "Bearbeiten",
|
||||
"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.",
|
||||
"Dodaj nov pojem": "Add new concept",
|
||||
"Uredi": "Edit",
|
||||
"Predlagaj": "Suggest",
|
||||
"Zapri": "Close"
|
||||
"Predlagaj": "Propose",
|
||||
"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",
|
||||
"Uredi": "Editar",
|
||||
"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.",
|
||||
"Dodaj nov pojem": "Dodajte novi koncept",
|
||||
"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'
|
||||
}, {
|
||||
name: 'pojem_uredi',
|
||||
path: '/manifest/:pojemid/uredi/:guid',
|
||||
path: '/manifest/:pojemid/uredi',
|
||||
file: '~/pages/manifest/pojem.vue'
|
||||
}, {
|
||||
name: 'pojem_dodaj',
|
||||
path: '/manifest/dodaj/:guid',
|
||||
path: '/manifest/dodaj/:guid?',
|
||||
file: '~/pages/manifest/dodaj.vue'
|
||||
})
|
||||
}
|
||||
|
|
|
@ -1,6 +1,5 @@
|
|||
<script setup="setup">
|
||||
|
||||
const { etherpadApiUrl } = useEtherpadApi()
|
||||
const { pojemid } = useRoute().params
|
||||
|
||||
</script>
|
||||
|
|
Loading…
Reference in New Issue