Skip to content

Commit 6a0108b

Browse files
committed
feat: improve gallery
1 parent 837cabc commit 6a0108b

File tree

11 files changed

+272
-282
lines changed

11 files changed

+272
-282
lines changed

packages/core/src/enhancers/html/renderer/HtmlRenderer.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ export class HtmlRenderer extends DocumentRenderer {
2525
onCreateDocument() {
2626
const frameElement = createFrameElement()
2727

28-
this.documentContainer = frameElement
28+
this.setDocumentContainer(frameElement)
2929

3030
return of(frameElement)
3131
}

packages/core/src/spineItem/renderer/DocumentRenderer.ts

+16-3
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,8 @@ type LayoutParams = {
4646
}
4747

4848
export abstract class DocumentRenderer extends DestroyableClass {
49+
static readonly DOCUMENT_CONTAINER_CLASS_NAME =
50+
`prose-reader-document-container`
4951
private triggerSubject = new Subject<{ type: `load` } | { type: `unload` }>()
5052

5153
protected context: Context
@@ -78,7 +80,7 @@ export abstract class DocumentRenderer extends DestroyableClass {
7880
share(),
7981
)
8082

81-
public documentContainer: HTMLElement | undefined
83+
private _documentContainer: HTMLElement | undefined
8284

8385
constructor(params: {
8486
context: Context
@@ -179,15 +181,22 @@ export abstract class DocumentRenderer extends DestroyableClass {
179181
merge(unload$).pipe(takeUntil(this.destroy$)).subscribe()
180182
}
181183

184+
protected setDocumentContainer(element: HTMLElement) {
185+
this._documentContainer = element
186+
this._documentContainer.classList.add(
187+
DocumentRenderer.DOCUMENT_CONTAINER_CLASS_NAME,
188+
)
189+
}
190+
182191
protected attach() {
183192
if (this.documentContainer) {
184193
this.containerElement.appendChild(this.documentContainer)
185194
}
186195
}
187196

188197
protected detach() {
189-
this.documentContainer?.remove()
190-
this.documentContainer = undefined
198+
this._documentContainer?.remove()
199+
this._documentContainer = undefined
191200
}
192201

193202
public get state$() {
@@ -278,6 +287,10 @@ export abstract class DocumentRenderer extends DestroyableClass {
278287
*/
279288
abstract getDocumentFrame(): HTMLIFrameElement | undefined
280289

290+
get documentContainer() {
291+
return this._documentContainer
292+
}
293+
281294
get writingMode(): `vertical-rl` | `horizontal-tb` | undefined {
282295
return undefined
283296
}

packages/demo/src/reader/useCreateReader.ts

+19-16
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,29 @@
1-
import { useEffect } from "react"
2-
import { readerSignal } from "./useReader"
3-
import { SIGNAL_RESET } from "reactjrx"
1+
import { createReader } from "@prose-reader/core"
2+
import { annotationsEnhancer } from "@prose-reader/enhancer-annotations"
43
import { bookmarksEnhancer } from "@prose-reader/enhancer-bookmarks"
5-
import { searchEnhancer } from "@prose-reader/enhancer-search"
4+
import { galleryEnhancer } from "@prose-reader/enhancer-gallery"
65
import { gesturesEnhancer } from "@prose-reader/enhancer-gestures"
76
import { pdfEnhancer } from "@prose-reader/enhancer-pdf"
8-
import { createReader } from "@prose-reader/core"
9-
import { webStreamer } from "../streamer/webStreamer"
10-
import { getFileKeyFromUrl } from "../streamer/utils.shared"
11-
import { of } from "rxjs"
12-
import { annotationsEnhancer } from "@prose-reader/enhancer-annotations"
7+
import { searchEnhancer } from "@prose-reader/enhancer-search"
138
import pdfjsViewerInlineCss from "pdfjs-dist/web/pdf_viewer.css?inline"
9+
import { useEffect } from "react"
10+
import { SIGNAL_RESET } from "reactjrx"
11+
import { of } from "rxjs"
12+
import { getFileKeyFromUrl } from "../streamer/utils.shared"
13+
import { webStreamer } from "../streamer/webStreamer"
14+
import { readerSignal } from "./useReader"
1415

1516
export type ReaderInstance = ReturnType<typeof createAppReader>
1617

17-
export const createAppReader = pdfEnhancer(
18-
annotationsEnhancer(
19-
gesturesEnhancer(
20-
bookmarksEnhancer(
21-
searchEnhancer(
22-
// __
23-
createReader,
18+
export const createAppReader = galleryEnhancer(
19+
pdfEnhancer(
20+
annotationsEnhancer(
21+
gesturesEnhancer(
22+
bookmarksEnhancer(
23+
searchEnhancer(
24+
// __
25+
createReader,
26+
),
2427
),
2528
),
2629
),

packages/enhancer-gallery/src/Gallery.ts

-181
This file was deleted.

0 commit comments

Comments
 (0)