codevdesign 1.0.31 → 1.0.33

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (105) hide show
  1. package/assets/csqc.css +259 -0
  2. package/composants/csqcAide.vue +55 -0
  3. package/composants/csqcAlerteErreur.vue +87 -0
  4. package/composants/csqcChaise/chaiseConteneur.vue +367 -0
  5. package/composants/csqcChaise/chaiseItem.vue +54 -0
  6. package/composants/csqcCodeBudgetaireGenerique.vue +336 -0
  7. package/composants/csqcConfirmation.vue +75 -0
  8. package/composants/csqcDate.vue +57 -0
  9. package/composants/csqcDialogue.vue +118 -0
  10. package/composants/csqcEditeurTexteRiche.vue +380 -0
  11. package/composants/csqcEntete.vue +163 -0
  12. package/composants/csqcImportCSV.vue +125 -0
  13. package/composants/csqcModaleSaisie.vue +95 -0
  14. package/composants/csqcOptionSwitch.vue +120 -0
  15. package/composants/csqcRecherche.vue +213 -0
  16. package/composants/csqcRechercheUtilisateur.vue +197 -0
  17. package/composants/csqcSnackbar.vue +88 -0
  18. package/composants/csqcTable/csqcTable.vue +383 -0
  19. package/composants/csqcTable/csqcTableExportExcel.vue +58 -0
  20. package/composants/csqcTable/csqcTableModaleChoixColonnes.vue +586 -0
  21. package/composants/csqcTexteBilingue.vue +175 -0
  22. package/composants/csqcTiroir.vue +156 -0
  23. package/composants/gabarit/csqcMenu.vue +281 -0
  24. package/composants/gabarit/pivEntete.vue +205 -0
  25. package/composants/gabarit/pivPiedPage.vue +70 -0
  26. package/composants/gabarit/vueDefault.vue +5 -0
  27. package/composants/validateurs.ts +183 -0
  28. package/enums/choixLangue.ts +10 -0
  29. package/index.ts +74 -0
  30. package/locales/en.json +100 -0
  31. package/locales/fr.json +101 -0
  32. package/modeles/apiReponse.ts +12 -0
  33. package/modeles/assurancesAssuranceGeneraleGrics.ts +10 -0
  34. package/modeles/assurancesAssurancePersonnelleGrics.ts +13 -0
  35. package/modeles/assurancesContratGrics.ts +14 -0
  36. package/modeles/assurancesDetailsPrimeReguliereGrics.ts +12 -0
  37. package/modeles/assurancesDonneesAssureurGrics.ts +13 -0
  38. package/modeles/assurancesEmployeGrics.ts +11 -0
  39. package/modeles/assurancesGrics.ts +14 -0
  40. package/modeles/assurancesRegimeAssuranceGrics.ts +9 -0
  41. package/modeles/assurancesRegimeBaseEmployeurGrics.ts +9 -0
  42. package/modeles/assurancesRegimeBaseGrics.ts +9 -0
  43. package/modeles/composants/csqcMenuModele.ts +18 -0
  44. package/modeles/composants/datatableColonne.ts +31 -0
  45. package/modeles/composants/snackbar.ts +18 -0
  46. package/modeles/data.ts +24 -0
  47. package/modeles/droitIntervention.ts +14 -0
  48. package/modeles/employeAdresseGrics.ts +13 -0
  49. package/modeles/employeAdressesPersonnellesGrics.ts +12 -0
  50. package/modeles/employeAffectationCorpsEmploiGrics.ts +9 -0
  51. package/modeles/employeBanquesCongeBanqueGrics.ts +9 -0
  52. package/modeles/employeBanquesCongeGrics.ts +14 -0
  53. package/modeles/employeBanquesCongeRegimeAbsenceGrics.ts +9 -0
  54. package/modeles/employeCourrielsPersonnels.ts +9 -0
  55. package/modeles/employeCourrielsProfessionnels.ts +9 -0
  56. package/modeles/employeEmploisCategorieGrics.ts +9 -0
  57. package/modeles/employeEmploisClasseGrics.ts +9 -0
  58. package/modeles/employeEmploisCorpsEmploiGrics.ts +9 -0
  59. package/modeles/employeEmploisEtatEmploiGrics.ts +9 -0
  60. package/modeles/employeEmploisGrics.ts +37 -0
  61. package/modeles/employeEmploisGroupePaieGrics.ts +9 -0
  62. package/modeles/employeEmploisLieuTravailPrincipalGrics.ts +10 -0
  63. package/modeles/employeEmploisLieuxTravailSecondairesGrics.ts +10 -0
  64. package/modeles/employeEmploisRegimeAbsenceGrics.ts +9 -0
  65. package/modeles/employeEmploisSecteurGrics.ts +9 -0
  66. package/modeles/employeEmploisStatutEngagementGrics.ts +9 -0
  67. package/modeles/employeExperienceEmploiGrics.ts +9 -0
  68. package/modeles/employeExperienceEmployeGrics.ts +12 -0
  69. package/modeles/employeExperienceExperiencesGrics.ts +11 -0
  70. package/modeles/employeExperienceExperiencesTotalesGrics.ts +15 -0
  71. package/modeles/employeExperienceGrics.ts +17 -0
  72. package/modeles/employeGrics.ts +31 -0
  73. package/modeles/employeMinsLsCodev.ts +10 -0
  74. package/modeles/employeTelephoneGrics.ts +12 -0
  75. package/modeles/employeTelephonesPersonnelsGrics.ts +11 -0
  76. package/modeles/employeTelephonesProfessionnelsGrics.ts +11 -0
  77. package/modeles/groupeCE.ts +14 -0
  78. package/modeles/groupeCEIntervalle.ts +13 -0
  79. package/modeles/historiquesAbsenceBanqueGrics.ts +9 -0
  80. package/modeles/historiquesAbsenceGrics.ts +21 -0
  81. package/modeles/historiquesAbsenceLieuTravailGrics.ts +9 -0
  82. package/modeles/historiquesAbsenceSousBanqueGrics.ts +9 -0
  83. package/modeles/intervention.ts +35 -0
  84. package/modeles/motifsAbsenceBanque.ts +9 -0
  85. package/modeles/motifsAbsenceGrics.ts +17 -0
  86. package/modeles/motifsAbsenceRegimeAbsence.ts +9 -0
  87. package/modeles/motifsAbsenceSousMotifs.ts +9 -0
  88. package/modeles/motifsAbsenceTraitementBanques.ts +11 -0
  89. package/modeles/notificationGabaritDefaut.ts +10 -0
  90. package/modeles/response.ts +12 -0
  91. package/modeles/role.ts +31 -0
  92. package/modeles/roleMin.ts +12 -0
  93. package/modeles/syndicat.ts +26 -0
  94. package/modeles/syndicatGroupeCe.ts +10 -0
  95. package/modeles/syndicatResponsable.ts +15 -0
  96. package/modeles/syndicatUnite.ts +10 -0
  97. package/modeles/typeEnseignement.ts +14 -0
  98. package/modeles/typeTelephone.ts +12 -0
  99. package/modeles/unite.ts +23 -0
  100. package/modeles/uniteTypeEnseignement.ts +12 -0
  101. package/modeles/utilisateur.ts +15 -0
  102. package/outils/appAxios.ts +116 -0
  103. package/outils/csqcOutils.ts +366 -0
  104. package/outils/rafraichisseurToken.ts +187 -0
  105. package/package.json +11 -15
@@ -0,0 +1,259 @@
1
+ @charset "UTF-8";
2
+
3
+ /* titre design qc avec ligne orange*/
4
+ .headline {
5
+ color: #223654;
6
+ font-weight: 600;
7
+ display: inline-block; /* largeur du texte */
8
+ position: relative; /* pour positionner le ::after */
9
+ }
10
+
11
+ .headline::after {
12
+ content: '';
13
+ display: block;
14
+ width: 2.8rem; /* ligne fixe */
15
+ border-bottom: 3px solid #f09686;
16
+ margin-top: 0.3rem; /* espace entre texte et ligne */
17
+ }
18
+
19
+
20
+ /* pour afficher une étoile après le label*/
21
+ .required:after {
22
+ content: ' *';
23
+ color: red;
24
+ }
25
+
26
+ /* grosseur et poids des labels*/
27
+ .libelle {
28
+ font-weight: bold;
29
+ font-size: 0.9rem;
30
+ }
31
+
32
+ /*hauteur des boutons min... par défaut c'est 34*/
33
+ .BoutonCSQC {
34
+ border-radius: 4px;
35
+ min-height: 56px;
36
+ min-width: 112px !important;
37
+ }
38
+
39
+ .BoutonCSQCCompact {
40
+ border-radius: 4px;
41
+ min-height: 40px;
42
+ min-width: 80px !important;
43
+ }
44
+
45
+ .iconeHover:hover {
46
+ color: #095797;
47
+ }
48
+
49
+ /*goutière de 24px minimum entre les boutons compact*/
50
+ .v-application--is-ltr .v-card__actions > .v-btn.v-btn + .v-btn {
51
+ margin-left: 16px;
52
+ }
53
+
54
+ .Gouttiere {
55
+ margin-left: 16px;
56
+ }
57
+
58
+ /*permet legend max width sans padding de container */
59
+ .maximumLargeur {
60
+ margin-right: auto;
61
+ margin-left: auto;
62
+ max-width: 1310px;
63
+ width: 100%;
64
+ }
65
+
66
+ .ajouterPointeur {
67
+ cursor: pointer;
68
+ }
69
+
70
+ /*********************** Divers ********************/
71
+ .messageInfo {
72
+ font-size: smaller;
73
+ font-style: italic;
74
+ }
75
+
76
+ /*********************** Overrride piv *******************/
77
+ @media screen and (min-width: 993px) {
78
+ #pivImage {
79
+ max-height: none !important;
80
+ max-width: 256px !important;
81
+ width: auto !important;
82
+ }
83
+ }
84
+
85
+ .hyphen_auto {
86
+ hyphens: auto;
87
+ }
88
+
89
+ .material-icons {
90
+ font-family: 'Material Icons';
91
+ font-weight: normal;
92
+ font-style: normal;
93
+ font-size: 24px;
94
+ line-height: 1;
95
+ letter-spacing: normal;
96
+ text-transform: none;
97
+ display: inline-block;
98
+ white-space: nowrap;
99
+ word-wrap: normal;
100
+ direction: ltr;
101
+ -moz-osx-font-smoothing: grayscale;
102
+ }
103
+
104
+ html,
105
+ body {
106
+ padding: 0;
107
+ margin: 0;
108
+ width: 100%;
109
+ }
110
+
111
+ /************************** PIV **************************/
112
+
113
+ #pivImage {
114
+ max-height: 2rem;
115
+ max-width: 10.175rem;
116
+ }
117
+
118
+ .imgImpression {
119
+ display: none;
120
+ }
121
+
122
+ .visuallyHidden {
123
+ border: 0;
124
+ clip: rect(0 0 0 0);
125
+ height: 1px;
126
+ margin: -1px;
127
+ overflow: hidden;
128
+ padding: 0;
129
+ position: absolute;
130
+ width: 1px;
131
+ }
132
+
133
+ .cacher {
134
+ display: none !important;
135
+ }
136
+
137
+ .flex,
138
+ .d-flex {
139
+ display: -ms-flexbox !important;
140
+ display: -webkit-box !important;
141
+ display: flex !important;
142
+ }
143
+
144
+ .align-items-center {
145
+ -ms-flex-align: center !important;
146
+ -webkit-box-align: center !important;
147
+ align-items: center !important;
148
+ }
149
+
150
+ .justify-content-end {
151
+ -ms-flex-pack: end !important;
152
+ -webkit-box-pack: end !important;
153
+ justify-content: flex-end !important;
154
+ }
155
+
156
+ .justify-content-start {
157
+ -ms-flex-pack: start !important;
158
+ -webkit-box-pack: start !important;
159
+ justify-content: flex-start !important;
160
+ }
161
+
162
+ /* Taille de police */
163
+
164
+ h1,
165
+ h2,
166
+ h3,
167
+ h4,
168
+ h5,
169
+ h6,
170
+ .h1,
171
+ .h2,
172
+ .h3,
173
+ .h4,
174
+ .h5,
175
+ .h6 {
176
+ color: #223654;
177
+ font-weight: 600;
178
+ font-style: normal;
179
+ }
180
+
181
+ h1,
182
+ .h1 {
183
+ font-size: 2.5rem;
184
+ font-weight: bold;
185
+ line-height: 2.7rem;
186
+ margin-top: 1.3rem;
187
+ margin-bottom: 2rem;
188
+ }
189
+
190
+ h2,
191
+ .h2 {
192
+ font-size: 2rem;
193
+ font-weight: bold;
194
+ padding-bottom: 0;
195
+ margin-bottom: 0.7rem;
196
+ margin-top: 2.5rem;
197
+ line-height: 2.3rem;
198
+ }
199
+
200
+ h3,
201
+ .h3 {
202
+ font-size: 1.8rem;
203
+ font-weight: 500;
204
+ margin-top: 1.3rem;
205
+ }
206
+
207
+ h3.results-topic {
208
+ margin-top: 1rem;
209
+ }
210
+
211
+ h3.results-topic a {
212
+ font-weight: normal;
213
+ font-size: 1.5rem;
214
+ text-decoration: none;
215
+ font-variant-caps: all-small-caps;
216
+ }
217
+
218
+ h4,
219
+ .h4 {
220
+ font-size: 1.3125rem;
221
+ font-weight: bold;
222
+ margin-top: 1rem;
223
+ }
224
+
225
+ h5,
226
+ .h5 {
227
+ font-size: 1.125rem;
228
+ font-weight: 500;
229
+ margin-top: 1rem;
230
+ }
231
+
232
+ h6,
233
+ .h6 {
234
+ font-size: 1rem;
235
+ font-weight: bold;
236
+ }
237
+
238
+ /* Titre design québec */
239
+
240
+ h1:after,
241
+ h2.decorated:after {
242
+ content: '';
243
+ display: block;
244
+ margin: 0 0 12px 0;
245
+ width: 4.8rem;
246
+ padding-top: 0.4rem;
247
+ }
248
+
249
+ h3.decorated:after,
250
+ h4.decorated:after,
251
+ h5.decorated:after,
252
+ h6.decorated:after {
253
+ content: '';
254
+ display: block;
255
+ margin: 0 0 12px 0;
256
+ width: 3.4rem;
257
+ padding-top: 0.4rem;
258
+ border-bottom: 3px solid #f09686;
259
+ }
@@ -0,0 +1,55 @@
1
+ <template>
2
+ <v-menu
3
+ v-if="!isXs"
4
+ :open-on-hover="hover"
5
+ location="top start"
6
+ >
7
+ <template #activator="{ props: activatorProps }">
8
+ <slot name="icone">
9
+ <v-icon
10
+ v-bind="activatorProps"
11
+ :style="styleCss"
12
+ :size="grosseurEffective"
13
+ color="grisMoyen"
14
+ icon="mdi-help-circle"
15
+ @click.stop.prevent
16
+ />
17
+ </slot>
18
+ </template>
19
+
20
+ <slot name="carte">
21
+ <v-expand-transition>
22
+ <v-card style="max-width: 1000px">
23
+ <v-card-text class="pa-6">
24
+ <span v-html="props.aide"></span>
25
+ </v-card-text> </v-card
26
+ ></v-expand-transition>
27
+ </slot>
28
+ </v-menu>
29
+ </template>
30
+
31
+ <script setup lang="ts">
32
+ import { computed } from 'vue'
33
+ import { useDisplay } from 'vuetify'
34
+
35
+ const props = withDefaults(
36
+ defineProps<{
37
+ aide: string
38
+ grosseur?: 'default' | 'small' | 'large' | 'x-large' | 'x-small'
39
+ hover?: boolean
40
+ styleCss?: string
41
+ }>(),
42
+ {
43
+ grosseur: 'default',
44
+ hover: false,
45
+ styleCss: '',
46
+ },
47
+ )
48
+ const grosseurEffective = computed(() => {
49
+ const val = props.grosseur
50
+ return val && val.trim() !== '' ? val : 'default'
51
+ })
52
+
53
+ const { name } = useDisplay()
54
+ const isXs = computed(() => name.value === 'xs')
55
+ </script>
@@ -0,0 +1,87 @@
1
+ <template>
2
+ <div
3
+ v-if="afficher && erreur"
4
+ :style="retournerStyle"
5
+ >
6
+ <v-alert
7
+ v-model="afficher"
8
+ class="mb-0 text-center hyphen_auto"
9
+ color="#CB381F"
10
+ closable
11
+ v-bind="$attrs"
12
+ @click:close="fermer"
13
+ >
14
+ <span v-html="erreur" /><br />
15
+ <span
16
+ id="messageSoutien"
17
+ style="color: darkgray"
18
+ >{{ messageSoutien }}</span
19
+ >
20
+ </v-alert>
21
+ </div>
22
+ </template>
23
+
24
+ <script lang="ts" setup>
25
+ import { computed, ref, watch } from 'vue'
26
+ import { useDisplay } from 'vuetify'
27
+ import { useI18n } from 'vue-i18n'
28
+
29
+ // Définir les props avec les types
30
+ const props = defineProps({
31
+ message: {
32
+ type: String,
33
+ required: true,
34
+ },
35
+ messageSoutien: {
36
+ type: String,
37
+ required: true,
38
+ },
39
+ })
40
+ const { name: displayName } = useDisplay()
41
+ const emit = defineEmits(['fermer:alerte'])
42
+ const { t } = useI18n({ useScope: 'global' })
43
+
44
+ const fermer = (): void => {
45
+ afficher.value = false
46
+ emit('fermer:alerte')
47
+ }
48
+
49
+ const afficher = ref(false)
50
+
51
+ // Watcher pour réagir aux changements du message
52
+ watch(
53
+ () => props.message,
54
+ nouveauMessage => {
55
+ if (nouveauMessage && nouveauMessage !== '') {
56
+ afficher.value = true
57
+ }
58
+ },
59
+ )
60
+
61
+ // Computed pour l'erreur, venant du store
62
+ const erreur = computed(() => {
63
+ if (props.message == null || props.message == '') return null
64
+
65
+ if (props.message.indexOf('erreurs.') === 0) return t(props.message)
66
+
67
+ return props.message
68
+ })
69
+
70
+ // Méthode computed pour le style en fonction du breakpoint
71
+ const retournerStyle = computed(() => {
72
+ if (displayName.value === 'xs') {
73
+ return 'top: 0px; right:1%;width: 98%;position: fixed; z-index: 2000;'
74
+ }
75
+ return 'top: 20px; right: 10%; width: 80%; position: fixed; z-index: 2000; margin: 0 auto;'
76
+ })
77
+ </script>
78
+
79
+ <style lang="css" scoped>
80
+ .error {
81
+ padding-top: 0.7rem;
82
+ padding-bottom: 0.7rem;
83
+ }
84
+ :deep(.blanc) {
85
+ color: white;
86
+ }
87
+ </style>