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
c0991910
Commit
c0991910
authored
Jul 19, 2021
by
Jérémie Passerat
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Refonte consultation - 1ere version
parent
ece9d9aa
Changes
3
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
84 additions
and
25 deletions
+84
-25
NewContenu.vue
src/NewContenu.vue
+2
-1
Modifier_Contenu.vue
src/components/Modifier_Contenu.vue
+59
-5
Volet_Base.vue
src/components/Volet_Base.vue
+23
-19
No files found.
src/NewContenu.vue
View file @
c0991910
...
...
@@ -13,7 +13,7 @@
<!--
<vue-simplemde
id=
"markdownEditor"
v-model=
"contenuSaisi"
/>
-->
<div
class=
"mavonEditor"
>
<mavon-editor
:language=
"'fr'"
style=
"height: 78vh; margin-top: -0.5%; z-index: -1
"
v-model=
"contenuSaisi"
/>
<mavon-editor
:language=
"'fr'"
style=
"position: static; height: 78vh; margin-top: -0.5%
"
v-model=
"contenuSaisi"
/>
</div>
<div
class=
"markdown"
>
<br>
...
...
@@ -49,6 +49,7 @@ export default {
ajouterContenu
:
function
()
{
let
data
=
{
auteur
:
this
.
auteur
,
contenu_a_ecrire
:
this
.
contenuSaisi
,
titre
:
this
.
titreContenu
}
alert
(
this
.
titreContenu
)
let
that
=
this
Service
.
creerContenuPerso
(
data
).
then
(
function
(
reponse
)
{
...
...
src/components/Modifier_Contenu.vue
View file @
c0991910
<
template
>
<div
>
<div
id=
"titreContenu"
>
<!--
<select
v-show=
"(contenuCliqueProvenance === 'banque'
|| contenuCliqueProvenance === 'perso')
&& versionMax > 1"
v-model=
"versionChoisie"
v-on:change=
"changerVersion"
>
-->
<label>
Titre du contenu :
</label><br>
<select
v-show=
"contenuCliqueProvenance === 'perso' && versionMax > 1"
v-model=
"versionChoisie"
v-on:change=
"changerVersion"
>
<option
v-for=
"i in versionMax"
v-bind:key=
"i"
>
{{
i
}}
</option>
</select>
<input
type=
"text"
placeholder=
"titre du contenu"
v-model=
"titreContenu"
>
<button
v-on:click=
"actionContenu('supprimer')"
>
Supprimer
</button>
<button
v-show=
"contenuCliqueProvenance !== 'maj' && contenuCliqueProvenance === 'en-cours' &&
contenuClique.origine === 'tiers' && contenuClique.anonyme !== 'oui'"
v-on:click=
"actionContenu('publier')"
>
Publier le contenu
</button>
<button
v-show=
"contenuCliqueProvenance !== 'maj' && contenuCliqueProvenance === 'en-cours' &&
(contenuClique.origine === 'perso' || contenuClique.anonyme === 'oui')"
v-on:click=
"actionContenu('validerModification')"
>
Valider la modification
</button>
</div>
<br>
<div
class=
"mavonEditor"
>
<mavon-editor
:language=
"'fr'"
style=
"
height: 80vh; margin-top: -0.5%; z-index: -1
"
v-model=
"texteDuContenu"
/>
<mavon-editor
:language=
"'fr'"
style=
"
position: static; height: 78vh; margin-top: -0.5%
"
v-model=
"texteDuContenu"
/>
</div>
<div
class=
"markdown"
>
<br>
...
...
@@ -21,6 +36,8 @@
<
script
>
import
Service
from
"@/service/Service"
;
export
default
{
name
:
"Modifier_Contenu"
,
props
:
{
...
...
@@ -30,12 +47,18 @@ export default {
auteur
:
{},
// la provenance (perso, tiers, en-cours)
contenuCliqueProvenance
:
{},
// le titre du contenu cliqué
titreContenu
:
{}
// la version du contenu cliqué
contenuCliqueVersion
:
{},
// le contenu clique
contenuClique
:
{}
},
data
:
function
()
{
return
{
contenu
:
''
contenu
:
''
,
versionChoisie
:
0
,
titreContenu
:
''
,
isContenuRefuse
:
false
,
versionMax
:
0
}
},
methods
:
{
...
...
@@ -55,9 +78,25 @@ export default {
// @arg l'action choisie, ici 'arriere'
this
.
$emit
(
"choixModif"
,
{
action
:
actionChoisie
})
}
},
changerVersion
:
function
()
{
let
that
=
this
Service
.
recupererTexteVersionContenu
(
JSON
.
stringify
(
this
.
contenuClique
.
_id
),
this
.
versionChoisie
).
then
(
function
(
response
)
{
that
.
texteDuContenu
=
response
.
data
}
)
},
actionContenu
:
function
(
action
)
{
// Dès qu'une action est sélectionnée, la renvoie à Volet_Base
// @arg action l'action choisie
// @arg contenu le contenu cliqué
// @arg le texte associé au contenu (sert potentiellement à rien)
this
.
$emit
(
"actionContenu"
,
{
action
:
action
,
contenu
:
this
.
contenuClique
,
texte
:
this
.
texteDuContenu
})
}
}
/*,
}
,
/*,
watch: {
/!**
* @vuese
...
...
@@ -67,6 +106,21 @@ export default {
// this.titreContenu
}
}*/
watch
:
{
contenuClique
:
function
()
{
console
.
log
(
this
.
contenuClique
)
this
.
titreContenu
=
this
.
contenuClique
.
titre
this
.
isContenuRefuse
=
Object
.
prototype
.
hasOwnProperty
.
call
(
this
.
contenuClique
,
'refuse'
);
if
(
this
.
contenuCliqueProvenance
===
'perso'
){
this
.
versionMax
=
this
.
contenuClique
.
versionEnCours
.
numero
this
.
versionChoisie
=
this
.
versionMax
}
}
}
}
</
script
>
...
...
src/components/Volet_Base.vue
View file @
c0991910
<
template
>
<div
id=
"divPrincipale"
>
<div
id=
"principal"
v-show=
"!mode
Consultation && !mode
Modification"
>
<div
id=
"principal"
v-show=
"!modeModification"
>
<!-- width: 330px;
-->
<div
id=
"ensemble"
class=
"ensemble"
:class=
"darktheme ? 'ensembledark' : ''"
:style=
"isActif ?
{width: '340px'} : {width: '40px'}">
<button
id=
"changerVariante"
:style=
"isActif ?
{width: 'auto'} : {width: '20px'}"
v-show="!mode
Consultation
&&
!mode
Modification" v-on:click="changerVariante">
{{
texteBoutonvariante
}}
</button>
v-show="!modeModification" v-on:click="changerVariante">
{{
texteBoutonvariante
}}
</button>
<br>
<button
id=
"boutonVolet"
v-on:click=
"desactiverVolet"
v-bind:style=
"
{'margin-top': '0%'}">
</button>
...
...
@@ -18,7 +18,7 @@
</div>
<div
id=
"tableau"
:class=
"darktheme ? 'tableaudark' : ''"
:style=
"isActif ?
{width: '90%'} : {width: '98%'}" >
<div
class=
"choixPanier"
v-show=
"panierChoisi && !mode
Consultation && !mode
Modification"
>
<div
class=
"choixPanier"
v-show=
"panierChoisi && !modeModification"
>
<label
id=
"labelPerso"
:style=
"isActif ?
{'margin-left': '-5px'} : {'margin-left': '148px'}">Perso
</label>
<input
type=
"checkbox"
class=
"filtreTableau"
id=
"filtrePerso"
v-model=
"persoChecked"
v-on:click=
"persoChecked = !persoChecked"
name=
"perso"
value=
"tiers"
/>
...
...
@@ -114,7 +114,7 @@
</table>
<tooltip
/>
<div
id=
"ajouterContenu"
v-show=
"panierChoisi && !mode
Consult
ation"
class=
"circle"
v-bind:class=
"darktheme ? 'circleDark' : ''"
<div
id=
"ajouterContenu"
v-show=
"panierChoisi && !mode
Modific
ation"
class=
"circle"
v-bind:class=
"darktheme ? 'circleDark' : ''"
v-bind:style=
"
{'margin-left': (!isActif ? '94.8%' : '94%')}">
<b-popover
target=
"ajouterContenu"
triggers=
"click"
placement=
"lefttop"
>
<template
#
title
>
Choix :
</
template
>
...
...
@@ -125,11 +125,11 @@
</div>
</div>
<Consulter
_Contenu
v-bind:auteur=
"auteur"
@
actionContenu=
"actionContenu"
@
retour_arriere=
"retourArriere"
v-bind:contenuClique =
"contenuClique"
v-bind:contenuCliqueProvenance =
"contenuCliqueProvenance"
v-show=
"modeConsultation && !modeModification"
/>
<!--
<Consulter_Contenu v-bind:auteur="auteur" @actionContenu="actionContenu" @retour_arriere="retourArriere" v-bind:contenuClique = "contenuClique"
v-bind:contenuCliqueProvenance = "contenuCliqueProvenance" v-show="modeConsultation && !modeModification"/>
-->
<Modifier
_Contenu
v-bind:auteur=
"auteur"
v-bind:texteDuContenu =
"texteDuContenu"
v-bind:contenuCliqueProvenance =
"contenuCliqueProvenance"
v-show=
"
!modeConsultation && modeModification"
@
choixModif=
"choixModif"
v-bind:titreContenu=
"titreContenu"
/>
v-show=
"
modeModification"
@
actionContenu=
"actionContenu"
v-bind:contenuClique =
"contenuClique"
@
choixModif=
"choixModif"
v-bind:titreContenu=
"titreContenu"
/>
</div>
</template>
...
...
@@ -142,7 +142,6 @@ window.$ = window.jQuery = $;
require
(
"jquery-ui-bundle"
);
import
Volet_Menu
from
"./Volet_Menu"
;
import
Volet_Contenu
from
"./Volet_Contenu"
;
import
Consulter_Contenu
from
"./Consulter_Contenu"
;
import
Service
from
'../../src/service/Service'
import
Modifier_Contenu
from
"./Modifier_Contenu"
;
import
Test
from
"../Test"
...
...
@@ -153,8 +152,7 @@ export default {
Test
,
Modifier_Contenu
,
Volet_Menu
,
Volet_Contenu
,
Consulter_Contenu
Volet_Contenu
},
props
:
{
// L'auteur connecté
...
...
@@ -183,7 +181,6 @@ export default {
contenuClique
:
""
,
contenuCliqueProvenance
:
""
,
modalOn
:
false
,
modeConsultation
:
false
,
modeModification
:
false
,
persoChecked
:
true
,
tiersChecked
:
true
,
...
...
@@ -219,7 +216,6 @@ export default {
* Dès qu'on se deconnecte on réinitialise la vue en cours sur le tableau des contenus
*/
deconnexion
:
function
()
{
this
.
modeConsultation
=
false
this
.
modeModification
=
false
this
.
panierChoisi
=
true
},
...
...
@@ -264,7 +260,7 @@ export default {
* @vuese
* Permet de rendre le volet latéral bougeable à la souris
*/
this
.
mode
Consult
ation
=
false
this
.
mode
Modific
ation
=
false
$
(
'#ensemble'
).
draggable
()
},
methods
:
{
...
...
@@ -395,25 +391,33 @@ export default {
*/
chargerContenu
:
function
(
item
,
provenance
){
this
.
panierChoisi
=
false
this
.
mode
Consult
ation
=
true
this
.
mode
Modific
ation
=
true
this
.
contenuClique
=
item
this
.
contenuCliqueProvenance
=
provenance
// this.titreContenu = item.titre
//this.contenuCliqueVersion = item.version
let
showdown
=
require
(
'showdown'
),
converter
=
new
showdown
.
Converter
()
this
.
texteDuContenu
=
converter
.
makeMarkdown
(
this
.
texteDuContenu
)
},
/
**
/* /!
**
* @vuese
* Retour de Consulter_Contenu à Volet_Base
*/
*
!
/
retourArriere: function (event) {
this.modeConsultation = false
this.panierChoisi = event.panierChoisi
},
},
*/
/**
* @vuese
* Récupération de lm'action choisie dans Consulter_Contenu,
* parmi les 4 possibilités : mettre en favori, modifier, supprimer et validerModification / Demander la Publication
*/
actionContenu
:
function
(
event
)
{
this
.
modeConsultation
=
false
alert
(
"L'appel de la forêt"
)
this
.
modeModification
=
false
let
data
=
{}
let
that
=
this
let
auteur
=
""
...
...
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