diff --git a/src/Squidex/app/framework/angular/forms/toggle.component.html b/src/Squidex/app/framework/angular/forms/toggle.component.html index 1e98594bc..8c774acff 100644 --- a/src/Squidex/app/framework/angular/forms/toggle.component.html +++ b/src/Squidex/app/framework/angular/forms/toggle.component.html @@ -1,4 +1,4 @@ -
diff --git a/src/Squidex/app/framework/angular/forms/toggle.component.ts b/src/Squidex/app/framework/angular/forms/toggle.component.ts index 407636cd7..4d18fbbdf 100644 --- a/src/Squidex/app/framework/angular/forms/toggle.component.ts +++ b/src/Squidex/app/framework/angular/forms/toggle.component.ts @@ -53,12 +53,22 @@ export class ToggleComponent implements ControlValueAccessor { this.callTouched = fn; } - public changeState() { + public changeState(event: MouseEvent) { if (this.isDisabled) { return; } - this.isChecked = !(this.isChecked === true); + if (event.ctrlKey || event.shiftKey) { + if (this.isChecked) { + this.isChecked = null; + } else if (this.isChecked === null) { + this.isChecked = false; + } else { + this.isChecked = true; + } + } else { + this.isChecked = !(this.isChecked === true); + } this.callChange(this.isChecked); this.callTouched();