Web UI: Strict html index fallback. Fix scadaSymbolResolver -> api handle error and navigate to scada symbols.
This commit is contained in:
parent
5f0af1de15
commit
4f0801ecb0
@ -23,6 +23,7 @@ import httpProxy from 'http-proxy';
|
||||
import compression from 'compression';
|
||||
import historyApiFallback from 'connect-history-api-fallback';
|
||||
import { Socket } from 'net';
|
||||
import { RequestHandler } from 'serve-static';
|
||||
|
||||
const logger = _logger('main');
|
||||
|
||||
@ -101,10 +102,17 @@ let connections: Socket[] = [];
|
||||
|
||||
const staticServe = express.static(root);
|
||||
|
||||
const indexHtmlFallback: RequestHandler<any> = (req, res, next) => {
|
||||
res.sendFile(path.join(root, 'index.html'));
|
||||
};
|
||||
|
||||
app.use(staticServe);
|
||||
app.use((req, res, next) => {
|
||||
res.sendFile(path.join(root, 'index.html'));
|
||||
});
|
||||
|
||||
const indexHtmlFallbackPaths = [
|
||||
/^\/resources\/scada-symbols\/(?:system|tenant)\/[^/]+$/
|
||||
];
|
||||
|
||||
app.use(indexHtmlFallbackPaths, indexHtmlFallback);
|
||||
|
||||
server.listen(bindPort, bindAddress, () => {
|
||||
logger.info('==> 🌎 Listening on port %s.', bindPort);
|
||||
|
||||
@ -15,14 +15,22 @@
|
||||
///
|
||||
|
||||
import { inject, NgModule } from '@angular/core';
|
||||
import { ActivatedRouteSnapshot, Resolve, ResolveFn, RouterModule, RouterStateSnapshot, Routes } from '@angular/router';
|
||||
import {
|
||||
ActivatedRouteSnapshot,
|
||||
Resolve,
|
||||
ResolveFn,
|
||||
Router,
|
||||
RouterModule,
|
||||
RouterStateSnapshot,
|
||||
Routes
|
||||
} from '@angular/router';
|
||||
|
||||
import { MailServerComponent } from '@modules/home/pages/admin/mail-server.component';
|
||||
import { ConfirmOnExitGuard } from '@core/guards/confirm-on-exit.guard';
|
||||
import { Authority } from '@shared/models/authority.enum';
|
||||
import { GeneralSettingsComponent } from '@modules/home/pages/admin/general-settings.component';
|
||||
import { SecuritySettingsComponent } from '@modules/home/pages/admin/security-settings.component';
|
||||
import { forkJoin } from 'rxjs';
|
||||
import { forkJoin, of } from 'rxjs';
|
||||
import { SmsProviderComponent } from '@home/pages/admin/sms-provider.component';
|
||||
import { HomeSettingsComponent } from '@home/pages/admin/home-settings.component';
|
||||
import { EntitiesTableComponent } from '@home/components/entity/entities-table.component';
|
||||
@ -45,17 +53,24 @@ import { ScadaSymbolComponent } from '@home/pages/scada-symbol/scada-symbol.comp
|
||||
import { ImageService } from '@core/http/image.service';
|
||||
import { ScadaSymbolData } from '@home/pages/scada-symbol/scada-symbol-editor.models';
|
||||
import { MenuId } from '@core/services/menu.models';
|
||||
import { catchError } from 'rxjs/operators';
|
||||
|
||||
export const scadaSymbolResolver: ResolveFn<ScadaSymbolData> =
|
||||
(route: ActivatedRouteSnapshot,
|
||||
state: RouterStateSnapshot,
|
||||
router = inject(Router),
|
||||
imageService = inject(ImageService)) => {
|
||||
const type: ImageResourceType = route.params.type;
|
||||
const key = decodeURIComponent(route.params.key);
|
||||
return forkJoin({
|
||||
imageResource: imageService.getImageInfo(type, key),
|
||||
scadaSymbolContent: imageService.getImageString(`${IMAGES_URL_PREFIX}/${type}/${encodeURIComponent(key)}`)
|
||||
});
|
||||
}).pipe(
|
||||
catchError(() => {
|
||||
router.navigate(['/resources/scada-symbols']);
|
||||
return of(null);
|
||||
})
|
||||
);
|
||||
};
|
||||
|
||||
export const scadaSymbolBreadcumbLabelFunction: BreadCrumbLabelFunction<ScadaSymbolComponent>
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user