codevdesign 0.0.18 → 0.0.20

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.
@@ -0,0 +1,262 @@
1
+ @charset "UTF-8";
2
+
3
+ /* titre design qc avec ligne orange*/
4
+ .headline {
5
+ color: #223654 !important;
6
+ font-weight: 600 !important;
7
+ }
8
+
9
+ /* titre design qc avec ligne orange*/
10
+ .headline:after {
11
+ content: "";
12
+ display: block;
13
+ margin: 0 0 8px 0;
14
+ width: 2.8rem;
15
+ padding-top: 0.3rem;
16
+ border-bottom: 3px solid #f09686;
17
+ }
18
+
19
+ /* pour afficher une étoile après le label*/
20
+ .required:after {
21
+ content: " *";
22
+ color: red;
23
+ }
24
+
25
+ /* grosseur et poids des labels*/
26
+ .libelle {
27
+ font-weight: bold;
28
+ font-size: 0.9rem;
29
+ }
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
+
59
+ /*permet legend max width sans padding de container */
60
+ .maximumLargeur {
61
+ margin-right: auto;
62
+ margin-left: auto;
63
+ max-width: 1310px;
64
+ width: 100%;
65
+ }
66
+
67
+ .ajouterPointeur {
68
+ cursor: pointer;
69
+ }
70
+
71
+
72
+
73
+
74
+ /*********************** Overrride piv *******************/
75
+ @media screen and (min-width: 993px) {
76
+ #pivImage {
77
+ max-height: none !important;
78
+ max-width: 256px !important;
79
+ width: auto !important;
80
+ }
81
+ }
82
+
83
+ .hyphen_auto {
84
+ hyphens: auto;
85
+ }
86
+
87
+ .material-icons {
88
+ font-family: 'Material Icons';
89
+ font-weight: normal;
90
+ font-style: normal;
91
+ font-size: 24px;
92
+ line-height: 1;
93
+ letter-spacing: normal;
94
+ text-transform: none;
95
+ display: inline-block;
96
+ white-space: nowrap;
97
+ word-wrap: normal;
98
+ direction: ltr;
99
+ -moz-osx-font-smoothing: grayscale;
100
+ }
101
+
102
+ html,
103
+ body {
104
+ padding: 0;
105
+ margin: 0;
106
+ width: 100%
107
+ }
108
+
109
+ /************************** PIV **************************/
110
+
111
+
112
+ #pivImage {
113
+ max-height: 2rem;
114
+ max-width: 10.175rem;
115
+ }
116
+
117
+ .imgImpression {
118
+ display: none;
119
+ }
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
+
138
+ .flex,
139
+ .d-flex {
140
+ display: -ms-flexbox !important;
141
+ display: -webkit-box !important;
142
+ display: flex !important
143
+ }
144
+
145
+ .align-items-center {
146
+ -ms-flex-align: center !important;
147
+ -webkit-box-align: center !important;
148
+ align-items: center !important
149
+ }
150
+
151
+ .justify-content-end {
152
+ -ms-flex-pack: end !important;
153
+ -webkit-box-pack: end !important;
154
+ justify-content: flex-end !important
155
+ }
156
+
157
+ .justify-content-start {
158
+ -ms-flex-pack: start !important;
159
+ -webkit-box-pack: start !important;
160
+ justify-content: flex-start !important
161
+ }
162
+
163
+
164
+ /* Taille de police */
165
+
166
+ h1,
167
+ h2,
168
+ h3,
169
+ h4,
170
+ h5,
171
+ h6,
172
+ .h1,
173
+ .h2,
174
+ .h3,
175
+ .h4,
176
+ .h5,
177
+ .h6 {
178
+ color: #223654;
179
+ font-weight: 600;
180
+ font-style: normal;
181
+ }
182
+
183
+ h1,
184
+ .h1 {
185
+ font-size: 2.5rem;
186
+ font-weight: bold;
187
+ line-height: 2.7rem;
188
+ margin-top: 1.3rem;
189
+ margin-bottom: 2rem;
190
+ }
191
+
192
+ h2,
193
+ .h2 {
194
+ font-size: 2rem;
195
+ font-weight: bold;
196
+ padding-bottom: 0;
197
+ margin-bottom: 0.7rem;
198
+ margin-top: 2.5rem;
199
+ line-height: 2.3rem;
200
+ }
201
+
202
+ h3,
203
+ .h3 {
204
+ font-size: 1.8rem;
205
+ font-weight: 500;
206
+ margin-top: 1.3rem;
207
+ }
208
+
209
+ h3.results-topic {
210
+ margin-top: 1rem;
211
+ }
212
+
213
+ h3.results-topic a {
214
+ font-weight: normal;
215
+ font-size: 1.5rem;
216
+ text-decoration: none;
217
+ font-variant-caps: all-small-caps;
218
+ }
219
+
220
+ h4,
221
+ .h4 {
222
+ font-size: 1.3125rem;
223
+ font-weight: bold;
224
+ margin-top: 1rem;
225
+ }
226
+
227
+ h5,
228
+ .h5 {
229
+ font-size: 1.125rem;
230
+ font-weight: 500;
231
+ margin-top: 1rem;
232
+ }
233
+
234
+ h6,
235
+ .h6 {
236
+ font-size: 1rem;
237
+ font-weight: bold;
238
+ }
239
+
240
+ /* Titre design québec */
241
+
242
+ h1:after,
243
+ h2.decorated:after {
244
+ content: "";
245
+ display: block;
246
+ margin: 0 0 12px 0;
247
+ width: 4.8rem;
248
+ padding-top: 0.4rem;
249
+
250
+ }
251
+
252
+ h3.decorated:after,
253
+ h4.decorated:after,
254
+ h5.decorated:after,
255
+ h6.decorated:after {
256
+ content: "";
257
+ display: block;
258
+ margin: 0 0 12px 0;
259
+ width: 3.4rem;
260
+ padding-top: 0.4rem;
261
+ border-bottom: 3px solid #f09686;
262
+ }
@@ -31,7 +31,7 @@
31
31
  <v-btn
32
32
  color="white"
33
33
  v-bind="props"
34
- :active="estActifSousliste"
34
+ :active="estActifSousliste(item)"
35
35
  >
36
36
  {{ item.nom }}
37
37
  </v-btn>
@@ -51,6 +51,7 @@
51
51
  class="params_item"
52
52
  :to="sousitem.path"
53
53
  variant="text"
54
+ :active="sousitem.path === route"
54
55
  >{{ sousitem.title }}</v-btn
55
56
  >
56
57
  </v-list-item>
@@ -170,9 +171,10 @@
170
171
  }
171
172
 
172
173
  // Vérifie si un item de la sous-liste est actif (route correspond à un item)
173
- const estActifSousliste = computed(() => {
174
- return props.souslisteItems.some(item => props.route === item.path)
175
- })
174
+ const estActifSousliste = (item: SousListe) => {
175
+ // Vérifie si un des sous-items correspond à la route
176
+ return obtenirItemsSousListeSelonDroits(item.id).some(sousitem => sousitem.path === props.route)
177
+ }
176
178
  </script>
177
179
  <style lang="css" scoped>
178
180
  /* desktop background de la barre de menu et hauteur */
@@ -57,7 +57,7 @@
57
57
  cols="12"
58
58
  >
59
59
  <v-app-bar-title style="font-size: 16px !important">
60
- {{ $t('pivEntete.nom_application') }}
60
+ {{ $t('nom_application') }}
61
61
  </v-app-bar-title>
62
62
  </v-col>
63
63
  </v-row>
package/index.ts CHANGED
@@ -14,14 +14,22 @@ import csqcChaise from './composants/csqcChaise/chaiseConteneur.vue'
14
14
  import Utilisateur from './modeles/utilisateur'
15
15
  import Unite from './modeles/unite'
16
16
  import Intervention from './modeles/intervention'
17
+ import DroitIntervention from './modeles/droitIntervention'
18
+ import Role from './modeles/role'
19
+ import RoleMin from './modeles/roleMin'
20
+ import GroupeCE from './modeles/groupeCE'
21
+ import NotificationGabaritDefaut from './modeles/notificationGabaritDefaut'
17
22
  import modeleSnackbar from './modeles/composants/snackbar'
18
23
  import modeleDatatableColonne from './modeles/composants/datatableColonne'
19
24
  import apiReponse from './modeles/apiReponse'
20
25
  import data from './modeles/data'
21
26
  import response from './modeles/response'
27
+
22
28
  import csqcEn from './locales/en.json'
23
29
  import csqcFr from './locales/fr.json'
24
30
 
31
+ import csqcCSS from './assets/csqc.css'
32
+
25
33
  export {
26
34
  csqcFr,
27
35
  csqcEn,
@@ -45,4 +53,10 @@ export {
45
53
  apiReponse,
46
54
  data,
47
55
  response,
56
+ NotificationGabaritDefaut,
57
+ DroitIntervention,
58
+ Role,
59
+ RoleMin,
60
+ GroupeCE,
61
+ csqcCSS,
48
62
  }
@@ -2,8 +2,8 @@
2
2
  class APIReponse {
3
3
  public statusCode: number
4
4
  public location?: string
5
- public response: response
6
- constructor(statusCode: number, response: any, location?: string) {
5
+ public response: response | null
6
+ constructor(statusCode: number = 0, response: response | null = null, location?: string) {
7
7
  this.statusCode = statusCode
8
8
  this.location = location
9
9
  this.response = response
package/modeles/data.ts CHANGED
@@ -2,13 +2,16 @@
2
2
  version: string
3
3
  date: Date
4
4
  horodatage: number
5
- //succes: boolean
6
5
  code: number
7
6
  message: string
8
- resultat: object | string
7
+ resultat: object | string | null
9
8
 
10
- // Constructeur de la classe
11
- constructor(code: number, message: string, resultat: any = null, version: string = '1.0') {
9
+ constructor(
10
+ code: number = 0,
11
+ message: string = '',
12
+ resultat: object | string | null = null,
13
+ version: string = '1.0',
14
+ ) {
12
15
  this.version = version
13
16
  this.date = new Date()
14
17
  this.horodatage = 0
@@ -0,0 +1,14 @@
1
+ class droitIntervention {
2
+ uniteId: number
3
+ chaiseId: number
4
+ niveauChaise: number
5
+ typeIntervenant: number
6
+ constructor(uniteId: number = 0, chaiseId: number = 0, niveauChaise: number = 0, typeIntervenant: number = 0) {
7
+ this.uniteId = uniteId
8
+ this.chaiseId = chaiseId
9
+ this.niveauChaise = niveauChaise
10
+ this.typeIntervenant = typeIntervenant
11
+ }
12
+ }
13
+
14
+ export default droitIntervention
@@ -0,0 +1,23 @@
1
+ import GroupeCEIntervalle from './groupeCEIntervalle'
2
+ class GroupeCE {
3
+ id: number
4
+ commissionScolaireId: number
5
+ nom: string
6
+ groupeCEIntervalles: GroupeCEIntervalle[]
7
+ parentId?: number
8
+
9
+ constructor(
10
+ id: number = 0,
11
+ commissionScolaireId: number = 0,
12
+ nom: string = '',
13
+ groupeCEIntervalles: GroupeCEIntervalle[] = [],
14
+ parentId: number = 0,
15
+ ) {
16
+ this.id = id
17
+ this.commissionScolaireId = commissionScolaireId
18
+ this.nom = nom
19
+ this.groupeCEIntervalles = groupeCEIntervalles
20
+ this.parentId = parentId
21
+ }
22
+ }
23
+ export default GroupeCE
@@ -0,0 +1,24 @@
1
+ class GroupeCEIntervalle {
2
+ id: number
3
+ corpsEmploiMin: string
4
+ corpsEmploiMax: string
5
+ groupeCEId: number
6
+ min: number
7
+ max: number
8
+ constructor(
9
+ id: number = 0,
10
+ corpsEmploiMin: string = '',
11
+ corpsEmploiMax: string = '',
12
+ groupeCEId: number = 0,
13
+ min: number,
14
+ max: number,
15
+ ) {
16
+ this.id = id
17
+ this.corpsEmploiMin = corpsEmploiMin
18
+ this.corpsEmploiMax = corpsEmploiMax
19
+ this.groupeCEId = groupeCEId
20
+ this.min = min
21
+ this.max = max
22
+ }
23
+ }
24
+ export default GroupeCEIntervalle
@@ -1,23 +1,20 @@
1
- import { EtatDemandeUnite, TypeIntervenant } from '@/outils/enum'
2
-
3
- class Intervention {
1
+ class Intervention {
4
2
  id: number
5
3
  demandeId: number
6
4
  uniteId: number
7
5
  chaiseId?: number
8
6
  niveauChaise?: number
9
- typeIntervenant: TypeIntervenant
7
+ typeIntervenant: number
10
8
  utilisateurIdAyantIntervenu?: number
11
9
  dateIntervention?: Date
12
- etat: EtatDemandeUnite
10
+ etat: number
13
11
 
14
- // Constructeur de la classe
15
12
  constructor(
16
- id: number,
17
- demandeId: number,
18
- uniteId: number,
19
- typeIntervenant: TypeIntervenant,
20
- etat: EtatDemandeUnite,
13
+ id: number = 0,
14
+ demandeId: number = 0,
15
+ uniteId: number = 0,
16
+ typeIntervenant: number = 0,
17
+ etat: number = 0,
21
18
  chaiseId?: number,
22
19
  niveauChaise?: number,
23
20
  utilisateurIdAyantIntervenu?: number,
@@ -0,0 +1,10 @@
1
+ class NotificationGabaritDefaut {
2
+ message: string
3
+ sujet: string
4
+ constructor(message: string = '', sujet: string = '') {
5
+ this.message = message
6
+ this.sujet = sujet
7
+ }
8
+ }
9
+
10
+ export default NotificationGabaritDefaut
@@ -1,10 +1,9 @@
1
- import datatableColonne from './composants/datatableColonne'
2
- import data from './data'
1
+ import data from './data'
3
2
  class response {
4
- public data: data
3
+ public data: data | null
5
4
  public status: number
6
- // Constructeur de la classe
7
- constructor(data: any, status: number) {
5
+
6
+ constructor(data: data | null = null, status: number = 0) {
8
7
  this.data = data
9
8
  this.status = status
10
9
  }
@@ -0,0 +1,31 @@
1
+ import RoleMin from './roleMin'
2
+
3
+ class Role extends RoleMin {
4
+ ordreAffichage: number
5
+ descriptionEn: string
6
+ descriptionFr: string
7
+ nomFr: string
8
+ nomEn: string
9
+ utilisateursId: string[]
10
+ constructor(
11
+ descriptionEn: string = '',
12
+ ordreAffichage: number = 0,
13
+ descriptionFr: string = '',
14
+ nomFr: string = '',
15
+ nomEn: string = '',
16
+ utilisateursId: string[] = [],
17
+ identifiant: string = '',
18
+ id: number = 0,
19
+ formulaireId: number = 0,
20
+ ) {
21
+ super(identifiant, id, formulaireId) // Appel au constructeur de la classe parente
22
+ this.descriptionEn = descriptionEn
23
+ this.ordreAffichage = ordreAffichage
24
+ this.descriptionFr = descriptionFr
25
+ this.nomFr = nomFr
26
+ this.nomEn = nomEn
27
+ this.utilisateursId = utilisateursId
28
+ }
29
+ }
30
+
31
+ export default Role
@@ -0,0 +1,12 @@
1
+ class RoleMin {
2
+ identifiant: string
3
+ formulaireId?: number
4
+ id: number
5
+ constructor(identifiant: string = '', id: number = 0, formulaireId: number = 0) {
6
+ this.id = id
7
+ this.identifiant = identifiant
8
+ this.formulaireId = formulaireId
9
+ }
10
+ }
11
+
12
+ export default RoleMin
package/modeles/unite.ts CHANGED
@@ -11,19 +11,18 @@
11
11
  estJeune: boolean
12
12
  estAdulte: boolean
13
13
 
14
- // Constructeur de la classe
15
14
  constructor(
16
- id: number,
17
- commissionScolaireId: number,
18
- nom: string,
19
- estActif: boolean,
20
- numero: string,
21
- numeroEcoleJeune: string,
22
- numeroCentreAdulte: string,
23
- numeroEcoleJeuneStr: string,
24
- numeroCentreAdulteStr: string,
25
- estJeune: boolean,
26
- estAdulte: boolean,
15
+ id: number = 0,
16
+ commissionScolaireId: number = 0,
17
+ nom: string = '',
18
+ estActif: boolean = false,
19
+ numero: string = '',
20
+ numeroEcoleJeune: string = '',
21
+ numeroCentreAdulte: string = '',
22
+ numeroEcoleJeuneStr: string = '',
23
+ numeroCentreAdulteStr: string = '',
24
+ estJeune: boolean = false,
25
+ estAdulte: boolean = false,
27
26
  ) {
28
27
  this.id = id
29
28
  this.commissionScolaireId = commissionScolaireId
@@ -1,5 +1,4 @@
1
- // modeleUtilisateur.ts
2
- class Utilisateur {
1
+ class Utilisateur {
3
2
  commissionScolaireId: number
4
3
  courriel: string
5
4
  id: number
@@ -10,14 +9,14 @@ class Utilisateur {
10
9
  prenom: string
11
10
 
12
11
  constructor(
13
- commissionScolaireId: number,
14
- courriel: string,
15
- id: number,
16
- identifiant: string,
17
- langue: string,
18
- matricule: string,
19
- nom: string,
20
- prenom: string,
12
+ commissionScolaireId: number = 0,
13
+ courriel: string = '',
14
+ id: number = 0,
15
+ identifiant: string = '',
16
+ langue: string = '',
17
+ matricule: string = '',
18
+ nom: string = '',
19
+ prenom: string = '',
21
20
  ) {
22
21
  this.commissionScolaireId = commissionScolaireId
23
22
  this.courriel = courriel
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "codevdesign",
3
- "version": "0.0.18",
3
+ "version": "0.0.20",
4
4
  "description": "Composants Vuetify 3 pour les projets Codev",
5
5
  "files": [
6
6
  "./**/*.vue",