{"version":3,"sources":["scripts/app.js"],"names":["config","$translatePartialLoaderProvider","addPart","$inject","angular","module","ChatTabController","api","$timeout","toggleChat","contact","vm","chatActive","replyMessage","chat","scrollToBottomOfChat","reply","dialog","push","who","message","time","speed","chatDialog","element","animate","scrollTop","scrollHeight","this","quickPanel","contacts","get","response","data","controller","pancake","ScrumRowsService","hateoasResource","prototype","getList","getRow","id","sendRowFeedback","post","sendListFeedback","service","PcbScrumRows","bindToController","PcbScrumRowController","controllerAs","restrict","scope","model","link","attrs","templateUrl","replace","scrumRowsService","navigationService","_this","then","collections","showList","event","row","stopPropagation","toState","directive","ProgressService","createNotifier","nrOfSteps","deferred","currentStep","notify","description","progress","NotificationService","$rootScope","$mdDialog","$mdToast","someMessage","showToast","show","hideDelay","position","template","loader","somePromise","locals","promise","showDialog","title","ariaLabel","alert","htmlContent","ok","activateLoader","loadingProgress","deactivateLoader","NavigationService","$state","$location","$stateParams","to","state","go","reload","params","extend","HateoasService","$q","injectApi","result","links","templates","forEach","method","setCommand","path","put","setLink","call","rel","toCamel","renderTemplate","href","_","each","Object","getOwnPropertyNames","propertyName","command","getCommand","commands","invoke","url","name","find","item","formatTemplate","input","g","toUpperCase","HateoasResource","$http","hateOasService","cacheFactory","defer","createMessage","cacheObject","cache","invokeApi","resolve","body","headers","defaults","common","success","status","LoaderController","$scope","progressService","progressDescription","notifier","hide","error","update","DialogController","sessionService","properties","action","apply","close","UserRoles","Admin","User","ServerResponses","loginSuccess","loginFailed","logoutSuccess","sessionTimeout","notAuthenticated","notAuthorized","Icons","DATE","LINK","UserService","userResource","current","session","currentUser","reject","user","init","UploadService","uploadService","uploadResource","upload","file","callback","console","log","SessionService","sessionScope","sessionResource","refresh","logout","undefined","hasSession","currentUserId","ContentService","getContent","key","translate","route","AuthenticationService","userService","basePath","authenticate","request","reason","httpResponse","UserResource","UploadResource","SessionResource","PcbUserMenu","PcbUserMenuController","initUserStatus","setUserStatus","userStatus","userStatusOptions","icon","color","PcbSiteNav","PcbSiteNavController","currentNavItem","PcbMenu","PcbMenuController","PcbLanguageSelection","PcbLanguageSelectionController","$translate","setLanguages","changeLanguage","lang","selectedLanguage","use","code","languages","translation","flag","PcbFeaturing","PcbFeaturingController","options","contentService","contentKey","page","text","content","PcbContent","PcbContentController","msSplashScreenDirective","$animate","iElement","splashScreenRemoveEvent","$on","leave","msSidenavHelperDirective","require","iAttrs","MdSidenavCtrl","$watch","isOpen","isLockedOpen","isUndefined","parent","toggleClass","msSearchBarDirective","$document","compile","tElement","addClass","expanderEl","collapserEl","on","expand","collapse","escKeyEvent","removeClass","e","keyCode","off","msScrollConfigProvider","configuration","defaultConfiguration","wheelSpeed","wheelPropagation","swipePropagation","minScrollbarLength","maxScrollbarLength","useBothWheelAxes","useKeyboard","suppressScrollX","suppressScrollY","scrollXMarginOffset","scrollYMarginOffset","stopPropagationOnClick","$get","getConfig","msScrollDirective","msScrollConfig","msUtils","fuseConfig","isMobile","updateScrollbar","PerfectScrollbar","msScroll","$eval","initialize","prop","old","equals","destroy","provider","msRandomClassDirective","msRandomClass","randomClass","Math","floor","random","msNavigationServiceProvider","saveItem","isString","$log","parts","split","length","_findOrCreateParent","updateItem","i","_id","uisref","_getUiSref","children","weight","isNumber","_path","deleteItem","navigation","p","splice","sortByWeight","sort","_byWeight","pop","createParent","join","x","y","parseInt","isDefined","stateParams","isObject","toJson","injector","clearNavigation","navigationScope","setActiveItem","node","activeItem","getActiveItem","getNavigationObject","root","setNavigationScope","setFolded","folded","getFolded","setFoldedOpen","foldedOpen","getFoldedOpen","toggleFolded","MsNavigationController","msNavigationService","toggleHorizontalMobileMenu","msNavigationDirective","$mdSidenav","transclude","$broadcast","bodyEl","setFoldExpander","$emit","removeFoldCollapser","append","foldExpanderEl","onFoldExpanderHover","setFoldCollapser","foldCollapserEl","onFoldCollapserHover","remove","preventDefault","sidenav","MsNavigationNodeController","$element","hasChildren","group","collapsable","collapsed","includes","$evalAsync","givenPathParts","activePathParts","indexOf","toggleCollapsed","collapseEl","height","offsetHeight","display","animateHeightClass","css","expandEl","visibility","getClass","isHidden","hidden","isFunction","msNavigationNodeDirective","MsNavigationNodeCtrl","msNavigationItemDirective","msNavigationHorizontalDirective","MsNavigationHorizontalNodeController","isActive","msNavigationHorizontalNodeDirective","MsNavigationHorizontalNodeCtrl","msNavigationHorizontalItemDirective","$mdMedia","onClick","msNavFoldService","setFoldable","foldable","isNavFoldedOpen","toggleFold","openFolded","closeFolded","msNavIsFoldedDirective","isFoldedOpen","isFolded","fold","unfold","sidenavEl","openOverlay","closeOverlay","msNavIsFolded","MsNavController","isDisabled","disabled","disable","enable","setToggleItem","toggleItems","getLockedItems","lockedItems","setLockedItem","clearLockedItems","msNavDirective","$mdComponentRegistry","stateChangeSuccessEvent","when","msNavTitleDirective","msNavButtonDirective","msNavToggleDirective","tAttrs","attr","MsNavCtrl","toggle","isCollapsed","isExpanded","elementToExpand","classes","expandAnimation","expanded","elementToCollapse","collapseAnimation","states","regExp","locked","lockedItem","currentState","shouldExpand","factory","ScrumrowController","labels","feedbackModel","getLabel","ev","clickOutsideToClose","textContent","targetEvent","PopupController","email","anonymous","abort","cancel","inject","configureStates","$stateProvider","getStates","views","content@app","app","home","HomeController","notificationService","$cookies","initFeaturing","featuringOptions","image","fuseThemingProvider","setRegisteredPalettes","_registeredPalettes","registeredPalettes","setRegisteredThemes","_registeredThemes","registeredThemes","_$cookies","getRegisteredPalettes","getRegisteredThemes","setActiveTheme","themeName","themes","list","warn","active","theme","setThemesList","themeList","$mdThemingProvider","fusePalettes","fuseThemes","customTheme","getObject","alwaysWatchTheme","palette","definePalette","primaryPalette","primary","hues","accentPalette","accent","warnPalette","backgroundPalette","background","_PALETTES","_THEMES","default","hue-1","hue-2","hue-3","pink","teal","constant","50","100","200","300","400","500","600","700","800","900","A100","A200","A400","A700","contrastDefaultColor","contrastDarkColors","contrastStrongLightColors","fuseGeneratorService","fuseTheming","generate","registeredTheme","colors","colorType","colorTypeName","levels","rgba","value","contrast1","contrast","contrast2","contrast3","contrast4","hue1","hue2","hue3","processAndStoreThemes","styleVars","colorTypes","colorLevelName","colorName","ucfirst","render","_themes","copy","selectedTheme","cssTemplate","regex","RegExp","keys","matched","headEl","styleEl","html","_contrastLevel","contrastLevel","applyContrast","contrastLevels","white","1","2","3","4","black","string","charAt","slice","MsThemeOptionsController","updateLayoutMode","layoutMode","updateLayoutStyle","layoutStyle","location","msThemeOptions","panelOpen","toggleOptionsPanel","closeOptionsPanel","openOptionsPanel","backdropEl","$window","exists","detectBrowser","searchString","dataString","dataProp","versionSearchString","versionSearch","identity","subString","searchVersion","index","substring","browserInfo","browserData","navigator","userAgent","vendor","opera","osData","platform","browser","version","appVersion","os","toLowerCase","guidGenerator","S4","toString","mobileDetect","mobile","toggleInArray","array","MobileDetect","filterByTags","items","tags","filtered","match","every","tag","tagExists","itemTag","filterSingleByTags","itemTags","filter","toTrustedFilter","$sce","trustAsHtml","htmlToPlainTextFilter","String","nospaceFilter","humanizeDocFilter","doc","type","$1","label","hljsDirective","$interpolate","empty","contents","codeElement","lines","line","trim","firstLineWhitespace","startingWhitespaceRegex","map","highlightedCode","hljs","highlight","language","shouldInterpolate","contentParent","fuseConfigProvider","fuseConfiguration","disableCustomScrollbars","disableMdInkRippleOnMobile","disableCustomScrollbarsOnMobile","configName","setConfig","configValue","fuse","ToolbarController","global","search","toggleSidenav","sidenavId","gotoHome","QuickPanelController","date","Date","settings","cloud","retro","activities","events","notes","backoffice","States","SAMPLE","MANAGEMENT_SEARCH","MANAGEMENT_USER","MANAGEMENT_ADDUSER","DASHBOARD","COMPANY_BUSINESSHOUR","COMPANY_CONTACTINFO","COMPANY_LOCATION","CMS_BLOCK","CMS_IMAGE","INIT","TABLE_SETTINGS","FORM_SETTINGS","Routes","CacheFactoryProvider","maxAge","NavigationController","toggleMsNavigationFolded","msScrollOptions","MainController","targetScope","$id","runBlock","fuseGenerator","htmlClass","run","$ariaProvider","$logProvider","$translateProvider","$provide","debugEnabled","toastr","timeOut","positionClass","preventDuplicates","progressBar","useLoader","urlTemplate","preferredLanguage","useSanitizeValueStrategy","tabindex","stateChangeStartEvent","toParams","fromState","fromParams","routeConfig","$urlRouterProvider","$locationProvider","html5Mode","otherwise","layouts","verticalNavigation","main","toolbar","horizontalNavigation","contentOnly","contentWithToolbar","websiteWithFeaturing","abstract","main@","toolbar@app","navigation@app","quickPanel@app","IndexController","apiService","$resource","baseUrl","sample","$templateCache"],"mappings":"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","file":"scripts/app-95f29b2a48.js","sourcesContent":["(function ()\n{\n 'use strict';\n\n angular\n .module('app.quickPanel', [])\n .config(config);\n\n /** @ngInject */\n function config($translatePartialLoaderProvider)\n {\n $translatePartialLoaderProvider.addPart('app/quick-panel');\n }\n})();\n\n(function ()\n{\n 'use strict';\n\n angular\n .module('app.quickPanel')\n .controller('ChatTabController', ChatTabController);\n\n /** @ngInject */\n function ChatTabController(api, $timeout)\n {\n var vm = this;\n\n // Data\n vm.chat = {};\n vm.chatActive = false;\n vm.replyMessage = '';\n\n api.quickPanel.contacts.get({}, function (response)\n {\n vm.contacts = response.data;\n });\n\n // Methods\n vm.toggleChat = toggleChat;\n vm.reply = reply;\n\n //////////\n\n function toggleChat(contact)\n {\n vm.chatActive = !vm.chatActive;\n\n if ( vm.chatActive )\n {\n vm.replyMessage = '';\n vm.chat.contact = contact;\n scrollToBottomOfChat(0);\n }\n }\n\n function reply()\n {\n if ( vm.replyMessage === '' )\n {\n return;\n }\n\n if ( !vm.chat.contact.dialog )\n {\n vm.chat.contact.dialog = [];\n }\n\n vm.chat.contact.dialog.push({\n who : 'user',\n message: vm.replyMessage,\n time : 'Just now'\n });\n\n vm.replyMessage = '';\n\n scrollToBottomOfChat(400);\n }\n\n function scrollToBottomOfChat(speed)\n {\n var chatDialog = angular.element('#chat-dialog');\n\n $timeout(function ()\n {\n chatDialog.animate({\n scrollTop: chatDialog[0].scrollHeight\n }, speed);\n }, 0);\n\n }\n }\n\n})();\nvar pancake;\n(function (pancake) {\n 'use strict';\n angular\n .module('app.pancake', [\n 'angular-cache',\n 'ngMaterial'])\n .config(function ($translatePartialLoaderProvider) {\n $translatePartialLoaderProvider.addPart('app/pancake');\n });\n})(pancake || (pancake = {}));\n\nvar pancake;\n(function (pancake) {\n var ScrumRowsService = (function () {\n function ScrumRowsService(hateoasResource) {\n this.hateoasResource = hateoasResource;\n }\n ScrumRowsService.prototype.getList = function () {\n return this.hateoasResource.get('/api/scrumrowcollection');\n };\n ScrumRowsService.prototype.getRow = function (id) {\n return this.hateoasResource.get('/api/scrumrowcollection/' + id);\n };\n ScrumRowsService.prototype.sendRowFeedback = function (id, data) {\n return this.hateoasResource.post('api/scrumrow/' + id + '/comments', data);\n };\n ScrumRowsService.prototype.sendListFeedback = function (id, data) {\n return this.hateoasResource.post('api/scrumrowcollection/' + id + '/comments', data);\n };\n ScrumRowsService.$inject = ['hateoasResource'];\n return ScrumRowsService;\n })();\n angular\n .module('app.pancake')\n .service('scrumRowsService', ScrumRowsService);\n})(pancake || (pancake = {}));\n\nvar pancake;\n(function (pancake) {\n 'use strict';\n function PcbScrumRows() {\n return {\n bindToController: true,\n controller: PcbScrumRowController,\n controllerAs: 'vm',\n restrict: 'EA',\n scope: {\n // Create a child scope\n // @ reads the attribute value, = provides two-way binding, & works with functions\n model: '='\n },\n link: function (scope, element, attrs) {\n // DOM manupilation tasks\n },\n templateUrl: 'app/pancake/scrumrows/directives/scrumrows.html',\n replace: true\n };\n }\n var PcbScrumRowController = (function () {\n function PcbScrumRowController(scrumRowsService, navigationService) {\n var _this = this;\n this.navigationService = navigationService;\n scrumRowsService.getList().then(function (data) {\n _this.collections = data;\n });\n }\n PcbScrumRowController.prototype.showList = function (event, row) {\n event.stopPropagation();\n this.navigationService.toState('app.scrumrow', { id: row.id });\n // this.collections.getById(row).then((data: pancake.IScrumRowCollection) => {\n // this.selected = data;\n // })\n };\n PcbScrumRowController.$inject = ['scrumRowsService', 'navigationService'];\n return PcbScrumRowController;\n })();\n angular\n .module('app.pancake')\n .directive('pcbScrumRows', PcbScrumRows);\n})(pancake || (pancake = {}));\n\nvar pancake;\n(function (pancake) {\n var ProgressService = (function () {\n function ProgressService() {\n }\n ProgressService.prototype.createNotifier = function (nrOfSteps, deferred) {\n var currentStep = 1;\n var notify = function (description) {\n deferred.notify({\n progress: (100 / nrOfSteps) * currentStep,\n description: description\n });\n currentStep += 1;\n };\n return {\n notify: notify\n };\n };\n ProgressService.$inject = [];\n return ProgressService;\n })();\n angular\n .module('app.pancake')\n .service('progressService', ProgressService);\n})(pancake || (pancake = {}));\n\nvar pancake;\n(function (pancake) {\n var NotificationService = (function () {\n function NotificationService($rootScope, $mdDialog, $mdToast) {\n this.$rootScope = $rootScope;\n this.$mdDialog = $mdDialog;\n this.$mdToast = $mdToast;\n this.someMessage = 'this is some message';\n }\n NotificationService.prototype.showToast = function (message) {\n this.$mdToast.show({\n hideDelay: 3000,\n position: 'bottom right',\n template: '
', '').replace('
', '');\n });\n };\n ScrumrowController.$inject = ['$stateParams', 'scrumRowsService', 'contentService', '$mdDialog'];\n return ScrumrowController;\n })();\n angular\n .module('app.pancake')\n .controller('ScrumrowController', ScrumrowController);\n})(pancake || (pancake = {}));\n\nvar pancake;\n(function (pancake) {\n var PopupController = (function () {\n function PopupController($mdDialog, title, description) {\n this.$mdDialog = $mdDialog;\n this.title = title;\n this.description = description;\n }\n PopupController.prototype.close = function () {\n this.$mdDialog.hide({\n name: this.name,\n email: this.email\n });\n };\n PopupController.prototype.anonymous = function () {\n this.$mdDialog.hide({\n anonymous: true\n });\n };\n PopupController.prototype.abort = function () {\n this.$mdDialog.cancel();\n };\n PopupController.inject = ['$mdDialog', 'title', 'description'];\n return PopupController;\n })();\n angular\n .module('app.pancake')\n .controller('popupController', PopupController);\n})(pancake || (pancake = {}));\n\nvar pancake;\n(function (pancake) {\n 'use strict';\n configureStates.$inject = ['$stateProvider', '$translatePartialLoaderProvider', 'msNavigationServiceProvider'];\n /* @ngInject */\n function configureStates($stateProvider, $translatePartialLoaderProvider, msNavigationServiceProvider) {\n var states = getStates();\n states.forEach(function (state) {\n $stateProvider.state(state.state, state.config);\n });\n // Translation\n $translatePartialLoaderProvider.addPart('app/main/home');\n // Navigation\n msNavigationServiceProvider.saveItem('home', {\n title: 'home',\n icon: 'icon-magnify',\n state: 'app.home',\n //group : true,\n translate: 'SEARCH.TITLE'\n });\n }\n function getStates() {\n return [\n {\n state: 'app.home',\n config: {\n url: '/home',\n views: {\n 'content@app': {\n templateUrl: 'app/main/home/home.html',\n controller: 'HomeController as vm'\n }\n }\n }\n }\n ];\n }\n angular\n .module('app.home', [])\n .config(configureStates);\n})(pancake || (pancake = {}));\n\nvar app;\n(function (app) {\n var home;\n (function (home) {\n var HomeController = (function () {\n function HomeController(sessionService, notificationService, contentService, navigationService, $cookies, $mdDialog) {\n var _this = this;\n this.sessionService = sessionService;\n this.notificationService = notificationService;\n this.contentService = contentService;\n this.navigationService = navigationService;\n this.$cookies = $cookies;\n this.$mdDialog = $mdDialog;\n this.initFeaturing();\n //#ff9500\n contentService.getContent('home-welcome', false).then(function (page) {\n if (_this.$cookies.get('noPopup') === 'true') {\n return;\n }\n _this.$mdDialog.show(_this.$mdDialog.alert()\n .htmlContent(page.content)\n .ok('OK')).then(function () {\n _this.$cookies.put('noPopup', 'true');\n });\n });\n }\n HomeController.prototype.initFeaturing = function () {\n this.featuringOptions = {\n // contentKey: 'home-featuring'\n image: 'http://www.guldemondpragmatiek.nl/wp-content/uploads/2016/07/Jasper-Guldemond-7-e1477653759574.jpg',\n height: 300\n };\n };\n HomeController.$inject = ['sessionService', 'notificationService', 'contentService', 'navigationService', '$cookies', '$mdDialog'];\n return HomeController;\n })();\n angular\n .module('app.home')\n .controller('HomeController', HomeController);\n })(home = app.home || (app.home = {}));\n})(app || (app = {}));\n\n(function ()\n{\n 'use strict';\n\n angular\n .module('app.core')\n .provider('fuseTheming', fuseThemingProvider);\n\n /** @ngInject */\n function fuseThemingProvider()\n {\n // Inject Cookies Service\n var $cookies;\n\n angular.injector(['ngCookies']).invoke([\n '$cookies', function (_$cookies)\n {\n $cookies = _$cookies;\n }\n ]);\n\n // Inject $log service\n var $log = angular.injector(['ng']).get('$log');\n\n var registeredPalettes,\n registeredThemes;\n\n // Methods\n this.setRegisteredPalettes = setRegisteredPalettes;\n this.setRegisteredThemes = setRegisteredThemes;\n\n //////////\n\n /**\n * Set registered palettes\n *\n * @param _registeredPalettes\n */\n function setRegisteredPalettes(_registeredPalettes)\n {\n registeredPalettes = _registeredPalettes;\n }\n\n /**\n * Set registered themes\n *\n * @param _registeredThemes\n */\n function setRegisteredThemes(_registeredThemes)\n {\n registeredThemes = _registeredThemes;\n }\n\n /**\n * Service\n */\n this.$get = function ()\n {\n var service = {\n getRegisteredPalettes: getRegisteredPalettes,\n getRegisteredThemes : getRegisteredThemes,\n setActiveTheme : setActiveTheme,\n setThemesList : setThemesList,\n themes : {\n list : {},\n active: {\n 'name' : '',\n 'theme': {}\n }\n }\n };\n\n return service;\n\n //////////\n\n /**\n * Get registered palettes\n *\n * @returns {*}\n */\n function getRegisteredPalettes()\n {\n return registeredPalettes;\n }\n\n /**\n * Get registered themes\n *\n * @returns {*}\n */\n function getRegisteredThemes()\n {\n return registeredThemes;\n }\n\n /**\n * Set active theme\n *\n * @param themeName\n */\n function setActiveTheme(themeName)\n {\n // If theme does not exist, fallback to the default theme\n if ( angular.isUndefined(service.themes.list[themeName]) )\n {\n // If there is no theme called \"default\"...\n if ( angular.isUndefined(service.themes.list.default) )\n {\n $log.error('You must have at least one theme named \"default\"');\n return;\n }\n\n $log.warn('The theme \"' + themeName + '\" does not exist! Falling back to the \"default\" theme.');\n\n // Otherwise set theme to default theme\n service.themes.active.name = 'default';\n service.themes.active.theme = service.themes.list.default;\n $cookies.put('selectedTheme', service.themes.active.name);\n\n return;\n }\n\n service.themes.active.name = themeName;\n service.themes.active.theme = service.themes.list[themeName];\n $cookies.put('selectedTheme', themeName);\n }\n\n /**\n * Set available themes list\n *\n * @param themeList\n */\n function setThemesList(themeList)\n {\n service.themes.list = themeList;\n }\n };\n }\n})();\n\n(function ()\n{\n 'use strict';\n\n angular\n .module('app.core')\n .config(config);\n\n /** @ngInject */\n function config($mdThemingProvider, fusePalettes, fuseThemes, fuseThemingProvider)\n {\n // Inject Cookies Service\n var $cookies;\n angular.injector(['ngCookies']).invoke([\n '$cookies', function (_$cookies)\n {\n $cookies = _$cookies;\n }\n ]);\n\n // Check if custom theme exist in cookies\n var customTheme = $cookies.getObject('customTheme');\n if ( customTheme )\n {\n fuseThemes['custom'] = customTheme;\n }\n\n $mdThemingProvider.alwaysWatchTheme(true);\n\n // Define custom palettes\n angular.forEach(fusePalettes, function (palette)\n {\n $mdThemingProvider.definePalette(palette.name, palette.options);\n });\n\n // Register custom themes\n angular.forEach(fuseThemes, function (theme, themeName)\n {\n $mdThemingProvider.theme(themeName)\n .primaryPalette(theme.primary.name, theme.primary.hues)\n .accentPalette(theme.accent.name, theme.accent.hues)\n .warnPalette(theme.warn.name, theme.warn.hues)\n .backgroundPalette(theme.background.name, theme.background.hues);\n });\n\n // Store generated PALETTES and THEMES objects from $mdThemingProvider\n // in our custom provider, so we can inject them into other areas\n fuseThemingProvider.setRegisteredPalettes($mdThemingProvider._PALETTES);\n fuseThemingProvider.setRegisteredThemes($mdThemingProvider._THEMES);\n }\n\n})();\n(function ()\n{\n 'use strict';\n\n var fuseThemes = {\n 'default' : {\n primary : {\n name: 'fuse-pale-blue',\n hues: {\n 'default': '700',\n 'hue-1' : '500',\n 'hue-2' : '600',\n 'hue-3' : '400'\n }\n },\n accent : {\n name: 'light-blue',\n hues: {\n 'default': '600',\n 'hue-1' : '400',\n 'hue-2' : '700',\n 'hue-3' : 'A100'\n }\n },\n warn : {name: 'red'},\n background: {\n name: 'grey',\n hues: {\n 'default': 'A100',\n 'hue-1' : '100',\n 'hue-2' : '50',\n 'hue-3' : '300'\n }\n }\n },\n 'pink': {\n primary : {\n name: 'blue-grey',\n hues: {\n 'default': '800',\n 'hue-1' : '600',\n 'hue-2' : '400',\n 'hue-3' : 'A100'\n }\n },\n accent : {\n name: 'pink',\n hues: {\n 'default': '400',\n 'hue-1' : '300',\n 'hue-2' : '600',\n 'hue-3' : 'A100'\n }\n },\n warn : {name: 'blue'},\n background: {\n name: 'grey',\n hues: {\n 'default': 'A100',\n 'hue-1' : '100',\n 'hue-2' : '50',\n 'hue-3' : '300'\n }\n }\n },\n 'teal' : {\n primary : {\n name: 'fuse-blue',\n hues: {\n 'default': '900',\n 'hue-1' : '600',\n 'hue-2' : '500',\n 'hue-3' : 'A100'\n }\n },\n accent : {\n name: 'teal',\n hues: {\n 'default': '500',\n 'hue-1' : '400',\n 'hue-2' : '600',\n 'hue-3' : 'A100'\n }\n },\n warn : {name: 'deep-orange'},\n background: {\n name: 'grey',\n hues: {\n 'default': 'A100',\n 'hue-1' : '100',\n 'hue-2' : '50',\n 'hue-3' : '300'\n }\n }\n }\n };\n\n angular\n .module('app.core')\n .constant('fuseThemes', fuseThemes);\n})();\n(function () {\n 'use strict';\n\n var fusePalettes = [\n {\n name: 'fuse-blue',\n options: {\n '50': '#ebf1fa',\n '100': '#c2d4ef',\n '200': '#9ab8e5',\n '300': '#78a0dc',\n '400': '#5688d3',\n '500': '#3470ca',\n '600': '#2e62b1',\n '700': '#275498',\n '800': '#21467e',\n '900': '#1a3865',\n 'A100': '#c2d4ef',\n 'A200': '#9ab8e5',\n 'A400': '#5688d3',\n 'A700': '#275498',\n 'contrastDefaultColor': 'light',\n 'contrastDarkColors': '50 100 200 A100',\n 'contrastStrongLightColors': '300 400'\n }\n },\n {\n name: 'fuse-pale-blue',\n options: {\n '50': '#ececee',\n '100': '#c5c6cb',\n '200': '#9ea1a9',\n '300': '#7d818c',\n '400': '#5c616f',\n '500': '#3c4252',\n '600': '#353a48',\n '700': '#2d323e',\n '800': '#262933',\n '900': '#1e2129',\n 'A100': '#c5c6cb',\n 'A200': '#9ea1a9',\n 'A400': '#5c616f',\n 'A700': '#2d323e',\n 'contrastDefaultColor': 'light',\n 'contrastDarkColors': '50 100 200 A100',\n 'contrastStrongLightColors': '300 400'\n }\n }\n ];\n\n angular\n .module('app.core')\n .constant('fusePalettes', fusePalettes);\n})();\n(function ()\n{\n 'use strict';\n\n angular\n .module('app.core')\n .factory('fuseGenerator', fuseGeneratorService);\n\n /** @ngInject */\n function fuseGeneratorService($cookies, $log, fuseTheming)\n {\n // Storage for simplified themes object\n var themes = {};\n\n var service = {\n generate: generate,\n rgba : rgba\n };\n\n return service;\n\n //////////\n\n /**\n * Generate less variables for each theme from theme's\n * palette by using material color naming conventions\n */\n function generate()\n {\n var registeredThemes = fuseTheming.getRegisteredThemes();\n var registeredPalettes = fuseTheming.getRegisteredPalettes();\n\n // First, create a simplified object that stores\n // all registered themes and their colors\n\n // Iterate through registered themes\n angular.forEach(registeredThemes, function (registeredTheme)\n {\n themes[registeredTheme.name] = {};\n\n // Iterate through color types (primary, accent, warn & background)\n angular.forEach(registeredTheme.colors, function (colorType, colorTypeName)\n {\n themes[registeredTheme.name][colorTypeName] = {\n 'name' : colorType.name,\n 'levels': {\n 'default': {\n 'color' : rgba(registeredPalettes[colorType.name][colorType.hues.default].value),\n 'contrast1': rgba(registeredPalettes[colorType.name][colorType.hues.default].contrast, 1),\n 'contrast2': rgba(registeredPalettes[colorType.name][colorType.hues.default].contrast, 2),\n 'contrast3': rgba(registeredPalettes[colorType.name][colorType.hues.default].contrast, 3),\n 'contrast4': rgba(registeredPalettes[colorType.name][colorType.hues.default].contrast, 4)\n },\n 'hue1' : {\n 'color' : rgba(registeredPalettes[colorType.name][colorType.hues['hue-1']].value),\n 'contrast1': rgba(registeredPalettes[colorType.name][colorType.hues['hue-1']].contrast, 1),\n 'contrast2': rgba(registeredPalettes[colorType.name][colorType.hues['hue-1']].contrast, 2),\n 'contrast3': rgba(registeredPalettes[colorType.name][colorType.hues['hue-1']].contrast, 3),\n 'contrast4': rgba(registeredPalettes[colorType.name][colorType.hues['hue-1']].contrast, 4)\n },\n 'hue2' : {\n 'color' : rgba(registeredPalettes[colorType.name][colorType.hues['hue-2']].value),\n 'contrast1': rgba(registeredPalettes[colorType.name][colorType.hues['hue-2']].contrast, 1),\n 'contrast2': rgba(registeredPalettes[colorType.name][colorType.hues['hue-2']].contrast, 2),\n 'contrast3': rgba(registeredPalettes[colorType.name][colorType.hues['hue-2']].contrast, 3),\n 'contrast4': rgba(registeredPalettes[colorType.name][colorType.hues['hue-2']].contrast, 4)\n },\n 'hue3' : {\n 'color' : rgba(registeredPalettes[colorType.name][colorType.hues['hue-3']].value),\n 'contrast1': rgba(registeredPalettes[colorType.name][colorType.hues['hue-3']].contrast, 1),\n 'contrast2': rgba(registeredPalettes[colorType.name][colorType.hues['hue-3']].contrast, 2),\n 'contrast3': rgba(registeredPalettes[colorType.name][colorType.hues['hue-3']].contrast, 3),\n 'contrast4': rgba(registeredPalettes[colorType.name][colorType.hues['hue-3']].contrast, 4)\n }\n }\n };\n });\n });\n\n // Process themes one more time and then store them in the service for external use\n processAndStoreThemes(themes);\n\n // Iterate through simplified themes\n // object and create style variables\n var styleVars = {};\n\n // Iterate through registered themes\n angular.forEach(themes, function (theme, themeName)\n {\n styleVars = {};\n styleVars['@themeName'] = themeName;\n\n // Iterate through color types (primary, accent, warn & background)\n angular.forEach(theme, function (colorTypes, colorTypeName)\n {\n // Iterate through color levels (default, hue1, hue2 & hue3)\n angular.forEach(colorTypes.levels, function (colors, colorLevelName)\n {\n // Iterate through color name (color, contrast1, contrast2, contrast3 & contrast4)\n angular.forEach(colors, function (color, colorName)\n {\n styleVars['@' + colorTypeName + ucfirst(colorLevelName) + ucfirst(colorName)] = color;\n });\n });\n });\n\n // Render styles\n render(styleVars);\n });\n }\n\n // ---------------------------\n // INTERNAL HELPER FUNCTIONS\n // ---------------------------\n\n /**\n * Process and store themes for global use\n *\n * @param _themes\n */\n function processAndStoreThemes(_themes)\n {\n // Here we will go through every registered theme one more time\n // and try to simplify their objects as much as possible for\n // easier access to their properties.\n var themes = angular.copy(_themes);\n\n // Iterate through themes\n angular.forEach(themes, function (theme)\n {\n // Iterate through color types (primary, accent, warn & background)\n angular.forEach(theme, function (colorType, colorTypeName)\n {\n theme[colorTypeName] = colorType.levels;\n theme[colorTypeName].color = colorType.levels.default.color;\n theme[colorTypeName].contrast1 = colorType.levels.default.contrast1;\n theme[colorTypeName].contrast2 = colorType.levels.default.contrast2;\n theme[colorTypeName].contrast3 = colorType.levels.default.contrast3;\n theme[colorTypeName].contrast4 = colorType.levels.default.contrast4;\n delete theme[colorTypeName].default;\n });\n });\n\n // Store themes and set selected theme for the first time\n fuseTheming.setThemesList(themes);\n\n // Remember selected theme.\n var selectedTheme = $cookies.get('selectedTheme');\n\n if ( selectedTheme )\n {\n fuseTheming.setActiveTheme(selectedTheme);\n }\n else\n {\n fuseTheming.setActiveTheme('default');\n }\n }\n\n\n /**\n * Render css files\n *\n * @param styleVars\n */\n function render(styleVars)\n {\n var cssTemplate = '[md-theme=\"@themeName\"] a {\\n color: @accentDefaultColor;\\n}\\n\\n[md-theme=\"@themeName\"] .secondary-text,\\n[md-theme=\"@themeName\"] .icon {\\n color: @backgroundDefaultContrast2;\\n}\\n\\n[md-theme=\"@themeName\"] .hint-text,\\n[md-theme=\"@themeName\"] .disabled-text {\\n color: @backgroundDefaultContrast3;\\n}\\n\\n[md-theme=\"@themeName\"] .fade-text,\\n[md-theme=\"@themeName\"] .divider {\\n color: @backgroundDefaultContrast4;\\n}\\n\\n/* Primary */\\n[md-theme=\"@themeName\"] .md-primary-bg {\\n background-color: @primaryDefaultColor;\\n color: @primaryDefaultContrast1;\\n}\\n\\n[md-theme=\"@themeName\"] .md-primary-bg .secondary-text,\\n[md-theme=\"@themeName\"] .md-primary-bg .icon {\\n color: @primaryDefaultContrast2;\\n}\\n\\n[md-theme=\"@themeName\"] .md-primary-bg .hint-text,\\n[md-theme=\"@themeName\"] .md-primary-bg .disabled-text {\\n color: @primaryDefaultContrast3;\\n}\\n\\n[md-theme=\"@themeName\"] .md-primary-bg .fade-text,\\n[md-theme=\"@themeName\"] .md-primary-bg .divider {\\n color: @primaryDefaultContrast4;\\n}\\n\\n/* Primary, Hue-1 */\\n[md-theme=\"@themeName\"] .md-primary-bg.md-hue-1 {\\n background-color: @primaryHue1Color;\\n color: @primaryHue1Contrast1;\\n}\\n\\n[md-theme=\"@themeName\"] .md-primary-bg.md-hue-1 .secondary-text,\\n[md-theme=\"@themeName\"] .md-primary-bg.md-hue-1 .icon {\\n color: @primaryHue1Contrast2;\\n}\\n\\n[md-theme=\"@themeName\"] .md-primary-bg.md-hue-1 .hint-text,\\n[md-theme=\"@themeName\"] .md-primary-bg.md-hue-1 .disabled-text {\\n color: @primaryHue1Contrast3;\\n}\\n\\n[md-theme=\"@themeName\"] .md-primary-bg.md-hue-1 .fade-text,\\n[md-theme=\"@themeName\"] .md-primary-bg.md-hue-1 .divider {\\n color: @primaryHue1Contrast4;\\n}\\n\\n/* Primary, Hue-2 */\\n[md-theme=\"@themeName\"] .md-primary-bg.md-hue-2 {\\n background-color: @primaryHue2Color;\\n color: @primaryHue2Contrast1;\\n}\\n\\n[md-theme=\"@themeName\"] .md-primary-bg.md-hue-2 .secondary-text,\\n[md-theme=\"@themeName\"] .md-primary-bg.md-hue-2 .icon {\\n color: @primaryHue2Contrast2;\\n}\\n\\n[md-theme=\"@themeName\"] .md-primary-bg.md-hue-2 .hint-text,\\n[md-theme=\"@themeName\"] .md-primary-bg.md-hue-2 .disabled-text {\\n color: @primaryHue2Contrast3;\\n}\\n\\n[md-theme=\"@themeName\"] .md-primary-bg.md-hue-2 .fade-text,\\n[md-theme=\"@themeName\"] .md-primary-bg.md-hue-2 .divider {\\n color: @primaryHue2Contrast4;\\n}\\n\\n/* Primary, Hue-3 */\\n[md-theme=\"@themeName\"] .md-primary-bg.md-hue-3 {\\n background-color: @primaryHue3Color;\\n color: @primaryHue3Contrast1;\\n}\\n\\n[md-theme=\"@themeName\"] .md-primary-bg.md-hue-3 .secondary-text,\\n[md-theme=\"@themeName\"] .md-primary-bg.md-hue-3 .icon {\\n color: @primaryHue3Contrast1;\\n}\\n\\n[md-theme=\"@themeName\"] .md-primary-bg.md-hue-3 .hint-text,\\n[md-theme=\"@themeName\"] .md-primary-bg.md-hue-3 .disabled-text {\\n color: @primaryHue3Contrast3;\\n}\\n\\n[md-theme=\"@themeName\"] .md-primary-bg.md-hue-3 .fade-text,\\n[md-theme=\"@themeName\"] .md-primary-bg.md-hue-3 .divider {\\n color: @primaryHue3Contrast4;\\n}\\n\\n/* Primary foreground */\\n[md-theme=\"@themeName\"] .md-primary-fg {\\n color: @primaryDefaultColor !important;\\n}\\n\\n/* Primary foreground, Hue-1 */\\n[md-theme=\"@themeName\"] .md-primary-fg.md-hue-1 {\\n color: @primaryHue1Color !important;\\n}\\n\\n/* Primary foreground, Hue-2 */\\n[md-theme=\"@themeName\"] .md-primary-fg.md-hue-2 {\\n color: @primaryHue2Color !important;\\n}\\n\\n/* Primary foreground, Hue-3 */\\n[md-theme=\"@themeName\"] .md-primary-fg.md-hue-3 {\\n color: @primaryHue3Color !important;\\n}\\n\\n\\n/* Accent */\\n[md-theme=\"@themeName\"] .md-accent-bg {\\n background-color: @accentDefaultColor;\\n color: @accentDefaultContrast1;\\n}\\n\\n[md-theme=\"@themeName\"] .md-accent-bg .secondary-text,\\n[md-theme=\"@themeName\"] .md-accent-bg .icon {\\n color: @accentDefaultContrast2;\\n}\\n\\n[md-theme=\"@themeName\"] .md-accent-bg .hint-text,\\n[md-theme=\"@themeName\"] .md-accent-bg .disabled-text {\\n color: @accentDefaultContrast3;\\n}\\n\\n[md-theme=\"@themeName\"] .md-accent-bg .fade-text,\\n[md-theme=\"@themeName\"] .md-accent-bg .divider {\\n color: @accentDefaultContrast4;\\n}\\n\\n/* Accent, Hue-1 */\\n[md-theme=\"@themeName\"] .md-accent-bg.md-hue-1 {\\n background-color: @accentHue1Color;\\n color: @accentHue1Contrast1;\\n}\\n\\n[md-theme=\"@themeName\"] .md-accent-bg.md-hue-1 .secondary-text,\\n[md-theme=\"@themeName\"] .md-accent-bg.md-hue-1 .icon {\\n color: @accentHue1Contrast2;\\n}\\n\\n[md-theme=\"@themeName\"] .md-accent-bg.md-hue-1 .hint-text,\\n[md-theme=\"@themeName\"] .md-accent-bg.md-hue-1 .disabled-text {\\n color: @accentHue1Contrast3;\\n}\\n\\n[md-theme=\"@themeName\"] .md-accent-bg.md-hue-1 .fade-text,\\n[md-theme=\"@themeName\"] .md-accent-bg.md-hue-1 .divider {\\n color: @accentHue1Contrast4;\\n}\\n\\n/* Accent, Hue-2 */\\n[md-theme=\"@themeName\"] .md-accent-bg.md-hue-2 {\\n background-color: @accentHue2Color;\\n color: @accentHue2Contrast1;\\n}\\n\\n[md-theme=\"@themeName\"] .md-accent-bg.md-hue-2 .secondary-text,\\n[md-theme=\"@themeName\"] .md-accent-bg.md-hue-2 .icon {\\n color: @accentHue2Contrast2;\\n}\\n\\n[md-theme=\"@themeName\"] .md-accent-bg.md-hue-2 .hint-text,\\n[md-theme=\"@themeName\"] .md-accent-bg.md-hue-2 .disabled-text {\\n color: @accentHue2Contrast3;\\n}\\n\\n[md-theme=\"@themeName\"] .md-accent-bg.md-hue-2 .fade-text,\\n[md-theme=\"@themeName\"] .md-accent-bg.md-hue-2 .divider {\\n color: @accentHue2Contrast4;\\n}\\n\\n/* Accent, Hue-3 */\\n[md-theme=\"@themeName\"] .md-accent-bg.md-hue-3 {\\n background-color: @accentHue3Color;\\n color: @accentHue3Contrast1;\\n}\\n\\n[md-theme=\"@themeName\"] .md-accent-bg.md-hue-3 .secondary-text,\\n[md-theme=\"@themeName\"] .md-accent-bg.md-hue-3 .icon {\\n color: @accentHue3Contrast1;\\n}\\n\\n[md-theme=\"@themeName\"] .md-accent-bg.md-hue-3 .hint-text,\\n[md-theme=\"@themeName\"] .md-accent-bg.md-hue-3 .disabled-text {\\n color: @accentHue3Contrast3;\\n}\\n\\n[md-theme=\"@themeName\"] .md-accent-bg.md-hue-3 .fade-text,\\n[md-theme=\"@themeName\"] .md-accent-bg.md-hue-3 .divider {\\n color: @accentHue3Contrast4;\\n}\\n\\n/* Accent foreground */\\n[md-theme=\"@themeName\"] .md-accent-fg {\\n color: @accentDefaultColor !important;\\n}\\n\\n/* Accent foreground, Hue-1 */\\n[md-theme=\"@themeName\"] .md-accent-fg.md-hue-1 {\\n color: @accentHue1Color !important;\\n}\\n\\n/* Accent foreground, Hue-2 */\\n[md-theme=\"@themeName\"] .md-accent-fg.md-hue-2 {\\n color: @accentHue2Color !important;\\n}\\n\\n/* Accent foreground, Hue-3 */\\n[md-theme=\"@themeName\"] .md-accent-fg.md-hue-3 {\\n color: @accentHue3Color !important;\\n}\\n\\n\\n/* Warn */\\n[md-theme=\"@themeName\"] .md-warn-bg {\\n background-color: @warnDefaultColor;\\n color: @warnDefaultContrast1;\\n}\\n\\n[md-theme=\"@themeName\"] .md-warn-bg .secondary-text,\\n[md-theme=\"@themeName\"] .md-warn-bg .icon {\\n color: @warnDefaultContrast2;\\n}\\n\\n[md-theme=\"@themeName\"] .md-warn-bg .hint-text,\\n[md-theme=\"@themeName\"] .md-warn-bg .disabled-text {\\n color: @warnDefaultContrast3;\\n}\\n\\n[md-theme=\"@themeName\"] .md-warn-bg .fade-text,\\n[md-theme=\"@themeName\"] .md-warn-bg .divider {\\n color: @warnDefaultContrast4;\\n}\\n\\n/* Warn, Hue-1 */\\n[md-theme=\"@themeName\"] .md-warn-bg.md-hue-1 {\\n background-color: @warnHue1Color;\\n color: @warnHue1Contrast1;\\n}\\n\\n[md-theme=\"@themeName\"] .md-warn-bg.md-hue-1 .secondary-text,\\n[md-theme=\"@themeName\"] .md-warn-bg.md-hue-1 .icon {\\n color: @warnHue1Contrast2;\\n}\\n\\n[md-theme=\"@themeName\"] .md-warn-bg.md-hue-1 .hint-text,\\n[md-theme=\"@themeName\"] .md-warn-bg.md-hue-1 .disabled-text {\\n color: @warnHue1Contrast3;\\n}\\n\\n[md-theme=\"@themeName\"] .md-warn-bg.md-hue-1 .fade-text,\\n[md-theme=\"@themeName\"] .md-warn-bg.md-hue-1 .divider {\\n color: @warnHue1Contrast4;\\n}\\n\\n/* Warn, Hue-2 */\\n[md-theme=\"@themeName\"] .md-warn-bg.md-hue-2 {\\n background-color: @warnHue2Color;\\n color: @warnHue2Contrast1;\\n}\\n\\n[md-theme=\"@themeName\"] .md-warn-bg.md-hue-2 .secondary-text,\\n[md-theme=\"@themeName\"] .md-warn-bg.md-hue-2 .icon {\\n color: @warnHue2Contrast2;\\n}\\n\\n[md-theme=\"@themeName\"] .md-warn-bg.md-hue-2 .hint-text,\\n[md-theme=\"@themeName\"] .md-warn-bg.md-hue-2 .disabled-text {\\n color: @warnHue2Contrast3;\\n}\\n\\n[md-theme=\"@themeName\"] .md-warn-bg.md-hue-2 .fade-text,\\n[md-theme=\"@themeName\"] .md-warn-bg.md-hue-2 .divider {\\n color: @warnHue2Contrast4;\\n}\\n\\n/* Warn, Hue-3 */\\n[md-theme=\"@themeName\"] .md-warn-bg.md-hue-3 {\\n background-color: @warnHue3Color;\\n color: @warnHue3Contrast1;\\n}\\n\\n[md-theme=\"@themeName\"] .md-warn-bg.md-hue-3 .secondary-text,\\n[md-theme=\"@themeName\"] .md-warn-bg.md-hue-3 .icon {\\n color: @warnHue3Contrast1;\\n}\\n\\n[md-theme=\"@themeName\"] .md-warn-bg.md-hue-3 .hint-text,\\n[md-theme=\"@themeName\"] .md-warn-bg.md-hue-3 .disabled-text {\\n color: @warnHue3Contrast3;\\n}\\n\\n[md-theme=\"@themeName\"] .md-warn-bg.md-hue-3 .fade-text,\\n[md-theme=\"@themeName\"] .md-warn-bg.md-hue-3 .divider {\\n color: @warnHue3Contrast4;\\n}\\n\\n/* Warn foreground */\\n[md-theme=\"@themeName\"] .md-warn-fg {\\n color: @warnDefaultColor !important;\\n}\\n\\n/* Warn foreground, Hue-1 */\\n[md-theme=\"@themeName\"] .md-warn-fg.md-hue-1 {\\n color: @warnHue1Color !important;\\n}\\n\\n/* Warn foreground, Hue-2 */\\n[md-theme=\"@themeName\"] .md-warn-fg.md-hue-2 {\\n color: @warnHue2Color !important;\\n}\\n\\n/* Warn foreground, Hue-3 */\\n[md-theme=\"@themeName\"] .md-warn-fg.md-hue-3 {\\n color: @warnHue3Color !important;\\n}\\n\\n/* Background */\\n[md-theme=\"@themeName\"] .md-background-bg {\\n background-color: @backgroundDefaultColor;\\n color: @backgroundDefaultContrast1;\\n}\\n\\n[md-theme=\"@themeName\"] .md-background-bg .secondary-text,\\n[md-theme=\"@themeName\"] .md-background-bg .icon {\\n color: @backgroundDefaultContrast2;\\n}\\n\\n[md-theme=\"@themeName\"] .md-background-bg .hint-text,\\n[md-theme=\"@themeName\"] .md-background-bg .disabled-text {\\n color: @backgroundDefaultContrast3;\\n}\\n\\n[md-theme=\"@themeName\"] .md-background-bg .fade-text,\\n[md-theme=\"@themeName\"] .md-background-bg .divider {\\n color: @backgroundDefaultContrast4;\\n}\\n\\n/* Background, Hue-1 */\\n[md-theme=\"@themeName\"] .md-background-bg.md-hue-1 {\\n background-color: @backgroundHue1Color;\\n color: @backgroundHue1Contrast1;\\n}\\n\\n[md-theme=\"@themeName\"] .md-background-bg.md-hue-1 .secondary-text,\\n[md-theme=\"@themeName\"] .md-background-bg.md-hue-1 .icon {\\n color: @backgroundHue1Contrast2;\\n}\\n\\n[md-theme=\"@themeName\"] .md-background-bg.md-hue-1 .hint-text,\\n[md-theme=\"@themeName\"] .md-background-bg.md-hue-1 .disabled-text {\\n color: @backgroundHue1Contrast3;\\n}\\n\\n[md-theme=\"@themeName\"] .md-background-bg.md-hue-1 .fade-text,\\n[md-theme=\"@themeName\"] .md-background-bg.md-hue-1 .divider {\\n color: @backgroundHue1Contrast4;\\n}\\n\\n/* Background, Hue-2 */\\n[md-theme=\"@themeName\"] .md-background-bg.md-hue-2 {\\n background-color: @backgroundHue2Color;\\n color: @backgroundHue2Contrast1;\\n}\\n\\n[md-theme=\"@themeName\"] .md-background-bg.md-hue-2 .secondary-text,\\n[md-theme=\"@themeName\"] .md-background-bg.md-hue-2 .icon {\\n color: @backgroundHue2Contrast2;\\n}\\n\\n[md-theme=\"@themeName\"] .md-background-bg.md-hue-2 .hint-text,\\n[md-theme=\"@themeName\"] .md-background-bg.md-hue-2 .disabled-text {\\n color: @backgroundHue2Contrast3;\\n}\\n\\n[md-theme=\"@themeName\"] .md-background-bg.md-hue-2 .fade-text,\\n[md-theme=\"@themeName\"] .md-background-bg.md-hue-2 .divider {\\n color: @backgroundHue2Contrast4;\\n}\\n\\n/* Background, Hue-3 */\\n[md-theme=\"@themeName\"] .md-background-bg.md-hue-3 {\\n background-color: @backgroundHue3Color;\\n color: @backgroundHue3Contrast1;\\n}\\n\\n[md-theme=\"@themeName\"] .md-background-bg.md-hue-3 .secondary-text,\\n[md-theme=\"@themeName\"] .md-background-bg.md-hue-3 .icon {\\n color: @backgroundHue3Contrast1;\\n}\\n\\n[md-theme=\"@themeName\"] .md-background-bg.md-hue-3 .hint-text,\\n[md-theme=\"@themeName\"] .md-background-bg.md-hue-3 .disabled-text {\\n color: @backgroundHue3Contrast3;\\n}\\n\\n[md-theme=\"@themeName\"] .md-background-bg.md-hue-3 .fade-text,\\n[md-theme=\"@themeName\"] .md-background-bg.md-hue-3 .divider {\\n color: @backgroundHue3Contrast4;\\n}\\n\\n/* Background foreground */\\n[md-theme=\"@themeName\"] .md-background-fg {\\n color: @backgroundDefaultColor !important;\\n}\\n\\n/* Background foreground, Hue-1 */\\n[md-theme=\"@themeName\"] .md-background-fg.md-hue-1 {\\n color: @backgroundHue1Color !important;\\n}\\n\\n/* Background foreground, Hue-2 */\\n[md-theme=\"@themeName\"] .md-background-fg.md-hue-2 {\\n color: @backgroundHue2Color !important;\\n}\\n\\n/* Background foreground, Hue-3 */\\n[md-theme=\"@themeName\"] .md-background-fg.md-hue-3 {\\n color: @backgroundHue3Color !important;\\n}';\n\n var regex = new RegExp(Object.keys(styleVars).join('|'), 'gi');\n var css = cssTemplate.replace(regex, function (matched)\n {\n return styleVars[matched];\n });\n\n var headEl = angular.element('head');\n var styleEl = angular.element('');\n styleEl.html(css);\n headEl.append(styleEl);\n }\n\n /**\n * Convert color array to rgb/rgba\n * Also apply contrasts if needed\n *\n * @param color\n * @param _contrastLevel\n * @returns {string}\n */\n function rgba(color, _contrastLevel)\n {\n var contrastLevel = _contrastLevel || false;\n\n // Convert 255,255,255,0.XX to 255,255,255\n // According to Google's Material design specs, white primary\n // text must have opacity of 1 and we will fix that here\n // because Angular Material doesn't care about that spec\n if ( color.length === 4 && color[0] === 255 && color[1] === 255 && color[2] === 255 )\n {\n color.splice(3, 4);\n }\n\n // If contrast level provided, apply it to the current color\n if ( contrastLevel )\n {\n color = applyContrast(color, contrastLevel);\n }\n\n // Convert color array to color string (rgb/rgba)\n if ( color.length === 3 )\n {\n return 'rgb(' + color.join(',') + ')';\n }\n else if ( color.length === 4 )\n {\n return 'rgba(' + color.join(',') + ')';\n }\n else\n {\n $log.error('Invalid number of arguments supplied in the color array: ' + color.length + '\\n' + 'The array must have 3 or 4 colors.');\n }\n }\n\n /**\n * Apply given contrast level to the given color\n *\n * @param color\n * @param contrastLevel\n */\n function applyContrast(color, contrastLevel)\n {\n var contrastLevels = {\n 'white': {\n '1': '1',\n '2': '0.7',\n '3': '0.3',\n '4': '0.12'\n },\n 'black': {\n '1': '0.87',\n '2': '0.54',\n '3': '0.26',\n '4': '0.12'\n }\n };\n\n // If white\n if ( color[0] === 255 && color[1] === 255 && color[2] === 255 )\n {\n color[3] = contrastLevels.white[contrastLevel];\n }\n // If black\n else if ( color[0] === 0 && color[1] === 0, color[2] === 0 )\n {\n color[3] = contrastLevels.black[contrastLevel];\n }\n\n return color;\n }\n\n /**\n * Uppercase first\n */\n function ucfirst(string)\n {\n return string.charAt(0).toUpperCase() + string.slice(1);\n }\n }\n\n})();\n(function ()\n{\n 'use strict';\n\n angular\n .module('app.core')\n .controller('MsThemeOptionsController', MsThemeOptionsController)\n .directive('msThemeOptions', msThemeOptions);\n\n /** @ngInject */\n function MsThemeOptionsController($cookies, fuseTheming)\n {\n var vm = this;\n\n // Data\n vm.themes = fuseTheming.themes;\n vm.layoutMode = 'wide';\n vm.layoutStyle = $cookies.get('layoutStyle') || 'verticalNavigation';\n\n // Methods\n vm.setActiveTheme = setActiveTheme;\n vm.updateLayoutMode = updateLayoutMode;\n vm.updateLayoutStyle = updateLayoutStyle;\n\n //////////\n\n /**\n * Set active theme\n *\n * @param themeName\n */\n function setActiveTheme(themeName)\n {\n // Set active theme\n fuseTheming.setActiveTheme(themeName);\n }\n\n /**\n * Update layout mode\n */\n function updateLayoutMode()\n {\n var bodyEl = angular.element('body');\n\n // Update class on body element\n bodyEl.toggleClass('boxed', (vm.layoutMode === 'boxed'));\n }\n\n /**\n * Update layout style\n */\n function updateLayoutStyle()\n {\n // Update the cookie\n $cookies.put('layoutStyle', vm.layoutStyle);\n\n // Reload the page to apply the changes\n location.reload();\n }\n }\n\n /** @ngInject */\n function msThemeOptions()\n {\n return {\n restrict : 'E',\n scope : {\n panelOpen: '=?'\n },\n controller : 'MsThemeOptionsController as vm',\n templateUrl: 'app/core/theme-options/theme-options.html',\n compile : function (tElement)\n {\n tElement.addClass('ms-theme-options');\n\n return function postLink(scope, iElement)\n {\n var bodyEl = angular.element('body'),\n backdropEl = angular.element('');\n\n // Panel open status\n scope.panelOpen = scope.panelOpen || false;\n\n /**\n * Toggle options panel\n */\n function toggleOptionsPanel()\n {\n if ( scope.panelOpen )\n {\n closeOptionsPanel();\n }\n else\n {\n openOptionsPanel();\n }\n }\n\n function openOptionsPanel()\n {\n // Set panelOpen status\n scope.panelOpen = true;\n\n // Add open class\n iElement.addClass('open');\n\n // Append the backdrop\n bodyEl.append(backdropEl);\n\n // Register the event\n backdropEl.on('click touch', closeOptionsPanel);\n }\n\n /**\n * Close options panel\n */\n function closeOptionsPanel()\n {\n // Set panelOpen status\n scope.panelOpen = false;\n\n // Remove open class\n iElement.removeClass('open');\n\n // De-register the event\n backdropEl.off('click touch', closeOptionsPanel);\n\n // Remove the backdrop\n backdropEl.remove();\n }\n\n // Expose the toggle function\n scope.toggleOptionsPanel = toggleOptionsPanel;\n };\n }\n };\n }\n})();\n(function ()\n{\n 'use strict';\n\n angular\n .module('app.core')\n .factory('msUtils', msUtils);\n\n /** @ngInject */\n function msUtils($window)\n {\n // Private variables\n var mobileDetect = new MobileDetect($window.navigator.userAgent),\n browserInfo = null;\n\n var service = {\n exists : exists,\n detectBrowser: detectBrowser,\n guidGenerator: guidGenerator,\n isMobile : isMobile,\n toggleInArray: toggleInArray\n };\n\n return service;\n\n //////////\n\n /**\n * Check if item exists in a list\n *\n * @param item\n * @param list\n * @returns {boolean}\n */\n function exists(item, list)\n {\n return list.indexOf(item) > -1;\n }\n\n /**\n * Returns browser information\n * from user agent data\n *\n * Found at http://www.quirksmode.org/js/detect.html\n * but modified and updated to fit for our needs\n */\n function detectBrowser()\n {\n // If we already tested, do not test again\n if ( browserInfo )\n {\n return browserInfo;\n }\n\n var browserData = [\n {\n string : $window.navigator.userAgent,\n subString : 'Edge',\n versionSearch: 'Edge',\n identity : 'Edge'\n },\n {\n string : $window.navigator.userAgent,\n subString: 'Chrome',\n identity : 'Chrome'\n },\n {\n string : $window.navigator.userAgent,\n subString : 'OmniWeb',\n versionSearch: 'OmniWeb/',\n identity : 'OmniWeb'\n },\n {\n string : $window.navigator.vendor,\n subString : 'Apple',\n versionSearch: 'Version',\n identity : 'Safari'\n },\n {\n prop : $window.opera,\n identity: 'Opera'\n },\n {\n string : $window.navigator.vendor,\n subString: 'iCab',\n identity : 'iCab'\n },\n {\n string : $window.navigator.vendor,\n subString: 'KDE',\n identity : 'Konqueror'\n },\n {\n string : $window.navigator.userAgent,\n subString: 'Firefox',\n identity : 'Firefox'\n },\n {\n string : $window.navigator.vendor,\n subString: 'Camino',\n identity : 'Camino'\n },\n {\n string : $window.navigator.userAgent,\n subString: 'Netscape',\n identity : 'Netscape'\n },\n {\n string : $window.navigator.userAgent,\n subString : 'MSIE',\n identity : 'Explorer',\n versionSearch: 'MSIE'\n },\n {\n string : $window.navigator.userAgent,\n subString : 'Trident/7',\n identity : 'Explorer',\n versionSearch: 'rv'\n },\n {\n string : $window.navigator.userAgent,\n subString : 'Gecko',\n identity : 'Mozilla',\n versionSearch: 'rv'\n },\n {\n string : $window.navigator.userAgent,\n subString : 'Mozilla',\n identity : 'Netscape',\n versionSearch: 'Mozilla'\n }\n ];\n\n var osData = [\n {\n string : $window.navigator.platform,\n subString: 'Win',\n identity : 'Windows'\n },\n {\n string : $window.navigator.platform,\n subString: 'Mac',\n identity : 'Mac'\n },\n {\n string : $window.navigator.platform,\n subString: 'Linux',\n identity : 'Linux'\n },\n {\n string : $window.navigator.platform,\n subString: 'iPhone',\n identity : 'iPhone'\n },\n {\n string : $window.navigator.platform,\n subString: 'iPod',\n identity : 'iPod'\n },\n {\n string : $window.navigator.platform,\n subString: 'iPad',\n identity : 'iPad'\n },\n {\n string : $window.navigator.platform,\n subString: 'Android',\n identity : 'Android'\n }\n ];\n\n var versionSearchString = '';\n\n function searchString(data)\n {\n for ( var i = 0; i < data.length; i++ )\n {\n var dataString = data[i].string;\n var dataProp = data[i].prop;\n\n versionSearchString = data[i].versionSearch || data[i].identity;\n\n if ( dataString )\n {\n if ( dataString.indexOf(data[i].subString) !== -1 )\n {\n return data[i].identity;\n\n }\n }\n else if ( dataProp )\n {\n return data[i].identity;\n }\n }\n }\n\n function searchVersion(dataString)\n {\n var index = dataString.indexOf(versionSearchString);\n\n if ( index === -1 )\n {\n return;\n }\n\n return parseInt(dataString.substring(index + versionSearchString.length + 1));\n }\n\n var browser = searchString(browserData) || 'unknown-browser';\n var version = searchVersion($window.navigator.userAgent) || searchVersion($window.navigator.appVersion) || 'unknown-version';\n var os = searchString(osData) || 'unknown-os';\n\n // Prepare and store the object\n browser = browser.toLowerCase();\n version = browser + '-' + version;\n os = os.toLowerCase();\n\n browserInfo = {\n browser: browser,\n version: version,\n os : os\n };\n\n return browserInfo;\n }\n\n /**\n * Generates a globally unique id\n *\n * @returns {*}\n */\n function guidGenerator()\n {\n var S4 = function ()\n {\n return (((1 + Math.random()) * 0x10000) || 0).toString(16).substring(1);\n };\n return (S4() + S4() + S4() + S4() + S4() + S4());\n }\n\n /**\n * Return if current device is a\n * mobile device or not\n */\n function isMobile()\n {\n return mobileDetect.mobile();\n }\n\n /**\n * Toggle in array (push or splice)\n *\n * @param item\n * @param array\n */\n function toggleInArray(item, array)\n {\n if ( array.indexOf(item) === -1 )\n {\n array.push(item);\n }\n else\n {\n array.splice(array.indexOf(item), 1);\n }\n }\n }\n}());\n(function ()\n{\n 'use strict';\n\n angular\n .module('app.core')\n .filter('filterByTags', filterByTags)\n .filter('filterSingleByTags', filterSingleByTags);\n\n /** @ngInject */\n function filterByTags()\n {\n return function (items, tags)\n {\n if ( items.length === 0 || tags.length === 0 )\n {\n return items;\n }\n\n var filtered = [];\n\n items.forEach(function (item)\n {\n var match = tags.every(function (tag)\n {\n var tagExists = false;\n\n item.tags.forEach(function (itemTag)\n {\n if ( itemTag.name === tag.name )\n {\n tagExists = true;\n return;\n }\n });\n\n return tagExists;\n });\n\n if ( match )\n {\n filtered.push(item);\n }\n });\n\n return filtered;\n };\n }\n\n /** @ngInject */\n function filterSingleByTags()\n {\n return function (itemTags, tags)\n {\n if ( itemTags.length === 0 || tags.length === 0 )\n {\n return;\n }\n\n if ( itemTags.length < tags.length )\n {\n return [];\n }\n\n var filtered = [];\n\n var match = tags.every(function (tag)\n {\n var tagExists = false;\n\n itemTags.forEach(function (itemTag)\n {\n if ( itemTag.name === tag.name )\n {\n tagExists = true;\n return;\n }\n });\n\n return tagExists;\n });\n\n if ( match )\n {\n filtered.push(itemTags);\n }\n\n return filtered;\n };\n }\n\n})();\n(function ()\n{\n 'use strict';\n\n angular\n .module('app.core')\n .filter('toTrusted', toTrustedFilter)\n .filter('htmlToPlaintext', htmlToPlainTextFilter)\n .filter('nospace', nospaceFilter)\n .filter('humanizeDoc', humanizeDocFilter);\n\n /** @ngInject */\n function toTrustedFilter($sce)\n {\n return function (value)\n {\n return $sce.trustAsHtml(value);\n };\n }\n\n /** @ngInject */\n function htmlToPlainTextFilter()\n {\n return function (text)\n {\n return String(text).replace(/<[^>]+>/gm, '');\n };\n }\n\n /** @ngInject */\n function nospaceFilter()\n {\n return function (value)\n {\n return (!value) ? '' : value.replace(/ /g, '');\n };\n }\n\n /** @ngInject */\n function humanizeDocFilter()\n {\n return function (doc)\n {\n if ( !doc )\n {\n return;\n }\n if ( doc.type === 'directive' )\n {\n return doc.name.replace(/([A-Z])/g, function ($1)\n {\n return '-' + $1.toLowerCase();\n });\n }\n return doc.label || doc.name;\n };\n }\n\n})();\n(function ()\n{\n 'use strict';\n\n angular\n .module('app.core')\n .directive('hljs', hljsDirective);\n\n /** @ngInject */\n function hljsDirective($timeout, $q, $interpolate)\n {\n return {\n restrict: 'EA',\n compile : function (tElement, tAttrs)\n {\n var code;\n //No attribute? code is the content\n if ( !tAttrs.code )\n {\n code = tElement.html();\n tElement.empty();\n }\n\n return function (scope, iElement, iAttrs)\n {\n if ( iAttrs.code )\n {\n // Attribute? code is the evaluation\n code = scope.$eval(iAttrs.code);\n }\n var shouldInterpolate = scope.$eval(iAttrs.shouldInterpolate);\n\n $q.when(code).then(function (code)\n {\n if ( code )\n {\n if ( shouldInterpolate )\n {\n code = $interpolate(code)(scope);\n }\n\n var contentParent = angular.element(\n '
'\n );\n\n iElement.append(contentParent);\n\n // Defer highlighting 1-frame to prevent GA interference...\n $timeout(function ()\n {\n render(code, contentParent);\n }, 34, false);\n }\n });\n\n function render(contents, parent)\n {\n var codeElement = parent.find('code');\n var lines = contents.split('\\n');\n\n // Remove empty lines\n lines = lines.filter(function (line)\n {\n return line.trim().length;\n });\n\n // Make it so each line starts at 0 whitespace\n var firstLineWhitespace = lines[0].match(/^\\s*/)[0];\n var startingWhitespaceRegex = new RegExp('^' + firstLineWhitespace);\n\n lines = lines.map(function (line)\n {\n return line\n .replace(startingWhitespaceRegex, '')\n .replace(/\\s+$/, '');\n });\n\n var highlightedCode = hljs.highlight(iAttrs.language || iAttrs.lang, lines.join('\\n'), true);\n highlightedCode.value = highlightedCode.value\n .replace(/=\"\"<\\/span>/gi, '')\n .replace('', '')\n .replace('', '');\n codeElement.append(highlightedCode.value).addClass('highlight');\n }\n };\n }\n };\n }\n})();\n(function ()\n{\n 'use strict';\n\n angular\n .module('app.core')\n .provider('fuseConfig', fuseConfigProvider);\n\n /** @ngInject */\n function fuseConfigProvider()\n {\n // Default configuration\n var fuseConfiguration = {\n 'disableCustomScrollbars' : false,\n 'disableMdInkRippleOnMobile' : true,\n 'disableCustomScrollbarsOnMobile': false\n };\n\n // Methods\n this.config = config;\n\n //////////\n\n /**\n * Extend default configuration with the given one\n *\n * @param configuration\n */\n function config(configuration)\n {\n fuseConfiguration = angular.extend({}, fuseConfiguration, configuration);\n }\n\n /**\n * Service\n */\n this.$get = function ()\n {\n var service = {\n getConfig: getConfig,\n setConfig: setConfig\n };\n\n return service;\n\n //////////\n\n /**\n * Returns a config value\n */\n function getConfig(configName)\n {\n if ( angular.isUndefined(fuseConfiguration[configName]) )\n {\n return false;\n }\n\n return fuseConfiguration[configName];\n }\n\n /**\n * Creates or updates config object\n *\n * @param configName\n * @param configValue\n */\n function setConfig(configName, configValue)\n {\n fuseConfiguration[configName] = configValue;\n }\n };\n }\n\n})();\n(function ()\n{\n 'use strict';\n\n angular\n .module('app.toolbar', [])\n .config(config);\n\n /** @ngInject */\n function config($translatePartialLoaderProvider)\n {\n $translatePartialLoaderProvider.addPart('app/toolbar');\n }\n})();\n\nvar fuse;\n(function (fuse) {\n var ToolbarController = (function () {\n function ToolbarController($rootScope, $mdSidenav, $translate, $mdToast, $cookies, navigationService) {\n this.$rootScope = $rootScope;\n this.$mdSidenav = $mdSidenav;\n this.$translate = $translate;\n this.$mdToast = $mdToast;\n this.$cookies = $cookies;\n this.navigationService = navigationService;\n this.bodyEl = angular.element('body');\n $rootScope.global = {\n search: ''\n };\n }\n ToolbarController.prototype.toggleSidenav = function (sidenavId) {\n this.$mdSidenav(sidenavId).toggle();\n };\n ToolbarController.prototype.toggleHorizontalMobileMenu = function () {\n this.bodyEl.toggleClass('ms-navigation-horizontal-mobile-menu-active');\n };\n ToolbarController.prototype.goto = function (item) {\n console.log('click!');\n };\n ToolbarController.prototype.gotoHome = function () {\n //this.$cookies.put('noPopup', 'false');\n this.navigationService.toState('app.home', {});\n };\n ToolbarController.$inject = ['$rootScope', '$mdSidenav', '$translate', '$mdToast', '$cookies', 'navigationService'];\n return ToolbarController;\n })();\n fuse.ToolbarController = ToolbarController;\n angular\n .module('app.toolbar')\n .controller('ToolbarController', ToolbarController);\n})(fuse || (fuse = {}));\n\n(function () {\n 'use strict';\n\n angular\n .module('app.quickPanel')\n .controller('QuickPanelController', QuickPanelController);\n\n /** @ngInject */\n function QuickPanelController(api) {\n var vm = this;\n\n // Data\n vm.date = new Date();\n vm.settings = {\n notify: true,\n cloud: false,\n retro: true\n };\n\n api.quickPanel.activities.get({}, function (response) {\n vm.activities = response.data;\n });\n\n api.quickPanel.events.get({}, function (response) {\n vm.events = response.data;\n });\n\n api.quickPanel.notes.get({}, function (response) {\n vm.notes = response.data;\n });\n\n // Methods\n\n //////////\n }\n\n})();\nvar backoffice;\n(function (backoffice) {\n var States = (function () {\n function States() {\n }\n States.SAMPLE = 'app.sample';\n States.MANAGEMENT_SEARCH = 'app.management_search';\n States.MANAGEMENT_USER = 'app.management_user';\n States.MANAGEMENT_ADDUSER = 'app.management_adduser';\n States.DASHBOARD = 'app.dashboard';\n States.COMPANY_BUSINESSHOUR = 'app.company_businesshour';\n States.COMPANY_CONTACTINFO = 'app.company_contactinfo';\n States.COMPANY_LOCATION = 'app.company_location';\n States.CMS_BLOCK = 'app.cms_block';\n States.CMS_IMAGE = 'app.cms_image';\n States.INIT = 'app.init';\n States.TABLE_SETTINGS = 'app.settings_table';\n States.FORM_SETTINGS = 'app.settings_form';\n return States;\n })();\n backoffice.States = States;\n var Routes = (function () {\n function Routes() {\n }\n Routes.SAMPLE = '/sample';\n Routes.MANAGEMENT_SEARCH = '/management/search';\n Routes.MANAGEMENT_USER = '/management/user';\n Routes.MANAGEMENT_ADDUSER = '/management/adduser';\n Routes.DASHBOARD = '/dashboard';\n Routes.COMPANY_BUSINESSHOUR = '/company/businesshour';\n Routes.COMPANY_CONTACTINFO = '/company/contactinfo';\n Routes.COMPANY_LOCATION = '/company/location';\n Routes.CMS_BLOCK = '/cms/block';\n Routes.CMS_IMAGE = '/cms/image';\n Routes.INIT = '/init/:id';\n Routes.TABLE_SETTINGS = '/settings/table/:id/:reference';\n Routes.FORM_SETTINGS = '/settings/form/:id/:reference';\n return Routes;\n })();\n backoffice.Routes = Routes;\n})(backoffice || (backoffice = {}));\n\nvar pancake;\n(function (pancake) {\n angular\n .module('app.pancake')\n .config(function (CacheFactoryProvider) {\n angular.extend(CacheFactoryProvider.defaults, { maxAge: 15 * 60 * 1000 });\n });\n})(pancake || (pancake = {}));\n\n(function ()\n{\n 'use strict';\n\n angular\n .module('app.navigation', [])\n .config(config);\n\n /** @ngInject */\n function config($translatePartialLoaderProvider)\n {\n $translatePartialLoaderProvider.addPart('app/navigation');\n }\n\n})();\n(function ()\n{\n 'use strict';\n\n angular\n .module('app.navigation')\n .controller('NavigationController', NavigationController);\n\n /** @ngInject */\n function NavigationController($scope)\n {\n var vm = this;\n\n // Data\n vm.bodyEl = angular.element('body');\n vm.folded = false;\n vm.msScrollOptions = {\n suppressScrollX: true\n };\n\n // Methods\n vm.toggleMsNavigationFolded = toggleMsNavigationFolded;\n\n //////////\n\n /**\n * Toggle folded status\n */\n function toggleMsNavigationFolded()\n {\n vm.folded = !vm.folded;\n }\n\n // Close the mobile menu on $stateChangeSuccess\n $scope.$on('$stateChangeSuccess', function ()\n {\n vm.bodyEl.removeClass('ms-navigation-horizontal-mobile-menu-active')\n })\n }\n\n})();\n(function ()\n{\n 'use strict';\n\n /**\n * Main module of the Fuse\n */\n angular\n .module('fuse', [\n\n // Core\n 'app.core',\n\n // Framework\n 'app.pancake',\n\n // Navigation\n 'app.navigation',\n\n // Toolbar\n 'app.toolbar',\n\n // Quick panel\n 'app.quickPanel',\n\n // Pages\n 'app.home',\n 'app.scrumrow'\n ]);\n})();\n(function ()\n{\n 'use strict';\n\n angular\n .module('fuse')\n .controller('MainController', MainController);\n\n /** @ngInject */\n function MainController($scope, $rootScope)\n {\n // Data\n\n //////////\n\n // Remove the splash screen\n $scope.$on('$viewContentAnimationEnded', function (event)\n {\n if ( event.targetScope.$id === $scope.$id )\n {\n $rootScope.$broadcast('msSplashScreen::remove');\n }\n });\n }\n})();\n(function ()\n{\n 'use strict';\n\n angular\n .module('app.core')\n .run(runBlock);\n\n /** @ngInject */\n function runBlock(msUtils, fuseGenerator, fuseConfig)\n {\n /**\n * Generate extra classes based on registered themes so we\n * can use same colors with non-angular-material elements\n */\n fuseGenerator.generate();\n\n /**\n * Disable md-ink-ripple effects on mobile\n * if 'disableMdInkRippleOnMobile' config enabled\n */\n if ( fuseConfig.getConfig('disableMdInkRippleOnMobile') && msUtils.isMobile() )\n {\n var bodyEl = angular.element('body');\n bodyEl.attr('md-no-ink', true);\n }\n\n /**\n * Put isMobile() to the html as a class\n */\n if ( msUtils.isMobile() )\n {\n angular.element('html').addClass('is-mobile');\n }\n\n /**\n * Put browser information to the html as a class\n */\n var browserInfo = msUtils.detectBrowser();\n if ( browserInfo )\n {\n var htmlClass = browserInfo.browser + ' ' + browserInfo.version + ' ' + browserInfo.os;\n angular.element('html').addClass(htmlClass);\n }\n }\n})();\n(function ()\n{\n 'use strict';\n\n angular\n .module('app.core')\n .config(config);\n\n /** @ngInject */\n function config($ariaProvider, $logProvider, msScrollConfigProvider, $translateProvider, $provide, fuseConfigProvider)\n {\n // Enable debug logging\n $logProvider.debugEnabled(true);\n\n // toastr configuration\n toastr.options.timeOut = 3000;\n toastr.options.positionClass = 'toast-top-right';\n toastr.options.preventDuplicates = true;\n toastr.options.progressBar = true;\n\n // angular-translate configuration\n $translateProvider.useLoader('$translatePartialLoader', {\n urlTemplate: '{part}/i18n/{lang}.json'\n });\n $translateProvider.preferredLanguage('nl');\n $translateProvider.useSanitizeValueStrategy('sanitize');\n\n /*eslint-disable */\n\n // ng-aria configuration\n $ariaProvider.config({\n tabindex: false\n });\n\n // Fuse theme configurations\n fuseConfigProvider.config({\n 'disableCustomScrollbars' : false,\n 'disableCustomScrollbarsOnMobile': false,\n 'disableMdInkRippleOnMobile' : true\n });\n\n // msScroll configuration\n msScrollConfigProvider.config({\n wheelPropagation: true\n });\n\n /*eslint-enable */\n }\n})();\n(function () {\n 'use strict';\n\n angular\n .module('fuse')\n .run(runBlock);\n\n /** @ngInject */\n function runBlock($rootScope, $timeout, $state) {\n // Activate loading indicator\n var stateChangeStartEvent = $rootScope.$on('$stateChangeStart', function (event, toState, toParams, fromState, fromParams) {\n $rootScope.loadingProgress = true;\n });\n\n // De-activate loading indicator\n var stateChangeSuccessEvent = $rootScope.$on('$stateChangeSuccess', function () {\n $timeout(function () {\n $rootScope.loadingProgress = false;\n });\n });\n\n // Store state in the root scope for easy access\n $rootScope.state = $state;\n\n // Cleanup\n $rootScope.$on('$destroy', function () {\n stateChangeStartEvent();\n stateChangeSuccessEvent();\n })\n }\n})();\n(function ()\n{\n 'use strict';\n\n angular\n .module('fuse')\n .config(routeConfig);\n\n /** @ngInject */\n function routeConfig($stateProvider, $urlRouterProvider, $locationProvider)\n {\n $locationProvider.html5Mode(true);\n\n $urlRouterProvider.otherwise('/home');\n\n var $cookies;\n angular.injector(['ngCookies']).invoke([\n '$cookies', function (_$cookies)\n {\n $cookies = _$cookies;\n }\n ]);\n\n var layoutStyle = $cookies.get('layoutStyle') || 'websiteWithFeaturing';\n\n var layouts = {\n verticalNavigation : {\n main : 'app/core/layouts/vertical-navigation.html',\n toolbar : 'app/toolbar/layouts/vertical-navigation/toolbar.html',\n navigation: 'app/navigation/layouts/vertical-navigation/navigation.html'\n },\n horizontalNavigation: {\n main : 'app/core/layouts/horizontal-navigation.html',\n toolbar : 'app/toolbar/layouts/horizontal-navigation/toolbar.html',\n navigation: 'app/navigation/layouts/horizontal-navigation/navigation.html'\n },\n contentOnly : {\n main : 'app/core/layouts/content-only.html',\n toolbar : '',\n navigation: ''\n },\n contentWithToolbar : {\n main : 'app/core/layouts/content-with-toolbar.html',\n toolbar : 'app/toolbar/layouts/content-with-toolbar/toolbar.html',\n navigation: ''\n },\n websiteWithFeaturing: {\n main : 'app/core/layouts/website-with-featuring.html',\n toolbar : 'app/toolbar/layouts/website/toolbar.html',\n navigation: 'app/navigation/layouts/horizontal-navigation/navigation.html'\n },\n };\n\n\n // State definitions\n $stateProvider\n .state('app', {\n abstract: true,\n views : {\n 'main@' : {\n templateUrl: layouts[layoutStyle].main,\n controller : 'MainController as vm'\n },\n 'toolbar@app' : {\n templateUrl: layouts[layoutStyle].toolbar,\n controller : 'ToolbarController as vm'\n },\n 'navigation@app': {\n templateUrl: layouts[layoutStyle].navigation,\n controller : 'NavigationController as vm'\n },\n 'quickPanel@app': {\n templateUrl: 'app/quick-panel/quick-panel.html',\n controller : 'QuickPanelController as vm'\n }\n }\n });\n // .state('login', {\n // views : {\n // 'main@' : {\n // templateUrl: 'app/core/layouts/content-only.html',\n // controller : 'MainController as vm'\n // },\n // 'content@login': {\n // templateUrl: 'app/main/auth/login/login.html',\n // controller : 'LoginController as vm'\n // }\n // }\n // });\n }\n\n})();\n\n(function ()\n{\n 'use strict';\n\n angular\n .module('fuse')\n .controller('IndexController', IndexController);\n\n /** @ngInject */\n function IndexController(fuseTheming)\n {\n var vm = this;\n\n // Data\n vm.themes = fuseTheming.themes;\n\n //////////\n }\n})();\n(function ()\n{\n 'use strict';\n\n angular\n .module('fuse');\n})();\n\n(function ()\n{\n 'use strict';\n\n angular\n .module('fuse')\n .config(config);\n\n /** @ngInject */\n function config()\n {\n // Put your custom configurations here\n }\n\n})();\n(function ()\n{\n 'use strict';\n\n angular\n .module('fuse')\n .factory('api', apiService);\n\n /** @ngInject */\n function apiService($resource)\n {\n /**\n * You can use this service to define your API urls. The \"api\" service\n * is designed to work in parallel with \"apiResolver\" service which you can\n * find in the \"app/core/services/api-resolver.service.js\" file.\n *\n * You can structure your API urls whatever the way you want to structure them.\n * You can either use very simple definitions, or you can use multi-dimensional\n * objects.\n *\n * Here's a very simple API url definition example:\n *\n * api.getBlogList = $resource('http://api.example.com/getBlogList');\n *\n * While this is a perfectly valid $resource definition, most of the time you will\n * find yourself in a more complex situation where you want url parameters:\n *\n * api.getBlogById = $resource('http://api.example.com/blog/:id', {id: '@id'});\n *\n * You can also define your custom methods. Custom method definitions allows you to\n * add hardcoded parameters to your API calls that you want them to be sent every\n * time you make that API call:\n *\n * api.getBlogById = $resource('http://api.example.com/blog/:id', {id: '@id'}, {\n * 'getFromHomeCategory' : {method: 'GET', params: {blogCategory: 'home'}}\n * });\n *\n * In addition to these definitions, you can also create multi-dimensional objects.\n * They are nothing to do with the $resource object, it's just a more convenient\n * way that we have created for you to packing your related API urls together:\n *\n * api.blog = {\n * list : $resource('http://api.example.com/blog);\n * getById : $resource('http://api.example.com/blog/:id', {id: '@id'});\n * getByDate: $resource('http://api.example.com/blog/:date', {id: '@date'},\n * 'get': {method: 'GET', params: {getByDate: true}}\n * );\n * }\n *\n * If you look at the last example from above, we overrode the 'get' method to put a\n * hardcoded parameter. Now every time we make the \"getByDate\" call, the {getByDate: true}\n * object will also be sent along with whatever data we are sending.\n *\n * All the above methods are using standard $resource service. You can learn more about\n * it at: https://docs.angularjs.org/api/ngResource/service/$resource\n *\n * -----\n *\n * After you defined your API urls, you can use them in Controllers, Services and even\n * in the UIRouter state definitions.\n *\n * If we use the last example from above, you can do an API call in your Controllers and\n * Services like this:\n *\n * function MyController (api)\n * {\n * // Get the blog list\n * api.blog.list.get({},\n *\n * // Success\n * function (response)\n * {\n * console.log(response);\n * },\n *\n * // Error\n * function (response)\n * {\n * console.error(response);\n * }\n * );\n *\n * // Get the blog with the id of 3\n * var id = 3;\n * api.blog.getById.get({'id': id},\n *\n * // Success\n * function (response)\n * {\n * console.log(response);\n * },\n *\n * // Error\n * function (response)\n * {\n * console.error(response);\n * }\n * );\n *\n * // Get the blog with the date by using custom defined method\n * var date = 112314232132;\n * api.blog.getByDate.get({'date': date},\n *\n * // Success\n * function (response)\n * {\n * console.log(response);\n * },\n *\n * // Error\n * function (response)\n * {\n * console.error(response);\n * }\n * );\n * }\n *\n * Because we are directly using $resource servive, all your API calls will return a\n * $promise object.\n *\n * --\n *\n * If you want to do the same calls in your UI Router state definitions, you need to use\n * \"apiResolver\" service we have prepared for you:\n *\n * $stateProvider.state('app.blog', {\n * url : '/blog',\n * views : {\n * 'content@app': {\n * templateUrl: 'app/main/apps/blog/blog.html',\n * controller : 'BlogController as vm'\n * }\n * },\n * resolve : {\n * Blog: function (apiResolver)\n * {\n * return apiResolver.resolve('blog.list@get');\n * }\n * }\n * });\n *\n * You can even use parameters with apiResolver service:\n *\n * $stateProvider.state('app.blog.show', {\n * url : '/blog/:id',\n * views : {\n * 'content@app': {\n * templateUrl: 'app/main/apps/blog/blog.html',\n * controller : 'BlogController as vm'\n * }\n * },\n * resolve : {\n * Blog: function (apiResolver, $stateParams)\n * {\n * return apiResolver.resolve('blog.getById@get', {'id': $stateParams.id);\n * }\n * }\n * });\n *\n * And the \"Blog\" object will be available in your BlogController:\n *\n * function BlogController(Blog)\n * {\n * var vm = this;\n *\n * // Data\n * vm.blog = Blog;\n *\n * ...\n * }\n */\n\n var api = {};\n\n // Base Url\n api.baseUrl = 'app/data/';\n\n api.sample = $resource(api.baseUrl + 'sample/sample.json');\n\n api.quickPanel = {\n activities: $resource(api.baseUrl + 'quick-panel/activities.json'),\n contacts : $resource(api.baseUrl + 'quick-panel/contacts.json'),\n events : $resource(api.baseUrl + 'quick-panel/events.json'),\n notes : $resource(api.baseUrl + 'quick-panel/notes.json')\n };\n\n return api;\n }\n\n})();\nvar pancake;\n(function (pancake) {\n 'use strict';\n configureStates.$inject = ['$stateProvider', '$translatePartialLoaderProvider', 'msNavigationServiceProvider'];\n /* @ngInject */\n function configureStates($stateProvider, $translatePartialLoaderProvider, msNavigationServiceProvider) {\n var states = getStates();\n states.forEach(function (state) {\n $stateProvider.state(state.state, state.config);\n });\n // Translation\n $translatePartialLoaderProvider.addPart('app/main/scrumrow');\n }\n function getStates() {\n return [\n {\n state: 'app.scrumrow',\n config: {\n url: '/scrumrow/:id',\n views: {\n 'content@app': {\n templateUrl: 'app/main/scrumrow/scrumrow.html',\n controller: 'ScrumrowController as vm'\n }\n }\n }\n }\n ];\n }\n angular\n .module('app.scrumrow', [])\n .config(configureStates);\n})(pancake || (pancake = {}));\n\nangular.module(\"fuse\").run([\"$templateCache\", function($templateCache) {$templateCache.put(\"app/quick-panel/quick-panel.html\",\"{{ vm.description }}
Name
\\nby Scrumrows, {{contributor}}
{{friend.time}}
{{server.detail}}
\\n{{event.detail}}
{{note.detail}}