-
Notifications
You must be signed in to change notification settings - Fork 1
/
angular-pagePiling.js
67 lines (49 loc) · 1.62 KB
/
angular-pagePiling.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
;(function() {
'use strict';
angular
.module('pagePiling.js', [])
.directive('pagePiling', pagePiling);
pagePiling.$inject = ['$timeout'];
function pagePiling($timeout) {
var directive = {
restrict: 'A',
scope: {options: '='},
link: link
};
return directive;
function link(scope, element) {
var pageIndex;
var slideIndex;
angular.element(element).pagepiling(sanatizeOptions(scope.options));
function destroyFullPage() {
var pageElement = angular.element(element);
pageElement.attr({
style: '',
});
pageElement.find('.section').removeClass('pp-section active pp-table pp-easing');
pageElement.find('li').css({
zIndex: '',
transform: '',
'-webkit-transform': '',
'-moz-transform': '',
'-ms-transform': ''
});
pageElement.find('.pp-tableCell').remove();
$('#pp-nav').remove();
}
function sanatizeOptions(options) {
options.afterRender = function(){
//We want to remove the HREF targets for navigation because they use hashbang
//They still work without the hash though, so its all good.
$('#pp-nav').find('a').removeAttr('href');
};
//if we are using a ui-router, we need to be able to handle anchor clicks without 'href="#thing"'
$(document).on('click', '[data-menuanchor]', function () {
$.fn.pagepiling.moveTo($(this).attr('data-menuanchor'));
});
return options;
}
element.on('$destroy', destroyFullPage);
}
}
})();