From e25e834656d482499a283ac98bb305d8803d3106 Mon Sep 17 00:00:00 2001 From: Sivaranjani Rajasekaran Date: Fri, 24 Apr 2026 12:29:29 +0530 Subject: [PATCH 1/2] chore: prepare project for Angular 21 upgrade --- WebApiAdaptor.Client/package.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/WebApiAdaptor.Client/package.json b/WebApiAdaptor.Client/package.json index 66d3f69..2d882d0 100644 --- a/WebApiAdaptor.Client/package.json +++ b/WebApiAdaptor.Client/package.json @@ -21,8 +21,8 @@ "@angular/platform-browser": "^17.2.0", "@angular/platform-browser-dynamic": "^17.2.0", "@angular/router": "^17.2.0", - "@syncfusion/ej2-angular-grids": "^25.1.35", - "@syncfusion/ej2-data": "^25.1.35", + "@syncfusion/ej2-angular-grids": "*", + "@syncfusion/ej2-data": "*", "jest-editor-support": "*", "run-script-os": "*", "rxjs": "~7.8.0", From 3cddc8a4b65a3ed44dc1892fd04bc077457e92b6 Mon Sep 17 00:00:00 2001 From: Sivaranjani Rajasekaran Date: Fri, 24 Apr 2026 14:05:16 +0530 Subject: [PATCH 2/2] Documentation(1023562): Update sample to latest --- WebApiAdaptor.Client/angular.json | 11 +++++--- WebApiAdaptor.Client/package.json | 26 +++++++++---------- WebApiAdaptor.Client/src/app/app.component.ts | 11 +++++--- WebApiAdaptor.Client/src/app/app.config.ts | 9 +++++++ WebApiAdaptor.Client/src/app/app.module.ts | 21 --------------- WebApiAdaptor.Client/src/main.ts | 11 ++++---- WebApiAdaptor.Client/src/styles.css | 18 ++++++------- 7 files changed, 51 insertions(+), 56 deletions(-) create mode 100644 WebApiAdaptor.Client/src/app/app.config.ts delete mode 100644 WebApiAdaptor.Client/src/app/app.module.ts diff --git a/WebApiAdaptor.Client/angular.json b/WebApiAdaptor.Client/angular.json index dd525f3..b81f617 100644 --- a/WebApiAdaptor.Client/angular.json +++ b/WebApiAdaptor.Client/angular.json @@ -21,7 +21,7 @@ "prefix": "app", "architect": { "build": { - "builder": "@angular-devkit/build-angular:application", + "builder": "@angular/build:application", "options": { "outputPath": "dist/webapiadaptor.client", "index": "src/index.html", @@ -64,7 +64,7 @@ "defaultConfiguration": "production" }, "serve": { - "builder": "@angular-devkit/build-angular:dev-server", + "builder": "@angular/build:dev-server", "configurations": { "production": { "buildTarget": "webapiadaptor.client:build:production" @@ -79,13 +79,13 @@ } }, "extract-i18n": { - "builder": "@angular-devkit/build-angular:extract-i18n", + "builder": "@angular/build:extract-i18n", "options": { "buildTarget": "webapiadaptor.client:build" } }, "test": { - "builder": "@angular-devkit/build-angular:karma", + "builder": "@angular/build:dev-server", "options": { "polyfills": [ "zone.js", @@ -105,5 +105,8 @@ } } } + }, + "cli": { + "analytics": "ad68dbff-bb62-41ba-934f-bcd1b8e70f47" } } \ No newline at end of file diff --git a/WebApiAdaptor.Client/package.json b/WebApiAdaptor.Client/package.json index 2d882d0..5bd7b03 100644 --- a/WebApiAdaptor.Client/package.json +++ b/WebApiAdaptor.Client/package.json @@ -13,26 +13,26 @@ }, "private": true, "dependencies": { - "@angular/animations": "^17.2.0", - "@angular/common": "^17.2.0", - "@angular/compiler": "^17.2.0", - "@angular/core": "^17.2.0", - "@angular/forms": "^17.2.0", - "@angular/platform-browser": "^17.2.0", - "@angular/platform-browser-dynamic": "^17.2.0", - "@angular/router": "^17.2.0", + "@angular/animations": "^20.0.0", + "@angular/common": "^20.0.0", + "@angular/compiler": "^20.0.0", + "@angular/core": "^20.0.0", + "@angular/forms": "^20.0.0", + "@angular/platform-browser": "^20.0.0", + "@angular/platform-browser-dynamic": "^20.0.0", + "@angular/router": "^20.0.0", "@syncfusion/ej2-angular-grids": "*", "@syncfusion/ej2-data": "*", "jest-editor-support": "*", "run-script-os": "*", "rxjs": "~7.8.0", "tslib": "^2.3.0", - "zone.js": "~0.14.3" + "zone.js": "~0.15.0" }, "devDependencies": { - "@angular-devkit/build-angular": "^17.2.3", - "@angular/cli": "^17.2.3", - "@angular/compiler-cli": "^17.2.0", + "@angular/build": "^20.0.0", + "@angular/cli": "^20.0.0", + "@angular/compiler-cli": "^20.0.0", "@types/jasmine": "~5.1.0", "jasmine-core": "~5.1.0", "karma": "~6.4.0", @@ -40,6 +40,6 @@ "karma-coverage": "~2.2.0", "karma-jasmine": "~5.1.0", "karma-jasmine-html-reporter": "~2.1.0", - "typescript": "~5.3.2" + "typescript": "~5.8.2" } } diff --git a/WebApiAdaptor.Client/src/app/app.component.ts b/WebApiAdaptor.Client/src/app/app.component.ts index 39c5054..907bfb1 100644 --- a/WebApiAdaptor.Client/src/app/app.component.ts +++ b/WebApiAdaptor.Client/src/app/app.component.ts @@ -1,10 +1,15 @@ import { Component, ViewChild } from '@angular/core'; -import { GridComponent, ToolbarItems, EditSettingsModel } from '@syncfusion/ej2-angular-grids'; +import { GridComponent, ToolbarItems, EditSettingsModel, EditService, ToolbarService} from '@syncfusion/ej2-angular-grids'; import { DataManager, WebApiAdaptor } from '@syncfusion/ej2-data'; +import { GridModule, } from '@syncfusion/ej2-angular-grids'; @Component({ selector: 'app-root', - templateUrl: './app.component.html' + templateUrl: './app.component.html', + standalone: true, + imports: [GridModule], + providers: [EditService, ToolbarService, ] + }) export class AppComponent { @ViewChild('grid') @@ -15,7 +20,7 @@ export class AppComponent { ngOnInit(): void { this.data = new DataManager({ - url: 'https://localhost:7041/api/Orders', + url: 'http://localhost:5070/api/Orders', adaptor: new WebApiAdaptor(), crossDomain:true }); diff --git a/WebApiAdaptor.Client/src/app/app.config.ts b/WebApiAdaptor.Client/src/app/app.config.ts new file mode 100644 index 0000000..b956a9e --- /dev/null +++ b/WebApiAdaptor.Client/src/app/app.config.ts @@ -0,0 +1,9 @@ +import { ApplicationConfig, provideBrowserGlobalErrorListeners, provideZoneChangeDetection } from '@angular/core'; + +export const appConfig: ApplicationConfig = { + providers: [ + provideBrowserGlobalErrorListeners(), + provideZoneChangeDetection({ eventCoalescing: true }), + + ] +}; diff --git a/WebApiAdaptor.Client/src/app/app.module.ts b/WebApiAdaptor.Client/src/app/app.module.ts deleted file mode 100644 index 7bec6db..0000000 --- a/WebApiAdaptor.Client/src/app/app.module.ts +++ /dev/null @@ -1,21 +0,0 @@ -import { HttpClientModule } from '@angular/common/http'; -import { NgModule } from '@angular/core'; -import { BrowserModule } from '@angular/platform-browser'; - -import { AppRoutingModule } from './app-routing.module'; -import { AppComponent } from './app.component'; -import { EditService, FilterService, GridModule, PageService, SortService, ToolbarService } from '@syncfusion/ej2-angular-grids'; - -@NgModule({ - declarations: [ - AppComponent - ], - imports: [ - BrowserModule, HttpClientModule, - AppRoutingModule, - GridModule - ], - providers: [EditService, ToolbarService, SortService, FilterService, PageService], - bootstrap: [AppComponent] -}) -export class AppModule { } diff --git a/WebApiAdaptor.Client/src/main.ts b/WebApiAdaptor.Client/src/main.ts index c58dc05..c46dc16 100644 --- a/WebApiAdaptor.Client/src/main.ts +++ b/WebApiAdaptor.Client/src/main.ts @@ -1,7 +1,6 @@ -import { platformBrowserDynamic } from '@angular/platform-browser-dynamic'; +import { bootstrapApplication } from '@angular/platform-browser'; +import { appConfig } from './app/app.config'; +import { AppComponent } from './app/app.component'; -import { AppModule } from './app/app.module'; - - -platformBrowserDynamic().bootstrapModule(AppModule) - .catch(err => console.error(err)); +bootstrapApplication(AppComponent, appConfig) + .catch((err) => console.error(err)); \ No newline at end of file diff --git a/WebApiAdaptor.Client/src/styles.css b/WebApiAdaptor.Client/src/styles.css index 4b40253..c135683 100644 --- a/WebApiAdaptor.Client/src/styles.css +++ b/WebApiAdaptor.Client/src/styles.css @@ -1,10 +1,10 @@ /* You can add global styles to this file, and also import other style files */ -@import '../node_modules/@syncfusion/ej2-base/styles/material.css'; -@import '../node_modules/@syncfusion/ej2-buttons/styles/material.css'; -@import '../node_modules/@syncfusion/ej2-calendars/styles/material.css'; -@import '../node_modules/@syncfusion/ej2-dropdowns/styles/material.css'; -@import '../node_modules/@syncfusion/ej2-inputs/styles/material.css'; -@import '../node_modules/@syncfusion/ej2-navigations/styles/material.css'; -@import '../node_modules/@syncfusion/ej2-popups/styles/material.css'; -@import '../node_modules/@syncfusion/ej2-splitbuttons/styles/material.css'; -@import '../node_modules/@syncfusion/ej2-angular-grids/styles/material.css'; +@import '../node_modules/@syncfusion/ej2-base/styles/material3.css'; +@import '../node_modules/@syncfusion/ej2-buttons/styles/material3.css'; +@import '../node_modules/@syncfusion/ej2-calendars/styles/material3.css'; +@import '../node_modules/@syncfusion/ej2-dropdowns/styles/material3.css'; +@import '../node_modules/@syncfusion/ej2-inputs/styles/material3.css'; +@import '../node_modules/@syncfusion/ej2-navigations/styles/material3.css'; +@import '../node_modules/@syncfusion/ej2-popups/styles/material3.css'; +@import '../node_modules/@syncfusion/ej2-splitbuttons/styles/material3.css'; +@import '../node_modules/@syncfusion/ej2-angular-grids/styles/material3.css';