Skip to content

Commit b5596d2

Browse files
authored
feat(demo): Convert all components, directives and pipes to standalone
* feat: update Angular v17 * fix(geo): do not upgrade flexsearch since it seem not compatible with TS nextapps-de/flexsearch#342 * feat(demo): Convert all components, directives and pipes to standalone * feat(demo): Remove unnecessary NgModule classes * fix(core/language): TranslateModule call forRoot only once with provideRootTranslation - IgoLanguageModule only export the TranslateModule BREAKING CHANGE: IgoLanguageModule don't import TranslateModule.forRoot defaultLanguageLoader is not exported anymore - provideDefaultLanguageLoader and provideLanguageLoader are replaced by DEFAULT_LANGUAGE_LOADER and set directly inside the TranslationConfig * feat: remove extra module and rework navigation * fix(demo): main clean up * fix(test) * fix(workspace): code deleted by error
1 parent c85981d commit b5596d2

File tree

157 files changed

+6587
-1817
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

157 files changed

+6587
-1817
lines changed

package-lock.json

+5,277-48
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

packages/auth/package.json

+1
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
"build": "ng build auth --configuration production",
2020
"format": "prettier --write ./src/**/*.{ts,js,html,scss,css,json}",
2121
"test": "ng test auth --watch=false",
22+
"test.watch": "ng test auth",
2223
"watch": "ng build auth --watch"
2324
},
2425
"exports": {

packages/auth/src/lib/auth-monitoring/auth-monitoring.service.spec.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ import {
66
ConfigService,
77
MONITORING_OPTIONS,
88
MessageService,
9-
provideMockTranslation
9+
provideMockRootTranslation
1010
} from '@igo2/core';
1111

1212
import { ToastrModule, ToastrService } from 'ngx-toastr';
@@ -22,8 +22,8 @@ const initialize = (
2222
TestBed.configureTestingModule({
2323
imports: [
2424
HttpClientModule,
25+
provideMockRootTranslation(),
2526
IgoAuthModule,
26-
provideMockTranslation(),
2727
ToastrModule
2828
],
2929
providers: [

packages/auth/src/lib/shared/auth.service.spec.ts

+3-5
Original file line numberDiff line numberDiff line change
@@ -4,23 +4,21 @@ import { TestBed, inject } from '@angular/core/testing';
44
import {
55
IgoLanguageModule,
66
IgoMessageModule,
7-
provideMockTranslation
7+
provideMockRootTranslation
88
} from '@igo2/core';
99

10-
import { TranslateService } from '@ngx-translate/core';
11-
1210
import { AuthService } from './auth.service';
1311

1412
describe('AuthService', () => {
1513
beforeEach(() => {
1614
TestBed.configureTestingModule({
1715
imports: [
1816
HttpClientModule,
19-
provideMockTranslation(),
17+
provideMockRootTranslation(),
2018
IgoLanguageModule,
2119
IgoMessageModule
2220
],
23-
providers: [AuthService, TranslateService]
21+
providers: [AuthService]
2422
});
2523
});
2624

packages/common/src/lib/color-picker-form-field/color-picker-form-field.module.ts

+3-2
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,8 @@ import { MatButtonModule } from '@angular/material/button';
66
import { MatFormFieldModule } from '@angular/material/form-field';
77
import { MatInputModule } from '@angular/material/input';
88

9-
import { TranslateModule } from '@ngx-translate/core';
9+
import { IgoLanguageModule } from '@igo2/core';
10+
1011
import { ColorChromeModule } from 'ngx-color/chrome';
1112

1213
import { ColorPickerFormFieldComponent } from './color-picker-form-field.component';
@@ -21,7 +22,7 @@ import { ColorPickerFormFieldComponent } from './color-picker-form-field.compone
2122
CommonModule,
2223
OverlayModule,
2324
ColorChromeModule,
24-
TranslateModule
25+
IgoLanguageModule
2526
],
2627
declarations: [ColorPickerFormFieldComponent],
2728
exports: [ColorPickerFormFieldComponent]

packages/common/src/lib/entity/entity-table/entity-table.component.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -695,8 +695,8 @@ export class EntityTableComponent implements OnInit, OnChanges, OnDestroy {
695695
return selectionCount === 0
696696
? states.None
697697
: selectionCount === this.store.stateView.count
698-
? states.All
699-
: states.Some;
698+
? states.All
699+
: states.Some;
700700
}
701701

702702
/**

packages/common/src/lib/entity/entity-table/entity-table.module.ts

+3-1
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import { FormsModule, ReactiveFormsModule } from '@angular/forms';
44
import { MatAutocompleteModule } from '@angular/material/autocomplete';
55
import { MatButtonModule } from '@angular/material/button';
66
import { MatCheckboxModule } from '@angular/material/checkbox';
7+
import { MatNativeDateModule } from '@angular/material/core';
78
import { MatDatepickerModule } from '@angular/material/datepicker';
89
import { MatIconModule } from '@angular/material/icon';
910
import { MatInputModule } from '@angular/material/input';
@@ -45,7 +46,8 @@ import { EntityTableComponent } from './entity-table.component';
4546
ReactiveFormsModule,
4647
MatInputModule,
4748
MatDatepickerModule,
48-
MatTooltipModule
49+
MatTooltipModule,
50+
MatNativeDateModule
4951
],
5052
exports: [EntityTableComponent],
5153
declarations: [EntityTableComponent, EntityTableRowDirective]

packages/common/src/lib/interactive-tour/interactive-tour.service.ts

+4-4
Original file line numberDiff line numberDiff line change
@@ -313,10 +313,10 @@ export class InteractiveTourService {
313313
i === 0
314314
? 'first'
315315
: i + 1 === tourConfig.steps.length
316-
? 'last'
317-
: tourConfig.steps[i].noBackButton
318-
? 'noBackButton'
319-
: undefined
316+
? 'last'
317+
: tourConfig.steps[i].noBackButton
318+
? 'noBackButton'
319+
: undefined
320320
),
321321
classes: step.class,
322322
highlightClass: step.highlightClass,

packages/core/src/lib/core.module.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ const dbConfig: DBConfig = {
5050
IgoConfigModule.forRoot(),
5151
IgoErrorModule.forRoot(),
5252
provideRootTranslation(),
53-
IgoMessageModule.forRoot(),
53+
IgoMessageModule,
5454
NgxIndexedDBModule.forRoot(dbConfig)
5555
],
5656
declarations: [],
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
export * from './language.interface';
22
export * from './language.loader';
33
export * from './language.provider';
4+
export * from './language-mock.provider';
45
export * from './language.service';
56
export * from './missing-translation.guard';
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
import { ImportProvidersSource, Provider } from '@angular/core';
2+
3+
import { TranslateModule } from '@ngx-translate/core';
4+
5+
export function provideMockRootTranslation(
6+
loader?: Provider
7+
): ImportProvidersSource {
8+
return TranslateModule.forRoot();
9+
}

packages/core/src/lib/language/shared/language.provider.ts

-6
Original file line numberDiff line numberDiff line change
@@ -21,12 +21,6 @@ export function provideRootTranslation(
2121
return TranslateModule.forRoot(setTranslationConfig(loader));
2222
}
2323

24-
export function provideMockTranslation(
25-
loader?: Provider
26-
): ImportProvidersSource {
27-
return TranslateModule.forRoot();
28-
}
29-
3024
export const setTranslationConfig = (
3125
loader?: Provider
3226
): TranslateModuleConfig => ({
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
export * from './monitoring-mock';

packages/geo/src/lib/datasource/shared/datasource.service.ts

-2
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@ import { ObjectUtils } from '@igo2/utils';
77
import { BehaviorSubject, Observable, forkJoin, of } from 'rxjs';
88
import { catchError, map } from 'rxjs/operators';
99

10-
import { ProjectionService } from '../../map/shared/projection.service';
1110
import { CapabilitiesService } from './capabilities.service';
1211
import {
1312
AnyDataSourceOptions,
@@ -55,7 +54,6 @@ export class DataSourceService {
5554
private wfsDataSourceService: WFSService,
5655
private languageService: LanguageService,
5756
private messageService: MessageService,
58-
private projectionService: ProjectionService,
5957
private authInterceptor?: AuthInterceptor
6058
) {}
6159

packages/geo/src/lib/directions/directions.module.ts

+3-1
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ import { MatTooltipModule } from '@angular/material/tooltip';
1616

1717
import { IgoLanguageModule } from '@igo2/core';
1818

19+
import { IgoSearchModule } from '../search/search.module';
1920
import { DirectionsButtonsComponent } from './directions-buttons/directions-buttons.component';
2021
import { DirectionsInputsComponent } from './directions-inputs/directions-inputs.component';
2122
import { DirectionsResultsComponent } from './directions-results/directions-results.component';
@@ -39,7 +40,8 @@ import { provideDirectionsSourceService } from './shared/directions-source.servi
3940
MatSlideToggleModule,
4041
MatTooltipModule,
4142
MatAutocompleteModule,
42-
IgoLanguageModule
43+
IgoLanguageModule,
44+
IgoSearchModule.forRoot()
4345
],
4446
exports: [
4547
DirectionsComponent,

packages/geo/src/lib/draw/draw/draw.module.ts

-4
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,6 @@ import { MatRadioModule } from '@angular/material/radio';
1515
import { MatSelectModule } from '@angular/material/select';
1616
import { MatSlideToggleModule } from '@angular/material/slide-toggle';
1717
import { MatTooltipModule } from '@angular/material/tooltip';
18-
import { BrowserModule } from '@angular/platform-browser';
19-
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
2018

2119
import { IgoEntityTableModule } from '@igo2/common';
2220
import { IgoLanguageModule } from '@igo2/core';
@@ -49,8 +47,6 @@ import { DrawComponent } from './draw.component';
4947
MatDialogModule,
5048
IgoLanguageModule,
5149
IgoEntityTableModule,
52-
BrowserModule,
53-
BrowserAnimationsModule,
5450
MatRadioModule,
5551
MatCheckboxModule
5652
],

projects/demo/src/app/app-routing.module.ts

-13
This file was deleted.

projects/demo/src/app/app.component.html

+32-56
Original file line numberDiff line numberDiff line change
@@ -18,62 +18,38 @@ <h5 class="mat-subtitle-1 m-b-0">{{ version.lib }}</h5>
1818
[fixedInViewport]="mobileQuery.matches"
1919
fixedTopGap="48"
2020
>
21-
<mat-nav-list>
22-
<a mat-list-item routerLink=".">Home</a>
23-
24-
<hr />
25-
26-
<a mat-list-item routerLink="activity">Activity</a>
27-
<a mat-list-item routerLink="config">Config</a>
28-
<a mat-list-item routerLink="language">Language</a>
29-
<a mat-list-item routerLink="media">Media</a>
30-
<a mat-list-item routerLink="message">Message</a>
31-
<a mat-list-item routerLink="monitoring">Monitoring</a>
32-
<a mat-list-item routerLink="request">Request</a>
33-
<a mat-list-item routerLink="theme">Themes</a>
34-
35-
<hr />
36-
37-
<a mat-list-item routerLink="auth-form">Authentification</a>
38-
39-
<hr />
40-
41-
<a mat-list-item routerLink="action">Action</a>
42-
<a mat-list-item routerLink="dialog">Dialogs</a>
43-
<a mat-list-item routerLink="dynamic-component">Dynamic Component</a>
44-
<a mat-list-item routerLink="entity-table">Entity Table</a>
45-
<a mat-list-item routerLink="entity-selector">Entity Selector</a>
46-
<a mat-list-item routerLink="form">Form</a>
47-
<a mat-list-item routerLink="table">Table</a>
48-
<a mat-list-item routerLink="tool">Tool</a>
49-
<a mat-list-item routerLink="widget">Widget</a>
50-
51-
<hr />
52-
53-
<a mat-list-item routerLink="simple-map">Simple map</a>
54-
<a mat-list-item routerLink="layer">Layer</a>
55-
<a mat-list-item routerLink="legend">Legend</a>
56-
<a mat-list-item routerLink="overlay">Overlay</a>
57-
<a mat-list-item routerLink="geometry">Geometry</a>
58-
<a mat-list-item routerLink="feature">Feature</a>
59-
<a mat-list-item routerLink="hover">Hover</a>
60-
<a mat-list-item routerLink="measure">Measure</a>
61-
<a mat-list-item routerLink="draw">Draw</a>
62-
<a mat-list-item routerLink="query">Query</a>
63-
<a mat-list-item routerLink="catalog">Catalog</a>
64-
<a mat-list-item routerLink="search">Search</a>
65-
<a mat-list-item routerLink="print">Print</a>
66-
<a mat-list-item routerLink="import-export">Import/Export</a>
67-
<a mat-list-item routerLink="directions">Directions</a>
68-
<a mat-list-item routerLink="time-filter">Time filter</a>
69-
<a mat-list-item routerLink="ogc-filter">OGC filter</a>
70-
<a mat-list-item routerLink="spatial-filter">Spatial filter</a>
71-
<a mat-list-item routerLink="workspace">Workspace</a>
72-
73-
<hr />
74-
75-
<a mat-list-item routerLink="context">Context</a>
76-
</mat-nav-list>
21+
<mat-accordion displayMode="flat" multi>
22+
<ng-container *ngFor="let routeConfig of routesConfig">
23+
<ng-container *ngIf="!routeConfig.children; else routeWithChildren">
24+
<mat-nav-list>
25+
<a
26+
mat-list-item
27+
[routerLink]="routeConfig.path"
28+
class="p-h-24 m-t-8"
29+
>{{ routeConfig.title }}</a
30+
>
31+
</mat-nav-list>
32+
<mat-divider></mat-divider>
33+
</ng-container>
34+
<ng-template #routeWithChildren>
35+
<mat-expansion-panel expanded>
36+
<mat-expansion-panel-header>
37+
<mat-panel-title> {{ routeConfig.title }} </mat-panel-title>
38+
</mat-expansion-panel-header>
39+
<mat-nav-list>
40+
<a
41+
*ngFor="let route of routeConfig.children"
42+
mat-list-item
43+
[routerLink]="routeConfig.path + '/' + route.path"
44+
>{{ route.title }}</a
45+
>
46+
</mat-nav-list>
47+
</mat-expansion-panel>
48+
49+
<mat-divider></mat-divider>
50+
</ng-template>
51+
</ng-container>
52+
</mat-accordion>
7753
</mat-sidenav>
7854

7955
<mat-sidenav-content>

projects/demo/src/app/app.component.scss

+17
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,23 @@
1717
margin: 0;
1818
}
1919
}
20+
mat-panel-title {
21+
font-size: 14px;
22+
}
23+
24+
mat-nav-list {
25+
padding: 0;
26+
}
27+
28+
mat-expansion-panel {
29+
box-shadow: unset !important;
30+
31+
::ng-deep {
32+
.mat-expansion-panel-body {
33+
padding: 0 8px 16px;
34+
}
35+
}
36+
}
2037

2138
.example-is-mobile .example-toolbar {
2239
position: fixed;

projects/demo/src/app/app.component.spec.ts

+5-5
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ import { AppComponent } from './app.component';
1616
describe('AppComponent', () => {
1717
beforeEach(waitForAsync(() => {
1818
TestBed.configureTestingModule({
19-
imports: [
19+
imports: [
2020
RouterTestingModule,
2121
NoopAnimationsModule,
2222
MatCardModule,
@@ -26,10 +26,10 @@ describe('AppComponent', () => {
2626
MatSidenavModule,
2727
MatListModule,
2828
MatIconTestingModule,
29-
IgoAuthModule
30-
],
31-
declarations: [AppComponent]
32-
}).compileComponents();
29+
IgoAuthModule,
30+
AppComponent
31+
]
32+
}).compileComponents();
3333
}));
3434
it('should create the app', waitForAsync(() => {
3535
const fixture = TestBed.createComponent(AppComponent);

0 commit comments

Comments
 (0)