@@ -237,8 +149,7 @@
Loi de Parkinson : le travail s'étale de façon à occuper tout le temps disponible pour son achèvement.
Loi de Hofstadter: il est presque impossible de prévoir le temps qui sera nécessaire à l'accomplissement
- d'une
- tâche complexe.
+ d'une tâche complexe.
Principe de Pareto : 20% des efforts produisent 80% des effets.
Loi de Conway : un produit est le reflet de l'organisation qui l'a conçu.
diff --git a/frontend/src/scripts/UI/CSS.js b/frontend/src/scripts/UI/CSS.js
new file mode 100644
index 0000000..afd9359
--- /dev/null
+++ b/frontend/src/scripts/UI/CSS.js
@@ -0,0 +1,33 @@
+ // Get the CSS root element
+ const rootCSS = document.querySelector(':root');
+
+ // Create a function for getting a variable value
+ function CSSgetSombre() {
+ let rs = getComputedStyle(rootCSS);
+ alert("The value of --couleur-sombre is: " + rs.getPropertyValue('--couleur-sombre'));
+ }
+
+ function CSSsetSombre(vr, vg, vb) {
+ // Couleur
+ rootCSS.style.setProperty('--r-sombre', vr);
+ rootCSS.style.setProperty('--g-sombre', vg);
+ rootCSS.style.setProperty('--b-sombre', vb);
+ // Logo
+ // let logo = document.querySelector('header>#logo>svg');
+ // if (logo) logo.style.fill = 'rgb(' + vr + ',' + vg + ',' + vb + ')';
+ }
+ function CSSsetClair(vr, vg, vb) {
+ // Couleur
+ rootCSS.style.setProperty('--r-clair', vr);
+ rootCSS.style.setProperty('--g-clair', vg);
+ rootCSS.style.setProperty('--b-clair', vb);
+ }
+
+ function CSSswitchCouleurTexte() {
+ let rs = getComputedStyle(rootCSS);
+ let actuel = rs.getPropertyValue('--couleur-texte');
+ if (actuel == 'black')
+ rootCSS.style.setProperty('--couleur-texte', 'var(--couleur-sombre)');
+ else
+ rootCSS.style.setProperty('--couleur-texte', 'black');
+ }
diff --git a/frontend/src/scripts/UI/datagrid.js b/frontend/src/scripts/UI/datagrid.js
index d4ab6e6..efed85a 100644
--- a/frontend/src/scripts/UI/datagrid.js
+++ b/frontend/src/scripts/UI/datagrid.js
@@ -1,5 +1,5 @@
// ---------------------------------------------------------------------------------------
-// ---- Fonctions pour charger des lignes identiques dans le tableau
+// ---- Fonction pour charger des lignes identiques dans le tableau
// ---------------------------------------------------------------------------------------
function datagridLignesIdentiques(nblignes, valeur) {
let element = document.querySelector('#datagrid');
@@ -30,14 +30,14 @@ function datagridLignesIdentiques(nblignes, valeur) {
element.innerHTML = contenu;
}
// ---------------------------------------------------------------------------------------
-// ---- Fonctions pour charger des lignes vides
+// ---- Fonction pour charger des lignes vides
// ---------------------------------------------------------------------------------------
function datagridEmptyLines(nblignes) {
return datagridLignesIdentiques(nblignes,' ');
}
// ---------------------------------------------------------------------------------------
-// ---- Fonctions utilitaires
+// ---- Fonction utilitaires
// ---------------------------------------------------------------------------------------
function datagridLoading() {
let nblignes = 25 + Math.floor(Math.random() * 475); // Nbre entre ntre 25 et 500
@@ -45,7 +45,7 @@ function datagridLoading() {
}
// ---------------------------------------------------------------------------------------
-// ---- Fonctions pour charger des données au hasard dans le datagrid
+// ---- Fonction pour charger des données au hasard dans le datagrid
// ---------------------------------------------------------------------------------------
var nbCols = 5;
diff --git a/frontend/src/scripts/default.js b/frontend/src/scripts/default.js
index b3eb4c3..0792179 100644
--- a/frontend/src/scripts/default.js
+++ b/frontend/src/scripts/default.js
@@ -159,100 +159,9 @@
function initDatagrid()
{
- let type = getContexteValeur('type');
- switch(type){
- case 'TODO':
- initDatagridTodos();
- break;
- default:
- initDatagridItems();
- break;
- }
+ datagridLoading();
}
- function changeModeAffichage(valeur, texte)
- {
- let type='TODO';
-
- switch(valeur){
- case 'absences':
- case 'releases':
- case 'rdv':
- case 'feries':
- case 'taches':
- type='TACHE';
- break;
- }
-
- setContexteValeur('mode_affichage', valeur);
-
- setContexteValeur('type_courant', type);
- setFiltreValeur('type',type);
-
- setFilAriane(['Home', 'List', texte]);
-
- return afficherItems();
-
- }
-
- function changeModeAffichageEvent(e)
- {
- return changeModeAffichage(e.target.value, e.target.options[e.target.selectedIndex].text);
- }
-
- function changeAffichageItemsTermine(e)
- {
- setContexteValeur('termine', e.target.value);
-
- setFiltreValeur('status',e.target.value);
-
- afficherItems();
- }
-
- function changeAffichageItemsPrestations(e)
- {
- setContexteValeur('prestation', e.target.value);
-
- afficherItems();
- }
-
- function changeFiltreClient(e)
- {
- let valeur = e.target.value;
- if (valeur == 'ALL') valeur='';
- setContexteValeur('client', valeur);
-
- setFiltreValeur('client', valeur);
-
- afficherItems();
- }
-
- function changeAffichageNiveauxEvent(e)
- {
- setContexteValeur('level', e.target.value);
-
- setFiltreValeur('level', e.target.value);
-
- afficherItems();
- }
-
- function changeCalendarEvent(e)
- {
- let valeur = todayStringDate;
- switch(parseInt(e.target.value)) {
- case 2 :
- valeur = todayStringDate.substring(0,4)+'0101';
- break;
- }
- setContexteValeur('debut',valeur);
- setFiltreValeur('debut', valeur);
- afficherItems();
- }
-
- function updateValue(e) {
- if (e.target.value != '') editerItem(-1, e.target.value);
- e.target.value = '';
- }
function afficher_synthese(mode) {
let synthesis_body = document.querySelector('#synthesis_body');
@@ -317,181 +226,15 @@
}
function activeMode(mode) {
- setContexteValeur('type_courant', 'TODO');
- setContexteValeur('items_type', 'items');
-
- switch (mode) {
- case 'Tree':
- case 'TreeList' :
- case 'List':
- mode='Tasks';
- case 'Tasks':
- case 'Releases':
- case 'Hollidays':
- case 'Rendez-Vous':
- case 'Items':
- setContexteValeur('mode_feuille', false);
- setContexteValeur('type_courant', 'TACHE');
-
- setContexteValeur('mode_affichage', modeToAffichage(mode));
-
- afficher_synthese('taches');
- afficher_footer('taches');
-
- setFilAriane(['Home', 'TreeList', mode]);
-
- initDatagridItems();
- break;
-
- case 'Project':
- setContexteValeur('mode_feuille', false);
- setContexteValeur('termine', true);
- setContexteValeur('prestation', true);
- setContexteValeur('type_courant', 'PRESTATION');
-
- setContexteValeur('mode_affichage', modeToAffichage(mode));
-
- afficher_synthese('project');
- afficher_footer('taches');
-
- setFilAriane(['Home', 'Project']);
-
- initDatagridItems();
- break;
-
- case 'Plan':
- case 'Planning':
-
- setFilAriane([mode]);
-
- setContexteValeur('type_courant', 'TODO');
- setContexteValeur('mode_feuille', true);
- setContexteValeur('mode_affichage', 'planning');
- setContexteValeur('termine', 'non');
-
- afficher_synthese('planning');
- afficher_footer('planning');
-
- initDatagridItems();
- break;
-
- case 'Calendar':
- setFilAriane(['Todo', mode]);
-
- setContexteValeur('mode_feuille', true);
- setContexteValeur('mode_affichage', 'calendar_intervenants');
- setContexteValeur('debut', todayStringDate);
-
- afficher_synthese('calendrier');
- afficher_footer('calendrier');
-
- initDatagridItems();
- break;
-
- case 'Administration':
- setFilAriane(['Todo', mode]);
- initAdministration();
- break;
-
- case 'Status':
- setFilAriane(['Todo', 'Administration', mode]);
- initDatagridStatus();
- break;
-
- case 'Clients':
- setFilAriane(['Todo', 'Administration', mode]);
- initDatagridClients();
- break;
-
- case 'Collaborateurs':
- setFilAriane(['Todo', 'Administration', mode]);
- initDatagridCollaborateurs();
- break;
-
- default:
- case 'Home':
- mode='Todo';
- case 'Todo':
- setFilAriane(['Home', mode]);
-
- setDefaultContext();
-
- setContexteValeur('type', 'TODO');
- setContexteValeur('items_type', 'todos');
- setContexteValeur('mode_affichage', 'todos');
- setContexteValeur('mode_feuille', true);
- setContexteValeur('parent', '1');
-
- afficher_synthese('accueil');
- afficher_footer('accueil');
-
- initDatagridItems();
- break;
- }
- }
-
- function initAdministration() {
- let element = document.querySelector('#synthesis_middle');
- contenu = '