123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151 |
- 'use strict';
- angular.module('angular-timeline', []); // Source: src/timeline-badge-directive.js
- /**
- * @ngdoc directive
- * @name angular-timeline.directive:timeline-badge
- * @restrict AE
- *
- * @description
- * Shown in the centre pane (or left on narrow devices) to indicate the activity.
- */
- angular.module('angular-timeline').directive('timelineBadge', function() {
- return {
- require: '^timelineEvent',
- restrict: 'AE',
- transclude: true,
- template: '<div class="timeline-badge" ng-transclude></div>'
- };
- });
- // Source: src/timeline-directive.js
- /**
- * @ngdoc directive
- * @name angular-timeline
- * @restrict AE
- *
- * @description
- * Primary container for displaying a vertical set of timeline events.
- */
- angular.module('angular-timeline').directive('timeline', function() {
- return {
- restrict: 'AE',
- transclude: true,
- template: '<ul class="timeline" ng-transclude></ul>',
- controller: function() {}
- };
- });
- // Source: src/timeline-event-directive.js
- /**
- * @ngdoc directive
- * @name angular-timeline.directive:timeline
- * @restrict AE
- *
- * @description
- * Represents an event occuring at a point in time, displayed on the left or the right
- * of the timeline line.
- *
- * You typically embed a `timeline-badge` and `timeline-panel` element within a `timeline-event`.
- *
- * @param {string=} side Define the side of the element (i.e. side="left", side="right", or use an {{ expression }}).
- */
- angular.module('angular-timeline').directive('timelineEvent', function() {
- return {
- require: '^timeline',
- restrict: 'AE',
- transclude: true,
- template: '<li class="timeline-event" ng-class-odd="oddClass" ng-class-even="evenClass" ng-transclude></li>',
- link: function(scope, element, attrs, controller) {
- var checkClass = function(side, leftSide) {
- var leftClass = '';
- var rightClass = 'timeline-inverted';
- if (side === 'left' || (!side && leftSide === true)) {
- return leftClass;
- } else if ((side === 'alternate' || !side) && leftSide === false) {
- return rightClass;
- } else if (side === 'right') {
- return rightClass;
- } else {
- return leftClass;
- }
- };
- var updateRowClasses = function(value) {
- scope.oddClass = checkClass(value, true);
- scope.evenClass = checkClass(value, false);
- };
- attrs.$observe('side', function(newValue) {
- updateRowClasses(newValue);
- });
- updateRowClasses(attrs.side);
- }
- };
- });
- // Source: src/timeline-footer-directive.js
- /**
- * @ngdoc directive
- * @name angular-timeline.directive:timeline-footer
- * @restrict AE
- *
- * @description
- * Optional element to add a footer section to the `timeline-panel` for links or other actions.
- */
- angular.module('angular-timeline').directive('timelineFooter', function() {
- return {
- require: '^timelinePanel',
- restrict: 'AE',
- transclude: true,
- template: '<div class="timeline-footer" ng-transclude></div>'
- };
- });
- // Source: src/timeline-heading-directive.js
- /**
- * @ngdoc directive
- * @name angular-timeline.directive:timeline-heading
- * @restrict AE
- *
- * @description
- * Optional element to show the heading for a `timeline-panel`.
- */
- angular.module('angular-timeline').directive('timelineHeading', function() {
- return {
- require: '^timelinePanel',
- restrict: 'AE',
- transclude: true,
- template: '<div class="timeline-heading" ng-transclude></div>'
- };
- });
- // Source: src/timeline-panel-directive.js
- /**
- * @ngdoc directive
- * @name angular-timeline.directive:timeline-panel
- * @restrict AE
- *
- * @description
- * An panel inside the `timeline-event` which shows detailed information about the event.
- */
- angular.module('angular-timeline').directive('timelinePanel', function() {
- return {
- require: '^timeline',
- restrict: 'AE',
- transclude: true,
- template: '<div class="timeline-panel" ng-transclude></div>'
- };
- });
- angular.module('angular-timeline').directive('timelinetitle', function() {
- return {
- require: '^timeline',
- restrict: 'AE',
- transclude: true,
- template: '<div class="timeline-title timepost" ng-transclude></div>'
- };
- });
|