Skip to content
This repository was archived by the owner on Feb 6, 2024. It is now read-only.

Commit b48f028

Browse files
feat: select deck with additional click on editor (#1286)
1 parent 37e656b commit b48f028

File tree

3 files changed

+35
-2
lines changed

3 files changed

+35
-2
lines changed

studio/src/app/components/editor/actions/element/app-actions-element/app-actions-element.scss

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,13 @@
11
app-actions-element {
2+
display: block;
3+
4+
aside {
5+
pointer-events: none;
6+
}
7+
28
button {
9+
pointer-events: all;
10+
311
&.hidden {
412
display: none;
513
}

studio/src/app/components/editor/actions/footer/app-actions-editor/app-actions-editor.tsx

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -161,6 +161,16 @@ export class AppActionsEditor {
161161
}
162162
}
163163

164+
private async selectDeckOnClick($event: MouseEvent | TouchEvent) {
165+
const src: HTMLElement = $event.composedPath()[0] as HTMLElement;
166+
167+
if (!this.actionsElementRef.isEqualNode(src)) {
168+
return;
169+
}
170+
171+
await this.selectDeck();
172+
}
173+
164174
render() {
165175
return (
166176
<Host
@@ -215,6 +225,7 @@ export class AppActionsEditor {
215225
private renderEditActions() {
216226
return (
217227
<app-actions-element
228+
onClick={($event: MouseEvent | TouchEvent) => this.selectDeckOnClick($event)}
218229
ref={(el) => (this.actionsElementRef = el as HTMLAppActionsElementElement)}
219230
class={editorStore.state.step === BreadcrumbsStep.DECK ? 'hidden' : undefined}
220231
slideCopy={this.slideCopy}

studio/src/app/pages/editor/app-editor/app-editor.tsx

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -118,6 +118,7 @@ export class AppEditor {
118118
private actionsEditorRef!: HTMLAppActionsEditorElement;
119119
private contentRef!: HTMLElement;
120120
private mainRef!: HTMLElement;
121+
private breadCrumbsRef!: HTMLAppBreadcrumbsElement;
121122

122123
private mainResizeObserver: ResizeObserver;
123124
private slideResizeObserver: ResizeObserver;
@@ -516,6 +517,16 @@ export class AppEditor {
516517
await this.actionsEditorRef.touch(element);
517518
}
518519

520+
private async selectDeck($event: MouseEvent | TouchEvent) {
521+
const src: HTMLElement = $event.composedPath()[0] as HTMLElement;
522+
523+
if (!this.contentRef.isEqualNode(src) && !this.breadCrumbsRef.isEqualNode(src)) {
524+
return;
525+
}
526+
527+
await this.actionsEditorRef.selectDeck();
528+
}
529+
519530
@Listen('toggleFullScreen', {target: 'window'})
520531
async onToggleFullScreen() {
521532
if (!this.deckRef) {
@@ -737,7 +748,7 @@ export class AppEditor {
737748

738749
return [
739750
<app-navigation publish={true} class={this.hideNavigation ? 'hidden' : undefined}></app-navigation>,
740-
<ion-content class="ion-no-padding">
751+
<ion-content class="ion-no-padding" onClick={($event: MouseEvent | TouchEvent) => this.selectDeck($event)}>
741752
<div class="grid">
742753
<div class="deck" ref={(el) => (this.contentRef = el as HTMLElement)}>
743754
<main
@@ -769,7 +780,10 @@ export class AppEditor {
769780
</main>
770781
</div>
771782

772-
<app-breadcrumbs slideNumber={this.activeIndex} onStepTo={($event: CustomEvent<HTMLElement>) => this.selectStep($event)}></app-breadcrumbs>
783+
<app-breadcrumbs
784+
ref={(el) => (this.breadCrumbsRef = el as HTMLAppBreadcrumbsElement)}
785+
slideNumber={this.activeIndex}
786+
onStepTo={($event: CustomEvent<HTMLElement>) => this.selectStep($event)}></app-breadcrumbs>
773787

774788
<app-actions-editor
775789
ref={(el) => (this.actionsEditorRef = el as HTMLAppActionsEditorElement)}

0 commit comments

Comments
 (0)