UNPKG

virool-pivot

Version:

A web-based exploratory visualization UI for Druid.io

68 lines (63 loc) 3.1 kB
export interface ViewOptions { version: string; title: string; config?: any; } function favicon(options: ViewOptions): string { const { version, title } = options; return ` <link rel="apple-touch-icon" sizes="57x57" href="favicon/apple-touch-icon-57x57.png?v=${version}"> <link rel="apple-touch-icon" sizes="60x60" href="favicon/apple-touch-icon-60x60.png?v=${version}"> <link rel="apple-touch-icon" sizes="72x72" href="favicon/apple-touch-icon-72x72.png?v=${version}"> <link rel="apple-touch-icon" sizes="76x76" href="favicon/apple-touch-icon-76x76.png?v=${version}"> <link rel="apple-touch-icon" sizes="114x114" href="favicon/apple-touch-icon-114x114.png?v=${version}"> <link rel="apple-touch-icon" sizes="120x120" href="favicon/apple-touch-icon-120x120.png?v=${version}"> <link rel="apple-touch-icon" sizes="144x144" href="favicon/apple-touch-icon-144x144.png?v=${version}"> <link rel="apple-touch-icon" sizes="152x152" href="favicon/apple-touch-icon-152x152.png?v=${version}"> <link rel="apple-touch-icon" sizes="180x180" href="favicon/apple-touch-icon-180x180.png?v=${version}"> <link rel="icon" type="image/png" href="favicon/favicon-32x32.png?v=${version}" sizes="32x32"> <link rel="icon" type="image/png" href="favicon/android-chrome-192x192.png?v=${version}" sizes="192x192"> <link rel="icon" type="image/png" href="favicon/favicon-96x96.png?v=${version}" sizes="96x96"> <link rel="icon" type="image/png" href="favicon/favicon-16x16.png?v=${version}" sizes="16x16"> <link rel="manifest" href="favicon/manifest.json?v=${version}"> <link rel="mask-icon" href="favicon/safari-pinned-tab.svg?v=${version}" color="#5bbad5"> <link rel="shortcut icon" href="favicon/favicon.ico?v=${version}"> <meta name="apple-mobile-web-app-title" content="${title}"> <meta name="application-name" content="${title}"> <meta name="msapplication-TileColor" content="#0093E2"> <meta name="msapplication-TileImage" content="favicon/mstile-144x144.png?v=${version}"> <meta name="msapplication-config" content="favicon/browserconfig.xml?v=${version}"> <meta name="theme-color" content="#ffffff"> `; } export function layout(options: ViewOptions, content: string): string { return `<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="description" content="Data Explorer"> <meta name="author" content="Imply"> <meta name="google" value="notranslate"> ${favicon(options)} <meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1, maximum-scale=1, minimum-scale=1"> <title>${options.title}</title> </head> <body> ${content} </body> </html> `; } export function pivotLayout(options: ViewOptions): string { const { version, config } = options; return layout(options, `<div class="app-container"></div> <script>var __CONFIG__ = ${JSON.stringify(config)};</script> <script charset="UTF-8" src="pivot.js?v=${version}"></script>` ); } export function errorLayout(options: ViewOptions, message: string, error: any = {}): string { return layout(options, `<h1>{{message}}</h1> <h2>{{error.status}}</h2> <pre>{{error.stack}}</pre>` ); }