summaryrefslogtreecommitdiffstats
path: root/ecomp-portal-FE/client/bower_components/angular-material/modules/js/progressLinear/progressLinear.js
diff options
context:
space:
mode:
Diffstat (limited to 'ecomp-portal-FE/client/bower_components/angular-material/modules/js/progressLinear/progressLinear.js')
-rw-r--r--ecomp-portal-FE/client/bower_components/angular-material/modules/js/progressLinear/progressLinear.js127
1 files changed, 127 insertions, 0 deletions
diff --git a/ecomp-portal-FE/client/bower_components/angular-material/modules/js/progressLinear/progressLinear.js b/ecomp-portal-FE/client/bower_components/angular-material/modules/js/progressLinear/progressLinear.js
new file mode 100644
index 00000000..df7e432f
--- /dev/null
+++ b/ecomp-portal-FE/client/bower_components/angular-material/modules/js/progressLinear/progressLinear.js
@@ -0,0 +1,127 @@
+/*!
+ * Angular Material Design
+ * https://github.com/angular/material
+ * @license MIT
+ * v0.9.8
+ */
+(function( window, angular, undefined ){
+"use strict";
+
+/**
+ * @ngdoc module
+ * @name material.components.progressLinear
+ * @description Linear Progress module!
+ */
+angular.module('material.components.progressLinear', [
+ 'material.core'
+])
+ .directive('mdProgressLinear', MdProgressLinearDirective);
+
+/**
+ * @ngdoc directive
+ * @name mdProgressLinear
+ * @module material.components.progressLinear
+ * @restrict E
+ *
+ * @description
+ * The linear progress directive is used to make loading content in your app as delightful and painless as possible by minimizing the amount of visual change a user sees before they can view and interact with content. Each operation should only be represented by one activity indicator—for example, one refresh operation should not display both a refresh bar and an activity circle.
+ *
+ * For operations where the percentage of the operation completed can be determined, use a determinate indicator. They give users a quick sense of how long an operation will take.
+ *
+ * For operations where the user is asked to wait a moment while something finishes up, and it’s not necessary to expose what's happening behind the scenes and how long it will take, use an indeterminate indicator.
+ *
+ * @param {string} md-mode Select from one of four modes: determinate, indeterminate, buffer or query.
+ * @param {number=} value In determinate and buffer modes, this number represents the percentage of the primary progress bar. Default: 0
+ * @param {number=} md-buffer-value In the buffer mode, this number represents the precentage of the secondary progress bar. Default: 0
+ *
+ * @usage
+ * <hljs lang="html">
+ * <md-progress-linear md-mode="determinate" value="..."></md-progress-linear>
+ *
+ * <md-progress-linear md-mode="determinate" ng-value="..."></md-progress-linear>
+ *
+ * <md-progress-linear md-mode="indeterminate"></md-progress-linear>
+ *
+ * <md-progress-linear md-mode="buffer" value="..." md-buffer-value="..."></md-progress-linear>
+ *
+ * <md-progress-linear md-mode="query"></md-progress-linear>
+ * </hljs>
+ */
+function MdProgressLinearDirective($$rAF, $mdConstant, $mdTheming) {
+
+ return {
+ restrict: 'E',
+ template: '<div class="md-container">' +
+ '<div class="md-dashed"></div>' +
+ '<div class="md-bar md-bar1"></div>' +
+ '<div class="md-bar md-bar2"></div>' +
+ '</div>',
+ compile: compile
+ };
+
+ function compile(tElement, tAttrs, transclude) {
+ tElement.attr('aria-valuemin', 0);
+ tElement.attr('aria-valuemax', 100);
+ tElement.attr('role', 'progressbar');
+
+ return postLink;
+ }
+ function postLink(scope, element, attr) {
+ $mdTheming(element);
+ var bar1Style = element[0].querySelector('.md-bar1').style,
+ bar2Style = element[0].querySelector('.md-bar2').style,
+ container = angular.element(element[0].querySelector('.md-container'));
+
+ attr.$observe('value', function(value) {
+ if (attr.mdMode == 'query') {
+ return;
+ }
+
+ var clamped = clamp(value);
+ element.attr('aria-valuenow', clamped);
+ bar2Style[$mdConstant.CSS.TRANSFORM] = transforms[clamped];
+ });
+
+ attr.$observe('mdBufferValue', function(value) {
+ bar1Style[$mdConstant.CSS.TRANSFORM] = transforms[clamp(value)];
+ });
+
+ $$rAF(function() {
+ container.addClass('md-ready');
+ });
+ }
+
+ function clamp(value) {
+ if (value > 100) {
+ return 100;
+ }
+
+ if (value < 0) {
+ return 0;
+ }
+
+ return Math.ceil(value || 0);
+ }
+}
+MdProgressLinearDirective.$inject = ["$$rAF", "$mdConstant", "$mdTheming"];
+
+
+// **********************************************************
+// Private Methods
+// **********************************************************
+var transforms = (function() {
+ var values = new Array(101);
+ for(var i = 0; i < 101; i++){
+ values[i] = makeTransform(i);
+ }
+
+ return values;
+
+ function makeTransform(value){
+ var scale = value/100;
+ var translateX = (value-100)/2;
+ return 'translateX(' + translateX.toString() + '%) scale(' + scale.toString() + ', 1)';
+ }
+})();
+
+})(window, window.angular); \ No newline at end of file