${crawl.configName || crawl.cid}
e.preventDefault()} hoist>
${isActive(crawl)
? html`
- {
this.stop(crawl);
e.target.closest("sl-dropdown").hide();
}}
>
${msg("Stop gracefully")}
- {
this.cancel(crawl);
e.target.closest("sl-dropdown").hide();
}}
>
${msg("Cancel immediately")}
`
: html`
- {
this.runNow(crawl);
e.target.closest("sl-dropdown").hide();
}}
>
${msg("Re-run crawl")}
`}
- {
CopyButton.copyToClipboard(crawl.id);
e.target.closest("sl-dropdown").hide();
}}
>
${msg("Copy Crawl ID")}
- {
CopyButton.copyToClipboard(crawl.cid);
e.target.closest("sl-dropdown").hide();
}}
>
${msg("Copy Crawl Config ID")}
- {
this.navTo(`${this.crawlsBaseUrl}/crawl/${crawl.id}#config`);
}}
>
${msg("View Crawl Config")}
●
${crawl.state.replace(/_/g, " ")}
${crawl.finished
? html`
`
: ""}
${!crawl.finished
? html`
${crawl.state === "canceled" ? msg("Unknown") : ""}
${isActive(crawl) ? this.renderActiveDuration(crawl) : ""}
`
: ""}
${crawl.finished
? html`
(${crawl.fileCount === 1
? msg(str`${crawl.fileCount} file`)
: msg(str`${crawl.fileCount} files`)})
${msg(
str`in ${RelativeDuration.humanize(
new Date(`${crawl.finished}Z`).valueOf() -
new Date(`${crawl.started}Z`).valueOf(),
{ compact: true }
)}`
)}
`
: crawl.stats
? html`
${this.numberFormatter.format(+crawl.stats.done)}
/
${this.numberFormatter.format(+crawl.stats.found)}
${msg("pages crawled")}
`
: ""}
${crawl.manual
? html`
${msg("Manual Start")}
${msg(str`by ${crawl.userName || crawl.userid}`)}
`
: html`
${msg("Scheduled Run")}
`}