* frontend crawl stopping improvements (#836) - support new backend 'stopping' property - for now, keep 'stopping' indicator state when crawl is running but stopping set to true
This commit is contained in:
		
							parent
							
								
									2cae065c46
								
							
						
					
					
						commit
						82b21b6813
					
				| @ -15,6 +15,9 @@ export class CrawlStatus extends LitElement { | ||||
|   @property({ type: Boolean }) | ||||
|   hideLabel = false; | ||||
| 
 | ||||
|   @property({ type: Boolean }) | ||||
|   stopping = false; | ||||
| 
 | ||||
|   static styles = [ | ||||
|     animatePulse, | ||||
|     css` | ||||
| @ -173,7 +176,8 @@ export class CrawlStatus extends LitElement { | ||||
|   } | ||||
| 
 | ||||
|   render() { | ||||
|     const { icon, label } = CrawlStatus.getContent(this.state); | ||||
|     const state = this.stopping && this.state === "running" ? "stopping" : this.state; | ||||
|     const { icon, label } = CrawlStatus.getContent(state); | ||||
|     if (this.hideLabel) { | ||||
|       return html`<div class="icon-only">
 | ||||
|         <sl-tooltip content=${label} | ||||
|  | ||||
| @ -297,6 +297,7 @@ export class WorkflowListItem extends LitElement { | ||||
|                   state=${workflow.currCrawlState || | ||||
|                   workflow.lastCrawlState || | ||||
|                   msg("No Crawls Yet")} | ||||
|                   ?stopping=${workflow.currCrawlStopping} | ||||
|                 ></btrix-crawl-status> | ||||
|               ` | ||||
|           )} | ||||
|  | ||||
| @ -398,7 +398,7 @@ export class WorkflowDetail extends LiteElement { | ||||
|             @click=${() => this.stop()} | ||||
|             ?disabled=${!this.workflow?.currCrawlId || | ||||
|             this.isCancelingOrStoppingCrawl || | ||||
|             this.workflow?.currCrawlState === "stopping"} | ||||
|             this.workflow?.currCrawlStopping} | ||||
|           > | ||||
|             <sl-icon name="dash-circle" slot="prefix"></sl-icon> | ||||
|             <span>${msg("Stop")}</span> | ||||
| @ -480,7 +480,7 @@ export class WorkflowDetail extends LiteElement { | ||||
|             () => html` | ||||
|               <sl-menu-item | ||||
|                 @click=${() => this.stop()} | ||||
|                 ?disabled=${workflow.currCrawlState === "stopping" || | ||||
|                 ?disabled=${workflow.currCrawlStopping || | ||||
|                 this.isCancelingOrStoppingCrawl} | ||||
|               > | ||||
|                 <sl-icon name="dash-circle" slot="prefix"></sl-icon> | ||||
| @ -586,6 +586,7 @@ export class WorkflowDetail extends LiteElement { | ||||
|               state=${this.workflow!.currCrawlState || | ||||
|               this.workflow!.lastCrawlState || | ||||
|               msg("No Crawls Yet")} | ||||
|               ?stopping=${this.workflow?.currCrawlStopping} | ||||
|             ></btrix-crawl-status> | ||||
|           ` | ||||
|         )} | ||||
| @ -796,7 +797,7 @@ export class WorkflowDetail extends LiteElement { | ||||
|     const isStarting = this.workflow.currCrawlState === "starting"; | ||||
|     const isWaiting = this.workflow.currCrawlState === "waiting"; | ||||
|     const isRunning = this.workflow.currCrawlState === "running"; | ||||
|     const isStopping = this.workflow.currCrawlState === "stopping"; | ||||
|     const isStopping = this.workflow.currCrawlStopping; | ||||
|     const authToken = this.authState.headers.Authorization.split(" ")[1]; | ||||
| 
 | ||||
|     return html` | ||||
|  | ||||
| @ -361,7 +361,7 @@ export class WorkflowsList extends LiteElement { | ||||
|         () => html` | ||||
|           <sl-menu-item | ||||
|             @click=${() => this.stop(workflow.currCrawlId)} | ||||
|             ?disabled=${workflow.currCrawlState === "stopping"} | ||||
|             ?disabled=${workflow.currCrawlStopping} | ||||
|           > | ||||
|             <sl-icon name="dash-circle" slot="prefix"></sl-icon> | ||||
|             ${msg("Stop Crawl")} | ||||
|  | ||||
| @ -71,6 +71,7 @@ export type Workflow = CrawlConfig & { | ||||
|   currCrawlState: CrawlState | null; | ||||
|   currCrawlStartTime: string | null; | ||||
|   currCrawlSize: number | null; | ||||
|   currCrawlStopping: boolean | null; | ||||
|   totalSize: string | null; | ||||
|   inactive: boolean; | ||||
|   firstSeed: string; | ||||
| @ -119,4 +120,5 @@ export type Crawl = CrawlConfig & { | ||||
|   notes: string | null; | ||||
|   firstSeed: string; | ||||
|   seedCount: number; | ||||
|   stopping: boolean; | ||||
| }; | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user