forked from cironunes/angular-off-canvas
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathoff-canvas.min.js
More file actions
1 lines (1 loc) · 1.04 KB
/
off-canvas.min.js
File metadata and controls
1 lines (1 loc) · 1.04 KB
1
"use strict";angular.module("cn.offCanvas",[]).factory("cnOffCanvas",["$compile","$rootScope","$controller","$http","$templateCache","$q",function($compile,$rootScope,$controller,$http,$templateCache,$q){return function(config){function toggle(){this.isOpened=!this.isOpened,container.toggleClass(containerClass)}if(+!!config.template+ +!!config.templateUrl!==1)throw new Error;var html,container=angular.element(config.container||document.body),containerClass=config.containerClass||"is-off-canvas-opened",controller=config.controller||angular.noop,controllerAs=config.controllerAs,element=null;if(config.template){var deferred=$q.defer();deferred.resolve(config.template),html=deferred.promise}else html=$http.get(config.templateUrl,{cache:$templateCache}).then(function(response){return response.data});return html.then(function(html){var scope=$rootScope.$new(),ctrl=$controller(controller,{$scope:scope});controllerAs&&(scope[controllerAs]=ctrl),element=angular.element(html),container.prepend(element),$compile(element)(scope)}),{toggle:toggle,isOpened:!1}}}]);