[]
Interface describing the ImageViewer API, primarily utilized for control/plugin development purposes.
readonly in17n: i18n;
i18next instance.
toggleSidebar: (show?) => void;
Sets of toggles sidebar's panels visibility
boolean
void
toolbarLayout: ImageToolbarLayout;
Defines the layout of the toolbar.
The full list of the viewer specific toolbar items:
'open', '$navigation', '$split', 'zoom', '$fullscreen', 'save', 'about'
// Customize the toolbar layout:
viewer.toolbarLayout.viewer.default = ["open", "$zoom", "$fullscreen", "save", "print", "about"];
viewer.applyToolbarLayout();
get eventBus(): IEventBus;
Image viewer event bus.
viewer.eventBus.on("after-open", function(args) {
console.log("Image opened.", args);
});
viewer.open('Test.png');
get hasImage(): boolean;
Indicates whether the viewer has opened the image.
var hasImageFlag = viewer.hasImage;
boolean
get hostElement(): Element;
Outermost viewer's host element containing the gc-viewer-host class.
Element
get imageFormat(): ImageFormatCode;
Gets a format type of the opened image.
set imageFormat(format): void;
Sets a format type of the opened image.
void
get isFullscreen(): boolean;
Gets a value indicating full screen mode.
boolean
get isToolbarHidden(): boolean;
Gets a value indicating whether the toolbar is hidden.
boolean
get layers(): IImageLayer[];
Image layers. Used for painting.
get naturalSize(): object;
Gets the active image natural size. The natural size is the image's width/height if drawn with nothing constraining its width/height, this is the number of CSS pixels wide the image will be.
object
height: number;
width: number;
get onBeforeOpen(): EventFan<BeforeOpenEventArgs>;
Occurs immediately before the image opens.
var viewer = new DsImageViewer('#root');
viewer.onBeforeOpen.register(function(args) {
alert("A new image will be opened,\n payload type(binary or URL): " + args.type +",\n payload(bytes or string): " + args.payload);
});
viewer.open('Test.png');
EventFan
<BeforeOpenEventArgs
>
get undoStorage(): IUndoStorage;
Command based undo state storage.
const isUndoInProgress = viewer.undoStorage.undoInProgress;
addKeyboardListener(uniqueKey, handler): any;
Add window keyboard listener.
string
any
applyToolbarLayout(): any;
Call this method in order to apply changes in @see:toolbarLayout.
any
viewer.toolbarLayout.viewer.default = ["open", "save"];
viewer.applyToolbarLayout();
var viewer = new GcImageViewer(document.querySelector("#viewer"));
var toolbar = viewer.toolbar;
var toolbarLayout = viewer.toolbarLayout;
toolbar.addItem({
key: 'custom-action',
icon: { type: "svg", content: '<svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="24" height="24" viewBox="0 0 24 24"><path style="fill: #205F78;" d="M20.25 12l-2.25 2.25 2.25 2.25-3.75 3.75-2.25-2.25-2.25 2.25-2.25-2.25-2.25 2.25-3.75-3.75 2.25-2.25-2.25-2.25 2.25-2.25-2.25-2.25 3.75-3.75 2.25 2.25 2.25-2.25 2.25 2.25 2.25-2.25 3.75 3.75-2.25 2.25 2.25 2.25z"></path></svg>' },
title: 'Custom action',
checked: false, enabled: false,
action: function () {
alert("Implement your action here.");
},
onUpdate: function (args) {
return {
enabled: true,
checked: false,
title: 'Custom action title'
}
}
});
toolbarLayout.viewer.default.splice(0, 0, "custom-action");
viewer.applyToolbarLayout();
configurePluginMainToolbar(pos, buttonsToInsert): any;
Used preliminarily by the plugin developers to configure the main toolbar layout.
The position where the buttons should be inserted. Use false
or -1
to skip insertion. Undefined means the position will be determined automatically.
number
| boolean
string
[]
An array of button keys to be inserted.
any
void
// Apply a custom layout to insert "zoomIn" and "zoomOut" buttons at position 2 for the "PaintTools" plugin.
viewer.configurePluginMainToolbar(2, ["zoomIn", "zoomOut"]);
confirm(
confirmationText?,
level?,
title?,
buttons?): Promise<boolean | ConfirmButton>;
Display confirmation dialog.
string
| Element
"error"
| "info"
| "warning"
string
Promise
<boolean
| ConfirmButton
>
dataUrlToImageData(dataUrl, destinationSize?): Promise<ImageData>;
Load image data using given data url.
string
number
number
Promise
<ImageData
>
ensurePaintLayer(): IImageLayer;
Create at least one image layer which will be used for painting.
findPlugin(pluginId): IViewerPlugin;
Finds a viewer plugin by its id.
string
// find imageFilters plugin:
var imageFilters = viewer.findPlugin("imageFilters");
// find pageTools plugin:
var pageTools = viewer.findPlugin("pageTools");
getEventCanvasPoint(event): PointLocation;
Retrieves the point location from the pointer event provided by the 'event' parameter. The returned point is relative to the active canvas element
DOM Pointer or Mouse event object.
PointerEvent
| MouseEvent
getImageDataUrl(): string;
Get current image data url.
string
getOriginalImageDataUrl(): string;
Get unmodified current image data url.
string
getPanelState(panelKey): any;
Gets the current panel state.
PanelHandle
any
hideActivitySpinner(): any;
Hide activity spinner.
any
viewer.hideActivitySpinner();
layoutPanels(layout): void;
Orders and filters panel items. '*' indicates "the rest of panels". 'sep'/'separator' indicated menu separator.
string
[]
void
removeKeyboardListener(uniqueKey): any;
Remove window keyboard listener.
string
any
removeLayer(layerOrIndex): any;
Remove and dispose image layer given by argument layerOrIndex.
Image layer or image layer index or image layer name.
number
| IImageLayer
any
removeLayers(): any;
Remove and dispose all image layers.
any
resetCursor(): IImageViewer;
Resets the cursor to default style
IImageViewer
// Reset cursor when operation completes
viewer.resetCursor();
// Reset cursor on mouse leave
viewerElement.addEventListener('mouseleave', () => {
viewer.resetCursor();
});
save(options?, original?): void;
Saves the Image document loaded in the Viewer to the local disk.
The save options, including the destination file name and other settings.
string
| SaveOptions
boolean
Flag indicating whether to use the initial version of the image for save. Defaults to false
.
void
// Example: Save the modified image without using specific options.
const viewer = DsImageViewer.findControl("#root");
viewer.save();
// Example: Save the modified image as "image.png".
const viewer = DsImageViewer.findControl("#root");
viewer.save({ fileName: "image.png" });
// Example: Download the original version of the image as "original_image.jpg".
const viewer = DsImageViewer.findControl("#root");
viewer.save({ fileName: "original_image.jpg", original: true });
// Example: Save the modified image in PNG format.
const viewer = DsImageViewer.findControl("#root");
viewer.save({ convertToFormat: "image/png" });
// Example: Save the modified image with a custom file name and in JPEG format.
const viewer = DsImageViewer.findControl("#root");
viewer.save({ fileName: "custom_name", convertToFormat: "image/jpeg" });
setCursor(cursorType): IImageViewer;
Sets the cursor style for the image viewer
The cursor style to apply
IImageViewer
// Set rotate cursor during image rotation
viewer.setCursor('rotate');
// Set resize cursor when hovering over edges
viewer.setCursor('nwse-resize');
GlobalCursorType for all available cursor options
setImageDataUrl(dataUrl): Promise<void>;
Modify current image data url.
any
Promise
<void
>
showActivitySpinner(container?): any;
Show activity spinner.
HTMLElement
any
viewer.showActivitySpinner();
showPanel(panelKey, visible?): void;
Updates the panel visibility.
PanelHandle
boolean
void
showSecondToolbar(toolbarKey): Promise<void>;
Show a second toolbar specified by the toolbarKey argument.
Promise
<void
>
// Show page tools bar.
viewer.showSecondToolbar("page-tools");
toggleCursor(cursorType): IImageViewer;
Toggles between specified cursor and default style
Cursor style to apply, or false to reset
false
| GlobalCursorType
IImageViewer
// Toggle grab cursor during drag operations
viewer.toggleCursor(isDragging ? 'grab' : false);
// Toggle zoom cursor based on modifier key
document.addEventListener('keydown', (e) => {
if (e.ctrlKey) {
viewer.toggleCursor('zoom-in');
}
});
toggleFullscreen(fullscreen?): void;
Toggle full screen mode.
boolean
void
toggleToolbar(show?): void;
Toggle toolbar visibility.
boolean
void
updatePanel(panelKey, settings): void;
Updates panel settings such as visibility, label or "enabled" status.
PanelHandle
PanelSettings
void