/* * Application Controller * */ angularIO.controller('AppCtrl', ['$mdDialog', '$timeout', '$http', '$sce', function ($mdDialog, $timeout, $http, $sce) { var vm = this; vm.showDocsNav = false; vm.showMainNav = false; vm.showMenu = false; // TOGGLE MAIN NAV (TOP) ON MOBILE vm.toggleDocsMenu = function () { vm.showDocsNav = !vm.showDocsNav; }; // TOGGLE DOCS NAV vm.toggleMainMenu = function () { vm.showMainNav = !vm.showMainNav; }; // TOGGLE DOCS VERSION & LANGUAGE vm.toggleVersionMenu = function () { vm.showMenu = !vm.showMenu; }; vm.openFeedback = function () { var configuration = { 'productId': '410509', 'authuser': '1', 'bucket': 'angulario' }; userfeedback.api.startFeedback(configuration); }; // URL hash keeps track of which method the user wants to view in the API doc. // Refer to _api.scss (.anchor-focused) and class.template.html (where ng-class is used) for details. vm.isApiDocMemberFocused = function (memberName) { var apiDocFocusedMember = window.location.hash.replace('#!#', '').replace('-anchor', ''); return apiDocFocusedMember === memberName; }; /* * Prettify Code * * Finish Rendereding code directives then prettify code */ // GRAB ALL TAGS NOT USING DIRECTIVES var preTags = angular.element(document.body).find('pre'); // LOOP THROUGH AND ADD PRETTIFY CLASS _.each(preTags, function (element) { var preTag = angular.element(element); // IF NOT FORMATTED, ADD PRETTY PRINT if (!preTag.hasClass('prettyprint')) { preTag.addClass('prettyprint linenums'); } }); // TRIGGER PRETTYPRINT AFTER DIGEST LOOP COMPLETE $timeout(prettyPrint, 1); vm.sourceVisible = sourceVisible; vm.toggleSource = function ($event) { $event.preventDefault(); vm.sourceVisible = !vm.sourceVisible; var nodes = document.querySelectorAll('.original-english'); var $nodes = angular.element(nodes); if (vm.sourceVisible) { $nodes.removeClass('hidden'); } else { $nodes.addClass('hidden'); } localStorage.setItem('source-visible', vm.sourceVisible); }; }]);