80 lines
2.1 KiB
JavaScript
80 lines
2.1 KiB
JavaScript
/*
|
|
* 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);
|
|
};
|
|
}]);
|