Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
O
OpenQuizz
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
10
Issues
10
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Weber Rodolphe
OpenQuizz
Commits
2b064be2
Commit
2b064be2
authored
Jul 24, 2021
by
Jérémie Passerat
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Tri colonnes tableau 'theoriquement' complet
parent
1f56a98d
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
112 additions
and
26 deletions
+112
-26
Consulter_Contenu.vue
src/components/Consulter_Contenu.vue
+8
-0
Modifier_Contenu.vue
src/components/Modifier_Contenu.vue
+24
-9
Volet_Base.vue
src/components/Volet_Base.vue
+64
-17
Filtre_Auteur.vue
src/components/filtres/Filtre_Auteur.vue
+4
-0
Filtre_Type_Source.vue
src/components/filtres/Filtre_Type_Source.vue
+12
-0
No files found.
src/components/Consulter_Contenu.vue
View file @
2b064be2
...
...
@@ -108,6 +108,10 @@ export default {
}
)
},
/**
* @vuese
* Fonction qui permet de calculer la note du contenu (en fonction de la version sélectionnée)
*/
calculerNoteDetailContenu
:
function
()
{
if
(
this
.
versionMax
!==
0
){
...
...
@@ -212,6 +216,10 @@ export default {
)
}
},
/**
* @vuese
* Si la version sélectionnée par l'utilisateur change, on modifie la note du contenu
*/
versionChoisie
:
function
()
{
this
.
noteContenu
=
this
.
calculerNoteDetailContenu
()
}
...
...
src/components/Modifier_Contenu.vue
View file @
2b064be2
...
...
@@ -112,6 +112,10 @@ export default {
this
.
$emit
(
"choixModif"
,
{
action
:
actionChoisie
})
}
},
/**
* @vuese
* Si on change de version on recharge le texte du contenu
*/
changerVersion
:
function
()
{
let
that
=
this
Service
.
recupererTexteVersionContenu
(
JSON
.
stringify
(
this
.
contenuClique
.
_id
),
this
.
versionChoisie
).
then
(
...
...
@@ -120,6 +124,10 @@ export default {
}
)
},
/**
* @vuese
* Dès qu'une action est sélectionnée, la renvoie à Volet_Base
*/
actionContenu
:
function
(
action
)
{
// Dès qu'une action est sélectionnée, la renvoie à Volet_Base
// @arg action l'action choisie
...
...
@@ -128,6 +136,10 @@ export default {
this
.
$emit
(
"actionContenu"
,
{
action
:
action
,
contenu
:
this
.
contenuClique
,
texte
:
this
.
texteDuContenu
})
},
/**
* @vuese
* Fonction de récupération de la note mise par l'utilisateur
*/
setRating
:
function
()
{
let
that
=
this
let
data
=
{
id_contenu
:
JSON
.
stringify
(
this
.
contenuClique
.
_id
),
note
:
this
.
rating
,
auteur
:
this
.
auteur
,
version
:
this
.
contenuClique
.
version
}
...
...
@@ -144,16 +156,11 @@ export default {
}
},
/*,
watch: {
/!**
},
computed
:
{
/**
* @vuese
* Permet de changer le texte du contenu à chaque fois qu'un contenu est cliqué en 'mode modification'
*!/
texteDuContenu: function () {
// this.titreContenu
}
}*/
computed
:
{
* Fonction de calcul de la note globale d'un contenu (en fonction de sa version)
*/
calculerNoteContenu
:
function
()
{
if
(
parseInt
(
this
.
versionChoisie
)
!==
this
.
versionMax
){
...
...
@@ -175,6 +182,10 @@ export default {
}
},
watch
:
{
/**
* @vuese
* Dès qu'un contenu est chargé on l'analyse pour "habiller" la page
*/
contenuClique
:
function
()
{
this
.
titreContenu
=
this
.
contenuClique
.
titre
...
...
@@ -198,6 +209,10 @@ export default {
}
})
},
/**
* @vuese
* Si on change de version on recalcule la note
*/
versionChoisie
:
function
()
{
this
.
noteContenu
=
this
.
calculerNoteContenu
}
...
...
src/components/Volet_Base.vue
View file @
2b064be2
...
...
@@ -212,7 +212,7 @@ export default {
noteTriee
:
false
,
notePersoTriee
:
false
,
typeTrie
:
false
,
sourceTrie
:
false
,
sourceTrie
e
:
false
,
notePersonnelle
:
"-"
,
chocolat
:
'<h1 id="hellomarkdown">hello, markdown!</h1>'
,
isDeconnecte
:
false
,
...
...
@@ -805,6 +805,10 @@ export default {
basculeRechercheFiltre
:
function
(
event
)
{
this
.
modeFiltre
=
event
.
choix
},
/**
* @vuese
* FOnction qui permet de trier une colonne (ordre croissant nombre clicks impairs, ordre décroissant clicks pairs)
*/
trierColonne
:
function
(
event
)
{
let
titreColonne
=
event
.
target
.
innerHTML
if
(
this
.
panierChoisi
){
...
...
@@ -818,19 +822,63 @@ export default {
break
case
"Auteur"
:
this
.
contenus
.
sort
((
a
,
b
)
=>
(
a
.
auteur
>
b
.
auteur
)
?
1
:
((
b
.
auteur
>
a
.
auteur
)
?
-
1
:
0
))
this
.
auteurTrie
=
!
this
.
auteurTrie
if
(
this
.
auteurTrie
)
this
.
contenus
.
sort
((
a
,
b
)
=>
(
a
.
auteur
>
b
.
auteur
)
?
1
:
((
b
.
auteur
>
a
.
auteur
)
?
-
1
:
0
))
else
this
.
contenus
.
sort
((
b
,
a
)
=>
(
a
.
auteur
>
b
.
auteur
)
?
1
:
((
b
.
auteur
>
a
.
auteur
)
?
-
1
:
0
))
break
case
"Version Actuelle"
:
case
"Version actuelle"
:
this
.
versionTriee
=
!
this
.
versionTriee
if
(
this
.
versionTriee
)
this
.
contenus
.
sort
((
a
,
b
)
=>
(
a
.
versionEnCours
.
numero
>
b
.
versionEnCours
.
numero
)
?
1
:
((
b
.
versionEnCours
.
numero
>
a
.
versionEnCours
.
numero
)
?
-
1
:
0
))
else
this
.
contenus
.
sort
((
b
,
a
)
=>
(
a
.
versionEnCours
.
numero
>
b
.
versionEnCours
.
numero
)
?
1
:
((
b
.
versionEnCours
.
numero
>
a
.
versionEnCours
.
numero
)
?
-
1
:
0
))
break
case
"Date version actuelle"
:
case
"Date Version actuelle"
:
this
.
dateTriee
=
!
this
.
dateTriee
alert
(
"Mais oui"
)
if
(
this
.
dateTriee
)
this
.
contenus
.
sort
((
a
,
b
)
=>
(
a
.
versionEnCours
.
date
>
b
.
versionEnCours
.
date
)
?
1
:
((
b
.
versionEnCours
.
date
>
a
.
versionEnCours
.
date
)
?
-
1
:
0
))
else
this
.
contenus
.
sort
((
b
,
a
)
=>
(
a
.
versionEnCours
.
date
>
b
.
versionEnCours
.
date
)
?
1
:
((
b
.
versionEnCours
.
date
>
a
.
versionEnCours
.
date
)
?
-
1
:
0
))
break
case
"Nbre d'utilisations"
:
case
"Nbre d'Utilisations"
:
this
.
populariteTriee
=
!
this
.
populariteTriee
if
(
this
.
populariteTriee
)
this
.
contenus
.
sort
((
a
,
b
)
=>
(
a
.
popularite
>
b
.
popularite
)
?
1
:
((
b
.
popularite
>
a
.
popularite
)
?
-
1
:
0
))
else
this
.
contenus
.
sort
((
b
,
a
)
=>
(
a
.
popularite
>
b
.
popularite
)
?
1
:
((
b
.
popularite
>
a
.
popularite
)
?
-
1
:
0
))
break
case
"Note"
:
this
.
noteTriee
=
!
this
.
noteTriee
if
(
this
.
noteTriee
)
this
.
contenus
.
sort
((
a
,
b
)
=>
(
this
.
calculerNote
(
a
)
>
this
.
calculerNote
(
b
))
?
1
:
((
this
.
calculerNote
(
b
)
>
this
.
calculerNote
(
a
))
?
-
1
:
0
))
else
this
.
contenus
.
sort
((
b
,
a
)
=>
(
this
.
calculerNote
(
a
)
>
this
.
calculerNote
(
b
))
?
1
:
((
this
.
calculerNote
(
b
)
>
this
.
calculerNote
(
a
))
?
-
1
:
0
))
break
case
"Note Perso"
:
this
.
notePersoTriee
=
!
this
.
notePersoTriee
if
(
this
.
notePersoTriee
)
this
.
contenus
.
sort
((
a
,
b
)
=>
(
a
.
note_perso
>
b
.
note_perso
)
?
1
:
((
b
.
note_perso
>
a
.
note_perso
)
?
-
1
:
0
))
else
this
.
contenus
.
sort
((
b
,
a
)
=>
(
a
.
note_perso
>
b
.
note_perso
)
?
1
:
((
b
.
note_perso
>
a
.
note_perso
)
?
-
1
:
0
))
break
case
"Type"
:
this
.
typeTrie
=
!
this
.
typeTrie
if
(
this
.
typeTrie
)
this
.
contenus
.
sort
((
a
,
b
)
=>
(
a
.
type
>
b
.
type
)
?
1
:
((
b
.
type
>
a
.
type
)
?
-
1
:
0
))
else
this
.
contenus
.
sort
((
b
,
a
)
=>
(
a
.
type
>
b
.
type
)
?
1
:
((
b
.
type
>
a
.
type
)
?
-
1
:
0
))
break
case
"Source"
:
this
.
sourceTriee
=
!
this
.
sourceTriee
if
(
this
.
sourceTriee
)
this
.
contenus
.
sort
((
a
,
b
)
=>
(
a
.
source
>
b
.
source
)
?
1
:
((
b
.
source
>
a
.
source
)
?
-
1
:
0
))
else
this
.
contenus
.
sort
((
b
,
a
)
=>
(
a
.
source
>
b
.
source
)
?
1
:
((
b
.
source
>
a
.
source
)
?
-
1
:
0
))
break
default
:
...
...
@@ -843,9 +891,15 @@ export default {
console
.
log
(
titreColonne
)
}
},
/**
* @vuese
* Fonction de calcul de la note d'un contenu
*/
calculerNote
:
function
(
item
)
{
if
(
item
.
version
!==
undefined
){
if
(
item
.
version
!==
undefined
&&
item
.
version
!==
item
.
versionEnCours
.
numero
){
for
(
let
it
in
item
.
historique
){
alert
(
item
.
historique
[
it
].
numero
+
" "
+
item
.
version
)
if
(
item
.
historique
[
it
].
numero
===
item
.
version
){
if
(
item
.
historique
[
it
].
note
===
0
){
return
0
...
...
@@ -861,17 +915,10 @@ export default {
return
(
item
.
versionEnCours
.
note
/
item
.
versionEnCours
.
nbreNotes
).
toFixed
(
2
)
}
},
recupererNotePerso
:
async
function
(
item
)
{
if
(
item
.
provenance
)
await
Service
.
recupererNoteContenu
(
JSON
.
stringify
(
item
.
_id
),
this
.
auteur
,
item
.
version
).
then
(
function
(
result
)
{
let
nombre
=
JSON
.
parse
(
result
.
data
)
if
(
nombre
!==
'-1'
)
{
return
nombre
.
note
}
else
{
return
"-"
}
})
},
/**
* @vuese
* Si une note a été mise sur un contenu on recalcule la moyenne globale de ce contenu
*/
majMoyenne
:
function
(
event
){
for
(
let
elt
in
this
.
contenus
){
...
...
src/components/filtres/Filtre_Auteur.vue
View file @
2b064be2
...
...
@@ -30,6 +30,10 @@ export default {
panierChoisi
:
{}
},
computed
:
{
/**
* @vuese
* Filtrer la liste des auteurs pour virer (ou non) celui de l'auteur actuellement connecté
*/
filteredList
:
function
()
{
if
(
!
this
.
panierChoisi
){
...
...
src/components/filtres/Filtre_Type_Source.vue
View file @
2b064be2
...
...
@@ -29,11 +29,19 @@ export default {
}
},
methods
:
{
/**
* @vuese
* Fonction de sélection d'un type
*/
choixType
:
function
()
{
this
.
$emit
(
"creer_filtre"
,
{
filtre
:
this
.
type
,
type
:
'type'
})
this
.
type
=
""
},
/**
* @vuese
* Fonction de sélection d'une source
*/
choixSource
:
function
()
{
this
.
$emit
(
"creer_filtre"
,
{
filtre
:
this
.
source
,
type
:
'source'
})
this
.
source
=
""
...
...
@@ -46,6 +54,10 @@ export default {
deconnexion
:
{}
},
watch
:
{
/**
* @vuese
* Quand l'utilisateur se deconnecte on "vide" les deux select
*/
deconnexion
:
function
()
{
this
.
type
=
""
this
.
source
=
""
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment