@cityway/bo-ui 1.0.1 → 1.0.2

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 (209) hide show
  1. package/cityway-bo-ui-1.0.1.tgz +0 -0
  2. package/cityway-bo-ui-1.0.2.tgz +0 -0
  3. package/fesm2022/cityway-bo-ui.mjs +1598 -0
  4. package/fesm2022/cityway-bo-ui.mjs.map +1 -0
  5. package/index.d.ts +509 -0
  6. package/package.json +32 -21
  7. package/styles.min.css +5 -0
  8. package/styles.min.css.map +1 -0
  9. package/.eslintrc.json +0 -37
  10. package/ng-package.json +0 -21
  11. package/src/lib/bo-ui.config.ts +0 -8
  12. package/src/lib/components/accordions/accordions.component.html +0 -16
  13. package/src/lib/components/accordions/accordions.component.spec.ts +0 -24
  14. package/src/lib/components/accordions/accordions.component.ts +0 -27
  15. package/src/lib/components/accordions/components/accordions-content.component.spec.ts +0 -24
  16. package/src/lib/components/accordions/components/accordions-content.component.ts +0 -28
  17. package/src/lib/components/alert/alert.component.html +0 -15
  18. package/src/lib/components/alert/alert.component.spec.ts +0 -24
  19. package/src/lib/components/alert/alert.component.ts +0 -36
  20. package/src/lib/components/badge/badge.component.html +0 -7
  21. package/src/lib/components/badge/badge.component.spec.ts +0 -24
  22. package/src/lib/components/badge/badge.component.ts +0 -24
  23. package/src/lib/components/button/button.component.html +0 -43
  24. package/src/lib/components/button/button.component.spec.ts +0 -25
  25. package/src/lib/components/button/button.component.ts +0 -47
  26. package/src/lib/components/card/card.component.html +0 -15
  27. package/src/lib/components/card/card.component.spec.ts +0 -25
  28. package/src/lib/components/card/card.component.ts +0 -30
  29. package/src/lib/components/custom-list/custom-list.component.html +0 -31
  30. package/src/lib/components/custom-list/custom-list.component.spec.ts +0 -24
  31. package/src/lib/components/custom-list/custom-list.component.ts +0 -42
  32. package/src/lib/components/drag-n-drop-list/drag-n-drop-list.component.html +0 -27
  33. package/src/lib/components/drag-n-drop-list/drag-n-drop-list.component.spec.ts +0 -24
  34. package/src/lib/components/drag-n-drop-list/drag-n-drop-list.component.ts +0 -40
  35. package/src/lib/components/form-field/form-field.component.html +0 -333
  36. package/src/lib/components/form-field/form-field.component.spec.ts +0 -24
  37. package/src/lib/components/form-field/form-field.component.ts +0 -256
  38. package/src/lib/components/icon/icon.component.html +0 -9
  39. package/src/lib/components/icon/icon.component.spec.ts +0 -25
  40. package/src/lib/components/icon/icon.component.ts +0 -31
  41. package/src/lib/components/layout/admin-layout/admin-layout.component.html +0 -17
  42. package/src/lib/components/layout/admin-layout/admin-layout.component.ts +0 -181
  43. package/src/lib/components/layout/footer/footer.component.html +0 -51
  44. package/src/lib/components/layout/footer/footer.component.ts +0 -65
  45. package/src/lib/components/layout/header/header.component.html +0 -71
  46. package/src/lib/components/layout/header/header.component.ts +0 -95
  47. package/src/lib/components/layout/menu/menu.component.html +0 -115
  48. package/src/lib/components/layout/menu/menu.component.ts +0 -75
  49. package/src/lib/components/layout/menu-accordion/accordion.directive.ts +0 -57
  50. package/src/lib/components/layout/menu-accordion/accordionanchor.directive.ts +0 -21
  51. package/src/lib/components/layout/menu-accordion/accordionlink.directive.ts +0 -45
  52. package/src/lib/components/layout/menu-accordion/index.ts +0 -3
  53. package/src/lib/components/layout/sidebar/sidebar.component.html +0 -62
  54. package/src/lib/components/layout/sidebar/sidebar.component.ts +0 -28
  55. package/src/lib/components/layout/skip-links/skip-links.component.html +0 -3
  56. package/src/lib/components/layout/skip-links/skip-links.component.spec.ts +0 -25
  57. package/src/lib/components/layout/skip-links/skip-links.component.ts +0 -19
  58. package/src/lib/components/layout/title-breadcrumb/title-breadcrumb.component.html +0 -10
  59. package/src/lib/components/layout/title-breadcrumb/title-breadcrumb.component.spec.ts +0 -25
  60. package/src/lib/components/layout/title-breadcrumb/title-breadcrumb.component.ts +0 -16
  61. package/src/lib/components/legend/legend.component.html +0 -23
  62. package/src/lib/components/legend/legend.component.spec.ts +0 -24
  63. package/src/lib/components/legend/legend.component.ts +0 -28
  64. package/src/lib/components/loader/loader.component.html +0 -4
  65. package/src/lib/components/loader/loader.component.ts +0 -16
  66. package/src/lib/components/modals/modals.component.html +0 -71
  67. package/src/lib/components/modals/modals.component.spec.ts +0 -25
  68. package/src/lib/components/modals/modals.component.ts +0 -49
  69. package/src/lib/components/tab/components/tab-content.component.spec.ts +0 -24
  70. package/src/lib/components/tab/components/tab-content.component.ts +0 -27
  71. package/src/lib/components/tab/tab.component.html +0 -59
  72. package/src/lib/components/tab/tab.component.spec.ts +0 -24
  73. package/src/lib/components/tab/tab.component.ts +0 -79
  74. package/src/lib/components/table/components/actions-on-table/actions-on-table.component.html +0 -50
  75. package/src/lib/components/table/components/actions-on-table/actions-on-table.component.spec.ts +0 -24
  76. package/src/lib/components/table/components/actions-on-table/actions-on-table.component.ts +0 -33
  77. package/src/lib/components/table/components/filter/filter.component.html +0 -21
  78. package/src/lib/components/table/components/filter/filter.component.spec.ts +0 -24
  79. package/src/lib/components/table/components/filter/filter.component.ts +0 -38
  80. package/src/lib/components/table/table.component.html +0 -104
  81. package/src/lib/components/table/table.component.spec.ts +0 -24
  82. package/src/lib/components/table/table.component.ts +0 -85
  83. package/src/lib/components/wizard-stepper/components/wizard-step.component.spec.ts +0 -25
  84. package/src/lib/components/wizard-stepper/components/wizard-step.component.ts +0 -16
  85. package/src/lib/components/wizard-stepper/wizard-stepper.component.html +0 -45
  86. package/src/lib/components/wizard-stepper/wizard-stepper.component.spec.ts +0 -25
  87. package/src/lib/components/wizard-stepper/wizard-stepper.component.ts +0 -70
  88. package/src/lib/directives/double-scroll.ts +0 -64
  89. package/src/lib/directives/rwd-tabs.ts +0 -99
  90. package/src/lib/directives/show-hide-password.ts +0 -61
  91. package/src/lib/enum/drag-item.enum.ts +0 -5
  92. package/src/lib/enum/field-type.enum.ts +0 -36
  93. package/src/lib/enum/legend-type.enum.ts +0 -5
  94. package/src/lib/enum/modals.enum.ts +0 -6
  95. package/src/lib/enum/ui-type.enum.ts +0 -11
  96. package/src/lib/models/ui/custom-list.model.ts +0 -14
  97. package/src/lib/models/ui/legend.model.ts +0 -17
  98. package/src/lib/models/ui/table.model.ts +0 -33
  99. package/src/lib/services/ui/modals.service.ts +0 -47
  100. package/src/lib/services/version.service.ts +0 -22
  101. package/src/public-api.ts +0 -49
  102. package/tsconfig.lib.json +0 -18
  103. package/tsconfig.lib.prod.json +0 -11
  104. package/tsconfig.spec.json +0 -14
  105. package/tslint.json +0 -17
  106. /package/{src/lib → lib}/assets/fonts/bo/_variables.scss +0 -0
  107. /package/{src/lib → lib}/assets/fonts/bo/bo.scss +0 -0
  108. /package/{src/lib → lib}/assets/fonts/bo/bo.woff +0 -0
  109. /package/{src/lib → lib}/assets/fonts/bo/bo.woff2 +0 -0
  110. /package/{src/lib → lib}/assets/fonts/nunito/_nunito.scss +0 -0
  111. /package/{src/lib → lib}/assets/fonts/nunito/nunito-bold.woff +0 -0
  112. /package/{src/lib → lib}/assets/fonts/nunito/nunito-bold.woff2 +0 -0
  113. /package/{src/lib → lib}/assets/fonts/nunito/nunito-extrabold.woff +0 -0
  114. /package/{src/lib → lib}/assets/fonts/nunito/nunito-extrabold.woff2 +0 -0
  115. /package/{src/lib → lib}/assets/fonts/nunito/nunito-regular.woff +0 -0
  116. /package/{src/lib → lib}/assets/fonts/nunito/nunito-regular.woff2 +0 -0
  117. /package/{src/lib → lib}/assets/fonts/nunito/nunito-semi-bold.woff +0 -0
  118. /package/{src/lib → lib}/assets/fonts/nunito/nunito-semi-bold.woff2 +0 -0
  119. /package/{src/lib → lib}/assets/fonts/optyweb/_variables.scss +0 -0
  120. /package/{src/lib → lib}/assets/fonts/optyweb/optyweb.scss +0 -0
  121. /package/{src/lib → lib}/assets/fonts/optyweb/optyweb.woff +0 -0
  122. /package/{src/lib → lib}/assets/fonts/optyweb/optyweb.woff2 +0 -0
  123. /package/{src/lib → lib}/assets/i18n/common.en.json +0 -0
  124. /package/{src/lib → lib}/assets/i18n/common.fr.json +0 -0
  125. /package/{src/lib → lib}/assets/i18n/label.en.json +0 -0
  126. /package/{src/lib → lib}/assets/i18n/label.fr.json +0 -0
  127. /package/{src/lib → lib}/assets/images/common/bg-loader.svg +0 -0
  128. /package/{src/lib → lib}/assets/images/common/bg-menu.svg +0 -0
  129. /package/{src/lib → lib}/assets/images/common/bg-round.svg +0 -0
  130. /package/{src/lib → lib}/assets/images/common/check-mark.svg +0 -0
  131. /package/{src/lib → lib}/assets/images/common/loader.svg +0 -0
  132. /package/{src/lib → lib}/assets/images/common/logo-en-bw.svg +0 -0
  133. /package/{src/lib → lib}/assets/images/common/logo-en.svg +0 -0
  134. /package/{src/lib → lib}/assets/images/common/logo-fr-bw.svg +0 -0
  135. /package/{src/lib → lib}/assets/images/common/logo-fr.svg +0 -0
  136. /package/{src/lib → lib}/assets/images/favicon/android-chrome-192x192.png +0 -0
  137. /package/{src/lib → lib}/assets/images/favicon/android-chrome-512x512.png +0 -0
  138. /package/{src/lib → lib}/assets/images/favicon/apple-touch-icon.png +0 -0
  139. /package/{src/lib → lib}/assets/images/favicon/favicon-16x16.png +0 -0
  140. /package/{src/lib → lib}/assets/images/favicon/favicon-32x32.png +0 -0
  141. /package/{src/lib → lib}/assets/images/favicon/favicon-96x96.png +0 -0
  142. /package/{src/lib → lib}/assets/images/favicon/favicon.ico +0 -0
  143. /package/{src/lib → lib}/assets/images/favicon/site.webmanifest +0 -0
  144. /package/{src/lib → lib}/assets/images/icon/referential-icon.svg +0 -0
  145. /package/{src/lib → lib}/assets/images/login/login-bg.jpg +0 -0
  146. /package/{src/lib → lib}/assets/images/login/logo-cityway-baseline.svg +0 -0
  147. /package/{src/lib → lib}/assets/images/toast/warning.svg +0 -0
  148. /package/{src/lib → lib}/assets/styles/scss/_components.scss +0 -0
  149. /package/{src/lib → lib}/assets/styles/scss/_core.scss +0 -0
  150. /package/{src/lib → lib}/assets/styles/scss/_custom-bootstrap.scss +0 -0
  151. /package/{src/lib → lib}/assets/styles/scss/bootstrap/_accordion.scss +0 -0
  152. /package/{src/lib → lib}/assets/styles/scss/bootstrap/_alert.scss +0 -0
  153. /package/{src/lib → lib}/assets/styles/scss/bootstrap/_badge.scss +0 -0
  154. /package/{src/lib → lib}/assets/styles/scss/bootstrap/_breadcrumb.scss +0 -0
  155. /package/{src/lib → lib}/assets/styles/scss/bootstrap/_button-group.scss +0 -0
  156. /package/{src/lib → lib}/assets/styles/scss/bootstrap/_buttons.scss +0 -0
  157. /package/{src/lib → lib}/assets/styles/scss/bootstrap/_card.scss +0 -0
  158. /package/{src/lib → lib}/assets/styles/scss/bootstrap/_close.scss +0 -0
  159. /package/{src/lib → lib}/assets/styles/scss/bootstrap/_dropdown.scss +0 -0
  160. /package/{src/lib → lib}/assets/styles/scss/bootstrap/_forms.scss +0 -0
  161. /package/{src/lib → lib}/assets/styles/scss/bootstrap/_input-group.scss +0 -0
  162. /package/{src/lib → lib}/assets/styles/scss/bootstrap/_lists.scss +0 -0
  163. /package/{src/lib → lib}/assets/styles/scss/bootstrap/_modal.scss +0 -0
  164. /package/{src/lib → lib}/assets/styles/scss/bootstrap/_pagination.scss +0 -0
  165. /package/{src/lib → lib}/assets/styles/scss/bootstrap/_popover.scss +0 -0
  166. /package/{src/lib → lib}/assets/styles/scss/bootstrap/_progress.scss +0 -0
  167. /package/{src/lib → lib}/assets/styles/scss/bootstrap/_reboot.scss +0 -0
  168. /package/{src/lib → lib}/assets/styles/scss/bootstrap/_tables.scss +0 -0
  169. /package/{src/lib → lib}/assets/styles/scss/bootstrap/_tabs.scss +0 -0
  170. /package/{src/lib → lib}/assets/styles/scss/bootstrap/_tooltip.scss +0 -0
  171. /package/{src/lib → lib}/assets/styles/scss/bootstrap/_type.scss +0 -0
  172. /package/{src/lib → lib}/assets/styles/scss/components/_forms-firefox.scss +0 -0
  173. /package/{src/lib → lib}/assets/styles/scss/components/_leaflet.scss +0 -0
  174. /package/{src/lib → lib}/assets/styles/scss/components/_legend.scss +0 -0
  175. /package/{src/lib → lib}/assets/styles/scss/components/_ng-select.scss +0 -0
  176. /package/{src/lib → lib}/assets/styles/scss/components/_ng2-dragula.scss +0 -0
  177. /package/{src/lib → lib}/assets/styles/scss/components/_ng2-validation.scss +0 -0
  178. /package/{src/lib → lib}/assets/styles/scss/components/_ng5-slider.scss +0 -0
  179. /package/{src/lib → lib}/assets/styles/scss/components/_ngb-datepicker.scss +0 -0
  180. /package/{src/lib → lib}/assets/styles/scss/components/_ngb-timepicker.scss +0 -0
  181. /package/{src/lib → lib}/assets/styles/scss/components/_ngx-chips.scss +0 -0
  182. /package/{src/lib → lib}/assets/styles/scss/components/_ngx-editor.scss +0 -0
  183. /package/{src/lib → lib}/assets/styles/scss/components/_ngx-file-drop.scss +0 -0
  184. /package/{src/lib → lib}/assets/styles/scss/components/_ngx-intl-tel-input.scss +0 -0
  185. /package/{src/lib → lib}/assets/styles/scss/components/_ngx-slider.scss +0 -0
  186. /package/{src/lib → lib}/assets/styles/scss/components/_ngx-toast.scss +0 -0
  187. /package/{src/lib → lib}/assets/styles/scss/components/_pwd-policy.scss +0 -0
  188. /package/{src/lib → lib}/assets/styles/scss/components/_table.scss +0 -0
  189. /package/{src/lib → lib}/assets/styles/scss/components/_vis.scss +0 -0
  190. /package/{src/lib → lib}/assets/styles/scss/components/_wizard-stepper.scss +0 -0
  191. /package/{src/lib → lib}/assets/styles/scss/components/table/_table-action.scss +0 -0
  192. /package/{src/lib → lib}/assets/styles/scss/components/table/_table-bg-cell.scss +0 -0
  193. /package/{src/lib → lib}/assets/styles/scss/components/table/_table-double-scroll.scss +0 -0
  194. /package/{src/lib → lib}/assets/styles/scss/components/table/_table-filter.scss +0 -0
  195. /package/{src/lib → lib}/assets/styles/scss/components/table/_table-pagination.scss +0 -0
  196. /package/{src/lib → lib}/assets/styles/scss/components/table/_table-popover.scss +0 -0
  197. /package/{src/lib → lib}/assets/styles/scss/components/table/_table-sorting.scss +0 -0
  198. /package/{src/lib → lib}/assets/styles/scss/core/_footer.scss +0 -0
  199. /package/{src/lib → lib}/assets/styles/scss/core/_header.scss +0 -0
  200. /package/{src/lib → lib}/assets/styles/scss/core/_layout.scss +0 -0
  201. /package/{src/lib → lib}/assets/styles/scss/core/_menu.scss +0 -0
  202. /package/{src/lib → lib}/assets/styles/scss/core/_sidebar.scss +0 -0
  203. /package/{src/lib → lib}/assets/styles/scss/mixins/_utilities.scss +0 -0
  204. /package/{src/lib → lib}/assets/styles/scss/styles.scss +0 -0
  205. /package/{src/lib → lib}/assets/styles/scss/tools/_focus.scss +0 -0
  206. /package/{src/lib → lib}/assets/styles/scss/tools/_loader.scss +0 -0
  207. /package/{src/lib → lib}/assets/styles/scss/variables/_colors.scss +0 -0
  208. /package/{src/lib → lib}/assets/styles/scss/variables/_custom.scss +0 -0
  209. /package/{src/lib → lib}/assets/styles/scss/variables/_site.scss +0 -0
@@ -1,71 +0,0 @@
1
- <header role="banner" class="header">
2
- <form [formGroup]="formHeader">
3
- <nav class="navbar custom-navbar bg-faded main-header">
4
- <button type="button" class="btn btn-primary menu-link" (click)="onClick()"
5
- [title]="isMenuOpened ? ('_COMMON._MENU.BTN_MAIN_MENU_CLOSE' | translate) : ('_COMMON._MENU.BTN_MAIN_MENU_OPEN' | translate)">
6
- <span class="bo-icons" [ngClass]="isMenuOpened ? 'bo-menu-expanded' : 'bo-menu-collapsed' "
7
- aria-hidden="true"></span>
8
- <span class="visually-hidden">{{ '_COMMON._MENU.BTN_MAIN_MENU' | translate}}</span>
9
- </button>
10
-
11
- <nav aria-label="breadcrumb">
12
- <ol class="breadcrumb align-items-center">
13
- <li class="breadcrumb-item">
14
- <a href="/#">
15
- <span class="optyweb cw-nav-home d-block d-md-none" aria-hidden="true"></span>
16
- <span class="visually-hidden d-block d-md-none">{{ "_COMMON._BREADCRUMB.HOME" | translate }}</span>
17
- <span class="d-none d-md-block">{{ "_COMMON._BREADCRUMB.HOME" | translate }}</span>
18
- </a>
19
- </li>
20
- <li *ngFor="let item of getMenus(parent)" class="breadcrumb-item active">
21
- <a *ngIf="!item.disabled" [routerLink]="item.link" href="#">{{item.title | translate}}</a>
22
- <span *ngIf="item.disabled">{{item.title | translate}}</span>
23
- </li>
24
- <li aria-current="page" class="breadcrumb-item active navbar-heading">
25
- <h1>{{ heading | translate:headingUrlParamsOptions }}</h1>
26
- </li>
27
- </ol>
28
- </nav>
29
-
30
- <span class="me-auto"></span>
31
-
32
- <ul class="navbar-nav">
33
-
34
- <li class="nav-item ms-0" ngbDropdown placement="right">
35
- <button class="header-login d-flex align-items-center btn btn-light" id="language"
36
- ngbDropdownToggle type="button">
37
- <span class="optyweb cw-misc-man2 header-avatar" aria-hidden="true"></span>
38
- <span class="header-indicator">
39
- <span class="bo-icons bo-alert-success" aria-hidden="true"></span>
40
- <span class="visually-hidden">{{ '_COMMON._USER.LBL_LOGGED' | translate }}</span>
41
- <!-- <img src="assets/images/common/check-mark.svg" [alt]="'_COMMON._USER.LBL_LOGGED' | translate"
42
- class="header-indicator" width="15" height="15"> -->
43
- </span>
44
- <span class="d-none d-lg-inline-block ms-3 me-1">{{ loginName }}</span>
45
- </button>
46
- <div ngbDropdownMenu class="dropdown-menu dropdown-menu-right">
47
- <div class="dropdown-header font-md d-md-none">
48
- <span>{{ loginName }}</span>
49
- </div>
50
- <a class="dropdown-item" href="javascript:;">
51
- <span>{{'_COMMON._USER.LBL_SETTINGS' | translate}}</span>
52
- </a>
53
- <a class="dropdown-item" href="javascript:;">
54
- <span>{{'_COMMON._USER.LBL_PROFILE' | translate}}</span>
55
- </a>
56
- <a class="dropdown-item" href="javascript:;">
57
- <span>{{'_COMMON._USER.LBL_NOTIFICATIONS' | translate}}</span>
58
- </a>
59
- <div class="dropdown-divider"></div>
60
- <a class="dropdown-item" href="javascript:;">
61
- <span>{{'_COMMON._USER.LBL_HELP' | translate}}</span>
62
- </a>
63
- <a class="dropdown-item" href="javascript:;">
64
- <span>{{ '_COMMON._ACTION.SIGN_OUT' | translate }}</span>
65
- </a>
66
- </div>
67
- </li>
68
- </ul>
69
- </nav>
70
- </form>
71
- </header>
@@ -1,95 +0,0 @@
1
- import { CommonModule } from '@angular/common';
2
- import { Component, EventEmitter, Input, OnChanges, OnInit, Output, SimpleChanges } from '@angular/core';
3
- import { ReactiveFormsModule, UntypedFormBuilder, UntypedFormGroup, Validators } from '@angular/forms';
4
- import { RouterModule } from '@angular/router';
5
- import { JwtHelperService } from '@auth0/angular-jwt';
6
- import { NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap';
7
- import { TranslateModule, TranslateService } from '@ngx-translate/core';
8
- import { User } from 'oidc-client';
9
- import { Parent } from '../admin-layout/admin-layout.component';
10
-
11
- @Component({
12
- selector: 'app-header',
13
- templateUrl: './header.component.html',
14
- standalone: true,
15
- imports: [
16
- ReactiveFormsModule,
17
- RouterModule,
18
- CommonModule,
19
- TranslateModule,
20
- NgbDropdownModule
21
- ]
22
- })
23
-
24
- export class HeaderComponent implements OnInit, OnChanges {
25
- @Input() heading: string;
26
- @Input() headingUrlParamsOptions: Array<string>;
27
- @Input() parent: any;
28
- @Input() isMenuOpened: boolean;
29
- @Output() toggleSidenav = new EventEmitter<void>();
30
-
31
- public parentTitle: string | Array<string>;
32
- public parentLink: string | Array<string>;
33
- public loadMenu: boolean;
34
- public extractedBy: string;
35
- public loginName: string;
36
- public formHeader: UntypedFormGroup;
37
- public lang: string;
38
-
39
- private jwtHelper: JwtHelperService;
40
-
41
- constructor(
42
- public translateService: TranslateService,
43
- private fb: UntypedFormBuilder,
44
- ) {
45
- this.parent = null;
46
- this.jwtHelper = new JwtHelperService();
47
- }
48
-
49
- ngOnInit() {
50
- this.formHeader = this.fb.group({
51
- lang: ['fr', Validators.compose([Validators.required])],
52
- });
53
- this.loginName = 'Admin';
54
- }
55
-
56
- public changeLang(lang: string) {
57
- localStorage.setItem('lang', lang);
58
- this.lang = lang;
59
- this.translateService.setDefaultLang(lang);
60
- this.translateService.use(lang);
61
- }
62
-
63
- ngOnChanges(simpleChanges: SimpleChanges) {
64
- // Si il y a un changement et que la variable envoye par le parent a une currentValue
65
- if (simpleChanges && simpleChanges['parent'] && simpleChanges['parent'].currentValue) {
66
- // attribution des datas a nos variables pour notre HTML
67
- this.parentLink = simpleChanges['parent'].currentValue.link;
68
- this.parentTitle = simpleChanges['parent'].currentValue.title;
69
- }
70
-
71
- // Si il y a un changement et que la variable envoye par le parent a une currentValue
72
- if (simpleChanges && simpleChanges['heading'] && simpleChanges['heading'].currentValue) {
73
- // Attribution des datas a nos variables pour notre HTML
74
- this.heading = simpleChanges['heading'].currentValue;
75
- // Si la variable du parent (parent) n'as pas change
76
- if (!simpleChanges['heading']) {
77
- // alors on la supprime pour le cote HTML
78
- delete this.parent;
79
- }
80
- }
81
- }
82
-
83
- /** Renvoie un tableau de menus */
84
- getMenus(parent: Parent | Array<Parent>) {
85
- if (parent === null || parent === undefined) {
86
- return new Array();
87
- }
88
- // Soit 1 element , soit 1 tableau en entée
89
- return parent instanceof Array ? parent : new Array(parent);
90
- }
91
-
92
- public onClick() {
93
- this.toggleSidenav.emit()
94
- }
95
- }
@@ -1,115 +0,0 @@
1
- <!-- <ul class="navigation" appAccordion>
2
- <ng-container *ngFor="let menuitem of menus; index as Index">
3
- <ng-container *ngIf="!menuitem.hide">
4
- <li *ngIf="menuitem.type !== 'divider' && menuitem.type !== 'title'" appAccordionLink [group]="menuitem.state"
5
- [ngClass]="menuitem.state.includes(currentRoute) ? 'navigation-item menu-opened' : 'navigation-item'" routerLinkActive="active"> -->
6
- <!-- INTERNAL LINK -->
7
- <!-- <a *ngIf="menuitem.type === 'link' && isOpened" [ngClass]="{'disabled': menuitem.disabled}" class="navigation-link"
8
- [routerLink]="menuitem.state">
9
- <ng-container [ngTemplateOutlet]="menuItem"></ng-container>
10
- </a>
11
- <a *ngIf="menuitem.type === 'link' && !isOpened" [ngClass]="{'disabled': menuitem.disabled}" class="navigation-link"
12
- [routerLink]="menuitem.state" placement="right" [ngbTooltip]="menuitem.name | translate" container="body"
13
- tooltipClass="menu-tooltip">
14
- <ng-container [ngTemplateOutlet]="menuItem"></ng-container>
15
- </a> -->
16
- <!-- EXTERNAL LINK ou EXTERNAL LINK IN A TAB-->
17
- <!-- <a *ngIf="menuitem.type === 'extLink' || menuitem.type === 'extTabLink' && isOpened" class="navigation-link"
18
- [href]="menuitem.state" [attr.target]="menuitem.type === 'extTabLink' ? '_blanck' : null">
19
- <ng-container [ngTemplateOutlet]="menuItem"></ng-container>
20
- </a>
21
- <a *ngIf="menuitem.type === 'extLink' || menuitem.type === 'extTabLink' && !isOpened" class="navigation-link"
22
- [href]="menuitem.state" [attr.target]="menuitem.type === 'extTabLink' ? '_blanck' : null"
23
- placement="right" [ngbTooltip]="menuitem.name | translate" container="body"
24
- tooltipClass="menu-tooltip">
25
- <ng-container [ngTemplateOutlet]="menuItem"></ng-container>
26
- </a> -->
27
-
28
- <!--
29
- <ng-template #menuItem>
30
- <span class="{{ menuitem.icon }} me-3 icon" aria-hidden="true"></span>
31
- <span class="title me-auto">{{ menuitem.name | translate }}</span>
32
- <span *ngFor="let badge of menuitem.badge" class="badge badge-{{ badge.type }} me-3">{{ badge.value }}</span>
33
- </ng-template>
34
-
35
- <ng-container *ngIf="isOpened">
36
- <button *ngIf="menuitem.type === 'sub' || menuitem.type === 'sub-reorder'" type="button" class="navigation-link btn navigation-btn"
37
- (click)="onShow(Index)" [ngClass]="isCollapsed[Index] ? 'collapsed' : ''"
38
- [attr.aria-expanded]="!isCollapsed[Index]" aria-controls="collapseExample">
39
- <ng-container [ngTemplateOutlet]="menuItem"></ng-container>
40
- <span class="menu-caret optyweb cw-nav-collapse2" aria-hidden="true"></span>
41
- </button>
42
- <ul *ngIf="menuitem.type === 'sub'" class="navigation-submenu" [ngbCollapse]
43
- [(ngbCollapse)]="isCollapsed[Index]">
44
- <ng-container *ngFor="let childitem of menuitem.children">
45
- <li *ngIf="!childitem.hide" class="navigation-item" routerLinkActive="active"
46
- [ngClass]="{disabled: childitem.disabled}">
47
- <a [routerLink]="['/', menuitem.state, childitem.state ]" class="navigation-submenu-link">
48
- {{ childitem.name | translate }}
49
- </a>
50
- </li>
51
- </ng-container>
52
- </ul>
53
- <ul *ngIf="menuitem.type === 'sub-reorder'" class="navigation-submenu" [ngbCollapse]
54
- [(ngbCollapse)]="isCollapsed[Index]">
55
- <ng-container *ngFor="let childitem of menuitem.children">
56
- <li *ngIf="!childitem.hide" class="navigation-item" routerLinkActive="active"
57
- [ngClass]="{disabled: childitem.disabled}">
58
- <a [routerLink]="childitem.state" class="navigation-submenu-link">
59
- {{ childitem.name | translate }}
60
- </a>
61
- </li>
62
- </ng-container>
63
- </ul>
64
- </ng-container>
65
- </li>
66
-
67
- <ng-container *ngIf="!isOpened">
68
- <li ngbDropdown *ngIf="menuitem.type !== 'divider' && menuitem.type !== 'title'" appAccordionLink
69
- [group]="menuitem.state" class="navigation-dropdown" [autoClose]="true"
70
- [container]="'body'" [dropdownClass]="'navigation-submenu-dropdown'" routerLinkActive="active" #myDrop="ngbDropdown"
71
- (mouseenter)="$event.stopPropagation(); myDrop.open();" (mouseleave)="$event.stopPropagation(); myDrop.close();">
72
- <button *ngIf="menuitem.type === 'sub' || menuitem.type === 'sub-reorder'" type="button" class="navigation-link btn navigation-btn"
73
- id="dropdownBasic1" ngbDropdownToggle (click)="onShow(Index)">
74
- <span class="{{ menuitem.icon }} me-3 icon" aria-hidden="true"></span>
75
- <span class="title me-auto">{{ menuitem.name | translate }}</span>
76
- <span *ngFor="let badge of menuitem.badge" class="badge badge-{{ badge.type }} me-3">{{ badge.value
77
- }}</span>
78
- <span class="menu-caret optyweb cw-nav-expand2" aria-hidden="true"></span>
79
- </button>
80
- <ul ngbDropdownMenu *ngIf="menuitem.type === 'sub'" class="navigation-submenu"
81
- [ngClass]="'navigation-submenu-collapsed'"
82
- (mouseenter)="$event.stopPropagation(); myDrop.open();" (mouseleave)="$event.stopPropagation(); myDrop.close();">
83
- <ng-container *ngFor="let childitem of menuitem.children">
84
- <li *ngIf="!childitem.hide" class="navigation-item" routerLinkActive="active"
85
- [ngClass]="{disabled: childitem.disabled}">
86
- <a [routerLink]="['/', menuitem.state, childitem.state ]" class="navigation-submenu-link" ngbDropdownItem>
87
- {{ childitem.name | translate }}
88
- </a>
89
- </li>
90
- </ng-container>
91
- </ul>
92
- <ul ngbDropdownMenu *ngIf="menuitem.type === 'sub-reorder'" class="navigation-submenu"
93
- [ngClass]="'navigation-submenu-collapsed'"
94
- (mouseenter)="$event.stopPropagation(); myDrop.open();" (mouseleave)="$event.stopPropagation(); myDrop.close();">
95
- <ng-container *ngFor="let childitem of menuitem.children">
96
- <li *ngIf="!childitem.hide" class="navigation-item" routerLinkActive="active"
97
- [ngClass]="{disabled: childitem.disabled}">
98
- <a [routerLink]="childitem.state" class="navigation-submenu-link" ngbDropdownItem>
99
- {{ childitem.name | translate }}
100
- </a>
101
- </li>
102
- </ng-container>
103
- </ul>
104
- </li>
105
- </ng-container>
106
-
107
- <li *ngIf="menuitem.type === 'divider'" class="navigation-item">
108
- <hr />
109
- </li>
110
- <li *ngIf="menuitem.type === 'title'" class="navigation-item">
111
- <span class="navigation-title">{{ menuitem.name | translate }}</span>
112
- </li>
113
- </ng-container>
114
- </ng-container>
115
- </ul> -->
@@ -1,75 +0,0 @@
1
- import { CommonModule } from '@angular/common';
2
- import { Component, Input } from '@angular/core';
3
- import { Router, RouterModule } from '@angular/router';
4
- import { NgbCollapseModule, NgbDropdownModule, NgbTooltipModule } from '@ng-bootstrap/ng-bootstrap';
5
- import { TranslateModule, TranslateService } from '@ngx-translate/core';
6
- import { NgxPermissionsService } from 'ngx-permissions';
7
- import { AccordionDirective, AccordionLinkDirective } from '../menu-accordion';
8
-
9
- @Component({
10
- selector: 'app-menu',
11
- templateUrl: './menu.component.html',
12
- standalone: true,
13
- imports: [
14
- CommonModule,
15
- RouterModule,
16
- NgbTooltipModule,
17
- NgbCollapseModule,
18
- NgbDropdownModule,
19
- AccordionLinkDirective,
20
- TranslateModule,
21
- AccordionLinkDirective,
22
- AccordionDirective
23
- ]
24
- })
25
- export class MenuComponent {
26
-
27
- // @Input() isOpened = true;
28
-
29
- // public menus: MenuItem[];
30
- // public currentRoute: string;
31
- // public isCollapsed: boolean [] = [];
32
-
33
- // constructor(
34
- // public menuService: MenuService,
35
- // public translate: TranslateService,
36
- // private permissionStoreService: NgxPermissionsService,
37
- // private router: Router
38
- // ) {
39
-
40
- // this.menus = this.menuService.getAll();
41
- // this.menuService.menu$.subscribe({ next: menu => this.menus = menu });
42
-
43
- // this.currentRoute = this.router.url.split('/')[1];
44
- // // check for permissions
45
- // this.menus.forEach(menu => {
46
- // if(this.currentRoute && menu.state.includes(this.currentRoute)) {
47
- // this.isCollapsed.push(false);
48
- // } else {
49
- // this.isCollapsed.push(true);
50
- // }
51
- // if (menu.permissions) {
52
- // this.permissionStoreService.hasPermission(menu.permissions).then(hasPermission => menu.hide = !hasPermission);
53
- // }
54
- // if (menu.children) {
55
- // menu.children.forEach(childMenu => {
56
- // if (childMenu.permissions) {
57
- // this.permissionStoreService.hasPermission(childMenu.permissions).then(r => childMenu.hide = !r);
58
- // }
59
- // });
60
- // }
61
- // });
62
- // router.events.subscribe(() => this.currentRoute = null);
63
- // }
64
-
65
-
66
- // public onShow(index): void {
67
- // this.menus.forEach((menu, indexMenu) => {
68
- // if (indexMenu !== index) {
69
- // this.isCollapsed[indexMenu] = true;
70
- // }
71
- // });
72
- // this.isCollapsed[index] = !this.isCollapsed[index];
73
- // }
74
-
75
- }
@@ -1,57 +0,0 @@
1
-
2
- import { filter } from 'rxjs/operators';
3
- import { AfterContentChecked, AfterViewInit, Directive, OnInit } from '@angular/core';
4
- import { NavigationEnd, Router } from '@angular/router';
5
-
6
-
7
- import { AccordionLinkDirective } from './accordionlink.directive';
8
-
9
- @Directive({
10
- selector: '[appAccordion]',
11
- standalone: true
12
- })
13
- export class AccordionDirective implements AfterContentChecked {
14
-
15
- protected navlinks: AccordionLinkDirective[] = [];
16
-
17
- constructor(private router: Router) {
18
- setTimeout(() => this.checkOpenLinks());
19
- }
20
-
21
- ngAfterContentChecked(): void {
22
- this.router.events.pipe(filter((event) => event instanceof NavigationEnd)).subscribe((e) => this.checkOpenLinks());
23
- }
24
-
25
- closeOtherLinks(openLink: AccordionLinkDirective): void {
26
- this.navlinks.forEach((link: AccordionLinkDirective) => {
27
- if (link !== openLink) {
28
- link.open = false;
29
- }
30
- });
31
- }
32
-
33
- addLink(link: AccordionLinkDirective): void {
34
- this.navlinks.push(link);
35
- }
36
-
37
- removeGroup(link: AccordionLinkDirective): void {
38
- const index = this.navlinks.indexOf(link);
39
- if (index !== -1) {
40
- this.navlinks.splice(index, 1);
41
- }
42
- }
43
-
44
- checkOpenLinks() {
45
- this.navlinks.forEach((link: AccordionLinkDirective) => {
46
- if (link.group) {
47
- const routeUrl = this.router.url;
48
- const currentUrl = routeUrl.split('/');
49
- if (currentUrl.indexOf(link.group) > 0) {
50
- link.open = true;
51
- this.closeOtherLinks(link);
52
- }
53
- }
54
- });
55
- }
56
-
57
- }
@@ -1,21 +0,0 @@
1
- import { Directive, HostListener, Inject } from '@angular/core';
2
-
3
- import { AccordionLinkDirective } from './accordionlink.directive';
4
-
5
- @Directive({
6
- selector: '[appAccordionToggle]',
7
- standalone: true
8
- })
9
- export class AccordionAnchorDirective {
10
-
11
- protected navlink: AccordionLinkDirective;
12
-
13
- constructor( @Inject(AccordionLinkDirective) navlink: AccordionLinkDirective) {
14
- this.navlink = navlink;
15
- }
16
-
17
- @HostListener('click', ['$event'])
18
- onClick(e: any) {
19
- this.navlink.toggle();
20
- }
21
- }
@@ -1,45 +0,0 @@
1
- import { Directive, HostBinding, Inject, Input, OnDestroy, OnInit } from '@angular/core';
2
- import { AccordionDirective } from './accordion.directive';
3
-
4
-
5
- @Directive({
6
- selector: '[appAccordionLink]',
7
- standalone: true
8
- })
9
- export class AccordionLinkDirective implements OnInit, OnDestroy {
10
-
11
- @Input() public group: any;
12
-
13
- @HostBinding('class.open')
14
-
15
- protected _open: boolean;
16
- protected nav: AccordionDirective;
17
-
18
- constructor(@Inject(AccordionDirective) nav: AccordionDirective) {
19
- this.nav = nav;
20
- }
21
-
22
- @Input()
23
- get open(): boolean {
24
- return this._open;
25
- }
26
-
27
- set open(value: boolean) {
28
- this._open = value;
29
- if (value) {
30
- this.nav.closeOtherLinks(this);
31
- }
32
- }
33
-
34
- ngOnInit(): any {
35
- this.nav.addLink(this);
36
- }
37
-
38
- ngOnDestroy(): any {
39
- this.nav.removeGroup(this);
40
- }
41
-
42
- toggle(): any {
43
- this.open = !this.open;
44
- }
45
- }
@@ -1,3 +0,0 @@
1
- export * from './accordionanchor.directive';
2
- export * from './accordionlink.directive';
3
- export * from './accordion.directive';
@@ -1,62 +0,0 @@
1
- <div class="sidebar-scroll">
2
- <div class="sidebar">
3
- <nav class="navbar custom-navbar main-brand justify-content-center text-center">
4
- <a class="navbar-brand text-decoration-none" [routerLink]="['/']" [ngClass]="{'invisible': !isOpened}">
5
- <div class="navbar-brand-name text-wrap">
6
- <!-- {{ configuration.appSettings.name }} -->
7
- </div>
8
- <div class="navbar-brand-project">
9
- <!-- {{ configuration.appSettings.clientName }} -->
10
- </div>
11
- </a>
12
- <button type="button" class="btn btn-primary btn-close-menu d-lg-none" (click)="onClick()">
13
- <span class="optyweb cw-toolbar-close1" aria-hidden="true"></span>
14
- <span class="visually-hidden">{{ '_COMMON._SIDEBAR.CLOSE_BTN' | translate }}</span>
15
- </button>
16
- </nav>
17
-
18
- <!-- main navigation -->
19
- <!-- <nav *ngIf="menuService.menu$ | async" class="main-menu">
20
- <app-menu [isOpened]="isOpened"></app-menu>
21
- </nav> -->
22
-
23
- <nav class="navbar custom-navbar sidebar-footer bg-white" [ngClass]="{'sidebar-footer-closed': !isOpened}">
24
- <ul class="navbar-nav w-100">
25
- <!-- <li class="nav-item">
26
- <a class="btn nav-link d-flex" href="assets/docs/fr/manuel.pdf" container="body" type="button"
27
- [ngbTooltip]="'_COMMON._USER.LBL_USER_MANUAL' | translate" [placement]="isOpened ? 'top' : 'right'">
28
- <span class="bo-icons bo-manual" aria-hidden="true"></span>
29
- <span class="visually-hidden">{{ '_COMMON._USER.LBL_USER_MANUAL' | translate }}</span>
30
- </a>
31
- </li>
32
- <ng-container *ngIf="authService.isLoggedIn()">
33
- <li class="nav-item">
34
- <button (click)="authService.logout()" class="btn nav-link d-flex" container="body" type="button"
35
- [ngbTooltip]="'_COMMON._APPLICATION.LOGOUT' | translate" [placement]="isOpened ? 'top' : 'right'">
36
- <span class="optyweb cw-nav-connexion" aria-hidden="true"></span>
37
- <span class="visually-hidden">{{ '_COMMON._APPLICATION.LOGOUT' | translate }}</span>
38
- </button>
39
- </li>
40
- </ng-container>
41
- <ng-container *ngIf="!authService.isLoggedIn()">
42
- <li class="nav-item">
43
- <button (click)="authService.startAuthentication()" class="btn nav-link d-flex" container="body"
44
- type="button" [ngbTooltip]="'_COMMON._APPLICATION.LOGIN' | translate"
45
- [placement]="isOpened ? 'top' : 'right'">
46
- <span class="optyweb cw-nav-connexion" aria-hidden="true"></span>
47
- <span class="visually-hidden">{{ '_COMMON._APPLICATION.LOGIN' | translate }}</span>
48
- </button>
49
- </li>
50
- </ng-container>
51
- <li class="nav-item docked-hidden">
52
- <a [href]="configuration.authentication.portalSettings.urlApplications" class="nav-link d-flex"
53
- container="body" [ngbTooltip]="'_COMMON._APPLICATION.CHANGE' | translate"
54
- [placement]="isOpened ? 'top' : 'right'">
55
- <span class="bo-icons bo-change-app" aria-hidden="true"></span>
56
- <span class="visually-hidden">{{ '_COMMON._APPLICATION.CHANGE' | translate }}</span>
57
- </a>
58
- </li> -->
59
- </ul>
60
- </nav>
61
- </div>
62
- </div>
@@ -1,28 +0,0 @@
1
- import { Component, EventEmitter, Input, Output } from '@angular/core';
2
- import { NgbTooltipModule } from '@ng-bootstrap/ng-bootstrap';
3
- import { TranslateModule } from '@ngx-translate/core';
4
- import { MenuComponent } from '../menu/menu.component';
5
- import { CommonModule } from '@angular/common';
6
- import { RouterModule } from '@angular/router';
7
-
8
- @Component({
9
- selector: 'app-sidebar',
10
- templateUrl: './sidebar.component.html',
11
- standalone: true,
12
- imports: [
13
- TranslateModule,
14
- MenuComponent,
15
- NgbTooltipModule,
16
- CommonModule,
17
- RouterModule
18
- ]
19
- })
20
- export class SidebarComponent {
21
-
22
- @Output() toggleSidenav = new EventEmitter<void>();
23
- @Input() isOpened: boolean;
24
-
25
- public onClick() {
26
- this.toggleSidenav.emit()
27
- }
28
- }
@@ -1,3 +0,0 @@
1
- <div class="skip-links">
2
- <a href="#content">{{ '_COMMON._SKIP_LINKS.CONTENT' | translate }}</a>
3
- </div>
@@ -1,25 +0,0 @@
1
- import { ComponentFixture, TestBed } from '@angular/core/testing';
2
-
3
- import { SkipLinksComponent } from './skip-links.component';
4
-
5
- describe('SkipLinksComponent', () => {
6
- let component: SkipLinksComponent;
7
- let fixture: ComponentFixture<SkipLinksComponent>;
8
-
9
- beforeEach(async () => {
10
- await TestBed.configureTestingModule({
11
- declarations: [ SkipLinksComponent ]
12
- })
13
- .compileComponents();
14
- });
15
-
16
- beforeEach(() => {
17
- fixture = TestBed.createComponent(SkipLinksComponent);
18
- component = fixture.componentInstance;
19
- fixture.detectChanges();
20
- });
21
-
22
- it('should create', () => {
23
- expect(component).toBeTruthy();
24
- });
25
- });
@@ -1,19 +0,0 @@
1
- import { Component, OnInit } from '@angular/core';
2
- import { TranslateModule } from '@ngx-translate/core';
3
-
4
- @Component({
5
- selector: 'app-skip-links',
6
- templateUrl: './skip-links.component.html',
7
- standalone: true,
8
- imports: [
9
- TranslateModule
10
- ]
11
- })
12
- export class SkipLinksComponent implements OnInit {
13
-
14
- constructor() { }
15
-
16
- ngOnInit(): void {
17
- }
18
-
19
- }
@@ -1,10 +0,0 @@
1
- <div class="bg-white border-bottom px-3 py-3">
2
- <h1>{{heading}}</h1>
3
- <nav aria-label="breadcrumb">
4
- <ol class="breadcrumb">
5
- <li class="breadcrumb-item"><a href="#">{{ 'GENERIC.HOME' | translate}}</a></li>
6
- <li class="breadcrumb-item">{{ 'GENERIC.HOME' | translate}}</li>
7
- <li class="breadcrumb-item active" aria-current="page">{{ heading | uppercase | translate }}</li>
8
- </ol>
9
- </nav>
10
- </div>