@dflat-core/web 1.0.0-beta → 1.0.1
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.
- package/README.md +54 -4
- package/assets/images/DFlat Finder 1000.png +0 -0
- package/assets/images/DFlat Finder 400.png +0 -0
- package/assets/images/DFlat Finder 600.png +0 -0
- package/assets/images/DFlat Finder Grand.png +0 -0
- package/assets/images/DFlatNew.png +0 -0
- package/assets/images/LogoDFlat.svg +1 -0
- package/assets/images/blue-camera.svg +2 -0
- package/assets/images/camera.svg +1 -0
- package/assets/images/checkout/amex.svg +14 -0
- package/assets/images/checkout/default.svg +1 -0
- package/assets/images/checkout/diners.svg +15 -0
- package/assets/images/checkout/maestro.svg +29 -0
- package/assets/images/checkout/mastercard.svg +31 -0
- package/assets/images/checkout/security.svg +8 -0
- package/assets/images/checkout/visa.svg +17 -0
- package/assets/images/heart-regular.svg +6 -0
- package/assets/images/heart-solid.svg +6 -0
- package/assets/images/image-spinner.gif +0 -0
- package/assets/images/map/blue/client.png +0 -0
- package/assets/images/map/blue/client.svg +1 -0
- package/assets/images/map/blue/deliveryman.png +0 -0
- package/assets/images/map/blue/deliveryman.svg +1 -0
- package/assets/images/map/blue/kezako.png +0 -0
- package/assets/images/map/blue/kezako.svg +1 -0
- package/assets/images/map/blue/store.png +0 -0
- package/assets/images/map/blue/store.svg +1 -0
- package/assets/images/map/main/client.png +0 -0
- package/assets/images/map/main/client.svg +1 -0
- package/assets/images/map/main/deliveryman.png +0 -0
- package/assets/images/map/main/deliveryman.svg +1 -0
- package/assets/images/map/main/kezako.png +0 -0
- package/assets/images/map/main/kezako.svg +1 -0
- package/assets/images/map/main/store.png +0 -0
- package/assets/images/map/main/store.svg +1 -0
- package/assets/images/map/primary/client.png +0 -0
- package/assets/images/map/primary/client.svg +1 -0
- package/assets/images/map/primary/deliveryman.png +0 -0
- package/assets/images/map/primary/deliveryman.svg +1 -0
- package/assets/images/map/primary/kezako.png +0 -0
- package/assets/images/map/primary/kezako.svg +1 -0
- package/assets/images/map/primary/store.png +0 -0
- package/assets/images/map/primary/store.svg +1 -0
- package/assets/images/paginator/first.svg +9 -0
- package/assets/images/paginator/last.svg +9 -0
- package/assets/images/paginator/next.svg +9 -0
- package/assets/images/paginator/previous.svg +9 -0
- package/assets/images/qlik.jpg +0 -0
- package/assets/images/qlik.png +0 -0
- package/assets/images/spinner.gif +0 -0
- package/assets/images/timeline-solid.svg +1 -0
- package/core/lib/global/EnvironmentBase.d.ts +15 -0
- package/fesm2022/dflat-core-web-core-services.mjs +3 -3
- package/fesm2022/dflat-core-web-core-services.mjs.map +1 -1
- package/fesm2022/dflat-core-web-core-ux.mjs +4 -4
- package/fesm2022/dflat-core-web-core-ux.mjs.map +1 -1
- package/fesm2022/dflat-core-web-core.mjs.map +1 -1
- package/fesm2022/dflat-core-web-system-ux.mjs +1034 -202
- package/fesm2022/dflat-core-web-system-ux.mjs.map +1 -1
- package/package.json +17 -13
- package/scss/dflat-app.scss +83 -0
- package/system-ux/index.d.ts +13 -0
- package/system-ux/lib/app/access-denied/access-denied.component.d.ts +9 -0
- package/system-ux/lib/app/dflat-app.module.d.ts +49 -0
- package/system-ux/lib/app/history/history.component.d.ts +16 -0
- package/system-ux/lib/app/homepage/homepage.component.d.ts +19 -0
- package/system-ux/lib/app/layout/dflat-layout.component.d.ts +38 -0
- package/system-ux/lib/app/search/search-result/search-result.component.d.ts +42 -0
- package/system-ux/lib/app/search/search.component.d.ts +68 -0
- package/system-ux/lib/app/services/dflat-app.service.d.ts +19 -0
- package/system-ux/lib/app/services/dflat-auth.interceptor.d.ts +16 -0
- package/system-ux/lib/app/services/dflat-permission.service.d.ts +7 -0
- package/system-ux/lib/app/spinner/dflat-spinner.component.d.ts +11 -0
- package/system-ux/lib/app/user-menu/user-menu.component.d.ts +56 -0
- package/system-ux/lib/app/user-profile/user-profile.component.d.ts +35 -0
- package/system-ux/lib/reset-password/reset-password.component.d.ts +1 -1
- package/system-ux/lib/system-ux.module.d.ts +92 -82
- package/assets/images/LogoMarsow.svg +0 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dflat-core/web",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.1",
|
|
4
4
|
"description": "Librairies Angular Dflat (core, core-*, system-*) et assets partagés, empaquetées en un module npm unique.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"peerDependencies": {
|
|
@@ -16,11 +16,15 @@
|
|
|
16
16
|
"@ng-select/ng-select": "^14.2.6",
|
|
17
17
|
"@samotics/ngx-treeview": "^20.1.2",
|
|
18
18
|
"@swimlane/ngx-datatable": "^20.0.0",
|
|
19
|
+
"bootstrap": "^4.3.1",
|
|
20
|
+
"bootswatch": "^4.4.1",
|
|
21
|
+
"font-awesome": "^4.7.0",
|
|
19
22
|
"guid-typescript": "^1.0.9",
|
|
20
23
|
"jwt-decode": "^2.2.0",
|
|
21
24
|
"lodash": "^4.17.14",
|
|
22
25
|
"lodash-es": "^4.17.21",
|
|
23
26
|
"moment": "^2.30.1",
|
|
27
|
+
"ng-http-loader": "^11.0.1",
|
|
24
28
|
"ng-recaptcha": "^12.0.2",
|
|
25
29
|
"ngx-bootstrap": "^20.0.2",
|
|
26
30
|
"ngx-dropzone": "^3.1.0",
|
|
@@ -41,14 +45,6 @@
|
|
|
41
45
|
"types": "./index.d.ts",
|
|
42
46
|
"default": "./fesm2022/dflat-core-web.mjs"
|
|
43
47
|
},
|
|
44
|
-
"./core-data": {
|
|
45
|
-
"types": "./core-data/index.d.ts",
|
|
46
|
-
"default": "./fesm2022/dflat-core-web-core-data.mjs"
|
|
47
|
-
},
|
|
48
|
-
"./core-model": {
|
|
49
|
-
"types": "./core-model/index.d.ts",
|
|
50
|
-
"default": "./fesm2022/dflat-core-web-core-model.mjs"
|
|
51
|
-
},
|
|
52
48
|
"./core": {
|
|
53
49
|
"types": "./core/index.d.ts",
|
|
54
50
|
"default": "./fesm2022/dflat-core-web-core.mjs"
|
|
@@ -57,10 +53,18 @@
|
|
|
57
53
|
"types": "./core-services/index.d.ts",
|
|
58
54
|
"default": "./fesm2022/dflat-core-web-core-services.mjs"
|
|
59
55
|
},
|
|
56
|
+
"./core-model": {
|
|
57
|
+
"types": "./core-model/index.d.ts",
|
|
58
|
+
"default": "./fesm2022/dflat-core-web-core-model.mjs"
|
|
59
|
+
},
|
|
60
60
|
"./core-ux": {
|
|
61
61
|
"types": "./core-ux/index.d.ts",
|
|
62
62
|
"default": "./fesm2022/dflat-core-web-core-ux.mjs"
|
|
63
63
|
},
|
|
64
|
+
"./core-data": {
|
|
65
|
+
"types": "./core-data/index.d.ts",
|
|
66
|
+
"default": "./fesm2022/dflat-core-web-core-data.mjs"
|
|
67
|
+
},
|
|
64
68
|
"./system-data": {
|
|
65
69
|
"types": "./system-data/index.d.ts",
|
|
66
70
|
"default": "./fesm2022/dflat-core-web-system-data.mjs"
|
|
@@ -69,13 +73,13 @@
|
|
|
69
73
|
"types": "./system-model/index.d.ts",
|
|
70
74
|
"default": "./fesm2022/dflat-core-web-system-model.mjs"
|
|
71
75
|
},
|
|
72
|
-
"./system-root": {
|
|
73
|
-
"types": "./system-root/index.d.ts",
|
|
74
|
-
"default": "./fesm2022/dflat-core-web-system-root.mjs"
|
|
75
|
-
},
|
|
76
76
|
"./system-ux": {
|
|
77
77
|
"types": "./system-ux/index.d.ts",
|
|
78
78
|
"default": "./fesm2022/dflat-core-web-system-ux.mjs"
|
|
79
|
+
},
|
|
80
|
+
"./system-root": {
|
|
81
|
+
"types": "./system-root/index.d.ts",
|
|
82
|
+
"default": "./fesm2022/dflat-core-web-system-root.mjs"
|
|
79
83
|
}
|
|
80
84
|
},
|
|
81
85
|
"sideEffects": false
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
// =============================================================================
|
|
2
|
+
// Feuille de style globale d'une application Dflat (@dflat-core/web/scss/dflat-app.scss)
|
|
3
|
+
// =============================================================================
|
|
4
|
+
// Reprend toute la chaîne de styles attendue par les composants du package : Bootstrap et
|
|
5
|
+
// son thème, les styles de core-ux, puis les règles de mise en page de la coquille
|
|
6
|
+
// applicative (hauteur plein écran, ascenseurs, spinner).
|
|
7
|
+
//
|
|
8
|
+
// Dans le styles.scss de l'application :
|
|
9
|
+
//
|
|
10
|
+
// @import "../../../node_modules/@dflat-core/web/scss/dflat-app.scss";
|
|
11
|
+
//
|
|
12
|
+
// avec, dans les options de build (project.json / angular.json) :
|
|
13
|
+
//
|
|
14
|
+
// "stylePreprocessorOptions": {
|
|
15
|
+
// "includePaths": ["node_modules", "node_modules/@dflat-core/web/assets"]
|
|
16
|
+
// }
|
|
17
|
+
//
|
|
18
|
+
// "node_modules" résout bootstrap et bootswatch ci-dessous, le second les variables et les
|
|
19
|
+
// styles partagés des assets du package. Pour un autre thème Bootstrap, n'importez pas ce
|
|
20
|
+
// fichier : reprenez son contenu dans l'application en changeant la ligne bootswatch.
|
|
21
|
+
// =============================================================================
|
|
22
|
+
|
|
23
|
+
@import "variables.scss";
|
|
24
|
+
@import "bootstrap/scss/bootstrap.scss";
|
|
25
|
+
@import "bootswatch/dist/pulse/_bootswatch.scss";
|
|
26
|
+
@import "core-ux.scss";
|
|
27
|
+
@import "site.scss";
|
|
28
|
+
|
|
29
|
+
html,
|
|
30
|
+
body, msw-root, alg-default-layout, msw-layout, alg-login-layout {
|
|
31
|
+
display: flex;
|
|
32
|
+
width: 100vw;
|
|
33
|
+
height: 100vh;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
body {
|
|
37
|
+
background: #fdfdfd;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
.login-page {
|
|
41
|
+
background: #efefef;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
#spinner {
|
|
45
|
+
position: fixed;
|
|
46
|
+
left: 0 !important;
|
|
47
|
+
top: 0 !important;
|
|
48
|
+
transform: none !important;
|
|
49
|
+
|
|
50
|
+
height: 80;
|
|
51
|
+
width: 100%;
|
|
52
|
+
z-index: 9999999;
|
|
53
|
+
cursor: progress;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
/* Ascenseurs */
|
|
57
|
+
::-webkit-scrollbar {
|
|
58
|
+
width: 12px;
|
|
59
|
+
height: 12px;
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
::-webkit-scrollbar-track {
|
|
63
|
+
background: transparent;
|
|
64
|
+
border: solid 15px transparent;
|
|
65
|
+
box-shadow: inset 0 0 5px 5px transparent;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
::-webkit-scrollbar-thumb {
|
|
69
|
+
cursor: pointer;
|
|
70
|
+
background: #3753C226;
|
|
71
|
+
border-radius: 2px;
|
|
72
|
+
border: solid 15px transparent;
|
|
73
|
+
box-shadow: inset 1 1 5px 5px var(--main-bg-color);
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
::-webkit-scrollbar-thumb:hover {
|
|
77
|
+
cursor: pointer;
|
|
78
|
+
background: #3753C227;
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
.height100 {
|
|
82
|
+
height: calc(100% - 1px);
|
|
83
|
+
}
|
package/system-ux/index.d.ts
CHANGED
|
@@ -74,3 +74,16 @@ export * from './lib/user-account/user-account-editor.component';
|
|
|
74
74
|
export * from './lib/address/address-editor.component';
|
|
75
75
|
export * from './lib/resource-translation/resource-translation-editor.component';
|
|
76
76
|
export * from './lib/services/select-user-company-action-service';
|
|
77
|
+
export * from './lib/app/access-denied/access-denied.component';
|
|
78
|
+
export * from './lib/app/history/history.component';
|
|
79
|
+
export * from './lib/app/homepage/homepage.component';
|
|
80
|
+
export * from './lib/app/layout/dflat-layout.component';
|
|
81
|
+
export * from './lib/app/search/search.component';
|
|
82
|
+
export * from './lib/app/search/search-result/search-result.component';
|
|
83
|
+
export * from './lib/app/spinner/dflat-spinner.component';
|
|
84
|
+
export * from './lib/app/user-menu/user-menu.component';
|
|
85
|
+
export * from './lib/app/user-profile/user-profile.component';
|
|
86
|
+
export * from './lib/app/services/dflat-app.service';
|
|
87
|
+
export * from './lib/app/services/dflat-auth.interceptor';
|
|
88
|
+
export * from './lib/app/services/dflat-permission.service';
|
|
89
|
+
export * from './lib/app/dflat-app.module';
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { AuthService } from '@dflat-core/web/core-services';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export declare class AccessDeniedComponent {
|
|
4
|
+
private authService;
|
|
5
|
+
constructor(authService: AuthService);
|
|
6
|
+
goBack(): void;
|
|
7
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AccessDeniedComponent, never>;
|
|
8
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<AccessDeniedComponent, "msw-access-denied", never, {}, {}, never, never, false, never>;
|
|
9
|
+
}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { EnvironmentBase } from '@dflat-core/web/core';
|
|
2
|
+
import { ModuleWithProviders } from '@angular/core';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "@angular/forms";
|
|
5
|
+
import * as i2 from "@angular/platform-browser";
|
|
6
|
+
import * as i3 from "@angular/platform-browser/animations";
|
|
7
|
+
import * as i4 from "ng-recaptcha";
|
|
8
|
+
import * as i5 from "@swimlane/ngx-datatable";
|
|
9
|
+
import * as i6 from "@ng-select/ng-select";
|
|
10
|
+
import * as i7 from "@dflat-core/web/core";
|
|
11
|
+
import * as i8 from "@dflat-core/web/core-model";
|
|
12
|
+
import * as i9 from "@dflat-core/web/core-services";
|
|
13
|
+
import * as i10 from "@dflat-core/web/core-data";
|
|
14
|
+
import * as i11 from "@dflat-core/web/core-ux";
|
|
15
|
+
import * as i12 from "@dflat-core/web/system-root";
|
|
16
|
+
import * as i13 from "../system-ux.module";
|
|
17
|
+
import * as i14 from "ngx-toastr";
|
|
18
|
+
import * as i15 from "ng-http-loader";
|
|
19
|
+
import * as i16 from "ngx-bootstrap/accordion";
|
|
20
|
+
/**
|
|
21
|
+
* Socle du module racine d'une application Dflat : rassemble les modules Angular et
|
|
22
|
+
* tierces parties attendus par les librairies Dflat, et les implémentations par défaut
|
|
23
|
+
* des services que l'application peut remplacer (permissions, menus, intercepteur HTTP).
|
|
24
|
+
*
|
|
25
|
+
* À importer une seule fois, dans le module racine (il importe BrowserModule et les
|
|
26
|
+
* `forRoot` des modules tiers) :
|
|
27
|
+
*
|
|
28
|
+
* ```ts
|
|
29
|
+
* @NgModule({
|
|
30
|
+
* declarations: [AppComponent],
|
|
31
|
+
* imports: [DflatAppModule.forRoot(environment), routing],
|
|
32
|
+
* bootstrap: [AppComponent]
|
|
33
|
+
* })
|
|
34
|
+
* export class AppModule {}
|
|
35
|
+
* ```
|
|
36
|
+
*
|
|
37
|
+
* Pour surcharger un service, il suffit de le fournir après, dans le module racine :
|
|
38
|
+
* les providers de l'application l'emportent sur ceux importés.
|
|
39
|
+
*/
|
|
40
|
+
export declare class DflatAppModule {
|
|
41
|
+
/**
|
|
42
|
+
* Déclare l'environnement de l'application (URL de l'API, du hub, des fichiers, nom
|
|
43
|
+
* et version affichés), injecté ensuite sous <see cref="EnvironmentBase"/>.
|
|
44
|
+
*/
|
|
45
|
+
static forRoot(environment: EnvironmentBase): ModuleWithProviders<DflatAppModule>;
|
|
46
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<DflatAppModule, never>;
|
|
47
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<DflatAppModule, never, [typeof i1.FormsModule, typeof i1.ReactiveFormsModule, typeof i2.BrowserModule, typeof i3.BrowserAnimationsModule, typeof i4.RecaptchaModule, typeof i4.RecaptchaFormsModule, typeof i5.NgxDatatableModule, typeof i6.NgSelectModule, typeof i7.CoreModule, typeof i8.CoreModelModule, typeof i9.CoreServicesModule, typeof i10.CoreDataModule, typeof i11.CoreUxModule, typeof i12.SystemRootModule, typeof i13.SystemUxModule, typeof i14.ToastrModule, typeof i15.NgHttpLoaderModule, typeof i16.AccordionModule], [typeof i1.FormsModule, typeof i1.ReactiveFormsModule, typeof i2.BrowserModule, typeof i3.BrowserAnimationsModule, typeof i4.RecaptchaModule, typeof i4.RecaptchaFormsModule, typeof i5.NgxDatatableModule, typeof i6.NgSelectModule, typeof i7.CoreModule, typeof i8.CoreModelModule, typeof i9.CoreServicesModule, typeof i10.CoreDataModule, typeof i11.CoreUxModule, typeof i12.SystemRootModule, typeof i13.SystemUxModule]>;
|
|
48
|
+
static ɵinj: i0.ɵɵInjectorDeclaration<DflatAppModule>;
|
|
49
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { HistoryItem } from '@dflat-core/web/core-model';
|
|
2
|
+
import { OnInit } from '@angular/core';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export declare class HistoryComponent implements OnInit {
|
|
5
|
+
local_Storage: HistoryItem[];
|
|
6
|
+
router: any;
|
|
7
|
+
globalService: any;
|
|
8
|
+
app: any;
|
|
9
|
+
emptyList: boolean;
|
|
10
|
+
constructor();
|
|
11
|
+
ngOnInit(): void;
|
|
12
|
+
onLinkClick(url: any): void;
|
|
13
|
+
clearHistory(): void;
|
|
14
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<HistoryComponent, never>;
|
|
15
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<HistoryComponent, "msw-history", never, { "local_Storage": { "alias": "local_Storage"; "required": false; }; }, {}, never, never, false, never>;
|
|
16
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { ApplicationService } from '@dflat-core/web/core-ux';
|
|
2
|
+
import { OnDestroy, OnInit } from '@angular/core';
|
|
3
|
+
import { DflatAppService } from '../services/dflat-app.service';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
/**
|
|
6
|
+
* Page d'accueil : logo et nom de l'application (voir <see cref="DflatAppService"/>),
|
|
7
|
+
* barre de recherche globale renvoyant vers /search, et lien vers les nouveautés.
|
|
8
|
+
*/
|
|
9
|
+
export declare class HomepageComponent implements OnInit, OnDestroy {
|
|
10
|
+
app: ApplicationService;
|
|
11
|
+
appInfo: DflatAppService;
|
|
12
|
+
searchText: string;
|
|
13
|
+
constructor(app: ApplicationService, appInfo: DflatAppService);
|
|
14
|
+
ngOnInit(): void;
|
|
15
|
+
ngOnDestroy(): void;
|
|
16
|
+
handleKeyboardEnter(valueText: string): void;
|
|
17
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<HomepageComponent, never>;
|
|
18
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<HomepageComponent, "msw-homepage", never, {}, {}, never, never, false, never>;
|
|
19
|
+
}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { AuthService, HubService, MenuService, UserService } from '@dflat-core/web/core-services';
|
|
2
|
+
import { ActionService, ApplicationService, DefaultLayoutComponent, ModalService } from '@dflat-core/web/core-ux';
|
|
3
|
+
import { Renderer2 } from '@angular/core';
|
|
4
|
+
import { Title } from '@angular/platform-browser';
|
|
5
|
+
import { ActivatedRoute, Router } from '@angular/router';
|
|
6
|
+
import { Subscription } from 'rxjs';
|
|
7
|
+
import { DFlatSpinnerComponent } from '../spinner/dflat-spinner.component';
|
|
8
|
+
import { DflatAppService } from '../services/dflat-app.service';
|
|
9
|
+
import * as i0 from "@angular/core";
|
|
10
|
+
/**
|
|
11
|
+
* Mise en page de l'application : barre supérieure (logo, nom, recherche globale),
|
|
12
|
+
* menu latéral rétractable et zone de contenu. Dérivez-en une classe pour l'adapter.
|
|
13
|
+
*/
|
|
14
|
+
export declare class DFlatLayoutComponent extends DefaultLayoutComponent {
|
|
15
|
+
protected renderer: Renderer2;
|
|
16
|
+
protected userServ: UserService;
|
|
17
|
+
protected menuServ: MenuService;
|
|
18
|
+
protected authService: AuthService;
|
|
19
|
+
protected hubService: HubService;
|
|
20
|
+
protected router: Router;
|
|
21
|
+
protected modalService: ModalService;
|
|
22
|
+
protected title: Title;
|
|
23
|
+
protected actionService: ActionService;
|
|
24
|
+
app: ApplicationService;
|
|
25
|
+
appInfo: DflatAppService;
|
|
26
|
+
spinnerComponent: typeof DFlatSpinnerComponent;
|
|
27
|
+
subscription: Subscription;
|
|
28
|
+
displaySearchBar: boolean;
|
|
29
|
+
constructor(renderer: Renderer2, userServ: UserService, menuServ: MenuService, authService: AuthService, hubService: HubService, route: ActivatedRoute, router: Router, modalService: ModalService, title: Title, actionService: ActionService, app: ApplicationService, appInfo: DflatAppService);
|
|
30
|
+
ngAfterViewInit(): void;
|
|
31
|
+
protected userExpandSideBar: boolean;
|
|
32
|
+
onToggleButtonClick(): void;
|
|
33
|
+
ButtonClickHistory(): void;
|
|
34
|
+
showSidebar(): void;
|
|
35
|
+
hideSidebar(event: MouseEvent): void;
|
|
36
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<DFlatLayoutComponent, never>;
|
|
37
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<DFlatLayoutComponent, "msw-layout", never, {}, {}, never, never, false, never>;
|
|
38
|
+
}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { ImageService } from "@dflat-core/web/core-ux";
|
|
2
|
+
import { OnInit } from "@angular/core";
|
|
3
|
+
import { ActivatedRoute, Router } from "@angular/router";
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export declare class SearchResult {
|
|
6
|
+
_label: string;
|
|
7
|
+
get Label(): string;
|
|
8
|
+
set Label(value: string);
|
|
9
|
+
_description1: string;
|
|
10
|
+
get Description1(): string;
|
|
11
|
+
set Description1(value: string);
|
|
12
|
+
_description2: string;
|
|
13
|
+
get Description2(): string;
|
|
14
|
+
set Description2(value: string);
|
|
15
|
+
_imageUrl: string;
|
|
16
|
+
get ImageUrl(): string;
|
|
17
|
+
set ImageUrl(value: string);
|
|
18
|
+
get HasImage(): boolean;
|
|
19
|
+
_url: string;
|
|
20
|
+
get Url(): string;
|
|
21
|
+
set Url(value: string);
|
|
22
|
+
constructor();
|
|
23
|
+
}
|
|
24
|
+
export declare class SearchResultComponent implements OnInit {
|
|
25
|
+
imageService: ImageService;
|
|
26
|
+
private route;
|
|
27
|
+
private router;
|
|
28
|
+
isLoading: boolean;
|
|
29
|
+
results: SearchResult[];
|
|
30
|
+
url: string;
|
|
31
|
+
nbTotal: number;
|
|
32
|
+
title: string;
|
|
33
|
+
constructor(imageService: ImageService, route: ActivatedRoute, router: Router);
|
|
34
|
+
ngOnInit(): void;
|
|
35
|
+
navigateToResults(): void;
|
|
36
|
+
navigateToItem(res: SearchResult): void;
|
|
37
|
+
noResults(): boolean;
|
|
38
|
+
getImageUrl(result: SearchResult): string;
|
|
39
|
+
getStyle(result: SearchResult): string;
|
|
40
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<SearchResultComponent, never>;
|
|
41
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<SearchResultComponent, "msw-search-result", never, { "isLoading": { "alias": "isLoading"; "required": false; }; "results": { "alias": "results"; "required": false; }; "url": { "alias": "url"; "required": false; }; "nbTotal": { "alias": "nbTotal"; "required": false; }; "title": { "alias": "title"; "required": false; }; }, {}, never, never, false, never>;
|
|
42
|
+
}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import { ApplicationService } from '@dflat-core/web/core-ux';
|
|
2
|
+
import { InjectionToken, OnDestroy, OnInit } from '@angular/core';
|
|
3
|
+
import { ActivatedRoute } from '@angular/router';
|
|
4
|
+
import { Observable } from 'rxjs';
|
|
5
|
+
import { SearchResult } from './search-result/search-result.component';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
/**
|
|
8
|
+
* Résultats d'un fournisseur de recherche, pour une section de la page.
|
|
9
|
+
*/
|
|
10
|
+
export interface DflatSearchResults {
|
|
11
|
+
/** Résultats à afficher (les premiers, la page de résultats complète étant à part). */
|
|
12
|
+
results: SearchResult[];
|
|
13
|
+
/** Nombre total de résultats, affiché à côté du lien vers la page de résultats. */
|
|
14
|
+
totalCount: number;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Source de la recherche globale : une par famille d'objets (produits, commandes...).
|
|
18
|
+
* Chaque module en fournit autant que nécessaire, via <see cref="DFLAT_SEARCH_PROVIDERS"/> :
|
|
19
|
+
*
|
|
20
|
+
* ```ts
|
|
21
|
+
* { provide: DFLAT_SEARCH_PROVIDERS, useClass: ProductSearchProvider, multi: true }
|
|
22
|
+
* ```
|
|
23
|
+
*/
|
|
24
|
+
export declare abstract class DflatSearchProvider {
|
|
25
|
+
/** Titre de la section, dans la page de résultats. */
|
|
26
|
+
abstract readonly title: string;
|
|
27
|
+
/** URL de la page de résultats complète de cette famille d'objets. */
|
|
28
|
+
abstract resultsUrl(keywords: string): string;
|
|
29
|
+
/** Recherche proprement dite. */
|
|
30
|
+
abstract search(keywords: string): Observable<DflatSearchResults>;
|
|
31
|
+
/** Section affichée seulement si l'utilisateur a le droit de voir ces objets. */
|
|
32
|
+
isAllowed(): boolean;
|
|
33
|
+
}
|
|
34
|
+
export declare const DFLAT_SEARCH_PROVIDERS: InjectionToken<DflatSearchProvider[]>;
|
|
35
|
+
/**
|
|
36
|
+
* Une section de la page de résultats : l'état de la recherche d'un fournisseur.
|
|
37
|
+
*/
|
|
38
|
+
export declare class SearchSection {
|
|
39
|
+
provider: DflatSearchProvider;
|
|
40
|
+
keywords: string;
|
|
41
|
+
constructor(provider: DflatSearchProvider, keywords: string);
|
|
42
|
+
isLoading: boolean;
|
|
43
|
+
results: SearchResult[];
|
|
44
|
+
totalCount: number;
|
|
45
|
+
get title(): string;
|
|
46
|
+
get url(): string;
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Page de la recherche globale (/search?text=...) : interroge les fournisseurs déclarés
|
|
50
|
+
* par l'application et affiche une section par fournisseur. Sans fournisseur, la page
|
|
51
|
+
* indique simplement qu'il n'y a pas de résultat.
|
|
52
|
+
*/
|
|
53
|
+
export declare class SearchComponent implements OnInit, OnDestroy {
|
|
54
|
+
private route;
|
|
55
|
+
app: ApplicationService;
|
|
56
|
+
sections: SearchSection[];
|
|
57
|
+
private subscription;
|
|
58
|
+
private readonly providers;
|
|
59
|
+
constructor(route: ActivatedRoute, app: ApplicationService, providers: DflatSearchProvider[]);
|
|
60
|
+
ngOnInit(): void;
|
|
61
|
+
ngOnDestroy(): void;
|
|
62
|
+
/** Vrai tant qu'au moins une section est en cours de chargement. */
|
|
63
|
+
get isLoading(): boolean;
|
|
64
|
+
noResults(): boolean;
|
|
65
|
+
private search;
|
|
66
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<SearchComponent, [null, null, { optional: true; }]>;
|
|
67
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<SearchComponent, "msw-search", never, {}, {}, never, never, false, never>;
|
|
68
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { EnvironmentBase } from '@dflat-core/web/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
/**
|
|
4
|
+
* Identité de l'application affichée par la coquille applicative (mise en page, page
|
|
5
|
+
* d'accueil) : elle est décrite par l'environnement de l'application hôte
|
|
6
|
+
* (<see cref="EnvironmentBase"/>), avec les valeurs Dflat par défaut.
|
|
7
|
+
*/
|
|
8
|
+
export declare class DflatAppService {
|
|
9
|
+
private environment;
|
|
10
|
+
constructor(environment: EnvironmentBase);
|
|
11
|
+
/** Nom de l'application. */
|
|
12
|
+
get Name(): string;
|
|
13
|
+
/** Logo de l'application, servi par les assets du package à défaut. */
|
|
14
|
+
get LogoUrl(): string;
|
|
15
|
+
/** Version affichée sur la page d'accueil, vide si l'application n'en publie pas. */
|
|
16
|
+
get Version(): string;
|
|
17
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<DflatAppService, never>;
|
|
18
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<DflatAppService>;
|
|
19
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { ApiError } from "@dflat-core/web/core-model";
|
|
2
|
+
import { AuthInterceptor } from "@dflat-core/web/core-services";
|
|
3
|
+
import { AlertService } from "@dflat-core/web/core-ux";
|
|
4
|
+
import { HttpErrorResponse } from "@angular/common/http";
|
|
5
|
+
import { Injector } from "@angular/core";
|
|
6
|
+
import { Router } from "@angular/router";
|
|
7
|
+
import * as i0 from "@angular/core";
|
|
8
|
+
export declare class DFlatAuthInterceptor extends AuthInterceptor {
|
|
9
|
+
private alertService;
|
|
10
|
+
protected router: Router;
|
|
11
|
+
protected injector: Injector;
|
|
12
|
+
constructor(alertService: AlertService, router: Router, injector: Injector);
|
|
13
|
+
onError(errResponse: HttpErrorResponse, error: ApiError): void;
|
|
14
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<DFlatAuthInterceptor, never>;
|
|
15
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<DFlatAuthInterceptor>;
|
|
16
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { LocalStoreManager, PermissionService } from '@dflat-core/web/core-services';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export declare class DFlatPermissionService extends PermissionService {
|
|
4
|
+
constructor(localStorage: LocalStoreManager);
|
|
5
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<DFlatPermissionService, never>;
|
|
6
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<DFlatPermissionService>;
|
|
7
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { ActionService } from '@dflat-core/web/core-ux';
|
|
2
|
+
import { OnDestroy, OnInit } from '@angular/core';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export declare class DFlatSpinnerComponent implements OnInit, OnDestroy {
|
|
5
|
+
private actionService;
|
|
6
|
+
constructor(actionService: ActionService);
|
|
7
|
+
ngOnDestroy(): void;
|
|
8
|
+
ngOnInit(): void;
|
|
9
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<DFlatSpinnerComponent, never>;
|
|
10
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<DFlatSpinnerComponent, "msw-dflat-spinner", never, {}, {}, never, never, false, never>;
|
|
11
|
+
}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { User } from '@dflat-core/web/core-model';
|
|
2
|
+
import { AuthService, MenuItem, UserService } from '@dflat-core/web/core-services';
|
|
3
|
+
import { ImageService } from '@dflat-core/web/core-ux';
|
|
4
|
+
import { FileTypes, UserAccountCompanyView } from '@dflat-core/web/system-model';
|
|
5
|
+
import { AfterViewInit, EventEmitter, OnDestroy, OnInit } from '@angular/core';
|
|
6
|
+
import { Router } from '@angular/router';
|
|
7
|
+
import { SelectUserCompanyActionService } from '../../services/select-user-company-action-service';
|
|
8
|
+
import { Subscription } from 'rxjs';
|
|
9
|
+
import * as i0 from "@angular/core";
|
|
10
|
+
export declare class UserMenuComponent implements OnInit, OnDestroy, AfterViewInit {
|
|
11
|
+
private authService;
|
|
12
|
+
private router;
|
|
13
|
+
private userService;
|
|
14
|
+
private imageService;
|
|
15
|
+
private selectUserCompanyActionService;
|
|
16
|
+
/**
|
|
17
|
+
* Le type d'image pour la photo de l'utilisateur.
|
|
18
|
+
*/
|
|
19
|
+
userImageType: FileTypes;
|
|
20
|
+
/**
|
|
21
|
+
* Style pour définir le background-url de la photo de l'utilisateur.
|
|
22
|
+
*/
|
|
23
|
+
userBackImageStyle: string;
|
|
24
|
+
currentUser: User;
|
|
25
|
+
itemClick: EventEmitter<MenuItem>;
|
|
26
|
+
userLinks: MenuItem[];
|
|
27
|
+
private userMenu;
|
|
28
|
+
menuItems: MenuItem[];
|
|
29
|
+
compact: boolean;
|
|
30
|
+
private userImageComponent;
|
|
31
|
+
itemId: number;
|
|
32
|
+
subscription: Subscription;
|
|
33
|
+
poEventSubscription: Subscription;
|
|
34
|
+
notifications: any[];
|
|
35
|
+
messages: any[];
|
|
36
|
+
app: any;
|
|
37
|
+
selectedUserCompany: UserAccountCompanyView;
|
|
38
|
+
constructor(authService: AuthService, router: Router, userService: UserService, imageService: ImageService, selectUserCompanyActionService: SelectUserCompanyActionService);
|
|
39
|
+
ngAfterViewInit(): void;
|
|
40
|
+
private identifyMenu;
|
|
41
|
+
private identityMenuItem;
|
|
42
|
+
onNotificationClick(): void;
|
|
43
|
+
onMessagesClick(): void;
|
|
44
|
+
initMenu(): void;
|
|
45
|
+
ngOnInit(): void;
|
|
46
|
+
subscribeEntityNotification(): void;
|
|
47
|
+
ngOnDestroy(): void;
|
|
48
|
+
resetMenu(): void;
|
|
49
|
+
closeMenu(): void;
|
|
50
|
+
handleItemClick(item: MenuItem): void;
|
|
51
|
+
disconnect(): void;
|
|
52
|
+
buttonClickHistory(): void;
|
|
53
|
+
buttonSelectComany(): void;
|
|
54
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<UserMenuComponent, never>;
|
|
55
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<UserMenuComponent, "msw-user-menu", never, { "currentUser": { "alias": "currentUser"; "required": false; }; "menuItems": { "alias": "menuItems"; "required": false; }; "compact": { "alias": "compact"; "required": false; }; }, { "itemClick": "itemClick"; }, never, never, false, never>;
|
|
56
|
+
}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { UserService } from '@dflat-core/web/core-services';
|
|
2
|
+
import { AlertService } from '@dflat-core/web/core-ux';
|
|
3
|
+
import { AccountDataService, UserAccountDataService } from '@dflat-core/web/system-data';
|
|
4
|
+
import { ChangePasswordViewModel, UserProfileViewModel } from '@dflat-core/web/system-model';
|
|
5
|
+
import { NgForm } from '@angular/forms';
|
|
6
|
+
import { ActivatedRoute } from '@angular/router';
|
|
7
|
+
import * as i0 from "@angular/core";
|
|
8
|
+
export declare class UserProfileComponent {
|
|
9
|
+
protected route: ActivatedRoute;
|
|
10
|
+
protected alertService: AlertService;
|
|
11
|
+
protected accountDataService: AccountDataService;
|
|
12
|
+
protected userAccountDataService: UserAccountDataService;
|
|
13
|
+
private userService;
|
|
14
|
+
constructor(route: ActivatedRoute, alertService: AlertService, accountDataService: AccountDataService, userAccountDataService: UserAccountDataService, userService: UserService);
|
|
15
|
+
form: NgForm;
|
|
16
|
+
pwdform: NgForm;
|
|
17
|
+
userAccount: UserProfileViewModel;
|
|
18
|
+
changePasswordVM: ChangePasswordViewModel;
|
|
19
|
+
isFormValid: boolean;
|
|
20
|
+
hasChanges: boolean;
|
|
21
|
+
password: string;
|
|
22
|
+
isPasswordFormValid: boolean;
|
|
23
|
+
hasPasswordChanges: boolean;
|
|
24
|
+
mobilePattern: string;
|
|
25
|
+
emailPattern2: string;
|
|
26
|
+
ngOnInit(): void;
|
|
27
|
+
initViewModel(): void;
|
|
28
|
+
handlePasswordChanged(): void;
|
|
29
|
+
handleModelChanged(): void;
|
|
30
|
+
cancel(): void;
|
|
31
|
+
validate(): boolean;
|
|
32
|
+
changePassword(): boolean;
|
|
33
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<UserProfileComponent, never>;
|
|
34
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<UserProfileComponent, "msw-user-profile", never, {}, {}, never, never, false, never>;
|
|
35
|
+
}
|
|
@@ -28,5 +28,5 @@ export declare class ResetPasswordComponent extends ActivateComponent {
|
|
|
28
28
|
OnConnexionClick(): void;
|
|
29
29
|
OnRegisterClick(): void;
|
|
30
30
|
static ɵfac: i0.ɵɵFactoryDeclaration<ResetPasswordComponent, never>;
|
|
31
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<ResetPasswordComponent, "
|
|
31
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<ResetPasswordComponent, "msw-reset-password", never, { "isModal": { "alias": "isModal"; "required": false; }; }, { "connexionClick": "connexionClick"; "registerClick": "registerClick"; }, never, never, false, never>;
|
|
32
32
|
}
|