Skip to content

Commit 1b22690

Browse files
demos: restore theme switcher in local demo server (#33221)
1 parent 6583ca9 commit 1b22690

3 files changed

Lines changed: 15 additions & 8 deletions

File tree

apps/demos/index.html

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<!DOCTYPE html>
22
<html>
33
<head>
4-
<link rel="stylesheet" type="text/css" href="node_modules/devextreme-dist/css/dx.dark.css" />
4+
<link rel="stylesheet" type="text/css" href="node_modules/devextreme-dist/css/dx.fluent.blue.dark.css" />
55
<script src="node_modules/devextreme-dist/js/dx.all.js"></script>
66
<style>
77
body,
@@ -72,7 +72,7 @@
7272

7373
const processLink = () => {
7474
if (window.location.hash === "") {
75-
window.location.hash = "#Demos/DataGrid/Overview/jQuery/dx.light.css";
75+
window.location.hash = "#Demos/DataGrid/Overview/jQuery/dx.fluent.blue.light.css";
7676
}
7777

7878
const pathParts = window.location.hash

apps/demos/utils/shell/server.js

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,15 +8,18 @@ const open = require('open');
88
const { join, normalize } = require('path');
99
const { readFileSync, readdirSync } = require('fs');
1010

11-
const root = join(__dirname, '..', '..', '..', '..');
11+
const root = join(__dirname, '..', '..');
1212
const indexFileName = 'index.html';
13-
const cssDirectory = join(root, 'node_modules', 'devextreme', 'dist', 'css');
13+
const cssDirectory = join(root, 'node_modules', 'devextreme-dist', 'css');
1414
const getAvailableThemes = readdirSync(cssDirectory).filter((f) => /^dx\.(?!common).*\.css$/i.test(f));
1515
const baseTheme = 'dx.light.css';
16-
const port = process.argv[2] ?? 3000;
16+
const portArgument = process.argv.slice(2).findLast((argument) => argument !== '--');
17+
const port = Number(portArgument) || 8080;
18+
19+
const getDemoPath = (requestPath) => requestPath.replace(/^\/apps\/demos(?=\/|$)/, '');
1720

1821
const demoIndexHandler = (request, response) => {
19-
const parts = request.path.split('/');
22+
const parts = getDemoPath(request.path).split('/');
2023

2124
parts.unshift(root);
2225

@@ -39,8 +42,12 @@ const demoIndexHandler = (request, response) => {
3942
const app = express();
4043
app.use(cookieParser());
4144

45+
app.get('/apps/demos', (request, response) => response.redirect('/'));
46+
app.get(`/apps/demos/${indexFileName}`, (request, response) => response.redirect('/'));
4247
app.get('/Demos/:widget/:name/:approach', demoIndexHandler);
4348
app.get(`/Demos/:widget/:name/:approach/${indexFileName}`, demoIndexHandler);
49+
app.get('/apps/demos/Demos/:widget/:name/:approach', demoIndexHandler);
50+
app.get(`/apps/demos/Demos/:widget/:name/:approach/${indexFileName}`, demoIndexHandler);
4451
app.get('/themes', (request, response) => response.send(getAvailableThemes));
4552
app.use(
4653
serveStatic(root, { index: [indexFileName] }),
@@ -49,4 +56,4 @@ app.use(
4956

5057
app.listen(port);
5158

52-
open(`http://localhost:${port}/apps/demos`);
59+
open(`http://localhost:${port}/`);

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
"all:build-dev": "pnpm run all:build --dev",
2323
"all:pack-and-copy": "nx run-many -t pack-and-copy",
2424
"demos:prepare": "nx run devextreme-demos:prepare-js",
25-
"demos:start": "http-server ./apps/demos --port 8080 -c-1"
25+
"demos:start": "node apps/demos/utils/shell/server.js"
2626
},
2727
"nx": {},
2828
"private": true,

0 commit comments

Comments
 (0)