├── .gitignore ├── .travis.yml ├── Gruntfile.js ├── LICENSE ├── README.md ├── bower.json ├── composer.json ├── demo ├── css │ ├── static.css │ └── static.min.css ├── demo.css ├── fonts │ ├── glyphicons-halflings-regular.eot │ ├── glyphicons-halflings-regular.svg │ ├── glyphicons-halflings-regular.ttf │ ├── glyphicons-halflings-regular.woff │ └── glyphicons-halflings-regular.woff2 ├── index.html └── js │ ├── static.js │ └── static.min.js ├── dist ├── css │ ├── jquery.progresstimer.css │ └── jquery.progresstimer.min.css └── js │ ├── jquery.progresstimer.js │ └── jquery.progresstimer.min.js ├── package.json └── src ├── css └── jquery.progressTimer.css └── js └── jquery.progressTimer.js /.gitignore: -------------------------------------------------------------------------------- 1 | # Created by .ignore support plugin (hsz.mobi) -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | node_js: 3 | - "0.11" 4 | - "0.10" 5 | before_install: 6 | - npm install -g grunt-cli 7 | - npm install -g bower 8 | install: 9 | - npm install 10 | before_script: 11 | - bower install 12 | script: 13 | - grunt dist -------------------------------------------------------------------------------- /Gruntfile.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by thomas.c.norberg on 4/24/14. 3 | */ 4 | module.exports = function (grunt) { 5 | "use strict"; 6 | 7 | // Force use of Unix newlines 8 | grunt.util.linefeed = "\n"; 9 | 10 | RegExp.quote = function (string) { 11 | return string.replace(/[-\\^$*+?.()|[\]{}]/g, "\\$&"); 12 | }; 13 | // If you want to add the grunt css/js to another view change it here 14 | var distDir = "dist/", 15 | demoDir = "demo/", 16 | srcDir = "src/", 17 | bowerDir = "bower_components/", 18 | staticJsFile = demoDir + "js/static.js", 19 | staticMinJsFile = demoDir + "js/static.min.js", 20 | staticCssFile = demoDir + "css/static.css", 21 | staticMinCssFile = demoDir + "css/static.min.css"; 22 | // 1. All configuration goes here 23 | grunt.initConfig({ 24 | pkg: grunt.file.readJSON("package.json"), 25 | pkgName: "<%= pkg.name.replace(/-/, \".\") %>", 26 | banner: "/**!\n" + 27 | " * <%= pkg.title || pkg.name %> - v<%= pkg.version %> - <%= grunt.template.today(\"m/d/yyyy\") %>\n" + 28 | " * <%= pkg.homepage %>\n" + 29 | " * Copyright (c) <%= grunt.template.today(\"yyyy\") %> <%= pkg.author.name %>;\n" + 30 | " * Licensed <%= _.pluck(pkg.licenses, \"type\").join(\", \") %>\n" + 31 | " */\n", 32 | concat: { 33 | options: { 34 | //banner: "<%= banner %>\n", 35 | stripBanners: false 36 | }, 37 | // 2. Configuration for concatenating files goes here. 38 | staticjs: { 39 | src: [ 40 | bowerDir + "jquery/dist/jquery.js", 41 | bowerDir + "bootstrap/dist/js/bootstrap.js" 42 | ], 43 | dest: staticJsFile 44 | }, 45 | staticcss: { 46 | src: [ 47 | bowerDir + "bootstrap/dist/css/bootstrap.css", 48 | bowerDir + "bootstrap/dist/css/bootstrap-theme.css" 49 | ], 50 | dest: staticCssFile 51 | }, 52 | css: { 53 | src: [ 54 | [srcDir + "css/*.css"] 55 | ], 56 | dest: distDir + "css/<%= pkgName %>.css" 57 | }, 58 | js: { 59 | src: [ 60 | [srcDir + "js/*.js"] 61 | ], 62 | dest: distDir + "js/<%= pkgName %>.js" 63 | } 64 | }, 65 | cssmin: { 66 | css: { 67 | files: [ 68 | { 69 | src: "<%= concat.css.dest %>", 70 | dest: distDir + "css/<%= pkgName %>.min.css" 71 | }, 72 | { 73 | src: "<%= concat.staticcss.dest %>", 74 | dest: staticMinCssFile 75 | } 76 | ] 77 | } 78 | }, 79 | uglify: { 80 | js: { 81 | files: [ 82 | { 83 | src: "<%= concat.js.dest %>", 84 | dest: distDir + "js/<%= pkgName %>.min.js" 85 | }, 86 | { 87 | src: "<%= concat.staticjs.dest %>", 88 | dest: staticMinJsFile 89 | } 90 | ] 91 | } 92 | }, 93 | copy: { 94 | main: { 95 | files: [ 96 | // includes files within path 97 | { 98 | expand: true, 99 | src: [ bowerDir + "bootstrap/dist/fonts/*"], 100 | dest: demoDir + "fonts/", 101 | filter: "isFile", 102 | flatten: true 103 | }, 104 | { 105 | expand: true, 106 | src: [ srcDir + "img/*"], 107 | dest: demoDir + "img/", 108 | filter: "isFile", 109 | flatten: true 110 | }, 111 | { 112 | expand: true, 113 | src: bowerDir + "respond/dest/respond.min.js", 114 | dest: demoDir + "js/", 115 | filter: "isFile", 116 | flatten: true 117 | } 118 | ] 119 | } 120 | }, 121 | usebanner: { 122 | dist: { 123 | options: { 124 | position: "top", 125 | banner: "<%= banner %>" 126 | }, 127 | files: { 128 | src: [ 129 | "<%= concat.js.dest %>", 130 | "<%= concat.css.dest %>", 131 | "<%= uglify.js.files[0].dest %>", 132 | "<%= uglify.js.files[1].dest %>", 133 | "<%= cssmin.css.files[0].dest %>", 134 | "<%= cssmin.css.files[1].dest %>" 135 | ] 136 | } 137 | } 138 | }, 139 | clean: [distDir + "*", demoDir + "/css/*", demoDir + "/js/*", demoDir + "/fonts/*"], 140 | jshint: { 141 | // You get to make the name 142 | // The paths tell JSHint which files to validate 143 | myFiles: ["src/js/**/*.js"] 144 | }, 145 | bump: { 146 | options: { 147 | files: ["package.json", "bower.json"] 148 | }, 149 | scripts: { 150 | files: ["dist/*", "src/*", "demo/*", "package.json", "bower.json", "GruntFile.js"], 151 | updateConfigs: ["pkg"], 152 | commitFiles: ["-a"], 153 | push: true, 154 | pushTo: "<%= pkg.respository.url =>" 155 | } 156 | }, 157 | jsdox: { 158 | generate: { 159 | options: { 160 | contentsEnabled: true, 161 | contentsTitle: "Example Documentation", 162 | contentsFile: "readme.md"//, 163 | ///pathFilter: /^example/ 164 | }, 165 | src: ["src/js/*"], 166 | dest: "md" 167 | }//, 168 | // [optional additional "generation" task like generate above, can be targed with jsdox:generate-other-docs], 169 | /*publish: { 170 | enabled: true, 171 | path: "<%= jsdox.generate.dest %>", 172 | message: "Markdown Auto-Generated for version <%= pkg.version %>", 173 | remoteName: "upstream", 174 | remoteBranch: "master" 175 | }*/ 176 | }/* Need to install grunt-sed but current version does not support exclude, 177 | sed: { 178 | versionNumber: { 179 | pattern: (function () { 180 | var old = grunt.option("oldver"); 181 | return old ? RegExp.quote(old) : old; 182 | })(), 183 | replacement: grunt.option("newver"), 184 | recursive: true, 185 | exclude:["node_modules","bower_components"] 186 | } 187 | }*/ 188 | }); 189 | 190 | // 3. Where we tell Grunt we plan to use this plug-in. 191 | // measures the time each task takes 192 | require("time-grunt")(grunt); 193 | 194 | // load grunt config 195 | require("load-grunt-tasks")(grunt, {scope: "devDependencies"}); 196 | 197 | grunt.registerTask("dev-js", ["newer:jshint:myFiles", "newer:concat:staticjs", "newer:concat:js", "newer:uglify:js"]); 198 | 199 | grunt.registerTask("dist-js", ["jshint:myFiles", "concat:staticjs", "concat:js", "uglify:js"]); 200 | 201 | grunt.registerTask("dev-css", ["newer:concat:staticcss", "newer:concat:css", "newer:cssmin:css"]); 202 | 203 | grunt.registerTask("dist-css", ["concat:staticcss", "concat:css", "cssmin:css"]); 204 | 205 | // 4. Where we tell Grunt what to do when we type "grunt" into the terminal. 206 | grunt.registerTask("default", ["dev-js", "dev-css", "newer:copy:main"]); 207 | 208 | grunt.registerTask("dist", ["clean", "dist-js", "dist-css", "copy:main", "usebanner:dist"]); 209 | 210 | // Version numbering task. 211 | // grunt change-version-number --oldver=A.B.C --newver=X.Y.Z 212 | // This can be overzealous, so its changes should always be manually reviewed! 213 | //grunt.registerTask("change-version-number", "sed"); 214 | }; 215 | 216 | 217 | 218 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2011-2014 Twitter, Inc 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in 13 | all copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | THE SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | [](http://badge.fury.io/bo/jquery-progresstimer) 2 | [](https://david-dm.org/tnory56/jquery-progressTimer/#info=devDependencies) 3 | [](https://david-dm.org/tnory56/jquery-progressTimer/) 4 | [](https://travis-ci.org/tnory56/jquery-progressTimer) 5 | [](https://www.codacy.com/public/tnory56/jqueryprogressTimer) 6 | 7 | jQuery Progress timer is a jquery extension that extends the functionality of the Bootstrap progress [bar component](http://getbootstrap.com/components/#progress) 8 | 9 | - REQUIRES Bootstrap 3.2.0 or greater. 10 | 11 | ## Table of contents 12 | 13 | - [Quick start](#quick-start) 14 | - [What's Included](#whats-included) 15 | - [Simple Example](#simple-example) 16 | 17 | ## Quick start 18 | 19 | Three quick start options are available: 20 | 21 | - Clone the repo: `git clone https://github.com/tnory56/jquery-progressTimer.git`. 22 | - Install with [Bower](http://bower.io): `bower install jquery-progresstimer`. 23 | - See the demo page [Demo](http://tnory56.github.io/jquery-progressTimer/) for usage and possibilities 24 | 25 | 26 | ## What's included 27 | 28 | Within the download you'll find the following directories and files, logically grouping common assets and providing both compiled and minified variations. You'll see something like this: 29 | 30 | ``` 31 | jquery-progresstimer/ 32 | ├── demo/ 33 | │ ├── css/ 34 | │ │ ├── static.css 35 | │ │ └── static.min.css 36 | │ ├── fonts/ 37 | │ │ ├── glyphicons-halflings-regular.eot 38 | │ │ ├── glyphicons-halflings-regular.svg 39 | │ │ ├── glyphicons-halflings-regular.ttf 40 | │ │ └── glyphicons-halflings-regular.woff 41 | │ ├── js/ 42 | │ │ ├── static.js 43 | │ │ └── static.min.js 44 | │ ├── demo.css 45 | │ └── index.html 46 | ├── dist/ 47 | │ ├── css/ 48 | │ │ └── jquery.progresstimer.css 49 | │ └── js/ 50 | │ ├── jquery.progresstimer.js 51 | │ └── jquery.progresstimer.min.js 52 | ├── src/ 53 | │ ├── css/ 54 | │ └── js/ 55 | ├── bower.json 56 | ├── Gruntfile.js 57 | ├── LICENSE 58 | ├── package.json 59 | └── README.md 60 | ``` 61 | 62 | ## Simple Example 63 | 64 | ```html 65 |