PageSourceSearch

https://mass511.com/list-cameras-cbfbb38b1c93fdaedff1.js

js mass511.com collected 2026-09-24 11:15:10 UTC 20,792 bytes, 377 lines download raw bytes

1"use strict";(self.webpackChunkone_web=self.webpackChunkone_web||[]).push([[4752],{10427:(e,t,i)=>{i.d(t,{Ay:()=>v,nU:()=>p});var s=i(71413),r=i(52706),o=i(30555),a=i(24634),l=i(56365),n=i(65585),d=(i(5366),Object.defineProperty),c=Object.getOwnPropertyDescriptor,h=(e,t,i,s)=>{for(var r,o=s>1?void 0:s?c(t,i):t,a=e.length-1;a>=0;a--)(r=e[a])&&(o=(s?r(t,i,o):r(o))||o);return s&&o&&d(t,i,o),o},p=(e=>(e.CENTER="CENTER",e.LEFT="LEFT",e.RIGHT="RIGHT",e))(p||{});let u=class extends s.WF{constructor(){super(...arguments),this.splash=!1,this.expanded=!1,this.forceExpanded=!1,this.noAutoClose=!1,this._disable=!1,this.onBodyClick=e=>{const t=this.renderRoot.querySelector("#toggler");(0,n.A)(this.noAutoClose?this:t,e)||(this.expanded=!1)},this.onBodyEsc=e=>{"Escape"===e.key&&(this.expanded=!1)}}get disable(){return this._disable}set disable(e){const t=this._disable;this._disable=e,this.expanded=!1,this.requestUpdate("disable",t)}static get styles(){return[l.A,a.A,s.AH`
2				:host {
3					position: relative;
4					display: flex;
5				}
6				.btn.btn-link {
7					margin-top: var(--gap);
8				}
9				.menu {
10					text-align: end;
11				}
12				.menu.splash-menu {
13					text-align: start;
14					width: 375px;
15				}
16				.menu.splash-menu {
17					color: rgb(var(--darker));
18					background-color: #fff;
19					font-size: var(--smaller);
20				}
21			`]}render(){return s.qy`
22			<popper-container
23				@click="${this.toggleExpanded}"
24				is-flip
25				?is-visible=${this.expanded||this.forceExpanded}
26				style=${this.splash?"width: 100%; height: 100%":""}
27			>
28				<div
29					slot="toggler"
30					id="toggler"
31					style=${this.splash?"width: 100%; height: 100%":""}
32					class=${(0,o.H)({active:this.expanded||this.forceExpanded})}
33				>
34					<slot name="toggler"></slot>
35				</div>
36				<div
37					class="menu ${this.splash?"splash-menu":""}"
38					role="menu"
39					part="menu"
40					aria-hidden=${!this.expanded}
41				>
42					<slot id="options"></slot>
43					${this.noAutoClose?s.qy`<button id="close-dropdown" class="btn btn-link">Close</button>`:null}
44				</div>
45			</popper-container>
46		`}updated(){(this.expanded||this.forceExpanded)&&this.dispatchEvent(new CustomEvent("show")),this.expanded||this.forceExpanded||this.dispatchEvent(new CustomEvent("hide"))}toggleExpanded(e){const t=this.renderRoot.querySelector("#close-dropdown");(0,n.A)(t,e)?this.expanded=!1:this.disable||this.noAutoClose&&this.expanded||(this.expanded=!this.expanded)}connectedCallback(){super.connectedCallback(),document.addEventListener("click",this.onBodyClick),document.addEventListener("keyup",this.onBodyEsc)}disconnectedCallback(){document.removeEventListener("click",this.onBodyClick),document.removeEventListener("keyup",this.onBodyEsc),super.disconnectedCallback()}};h([(0,r.MZ)({type:Boolean})],u.prototype,"splash",2),h([(0,r.MZ)({type:Boolean,reflect:!0})],u.prototype,"expanded",2),h([(0,r.MZ)({type:Boolean,reflect:!0,attribute:"force-expanded"})],u.prototype,"forceExpanded",2),h([(0,r.MZ)({type:Boolean,reflect:!0,attribute:"no-auto-close"})],u.prototype,"noAutoClose",2),h([(0,r.MZ)({type:Boolean})],u.prototype,"disable",1),u=h([(0,r.EM)("dropdown-menu")],u);const v=u},56483:(e,t,i)=>{i.r(t),i.d(t,{default:()=>W});var s=i(92943),r=i(71413),o=i(10391),a=i(52706),l=i(56599),n=i(30555),d=i(25461),c=i(80027),h=i(5218),p=i(52850),u=i(61531),v=i(10514),m=i(36398),g=i(72932),y=i(32701),f=i(31376),b=i(24634),w=i(30842),k=i(69199),A=i(80480),$=i(35135),x=i(85512),C=i(27547),E=i(5124),L=i(19472),T=i(21693),P=i(11891),S=i(48444),O=i(63822),R=i(56188),V=Object.defineProperty,q=Object.getOwnPropertyDescriptor,I=(e,t,i,s)=>{for(var r,o=s>1?void 0:s?q(t,i):t,a=e.length-1;a>=0;a--)(r=e[a])&&(o=(s?r(t,i,o):r(o))||o);return s&&o&&V(t,i,o),o};let M=class extends r.WF{constructor(){super(...arguments),this.viewTitle="",this.videoState=S.Xt.NONE,this.textColor="dark",this.smallScreenHideText=!1,this.firstLoad=!1}static get styles(){return[y.A,b.A,E.A,r.AH`
47				.video-control {
48					display: flex;
49					font-size: 1rem;
50					padding: 0;
51				}
52
53				.video-control > svg {
54					width: 2rem;
55					height: 2rem;
56					fill: rgb(var(--dark-blue));
57				}
58
59				.video-control > span {
60					/* display: none; */
61					margin-left: 0.5rem;
62				}
63
64				.hide-text-small > span {
65					display: none;
66				}
67
68				@media (min-width: 768px) {
69					.hide-text-small > span {
70						display: block;
71					}
72				}
73
74				.text-dark {
75					color: rgb(var(--darker));
76				}
77				.text-light {
78					color: rgb(var(--clouds));
79				}
80			`]}handleButtonClick(e){return()=>{const t=(0,R.h)("crc:video:action",{detail:{action:e}});this.dispatchEvent(t)}}render(){return r.qy`
81			${this.videoState===S.Xt.LOADING?r.qy`
82						<button
83							type="button"
84							id="loading-message"
85							disabled
86							class=${(0,n.H)({btn:!0,"video-control":!0,"hide-text-small":this.smallScreenHideText,"text-dark":"dark"===this.textColor,"text-light":"light"===this.textColor})}
87							part="button"
88							aria-label="Loading Video - Click to Stop"
89						>
90							<svg role="presentation" part="icon" aria-hidden="true">
91								<use href="${"/images/sprites.svg#refresh"}"></use>
92							</svg>
93							<span>${(0,O.t)("Loading Video...")}</span>
94						</button>
95				  `:r.qy``}
96			${this.videoState===S.Xt.PAUSED||this.videoState===S.Xt.NONE?r.qy`
97						<button
98							type="button"
99							id="play-button"
100							class=${(0,n.H)({btn:!0,"video-control":!0,"hide-text-small":this.smallScreenHideText,"text-dark":"dark"===this.textColor,"text-light":"light"===this.textColor})}
101							@click=${this.handleButtonClick("play")}
102							title="Play video of camera ${this.viewTitle}"
103							part="button"
104						>
105							<svg role="presentation" part="icon" aria-hidden="true">
106								<use href="${"/images/sprites.svg#play"}"></use>
107							</svg>
108							<span>${(0,O.t)("Play Video")}</span>
109						</button>
110				  `:r.qy``}
111			${this.videoState===S.Xt.PLAYING?r.qy`
112						<button
113							type="button"
114							id="pause-button"
115							class=${(0,n.H)({btn:!0,"video-control":!0,"hide-text-small":this.smallScreenHideText,"text-dark":"dark"===this.textColor,"text-light":"light"===this.textColor})}
116							@click=${this.handleButtonClick("pause")}
117							title="Pause video of camera ${this.viewTitle}"
118							part="button"
119						>
120							<svg role="presentation" part="icon" aria-hidden="true">
121								<use href="${"/images/sprites.svg#pause"}"></use>
122							</svg>
123							<span>${(0,O.t)("Pause Video")}</span>
124						</button>
125				  `:r.qy``}
126			${this.videoState===S.Xt.COMPLETE?r.qy`
127						<button
128							tabindex="-1"
129							type="button"
130							id="refresh-button"
131							class=${(0,n.H)({btn:!0,"video-control":!0,"hide-text-small":this.smallScreenHideText,"text-dark":"dark"===this.textColor,"text-light":"light"===this.textColor})}
132							@click=${this.handleButtonClick("refresh")}
133							title="Refresh video of camera ${this.viewTitle}"
134							part="button"
135						>
136							<svg role="presentation" part="icon" aria-hidden="true">
137								<use href="${"/images/sprites.svg#refresh"}"></use>
138							</svg>
139							<span>${(0,O.t)("Refresh Video")}</span>
140						</button>
141				  `:r.qy``}
142			${this.videoState===S.Xt.ERRORING?r.qy`
143						<button
144							type="button"
145							id="retry-button"
146							class=${(0,n.H)({btn:!0,"video-control":!0,"hide-text-small":this.smallScreenHideText,"text-dark":"dark"===this.textColor,"text-light":"light"===this.textColor})}
147							@click=${this.handleButtonClick("retry")}
148							title="Reload video of camera ${this.viewTitle}"
149							part="button"
150						>
151							<svg role="presentation" part="icon" aria-hidden="true">
152								<use href="${"/images/sprites.svg#refresh"}"></use>
153							</svg>
154							<span>${(0,O.t)("Retry Video")}</span>
155						</button>
156				  `:r.qy``}
157		`}connectedCallback(){super.connectedCallback()}disconnectedCallback(){super.disconnectedCallback()}willUpdate(e){super.willUpdate(e),e.has("videoState")&&(this.firstLoad||(this.firstLoad=!0))}};I([(0,a.MZ)({type:String})],M.prototype,"viewTitle",2),I([(0,a.MZ)({type:String})],M.prototype,"videoState",2),I([(0,a.MZ)({type:String})],M.prototype,"textColor",2),I([(0,a.MZ)({type:Boolean})],M.prototype,"smallScreenHideText",2),I([(0,a.MZ)({type:Boolean})],M.prototype,"firstLoad",2),M=I([(0,a.EM)("video-player-control
157s-list-view")],M),i(33106);var N=i(38155),B=Object.defineProperty,H=Object.getOwnPropertyDescriptor,D=(e,t,i,s)=>{for(var r,o=s>1?void 0:s?H(t,i):t,a=e.length-1;a>=0;a--)(r=e[a])&&(o=(s?r(t,i,o):r(o))||o);return s&&o&&B(t,i,o),o};let X=class extends((0,l.N)(v.A)(r.WF)){constructor(){super(...arguments),this.href="#",this.anchorRef=(0,N._)()}static get styles(){return[b.A,r.AH`
158				a.btn.btn-link {
159					padding: calc(var(--gap) - 0.25rem);
160					margin: 0.25rem;
161				}
162
163				.square-button {
164					position: relative;
165					width: 1rem;
166					height: 1rem;
167				}
168
169				.square-a {
170					width: 1rem;
171					height: 1rem;
172					border: 2px solid rgb(var(--dell-gray));
173					background-color: white;
174					position: absolute;
175					top: 0.1rem;
176					right: 0.1rem;
177				}
178
179				.square-b {
180					width: 1rem;
181					height: 1rem;
182					border: 2px solid rgb(var(--dell-gray));
183					background-color: white;
184					position: absolute;
185					top: -0.3rem;
186					right: -0.3rem;
187				}
188			`]}render(){return r.qy` <a
189			${(0,N.K)(this.anchorRef)}
190			href="${this.href}"
191			class="btn btn-link"
192			title="See enlarged view"
193		>
194			<div class="square-button">
195				<div class="square-a"></div>
196				<div class="square-b"></div>
197			</div>
198		</a>`}connectedCallback(){super.connectedCallback(),this.focusAnchorCallback=this.focusAnchor.bind(this),document.addEventListener("media-modal-dismissed",this.focusAnchorCallback)}disconnectedCallback(){super.disconnectedCallback(),this.focusAnchorCallback&&document.removeEventListener("media-modal-dismissed",this.focusAnchorCallback)}focusAnchor(e){const t=e?.detail?.href;this.href===t&&setTimeout((()=>this.anchorRef?.value?.focus()),0)}};D([(0,a.MZ)({type:String})],X.prototype,"href",2),X=D([(0,a.EM)("view-enlarged-link")],X),i(4169);var _=Object.defineProperty,Z=Object.getOwnPropertyDescriptor,G=(e,t,i,s)=>{for(var r,o=s>1?void 0:s?Z(t,i):t,a=e.length-1;a>=0;a--)(r=e[a])&&(o=(s?r(t,i,o):r(o))||o);return s&&o&&_(t,i,o),o};const z="crc:video:refetch";let U=class extends((0,l.N)(v.A)(r.WF)){constructor(){super(...arguments),this.error=!1,this.success=!1,this.renderTimeoutId=NaN,this.renderVideo=!0,this.videoState=S.Xt.NONE}static get styles(){return[w.A,y.A,E.A,b.A,r.AH`
199				.list-card {
200					height: 100%;
201				}
202
203				.video-control {
204					padding: 0;
205					display: flex;
206					font-size: 1rem;
207				}
208
209				.video-control > svg {
210					width: 2rem;
211					height: 2rem;
212					fill: rgb(var(--dark-blue));
213				}
214
215				.video-control > span {
216					margin-left: 0.5rem;
217				}
218
219				.video-player-container {
220					position: relative;
221				}
222
223				.video-player-overlay {
224					position: absolute;
225					top: 0;
226					left: 0;
227					width: 100%;
228					height: 100%;
229				}
230
231				video-player {
232					height: 100%;
233					width: 100%;
234				}
235
236				.right {
237					margin-left: auto;
238					margin-right: var(--gap);
239				}
240
241				.btn-link {
242					font-size: 1rem;
243					cursor: pointer;
244					margin-top: calc(var(--gap) / 3);
245				}
246
247				video-player-controls-list-view::part(button) {
248					padding: calc(var(--gap) - 0.25rem);
249					margin: 0.25rem;
250				}
251
252				video-player-controls-list-view::part(icon) {
253					width: 1.5rem;
254					height: 1.5rem;
255				}
256			`]}trackVideoState(e){const t=e.detail.state;if(t===S.Xt.PLAYING){v.A.dispatch({type:L.w.GTAG_VIDEO_PLAY});const e=(0,R.h)(z,{detail:"system"});if(this.dispatchEvent(e),c.mc?.tokenized){const e=this.view?.sources?.[0]?.src??"";if(null!=e&&""!==e){let t=Date.now();const i=new URL(e),s=i.searchParams.get("token");let r=!1;if(null!=s)try{const e=(0,C.s)(s);null!=e?.exp&&(t=1e3*e.exp,r=!0)}catch(e){}const o=i.searchParams.get("startBy");!r&&null!=o&&/\d+/.test(o)&&(t=parseInt(o,10));const a=Date.now();if(t>a){const e=t-a,i=3e3,s=e-i>0?e-i:e;clearTimeout(this.playingRefetchTimeoutId),this.playingRefetchTimeoutId=window.setTimeout((()=>{v.A.dispatch((0,g.q)());const e=(0,R.h)(z,{detail:"system"});this.dispatchEvent(e)}),s)}}}}else null!=this.playingRefetchTimeoutId&&window.clearTimeout(this.playingRefetchTimeoutId);t===S.Xt.PAUSED&&v.A.dispatch({type:L.w.GTAG_VIDEO_PAUSE}),null!=c.mc&&([S.Xt.LOADING,S.Xt.PLAYING].includes(this.videoState)&&[S.Xt.COMPLETE,S.Xt.PAUSED].includes(t)?(clearTimeout(this.renderTimeoutId),this.renderTimeoutId=window.setTimeout((()=>{this.renderVideo=!1,window.setTimeout((()=>{this.renderVideo=!0,this.videoState=S.Xt.COMPLETE}),0)}),c.mc.playbackTimeLimit)):[S.Xt.COMPLETE,S.Xt.PAUSED].includes(this.videoState)&&[S.Xt.LOADING,S.Xt.PLAYING].includes(t)&&(clearTimeout(this.renderTimeoutId),this.renderTimeoutId=NaN)),this.videoState=t}handleControlAction(e){if(null==this.videoPlayer)return;const{action:t}=e.detail;t===P.ez.PLAY&&c.mc?.onlyAllowOneListVideo&&U.stopOrResetPreviousVideo(this.videoPlayer);const i=this.videoPlayer;(0,S.JI)(i,t),U.stopOrResetPreviousVideo=e=>{e!==this.videoPlayer&&(clearTimeout(this.renderTimeoutId),this.renderVideo=!1,this.renderTimeoutId=window.setTimeout((()=>{this.renderVideo=!0}),0))}}videoClicked(){null!=this.videoPlayer&&(c.mc?.onlyAllowOneListVideo&&U.stopOrResetPreviousVideo(this.videoPlayer),U.stopOrResetPreviousVideo=e=>{e!==this.videoPlayer&&(clearTimeout(this.renderTimeoutId),this.renderVideo=!1,this.renderTimeoutId=window.setTimeout((()=>{this.renderVideo=!0}),0))})}updated(e){if(e.has("renderVideo")&&(e.get("renderVideo")||(this.videoState=S.Xt.PAUSED)),e.has("view")){const e=document.createElement("img");e.src=this.view?.url||"",e.onerror=()=>{this.error=!0},e.onload=()=>{this.success=!0,this.error=!1}}}
256determineBackgroundImage(){return this.error?"/images/icon-camera-closed-fill-solid-padded.svg":this.error||this.success?this.view?.url||"":"/images/loading.svg"}renderVideoButton(){return this.view?.url===c.QW["camera-video-unavailable"]?null:r.qy`<video-player-controls-list-view
257			videoState=${this.videoState}
258			viewTitle=${this.view?.title||""}
259			textColor="dark"
260			@crc:video:action=${this.handleControlAction}
261		></video-player-controls-list-view>`}handlePause(e){if(c.mc?.tokenized){v.A.dispatch((0,g.q)());const e=(0,R.h)(z,{detail:"system"});this.dispatchEvent(e)}}render(){if(!this.view)return r.qy``;const e=this.view?.category===p.NaE.VIDEO;return r.qy`
262			<div class="card list-card">
263				<div class="list-card-title">
264					<h3 class="list-card-title-text" ignore>${this.view?.title}</h3>
265				</div>
266
267				<div
268					class="list-card-img video-player-container"
269					@click=${this.videoClicked}
270					style=${(0,A.W)({"background-image":e?"":`url(${this.determineBackgroundImage()})`,cursor:e?"pointer":"auto","background-size":this.view?.url===c.QW["camera-video-unavailable"]?"contain":"cover"})}
271					role="img"
272					aria-label="${(0,$.J)(this.view.title)}"
273				>
274					${e?r.qy`<div class="video-player-overlay">
275								${this.renderVideo?(0,x.D)(this.view?.uri??"",r.qy` <video-player
276												@crc:video:stateChange=${this.trackVideoState}
277												@crc:video:paused=${this.handlePause}
278												.sources=${this.view?.sources}
279												poster=${(0,$.J)(this.view?.url??void 0)}
280												component="card"
281											></video-player>`):null}
282						  </div>`:r.qy``}
283				</div>
284
285				<div class="list-card-footer">
286					${e?this.renderVideoButton():r.qy``}
287
288					<div class="right">
289						<view-on-map-link
290							.href="#${T.UG.MAP}/${this.view.parentCollection.uri}"
291						></view-on-map-link>
292						<view-enlarged-link
293							.href="#${T.UG.MEDIA}/${this.view.uri}"
294						></view-enlarged-link>
295					</div>
296				</div>
297			</div>
298		`}};U.stopOrResetPreviousVideo=()=>{},G([(0,a.MZ)({type:Object})],U.prototype,"view",2),G([(0,a.MZ)({type:Boolean,reflect:!0})],U.prototype,"error",2),G([(0,a.MZ)({type:Boolean,reflect:!0})],U.prototype,"success",2),G([(0,a.MZ)({type:Boolean})],U.prototype,"renderVideo",2),G([(0,a.MZ)({type:String})],U.prototype,"videoState",2),G([(0,a.P)("video-player")],U.prototype,"videoPlayer",2),U=G([(0,a.EM)("list-cameras-view")],U),i(15245);var j=Object.defineProperty,Y=Object.getOwnPropertyDescriptor,F=(e,t,i,s)=>{for(var r,o=s>1?void 0:s?Y(t,i):t,a=e.length-1;a>=0;a--)(r=e[a])&&(o=(s?r(t,i,o):r(o))||o);return s&&o&&j(t,i,o),o};let W=class extends((0,l.N)(v.A)(k.A)){constructor(){super(...arguments),this.listType=p.OXP.CAMERAS,this.refetchTimeout=setInterval((()=>{c.mc?.tokenized&&v.A.dispatch((0,g.q)())}),c.mc?.playbackTimeLimit?c.mc.playbackTimeLimit+3e4:15e4),this.refetchedVideos=(0,u.A)((()=>{clearInterval(this.refetchTimeout),this.refetchTimeout=setInterval((()=>{c.mc?.tokenized&&v.A.dispatch((0,g.q)())}),c.mc?.playbackTimeLimit?c.mc.playbackTimeLimit+3e4:15e4)}),750)}static get styles(){const e=(0,r.iz)(p.EA.PHONE_XL);return[y.A,f.A,b.A,w.A,r.AH`
299				/* for android upper and lower bars */
300				:host {
301					display: block;
302					background-color: #fff;
303					box-shadow: var(--shadow-sm);
304					border-top: var(--border-width) solid rgb(var(--silver));
305					border-bottom: var(--border-width) solid rgb(var(--silver));
306				}
307
308				.notification {
309					grid-area: 2 / 1 / -1 / -1;
310				}
311
312				.controls {
313					border-bottom: var(--border-width) solid rgb(var(--silver));
314				}
315
316				@media all and (min-width: ${e}) {
317					.list-card-gallery {
318						grid-template-columns: repeat(auto-fit, minmax(25rem, 1fr));
319					}
320				}
321			`]}render(){if(!this.cameraViewList)return r.qy`${this.renderLoadingSpinner()}`;const e=Object.keys(this.cameraViewList);return r.qy`
322			<h1 class="list-page-header">
323				${s.zx.find((({slug:e})=>e===this.page))?.label}
324			</h1>
325			<div id="scroll-sentinel"></div>
326			<div
327				id="sticky-controls"
328				class=${(0,n.H)({"sticky-header":!0,controls:!0,"sticky-header--shadow":this.isHeaderStuck})}
329			>
330				${this.renderControls()}
331				${this.isOffline||this.error?.type!==p.i65.INTERNAL_SERVER_ERROR?void 0:r.qy`
332							<div class="notification notification--error">
333								${(0,h._)(c.s1.error.application)}
334							</div>
335					  `}
336				${this.isOffline?r.qy`
337							<div class="notification notification--warning">
338								${(0,h._)(c.s1.error.network)}
339							</div>
340					  `:void 0}
341			</div>
342			${e.length||this.error?void 0:r.qy`<div class="notification notification--warning">${this.renderNoData()}</div>`}
343			${e.length?r.qy`<div class="list-card-gallery">
344						${(0,o.u)(e,(e=>e),(e=>r.qy` <h2 class="list-card-gallery-title">${e}</h2>
345									${null==this.cameraViewList?.[e]?r.s6:(0,o.u)(this.cameraViewList[e],(({url:e,uri:t})=>e||t),(e=>r.qy`<list-cameras-view
346													.view=${e}
347													@crc:video:refetch=${()=>this.refetchedVideos()}
348												></list-cameras-view>`))}`))}
349				  </div>`:void 0}
350		`}renderFilters(){const e=c.YA.listCameraConfig?.normalCameraLabel||"Normal Cameras",t=c.YA.listCameraConfig?.hotCameraLabel||c.Wx["dashboard.camera.header"]||"Hot Cameras";return r.qy`
351			<ow-multi-select
352				name="roadway"
353				label="Roadway"
354				class="form-element filter-select"
355				.value=${(0,d.V)(this.routes)}
356				.categorizedChoices=${this.getMultiSelectRoadwayChoices()}
357				?loading=${!this.allRoutes}
358				@change=${this.filterPredRoutes}
359			></ow-multi-select>
360			<ow-multi-select
361				name="area"
362				label="Predefined area"
363				class="form-element filter-select"
364				.value=${(0,d.V)(this.areas)}
365				.categorizedChoices=${this.getAllPredefinedAreaChoices()}
366				?loading=${!this.allPredefinedAreas}
367				@change=${this.filterArea}
368			></ow-multi-select>
369			${c.YA.disableCameraStatusFilter?r.qy``:r.qy`<ow-multi-select
370						name="status"
371						label="Status"
372						class="form-element filter-select"
373						.value=${(0,d.V)(this.classificationsOrSlugs)}
374						.categorizedChoices=${[{choices:[{id:p.f2p.NORMAL_CAMERA,label:e},{id:p.f2p.HOT_CAMERA,label:t}]}]}
375						@change=${this.filterType}
376				  ></ow-multi-select>`}
377		`}stateChanged(e){this.allPredefinedAreas=e.filterList.allPredefinedAreas,this.allRoutes=e.filterList.allRoutes,this.sortDirection=e.filterList.sortDirection,this.sortType=e.filterList.sortType,this.freeSearchTerm=e.filterList.freeSearchTerm,this.routes=e.filterList.routes,this.areas=e.filterList.areas,this.classificationsOrSlugs=e.f
377ilterList.classificationsOrSlugs,this.page=e.routingList.page,this.pageRecordLimit=e.filterList.pageRecordLimit,this.currentPage=e.filterList.currentPage,this.totalRecords=e.filterList.totalRecords,this.cameraViewList=(0,m.V)(e),this.isLoading=e.cameraList.isLoading,this.modalView=e.modalList.modalView,this.isOffline=e.layoutList.isOffline,this.error=e.cameraList.error}};F([(0,a.MZ)({type:Array})],W.prototype,"cameraViewList",2),W=F([(0,a.EM)("list-cameras")],W)},65585:(e,t,i)=>{i.d(t,{A:()=>s});const s=(e,t)=>t.composedPath?!!t.composedPath().find((t=>e===t)):!!e.contains(t.target)}}]);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.