Skip to content

Commit 5dafacc

Browse files
committed
Documentation(1023562): Update package
1 parent 9adaa2d commit 5dafacc

10 files changed

Lines changed: 118 additions & 76 deletions

angular.json

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -58,18 +58,18 @@
5858
"serve": {
5959
"builder": "@angular-devkit/build-angular:dev-server",
6060
"options": {
61-
"browserTarget": "editing:build"
61+
"buildTarget": "editing:build"
6262
},
6363
"configurations": {
6464
"production": {
65-
"browserTarget": "editing:build:production"
65+
"buildTarget": "editing:build:production"
6666
}
6767
}
6868
},
6969
"extract-i18n": {
7070
"builder": "@angular-devkit/build-angular:extract-i18n",
7171
"options": {
72-
"browserTarget": "editing:build"
72+
"buildTarget": "editing:build"
7373
}
7474
},
7575
"test": {
@@ -133,5 +133,8 @@
133133
}
134134
}
135135
},
136-
"defaultProject": "editing"
136+
"defaultProject": "editing",
137+
"cli": {
138+
"analytics": "18303077-2711-4d0d-984a-85cfd50dc53b"
139+
}
137140
}

package.json

Lines changed: 28 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -11,40 +11,36 @@
1111
},
1212
"private": true,
1313
"dependencies": {
14-
"@angular/animations": "^11.2.19",
15-
"@angular/common": "^11.2.19",
16-
"@angular/compiler": "^11.2.19",
17-
"@angular/core": "^11.2.19",
18-
"@angular/forms": "^11.2.19",
19-
"@angular/platform-browser": "^11.2.19",
20-
"@angular/platform-browser-dynamic": "^11.2.19",
21-
"@angular/router": "^11.2.19",
22-
"@syncfusion/ej2-angular-treegrid": "^17.3.27",
23-
"@syncfusion/ej2-material-theme": "~17.2.48",
24-
"core-js": "^2.6.10",
25-
"rxjs": "~6.6.7",
26-
"zone.js": "~0.10.3"
14+
"@angular/animations": "^20.0.0",
15+
"@angular/common": "^20.0.0",
16+
"@angular/compiler": "^20.0.0",
17+
"@angular/core": "^20.0.0",
18+
"@angular/forms": "^20.0.0",
19+
"@angular/platform-browser": "^20.0.0",
20+
"@angular/platform-browser-dynamic": "^20.0.0",
21+
"@angular/router": "^20.0.0",
22+
"@syncfusion/ej2-angular-treegrid": "*",
23+
"@syncfusion/ej2-material-theme": "*",
24+
"angular-in-memory-web-api": "^0.18.0",
25+
"core-js": "^3.0.0",
26+
"rxjs": "~7.8.0",
27+
"tslib": "^2.3.0",
28+
"zone.js": "~0.15.0"
2729
},
2830
"devDependencies": {
29-
"@angular-devkit/build-angular": "~0.1102.19",
30-
"@angular/cli": "~11.2.19",
31-
"@angular/compiler-cli": "^11.2.19",
32-
"@angular/language-service": "^11.2.19",
33-
"@types/jasmine": "~3.8.0",
34-
"@types/jasminewd2": "^2.0.8",
35-
"@types/node": "~12.11.1",
36-
"angular-in-memory-web-api": "^0.11.0",
37-
"codelyzer": "~6.0.0",
38-
"jasmine-core": "~3.8.0",
31+
"@angular-devkit/build-angular": "^20.3.24",
32+
"@angular/cli": "^20.0.0",
33+
"@angular/compiler-cli": "^20.0.0",
34+
"@angular/language-service": "^20.0.0",
35+
"@types/jasmine": "~5.1.0",
36+
"@types/node": "^22.0.0",
37+
"jasmine-core": "~5.1.0",
3938
"jasmine-spec-reporter": "~5.0.0",
40-
"karma": "~6.3.16",
41-
"karma-chrome-launcher": "~3.1.0",
42-
"karma-coverage-istanbul-reporter": "~3.0.2",
43-
"karma-jasmine": "~4.0.0",
44-
"karma-jasmine-html-reporter": "^1.5.0",
45-
"protractor": "~7.0.0",
46-
"ts-node": "~9.0.0",
47-
"tslint": "~6.1.0",
48-
"typescript": "~4.0.3"
39+
"karma": "~6.4.0",
40+
"karma-chrome-launcher": "~3.2.0",
41+
"karma-coverage": "~2.2.0",
42+
"karma-jasmine": "~5.1.0",
43+
"karma-jasmine-html-reporter": "~2.1.0",
44+
"typescript": "~5.8.2"
4945
}
5046
}

src/app/app.component.ts

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,26 @@
11
import { Component, OnInit } from "@angular/core";
2+
import { CommonModule } from "@angular/common";
23
import {
34
EditSettingsModel,
4-
DataStateChangeEventArgs
5+
DataStateChangeEventArgs,
6+
TreeGridModule,
7+
EditService,
8+
ToolbarService
59
} from "@syncfusion/ej2-angular-treegrid";
610
import { Observable } from "rxjs";
711
import { TaskStoreService } from "./task-store.service";
812

913
@Component({
1014
selector: "app-root",
1115
templateUrl: "./app.component.html",
12-
styleUrls: ["./app.component.css"]
16+
styleUrls: ["./app.component.css"],
17+
standalone: true,
18+
imports: [CommonModule, TreeGridModule],
19+
providers: [TaskStoreService, EditService, ToolbarService]
1320
})
1421
export class AppComponent implements OnInit {
15-
public editSettings: EditSettingsModel;
16-
public toolbar: String[];
22+
public editSettings!: EditSettingsModel;
23+
public toolbar!: String[];
1724

1825
public tasks: Observable<DataStateChangeEventArgs>;
1926

src/app/app.module.ts

Lines changed: 0 additions & 25 deletions
This file was deleted.

src/app/task-data.service.spec.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ describe('TaskDataService', () => {
66
beforeEach(() => TestBed.configureTestingModule({}));
77

88
it('should be created', () => {
9-
const service: TaskDataService = TestBed.get(TaskDataService);
9+
const service: TaskDataService = TestBed.inject(TaskDataService);
1010
expect(service).toBeTruthy();
1111
});
1212
});

src/app/task-data.service.ts

Lines changed: 51 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,13 @@
11
import { Injectable } from "@angular/core";
2-
import { InMemoryDbService } from "angular-in-memory-web-api";
2+
import { InMemoryDbService, RequestInfo } from "angular-in-memory-web-api";
33
import { TaskModel } from "./task-model";
44

55
@Injectable({
66
providedIn: "root"
77
})
88
export class TaskDataService implements InMemoryDbService {
9+
private db: { tasks: TaskModel[] } | null = null;
10+
911
constructor() {}
1012

1113
createDb() {
@@ -111,6 +113,53 @@ export class TaskDataService implements InMemoryDbService {
111113
isParent: false
112114
}
113115
];
114-
return { tasks };
116+
117+
if (!this.db) {
118+
this.db = { tasks };
119+
}
120+
return this.db;
121+
}
122+
123+
// Handle POST requests (Create)
124+
post(reqInfo: RequestInfo) {
125+
if (reqInfo.collection === 'tasks') {
126+
const newTask = reqInfo.utils.getJsonBody(reqInfo.req);
127+
const db = this.createDb();
128+
const maxId = db.tasks.reduce((max, task) => Math.max(max, task.id as number), 0);
129+
newTask.id = maxId + 1;
130+
db.tasks.push(newTask);
131+
return reqInfo.utils.createResponse$(() => ({ status: 200, body: newTask }));
132+
}
133+
return undefined;
134+
}
135+
136+
// Handle PUT requests (Update)
137+
put(reqInfo: RequestInfo) {
138+
if (reqInfo.collection === 'tasks') {
139+
const db = this.createDb();
140+
const id = reqInfo.id;
141+
const updatedTask = reqInfo.utils.getJsonBody(reqInfo.req);
142+
const index = db.tasks.findIndex(t => t.id === id);
143+
if (index > -1) {
144+
db.tasks[index] = { ...db.tasks[index], ...updatedTask };
145+
}
146+
return reqInfo.utils.createResponse$(() => ({ status: 200, body: db.tasks[index] }));
147+
}
148+
return undefined;
149+
}
150+
151+
// Handle DELETE requests
152+
delete(reqInfo: RequestInfo) {
153+
if (reqInfo.collection === 'tasks') {
154+
const db = this.createDb();
155+
const id = reqInfo.id;
156+
const index = db.tasks.findIndex(t => t.id === id);
157+
if (index > -1) {
158+
const deletedTask = db.tasks[index];
159+
db.tasks.splice(index, 1);
160+
return reqInfo.utils.createResponse$(() => ({ status: 200, body: deletedTask }));
161+
}
162+
}
163+
return undefined;
115164
}
116165
}

src/app/task-store.service.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,8 +30,8 @@ export class TaskStoreService extends Subject<DataStateChangeEventArgs> {
3030
(response: any) =>
3131
<any>{
3232
result:
33-
state.take > 0
34-
? response.slice(state.skip, state.take)
33+
state && state.take > 0
34+
? response.slice(state.skip, state.skip + state.take)
3535
: response,
3636
count: response.length
3737
}

src/index.html

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77

88
<meta name="viewport" content="width=device-width, initial-scale=1">
99
<link rel="icon" type="image/x-icon" href="favicon.ico">
10+
<script src="https://cdn.syncfusion.com/ej2/syncfusion-helper.js" type ="text/javascript"></script>
1011
</head>
1112
<body>
1213
<app-root></app-root>

src/main.ts

Lines changed: 16 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,23 @@
1-
import { enableProdMode } from '@angular/core';
2-
import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
1+
import { enableProdMode, importProvidersFrom } from '@angular/core';
2+
import { bootstrapApplication } from '@angular/platform-browser';
3+
import { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http';
34

4-
import { AppModule } from './app/app.module';
5+
import { AppComponent } from './app/app.component';
56
import { environment } from './environments/environment';
7+
import { HttpClientInMemoryWebApiModule, InMemoryBackendConfig } from 'angular-in-memory-web-api';
8+
import { TaskDataService } from './app/task-data.service';
69

710
if (environment.production) {
811
enableProdMode();
912
}
1013

11-
platformBrowserDynamic().bootstrapModule(AppModule)
12-
.catch(err => console.error(err));
14+
const inMemoryApiConfig: InMemoryBackendConfig = {
15+
dataEncapsulation: false
16+
};
17+
18+
bootstrapApplication(AppComponent, {
19+
providers: [
20+
provideHttpClient(withInterceptorsFromDi()),
21+
importProvidersFrom(HttpClientInMemoryWebApiModule.forRoot(TaskDataService, inMemoryApiConfig))
22+
]
23+
}).catch(err => console.error(err));

src/polyfills.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@
7272
/***************************************************************************************************
7373
* Zone JS is required by default for Angular itself.
7474
*/
75-
import 'zone.js/dist/zone'; // Included with Angular CLI.
75+
import 'zone.js'; // Included with Angular CLI.
7676

7777

7878
/***************************************************************************************************

0 commit comments

Comments
 (0)