{"version":3,"sources":["foundation.min.js"],"names":["factory","angular","module","directive","templateUrl","controller","transclude","link","$scope","oneAtATime","groups","items","addItem","newItemNo","length","push","$theme","restrict","replace","scope","element","attrs","ctrl","activityActionBtnClick","action","activityId","$emit","completedActivities","tableDisplayContent","theme","container","parent","offsetWidth","autoDraw","clawVisible","canvas","find","transclusion","responsive","chartWidth","parseInt","css","style","cursor","ctx","getContext","elements","arcs","capabilities","selectedGap","categoryName","selectedCapability","cX","clawWidth","width","height","qtrC","Math","PI","toolTip","tipCtx","curPerc","radius","min","inc","competencyWidth","gapRoom","labelStyle","gapRoomPercent","legendWidth","ie_ver","iev","ieold","test","navigator","userAgent","trident","match","rv","indexOf","Number","RegExp","$1","appVersion","canvasClick","e","$apply","arcClick","mouse","getMousePos","x","y","forEach","name","data","capability","arc","defineArc","isPointInPath","categoryKey","isPointInStroke","getColor","color","configuration","clawBtnClick","acquiredProficiency","requiredProficiency","evt","rect","getBoundingClientRect","clientX","left","clientY","top","canvasToolTip","tipWidth","tipTxt","hit","substring","measureText","percent","clearRect","fillStyle","font","fillText","round","click","mousemove","drawArc","arcLength","textLength","txtAngle","radi","i","arcRadians","save","beginPath","lineWidth","strokeStyle","stroke","translate","rotate","restore","arcObject","cx","cy","start","end","inverseMin","apply","buildHeaders","fill","textAlign","id","capabilityObject","buildGaps","barStart","barWidth","localGapRoom","txtLabel","txtLength","txtPercentLength","txtValLength","j","gapCount","undefined","gapObject","closePath","drawClaw","fillRect","moveTo","lineTo","$","window","resize","redraw","$watch","newVal","oldVal","$on","$timeout","$datepicker","$dateFormatter","$dateParser","defaults","extend","dateFormat","strictFormat","labelInput","placement","placeholder","labelNext","labelPrevious","labelMonth","labelYear","labelDays","dateType","timezone","modelDateFormat","ngModelDate","required","disabled","require","pre","attr","controllers","options","lang","getDefaultLocale","key","isDefined","dateParser","format","strict","inputId","pickerId","ngModel","textboxPlaceholder","btn","$observe","newValue","getDateForAttribute","dropdown","text","href","target","divider","template","buttonText","expandText","iconClass","expandIconClass","showMore","useClickExpand","retArgs","originalText","ellipsisText","originalMaxHeight","ellipsisExpanded","containerElement","currentValue","ellipsisElements","handleClickEvent","collapseText","collapseIconClass","$eval","descValue","expandableText","tempElement","clone","insertBefore","position","visibility","zindex","curText","max-width","max-height","remove","useAutoResize","on","$SumtUI","EllipsisResizeTimeout","clearTimeout","setTimeout","EllipsisElements","applyEllipsis","bind","event","which","ngEnter","preventDefault","validatedName","validatedLabel","controlData","getFormGroupClass","invalid","dirty","valid","MultiTransclude","$compile","pageTitleSelector","lastScrollTop","isScrollUp","isIE","document","documentMode","scroll","this","scrollTop","header","delta","toString","titleComponent","removeAttr","$leftNavs","navData","selectedNavData","nodeClicked","imageclicked","persondata","emulation","exitemulation","switchdomain","translationobject","leftNavsProvider","contentTemplateUrl","asideScope","$new","title","show","asideOptions","backdrop","html","animation","keyboard","addLeftNavigation","leftNavigationObject","getLeftNavigation","navigateToAdmin","node","item","close","handleNodes","toggle","handleNodeSelected","RPKey","childNodes","provider","_closeCurrent","_currentKey","_navigationsHash","leftNavAside","hide","isShown","_previousKey","_toggleNavigation","state","_addNavigation","scopedObject","showLimit","toggleLimit","appended","onClose","$get","$log","$aside","$injector","navigationsHash","debug","open","targetSource","onCloseCallback","currentTarget","focus","getPreviousKey","t","a","$interval","pagination","notifications","selected","pages","currentPage","timer","isTimed","interval","startTimer","paginate","delay","getPages","Array","setPage","idx","getClass","type","addNotifSection","cancel","themeTemplate","ThemeKey","Name","ClientJSON","colors","axisColor","gridColor","textColor","borderColor","backgroundColor","labelColor","@brand-primary","@brand-success","@brand-info","@brand-warning","@brand-danger","PaletteJSON","primary","palette","currentTheme","rootScope","setCurrentTheme","clonedTheme","copy","propertyName","defaultValue","$broadcast","$rootScope","curTheme","heading","expandedIconClass","collapsedIconClass","contextualClass","changeState","isCollapsed","handleClick","handleKeyUp","keyCode","stopPropagation","allowedContextualClasses","panelId","$click","$keyUp","headerToggleOpen","headerToggleClosed","setPanelClass","panelClass","panels","$slideout","showLeftSide","hasTemplate","containerSelector","showCollapse","maintainFocus","focusElementOnExpand","hasIframe","transcludeFn","slideProvider","parentContainer","slideOutObject","getSlideOut","addSlideOut","showLeft","getContainerClass","closed","previousKey","expand","collapsed","showHeader","append","tabs","content","$filter","config","hasFilter","highlight","filter","nodes","selectedTab","date","Date","compDate","addDataNode","setConfig","stagger","setTabSelection","tab","dynamicTooltip","dynamicTooltipText","htmlTooltip","headerClass","headerTitle","headerIcon","hideHeader","headerUrl","hideDeeplink","toLowerCase","contentWidth","contentHeight","contentClass","widthObj","heightObj","handleHeaderClick","eval","headerLinkIcon","headerStyleObj","prefixClass","prefixEvent","trigger","minLength","limit","comparator","$window","$tooltip","TypeaheadFactory","$sumttypeahead","parentScope","$resetMatches","$matches","$activeIndex","$activate","index","$$postDigest","activate","$select","select","$isVisible","update","matches","value","$setViewValue","$render","$digest","isString","$viewValue","$getIndex","l","$onMouseDown","$onKeyDown","isUndefined","$element","off","$inject","$parse","$q","$parseOptions","ngOptions","parsedOptions","typeahead","watchOptions","watchedOptions","$match","trim","valuesFn","then","values","$modelValue","selectMode","slice","isVisible","$formatters","modelValue","displayValue","$isEmpty","val","label","isObject","destroy","activeStep","nextStep","prevStep","stepData","stepArray","stepCount","numSteps","step","stepNum","stepName","allowDisable","elem","cloneEl","attributes","destinationId","destination","querySelector","_slideOutsHash","collapsible","_maintainFocus","slideoutContainer","hiddenButton","createElement","setAttribute","appendChild","keydown","elementsList","noOfElements","shiftKey","nameAtt","getAttribute","_focusSlideout","focusElement","_toggleSlideout","_addSlideOut","slideoutId","myScopeObject","fullOpen","$translate","slideOutHash","performAction","onOpen","closeCurrent","getCurrentKey","getCurrent","onFullOpen","collapse","getPrevious","focusSlideout","run","$templateCache","put","constant","en","CLOSE","CLOSE_TXT","de","arSA","cs","da","el","enGB","esMX","es","fi","frCA","fr","hu","it","ja","ko","nl","no","pl","ptBR","ro","ru","sl","sv","th","tr","uk","vi","zhHans","zhHant","translations","$translateProvider","$alertProvider","$modalProvider","preferredLanguage"],"mappings":"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","file":"foundation.min.js","sourcesContent":["(function (factory) {\n // I'm a pre function\n factory();\n} (function () {\n // I'm a factory getting executed\n}));\n\nangular.module('SumTotalComponents',['SumTotalAccordionModule','SumTotalClaw','SumTotalDatePicker','SumTotalDropdown','SumTotalEllipsisModule','SumTotalNGEnterModule','SumTotalValidatedText','SumTotalHeaderbarModule','SumTotalLeftNav','SumTotalNotificationTile','SumTotalPersonalization','SumTotalSectionModule','SumTotalSidePanel','SumTotalSlideOutModule','SumTotalTabModule','SumTotalTimeline','SumTotalTooltipModule','SumTotalTypeahead','SumTotalWebpartModule','SumTotalWizard','ngTable','gridster','ngAnimate','mgcrea.ngStrap','multi-transclude','pascalprecht.translate','ui.tree','kcd']);\n/* jshint strict:false */\n\nangular.module(\"SumTotalAccordionModule\", [])\n.directive('sumtaccordion', function () {\n return {\n templateUrl: 'accordion/accordion_view.html',\n controller: 'AccordionController',\n transclude: true,\n // link: function ($scope, $element, $attributes, controller) {\n link: function ($scope) {\n $scope.oneAtATime = true;\n $scope.groups = [];\n $scope.items = [];\n\n $scope.addItem = function () {\n var newItemNo = $scope.items.length + 1;\n $scope.items.push('Item ' + newItemNo);\n };\n }\n };\n});\n\n/* jshint strict:false */\nangular.module('SumTotalClaw', [])\n .directive('clawChart', ['$theme', function ($theme) {\n return {\n restrict: 'EA',\n replace: false,\n transclude: true,\n templateUrl: 'claw/claw_view.html',\n link: function (scope, element, attrs, ctrl, transclude) { //jshint ignore:line\n scope.activityActionBtnClick = function (action, activityId) {\n scope.$emit('actionEvents', { action: action, activityId : activityId });\n };\n scope.completedActivities = [];\n scope.tableDisplayContent = \"\";\n\n scope.theme = $theme.theme;\n scope.container = element.parent()[0].offsetWidth;\n scope.autoDraw = attrs.autoDraw == 'false' ? false : true;\n scope.clawVisible = scope.autoDraw;\n scope.canvas = element.find(\"#clawCanvas\");\n scope.transclusion = attrs.transclusion == 'true' ? true : false;\n\n if (attrs.responsive == 'true')\n scope.chartWidth = element.parent()[0].offsetWidth - parseInt(element.parent().css('paddingLeft').replace('px', ''), 10) - parseInt(element.parent().css('paddingRight').replace('px', ''), 10);\n else\n scope.chartWidth = attrs.chartWidth;\n scope.canvas[0].style.cursor = 'pointer';\n var ctx = scope.canvas[0].getContext(\"2d\");\n scope.elements = [];\n scope.arcs = [];\n scope.capabilities = [];\n scope.selectedGap;\n\t\tscope.categoryName;\n scope.selectedCapability;\n scope.cX = parseInt(attrs.clawWidth); //jshint ignore:line\n scope.canvas[0].width = scope.chartWidth - 45;\n scope.canvas[0].height = scope.cX + 8;\n var qtrC = 0.5 * Math.PI;\n var toolTip = element.find(\"#clawtip\");\n var tipCtx = toolTip[0].getContext(\"2d\");\n var curPerc = 0.5 * Math.PI;\n scope.radius = 0.3714 * Math.min(scope.cX, scope.cX);\n scope.inc = 30;\n scope.competencyWidth = parseInt(attrs.competencyWidth); //jshint ignore:line\n scope.gapRoom = scope.canvas[0].width - scope.cX - scope.competencyWidth;\n scope.labelStyle = scope.gapRoom - 10;\n scope.gapRoomPercent = (scope.gapRoom / scope.canvas[0].width) * 100;\n scope.legendWidth = element.find(\".legendContainer\").width();\n\n scope.ie_ver = function () {\n var iev = 0;\n var ieold = (/MSIE (\\d+\\.\\d+);/.test(navigator.userAgent));\n var trident = !!navigator.userAgent.match(/Trident\\/7.0/);\n var rv = navigator.userAgent.indexOf(\"rv:11.0\");\n\n if (ieold) iev = new Number(RegExp.$1);\n if (navigator.appVersion.indexOf(\"MSIE 10\") != -1) iev = 10;\n if (trident && rv != -1) iev = 11;\n\n scope.iev = iev;\n };\n\n scope.ie_ver();\n\n scope.canvasClick = function (e) {\n\t\tscope.tableDisplayContent= \"\";\n\t\tscope.completedActivities = [];\n\t\tscope.$apply(attrs.arcClick)\n var mouse = scope.getMousePos(scope.canvas, e);\n var x = mouse.x;\n var y = mouse.y;\n if (x > (scope.cX + scope.competencyWidth)) {\n scope.elements.forEach(function (element) {\n if (y > element.y && y < element.y + element.height && x > element.x && x < element.x + element.width && (scope.categoryName = element.name,scope.tableDisplayContent = \"Gaps\", scope.selectedGap = element.data,scope.selectedGap.categoryName = element.name, scope.$apply())) {\n\t\t\t\tscope.selectedGap = element.data;\n\t\t\t\tscope.selectedGap.categoryName = element.name;\n scope.$apply();\n }\n });\n } else if (x > scope.cX) {\n scope.capabilities.forEach(function (capability) {\n if (y > capability.y && y < capability.y + capability.height && x > capability.x && x < capability.x + capability.width && (scope.tableDisplayContent = \"Headers\", scope.selectedCapability = capability.data, scope.$apply())) {\n scope.selectedCapability = capability.data;\n scope.$apply();\n }\n });\n } else if (x < scope.cX) {\n scope.arcs.forEach(function (arc) {\n scope.defineArc(arc);\n if (scope.iev == 11) {\n if (ctx.isPointInPath(x, y) && attrs && (scope.tableDisplayContent = arc.data.categoryKey, scope.completedActivities = arc.data.completedActivities, scope.$apply(attrs.arcClick))) {\n scope.$apply(attrs.arcClick);\n }\n } else {\n if (ctx.isPointInStroke(x, y) && attrs && (scope.tableDisplayContent = arc.data.categoryKey, scope.completedActivities = arc.data.completedActivities, scope.$apply(attrs.arcClick))) {\n scope.$apply(attrs.arcClick);\n }\n }\n });\n }\n };\n\n scope.getColor = function (color) {\n if (color == 'success')\n return scope.theme.configuration[\"@brand-success\"];\n else if (color == 'warning')\n return scope.theme.configuration[\"@brand-warning\"];\n else if (color == 'danger')\n return scope.theme.configuration[\"@brand-danger\"];\n else if (color == 'info')\n return scope.theme.configuration[\"@brand-info\"];\n else\n return color;\n };\n\n scope.clawBtnClick = function () {\n\n };\n\n scope.completedActivities = [{\n \"name\": \"test\",\n \"acquiredProficiency\": 30,\n \"requiredProficiency\": 23\n },\n {\n \"name\": \"test\",\n \"acquiredProficiency\": 30,\n \"requiredProficiency\": 23\n }];\n\n scope.getMousePos = function (canvas, evt) {\n var rect = scope.canvas[0].getBoundingClientRect();\n return {\n x: evt.clientX - rect.left,\n y: evt.clientY - rect.top\n };\n };\n\n scope.canvasToolTip = function (e) {\n var hit = false;\n var mouse = scope.getMousePos(scope.canvas[0], e);\n var x = mouse.x;\n var y = mouse.y;\n var tipWidth, tipTxt;\n scope.elements.forEach(function (element) {\n if (y > element.y && y < element.y + element.height && x > element.x && x < element.x + element.width) {\n tipTxt = element.data.name;\n\n if (tipTxt.length > 80)\n tipTxt = tipTxt.substring(0, 77) + \"...\";\n\n tipWidth = tipCtx.measureText(tipTxt + \" \" + element.data.percent + \"%\").width + 10;\n\n if (x - (tipWidth / 2) < 0)\n toolTip[0].style.left = \"10px\";\n else if (x + (tipWidth / 2) > scope.canvas[0].width)\n toolTip[0].style.left = (scope.canvas[0].width - tipWidth) + \"px\";\n else\n toolTip[0].style.left = (x - (tipWidth / 2)) + \"px\";\n\n toolTip[0].style.top = (y - 17) + \"px\";\n toolTip[0].width = tipWidth;\n tipCtx.clearRect(0, 0, toolTip[0].width, toolTip[0].height);\n tipCtx.fillStyle = \"#fff\";\n tipCtx.font = \"bold 12px Arial\";\n tipCtx.fillText(tipTxt + \" \" + Math.round(element.data.percent * 10) / 10 + \"%\", 5, 15);\n hit = true;\n }\n });\n\n if (!hit)\n toolTip[0].style.left = \"-3500px\";\n };\n\n scope.canvas.click(scope.canvasClick);\n scope.canvas.mousemove(scope.canvasToolTip);\n\n scope.drawArc = function () {\n if (scope.data) {\n var radi = [], arcLength, textLength, txtAngle, labelTxt;\n for (var i = scope.data.length - 1; i >= 0; i--) {\n if (scope.data[i].percent > 100)\n scope.data[i].percent = 100;\n radi.push(scope.data[i].percent);\n arcLength = 2 * Math.PI * (scope.radius + (30 * i)) * (scope.data[i].percent / 360);\n textLength = ctx.measureText(scope.data[i].percent + \"%\");\n scope.arcRadians = scope.data[i].percent / 100 * qtrC + (qtrC);\n ctx.save();\n ctx.beginPath();\n ctx.lineWidth = 25;\n if (scope.data[i].color.indexOf('#') !== -1)\n ctx.strokeStyle = scope.data[i].color;\n else if (scope.data[i].color == 'success')\n ctx.strokeStyle = scope.theme.configuration[\"@brand-success\"];\n else if (scope.data[i].color == 'warning')\n ctx.strokeStyle = scope.theme.configuration[\"@brand-warning\"];\n else if (scope.data[i].color == 'danger')\n ctx.strokeStyle = scope.theme.configuration[\"@brand-danger\"];\n else if (scope.data[i].color == 'info')\n ctx.strokeStyle = scope.theme.configuration[\"@brand-info\"];\n ctx.arc(scope.cX, 1, scope.radius + (30 * i), 0.5 * Math.PI, scope.arcRadians, false);\n ctx.stroke();\n ctx.beginPath();\n ctx.arc(scope.cX, 1, scope.radius + (30 * i), scope.arcRadians, 1 * Math.PI, false);\n ctx.strokeStyle = \"#eeeeee\";\n ctx.stroke();\n\n ctx.save();\n if (textLength.width > arcLength) {\n txtAngle = (scope.data[i].percent + 60) / 100;\n ctx.fillStyle = \"#4e5252\";\n } else {\n txtAngle = scope.data[i].percent / 100;\n ctx.fillStyle = \"#fff\";\n }\n ctx.font = \"bold 12px Arial\";\n ctx.translate(scope.cX, 0);\n ctx.rotate(45 * Math.PI / 180 * txtAngle);\n ctx.fillText(scope.data[i].percent + \"%\", -12, scope.radius + (i * scope.inc) + 4);\n ctx.restore();\n\n scope.arcObject = {\n data: scope.data[i],\n cx: scope.cX,\n cy: 1,\n radius: scope.radius + (30 * i),\n start: 0.5 * Math.PI,\n end: scope.arcRadians\n };\n scope.arcs.push(scope.arcObject);\n }\n scope.inverseMin = 100 - Math.min.apply(null, radi);\n }\n };\n\n scope.defineArc = function (arc) {\n ctx.beginPath();\n ctx.arc(arc.cx, arc.cy, arc.radius, arc.start, arc.end);\n };\n\n scope.buildHeaders = function () {\n if (scope.data) {\n for (var i = scope.data.length - 1; i >= 0; i--) {\n ctx.save();\n ctx.beginPath();\n ctx.fillStyle = \"#eeeeee\";\n ctx.rect(scope.cX + 1, scope.radius + (i * scope.inc) - 11, scope.competencyWidth, 25);\n ctx.fill();\n ctx.fillStyle = \"#4e5252\";\n ctx.textAlign = \"start\";\n ctx.font = \"bold 12px Arial\";\n ctx.fillText(\"of\", scope.cX + 5, scope.radius + (i * scope.inc) + 7);\n ctx.font = \"bold 14px Arial\";\n ctx.fillText(scope.data[i].id, scope.cX + 20, scope.radius + (i * scope.inc) + 7);\n\n scope.capabilityObject = {\n data: scope.data[i],\n x: scope.cX + 1,\n y: scope.radius + (i * scope.inc) - 11,\n width: scope.competencyWidth,\n height: 25\n };\n scope.capabilities.push(scope.capabilityObject);\n }\n }\n };\n\n scope.buildGaps = function () {\n if (scope.data) {\n for (var i = scope.data.length - 1; i >= 0; i--) {\n scope.barStart = scope.cX + scope.competencyWidth + 2;\n scope.barWidth = 0;\n scope.localGapRoom = scope.gapRoom - scope.data[i].items.length - 1;\n var txtLabel, txtLength, txtPercentLength, txtValLength;\n\n for (var j = 0; j < scope.data[i].items.length; j++) {\n ctx.beginPath();\n ctx.font = \"12px Arial\";\n ctx.textAlign = \"center\";\n if (scope.data[i].items[j].percent > 0)\n scope.gapCount = scope.gapCount + 1;\n txtLabel = scope.data[i].items[j].name + \" \" + Math.round(scope.data[i].items[j].percent) + \"%\";\n txtLength = ctx.measureText(scope.data[i].items[j].name + \" \" + Math.round(scope.data[i].items[j].percent) + \"%\").width + 5;\n txtPercentLength = ctx.measureText(Math.round(scope.data[i].items[j].percent) + \"%\").width;\n txtValLength = ctx.measureText(Math.round(scope.data[i].items[j].percent)).width;\n scope.barStart = scope.barStart + scope.barWidth + 1;\n scope.barWidth = (scope.data[i].items[j].percent / scope.inverseMin) * scope.localGapRoom;\n if (scope.data[i].items[j].color != undefined) {\n if (scope.data[i].items[j].color.indexOf('#') !== -1)\n ctx.fillStyle = scope.data[i].color;\n else if (scope.data[i].items[j].color == 'success')\n ctx.fillStyle = scope.theme.configuration[\"@brand-success\"];\n else if (scope.data[i].items[j].color == 'warning')\n ctx.fillStyle = scope.theme.configuration[\"@brand-warning\"];\n else if (scope.data[i].items[j].color == 'danger')\n ctx.fillStyle = scope.theme.configuration[\"@brand-danger\"];\n else if (scope.data[i].items[j].color == 'info')\n ctx.fillStyle = scope.theme.configuration[\"@brand-info\"];\n }\n ctx.rect(scope.barStart, scope.radius + (i * scope.inc) - 11, scope.barWidth, 25);\n ctx.fill();\n ctx.fillStyle = \"#ffffff\";\n\n if (txtValLength > scope.barWidth) {\n ctx.fillText(\"\", scope.barWidth * 0.5 + scope.barStart, scope.radius + (i * scope.inc) + 6);\n } else if (txtPercentLength > scope.barWidth) {\n ctx.fillText(Math.round(scope.data[i].items[j].percent), scope.barWidth * 0.5 + scope.barStart, scope.radius + (i * scope.inc) + 6);\n } else if (txtLength > scope.barWidth) {\n ctx.fillText(Math.round(scope.data[i].items[j].percent) + \"%\", scope.barWidth * 0.5 + scope.barStart, scope.radius + (i * scope.inc) + 6);\n } else {\n ctx.fillText(txtLabel, scope.barWidth * 0.5 + scope.barStart, scope.radius + (i * scope.inc) + 6);\n }\n\n scope.gapObject = {\n data: scope.data[i].items[j],\n\t\t\t\t name: scope.data[i].categoryKey,\n x: scope.barStart,\n y: scope.radius + (i * scope.inc) - 11,\n width: scope.barWidth,\n height: 25\n };\n scope.elements.push(scope.gapObject);\n }\n ctx.closePath();\n }\n }\n };\n\n scope.drawClaw = function () {\n\t\t scope.selectedGap = null;\n scope.selectedCapability = null;\n scope.completedActivities = null;\n scope.clawVisible = true;\n scope.gapCount = 0;\n // draw the background\n ctx.beginPath();\n ctx.save();\n ctx.translate(0.5, 0.5);\n scope.elements = [];\n scope.arcs = [];\n scope.capabilities = [];\n ctx.fillStyle = \"#ffffff\";\n ctx.fillRect(0, 0, scope.canvas[0].width, scope.canvas[0].height);\n ctx.strokeStyle = \"#adadad\";\n ctx.lineWidth = 1;\n ctx.moveTo(0, 0);\n ctx.lineTo(scope.canvas[0].width, 0);\n ctx.moveTo(0, scope.cX + 7);\n ctx.lineTo(scope.canvas[0].width, scope.cX + 7);\n ctx.moveTo(scope.cX + 0, 0);\n ctx.lineTo(scope.cX + 0, scope.cX + 7);\n ctx.moveTo(scope.cX + 2 + scope.competencyWidth, 0);\n ctx.lineTo(scope.cX + 2 + scope.competencyWidth, scope.cX + 7);\n ctx.moveTo(scope.cX, 0);\n ctx.lineTo(0, scope.cX);\n ctx.moveTo(scope.cX, 0);\n ctx.lineTo(0, scope.cX / 2);\n ctx.moveTo(scope.cX, 0);\n ctx.lineTo(scope.cX / 2, scope.cX);\n ctx.stroke();\n\n //build claw\n scope.buildHeaders();\n scope.drawArc();\n scope.buildGaps();\n ctx.restore();\n };\n\n $(window).resize(function () {\n if (scope.clawVisible) {\n scope.$apply(function () {\n scope.resize();\n });\n }\n });\n\n scope.resize = function () {\n if (!scope.clawVisible)\n scope.drawClaw();\n curPerc = 0.5 * Math.PI;\n if (attrs.responsive == 'true')\n scope.chartWidth = element.parent()[0].offsetWidth - 35;\n else\n scope.chartWidth = attrs.chartWidth;\n scope.canvas[0].width = scope.chartWidth - 45;\n scope.gapRoom = scope.canvas[0].width - scope.cX - scope.competencyWidth;\n scope.labelStyle = scope.gapRoom - 10;\n scope.gapRoomPercent = (scope.gapRoom / scope.canvas[0].width) * 100;\n scope.legendWidth = element.find(\".legendContainer\").width();\n scope.redraw();\n }\n\n scope.redraw = function () {\n ctx.clearRect(0, 0, scope.canvas[0].width, scope.canvas[0].height);\n scope.drawClaw();\n };\n\n scope.$watch('data', function () {\n if (scope.autoDraw)\n scope.drawClaw();\n });\n\n scope.$watch('theme', function (newVal, oldVal) {\n if (scope.clawVisible)\n scope.resize();\n }, true);\n\n scope.$on('drawClaw', function () {\n scope.resize();\n });\n\n scope.$on('resizeClaw', function () {\n if (scope.clawVisible)\n scope.resize();\n });\n }\n };\n }]);\n\nangular.module('SumTotalDatePicker', ['mgcrea.ngStrap'])\n .directive('sumtDatepicker', ['$timeout', '$datepicker', '$dateFormatter', '$dateParser', function ($timeout, $datepicker, $dateFormatter, $dateParser) {\n 'use strict';\n\n var defaults = angular.extend({}, {\n dateFormat: 'shortDate',\n strictFormat: false,\n labelInput: null,\n id: null,\n placement: 'bottom-left',\n placeholder: null,\n container: 'body',\n labelNext: 'DATEPICKER_NEXT',\n labelPrevious: 'DATEPICKER_PREVIOUS',\n labelMonth: 'DATEPICKER_MONTHS',\n labelYear: 'DATEPICKER_YEARS',\n labelDays: 'DATEPICKER_DAYS',\n dateType: 'date',\n timezone: null,\n modelDateFormat: null\n },\n $datepicker.defaults);\n\n return {\n restrict: 'E',\n scope: {\n ngModelDate: '=ngModel',\n required: '=ngRequired',\n disabled: '=ngDisabled'\n },\n require: ['ngModel', '?ngRequired', '?ngDisabled'],\n templateUrl: 'datepicker/datepicker.html',\n link: {\n pre: function preLink(scope, element, attr, controllers) {\n var ngModelController = controllers[0];\n\n var options = {\n scope: scope,\n lang: $dateFormatter.getDefaultLocale()\n };\n\n angular.forEach([\n 'dateFormat',\n 'placement',\n 'modelDateFormat',\n 'strictFormat',\n 'labelInput',\n 'lang',\n 'id',\n 'placeholder',\n 'container',\n 'labelNext',\n 'labelPrevious',\n 'labelMonth',\n 'labelYear',\n 'labelDays',\n 'timezone'\n ],\n function (key) {\n if (angular.isDefined(attr[key])) options[key] = attr[key];\n });\n\n options = angular.extend({}, defaults, options);\n\n var dateParser = $dateParser({\n format: options.dateFormat,\n lang: options.lang,\n strict: options.strictFormat\n });\n\n if (angular.isDefined(attr.id)) {\n scope.inputId = attr.id + '_input';\n scope.pickerId = attr.id + '_picker';\n } else if (attr.ngModel) {\n scope.inputId = attr.ngModel + '_input';\n scope.pickerId = attr.ngModel + '_picker';\n }\n\n scope.placement = options.placement;\n scope.dateFormat = options.dateFormat;\n scope.labelInput = attr.labelInput;\n scope.textboxPlaceholder = attr.placeholder;\n scope.container = attr.container || 'body';\n\n scope.labelNext = attr.labelNext || 'DATEPICKER_NEXT';\n scope.labelPrevious = attr.labelPrevious || 'DATEPICKER_PREVIOUS';\n scope.labelMonth = attr.labelMonth || 'DATEPICKER_MONTHS';\n scope.labelYear = attr.labelYear || 'DATEPICKER_YEARS';\n scope.labelDays = attr.labelDays || 'DATEPICKER_DAYS';\n\n scope.timezone = attr.timezone || options.timezone;\n\n var btn = element.find('button');\n angular.forEach(['placement', 'container', 'delay'], function (key) {\n if (angular.isDefined(key)) {\n btn.attr(key, attr[key]);\n }\n });\n\n // Observe attributes for changes\n angular.forEach(['minDate', 'maxDate'], function (key) {\n if (angular.isDefined(attr[key])) {\n attr.$observe(key, function (newValue) {\n scope[key] = dateParser.getDateForAttribute(key, newValue);\n });\n }\n });\n }\n }\n };\n }]);\n\n/* jshint strict:false */\n\nangular.module(\"SumTotalDropdown\", [])\n .controller('dropDownCtrl', ['$scope', function ($scope) {\n $scope.dropdown = [\n {\n \"text\": \" Another action\",\n \"href\": \"#anotherAction\"\n },\n {\n \"text\": \" Display an alert\",\n \"click\": \"$alert(\\\"Holy guacamole!\\\")\"\n },\n {\n \"text\": \" External link\",\n \"href\": \"/auth/facebook\",\n \"target\": \"_self\"\n },\n {\n \"divider\": true\n },\n {\n \"text\": \"Separated link\",\n \"href\": \"#separatedLink\"\n }\n ];\n }]);\n\n/* jshint strict:false */\nangular.module(\"SumTotalEllipsisModule\", [])\n .directive('timelineellipsis', function () {\n return {\n restrict: 'A',\n replace: false,\n template: '
{{currentValue}}
...
{{buttonText}}
',\n link: function (scope, element, attrs) {\n scope.buttonText = attrs.expandText;\n scope.iconClass = attrs.expandIconClass;\n scope.showMore = false;\n scope.useClickExpand = function () {\n var retArgs = false;\n if (attrs.useClickExpand === \"true\" && scope.showMore) {\n retArgs = true;\n }\n return retArgs;\n };\n scope.originalText = '';\n scope.ellipsisText = '';\n scope.originalMaxHeight = '';\n scope.ellipsisExpanded = false;\n scope.containerElement = element.find('.sumt-ellipsis-container');\n //scope.buttonObj = element.find('.sumt-expand-collapse');\n scope.currentValue = '';\n scope.ellipsisElements = [];\n\n\n scope.handleClickEvent = function () {\n if (!scope.ellipsisExpanded) {\n //scope.currentValue = scope.originalText;\n scope.ellipsisExpanded = true;\n scope.originalMaxHeight = element.css(\"max-height\");\n scope.containerElement.css(\"max-height\", \"none\");\n scope.buttonText = attrs.collapseText;\n scope.iconClass = attrs.collapseIconClass;\n //element.find('.icon-downarrow-blue').addClass(\"icon-uparrow-blue\");\n //element.find('.icon-downarrow-blue').removeClass(\"icon-downarrow-blue\");\n } else if (scope.ellipsisExpanded) {\n //scope.currentValue = scope.ellipsisText;\n scope.ellipsisExpanded = false;\n scope.containerElement.css(\"max-height\", \"3.75em\");\n scope.buttonText = attrs.expandText;\n scope.iconClass = attrs.expandIconClass;\n //element.find('.icon-uparrow-blue').addClass(\"icon-downarrow-blue\");\n //element.find('.icon-uparrow-blue').removeClass(\"icon-uparrow-blue\");\n }\n };\n\n if (!scope.ellipsisExpanded) {\n //if () {\n //if (scope.textCheck) {\n\n scope.currentValue = scope.$eval(attrs.descValue).expandableText;\n //scope.originalText = scope.$eval(attrs.descValue).expandableText;\n\n var tempElement = $(scope.containerElement).clone().insertBefore($(scope.containerElement));\n tempElement.css({\n position: \"absolute\",\n visibility: \"hidden\",\n zindex: \"-1\"\n });\n\n var width = parseInt(scope.containerElement[0].style.width ? scope.containerElement[0].style.width : (scope.containerElement.css(\"max-width\") != \"none\" ? scope.containerElement.css(\"max-width\") : scope.containerElement.css(\"width\")), 10);\n var height = parseInt(scope.containerElement[0].style.height ? scope.containerElement[0].style.height : (scope.containerElement.css(\"max-height\") != \"none\" ? scope.containerElement.css(\"max-height\") : null), 10);\n var curText = scope.$eval(attrs.descValue).expandableText;\n\n tempElement.css({\n \"width\": height ? width + \"px\" : \"\",\n \"max-width\": \"none\",\n \"height\": \"\",\n \"max-height\": \"none\"\n });\n tempElement.text(curText);\n\n if ((height && tempElement.height() > height) || (!height && tempElement.width() > width)) {\n scope.showMore = true;\n //while (curText.length > 0 && ((height && tempElement.height() > height) || (!height && tempElement.width() > width))) {\n //\tcurText = curText.substring(0, curText.length - 1);\n //\ttempElement.text(curText + \"...\");\n //\t//console.log('got here - ' + test++);\n //}\n //scope.ellipsisText = tempElement.text();\n //scope.currentValue = tempElement.text();\n }\n tempElement.remove();\n //}\n //}\n }\n if (attrs.useAutoResize) {\n if (scope.ellipsisElements.length === 0) {\n $(\"#divMainContent\").on(\"content-resize\", function () {\n if ($SumtUI.EllipsisResizeTimeout)\n window.clearTimeout($SumtUI.EllipsisResizeTimeout);\n $SumtUI.EllipsisResizeTimeout = window.setTimeout(function () {\n for (var i = 0; i < $SumtUI.EllipsisElements.length; i++)\n scope.applyEllipsis($SumtUI.EllipsisElements[i]);\n }, 100);\n });\n }\n scope.ellipsisElements.push(scope.containerElement);\n }\n }\n };\n });\n\nangular.module(\"SumTotalNGEnterModule\", [])\n.directive('ngEnter', function () { //a directive to 'enter key press' in elements with the \"ng-enter\" attribute\n return function (scope, element, attrs) {\n element.bind(\"keydown keypress\", function (event) {\n if (event.which === 13) {\n scope.$apply(function () {\n scope.$eval(attrs.ngEnter);\n });\n\n event.preventDefault();\n }\n });\n };\n});\n\n/* jshint strict:false */\nangular.module('SumTotalValidatedText', [])\n .directive('sumtValidatedText', function () {\n return {\n restrict: 'EA',\n // require: ['ngModel', '^form'],\n // require: '^form',\n replace: true,\n templateUrl: 'forms/text.html',\n scope: {\n validatedName: '@',\n validatedLabel: '&',\n controlData: '=',\n required: '@'\n },\n link: function (scope, element, attrs, controllers) { // jshint ignore:line\n //scope._required = (scope.required === 'true') ? '' : 'required';\n// if (scope.required === 'true') {\n// element.find('input').attr('required', true);\n// }\n\n scope.getFormGroupClass = function (invalid, dirty, valid) {\n if (invalid && dirty) {\n return 'has-error';\n } else if (valid && dirty) {\n return 'has-success';\n } else {\n return '';\n }\n };\n }\n };\n });\n\n/* jshint strict:false */\nangular.module(\"SumTotalHeaderbarModule\", [])\n .directive('headerbar', ['MultiTransclude', '$compile', function (MultiTransclude, $compile) {\n \treturn {\n \t\trestrict: 'EA',\n \t\ttransclude: true,\n \t\treplace: true,\n \t\tscope: {\n containerElement: '=',\n pageTitleSelector: '@'\n \t\t},\n \t\ttemplateUrl: 'headerbar/headerbar_view.html',\n \t\tlink: function (scope, element, attrs) {\n\n scope.lastScrollTop = 0;\n scope.isScrollUp = false;\n scope.isIE = false;\n\n //check if this is on IE\n if(navigator.userAgent.indexOf(\"MSIE\") != -1 || (!!document.documentMode))\n scope.isIE = true;\n\n //get the container on which scrolling is available\n var containerElement = scope.containerElement;\n\n $(containerElement).scroll(function () {\n\n var top = $(this).scrollTop();\n\n var header = $(containerElement).find('#divHeader');\n\n //when scrolling down, move the header to its negative height so it disappears\n if (top > scope.lastScrollTop && top > header.height()) {\n var delta = \"-\" + header.height().toString();\n //transform the header to slide up and hide\n header.attr('style', \"transform: translate3d(0px, \" + delta + \"px, 0px);\");\n scope.isScrollUp = false;\n }\n\n //scrolling up\n else {\n\n //let the header scroll out of view normally\n if (!scope.isScrollUp && top != 0 && top <= header.height())\n return;\n\n //For IE, there is a known issue regarding jumpy scrolling, the scroll is not smooth. Also, this method gets called several times on Chrome n Firefox for one scroll,\n //but for IE, it gets called only once per scroll which makes the movement choppy. So for IE, let's always transform so it's consistent.\n if (scope.isIE) {\n header.attr('style', \"transform: translate3d(0px, \" + top.toString() + \"px, 0px);\");\n }\n else {\n //the first time we scroll up, transform the header so that it slides down. But if scrolling up continuously\n //we don't want to transform everytime, just fix the header to the top so it stays there\n if (scope.isScrollUp)\n header.attr('style', \"top: \" + top.toString() + \"px\");\n\n else\n header.attr('style', \"transform: translate3d(0px, \" + top.toString() + \"px, 0px);\");\n }\n\n scope.isScrollUp = true;\n\n //get the title component if pageTitleSelector is provided\n var titleComponent = null;\n if (scope.pageTitleSelector != '' && scope.pageTitleSelector != undefined && scope.pageTitleSelector != null)\n titleComponent = angular.element(scope.pageTitleSelector);\n\n if (titleComponent != null) {\n //Typically on a slideout, there is a page title and some padding on the whole slideout. When we transform the header to\n //show up, it leaves the space for title and padding-top as is. To remove that space, we will apply some styles here.\n //When scrolling up (not all the way to the top) hide the title and remove the padding-top of the container.\n //when we are scrolled to the top of the page, remove these styles. We need the title and padding to show up.\n\n if (top > 0) {\n titleComponent.attr('style', \"display: none;\");\n containerElement.attr('style', \"padding-top: 0\");\n }\n\n else {\n titleComponent.removeAttr('style');\n containerElement.removeAttr('style');\n //since we reached the top, the scroll up is complete\n scope.isScrollUp = false;\n }\n }\n }\n\n //keep track of scrolling\n scope.lastScrollTop = top;\n });\n \t\t}\n \t};\n }]);\n\nangular.module(\"SumTotalLeftNav\", ['ngSanitize'])\n .directive('leftNavigation', ['$leftNavs', function ($leftNavs) {\n return {\n replace: false,\n restrict: 'A',\n templateUrl: 'leftnav/leftnav_view.html',\n transclude: true,\n scope: {\n header: '=',\n navData: '=',\n selectedNavData: '=',\n nodeClicked: '=',\n imageclicked: \"&\",\n persondata: \"=\",\n emulation: \"=\",\n exitemulation: \"&\",\n\t\tswitchdomain:\"=\",\n\t\ttranslationobject:\"=\"\n },\n link: function (scope, element, attrs) {\n scope.leftNavsProvider = $leftNavs;\n\n var key = attrs.name || attrs.id;\n key = key || 'defaultLeftNav';\n\n var contentTemplateUrl = angular.isDefined(attrs['contentTemplateUrl']) ? attrs['contentTemplateUrl'] : 'leftnav/leftnav_content_template_view.html';\n\n scope.asideScope = scope.$new();\n scope.asideScope.title = scope.header;\n scope.asideScope.show = false;\n\n scope.asideOptions = {\n title: scope.asideScope.title,\n backdrop: false,\n scope: scope.asideScope,\n templateUrl: contentTemplateUrl,\n html: true,\n placement: 'left',\n animation: 'am-slide-left',\n keyboard: false,\n show: scope.asideScope.show\n };\n scope.leftNavsProvider.addLeftNavigation(key, scope.asideOptions);\n\n scope.leftNavigationObject = scope.leftNavsProvider.getLeftNavigation(key);\n\n scope.navigateToAdmin = function (node, item) {\n scope.nodeClicked(node);\n }\n\n scope.close = function () {\n scope.leftNavsProvider.close(key);\n };\n\n scope.$watch('header', function (newVal) {\n scope.asideScope.title = newVal\n });\n\n scope.handleNodes = function (node, item) {\n\n item.toggle();\n }\n\n scope.handleNodeSelected = function (node, item) {\n\n if (node.RPKey == \"Catalog\") {\n\n scope.nodeClicked(node)\n } else {\n if (scope.nodeClicked && typeof scope.nodeClicked === 'function' && node.childNodes == null || node.childNodes.length == 0) {\n scope.nodeClicked(node);\n } else {\n item.toggle();\n }\n }\n\n };\n }\n };\n }]);\n\nangular.module('SumTotalLeftNav')\n .provider('$leftNavs', function () {\n var _navigationsHash = {};\n var _currentKey = null;\n var _previousKey = null;\n\n var _addNavigation = function (key, leftNavAside) {\n var scopedObject = {\n isShown: false,\n showLimit: 3,\n toggleLimit: false,\n appended: false,\n onClose: null,\n leftNavAside: leftNavAside\n };\n\n if (!_navigationsHash[key]) {\n _navigationsHash[key] = scopedObject;\n }\n };\n\n function _closeCurrent() {\n if (_currentKey) {\n _navigationsHash[_currentKey].leftNavAside.hide();\n _navigationsHash[_currentKey].isShown = false;\n _previousKey = _currentKey;\n }\n };\n\n function _toggleNavigation(key, state) {\n switch (state) {\n case \"open\":\n _closeCurrent();\n if (_navigationsHash[key]) {\n _navigationsHash[key].leftNavAside.show();\n _navigationsHash[key].isShown = true;\n _currentKey = key;\n }\n break;\n case \"close\":\n if (_navigationsHash[key]) {\n _navigationsHash[key].leftNavAside.hide();\n _navigationsHash[key].isShown = false;\n _currentKey = null;\n _previousKey = null;\n }\n break;\n }\n };\n\n this.$get = ['$log', '$aside', '$injector', function ($log, $aside, $injector) {\n var navigationsHash = _navigationsHash;\n\n return {\n /**\n * Gets a left navigation object by its key.\n * @param {string} key Unique key identifying the left navigation.\n * @returns {object} Object representing the left navigation.\n */\n getLeftNavigation: function (key) {\n $log.debug('Getting left navigation:', key);\n\n return navigationsHash[key];\n },\n /**\n * Adds a left navigtaion object.\n * @param {string} key Unique key for the left navigation\n * @param {object} asideOptions Options hash.\n */\n addLeftNavigation: function (key, asideOptions) {\n _addNavigation(key, $aside(asideOptions));\n },\n /**\n *\n * @param key\n * @param onClose\n */\n open: function (key, onClose, targetSource) {\n if (onClose) {\n _navigationsHash[key].onClose = onClose;\n }\n\n // var $slideout = $injector.get('$slideout');\n // if ($slideout) {\n // $slideout.close();\n // }\n _toggleNavigation(key, \"open\");\n\t\t if(targetSource)\n\t\t {\n\t\t\t _navigationsHash[key].targetSource=targetSource;\n\t\t }\t\t\n },\n /**\n * Closes a specific slideout. If no key is provided it will close the current.\n * @param {string} key Key identifier for the slideout. If none is provided it will clsoe the current slideout. BEWARE!\n */\n close: function (key) {\n if (key && _navigationsHash && _navigationsHash[key]) {\n if (_navigationsHash[key].onClose) {\n var onCloseCallback = _navigationsHash[key].onClose;\n _navigationsHash[key].onClose = undefined;\n onCloseCallback();\n } else {\n _toggleNavigation(key, \"close\");\n }\n } else if (!key && _currentKey) {\n this.close(_currentKey);\n }\n\t\t if(_navigationsHash[key].targetSource && _navigationsHash[key].targetSource.currentTarget)\n\t\t {\n\t\t setTimeout(function () {\n angular.element($(_navigationsHash[key].targetSource.currentTarget)).focus();\n });\n\t\t }\n },\n toggle: function (key) {\n if (!_navigationsHash[key]) return;\n\n if (_navigationsHash[key].isShown) {\n _toggleNavigation(key, \"close\");\n } else {\n _toggleNavigation(key, \"open\");\n }\n },\n /**\n *\n */\n getPreviousKey: function () {\n return _previousKey;\n }\n };\n }];\n });\n\nangular.module(\"SumTotalLeftNav\")\n .directive(\"selfheader\", function () {\n return {\n replace: true,\n restrict: 'A',\n templateUrl: 'leftnav/self_header.html',\n scope: {\n imageclicked: '&',\n persondata: '=',\n emulation: \"=\",\n exitemulation: \"&\"\n },\n link: function (t, a, i) {}\n }\n });\n\n/* jshint strict:false */\nangular.module('SumTotalNotificationTile', [])\n .directive('notificationTile',['$interval', function ($interval) {\n return {\n restrict: 'EA',\n replace: false,\n transclude: true,\n templateUrl: 'notificationTile/notificationTile_view.html',\n scope: {\n data: '='\n },\n link: function (scope, element, attrs) { //jshint ignore:line\n scope.pagination = attrs.pagination !== undefined ? attrs.pagination : 'false';\n scope.notifications = [];\n scope.selected = false;\n scope.pages = 0;\n scope.currentPage = 1;\n scope.timer = attrs.isTimed !== undefined && attrs.isTimed !== null ? attrs.isTimed : 'false';\n var interval;\n\n scope.startTimer = function(){\n interval = $interval(scope.paginate, scope.delay);\n }\n\n scope.getPages = function(){\n return new Array(scope.pages);\n }\n\n scope.setPage = function(idx){\n scope.currentPage = idx;\n }\n\n scope.getClass = function(item){\n return item.type;\n };\n\n scope.paginate = function(){\n if(scope.currentPage >= scope.pages)\n scope.currentPage = 1;\n else\n scope.currentPage += 1;\n }\n\n this.addNotifSection = function (data) {\n scope.notifications.push(data);\n scope.pages++;\n };\n\n if (scope.data !== undefined) {\n angular.forEach(scope.data, function (item) {\n this.addNotifSection(item);\n });\n }\n\n if(scope.timer === 'true' || attrs.delay !== undefined){\n scope.delay = scope.$eval(attrs.delay) !== undefined && scope.$eval(attrs.delay) !== null ? attrs.delay: 5000;\n scope.startTimer();\n }\n\n element.on('$destroy', function() {\n $interval.cancel(interval);\n });\n }\n };\n }]);\n\nangular.module('SumTotalPersonalization', [])\n .provider('$theme', function () {\n /**\n * themeTemplate - Template of a theme from the server DTO.\n * currentTheme - variable to store reference to the current theme.\n */\n var themeTemplate = this.themeTemplate = {\n \"ThemeKey\": \"DEFAULT\",\n \"Name\": \"Default Theme\",\n \"ClientJSON\": {\n \"colors\": [\n \"#ef4c00\",\n// \"#000\",\n \"#007bc3\",\n \"#a419b7\",\n \"#76b800\",\n \"#ffae00\"\n ],\n \"axisColor\": \"#5b5b5b\",\n \"gridColor\": \"#5b5b5b\",\n \"textColor\": \"#5b5b5b\",\n \"borderColor\": \"#ffffff\",\n \"backgroundColor\": \"#ffffff\",\n \"labelColor\": \"#5b5b5b\",\n \"@brand-primary\": \"darken(#428bca, 6.5%)\",\n \"@brand-success\": \"#1fbba6\",\n \"@brand-info\": \"#227AB9\",\n \"@brand-warning\": \"#ffc600\",\n \"@brand-danger\": \"#f27c2a\"\n },\n \"PaletteJSON\": {\n \"primary\": \"#077bc1\",\n \"palette\": [\n \"#0078c1\",\n \"#74b712\",\n \"#fead11\",\n \"#a41cb5\",\n \"#ee4b04\",\n \"#5c666f\",\n \"#e0e0df\",\n \"#ffffff\"\n ]\n }\n },\n currentTheme = {},\n rootScope = null;\n\n /**\n * Sets the current theme in the provider.\n * @param {Object} theme ThemeDTO JSON object.\n */\n var setCurrentTheme = this.setCurrentTheme = function (theme) {\n theme = theme || themeTemplate;\n\n var clonedTheme = angular.copy(theme);\n currentTheme.key = clonedTheme.ThemeKey;\n currentTheme.name = clonedTheme.Name;\n currentTheme.configuration = clonedTheme.ClientJSON\n currentTheme.palette = clonedTheme.PaletteJSON;\n\n /**\n * Safe method to get a theme color\n * @param {String} propertyName Color's name\n * @param {String} defaultValue If the property cannot be found default to this color.\n * @returns {String} Color string\n */\n currentTheme.configuration.getColor = function (propertyName, defaultValue) {\n if (currentTheme.configuration && currentTheme.configuration[propertyName]) {\n return currentTheme.configuration[propertyName];\n } else {\n return defaultValue;\n }\n };\n\n if (rootScope) {\n rootScope.$broadcast('themeUpdated', currentTheme);\n }\n\n };\n\n this.$get = ['$log', '$rootScope', function ($log, $rootScope) {\n rootScope = $rootScope;\n\n if (!currentTheme || !currentTheme.key) {\n $log.debug('Theme not configured in app.config. Configuring now.');\n setCurrentTheme(themeTemplate)\n }\n return {\n \"theme\": currentTheme,\n \"curTheme\": currentTheme,\n \"setCurrentTheme\": setCurrentTheme\n };\n }];\n });\n\n/* jshint strict:false */\nangular.module(\"SumTotalSectionModule\", [])\n // The accordion directive simply sets up the directive controller\n // and adds an accordion CSS class to itself element.\n .directive('sumtSection', [function () {\n return {\n restrict: 'EA',\n transclude: true,\n replace: false,\n scope: {\n heading: '@',\n expandedIconClass: '@',\n collapsedIconClass: '@',\n contextualClass: '@'\n },\n templateUrl: 'section/section_view.html',\n link: function (scope, element, attrs) {\n var allowedContextualClasses = ['primary', 'success', 'info', 'warning', 'danger'];\n\n if (angular.isDefined(attrs.id)) {\n scope.panelId = attrs.id + '_panel';\n }\n\n function changeState () {\n scope.isCollapsed = !scope.isCollapsed;\n }\n\n function handleClick (evt) {\n changeState();\n }\n\n function handleKeyUp (evt) {\n if (evt.keyCode === 13 || evt.keyCode === 32) {\n if (evt.preventDefault) evt.preventDefault();\n if (evt.stopPropagation) evt.stopPropagation();\n\n changeState();\n }\n }\n\n scope.isCollapsed = false;\n\n scope.$click = handleClick;\n scope.$keyUp = handleKeyUp;\n\n scope.heading = attrs.heading;\n scope.headerToggleOpen = scope.expandedIconClass !== undefined && scope.expandedIconClass !== '' ? scope.expandedIconClass : 'fa fa-caret-down';\n scope.headerToggleClosed = scope.collapsedIconClass !== undefined && scope.collapsedIconClass !== '' ? scope.collapsedIconClass : 'fa fa-caret-right';\n\n scope.setPanelClass = function () {\n var panelClass = 'panel',\n contextualClass = allowedContextualClasses.indexOf(scope.contextualClass) > -1 ? scope.contextualClass : 'primary';\n\n if (scope.contextualClass) {\n panelClass += ' ' + (contextualClass.indexOf('panel-') >= 0 ? contextualClass : ('panel-' + contextualClass));\n } else {\n panelClass += ' panel-default';\n }\n\n scope.panelClass = panelClass;\n };\n\n //setup the class\n scope.setPanelClass();\n }\n };\n}]);\n\n/* jshint strict:false */\nangular.module(\"SumTotalSidePanel\", [])\n.directive('sidepanel', function () {\n return {\n restrict: 'EA',\n replace: true,\n transclude: true,\n templateUrl: 'sidepanel/sidepanel_view.html',\n scope: {\n header: '@',\n panels: '&'\n },\n link: function (scope, element, attrs) { //jshint ignore:line\n\n }\n };\n});\n\n/* jshint strict:false */\nangular.module(\"SumTotalSlideOutModule\", [])\n .directive('slideout', ['MultiTransclude', '$slideout', '$compile', function (MultiTransclude, $slideout, $compile) {\n return {\n restrict: 'EA',\n transclude: true,\n replace: true,\n scope: {\n showLeftSide: '=',\n hasTemplate: '=',\n key: '@',\n containerSelector: '@',\n showCollapse: '=',\n maintainFocus: '=',\n focusElementOnExpand: '@',\n hasIframe: '='\n },\n templateUrl: 'slideout/slideout_view.html',\n link: function (scope, element, attrs, ctrl, transcludeFn) {\n //register with the provider\n scope.slideProvider = $slideout;\n\n //if no target container is passed in append to the body tag\n scope.parentContainer = scope.containerSelector ? angular.element(scope.containerSelector) : angular.element(\"body\");\n\n //keep focus within the slideout as long as it is open, unless the UI wants to override\n scope.maintainFocus = scope.maintainFocus != null && scope.maintainFocus != undefined ? scope.maintainFocus : true;\n \n //get the id of the slideout, this will be used in aria-labelledby \n attrs.id = attrs.id != null && attrs.id != undefined ? attrs.id : '';\n\n scope.hasIframe = scope.hasIframe != null && scope.hasIframe != undefined ? scope.hasIframe : false;\n\n scope.slideOutObject = scope.slideProvider.getSlideOut(scope.key);\n if (scope.slideOutObject) {\n //if slideout is being added to different container, always remove and add while redrawing.\n if (scope.containerSelector) {\n scope.parentContainer.find(\"div[key='\" + scope.key + \"']\").remove();\n scope.slideOutObject.appended = false;\n }\n } else {\n scope.slideProvider.addSlideOut(scope.key, scope.showCollapse, scope.maintainFocus, scope.focusElementOnExpand, attrs.id, scope.hasIframe);\n scope.slideOutObject = scope.slideProvider.getSlideOut(scope.key);\n }\n\n scope.showLeft = scope.showLeftSide != null && scope.showLeftSide != undefined ? scope.showLeftSide : true;\n scope.showCollapse = scope.showCollapse != null && scope.showCollapse != undefined ? scope.showCollapse : false;\n scope.getContainerClass = function () {\n var retArgs = '';\n if (!scope.slideOutObject.closed) {\n var previousKey = scope.slideProvider.getPreviousKey();\n if (!previousKey && previousKey != scope.key)\n retArgs += ' slideout-open';\n else\n retArgs += ' slideout-open-fade';\n } else {\n retArgs != 'slideout-closed';\n }\n\n if (scope.slideOutObject.expand) {\n retArgs += ' slideout-fullopen';\n }\n if (scope.showCollapse && scope.slideOutObject.collapsed) {\n retArgs += ' collapsed';\n }\n\t\t \n\t\t if(typeof(scope.slideProvider.showHeader) != 'undefined' && !scope.slideProvider.showHeader){\n\t\t\tretArgs += ' slideout-displaytop';\n\t\t }\n return retArgs;\n };\n //Handle watches adding too many slide outs to the page.\n if (scope.parentContainer && !scope.slideOutObject.appended) {\n scope.parentContainer.append(element);\n scope.slideOutObject.appended = true;\n }\n }\n };\n }]);\n/* jshint strict:false */\nangular.module(\"SumTotalTabModule\", [])\n.controller('tabctrl', [\"$scope\", function ($scope) {\n $scope.tabs = [\n {\n \"title\": \"Home\",\n \"content\": \"Dat raw denim you probably haven't heard of them jean shorts Austin. Nesciunt tofu stumptown aliqua, retro synth master cleanse. Mustache cliche tempor, williamsburg carles vegan helvetica.\"\n },\n {\n \"title\": \"Profile\",\n \"content\": \"Food truck fixie locavore, accusamus mcsweeney's marfa nulla single-origin coffee squid. Exercitation +1 labore velit, blog sartorial PBR leggings next level wes anderson artisan four loko farm-to-table craft beer twee.\"\n },\n {\n \"title\": \"About\",\n \"content\": \"Etsy mixtape wayfarers, ethical wes anderson tofu before they sold out mcsweeney's organic lomo retro fanny pack lo-fi farm-to-table readymade.\"\n },\n {\n \"title\": \"Contact\",\n \"content\": \"Reprehenderit butcher retro keffiyeh dreamcatcher synth. Cosby sweater eu banh mi, qui irure terry richardson ex squid.\"\n }\n ];\n}]);\n\n/* jshint strict:false */\nangular.module(\"SumTotalTimeline\", [])\n .directive('sumtTimeline', [\"$filter\", function ($filter) {\n return {\n restrict: 'EA',\n transclude: true,\n scope: {\n data: '=',\n config: '=',\n hasFilter: '@',\n highlight: '@'\n },\n templateUrl: 'timeline/timeline_view.html',\n link: function (scope, element, attrs) { // jshint ignore:line\n scope.filter = attrs.hasFilter !== undefined && attrs.hasFilter === 'false' ? attrs.hasFilter : true;\n scope.nodes = [];\n scope.tabs = [];\n scope.selectedTab;\n scope.date = new Date();\n scope.compDate = $filter('date')(scope.date, \"MM/dd/yyyy\");\n this.addDataNode = function (data) {\n scope.nodes.push(data);\n };\n\n this.setConfig = function (config) {\n scope.tabs.push(config);\n };\n\n if (scope.config !== undefined) {\n angular.forEach(scope.config, function (item) {\n this.setConfig(item);\n });\n scope.selectedTab = scope.tabs[0];\n }\n\n if (attrs.stagger !== undefined && attrs.stagger === 'false') {\n scope.stagger = false;\n } else {\n scope.stagger = true;\n }\n\n if (attrs.highlight !== undefined && attrs.highlight === 'false') {\n scope.highlight = false;\n } else {\n scope.highlight = true;\n }\n\n scope.setTabSelection = function(tab){\n scope.selectedTab = tab;\n scope.nodes = [];\n angular.forEach(scope.data, function (item) {\n if(item.type == tab.type || tab.type == 'all')\n scope.nodes.push(item);\n });\n }\n }\n };\n }\n ]);\n\n/* jshint strict:false */\nangular.module(\"SumTotalTooltipModule\", [])\n.controller(\"toolTipControl\", [\"$scope\", function ($scope) {\n $scope.dynamicTooltip = \"Hello, World!\";\n $scope.dynamicTooltipText = \"dynamic\";\n $scope.htmlTooltip = \"I've been made bold!\";\n}]);\n\n/* jshint strict:false */\nangular.module(\"SumTotalWebpartModule\", [])\n .directive('sumtWebpart', function () {\n return {\n restrict: \"A\",\n scope: true,\n replace: false,\n templateUrl: 'webparts/webpartcontainer_view.html',\n transclude: true,\n link: function (scope, element, attrs) {\n\n //var defaultClass = 'sumt-webpart-header ';\n var headerClass = attrs.headerClass === '' || attrs.headerClass === undefined ? '' : attrs.headerClass;\n\n scope.headerTitle = attrs.headerTitle !== '' && attrs.headerTitle !== undefined ? attrs.headerTitle : '';\n scope.headerClass = headerClass;\n\n scope.headerIcon = attrs.headerIcon !== '' && attrs.headerIcon !== undefined ? attrs.headerIcon : '';\n\n scope.hideHeader = attrs.hideHeader !== '' && attrs.hideHeader !== undefined ? attrs.hideHeader : false;\n //console.log(scope.headerUrl);\n scope.headerUrl = attrs.headerUrl !== '' && attrs.headerUrl !== undefined ? attrs.headerUrl : false;\n scope.hideDeeplink = attrs.hideDeeplink !== '' && attrs.hideDeeplink !== undefined && attrs.hideDeeplink.toLowerCase() == 'true' ? true : false;\n scope.contentWidth = attrs.contentWidth !== '' && attrs.contentWidth !== undefined ? attrs.contentWidth : undefined;\n scope.contentHeight = attrs.contentHeight !== '' && attrs.contentHeight !== undefined ? attrs.contentHeight : undefined;\n scope.contentClass = attrs.contentClass !== '' && attrs.contentClass !== undefined ? attrs.contentClass : undefined;\n\n scope.widthObj = {\n width: scope.contentWidth\n };\n scope.heightObj = {\n height: scope.contentHeight\n };\n if (!scope.hideDeeplink) {\n scope.handleHeaderClick = function () {\n window.eval(scope.headerUrl); // jshint ignore:line\n };\n }\n if (scope.headerUrl !== '' && scope.headerUrl !== undefined && !scope.hideDeeplink) {\n scope.headerLinkIcon = 'fa fa-external-link-square';\n scope.headerStyleObj = {\n cursor: \"pointer\"\n };\n //element.on(\"click\", function () { window.eval(scope.headerUrl); });\n }\n }\n };\n });\n\n/* jshint strict:false */\n\nangular.module('SumTotalTypeahead', ['mgcrea.ngStrap.tooltip', 'mgcrea.ngStrap.helpers.parseOptions'])\n\n.provider('$sumttypeahead', function () {\n\n var defaults = this.defaults = {\n animation: 'am-fade',\n prefixClass: 'typeahead',\n prefixEvent: '$sumttypeahead',\n placement: 'bottom-left',\n template: 'typeahead/typeahead.tpl.html',\n trigger: 'focus',\n container: false,\n keyboard: true,\n html: false,\n delay: 0,\n minLength: 1,\n filter: 'filter',\n limit: 6,\n comparator: ''\n };\n\n this.$get = function ($window, $rootScope, $tooltip, $timeout) {\n\n function TypeaheadFactory(element, controller, config) {\n\n var $sumttypeahead = {};\n\n // Common vars\n var options = angular.extend({}, defaults, config);\n\n $sumttypeahead = $tooltip(element, options);\n var parentScope = config.scope;\n var scope = $sumttypeahead.$scope;\n\n scope.$resetMatches = function () {\n scope.$matches = [];\n scope.$activeIndex = -1;\n };\n scope.$resetMatches();\n\n scope.$activate = function (index) {\n scope.$$postDigest(function () {\n $sumttypeahead.activate(index);\n });\n };\n\n scope.$select = function (index) {\n scope.$$postDigest(function () {\n $sumttypeahead.select(index);\n });\n };\n\n scope.$isVisible = function () {\n return $sumttypeahead.$isVisible();\n };\n\n // Public methods\n\n $sumttypeahead.update = function (matches) {\n scope.$matches = matches;\n if (scope.$activeIndex >= matches.length) {\n scope.$activeIndex = -1;\n }\n return true;\n };\n\n $sumttypeahead.activate = function (index) {\n scope.$activeIndex = index;\n };\n\n $sumttypeahead.select = function (index) {\n var value = scope.$matches[index].value;\n // console.log('$setViewValue', value);\n controller.$setViewValue(value);\n controller.$render();\n scope.$resetMatches();\n if (parentScope) parentScope.$digest();\n // Emit event\n scope.$emit(options.prefixEvent + '.select', value, index, $sumttypeahead);\n };\n\n // Protected methods\n\n $sumttypeahead.$isVisible = function () {\n if (!options.minLength || !controller) {\n return !!scope.$matches.length;\n }\n // minLength support\n return scope.$matches.length && angular.isString(controller.$viewValue) && controller.$viewValue.length >= options.minLength;\n };\n\n $sumttypeahead.$getIndex = function (value) {\n var l = scope.$matches.length,\n i = l;\n if (!l) return;\n for (i = l; i--;) {\n if (scope.$matches[i].value === value) break;\n }\n if (i < 0) return;\n return i;\n };\n\n $sumttypeahead.$onMouseDown = function (evt) {\n // Prevent blur on mousedown\n evt.preventDefault();\n evt.stopPropagation();\n };\n\n $sumttypeahead.$onKeyDown = function (evt) {\n if (!/(38|40|13)/.test(evt.keyCode)) return;\n\n // Let ngSubmit pass if the typeahead tip is hidden\n if ($sumttypeahead.$isVisible() && evt.keyCode !== 13) {\n evt.preventDefault();\n evt.stopPropagation();\n }\n\n // Select with enter\n if (evt.keyCode === 13 && scope.$matches.length && scope.$activeIndex >= 0) {\n $sumttypeahead.select(scope.$activeIndex);\n } else if (evt.keyCode === 13 && scope.$matches.length && scope.$activeIndex >= 0) {\n return;\n } else if (evt.keyCode === 38 && scope.$activeIndex > 0) scope.$activeIndex--; // Navigate with keyboard\n else if (evt.keyCode === 40 && scope.$activeIndex < scope.$matches.length - 1) scope.$activeIndex++;\n else if (angular.isUndefined(scope.$activeIndex)) scope.$activeIndex = 0;\n scope.$digest();\n };\n\n // Overrides\n\n var show = $sumttypeahead.show;\n $sumttypeahead.show = function () {\n show();\n // use timeout to hookup the events to prevent\n // event bubbling from being processed imediately.\n $timeout(function () {\n $sumttypeahead.$element.on('mousedown', $sumttypeahead.$onMouseDown);\n if (options.keyboard) {\n element.on('keydown', $sumttypeahead.$onKeyDown);\n }\n }, 0, false);\n };\n\n var hide = $sumttypeahead.hide;\n $sumttypeahead.hide = function () {\n $sumttypeahead.$element.off('mousedown', $sumttypeahead.$onMouseDown);\n if (options.keyboard) {\n element.off('keydown', $sumttypeahead.$onKeyDown);\n }\n hide();\n };\n\n return $sumttypeahead;\n\n }\n\n TypeaheadFactory.defaults = defaults;\n return TypeaheadFactory;\n\n };\n\n this.$get.$inject = ['$window', '$rootScope', '$tooltip', '$timeout'];\n})\n\n.directive('sumtTypeahead', ['$window', '$parse', '$q', '$sumttypeahead', '$parseOptions',\n function ($window, $parse, $q, $sumttypeahead, $parseOptions) {\n\n var defaults = $sumttypeahead.defaults;\n\n return {\n restrict: 'EAC',\n require: 'ngModel',\n link: function postLink(scope, element, attr, controller) {\n\n // Directive options\n var options = {\n scope: scope\n };\n angular.forEach(['placement', 'container', 'delay', 'trigger', 'keyboard', 'html', 'animation', 'template', 'filter', 'limit', 'minLength', 'watchOptions', 'selectMode', 'comparator', 'id'], function (key) {\n if (angular.isDefined(attr[key])) options[key] = attr[key];\n });\n\n // Build proper ngOptions\n var filter = options.filter || defaults.filter;\n var limit = options.limit || defaults.limit;\n var comparator = options.comparator || defaults.comparator;\n\n var ngOptions = attr.ngOptions;\n if (filter) ngOptions += ' | ' + filter + ':$viewValue';\n if (comparator) ngOptions += ':' + comparator;\n if (limit) ngOptions += ' | limitTo:' + limit;\n var parsedOptions = $parseOptions(ngOptions);\n\n // Initialize typeahead\n var typeahead = $sumttypeahead(element, controller, options);\n\n // Watch options on demand\n if (options.watchOptions) {\n // Watch ngOptions values before filtering for changes, drop function calls\n var watchedOptions = parsedOptions.$match[7].replace(/\\|.+/, '').replace(/\\(.*\\)/g, '').trim();\n scope.$watch(watchedOptions, function () {\n // console.warn('scope.$watch(%s)', watchedOptions, newValue, oldValue);\n parsedOptions.valuesFn(scope, controller).then(function (values) {\n typeahead.update(values);\n controller.$render();\n });\n }, true);\n }\n\n // Watch model for changes\n scope.$watch(attr.ngModel, function (newValue) {\n // console.warn('$watch', element.attr('ng-model'), newValue);\n scope.$modelValue = newValue; // Publish modelValue on scope for custom templates\n parsedOptions.valuesFn(scope, controller)\n .then(function (values) {\n // Prevent input with no future prospect if selectMode is truthy\n // @TODO test selectMode\n if (options.selectMode && !values.length && newValue.length > 0) {\n controller.$setViewValue(controller.$viewValue.substring(0, controller.$viewValue.length - 1));\n return;\n }\n if (values.length > limit) values = values.slice(0, limit);\n var isVisible = typeahead.$isVisible();\n isVisible && typeahead.update(values);\n // Do not re-queue an update if a correct value has been selected\n if (values.length === 1 && values[0].value === newValue) return;\n !isVisible && typeahead.update(values);\n // Queue a new rendering that will leverage collection loading\n controller.$render();\n });\n });\n\n // modelValue -> $formatters -> viewValue\n controller.$formatters.push(function (modelValue) {\n // console.warn('$formatter(\"%s\"): modelValue=%o (%o)', element.attr('ng-model'), modelValue, typeof modelValue);\n var displayValue = parsedOptions.displayValue(modelValue);\n return displayValue === undefined ? '' : displayValue;\n });\n\n // Model rendering in view\n controller.$render = function () {\n // console.warn('$render', element.attr('ng-model'), 'controller.$modelValue', typeof controller.$modelValue, controller.$modelValue, 'controller.$viewValue', typeof controller.$viewValue, controller.$viewValue);\n if (controller.$isEmpty(controller.$viewValue)) return element.val('');\n var index = typeahead.$getIndex(controller.$modelValue);\n var selected = angular.isDefined(index) ? typeahead.$scope.$matches[index].label : controller.$viewValue;\n selected = angular.isObject(selected) ? parsedOptions.displayValue(selected) : selected;\n element.val(selected ? selected.toString().replace(/<(?:.|\\n)*?>/gm, '').trim() : '');\n };\n\n // Garbage collection\n scope.$on('$destroy', function () {\n if (typeahead) typeahead.destroy();\n options = null;\n typeahead = null;\n });\n\n }\n };\n\n}]);\n\n /* jshint strict:false */\n angular.module(\"SumTotalWizard\", [])\n .directive('sumtWizard', [function () {\n return {\n restrict: 'EA',\n replace: false,\n transclude: false,\n templateUrl: 'wizard/wizardsteps_view.html',\n scope: {\n activeStep: '=',\n nextStep: '=',\n prevStep: '=',\n\t\t\t\t\tstepData: '='\n },\n link: function (scope, element, attrs) { // jshint ignore:line\n scope.stepArray = [];\n scope.stepCount = attrs.numSteps;\n\t\t\t\t\tif(scope.stepData!=null)\n\t\t\t\t\t{\n\t\t\t\t\t\t\tangular.forEach(scope.stepData, function(value, key) {\n\t\t\t\t\t\t\t\t\tvar step = {\n\t\t\t\t\t\t\t\t\tstepNum: value.stepNum,\n\t\t\t\t\t\t\t\t\tstepName: value.stepName\n\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t\tscope.stepArray.push(step);\n\t\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t\telse\n\t\t\t\t\t{\n\t\t\t\t\t\tfor (var i = 1; i <= attrs.numSteps; i++) {\n\t\t\t\t\t\t\tvar step = {\n\t\t\t\t\t\t\t\tstepNum: i,\n\t\t\t\t\t\t\t\tstepName: ''\n\t\t\t\t\t\t\t};\n\n\t\t\t\t\t\t\tscope.stepArray.push(step);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n if (attrs.allowDisable !== undefined) {\n scope.disabled = true;\n } else {\n scope.disabled = false;\n }\n\n\n scope.nextStep = function () {\n if (scope.activeStep < scope.stepCount) {\n scope.activeStep += 1;\n }\n };\n\n scope.prevStep = function () {\n if (scope.activeStep > 1) {\n scope.activeStep -= 1;\n }\n };\n }\n };\n}]);\n\nangular.module(\"SumTotalSlideOutModule\")\n .factory(\"MultiTransclude\", ['$compile', function ($compile) {\n return {\n transclude: function (elem, transcludeFn, scope) {\n transcludeFn(function (clone) {\n angular.forEach(clone, function (cloneEl) {\n if (cloneEl.attributes) {\n var destinationId = cloneEl.attributes[\"transclude-to\"].value;\n var destination = angular.element(elem[0].querySelector('[transclude-id=\"' + destinationId + '\"]'));\n if (destination.length) {\n destination.append(cloneEl);\n } else {\n cloneEl.remove();\n }\n }\n });\n });\n }\n };\n }]);\n\nangular.module(\"SumTotalSlideOutModule\")\n .provider('$slideout', function () {\n var _slideOutsHash = {};\n var _currentKey = null;\n var _previousKey = null;\n var _addSlideOut = function (key, collapsible, maintainFocus, focusElementOnExpand, slideoutId, hasIframe) {\n var myScopeObject = {\n closed: true,\n fullOpen: false,\n showLimit: 3,\n toggleLimit: false,\n expand: false,\n appended: false,\n collapsed: false,\n collapsible: collapsible ? collapsible : false,\n maintainFocus: maintainFocus,\n focusElementOnExpand: focusElementOnExpand,\n slideoutId: slideoutId,\n hasIframe: hasIframe\n };\n\n if (!_slideOutsHash[key]) {\n _slideOutsHash[key] = myScopeObject;\n }\n };\n\n function _closeCurrent() {\n if (_currentKey) {\n _slideOutsHash[_currentKey].closed = true;\n _slideOutsHash[_currentKey].expand = false;\n _previousKey = _currentKey;\n\n if (_slideOutsHash[_currentKey].collapsible)\n _slideOutsHash[_currentKey].collapsed = false;\n }\n }\n\n function _maintainFocus() {\n if (_currentKey) {\n //get the slideout container\n var slideoutContainer = $('div[key=\"' + _currentKey + '\"]');\n\n /* If there is an iframe on this slideout, then apend a hidden element to the container so that iframe\n * has an element to move focus to. That way focus will remain within the slideout. Otherwise, focus shits to address bar after iframe. \n * Make sure the hidden element is added only once as this method gets called multiple times. */\n\n if (_slideOutsHash[_currentKey].hasIframe && $('#idHiddenButton').length <= 0) {\n\n var hiddenButton = document.createElement(\"button\");\n hiddenButton.id = \"idHiddenButton\";\n hiddenButton.style = \"opacity: 0\"\n hiddenButton.setAttribute(\"aria-hidden\", \"true\");\n\n slideoutContainer[0].appendChild(hiddenButton);\n }\n\n slideoutContainer.keydown(function (event) {\n var elementsList = $('div[key=\"' + _currentKey + '\"] :tabbable');\n\n var noOfElements = elementsList.length;\n if (event.keyCode == 9 && event.shiftKey == false) {\n if (event.target === elementsList[noOfElements - 1]) {\n event.preventDefault();\n setTimeout(function () {\n elementsList[1].focus(); //after the last element, do not focus on the slideout container\n })\n }\n else if (event.target.type == 'radio') {\n var nameAtt = event.target.getAttribute('name');\n if (elementsList[noOfElements - 1].type == 'radio' && elementsList[noOfElements - 1].getAttribute('name') == nameAtt) {\n event.preventDefault();\n elementsList[0].focus();\n }\n }\n }\n else if (event.keyCode == 9 && event.shiftKey == true) {\n if (event.target === elementsList[1]) {\n event.preventDefault();\n setTimeout(function () {\n elementsList[noOfElements - 1].focus();\n })\n }\n }\n })\n }\n }\n function _focusSlideout(key, focusElement) {\n //UI can provide the specific element it wants to focus on open. By default, we will focus on the main slideout container\n if (focusElement == undefined)\n focusElement = '.sumt-slideout';\n\n var container = $('div[key=\"' + key + '\"]').find(focusElement);\n if (container.length > 0)\n setTimeout(function () {\n container[0].focus();\n }, 500);\n else {\n //assume we didn't find the element, probably first time open. Allow the dom a second to update and try to grab it again\n if (focusElement !== null && focusElement !== undefined)\n setTimeout(function () {\n container = $('div[key=\"' + key + '\"]').find(focusElement);\n if (container.length > 0)\n container[0].focus();\n }, 500);\n }\n }\n function _toggleSlideout(key, state, focusElementOnExpand) {\n switch (state) {\n case \"open\":\n _closeCurrent();\n _slideOutsHash[key].collapsed = false;\n _slideOutsHash[key].closed = false;\n _slideOutsHash[key].expand = false;\n _currentKey = key;\n //when slideout is partially open, then maintain focus based on the property sent by UI\n if (_slideOutsHash[key].maintainFocus)\n _maintainFocus();\n break;\n case \"close\":\n _slideOutsHash[key].collapsed = false;\n _slideOutsHash[key].closed = true;\n _slideOutsHash[key].expand = false;\n _currentKey = null;\n _previousKey = null;\n break;\n case \"fullopen\":\n _closeCurrent();\n _slideOutsHash[key].collapsed = false;\n _slideOutsHash[key].closed = false;\n _slideOutsHash[key].expand = true;\n _currentKey = key;\n //when slideout is fully open, the always maintain focus within itself\n _maintainFocus();\n break;\n case \"collapse\":\n _slideOutsHash[key].collapsed = true;\n _slideOutsHash[key].closed = true;\n _slideOutsHash[key].expand = false;\n }\n }\n this.$get = ['$log', '$injector', '$translate', '$q', function ($log, $injector, $translate, $q) {\n var slideOutHash = _slideOutsHash;\n\n return {\n getSlideOut: function (key) {\n return slideOutHash[key];\n },\n addSlideOut: function (key, collapsible, maintainFocus, focusElementOnExpand, slideoutId, hasIframe) {\n _addSlideOut(key, collapsible, maintainFocus, focusElementOnExpand, slideoutId, hasIframe);\n },\n open: function (key, targetSource) {\n var performAction = true;\n\n if (_slideOutsHash[key]) {\n if (_slideOutsHash[key].onOpen) {\n performAction = _slideOutsHash[key].onOpen();\n }\n\n //when opened partially or collapsed from full open, the focus will go to the main container.\n _focusSlideout(key);\n if (targetSource) {\n _slideOutsHash[key].targetSource = targetSource;\n }\n }\n\n if (performAction !== false) {\n _toggleSlideout(key, \"open\");\n }\n },\n closeCurrent: function () {\n _closeCurrent();\n },\n getCurrentKey: function () {\n return _currentKey;\n },\n getCurrent: function () {\n return slideOutHash[_currentKey];\n },\n fullOpen: function (key, focusElementOnExpand, targetSource) {\n var performAction = true;\n\n if (_slideOutsHash[key]) {\n if (_slideOutsHash[key].onFullOpen) {\n performAction = _slideOutsHash[key].onFullOpen();\n }\n if (targetSource) {\n _slideOutsHash[key].targetSource = targetSource;\n }\n }\n if (performAction !== false) {\n _toggleSlideout(key, \"fullopen\", focusElementOnExpand);\n }\n //focus on the slideout or element provided, needed to wait for the slideout contents to show itself for this to work\n _focusSlideout(key, focusElementOnExpand === undefined || focusElementOnExpand === null ? _slideOutsHash[key].focusElementOnExpand : focusElementOnExpand);\n },\n close: function (key) {\n if (key && _slideOutsHash && _slideOutsHash[key]) {\n var performAction = true;\n if (_slideOutsHash[key].onClose) {\n performAction = _slideOutsHash[key].onClose();\n }\n\n if (performAction !== false) {\n _toggleSlideout(key, \"close\");\n }\n if (_slideOutsHash[key].targetSource && _slideOutsHash[key].targetSource.currentTarget) {\n setTimeout(function () {\n angular.element($(_slideOutsHash[key].targetSource.currentTarget)).focus();\n });\n }\n } else if (!key && _currentKey) {\n this.close(_currentKey);\n }\n },\n collapse: function (key) {\n if (key && _slideOutsHash && _slideOutsHash[key]) {\n _toggleSlideout(key, \"collapse\");\n }\n },\n getPrevious: function () {\n return _slideOutsHash[_previousKey];\n },\n getPreviousKey: function () {\n return _previousKey;\n },\n focusSlideout: _focusSlideout\n };\n }];\n });\nangular.module(\"SumTotalComponents\").run([\"$templateCache\", function($templateCache) {$templateCache.put(\"accordion/accordion-group_view.html\",\"
\\n \\n
\\n
\\n
\\n
\\n\");\n$templateCache.put(\"accordion/accordion_view.html\",\"
\\n

{{heading}}

\\n
\\n
\\n
\\n
\\n\");\n$templateCache.put(\"angular-strap/alert.html\",\"
\\n  \\n \\n
\");\n$templateCache.put(\"angular-strap/datepicker.html\",\"
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
\\n \\n \\n \\n \\n \\n
\\n \\n
\\n
\\n\");\n$templateCache.put(\"claw/claw_view.html\",\"
\\n
\\n
\\n {{gapCount}} \\n
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
\\n
\\n
\\n \\n
\\n
\\n
\\n \\n \\n
\\n \\n \\n \\n \\n \\n \\n \\n \\n
{{::item.id}}
{{::i.name}}{{::i.percent}}
\\n
\\n
\\n \\n \\n \\n
\\n
\\n
\\n
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
 
{{i.name | limitTo: 100}}{{i.name.length>100?\\'...\\':\\'\\'}}250?\\'...\\':\\'\\')\\\"> {{i.value}}% 0\\\" class=\\\"clawTableWordBreak clawTableActionCol\\\">\\n
\\n \\n \\n \\n
\\n
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
100?\\'...\\':\\'\\')\\\" class=\\\"clawTableWordBreak clawTableDescCol\\\">
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
100?\\'...\\':\\'\\')\\\" class=\\\"clawTableWordBreak clawTableDescCol\\\">
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
100?\\'...\\':\\'\\')\\\" class=\\\"clawTableWordBreak clawTableNameCol\\\">250?\\'...\\':\\'\\')\\\">
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
100?\\'...\\':\\'\\')\\\" class=\\\"clawTableWordBreak clawTableDescCol\\\">
\\n
\\n
\\n
\\n
\\n\");\n$templateCache.put(\"datepicker/datepicker.html\",\"
\\n \\n \\n \\n
\\n\");\n$templateCache.put(\"forms/text.html\",\"
\\n \\n \\n \\n \\n (success)\\n
\\n\");\n$templateCache.put(\"headerbar/headerbar_view.html\",\"
\\n\\n
\\n\\n
\\n
\\n\\n\");\n$templateCache.put(\"leftnav/leftnav_content_template_view.html\",\"
\\n
\\n
\\n\\n
\\n
\\n
\\n \\n
\\n
\\n \\n
\\n
\\n
\\n
\\n

\\n

\\n\t\t
\\n\t\t

{{::translationobject.domain}}: {{switchdomain.name}} \\n\t\t \\n\t\t {{::translationobject.edit}}\\n\t\t

\\n\t\t
\\n \\n
\\n
\\n \\n
\\n
\\n\\n\\n\\n
\\n
\\n \\n
\\n\");\n$templateCache.put(\"leftnav/leftnav_panels_view.html\",\"\\n\");\n$templateCache.put(\"leftnav/leftnav_view.html\",\"
\\n
\\n
\\n\");\n$templateCache.put(\"leftnav/self_header.html\",\"
\\n
\\n\t\\n\t
\\n\t\t\\n\t
\\n\t
\\n\t
\\n\t\t

\\n\t\t

\\n\t\t

Exit Emulation

\\n\t
\\n
\\n\\n\");\n$templateCache.put(\"notificationTile/notificationTile_view.html\",\"
\\n
\\n
\\n

{{item.heading}}

\\n

{{item.definition}}

\\n
\\n
\\n
\\n
\\n \\n
\\n\");\n$templateCache.put(\"section/section_view.html\",\"
\\n \\n
\\n
\\n
\\n
\\n\");\n$templateCache.put(\"sidepanel/sidepanel_view.html\",\"
\\n
\\n\\n
\\n\\n\\n\");\n$templateCache.put(\"slideout/slideout_view.html\",\"
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n
\\n
\\n
\\n\");\n$templateCache.put(\"timeline/timeline_view.html\",\"
\\n \\n
\\n
\\n
\\n \\n \\n
\\n
\\n

{{node.title}}

\\n

{{node.body}}

\\n \\n {{node.date | date:\\\"MM/dd/yyyy\\\"}}\\n
\\n
\\n
\\n
\\n\");\n$templateCache.put(\"typeahead/typeaheadwrap.tpl.html\",\"
    \\n\t
  • \\n \\n
  • \\n\t
  • 6)\\\" style=\\\"margin-left: 5px;word-wrap: break-word;background-color:#EEEEEE\\\">\\n\t\t

    More jobs match your search. Try using more specific keywords to narrow the results

    \\n\t
  • \\n
\\n\");\n$templateCache.put(\"webparts/webpartcontainer_view.html\",\"
\\n

\\n \\n {{headerTitle}}\\n \\n

\\n
\\n
\\n
\\n
\\n\");\n$templateCache.put(\"wizard/wizardsteps_view.html\",\"
    \\n
  1. \\n
    \\n\t

    \\n\t
  2. \\n
\\n\");}]);\nangular.module('SumTotalComponents')\n .constant('FOUNDATION_TRANSLATIONS', {\n en: {\n CLOSE: 'Close',\n CLOSE_TXT: 'Close'\n },\n de: {\n CLOSE: 'Nah dran',\n CLOSE_TXT: 'Schließen'\n },\n arSA: {\n CLOSE_TXT: 'إغلاق'\n },\n cs: {\n CLOSE_TXT: 'Zavřít'\n },\n da: {\n CLOSE_TXT: 'Luk'\n },\n el: {\n CLOSE_TXT: 'Κλείσιμο'\n },\n enGB: {\n CLOSE_TXT: 'Close'\n },\n esMX: {\n CLOSE_TXT: 'Cerrar'\n },\n es: {\n CLOSE_TXT: 'Cerrar'\n },\n fi: {\n CLOSE_TXT: 'Sulje'\n },\n frCA: {\n CLOSE_TXT: 'Fermer'\n },\n fr: {\n CLOSE_TXT: 'Fermer'\n },\n hu: {\n CLOSE_TXT: 'Bezárás'\n },\n id: {\n CLOSE_TXT: 'Tutup'\n },\n it: {\n CLOSE_TXT: 'Chiudi'\n },\n ja: {\n CLOSE_TXT: '閉じる'\n },\n ko: {\n CLOSE_TXT: '닫기'\n },\n nl: {\n CLOSE_TXT: 'Sluiten'\n },\n no: {\n CLOSE_TXT: 'Lukk'\n },\n pl: {\n CLOSE_TXT: 'Zamknij'\n },\n ptBR: {\n CLOSE_TXT: 'Fechar'\n },\n ro: {\n CLOSE_TXT: 'Închidere'\n },\n ru: {\n CLOSE_TXT: 'Закрыть'\n },\n sl: {\n CLOSE_TXT: 'Zapri'\n },\n sv: {\n CLOSE_TXT: 'Stäng'\n },\n th: {\n CLOSE_TXT: 'ปิด'\n },\n tr: {\n CLOSE_TXT: 'Kapat'\n },\n uk: {\n CLOSE_TXT: 'Закрити'\n },\n vi: {\n CLOSE_TXT: 'Đóng'\n },\n zhHans: {\n CLOSE_TXT: '关闭'\n },\n zhHant: {\n CLOSE_TXT: '關閉'\n }\n });\n\nangular.module('SumTotalComponents').config(['FOUNDATION_TRANSLATIONS', '$translateProvider', '$alertProvider', '$modalProvider',\n function (translations, $translateProvider, $alertProvider, $modalProvider) {\n\n $translateProvider\n .translations('en', translations.en)\n .translations('de', translations.de)\n .translations('ar-SA', translations.arSA)\n .translations('cs', translations.cs)\n .translations('da', translations.da)\n .translations('el', translations.el)\n .translations('en-GB', translations.enGB)\n .translations('es-MX', translations.esMX)\n .translations('es', translations.es)\n .translations('fi', translations.fi)\n .translations('fr-CA', translations.frCA)\n .translations('fr', translations.fr)\n .translations('hu', translations.hu)\n .translations('id', translations.id)\n .translations('it', translations.it)\n .translations('ja', translations.ja)\n .translations('ko', translations.ko)\n .translations('nl', translations.nl)\n .translations('no', translations.no)\n .translations('pl', translations.pl)\n .translations('pt-BR', translations.ptBR)\n .translations('ro', translations.ro)\n .translations('ru', translations.ru)\n .translations('sl', translations.sl)\n .translations('sv', translations.sv)\n .translations('th', translations.th)\n .translations('tr', translations.tr)\n .translations('uk', translations.uk)\n .translations('vi', translations.vi)\n .translations('zh-Hans', translations.zhHans)\n .translations('zh-Hant', translations.zhHant)\n .preferredLanguage('en');\n\n // set the default template for the alert to be our 508 compliant one.\n angular.extend($alertProvider.defaults, {\n templateUrl: 'angular-strap/alert.html'\n });\n\n angular.extend($modalProvider.defaults, {\n backdrop: 'static'\n });\n }]);\n"],"sourceRoot":"/source/"}