独自のセカンドツールバーを作成する

このサンプルでは、独自のコンテンツを含むセカンドツールバーをPDFビューワに追加する方法を紹介しています。
サンプルのセカンドツールバーでは、アプリケーションで定義したPDFの一つを素早く開くことができます。
現在開いているドキュメントはセカンドツールバーにてハイライト表示されます。

var React, viewer; window.onload = function(){ viewer = new DsPdfViewer("#viewer", { workerSrc: "/diodocs/pdfviewer/demos/product-bundles/build/dspdfviewer.worker.js", supportApi: false, restoreViewStateOnLoad: false, language: "ja" }); viewer.addDefaultPanels(); const toolbarLayout = viewer.toolbarLayout; toolbarLayout.viewer.mobile = toolbarLayout.viewer.default = ["$navigation", "$zoom"]; React = viewer.getType("React"); // 独自のセカンドツールバーを "custom-toolbar-key" として登録 viewer.options.secondToolbar = { render: function(toolbarKey) { if(toolbarKey === "custom-toolbar-key") { return [ createOpenPdfButton("helloworld.pdf"), createOpenPdfButton("diodocs_catalog.pdf"), createOpenPdfButton("wetlands.pdf") ]; } else { return null; } } }; // 独自のセカンドツールバーを表示 viewer.showSecondToolbar("custom-toolbar-key"); viewer.open("/diodocs/pdfviewer/demos/product-bundles/assets/pdf/helloworld.pdf"); } function createOpenPdfButton(pdfName) { const pdfUrl = "/diodocs/pdfviewer/demos/product-bundles/assets/pdf/" + pdfName; const disabled = viewer.fileName === pdfName ? true : false; return React.createElement("button", { className: "gc-btn gc-btn--accent", disabled, style: { padding: "0 10px 0 10px" }, onClick: disabled ? null : () => { viewer.open(pdfUrl); }, title: "Open " + pdfName }, pdfName); } function createLabel(labelText){ return React.createElement("label", { style: {color: "white"} }, labelText); }
<!DOCTYPE html> <html lang="ja"> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <title>セカンドツールバーのカスタマイズ</title> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <link rel="stylesheet" href="./src/styles.css"> <script src="/diodocs/pdfviewer/demos/product-bundles/build/dspdfviewer.js"></script> <script src="/diodocs/pdfviewer/demos/product-bundles/build/wasmSupportApi.js"></script> <script src="/diodocs/pdfviewer/demos/resource/js/init.js"></script> <script src="./src/app.js"></script> </head> <body> <div id="viewer"></div> </body> </html>
#viewer { height: 100%; }