Latest commit

History

40 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

FileDocumentViewer

This widget allows to embed and view any System.FileDocument object inside a form. In the modeler, using microflows or the file downloader, documents can be opened as download or inside a new window. With this widget however, files can be opened inside dataviews.

Please take note that this will only work for Documents that can normally be viewed in the browser. We support viewing PDF either natively (Chrome, Firefox) or through PDF.js. Files like Word or Excel are usually not viewable in the browser. If you try this with the FileDocumentViewer, the browser will not view the document, but download it.

Contributing

For more information on contributing to this repository visit Contributing to a GitHub repository!

Configuration

Add the widget to a dataview. The context object should inherit from the System.FileDocument entity.

Features

The widget tries to display a document inside a form, however it might fail to do this (in which case a download popup is opened) since the browser settings determine whether it is allowed or not to open a document inside a form. For example IE might succeed in opening a .doc file inside a form and fail in opening a .png image inside a form, while exactly the opposite might be true for FireFox.

Properties

  • Title - String attribute of which the contents will be set in the header.
  • Show header - Determines whether or not a header will be rendered.

PDFJS support

In the Modeler there is the option Use PDF js. This will take over the rendering of the PDF, because native rendering is not supported on Android. That is why we include PDF.js, created by Mozilla (PDF.js is actually a part of Firefox). Make sure the documents you are trying to view are PDF files, otherwise the widget will fail to show the document. Use this option if you are having trouble viewing the documents on mobile devices for example.

About

This widget lets you view file documents.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

Latest commit

History

40 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

FileDocumentViewer

This widget allows to embed and view any System.FileDocument object inside a form. In the modeler, using microflows or the file downloader, documents can be opened as download or inside a new window. With this widget however, files can be opened inside dataviews.

Please take note that this will only work for Documents that can normally be viewed in the browser. We support viewing PDF either natively (Chrome, Firefox) or through PDF.js. Files like Word or Excel are usually not viewable in the browser. If you try this with the FileDocumentViewer, the browser will not view the document, but download it.

Contributing

For more information on contributing to this repository visit Contributing to a GitHub repository!

Configuration

Add the widget to a dataview. The context object should inherit from the System.FileDocument entity.

Features

The widget tries to display a document inside a form, however it might fail to do this (in which case a download popup is opened) since the browser settings determine whether it is allowed or not to open a document inside a form. For example IE might succeed in opening a .doc file inside a form and fail in opening a .png image inside a form, while exactly the opposite might be true for FireFox.

Properties

  • Title - String attribute of which the contents will be set in the header.
  • Show header - Determines whether or not a header will be rendered.

PDFJS support

In the Modeler there is the option Use PDF js. This will take over the rendering of the PDF, because native rendering is not supported on Android. That is why we include PDF.js, created by Mozilla (PDF.js is actually a part of Firefox). Make sure the documents you are trying to view are PDF files, otherwise the widget will fail to show the document. Use this option if you are having trouble viewing the documents on mobile devices for example.

About

This widget lets you view file documents.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Latest commit

History

40 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

FileDocumentViewer

This widget allows to embed and view any System.FileDocument object inside a form. In the modeler, using microflows or the file downloader, documents can be opened as download or inside a new window. With this widget however, files can be opened inside dataviews.

Please take note that this will only work for Documents that can normally be viewed in the browser. We support viewing PDF either natively (Chrome, Firefox) or through PDF.js. Files like Word or Excel are usually not viewable in the browser. If you try this with the FileDocumentViewer, the browser will not view the document, but download it.

Contributing

For more information on contributing to this repository visit Contributing to a GitHub repository!

Configuration

Add the widget to a dataview. The context object should inherit from the System.FileDocument entity.

Features

The widget tries to display a document inside a form, however it might fail to do this (in which case a download popup is opened) since the browser settings determine whether it is allowed or not to open a document inside a form. For example IE might succeed in opening a .doc file inside a form and fail in opening a .png image inside a form, while exactly the opposite might be true for FireFox.

Properties

  • Title - String attribute of which the contents will be set in the header.
  • Show header - Determines whether or not a header will be rendered.

PDFJS support

In the Modeler there is the option Use PDF js. This will take over the rendering of the PDF, because native rendering is not supported on Android. That is why we include PDF.js, created by Mozilla (PDF.js is actually a part of Firefox). Make sure the documents you are trying to view are PDF files, otherwise the widget will fail to show the document. Use this option if you are having trouble viewing the documents on mobile devices for example.

About

This widget lets you view file documents.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Latest commit

History

40 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

FileDocumentViewer

This widget allows to embed and view any System.FileDocument object inside a form. In the modeler, using microflows or the file downloader, documents can be opened as download or inside a new window. With this widget however, files can be opened inside dataviews.

Please take note that this will only work for Documents that can normally be viewed in the browser. We support viewing PDF either natively (Chrome, Firefox) or through PDF.js. Files like Word or Excel are usually not viewable in the browser. If you try this with the FileDocumentViewer, the browser will not view the document, but download it.

Contributing

For more information on contributing to this repository visit Contributing to a GitHub repository!

Configuration

Add the widget to a dataview. The context object should inherit from the System.FileDocument entity.

Features

The widget tries to display a document inside a form, however it might fail to do this (in which case a download popup is opened) since the browser settings determine whether it is allowed or not to open a document inside a form. For example IE might succeed in opening a .doc file inside a form and fail in opening a .png image inside a form, while exactly the opposite might be true for FireFox.

Properties

  • Title - String attribute of which the contents will be set in the header.
  • Show header - Determines whether or not a header will be rendered.

PDFJS support

In the Modeler there is the option Use PDF js. This will take over the rendering of the PDF, because native rendering is not supported on Android. That is why we include PDF.js, created by Mozilla (PDF.js is actually a part of Firefox). Make sure the documents you are trying to view are PDF files, otherwise the widget will fail to show the document. Use this option if you are having trouble viewing the documents on mobile devices for example.

About

This widget lets you view file documents.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

Latest commit

History

40 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

FileDocumentViewer

This widget allows to embed and view any System.FileDocument object inside a form. In the modeler, using microflows or the file downloader, documents can be opened as download or inside a new window. With this widget however, files can be opened inside dataviews.

Please take note that this will only work for Documents that can normally be viewed in the browser. We support viewing PDF either natively (Chrome, Firefox) or through PDF.js. Files like Word or Excel are usually not viewable in the browser. If you try this with the FileDocumentViewer, the browser will not view the document, but download it.

Contributing

For more information on contributing to this repository visit Contributing to a GitHub repository!

Configuration

Add the widget to a dataview. The context object should inherit from the System.FileDocument entity.

Features

The widget tries to display a document inside a form, however it might fail to do this (in which case a download popup is opened) since the browser settings determine whether it is allowed or not to open a document inside a form. For example IE might succeed in opening a .doc file inside a form and fail in opening a .png image inside a form, while exactly the opposite might be true for FireFox.

Properties

  • Title - String attribute of which the contents will be set in the header.
  • Show header - Determines whether or not a header will be rendered.

PDFJS support

In the Modeler there is the option Use PDF js. This will take over the rendering of the PDF, because native rendering is not supported on Android. That is why we include PDF.js, created by Mozilla (PDF.js is actually a part of Firefox). Make sure the documents you are trying to view are PDF files, otherwise the widget will fail to show the document. Use this option if you are having trouble viewing the documents on mobile devices for example.

About

This widget lets you view file documents.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Latest commit

History

40 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

FileDocumentViewer

This widget allows to embed and view any System.FileDocument object inside a form. In the modeler, using microflows or the file downloader, documents can be opened as download or inside a new window. With this widget however, files can be opened inside dataviews.

Please take note that this will only work for Documents that can normally be viewed in the browser. We support viewing PDF either natively (Chrome, Firefox) or through PDF.js. Files like Word or Excel are usually not viewable in the browser. If you try this with the FileDocumentViewer, the browser will not view the document, but download it.

Contributing

For more information on contributing to this repository visit Contributing to a GitHub repository!

Configuration

Add the widget to a dataview. The context object should inherit from the System.FileDocument entity.

Features

The widget tries to display a document inside a form, however it might fail to do this (in which case a download popup is opened) since the browser settings determine whether it is allowed or not to open a document inside a form. For example IE might succeed in opening a .doc file inside a form and fail in opening a .png image inside a form, while exactly the opposite might be true for FireFox.

Properties

  • Title - String attribute of which the contents will be set in the header.
  • Show header - Determines whether or not a header will be rendered.

PDFJS support

In the Modeler there is the option Use PDF js. This will take over the rendering of the PDF, because native rendering is not supported on Android. That is why we include PDF.js, created by Mozilla (PDF.js is actually a part of Firefox). Make sure the documents you are trying to view are PDF files, otherwise the widget will fail to show the document. Use this option if you are having trouble viewing the documents on mobile devices for example.

About

This widget lets you view file documents.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Latest commit

History

40 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

FileDocumentViewer

This widget allows to embed and view any System.FileDocument object inside a form. In the modeler, using microflows or the file downloader, documents can be opened as download or inside a new window. With this widget however, files can be opened inside dataviews.

Please take note that this will only work for Documents that can normally be viewed in the browser. We support viewing PDF either natively (Chrome, Firefox) or through PDF.js. Files like Word or Excel are usually not viewable in the browser. If you try this with the FileDocumentViewer, the browser will not view the document, but download it.

Contributing

For more information on contributing to this repository visit Contributing to a GitHub repository!

Configuration

Add the widget to a dataview. The context object should inherit from the System.FileDocument entity.

Features

The widget tries to display a document inside a form, however it might fail to do this (in which case a download popup is opened) since the browser settings determine whether it is allowed or not to open a document inside a form. For example IE might succeed in opening a .doc file inside a form and fail in opening a .png image inside a form, while exactly the opposite might be true for FireFox.

Properties

  • Title - String attribute of which the contents will be set in the header.
  • Show header - Determines whether or not a header will be rendered.

PDFJS support

In the Modeler there is the option Use PDF js. This will take over the rendering of the PDF, because native rendering is not supported on Android. That is why we include PDF.js, created by Mozilla (PDF.js is actually a part of Firefox). Make sure the documents you are trying to view are PDF files, otherwise the widget will fail to show the document. Use this option if you are having trouble viewing the documents on mobile devices for example.

About

This widget lets you view file documents.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

Latest commit

History

40 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

FileDocumentViewer

This widget allows to embed and view any System.FileDocument object inside a form. In the modeler, using microflows or the file downloader, documents can be opened as download or inside a new window. With this widget however, files can be opened inside dataviews.

Please take note that this will only work for Documents that can normally be viewed in the browser. We support viewing PDF either natively (Chrome, Firefox) or through PDF.js. Files like Word or Excel are usually not viewable in the browser. If you try this with the FileDocumentViewer, the browser will not view the document, but download it.

Contributing

For more information on contributing to this repository visit Contributing to a GitHub repository!

Configuration

Add the widget to a dataview. The context object should inherit from the System.FileDocument entity.

Features

The widget tries to display a document inside a form, however it might fail to do this (in which case a download popup is opened) since the browser settings determine whether it is allowed or not to open a document inside a form. For example IE might succeed in opening a .doc file inside a form and fail in opening a .png image inside a form, while exactly the opposite might be true for FireFox.

Properties

  • Title - String attribute of which the contents will be set in the header.
  • Show header - Determines whether or not a header will be rendered.

PDFJS support

In the Modeler there is the option Use PDF js. This will take over the rendering of the PDF, because native rendering is not supported on Android. That is why we include PDF.js, created by Mozilla (PDF.js is actually a part of Firefox). Make sure the documents you are trying to view are PDF files, otherwise the widget will fail to show the document. Use this option if you are having trouble viewing the documents on mobile devices for example.

About

This widget lets you view file documents.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages