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
@@ -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 → 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
@@ -0,0 +1,69 @@
extends /layout
block pageSpecificScipts
script(nonce=cspNonce src="/javascripts/extraction.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 lastnih besedil', h1: 'Dodaj opravilo', description: 'Luščenje terminoloških kandidatov iz besedil, ki jih uporabnik namensko izbere, je najučinkovitejše. Primerno izbrano ime opravila, vam omogoča, da lahko sledite, katera luščenja ste že opravili. Ko vnesete podatke, morate vse spremembe shraniti. Zaradi omejenega prostora za shranjevanje lahko shranite največ pet zadnjih luščenj. ', buttons: [{ type: 'cancel', url:'/luscenje', content: 'Prekliči', classAtr:"btn btn-secondary header-btn-secondary" }, { type: 'button', content: 'Shrani', form: 'extraction-name' }] }
+mainHeader(c)
.root-container
.content-hold-prerequisites.mt-2
#offset-main
form#extraction-name(method="post")
.subject-name
label.smaller-black-uppercase(for="name") IME
.row.pe-0
.col-sm-6.pe-0
input#name.name-input.form-control.d-inline(
type="text"
name="name"
value=extraction.name
)
.col-sm.d-flex.align-items-center.ms-sm-4.ps-sm-0.mt-1.mt-sm-0
span.d-md-inline.d-block.smaller-gray-info Izberite takšno ime, ki vam bo pomagalo slediti rezultatom, če boste luščenje besedil opravili večkrat.
.table-documents.mt-4.d-sm-flex
.col-sm-6.d-flex.flex-column
.personal-documents.justify-content-between.d-flex.align-items-center
span.smaller-black-uppercase Lastni dokumenti
a.btn.btn-primary.button-edit.align-items-center.d-flex.justify-content-center(
type="link"
href=`/luscenje/${id}/besedila`
) Uredi
div
table.table.mt-2
tbody
each document, index in extractionDocuments
tr
th.normal-gray= index + 1
td.text-sm-start.normal-gray= document.filename
td.text-sm-end.normal-gray= document.size
.col-sm.d-flex.ms-sm-4.mt-1.mt-sm-0
span.d-md-inline.d-block.smaller-gray-info Preden naložite besedila, jih shranite v besedilni obliki (končnica .txt).
.table-kas.mt-4.d-sm-flex
.col-sm-6.d-flex.flex-column
.personal-documents.justify-content-between.d-flex.align-items-center
span.smaller-black-uppercase (STOP) Termini
a.btn.btn-primary.button-edit.align-items-center.d-flex.justify-content-center(
type="link"
href=`/luscenje/${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-sm.d-flex.ms-sm-4.mt-1.mt-sm-0
.d-md-inline.d-block.smaller-gray-info Dodate lahko seznam besed, ki jih v seznam terminoloških kandidatov ne želite vključiti. Seznam naj bo shranjen v formatu .txt. #[a.smaller-gray-info(href="/pomoc#help-stop-lists") Več...]
include /common/footer
+220
View File
@@ -0,0 +1,220 @@
extends /layout
block pageSpecificScipts
script(nonce=cspNonce src="/javascripts/extraction.js")
script(nonce=cspNonce src="/javascripts/extraction-list.js")
block body
section#fixed-top-section
include /common/main-navigation
+main-navigation(false)
include /common/side-menu-fake
+sideNavigationFake
if user
include /utilities/dictionaries-main-panel-header
- const c = { sideMenu: false, h2: 'Luščenje', h1: 'Seznam luščenj', description: 'Nabor vseh luščenj, s katerimi lahko uporabnik iz izbranih besedil pridobi sezname terminoloških kandidatov. Posamezne terminološke kandidate lahko preveri tudi v konkordančniku.' }
+mainHeader(c)
-
const localeDayOptions = {
day: '2-digit',
month: '2-digit',
year: 'numeric'
}
-
const localeHourOptions = {
hour: '2-digit',
minute: '2-digit',
}
.content-hold-prerequisites
#offset-main.mt-2
form(method="post")
input(type="hidden" name="extractionType" value="own")
.row.align-items-center
.col-xl-6.white-border-background.p-4.d-flex.ms-lg-3
span.smaller-blue-subheading.me-auto.mt-3 Luščenje iz lastnih besedil
button.btn.btn-primary.ps-5.pe-5 DODAJ
.col-sm.mt-2.mt-xl-0.ms-2
span.span.d-md-inline.d-block.gray-info Luščenje terminoloških kandidatov iz besedil, ki jih ima uporabnik shranjena pri sebi. Za boljšo učinkovitost svetujemo format .txt.
form(method="post")
input(type="hidden" name="extractionType" value="oss")
.row.mt-4.align-items-center
.col-xl-6.white-border-background.p-4.d-flex.ms-lg-3
span.smaller-blue-subheading.me-auto.mt-3 Luščenje iz korpusa besedil OSS
button.btn.btn-primary.ps-5.pe-5 DODAJ
.col-md.mt-2.mt-xl-0.ms-2
span.span.d-md-inline.d-block.gray-info Luščenje terminoloških kandidatov iz besedil, ki jih uporabnik izbere med vsemi besedili, vključenimi v #[a.gray-info(href="https://openscience.si/") Nacionalni portal odprte znanosti].
#extraction-list.all-tasks.mt-5.ms-2.ps-0
if !extractions.length
p Nimate luščenj za urejanje.
else
each el in extractions
if el.status === 'new'
.task.task-new.p-3.mb-4(data-id=el.id)
.d-sm-flex.justify-content-sm-between.d-grid
.d-grid.task-name
span.bold-weight-black= el.name
.d-flex.align-items-center
button.btn.btn-secondary.extraction-btn.btn-begin.align-items-center.d-flex(
disabled=!el.canBegin ? true : false
)
img(src="/images/fi_arrow-right-circle.svg")
span.ms-1 ZAČNI
hr.mt-2.mb-3
.d-flex.justify-content-sm-between
.d-sm-flex.align-items-center.mb-0
img(src="/images/alert-circle.svg")
span.normal-gray.ms-1.me-2.me-sm-0 Nov
.d-flex.align-items-center
a.btn.p-0.align-items-center.me-lg-3.edit-task(
href=`luscenje/${el.id}`
)
img(src="/images/u_edit-alt.svg" alt="Edit")
span.ms-1.normal-gray Uredi
.ms-3
button.p-0.btn.delete-task.btn-delete(type="button")
img(src="/images/red-trash-icon.svg" alt="")
span.normal-gray.ms-2 Briši
if el.status === 'in progress'
.task.task-in-progress.p-3.mb-3(data-id=el.id)
.d-sm-flex.d-grid
.d-grid.task-name
span.bold-weight-black= el.name
.d-flex
.d-flex.start-date
.d-grid.ms-1.align-items-center
.d-flex.align-items-center
img.me-1(src="/images/fi_calendar.svg")
span.smaller-gray-uppercase.align-items-center Začetek
.d-grid.ms-4.align-items-center
span.bold-weight-black= el.timeStarted.toLocaleString('sl-SI', localeDayOptions)
span.normal-gray= el.timeStarted.toLocaleString('sl-SI', localeHourOptions)
hr.mt-2.mb-3
.d-flex.justify-content-between
.d-sm-flex.align-items-center.mb-0.flex-grow-1
img(src="/images/clock.svg")
span.normal-gray.ms-1 V obdelavi
if el.status === 'failed'
.task.task-cancelled.p-3.mb-3(data-id=el.id)
.d-lg-flex.justify-content-between
.d-flex.flex-column
span.bold-weight-black= el.name
.d-sm-flex
.d-flex
.d-sm-flex.start-date
.d-sm-grid.ms-1.align-items-center.mt-2.mt-md-0
.d-sm-flex.align-items-center
img.me-1(src="/images/fi_calendar.svg")
span.smaller-gray-uppercase.align-items-center Začetek
.d-grid.ms-2.ms-sm-4.align-items-center
span.bold-weight-black= el.timeStarted.toLocaleString('sl-SI', localeDayOptions)
span.normal-gray= el.timeStarted.toLocaleString('sl-SI', localeHourOptions)
.d-md-flex.start-date.ms-sm-5.ms-2.mt-2.mt-md-0
.d-md-grid.ms-md-1.align-items-center
.d-md-flex.align-items-center
img.me-1(src="/images/fi_calendar.svg")
span.smaller-gray-uppercase.align-items-center Konec
.d-grid.ms-4.align-items-center
span.bold-weight-black= el.timeFinished.toLocaleString('sl-SI', localeDayOptions)
span.normal-gray= el.timeFinished.toLocaleString('sl-SI', localeHourOptions)
//- TODO: Once duplication is implemented remove "disabled" attribute from btn
.d-flex.align-items-center.justify-content-lg-end.mt-2.mt-sm-0.ms-2.ms-md-0
button.btn.btn-secondary.double-task.align-items-center.d-flex(
disabled
)
img(src="/images/fi_copy_border.svg")
span.ms-1 PODVOJI
hr.mt-2.mb-3
.d-flex.justify-content-sm-between
.d-sm-flex.align-items-center.mb-sm-0.me-3.me-sm-0
img(src="/images/alert-triangle.svg")
span.normal-gray.ms-sm-1.ms-0 Prekinjen
.d-flex.align-items-center.mb-sm-0.me-3.mt-0
//- a.edit-task.btn.p-0(href=`luscenje/${el.id}`)
//- img(src="/images/u_edit-alt.svg" alt="Edit")
//- span.normal-gray.ms-sm-1.ms-0 Uredi
//- .ms-3.align-items-center.delete-task
//- img(src="/images/red-trash-icon.svg" alt="Delete")
//- span.normal-gray.ms-sm-1.ms-0 Briši
.ms-3
button.p-0.btn.delete-task.btn-delete(type="button")
img(src="/images/red-trash-icon.svg" alt="")
span.normal-gray.ms-2 Briši
if el.status === 'finished'
.task.task-completed.p-3.mb-3(data-id=el.id)
.d-lg-flex.justify-content-between
.d-flex.flex-column.task-name
span.bold-weight-black= el.name
.d-sm-flex
.d-flex
.d-sm-flex.start-date
.d-sm-grid.ms-1.align-items-center.mt-2.mt-md-0
.d-sm-flex.align-items-center
img.me-1(src="/images/fi_calendar.svg")
span.smaller-gray-uppercase.align-items-center Začetek
.d-grid.ms-2.ms-sm-4.align-items-center
span.bold-weight-black= el.timeStarted.toLocaleString('sl-SI', localeDayOptions)
span.normal-gray= el.timeStarted.toLocaleString('sl-SI', localeHourOptions)
.d-md-flex.start-date.ms-sm-5.ms-2.mt-2.mt-md-0
.d-md-grid.ms-md-1.align-items-center
.d-md-flex.align-items-center
img.me-1(src="/images/fi_calendar.svg")
span.smaller-gray-uppercase.align-items-center Konec
.d-grid.ms-4.align-items-center
span.bold-weight-black= el.timeFinished.toLocaleString('sl-SI', localeDayOptions)
span.normal-gray= el.timeFinished.toLocaleString('sl-SI', localeHourOptions)
.d-sm-flex.align-items-center.ms-sm-5.mt-2.mt-md-0
img(src="/images/fi_check-circle.svg")
span.ms-2 Končan
.d-sm-flex.align-items-center.mt-2.mt-md-0.ms-auto.me-3
a.edit-task.btn.p-0(href=`luscenje/${el.id}`)
img(src="/images/u_edit-alt.svg")
span.ms-1 UREDI
hr.mt-2.mb-3
.d-lg-flex.justify-content-between
.d-lg-flex.align-content-center.mb-0.flex-grow-1
a#terminology-candidates.btn.btn-primary.align-items-center(
href=`luscenje/${el.id}/kandidati`
)
img(src="/images/book-white.svg")
span.ms-1 Terminološki kandidati [#{ el.termCandidatesCount }]
if el.status === 'finished' && el.corpusId
a.btn.btn-secondary.ps-2.pe-2.mt-2.mt-lg-0.ms-md-1(
href=`/korpus/${el.corpusId}`
target="_blank"
)
img(src="/images/list.svg")
span.normal-gray.ms-1 Uporabniški korpus
if el.status === 'finished' && el.ossParams
a.btn.btn-secondary.ps-2.pe-2.mt-2.mt-lg-0.ms-md-1(
href="https://www.clarin.si/noske/run.cgi/corp_info?corpname=oss&struct_attr_stats=1"
target="_blank"
)
img(src="/images/list.svg")
span.normal-gray.ms-1 Korpus KAS+
.d-flex.align-items-center.mb-0.me-3.mt-2.mt-lg-0
.align-items-center.double-task
img(src="/images/fi_copy_border.svg" alt="Copy")
span.normal-gray.ms-1 Podvoji
.ms-3
button.p-0.btn.delete-task.btn-delete(type="button")
img(src="/images/red-trash-icon.svg" alt="")
span.normal-gray.ms-2 Briši
include /utilities/modal-alert
include /utilities/modal-alert-mixin
+alertModal("max-extractions", "Razumem", "Prekliči", "ok-btn-modal", "cancel-btn", 'TODO text več kot 5 luščenj!')
include /utilities/modal-response
+responseModal("begin-response", "Razumem", "understand-btn", "Luščenje je bilo dano v fazo obdelave.")
else
include /utilities/dictionaries-main-panel-header
- const c = { sideMenu: false, h2: 'Luščenje', h1: 'Seznam luščenj', description: 'Nabor vseh luščenj, s pomočjo katerih uporabnik iz vhodnih besedil pridobi sezname terminoloških kandidatov in dostop do konkordančnika po teh besedilih.' }
+mainHeader(c)
.content-hold-prerequisites
#offset-main
.d-flex.justify-content-center.mt-5
p Za luščenje terminoloških kandidatov morate biti prijavljeni.
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 | dodaj opravilo', h1: 'Seznam neželenih terminov', description: 'Seznam terminoloških kandidatov bo natančnejši, če boste dodali tudi seznam neželenih besed, ki naj jih luščilnik izloči iz seznama. Seznam lahko vsebuje splošne termine, npr. tabela, kazalnik, ali pogoste slovnične besede, zlasti veznike, pomožne glagole.', 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 stopTermsFiles
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"
multiple
hidden
)
.col.d-flex.align-items-center.ms-md-3
span.gray-info Dodate lahko seznam besed, ki jih v seznam terminoloških kandidatov ne želite vključiti. Seznam naj bo shranjen v formatu .txt. Na koncu morate spremembe shraniti. #[a.smaller-gray-info(href="/pomoc#help-stop-lists") Več...]
include /utilities/modal-spinner
include /utilities/modal-alert
include /common/footer
@@ -0,0 +1,110 @@
extends /layout
block pageSpecificScipts
script(nonce=cspNonce src="/javascripts/extraction.js")
script(nonce=cspNonce src="/javascripts/extraction-term-candidates.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', h1: 'Terminološki kandidati', description: 'Seznam terminoloških kandidatov, ki so rezultat izbranega luščenja.', buttons: [{ type: 'cancel', url: '/luscenje', content: 'Nazaj', classAtr: 'btn btn-secondary header-btn-secondary' }] }
+mainHeader(c)
.content-hold-prerequisites.me-2
#offset-main.mt-3
.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= '#'
th= 'KANONIČNA OBLIKA'
th= 'RANKING'
th= 'POGOSTOST OBJAVLJANJA'
tbody#page-results
each termCandidate, index in firstPageOfTermCandidates
tr
td= index + 1
td= termCandidate.kanonicnaoblika
td= termCandidate.ranking
td= termCandidate.pogostostpojavljanja
form(action=`/api/v1/extraction/${extractionId}/term-candidates-export`)
.row.mt-4
.me-0.pe-0.d-flex.align-items-center
span.radio-button-labels Izvozi termine od številke
input.without-arrows.form-control.terminology-input.ms-1(
type="number"
name="from"
maxlength="5"
min="0"
)
span.radio-button-labels.ms-1 do številke
input.without-arrows.form-control.terminology-input.ms-1(
type="number"
name="to"
maxlength="5"
min="0"
)
//- .file-type.mt-4
//- span.new-user-info FORMAT ZAPISA
//- #file-type-selection.file-types.ms-2.ps-1
//- .row
//- .col-sm-6
//- .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.ms-4
//- span.name-info-txt.ms-5 Navodilo k posamičnemu polju. Anim duis ullamco Lorem reprehenderit.
.d-sm-flex.mt-4
button.btn.btn-primary.me-2
| Izvozi
include /common/footer
script#variables-transport-script(nonce=cspNonce).
const termCandidates = !{ termCandidatesJson }.terminoloski_kandidati;
const hitsPerPage = #{ hitsPerPage };
const numberOfAllPages = #{ numberOfAllPages };
document.getElementById('variables-transport-script').remove();
@@ -0,0 +1,5 @@
extends /layout
block body
.help-content-container(style="margin: 0.5rem")
include help-pug-demo
+186
View File
@@ -0,0 +1,186 @@
h2 Iskanje
p bold #[b adasdasda]
p bold+ #[b dasdas#[sup 1] dasd#[sub 2]]
p italic #[i sddasd]
p italic+ #[i dadsasda#[sup 1] dsada#[sub 2]]
p bold+italic #[b #[i sdasd]]
p bold+italic+ #[b #[i dsda#[sup 1] sddasd#[sub 2]]]
p Xxxxx #[a(href="https://www.amebis.si/" target="_blank") Amebis]
p Xxxxx #[a(href="https://www.amebis.si/") Amebis (v istem zavihku)]
p adasda #[b #[a(href="https://www.amebis.si/" target="_blank") Amebis]]
p as #[i #[a(href="https://www.amebis.si/" target="_blank") Amebis]]
p adada #[b #[i #[a(href="https://www.amebis.si/" target="_blank") Amebis]]]
p Xxxxx #[a(href="https://www.amebis.si/" target="_blank") Amebis] asd as das da sd as da s d a sd as d a s d as
//- To je komentar, ki se ne interpretira.
//- Vrstica se lahko v pug sintaksi lomi na sledeč način, vendar pozor:
//- Lom v sintaksi je namenjen preglednejši sintaksi, NE prevede pa se v lom, temveč v presledek,
//- zato je lom v sintaksi smiselno narediti namesto presledka v želenem besedilu.
| #[b dasdas#[sup 1] dasd#[sub 2]] a sdasdasd asd asd as das d a sd a sd a s d a s d a s d a sd #[b adasdasda]
| d asddsda #[i sddasd] adada #[i dadsasda#[sup 1] dsada#[sub 2]] sd dsad adasda #[b #[a(href="https://www.amebis.si/" target="_blank") Amebis]]
| dsasd aas da d a dasdas d a #[b #[i sdasd]] a sda sd a s #[b #[i dsda#[sup 1] sddasd#[sub 2]]] adada dadsasda dsada.
p Xxxxx
//- Če pretiravam v lomih za namen demonstracije učinka na rezultat (lomi --> presledki).
| asd
| as
| das
//- Konec pretiravanja.
//- Dolžina vrstice pug sintakse naj bo taka, da bo čimbolj pregledna (npr. ne daljša od 150 znakov).
//- Dolžina končne vrstice bo dinamična in se bo avtomatsko prilagajala trenutni širini brskalnika ter drugim dejavnikom.
| da sd as da s d a sd as d a s d as #[i #[a(href="https://www.amebis.si/" target="_blank") Amebis]] dasdasdasd a sdasdasd
| asd asd as das d a sd a sd a s d a s d a s d a sd adasdasda d asddsda sddasd adada #[b #[i #[a(href="https://www.amebis.si/" target="_blank") Amebis]]]
| dadsasda dsada sd dsad.
p Naštevanje:
ul
li ena
li dva
ul
li ena2
li dva2 - as dlaskldkalskjd lakls jldkj laksldjklaskj dlkajslkjd lakjs lkj dlkj lakjs lkj lkj lkj lkdjlakjs lkdj aklsd l
li tri2
li tri
//- Če bi kje želeli večji razmak, kot običajno, lahko uporabimo enega ali več "br" elementov.
br
br
br
br
br
ol
li ena - asdasdnba sdasd as dlakskdlaks dlakskjdlkjalksj lkdj lka lsklk dlak slkj dlkaj lkj slkj dl alksjdl akslkj lkj dlkj alk lsk ldkj als dkj
li dva
ol
li ena
li dva
li tri
li tri
p Tabela:
table
tr
th
th 1
th 2
th 3
tr
td #[i a]
td a1
td a2
td a3
tr
td #[i b]
td b1
td
td b3
p Slika:
//- Za prikaz slike potrebujemo tudi izvorno sliko.
//- Tu uporabim sliko poimenovano "help-amebis-logo-pug-demo.png".
//- Vsebina polja "alt" se uporabi, ko slika ni na voljo ali za slepe uporabnike, ki slike ne vidijo.
//- Ta vsebina mora torej podati vso informacijo, tako, da bi lahko z njo v celoti nadomestili sliko,
//- saj jo slepi/slabovidni uporabniki slišijo na mestu, kjer je za ostale umeščena slika.
img(src="/images/help-amebis-logo-pug-demo.png", alt="Demo Amebisov logo")
figure
img(src="/images/help-amebis-logo-pug-demo.png", alt="Demo Amebisov logo")
figcaption Podnapis
p Konec.
h3 Osnovno iskanje
p xxxxx
h3 Napredno iskanje
p xxxxx
h2 Luščenje
p xxxxx
h3 Specializirani korpusi
p xxxxx
h3 Lastni uporabniški korpus
p xxxxx
h3 Korpus OSS
p xxxxx
h3 Področja
p xxxxx
h3 Terminološki kandidati
p xxxxx
h2 Urejanje
p xxxxx
h3 Nov slovar
p xxxxx
h3 Urejanje lastnosti slovarja
p xxxxx
h3 Uporabniki
p xxxxx
h3 Struktura slovarskega sestavka
p xxxxx
h3 Komentiranje
p xxxxx
h3 Urejanje vsebine slovarja
p xxxxx
h3 Uvoz podatkov
p xxxxx
h3 Dodajanje novih slovarskih sestavkov
p xxxxx
h4 Zaglavje
p xxxxx
h4 Področne oznake
p xxxxx
h4 Pojasnilo
p xxxxx
h4 Definicija
p xxxxx
h4 Sinonimi
p xxxxx
h4 Povezave
p xxxxx
h4 Tuji jeziki (elementi)
p xxxxx
h4 Zgodovina urejanja
p xxxxx
h4 Komentarji
p xxxxx
h2 Svetovanje
p xxxxx
h3 Pošiljanje vprašanj
p xxxxx
h3 Terminološka načela
p xxxxx
h3 Povezava
p xxxxx
h3 Objava odgovorov
p xxxxx
h2 Administracija
p xxxxx
+19
View File
@@ -0,0 +1,19 @@
extends /layout
block pageSpecificScipts
script(nonce=cspNonce src="/javascripts/help.js")
block body
section#fixed-top-section
include /common/main-navigation
+main-navigation(false)
include /utilities/help-side-nav
.content-hold-prerequisites.ps-xl-0.ps-3.pe-xl-5.pe-3.mt-4
#offset-main.main-container.mt-xl-5.mt-3
.help-page-elements
.scrollspy-example(
data-bs-spy="scroll"
data-bs-target="#list-example"
tabindex="0"
)
include /utilities/help-text
include /common/footer
+49
View File
@@ -0,0 +1,49 @@
extends /layout
block pageSpecificScipts
script(nonce=cspNonce src="/javascripts/collapsable-comments.js")
script(nonce=cspNonce src="/javascripts/comments.js")
block body
.index-footer
.topContainer
//-Navigation Bar
.index-nav
ul.nav
li.nav-item
img.logo(src="/images/logo.png" alt="Logo")
include ../components/navigation/main-navigation-right-mixin
+main-navigation-right(true,true,true)
h1.hero-text #{ portalName }
include /components/search-and-filter/small-device-search
+mini-searchbar
.descriptionArea
//- p Terminološki portal je samostojna, odprto dostopna spletna storitev, v katero so vključeni terminološki viri na samem portalu, na integriranem iskalniku pa so dostopni tudi zadetki iz spletišča Terminologišče in portala Termania. Registriranim uporabnikom je na voljo tudi <b>luščilnik terminoloških kandidatov</b> iz specializiranih korpusov, <b>konkordančnik</b> za specializirana besedila, označevalnik terminov v strokovnih besedilih, <b>urejevalnik</b> terminoloških virov, <b>terminološka svetovalnica</b> in stran s <b>pomočjo in navodili</b> za uporabo posameznih funkcij portala. Terminološki portal je moderiran.
p!= portalDescription
p.pt-5.fw-500.d-flex
span.d-flex Zadnji objavljeni slovarji
span.navigation-text-color.d-flex.flex-grow-1.justify-content-end
a.text-decoration-none(href="/slovarji") Vsi slovarji &gt;
include /components/dictionary/dictionary-list
+table(latestDicts)
//- - let count = 0
each dict in latestDicts
- count++
a(href=`/slovarji/${dict.id}/o-slovarju`) #{ dict.name }
if count < latestDicts.length
span= ', '
//- a(href="/slovarji/id_slovarja/o-slovarju") Astronomski slovar
span= ', '
a(href="/slovarji/id_slovarja/o-slovarju") Davčni slovar
span= ', '
a(href="/slovarji/id_slovarja/o-slovarju") Glosar akademske integritete
p.pt-5
include /utilities/comments-with-collapsable-pager
//- +pager
include /common/footer
@@ -0,0 +1,20 @@
extends ../layout
block body
section
include ../common/main-navigation
+main-navigation(true)
section
.root-container
include ../components/navigation/edit-navigation
section.content-hold-prerequisites.ps-5.pe-5.mt-4
.d-block.w-100
include ../components/main-panel/implementations/two-buttons
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
+82
View File
@@ -0,0 +1,82 @@
extends /layout
block body
section.sticky-top
include /common/main-navigation
+main-navigation(false)
.consultancy-padding-main.p-squeeze-lg.mt-2
h1 Politika zasebnosti
p Ta politika zasebnosti ureja zbiranje, hrambo in obdelavo osebnih podatkov, ki jih Univerza v Ljubljani zbira od vas, ko se registrirate za uporabo #[b Slovenskega terminološkega portala].
.mt-4
h2 Upravljalec
p Upravljavec osebnih podatkov, kot ga določata Splošna uredba EU o varstvu osebnih podatkov in veljavni zakon, ki ureja varstvo osebnih podatkov, je:
span Univerza v Ljubljani
span Kongresni trg 12, 1000 Ljubljana, Slovenija
a(href="mailto:dpo@uni-lj.si") dpo@uni-lj.si
.mt-4
h4 Pooblaščena oseba za varstvo podatkov
p Pooblaščena oseba za varstvo podatkov (DPO) in za vsa vprašanja v zvezi z obdelavo osebnih podatkov v okviru projekta RSDO je Nina Komočar Urbanija. Vsa vprašanja in poizvedbe, vključno z morebitnimi zahtevki za uveljavljanje svojih pravic v zvezi z osebnimi podatki v okviru projekta RSDO, mu lahko pošljete:
span.ms-4 - po e-pošti na naslov #[a(href="mailto:dpo@uni-lj.si") dpo@uni-lj.si];
span.ms-4 - po pošti na naslov upravljavca: Univerza v Ljubljani, Kongresni trg 12, 1000 Ljubljana, s pripisom »za DPO«.
.mt-4
h2 Osebni podatki in namen njihove obdelave
p Če želite uporabljati napredne funkcije Slovenskega terminološkega portala, morate izpolniti obrazec za registracijo na spletni strani #[a(href="http://terminoloski.slovenscina.eu" target="_blank") http://terminoloski.slovenscina.eu]. Z izpolnitvijo tega obrazca za registracijo in njegovo potrditvijo posredujete Univerzi v Ljubljani naslednje kontaktne podatke:
ul
li #[b Uporabniško ime]
li #[b Ime]
li #[b Priimek]
li #[b E-naslov]
p Kontaktne podatke, ki nam jih posredujete ob izpolnitvi oz. oddaji obrazca za registracijo, potrebujemo za prilagoditev vsebin glede uporabe posameznih storitev (npr. shranjevanje rezultatov luščenja) in za komunikacijo z vami o vprašanjih, povezanih z uporabo posameznih storitev terminološkega portala.
p V primeru, da nam ne posredujete navedenih kontaktnih podatkov, vaše registracije ne bomo obdelali in ne boste mogli uporabljati vseh storitev, ki jih ponuja terminološki portal.
p Univerza v Ljubljani spoštuje vašo zasebnost in je zavezana, da pri zbiranju, hrambi in obdelavi osebnih podatkov ravna skrbno in v skladu z veljavnimi predpisi o varstvu osebnih podatkov.
p Da bi preprečili nepooblaščen dostop do pridobljenih podatkov ali njihovo razkritje, ohranili natančnost osebnih podatkov in zagotovili njihovo ustrezno uporabo, uporabljamo ustrezne tehnične in organizacijske postopke za zavarovanje podatkov, ki jih zbiramo.
.mt-4
h2 Pravna podlaga za obdelavo - soglasje
p Osebne podatke, ki nam jih posredujete ob registraciji na #[b Slovenski terminološki portal], Univerza v Ljubljani obdeluje z vašim jasnim in nedvoumnim soglasjem, ki temelji na členu 6 (1), (a) Splošne uredbe EU o varstvu osebnih podatkov (GDPR).
span Soglasje za obdelavo osebnih podatkov podate s tem, ko na spletni strani Slovenskega terminološkega portala na povezavi #[a(href="http://terminoloski.slovenscina.eu" target="_blank") http://terminoloski.slovenscina.eu] izpolnite zahtevane podatke in kliknete »Registracija«.
span Svoje soglasje lahko kadar koli umaknete z izbrisom uporabnikovega profila v razdelku »Nastavitve računa«.
span V primeru umika soglasja ter ukinitvi profila ne bomo več uporabljali vaših osebnih podatkov za komunikacijo z vami.
span Morebiten umik soglasja ne vpliva na zakonitost obdelave vaših osebnih podatkov v času, preden je bil umik podan.
.mt-4
h2 Vaše pravice
span V skladu z določili Splošne uredbe EU o varstvu osebnih podatkov (GDPR) imate pravico do dostopa do svojih osebnih podatkov, pravico do popravka, pravico do izbrisa (»pozabe«), pravico do prenosljivosti, pravico zahtevati omejitev obdelave osebnih podatkov in pravico do ugovora. Svoje podatke lahko kadar koli pregledate ter spremenite s klikom na povezavo »Sprememba nastavitev profila«.
p Pri uveljavljanju vseh svojih pravic ali pri pridobivanju dodatnih informacij se obrnite na našo pooblaščeno osebo za varstvo podatkov, ki vam je na voljo na e-naslovu: #[a(href="mailto:dpo@uni-lj.si") dpo@uni-lj.si]. Vašo vlogo bomo obravnavali in nanjo odgovorili v skladu z GDPR.
p Če menite, da so kršene vaše pravice ali predpisi o varstvu osebnih podatkov, se lahko pritožite pristojnemu državnemu organu:
p Pritožbo lahko podate Informacijskemu pooblaščencu (Dunajska cesta 22, 1000 Ljubljana, e-naslov: #[a(href="mailto:gp.ip@ip-rs.si") gp.ip@ip-rs.si] telefon: 012309730, spletna stran: #[a(href="www.ip-rs.si" target="_blank") www.ip-rs.si] )
.mt-4
h2 Čas hrambe osebnih podatkov
p Univerza v Ljubljani hrani vaše osebne podatke (ime, priimek, e-naslov) toliko časa, kolikor je to potrebno za namen vaše uporabe Slovenskega terminološkega portala od registracije do ukinitve računa.
.mt-4
h2 Uporabniki osebnih podatkov
p Pogodbeni obdelovalec, ki za Univerzo v Ljubljani vzdržuje in gostuje spletno stran.
.mt-4
h2 Prenos osebnih podatkov v tretjo državo ali mednarodno organizacijo
p Osebni podatki se ne prenašajo v tretje države ali mednarodne organizacije.
.mt-4
h2 Piškotki
.mt-3
h4 Kaj so piškotki?
p Piškotek je datoteka, ki shrani nastavitve spletnih strani. Spletna mesta piškotke shranijo v naprave uporabnikov, s katerimi dostopajo do interneta z namenom prepoznavanja posameznih naprav in nastavitev, ki so jih uporabniki uporabili pri dostopu. Piškotki omogočajo spletnim stranem prepoznavanje, če je uporabnik že obiskal to spletno mesto in pri naprednih aplikacijah se lahko z njihovo pomočjo ustrezno prilagodijo posamezne nastavitve. Njihovo shranjevanje je pod popolnim nadzorom brskalnika, ki ga uporablja uporabnik - ta lahko shranjevanje piškotkov po želji omeji ali onemogoči.
h4 Zakaj so piškotki potrebni?
p Piškotki so temeljnega pomena za zagotavljanje uporabniku prijaznih spletnih storitev; najpogostejše funkcije e-poslovanja ne bi bile mogoče brez piškotkov. Interakcija med spletnim uporabnikom in spletno stranjo je s pomočjo piškotkov hitrejša in enostavnejša. Z njihovo pomočjo si spletna stran zapomni posameznikove preference in izkušnje, brskanje po spletnih straneh pa je s tem bolj učinkovito in prijetno. Razlogov za uporabo piškotkov je več. Uporabljajo se za shranjevanje podatkov o stanju posamezne spletne strani (podrobnosti o prilagoditvah posamezne spletne strani), pomagajo pri izvajanju spletnih storitev (npr. spletne trgovine), pomagajo pri zbiranju statistik o uporabnikih in obiskanosti spletnega mesta, o navadah spletnega uporabnika , itd. S pomočjo piškotkov lahko torej ocenimo učinkovitost zasnove našega spletnega mesta. O priporočeni in dovoljeni uporabi piškotkov na spletnih straneh si lahko preberete na straneh #[a(href="https://www.ip-rs.si" target="_blank") informacijskega pooblaščenca].
h4 Seznam piškotkov na naši spletni strani
.mt-2
h4 Lastni piškotki
p #[b sid] - Sistemski piškotek. Uporablja se tudi za prijavo uporabnikov. Potreben je za pravilno delovanje strani. Piškotek je prisoten do 2 uri po vaši zadnji aktivnosti na portalu.
p #[b remember_me] - Uporablja se za prijavo uporabnikov za daljši čas, če ste ob prijavi izbrali možnost "Zapomni si prijavo". Piškotek je prisoten 1 leto po vaši zadnji aktivnosti na portalu.
p Piškotki, ki jih uporabljamo na naši spletni strani, ne zbirajo vaših osebnih podatkov, s katerimi bi vas bilo mogoče osebno prepoznati in ne morejo poškodovati vašega računalnika, tablice ali mobilnega telefona. Piškotki omogočajo delovanje našega spletnega mesta in nam pomagajo razumeti, katere informacije so najkoristnejši za obiskovalce.
.mt-4
h2 Priglasitev
p Z uporabo tega spletnega mesta se strinjate, da to spletno mesto nastavi piškotke na vašem računalniku ali mobilni napravi.
.mt-4
h2 Upravljanje in brisanje piškotkov
p Če želite spremeniti način uporabe piškotkov v brskalniku, vključno z blokiranjem ali izbrisom, lahko to storite z ustrezno spremembo nastavitev brskalnika. Za upravljanje piškotkov vam večina brskalnikov omogoča, da sprejmete ali zavrnete vse piškotke, sprejmete samo določeno vrsto piškotkov ali pa vas opozori, da stran želi shraniti piškotek. Piškotke, ki jih je brskalnik shranil, lahko tudi enostavno izbrišete. Če spremenite ali izbrišete brskalnikovo datoteko s piškotki, spremenite ali nagradite vaš brskalnik ali napravo, boste morda morali ponovno onemogočiti piškotke. Postopek za upravljanje in brisanje piškotkov se razlikuje od brskalnika do brskalnika. Če pri tem potrebujete pomoč, lahko pogledate v brskalnikovi pomoči uporabnikom.
.mt-4
h2 Navodila za urejanje piškotkov v posameznih brskalnikih:
ul
li #[a(href="https://support.google.com/chrome/answer/95647?hl=sl" target="_blank") Google Chrome]
li #[a(href="https://support.microsoft.com/en-us/windows/delete-and-manage-cookies-168dab11-0753-043d-7c16-ede5947fc64d#ie=ie-10" target="_blank") Internet Explorer]
li #[a(href="https://support.apple.com/guide/safari/manage-cookies-sfri11471/mac" target="_blank") Safari]
li #[a(href="https://support.mozilla.org/en-US/kb/enhanced-tracking-protection-firefox-desktop?redirectslug=enable-and-disable-cookies-website-preferences&redirectlocale=en-US" target="_blank") Firefox]
li #[a(href="https://help.opera.com/en/latest/web-preferences" target="_blank") Opera]
include /common/footer
@@ -0,0 +1,67 @@
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 /pages/profile/my-profile-side-menu-mixin
- const d = { selection: 'change-profile-password' }
+sideNavigation(d)
include /utilities/dictionaries-main-panel-header
- const c = { sideMenu: true, h1: 'Spremeni geslo', description: 'Tukaj lahko spremenite geslo za prijavo.', buttons: [{ type: 'disabled', content: 'Shrani', form: 'profileForm' }] }
+mainHeader(c)
.content-hold-prerequisites
#offset-main.main-container.mt-2.pe-5
form.needs-validation(method="post" novalidate)
div
.subject-name
label.input-name-txt(for="password-old") STARO GESLO
.row
.col-sm-6.align-items-center
input#password-old.name-input.form-control.d-inline(
type="password"
name="password-old"
value=""
)
.invalid-feedback Napačno geslo.
.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
.mt-4
.subject-name
label.input-name-txt(for="dictionary-title-en") NOVO GESLO
.row
.col-sm-6
input#password-new.name-input.form-control.d-inline(
type="password"
name="password-new"
minLength="1"
value=""
)
.invalid-feedback Geslo je prekratko.
.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
.mt-4
.subject-name
label.input-name-txt(for="dictionary-title-en") PONOVI NOVO GESLO
.row
.col-sm-6
input#password-repeat.name-input.form-control.d-inline(
type="password"
name="password-repeat"
minLength="1"
value=""
)
.invalid-feedback Geslo se ne ujema.
.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
include /common/footer
@@ -0,0 +1,34 @@
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 /pages/profile/my-profile-side-menu-mixin
- const d = { selection: 'change-profile-settings' }
+sideNavigation(d)
include /utilities/dictionaries-main-panel-header
- const c = { sideMenu: true, h1: 'Nastavitve računa', description: 'Tukaj lahko spremenite nekatere nastavitve, vezane na posameznega uporabnika.', buttons: [{ type: 'disabled', content: 'Shrani', form: 'profileForm' }] }
+mainHeader(c)
.content-hold-prerequisites
#offset-main.main-container.mt-2.pe-5
form#profileForm.needs-validation(method="post" novalidate)
div
.subject-name
label.input-name-txt(for="number-of-results") ŠTEVILO ZADETKOV NA STRANI
.row
.col-sm-6.align-items-center
select#numberOfHits.form-control.d-inline(name="numberOfHits")
each hit in hitsPerPageArr
option(value=hit selected=hit === hitsForUser)= hit
.invalid-feedback
.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
include /common/footer
@@ -0,0 +1,31 @@
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 Moj Profil
#mobile-right-holder
nav
ul.admin-nav-content.slidable
li(
class=sideNavigationData.selection === 'change-profile-data' ? 'focused-menu' : 'admin-nav-item'
)
a.active(href="/moj-racun")
img(src="/images/user-gray.svg" alt="Basic")
p Osnovni podatki
li(
class=sideNavigationData.selection === 'change-profile-password' ? 'focused-menu' : 'admin-nav-item'
)
a.active(href="/spremeni-geslo")
img(src="/images/lock-gray.svg" alt="Settings")
p Spremeni geslo
li(
class=sideNavigationData.selection === 'change-profile-settings' ? 'focused-menu' : 'admin-nav-item'
)
a.active(href="/nastavitve-racuna")
img(src="/images/cog.svg" alt="Settings")
p Nastavitve
@@ -0,0 +1,83 @@
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 /pages/profile/my-profile-side-menu-mixin
- const d = { selection: 'change-profile-data' }
+sideNavigation(d)
include /utilities/dictionaries-main-panel-header
- const c = { sideMenu: true, h1: 'Osnovni podatki', description: 'Tukaj lahko spremenite ime, priimek in elektronski naslov uporabnika.', buttons: [{ type: 'disabled', content: 'Shrani', form: 'profileForm' }] }
+mainHeader(c)
.content-hold-prerequisites
#offset-main.main-container.mt-2.pe-5
form#profileForm.needs-validation(method="post" novalidate)
div
.subject-name
label.input-name-txt(for="profile-username") UPORABNIŠKO IME
.row
.col-sm-6.align-items-center
input#profile-username.name-input.form-control.d-inline(
type="text"
name="username"
disabled
value=user.userName
)
.invalid-feedback
.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
.mt-4
.subject-name
label.input-name-txt(for="profile-name") IME
.row
.col-sm-6
input#profile-name.name-input.form-control.d-inline(
type="text"
name="name"
minLength="1"
value=user.firstName
)
.invalid-feedback Niste vpisali imena
.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
.mt-4
.subject-name
label.input-name-txt(for="profile-surname") PRIIMEK
.row
.col-sm-6
input#profile-surname.name-input.form-control.d-inline(
type="text"
name="surname"
minLength="1"
value=user.lastName
)
.invalid-feedback Niste vpisali priimka.
.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
.mt-4
.subject-name
label.input-name-txt(for="profile-surname") ELEKTRONSKI NASLOV
.row
.col-sm-6
input#profile-surname.name-input.form-control.d-inline(
type="text"
name="email"
minLength="1"
value=user.email
)
.invalid-feedback Neveljavni elektronski naslov.
.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
include /common/footer
+18
View File
@@ -0,0 +1,18 @@
extends /layout
block pageSpecificScipts
script(nonce=cspNonce src="/javascripts/select.js")
block body
//-MODUL izberi več
section#fixed-top-section.fixed-top
include /common/main-navigation
+main-navigation(true)
include /components/search-and-filter/search-filter-navigation
include /components/search-and-filter/search-filter-modal
include /components/main-panel/generic-main-panel-header
.content-hold-prerequisites.ps-5.pe-5
#offset-main.ps-3.pe-3
+26
View File
@@ -0,0 +1,26 @@
extends /layout
block pageSpecificScipts
//- the only reason to include the bottom script is to calibrate the padding of the content
block body
- const specificUserRights = user && (user.hasRole('consultant') || user.hasRole('consultancy admin'))
section#fixed-top-section
include /common/main-navigation
+main-navigation(true)
#offset-padding.offset-padding.header-section-root
include /utilities/empty-main-panel-header
+mainHeader
.content-hold-prerequisites
#offset-main.ps-2.pe-2.mt-4.ps-sm-3.errc
.ps-lg-5.pe-lg-4
.p-squeeze-lg.text-center
img.mx-auto(src="/images/search-error.svg" alt="Search Error")
h1.text-blue-info-title Ni zadetkov
p.pb-5.mt-5.px-10-large.text-center Vaše iskanje ni bilo uspešno. Vpišite novo iskalno poizvedbo in poizkusite znova.
//- p.mt-5.px-20-large.h-41
button.btn.btn-secondary.d-inline-block.h-41.mx-2 Opcija A
button.btn.btn-primary.d-inline-block.h-41.mx-2 Opcija B
include /common/footer
@@ -0,0 +1,44 @@
extends /layout
block pageSpecificScipts
script(nonce=cspNonce src="/javascripts/search-results.js")
script(nonce=cspNonce src="/javascripts/search-results-content.js")
script(nonce=cspNonce src="/javascripts/comments.js")
block body
section#fixed-top-section
include /common/main-navigation
+main-navigation(false)
include /utilities/result-detail-side-menu
// +result_detail({prevWindowTitle: "Nazaj", prevHref: absolutePrevPath?prevHref:`/termin/${prevHref}`, portalCode: "TE", portalName: "Terminološki portal", dictName: "Naslov slovarja ki je lahko tudi zelo zelo dolgi in se kar ne konča", fullAuthorName: "Janko Novak", areas: "Paleografija, bibliologija, epigrafika, papirusologija", subareas: "alpinizem, aerobika, atletika", dictHref: `/slovarji/${dictId}/o-slovarju?absolutePrevPath=true`})
+result_detail(finalData)
//- include /utilities/dictionaries-main-panel-header
include /utilities/dictionary-info-panel
- const c = { sideMenu: true, h2: '', h1: finalData.dictName, description: '', buttons: [{ type: 'link', url: `/iskanje?q=*&d=${dictId}`, content: 'Išči po slovarju' }] }
+mainHeader(c)
//- empty header for code to work
//- #offset-padding.offset-padding.header-section-root
.content-hold-prerequisites.mt-4
#offset-main.main-container.mt-2
.d-flex.mb-4.w-100
.result-detail-main.w-100
.row
//- .col-md-1
.results-item-language.d-flex.pe-3.flex-shrink-1
//- span SL
//- .col-md-9
.col
span!= finalData.description ? finalData.description : 'Ta slovar nima opisa'
//- .col-md-2
.result-comment-section
.comments-content.col-12.col-md-12.py-md-3.bd-content
#offset-main
include /utilities/comments-with-pager
include /common/footer
@@ -0,0 +1,49 @@
extends /layout
block pageSpecificScipts
script(nonce=cspNonce src="/javascripts/search-results.js")
script(nonce=cspNonce src="/javascripts/search-results-content.js")
script(nonce=cspNonce src="/javascripts/comments.js")
block body
section#fixed-top-section
include /common/main-navigation
+main-navigation(true)
include /utilities/result-detail-side-menu
+result_detail(finalData)
//- include /utilities/dictionaries-main-panel-header
//- empty header for code to work
#offset-padding.offset-padding.header-section-root
.content-hold-prerequisites.mt-4
#offset-main.main-container.ps-1.mt-2
#chevrons-left.d-flex
.header-container-divider-left
h1#site-heading O terminu
hr#disposable-break.mt-0
.d-flex.mb-4.w-100.flex-column
.result-detail-main.w-100
.row.g-0
//- .col-md-1
.results-item-language.d-flex.pe-3.flex-shrink-1
span SL
.col-md-9
h2 Kajakaški
h5.mt-3 pridevnik, splošni <br> kajakaški, kajakaškega, kajakaškemu
h6.mt-5 Definicija
span Nostrud quis minim reprehenderit ex ea quis dolor in magna adipisicing ut dolore. Id esse eiusmod ex anim anim ad anim consequat. Ipsum pariatur aute minim consectetur. Non deserunt reprehenderit laborum pariatur. Sint deserunt nulla officia et nostrud laborum nulla aliqua consequat.
.col-md-2
include /utilities/entry-preview-mixin
+entryPreview
.result-comment-section
.comments-content.col-12.col-md-12.py-md-3.bd-content
#offset-main
include /utilities/comments-with-pager
include /common/footer
+27
View File
@@ -0,0 +1,27 @@
extends /layout
block pageSpecificScipts
script(nonce=cspNonce src="/javascripts/tooltip-helper.js")
script(nonce=cspNonce src="/javascripts/search-results.js")
script(nonce=cspNonce src="/javascripts/search-results-admin.js")
script(nonce=cspNonce src="/javascripts/side-menu-filter-languages.js")
block body
section#fixed-top-section
include /common/main-navigation
+main-navigation(true)
include /components/search-and-filter/search-filter-navigation-mixin
+sfSideNavigation(searchFilterData)
include /components/search-and-filter/search-filter-modal
//- empty header for code to work
#offset-padding.offset-padding.header-section-root
.content-hold-prerequisites.mt-4
#offset-main.main-container.ps-1.mt-2
.d-flex.mb-4.w-100
include /components/search-and-filter/result-panel
+result-panel(entries)
include /common/footer
@@ -0,0 +1,22 @@
extends /layout
block pageSpecificScipts
script(nonce=cspNonce src="/javascripts/results-index.js")
block body
section#fixed-top-section.fixed-top
include /common/main-navigation
+main-navigation(true)
include /components/search-and-filter/small-device-search
+mini-searchbar
include /utilities/keyboard
+keyboard(586, 200, 473, 50)
include /components/search-and-filter/search-filter-navigation
.content-hold-prerequisites.ps-4.pe-4.mt-4
#offset-main.main-container.ps-1.mt-2
.d-flex.mb-4.w-100
include /components/search-and-filter/result-panel
include /common/footer
+18
View File
@@ -0,0 +1,18 @@
extends /layout
block body
section.sticky-top
include /common/main-navigation
+main-navigation(false)
.consultancy-padding-main.p-squeeze-lg.mt-2
h1 POGOJI UPORABE - SLOVENSKI TERMINOLOŠKI PORTAL
p Dobrodošli na Slovenskem terminološkem portalu, ki je bil razvit v okviru projekta #[i Razvoj slovenščine v digitalnem okolju], ki sta ga sofinancirala Ministrstvo za kulturo Republike Slovenije in Evropski sklad za regionalni razvoj.
p Spletno mesto je bilo postavljeno z namenom celostne uporabe in urejanja slovenske terminologije.
p Prosimo vas, da kot obiskovalec našega spletnega mesta upoštevate spodaj naštete pogoje. Z ogledom tega spletnega mesta potrjujete, da se s pogoji strinjate in jih v celoti sprejemate.
p Uporaba Slovenskega terminološkega portala je na voljo uporabnikom pod licenco #[a(href="https://creativecommons.org/licenses/by/4.0/legalcode.sl" target="_blank") CC BY 4.0]. Vsi viri, ki jih boste oblikovali in uredili ter javno objavili na Slovenskem terminološkem portalu, bodo na voljo tudi drugim registriranim uporabnikom pod licenco CC BY 4.0.
.mt-2
h2 Varstvo osebnih podatkov
p Slovenski terminološki portal uporablja piškotke. Več o obdelavi osebnih podatkov je navedeno v #[a(href="/politika-zasebnosti" target="_blank") Politiki zasebnosti].
p Zahvaljujemo se vam za obisk.
include /common/footer