mirror of
https://github.com/mozilla/pdf.js.git
synced 2026-02-07 16:11:12 +01:00
Remove the IL10n interface
Given that we either use the `L10n` class directly or extend it via `GenericL10n`, it should no longer be necessary to keep the interface-definition. This should help reduce the maintenance burden of the code, since you no longer need to remember to update separate code when touching the `L10n` class.
This commit is contained in:
parent
b517b5c597
commit
50a12e3e67
@ -18,7 +18,6 @@
|
||||
/** @typedef {import("../display_utils.js").PageViewport} PageViewport */
|
||||
// eslint-disable-next-line max-len
|
||||
/** @typedef {import("../../../web/text_accessibility.js").TextAccessibilityManager} TextAccessibilityManager */
|
||||
/** @typedef {import("../../../web/interfaces").IL10n} IL10n */
|
||||
// eslint-disable-next-line max-len
|
||||
/** @typedef {import("../annotation_layer.js").AnnotationLayer} AnnotationLayer */
|
||||
/** @typedef {import("../draw_layer.js").DrawLayer} DrawLayer */
|
||||
@ -47,7 +46,7 @@ import { StampEditor } from "./stamp.js";
|
||||
* @property {boolean} enabled
|
||||
* @property {TextAccessibilityManager} [accessibilityManager]
|
||||
* @property {number} pageIndex
|
||||
* @property {IL10n} l10n
|
||||
* @property {L10n} l10n
|
||||
* @property {AnnotationLayer} [annotationLayer]
|
||||
* @property {HTMLDivElement} [textLayer]
|
||||
* @property {DrawLayer} drawLayer
|
||||
|
||||
@ -20,7 +20,6 @@
|
||||
/** @typedef {import("../src/display/editor/tools.js").AnnotationEditorUIManager} AnnotationEditorUIManager */
|
||||
// eslint-disable-next-line max-len
|
||||
/** @typedef {import("./text_accessibility.js").TextAccessibilityManager} TextAccessibilityManager */
|
||||
/** @typedef {import("./interfaces").IL10n} IL10n */
|
||||
// eslint-disable-next-line max-len
|
||||
/** @typedef {import("../src/display/annotation_layer.js").AnnotationLayer} AnnotationLayer */
|
||||
// eslint-disable-next-line max-len
|
||||
@ -33,7 +32,7 @@ import { GenericL10n } from "web-null_l10n";
|
||||
* @typedef {Object} AnnotationEditorLayerBuilderOptions
|
||||
* @property {AnnotationEditorUIManager} [uiManager]
|
||||
* @property {PDFPageProxy} pdfPage
|
||||
* @property {IL10n} [l10n]
|
||||
* @property {L10n} [l10n]
|
||||
* @property {StructTreeLayerBuilder} [structTreeLayer]
|
||||
* @property {TextAccessibilityManager} [accessibilityManager]
|
||||
* @property {AnnotationLayer} [annotationLayer]
|
||||
|
||||
@ -13,7 +13,6 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
/** @typedef {import("./interfaces.js").IL10n} IL10n */
|
||||
// eslint-disable-next-line max-len
|
||||
/** @typedef {import("../src/display/api.js").PDFDocumentProxy} PDFDocumentProxy */
|
||||
// eslint-disable-next-line max-len
|
||||
@ -160,7 +159,7 @@ const PDFViewerApplication = {
|
||||
secondaryToolbar: null,
|
||||
/** @type {EventBus} */
|
||||
eventBus: null,
|
||||
/** @type {IL10n} */
|
||||
/** @type {L10n} */
|
||||
l10n: null,
|
||||
/** @type {AnnotationEditorParams} */
|
||||
annotationEditorParams: null,
|
||||
|
||||
@ -13,8 +13,6 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
/** @typedef {import("./interfaces.js").IL10n} IL10n */
|
||||
|
||||
class BaseExternalServices {
|
||||
constructor() {
|
||||
if (
|
||||
@ -36,7 +34,7 @@ class BaseExternalServices {
|
||||
reportText(data) {}
|
||||
|
||||
/**
|
||||
* @returns {Promise<IL10n>}
|
||||
* @returns {Promise<L10n>}
|
||||
*/
|
||||
async createL10n() {
|
||||
throw new Error("Not implemented: createL10n");
|
||||
|
||||
@ -13,8 +13,6 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
/** @typedef {import("./interfaces").IL10n} IL10n */
|
||||
|
||||
import { FeatureTest, fetchData } from "pdfjs-lib";
|
||||
import { FluentBundle, FluentResource } from "fluent-bundle";
|
||||
import { DOMLocalization } from "fluent-dom";
|
||||
@ -49,9 +47,6 @@ function createBundle(lang, text) {
|
||||
return bundle;
|
||||
}
|
||||
|
||||
/**
|
||||
* @implements {IL10n}
|
||||
*/
|
||||
class GenericL10n extends L10n {
|
||||
constructor(lang) {
|
||||
super({ lang });
|
||||
|
||||
@ -71,49 +71,6 @@ class IDownloadManager {
|
||||
download(data, url, filename) {}
|
||||
}
|
||||
|
||||
/**
|
||||
* @interface
|
||||
*/
|
||||
class IL10n {
|
||||
/**
|
||||
* @returns {string} - The current locale.
|
||||
*/
|
||||
getLanguage() {}
|
||||
|
||||
/**
|
||||
* @returns {string} - 'rtl' or 'ltr'.
|
||||
*/
|
||||
getDirection() {}
|
||||
|
||||
/**
|
||||
* Translates text identified by the key and adds/formats data using the args
|
||||
* property bag. If the key was not found, translation falls back to the
|
||||
* fallback text.
|
||||
* @param {Array | string} ids
|
||||
* @param {Object | null} [args]
|
||||
* @param {string} [fallback]
|
||||
* @returns {Promise<string>}
|
||||
*/
|
||||
async get(ids, args = null, fallback) {}
|
||||
|
||||
/**
|
||||
* Translates HTML element.
|
||||
* @param {HTMLElement} element
|
||||
* @returns {Promise<void>}
|
||||
*/
|
||||
async translate(element) {}
|
||||
|
||||
/**
|
||||
* Pause the localization.
|
||||
*/
|
||||
pause() {}
|
||||
|
||||
/**
|
||||
* Resume the localization.
|
||||
*/
|
||||
resume() {}
|
||||
}
|
||||
|
||||
/**
|
||||
* @interface
|
||||
*/
|
||||
@ -129,4 +86,4 @@ class IPDFPrintServiceFactory {
|
||||
}
|
||||
}
|
||||
|
||||
export { IDownloadManager, IL10n, IPDFPrintServiceFactory, IRenderableView };
|
||||
export { IDownloadManager, IPDFPrintServiceFactory, IRenderableView };
|
||||
|
||||
@ -13,12 +13,9 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
/** @typedef {import("./interfaces").IL10n} IL10n */
|
||||
|
||||
/**
|
||||
* NOTE: The L10n-implementations should use lowercase language-codes
|
||||
* internally.
|
||||
* @implements {IL10n}
|
||||
*/
|
||||
class L10n {
|
||||
#dir;
|
||||
|
||||
@ -14,7 +14,6 @@
|
||||
*/
|
||||
|
||||
/** @typedef {import("./event_utils.js").EventBus} EventBus */
|
||||
/** @typedef {import("./interfaces.js").IL10n} IL10n */
|
||||
/** @typedef {import("./overlay_manager.js").OverlayManager} OverlayManager */
|
||||
// eslint-disable-next-line max-len
|
||||
/** @typedef {import("../src/display/api.js").PDFDocumentProxy} PDFDocumentProxy */
|
||||
@ -58,7 +57,7 @@ class PDFDocumentProperties {
|
||||
* @param {PDFDocumentPropertiesOptions} options
|
||||
* @param {OverlayManager} overlayManager - Manager for the viewer overlays.
|
||||
* @param {EventBus} eventBus - The application event bus.
|
||||
* @param {IL10n} l10n - Localization service.
|
||||
* @param {L10n} l10n - Localization service.
|
||||
* @param {function} fileNameLookup - The function that is used to lookup
|
||||
* the document fileName.
|
||||
*/
|
||||
|
||||
@ -18,7 +18,6 @@
|
||||
// eslint-disable-next-line max-len
|
||||
/** @typedef {import("../src/display/optional_content_config").OptionalContentConfig} OptionalContentConfig */
|
||||
/** @typedef {import("./event_utils").EventBus} EventBus */
|
||||
/** @typedef {import("./interfaces").IL10n} IL10n */
|
||||
/** @typedef {import("./interfaces").IRenderableView} IRenderableView */
|
||||
// eslint-disable-next-line max-len
|
||||
/** @typedef {import("./pdf_rendering_queue").PDFRenderingQueue} PDFRenderingQueue */
|
||||
@ -98,7 +97,7 @@ import { XfaLayerBuilder } from "./xfa_layer_builder.js";
|
||||
* @property {Object} [pageColors] - Overwrites background and foreground colors
|
||||
* with user defined ones in order to improve readability in high contrast
|
||||
* mode.
|
||||
* @property {IL10n} [l10n] - Localization service.
|
||||
* @property {L10n} [l10n] - Localization service.
|
||||
* @property {Object} [layerProperties] - The object that is used to lookup
|
||||
* the necessary layer-properties.
|
||||
* @property {boolean} [enableAutoLinking] - Enable creation of hyperlinks from
|
||||
|
||||
@ -21,7 +21,6 @@
|
||||
/** @typedef {import("../src/display/optional_content_config").OptionalContentConfig} OptionalContentConfig */
|
||||
/** @typedef {import("./event_utils").EventBus} EventBus */
|
||||
/** @typedef {import("./interfaces").IDownloadManager} IDownloadManager */
|
||||
/** @typedef {import("./interfaces").IL10n} IL10n */
|
||||
// eslint-disable-next-line max-len
|
||||
/** @typedef {import("./pdf_find_controller").PDFFindController} PDFFindController */
|
||||
// eslint-disable-next-line max-len
|
||||
@ -134,7 +133,7 @@ function isValidAnnotationEditorMode(mode) {
|
||||
* rendering will keep track of which areas of the page each PDF operation
|
||||
* affects. Then, when rendering a partial page (if `enableDetailCanvas` is
|
||||
* enabled), it will only run through the operations that affect that portion.
|
||||
* @property {IL10n} [l10n] - Localization service.
|
||||
* @property {L10n} [l10n] - Localization service.
|
||||
* @property {boolean} [enablePermissions] - Enables PDF document permissions,
|
||||
* when they exist. The default value is `false`.
|
||||
* @property {Object} [pageColors] - Overwrites background and foreground colors
|
||||
|
||||
@ -14,7 +14,6 @@
|
||||
*/
|
||||
|
||||
/** @typedef {import("./event_utils.js").EventBus} EventBus */
|
||||
/** @typedef {import("./interfaces.js").IL10n} IL10n */
|
||||
|
||||
import {
|
||||
docStyle,
|
||||
@ -34,7 +33,7 @@ const UI_NOTIFICATION_CLASS = "pdfSidebarNotification";
|
||||
* @typedef {Object} PDFSidebarOptions
|
||||
* @property {PDFSidebarElements} elements - The DOM elements.
|
||||
* @property {EventBus} eventBus - The application event bus.
|
||||
* @property {IL10n} l10n - The localization service.
|
||||
* @property {L10n} l10n - The localization service.
|
||||
*/
|
||||
|
||||
/**
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user