Daktronics.Conversions=Daktronics.Conversions||{millimeterToFeet:function(mm){return mm/304.8},millimeterToInch:function(mm){return mm/25.4},feetToMillimeter:function(ft){return ft*304.8},meterToInches:function(m){return m*39.3700787},millimeterToMeter:function(mm){return mm/1e3},millimeterToCentimeter:function(mm){return mm/10},meterToMillimeter:function(m){return m*1e3},feetToMeter:function(ft){return Daktronics.Conversions.millimeterToMeter(Daktronics.Conversions.feetToMillimeter(ft))},meterToFeet:function(m){return Daktronics.Conversions.millimeterToFeet(Daktronics.Conversions.meterToMillimeter(m))},poundToKilo:function(lb){return lb/2.2046},inchesToFeet:function(inches,inchesFactionDigits=1){var feet=Math.floor(inches/12),inchesPrecision=Math.pow(10,inchesFactionDigits),inchesRemainder=Math.round(inches%12*inchesPrecision)/inchesPrecision,inchesRounded,returnVal;if(inchesRemainder>0&&inchesRemainder<12){let inchesFormat=new Intl.NumberFormat("en-US",{maximumFractionDigits:inchesFactionDigits});inchesRounded=inchesFormat.format(inchesRemainder)}else inchesRemainder===12&&feet++;return returnVal=feet+"'",inchesRounded&&(returnVal+=` ${inchesRounded}"`),returnVal},inchesToFeetDecimal:function(inches){return inches/12},inchesToFeetRounded:function(inches,feetDecimalPlaces=0){const feetPrecision=Math.pow(10,feetDecimalPlaces);return Math.round(Daktronics.Conversions.inchesToFeetDecimal(inches)*feetPrecision)/feetPrecision},inchesToCentimeter:function(inches){return inches*2.54},inchesToMeters:function(inches,formatted=false){let val=inches/39.3700787;return formatted?Daktronics.Conversions.decimalRoundedToHundreths(val)+"m":val},feetToInches:function(ft){return ft*12},mmToInches:function(mm){return mm*.03937},kiloToPound:function(kg){return kg*2.2046},decimalRoundedToHundreths:function(value){let epsilon=Number.EPSILON||Math.pow(2,-52);return Math.round((value+epsilon)*100)/100},decimalRoundedToTenths:function(value){let epsilon=Number.EPSILON||Math.pow(2,-52);return Math.round((value+epsilon)*10)/10}};Daktronics.Dimensions=Daktronics.Dimensions||function(heightInches=0,lengthInches=0,depthInches=0){this.heightInches=heightInches;this.lengthInches=lengthInches;this.depthInches=depthInches;this.heightInFeet=function(){return this.heightInches?Daktronics.Conversions.inchesToFeet(this.heightInches):null};this.lengthInFeet=function(){return this.lengthInches?Daktronics.Conversions.inchesToFeet(this.lengthInches):null};this.depthInFeet=function(){return this.depthInches?Daktronics.Conversions.inchesToFeet(this.depthInches):null};this.heightInMeters=function(){return this.heightInches?Daktronics.Conversions.inchesToMeters(this.heightInches,!0):null};this.lengthInMeters=function(){return this.lengthInches?Daktronics.Conversions.inchesToMeters(this.lengthInches,!0):null};this.depthInMeters=function(){return this.depthInches?Daktronics.Conversions.inchesToMeters(this.depthInches,!0):null}};Daktronics.Dimensions.prototype.toString=function(standardOnly=false,metricOnly=false){let stdSB=[],metricSB=[],stringVal="";if(this.heightInFeet()&&stdSB.push(this.heightInFeet()),this.lengthInFeet()&&stdSB.push(this.lengthInFeet()),this.depthInFeet()&&stdSB.push(this.depthInFeet()),this.heightInMeters()&&metricSB.push(this.heightInMeters()),this.lengthInMeters()&&metricSB.push(this.lengthInMeters()),this.depthInMeters()&&metricSB.push(this.depthInMeters()),stdSB.length&&(stringVal=stdSB.join(" x "),standardOnly))return stringVal;if(metricSB.length){let metricVal=metricSB.join(" x ");if(metricOnly)return metricVal;stringVal+=` (${metricVal})`}return stringVal};
Vue.component("loading",{template:`<div class="loadingSpinner text-center">
    <i class="fas fa-spinner fa-spin fa-3x" style="color: #169AD7;"></i>
    <p>Loading...</p>
</div>`});
Vue.component("configurator-collapse-primary",{props:{name:String,label:String,priceLabel:String,parentSelector:String,defaultCollapsed:{type:Boolean,"default":!0}},data:function(){return{isCollapsed:!0}},computed:{elementId:function(){return"configurator-form-collapse-primary_"+this.name}},methods:{trackEvent:function(){gtag("event","Progress",{event_category:"Configurator",event_label:this.label.toLowerCase()})}},created:function(){this.$nextTick(function(){let $thisElement=$("#"+this.elementId);$thisElement.on("hidden.bs.collapse shown.bs.collapse",()=>{this.$emit("collapse-state-changed")});$thisElement.on("hide.bs.collapse",event=>{$thisElement.is(event.target)&&(this.isCollapsed=!0)});$thisElement.on("show.bs.collapse",event=>{$thisElement.is(event.target)&&(this.isCollapsed=!1,this.trackEvent())});this.defaultCollapsed===!1&&$thisElement.collapse("show")})},template:`
<div class="mb-3">
    <div class="accordionHeading collapsed align-items-center" data-toggle="collapse" :data-target="'#' + elementId" role="button">
        <div class="media-body row align-items-center no-gutters">
            <div class="col">
                <h4>{{ label }}</h4>
            </div>
			<div class="col-auto">
                <h4 v-if="priceLabel" class="price-subtotal mr-4">{{ priceLabel }}</h4>
                <i class="fas fa-caret-down fa-2x"></i>
            </div>
        </div>
    </div>
    <div class="collapse" :id="elementId" :data-parent="parentSelector">
        <div class="p-3">
            <slot></slot>
        </div>
    </div>
</div>`});Vue.component("configurator-collapse",{props:{name:String,label:String,caption:String,parentSelector:String,showHr:{type:Boolean,"default":!0}},data:function(){return{isCollapsed:!0}},computed:{elementId:function(){return"configurator-form-collapse_"+this.name},buttonText:function(){return this.isCollapsed?"Choose":"Done"}},methods:{trackEvent:function(){gtag("event","Progress",{event_category:"Scoreboard Configurator",event_label:this.label.toLowerCase()})}},created:function(){this.$nextTick(function(){let $thisElement=$("#"+this.elementId);$thisElement.on("hidden.bs.collapse shown.bs.collapse",()=>{this.$emit("collapse-state-changed")});$thisElement.on("hide.bs.collapse",event=>{$thisElement.is(event.target)&&(this.isCollapsed=!0)});$thisElement.on("show.bs.collapse",event=>{$thisElement.is(event.target)&&(this.isCollapsed=!1,this.trackEvent())})})},template:`
<div class="configurator-form-collapse">
    <div class="configurator-form-heading collapsed container-fluid p-0" data-toggle="collapse" :data-target="'#' + elementId" role="button">
        <div class="row justify-content-between no-gutters">
            <div class="col-auto">
                <h4 class="m-0">{{ label }}</h4>
            </div>
            <div class="col-auto">
                <button class="btn btn-outline-info btn-sm configurator-form-button m-0">{{ buttonText }}</button>
            </div>
        </div>
        <div v-if="caption" v-show="isCollapsed" class="row justify-content-between no-gutters"><span class="configurator-form-caption">{{ caption }}</span></div>
    </div>
    <div class="collapse" :id="elementId" :data-parent="parentSelector">
        <slot></slot>
    </div>
    <hr v-if="showHr" class="my-3" />
</div>`});
Vue.component("message-display-visual",{props:{scaleReferenceUrl:String,displayContentUrl:String,pixelGrid:{type:Object,"default":function(){return{url:null,imageWidth:4,scale:.5}}},selectedConfiguration:Object,background:Object,mountStyle:String},data(){return{scaleRef:{px:125,"in":72,ratio:0},windowScale:1}},computed:{activeHeightPx(){var _a;let heightPx=((_a=this.selectedConfiguration)===null||_a===void 0?void 0:_a.activeHeightInches)*this.scaleRef.ratio;return isNaN(heightPx)?0:Math.ceil(heightPx)},activeWidthPx(){var _a;let widthPx=((_a=this.selectedConfiguration)===null||_a===void 0?void 0:_a.activeWidthInches)*this.scaleRef.ratio;return isNaN(widthPx)?0:Math.ceil(widthPx)},borderYPx(){var _a;let yPx=((_a=this.selectedConfiguration)===null||_a===void 0?void 0:_a.cabinetBorderYInches)*this.scaleRef.ratio;return isNaN(yPx)?0:Math.ceil(yPx)},borderXPx(){var _a;let xPx=((_a=this.selectedConfiguration)===null||_a===void 0?void 0:_a.cabinetBorderXInches)*this.scaleRef.ratio;return isNaN(xPx)?0:Math.ceil(xPx)},signWidth(){var _a;let signWidth=this.activeWidthPx+this.borderXPx;return((_a=this.mountStyle)===null||_a===void 0?void 0:_a.includes("Monument"))&&(signWidth=this.monumentDimensionsPx.totalWidth),signWidth},structureHeightPx(){let heightInFeet=10;this.mountStyle==="Tall Monument"&&(heightInFeet=15);let heightPx=heightInFeet*12*this.scaleRef.ratio;return isNaN(heightPx)?0:heightPx},structureWidthPx(){let widthPx=12*this.scaleRef.ratio;return this.mountStyle==="None"&&(widthPx=0),isNaN(widthPx)?0:widthPx},displayPositionPx(){let displayPositionPx=this.structureHeightPx;if(this.mountStyle==="Monument")displayPositionPx=this.monumentDimensionsPx.pedestalHeight+this.monumentDimensionsPx.displayMargin;else if(this.mountStyle==="Tall Monument"){let smallSignMonument=this.structureHeightPx-this.monumentDimensionsPx.displayMargin-(this.activeHeightPx+this.borderYPx),largeSignMonument=this.monumentDimensionsPx.displayMargin;displayPositionPx=Math.max(smallSignMonument,largeSignMonument)}return displayPositionPx},monumentDimensionsPx(){let displayMarginIn=12,dimensions={displayMargin:displayMarginIn*this.scaleRef.ratio,width:this.activeWidthPx+this.borderXPx+displayMarginIn*2*this.scaleRef.ratio,height:this.activeHeightPx+this.borderYPx+displayMarginIn*2*this.scaleRef.ratio,capHeight:6*this.scaleRef.ratio,pedestalHeight:24*this.scaleRef.ratio};return this.mountStyle==="Tall Monument"&&(dimensions.height=Math.max(this.structureHeightPx,dimensions.height)),dimensions.pedestalWidth=dimensions.width+12*this.scaleRef.ratio,dimensions.capWidth=dimensions.width+6*this.scaleRef.ratio,dimensions.totalHeight=dimensions.height+dimensions.capHeight+dimensions.pedestalHeight,dimensions.totalWidth=Math.max(dimensions.pedestalWidth,dimensions.capWidth,dimensions.width),dimensions},scaledDimensions(){let monument=this.monumentDimensionsPx;return{scaleRef:{px:this.scaleRef.px*this.windowScale,centerOffset:220*this.windowScale,ratio:this.scaleRef.px*this.windowScale/this.scaleRef.in},setting:this.getSignSettingStyles(),monument:{width:monument.width*this.windowScale,height:monument.height*this.windowScale,capHeight:monument.capHeight*this.windowScale,pedestalHeight:monument.pedestalHeight*this.windowScale,pedestalWidth:monument.pedestalWidth*this.windowScale,capWidth:monument.capWidth*this.windowScale,totalHeight:monument.totalHeight*this.windowScale,totalWidth:monument.totalWidth*this.windowScale},structure:{width:this.structureWidthPx*this.windowScale,height:this.structureHeightPx*this.windowScale},display:{position:this.displayPositionPx*this.windowScale,activeWidth:this.activeWidthPx*this.windowScale,activeHeight:this.activeHeightPx*this.windowScale,border:{x:this.borderXPx*this.windowScale,y:this.borderYPx*this.windowScale,top:this.borderYPx/2*this.windowScale,bottom:this.borderYPx/2*this.windowScale,left:this.borderXPx/2*this.windowScale,right:this.borderXPx/2*this.windowScale},totalWidth:this.activeWidthPx*this.windowScale+this.borderXPx*this.windowScale,totalHeight:this.activeHeightPx*this.windowScale+this.borderYPx*this.windowScale}}},pixelMeshStyles(){var _a;let selectedLineSpacing=(_a=this.selectedConfiguration)===null||_a===void 0?void 0:_a.lineSpacing,opacity=.9;switch(selectedLineSpacing){case 15.85:opacity=.6;break;case 10:opacity=.3;break;case 8:opacity=.15;break;case 6:opacity=.07}return{opacity:opacity,backgroundImage:'url("'+this.pixelGrid.url+'")',backgroundSize:this.pixelGrid.imageWidth*this.pixelGrid.scale*this.windowScale+"px"}}},methods:{setScale(){this.scaleRef.ratio=this.scaleRef.px/this.scaleRef.in},setSpaceHeight(){let $this=$(this.$el),$structure=$this.find(".structure"),$display=$this.find(".display"),windowHeight=$(window).height(),signHeight=$structure.height();["Single Pole","Double Pole","None"].includes(this.mountStyle)&&(signHeight=$structure.height()+$display.height());let spaceHeight=Math.max(signHeight+signHeight*.04,windowHeight*.55);$this.height(spaceHeight+"px")},setWindowScaleRatio(){this.windowScale=Math.min($(this.$el).width()/this.signWidth,1)},getSignSettingStyles(){let $settingImg=$(this.$el).find("img.sign-setting");return $settingImg.length?{width:$settingImg.get(0).naturalWidth*this.windowScale+"px",height:$settingImg.get(0).naturalHeight*this.windowScale+"px"}:null}},mounted(){$(window).on("resize",()=>{this.setSpaceHeight(),this.setWindowScaleRatio()})},updated(){this.$nextTick(function(){this.setSpaceHeight();this.setWindowScaleRatio()})},template:`
<div class="space">
	<img v-if="background && background.url" class="sign-background" :src="background.url" :style="scaledDimensions.setting"/>
	<div v-if="selectedConfiguration">
		<div v-if="mountStyle === 'Monument'" class="structure">
			<div style="background-color:#58595b; margin: 0 auto;" :style="{height: scaledDimensions.monument.capHeight + 'px', width: scaledDimensions.monument.capWidth + 'px'}"></div>
			<div style="background-color:#808285; margin: 0 auto;" :style="{height: scaledDimensions.monument.height + 'px', width: scaledDimensions.monument.width + 'px'}"></div>
			<div style="background-color:#58595b; margin: 0 auto;" :style="{height: scaledDimensions.monument.pedestalHeight + 'px', width: scaledDimensions.monument.pedestalWidth + 'px'}"></div>
		</div>
		<div v-else-if="mountStyle === 'Tall Monument'" class="structure">
			<div style="background-color:#58595b; margin: 0 auto;" :style="{height: scaledDimensions.monument.capHeight + 'px', width: scaledDimensions.monument.capWidth + 'px'}"></div>
			<div style="background-color:#808285; margin: 0 auto;" :style="{height: scaledDimensions.monument.height + 'px', width: scaledDimensions.monument.width + 'px'}"></div>
		</div>
		<div v-else-if="mountStyle === 'Double Pole'" class="structure" :style="{
				width: scaledDimensions.display.totalWidth + 'px',
				height: scaledDimensions.structure.height + 'px'
			}">
			<div class="structure print-background" style="background-color:#58595b; transform:none; bottom: 0;" :style="{
				width: scaledDimensions.structure.width + 'px',
				height: scaledDimensions.structure.height + 'px',
				left: (12 * scaledDimensions.scaleRef.ratio) + 'px'
			}"></div>
			<div class="structure print-background" style="background-color:#58595b; left:unset; transform:none; bottom: 0;" :style="{
				width: scaledDimensions.structure.width + 'px',
				height: scaledDimensions.structure.height + 'px',
				right: (12 * scaledDimensions.scaleRef.ratio) + 'px'
			}"></div>
		</div>
		<div v-else class="structure print-background" style="background-color:#58595b;" :style="{
				width: scaledDimensions.structure.width + 'px',
				height: scaledDimensions.structure.height + 'px'
			}"></div>
	</div>
	<div class="display print-background" :style="{bottom: 'calc(' + scaledDimensions.display.position + 'px + 4%)'}">
		<div class="top":style="{width: scaledDimensions.display.totalWidth + 'px', height: scaledDimensions.display.border.top + 'px'}"></div>
		<div class="middle">
			<div class="left-side" :style="{height: scaledDimensions.display.activeHeight + 'px', width: scaledDimensions.display.border.left + 'px'}"></div>
			<div class="active-area" :style="{height: scaledDimensions.display.activeHeight + 'px', width: scaledDimensions.display.activeWidth + 'px', backgroundImage: 'url(' + displayContentUrl + ')'}">
				<div class="active-area-grid" :style="pixelMeshStyles"></div>
			</div>
			<div class="right-side" :style="{height: scaledDimensions.display.activeHeight + 'px', width: scaledDimensions.display.border.right + 'px'}"></div>
		</div>
		<div class="bottom" :style="{width: scaledDimensions.display.totalWidth + 'px', height: scaledDimensions.display.border.bottom + 'px'}">
			<div class="logos">
				<span class="logo"></span>
				<span class="logo company-logo" :style="{fontSize: scaledDimensions.display.border.bottom - 2 + 'px'}">DAKTRONICS</span>
				<span class="logo product-logo" :style="{fontSize: scaledDimensions.display.border.bottom - 2 + 'px'}">GALAXY</span>
			</div>
		</div>
	</div>
	<img :src="scaleReferenceUrl" class="scale-ref" @load="setScale" :style="{height: scaledDimensions.scaleRef.px + 'px', left: 'calc(50% + ' + scaledDimensions.scaleRef.centerOffset + 'px)'}" />
</div>`});
const specTableSelectors=Object.freeze({MAIN:Object.freeze({TABLE:"table:not(.freeze-table)",ROW:"table:not(.freeze-table) tr",HEAD:"table:not(.freeze-table) thead",BODY:"table:not(.freeze-table) tbody",ROW_HEAD_CELL:"table:not(.freeze-table) thead > tr > *",DATA_ROW:"table:not(.freeze-table) tbody tr"}),FREEZE:Object.freeze({TABLE:".freeze-table",BODY:".freeze-table tbody",ROW:".freeze-table tr",DATA_ROW:".freeze-table tbody tr"}),FIRST_CELL:"tbody > tr:first-child > *:first-child",LAST_CELL:"tbody td:last-child, tbody th:last-child"});Vue.component("configurator-spec-table",{props:{tableData:Array,headKey:String,footKey:String,selectedValue:[String,Number],selectedValueKey:String,rowHeadings:{type:Array,validator:function(headings){return headings.every(heading=>heading.label&&heading.key)}},actionKey:String,forPrint:{type:Boolean,"default":!1},rowsToFreeze:{type:Number,"default":1}},data(){return{modalTitle:"",modalBody:""}},computed:{footerLabel(){var _a,_b;if((_b=(_a=this.rowHeadings)===null||_a===void 0?void 0:_a.find(heading=>heading.key===this.footKey))!==null&&_b!==void 0)return _b.label},freezeHeaderRow(){return this.rowsToFreeze>0},frozenRowHeadings(){return this.rowHeadings.slice(0,this.rowsToFreeze-1)}},watch:{tableData(){this.$nextTick(function(){this.setTableBodyWidth();this.addRowHoverEventListeners()})}},methods:{getCellHtml(columnValue){return this.isObject(columnValue)?columnValue.value:columnValue},hasToolTip(columnValue){return!!columnValue&&!!columnValue.toolTip},hasDetail(columnValue){return!!columnValue&&!!columnValue.detail&&this.isObject(columnValue.detail)&&!!columnValue.detail.body},isColumnSelected(columnValue){return this.selectedValue?this.selectedValue===columnValue:!1},setModal(columnValue){columnValue.detail&&this.isObject(columnValue.detail)&&(this.modalTitle=columnValue.detail.title,this.modalBody=columnValue.detail.body);this.hasDetail(columnValue)&&$(this.$el).find(".modal").modal("show")},setTableBodyWidth(){this.forPrint&&this.$el.classList.add("d-block");let rowHeadingColumn=this.$el.querySelector(specTableSelectors.MAIN.HEAD),dataRows=this.$el.querySelectorAll(specTableSelectors.MAIN.DATA_ROW),availableBodyWidth=this.$el.getBoundingClientRect().width-rowHeadingColumn.getBoundingClientRect().width,columnsWidth=15;dataRows.forEach(row=>{columnsWidth+=row.getBoundingClientRect().width});let tableBodyWidth=Math.min(availableBodyWidth,columnsWidth);this.$el.querySelectorAll("table tbody").forEach(tableBody=>{tableBody.style.width=`${tableBodyWidth}px`});this.setTableRowHeights();this.forPrint&&this.$el.classList.remove("d-block")},setTableBodyWidthDebounce:debounce(function(){this.setTableBodyWidth()},20,!1),setTableRowHeights(){let rowHeadings=this.$el.querySelectorAll(specTableSelectors.MAIN.ROW_HEAD_CELL),rows=this.$el.querySelectorAll(specTableSelectors.MAIN.DATA_ROW);rows.forEach(row=>{[...row.children].forEach((cell,i)=>{let heading=rowHeadings[i];heading&&(cell.style.height=`${heading.getBoundingClientRect().height}px`)})})},isObject(obj){return Object.prototype.toString.call(obj)==="[object Object]"},showRow(key){return this.tableData.some(col=>!!col[key])},setFreezeTableRowWidths(){let mainTable_rows=this.$el.querySelectorAll(specTableSelectors.MAIN.ROW),freezeTable_rows=this.$el.querySelectorAll(specTableSelectors.FREEZE.ROW);freezeTable_rows.forEach((row,i)=>{let mainTable_row=mainTable_rows[i],cellWidth=mainTable_row.getBoundingClientRect().width;row.style.width=`${cellWidth}px`})},setFreezeTablePosition(){let freezeTable=this.$el.querySelector(specTableSelectors.FREEZE.TABLE);if(freezeTable){let mainTable=this.$el.querySelector(specTableSelectors.MAIN.TABLE);if(this.shouldFreezeRows(mainTable)){freezeTable.classList.add("d-table");let freezeTableRect=freezeTable.getBoundingClientRect(),mainTableLastCellRect=mainTable.querySelector(specTableSelectors.LAST_CELL).getBoundingClientRect(),freezePosition=this.getHeaderBottomPosition(),freezeTableBottom=freezePosition+freezeTableRect.height,freezeTableAtBottomMainTable=mainTableLastCellRect.top<freezeTableBottom,bottomMainTableAboveHeader=mainTableLastCellRect.top>freezePosition;freezeTableAtBottomMainTable&&bottomMainTableAboveHeader&&(freezePosition=mainTableLastCellRect.top-freezeTableRect.height);freezeTable.style.top=`${freezePosition}px`;freezeTable.style.left=`${mainTable.getBoundingClientRect().left}px`}else freezeTable.classList.remove("d-table")}},shouldFreezeRows(mainTable){if(!this.$el.querySelector(specTableSelectors.FREEZE.TABLE))return!1;let mainTable_FirstCell=mainTable.querySelector(specTableSelectors.FIRST_CELL);if(!mainTable_FirstCell)return!1;let mainTable_FirstCellRect=mainTable_FirstCell.getBoundingClientRect(),mainTable_LastCellRect=mainTable.querySelector(specTableSelectors.LAST_CELL).getBoundingClientRect(),viewPort_top=this.getHeaderBottomPosition();return viewPort_top>mainTable_FirstCellRect.top&&viewPort_top<mainTable_LastCellRect.top},getHeaderBottomPosition(){let headerPosition_bottom=document.getElementById("header").getBoundingClientRect().bottom;return Math.max(headerPosition_bottom,0)},setFreezeTableScrollPosition(event){let mainTable=this.$el.querySelector(specTableSelectors.MAIN.TABLE);if(this.shouldFreezeRows(mainTable)){let scrollingTableBody=event===null||event===void 0?void 0:event.target,mainTableBody=mainTable.querySelector(specTableSelectors.MAIN.BODY),freezeTableBody=this.$el.querySelector(specTableSelectors.FREEZE.BODY);if(!scrollingTableBody){freezeTableBody.scrollLeft=mainTableBody.scrollLeft;return}scrollingTableBody===mainTableBody?freezeTableBody.scrollLeft=mainTableBody.scrollLeft:scrollingTableBody===freezeTableBody&&(mainTableBody.scrollLeft=freezeTableBody.scrollLeft)}},setRowHoverState(event){var _a,_b;let isHover=event.type==="mouseover",hoverRow=event.target.closest("tr"),freezeTableRows=this.$el.querySelectorAll(specTableSelectors.FREEZE.DATA_ROW),mainTableRows=this.$el.querySelectorAll(specTableSelectors.MAIN.DATA_ROW),thisTableRows=[...hoverRow.parentNode.children],thisRowIndex=thisTableRows.indexOf(hoverRow);isHover?((_a=freezeTableRows[thisRowIndex])===null||_a===void 0?void 0:_a.classList.add("hover"),mainTableRows[thisRowIndex].classList.add("hover")):((_b=freezeTableRows[thisRowIndex])===null||_b===void 0?void 0:_b.classList.remove("hover"),mainTableRows[thisRowIndex].classList.remove("hover"))},addRowHoverEventListeners(){this.$el.querySelectorAll("tbody tr").forEach(row=>{row.removeEventListener("mouseover",this.setRowHoverState),row.removeEventListener("mouseout",this.setRowHoverState),row.addEventListener("mouseover",this.setRowHoverState),row.addEventListener("mouseout",this.setRowHoverState)})},addTableEventListeners(){document.addEventListener("DOMContentLoaded",()=>{this.setTableBodyWidth(),this.setFreezeTablePosition(),this.setFreezeTableRowWidths()});document.readyState!=="loading"&&this.$nextTick(function(){this.setTableBodyWidth();this.setFreezeTablePosition();this.setFreezeTableRowWidths()});window.addEventListener("resize",()=>{this.setTableBodyWidth(),this.setFreezeTablePosition(),this.setFreezeTableScrollPosition(),this.setFreezeTableRowWidths()});$('[data-toggle="tab"]').on("shown.bs.tab",()=>{this.setTableBodyWidth(),this.setFreezeTablePosition(),this.setFreezeTableRowWidths()});window.addEventListener("scroll",()=>{this.setFreezeTablePosition(),this.setFreezeTableScrollPosition(),this.setFreezeTableRowWidths()});this.$el.querySelectorAll("table tbody").forEach(tableBody=>{tableBody.addEventListener("scroll",this.setFreezeTableScrollPosition)});this.addRowHoverEventListeners()}},mounted(){this.addTableEventListeners();this.$nextTick(function(){this.setTableBodyWidth()});$(this.$el).popover({selector:'[data-tooltip="popover"]',trigger:"hover",placement:"top",container:this.$el})},template:`
<div :class="{'print': forPrint}">
	<table v-if="rowsToFreeze > 0" class="dak-configurator-specs freeze-table mx-auto" cellpadding="0" cellspacing="0">
		<thead>
			<tr>
				<th>&nbsp;</th>
				<spec-table-row-header v-for="(heading, i) in frozenRowHeadings"
									   :key="'freeze-heading' + i"
									   v-show="heading.key !== footKey"
									   :has-detail="hasDetail(heading)"
									   :heading="heading"
									   :set-modal="function(){setModal(heading)}"></spec-table-row-header>
			</tr>
		</thead>
		<tbody>
			<tr v-for="(cellData, i) in tableData"
				:class="{'row-selected': isColumnSelected(cellData[selectedValueKey])}"
				@click="$emit('selection-change', cellData[selectedValueKey])">
				<th><i class="check-icon printHide far"
					:class="{
						'fa-circle': !isColumnSelected(cellData[selectedValueKey]),
						'fa-dot-circle': isColumnSelected(cellData[selectedValueKey])
					}"></i> {{ cellData[headKey] }}</th>
				<spec-table-data-cell v-for="(heading, i) in frozenRowHeadings"
									  :key="'freeze-cell' + i"
									  v-show="heading.key !== footKey"
									  :cell-html="getCellHtml(cellData[heading.key])"
									  :has-detail="hasDetail(cellData[heading.key])"
									  :set-modal="function(){setModal(cellData[heading.key])}"
									  :transition-after-leave="setTableBodyWidthDebounce"></spec-table-data-cell>
			</tr>
		</tbody>
	</table>
	<table class="dak-configurator-specs mx-auto" cellpadding="0" cellspacing="0">
		<thead>
			<tr>
				<th>&nbsp;</th>
				<spec-table-row-header v-for="(heading, i) in rowHeadings"
									   :key="'not-freeze-heading' + i"
									   v-show="heading.key !== footKey"
									   :has-detail="hasDetail(heading)"
									   :heading="heading"
									   :set-modal="function(){setModal(heading)}"></spec-table-row-header>
				<th v-if="showRow(footKey)">{{ footerLabel }}:</th>
			</tr>
		</thead>
		<tbody>
			<tr v-for="(cellData, i) in tableData"
				:class="{'row-selected': isColumnSelected(cellData[selectedValueKey])}"
				@click="$emit('selection-change', cellData[selectedValueKey])">
				<th><i class="check-icon printHide far"
					:class="{
						'fa-circle': !isColumnSelected(cellData[selectedValueKey]),
						'fa-dot-circle': isColumnSelected(cellData[selectedValueKey])
					}"></i> {{ cellData[headKey] }}</th>
				<spec-table-data-cell v-for="(heading, i) in rowHeadings"
									  :key="'not-freeze-cell' + i"
									  v-show="heading.key !== footKey"
									  :cell-html="getCellHtml(cellData[heading.key])"
									  :has-detail="hasDetail(cellData[heading.key])"
									  :set-modal="function(){setModal(cellData[heading.key])}"
									  :transition-after-leave="setTableBodyWidthDebounce"></spec-table-data-cell>
				<th v-if="showRow(footKey)"
					:data-toggle="hasDetail(cellData[footKey]) ? 'modal' : null"
					:data-tooltip="hasToolTip(cellData[footKey]) ? 'popover' : null"
					:data-content="hasToolTip(cellData[footKey]) ? cellData[footKey].toolTip : null"
					@click="setModal(cellData[footKey])">
					<transition name="slide-fade-footer" mode="out-in"
						@after-leave="setTableBodyWidthDebounce()">
						<span :key="getCellHtml(cellData[footKey])"><span v-html="getCellHtml(cellData[footKey]) || '&nbsp;'"></span>
						<i v-if="hasDetail(cellData[footKey]) || hasToolTip(cellData[footKey])" class="fal fa-info-circle printHide"></i></span>
					</transition>
				</th>
				<td v-if="showRow(actionKey) || $slots['action-slot-i']" style="background-color:#fff; text-align: center">
					<slot :name="'action-slot-' + i">
						<span v-html="getCellHtml(cellData[actionKey])"></span>
					</slot>
				</td>
			</tr>
		</tbody>
	</table>
    <div class="modal fade" tabindex="-1" role="dialog" aria-labelledby="" aria-hidden="true">
        <div class="modal-dialog modal-lg modal-dialog-centered" role="document">
            <div class="modal-content">
                <div class="modal-header">
                    <h3 class="modal-title" style="margin-top:0">{{ modalTitle }}</h3>
                    <button type="button" class="close" data-dismiss="modal" aria-label="Close">
                        <span aria-hidden="true">&times;</span>
                    </button>
                </div>
                <div class="modal-body" v-html="modalBody"></div>
            </div>
        </div>
    </div>
</div>`});Vue.component("spec-table-row-header",{props:{heading:Object,hasDetail:Boolean,setModal:Function},methods:{},template:`
<td>
	<span v-if="!hasDetail"
		class="font-weight-bold">{{ heading.label }}:</span>
	<span v-else
		class="has-detail font-weight-bold"
		data-toggle="modal"
		data-target="#specTableModal"
		@click="setModal()">{{ heading.label }}
	<a class="btn btn-link p-0 m-0" role="button"><i class="fal fa-info-circle printHide"></i></a>:</span>
</td>`});Vue.component("spec-table-data-cell",{props:{hasDetail:Boolean,cellHtml:[String,Number],transitionAfterLeave:Function,setModal:Function},methods:{},template:`
<td>
	<transition v-if=!hasDetail name="slide-fade" mode="out-in"
		@after-leave="transitionAfterLeave()">
		<span :key="cellHtml" v-html="cellHtml || '&nbsp;'"></span>
	</transition>
	<span v-else
		class="has-detail"
		data-toggle="modal"
		@click="setModal()">{{ cellHtml || '&nbsp;' }}
		<a class="btn btn-link p-0 m-0" role="button"><i class="fal fa-info-circle"></i></a>
	</span>
</td>`});
$("#documents").length&&Vue.component("message-display-documents",{props:{searchQuery:String,itemLimit:Number},watch:{searchQuery(val){this.$store.dispatch("newKeywordQuery",val)}},beforeCreate(){this.$store=makeSearchComponentStore()},template:`
<div>
	<document-search :search-query="searchQuery"
					 order-by="SubTitle asc"
					 :item-limit="itemLimit"
					 :show-paging="true"
					 :hide-file-size="true"></document-search>
</div>`});$("#media").length&&(Vue.component("message-display-projects",{props:{selectedConfiguration:Object},store:makeSearchComponentStore(),computed:{searchQuery(){let query=[];return this.selectedConfiguration&&(query.push('Systems/Equipment/LEDColors/LEDColor:"Full-Color"'),query.push(`Systems/Equipment/Product:"${this.selectedConfiguration.model}"`),query.push(`Systems/Equipment/Spacings/Spacing:"${this.selectedConfiguration.lineSpacingLabel}"`)),query.join(" AND ")},filterExpression(){let expression=null;return this.selectedConfiguration&&(expression=`Systems/any(system: system/Equipment/any(equipment: equipment/Lines eq ${this.selectedConfiguration.lines})) and Systems/any(system: system/Equipment/any(equipment: equipment/Columns eq ${this.selectedConfiguration.columns}))`),expression}},template:`
<div id="message-display-projects">
	<photo-band :keywords="searchQuery"
				:filter-expression="filterExpression"
				:item-limit="12"
				id="message-display-projects"></photo-band>
</div>`}),Vue.component("message-display-videos",{props:{selectedConfiguration:Object},store:makeSearchComponentStore(),computed:{searchQuery(){let query=[];return this.selectedConfiguration&&query.push('Products/Model:"'+this.selectedConfiguration.model+'"'),query.join(" AND ")}},watch:{searchQuery(val){this.$store.dispatch("newKeywordQuery",val)}},template:`
<div id="message-display-projects">
	<video-search :keywords="searchQuery"></video-search>
</div>`}));let messageDisplayConfiguratorSelector="#message-display-config-vue",messageDisplayConfigurator=new Vue({el:messageDisplayConfiguratorSelector,router:Daktronics.Components.GetVueRouter(),data:{configurations:[],specs:[],backgroundOptions:[],backgroundName:null,mountStyleOptions:[],mountStyleName:null,lineSpacing:null,sizeType:"cabinet",orientation:"landscape",unitOfMeasure:"feet",userWidth:null,userHeight:null,selectedWidth:null,selectedHeight:null,selectedFace:"2V",isLoaded:!1,hoveredLineSpacing:null},computed:{width:{get(){let width=this.userWidth,isValidWidth=this.widthOptions.some(option=>option.value===this.userWidth);return this.selectedWidth&&!isValidWidth&&(width=this.selectedWidth),width},set(newValue){this.userWidth=newValue;this.selectedWidth=newValue}},height:{get(){let height=this.userHeight,isValidHeight=this.heightOptions.some(option=>option.value===this.userHeight);return this.selectedHeight&&!isValidHeight&&(height=this.selectedHeight),height},set(newValue){this.userHeight=newValue;this.selectedHeight=newValue}},lineSpacingConfigurations(){return this.getConfigurationsForLineSpacing(this.lineSpacing)},widthConfigurations(){return this.lineSpacingConfigurations.filter(configuration=>configuration.activeWidthInches===this.width)},sizeOptions(){return{widths:this.widthOptions,heights:this.heightOptions}},widthOptions(){let labelProperty="cabinetWidthInches";return this.sizeType==="matrix"&&(labelProperty="columns"),this.getSizeOptions(this.lineSpacingConfigurations,"activeWidthInches",labelProperty)},heightOptions(){let labelProperty="cabinetHeightInches",heightConfigurations=this.width?this.widthConfigurations:this.lineSpacingConfigurations;return this.sizeType==="matrix"&&(labelProperty="lines"),this.getSizeOptions(heightConfigurations,"activeHeightInches",labelProperty)},lineSpacings(){return this.getUniqueValues(this.configurations,"lineSpacing")},filteredSpecs(){let specs=this.specs;return this.lineSpacings.length&&(specs=this.specs.filter(spec=>this.lineSpacings.includes(spec.lineSpacing))),specs},selectedConfiguration(){return this.getConfigurationForLineSpacing(this.lineSpacing)},selectedBackground(){return this.backgroundOptions.find(setting=>setting.name===this.backgroundName)},showPricing(){return this.configurations.some(config=>config.singleFacePrice)},specTableHeadings(){let unitLabelDistance=this.unitOfMeasure==="feet"?"ft":"m",unitLabelWeight=this.unitOfMeasure==="feet"?"lbs":"kg",unitLabelSmallDistance=this.unitOfMeasure==="feet"?"in":"cm",headings=[{label:"Series",key:"series"},{label:`Cabinet Dimensions (H x W) (${unitLabelDistance})`,key:"cabinetSize"},{label:`Active Dimensions (H x W) (${unitLabelDistance})`,key:"activeSize"},{label:`Active Area (sq ${unitLabelDistance})`,key:"activeArea"},{label:"Matrix Size (Lines x Columns)",key:"matrixSize"},{label:"Total Pixels",key:"totalPixels"},{label:`Minimum Viewing Distance (${unitLabelDistance})`,key:"minimumViewingDistance"},{label:`Character Height (7 pixel font) (${unitLabelSmallDistance})`,key:"characterHeight"},{label:"Maximum Brightness (nits)",key:"maximumBrightness"},{label:"Pixel Technology",key:"pixelTechnology"},{label:"Color",key:"color"},{label:`Cabinet Weight (${unitLabelWeight})`,key:"weightPounds"},];if(this.showPricing){let priceLabel=this.specsWithConfigurationInfo.some(spec=>spec.isDiscountedPrice)?"Your Discounted Price":"MSRP";headings.push({label:`${priceLabel} (USD)`,key:"price"})}return headings},reviewTableHeadings(){let reviewKeys=["cabinetSize","activeSize","matrixSize","totalPixels","miniumViewingDistance","characterHeight","maximumBrightness","pixelTechnology","color","weightPounds",];return this.specTableHeadings.filter(heading=>reviewKeys.includes(heading.key))},specsWithConfigurationInfo(){return this.filteredSpecs.map(spec=>{let newSpec=Object.assign({},spec),lineSpacingConfig=this.getConfigurationForLineSpacing(spec.lineSpacing);if(lineSpacingConfig){if(newSpec.cabinetSize=this.getDistanceLabel(lineSpacingConfig.cabinetHeightInches)+" x "+this.getDistanceLabel(lineSpacingConfig.cabinetWidthInches),newSpec.activeSize=this.getDistanceLabel(lineSpacingConfig.activeHeightInches)+" x "+this.getDistanceLabel(lineSpacingConfig.activeWidthInches),newSpec.matrixSize=lineSpacingConfig.lines+" x "+lineSpacingConfig.columns,newSpec.totalPixels=new Intl.NumberFormat("en-us").format(lineSpacingConfig.lines*lineSpacingConfig.columns),newSpec.color="RGB",newSpec.isDiscountedPrice=lineSpacingConfig.isDiscountedPrice,newSpec.discount=lineSpacingConfig.discount,newSpec.itemNumber=this.selectedFace=="SF"?lineSpacingConfig.itemNumber:lineSpacingConfig.twoViewItemNumber,this.unitOfMeasure==="feet"){newSpec.weightPounds=lineSpacingConfig.weightPounds;let squareFootage=Daktronics.Conversions.inchesToFeetDecimal(lineSpacingConfig.activeHeightInches*lineSpacingConfig.activeWidthInches/12);squareFootage=Math.round(squareFootage*100)/100;newSpec.activeArea=squareFootage}else if(this.unitOfMeasure==="meters"){let kilos=Daktronics.Conversions.poundToKilo(lineSpacingConfig.weightPounds),meters=lineSpacingConfig.activeHeightInches*lineSpacingConfig.activeWidthInches/1550.0031,minViewingDistance=Daktronics.Conversions.feetToMeter(newSpec.minimumViewingDistance.replace("'","")),charHeight=Daktronics.Conversions.inchesToCentimeter(newSpec.characterHeight.replace('"',""));newSpec.activeArea=Daktronics.Conversions.decimalRoundedToHundreths(meters);newSpec.weightPounds=Daktronics.Conversions.decimalRoundedToHundreths(kilos);newSpec.minimumViewingDistance=Daktronics.Conversions.decimalRoundedToHundreths(minViewingDistance);newSpec.characterHeight=Daktronics.Conversions.decimalRoundedToTenths(charHeight)}if(this.showPricing){let price=this.selectedFace=="SF"?lineSpacingConfig.singleFacePrice:lineSpacingConfig.twoViewPrice;newSpec.price=new Intl.NumberFormat("en-US",{style:"currency",currency:"USD",minimumFractionDigits:0}).format(Math.round(price))}}return newSpec})},selectedConfigurationSpecs(){let specs=null;return this.selectedConfiguration&&(specs=this.specsWithConfigurationInfo.find(spec=>spec.lineSpacing===this.selectedConfiguration.lineSpacing)),specs},techDocumentsSearchQuery(){let query=null;if(this.selectedConfiguration){let modelQuery=`Products/Model:"${this.selectedConfiguration.model}"`,spacingQuery=`Spacings:"${this.selectedConfiguration.lineSpacingLabel}"`,height=Daktronics.Conversions.inchesToFeet(this.selectedConfiguration.cabinetHeightInches),width=Daktronics.Conversions.inchesToFeet(this.selectedConfiguration.cabinetWidthInches),dimensionQuery=`${height}x${width}`.replace(/"/g,"''");query=`(${modelQuery} AND ${spacingQuery} AND Categories:Diagram)`;query+=` OR (${modelQuery} AND Categories:Manual)`;query+=` OR (${modelQuery} AND SubTitle:"${dimensionQuery}" AND Categories:Drawings)`;query+=this.selectedConfiguration.isLargeMatrix?' NOT SubTitle:"Small Matrix"':' NOT SubTitle:"Large Matrix"';query+=` OR (${modelQuery} AND Categories:"Riser Diagram")`;query+=' NOT Categories:"Block Diagram" NOT SubTitle:("Quick Guide" OR Catalog OR Brochure OR Flyer)'}return query},literatureSearchQuery(){let query=null;if(this.selectedConfiguration){let modelQuery=`Products/Model:"${this.selectedConfiguration.model}"`,spacingQuery=`Spacings:"${this.selectedConfiguration.lineSpacingLabel}"`;query=`(${modelQuery} AND SubTitle:Flyer)`;query+=` OR (${modelQuery} AND ${spacingQuery} AND Categories:Specification)`;query+=this.selectedConfiguration.isLargeMatrix?' NOT SubTitle:"Small Matrix"':' NOT SubTitle:"Large Matrix"';query+=' NOT SubTitle:("Quick Guide" OR Catalog OR Brochure)'}return query},shareBtnHref(){let port=window.location.port?":"+window.location.port:"",url=`https://${window.location.hostname}${port}${this.$route.fullPath}`;return`mailto:?subject=${encodeURIComponent("Take a Look at This Daktronics Message Display")}&body=${encodeURIComponent("I personalized what our message display could look like in the Daktronics configurator on their website. Take a look and let me know what you think. We can make additional changes prior to requesting pricing.\r\n"+url)}`},requestPricingBtnHref(){let $btn=$("#btnRequestPricing"),port=window.location.port?":"+window.location.port:"",pricingPage=$btn.attr("data-requestFormPage"),queryString=this.$route.fullPath.substring(this.$route.fullPath.indexOf("?"));return url=null,pricingPage&&(url=`https://${window.location.hostname}${port}${pricingPage}${queryString}`),url},reviewHref(){let url=null,reviewPage=$(messageDisplayConfiguratorSelector).attr("data-review-page");return reviewPage&&(url=reviewPage+this.$route.fullPath.replace(this.$route.path,"")),url},urlState(){let queryString={};return this.backgroundName&&(queryString.bg=this.backgroundName),this.mountStyleName&&(queryString.ms=this.mountStyleName),this.lineSpacing&&(queryString.s=this.lineSpacing.toString()),this.width&&(queryString.w=this.width.toString()),this.height&&(queryString.h=this.height.toString()),this.sizeType&&(queryString.t=this.sizeType),this.unitOfMeasure&&(queryString.u=this.unitOfMeasure),this.selectedFace&&(queryString.f=this.selectedFace),objectIsEmpty(queryString)&&(queryString=null),queryString},errors(){let errors=[];return(this.userWidth!==this.selectedWidth||this.userHeight!==this.selectedHeight)&&errors.push("Display size is different than what you selected. We picked the closest available size for you."),errors}},watch:{selectedConfiguration(val){val&&(this.selectedWidth=val.activeWidthInches,this.selectedHeight=val.activeHeightInches)},urlState(val){if(val){let valAsString=JSON.stringify(val),queryAsString=JSON.stringify(this.$route.query),shouldUpdateUrl=this.isLoaded&&valAsString!=queryAsString;shouldUpdateUrl&&this.$router.replace({query:val})}}},methods:{loadConfigurations(){return new Promise((resolve,reject)=>{let options={series:JSON.parse(this.$el.getAttribute("data-series")),lineSpacings:JSON.parse(this.$el.getAttribute("data-line-spacings")),excludeSizes:this.$el.getAttribute("data-exclude-sizes")==="true",sizes:JSON.parse(this.$el.getAttribute("data-sizes"))};$.ajax({url:"/api/products/message-displays/configurations",type:"POST",contentType:"application/json",data:JSON.stringify(options)}).then(response=>{this.configurations=response,resolve()}).fail(()=>{reject()})})},loadSpecs(){return new Promise((resolve,reject)=>{$.ajax({url:"/api/products/message-displays/specs",type:"POST",contentType:"application/json",data:this.$el.getAttribute("data-line-spacings")}).then(response=>{this.specs=response,resolve()}).fail(()=>{reject()})})},setIntialValues(){var _a,_b;let queryString=this.$route.query;queryString===null||objectIsEmpty(queryString)||(this.lineSpacing=isNaN(queryString.s)?null:parseFloat(queryString.s),this.width=isNaN(queryString.w)?null:parseInt(queryString.w),this.height=isNaN(queryString.h)?null:parseInt(queryString.h),queryString.t&&(this.sizeType=queryString.t),queryString.u&&(this.unitOfMeasure=queryString.u),queryString.f&&(this.selectedFace=queryString.f));this.lineSpacing||(this.lineSpacing=this.lineSpacings[0]||null);this.width||(this.width=((_a=this.sizeOptions.widths[0])===null||_a===void 0?void 0:_a.value)||null);this.height||(this.height=((_b=this.sizeOptions.heights[0])===null||_b===void 0?void 0:_b.value)||null)},setInitialSettingValues(){var _a;let queryString=this.$route.query;queryString===null||objectIsEmpty(queryString)||(queryString.bg&&(this.backgroundName=queryString.bg||null),queryString.ms&&(this.mountStyleName=queryString.ms||null));this.backgroundName===null&&(this.backgroundName=((_a=this.backgroundOptions[0])===null||_a===void 0?void 0:_a.name)||null);this.mountStyleName===null&&(this.mountStyleName=this.mountStyleOptions[0]||null)},getConfigurationForLineSpacing(lineSpacing){let exactSizeConfig=this.configurations.find(configuration=>configuration.lineSpacing===lineSpacing&&configuration.activeWidthInches===this.width&&configuration.activeHeightInches===this.height);return exactSizeConfig?exactSizeConfig:this.getSmallerConfiguration(lineSpacing)||this.getBiggerConfiguration(lineSpacing)},getConfigurationsForLineSpacing(lineSpacing){return this.configurations.filter(configuration=>configuration.lineSpacing===lineSpacing)},getSmallerConfiguration(lineSpacing){let nextSmallerWidth=this.getConfigurationsForLineSpacing(lineSpacing).reduce((accumulator,configuration)=>configuration.activeWidthInches<=this.userWidth&&configuration.activeWidthInches>accumulator?configuration.activeWidthInches:accumulator,0),availableConfigurations=this.getConfigurationsForLineSpacing(lineSpacing).filter(configuration=>configuration.activeWidthInches===nextSmallerWidth),nextSmallerHeight=availableConfigurations.reduce((accumulator,configuration)=>configuration.activeHeightInches<this.userHeight&&configuration.activeHeightInches>accumulator?configuration.activeHeightInches:accumulator,0),nextBiggerHeight=availableConfigurations.reduceRight((accumulator,configuration)=>configuration.activeHeightInches>this.userHeight&&configuration.activeHeightInches<accumulator?configuration.activeHeightInches:accumulator,Number.MAX_VALUE);return availableConfigurations.reduce((accumulator,configuration)=>{let returnVal=accumulator;return configuration.activeHeightInches===this.userHeight?returnVal=configuration:accumulator===null&&configuration.activeHeightInches===nextSmallerHeight?returnVal=configuration:accumulator===null&&configuration.activeHeightInches===nextBiggerHeight&&(returnVal=configuration),returnVal},null)},getBiggerConfiguration(lineSpacing){let nextBiggerWidth=this.getConfigurationsForLineSpacing(lineSpacing).reduceRight((accumulator,configuration)=>configuration.activeWidthInches>=this.userWidth&&configuration.activeWidthInches<accumulator?configuration.activeWidthInches:accumulator,Number.MAX_VALUE),availableConfigurations=this.getConfigurationsForLineSpacing(lineSpacing).filter(configuration=>configuration.activeWidthInches===nextBiggerWidth),nextSmallerHeight=availableConfigurations.reduce((accumulator,configuration)=>configuration.activeHeightInches<this.userHeight&&configuration.activeHeightInches>accumulator?configuration.activeHeightInches:accumulator,0),nextBiggerHeight=availableConfigurations.reduceRight((accumulator,configuration)=>configuration.activeHeightInches>this.userHeight&&configuration.activeHeightInches<accumulator?configuration.activeHeightInches:accumulator,Number.MAX_VALUE);return availableConfigurations.reduce((accumulator,configuration)=>{let returnVal=accumulator;return configuration.activeHeightInches===this.userHeight?returnVal=configuration:accumulator===null&&configuration.activeHeightInches===nextBiggerHeight?returnVal=configuration:accumulator===null&&configuration.activeHeightInches===nextSmallerHeight&&(returnVal=configuration),returnVal},null)},getUniqueValues(objArray,propertyName){let uniques=[];return objArray.length&&(uniques=objArray.map(item=>item[propertyName]).filter((value,index,self)=>self.indexOf(value)===index)),uniques},getSizeOptions(configurations,valueProperty,labelProperty){let options=configurations.map(configuration=>({value:configuration[valueProperty],label:this.getSizeLabel(configuration[labelProperty])})),uniqueOptions=options.filter((value,index,self)=>self.findIndex(option=>option.value===value.value)===index);return uniqueOptions.sort((a,b)=>a.value-b.value),uniqueOptions},getSizeLabel(value){return this.sizeType==="cabinet"?this.getDistanceLabel(value):this.sizeType==="matrix"?value:void 0},getDistanceLabel(inchValue){if(this.unitOfMeasure==="feet")return Daktronics.Conversions.inchesToFeet(inchValue);if(this.unitOfMeasure==="meters"){let computedValue=Daktronics.Conversions.inchesToMeters(inchValue);return Daktronics.Conversions.decimalRoundedToHundreths(computedValue)}},getSpecsForLineSpacing(lineSpacing){return this.specs.find(spec=>spec.lineSpacing===lineSpacing)||{}},isColumnSelected(lineSpacing){return this.lineSpacing?this.lineSpacing===lineSpacing:!1}},mounted(){Promise.allSettled([this.loadConfigurations(),this.loadSpecs()]).then(()=>{this.setIntialValues(),this.isLoaded=!0});this.backgroundOptions=JSON.parse(this.$el.getAttribute("data-backgrounds"));this.mountStyleOptions=JSON.parse(this.$el.getAttribute("data-mount-styles"));this.setInitialSettingValues()}});
//# sourceMappingURL=/sb/nmap/js-message-display.js.v638802134746373307