Initial commit

This commit is contained in:
Luka Romih
2022-12-07 04:43:36 +01:00
commit 257f3c354f
496 changed files with 55373 additions and 0 deletions
+35
View File
@@ -0,0 +1,35 @@
footer.footer-bg
.text-left.p-2.footer.footer-bg
.wide-footer
.d-flex.align-center
img.rsmzk.align-self-center(
src="/images/rsmzk.svg"
alt="REPUBLIKA SLOVENIJA MINISTRSTVO ZA KULTURO"
)
.flex-grow-1.d-flex.justify-content-center
.my-auto.d-flex.flex-column.align-items-center.justify-content-center
span.d-block.txt.text-gray-2 Naložbo sofinancirata Republika Slovenija in Evropska unija iz Evropskega sklada za regionalni razvoj
a.d-block.txt.text-gray-2(href="https://www.eu-skladi.si") https://www.eu-skladi.si
.d-flex.justify-content-end
img.ekp(
src="/images/EKP.svg"
alt="EVROPSKI SKLAD ZA REGIONALNI RAZVOJ"
)
.narrow-footer
.row
.col-6.d-flex
img.rsmzk.align-self-center(
src="/images/rsmzk.svg"
alt="REPUBLIKA SLOVENIJA MINISTRSTVO ZA KULTURO"
)
.col-6.d-flex.justify-content-end
img.ekp(
src="/images/EKP.svg"
alt="EVROPSKI SKLAD ZA REGIONALNI RAZVOJ"
)
.row.padding-for-mobile-footer.mt-2
.col.justify-content-begin.d-flex
.my-auto
span.d-block.txt.text-gray-2 Naložbo sofinancirata Republika Slovenija in Evropska unija iz Evropskega sklada za regionalni razvoj
a.d-block.txt.text-gray-2(href="https://www.eu-skladi.si") https://www.eu-skladi.si
@@ -0,0 +1,34 @@
//- extends TEMPLATE-demo
block main-navigation
.top-container
.main-nav-no-search
ul.nav
li.nav-item
a(href="/")
img.logo-small(src="/images/logo.png" alt="Logo")
li.ms-auto
.container
.col-sm.nav-entry.menu-link
button#dropdownMenuButton1(
type="button"
data-bs-toggle="dropdown"
aria-expanded="false"
)
img.threedots(src="/images/threedots.svg" alt="")
ul.dropdown-menu(aria-labelledby="dropdownMenuButton1")
li
a.dropdown-item(href="/") Iskanje
if req.extractionEnabled
li
a.dropdown-item(href="/luscenje") Luščenje
if req.dictionariesEnabled
li
a.dropdown-item(href="/slovarji/moji") Urejanje
if req.consultancyEnabled
li
a.dropdown-item(href="#") Svetovanje
li
a.dropdown-item(href="/admin/nastavitve/portal") Administracija
a.col-sm.nav-entry(href="#")
img(src="/images/profile.svg" alt="")
+18
View File
@@ -0,0 +1,18 @@
//- extends TEMPLATE-demo
include navigation-search-mixin
mixin main-navigation(search_included)
.top-container
div(class=search_included ? 'main-nav-no-search' : 'main-nav-no-search')
ul.nav
li.nav-item
a(href="/")
img.logo-small(src="/images/logo.png" alt="Logo")
+navigation-search(search_included)
include ../components/navigation/main-navigation-right-mixin
+main-navigation-right(false, false, false)
if (search_included)
.top-container-mobile-search
+navigation-search-secondary(search_included)
@@ -0,0 +1,60 @@
mixin navigation-search(search_included)
li.nav-item.nav-search-section
.search-root.ps-0.pe-0
.mx-auto.search-bar-navigation-container
if (search_included)
.row
.col
//- double row due to bug
.row
#searchbar-main.search-bar.ps-0.pe-0(tabindex="0")
button#search-button-main.searchbar-icon-container.click-on-enter
img.search_icon(src="/images/search.svg" alt="OK")
input#search-query.search-input.focused-for-enter(
type="text"
placeholder=""
value=`${searchString ? searchString : ''}`
)
button#keyboard.search-button-keyboard.me-0
span
img.keyboard(src="/images/keyboard.svg" alt="Keys")
//- </span>
button#advanced-search.dropdown-btn
img(src="/images/dropdown.svg" alt="Opt")
.row
.d-flex.justify-content-center
#SSC.d-flex.w-100.position-relative.w-650px
.search-suggestion-container.flex-column.position-absolute.calibrate-navigation-sr.bigsearch
include ../components/search-and-filter/advanced-search-modal
include /utilities/keyboard
+keyboard
mixin navigation-search-secondary(search_included)
.gray-responsive-bg.d-flex.justify-content-center
.container.ms-3.me-3
.row
.search-root-main.mb-0.ps-0.pe-0
#searchbar-main-sec.text-center
.search-bar(tabindex="0")
button#search-button-main-sec.searchbar-icon-container.click-on-enter(
href="/iskanje"
)
img.search_icon(src="/images/search.svg" alt="OK")
input#search-query-sec.search-input.focused-for-enter.fw-300.placeholder-gray(
type="text"
placeholder="Vpišite iskalni niz"
value=`${searchString ? searchString : ''}`
)
button#keyboard-sec.search-button-keyboard
span
img.keyboard(src="/images/keyboard.svg" alt="Keys")
//-</span>
button#advanced-search-sec.dropdown-btn
img(src="/images/dropdown.svg" alt="Opt")
.row
.d-flex.justify-content-center
#SSCSec.d-flex.position-relative.w-39rem
//- .search-suggestion-container.flex-column.position-absolute.calibrate-homepage-sr.bigsearch
include /components/search-and-filter/advanced-search-modal
include /utilities/keyboard
+keyboard
+6
View File
@@ -0,0 +1,6 @@
mixin sideNavigationFake
.admin-nav
#admin-nav-mobile.admin-nav-mobile
.mobile-left-holder.ms-3
span#nav-title.nav-title Urejanje
#mobile-right-holder.d-flex
@@ -0,0 +1,265 @@
mixin sideNavigation(sideNavigationData)
.admin-nav
#admin-nav-mobile.admin-nav-mobile
.mobile-left-holder
button#nav-button.nav-button
img#burger-menu-img(
src="/images/burger-menu-button-icon.svg"
alt="Meni"
)
span#nav-title.nav-title Administrator
#mobile-right-holder
nav
ul.admin-nav-content.slidable.scroller-style
if sideNavigationData.activeLvl1 === 'settings'
li.focused-menu
a.active(href="/admin/nastavitve/portal")
img(src="/images/cog.svg" alt="")
p Osnovne nastavitve
ul.sub-links
li
a(
href="/admin/nastavitve/portal"
class=sideNavigationData.activeLvl2 === 'portals' ? 'active' : false
aria-current=sideNavigationData.activeLvl2 === 'portals' ? 'page' : false
) Portal
li
a(
href="/admin/nastavitve/slovarji"
class=sideNavigationData.activeLvl2 === 'dictionaries' ? 'active' : false
aria-current=sideNavigationData.activeLvl2 === 'dictionaries' ? 'page' : false
) Slovarji
li
a(
href="/admin/nastavitve/svetovalnica"
class=sideNavigationData.activeLvl2 === 'consultancy' ? 'active' : false
aria-current=sideNavigationData.activeLvl2 === 'consultancy' ? 'page' : false
) Svetovalnica
else
li.admin-nav-item
a.active(href="/admin/nastavitve/portal")
img(src="/images/cog.svg" alt="Settings")
p Osnovne nastavitve
if sideNavigationData.activeLvl1 === 'connections'
li.focused-menu
a.active(href="/admin/povezave/seznam")
img(src="/images/link.svg" alt="Atributes")
p Povezave
ul.sub-links
li
a(
href="/admin/povezave/seznam"
class=sideNavigationData.activeLvl2 === 'list' ? 'active' : false
aria-current=sideNavigationData.activeLvl2 === 'list' ? 'page' : false
) Seznam
li
a(
href="/admin/povezave/slovarji"
class=sideNavigationData.activeLvl2 === 'dictionaries' ? 'active' : false
aria-current=sideNavigationData.activeLvl2 === 'dictionaries' ? 'page' : false
) Slovarji
else
li.admin-nav-item
a(href="/admin/povezave/seznam")
img(src="/images/link.svg" alt="Atributes")
p Povezave
if sideNavigationData.activeLvl1 === 'dictionaries'
li.focused-menu
a.active(href="/admin/slovarji")
img(src="/images/book.svg" alt="Dictionaries")
p Slovarji
ul.sub-links
li
a(
href="/admin/slovarji"
class=sideNavigationData.activeLvl2 === 'list' ? 'active' : false
aria-current=sideNavigationData.activeLvl2 === 'list' ? 'page' : false
) Seznam
if (sideNavigationData.activeLvl2 === 'list')
li.disabled-li-hover
a(
class=sideNavigationData.activeLvl2 === 'description' ? 'active' : 'disabled-menu'
aria-current=sideNavigationData.activeLvl2 === 'description' ? 'page' : false
) Osnovni podatki
li.disabled-li-hover
a(
class=sideNavigationData.activeLvl2 === 'users' ? 'active' : 'disabled-menu'
aria-current=sideNavigationData.activeLvl2 === 'users' ? 'page' : false
) Uporabniki
li.disabled-li-hover
a(
class=sideNavigationData.activeLvl2 === 'structure' ? 'active' : 'disabled-menu'
aria-current=sideNavigationData.activeLvl2 === 'structure' ? 'page' : false
) Struktura
li.disabled-li-hover
a(
class=sideNavigationData.activeLvl2 === 'subareas' ? 'active' : 'disabled-menu'
aria-current=sideNavigationData.activeLvl2 === 'subareas' ? 'page' : false
) Področne oznake
li.disabled-li-hover
a(
class=sideNavigationData.activeLvl2 === 'advanced' ? 'active' : 'disabled-menu'
aria-current=sideNavigationData.activeLvl2 === 'advanced' ? 'page' : false
) Napredno
li.disabled-li-hover
a(
class=sideNavigationData.activeLvl2 === 'comments' ? 'active' : 'disabled-menu'
aria-current=sideNavigationData.activeLvl2 === 'comments' ? 'page' : false
) Komentarji
//- li.disabled-li-hover
//- a(
//- class=sideNavigationData.activeLvl2 === 'statistics' ? 'active' : 'disabled-menu'
//- aria-current=sideNavigationData.activeLvl2 === 'statistics' ? 'page' : false
//- ) Statistika
li.disabled-li-hover
a(
class=sideNavigationData.activeLvl2 === 'export' ? 'active' : 'disabled-menu'
aria-current=sideNavigationData.activeLvl2 === 'export' ? 'page' : false
) Izvoz
li.disabled-li-hover
a(
class=sideNavigationData.activeLvl2 === 'fileImport' ? 'active' : 'disabled-menu'
aria-current=sideNavigationData.activeLvl2 === 'fileImport' ? 'page' : false
) Uvoz iz datoteke
li.disabled-li-hover
a(
class=sideNavigationData.activeLvl2 === 'extractionImport' ? 'active' : 'disabled-menu'
aria-current=sideNavigationData.activeLvl2 === 'extractionImport' ? 'page' : false
) Uvoz iz luščilnika
li.disabled-li-hover
a(
class=sideNavigationData.activeLvl2 === 'context' ? 'active' : 'disabled-menu'
aria-current=sideNavigationData.activeLvl2 === 'context' ? 'page' : false
) Vsebina
else
li
a(
href=`/admin/slovarji/${dictionary.id}/podatki`
class=sideNavigationData.activeLvl2 === 'description' ? 'active' : false
aria-current=sideNavigationData.activeLvl2 === 'description' ? 'page' : false
) Osnovni podatki
li
a(
href=`/admin/slovarji/${dictionary.id}/uporabniki`
class=sideNavigationData.activeLvl2 === 'users' ? 'active' : false
aria-current=sideNavigationData.activeLvl2 === 'users' ? 'page' : false
) Uporabniki
li
a(
href=`/admin/slovarji/${dictionary.id}/struktura`
class=sideNavigationData.activeLvl2 === 'structure' ? 'active' : false
aria-current=sideNavigationData.activeLvl2 === 'structure' ? 'page' : false
) Struktura
li
a(
href=`/admin/slovarji/${dictionary.id}/podrocne-oznake`
class=sideNavigationData.activeLvl2 === 'subareas' ? 'active' : false
aria-current=sideNavigationData.activeLvl2 === 'subareas' ? 'page' : false
) Področne oznake
li
a(
href=`/admin/slovarji/${dictionary.id}/napredno`
class=sideNavigationData.activeLvl2 === 'advanced' ? 'active' : false
aria-current=sideNavigationData.activeLvl2 === 'advanced' ? 'page' : false
) Napredno
li
a(
href=`/admin/slovarji/${dictionary.id}/komentarji`
class=sideNavigationData.activeLvl2 === 'comments' ? 'active' : false
aria-current=sideNavigationData.activeLvl2 === 'comments' ? 'page' : false
) Komentarji
//- li
//- a(
//- href="#"
//- class=sideNavigationData.activeLvl2 === 'statistics' ? 'active' : false
//- aria-current=sideNavigationData.activeLvl2 === 'statistics' ? 'page' : false
//- ) Statistika
li
a(
href=`/admin/slovarji/${dictionary.id}/izvoz`
class=sideNavigationData.activeLvl2 === 'export' ? 'active' : false
aria-current=sideNavigationData.activeLvl2 === 'export' ? 'page' : false
) Izvoz
li
a(
href=`/admin/slovarji/${dictionary.id}/uvoz/datoteka`
class=sideNavigationData.activeLvl2 === 'fileImport' ? 'active' : false
aria-current=sideNavigationData.activeLvl2 === 'fileImport' ? 'page' : false
) Uvoz iz datoteke
li
a(
href=`/admin/slovarji/${dictionary.id}/uvoz/luscenje`
class=sideNavigationData.activeLvl2 === 'extractionImport' ? 'active' : false
aria-current=sideNavigationData.activeLvl2 === 'extractionImport' ? 'page' : false
) Uvoz iz luščilnika
li
a(
href=`/slovarji/${dictionary.id}/vsebina`
class=sideNavigationData.activeLvl2 === 'context' ? 'active' : false
aria-current=sideNavigationData.activeLvl2 === 'context' ? 'page' : false
) Vsebina
else
li.admin-nav-item
a.active(href="/admin/slovarji")
img(src="/images/book.svg" alt="Dictionaries")
p Slovarji
if sideNavigationData.activeLvl1 === 'users'
li.focused-menu
a.active(href="/admin/uporabniki/portal")
img(src="/images/users.svg" alt="Users")
p Uporabniki
ul.sub-links
li
a(
href="/admin/uporabniki/portal"
class=sideNavigationData.activeLvl2 === 'portals' ? 'active' : false
aria-current=sideNavigationData.activeLvl2 === 'portals' ? 'page' : false
) Portal
li
a(
href="/admin/uporabniki/seznam"
class=sideNavigationData.activeLvl2 === 'list' ? 'active' : false
aria-current=sideNavigationData.activeLvl2 === 'list' ? 'page' : false
) Seznam
else
li.admin-nav-item
a(href="/admin/uporabniki/portal")
img(src="/images/users.svg" alt="Users")
p Uporabniki
if sideNavigationData.activeLvl1 === 'areas'
li.focused-menu
a.active(href="/admin/podpodrocja")
img(src="/images/areas.svg" alt="Areas")
p Podpodročja
else
li.admin-nav-item
a(href="/admin/podpodrocja")
img(src="/images/areas.svg" alt="Areas")
p Podpodročja
if sideNavigationData.activeLvl1 === 'comments'
li.focused-menu
a.active(href="/admin/komentarji")
img(src="/images/u_comment-alt.svg" alt="Comments")
p Komentarji
else
li.admin-nav-item
a(href="/admin/komentarji")
img(src="/images/u_comment-alt.svg" alt="Comments")
p Komentarji
//- if sideNavigationData.activeLvl1 === 'statistics'
//- li.focused-menu
//- a.active(href="#")
//- img(src="/images/statistics.svg" alt="")
//- p Statistika
//- else
//- li.admin-nav-item
//- a(href="#")
//- img(src="/images/statistics.svg" alt="")
//- p Statistika
@@ -0,0 +1,90 @@
mixin sideNavigation(metaData)
.admin-nav
#admin-nav-mobile.admin-nav-mobile
.mobile-left-holder
button#nav-button.nav-button
img#burger-menu-img(
src="/images/burger-menu-button-icon.svg"
alt="Meni"
)
span#nav-title.nav-title= 'Svetovalnica'
#mobile-right-holder
nav
ul.admin-nav-content.slidable.z-20
li
a(href="/svetovanje")
img(src="/images/chevrons-left.svg")
p Nazaj
if user.hasRole('consultancy admin')
li(class=metaData.new ? 'focused-menu' : '')
a(
href="/svetovanje/vprasanje/admin/novo"
class=metaData.new ? 'active' : ''
)
img(
src=metaData.new ? '/images/star-blue.svg' : '/images/star.svg'
alt=""
)
p Novo
li(class=metaData.rejected ? 'focused-menu' : '')
a(
href="/svetovanje/vprasanje/admin/zavrnjeno"
class=metaData.rejected ? 'active' : ''
)
img(
src=metaData.rejected ? '/images/x-circle-blue.svg' : '/images/x-circle.svg'
alt=""
)
p Zavrnjeno
li(class=metaData.inProgress ? 'focused-menu' : '')
a(
href="/svetovanje/vprasanje/admin/v-delu"
class=metaData.inProgress ? 'active' : ''
)
img(
src=metaData.inProgress ? '/images/edit-blue.svg' : '/images/edit.svg'
alt=""
)
p V delu
if user.hasRole('consultancy admin')
li(class=metaData.prepared ? 'focused-menu' : '')
a(
href="/svetovanje/vprasanje/admin/pripravljeno"
class=metaData.prepared ? 'active' : ''
)
img(
src=metaData.prepared ? '/images/cog-blue.svg' : '/images/cog.svg'
alt=""
)
p Pripravljeno
li(class=metaData.published ? 'focused-menu' : '')
a(
href="/svetovanje/vprasanje/admin/objavljeno"
class=metaData.published ? 'active' : ''
)
img(
src=metaData.published ? '/images/book-open-blue.svg' : '/images/book-open.svg'
alt=""
)
p Objavljeno
//- li(class=metaData.stats ? 'focused-menu' : '')
a(
href="/svetovanje/vprasanje/admin/statistika"
class=metaData.stats ? 'active' : ''
)
img(
src=metaData.stats ? '/images/statistics-blue.svg' : '/images/statistics.svg'
alt=""
)
p Statistika
if user.hasRole('consultancy admin')
li(class=metaData.users ? 'focused-menu' : '')
a(
href="/svetovanje/vprasanje/admin/uporabniki"
class=metaData.users ? 'active' : ''
)
img(
src=metaData.users ? '/images/users-blue.svg' : '/images/users.svg'
alt=""
)
p Svetovalci
@@ -0,0 +1,128 @@
mixin sideNavigation(sideNavigationData)
.admin-nav
#admin-nav-mobile.admin-nav-mobile
//- button#nav-button.nav-button(onclick="toggleNav('admin-nav-content')")
.mobile-left-holder
button#nav-button.nav-button
img#burger-menu-img(
src="/images/burger-menu-button-icon.svg"
alt="Meni"
)
span#nav-title.nav-title Urejanje
#mobile-right-holder
nav
ul.admin-nav-content.slidable
//- li.side-menu-heading.mb-4 Urejanje
if sideNavigationData.activeLvl1 === 'myDictionaries'
li.focused-menu
a.active(href="/slovarji/moji")
img(src="/images/fi_folder.svg" alt="")
p Moji slovarji
else
li.admin-nav-item
a.active(href="/slovarji/moji")
img(src="/images/fi_folder.svg" alt="")
p Moji slovarji
if sideNavigationData.activeLvl1 === 'attributes'
li.focused-menu
a.active(href=`/slovarji/${dictionary.id}/podatki`)
img(src="/images/areas.svg" alt="Atributes")
p Lastnosti
ul.sub-links
li
a(
href=`/slovarji/${dictionary.id}/podatki`
class=sideNavigationData.activeLvl2 === 'description' ? 'active' : false
aria-current=sideNavigationData.activeLvl2 === 'description' ? 'page' : false
) Osnovni podatki
li
a(
href=`/slovarji/${dictionary.id}/uporabniki`
class=sideNavigationData.activeLvl2 === 'users' ? 'active' : false
aria-current=sideNavigationData.activeLvl2 === 'users' ? 'page' : false
) Uporabniki
li
a(
href=`/slovarji/${dictionary.id}/struktura`
class=sideNavigationData.activeLvl2 === 'structure' ? 'active' : false
aria-current=sideNavigationData.activeLvl2 === 'structure' ? 'page' : false
) Struktura
li
a(
href=`/slovarji/${dictionary.id}/podrocne-oznake`
class=sideNavigationData.activeLvl2 === 'areas' ? 'active' : false
aria-current=sideNavigationData.activeLvl2 === 'areas' ? 'page' : false
) Področne oznake
li
a(
href=`/slovarji/${dictionary.id}/napredno`
class=sideNavigationData.activeLvl2 === 'advanced' ? 'active' : false
aria-current=sideNavigationData.activeLvl2 === 'advanced' ? 'page' : false
) Napredno
li
a(
href=`/slovarji/${dictionary.id}/komentarji`
class=sideNavigationData.activeLvl2 === 'comments' ? 'active' : false
aria-current=sideNavigationData.activeLvl2 === 'comments' ? 'page' : false
) Komentarji
else
li.admin-nav-item
a(href=`/slovarji/${dictionary.id}/podatki`)
img(src="/images/areas.svg" alt="Atributes")
p Lastnosti
if sideNavigationData.activeLvl1 === 'content'
li.focused-menu
a.active(href=`/slovarji/${dictionary.id}/vsebina`)
img(src="/images/book.svg" alt="")
p Vsebina
else
li.admin-nav-item
a(href=`/slovarji/${dictionary.id}/vsebina`)
img(src="/images/book.svg" alt="")
p Vsebina
if sideNavigationData.activeLvl1 === 'export'
li.focused-menu
a.active(href=`/slovarji/${dictionary.id}/izvoz`)
img(src="/images/fi_download.svg" alt="")
p Izvoz
else
li.admin-nav-item
a(href=`/slovarji/${dictionary.id}/izvoz`)
img(src="/images/fi_download.svg" alt="")
p Izvoz
if sideNavigationData.activeLvl1 === 'import'
li.focused-menu
a.active(href=`/slovarji/${dictionary.id}/uvoz/datoteka`)
img(src="/images/fi_upload.svg" alt="")
p Uvoz
ul.sub-links
li
a(
href=`/slovarji/${dictionary.id}/uvoz/datoteka`
class=sideNavigationData.activeLvl2 === 'file' ? 'active' : false
aria-current=sideNavigationData.activeLvl2 === 'file' ? 'page' : false
) Uvoz iz datoteke
li
a(
href=`/slovarji/${dictionary.id}/uvoz/luscenje`
class=sideNavigationData.activeLvl2 === 'extraction' ? 'active' : false
aria-current=sideNavigationData.activeLvl2 === 'extraction' ? 'page' : false
) Uvoz iz luščilnika
else
li.admin-nav-item
a(href=`/slovarji/${dictionary.id}/uvoz/datoteka`)
img(src="/images/fi_upload.svg" alt="")
p Uvoz
//- Enako za ostale
//- li
//- a(href="urlDoStrani") Lastnosti
//- li
//- a(href="urlDoStrani") Vsebina
//- li
//- a(href="urlDoStrani") Izvoz
//- li
//- a(href="urlDoStrani") Uvoz
@@ -0,0 +1,40 @@
extends ../../common/side-navigation-common
.admin-nav
.admin-nav-mobile
button#nav-button.nav-button
img#burger-menu-img(src="/images/burger-menu-button-icon.svg" alt="Meni")
span.nav-title Administrator
nav
ul.admin-nav-content.slidable
li.admin-nav-item
a(href="#")
img(src="/images/cog.svg" alt="")
p Osnovne nastavitve
li.admin-nav-item.focused-menu
a.menu-selected(href="#")
img(src="/images/link.svg" alt="")
p Povezave
ul.sub-links
li
a.menu-selected(href="#") Portali
li
a(href="#") Domači slovarji
li
a(href="#") Tuji slovarji
li.admin-nav-item
a(href="#")
img(src="/images/book.svg" alt="")
p Slovarji
li.admin-nav-item
a(href="#")
img(src="/images/users.svg" alt="")
p Uporabniki
li.admin-nav-item
a(href="#")
img(src="/images/areas.svg" alt="")
p Področja
li.admin-nav-item
a(href="#")
img(src="/images/statistics.svg" alt="")
p Statistika
@@ -0,0 +1,123 @@
mixin consultancyItem(data, section)
a.consultancy-anchor(id='id-' + data.id)
.consultancy-question-item.position-relative
.row.mt-3.mb-2
.col.align-items-center.align-items-center.d-flex
if section.inProgress
img.i1rx1r(src="/images/u_edit-alt.svg" alt="")
else if section.new
img.i1rx1r(src="/images/star-blue.svg" alt="")
else if section.rejected
img.i1rx1r(src="/images/x-circle-blue.svg" alt="")
else if section.prepared
img.i1rx1r(src="/images/cog-blue.svg" alt="")
else if section.published
img.i1rx1r(src="/images/book-open-blue.svg" alt="")
span.d-inline-block.pt-0.ps-2.question-asked-time.text-p875rem= `${data.primaryDomain}`
span.d-inline-block.pt-0.ps-2.question-asked-time.text-p875rem.ms-1.me-1 •
if (data.firstName && data.lastName)
span#moderatorName.d-inline-block.pt-0.ps-2.question-asked-time.text-p875rem= `${data.firstName} ${data.lastName}`
- const sharedListCondition = data.sharedAuthors && data.sharedAuthors.length > 0
if sharedListCondition
.d-inline.d-inline-block(
tabindex="0"
data-bs-toggle="tooltip"
data-bs-title=""
data-bs-container="body"
data-bs-placement="right"
data-tooltip-content=data.sharedAuthors.reduce((acc, value) => {
return acc + value + ',';
}, '')
)
.circle.ms-1.align-items-center.justify-content-center.d-flex
span.pt-0.question-asked-time.text-p625rem #{ data.sharedAuthors.length }
span.d-inline-block.pt-0.ps-1.question-asked-time.text-p875rem.ms-2.me-1 •
span.d-inline-block.pt-0.ps-1.question-asked-time.text-p875rem= `${data.formattedTimeCreated}`
if (data.title)
.row.mt-2.mb-2
.col
h5-pb-0.navigation-text-color
b= data.title
else
.row.mt-2.mb-2
span.consultancy-description-text
b.text-p875rem= 'Opis terminološkega problema: '
span.text-p875rem= data.description
.row.mt-3.btn-group
if section.inProgress
if user.hasRole('consultancy admin')
.col-md-2
button.btn.btn-secondary.w-100.consultancy-modal-assign(
type="button"
)
img.i1p5rx1p5r(src="/images/u_edit-alt.svg" alt="")
span.ps-1 DODELI
.col-md-2
button.btn.btn-secondary.w-100.consultancy-modal-share(
type="button"
)
img.i1p5rx1p5r(src="/images/users.svg" alt="")
span.ps-1 DELI
.col-md-2
button.btn.btn-secondary.w-100.reject-item
img.i1p5rx1p5r(src="/images/x-circle-red.svg" alt="")
span.ps-1 ZAVRNI
.col-md-2
button.edit-button.btn.btn-secondary.w-100
img.i1p5rx1p5r(src="/images/u_edit-alt.svg" alt="")
span.ps-1 UREDI
.col-md-2
button.btn.btn-primary.review-btn.w-100(disabled=!data.title)
img.i1p5rx1p5r(src="/images/book-open-white.svg" alt="")
span.ps-1 OBJAVI
else if section.new
.col-md-2
button.btn.btn-secondary.w-100.consultancy-modal-assign(
type="button"
)
img.i1p5rx1p5r(src="/images/u_edit-alt.svg" alt="")
span.ps-1 DODELI
.col-md-2
button.btn.btn-secondary.w-100.delete-item
img.i1p5rx1p5r(src="/images/trash-2.svg" alt="")
span.ps-1 BRIŠI
else if section.rejected
.col-md-2
button.btn.btn-secondary.w-100.consultancy-modal-assign(
type="button"
)
img.i1p5rx1p5r(src="/images/u_edit-alt.svg" alt="")
span.ps-1 DODELI
.col-md-2
button.btn.btn-secondary.w-100.delete-item
img.i1p5rx1p5r(src="/images/trash-2.svg" alt="")
span.ps-1 BRIŠI
else if section.prepared
.col-md-2
button.edit-button.btn.btn-secondary.w-100
img.i1p5rx1p5r(src="/images/u_edit-alt.svg" alt="")
span.ps-1 UREDI
if user.hasRole('consultancy admin')
.col-md-2
button.btn.btn-primary.publish-btn.w-100(disabled=!data.title)
img.i1p5rx1p5r(src="/images/book-open-white.svg" alt="")
span.ps-1 OBJAVI
else if section.published
if user.hasRole('consultancy admin')
.col-md-2
button.btn.btn-secondary.w-100.consultancy-modal-assign(
type="button"
)
img.i1p5rx1p5r(src="/images/u_edit-alt.svg" alt="")
span.ps-1 DODELI
.col-md-2
button.edit-button.btn.btn-secondary.w-100
img.i1p5rx1p5r(src="/images/u_edit-alt.svg" alt="")
span.ps-1 UREDI
if user.hasRole('consultancy admin')
.col-md-2
button.btn.btn-secondary.w-100.delete-item
img.i1p5rx1p5r(src="/images/trash-2.svg" alt="")
span.ps-1 BRIŠI
.hovered.position-absolute
@@ -0,0 +1,17 @@
mixin consultancyItem(entry)
a.consultancy-anchor(href=`/svetovanje/vprasanje/${entry.id}`)
.consultancy-question-item.position-relative
.row.mt-4.mb-2
.col.d-flex.justify-content-start
//- 9. 11. 2021 --> questionDateDMYformat
span.question-asked-time.text-p875rem= `Vprašanje poslano: ${entry.formattedTimeCreated}`
.row.mb-2
.col
h5-pb-0.navigation-text-color
b= entry.title
.row
//- span.consultancy-description-text
span.text-p875rem!= `<b>Opis terminološkega problema:</b> ${entry.question}`
//- span.consultancy-description-text
span.text-p875rem!= `<b>Odgovor:</b> ${entry.answerSummary}`
.hovered.position-absolute
@@ -0,0 +1,38 @@
mixin table(lstt= [{name: "Terminološki slovar fizike in astronomije", area: "Bibliotekarstvo in informacijska znanost"}, {name: "Terminološki slovar fizike in astronomije", area: "Bibliotekarstvo in informacijska znanost"}, {name: "Terminološki slovar fizike in astronomije", area: "Bibliotekarstvo in informacijska znanost"}, {name: "Terminološki slovar fizike in astronomije", area: "Bibliotekarstvo in informacijska znanost"}], isHeadline=false)
#dictlist.w-100.table-dict-list
if (isHeadline)
.th.row.pb-2.g-0
.col-11
.row.g-0
.col-8.d-flex.justify-content-start.ps-4
button#sortByDictName.no-bg.no-border.text-decoration-none.navigation-text-color
span Ime
img#dictNameImg.invisible(src="images/arrow_drop_down.svg")
.col-4.d-flex.justify-content-start
button#sortByDomainName.no-bg.no-border.text-decoration-none.navigation-text-color
span Področje
img#domainNameImg.invisible(src="images/arrow_drop_down.svg")
.col-1.row.d-flex.justify-content-end.g-0
//- .col-4.d-flex.justify-content-center Vir
//- .col-4.d-flex.justify-content-center Opis
.col.d-flex.justify-content-center
.no-bg.no-border.text-decoration-none.navigation-text-color.fw-400 Iskanje
each val in lstt
.row.table-dict-content.py-2.g-0(id=val.id)
.col-11.row.g-0
.col-sm-8.d-flex.justify-content-start.text-p875rem.ps-4.fw-500
a.d-flex.flex-row.text-decoration-none(
href=`/slovarji/${val.id}/o-slovarju?sentFromEntryId=dictsList`
)
img.mt-1.d-flex.i16x16(src="/images/book.svg" alt="")
span.px-3.d-flex.flex-grow-1= val.dictionarysl
.col-sm-4.pe-3.d-flex.justify-content-start.text-p875rem.dpr= val.domain_primary
.col-1.row.d-flex.justify-content-end.g-0
//- .col-4.d-flex.justify-content-center.align-items-center
span= val.portalcode
//- .col-4.d-flex.justify-content-center.align-items-center
a(href=`/slovarji/${val.id}/o-slovarju?sentFromEntryId=dictsList`)
img.i16x16(src="/images/book.svg" alt="")
.col.d-flex.justify-content-center.align-items-top
a(href=`/iskanje?q=*&d=${val.id}`)
img.i16x16(src="/images/search.svg" alt="")
@@ -0,0 +1,231 @@
-
const registration_login_label = "registracija"
const registration_suggestion_label = "Še niste registriran uporabnik, registrirajte se."
#staticBackdrop.modal.fade(
data-bs-backdrop="true"
data-bs-keyboard="true"
tabindex="-1"
aria-labelledby="staticBackdropLabel"
aria-hidden="true"
)
.modal-dialog.modal-dialog-centered.modal-fullscreen-sm-down.modal-lg
.modal-content.ps-4.pe-4
.modal-header.mt-3
h2.logintitle.modal-title.color-primary-text.fs-2 Prijava
h2.regtitle.d-none.modal-title.color-primary-text.fs-2 Registracija
button.no-bg-and-borders(
type="button"
data-bs-dismiss="modal"
aria-label="Close"
)
img(src="/images/x.svg" alt="Zapri")
#logreg-mb.modal-body.pt-0.pe-5
p.logindesc.text-header-description-gray S prijavo pridobite možnost uporabe vseh funkcij terminološkega portala.
p.regdesc.d-none.text-header-description-gray Z registracijo pridobite možnost uporabe vseh funkcij terminološkega portala.
.pspelogsig-5
form#login-form(
action="/api/v1/users/login"
method="post"
autocomplete="off"
)
.row
.col-2.d-flex.align-items-center.justify-content-center.pe-4
img(src="/images/user.svg" alt="")
.col-8.input-floor.ps-0
label.loginregisterlabel(for="login-username-or-email") UPORABNIK
input#login-username-or-email.d-block.w-100.input-lr(
name="usernameOrEmail"
)
.col-2.input-floor.d-flex.justify-content-end.pe-0
img.error-icon.error-login-icon.align-self-end.d-flex(
src="/images/x_red.svg"
alt="X"
)
.row
.col-2.d-flex.align-items-center.justify-content-center.pe-4
img(src="/images/lock.svg" alt="")
.col-8.input-floor.ps-0
label.loginregisterlabel(for="login-password") GESLO
input#login-password.d-block.w-100.input-lr(
name="password"
type="password"
)
.col-2.input-floor.d-flex.justify-content-end.pe-0
img.error-icon.error-login-icon.align-self-end.d-flex(
src="/images/x_red.svg"
alt="X"
)
.row.pt-0
.col-2.d-flex.ps-4.align-items-center.pe-4
span
.col-10.ps-0
.row.pt-0
.col-7.pt-2
//- sm-8 was chosen because of the middle display collision issue
input#login-remember.align-middle(
name="rememberMe"
type="checkbox"
)
label.ps-2.align-middle.rememberloginlabel.text-header-description-gray.pe-2(
for="login-remember-me"
) Zapomni si prijavo
.col-5.pt-2.d-flex-and-align-end.pe-0
a.ms-auto.forgotten-password.gray1-text.no-text-decoration.align-middle(
href="#"
) Pozabljeno geslo
.row.pt-0
.col
p#error-description.error-text.pt-3.mb-1 Nepravilno uporabniško ime, elektronski naslov ali geslo.
.row.pt-3
.col
button.btn.btn-primary.h41.w151 PRIJAVA
.row.pt-3
.col
p#login-message-container
form#register-form.d-none(
action="/api/v1/users/register"
method="post"
autocomplete="off"
)
.row
.col-2.d-flex.align-items-center.justify-content-center.pe-4
img(src="/images/user.svg" alt="")
.col-8.input-floor.ps-0
label.loginregisterlabel(for="register-username") UPORABNIK
input#register-username.w-100.input-lr(name="username")
.col-2.input-floor.d-flex.justify-content-end.pe-0
img.error-icon.error-username.align-self-end.d-flex(
src="/images/x_red.svg"
alt="X"
)
.row.pt-1
.col.pe-0
p#error-username.mb-0.error-text.text-end Uporabniško ime že obstaja
.row.pt-0
.col-2.d-flex.align-items-center.justify-content-center.pe-4
img(src="/images/user.svg" alt="")
.col-8.input-floor.ps-0
label.loginregisterlabel(for="register-name") IME
input#register-name.w-100.input-lr(name="firstName")
.col-2.input-floor.d-flex.justify-content-end.pe-0
img.error-icon.error-name.align-self-end.d-flex(
src="/images/x_red.svg"
alt="X"
)
.row.pt-1
.col.pe-0
p#error-name.mb-0.error-text.text-end Prazno obvezno polje
.row.pt-1
.col-2.d-flex.align-items-center.justify-content-center.pe-4
img(src="/images/user.svg" alt="")
.col-8.input-floor.ps-0
label.loginregisterlabel(for="register-surname") PRIIMEK
input#register-surname.w-100.input-lr(name="lastName")
.col-2.input-floor.d-flex.justify-content-end.pe-0
img.error-icon.error-surname.align-self-end.d-flex(
src="/images/x_red.svg"
alt="X"
)
.row.pt-1
.col.pe-0
p#error-surname.mb-0.error-text.text-end Prazno obvezno polje
.row.pt-1
.col-2.d-flex.align-items-center.justify-content-center.pe-4
img(src="/images/user.svg" alt="")
.col-8.input-floor.ps-0
label.loginregisterlabel(for="register-email") ELEKTRONSKI NASLOV
input#register-email.w-100.input-lr(name="email")
.col-2.input-floor.d-flex.justify-content-end.pe-0
img.error-icon.error-email.align-self-end.d-flex(
src="/images/x_red.svg"
alt="X"
)
.row.pt-1
.col.pe-0
p#error-email.mb-0.error-text.text-end Elektronski naslov že obstaja
.row.pt-1
.col-2.d-flex.align-items-center.justify-content-center.pe-4
img(src="/images/lock.svg" alt="")
.col-8.input-floor.ps-0
label.loginregisterlabel(for="register-password") GESLO
input#register-password.w-100.input-lr(
name="password"
type="password"
)
.col-2.input-floor.d-flex.justify-content-end.pe-0
img.error-icon.error-password.align-self-end.d-flex(
src="/images/x_red.svg"
alt="X"
)
.row.pt-1
.col.pe-0
p#error-password.mb-0.error-text.text-end Geslo je prekratko
.row.pt-1
.col-2.d-flex.align-items-center.justify-content-center.pe-4
img(src="/images/lock.svg" alt="")
.col-8.input-floor.ps-0
label.loginregisterlabel(for="register-password-repeat") PONOVI GESLO
input#register-password-repeat.w-100.input-lr(
name="passwordRepeat"
type="password"
)
.col-2.input-floor.d-flex.justify-content-end.pe-0
img.error-icon.error-password-repeat.align-self-end.d-flex(
src="/images/x_red.svg"
alt="X"
)
.row.pt-1
.col.pe-0
p#error-password-repeat.mb-0.repeat.error-text.text-end Geslo se ne ujema
.row.mt-1.pt-0
.col-2.d-flex.align-items-center.justify-content-center.pe-4
.col-8.ps-0
.mb-2
input#terms-of-use.me-3(type="checkbox")
span Strinjam se s <a href="/pogoji-uporabe">pogoji uporabe</a>
.mb-2
input#privacy-policy.me-3(type="checkbox")
span Soglašam s <a href="/politika-zasebnosti">politiko zasebnosti</a>
.col-2.d-flex.justify-content-end.pe-0
.row
.col-2.d-flex.ps-4.align-items-center.pe-4
.col-10.ps-0
button.btn.btn-primary.h41.w151 Registracija
.row
.col-sm-2.d-flex.ps-4.align-items-center
.col-sm-10
p#register-message-container.error-text
#logreg-mf.modal-footer.pb-5
.row
.col-sm-2
.col-sm-10.ps-0.no-flex
#regbtn.registration.register-login-form
button(
style="border: none; background: none; text-decoration: none"
)
span.form-icon-data-seperator
span.form-icon
//-<i class="bi-person-plus"></i>
img(src="/images/icon-user-x.svg" alt="")
span.form-data
h6 Registracija
p Še niste registriran uporabnik, registrirajte se.
#loginbtn.registration.register-login-form.login.d-none
button(
style="border: none; background: none; text-decoration: none"
)
span.form-icon-data-seperator
span.form-icon
//-<i class="bi-person-plus"></i>
img(src="/images/icon-user-x.svg" alt="")
span.form-data
h6 Prijava
p Nazaj na prijavo
script(nonce=cspNonce src="/javascripts/login-and-register.js")
@@ -0,0 +1,13 @@
#offset-padding.header-section-root
.d-flex.justify-content-between.flex-wrap.flex-md-nowrap
.header-container-left-side.d-flex
#chevrons-left.d-flex.align-items-start.justify-content-start
.header-section-root
.header-container-divider-left.pe-5
h2 Naslov
h1 Podnaslov
span.d-block.pe-5
| Splošen opis področja. Anim duis u llamco Lorem reprehenderit.
| Reprehenderit aliqua quis ut velit eu irure non ad sunt sunt
| ipsum sunt esse.
block right-section
@@ -0,0 +1,6 @@
extends ../generic-main-panel-header
block right-section
.header-container-divider-right
button.optional-floating-action-button
| Besedilo gre tukaj
@@ -0,0 +1,8 @@
extends ../generic-main-panel-header
block right-section
.header-container-divider-right
button.optional-floating-action-button
| Besedilo gre tukaj
button.optional-floating-action-button
| Besedilo gre tukaj
@@ -0,0 +1,81 @@
mixin main-navigation-right(languageToolbarPresent=false, menuTextPresent=false, userTextPresent=false)
li.nav-item
.container
//-<span class="nav">
//- if languageToolbarPresent
a.col-sm.nav-entry.language-desktop-entry(href="#")
img(src="/images/globe.svg" alt="")
span#langtoggle.text-white SL
.col-sm.nav-entry.menu-link
button#dropdownMenuButton1(
type="button"
data-bs-toggle="dropdown"
aria-expanded="false"
)
img.threedots(src="/images/threedots.svg" alt="")
if menuTextPresent
span.text-white.menutxt MENI
ul.dropdown-menu(aria-labelledby="dropdownMenuButton1")
li
a.dropdown-item(href="/") Iskanje
if extractionEnabled
li
a.dropdown-item(href="/luscenje") Luščenje
if dictionariesEnabled
li
a.dropdown-item(href="/slovarji/moji") Urejanje
if consultancyEnabled
li
a.dropdown-item(href="/svetovanje") Svetovanje
if user && (user.hasRole('portal admin') || user.hasRole('dictionaries admin'))
li
a.dropdown-item(href="/admin") Administracija
li
a.dropdown-item(href="/pomoc") Pomoč
if user
button#dropdownAccountButton.col-sm.nav-entry.no-border.no-bg.pe-3(
type="button"
data-bs-toggle="dropdown"
aria-expanded="false"
)
img(src="/images/profile-loggedin.svg" alt="")
// .position-absolute
// .green-dot
if userTextPresent
span.text-white.signintxt.position-relative.left-2 RAČUN
ul.dropdown-menu.dropdown-menu-end.py-3.children-pspe-4.children-pt-pb-1.ul-children-hover(
aria-labelledby="dropdownAccountButton"
)
li.pt-0.mt-0.noHoverBGEffect.ps-3
.ps-0.pb-2.navigation-text-color= user.userName
.text-header-description-gray.index-font-size= user.email
li.noHoverBGEffect.pt-0.pb-0.ps-3
hr.mt-2.mb-2
li.ps-3
a.dropdown-item.ps-0.pb-2.navigation-text-color(
href="/nastavitve-racuna"
)
.row
.col-3
img(src="/images/cog.svg" alt="")
.col-9
span.text-header-description-gray.d-block Nastavitve
li.pb-0.mb-0.ps-3
form(action="/users/logout" method="post")
button.profile-menu-button
.row
.col-3
img(src="/images/log-out.svg" alt="")
.col-9
span.text-header-description-gray.d-block Odjava
else
button#login-static-backdrop-button.col-sm.nav-entry.no-border.no-bg(
href="#"
type="button"
data-bs-toggle="modal"
data-bs-target="#staticBackdrop"
)
img(src="/images/profile.svg" alt="")
if userTextPresent
span.text-white.signintxt.ps-2 PRIJAVA
@@ -0,0 +1,43 @@
mixin consultancySM(adminFields=false)
.d-none-weak.advanced-search-root.w-100
.advanced-search-filter-section
span#area
.d-flex.w-100
span.tags-root.me-0.rounded-0
label.d-flex.flex-grow-1.align-items-end
//- input#area-input.box-sizing-content.bg-transparent
//- select#domain-select.select-search-field(multiple="multiple")
//- option(value="SSKJ") Filozofija
//- option(value="SSKJ2") Matematika
select#domain-select.select-domain-field.d-inline.height-46p.form-control(
name="domainPrimary"
multiple="multiple"
)
//- option.d-none(value="-1")= ' '
each domain in allPrimaryDomains
option(value=domain.id) #{ domain.nameSl }
span.advanced-input-label
//- span.advanced-input-label Področje
//- img#area-img(src="/images/chevron-down-darker.svg" alt="")
span#area-suggestions.suggs
if adminFields
span#consultant
.d-flex.w-100
span.tags-root.me-0.rounded-0
label.d-flex.flex-grow-1.align-items-end
//- input#area-input.box-sizing-content.bg-transparent
select#consultancy-select.select-search-field(
multiple="multiple"
)
option(value="Joze") Jože
option(value="Franc") Franc
span.advanced-input-label Svetovalec
img#consultancy-img(src="/images/chevron-down-darker.svg" alt="")
span#consultancy-suggestions.suggs
.advanced-search-final-options
//- button Počisti filtre
span
button#clear-in-filter-modal.btn.clear-f Počisti filtre
button#search-in-filter-modal.btn.search-btn-a Najdi
@@ -0,0 +1,104 @@
.d-none-weak.advanced-search-root.w-100
//- p Poišči izraze, ki so v:
//- .advanced-search-options
div
span
input#headword-checkbox.h-100(type="checkbox")
label.align-items-center(for="headword-checkbox") Iztočnici
div
span
input#translation-checkbox.h-100(type="checkbox")
label.align-items-center(for="translation-checkbox") Prevodu
div
span
input#othr-checkbox.h-100(type="checkbox")
label.align-items-center(for="othr-checkbox") Drugo
//- https://stackoverflow.com/questions/24347340/styling-of-select2-dropdown-select-boxes
.advanced-search-filter-section
span.advanced-search-filter-division
span#src-lang
.d-flex.w-100
span.tags-root.me-0.rounded-0
label.d-flex.flex-grow-1.align-items-end
//- input#src-lang-input.box-sizing-content.bg-transparent
select#src-lang-select.select-src-lang-field(multiple="multiple")
each language in sourceLanguages
option(value=language.id) #{ language.nameSl }
span.advanced-input-label
//- span.advanced-input-label Izvorni jezik
//- img#src-lang-img(src="/images/chevron-down-darker.svg" alt="")
span#src-lang-suggestions.suggs
span#dest-lang
.d-flex.w-100
span.tags-root.me-0.rounded-0
label.d-flex.flex-grow-1.align-items-end
//- input#dest-lang-input.box-sizing-content.bg-transparent
select#dest-lang-select.select-dest-lang-field(multiple="multiple")
each language in targetLanguages
option(value=language.id) #{ language.nameSl }
span.advanced-input-label
//- span.advanced-input-label Ciljni jezik
//- img#dest-lang-img(src="/images/chevron-down-darker.svg" alt="")
span#dest-lang-suggestions.suggs
//- span#src-lang
//- span.sf-label.position-relative
//- span.position-absolute Izvorni jezik
//- .resizable
//- input(placeholder="" type="text")
//- img(src="/images/chevron-down-darker.svg" alt="")
//- span#dest-lang
//- span.sf-label.position-relative
//- span.position-absolute Ciljni jezik
//- .resizable
//- input(placeholder="" type="text")
//- img(src="/images/chevron-down-darker.svg" alt="")
span#area
.d-flex.w-100
span.tags-root.me-0.rounded-0
label.d-flex.flex-grow-1.align-items-end
//- input#area-input.box-sizing-content.bg-transparent
select#domain-select.select-domain-field(
name="domainPrimary"
multiple="multiple"
)
each domain in allPrimaryDomains
option(value=domain.id) #{ domain.nameSl }
span.advanced-input-label
//- span.advanced-input-label Področje
//- img#area-img(src="/images/chevron-down-darker.svg" alt="")
span#area-suggestions.suggs
span#dict
.d-flex.w-100
span.tags-root.me-0.rounded-0
label.d-flex.flex-grow-1.align-items-end
//- input#dict-input.box-sizing-content.bg-transparent
select#dict-select.select-dict-field(
name=dictionary
multiple="multiple"
)
each dictionary in allDictionaryNames
option(value=dictionary.id) #{ dictionary.nameSl }
span.advanced-input-label
//- span.advanced-input-label Slovar
//- img#dict-img(src="/images/chevron-down-darker.svg" alt="")
span#dict-suggestions.suggs
span#source
.d-flex.w-100
span.tags-root.me-0.rounded-0
label.d-flex.flex-grow-1.align-items-end
//- input#source-input.box-sizing-content.bg-transparent
select#src-select.select-source-field(multiple="multiple")
each portal in portals
option(value=portal.code) #{ portal.name }
span.advanced-input-label
//- span.advanced-input-label Vir
//- img#source-img(src="/images/chevron-down-darker.svg" alt="")
span#source-suggestions.suggs
.advanced-search-final-options
//- button Počisti filtre
span
button#clear-in-filter-modal.btn.clear-f Počisti filtre
button#search-in-filter-modal.btn.search-btn-a Najdi
@@ -0,0 +1,6 @@
.classic-search-container
.classic-search.border1px-gray-2
input.input-search(type="text" placeholder="Išči")
.position-relative
button#inline-search-btn.border-0.bg-transparent
img(src="/images/search.svg" alt="")
@@ -0,0 +1,86 @@
mixin result-item(headword, entry, isLast=false)
-
const foreignEntries = entry.foreignEntries ? entry.foreignEntries : []
const synonyms = entry.synonyms?entry.synonyms:[]
const domain = entry.primaryDomain&&entry.primaryDomain.nameSl?entry.primaryDomain.nameSl:""
const slovenianDefinitionExists = !!entry.definition
let foreignDefinitionExists = !!entry.foreignEntries && entry.foreignEntries.length > 0
let checkAllForeignDefinitions = false
if(foreignDefinitionExists){
entry.foreignEntries.forEach(e => {
checkAllForeignDefinitions = checkAllForeignDefinitions || !!e.definition
})
}
a.rl.py-3(href=`/termin/${entry.id}`)
.anchor(id='e-' + entry.id)
.result-item.d-flex.flex-row.w-100
.row.w-100.result-items-row
.col-lg-4
.row.w-100.ls
.col-10.word-constraint-container
.results-item-headword.d-flex.flex-grow-1.word-constraint.d-flex.flex-direction-column.w-100.flex-nowrap
span.rihw.word-breakable.ps-2.long-text-wrap-r!= headword
.results-item-headword.d-flex.flex-grow-1.word-constraint.d-flex.flex-direction-column.w-100.flex-nowrap
- let btr = 0
ul.px-0.w-100.my-0.w-100
each synonym in synonyms
if (synonym)
li.ps-2.pt-0.mt-1.hspcf.list-item
span.word-breakable.risy.long-text-wrap-r!= synonym
- btr++
.col-2.flex-column.row.rsc
.results-comments.d-inline.me-4.align-top
if slovenianDefinitionExists
img.bgmsg.mb-1(src="/images/message-square-black.svg")
else if checkAllForeignDefinitions
img.bgmsg.mb-1(src="/images/message-square.svg")
.col-lg-4.d-flex.px-0
//- .results-foreign-languages.d-inline-block.align-top
ul.mt-1.px-0
each fe in foreignEntries
//- fe.nbspCount 0 is included because it means there is at least one term or synonym otherwise the value is -1
if (fe.nbspCount >= 0)
li.results-item-language.pe-0
p.ex-span.pb-0.mb-0.lh-18px.lang-h= fe.lang.code
- let n = 0
while n < fe.nbspCount
li
p.ex-span.pb-0.mb-0.lh-18px.d-block.rsl-ph &nbsp&nbsp
- n++
.results-foreign-terms.align-top
ul.mt-0.ps-2.mb-0.ms-2
each fe in foreignEntries
li.word-constraint-container.d-flex.flex-direction-column.w-100.flex-nowrap
.language-icon-seperator.d-flex
.h-100.results-item-language.align-items-top.d-flex
p.d-flex.text-uppercase.ex-span.mb-0.lang-h= fe.lang.code
ul.word-constraint.terms-and-synonyms.d-flex.flex-grow-1.flex-column.ps-3.w-90
each line in fe.terms
if !!line
li.results-foreign-term.align-items-top.d-flex
p.word-breakable.pb-0.mb-0.lh-18px.term-h.fw-500.long-text-wrap-r!= `<b class="long-text-wrap-r fw-500"> ${line} </b>`
each synonym in fe.synonyms
if !!synonym
li.results-foreign-term.align-items-top.d-flex
p.word-breakable.text-truncate.pb-0.mb-0.lh-18px.syn-h.long-text-wrap-r!= synonym
.col-lg-4
.row
.col
.results-keywords.d-flex.flex-grow-1.ms-2
span.res-domain= domain
.col
.results-sources.d-flex.flex-shrink-1.justify-content-end.align-items-center
.results-dict.d-flex.justify-content-end.align-items-center.me-2.px-2(
data-bs-toggle="tooltip"
title=`${entry.dictionary.nameSl}`
) #{ entry.dictionary.nameSlShort }
.results-portal.d-flex.justify-content-end.align-items-center.te(
data-bs-toggle="tooltip"
title=`${entry.source.name}`
) #{ entry.source.code }
if (!isLast)
hr.my-0.short-hr-gray-3
@@ -0,0 +1,16 @@
mixin decision(sel)
.d-flex.w-100
span.d-flex.justify-content-start
.results-heading.flex.flex-column
a#headword.m-auto.d-inline-block.text-header-title-gray(
href="#"
class=sel == 0 ? 'selected' : ''
) TERMIN
a#translation.m-auto.ps-3.d-inline-block.text-header-title-gray(
href="#"
class=sel == 1 ? 'selected' : ''
) TUJI TERMIN
a#other.m-auto.ps-3.d-inline-block.text-header-title-gray(
href="#"
class=sel == 2 ? 'selected' : ''
) DRUGO
@@ -0,0 +1,34 @@
mixin result-section(list, title)
if (list.length > 0)
if (title)
p.mt-4.results-secton-title!= title
.result-item-container
each entry in list
+result-item(entry.term, entry, list[list.length-1] === entry)
mixin result-sections
+result-section(entriesByCategory.uncategorized, "")
+result-section(entriesByCategory.byTerm, "ISKANI NIZ JE BIL NAJDEN <b class='results-secton-title fw-700'>V IZTOČNICAH</b> SLOVARSKIH SESTAVKOV")
+result-section(entriesByCategory.byForeignTerm, "ISKANI NIZ JE BIL NAJDEN <b class='results-secton-title fw-700'>V TUJEJEZIČNIH USTREZNIKIH</b> SLOVARSKIH SESTAVKOV")
+result-section(entriesByCategory.byOther, "ISKANI NIZ JE BIL NAJDEN <b class='results-secton-title fw-700'>V DRUGI VSEBINI</b> SLOVARSKIH SESTAVKOV")
mixin result-panel(rpList)
#res-panel.results-root.w-100.ms-0
#chevrons-left.d-flex
.header-container-divider-left
h1#site-heading Seznam zadetkov
hr#disposable-break.mt-0
//- include ./result-panel-decision-mixin
//- +decision(0)
.results-quickstats.row.align-items-center
.row.pe-0.align-items-center
.col-md-6
span.text-header-title-gray Rezultati: #{ numberOfAllHits }
.col-md-6.mx-auto.text-center.d-flex.justify-content-end.pe-0
include /utilities/pager
+pager(page)
#results-data.results-data.mt-4
include ./result-item
+result-sections
@@ -0,0 +1,38 @@
section.filter-modal-root
#modal-filter.modal.fade(
tabindex="-1"
aria-labelledby="modal-filter-label"
aria-hidden="true"
)
.modal-dialog.modal-dialog-centered.modal-lg
.modal-content
.modal-header.flex-wrap.pb-2
h5#modal-filter-label.modal-title.maincolor-text
| #{ "PLACEHOLDER" }
button.btn-close(
type="button"
data-bs-dismiss="modal"
aria-label="Close"
)
.flex.w-100.search-modal-header-root
span.search-modal-filter
input(type="text")
span
img(src="/images/search_blue.svg" alt="")
span.d-flex.flex-grow-1.align-content-center
a#ccf.clear-filter-modal-section(href="#")
img(src="/images/square-minus.svg" alt="")
span POČISTI FILTRE
.modal-body.pb-2
ul#modal-list.nav-modal-section-content.mb-0.pb-0
// Added dynamically...
.modal-footer.justify-content-start
div
button.btn.btn-light.border.border-dark.close(
type="button"
data-bs-dismiss="modal"
)
| Zapri
.justify-content-end
button#sf-modal-button.btn.btn-primary.use(type="button")
| Uporabi
@@ -0,0 +1,62 @@
mixin sideMenuEntry(id, selectMoreId , title, content, contentRoot, disabledSection)
.nav-section(disabled=disabledSection)
hr.long-hr-gray-3
.nav-section-header
span(class=disabledSection ? 'disabled-opacity' : '')= title
span.btn-area
button.btn.btn-primary(
id=selectMoreId
type="button"
data-bs-toggle="modal"
data-bs-target="#modal-filter"
disabled=disabledSection
)
span.select-more-text IZBERI VEČ
div
img(src="/images/fi_copy.svg" alt="")
ul.nav-section-content(id=id)
//- root struct check in case of empty results
if contentRoot && !!content
- let isAtLeastOneChecked = content.filter(c => c.checked).length > 0
each item in content
li(id=item.id)
if item.checked
a
div
img(src="/images/square-checkbox-solid.svg" alt="")
span.nav-section-content-desc #{ item.name }
span #{ item.hits }
else
a.sel-anchr(href="#" class=isAtLeastOneChecked ? 'd-none' : '')
div
img(src="/images/chevron-right.svg" alt="")
span.nav-section-content-desc #{ item.name }
span #{ item.hits }
if isAtLeastOneChecked
a.showall(href="#" id='show-all-' + id)
img(src="/images/chevron-left-blue.svg" alt="")
span PRIKAŽI VSE
mixin sfSideNavigation(sideNavigationData)
.admin-nav
#admin-nav-mobile.admin-nav-mobile
.mobile-left-holder
button#nav-button.nav-button
img#burger-menu-img(
src="/images/burger-menu-button-icon.svg"
alt="Meni"
)
span#nav-title.nav-title Iskanje po slovarjih
#mobile-right-holder
nav
.admin-nav-content.slidable.sf-min-h.nav-bg.ps-2rem.sf-correct
.search-filter-nav-content.w24rem.me-0.ps-2rem
.slidable-list.scroller-style
a#clear-filters.clear-filter-section.d-flex(href="#")
img.align-self-center(src="/images/square-minus.svg" alt="")
span.fs-075rem.fw-400 POČISTI FILTRE
+sideMenuEntry("src-lang-side", "select-src-langs", "Izvorni jeziki", sideNavigationData.sourceLanguages, sideNavigationData, disabledSideMenuFilters.sourceLanguages)
+sideMenuEntry("dest-lang-side", "select-dest-langs", "Ciljni jeziki", sideNavigationData.targetLanguages, sideNavigationData, disabledSideMenuFilters.targetLanguages)
+sideMenuEntry("domain-side", "select-domains", "Področja", sideNavigationData.primaryDomains, sideNavigationData, disabledSideMenuFilters.primaryDomains)
+sideMenuEntry("dict-side", "select-dicts", "Slovarji", sideNavigationData.dictionaries, sideNavigationData, disabledSideMenuFilters.dictionaries)
+sideMenuEntry("source-side", "select-sources", "Viri", sideNavigationData.sources, sideNavigationData, disabledSideMenuFilters.sources)
@@ -0,0 +1,77 @@
.admin-nav
.admin-nav-mobile
button#nav-button.nav-button
img#burger-menu-img(src="/images/burger-menu-button-icon.svg" alt="Meni")
span.nav-title Filtri
nav
.admin-nav-content.slidable
.search-filter-nav-content
a.clear-filter-section(href="#")
img(src="/images/square-minus.svg" alt="")
span POČISTI FILTRE
.nav-section
hr
.nav-section-header
span Izvorni jeziki
span.btn-area
button.btn.btn-primary(
type="button"
data-bs-toggle="modal"
data-bs-target="#modal-filter"
)
span.select-more-text IZBERI VEČ
div
img(src="/images/fi_copy.svg" alt="")
ul.nav-section-content
//-MODULE
li
a#sl(href="#")
div
img(src="/images/chevron-right.svg" alt="")
span.nav-section-content-desc Slovenščina
span 461
li
a#hr(href="#")
div
img(src="/images/chevron-right.svg" alt="")
span.nav-section-content-desc Hrvaščina
span 461
li
a#it(href="#")
div
img(src="/images/chevron-right.svg" alt="")
span.nav-section-content-desc Italijanščina
span 461
li
a(href="#")
div
img(src="/images/chevron-right.svg" alt="")
span.nav-section-content-desc Slovenščina
span 461
.nav-section
hr
.nav-section-header
span Slovarji
span.btn-area
button.btn.btn-primary(
type="button"
data-bs-toggle="modal"
data-bs-target="#modal-filter"
)
span.select-more-text IZBERI VEČ
div
img(src="/images/fi_copy.svg" alt="")
ul.nav-section-content
//-MODULE
li
a(href="#")
div
img(src="/images/chevron-right.svg" alt="")
span.nav-section-content-desc Nemško-slovenski slovar tehnike in naravoslovja
span 111
li
a(href="#")
div
img(src="/images/chevron-right.svg" alt="")
span.nav-section-content-desc kfkl kwlkdwodčsl
span 25
@@ -0,0 +1,54 @@
mixin searchWithPrimaryDomainFilter(formId, searchId, searchBtnId, initialMarginClass="mt-3")
form.needs-validation.w-100(id=formId class=initialMarginClass)
- let checkrightSection = headerContent && headerContent.buttons && headerContent.buttons.length
.header-consultancy-divider.d-flex.d-column.w-100.row.g-0.ms-0
.header-consultancy-divider-left.d-flex.align-items-center.pe-0.mt-2(
class=checkrightSection ? 'col-sm-7' : 'col'
)
.row.w-100.g-0
//-Search Bar
.search-root-mobile-only.ps-0.pe-0
#searchbar-main.text-center
.search-bar.height-46p(tabindex="0")
button.searchbar-icon-container(id=searchBtnId type="submit")
img.search_icon(src="/images/search.svg" alt="OK")
input#search-query.search-input(
type="text"
placeholder=isDictionaryListPage ? 'Ime slovarja' : 'Vpišite iskalni niz'
)
button#keyboard.search-button-keyboard
span
img.keyboard(src="/images/keyboard.svg" alt="Keys")
button#advanced-search.dropdown-btn
img(src="/images/dropdown.svg" alt="Opt")
.row.w-100
span#SSC.d-block.w-100.position-relative
.search-suggestion-container.flex-column.position-absolute.calibrate-consultancy-sr
include advanced-search-modal-area-only
+consultancySM
include /utilities/keyboard
+keyboard
//- .header-consultancy-divider-middle.d-flex.align-items-center.justify-content-center.col-sm-4
//- select.d-inline.height-46p.form-control(
//- name="domainPrimary"
//- required
//- )
//- option(value="" disabled selected hidden) Področje
//- each domain in allPrimaryDomains
//- option(
//- value=domain.id
//- selected=domain.id === dictionary.domainPrimary ? true : false
//- ) [#{ domain.nameSl }]
if (checkrightSection)
.header-consultancy-divider-right.d-flex.align-items-center.justify-content-end.col-sm-5.pe-0.ps-3.mt-2
.fit-content
each el in headerContent.buttons
if el.type === 'button'
button.w-100.height-46p(
class=el.classAtr || 'btn btn-primary'
form=el.form
)= el.content
else if el.type === 'link'
a.w-100.height-46p(class=classAtr || 'btn btn-primary' href=el.url)= el.content
else if el.type === 'cancel'
a.w-100.height-46p(class=classAtr || 'btn btn-secondary' href=el.url)= el.content
@@ -0,0 +1,29 @@
mixin mini-searchbar
//-Search Bar
.gray-responsive-bg.d-flex.justify-content-center
.container.ms-3.me-3
.row
.search-root-main.mb-0.ps-0.pe-0
#searchbar-main.text-center
.search-bar.mb-md-3(tabindex="0")
button#search-button-main.searchbar-icon-container.click-on-enter(
href="/iskanje"
)
img.search_icon(src="/images/search.svg" alt="OK")
input#search-query.search-input.focused-for-enter.fw-300.placeholder-gray(
type="text"
placeholder="Vpišite iskalni niz"
)
button#keyboard.search-button-keyboard
span
img.keyboard(src="/images/keyboard.svg" alt="Keys")
//-</span>
button#advanced-search.dropdown-btn
img(src="/images/dropdown.svg" alt="Opt")
.row(class=isRoot ? 'margin-md-minus-1-rem' : '')
.d-flex.justify-content-center
#SSC.d-flex.position-relative.w-39rem
.search-suggestion-container.flex-column.position-absolute.calibrate-homepage-sr.bigsearch
include /components/search-and-filter/advanced-search-modal
include /utilities/keyboard
+keyboard
@@ -0,0 +1 @@
p Skrbnik svetovalnice vam je v urejanje dodelil novo terminološko vprašanje.
@@ -0,0 +1 @@
p #{ propertyToPassGoesHere } 1234567891011121314151617181920
@@ -0,0 +1 @@
p Za potrditev objave ste prejeli novo terminološko vprašanje.
@@ -0,0 +1,13 @@
//- TODO implement real text
p Pozdravljeni,
case type
when 'status'
p oseba: #[b #{ changerEmail }] je spremenila stanje vašega slovarja: #[b #{ nameSl }].
when 'unpublish'
p tralala hopsasa oseba: #[b #{ changerEmail }] se je igrala in zato vaš slovar: #[b #{ nameSl }] ni več objavljen.
when 'delete'
p tralala hopsasa slovar: #[b #{ nameSl }] ima manjše število gesel kot je nastavljeno.
when 'publish-approval'
p slovar #[b #{ nameSl }] je bil dan v stanje preverjanja slovarja... Prosimo, da ga odprete/zaprete.
when 'publish-no-approval'
p slovar #[b #{ nameSl }] je bil objavljen.
+2
View File
@@ -0,0 +1,2 @@
p Pozdravljeni,
p na Slovenskem terminološkem portalu je končano vaše luščenje: #[a(href=extractionLink)= extractionName].
+4
View File
@@ -0,0 +1,4 @@
p Pozdravljeni #{ username },
p to sporočilo ste prejeli, ker ste na Slovenskem terminološkem portalu registrirali nov uporabniški račun s tem elektronskim naslovom.
p Za uporabo računa potrebujete le še potrditi, da je to res vaš elektronski naslov. Povezava je veljavna 7 dni.
a(href=activationLink) Potrjujem svoj naslov
+6
View File
@@ -0,0 +1,6 @@
extends layout
block body
h1= message
h2= error.status
pre #{ error.stack }
@@ -0,0 +1,27 @@
h1 Dokumenti za luščenje #{ id }
h2 Seznam datotek
ul#files-list
each document in extractionDocuments
li DATOTEKA - Ime: #[span.filename= document.filename], velikost: #{ document.size }, datum: #{ new Date(document.timeModified).toLocaleDateString('sl-SL') } #[a.delete-file(href="#") BRIŠI]
h2 Dodaj nov(e) datoteke(e)
form#upload-files(method="post" enctype="multipart/form-data")
input(type="hidden" name="extractionId" value=id)
label Datoteka(e):
input(
type="file"
name="extractionFile"
accept=".txt, .doc, .docx, .pdf"
multiple
)
a(href=`../${id}`) Nazaj
p Obestila:
ul#messages
script(
nonce=cspNonce
src="https://cdn.jsdelivr.net/npm/axios/dist/axios.min.js"
)
script(nonce=cspNonce src="/javascripts/extraction-poc-files-edit.js")
+128
View File
@@ -0,0 +1,128 @@
h1 Luščenje #{ id } - uredi
form(method="post")
div
label Ime:
input(name="name" value=extraction.name)
div
label Glavno področje:
select(name="domain")
option
each domain in allPrimaryDomains
option(value=domain.id selected=domain.id === extraction.domainId)= domain.nameSl
div
label Vrsta dokumenta:
select.pick-multiple(name="documentType" multiple)
option
option(value=101 selected=extraction.documentType.includes(101)) Izvirni znanstveni članek
option(value=102 selected=extraction.documentType.includes(102)) Pregledni znanstveni članek
option(value=103 selected=extraction.documentType.includes(103)) Kratki znanstveni prispevek
option(value=104 selected=extraction.documentType.includes(104)) Strokovni članek
option(value=105 selected=extraction.documentType.includes(105)) Poljudni članek
option(value=106 selected=extraction.documentType.includes(106)) Objavljeni znanstveni prispevek na konferenci (vabljeno predavanje)
option(value=107 selected=extraction.documentType.includes(107)) Objavljeni strokovni prispevek na konferenci (vabljeno predavanje)
option(value=108 selected=extraction.documentType.includes(108)) Objavljeni znanstveni prispevek na konferenci
option(value=109 selected=extraction.documentType.includes(109)) Objavljeni strokovni prispevek na konferenci
option(value=110 selected=extraction.documentType.includes(110)) Objavljeni povzetek znanstvenega prispevka na konferenci (vabljeno predavanje)
option(value=112 selected=extraction.documentType.includes(112)) Objavljeni povzetek znanstvenega prispevka na konferenci
option(value=113 selected=extraction.documentType.includes(113)) Objavljeni povzetek strokovnega prispevka na konferenci
option(value=116 selected=extraction.documentType.includes(116)) Samostojni znanstveni sestavek ali poglavje v monografski publikaciji
option(value=117 selected=extraction.documentType.includes(117)) Samostojni strokovni sestavek ali poglavje v monografski publikaciji
option(value=118 selected=extraction.documentType.includes(118)) Geslo sestavek v enciklopediji, leksikonu, slovarju...
option(value=119 selected=extraction.documentType.includes(119)) Recenzija, prikaz knjige, kritika
option(value=120 selected=extraction.documentType.includes(120)) Predgovor, spremna beseda
option(value=121 selected=extraction.documentType.includes(121)) Polemika, diskusijski prispevek
option(value=122 selected=extraction.documentType.includes(122)) Intervju
option(value=123 selected=extraction.documentType.includes(123)) Umetniški sestavek
option(value=124 selected=extraction.documentType.includes(124)) Bibliografija, kazalo ipd.
option(value=125 selected=extraction.documentType.includes(125)) Drugi članki ali sestavki
option(value=201 selected=extraction.documentType.includes(201)) Znanstvena monografija
option(value=202 selected=extraction.documentType.includes(202)) Strokovna monografija
option(value=203 selected=extraction.documentType.includes(203)) Univerzitetni, visokošolski ali višješolski učbenik z recenzijo
option(value=204 selected=extraction.documentType.includes(204)) Srednješolski, osnovnošolski ali drugi učbenik z recenzijo
option(value=205 selected=extraction.documentType.includes(205)) Video in druga učna gradiva
option(value=206 selected=extraction.documentType.includes(206)) Enciklopedija, slovar, leksikon, priročnik, atlas, zemljevid
option(value=207 selected=extraction.documentType.includes(207)) Bibliografija
option(value=208 selected=extraction.documentType.includes(208)) Doktorska disertacija
option(value=209 selected=extraction.documentType.includes(209)) Magistrsko delo
option(value=210 selected=extraction.documentType.includes(210)) Specialistično delo
option(value=211 selected=extraction.documentType.includes(211)) Diplomsko delo
option(value=212 selected=extraction.documentType.includes(212)) Končno poročilo o rezultatih raziskav
option(value=213 selected=extraction.documentType.includes(213)) Elaborat, predštudija, študija
option(value=214 selected=extraction.documentType.includes(214)) Projektna dokumentacija (idejni projekt, izvedbeni projekt)
option(value=215 selected=extraction.documentType.includes(215)) Izvedensko mnenje, arbitražna odločba
option(value=216 selected=extraction.documentType.includes(216)) Umetniško delo
option(value=217 selected=extraction.documentType.includes(217)) Katalog razstave
option(value=218 selected=extraction.documentType.includes(218)) Raziskovalni ali dokumentarni film, zvočni ali video posnetek
option(value=219 selected=extraction.documentType.includes(219)) Radijska ali televizijska oddaja
option(value=220 selected=extraction.documentType.includes(220)) Raziskovalni podatki
option(value=221 selected=extraction.documentType.includes(221)) Programska oprema
option(value=222 selected=extraction.documentType.includes(222)) Nova sorta
option(value=223 selected=extraction.documentType.includes(223)) Patentna prijava
option(value=224 selected=extraction.documentType.includes(224)) Patent
option(value=225 selected=extraction.documentType.includes(225)) Druge monografije in druga zaključena dela
option(value=227 selected=extraction.documentType.includes(227)) Znanstveni terminološki slovar, enciklopedija ali tematski leksikon
option(value=230 selected=extraction.documentType.includes(230)) Zbornik strokovnih ali nerecenziranih znanstvenih prispevkov na konferenci
option(value=231 selected=extraction.documentType.includes(231)) Zbornik recenziranih znanstvenih prispevkov na mednarodni ali tuji konferenci
option(value=232 selected=extraction.documentType.includes(232)) Zbornik recenziranih znanstvenih prispevkov na domači konferenci
option(value=310 selected=extraction.documentType.includes(310)) Umetniška poustvaritev
option(value=311 selected=extraction.documentType.includes(311)) Radijski ali TV dogodek
option(value=312 selected=extraction.documentType.includes(312)) Razstava
option(value=313 selected=extraction.documentType.includes(313)) Organiziranje znanstvenih in strokovnih sestankov
option(value=314 selected=extraction.documentType.includes(314)) Predavanje na tuji univerzi
option(value=315 selected=extraction.documentType.includes(315)) Prispevek na konferenci brez natisa
option(value=316 selected=extraction.documentType.includes(316)) Vabljeno predavanje na konferenci brez natisa
option(value=320 selected=extraction.documentType.includes(320)) Druga dela
option(value=325 selected=extraction.documentType.includes(325)) Druga izvedena dela
div
label Leto:
select.enter-multiple(name="year" multiple style="width: 500px")
each year in extraction.year
option(value=year selected)= year
div
label Ključne besede:
select.enter-multiple(name="keywords" multiple style="width: 500px")
each keyword in extraction.keywords
option(value=keyword selected)= keyword
h2 Stop termini:
ul
each file in stopTermsFiles
li DATOTEKA - Ime: #[span.filename= file.filename], velikost: #{ file.size }, datum: #{ new Date(file.timeModified).toLocaleDateString('sl-SL') }
a#edit-stop-terms(href=`${id}/stop-termini`) Uredi
br
br
button#search-btn Najdi
#search-result
br
br
a(href="../poc") Nazaj
p Obestila:
ul#messages
link(
href="https://cdn.jsdelivr.net/npm/select2@4.1.0-rc.0/dist/css/select2.min.css"
rel="stylesheet"
integrity="sha256-zaSoHBhwFdle0scfGEFUCwggPN7F+ip9XRglo8IWb4w="
crossorigin="anonymous"
)
script(
nonce=cspNonce
src="https://code.jquery.com/jquery-3.6.0.slim.min.js"
integrity="sha256-u7e5khyithlIdTpu22PHhENmPcRdFiHRjhAuHcs05RI="
crossorigin="anonymous"
)
script(
nonce=cspNonce
src="https://cdn.jsdelivr.net/npm/select2@4.1.0-rc.0/dist/js/select2.min.js"
integrity="sha256-9yRP/2EFlblE92vzCA10469Ctd0jT48HnmmMw5rJZrA="
crossorigin="anonymous"
)
script(
nonce=cspNonce
src="https://cdn.jsdelivr.net/npm/axios/dist/axios.min.js"
)
script(nonce=cspNonce src="/javascripts/extraction-poc-oss-edit.js")
+20
View File
@@ -0,0 +1,20 @@
h1 Luščenje #{ id } - uredi
form(method="post")
label Ime:
input(name="name" value=extraction.name)
button Potrdi
h2 Lastni dokumenti:
ul
each document in extractionDocuments
li DATOTEKA - Ime: #[span.filename= document.filename], velikost: #{ document.size }, datum: #{ new Date(document.timeModified).toLocaleDateString('sl-SL') }
a(href=`${id}/besedila`) Uredi
h2 Stop termini:
ul
each file in stopTermsFiles
li DATOTEKA - Ime: #[span.filename= file.filename], velikost: #{ file.size }, datum: #{ new Date(file.timeModified).toLocaleDateString('sl-SL') }
a(href=`${id}/stop-termini`) Uredi
br
a(href="../poc") Nazaj
+44
View File
@@ -0,0 +1,44 @@
h1 Luščenje
form(method="post")
input(type="hidden" name="extractionType" value="own")
p Luščenje iz lastnih besedil
= ' '
button Dodaj
form(method="post")
input(type="hidden" name="extractionType" value="oss")
p Luščenje iz OSS besedil
= ' '
button Dodaj
h2 Seznam obstoječih luščenj
ul#extraction-list
each e in extractions
li(data-id=e.id)
| #{ e.name } (STATUS: #[span.extraction-status= e.status]) (
if e.status === 'new'
a(href=`poc/${e.id}`) Uredi
if e.status !== 'in progress'
button.btn-delete Izbriši
if e.canBegin
button.btn-begin Začni
if e.status === 'finished' || e.status === 'failed'
button.btn-duplicate Podvoji
if e.status === 'finished'
a(href=`poc/${e.id}/kandidati`) Terminološki kandidati [#{ e.termCandidatesCount }]
if e.status === 'finished' && e.corpusId
a(href=`poc/korpus/${e.corpusId}` target="_blank") Uporabniški korpus
if e.status === 'finished' && e.ossParams
a(
href="https://www.clarin.si/noske/run.cgi/corp_info?corpname=oss&struct_attr_stats=1"
target="_blank"
) Korpus KAS+
| ) (ZAČETEK: #[span.extraction-time-started= e.timeStarted ? e.timeStarted.toLocaleString('sl-SI') : 'ni še bilo začeto'],
| KONEC: #[span.extraction-time-finished= e.timeFinished ? e.timeFinished.toLocaleString('sl-SI') : 'ni še bilo končano'])
script(
nonce=cspNonce
src="https://cdn.jsdelivr.net/npm/axios/dist/axios.min.js"
)
script(nonce=cspNonce src="/javascripts/extraction-poc-list.js")
@@ -0,0 +1,22 @@
h1 Stop termini za luščenje #{ id }
h2 Seznam datotek
ul#files-list
each file in stopTermsFiles
li DATOTEKA - Ime: #[span.filename= file.filename], velikost: #{ file.size }, datum: #{ new Date(file.timeModified).toLocaleDateString('sl-SL') } #[a.delete-file(href="#") BRIŠI]
h2 Dodaj nov(e) datoteke(e)
form#upload-files(method="post" enctype="multipart/form-data")
input(type="hidden" name="extractionId" value=id)
label Datoteka(e):
input(type="file" name="extractionFile" accept=".txt" multiple)
a(href=`../${id}`) Nazaj
p Obestila:
ul#messages
script(
nonce=cspNonce
src="https://cdn.jsdelivr.net/npm/axios/dist/axios.min.js"
)
script(nonce=cspNonce src="/javascripts/extraction-poc-files-edit.js")
@@ -0,0 +1,23 @@
h1 Terminološki kandidati
include /utilities/pager
+pager
ul#page-results
each termCandidate, index in firstPageOfTermCandidates
li [#{ index + 1 }] #{ JSON.stringify(termCandidate) }
form(action=`/api/v1/extraction/${extractionId}/term-candidates-export`)
p Izvozi termine od številke
input(type="number" name="from")
p do številke
input(type="number" name="to")
button Izvozi
script#variables-transport-script(nonce=cspNonce).
const termCandidates = !{ termCandidatesJson }.terminoloski_kandidati;
const hitsPerPage = #{ hitsPerPage };
const numberOfAllPages = #{ numberOfAllPages };
document.getElementById('variables-transport-script').remove();
script(nonce=cspNonce src="/javascripts/extraction-poc-term-candidates.js")
+91
View File
@@ -0,0 +1,91 @@
doctype html
html
head
meta(charset="utf-8")
meta(name="viewport" content="width=device-width,initial-scale=1")
link(rel="preconnect" href="https://fonts.googleapis.com")
link(rel="preconnect" href="https://fonts.gstatic.com" crossorigin)
//- General stylesheets
//- TODO remove weight 300 if not required, for test purposes
link(
href="https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,100;0,300;0,400;0,500;0,700;1,100;1,300;1,400;1,500;1,700&display=swap"
rel="stylesheet"
)
link(
href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.1/dist/css/bootstrap.min.css"
rel="stylesheet"
integrity="sha384-+0n0xVW2eSR5OomGNYDnhzAbDsOXxcvSN1TPprVMTNDbiYZCxYbOOl7+AMvyTG2x"
crossorigin="anonymous"
)
link(
href="https://cdn.jsdelivr.net/npm/select2@4.1.0-rc.0/dist/css/select2.min.css"
rel="stylesheet"
integrity="sha256-zaSoHBhwFdle0scfGEFUCwggPN7F+ip9XRglo8IWb4w="
crossorigin="anonymous"
)
link(
href="https://cdn.jsdelivr.net/npm/summernote@0.8.18/dist/summernote-lite.min.css"
rel="stylesheet"
integrity="sha256-oA6D/yIi0I8ZwAwp6HmdjN7OoIOJ/6k+1SISncrEBQA="
crossorigin="anonymous"
)
link(href="/stylesheets/style.css" rel="stylesheet")
//- General javascripts
//- TODO Consider deferring these scripts.
//- DOMPurify and TT default policy are used to circumvent jQuery using sink functions (innerHTML).
//- If they ever remove them, you migth also remove the circumventing code.
//- UPDATE: removed TT and sanitation; reasons explained in helmet config file.
//- script(
//- nonce=cspNonce
//- src="https://cdn.jsdelivr.net/npm/dompurify@2.3.1/dist/purify.min.js"
//- integrity="sha256-KdvRHbUkGfNAhivKG07QTVYUPMza4mpYMPAUBnO04Zo="
//- crossorigin="anonymous"
//- )
//- script(nonce=cspNonce src="/javascripts/trusted-types-default-policy.js")
script(
nonce=cspNonce
src="https://code.jquery.com/jquery-3.6.0.slim.min.js"
integrity="sha256-u7e5khyithlIdTpu22PHhENmPcRdFiHRjhAuHcs05RI="
crossorigin="anonymous"
)
script(
nonce=cspNonce
src="https://cdn.jsdelivr.net/npm/select2@4.1.0-rc.0/dist/js/select2.min.js"
integrity="sha256-9yRP/2EFlblE92vzCA10469Ctd0jT48HnmmMw5rJZrA="
crossorigin="anonymous"
)
script(
nonce=cspNonce
src="https://cdn.jsdelivr.net/npm/summernote@0.8.18/dist/summernote-lite.min.js"
integrity="sha256-5N4FHlS7bWyb2LyIzO+TQ3eHNvb/vfEEjcdADdIvVTY="
crossorigin="anonymous"
)
script(
nonce=cspNonce
src="https://unpkg.com/validator@13.7.0/validator.min.js"
integrity="sha256-G2eKVjphYDdRziYpTse4cPxCDF1PhdTa03++dMKIjiI="
crossorigin="anonymous"
)
block include-styles
title= title ? `${portalCode} | ${title}` : 'Terminološki portal'
body
include /components/login-signup/login-signup
block body
script(
nonce=cspNonce
src="https://cdn.jsdelivr.net/npm/axios/dist/axios.min.js"
)
script(
nonce=cspNonce
src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.1/dist/js/bootstrap.bundle.min.js"
integrity="sha384-gtEjrD/SeCtmISkJkNUaaKMoLD0//ElJ19smozuHV6z3Iehds+3Ulb9Bn9Plx0x4"
crossorigin="anonymous"
)
script(nonce=cspNonce src="/javascripts/globals.js")
script(nonce=cspNonce src="/javascripts/scripts.js")
script(nonce=cspNonce src="/javascripts/main-sreach-utils.js")
block pageSpecificScipts
@@ -0,0 +1,20 @@
extends ../layout
block body
section
include ../common/main-navigation
+main-navigation(true)
section
.root-container
include ../components/admin/admin-navigation
section.content-hold-prerequisites.ps-5.pe-5.mt-4
.d-block.w-100
include ../components/main-panel/generic-main-panel-header
hr.me-2.mt-0
.d-flex.flex-row.w-100.mb-4
include ../components/search-and-filter/inline-search
include ../utilities/pager
+pager(1,2,3,1,3,true)
.d-block.w-100
div
include ../utilities/table-wrapper
+21
View File
@@ -0,0 +1,21 @@
extends ../layout
//- TODO check if deprecated
block body
section
include ../common/main-navigation
+main-navigation(true)
section
.root-container
include ../components/admin/admin-navigation
section.content-hold-prerequisites.ps-5.pe-5.mt-4
.d-block.w-100
include ../components/main-panel/implementations/one-button
hr.me-2.mt-0
.d-flex.flex-row.w-100.mb-4
include ../components/search-and-filter/inline-search
include ../utilities/pager
+pager(1,2,3,1,3,true)
.d-block.w-100
div
include ../utilities/table-wrapper
+86
View File
@@ -0,0 +1,86 @@
extends /layout
block pageSpecificScipts
script(nonce=cspNonce src="/javascripts/admin.js")
block body
section#fixed-top-section
include /common/main-navigation
+main-navigation(false)
include /common/side-menu-mixin-admin
- const d = { activeLvl1: 'areas', activeLvl2: '' }
+sideNavigation(d)
include /utilities/dictionaries-main-panel-header
- const c = { sideMenu: true, h2: 'Podpodročja', h1: 'Podpodročja', description: 'Podpodročja so namenjena podrobnejšemu razvrščanju terminoloških slovarjev. Administrator mora vsa novo predlagana podpodročja potrditi, preden jih lahko na seznamu vidijo tudi drugi uporabniki portala.', buttons: [{ form: 'dictionary-domain-labels', type: 'disabled', content: 'Shrani' }] }
+mainHeader(c)
.content-hold-prerequisites
#offset-main.main-container.mt-2
if results.length
.d-flex.justify-content-between.mt-4
.d-flex.flex-row.mb-4
include /components/search-and-filter/inline-search
.d-flex
include /utilities/pager
+pager
form#dictionary-domain-labels(
method="post"
action="/api/v1/dictionaries/renovateSecondaryDomains"
)
table#all-areas-table.table.areas-table.table-responsive
thead
tr
th(scope="col") Vidno
th(scope="col") Podpodročje
th(scope="col") Prevod
th(scope="col")
tbody#page-results
each result in results
tr
input(type="hidden" name="secondaryDomainId" value=result.id)
th(scope="row")
if result.isApproved
input.form-check.checkbox-table(
type="checkbox"
name="isApproved"
checked
disabled
)
else
input.form-check.checkbox-table(
type="checkbox"
name="isApproved"
disabled
)
td.tdata-area= result.nameSl
td.tdata-translation= result.nameEn
td.buttons-group
.table-buttons
button.p-0.table-button-grp.me-3.edit-row-btn(
type="button"
)
img(src="/images/u_edit-alt.svg" alt="")
button.p-0.table-button-grp.delete-row-btn(
data-bs-target="#alert-modal"
data-bs-toggle="modal"
type="button"
)
img(src="/images/red-trash-icon.svg" alt="")
#input-row.row
.col-sm-3
.subject-name
label.input-name-txt PODPODROČJE
input#area-input.form-control(type="text")
.col-sm-3
.subject-name
label.input-name-txt ANGLEŠKI PREVOD PODPODROČJA
input#translation-input.form-control(type="text")
.col.d-flex.align-items-end.mt-2
button#add-area.btn.btn-primary(type="submit" disabled) Dodaj
include /utilities/modal-alert
include /utilities/modal-alert-mixin
+alertModal('unsaved-data', 'Shrani', 'Ne', 'modal-save-btn', 'modal-dont-save-btn', 'Imate neshranjene spremebe. Ali jih želite shraniti?')
include /common/footer
+22
View File
@@ -0,0 +1,22 @@
extends /layout
block pageSpecificScipts
script(nonce=cspNonce src="/javascripts/comments.js")
script(nonce=cspNonce src="/javascripts/dictionaries.js")
block body
section#fixed-top-section
include /common/main-navigation
+main-navigation(false)
include /common/side-menu-mixin-admin
- const d = { activeLvl1: 'comments', activeLvl2: '' }
+sideNavigation(d)
include /utilities/dictionaries-main-panel-header
- const c = { sideMenu: true, h2: 'Urejanje', h1: 'Komentarji', description: 'Na tem mestu so zbrani vsi komentarji, povezani s terminološkim portalom.' }
+mainHeader(c)
.comments-content.col-12.col-md-12.py-md-3.bd-content.content-hold-prerequisites
#offset-main.main-container
include /utilities/comments-with-pager
include /common/footer
@@ -0,0 +1,112 @@
extends /layout
block pageSpecificScipts
script(nonce=cspNonce src="/javascripts/admin.js")
script(nonce=cspNonce src="/javascripts/admin-portals.js")
block body
section#fixed-top-section
include /common/main-navigation
+main-navigation(false)
include /common/side-menu-mixin-admin
- const d = { activeLvl1: 'connections', activeLvl2: 'list' }
+sideNavigation(d)
include /utilities/dictionaries-main-panel-header
- const c = { sideMenu: true, h2: 'Povezave', h1: 'Povezave s portali', description: 'Svoj terminološki portal lahko povežete še z drugimi terminološkimi portali in med iskalnimi prikazujete tudi njihove zadetke.', buttons: [{ type: 'link', content: 'Dodaj povezavo', url: '/admin/povezave/nova' }] }
+mainHeader(c)
.content-hold-prerequisites
#offset-main.main-container.mt-2
if allLinkedPortals
if allLinkedPortals.length
each link in allLinkedPortals
if !link.isLinked
.container-fluid.task.task-declined.p-3.mb-4
.d-sm-flex.justify-content-sm-between.d-grid
.d-grid
.d-inline
span.bold-weight-black= `${link.code} - ${link.name}`
if link.indexURL
span.link-url.normal-gray.mt-2.mb-2= link.indexURL
.d-flex.align-items-center.justify-content-sm-end
button.link-portal-btn.btn.btn-secondary.align-items-center.d-flex(
type="button"
data-link-id=link.id
)
img(src="/images/external-link.svg")
span.ms-1 Pošlji
hr.mt-2.mb-3
.d-sm-flex.justify-content-between
.d-sm-flex.align-items-center.mb-0
img(src="/images/x-circle-red.svg")
span.normal-gray.ms-1 ZAVRJEN
.d-flex.align-content-center.mb-0.me-3.mt-2.mt-sm-0
a.btn.p-0.image-link(
type="link"
href=`/admin/povezava/${link.id}/urejanje`
)
img(src="/images/u_edit-alt.svg" alt="Uredi")
span.normal-gray.ms-1 Uredi
.ms-3
button.p-0.btn.delete-task(data-link-id=link.id)
img(src="/images/red-trash-icon.svg" alt="")
span.normal-gray.ms-2 Odstrani
else
#synced-terms-div
.container-fluid.task.task-completed.p-3.mb-4(id='code' + link)
.d-sm-flex.justify-content-sm-between.d-grid
.d-grid
.d-inline
span.bold-weight-black= `${link.code} - ${link.name}`
if link.indexURL
span.normal-gray.mt-2.mb-2= link.indexURL
.d-flex.align-items-center.justify-content-sm-end
if link.indexURL
button.sync-portal-btn.btn.btn-secondary.align-itmes-center.d-flex(
type="button"
data-link-id=link.id
)
img(src="/images/refresh-ccw.svg")
span.ms-1 Sinhroniziraj
a.ms-2.btn.btn-secondary.align-items-center.d-flex(
href=`/admin/povezave/seznam/${link.id}`
)
img(src="/images/book-colorized.svg")
span.ms-1 Slovarji
hr.mt-2.mb-3
.d-sm-flex.justify-content-between
.d-sm-flex.align-items-center.mb-0.form-check.form-switch.portal-enable-switch(
data-portal-id=link.id
)
if link.isEnabled
input.form-check-input(
type="checkbox"
name="isEnabled"
id='checkbox' + link.id
checked
)
else
input.form-check-input(
type="checkbox"
name="isEnabled"
id='checkbox' + link.id
)
label.normal-gray.ms-2.mt-1(for='checkbox' + link.id) Omogočeno
.d-flex.align-content-center.mb-0.me-3.mt-2.mt-sm-0
a.btn.p-0.image-link(
type="link"
href=`/admin/povezava/${link.id}/urejanje`
)
img(src="/images/u_edit-alt.svg" alt="Uredi")
span.normal-gray.ms-1 Uredi
.ms-3
button.p-0.btn.delete-task(data-link-id=link.id)
img(src="/images/red-trash-icon.svg" alt="")
span.normal-gray.ms-2 Odstrani
else
.d-flex.justify-content-center.mt-5
p Nimate povezav za urejanje.
include /utilities/modal-alert
include /utilities/modal-response
+responseModal
include /common/footer
@@ -0,0 +1,61 @@
extends /layout
block pageSpecificScipts
script(nonce=cspNonce src="/javascripts/admin.js")
block body
section#fixed-top-section
include /common/main-navigation
+main-navigation(false)
include /common/side-menu-mixin-admin
- const d = { activeLvl1: 'dictionaries', activeLvl2: 'list' }
+sideNavigation(d)
include /utilities/dictionaries-main-panel-header
- const c = { sideMenu: true, h2: 'Slovarji', h1: 'Seznam slovarjev', description: 'Seznam vseh slovarjev, ki jih uredniki, sicer registrirani uporabniki, urejajo na tem portalu.', buttons: [{ type: 'link', content: 'Dodaj slovar', url: '/slovarji/nov' }] }
+mainHeader(c)
.content-hold-prerequisites
#offset-main.main-container.mt-3
.d-flex.justify-content-between
.d-flex.flex-row.mb-4
include /components/search-and-filter/inline-search
.d-flex
include /utilities/pager
+pager
-
const localeOptions = {
day: '2-digit',
month: '2-digit',
year: 'numeric',
hour: '2-digit',
minute: '2-digit',
}
.table-responsive
table.styled-table
thead
tr
th= 'ID'
th= 'NASLOV'
th= 'STATUS'
th= 'USTVARJEN'
th= 'SPREMENJEN'
th= ''
tbody#page-results
each result in results
tr
each el in result
if result.timeCreated===el || result.timeModified===el
- const date = new Date(el).toLocaleDateString('sl-SL', localeOptions)
td= date
else
td= el
td
a.image-link(
type="link"
href=`/admin/slovarji/${result.id}/podatki`
)
img(src="/images/u_edit-alt.svg" alt="Uredi")
span.normal-gray.ms-1 Uredi
include /common/footer
@@ -0,0 +1,64 @@
extends /layout
block pageSpecificScipts
script(nonce=cspNonce src="/javascripts/dictionaries.js")
block body
section#fixed-top-section
include /common/main-navigation
+main-navigation(false)
include /common/side-menu-mixin-admin
- const d = { activeLvl1: 'dictionaries', activeLvl2: 'advanced' }
+sideNavigation(d)
include /utilities/dictionaries-main-panel-header
- const c = { sideMenu: true, h2: dictionaryName, h1: 'Napredno', description: 'Napredno urejanje omogoča spreminjanje večjega števila podatkov v terminološkem slovarju.' }
+mainHeader(c)
.content-hold-prerequisites
#offset-main.main-container.mt-3
input#adv-dictionary-id(
type="hidden"
name="dictionaryId"
value=dictionary.id
)
.row
.col-md-6.white-border-background.p-4.d-flex.align-items-center
span.info-text-for-button.me-auto Indeksiraj ...
button#index-entries-btn.btn.btn-primary.ps-5.pe-5.advanced-blue-btn UREDI
.col-sm.align-items-center.ms-xxl-3.ms-md-3.d-flex.ps-1
span.name-info-txt Navodilo k posamičnemu polju.
.file-type.mt-4
.row.mt-5
.col-md-6.white-border-background.p-4.d-flex.align-items-center
span.info-text-for-button.me-auto Brisanje slovarskih sestavkov
button#adv-delete-all-entries.btn.btn-primary.ps-5.pe-5.advanced-blue-btn BRIŠI
.col-sm.align-items-center.ms-xxl-3.ms-md-3.d-flex.ps-1
span.name-info-txt Izbrišete lahko vse doslej obdelane slovarske sestavke in ohranite vse metapodatke o slovarju. Dejanja ni mogoče preklicati.
a.name-info-txt.ms-1(href="/pomoc") Več …
.file-type.mt-5
.row.mt-5
.col-md-6.white-border-background.p-4.d-flex.align-items-center
span.info-text-for-button.me-auto Brisanje slovarja
button#adv-delete-dictionary.btn.btn-primary.ps-5.pe-5.advanced-blue-btn BRIŠI
.col-sm.align-items-center.ms-xxl-3.ms-md-3.d-flex.ps-1
span.name-info-txt Izbrišete lahko celoten slovar z vsemi metapodatki. Dejanja ni mogoče preklicati.
a.name-info-txt.ms-2(href="/pomoc") Več …
.file-type.mt-5
.row.mt-5
.col-md-6.white-border-background.p-4.d-flex.align-items-center
span.info-text-for-button.me-auto Objava vseh slovarskih sestavkov
button#adv-publish-all-entries.btn.btn-primary.ps-5.pe-5.advanced-blue-btn OBJAVI
.col-sm.align-items-center.ms-xxl-3.ms-md-3.d-flex.ps-1
span.name-info-txt Po koncu urejanja vseh slovarskih sestavkov lahko slovar objavite in ga tako prikažete na javnem delu terminološkega portala.
include /utilities/modal-spinner
include /utilities/modal-alert-mixin
+alertModal("index-entries", "Uporabi", "Prekliči", "modal-use-btn", "cancel-btn", 'Ali želite indeksirati?')
+alertModal("delete-entries", "Izbriši", "Prekliči", "modal-use-btn", "cancel-btn", 'S tem dejanjem boste izbrisali vse slovarske sestavke v slovarju. Metapodatki bodo ostali. Dejanja ni mogoče razveljaviti.')
+alertModal("delete-dictionary", "Izbriši", "Prekliči", "modal-use-btn", "cancel-btn", 'S tem dejanjem boste izbrisali vse slovarske sestavke v slovarju in vse metapodatke. Dejanja ni mogoče razveljaviti.')
+alertModal("publish-entries", "Objavi", "Prekliči", "modal-use-btn", "cancel-btn", 'Ali želite objaviti vsa gesla?')
include /utilities/modal-response
+responseModal("delete-entries-res", "Razumem", "understand-btn", "Slovarski sestavki so bili izbrisani.")
+responseModal("delete-dict-res", "Razumem", "understand-btn", "Slovar je bil izbrisan.")
+responseModal("publish-entries-res", "Razumem", "understand-btn", "Slovarski sestavki so bili objavljeni.")
include /common/footer
@@ -0,0 +1,23 @@
extends /layout
block pageSpecificScipts
script(nonce=cspNonce src="/javascripts/comments.js")
script(nonce=cspNonce src="/javascripts/dictionaries.js")
block body
section#fixed-top-section
include /common/main-navigation
+main-navigation(false)
include /common/side-menu-mixin-admin
- const d = { activeLvl1: 'dictionaries', activeLvl2: 'comments' }
+sideNavigation(d)
include /utilities/dictionaries-main-panel-header
- const c = { sideMenu: true, h2: dictionaryName, h1: 'Komentarji', description: 'Na tem mestu so zbrani vsi komentarji, povezani z izbranim terminološkim slovarjem.' }
+mainHeader(c)
.comments-content.col-12.col-md-12.py-md-3.bd-content.content-hold-prerequisites
#offset-main.main-container
include /utilities/comments-with-pager
include /common/footer
@@ -0,0 +1,246 @@
extends /layout
block pageSpecificScipts
script(nonce=cspNonce src="/javascripts/admin.js")
block body
section#fixed-top-section
include /common/main-navigation
+main-navigation(false)
include /common/side-menu-mixin-admin
- const d = { activeLvl1: 'dictionaries', activeLvl2: 'description' }
+sideNavigation(d)
include /utilities/dictionaries-main-panel-header
- const c = { sideMenu: true, h2: dictionary.nameSl, h1: 'Osnovni podatki', description: 'Izpolnite polja in na kratko opišite vsebino terminološkega slovarja.', helpLink: { linkHref: '/pomoc', linkText: 'Več ...' }, buttons: [{ type: 'disabled', content: 'Shrani', form: 'admin-description' }] }
+mainHeader(c)
.content-hold-prerequisites
#offset-main.main-container.mt-1
.title
.subject-name
label.smaller-gray-uppercase(for="") ID Slovarja
.row
.col-sm-6
span.page-title-header= dictionary.id
form#admin-description.needs-validation.mt-3(method="post" novalidate)
.title
.subject-name
label.smaller-gray-uppercase(for="dictionary-title") NASLOV SLOVARJA *
.row
.col-sm-6
input#dictionary-title.name-input.form-control(
type="text"
name="nameSl"
required
maxlength="120"
value=dictionary.nameSl
)
.invalid-feedback Niste vpisali naslova slovarja.
.col-sm.d-flex.align-items-center
span.d-md-inline.d-block.smaller-gray-info.ms-xxl-3.ms-md-3 Celotni naslov slovarja, ki bo zabeležen v bibliografskih podatkih.
.english-title.mt-4
.subject-name
label.smaller-gray-uppercase(for="dictionary-title-en") ANGLEŠKI NASLOV SLOVARJA *
.row
.col-sm-6
input#dictionary-title-en.name-input.form-control(
type="text"
name="nameEn"
maxlength="120"
value=dictionary.nameEn ? dictionary.nameEn : ''
required
)
.invalid-feedback Niste vpisali angleškega naslova slovarja.
.col-sm.d-flex.align-items-center
span.d-md-inline.d-block.smaller-gray-info.ms-xxl-3.ms-md-3 Celotni naslov slovarja v angleščini.
.short-title.mt-4
.subject-name
label.smaller-gray-uppercase(for="short-dictionary-title") SKRAJŠANI NASLOV SLOVARJA
.row
.col-sm-6
input#short-dictionary-title.name-input.d-inline.form-control(
type="text"
name="nameSlShort"
maxlength="15"
value=dictionary.nameSlShort ? dictionary.nameSlShort : ''
)
.col-sm.d-flex.align-items-center
span.d-md-inline.d-block.smaller-gray-info.ms-xxl-3.ms-md-3 Zaradi organizacije podatkov na portalu za skrajšani naslov slovarja predlagamo poenobesede nje, ki se bo izpisovalo ob slovarju, npr. Davčni terminološki slovar &rarr; Davki.
//- TODO enable field when slug is in DB
//- .mt-4
//- .subject-name
//- label.smaller-gray-uppercase(for="slug") Slug
//- .row
//- .col-sm-6
//- input#slug.name-input.d-inline.form-control(
//- type="text"
//- placeholder="V razvoju ..."
//- disabled
//- )
//- .col-sm.d-flex.align-items-center
//- span.d-md-inline.d-block.smaller-gray-info.ms-xxl-3.ms-md-3 Slug
if dictionary.author
each ele, index in dictionary.author
.author.mt-4.added-field
.subject-name
label.smaller-gray-uppercase(for="author") AVTOR SLOVARJA
.row
.col-sm-6
.input-group
input(
class=index != 0 ? 'name-input d-inline form-control icon-trash' : 'name-input d-inline form-control'
type="text"
name="author"
maxlength="64"
value=ele ? ele : ''
)
if (index != 0)
button.input-group-text.delete-author-btn(type="button")
img.delete-author.p-0(
src="/images/red-trash-icon.svg"
alt="Delete"
)
.col-sm.d-flex.align-items-center
span.d-md-inline.d-block.name-info-txt.ms-xxl-3.ms-md-3.mt-3.mt-sm-0 Vpišite avtorja slovarja, če ste glavni avtor, na prvo mesto zapišite svoje ime.
else
#first-author.author.mt-4
.subject-name
label.smaller-gray-uppercase(for="author") AVTOR SLOVARJA
.row
.col-sm-6
input#author.name-input.d-inline.form-control(
type="text"
name="author"
maxlength="64"
)
.col-sm.d-flex.align-items-center
span.d-md-inline.d-block.name-info-txt.ms-xxl-3.ms-md-3.mt-3.mt-sm-0 Vpišite avtorja slovarja, če ste glavni avtor, na prvo mesto zapišite svoje ime.
#add-new-author.author.mt-4
.subject-name
label.smaller-gray-uppercase(for="input-new-author") NOV AVTOR
.row
.col-sm-6
button#input-new-author.form-control(type="button")
span.new-author-text-btn Nov avtor
.col-sm.d-flex.align-items-center
span.d-md-inline.d-block.smaller-gray-info.ms-xxl-3.ms-md-3 Dodajte ime in priimek naslednjega avtorja slovarja..
//- TODO enable field when weight is in DB
//- .mt-4
//- .subject-name
//- label.smaller-gray-uppercase(for="weight") TEŽA
//- .row
//- .col-sm-6.d-flex.align-items-center
//- input#weight.name-input.form-control.autocomplete.d-inline(
//- disabled
//- placeholder="V razvoju ..."
//- )
//- .col-sm.d-flex.align-items-center
//- span.d-md-inline.d-block.smaller-gray-info.ms-xxl-3.ms-md-3 Statična teža.
.mt-4
.subject-name
label.smaller-gray-uppercase(for="status") STATUS
.row
.col-sm-6.d-flex.align-items-center
select#status.name-input.form-select.d-inline(name="status")
option(
value="closed"
selected=status === 'closed' ? true : false
) Zaprt
option(
value="reviewed"
selected=status === 'reviewed' ? true : false
disabled=status === 'reviewed' ? false : true
) V odpiranju
option(
value="published"
selected=status === 'published' ? true : false
) Odprt
.col-sm.d-flex.align-items-center
span.d-md-inline.d-block.smaller-gray-info.ms-xxl-3.ms-md-3 Terminološkemu slovarju določite status. Izbirate lahko med zaprt, v urejanju in odprt.
.cerif-area.mt-4
.subject-name
label.smaller-gray-uppercase(for="select-cerif") PODROČJE *
.row
.col-sm-6
select.name-input.d-inline.form-select(
name="domainPrimary"
required
)
each domain in allPrimaryDomains
option(
value=domain.id
selected=domain.id === dictionary.domainPrimary
)= domain.nameSl
#invalid-section.invalid-feedback-selection.hidden-section.mt-3 Nimate izbranega področja CERIF.
.col-sm.d-flex.align-items-center
span.d-md-inline.d-block.smaller-gray-info.ms-xxl-3.ms-md-3 Izberite področje svojega terminološkega slovarja na seznamu področij.
.small-name-area.mt-4
.subject-name
label.smaller-gray-uppercase(for="domain-secondary") PODPODROČJE
.row
.col-sm-6
select#domain-secondary.name-input.d-inline.form-control.without-addition(
name="domainSecondary"
multiple
)
each domain in allSecondaryDomains
if associatedSecondaryDomains.some(associatedDomain => associatedDomain.id === domain.id)
option(value=domain.id selected)= domain.nameSl
else
option(value=domain.id)= domain.nameSl
.col-sm.d-flex.align-items-center
span.d-md-inline.d-block.smaller-gray-info.ms-xxl-3.ms-md-3 Podpodročje.
#add-new-area.author.mt-4
.subject-name
label.smaller-gray-uppercase NOVO PODPODROČJE
.row
.col-sm-6
button#input-new-area.form-control(type="button")
span.new-author-text-btn Novo podpodročje
.col-sm.d-flex.align-items-center
span.d-md-inline.d-block.smaller-gray-info.ms-xxl-3.ms-md-3 Vpišite novo podpodročje. Na seznamu podpodročij bo vidno takoj po potrditvi administratorja portala.
#text-editor.mt-4
.subject-name
span.smaller-gray-uppercase OPIS SLOVARJA
.container-xxl.ps-0.ms-0
textarea.summernote(
name="description"
value=dictionary.description
)
if dictionary.description
p= dictionary.description
.col-sm-6.smaller-gray-info.mt-2
|
#issn-field.mt-4
.subject-name
label.smaller-gray-uppercase(for="issn") ISSN
.row
.col-sm-6
input#issn.name-input.d-inline.form-control(
type="text"
name="issn"
maxlength="20"
value=dictionary.issn ? dictionary.issn : ''
)
.col-sm.d-flex.align-items-center
span.d-md-inline.d-block.smaller-gray-info.ms-xxl-3.ms-md-3 ISSN oznaka.
a.ms-1.smaller-gray-info(href="/pomoc" target="_blank") Več ...
include /utilities/modal-alert
include /utilities/modal-alert-mixin
+alertModal('unsaved-data', 'Shrani', 'Ne', 'modal-save-btn', 'modal-dont-save-btn', 'Imate neshranjene spremebe. Ali jih želite shraniti?')
include /common/footer
@@ -0,0 +1,110 @@
extends /layout
block pageSpecificScipts
script(nonce=cspNonce src="/javascripts/dictionaries.js")
block body
section#fixed-top-section
include /common/main-navigation
+main-navigation(false)
include /common/side-menu-mixin-admin
- const d = { activeLvl1: 'dictionaries', activeLvl2: 'subareas' }
+sideNavigation(d)
include /utilities/dictionaries-main-panel-header
- const c = { sideMenu: true, h2: dictionaryName, h1: 'Področne oznake', description: 'Na tem mestu lahko določite področne oznake, če želite posamezne termine v svojem terminološkem slovarju razvrstiti še podrobneje.', helpLink: { linkHref: '/pomoc#help-content-domains', linkText: 'Več ...' }, buttons: [{ form: 'dictionary-domain-labels', type: 'disabled', content: 'Shrani' }] }
+mainHeader(c)
.content-hold-prerequisites
#offset-main.main-container.mt-2
if results.length
.d-flex.justify-content-between.mt-2
.d-flex.flex-row.mb-4
include /components/search-and-filter/inline-search
.d-flex
include /utilities/pager
+pager
form#dictionary-domain-labels(
method="post"
action="/api/v1/dictionaries/update-domain-labels"
)
input#subareas-dict-id(
type="hidden"
name="dictionaryId"
value=dictionary.id
)
table#all-areas-table.table.areas-table.table-responsive
thead
tr
th.visible-th(scope="col") Vidno
th(scope="col") Področna oznaka
th(scope="col")
tbody#page-results
each result in results
tr
input(type="hidden" name="domainLabelId" value=result.id)
th(scope="row")
if result.isVisible
input.form-check.checkbox-table(
type="checkbox"
name="isVisible"
checked
disabled
)
else
input.form-check.checkbox-table(
type="checkbox"
name="isVisible"
disabled
)
td.tdata-area= result.name
td.buttons-group
.table-buttons
button.p-0.table-button-grp.me-3.edit-row-btn(
type="button"
)
img(src="/images/u_edit-alt.svg" alt="")
button.p-0.table-button-grp.delete-row-btn(
type="button"
data-bs-target="#alert-modal"
data-bs-toggle="modal"
)
img(src="/images/red-trash-icon.svg" alt="")
else
form#dictionary-domain-labels(
method="post"
action="/api/v1/dictionaries/update-domain-labels"
)
input#subareas-dict-id(
type="hidden"
name="dictionaryId"
value=dictionary.id
)
#subareas-info.d-flex.justify-content-center.mt-5
p Niste vnesli področnih oznak.
#no-subareas-section.d-none
.d-flex.justify-content-between.mt-4
.d-flex.flex-row.mb-4
include /components/search-and-filter/inline-search
.d-flex
include /utilities/pager
+pager
table#all-areas-table.table.areas-table.table-responsive
thead
tr
th.visible-th(scope="col") Vidno
th(scope="col") Področna oznaka
th(scope="col")
tbody
tr.hidden(hidden)
.row
.col-sm-3
.subject-name
label.input-name-txt PODROČNA OZNAKA
input#subarea-input.form-control(type="text")
.col.d-flex.align-items-end.mt-2
button#add-area.btn.btn-primary(type="submit" disabled) Dodaj
include /utilities/modal-alert
include /common/footer
@@ -0,0 +1,253 @@
extends /layout
block pageSpecificScipts
script(nonce=cspNonce src="/javascripts/admin.js")
block include-styles
link(rel="stylesheet" href="/stylesheets/pages/admin.css")
block body
section#fixed-top-section
include /common/main-navigation
+main-navigation(false)
include /common/side-menu-mixin-admin
- const d = { activeLvl1: 'dictionaries', activeLvl2: 'export' }
+sideNavigation(d)
include /utilities/dictionaries-main-panel-header
- const c = { sideMenu: true, h2: dictionaryName, h1: 'Izvoz', description: 'Terminološke slovarje lahko v celoti ali po izbranih kriterijih izvozite v različnih formatih in shranite na svojem računalniku.', buttons: [] }
+mainHeader(c)
.content-hold-prerequisites
#offset-main.main-container.mt-2
.row.validity.align-items-center
.col-xxl-6.col-md-7
span.header-table-wrapper Veljavnost
ul.d-sm-flex.validity-row.ps-2.mb-0.mb-md-2
.options-width-box
li.form-check.radio-button.ms-0.ps-3
input#allKeys.form-check-input(
type="radio"
name="flexRadioDefault"
checked
)
label.radio-button-labels.form-check-label.ms-0.text-nowrap(
for="allKeys"
)
| Vsi slovarski sestavki
.options-another-box
li.form-check.radio-button.ms-0.ps-3
input#validKeys.form-check-input(
type="radio"
name="flexRadioDefault"
)
label.radio-button-labels.form-check-label.ms-0(
for="validKeys"
)
| Veljavni
.options-another-box
li.form-check.radio-button.ms-0.ps-3
input#notValidKeys.form-check-input(
type="radio"
name="flexRadioDefault"
)
label.radio-button-labels.form-check-label.ms-0(
for="notValidKeys"
)
| Neveljavni
.col.mb-3.mb-md-0
span.name-info-txt Izberite, katere slovarske sestavke želite izpisati glede na njihovo veljavnost.
.row.posted.align-items-center
.col-xxl-6.col-md-7
span.header-table-wrapper Objavljeno
ul.d-sm-flex.validity-row.ps-2.mb-0.mb-md-2
.options-width-box
li.form-check.radio-button.ms-0.ps-3
input#allPostedKeys.form-check-input(
type="radio"
name="posted"
checked
)
label.radio-button-labels.form-check-label.ms-0.text-nowrap(
for="allPostedKeys"
)
| Vsi slovarski sestavki
.options-another-box
li.form-check.radio-button.ms-0.ps-3
input#onlyPosted.form-check-input(type="radio" name="posted")
label.radio-button-labels.form-check-label.ms-0(
for="onlyPosted"
)
| Objavljeni
.options-another-box
li.form-check.radio-button.ms-0.ps-3
input#notPosted.form-check-input(type="radio" name="posted")
label.radio-button-labels.form-check-label.ms-0(
for="notPosted"
)
| Neobjavljeni
.col.mb-3.mb-md-0
span.name-info-txt Izberite, ali želite izpisati samo objavljene ali tudi neobjavljene slovarske sestavke.
.row.phases.align-items-center
.col-xxl-6.col-md-7
span.header-table-wrapper Faze urejanja
ul.d-sm-flex.validity-row.ps-2.mb-0.mb-md-2
.options-width-box
li.form-check.radio-button.ms-0.ps-3
input#allEditedKeys.form-check-input(
type="radio"
name="edited"
checked
)
label.radio-button-labels.form-check-label.ms-0.text-nowrap(
for="allEditedKeys"
)
| Vsi slovarski sestavki
.options-another-box
li.form-check.radio-button.ms-0.ps-3
input#editedKeys.form-check-input(type="radio" name="edited")
label.radio-button-labels.form-check-label.ms-0(
for="editedKeys"
)
| Urejeni
.options-another-box
li.form-check.radio-button.ms-0.ps-3
input#inEditing.form-check-input(type="radio" name="edited")
label.radio-button-labels.form-check-label.ms-0(
for="inEditing"
)
| V urejanju
.col.mb-3.mb-md-0
span.name-info-txt Izberite, ali želite izpisati vse slovarske sestavke ali samo tiste, ki so v določeni fazi urejanja.
.row.proffesional-check.align-items-center
.col-xxl-6.col-md-7
span.header-table-wrapper Strokovni pregled
ul.d-sm-flex.validity-row.ps-2.mb-0.mb-md-2
.options-width-box
li.form-check.radio-button.ms-0.ps-3
input#allChecked.form-check-input(
type="radio"
name="professionallyChecked"
checked
)
label.radio-button-labels.form-check-label.ms-0(
for="allChecked"
)
| Vsi slovarski sestavki
.options-another-box
li.form-check.radio-button.ms-0.ps-3
input#onlyProffesionallyChecked.form-check-input(
type="radio"
name="professionallyChecked"
)
label.radio-button-labels.form-check-label.ms-0(
for="onlyProffesionallyChecked"
)
| Pregledani
.options-another-box
li.form-check.radio-button.ms-0.ps-3
input#notProffesionallyChecked.form-check-input(
type="radio"
name="professionallyChecked"
)
label.radio-button-labels.form-check-label.ms-0(
for="notProffesionallyChecked"
)
| Nepregledani
.col.mb-3.mb-md-0
span.name-info-txt Izberite, ali želite izpisati samo strokovno pregledane slovarske sestavke.
.row.terminology-check.align-items-center
.col-xxl-6.col-md-7
span.header-table-wrapper Jezikovni pregled
ul.d-sm-flex.validity-row.ps-2.mb-0.mb-md-2
.options-width-box
li.form-check.radio-button.ms-0.ps-3
input#allGramaticallyChecked.form-check-input(
type="radio"
name="gramaticallyChecked"
checked
)
label.radio-button-labels.form-check-label.ms-0(
for="allGramaticallyChecked"
)
| Vsi slovarski sestavki
.options-another-box
li.form-check.radio-button.ms-0.ps-3
input#onlyGramaticallyChecked.form-check-input(
type="radio"
name="gramaticallyChecked"
)
label.radio-button-labels.form-check-label.ms-0(
for="onlyGramaticallyChecked"
)
| Pregledani
.options-another-box
li.form-check.radio-button.ms-0.ps-3
input#notGramaticallyChecked.form-check-input(
type="radio"
name="gramaticallyChecked"
)
label.radio-button-labels.form-check-label.ms-0(
for="notGramaticallyChecked"
)
| Nepregledani
.col.mb-3.mb-md-0
span.name-info-txt Izberite, ali želite izpisati samo jezikovno pregledane slovarske sestavke.
.file-type
span.new-user-info FORMAT ZAPISA
.row.align-items-center
.col-xxl-6.col-md-7
.form-check.radio-button.ms-2.ps-3
input#file-format-xml.form-check-input(
type="radio"
name="importFileFormat"
value="xml"
checked
)
label.form-check-label.ms-0(for="file-format-xml")
| XML
.form-check.radio-button.ms-3
input#file-format-csv.form-check-input(
type="radio"
name="importFileFormat"
value="csv"
)
label.form-check-label.ms-0(for="file-format-csv")
| CSV
.form-check.radio-button.ms-3
input#file-format-tsv.form-check-input(
type="radio"
name="importFileFormat"
value="tsv"
)
label.form-check-label.ms-0(for="file-format-tsv")
| TSV
.form-check.radio-button.ms-3
input#file-format-txt.form-check-input(
type="radio"
name="importFileFormat"
value="txt"
)
label.form-check-label.ms-0(for="file-format-txt")
| TXT
.col.mb-3.mb-md-0
span.name-info-txt Izberite format izpisa izbranega terminološkega slovarja.
button.btn.btn-primary.mt-4 IZVOZI
.latest-exports.mt-4
.d-flex.w-100.justify-content-between
.d-flex
span.info-text-for-button Zadnji izvozi
.d-flex
include /utilities/pager
+pager(1,2,3,1,3,true)
.d-block.w-100
include /utilities/table-mixin
-
const headerRow = ['Datum', 'Vrsta', 'Št. gesel', 'Status']
const dataRows = [
['12.12.2012', 'Oznaka', 'Št. gesel', 'Oznaka', ""],
['12.12.2012', 'Oznaka', 'Št. gesel', 'Oznaka', {button: {content:"Shrani"}}],
['12.12.2012', 'Oznaka', 'Št. gesel', 'Oznaka', {button: {content:"Shrani"}}],
['12.12.2012', 'Oznaka', 'Št. gesel', 'Oznaka', {button: {content:"Shrani"}}],
['12.12.2012', 'Oznaka', 'Št. gesel', 'Oznaka', {button: {content:"Shrani"}}]
]
+tableHeader(headerRow, dataRows)
include /common/footer
@@ -0,0 +1,66 @@
extends /layout
block pageSpecificScipts
script(nonce=cspNonce src="/javascripts/dictionaries.js")
script(nonce=cspNonce src="/javascripts/dictionary-import-extraction.js")
block body
section#fixed-top-section
include /common/main-navigation
+main-navigation(false)
include /common/side-menu-mixin-admin
- const d = { activeLvl1: 'dictionaries', activeLvl2: 'extractionImport' }
+sideNavigation(d)
include /utilities/dictionaries-main-panel-header
- const c = { sideMenu: true, h2: dictionaryName, h1: 'Uvoz iz luščilnika', description: 'Rezultat luščenja so terminološki kandidati. Z uvozom rezultatov posameznega luščenja lahko dopolnite geslovnik terminološkega slovarja, ki ga urejate.', buttons: [] }
+mainHeader(c)
.content-hold-prerequisites
#offset-main.main-container.mt-3
.small-name-area
.subject-name
span.input-name-txt IME LUŠČENJA
.row
.col-lg-6
select#select-extraction-name.name-input.d-inline.form-control
option(selected value="" disabled hidden)= 'Izberite luščenje'
each el in extractions
option(value=el.id)= el.name
.col-sm.d-flex.align-items-center
span.name-info-txt.ms-lg-3.mt-2.mt-lg-0 Izberite enega od rezultatov luščenja s seznama.
.list-terminology-candidates.mt-4.me-2
.d-flex.w-100.justify-content-between
.d-flex.align-items-center
span.info-text-for-button Seznam terminoloških kandidatov
.d-flex
include /utilities/pager
+pager
.table-responsive.mt-2.me-2
table.styled-table
thead
tr
th= '#'
th= 'KANONIČNA OBLIKA'
th= 'RANKING'
th= 'POGOSTOST OBJAVLJANJA'
tbody#page-results
.row.mt-4
.me-0.pe-0.d-flex.align-items-center
span.radio-button-labels Uvozi termine od številke
input.without-arrows.form-control.terminology-input.ms-1(
type="number"
maxlength="5"
name="from"
min="0"
)
span.radio-button-labels.ms-1 do številke
input.without-arrows.form-control.terminology-input.ms-1(
type="number"
maxlength="5"
name="to"
min="0"
)
button.btn.btn-primary.mt-4(disabled) UVOZI
include /common/footer
@@ -0,0 +1,156 @@
extends /layout
block pageSpecificScipts
script(nonce=cspNonce src="/javascripts/dictionaries.js")
block include-styles
link(rel="stylesheet" href="/stylesheets/pages/admin.css")
block body
section#fixed-top-section
include /common/main-navigation
+main-navigation(false)
include /common/side-menu-mixin-admin
- const d = { activeLvl1: 'dictionaries', activeLvl2: 'fileImport' }
+sideNavigation(d)
include /utilities/dictionaries-main-panel-header
- const c = { sideMenu: true, h2: dictionaryName, h1: 'Uvoz iz datoteke', description: 'Slovar lahko uvozite s svojega računalnika in nadaljujete z urejanjem na terminološkem portalu.', buttons: [] }
+mainHeader(c)
.content-hold-prerequisites
#offset-main.main-container
form#file-import-form.container.mt-3.ms-2.ps-0(
method="post"
enctype="multipart/form-data"
)
.file-type
span.new-user-info DATOTEKA
.row
.col-md-6.ms-2.white-border-background.p-4.d-flex.align-items-center.justify-content-between
.align-items-center.d-flex
span#chosen-file.info-text-for-button Izberi datoteko
div
label(for="upload")
button#button-import.btn.btn-primary(type="button") IZBERI
input#upload(
type="file"
name="dictionaryImportFile"
accept=".xml"
)
.col-md.d-flex.align-items-center
span.name-info-txt Izberite slovarske podatke, ki ste jih shranili na svojem računalniku.
.file-type.mt-4
span.new-user-info NAČIN UVOZA
.row
.col-sm-6.ms-2
.checkbox
input#flexCheckDefault.form-check-input(
type="checkbox"
name="deleteExistingEntries"
)
label.form-check-label(for="flexCheckDefault")
span.user-email Izbriši obstoječe slovarske sestavke.
.col
span.name-info-txt Če izberete to možnost, se bodo vsi doslejšnji slovarski sestavki ob uvozu nove datoteke izbrisali.
.file-type.mt-4
span.new-user-info FAZA UREJANJA
#file-type-selection.file-types
.row
.col-sm-6.ms-2
.form-check.radio-button.ms-0.ps-3
input#in-edit-radio.form-check-input(
type="radio"
name="entryStatus"
value="inEdit"
checked
)
label.form-check-label.ms-0(for="in-edit-radio")
| V urejanju
#complete-radio.form-check.radio-button.ms-3
input#complete-radio.form-check-input(
type="radio"
name="entryStatus"
value="complete"
)
label.form-check-label.ms-0(for="complete-radio")
| Urejeno
.col
span.name-info-txt Z izbiro te možnosti boste pobrisali samo slovarske sestavke, ki so v določeni fazi urejanja.
.file-type.mt-4
span.new-user-info FORMAT ZAPISA
#file-type-selection.file-types
.row
.col-sm-6.ms-2.text-nowrap
.form-check.radio-button.ms-0.ps-3
input#file-format-xml.form-check-input(
type="radio"
name="importFileFormat"
value="xml"
checked
)
label.form-check-label.ms-0(for="file-format-xml")
| XML
.form-check.radio-button.ms-3
input#file-format-csv.form-check-input(
type="radio"
name="importFileFormat"
value="csv"
)
label.form-check-label.ms-0(for="file-format-csv")
| CSV
.form-check.radio-button.ms-3
input#file-format-tsv.form-check-input(
type="radio"
name="importFileFormat"
value="tsv"
)
label.form-check-label.ms-0(for="file-format-tsv")
| TSV
.form-check.radio-button.ms-3
input#file-format-txt.form-check-input(
type="radio"
name="importFileFormat"
value="txt"
)
label.form-check-label.ms-0(for="file-format-txt")
| TXT
.col
span.name-info-txt Izberite format datoteke, v kateri je slovar shranjen na vašem računalniku.
.file-type.mt-4
button.btn.btn-primary.mt-4 UVOZI
.latest-uploads.mt-4
.d-flex.w-100.justify-content-between
.d-flex
span.info-text-for-button Zadnji uvozi
.d-flex
include /utilities/pager
+pager
if imports.length
.table-responsive
table.styled-table
thead
tr
th= 'DATUM'
th= 'VRSTA'
th= 'ŠT. GESEL'
th= 'STATUS'
th= ''
-
const localeOptions = {
day: '2-digit',
month: '2-digit',
year: 'numeric',
hour: '2-digit',
minute: '2-digit',
second: '2-digit'
}
each element in imports
tr
td= element.timeStarted.toLocaleDateString('sl-SL', localeOptions)
td= element.fileFormat
td= element.countValidEntries
td= element.status
else
p Ni še dodanih uvozov.
include /common/footer
@@ -0,0 +1,23 @@
extends /layout
block pageSpecificScipts
script(nonce=cspNonce src="/javascripts/admin.js")
block body
section#fixed-top-section
include /common/main-navigation
+main-navigation(false)
include /common/side-menu-mixin-admin
- const d = { activeLvl1: 'dictionaries', activeLvl2: 'structure' }
+sideNavigation(d)
include /utilities/dictionaries-main-panel-header
- const c = { sideMenu: true, h2: dictionary.nameSl, h1: 'Struktura slovarskega sestavka', description: 'V tem razdelku lahko določite elemente slovarskega sestavka. Z izbiro elementov se vam prikazuje podoba slovarskega sestavka. Izbiro lahko tudi med urejanjem vsebine kadarkoli spremenite.', helpLink: { linkHref: '/pomoc', linkText: 'Več ...' }, buttons: [{ type: 'disabled', content: 'Shrani', form: 'form-dictionary-structure' }] }
+mainHeader(c)
.content-hold-prerequisites
#offset-main.main-container
form#form-dictionary-structure(method="post")
include /utilities/dictionary-structure-input
include /utilities/modal-alert-mixin
+alertModal('unsaved-data', 'Shrani', 'Ne', 'modal-save-btn', 'modal-dont-save-btn', 'Imate neshranjene spremebe. Ali jih želite shraniti?')
include /common/footer
@@ -0,0 +1,282 @@
extends /layout
block pageSpecificScipts
script(nonce=cspNonce src="/javascripts/admin.js")
block body
section#fixed-top-section
include /common/main-navigation
+main-navigation(false)
include /common/side-menu-mixin-admin
- const d = { activeLvl1: 'dictionaries', activeLvl2: 'users' }
+sideNavigation(d)
include /utilities/dictionaries-main-panel-header
- const c = { sideMenu: true, h2: dictionary.nameSl, h1: 'Uporabniki', description: 'V tem razdelku lahko določite fazo urejanja slovarja, dodajate uporabnike in jim določate uporabniške pravice pri urejanju slovarja.', buttons: [{ type: 'disabled', content: 'Shrani', form: 'admin-dictionary-users' }] }
+mainHeader(c)
.content-hold-prerequisites
#offset-main.main-container.mt-1
form#admin-dictionary-users.container-xxl.ms-0.ps-0(method="post")
span.users-subtitle-txt.ms-0 Faze urejanja
.row.align-items-center.mt-2
.col-sm-6
.switch-forms-and-key-word.d-md-flex.mt-2
.switch-forms
.form-check.form-switch.d-flex
input#preposition.form-check-input(
type="checkbox"
disabled
checked
)
label.form-check-label(for="preposition") Predlog
.col-sm
span.name-info-txt V slovarju so samo terminološki kandidati. Slovarja ne morete objaviti.
.row.align-items-center
.col-sm-6
.switch-forms-and-key-word.d-md-flex
.switch-forms
.form-check.form-switch.d-flex
input#editing.form-check-input(
type="checkbox"
disabled
checked
)
label.form-check-label(for="editing") V urejanju
.col-sm
span.name-info-txt Slovarski sestavek je v fazi, ko se dodajajo in oblikujejo elementi, ki ste jih izbrali v strukturi slovarskega sestavka.
a.ms-1.name-info-txt(href="/pomoc#help-users-dict" target="_blank") Več...
.row.align-items-center
.col-sm-6
.switch-forms-and-key-word.d-md-flex
.switch-forms
.form-check.form-switch.d-flex
input#edited.form-check-input(
type="checkbox"
disabled
checked
)
label.form-check-label(for="edited") Urejeno
.col-sm
span.name-info-txt Slovarski sestavek je pregledan in dokončan.
.row.align-items-center.mt-2
.col-sm-6
.switch-forms-and-key-word.d-md-flex
.switch-forms
if dictionary.terminologyReviewFlag
.form-check.form-switch.d-flex
input#terminology_review.form-check-input(
type="checkbox"
name="hasTerminologyReview"
checked
)
label.form-check-label(for="terminology_review") Strokovno pregledano
else
.form-check.form-switch.d-flex
input#terminology_review.form-check-input(
type="checkbox"
name="hasTerminologyReview"
)
label.form-check-label(for="terminology_review") Strokovno pregledano
.col-sm
span.name-info-txt Slovar je pregledal področni strokovnjak.
.row.align-items-center.mt-2
.col-sm-6
.switch-forms-and-key-word.d-md-flex
.switch-forms
if dictionary.languageReviewFlag
.form-check.form-switch.d-flex
input#language_review.form-check-input(
type="checkbox"
name="hasLanguageReview"
checked
)
label.form-check-label(for="language_review") Jezikovno pregledano
else
.form-check.form-switch.d-flex
input#language_review.form-check-input(
type="checkbox"
name="hasLanguageReview"
)
label.form-check-label(for="language_review") Jezikovno pregledano
.col-sm
span.name-info-txt Slovar je pregledal jezikoslovec.
.container-xl.mt-4.ms-0.ps-0
span.users-subtitle-txt.ms-0.mt-3 Uporabniške pravice/vloge
table#user-roles-table.table-users.table-borderless.align-middle.mt-3
thead
tr
th.col-2
span.user-rights-column-title Uporabnik
th.col-2
span.user-rights-column-title Administracija
th.col-2.text-center
span.user-rights-column-title Urejanje
th.col-2
span#txt-term-rev.user-rights-column-title Strokovni pregled
th.col-2
span#txt-lang-rev.user-rights-column-title Jezikovni pregled
th.col-1.justify-content-center
span.hidden-text Izbriši polje
if userRights
each el in userRights
tbody.user-data.pb-xl-2
tr
input.hidden-user-id(type="hidden" value=el.id)
td.d-grid.justify-content-left.justify-content-xl-center.mb-0.align-items-center(
scope="row"
data-label=""
)
span.user-name-last-name= el.userName
span.user-email= el.email
td.pt-1.pb-1(data-label="Administrator")
.form-check.d-flex.justify-content-left.justify-content-xl-center.mb-0.align-items-center
if el.hasAdministration
input.administration-cb.form-check-input(
type="checkbox"
name=`rightsPerUser['${el.id}'][isAdministration]`
checked
)
else
input.administration-cb.form-check-input(
type="checkbox"
name=`rightsPerUser['${el.id}'][isAdministration]`
)
td.pt-1.pb-1(data-label="Urejanje")
.form-check.d-flex.justify-content-left.justify-content-xl-center.mb-0.align-items-center
if el.hasEditing
input.edit-cb.form-check-input(
type="checkbox"
name=`rightsPerUser['${el.id}'][isEditing]`
checked
)
else
input.edit-cb.form-check-input(
type="checkbox"
name=`rightsPerUser['${el.id}'][isEditing]`
)
td.pt-1.pb-1(data-label="Strokovni pregled")
.form-check.d-flex.justify-content-left.justify-content-xl-center.mb-0.align-items-center
if el.hasTerminologyReview
input.terminology-review-cb.form-check-input(
type="checkbox"
name=`rightsPerUser['${el.id}'][isTerminologyReview]`
checked
)
else
input.terminology-review-cb.form-check-input(
type="checkbox"
name=`rightsPerUser['${el.id}'][isTerminologyReview]`
)
td.pt-1.pb-1(data-label="Jezikovni pregled")
.form-check.d-flex.justify-content-left.justify-content-xl-center.mb-0.align-items-center
if el.hasLanguageReview
input.language-review-cb.form-check-input(
type="checkbox"
name=`rightsPerUser['${el.id}'][isLanguageReview]`
checked
)
else
input.language-review-cb.form-check-input(
type="checkbox"
name=`rightsPerUser['${el.id}'][isLanguageReview]`
)
td.delete-user-btn.pt-3.delete-row(
value=`${el.id}`
data-bs-target="#alert-modal"
data-bs-toggle="modal"
)
img.icon-trash-delete(
src="/images/red-trash-icon.svg"
alt="Delete"
)
form#form-add-user.container-xl.new-user-input.mt-4.ps-0.ms-0(
action="/api/v1/users/addUser"
)
span.new-user-info NOV UPORABNIK
.row.d-flex.justify-content-lg-start.align-items-center.mt-2.ms-0.ps-0
.col-lg-6.ms-0.ps-0.me-2
input.name-input.d-inline.form-control.ms-0.ps-0(
type="text"
name="userNameEmail"
autocomplete="off"
)
.col.ms-xl-4.ms-0.ps-0.d-flex.justify-content-start.mt-2.mt-lg-0
button.btn.btn-primary Dodaj
- const minEntriesNum = parseInt(minEntries)
- const countEntries = parseInt(entriesCount)
.container-xxl.ms-0.ps-0
.row.align-items-center
.col-sm-6.mt-4
.switch-forms-and-key-word.d-md-flex
.form-check.form-switch.d-flex
if publishApproval === 'F'
if dictionary.status === 'closed'
input#publish-switch.form-check-input(
type="checkbox"
name="isPublished"
form="admin-dictionary-users"
disabled=countEntries < minEntriesNum ? true : false
)
if dictionary.status === 'published'
input#publish-switch.form-check-input(
type="checkbox"
name="isPublished"
form="admin-dictionary-users"
checked
)
else
if dictionary.status === 'closed'
input#publish-switch.form-check-input(
type="checkbox"
name="isPublished"
form="admin-dictionary-users"
disabled=countEntries < minEntriesNum ? true : false
)
if dictionary.status === 'reviewed'
input#publish-switch.form-check-input(
type="checkbox"
name="isPublished"
form="admin-dictionary-users"
checked
disabled
)
if dictionary.status === 'published'
input#publish-switch.form-check-input(
type="checkbox"
name="isPublished"
form="admin-dictionary-users"
checked
)
label.form-check-label(for="publish-switch") Slovar odprt
.col-sm
span.name-info-txt Slovar je pregledal jezikoslovec.
if dictionary.status === 'published' && countEntries < minEntriesNum
.col-sm-6
span.mt-3.normal-red-note Število slovarskih sestavkov je manjše od zahtevanega števila - povečajte število slovarskih sestavkov, sicer ga skrbnik slovarjev lahko zapre
if publishApproval === 'T' && dictionary.status === 'reviewed'
.col-sm-6
span.mt-3.normal-red-note Slovar je v odpiranju - čaka na potrditev skrbnika slovarjev
include /utilities/modal-alert
include /utilities/modal-response
+responseModal
include /utilities/modal-alert-mixin
+alertModal('unsaved-data', 'Shrani', 'Ne', 'modal-save-btn', 'modal-dont-save-btn', 'Imate neshranjene spremebe. Ali jih želite shraniti?')
include /common/footer
@@ -0,0 +1,87 @@
extends /layout
block pageSpecificScipts
script(nonce=cspNonce src="/javascripts/admin.js")
script(nonce=cspNonce src="/javascripts/admin-portals.js")
block body
section#fixed-top-section
include /common/main-navigation
+main-navigation(false)
include /common/side-menu-mixin-admin
- const d = { activeLvl1: 'connections', activeLvl2: 'list' }
+sideNavigation(d)
include /utilities/dictionaries-main-panel-header
- const c = { sideMenu: true, h2: 'Povezave', h1: 'Povezave s portali', description: 'Vnesite podatke terminološkega portala, s katerim želite povezati svoj portal.' }
+mainHeader(c)
.content-hold-prerequisites
#offset-main.main-container.mt-2
.row
ul.col-sm-5
span.smaller-blue-subheading Dodaj povezavo
form#form-connection-new(method="post")
.mt-3
.subject-name
label.smaller-black-uppercase(for="portal-name") IME PORTALA *
.row
.col-sm-5
input#portal-name.name-input.form-control.autocomplete.d-inline(
type="text"
name="name"
required
)
.col-sm.d-flex.align-items-center
span.d-md-inline.d-block.smaller-gray-info.ms-xxl-3.ms-md-3 Vnesite polno ime terminološkega portala, s katerim se povezujete.
.mt-5
.subject-name
label.smaller-black-uppercase(for="portal-label") OZNAKA PORTALA *
.row
.col-sm-5
input#portal-label.name-input.form-control.autocomplete.d-inline(
type="text"
maxlength="2"
name="code"
required
)
.col-sm.d-flex.align-items-center
span.d-md-inline.d-block.smaller-gray-info.ms-xxl-3.ms-md-3 Unikatna oznaka povezanega terminološkega portala za prikaz na vašem portalu, sestavljena iz dveh črk ali črke in številke.
.mt-5
.subject-name
label.smaller-black-uppercase(for="index-url") URL za sinhronizacijo slovarjev *
.row
.col-sm-5
input#index-url.name-input.form-control.autocomplete.d-inline(
type="text"
name="url_index"
required
)
.col-sm.d-flex.align-items-center
span.d-md-inline.d-block.smaller-gray-info.ms-xxl-3.ms-md-3 URL naslov terminološkega portala, s katerim želite povezati svoj portal. (API klic)
.mt-5
.subject-name
label.smaller-black-uppercase(for="update-url") URL za sinhronizacijo slovarskih sestavkov *
.row
.col-sm-5
input#update-url.name-input.form-control.autocomplete.d-inline(
type="text"
name="url_update"
required
)
.col-sm.d-flex.align-items-center
span.d-md-inline.d-block.smaller-gray-info.ms-xxl-3.ms-md-3 URL naslov terminološkega portala, s katerim boste sinhronizirali podatke iz terminoloških virov.
.mt-5
.row
.col-sm-5
.col-sm.d-flex.flex-column.flex-sm-row.align-items-center.justify-content-center
a.btn.btn-secondary.w-sm-100(href="/admin/povezave/seznam") Prekliči
button.create-portal-btn.btn.btn-primary.ms-sm-4.mt-2.mt-sm-0(
type="submit"
form="form-connection-new"
) Dodaj povezavo
include /common/footer
@@ -0,0 +1,81 @@
extends /layout
block pageSpecificScipts
script(nonce=cspNonce src="/javascripts/admin.js")
block body
section#fixed-top-section
include /common/main-navigation
+main-navigation(false)
include /common/side-menu-mixin-admin
- const d = { activeLvl1: 'settings', activeLvl2: 'consultancy' }
+sideNavigation(d)
include /utilities/dictionaries-main-panel-header
- const c = { sideMenu: true, h2: 'Osnovne nastavitve', h1: 'Svetovalnica', description: 'Portal lahko povežete s Terminološko svetovalnico ZRC SAZU in tako prikazujete terminološke odgovore na svojem portalu, lahko pa vklopite lastno svetovalnico. V tem primeru morate med registriranimi uporabniki izbrati svetovalce in urednika svetovalnice, ki bodo odgovarjali na terminološka vprašanja uporabnikov.', buttons: [{ form: 'admin-settings-consult', type: 'disabled', content: 'Shrani' }] }
+mainHeader(c)
.content-hold-prerequisites
#offset-main.main-container.mt-2
form#admin-settings-consult(method="post")
.btn-group.d-flex.flex-column(role="group")
if consultancy.consultancyType === 'own'
.button-type
input#own-consultancy.form-check-input(
type="radio"
name="consultancyType"
value="own"
checked
)
label.normal-gray.ms-2(for="own-consultancy") Lastna svetovalnica
.mt-3
input#zrc-consultancy.form-check-input(
type="radio"
name="consultancyType"
value="ZRC"
)
label.normal-gray.ms-2(for="zrc-consultancy") Terminološka svetovalnica ZRC SAZU
else
.button-type
input#own-consultancy.form-check-input(
type="radio"
name="consultancyType"
value="own"
)
label.normal-gray.ms-2(for="own-consultancy") Lastna svetovalnica
.mt-3
input#zrc-consultancy.form-check-input(
type="radio"
name="consultancyType"
value="ZRC"
checked
)
label.normal-gray.ms-2(for="zrc-consultancy") Terminološka svetovalnica ZRC SAZU
.mt-4
.subject-name
label.smaller-black-uppercase(for="zrc-email") E-NASLOV
.row
.col-sm-5
input#zrc-email.name-input.form-control.autocomplete.d-inline(
type="email"
name="zrcEmail"
value=consultancy.zrcEmail
)
.col-sm.d-flex.align-items-center
span.d-md-inline.d-block.smaller-gray-info.ms-xxl-3.ms-md-3 Vnesite e-naslov, ki ga za obveščanje o novih terminoloških vprašanjih uporabljajo terminološki svetovalci.
.mt-3
.subject-name
label.smaller-black-uppercase(for="zrc-url") POVEZAVA
.row
.col-sm-5
input#zrc-url.name-input.form-control.autocomplete.d-inline(
type="url"
name="zrcURL"
value=consultancy.zrcURL
)
.col-sm.d-flex.align-items-center
span.d-md-inline.d-block.smaller-gray-info.ms-xxl-3.ms-md-3 Vnesite naslov spletnega mesta, kjer so zbrani vsi odgovori terminološke svetovalnice.
include /utilities/modal-alert-mixin
+alertModal('unsaved-data', 'Shrani', 'Ne', 'modal-save-btn', 'modal-dont-save-btn', 'Imate neshranjene spremebe. Ali jih želite shraniti?')
include /common/footer
+90
View File
@@ -0,0 +1,90 @@
extends /layout
block pageSpecificScipts
script(nonce=cspNonce src="/javascripts/admin.js")
block body
section#fixed-top-section
include /common/main-navigation
+main-navigation(false)
include /common/side-menu-mixin-admin
- const d = { activeLvl1: 'connections', activeLvl2: 'list' }
+sideNavigation(d)
include /utilities/dictionaries-main-panel-header
- const c = { sideMenu: true, h2: 'Povezave', h1: 'Povezave s portali', description: 'Vnesite podatke terminološkega portala, s katerim želite povezati svoj portal.' }
+mainHeader(c)
.content-hold-prerequisites
#offset-main.main-container.mt-2
.row
ul.col-sm-5
span.smaller-blue-subheading Uredi povezavo
form#form-connection-update(method="post")
.mt-3
.subject-name
label.smaller-black-uppercase(for="portal-name") IME PORTALA *
.row
.col-sm-5
input#portal-name.name-input.form-control.autocomplete.d-inline(
type="text"
name="name"
required
value=portal.name
)
.col-sm.d-flex.align-items-center
span.d-md-inline.d-block.smaller-gray-info.ms-xxl-3.ms-md-3 Ime terminološkega portala ... (potrebujem text)
.mt-5
.subject-name
label.smaller-black-uppercase(for="portal-label") OZNAKA PORTALA *
.row
.col-sm-5
input#portal-label.name-input.form-control.autocomplete.d-inline(
type="text"
maxlength="2"
name="code"
value=portal.code
required
)
.col-sm.d-flex.align-items-center
span.d-md-inline.d-block.smaller-gray-info.ms-xxl-3.ms-md-3 Unikatna dvočrkovna oznaka povezanega terminološkega portala za prikaz na tem portalu.
.mt-5
.subject-name
label.smaller-black-uppercase(for="index-url") URL za sinhronizacijo slovarjev *
.row
.col-sm-5
input#index-url.name-input.form-control.autocomplete.d-inline(
type="text"
name="url_index"
required
value=portal.indexURL
)
.col-sm.d-flex.align-items-center
span.d-md-inline.d-block.smaller-gray-info.ms-xxl-3.ms-md-3 URL naslov terminološkega portala, s katerim želimo povezati svoj portal. (API klic)
.mt-5
.subject-name
label.smaller-black-uppercase(for="update-url") URL za sinhronizacijo slovarskih sestavkov *
.row
.col-sm-5
input#update-url.name-input.form-control.autocomplete.d-inline(
type="text"
name="url_update"
required
value=portal.URLupdate
)
.col-sm.d-flex.align-items-center
span.d-md-inline.d-block.smaller-gray-info.ms-xxl-3.ms-md-3 URL naslov terminološkega portala, s katerim želimo povezati svoj portal.
.mt-5
.row
.col-sm-5
.col-sm.d-flex.flex-column.flex-sm-row.align-items-center.justify-content-center
a.btn.btn-secondary.w-sm-100(href="/admin/povezave/seznam") Prekliči
button.btn.btn-primary.ms-sm-4.mt-2.mt-sm-0(
type="submit"
form="form-connection-update"
) Shrani spremembe
include /common/footer
@@ -0,0 +1,53 @@
extends /layout
block pageSpecificScipts
script(nonce=cspNonce src="/javascripts/admin.js")
block body
section#fixed-top-section
include /common/main-navigation
+main-navigation(false)
include /common/side-menu-mixin-admin
- const d = { activeLvl1: 'connections', activeLvl2: 'list' }
+sideNavigation(d)
include /utilities/dictionaries-main-panel-header
- const c = { sideMenu: true, h2: 'Povezave', h1: 'Povezani slovarji', description: 'Seznam slovarjev s povezanega portala.', buttons: [{ type: 'button', form: 'all-linked-dictionaries', content: 'Shrani' }] }
+mainHeader(c)
.content-hold-prerequisites
#offset-main.main-container
.d-flex.justify-content-between
.d-flex.flex-row.mb-4
include /components/search-and-filter/inline-search
.d-flex.me-3
include /utilities/pager
+pager
input#hidden-portal-id(type="hidden" value=linkedId)
form#all-linked-dictionaries(method="post")
.table-responsive
table.styled-table
thead
tr
th= ''
th= 'Naslov'
th= 'Oznaka portala'
tbody#page-results
if results.length
each result in results
tr
td
.form-check.form-switch.d-flex.align-items-center
input.form-check-input(
type="checkbox"
name=`isEnabled['${result.id}']`
checked=result.isEnabled
id=result.id
)
if result.name
td= result.name
if result.code
td= result.code
else
p Ni še povezanih portalov
include /common/footer
+117
View File
@@ -0,0 +1,117 @@
extends /layout
block pageSpecificScipts
script(nonce=cspNonce src="/javascripts/admin.js")
block body
section#fixed-top-section
include /common/main-navigation
+main-navigation(false)
include /common/side-menu-mixin-admin
- const d = { activeLvl1: 'settings', activeLvl2: 'portals' }
+sideNavigation(d)
include /utilities/dictionaries-main-panel-header
- const c = { sideMenu: true, h2: 'Osnovne nastavitve', h1: 'Portal', description: 'Administratorski del portala je namenjen skupini oseb, ki vsebinsko in tehnično ureja portal, odpira slovarske vire, daje pooblastila posameznim uporabnikom in skrbi za vsebinsko in tehnično urejenost portala. Izberite module, ki jih boste ponudili na terminološkem portalu in na kratko opišite, kaj ponuja vaš portal.', buttons: [{ type: 'disabled', form: 'admin-portal-settings', content: 'Shrani' }] }
+mainHeader(c)
.content-hold-prerequisites
#offset-main.main-container.mt-2
form#admin-portal-settings(method="post")
.port-name
.subject-name
label.smaller-black-uppercase(for="portal-name") IME PORTALA
.row
.col-sm-5
input#portal-name.name-input.form-control.autocomplete.d-inline(
type="text"
name="portalName"
value=portal.name
)
.col-sm.d-flex.align-items-center
span.d-md-inline.d-block.smaller-gray-info.ms-xxl-3.ms-md-3 Polno ime terminološkega portala.
.mt-3
.subject-name
label.smaller-black-uppercase(for="dictionary-label") OZNAKA PORTALA *
.row
.col-sm-5
input#dictionary-label.name-input.form-control.autocomplete.d-inline.w-25(
type="text"
maxlength="2"
name="portalCode"
value=portal.code
required
)
.col-sm.d-flex.align-items-center
span.d-md-inline.d-block.smaller-gray-info.ms-xxl-3.ms-md-3 Dvočrkovna oznaka terminološkega portala.
#text-editor.mt-sm-3
.subject-name
span.smaller-black-uppercase OPIS PORTALA
div
textarea.summernote(
name="portalDescription"
value=portal.description
)
p= portal.description
.moduls.mt-3
.subject-name
label.smaller-black-uppercase(for="dictionary-label") MODULI
.d-grid
.ms-1.d-sm-flex.mt-2.row
.form-check.form-switch.d-flex.align-items-center.col-sm-5
if portal.isExtractionEnabled
if portal.isExtractionEnabled === 'T'
input#extraction.form-check-input(
type="checkbox"
checked
name="isExtractionEnabled"
)
else
input#extraction.form-check-input(
type="checkbox"
name="isExtractionEnabled"
)
label.form-check-label.normal-gray-label(for="extraction") Luščenje
.col-sm.d-flex.align-items-center
span.d-md-inline.d-block.smaller-gray-info Modul za luščenje terminoloških kandidatov iz besedil.
.ms-1.d-sm-flex.mt-4.row
.form-check.form-switch.d-flex.align-items-center.col-sm-5
if portal.isDictionariesEnabled
if portal.isDictionariesEnabled === 'T'
input#edit.form-check-input(
type="checkbox"
checked
name="isDictionariesEnabled"
)
else
input#edit.form-check-input(
type="checkbox"
name="isDictionariesEnabled"
)
label.form-check-label.normal-gray-label(for="edit") Urejanje
.col-sm.d-flex.align-items-center
span.d-md-inline.d-block.smaller-gray-info Modul za urejanje terminoloških slovarjev.
.ms-1.d-sm-flex.mt-4.row
.form-check.form-switch.d-flex.align-items-center.col-sm-5
if portal.isConsultancyEnabled
if portal.isConsultancyEnabled === 'T'
input#consulting.form-check-input(
type="checkbox"
checked
name="isConsultancyEnabled"
)
else
input#consulting.form-check-input(
type="checkbox"
name="isConsultancyEnabled"
)
label.form-check-label.normal-gray-label(for="consulting") Svetovanje
.col-sm.d-flex.align-items-center
span.d-md-inline.d-block.smaller-gray-info Modul za svetovanje pri terminoloških zagatah.
include /utilities/modal-alert-mixin
+alertModal('unsaved-data', 'Shrani', 'Ne', 'modal-save-btn', 'modal-dont-save-btn', 'Imate neshranjene spremebe. Ali jih želite shraniti?')
include /common/footer
@@ -0,0 +1,56 @@
extends /layout
block pageSpecificScipts
script(nonce=cspNonce src="/javascripts/admin.js")
script(nonce=cspNonce src="/javascripts/admin-portals.js")
block body
section#fixed-top-section
include /common/main-navigation
+main-navigation(false)
include /common/side-menu-mixin-admin
- const d = { activeLvl1: 'connections', activeLvl2: 'dictionaries' }
+sideNavigation(d)
include /utilities/dictionaries-main-panel-header
- const c = { sideMenu: true, h2: 'Povezave', h1: 'Vsi povezani slovarji', description: 'Poiščite naslove terminoloških slovarjev, s katerimi želite dopolniti iskalne zadetke na svojem portalu. Lahko izberete vse slovarje ali le nekatere. Svoje izbire morate shraniti. Vse vaše izbire mora potrditi administrator povezanega portala.', buttons: [{ type: 'button', form: 'all-linked-dictionaries', content: 'Shrani' }] }
+mainHeader(c)
.content-hold-prerequisites
#offset-main.main-container.mt-2
if results.length
.d-flex.justify-content-between
.d-flex.flex-row.mb-4
include /components/search-and-filter/inline-search
.d-flex.me-3
include /utilities/pager
+pager
form#all-linked-dictionaries(method="post")
.table-responsive
table.styled-table
thead
tr
th= ''
th= 'Naslov'
th= 'Oznaka portala'
th= ''
tbody#page-results
each result in results
tr
td
.form-check.form-switch.d-flex.align-items-center
input.form-check-input(
type="checkbox"
name=`isEnabled['${result.id}']`
checked=result.isEnabled
data-dict-id=result.id
)
if result.name
td= result.name
if result.code
td= result.code
else
.d-flex.justify-content-center
p Ni še povezanih portalov
include /common/footer
@@ -0,0 +1,207 @@
extends /layout
block pageSpecificScipts
script(nonce=cspNonce src="/javascripts/admin.js")
block body
section#fixed-top-section
include /common/main-navigation
+main-navigation(false)
include /common/side-menu-mixin-admin
- const d = { activeLvl1: 'settings', activeLvl2: 'dictionaries' }
+sideNavigation(d)
include /utilities/dictionaries-main-panel-header
- const c = { sideMenu: true, h2: 'Osnovne nastavitve', h1: 'Slovarji', description: 'Določite lastnosti terminoloških virov na portalu, zlasti minimalno število sestavkov, ki so pogoj za objavo, možnosti potrjevanja objave novih slovarjev, število različic slovarja, ki jih lahko hrani posamezni uporabnik. Te nastavitve veljajo za vse terminološke vire na portalu.', buttons: [{ form: 'admin-settings-dict', type: 'disabled', content: 'Shrani' }] }
+mainHeader(c)
.content-hold-prerequisites
#offset-main.main-container.mt-2
form#admin-settings-dict(method="post")
.min-composition
.subject-name
label.smaller-black-uppercase(for="min-composition") MINIMALNO ŠTEVILO SLOVARSKIH SESTAVKOV
.row
.col-sm-5
select#min-composition.name-input.form-control.autocomplete.d-inline.w-25(
name="minEntriesPerDictionary"
value=dictionary.minEntriesPerDictionary
)
option(
value="1"
selected=dictionary.minEntriesPerDictionary === '1'
) 1
option(
value="20"
selected=dictionary.minEntriesPerDictionary === '20'
) 20
option(
value="50"
selected=dictionary.minEntriesPerDictionary === '50'
) 50
option(
value="100"
selected=dictionary.minEntriesPerDictionary === '100'
) 100
.col-sm.d-flex.align-items-center
span.d-md-inline.d-block.smaller-gray-info.ms-xxl-3.ms-md-3 Število slovarskih sestavkov, ki jih mora vsebovati slovar, da je omogočena objava slovarja na portalu.
.mt-4
.subject-name
label.smaller-black-uppercase(for="publish-control") KONTROLA OBJAVE
.ms-1.row
.form-check.form-switch.d-flex.align-items-center.col-sm-5
if dictionary.dictionaryPublishApproval
if dictionary.dictionaryPublishApproval === 'T'
input#publish-control.form-check-input(
type="checkbox"
name="dictionaryPublishApproval"
checked
)
else
input#publish-control.form-check-input(
type="checkbox"
name="dictionaryPublishApproval"
)
label.form-check-label.normal-gray-label.ms-3(
for="publish-control"
) Kontrola objave
.col-sm.d-flex.align-items-center.ps-0
span.smaller-gray-info.ms-xxl-3.ms-md-3 Za prvo objavo slovarja je potrebno dovoljenje skrbnika slovarjev.
//- .mt-4
//- .subject-name
//- label.smaller-black-uppercase(for="max-copy-count") MAKSIMALNO ŠTEVILO KOPIJ SLOVARJEV
//- .row
//- .col-sm-5
//- input#max-copy-count.name-input.form-control.autocomplete.d-inline.w-25(
//- type="text"
//- maxlength="6"
//- name="keepNumOfExportsPerDict"
//- value=dictionary.keepNumOfExportsPerDict
//- )
//- .col-sm.d-flex.align-items-center
//- span.d-md-inline.d-block.smaller-gray-info.ms-xxl-3.ms-md-3 Število zadnjih kopij spremenjenih slovarjev, ki se hranijo. Če vrednost ni določena, omejitve ni.
//- .mt-4
//- .subject-name
//- label.smaller-black-uppercase(for="autosave") SAMODEJNO SHRANJEVANJE
//- .row
//- .col-sm-5
//- select#autosave.name-input.form-select.autocomplete.d-inline.w-50(
//- name="dictionaryAutoSaveFrequency"
//- )
//- if dictionary.dictionaryAutoSaveFrequency === 'disabled'
//- option(selected value="disabled") Onemogočeno
//- option(value="monthly") Mesečno
//- option(value="yearly") Letno
//- if dictionary.dictionaryAutoSaveFrequency === 'monthly'
//- option(selected value="monthly") Mesečno
//- option(value="disabled") Onemogočeno
//- option(value="yearly") Letno
//- if dictionary.dictionaryAutoSaveFrequency === 'yearly'
//- option(selected value="yearly") Letno
//- option(value="disabled") Onemogočeno
//- option(value="monthly") Mesečno
//- .col-sm.d-flex.align-items-center
//- span.d-md-inline.d-block.smaller-gray-info.ms-xxl-3.ms-md-3 Časovno obdobje, v katerem se slovar samodejno shranjuje.
.mt-4
.subject-name
label.smaller-black-uppercase(for="max-composition-count") MAKSIMALNO ŠTEVILO KOPIJ SLOVARSKIH SESTAVKOV
.row
.col-sm-5
input#max-composition-count.name-input.form-control.autocomplete.d-inline.w-25(
type="text"
maxlength="6"
name="numOfHistoryEntriesPerEntry"
value=dictionary.numOfHistoryEntriesPerEntry
)
.col-sm.d-flex.align-items-center
span.d-md-inline.d-block.smaller-gray-info.ms-xxl-3.ms-md-3 Število zadnjih kopij spremenjenih slovarskih sestavkov, ki se hranijo. Če vrednost ni določena, omejitve ni.
.mt-4
.row
.subject-name.col-sm-5
label.smaller-black-uppercase MOŽNOST OBJAVE SLOVARSKEGA SESTAVKA MED UREJANJEM
.d-grid
.ms-1.d-sm-flex.row
.form-check.form-switch.d-flex.align-items-center.col-sm-5
if dictionary.canPublishEntriesInEdit
if dictionary.canPublishEntriesInEdit === 'T'
input#in-editing.form-check-input(
type="checkbox"
name="canPublishEntriesInEdit"
checked
)
label.form-check-label.normal-gray-label(for="in-editing") Objava med urejanjem
else
input#in-editing.form-check-input(
type="checkbox"
name="canPublishEntriesInEdit"
)
label.form-check-label.normal-gray-label(for="in-editing") Objava med urejanjem
.col-sm.d-flex.align-items-center
span.d-md-inline.d-block.smaller-gray-info.ms-md-2 Poleg objave slovarskega sestavka v fazi "Urejeno" je omogočena tudi objava v fazi "V urejanju".
//- .ms-1.d-sm-flex.mt-2.row
//- .form-check.form-switch.d-flex.align-items-center.col-sm-2
//- input#suggestion.form-check-input(
//- type="checkbox"
//- disabled
//- checked
//- )
//- label.form-check-label.normal-gray-label(for="suggestion") Predlog
//- .col-sm.d-flex.align-items-center
//- span.d-md-inline.d-block.smaller-gray-info Modul za luščenje terminoloških kandidatov iz besedil.
//- span.d-md-inline.d-block.smaller-gray-info Modul za urejanje terminoloških slovarjev.
//- .ms-1.d-sm-flex.mt-4.row
//- .form-check.form-switch.d-flex.align-items-center.col-sm-2
//- if dictionary.enabledTerminologyReview
//- if dictionary.enabledTerminologyReview === 'T'
//- input#pro-checked.form-check-input(
//- type="checkbox"
//- checked
//- name="enabledTerminologyReview"
//- )
//- else
//- input#pro-checked.form-check-input(
//- type="checkbox"
//- name="enabledTerminologyReview"
//- )
//- label.form-check-label.normal-gray-label(for="pro-checked") Strokovno pregledano
//- .col-sm.d-flex.align-items-center
//- span.d-md-inline.d-block.smaller-gray-info Modul za urejanje terminoloških slovarjev.
//- .ms-1.d-sm-flex.mt-4.row
//- .form-check.form-switch.d-flex.align-items-center.col-sm-2
//- if dictionary.enabledLanguageReview
//- if dictionary.enabledLanguageReview === 'T'
//- input#linguistically-checked.form-check-input(
//- type="checkbox"
//- checked
//- name="enabledLanguageReview"
//- )
//- else
//- input#linguistically-checked.form-check-input(
//- type="checkbox"
//- name="enabledLanguageReview"
//- )
//- label.form-check-label.normal-gray-label(
//- for="linguistically-checked"
//- ) Jezikovno pregledano
//- .col-sm.d-flex.align-items-center
//- span.d-md-inline.d-block.smaller-gray-info Modul za urejanje terminoloških slovarjev.
//- .ms-1.d-sm-flex.mt-4.row
//- .form-check.form-switch.d-flex.align-items-center.col-sm-2
//- input#consulting.form-check-input(
//- type="checkbox"
//- checked
//- disabled
//- )
//- label.form-check-label.normal-gray-label(for="consulting") Urejeno
//- .col-sm.d-flex.align-items-center
//- span.d-md-inline.d-block.smaller-gray-info Modul za svetovanje pri terminoloških zagatah.
include /utilities/modal-alert-mixin
+alertModal('unsaved-data', 'Shrani', 'Ne', 'modal-save-btn', 'modal-dont-save-btn', 'Imate neshranjene spremebe. Ali jih želite shraniti?')
include /common/footer
+145
View File
@@ -0,0 +1,145 @@
extends /layout
block pageSpecificScipts
script(nonce=cspNonce src="/javascripts/admin.js")
block body
section#fixed-top-section
include /common/main-navigation
+main-navigation(false)
include /common/side-menu-fake
+sideNavigationFake
include /utilities/dictionaries-main-panel-header
- const c = { sideMenu: false, h2: userData.firstName + ' ' + userData.lastName, h1: 'Uporabniki', description: 'V tem razdelku lahko določite fazo urejanja slovarja, dodajate uporabnike in jim določate uporabniške pravice pri urejanju slovarja.', buttons: [{ type: 'cancel', content: 'Prekliči', url:"/admin/uporabniki/seznam", classAtr: "btn btn-secondary header-btn-secondary small-header-btn"}, { type: 'disabled', content: 'Shrani', form: 'form-edit-user' }] }
+mainHeader(c)
.content-hold-prerequisites.mt-4
#offset-main
div
.subject-name
label.smaller-gray-uppercase ID
.row
.col-sm-5
span.page-title-header= userData.id
form#form-edit-user.needs-validation(method="post" novalidate)
.mt-2
.subject-name
label.smaller-black-uppercase(for="user-name") Uporabniško ime
.row
.col-sm-5
input#user-name.name-input.form-control(
type="text"
value=userData.userName
name="username"
)
.col-sm.d-flex.align-items-center
span.d-md-inline.d-block.smaller-gray-info.ms-xxl-3.ms-md-3 Ime, s katerim se uporabnik predstavlja na terminološkem portalu.
.mt-2
.subject-name
label.smaller-black-uppercase(for="user-fname") Ime
.row
.col-sm-5
input#user-fname.name-input.form-control(
type="text"
value=userData.firstName
name="firstName"
)
.col-sm.d-flex.align-items-center
span.d-md-inline.d-block.smaller-gray-info.ms-xxl-3.ms-md-3 Ime registriranega uporabnika.
.mt-2
.subject-name
label.smaller-black-uppercase(for="user-lastname") Priimek
.row
.col-sm-5
input#user-lastname.name-input.form-control(
type="text"
value=userData.lastName
name="lastName"
)
.col-sm.d-flex.align-items-center
span.d-md-inline.d-block.smaller-gray-info.ms-xxl-3.ms-md-3 Priimek registriranega uporabnika.
.mt-2
.subject-name
label.smaller-black-uppercase(for="user-mail") E-naslov
.row
.col-sm-5
input#user-mail.name-input.form-control(
type="text"
value=userData.email
name="email"
)
.col-sm.d-flex.align-items-center
span.d-md-inline.d-block.smaller-gray-info.ms-xxl-3.ms-md-3 Veljavni elektronski naslov uporabnika, na katerega uporabnik prejema sporočila, povezana s portalom.
//- .mt-2
//- .subject-name
//- label.smaller-black-uppercase(for="user-password") Geslo
//- .row
//- .col-sm-5
//- input#user-password.name-input.form-control(
//- type="password"
//- value=userData.password
//- name="password"
//- )
//- .col-sm.d-flex.align-items-center
//- span.d-md-inline.d-block.smaller-gray-info.ms-xxl-3.ms-md-3 Vnesite zapleteno geslo, ki vsebuje najmanj 8 znakov.
//- .mt-2
//- .subject-name
//- label.smaller-black-uppercase(for="user-conf-password") Ponovi geslo
//- .row
//- .col-sm-5
//- input#user-conf-password.name-input.form-control(
//- type="password"
//- name="passwordRepeat"
//- )
//- .col-sm.d-flex.align-items-center
//- span.d-md-inline.d-block.smaller-gray-info.ms-xxl-3.ms-md-3 Ponovite geslo.
.mt-2.mb-4
.subject-name
label.smaller-black-uppercase(for="user-is-confirmed") Potrjen
.row
.col-sm-5
input#user-is-confirmed.form-check-input(
type="checkbox"
value=""
name="isUserConfirmed"
)
.col-sm.d-flex.align-items-center
span.d-md-inline.d-block.smaller-gray-info.ms-xxl-3.ms-md-3 Registracija uporabnika je potrjena.
.d-flex.justify-content-between.container-xl.ps-0.ms-0.mt-4.mb-4
button#edit-user-remove.btn.btn-secondary(type="button")
img.me-2(src="/images/red-trash-icon.svg" alt="Delete")
| Briši uporabnika
span.users-subtitle-txt Uporabniške vloge
if userRoles
.container-xl.ps-0.ms-0.mt-3
table.styled-table-left-header
thead
if userRoles.roles.isPortalAdmin
tr
th.table-left-header= 'Skrbnik portala'
td= ''
if userRoles.roles.isDictionariesAdmin
tr
th.table-left-header= 'Skrbnik slovarjev'
td= ''
if userRoles.roles.isConsultancyAdmin
tr
th.table-left-header= 'Skrbnik svetovalnice'
td= ''
if userRoles.roles.isConsultant
tr
th.table-left-header= 'Svetovalec'
td= ''
if userRoles.roles.isEditor
tr
th.table-left-header= 'Urednik slovarja'
td= ''
include /common/footer
+50
View File
@@ -0,0 +1,50 @@
extends /layout
block pageSpecificScipts
script(nonce=cspNonce src="/javascripts/admin.js")
block body
section
#fixed-top-section
include /common/main-navigation
+main-navigation(false)
include /common/side-menu-mixin-admin
- const d = { activeLvl1: 'users', activeLvl2: 'list' }
+sideNavigation(d)
include /utilities/dictionaries-main-panel-header
- const c = { sideMenu: true, h2: 'Uporabniki', h1: 'Seznam', description: 'Na seznamu uporabnikov lahko določite posameznemu uporabniku dodatne vloge ali urejate njihove podatke.' }
+mainHeader(c)
.content-hold-prerequisites.mt-4
#offset-main.main-container.mt-4
.table-full
.d-flex.w-100.justify-content-between.mb-4
.d-flex
include /components/search-and-filter/inline-search
.d-flex
include /utilities/pager
+pager
.table-responsive
table.styled-table
thead
tr
th= 'Uporabniško ime'
th= 'E - naslov'
th= 'Potrjen'
th= ''
tbody#page-results
each result in results
tr
td= result.userName
td= result.email
td= result.status
td
a.image-link(
type="link"
href=`/admin/uporabniki/${result.id}/urejanje`
)
img(src="/images/u_edit-alt.svg" alt="Uredi")
span.normal-gray.ms-1 Uredi
include /common/footer
+114
View File
@@ -0,0 +1,114 @@
extends /layout
block pageSpecificScipts
script(nonce=cspNonce src="/javascripts/admin.js")
block body
section#fixed-top-section
include /common/main-navigation
+main-navigation(false)
include /common/side-menu-mixin-admin
- const d = { activeLvl1: 'users', activeLvl2: 'portals' }
+sideNavigation(d)
include /utilities/dictionaries-main-panel-header
- const c = { sideMenu: true, h2: 'Uporabniki', h1: 'Portal', description: 'V tem razdelku lahko določite glavne administratorske pravice na terminološkem portalu.', buttons: [{ type: 'disabled', content: 'Shrani', form: 'form-user-roles' }] }
+mainHeader(c)
.content-hold-prerequisites.mt-4
#offset-main.main-container.mt-1
span.users-subtitle-txt.ms-0.mt-3 Uporabniške pravice/vloge
form#form-user-roles(method="post")
table#user-roles-table.table-users.table-borderless.align-middle.mt-3
thead
tr
th.col-2
span.user-rights-column-title Uporabnik
th.col-2
span.user-rights-column-title Skrbnik portala
th.col-2
span.user-rights-column-title.ms-xxl-4 Skrbnik slovarjev
th.col-2
span.user-rights-column-title.ms-xxl-4 Skrbnik svetovalnice
th.col-1.justify-content-center
span.hidden-text Izbriši polje
each el in users
tbody.user-data.pb-xl-2
tr
input.hidden-user-id(type="hidden" value=el.id)
td.d-grid.justify-content-left.justify-content-xl-center.pt-(
scope="row"
data-label=""
)
span.user-name-last-name= el.username
span.user-email= el.email
td.pt-1.pb-1(data-label="Skrbnik portala")
.form-check.d-flex.justify-content-left.justify-content-xl-center
if (el.roles.isPortalAdmin)
input.form-check-input(
type="checkbox"
checked
name=`rolesPerUser['${el.id}'][isPortalAdmin]`
)
else
input.form-check-input(
type="checkbox"
name=`rolesPerUser['${el.id}'][isPortalAdmin]`
)
td.pt-1.pb-1(data-label="Skrbnik slovarjev")
.form-check.d-flex.justify-content-left.justify-content-xl-center
if (el.roles.isDictionariesAdmin)
input.form-check-input(
type="checkbox"
checked
name=`rolesPerUser['${el.id}'][isDictionariesAdmin]`
)
else
input.form-check-input(
type="checkbox"
name=`rolesPerUser['${el.id}'][isDictionariesAdmin]`
)
td.pt-1.pb-1(data-label="Skrbnik svetovalnice")
.form-check.d-flex.justify-content-left.justify-content-xl-center
if (el.roles.isConsultancyAdmin)
input.form-check-input(
type="checkbox"
checked
name=`rolesPerUser['${el.id}'][isConsultancyAdmin]`
)
else
input.form-check-input(
type="checkbox"
name=`rolesPerUser['${el.id}'][isConsultancyAdmin]`
)
td.pt-3.delete-row(
data-bs-target="#alert-modal"
data-bs-toggle="modal"
)
img.icon-trash-delete(
src="/images/red-trash-icon.svg"
alt="Delete"
)
form#form-add-user.container-xl.new-user-input.mt-4.ps-0.ms-0(
action="/api/v1/users/addUser"
)
span.new-user-info NOV UPORABNIK
.row.d-flex.justify-content-lg-start.align-items-center.mt-2.ms-0.ps-0
.col-lg-6.ms-0.ps-0.me-2
input.name-input.d-inline.form-control.ms-0.ps-0(
type="text"
name="userNameEmail"
autocomplete="off"
)
.col.ms-xl-4.ms-0.ps-0.d-flex.justify-content-start.mt-2.mt-lg-0
button.btn.btn-primary Dodaj
include /utilities/modal-alert
include /utilities/modal-response
+responseModal
include /utilities/modal-alert-mixin
+alertModal('unsaved-data', 'Shrani', 'Ne', 'modal-save-btn', 'modal-dont-save-btn', 'Imate neshranjene spremebe. Ali jih želite shraniti?')
include /common/footer
@@ -0,0 +1,64 @@
extends /layout
mixin sideMenu(meta)
include /common/side-menu-mixin-consultancy
+sideNavigation(meta)
block pageSpecificScipts
script(nonce=cspNonce src="/javascripts/tooltip-helper.js")
script(nonce=cspNonce src="/javascripts/consultancy.js")
script(nonce=cspNonce src="/javascripts/consultancy-search-mechanism.js")
block body
- const specificUserRights = user && (user.hasRole('consultant') || user.hasRole('consultancy admin'))
//- .consultancy-padding-admin.consultancy-container-unique
section#fixed-top-section
include /common/main-navigation
+main-navigation(false)
block config
- const pageTypeObject = { new: true }
- const subHeading = 'Novo'
- const description = 'Seznam vprašanj, ki so jih poslali uporabniki, in še niso bila dodeljena moderatorjem.'
+sideMenu(pageTypeObject)
//-- modals
include dialogs/share
include dialogs/assign
+consultancyAdminShareModal
+consultancyAdminAssignModal
if specificUserRights
include /utilities/consultancy-admin-panel-header
//- const c = { h1: 'Terminološko svetovanje', description: 'Terminološka svetovalnica je namenjena širši strokovni javnosti, ki se sooča s konkretnimi poimenovalnimi problemi, pa naj gre za popolnoma nove pojme, ki jih je v slovenščini šele treba poimenovati, ali že znane pojme, za katere obstaja več poimenovanj, pa strokovnjaki čutijo potrebo po sistemskem poenotenju oz. izbiri najprimernejše rešitve.', buttons: [{ type: 'link', content: 'Zastavi novo vprašanje', url: '/svetovanje/vprasanje/novo' }] }
// - 'Terminološka svetovalnica je namenjena širši strokovni javnosti, ki se sooča s konkretnimi poimenovalnimi problemi, pa naj gre za popolnoma nove pojme, ki jih je v slovenščini šele treba poimenovati, ali že znane pojme, za katere obstaja več poimenovanj.'
- const c = { specificRights: specificUserRights, exportButtonPresent: false, h1: subHeading, h2: 'Administratorska konzola', description: description }
+mainHeader(c)
.content-hold-prerequisites
#offset-main.main-container
include /components/consultancy/admin/consultancy-item-admin
block consultancyContainer
- const section = pageTypeObject
.consultancy-container
if pageTypeObject.new
each entry in entries
+consultancyItem(entry, section)
else
//- - const moderatorList = entries.filter(a => a.isModerator)
each entry in entries
//- -
entry.sharedAuthors = entries.filter(a => {
return !a.isModerator && entry.id === a.id
}).map(a => a.name = `${a.firstName} ${a.lastName}`)
+consultancyItem(entry, section)
else
include /utilities/empty-main-panel-header
+mainHeader
.content-hold-prerequisites.ps-4.pe-4
#offset-main.ps-2.pe-2
p Nimate ustreznih pravic
include ../../../utilities/modal-alert-mixin
+alertModal("deleteModal","Izbriši" ,"Prekliči" , "del-btn", "cancel-btn")
include /common/footer
@@ -0,0 +1,51 @@
//- assign has only one entry
mixin consultancyAdminAssignBody
.assign-dialog-window.w-100
.assign-search-container.mb-3
select#assign-sel.assign-search-consultants.csq(name="assign")
option(value="NONE_SELECTED_PLACEHOLDER")
each user in userList
option(value=user.id) #{ user.first_name } #{ user.last_name } (#{ user.username })
.position-relative
.search-icon-assign
img(src="/images/search_blue.svg" alt="")
mixin consultancyAdminAssignModal
//- button.btn.btn-primary(
type="button"
data-bs-toggle="modal"
data-bs-target="#consultancyModalAssign"
)
| Launch static backdrop modal
// Modal
#consultancyModalAssign.modal.fade(
data-bs-backdrop="static"
data-bs-keyboard="false"
tabindex="-1"
aria-labelledby="consultancyModalLabel"
aria-hidden="true"
)
.modal-dialog
.modal-content
.modal-header.mb-0.pb-0
h5.pt-3.navigation-text-color Dodeli
button.btn-close(
type="button"
data-bs-dismiss="modal"
aria-label="Close"
)
.modal-body
+consultancyAdminAssignBody
.modal-footer
.row.button-modal-size
.col.d-flex.justify-content-start.mb-2
button.btn.btn-secondary.height50(
type="button"
data-bs-dismiss="modal"
) Zapri
.col.d-flex.justify-content-end.mb-2
button#assign-btn.btn.btn-primary.height50(
type="button"
data-bs-dismiss="modal"
) Uporabi
@@ -0,0 +1,60 @@
mixin shareResultsItem(userId, name)
.share-results-item(id=userId)
.row
.col-11
p.mb-0.navigation-text-color.mb0 #{ name }
.col-1
.d-flex.justify-content-end
button.delete-shared-cons.bg-transparent.no-border
img(src="/images/trash-2.svg")
hr.mt-1.mb-1
mixin consultancyAdminShareBody
.share-dialog-window.w-100
.share-search-container.mb-3
select#share-sel.share-search-consultants.csq(name="share")
option(value="NONE_SELECTED_PLACEHOLDER")
each user in userList
option(value=user.id) #{ user.first_name } #{ user.last_name } (#{ user.username })
.position-relative
.search-icon-share
img(src="/images/search_blue.svg" alt="")
.share-results-container
//- +shareResultsItem(1,'Ime priimek')
//- +shareResultsItem(2,'Ime priimek')
mixin consultancyAdminShareModal
//- button.btn.btn-primary(
type="button"
data-bs-toggle="modal"
data-bs-target="#consultancyModalShare"
)
| Launch static backdrop modal
// Modal
#consultancyModalShare.modal.fade(
data-bs-backdrop="static"
data-bs-keyboard="false"
tabindex="-1"
aria-labelledby="consultancyModalLabel"
aria-hidden="true"
)
.modal-dialog
.modal-content
.modal-header.mb-0.pb-0
h5.pt-3.navigation-text-color Deli
button.btn-close(
type="button"
data-bs-dismiss="modal"
aria-label="Close"
)
.modal-body
+consultancyAdminShareBody
.modal-footer
.row.button-modal-size
.col.d-flex.justify-content-start.mb-2
button#close-shared.btn.btn-secondary.height50(
type="button"
data-bs-dismiss="modal"
) Zapri
#add-shared-author.col.d-flex.justify-content-end.mb-2
button.btn.btn-primary.height50(type="button") Dodaj
@@ -0,0 +1,149 @@
extends /layout
mixin sideMenu(meta)
include /common/side-menu-mixin-consultancy
+sideNavigation(meta)
block pageSpecificScipts
script(nonce=cspNonce src="/javascripts/utils.js")
script(nonce=cspNonce src="/javascripts/mixed-content.js")
script(nonce=cspNonce src="/javascripts/consultancy.js")
script(nonce=cspNonce src="/javascripts/consultancy-edit.js")
script(nonce=cspNonce src="/javascripts/comments.js")
script(nonce=cspNonce src="/javascripts/consultancy-handle-unsaved.js")
block body
- const specificUserRights = user && (user.hasRole('consultant') || user.hasRole('consultancy admin'))
section#fixed-top-section
include /common/main-navigation
+main-navigation(false)
block config
- const pageTypeObject = sentFrom
- const subHeading = 'Urejanje'
- const description = 'Dodajte terminološki odgovor in ga utemeljite.'
+sideMenu(pageTypeObject)
include ../../../utilities/mixed-content
include /utilities/consultancy-admin-in-progress-panel-header
//- const c = { h1: 'Terminološko svetovanje', description: 'Terminološka svetovalnica je namenjena širši strokovni javnosti, ki se sooča s konkretnimi poimenovalnimi problemi, pa naj gre za popolnoma nove pojme, ki jih je v slovenščini šele treba poimenovati, ali že znane pojme, za katere obstaja več poimenovanj, pa strokovnjaki čutijo potrebo po sistemskem poenotenju oz. izbiri najprimernejše rešitve.', buttons: [{ type: 'link', content: 'Zastavi novo vprašanje', url: '/svetovanje/vprasanje/novo' }] }
- const c = { noSidebar: true, hrefurl: `/svetovanje/vprasanje/admin/${sentFrom}`, specificRights: specificUserRights, exportButtonPresent: false, h1: 'Urejanje terminološkega odgovora', description: 'Dodajte terminološki odgovor in ga utemeljite.', buttons: [{ form: 'edit-form', type: 'button', content: 'Shrani spremembe', contentDisabled: true }] }
+mainHeader(c)
if specificUserRights
.content-hold-prerequisites
#offset-main.main-container.offset-correction
.row.mt-4.mx-0
.col.g-0
p.text-header-description-gray.mb-2 <b>Datum vprašanja:</b> #{ entry.timeCreated }
p.text-header-description-gray.mt-2.mb-0 <b>Uporabnik:</b> #{ author.firstName }
p.text-header-description-gray.mt-1 <b>E-pošta:</b> #{ author.email }
hr
p.text-header-description-gray.mb-2 <b>Datum objave/spremembe:</b> #{ entry.timePublished }
p.text-header-description-gray.mt-2.mb-0 <b>Avtorji mnenja:</b>
span.text-header-description-gray= ` ${entry.answerAuthors ? entry.answerAuthors.join(`, `) : ''}`
p.text-header-description-gray.mt-1 <b>URL povezava do mnenja:</b> #{ isPublished?`${urlPrefix}/svetovanje/vprasanje/${id}`:'' }
hr
form#edit-form.row(method="put" action="/api/v1/consultancy/entry")
input(type="hidden" name="_method" value="put")
input#entry-id.d-none(type="text" value=id)
.col
h5.navigation-text-color Urejanje
#question-title-field.mt-4
.title.mt-4
.subject-name.col.d-flex.justify-content-between
label.mb-1.smaller-gray-uppercase(for="address") NASLOV*
- const type = 'two'
+mixedContentBtns
.row
.col
textarea#question-title.form-control.explanation-field.mc-field.dispatch-tab(
type="text"
name="address"
) #{ entry.title }
//- .col-sm.d-flex.align-items-center
span.d-md-inline.d-block.smaller-gray-info.ms-xxl-3.ms-md-3 Navodilo k posamičnemu polju. Reprehenderit aliqua quis ut velit eu irure non ad sunt sunt ipsum sunt esse.
.cerif-area.mt-4
.subject-name
label.smaller-gray-uppercase(for="select-cerif") PODROČJE
.row
#cerif
select#select-cerif.select-cerif.name-input.d-inline.form-control(
name="domainPrimary"
required
)
option(value=-1)
each domain in allPrimaryDomains
option(
value=domain.id
selected=domain.id === entry.domainPrimaryId
)= domain.nameSl
#invalid-section.invalid-feedback-selection.hidden-section.mt-3 Nimate izbranega področja CERIF.
//- .col-sm.d-flex.align-items-center
span.d-md-inline.d-block.smaller-gray-info.ms-xxl-3.ms-md-3 Področje, v katero sodi opisani terminološki problem
#question-field.mt-4
.title.mt-4
.subject-name.col.d-flex.justify-content-between
label.mb-1.smaller-gray-uppercase(for="questionTitle") VPRAŠANJE*
+mixedContentBtns(type)
.row
.col
textarea#question.form-control.explanation-field.mc-field.dispatch-tab(
type="text"
name="questionTitle"
) #{ entry.question }
//- .col-sm.d-flex.align-items-center
span.d-md-inline.d-block.smaller-gray-info.ms-xxl-3.ms-md-3 Navodilo k posamičnemu polju. Reprehenderit aliqua quis ut velit eu irure non ad sunt sunt ipsum sunt esse.
#text-editor.mt-4
.subject-name
span.smaller-gray-uppercase MNENJE*
.row
.col
-
let innerHTML = ""
if(!!entry.answer){
innerHTML = entry.answer
} else {
if(entry.institution){
innerHTML += `
<b>Institucija:</b> ${entry.institution}
<br><br>
`
}
if(entry.description){
innerHTML += `
<b>Opis terminološkega problema:</b> ${entry.description}
<br><br>`
}
if(entry.existingSolutions){
innerHTML += `
<b>Obstoječe poimenovalne rešitve:</b> ${entry.existingSolutions}
<br><br>
`
}
if(entry.examplesOfUse){
innerHTML += `
<b>Primeri rabe:</b> ${entry.examplesOfUse}
<br><br><br>
`
}
}
#opinion.summernote !{ innerHTML }
//- .col-sm.d-flex.align-items-center
span.d-md-inline.d-block.smaller-gray-info.ms-xxl-3.ms-md-3 Navodilo k posamičnemu polju. Reprehenderit aliqua quis ut velit eu irure non ad sunt sunt ipsum sunt esse.
.comments-content.col-12.col-md-12.py-md-3.bd-content
include /utilities/comments-with-pager
else
include /utilities/empty-main-panel-header
+mainHeader
.content-hold-prerequisites.ps-4.pe-4
#offset-main.ps-2.pe-2
p Nimate ustreznih pravic
include /utilities/modal-alert-mixin
+alertModal('unsaved-data', 'Shrani', 'Ne', 'modal-save-btn', 'modal-dont-save-btn', 'Imate neshranjene spremebe. Ali jih želite shraniti?')
include /common/footer
@@ -0,0 +1,6 @@
extends /pages/consultancy/admin/consultancy-admin-inheritable-module
block config
- const pageTypeObject = { inProgress: true }
- const subHeading = 'V delu'
- const description = 'Seznam vprašanj, ki so še v urejanju.'
@@ -0,0 +1 @@
extends /pages/consultancy/admin/consultancy-admin-inheritable-module
@@ -0,0 +1,6 @@
extends /pages/consultancy/admin/consultancy-admin-inheritable-module
block config
- const pageTypeObject = { prepared: true }
- const subHeading = 'Pripravljeno'
- const description = 'Seznam urejenih vprašanj, ki čakajo na potrditev dokončne objave.'
@@ -0,0 +1,6 @@
extends /pages/consultancy/admin/consultancy-admin-inheritable-module
block config
- const pageTypeObject = { published: true }
- const subHeading = 'Objavljeno'
- const description = 'Seznam objavljenih vprašanj.'
@@ -0,0 +1,6 @@
extends /pages/consultancy/admin/consultancy-admin-inheritable-module
block config
- const pageTypeObject = { rejected: true }
- const subHeading = 'Zavrnjeno'
- const description = 'Seznam vprašanj, ki so jih moderatorji zavrnili in jih je treba dodeliti nekomu drugemu.'
@@ -0,0 +1,57 @@
extends /layout
mixin sideMenu(meta)
include /common/side-menu-mixin-consultancy
+sideNavigation(meta)
//-
mixin header
.pass
mixin body
.pass
block pageSpecificScipts
script(nonce=cspNonce src="/javascripts/tooltip-helper.js")
script(nonce=cspNonce src="/javascripts/consultancy.js")
block body
- const specificUserRights = user && (user.hasRole('consultant') || user.hasRole('consultancy admin'))
.consultancy-padding-admin.consultancy-container-unique
section#fixed-top-section
include /common/main-navigation
+main-navigation(false)
block config
- const pageTypeObject = { stats: true }
- const subHeading = 'Statistika'
+sideMenu(pageTypeObject)
//-- modals
//- include dialogs/share
//- include dialogs/assign
//- +consultancyAdminShareModal
//- +consultancyAdminAssignModal
if specificUserRights
include /utilities/consultancy-admin-panel-header
//- const c = { h1: 'Terminološko svetovanje', description: 'Terminološka svetovalnica je namenjena širši strokovni javnosti, ki se sooča s konkretnimi poimenovalnimi problemi, pa naj gre za popolnoma nove pojme, ki jih je v slovenščini šele treba poimenovati, ali že znane pojme, za katere obstaja več poimenovanj, pa strokovnjaki čutijo potrebo po sistemskem poenotenju oz. izbiri najprimernejše rešitve.', buttons: [{ type: 'link', content: 'Zastavi novo vprašanje', url: '/svetovanje/vprasanje/novo' }] }
- const c = { specificRights: specificUserRights, exportButtonPresent: false, h1: 'Statistika', description: 'Terminološka svetovalnica je namenjena širši strokovni javnosti, ki se sooča s konkretnimi poimenovalnimi problemi, pa naj gre za popolnoma nove pojme, ki jih je v slovenščini šele treba poimenovati, ali že znane pojme, za katere obstaja več poimenovanj.', buttons: [{ type: 'link', content: 'Zastavi novo vprašanje', url: '/svetovanje/vprasanje/novo' }] }
+mainHeader(c)
.content-hold-prerequisites.ps-4.pe-4
#offset-main.ps-2.pe-2
include /components/consultancy/admin/consultancy-item-admin
block consultancyContainer
- const section = pageTypeObject
.consultancy-container.ps-3
else
include /utilities/empty-main-panel-header
+mainHeader
.content-hold-prerequisites.ps-4.pe-4
#offset-main.ps-2.pe-2
p Nimate ustreznih pravic
//- include ../../../utilities/modal-alert-mixin
//- +alertModal("deleteModal","Izbriši" ,"Prekliči" , "del-btn", "cancel-btn")
include /common/footer
@@ -0,0 +1,103 @@
extends /layout
mixin sideMenu(meta)
include /common/side-menu-mixin-consultancy
+sideNavigation(meta)
//-
mixin header
.pass
mixin body
.pass
block pageSpecificScipts
script(nonce=cspNonce src="/javascripts/utils.js")
script(nonce=cspNonce src="/javascripts/consultancy.js")
//- script(nonce=cspNonce src="/javascripts/tooltips.js")
block body
- const specificUserRights = user && (user.hasRole('consultant') || user.hasRole('consultancy admin'))
section#fixed-top-section
include /common/main-navigation
+main-navigation(false)
block config
- const pageTypeObject = { users: true }
- const subHeading = 'Uporabniki'
+sideMenu(pageTypeObject)
//-- modals
//- include dialogs/share
//- include dialogs/assign
//- +consultancyAdminShareModal
//- +consultancyAdminAssignModal
if specificUserRights
#offset-padding.offset-padding.header-section-root.mx-max-xl-2rem
.d-flex.justify-content-between.flex-wrap.flex-row.row
.header-container-left-side.d-flex.col-sm-10
#chevrons-left.d-flex.w-100
.header-container-divider-left
h2#site-header-title Uporabniki
h1#site-heading Seznam svetovalcev
span#text-description.page-description.pe-0 Na tem mestu lahko dodajate svetovalce, ki so registrirani uporabniki terminološkega portala. Če boste pripisali področje, boste lahko svetovalcu dodeljevali samo vprašanja, ki sodijo na izbrano področje, vsem drugim pa vsa.
.header-container-divider-right.d-flex.justify-content-end.col-sm-2
//- a.btn.btn-primary.header-btn(disabled) Dodaj
hr
.content-hold-prerequisites
#offset-main.main-container.ps-xl-0
.d-flex.justify-content-between
.d-flex.flex-row.mb-4
include /components/search-and-filter/inline-search
.dflex
include /utilities/pager
+pager(1,2,3,1,3,true)
table#all-areas-table.table.areas-table.table-responsive
thead
tr
th(scope="col") Ime
th(scope="col") Področja
th(scope="col")
tbody
each user in users
tr(id=user.id)
input(type="hidden" name="secondaryDomainId" value=user.id)
td.tdata-name= user.username
td.tdata-area= user.domains ? user.domains : ''
td.buttons-group
.table-buttons
button.p-0.table-button-grp.me-3.edit-row-btn
img(src="/images/u_edit-alt.svg" alt="")
button.p-0.table-button-grp.delete-row-btn(
data-bs-target="#alert-modal"
data-bs-toggle="modal"
)
img(src="/images/red-trash-icon.svg" alt="")
.d-flex.justify-content-between.mt-4
.d-flex.flex-row.mb-4
.dflex
//- +pager(1,2,3,1,3,true)
form#insert-consultant(
action="/api/v1/consultancy/add-consultant-by-username"
method="POST"
)
.row.mb-5
.col-sm-3
.subject-name
label.input-name-txt Ime
input#username.form-control(type="text")
.col-sm-3
.subject-name
label.input-name-txt Področja
input#domains.form-control(type="text")
.col.d-flex.align-items-end.mt-2
button#add-area.btn.btn-primary(type="submit") Dodaj
include /utilities/modal-alert
include /common/footer
+132
View File
@@ -0,0 +1,132 @@
extends /layout
block pageSpecificScipts
//- the only reason to include the bottom script is to calibrate the padding of the content
script(nonce=cspNonce src="/javascripts/consultancy.js")
script(nonce=cspNonce src="/javascripts/utils.js")
block body
- const specificUserRights = user && (user.hasRole('consultant') || user.hasRole('consultancy admin'))
section#fixed-top-section
include /common/main-navigation
+main-navigation(false)
.consultancy-padding-main.p-squeeze-lg
include /utilities/empty-main-panel-header
+mainHeader
.content-hold-prerequisites.ps-4.pe-4
#offset-main.ps-2.pe-2
if user
.consultancy-container.mb-5
.back-section.mt-4.mb-3.d-flex
a.bg-transparent.border-0.consultancy-back-button.d-flex.align-items-center(
href="/svetovanje"
)
img.align-middle(src="/images/chevrons-left.svg")
.text-header-description-gray.ms-2.float-start
b Nazaj
.consultancy-ask-question-container.mt-4
form#create-consultancy-question.needs-validation(
action="/api/v1/consultancy/entry"
method="post"
autocomplete="off"
novalidate
)
h5.navigation-text-color.text-1p5rem.fw-light Zastavi terminološko vprašanje
#name-field.mt-4
.subject-name
label.smaller-gray-uppercase(for="name") IME IN PRIIMEK
.row
.col-sm-6
input#name.name-input.d-inline.form-control(
type="text"
name="name"
value=`${user.firstName} ${user.lastName}`
disabled
)
.col-sm.d-flex.align-items-center
span.d-md-inline.d-block.smaller-gray-info.ms-xxl-3.ms-md-3 Ime in priimek trenutno prijavljenega uporabnika.
#email-field.mt-4
.subject-name
label.smaller-gray-uppercase(for="email") ELEKTRONSKI NASLOV
.row
.col-sm-6
input#email.name-input.d-inline.form-control(
type="text"
name="email"
value=`${user.email}`
disabled
)
.col-sm.d-flex.align-items-center
span.d-md-inline.d-block.smaller-gray-info.ms-xxl-3.ms-md-3 Elektronski naslov trenutno prijavljenega uporabnika.
#institution-field.mt-4
.subject-name
label.smaller-gray-uppercase(for="institution") INSTITUCIJA
.row
.col-sm-6
textarea#institution.explanation-field.form-control.noScrollbar.resizeNone.institution-input(
name="institution"
rows="1"
)
.col-sm.d-flex.align-items-center
span.d-md-inline.d-block.smaller-gray-info.ms-xxl-3.ms-md-3 Institucija, kjer trenutno prijavljeni uporabnik deluje.
#text-editor.mt-4
.subject-name
span.smaller-gray-uppercase OPIS TERMINOLOŠKEGA PROBLEMA *
.row
.col-sm-6
textarea#description.explanation-field.form-control.ms-0.noScrollbar.resizeNone.r-3.form-check-label(
name="description"
rows="2"
required
)
.invalid-feedback Niste vpisali opisa terminološkega problema.
.col-sm.d-flex.align-items-center
span.d-md-inline.d-block.smaller-gray-info.ms-xxl-3.ms-md-3 Čim bolj natančno opišite terminološki problem, zlasti opišite vsebino pojma.
.cerif-area.mt-4
.subject-name
label.smaller-gray-uppercase(for="select-cerif") PODROČJE
.row
#cerif.col-sm-6
select#select-cerif.select-cerif.name-input.d-inline.form-control(
name="domainPrimary"
)
option(value=-1)
each domain in allPrimaryDomains
option(value=domain.id)= domain.nameSl
#invalid-section.invalid-feedback-selection.hidden-section.mt-3 Nimate izbranega področja CERIF.
.col-sm.d-flex.align-items-center
span.d-md-inline.d-block.smaller-gray-info.ms-xxl-3.ms-md-3 Področje, v katero sodi opisani terminološki problem.
#text-editor.mt-4
.subject-name
span.smaller-gray-uppercase OBSTOJEČE POIMENOVALNE REŠITVE
.row
.col-sm-6
textarea#existing-solutions.explanation-field.form-control.noScrollbar.r-3.resizeNone(
name="existing_solutions"
rows="2"
)
.col-sm.d-flex.align-items-center
span.d-md-inline.d-block.smaller-gray-info.ms-xxl-3.ms-md-3 Morebitne že obstoječe poimenovalne rešitve, če obstajajo.
#text-editor.mt-4
.subject-name
span.smaller-gray-uppercase PRIMERI RABE V BESEDILIH
.row
.col-sm-6
textarea#examples-of-use.explanation-field.form-control.noScrollbar.r-3.resizeNone(
name="examples_of_use"
rows="2"
)
.col-sm.d-flex.align-items-center
span.d-md-inline.d-block.smaller-gray-info.ms-xxl-3.ms-md-3 Morebitni primeri rabe termina v besedilih ali povezave do njih, če obstajajo.
.send-section.mt-5
button.btn.btn-primary.send-cons-btn(type="submit") Pošlji
else
p Za zastavljanje terminoloških vprašanj morate biti prijavljeni.
include /common/footer
+38
View File
@@ -0,0 +1,38 @@
extends /layout
block pageSpecificScipts
script(nonce=cspNonce src="/javascripts/dictionaries.js")
script(nonce=cspNonce src="/javascripts/consultancy.js")
script(nonce=cspNonce src="/javascripts/consultancy-search-mechanism.js")
block body
block preDefinitions
- const resultAmountDisplay = false
- const specificUserRights = user && (user.hasRole('consultant') || user.hasRole('consultancy admin'))
//- include /common/side-menu-fake
//- +sideNavigationFake
section#fixed-top-section
include /common/main-navigation
+main-navigation(false)
.consultancy-padding-main.p-squeeze-lg
include /utilities/consultancy-main-panel-header
//- const c = { h1: 'Terminološko svetovanje', description: 'Terminološka svetovalnica je namenjena širši strokovni javnosti, ki se sooča s konkretnimi poimenovalnimi problemi, pa naj gre za popolnoma nove pojme, ki jih je v slovenščini šele treba poimenovati, ali že znane pojme, za katere obstaja več poimenovanj, pa strokovnjaki čutijo potrebo po sistemskem poenotenju oz. izbiri najprimernejše rešitve.', buttons: [{ type: 'link', content: 'Zastavi novo vprašanje', url: '/svetovanje/vprasanje/novo' }] }
block headerConfig
- const c = { specificRights: specificUserRights, exportButtonPresent: false, h1: 'Terminološko svetovanje', description: 'Terminološka svetovalnica je namenjena širši strokovni javnosti, ki se sooča s konkretnimi poimenovalnimi problemi, pa naj gre za popolnoma nove pojme, ki jih je v slovenščini šele treba poimenovati, ali že znane pojme, za katere obstaja več poimenovanj.', buttons: [{ type: 'link', content: 'Zastavi novo vprašanje', url: '/svetovanje/vprasanje/novo' }], show5MostRecent: true }
+mainHeader(c)
.content-hold-prerequisites.ps-0.pe-0
#offset-main
include /components/consultancy/consultancy-item
.consultancy-container
// To remove duplicates
//- - const moderatorList = entryList.filter(a => a.isModerator) // All published questions have a moderator...
each entry in entries
+consultancyItem(entry)
//- .d-flex.justify-content-center.mt-5
span soslfmkelčfmewqčfmčewkmfkčewfmkčewfmkmfewklfmewlk
include /common/footer
@@ -0,0 +1,49 @@
extends /layout
block pageSpecificScipts
script(nonce=cspNonce src="/javascripts/comments.js")
//- script(nonce=cspNonce src="/javascripts/dictionaries.js")
script(nonce=cspNonce src="/javascripts/consultancy.js")
block body
- const specificUserRights = user && (user.hasRole('consultant') || user.hasRole('consultancy admin'))
section#fixed-top-section
include /common/main-navigation
+main-navigation(false)
.consultancy-padding-main.p-squeeze-lg.mx-xxl-auto
include /utilities/consultancy-main-panel-header
//- const c = { h1: 'Terminološko svetovanje', description: 'Terminološka svetovalnica je namenjena širši strokovni javnosti, ki se sooča s konkretnimi poimenovalnimi problemi, pa naj gre za popolnoma nove pojme, ki jih je v slovenščini šele treba poimenovati, ali že znane pojme, za katere obstaja več poimenovanj, pa strokovnjaki čutijo potrebo po sistemskem poenotenju oz. izbiri najprimernejše rešitve.', buttons: [{ type: 'link', content: 'Zastavi novo vprašanje', url: '/svetovanje/vprasanje/novo' }] }
- const c = { specificRights: specificUserRights, exportButtonPresent: false, h1: 'Terminološko svetovanje', description: 'Terminološka svetovalnica je namenjena širši strokovni javnosti, ki se sooča s konkretnimi poimenovalnimi problemi, pa naj gre za popolnoma nove pojme, ki jih je v slovenščini šele treba poimenovati, ali že znane pojme, za katere obstaja več poimenovanj.', buttons: [{ type: 'link', content: 'Zastavi novo vprašanje', url: '/svetovanje/vprasanje/novo' }] }
+mainHeader(c, false)
.content-hold-prerequisites.px-0
#offset-main
.back-section.mt-4.mb-2
a.bg-transparent.border-0.consultancy-back-button(href="/svetovanje")
img.float-start(src="/images/chevrons-left.svg")
.text-header-description-gray.ps-3.float-start
b Nazaj
.consultancy-container.mb-2
.consultancy-item-detailed
.row
.col-6.d-flex.justify-content-start
span Vprašanje poslano #{ entry.timeCreated }
//- .col-6.d-flex.justify-content-end
button.me-3.bg-transparent.no-border
img.i1p5rx1p5r(src="/images/copy.svg")
button.me-3.bg-transparent.no-border
img.i1p5rx1p5r(src="/images/printer.svg")
button.bg-transparent.no-border
img.i1p5rx1p5r(src="/images/share-2.svg")
//- placeholder below
.row.mb-3
.col
h4.mt-3.navigation-text-color #{ entry.title }
.mb-3!= `<b>Opis terminološkega problema:</b> ${entry.question}`
.mb-3!= `<b>Odgovor:</b> ${entry.answer}`
if entry.domain
.mb-3!= `<b>Področje:</b> ${entry.domain}`
div!= `<b>${authorString}:</b> ${entry.answerAuthors ? entry.answerAuthors.join(', ') : ''}`
//- .mt-3
include /utilities/comments-with-pager
include /common/footer
@@ -0,0 +1,7 @@
extends /pages/consultancy/index
block preDefinitions
- const resultAmountDisplay = true
block headerConfig
- const c = { specificRights: specificUserRights, exportButtonPresent: true, h1: 'Terminološko svetovanje', description: 'Terminološka svetovalnica je namenjena širši strokovni javnosti, ki se sooča s konkretnimi poimenovalnimi problemi, pa naj gre za popolnoma nove pojme, ki jih je v slovenščini šele treba poimenovati, ali že znane pojme, za katere obstaja več poimenovanj.', buttons: [{ type: 'link', content: 'Zastavi novo vprašanje', url: '/svetovanje/vprasanje/novo' }], show5MostRecent: false }
+37
View File
@@ -0,0 +1,37 @@
doctype html
html(lang="sl")
head
meta(charset="UTF-8")
meta(http-equiv="X-UA-Compatible" content="IE=edge")
meta(name="viewport" content="width=device-width, initial-scale=1.0")
title Paginacija - POC
body
h1 Demo konceptualna zasnova paginacije (muštr)
//- Id krovnega elementa je v realnem primeru lahko poljuben, saj ga podaš funkciji initPagination (v demo-paginacija.js).
//- Interna struktura mora ostati enaka (imena elementov, njihove klase, imena, vrednosti).
//- Lahko pa v gumbe dodaš slike itd., če je potrebno, ali dodatne klase na njih, če je potrebno zaradi oblikovanja.
//- Oblikovanja tu namenoma nisem dodajal, da je demo čim enostavnejši. Oblikovati ga morata vidva oz. prvi, ki bo to delal.
//- Če kaj ne bo jasno, me raje vprašaj.
#pagination
button.first-page(disabled) <<
button.previous-page(disabled) <
form
input(name="page" value="1")
span= ' / '
span.pages-total= numberOfAllPages
button.next-page(disabled=numberOfAllPages === 1) >
button.last-page(disabled=numberOfAllPages === 1) >>
ul#page-results
each result in results
li Zanimiva vrednost: #[b= result.zanimivo]. Totalno nezanimivo: #{ result.nezanimivo1 } in #{ result.nezanimivo2 }
//- V realnem primeru:
//- Ne uvoziš axiosa, ker je že v layout.pug
//- Ne uvoziš skripte demo-paginacija.js, ker inicializacijsko kodo po njenem zgledu uporabiš v skripti, ki jo ta stan že uporablja.
script(
nonce=cspNonce
src="https://cdn.jsdelivr.net/npm/axios/dist/axios.min.js"
)
script(nonce=cspNonce src="/javascripts/demo-paginacija.js")
@@ -0,0 +1,56 @@
extends /layout
block pageSpecificScipts
script(nonce=cspNonce src="/javascripts/dictionaries.js")
block body
section#fixed-top-section
include /common/main-navigation
+main-navigation(false)
include /common/side-menu-mixin-dictionaries
- const d = { activeLvl1: 'attributes', activeLvl2: 'advanced' }
+sideNavigation(d)
include /utilities/dictionaries-main-panel-header
- const c = { sideMenu: true, h2: dictionaryName, h1: 'Napredno', description: 'Napredno urejanje omogoča spreminjanje večjega števila podatkov v terminološkem slovarju.' }
+mainHeader(c)
.content-hold-prerequisites
#offset-main.main-container.mt-2
input#adv-dictionary-id(
type="hidden"
name="dictionaryId"
value=dictionary.id
)
.file-type.mt-2
.row
.col-md-6.white-border-background.p-4.d-flex.align-items-center
span.info-text-for-button.me-auto Brisanje slovarskih sestavkov
button#adv-delete-all-entries.btn.btn-primary.ps-5.pe-5.advanced-blue-btn BRIŠI
.col-sm.ms-xxl-3.ms-md-3.align-items-center.d-flex.ps-1
span.name-info-txt Izbrišete lahko vse doslej obdelane slovarske sestavke in ohranite vse metapodatke o slovarju. Dejanja ni mogoče preklicati.
a.name-info-txt.ms-2(href="/pomoc") Več …
.file-type.mt-5
.row
.col-md-6.white-border-background.p-4.d-flex.align-items-center
span.info-text-for-button.me-auto Brisanje slovarja
button#adv-delete-dictionary.btn.btn-primary.ps-5.pe-5.advanced-blue-btn BRIŠI
.col-sm.ms-xxl-3.ms-md-3.align-items-center.d-flex.ps-1
span.name-info-txt Izbrišete lahko celoten slovar z vsemi metapodatki. Dejanja ni mogoče preklicati.
a.name-info-txt.ms-2(href="/pomoc") Več …
.file-type.mt-5
.row
.col-md-6.white-border-background.p-4.d-flex.align-items-center
span.info-text-for-button.me-auto Objava vseh slovarskih sestavkov
button#adv-publish-all-entries.btn.btn-primary.ps-5.pe-5.advanced-blue-btn OBJAVI
.col-sm.ms-xxl-3.ms-md-3.align-items-center.d-flex.ps-1
span.name-info-txt Ko boste končali z urejanjem svojega terminološkega slovarja, lahko objavite vse slovarske sestavke, ki bodo postali vidni vsem uporabnikom. Vaše dejanje mora potrditi še administrator portala.
include /utilities/modal-spinner
include /utilities/modal-alert-mixin
+alertModal("delete-entries", "Izbriši", "Prekliči", "modal-use-btn", "cancel-btn", 'S tem dejanjem boste izbrisali vse slovarske sestavke v slovarju. Metapodatki bodo ostali. Dejanja ni mogoče razveljaviti.')
+alertModal("delete-dictionary", "Izbriši", "Prekliči", "modal-use-btn", "cancel-btn", 'S tem dejanjem boste izbrisali vse slovarske sestavke v slovarju in vse metapodatke. Dejanja ni mogoče razveljaviti.')
+alertModal("publish-entries", "Uporabi", "Prekliči", "modal-use-btn", "cancel-btn", 'Ali želite objaviti vsa gesla?')
include /utilities/modal-response
+responseModal("delete-entries-res", "Razumem", "understand-btn", "Slovarski sestavki so bili izbrisani.")
+responseModal("delete-dict-res", "Razumem", "understand-btn", "Slovar je bil izbrisan.")
+responseModal("publish-entries-res", "Razumem", "understand-btn", "Slovarski sestavki so bili objavljeni.")
include /common/footer
@@ -0,0 +1,47 @@
extends /layout
block pageSpecificScipts
script(nonce=cspNonce src="/javascripts/dictionaries.js")
script(nonce=cspNonce src="/javascripts/comments.js")
script(nonce=cspNonce src="/javascripts/mixed-content.js")
//- script(nonce=cspNonce src="/javascripts/dictionaries-content.js")
block body
section#fixed-top-section.content-fixed-top
include /common/main-navigation
+main-navigation(false)
include /utilities/content-side-menu
include /utilities/content-header
.content-hold-prerequisites
#offset-main.content-main-page.main-container
#date-section.collapse
include /utilities/content-date-scroller
if terms.length
#preview-section
#content-data-section.mt-2
#classic-overview
include /utilities/content-classic-overview
.mt-2
include /utilities/entry-preview
else
#preview-section
#date-section.collapse
include /utilities/content-date-scroller
#content-data-section.mt-2
#no-entries-text.d-flex.justify-content-center
.justify-content-center.mt-5
p Ni slovarskih sestavkov za urejanje.
#entry-preview-section.d-none
#classic-overview
include /utilities/content-classic-overview
include /utilities/entry-preview
#edit-section.d-none
include /utilities/content-edit
#comments-section.d-none.mt-2
include /utilities/comments-with-pager
include /utilities/modal-alert
include /utilities/modal-alert-mixin
+alertModal("delete-modal", "Izbriši", "Prekliči", "modal-del-btn", "cancel-btn", 'Ali želite izbrisati geslo?')
.mb-3
//- include /common/footer
@@ -0,0 +1,190 @@
extends /layout
block pageSpecificScipts
script(nonce=cspNonce src="/javascripts/dictionaries.js")
block body
section#fixed-top-section
include /common/main-navigation
+main-navigation(false)
include /common/side-menu-mixin-dictionaries
- const d = { activeLvl1: 'attributes', activeLvl2: 'description' }
+sideNavigation(d)
include /utilities/dictionaries-main-panel-header
- const c = { sideMenu: true, h2: dictionary.nameSl, h1: 'Osnovni podatki', description: 'Izpolnite polja in na kratko opišite vsebino terminološkega slovarja.', helpLink: { linkHref: '/pomoc', linkText: 'Več ...' }, buttons: [{ type: 'disabled', content: 'Shrani', form: 'form-dictionary-description' }] }
+mainHeader(c)
.content-hold-prerequisites
#offset-main.main-container.mt-3
form#form-dictionary-description.needs-validation(
method="post"
novalidate
)
.title
.subject-name
label.input-name-txt(for="dictionary-title") NASLOV SLOVARJA *
.row
.col-sm-6
input#dictionary-title.name-input.form-control.d-inline(
type="text"
name="nameSl"
required
maxlength="120"
value=dictionary.nameSl
)
.invalid-feedback Niste vpisali naslova slovarja.
.col-sm.d-flex.align-items-center
span.d-md-inline.d-block.name-info-txt.ms-xxl-3.ms-md-3.mt-3.mt-sm-0 Celotni naslov slovarja, ki bo zabeležen v bibliografskih podatkih.
.english-title.mt-4
.subject-name
label.input-name-txt(for="dictionary-title-en") ANGLEŠKI NASLOV SLOVARJA *
.row
.col-sm-6.align-items-center
input#dictionary-title-en.name-input.form-control.d-inline(
type="text"
name="nameEn"
maxlength="120"
value=dictionary.nameEn ? dictionary.nameEn : ''
required
)
.invalid-feedback Niste vpisali angleškega naslova slovarja.
.col-sm.d-flex.align-items-center
span.d-md-inline.d-block.name-info-txt.ms-xxl-3.ms-md-3.mt-3.mt-sm-0 Celotni naslov slovarja v angleščini.
.short-title.mt-4
.subject-name
label.input-name-txt(for="short-dictionary-title") SKRAJŠANI NASLOV SLOVARJA
.row
.col-sm-6
input#short-dictionary-title.name-input.d-inline.form-control(
type="text"
name="nameSlShort"
maxlength="15"
value=dictionary.nameSlShort ? dictionary.nameSlShort : ''
)
.col-sm.d-flex.align-items-center
span.d-md-inline.d-block.name-info-txt.ms-xxl-3.ms-md-3.mt-3.mt-sm-0 Zaradi organizacije podatkov na portalu za skrajšani naslov slovarja predlagamo poenobesede nje, ki se bo izpisovalo ob slovarju, npr. Davčni terminološki slovar &rarr; Davki.
if dictionary.author
each ele, index in dictionary.author
.author.mt-4.added-field
.subject-name
label.input-name-txt(for="author") AVTOR SLOVARJA
.row
.col-sm-6
.input-group
input(
class=index != 0 ? 'name-input d-inline form-control icon-trash' : 'name-input d-inline form-control'
type="text"
name="author"
maxlength="64"
value=ele ? ele : ''
)
if (index!=0)
button.input-group-text.delete-author-btn(type="button")
img(src="/images/red-trash-icon.svg" alt="")
.col-sm.d-flex.align-items-center
span.d-md-inline.d-block.name-info-txt.ms-xxl-3.ms-md-3.mt-3.mt-sm-0 Vpišite avtorja slovarja, če ste glavni avtor, na prvo mesto zapišite svoje ime.
else
#first-author.author.mt-4
.subject-name
label.input-name-txt(for="author") AVTOR SLOVARJA
.row
.col-sm-6
input#author.name-input.d-inline.form-control(
type="text"
name="author"
maxlength="64"
)
.col-sm.d-flex.align-items-center
span.d-md-inline.d-block.name-info-txt.ms-xxl-3.ms-md-3.mt-3.mt-sm-0 Vpišite avtorja slovarja, če ste glavni avtor, na prvo mesto zapišite svoje ime.
#add-new-author.author.mt-4
.subject-name
label.input-name-txt(for="input-new-author") NOV AVTOR SLOVARJA
.row
.col-sm-6
button#input-new-author.form-control(type="button")
span.new-author-text-btn Nov avtor
.col-sm.d-flex.align-items-center
span.d-md-inline.d-block.name-info-txt.ms-xxl-3.ms-md-3.mt-3.mt-sm-0 Dodajte ime in priimek naslednjega avtorja slovarja..
.cerif-area.mt-4
.subject-name
label.input-name-txt(for="select-cerif") PODROČJE *
.row
.col-sm-6
select.name-input.d-inline.form-select(
name="domainPrimary"
required
)
each domain in allPrimaryDomains
option(
value=domain.id
selected=domain.id === dictionary.domainPrimary
)= domain.nameSl
#invalid-section.invalid-feedback-selection.hidden-section.mt-3 Nimate izbranega področja CERIF.
.col-sm.d-flex.align-items-center
span.d-md-inline.d-block.name-info-txt.ms-xxl-3.ms-md-3.mt-3.mt-sm-0 Izberite področje svojega terminološkega slovarja na seznamu področij.
.small-name-area.mt-4
.subject-name
label.input-name-txt(for="domain-secondary") PODPODROČJE
.row
.col-sm-6
select#domain-secondary.name-input.d-inline.form-control.without-addition(
name="domainSecondary"
multiple
)
each domain in allSecondaryDomains
if associatedSecondaryDomains.some(associatedDomain => associatedDomain.id === domain.id)
option(value=domain.id selected)= domain.nameSl
else
option(value=domain.id)= domain.nameSl
.col-sm.d-flex.align-items-center
span.d-md-inline.d-block.name-info-txt.ms-xxl-3.ms-md-3.mt-3.mt-sm-0 Vpišite podpodročje glavnega področja, ki ste ga izbrali. Če podpodročja ni med naborom, izberite polje Novo podpodročje.
#add-new-area.author.mt-4
.subject-name
label.input-name-txt NOVO PODPODROČJE
.row
.col-sm-6
button#input-new-area.form-control(type="button")
span.new-author-text-btn Novo podpodročje
.col-sm.d-flex.align-items-center
span.d-md-inline.d-block.name-info-txt.ms-xxl-3.ms-md-3.mt-3.mt-sm-0 Vpišite novo podpodročje. Na seznamu podpodročij bo vidno takoj po potrditvi administratorja portala.
#text-editor.mt-4
.subject-name
span.input-name-txt OPIS SLOVARJA
.container-xxl.ps-0.ms-0
textarea.summernote(
name="description"
value=dictionary.description
)
if dictionary.description
p= dictionary.description
#issn-field.mt-4
.subject-name
label.input-name-txt(for="issn") ISSN OZNAKA
.row
.col-sm-6
input#issn.name-input.d-inline.form-control(
type="text"
name="issn"
maxlength="20"
value=dictionary.issn ? dictionary.issn : ''
)
.col-sm.d-flex.align-items-center
span.d-md-inline.d-block.name-info-txt.ms-xxl-3.ms-md-3.mt-3.mt-sm-0 ISSN oznaka.
a.ms-1.name-info-txt(href="/pomoc" target="_blank") Več ...
include /utilities/modal-alert
include /utilities/modal-alert-mixin
+alertModal('unsaved-data', 'Shrani', 'Ne', 'modal-save-btn', 'modal-dont-save-btn', 'Imate neshranjene spremebe. Ali jih želite shraniti?')
include /common/footer
@@ -0,0 +1,22 @@
extends /layout
block pageSpecificScipts
script(nonce=cspNonce src="/javascripts/comments.js")
script(nonce=cspNonce src="/javascripts/dictionaries.js")
block body
section#fixed-top-section
include /common/main-navigation
+main-navigation(false)
include /common/side-menu-mixin-dictionaries
- const d = { activeLvl1: 'attributes', activeLvl2: 'comments' }
+sideNavigation(d)
include /utilities/dictionaries-main-panel-header
- const c = { sideMenu: true, h2: dictionaryName, h1: 'Komentarji', description: 'Tu so zbrani vsi komentarji, povezani z vašim slovarjem.' }
+mainHeader(c)
.comments-content.col-12.col-md-12.py-md-3.bd-content.content-hold-prerequisites
#offset-main.main-container
include /utilities/comments-with-pager
include /common/footer
@@ -0,0 +1,48 @@
extends /layout
block pageSpecificScipts
script(nonce=cspNonce src="/javascripts/dictionaries.js")
script(nonce=cspNonce src="/javascripts/pagination-extensions.js")
script(nonce=cspNonce src="/javascripts/search-dictionary.js")
block body
section#fixed-top-section
include /common/main-navigation
+main-navigation(false)
//- include /common/side-menu-fake
//- +sideNavigationFake
#offset-padding.header-section-root.no-side-menu.p-squeeze-lg
//- .ms-4
#chevrons-left.d-flex
a#btn-chevrons.no-text-decoration.btn-chevrons-left.pt-0.h-24.d-flex(
type="link"
href="/"
)
img.align-middle(src="/images/chevrons-left.svg")
span.ms-2.text-header-description-gray.fw-700 Nazaj
.d-flex.justify-content-between.flex-md-nowrap.flex-wrap
.header-container-left-side.d-flex
.header-container-divider-left
//- h2#site-header-title
h1#site-heading Seznam slovarjev
span#text-description.pe-xl-5.page-description Seznam vseh slovarjev, ki so na tem portalu na voljo uporabnikom.
hr#header-row.mt-1.mb-0
//- - const c = {sideMenu:false, h2: 'Urejanje', h1: 'Nov slovar', description: 'Izpolnite polja in na kratko opišite vsebino terminološkega slovarja.', helpLink: { linkHref: '/pomoc', linkText: 'Več ...' }, buttons: [{ type: 'cancel', content: 'Prekliči', url:"." },{ type: 'button', content: 'Ustvari', form: 'form-dictionary-new' }] }
//- +mainHeader(c)
.content-hold-prerequisites.ps-3.pe-3
#offset-main.container-fluid.mt-4.ps-sm-3.errc
.p-squeeze-lg
.row
.col-md-6
include ../../components/search-and-filter/search-with-primary-domain-filter
+searchWithPrimaryDomainFilter("dictionaries-search-form", "searchbar-main", "dicts-search-btn", "")
.col-md-6.d-flex.justify-content-end.pt-3
include /utilities/pager
+pager(1)
.row.mt-5.g-0
include ../../components/dictionary/dictionary-list
+table(dictionaries, true)
include /common/footer
@@ -0,0 +1,112 @@
extends /layout
block pageSpecificScipts
script(nonce=cspNonce src="/javascripts/dictionaries.js")
block body
section#fixed-top-section
include /common/main-navigation
+main-navigation(false)
include /common/side-menu-mixin-dictionaries
- const d = { activeLvl1: 'attributes', activeLvl2: 'areas' }
+sideNavigation(d)
include /utilities/dictionaries-main-panel-header
- const c = { sideMenu: true, h2: dictionaryName, h1: 'Področne oznake', description: 'Na tem mestu lahko določite področne oznake, če želite posamezne termine v svojem terminološkem slovarju razvrstiti še podrobneje.', helpLink: { linkHref: '/pomoc#help-content-domains', linkText: 'Več ...' }, buttons: [{ form: 'dictionary-domain-labels', type: 'disabled', content: 'Shrani' }] }
+mainHeader(c)
.content-hold-prerequisites
#offset-main.main-container.mt-2
if results.length
.d-flex.justify-content-between.mt-2
.d-flex.flex-row.mb-4
include /components/search-and-filter/inline-search
.d-flex
include /utilities/pager
+pager
form#dictionary-domain-labels(
method="post"
action="/api/v1/dictionaries/update-domain-labels"
)
input#subareas-dict-id(
type="hidden"
name="dictionaryId"
value=dictionary.id
)
table#all-areas-table.table.areas-table.table-responsive
thead
tr
th.visible-th(scope="col") Vidno
th(scope="col") Področna oznaka
th(scope="col")
tbody#page-results
each result in results
tr
input(type="hidden" name="domainLabelId" value=result.id)
th(scope="row")
if result.isVisible
input.form-check.checkbox-table(
type="checkbox"
name="isVisible"
checked
disabled
)
else
input.form-check.checkbox-table(
type="checkbox"
name="isVisible"
disabled
)
td.tdata-area= result.name
td.buttons-group
.table-buttons
button.p-0.table-button-grp.me-3.edit-row-btn(
type="button"
)
img(src="/images/u_edit-alt.svg" alt="")
button.p-0.table-button-grp.delete-row-btn(
type="button"
data-bs-target="#alert-modal"
data-bs-toggle="modal"
)
img(src="/images/red-trash-icon.svg" alt="")
else
form#dictionary-domain-labels(
method="post"
action="/api/v1/dictionaries/update-domain-labels"
)
input#subareas-dict-id(
type="hidden"
name="dictionaryId"
value=dictionary.id
)
#subareas-info.d-flex.justify-content-center.mt-5
p Niste vnesli področnih oznak.
#no-subareas-section.d-none
.d-flex.justify-content-between.mt-4
.d-flex.flex-row.mb-4
include /components/search-and-filter/inline-search
.d-flex
include /utilities/pager
+pager
table#all-areas-table.table.areas-table.table-responsive
thead
tr
th.visible-th(scope="col") Vidno
th(scope="col") Področna oznaka
th(scope="col")
tbody
tr.hidden(hidden)
.row
.col-sm-3
.subject-name
label.input-name-txt PODROČNA OZNAKA
input#subarea-input.form-control(type="text")
.col.d-flex.align-items-end.mt-2
button#add-area.btn.btn-primary(type="submit" disabled) Dodaj
include /utilities/modal-alert
include /utilities/modal-alert-mixin
+alertModal('unsaved-data', 'Shrani', 'Ne', 'modal-save-btn', 'modal-dont-save-btn', 'Imate neshranjene spremebe. Ali jih želite shraniti?')
include /common/footer
+252
View File
@@ -0,0 +1,252 @@
extends /layout
block pageSpecificScipts
script(nonce=cspNonce src="/javascripts/dictionaries.js")
block body
section#fixed-top-section
include /common/main-navigation
+main-navigation(false)
include /common/side-menu-mixin-dictionaries
- const d = { activeLvl1: 'export', activeLvl2: 'export' }
+sideNavigation(d)
include /utilities/dictionaries-main-panel-header
- const c = { sideMenu: true, h2: dictionaryName, h1: 'Izvoz', description: 'Vse podatke, ki ste jih vnesli v svoj slovar, lahko izvozite na svoj računalnik ali drugo želeno mesto. Izbrati morate format, v katerem želite pridobiti podatke.', buttons: [] }
+mainHeader(c)
.content-hold-prerequisites
#offset-main.main-container.mt-2
.row.validity.align-items-center
.col-xxl-6.col-md-7
span.header-table-wrapper Veljavnost
ul.d-sm-flex.validity-row.ps-2.mb-0.mb-md-2
.options-width-box
li.form-check.radio-button.ms-0.ps-3
input#allKeys.form-check-input(
type="radio"
name="flexRadioDefault"
checked
)
label.radio-button-labels.form-check-label.ms-0.text-nowrap(
for="allKeys"
)
| Vsi slovarski sestavki
.options-another-box
li.form-check.radio-button.ms-0.ps-3
input#validKeys.form-check-input(
type="radio"
name="flexRadioDefault"
)
label.radio-button-labels.form-check-label.ms-0(
for="validKeys"
)
| Veljavni
.options-another-box
li.form-check.radio-button.ms-0.ps-3
input#notValidKeys.form-check-input(
type="radio"
name="flexRadioDefault"
)
label.radio-button-labels.form-check-label.ms-0(
for="notValidKeys"
)
| Neveljavni
.col.mb-3.mb-md-0
span.name-info-txt Izberite, katere slovarske sestavke želite izpisati glede na njihovo veljavnost.
.row.posted.align-items-center
.col-xxl-6.col-md-7
span.header-table-wrapper Objavljeno
ul.d-sm-flex.validity-row.ps-2.mb-0.mb-md-2
.options-width-box
li.form-check.radio-button.ms-0.ps-3
input#allPostedKeys.form-check-input(
type="radio"
name="posted"
checked
)
label.radio-button-labels.form-check-label.ms-0.text-nowrap(
for="allPostedKeys"
)
| Vsi slovarski sestavki
.options-another-box
li.form-check.radio-button.ms-0.ps-3
input#onlyPosted.form-check-input(type="radio" name="posted")
label.radio-button-labels.form-check-label.ms-0(
for="onlyPosted"
)
| Objavljeni
.options-another-box
li.form-check.radio-button.ms-0.ps-3
input#notPosted.form-check-input(type="radio" name="posted")
label.radio-button-labels.form-check-label.ms-0(
for="notPosted"
)
| Neobjavljeni
.col.mb-3.mb-md-0
span.name-info-txt Izberite, ali želite izpisati samo objavljene ali tudi neobjavljene slovarske sestavke.
.row.phases.align-items-center
.col-xxl-6.col-md-7
span.header-table-wrapper Faze urejanja
ul.d-sm-flex.validity-row.ps-2.mb-0.mb-md-2
.options-width-box
li.form-check.radio-button.ms-0.ps-3
input#allEditedKeys.form-check-input(
type="radio"
name="edited"
checked
)
label.radio-button-labels.form-check-label.ms-0.text-nowrap(
for="allEditedKeys"
)
| Vsi slovarski sestavki
.options-another-box
li.form-check.radio-button.ms-0.ps-3
input#editedKeys.form-check-input(type="radio" name="edited")
label.radio-button-labels.form-check-label.ms-0(
for="editedKeys"
)
| Urejeni
.options-another-box
li.form-check.radio-button.ms-0.ps-3
input#inEditing.form-check-input(type="radio" name="edited")
label.radio-button-labels.form-check-label.ms-0(
for="inEditing"
)
| V urejanju
.col.mb-3.mb-md-0
span.name-info-txt Izberite, ali želite izpisati vse slovarske sestavke ali samo tiste, ki so v določeni fazi urejanja.
.row.proffesional-check.align-items-center
.col-xxl-6.col-md-7
span.header-table-wrapper Strokovni pregled
ul.d-sm-flex.validity-row.ps-2.mb-0.mb-md-2
.options-width-box
li.form-check.radio-button.ms-0.ps-3
input#allChecked.form-check-input(
type="radio"
name="professionallyChecked"
checked
)
label.radio-button-labels.form-check-label.ms-0(
for="allChecked"
)
| Vsi slovarski sestavki
.options-another-box
li.form-check.radio-button.ms-0.ps-3
input#onlyProffesionallyChecked.form-check-input(
type="radio"
name="professionallyChecked"
)
label.radio-button-labels.form-check-label.ms-0(
for="onlyProffesionallyChecked"
)
| Pregledani
.options-another-box
li.form-check.radio-button.ms-0.ps-3
input#notProffesionallyChecked.form-check-input(
type="radio"
name="professionallyChecked"
)
label.radio-button-labels.form-check-label.ms-0(
for="notProffesionallyChecked"
)
| Nepregledani
.col.mb-3.mb-md-0
span.name-info-txt Izberite, ali želite izpisati samo strokovno pregledane slovarske sestavke.
.row.terminology-check.align-items-center
.col-xxl-6.col-md-7
span.header-table-wrapper Jezikovni pregled
ul.d-sm-flex.validity-row.ps-2.mb-0.mb-md-2
.options-width-box
li.form-check.radio-button.ms-0.ps-3
input#allGramaticallyChecked.form-check-input(
type="radio"
name="gramaticallyChecked"
checked
)
label.radio-button-labels.form-check-label.ms-0(
for="allGramaticallyChecked"
)
| Vsi slovarski sestavki
.options-another-box
li.form-check.radio-button.ms-0.ps-3
input#onlyGramaticallyChecked.form-check-input(
type="radio"
name="gramaticallyChecked"
)
label.radio-button-labels.form-check-label.ms-0(
for="onlyGramaticallyChecked"
)
| Pregledani
.options-another-box
li.form-check.radio-button.ms-0.ps-3
input#notGramaticallyChecked.form-check-input(
type="radio"
name="gramaticallyChecked"
)
label.radio-button-labels.form-check-label.ms-0(
for="notGramaticallyChecked"
)
| Nepregledani
.col.mb-3.mb-md-0
span.name-info-txt Izberite, ali želite izpisati samo jezikovno pregledane slovarske sestavke.
.file-type
span.new-user-info FORMAT ZAPISA
.row.align-items-center
.col-xxl-6.col-md-7
.form-check.radio-button.ms-2.ps-3
input#file-format-xml.form-check-input(
type="radio"
name="importFileFormat"
value="xml"
checked
)
label.form-check-label.ms-0(for="file-format-xml")
| XML
.form-check.radio-button.ms-3
input#file-format-csv.form-check-input(
type="radio"
name="importFileFormat"
value="csv"
)
label.form-check-label.ms-0(for="file-format-csv")
| CSV
.form-check.radio-button.ms-3
input#file-format-tsv.form-check-input(
type="radio"
name="importFileFormat"
value="tsv"
)
label.form-check-label.ms-0(for="file-format-tsv")
| TSV
.form-check.radio-button.ms-3
input#file-format-txt.form-check-input(
type="radio"
name="importFileFormat"
value="txt"
)
label.form-check-label.ms-0(for="file-format-txt")
| TXT
.col.mb-3.mb-md-0
span.name-info-txt Izberite format izpisa vašega slovarja.
button.btn.btn-primary.mt-4 IZVOZI
.latest-exports.mt-4
.d-flex.w-100.justify-content-between
.d-flex
span.info-text-for-button Zadnji izvozi
.d-flex
include /utilities/pager
+pager(1,2,3,1,3,true)
.d-block.w-100
include /utilities/table-mixin
-
const headerRow = ['Datum', 'Vrsta', 'Št. gesel', 'Status']
const dataRows = [
['12.12.2012', 'Oznaka', 'Št. gesel', 'Oznaka', ""],
['12.12.2012', 'Oznaka', 'Št. gesel', 'Oznaka', {button: {content:"Shrani"}}],
['12.12.2012', 'Oznaka', 'Št. gesel', 'Oznaka', {button: {content:"Shrani"}}],
['12.12.2012', 'Oznaka', 'Št. gesel', 'Oznaka', {button: {content:"Shrani"}}],
['12.12.2012', 'Oznaka', 'Št. gesel', 'Oznaka', {button: {content:"Shrani"}}]
]
+tableHeader(headerRow, dataRows)
include /common/footer
@@ -0,0 +1,66 @@
extends /layout
block pageSpecificScipts
script(nonce=cspNonce src="/javascripts/dictionaries.js")
script(nonce=cspNonce src="/javascripts/dictionary-import-extraction.js")
block body
section#fixed-top-section
include /common/main-navigation
+main-navigation(false)
include /common/side-menu-mixin-dictionaries
- const d = { activeLvl1: 'import', activeLvl2: 'extraction' }
+sideNavigation(d)
include /utilities/dictionaries-main-panel-header
- const c = { sideMenu: true, h2: dictionaryName, h1: 'Uvoz iz luščilnika', description: 'Rezultat luščenja so terminološki kandidati. Z uvozom rezultatov posameznega luščenja lahko dopolnite geslovnik terminološkega slovarja, ki ga urejate.', buttons: [] }
+mainHeader(c)
.content-hold-prerequisites
#offset-main.main-container.mt-3
.small-name-area
.subject-name
span.input-name-txt IME LUŠČENJA
.row
.col-lg-6
select#select-extraction-name.name-input.d-inline.form-control
option(selected value="" disabled hidden)= 'Izberite luščenje'
each el in extractions
option(value=el.id)= el.name
.col-sm.d-flex.align-items-center
span.name-info-txt.ms-lg-3.mt-2.mt-lg-0 Izberite enega od rezultatov luščenja s seznama.
.list-terminology-candidates.mt-4.me-2
.d-flex.w-100.justify-content-between
.d-flex.align-items-center
span.info-text-for-button Seznam terminoloških kandidatov
.d-flex
include /utilities/pager
+pager
.table-responsive.mt-2.me-2
table.styled-table
thead
tr
th= '#'
th= 'KANONIČNA OBLIKA'
th= 'RANKING'
th= 'POGOSTOST OBJAVLJANJA'
tbody#page-results
.row.mt-4
.me-0.pe-0.d-flex.align-items-center
span.radio-button-labels Uvozi termine od številke
input.without-arrows.form-control.terminology-input.ms-1(
type="number"
maxlength="5"
name="from"
min="0"
)
span.radio-button-labels.ms-1 do številke
input.without-arrows.form-control.terminology-input.ms-1(
type="number"
maxlength="5"
name="to"
min="0"
)
button.btn.btn-primary.mt-4(disabled) UVOZI
include /common/footer
+154
View File
@@ -0,0 +1,154 @@
extends /layout
block pageSpecificScipts
script(nonce=cspNonce src="/javascripts/dictionaries.js")
block body
section#fixed-top-section
include /common/main-navigation
+main-navigation(false)
include /common/side-menu-mixin-dictionaries
- const d = { activeLvl1: 'import', activeLvl2: 'file' }
+sideNavigation(d)
include /utilities/dictionaries-main-panel-header
- const c = { sideMenu: true, h2: dictionaryName, h1: 'Uvoz iz datoteke', description: 'Če imate pripravljen slovar v enem od formatov, ki so navedeni spodaj, lahko svoje podatke uvozite.', buttons: [] }
+mainHeader(c)
.content-hold-prerequisites
#offset-main.main-container
.import-container.mt-3.ms-1
form#file-import-form(method="post" enctype="multipart/form-data")
.file-type
span.new-user-info DATOTEKA
.row
.col-md-6.ms-2.white-border-background.p-4.d-flex.align-items-center.justify-content-between
.align-items-center.d-flex
span#chosen-file.info-text-for-button Izberi datoteko
div
label(for="upload")
button#button-import.btn.btn-primary(type="button") IZBERI
input#upload(
type="file"
name="dictionaryImportFile"
accept=".xml"
)
.col-md.d-flex.align-items-center
span.name-info-txt Izberite slovarske podatke, ki ste jih shranili na svojem računalniku.
.file-type.mt-4
span.new-user-info NAČIN UVOZA
.row
.col-sm-6.ms-2
.checkbox
input#flexCheckDefault.form-check-input(
type="checkbox"
name="deleteExistingEntries"
)
label.form-check-label(for="flexCheckDefault")
span.user-email Izbriši obstoječe slovarske sestavke.
.col
span.name-info-txt Če izberete to možnost, se bodo vsi doslejšnji slovarski sestavki ob uvozu nove datoteke izbrisali.
.file-type.mt-4
span.new-user-info FAZA UREJANJA
#file-type-selection.file-types
.row
.col-sm-6.ms-2
.form-check.radio-button.ms-0.ps-3
input#in-edit-radio.form-check-input(
type="radio"
name="entryStatus"
value="inEdit"
checked
)
label.form-check-label.ms-0(for="in-edit-radio")
| V urejanju
#complete-radio.form-check.radio-button.ms-3
input#complete-radio.form-check-input(
type="radio"
name="entryStatus"
value="complete"
)
label.form-check-label.ms-0(for="complete-radio")
| Urejeno
.col
span.name-info-txt Z izbiro te možnosti boste pobrisali samo slovarske sestavke, ki so v določeni fazi urejanja.
.file-type.mt-4
span.new-user-info FORMAT ZAPISA
#file-type-selection.file-types
.row
.col-sm-6.ms-2.text-nowrap
.form-check.radio-button.ms-0.ps-3
input#file-format-xml.form-check-input(
type="radio"
name="importFileFormat"
value="xml"
checked
)
label.form-check-label.ms-0(for="file-format-xml")
| XML
.form-check.radio-button.ms-2
input#file-format-csv.form-check-input(
type="radio"
name="importFileFormat"
value="csv"
)
label.form-check-label.ms-0(for="file-format-csv")
| CSV
.form-check.radio-button.ms-2
input#file-format-tsv.form-check-input(
type="radio"
name="importFileFormat"
value="tsv"
)
label.form-check-label.ms-0(for="file-format-tsv")
| TSV
.form-check.radio-button.ms-2
input#file-format-txt.form-check-input(
type="radio"
name="importFileFormat"
value="txt"
)
label.form-check-label.ms-0(for="file-format-txt")
| TXT
.col
span.name-info-txt Izberite format datoteke, v kateri je slovar shranjen na vašem računalniku.
.file-type.mt-4
button.btn.btn-primary.mt-4 UVOZI
.latest-uploads.mt-4
.d-flex.w-100.justify-content-between
.d-flex
span.info-text-for-button Zadnji uvozi test
.d-flex
include /utilities/pager
+pager
-
const localeOptions = {
day: '2-digit',
month: '2-digit',
year: 'numeric',
hour: '2-digit',
minute: '2-digit',
second: '2-digit'
}
if imports.length
.table-responsive
table.styled-table
thead
tr
th= 'DATUM'
th= 'VRSTA'
th= 'ŠT. GESEL'
th= 'STATUS'
th= ''
each element in imports
tr
td= element.timeStarted.toLocaleDateString('sl-SL', localeOptions)
td= element.fileFormat
td= element.countValidEntries
td= element.status
else
p Ni še dodanih uvozov.
include /common/footer
+81
View File
@@ -0,0 +1,81 @@
extends /layout
block pageSpecificScipts
script(nonce=cspNonce src="/javascripts/dictionaries.js")
block body
section#fixed-top-section
include /common/main-navigation
+main-navigation(false)
include /common/side-menu-fake
+sideNavigationFake
include /utilities/dictionaries-main-panel-header
if user
- const c = { sideMenu: false, h2: 'Urejanje', h1: 'Moji slovarji', description: 'Nabor vseh slovarjev, ki jih uporabnik lahko ureja kot glavni urednik ali pa ima dodeljeno pravico urejanja, pregledovanja, popravljanja ipd.', buttons: [{ type: 'link', content: 'Nov slovar', url: '/slovarji/nov' }] }
+mainHeader(c)
.content-hold-prerequisites
#offset-main.ps-3.pe-3
if dictionaries.length
-
const localeOptions = {
day: '2-digit',
month: '2-digit',
year: 'numeric'
}
each dictionary, index in dictionaries
div(
class=index ? 'container-fluid dictionary-content mt-4 pb-2 pt-1' : 'container-fluid dictionary-content mt-3 pb-2 pt-1'
)
p.dictionary-title.mb-2.mt-2.ms-2= dictionary.nameSl
hr.me-2.mt-0.ms-2.mb-4
.container-fluid
.d-sm-flex
.d-lg-flex
.d-sm-flex.mt-2
span.dictionary-attributes.me-3.text-nowrap Število terminov
span.dictionary-value.me-5= dictionary.countEntries
.d-sm-flex.mt-2
span.dictionary-attributes.me-3.ms-xl-5.text-nowrap Zadnja sprememba
span.dictionary-value.me-md-5.me-2.d-block= dictionary.timeModified.toLocaleDateString('sl-SL', localeOptions)
.d-lg-flex
.d-sm-flex.mt-2
span.dictionary-attributes.me-3.ms-xl-5.d-inline Status
span.dictionary-value.me-5= dictionary.status === 'closed' ? 'zaprt' : dictionary.status === 'reviewed' ? 'v predogledu' : 'odprt'
.d-sm-flex.mt-2
span.dictionary-attributes.me-3.ms-lg-0.ms-xl-5.d-inline Komentarji
span.dictionary-value.me-5= dictionary.countComments
.container-fluid.d-md-flex.p-0.mt-3.justify-content-between
.d-xl-flex.justify-content-between
a.btn.btn-secondary.mb-2.mt-2.w-100.w-sm-none(
href=`/slovarji/${dictionary.id}/podatki`
)
img.d-inline(src="/images/vector.svg" alt="")
span.ms-1.text-nowrap Uredi lastnosti
a.btn.btn-secondary.mb-2.mt-2.ms-xl-4.w-100.w-sm-none(
href=`/slovarji/${dictionary.id}/vsebina`
)
img.d-inline(src="/images/book-colorized.svg" alt="")
span.ms-1.text-nowrap Uredi vsebino
.ms-md-4.ms-xl-auto.d-xl-flex.justify-content-between
a.btn.btn-secondary.mb-2.mt-2.me-4.w-100.w-sm-none(
href=`/slovarji/${dictionary.id}/uvoz/datoteka`
)
img.d-inline(src="/images/fi_upload.svg" alt="")
span.ms-1 Uvoz
a.btn.btn-secondary.mb-2.mt-2.w-100.w-sm-none(
href=`/slovarji/${dictionary.id}/izvoz`
)
img.d-inline(src="/images/fi_download.svg" alt="")
span.ms-1 Izvoz
else
.d-flex.justify-content-center.mt-5
p Nimate slovarjev za urejanje.
else
- const c = { sideMenu: false, h2: 'Urejanje', h1: 'Moji slovarji', description: 'Nabor vseh slovarjev, ki jih uporabnik lahko ureja kot glavni urednik ali pa ima dodeljeno pravico urejanja, pregledovanja, popravljanja ipd.' }
+mainHeader(c)
.content-hold-prerequisites.pe-md-5.ps-4.pe-2
#offset-main.pe-3.ps-2
.d-flex.justify-content-center.mt-5
p Za urejanje slovarjev morate biti prijavljeni.
include /common/footer
+21
View File
@@ -0,0 +1,21 @@
extends /layout
block pageSpecificScipts
script(nonce=cspNonce src="/javascripts/dictionaries.js")
block body
section#fixed-top-section
include /common/main-navigation
+main-navigation(false)
include /common/side-menu-fake
+sideNavigationFake
include /utilities/dictionaries-main-panel-header
- const c = {sideMenu:false, h2: 'Urejanje', h1: 'Nov slovar', description: 'Izpolnite polja in na kratko opišite vsebino terminološkega slovarja.', helpLink: { linkHref: '/pomoc#help-editor', linkText: 'Več ...' }, buttons: [{ type: 'cancel', content: 'Prekliči', classAtr:"btn btn-secondary header-btn-secondary link-back" },{ type: 'button', content: 'Ustvari', form: 'form-dictionary-new' }] }
+mainHeader(c)
.content-hold-prerequisites
#offset-main.container-fluid.mt-4.ps-sm-3
include /utilities/dictionary-main-input
+dictionaryMainInput({ formId: 'form-dictionary-new', hasStructure: true})
include /utilities/modal-alert
include /common/footer
@@ -0,0 +1,23 @@
extends /layout
block pageSpecificScipts
script(nonce=cspNonce src="/javascripts/dictionaries.js")
block body
section#fixed-top-section
include /common/main-navigation
+main-navigation(false)
include /common/side-menu-mixin-dictionaries
- const d = { activeLvl1: 'attributes', activeLvl2: 'structure' }
+sideNavigation(d)
include /utilities/dictionaries-main-panel-header
- const c = { sideMenu: true, h2: dictionary.nameSl, h1: 'Struktura slovarskega sestavka', description: 'V tem razdelku lahko določite elemente slovarskega sestavka. Z izbiro elementov se vam prikazuje podoba slovarskega sestavka. Izbiro lahko tudi med urejanjem vsebine kadarkoli spremenite.', helpLink: { linkHref: '/pomoc', linkText: 'Več ...' }, buttons: [{ type: 'disabled', content: 'Shrani', form: 'form-dictionary-structure' }] }
+mainHeader(c)
.content-hold-prerequisites
#offset-main.main-container
form#form-dictionary-structure.needs-validation(method="post" novalidate)
include /utilities/dictionary-structure-input
include /utilities/modal-alert-mixin
+alertModal('unsaved-data', 'Shrani', 'Ne', 'modal-save-btn', 'modal-dont-save-btn', 'Imate neshranjene spremebe. Ali jih želite shraniti?')
include /common/footer
+283
View File
@@ -0,0 +1,283 @@
extends /layout
block pageSpecificScipts
script(nonce=cspNonce src="/javascripts/admin.js")
block body
section#fixed-top-section
include /common/main-navigation
+main-navigation(false)
include /common/side-menu-mixin-dictionaries
- const d = { activeLvl1: 'attributes', activeLvl2: 'users' }
+sideNavigation(d)
include /utilities/dictionaries-main-panel-header
- const c = { sideMenu: true, h2: dictionary.nameSl, h1: 'Uporabniki', description: 'Registrirani uporabniki lahko dobijo različne vloge na portalu. Kot administrator jim lahko dodelite tudi vlogo skrbnika slovarjev in/ali skrbnika svetovalnice.', buttons: [{ type: 'disabled', content: 'Shrani', form: 'admin-dictionary-users' }] }
+mainHeader(c)
.content-hold-prerequisites
#offset-main.main-container.mt-1
form#admin-dictionary-users.container-xxl.ms-0.ps-0(method="post")
span.users-subtitle-txt.ms-0 Faze urejanja
.row.align-items-center.mt-2
.col-sm-6
.switch-forms-and-key-word.d-md-flex.mt-2
.switch-forms
.form-check.form-switch.d-flex
input#preposition.form-check-input(
type="checkbox"
disabled
checked
)
label.form-check-label(for="preposition") Predlog
.col-sm
span.name-info-txt V slovarju so samo terminološki kandidati. Slovarja ne morete objaviti.
.row.align-items-center
.col-sm-6
.switch-forms-and-key-word.d-md-flex
.switch-forms
.form-check.form-switch.d-flex
input#editing.form-check-input(
type="checkbox"
disabled
checked
)
label.form-check-label(for="editing") V urejanju
.col-sm
span.name-info-txt Slovarski sestavek je v fazi, ko se dodajajo in oblikujejo elementi, ki ste jih izbrali v strukturi slovarskega sestavka.
a.ms-1.name-info-txt(href="/pomoc#help-users-dict" target="_blank") Več...
.row.align-items-center
.col-sm-6
.switch-forms-and-key-word.d-md-flex
.switch-forms
.form-check.form-switch.d-flex
input#edited.form-check-input(
type="checkbox"
disabled
checked
)
label.form-check-label(for="edited") Urejeno
.col-sm
span.name-info-txt Slovarski sestavek je pregledan in dokončan.
.row.align-items-center.mt-2
.col-sm-6
.switch-forms-and-key-word.d-md-flex
.switch-forms
if dictionary.terminologyReviewFlag
.form-check.form-switch.d-flex
input#terminology_review.form-check-input(
type="checkbox"
name="hasTerminologyReview"
checked
)
label.form-check-label(for="terminology_review") Strokovno pregledano
else
.form-check.form-switch.d-flex
input#terminology_review.form-check-input(
type="checkbox"
name="hasTerminologyReview"
)
label.form-check-label(for="terminology_review") Strokovno pregledano
.col-sm
span.name-info-txt Slovar je pregledal področni strokovnjak.
.row.align-items-center.mt-2
.col-sm-6
.switch-forms-and-key-word.d-md-flex
.switch-forms
if dictionary.languageReviewFlag
.form-check.form-switch.d-flex
input#language_review.form-check-input(
type="checkbox"
name="hasLanguageReview"
checked
)
label.form-check-label(for="language_review") Jezikovno pregledano
else
.form-check.form-switch.d-flex
input#language_review.form-check-input(
type="checkbox"
name="hasLanguageReview"
)
label.form-check-label(for="language_review") Jezikovno pregledano
.col-sm
span.name-info-txt Slovar je pregledal jezikoslovec.
.container-xl.mt-4.ms-0.ps-0
span.users-subtitle-txt.ms-0.mt-3 Uporabniške pravice/vloge
table#user-roles-table.table-users.table-borderless.align-middle.mt-3
thead
tr
th.col-2
span.user-rights-column-title Uporabnik
th.col-2
span.user-rights-column-title Administracija
th.col-2.text-center
span.user-rights-column-title Urejanje
th.col-2
span#txt-term-rev.user-rights-column-title Strokovni pregled
th.col-2
span#txt-lang-rev.user-rights-column-title Jezikovni pregled
th.col-1.justify-content-center
span.hidden-text Izbriši polje
if userRights
each el in userRights
tbody.user-data.pb-xl-2
tr
input.hidden-user-id(type="hidden" value=el.id)
td.d-grid.justify-content-left.justify-content-xl-center.mb-0.align-items-center(
scope="row"
data-label=""
)
span.user-name-last-name= el.userName
span.user-email= el.email
td.pt-1.pb-1(data-label="Administrator")
.form-check.d-flex.justify-content-left.justify-content-xl-center.mb-0.align-items-center
if el.hasAdministration
input.administration-cb.form-check-input(
type="checkbox"
name=`rightsPerUser['${el.id}'][isAdministration]`
checked
)
else
input.administration-cb.form-check-input(
type="checkbox"
name=`rightsPerUser['${el.id}'][isAdministration]`
)
td.pt-1.pb-1(data-label="Urejanje")
.form-check.d-flex.justify-content-left.justify-content-xl-center.mb-0.align-items-center
if el.hasEditing
input.edit-cb.form-check-input(
type="checkbox"
name=`rightsPerUser['${el.id}'][isEditing]`
checked
)
else
input.edit-cb.form-check-input(
type="checkbox"
name=`rightsPerUser['${el.id}'][isEditing]`
)
td.pt-1.pb-1(data-label="Strokovni pregled")
.form-check.d-flex.justify-content-left.justify-content-xl-center.mb-0.align-items-center
if el.hasTerminologyReview
input.terminology-review-cb.form-check-input(
type="checkbox"
name=`rightsPerUser['${el.id}'][isTerminologyReview]`
checked
)
else
input.terminology-review-cb.form-check-input(
type="checkbox"
name=`rightsPerUser['${el.id}'][isTerminologyReview]`
)
td.pt-1.pb-1(data-label="Jezikovni pregled")
.form-check.d-flex.justify-content-left.justify-content-xl-center.mb-0.align-items-center
if el.hasLanguageReview
input.language-review-cb.form-check-input(
type="checkbox"
name=`rightsPerUser['${el.id}'][isLanguageReview]`
checked
)
else
input.language-review-cb.form-check-input(
type="checkbox"
name=`rightsPerUser['${el.id}'][isLanguageReview]`
)
td.delete-user-btn.pt-3.delete-row(
value=`${el.id}`
data-bs-target="#alert-modal"
data-bs-toggle="modal"
)
img.icon-trash-delete(
src="/images/red-trash-icon.svg"
alt="Delete"
)
form#form-add-user.container-xl.new-user-input.mt-4.ps-0.ms-0(
action="/api/v1/users/addUser"
)
span.new-user-info NOV UPORABNIK
.row.d-flex.justify-content-lg-start.align-items-center.mt-2.ms-0.ps-0
.col-lg-6.ms-0.ps-0.me-2
input.name-input.d-inline.form-control.ms-0.ps-0(
type="text"
name="userNameEmail"
autocomplete="off"
)
.col.ms-xl-4.ms-0.ps-0.d-flex.justify-content-start.mt-2.mt-lg-0
button.btn.btn-primary Dodaj
- const minEntriesNum = parseInt(minEntries)
- const countEntries = parseInt(entriesCount)
.container-xxl.ms-0.ps-0
.row.align-items-center
.col-sm-6.mt-4
.switch-forms-and-key-word.d-md-flex
.form-check.form-switch.d-flex
if publishApproval === 'F'
if dictionary.status === 'closed'
input#publish-switch.form-check-input(
type="checkbox"
name="isPublished"
form="admin-dictionary-users"
disabled=countEntries < minEntriesNum ? true : false
)
if dictionary.status === 'published'
input#publish-switch.form-check-input(
type="checkbox"
name="isPublished"
form="admin-dictionary-users"
checked
)
else
if dictionary.status === 'closed'
input#publish-switch.form-check-input(
type="checkbox"
name="isPublished"
form="admin-dictionary-users"
disabled=countEntries < minEntriesNum ? true : false
)
if dictionary.status === 'reviewed'
input#publish-switch.form-check-input(
type="checkbox"
name="isPublished"
form="admin-dictionary-users"
checked
disabled
)
if dictionary.status === 'published'
input#publish-switch.form-check-input(
type="checkbox"
name="isPublished"
form="admin-dictionary-users"
checked
)
label.form-check-label(for="publish-switch") Slovar odprt
.col-sm
span.name-info-txt Slovar je pregledal jezikoslovec.
if dictionary.status === 'published' && countEntries < minEntriesNum
.col-sm-6
span.mt-3.d-md-inline.d-block.normal-red-note Število slovarskih sestavkov je manjše od zahtevanega števila - povečajte število slovarskih sestavkov, sicer ga skrbnik slovarjev lahko zapre
if publishApproval === 'T' && dictionary.status === 'reviewed'
.col-sm-6
span.mt-3.d-md-inline.d-block.normal-red-note Slovar je v odpiranju - čaka na potrditev skrbnika slovarjev
include /utilities/modal-alert
include /utilities/modal-response
+responseModal
include /utilities/modal-alert-mixin
+alertModal('unsaved-data', 'Shrani', 'Ne', 'modal-save-btn', 'modal-dont-save-btn', 'Imate neshranjene spremebe. Ali jih želite shraniti?')
include /common/footer
@@ -0,0 +1,59 @@
extends /layout
block pageSpecificScipts
script(nonce=cspNonce src="/javascripts/extraction.js")
script(nonce=cspNonce src="/javascripts/extraction-files-edit.js")
block body
section#fixed-top-section
include /common/main-navigation
+main-navigation(false)
include /common/side-menu-fake
+sideNavigationFake
include /utilities/dictionaries-main-panel-header
- const c = { noSidebar: false, hrefurl: '.', h2: 'Luščenje iz lastnih besedil | dodaj opravilo ', h1: 'Uporabnikovi dokumenti', description: 'Uporabnik na tem mestu izdela specializirani korpus iz besedil, ki jih je zbral in shranil sam. Besedila naj bodo izbrana po načelih tvorjenja specializiranih korpusov. Za uspešno luščenje priporočamo najmanj 10 besedil. Vsa besedila naj bodo shranjena v besedilnem formatu (.txt). Luščenje podpira tudi formate .docx in .pdf, vendar so rezultati slabši.', buttons: [{ type: 'cancel', content: 'Nazaj', classAtr: 'btn btn-secondary header-btn-secondary link-back' }] }
+mainHeader(c)
.content-hold-prerequisites.mt-2
#offset-main
.table-tasks
.table-responsive
table.styled-table
thead
tr
th= 'ID'
th= 'IME DATOTEKE'
th= 'VELIKOST'
th= 'DATUM'
th= ''
tbody#files-list
each document, index in extractionDocuments
tr
td= index + 1
td.filename= document.filename
td= document.size
td= new Date(document.timeModified).toLocaleDateString('sl-SL')
td
button.p-0.delete-file.delete-btn-table(type="button")
img(src="/images/red-trash-icon.svg" alt="Izbriši")
span.ms-2 Briši
.row.ms-2.me-2.align-items-center.mt-4
form#upload-files.col-sm-5.upload-a-file-field.p-2.align-items-center.d-flex(
method="post"
enctype="multipart/form-data"
)
input(type="hidden" name="extractionId" value=id)
.col-sm-5.upload-inner-border.w-100.justify-content-center.d-sm-flex.p-3.drag-area
div
button.btn.btn-primary(type="button") Dodaj datoteko
input#upload(
type="file"
name="extractionFile"
accept=".txt, .doc, .docx, .pdf"
multiple
hidden
)
.col.d-flex.align-items-center.ms-md-3
span.gray-info Dodaj besedilo za luščenje terminoloških kandidatov iz lastnega specializiranega korpusa. Ko boste dodali vsa besedila, ki ste jih izbrali, morate izbiro shraniti.
include /utilities/modal-spinner
include /utilities/modal-alert
include /common/footer
+364
View File
@@ -0,0 +1,364 @@
extends /layout
block pageSpecificScipts
script(nonce=cspNonce src="/javascripts/extraction.js")
script(nonce=cspNonce src="/javascripts/extraction-oss-edit.js")
block body
section#fixed-top-section
include /common/main-navigation
+main-navigation(false)
include /common/side-menu-fake
+sideNavigationFake
include /utilities/dictionaries-main-panel-header
- const c = { noSidebar: false, hrefurl: '/luscenje', h2: 'Luščenje iz korpusa besedil OSS', h1: 'Korpus OSS', description: 'Luščenje terminoloških kandidatov iz besedil, ki so že predhodno oblikoslovno označena, nudi dobre rezultate, vendar je treba nabor besedil omejiti. Svetujemo vam, da zoožite področje in dodatno omejite izbiro s tipi besedil in časovnim razponom, v katerih so nastala. Ko vnesete podatke, morate vse spremembe shraniti. Po vnosu podatkov, s katerimi boste omejili nabor izbranih besedil, morate pritisniti gumb Najdi. Izbiro boste shranili lahko le v primeru, da ne bo število najdenih dokumentov preveliko.', buttons: [{ type: 'cancel', url: '/luscenje', content: 'Nazaj', classAtr: 'btn btn-secondary header-btn-secondary' }] }
+mainHeader(c)
.content-hold-prerequisites
#offset-main.mt-2
form#form-edit-oss(method="post")
.title
.subject-name
label.smaller-black-uppercase(for="name") IME
.row
.col-sm-6
input.name-input.form-control.d-inline(
type="text"
name="name"
value=extraction.name
)
.col-sm.d-flex.align-items-center
span.d-md-inline.d-block.smaller-gray-info.ms-xxl-3.ms-md-3 Izberite takšno ime, ki vam bo pomagalo slediti rezultatom, če boste luščenje besedil opravili večkrat.
.cerif.mt-4
.subject-name
label.smaller-black-uppercase PODROČJE
.row
.col-sm-6
select.name-input.form-control.d-inline(name="domain")
option
each domain in allPrimaryDomains
option(
value=domain.id
selected=domain.id === extraction.domainId
)= domain.nameSl
.col-sm.d-flex.align-items-center
span.d-md-inline.d-block.smaller-gray-info.ms-xxl-3.ms-md-3 Izberite področje iz seznama področij, da zmanjšate obseg besedil, iz katerih bo potekalo luščenje.
.cerif.mt-4
.subject-name
label.smaller-black-uppercase VRSTA DOKUMENTA
.row
.col-sm-6
select.pick-multiple.name-input.form-control.d-inline(
name="documentType"
multiple
)
option
option(
value=101
selected=extraction.documentType.includes(101)
) Izvirni znanstveni članek
option(
value=102
selected=extraction.documentType.includes(102)
) Pregledni znanstveni članek
option(
value=103
selected=extraction.documentType.includes(103)
) Kratki znanstveni prispevek
option(
value=104
selected=extraction.documentType.includes(104)
) Strokovni članek
option(
value=105
selected=extraction.documentType.includes(105)
) Poljudni članek
option(
value=106
selected=extraction.documentType.includes(106)
) Objavljeni znanstveni prispevek na konferenci (vabljeno predavanje)
option(
value=107
selected=extraction.documentType.includes(107)
) Objavljeni strokovni prispevek na konferenci (vabljeno predavanje)
option(
value=108
selected=extraction.documentType.includes(108)
) Objavljeni znanstveni prispevek na konferenci
option(
value=109
selected=extraction.documentType.includes(109)
) Objavljeni strokovni prispevek na konferenci
option(
value=110
selected=extraction.documentType.includes(110)
) Objavljeni povzetek znanstvenega prispevka na konferenci (vabljeno predavanje)
option(
value=112
selected=extraction.documentType.includes(112)
) Objavljeni povzetek znanstvenega prispevka na konferenci
option(
value=113
selected=extraction.documentType.includes(113)
) Objavljeni povzetek strokovnega prispevka na konferenci
option(
value=116
selected=extraction.documentType.includes(116)
) Samostojni znanstveni sestavek ali poglavje v monografski publikaciji
option(
value=117
selected=extraction.documentType.includes(117)
) Samostojni strokovni sestavek ali poglavje v monografski publikaciji
option(
value=118
selected=extraction.documentType.includes(118)
) Geslo sestavek v enciklopediji, leksikonu, slovarju...
option(
value=119
selected=extraction.documentType.includes(119)
) Recenzija, prikaz knjige, kritika
option(
value=120
selected=extraction.documentType.includes(120)
) Predgovor, spremna beseda
option(
value=121
selected=extraction.documentType.includes(121)
) Polemika, diskusijski prispevek
option(
value=122
selected=extraction.documentType.includes(122)
) Intervju
option(
value=123
selected=extraction.documentType.includes(123)
) Umetniški sestavek
option(
value=124
selected=extraction.documentType.includes(124)
) Bibliografija, kazalo ipd.
option(
value=125
selected=extraction.documentType.includes(125)
) Drugi članki ali sestavki
option(
value=201
selected=extraction.documentType.includes(201)
) Znanstvena monografija
option(
value=202
selected=extraction.documentType.includes(202)
) Strokovna monografija
option(
value=203
selected=extraction.documentType.includes(203)
) Univerzitetni, visokošolski ali višješolski učbenik z recenzijo
option(
value=204
selected=extraction.documentType.includes(204)
) Srednješolski, osnovnošolski ali drugi učbenik z recenzijo
option(
value=205
selected=extraction.documentType.includes(205)
) Video in druga učna gradiva
option(
value=206
selected=extraction.documentType.includes(206)
) Enciklopedija, slovar, leksikon, priročnik, atlas, zemljevid
option(
value=207
selected=extraction.documentType.includes(207)
) Bibliografija
option(
value=208
selected=extraction.documentType.includes(208)
) Doktorska disertacija
option(
value=209
selected=extraction.documentType.includes(209)
) Magistrsko delo
option(
value=210
selected=extraction.documentType.includes(210)
) Specialistično delo
option(
value=211
selected=extraction.documentType.includes(211)
) Diplomsko delo
option(
value=212
selected=extraction.documentType.includes(212)
) Končno poročilo o rezultatih raziskav
option(
value=213
selected=extraction.documentType.includes(213)
) Elaborat, predštudija, študija
option(
value=214
selected=extraction.documentType.includes(214)
) Projektna dokumentacija (idejni projekt, izvedbeni projekt)
option(
value=215
selected=extraction.documentType.includes(215)
) Izvedensko mnenje, arbitražna odločba
option(
value=216
selected=extraction.documentType.includes(216)
) Umetniško delo
option(
value=217
selected=extraction.documentType.includes(217)
) Katalog razstave
option(
value=218
selected=extraction.documentType.includes(218)
) Raziskovalni ali dokumentarni film, zvočni ali video posnetek
option(
value=219
selected=extraction.documentType.includes(219)
) Radijska ali televizijska oddaja
option(
value=220
selected=extraction.documentType.includes(220)
) Raziskovalni podatki
option(
value=221
selected=extraction.documentType.includes(221)
) Programska oprema
option(
value=222
selected=extraction.documentType.includes(222)
) Nova sorta
option(
value=223
selected=extraction.documentType.includes(223)
) Patentna prijava
option(
value=224
selected=extraction.documentType.includes(224)
) Patent
option(
value=225
selected=extraction.documentType.includes(225)
) Druge monografije in druga zaključena dela
option(
value=227
selected=extraction.documentType.includes(227)
) Znanstveni terminološki slovar, enciklopedija ali tematski leksikon
option(
value=230
selected=extraction.documentType.includes(230)
) Zbornik strokovnih ali nerecenziranih znanstvenih prispevkov na konferenci
option(
value=231
selected=extraction.documentType.includes(231)
) Zbornik recenziranih znanstvenih prispevkov na mednarodni ali tuji konferenci
option(
value=232
selected=extraction.documentType.includes(232)
) Zbornik recenziranih znanstvenih prispevkov na domači konferenci
option(
value=310
selected=extraction.documentType.includes(310)
) Umetniška poustvaritev
option(
value=311
selected=extraction.documentType.includes(311)
) Radijski ali TV dogodek
option(
value=312
selected=extraction.documentType.includes(312)
) Razstava
option(
value=313
selected=extraction.documentType.includes(313)
) Organiziranje znanstvenih in strokovnih sestankov
option(
value=314
selected=extraction.documentType.includes(314)
) Predavanje na tuji univerzi
option(
value=315
selected=extraction.documentType.includes(315)
) Prispevek na konferenci brez natisa
option(
value=316
selected=extraction.documentType.includes(316)
) Vabljeno predavanje na konferenci brez natisa
option(
value=320
selected=extraction.documentType.includes(320)
) Druga dela
option(
value=325
selected=extraction.documentType.includes(325)
) Druga izvedena dela
.col-sm.d-flex.align-items-center
span.d-md-inline.d-block.smaller-gray-info.ms-xxl-3.ms-md-3 Izberite vrsto dokumenta iz seznama, npr. članek, diplomsko delo.
.year.mt-4
.subject-name
label.smaller-black-uppercase LETO
.row
.col-sm-6
select.enter-multiple.name-input.form-control.d-inline(
name="year"
multiple
)
each year in extraction.year
option(value=year selected)= year
.col-sm.d-flex.align-items-center
span.d-md-inline.d-block.smaller-gray-info.ms-xxl-3.ms-md-3 Dodajte leto izida besedil, ki jih želite luščiti. Lahko dodate več posameznih let. Če boste polje pustili prazno, bodo vključena vsa leta. Če bo besedil preveč, boste morali omejiti izbiro.
.words.mt-4
.subject-name
label.smaller-black-uppercase KLJUČNE BESEDE
.row
.col-sm-6
select.enter-multiple.name-input.form-control.d-inline(
name="keywords"
multiple
)
each keyword in extraction.keywords
option(value=keyword selected)= keyword
.col-sm.d-flex.align-items-center
span.d-md-inline.d-block.smaller-gray-info.ms-xxl-3.ms-md-3 S ključnimi besedami, ki so vključene v večino znanstvenih in strokovnih, lahko bolj natančno izberete besedila, ki jih želite uporabiti za luščenje terminoloških kandidatov.
.table-kas.mt-5.d-sm-flex
.d-flex.flex-column.col-sm-6
.personal-documents.justify-content-between.d-flex.align-items-center
span.smaller-black-uppercase (STOP) Termini
a#edit-stop-terms.btn.btn-primary.button-edit.align-items-center.d-flex.justify-content-center.me-2(
type="link"
href=`${id}/stop-termini`
) Uredi
div
table.table.mt-2
tbody
each file, index in stopTermsFiles
tr
th.normal-gray= index + 1
td.text-sm-start.normal-gray= file.filename
td.text-sm-end.normal-gray= file.size
.col.d-flex.ms-2
.d-md-inline.d-block.smaller-gray-info.ms-xxl-3.ms-md-3 Dodate lahko seznam besed, ki jih v seznam terminoloških kandidatov ne želite vključiti. Seznam naj bo shranjen v formatu .txt. Vse spremembe morate shraniti. #[a.smaller-gray-info(href="/pomoc#help-stop-lists") Več...]
.col-sm-4.mt-5
button#search-btn.btn.btn-primary(type="button") Najdi
#search-result
.task.task-completed.p-3.mb-3.mt-4.d-none
.d-sm-flex.justify-content-between
.d-sm-grid
span.normal-gray Število dokumentov
span#results-count.bold-weight-black
.d-sm-flex.align-items-center
button#save-params.btn.btn-primary.align-items-center.d-flex(
disabled
)
img(src="/images/external-link-white.svg")
span.ms-1 Shrani
include /utilities/modal-spinner
include /utilities/modal-alert
include /common/footer

Some files were not shown because too many files have changed in this diff Show More