Compare commits

...

5 Commits

Author SHA1 Message Date
1a49bec3d4 Release v2.2.53 2025-01-21 11:37:59 +10:00
64f9631946 Fix use of FileUploader 2025-01-21 11:37:22 +10:00
84169a2c1e Add missing checkImageFromVersion() for IOS and IOU
Some checks are pending
Build / build (push) Waiting to run
2025-01-20 16:46:26 +10:00
2a9ced5cbd Allow ':' in project names. Fixes https://github.com/GNS3/gns3-gui/issues/3686 2025-01-20 13:39:04 +10:00
ee5b88e19a Backport: fix interface labels are not persistant
Some checks failed
Build / build (push) Has been cancelled
2024-12-23 16:05:05 +07:00
5 changed files with 34 additions and 11 deletions

View File

@ -1,6 +1,6 @@
{
"name": "gns3-web-ui",
"version": "2.2.53.dev1",
"version": "2.2.53",
"author": {
"name": "GNS3 Technology Inc.",
"email": "developers@gns3.com"

View File

@ -170,7 +170,7 @@
</mat-select>
</div>
<div>
Install required files
Install the required files
<button
mat-icon-button
matTooltip="Refresh list of images"
@ -441,7 +441,7 @@
</mat-radio-group>
</div>
<div>
Install required files
Install the required images
<button
mat-icon-button
matTooltip="Refresh list of images"
@ -453,10 +453,16 @@
<mat-list>
<mat-list-item *ngFor="let image of applianceToInstall.images">
<div class="list-item">
<div>
<span>
{{ image.filename }}
</div>
</span>
<div>
<span *ngIf="checkImageFromVersion(image.filename)">
<mat-icon matTooltip="Ready to install" matTooltipClass="custom-tooltip">check</mat-icon>
</span>
<span *ngIf="!checkImageFromVersion(image.filename)">
<mat-icon matTooltip="Missing" matTooltipClass="custom-tooltip">close</mat-icon>
</span>
<input
type="file"
class="non-visible"
@ -499,7 +505,7 @@
</mat-radio-group>
</div>
<div>
Install required files
Install the required images
<button
mat-icon-button
matTooltip="Refresh list of images"
@ -511,9 +517,15 @@
<mat-list>
<mat-list-item *ngFor="let image of applianceToInstall.images">
<div class="list-item">
<div>
<span>
{{ image.filename }}
</div>
</span>
<span *ngIf="checkImageFromVersion(image.filename)">
<mat-icon matTooltip="Ready to install" matTooltipClass="custom-tooltip">check</mat-icon>
</span>
<span *ngIf="!checkImageFromVersion(image.filename)">
<mat-icon matTooltip="Missing" matTooltipClass="custom-tooltip">close</mat-icon>
</span>
<div>
<input
type="file"

View File

@ -143,7 +143,7 @@ export class NewTemplateDialogComponent implements OnInit {
this.qemuBinaries = binaries;
});
this.uploader = new FileUploader({});
this.uploader = new FileUploader({url: ''});
this.uploader.onAfterAddingFile = (file) => {
file.withCredentials = false;
};
@ -162,7 +162,7 @@ export class NewTemplateDialogComponent implements OnInit {
this.getAppliance(item.url);
};
this.uploaderImage = new FileUploader({});
this.uploaderImage = new FileUploader({url: ''});
this.uploaderImage.onAfterAddingFile = (file) => {
file.withCredentials = false;
};

View File

@ -3,7 +3,7 @@ import { Injectable } from '@angular/core';
@Injectable()
export class ProjectNameValidator {
get(projectName) {
var pattern = new RegExp(/[~`!#$%\^&*+=\[\]\\';,/{}|\\":<>\?]/);
var pattern = new RegExp(/[~`!#$%\^&*+=\[\]\\';,/{}|\\"<>\?]/);
if (!pattern.test(projectName.value)) {
return null;

View File

@ -31,6 +31,11 @@ export class MapSettingsService {
} else {
localStorage.setItem('symbolScaling', 'true');
}
if (localStorage.getItem('showInterfaceLabels')) {
this.showInterfaceLabels = localStorage.getItem('showInterfaceLabels') === 'true' ? true : false;
} else {
localStorage.setItem('showInterfaceLabels', 'true');
}
}
public getSymbolScaling(): boolean {
@ -72,6 +77,12 @@ export class MapSettingsService {
toggleShowInterfaceLabels(value: boolean) {
this.showInterfaceLabels = value;
localStorage.removeItem('showInterfaceLabels');
if (value) {
localStorage.setItem('showInterfaceLabels', 'true');
} else {
localStorage.setItem('showInterfaceLabels', 'false');
}
}
toggleIntegrateInterfaceLabels(value: boolean) {