Add ASP.NET Core & General Overhaul#3
Open
arman-boyakhchyan wants to merge 12 commits into
Open
Conversation
There was a problem hiding this comment.
Pull request overview
This PR adds a new ASP.NET Core TreeList demo alongside a cross-framework UI/config overhaul (theme switch to Fluent, consistent sizing/scrolling/paging) across Vue/React/Angular/jQuery samples.
Changes:
- Added a new ASP.NET Core project that serves a DevExtreme TreeList backed by MVC controller actions and in-memory data.
- Updated Vue/React/Angular/jQuery demos to use the Fluent theme, set fixed TreeList height, enable standard scrolling, and align paging defaults.
- Refactored some TypeScript types (e.g., moving
Employeeinterfaces into service modules and removing shared type files).
Reviewed changes
Copilot reviewed 37 out of 41 changed files in this pull request and generated 14 comments.
Show a summary per file
| File | Description |
|---|---|
| Vue/src/types.ts | Removed shared Vue types module (types moved/updated elsewhere). |
| Vue/src/employeesService.ts | Exports Employee interface from the service module. |
| Vue/src/components/HomeContent.vue | Theme update, TreeList config updates (height/paging/scrolling), drag/drop refresh logic, styling tweaks. |
| Vue/src/assets/main.css | Fixes container sizing by switching from vh width to vw. |
| React/src/App.tsx | Theme update, adds scrolling/height updates, drag/drop refresh behavior. |
| React/src/App.css | Simplifies layout styles and changes selected-employee positioning. |
| React/index.html | Adds dx-viewport class for DevExtreme theme/layout behavior. |
| jQuery/src/index.js | Adds TreeList height and standard scrolling settings. |
| jQuery/src/index.html | Switches to Fluent theme stylesheet. |
| jQuery/src/index.css | Simplifies layout styles and changes selected-employee positioning. |
| jQuery/package.json | Adds Vite to devDependencies and updates scripts for local running/linting. |
| jQuery/package-lock.json | Lockfile updates for the new toolchain dependency set. |
| ASP.NET Core/wwwroot/css/Site.css | Adds site styling for demo container and selected-employee label. |
| ASP.NET Core/Views/Shared/Error.cshtml | Adds basic error view content. |
| ASP.NET Core/Views/Shared/_Layout.cshtml | Adds layout with bundled vendor assets and dx-viewport. |
| ASP.NET Core/Views/Home/Index.cshtml | Adds Razor TreeList configuration and client handlers for selection/drag-reorder. |
| ASP.NET Core/Views/_ViewStart.cshtml | Configures default layout. |
| ASP.NET Core/Views/_ViewImports.cshtml | Adds namespaces and tag helpers for views. |
| ASP.NET Core/Readme.md | Adds ASP.NET Core build/run instructions and links. |
| ASP.NET Core/Program.cs | Adds minimal ASP.NET Core startup and routing configuration. |
| ASP.NET Core/package.json | Adds npm deps + gulp tooling for bundling DevExtreme assets. |
| ASP.NET Core/Models/EmployeeData.cs | Adds in-memory employee dataset used by the MVC endpoints. |
| ASP.NET Core/Models/Employee.cs | Adds the Employee model used by TreeList and controller actions. |
| ASP.NET Core/gulpfile.js | Adds gulp pipeline to bundle vendor JS/CSS/fonts/icons into wwwroot. |
| ASP.NET Core/Controllers/HomeController.cs | Adds Index and Error endpoints for the demo. |
| ASP.NET Core/Controllers/EmployeeDataController.cs | Adds CRUD + reorder endpoints and JSON population logic. |
| ASP.NET Core/ASP.NET Core.sln | Adds Visual Studio solution for the ASP.NET Core sample. |
| ASP.NET Core/ASP.NET Core.csproj | Adds .NET 8 web project and build targets to install npm deps and run gulp. |
| ASP.NET Core/appsettings.json | Adds base ASP.NET Core configuration. |
| ASP.NET Core/appsettings.Development.json | Adds development logging configuration. |
| ASP.NET Core/.editorconfig | Adds C# coding conventions and formatting rules for the ASP.NET Core sample. |
| Angular/src/index.html | Adds dx-viewport class for DevExtreme theme/layout behavior. |
| Angular/src/app/employees.service.ts | Moves Employee interface into the service and provides in-memory employee data. |
| Angular/src/app/app.types.ts | Removes shared Angular types module (types moved/updated elsewhere). |
| Angular/src/app/app.component.ts | Updates imports/types and keeps TreeList handlers aligned with new structure. |
| Angular/src/app/app.component.scss | Simplifies layout styles and changes selected-employee positioning. |
| Angular/src/app/app.component.html | Updates TreeList markup (nested option components) and TreeList config (height/paging/scrolling). |
| Angular/package-lock.json | Lockfile updates (notably optional dependency metadata changes). |
| Angular/angular.json | Switches Angular demo to Fluent theme stylesheet. |
| .gitignore | Updates ignore patterns to better handle generated ASP.NET wwwroot assets. |
Files not reviewed (2)
- Angular/package-lock.json: Generated file
- jQuery/package-lock.json: Generated file
Comments suppressed due to low confidence (3)
Vue/src/components/HomeContent.vue:43
visibleRows[e.toIndex]can be undefined (e.g., when dragging beyond the rendered range), which would throw when accessing.node. Add a guard for the target row before readingnode.
Angular/src/app/app.component.ts:43visibleRows[e.toIndex]can be undefined, which would throw when accessing.node. Add a guard for the target row before readingnode.
onDragChange(e: any): void {
const visibleRows = e.component.getVisibleRows();
const sourceNode = e.component.getNodeByKey(e.itemData.ID);
let targetNode = visibleRows[e.toIndex].node;
Angular/src/app/app.component.ts:61
onReorderreadsvisibleRows[e.toIndex].datawithout checking that the row exists. IftoIndexis out of bounds, this will throw. Guard the target row access first.
onReorder(e: any): void {
const visibleRows = e.component.getVisibleRows();
const sourceData = e.itemData;
const targetData = visibleRows[e.toIndex].data;
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Co-authored-by: Mark Allen Ramirez <allen.ramirez@devsoft.ph>
Comment on lines
+13
to
+14
| @* Uncomment to use the HtmlEditor control *@ | ||
| @* <script src="https://unpkg.com/devextreme-quill/dist/dx-quill.min.js"></script> *@ |
Contributor
There was a problem hiding this comment.
looks like not needed in this example. optional to remove
Co-authored-by: Mark Allen Ramirez <allen.ramirez@devsoft.ph>
markallenramirez
approved these changes
Jul 13, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.