Action
Workspace Summary
Build and display a summary of workspace draft counts, including the number of inbox, flagged, and archived drafts in each workspace.
Steps
-
script
// build audit data about workspaces // var to hold data let summary = {}; function add(ws) { let inboxCt = ws.query("inbox").length; let archiveCt = ws.query("archive").length; let flaggedCt = ws.query("flagged").length; summary[ws.name] = [inboxCt, flaggedCt, archiveCt]; } // loop over workspaces adding counts let all = Workspace.getAll(); for (let ws of all) { add(ws); } // build html to display let html = []; html.push("<h2>Workspace Summary</h2>"); if (Object.keys(summary).length > 0) { html.push("<div style=\"margin:auto;text-align:center;\"><table style=\"margin:auto;\">"); html.push("<tr><th>Workspace</th><th>Inbox</th><th>Flagged</th><th>Archive</th></tr>"); for (let k of Object.keys(summary).sort()) { html.push(`<tr><td>${k}</td>`); let d = summary[k]; html.push(`<td style='text-align:right;'>${d[0]}</td>`); html.push(`<td style='text-align:right;'>${d[1]}</td>`); html.push(`<td style='text-align:right;'>${d[2]}</td></tr>`); } html.push("</table></div>"); } else { html.push("<p>No workspaces found</p>"); } draft.setTemplateTag("html", html.join("\n"));
-
htmlpreview
<!DOCTYPE html> <html dir="auto"> <head> <title>[[title]]</title> <meta name="viewport" content="width=device-width, initial-scale=1"> <style> @charset "utf-8"; :root { --main-bg-color: white; --main-color: black; --alternate-bg-color: #efefef; --alternate-color: #222222; --main-border-color: #BBBBBB; --link-color: #627EC9; } @media (prefers-color-scheme: dark) { :root { --main-bg-color: #222222; --main-color: #eeeeee; --alternate-bg-color: #444444; --alternate-color: #cccccc; --main-border-color: #AAAAAA; --link-color: #627EC9; } } html { font-size: 100%; font-family: -apple-system, BlinkMacSystemFont, "helvetica neue", helvetica, roboto, noto, "segoe ui", arial, sans-serif; line-height: 1.4; } body { margin: 0; padding: 1em; background-color: var(--main-bg-color); color: var(--main-color); text-align:center; } h2 { padding: 0em; margin: 0em; } @media (max-device-width: 480px) {} @media (min-device-width: 481px) { body { margin: auto; max-width: 600px; } } blockquote { font-style: italic; margin: 1.5em 2em; padding: 1em; background-color: var(--alternate-bg-color); color: var(--alternate-color); } a { color: var(--link-color); } pre { display: block; overflow: scroll; width: 100%; background-color: var(--alternate-bg-color); padding: .5em 1em; margin: 1em 0; } code { background-color: var(--alternate-bg-color); color: var(--alternate-color); font-family: Menlo, Courier, sans-serif; padding: 2px 3px; } table { margin: 1em 1em; border: 1px solid var(--main-border-color); border-collapse: collapse; font-size: .85em; } th { padding: .25em .5em; background: var(--alternate-bg-color); border: 1px solid var(--main-border-color); } td { padding: .25em .5em; border: 1px solid var(--main-border-color); } img { max-width: 90%; } </style> </head> <body> %%[[html]]%% </body> </html>
Options
-
After Success Default Notification None Log Level None
Items available in the Drafts Directory are uploaded by community members. Use appropriate caution reviewing downloaded items before use.