From fa55d4fee9ac714f48a35666fdbfd6e23a394573 Mon Sep 17 00:00:00 2001 From: "Hilmer, Carsten" Date: Tue, 13 Sep 2016 16:28:58 +0200 Subject: [PATCH] Tabellepflege abgeschlossen, Entwicklung eingebunden, Basiswerte und CSS-Fixes --- package.json | 5 +- www/css/custom_style.css | 15 + www/img/arrow_down.png | Bin 0 -> 686 bytes www/img/bonbon.png | Bin 0 -> 526 bytes www/index.html | 2 + www/js/app.js | 2 +- www/lib/angular-chart.js/.codeclimate.yml | 10 + www/lib/angular-chart.js/.dockerignore | 2 + www/lib/angular-chart.js/.editorconfig | 18 + www/lib/angular-chart.js/.jscsrc | 82 + www/lib/angular-chart.js/.jshintignore | 9 + www/lib/angular-chart.js/.jshintrc | 24 + www/lib/angular-chart.js/.node-version | 1 + www/lib/angular-chart.js/.npmignore | 6 + www/lib/angular-chart.js/.travis.yml | 19 + www/lib/angular-chart.js/CONTRIBUTING.md | 9 + www/lib/angular-chart.js/Dockerfile | 7 + www/lib/angular-chart.js/ISSUE_TEMPLATE.md | 39 + www/lib/angular-chart.js/LICENSE | 27 + .../angular-chart.js/PULL_REQUEST_TEMPLATE.md | 15 + www/lib/angular-chart.js/README.md | 249 + www/lib/angular-chart.js/angular-chart.js | 365 ++ www/lib/angular-chart.js/bower.json | 51 + .../angular-chart.js/dist/angular-chart.js | 374 ++ .../dist/angular-chart.js.tar.gz | Bin 0 -> 9229 bytes .../dist/angular-chart.min.js | 11 + .../dist/angular-chart.min.js.map | 1 + www/lib/angular-chart.js/examples/amd.html | 25 + www/lib/angular-chart.js/examples/amd.js | 32 + www/lib/angular-chart.js/examples/app.css | 80 + www/lib/angular-chart.js/examples/app.js | 311 + .../angular-chart.js/examples/bootstrap.css | 5785 +++++++++++++++++ www/lib/angular-chart.js/examples/bubble.html | 29 + www/lib/angular-chart.js/examples/bubble.js | 55 + www/lib/angular-chart.js/examples/charts.html | 701 ++ .../examples/charts.template.html | 701 ++ .../angular-chart.js/examples/commonjs.html | 25 + www/lib/angular-chart.js/examples/commonjs.js | 19 + .../examples/dataset-override.html | 38 + .../examples/dataset-override.js | 32 + .../examples/smoothscroll.min.js | 1 + .../examples/stacked-bars.html | 31 + www/lib/angular-chart.js/examples/tables.html | 45 + www/lib/angular-chart.js/examples/tabs.html | 33 + www/lib/angular-chart.js/examples/ticks.html | 30 + .../examples/webpack.commonjs.js | 18 + .../examples/webpack.config.js | 12 + www/lib/angular-chart.js/examples/xy.html | 28 + www/lib/angular-chart.js/examples/xy.js | 18 + www/lib/angular-chart.js/gulpfile.js | 170 + www/lib/angular-chart.js/package.json | 100 + .../test/fixtures/29-tabs.html | 33 + .../angular-chart.js/test/fixtures/29-tabs.js | 18 + .../test/fixtures/29-tabs.png | Bin 0 -> 69542 bytes .../test/fixtures/51-pie-update-colours.html | 35 + .../test/fixtures/51-pie-update-colours.js | 34 + .../test/fixtures/51-pie-update-colours.png | Bin 0 -> 34014 bytes .../test/fixtures/54-not-enough-colours.html | 36 + .../test/fixtures/54-not-enough-colours.js | 36 + .../test/fixtures/54-not-enough-colours.png | Bin 0 -> 34070 bytes .../test/fixtures/57-hex-colours.html | 35 + .../test/fixtures/57-hex-colours.js | 15 + .../test/fixtures/57-hex-colours.png | Bin 0 -> 33223 bytes .../test/fixtures/bubble.html | 29 + .../angular-chart.js/test/fixtures/bubble.js | 787 +++ .../angular-chart.js/test/fixtures/bubble.png | Bin 0 -> 57308 bytes .../test/fixtures/charts.html | 77 + .../angular-chart.js/test/fixtures/charts.js | 68 + .../angular-chart.js/test/fixtures/charts.png | Bin 0 -> 89774 bytes .../test/fixtures/configure-line-chart.html | 33 + .../test/fixtures/configure-line-chart.js | 33 + .../test/fixtures/configure-line-chart.png | Bin 0 -> 29301 bytes .../test/fixtures/coverage.js | 9 + .../test/fixtures/custom-directive.html | 32 + .../test/fixtures/custom-directive.js | 20 + .../test/fixtures/custom-directive.png | Bin 0 -> 29759 bytes .../test/fixtures/dataset-override.html | 41 + .../test/fixtures/dataset-override.js | 32 + .../test/fixtures/dataset-override.png | Bin 0 -> 62303 bytes .../test/fixtures/horizontal-bar-chart.html | 33 + .../test/fixtures/horizontal-bar-chart.js | 18 + .../test/fixtures/horizontal-bar-chart.png | Bin 0 -> 39629 bytes www/lib/angular-chart.js/test/index.html | 31 + www/lib/angular-chart.js/test/mocha.opts | 4 + .../angular-chart.js/test/support/setup.js | 11 + .../angular-chart.js/test/test.integration.js | 75 + www/lib/angular-chart.js/test/test.unit.js | 408 ++ .../angular-chart.js/tmp/Dockerfile-alpine | 15 + www/lib/angular-chart.js/tmp/gradient.html | 26 + www/lib/angular-chart.js/tmp/gradient.js | 29 + www/pokedex.db | Bin 163840 -> 552960 bytes .../pokemonliste/html/pokemon-detail.html | 232 +- www/templates/pokemonliste/js/controllers.js | 58 +- www/templates/pokemonliste/js/services.js | 71 +- 94 files changed, 12014 insertions(+), 62 deletions(-) create mode 100644 www/img/arrow_down.png create mode 100644 www/img/bonbon.png create mode 100644 www/lib/angular-chart.js/.codeclimate.yml create mode 100644 www/lib/angular-chart.js/.dockerignore create mode 100644 www/lib/angular-chart.js/.editorconfig create mode 100644 www/lib/angular-chart.js/.jscsrc create mode 100644 www/lib/angular-chart.js/.jshintignore create mode 100644 www/lib/angular-chart.js/.jshintrc create mode 100644 www/lib/angular-chart.js/.node-version create mode 100644 www/lib/angular-chart.js/.npmignore create mode 100644 www/lib/angular-chart.js/.travis.yml create mode 100644 www/lib/angular-chart.js/CONTRIBUTING.md create mode 100644 www/lib/angular-chart.js/Dockerfile create mode 100644 www/lib/angular-chart.js/ISSUE_TEMPLATE.md create mode 100644 www/lib/angular-chart.js/LICENSE create mode 100644 www/lib/angular-chart.js/PULL_REQUEST_TEMPLATE.md create mode 100644 www/lib/angular-chart.js/README.md create mode 100644 www/lib/angular-chart.js/angular-chart.js create mode 100644 www/lib/angular-chart.js/bower.json create mode 100644 www/lib/angular-chart.js/dist/angular-chart.js create mode 100644 www/lib/angular-chart.js/dist/angular-chart.js.tar.gz create mode 100644 www/lib/angular-chart.js/dist/angular-chart.min.js create mode 100644 www/lib/angular-chart.js/dist/angular-chart.min.js.map create mode 100644 www/lib/angular-chart.js/examples/amd.html create mode 100644 www/lib/angular-chart.js/examples/amd.js create mode 100644 www/lib/angular-chart.js/examples/app.css create mode 100644 www/lib/angular-chart.js/examples/app.js create mode 100644 www/lib/angular-chart.js/examples/bootstrap.css create mode 100644 www/lib/angular-chart.js/examples/bubble.html create mode 100644 www/lib/angular-chart.js/examples/bubble.js create mode 100644 www/lib/angular-chart.js/examples/charts.html create mode 100644 www/lib/angular-chart.js/examples/charts.template.html create mode 100644 www/lib/angular-chart.js/examples/commonjs.html create mode 100644 www/lib/angular-chart.js/examples/commonjs.js create mode 100644 www/lib/angular-chart.js/examples/dataset-override.html create mode 100644 www/lib/angular-chart.js/examples/dataset-override.js create mode 100644 www/lib/angular-chart.js/examples/smoothscroll.min.js create mode 100644 www/lib/angular-chart.js/examples/stacked-bars.html create mode 100644 www/lib/angular-chart.js/examples/tables.html create mode 100644 www/lib/angular-chart.js/examples/tabs.html create mode 100644 www/lib/angular-chart.js/examples/ticks.html create mode 100644 www/lib/angular-chart.js/examples/webpack.commonjs.js create mode 100644 www/lib/angular-chart.js/examples/webpack.config.js create mode 100644 www/lib/angular-chart.js/examples/xy.html create mode 100644 www/lib/angular-chart.js/examples/xy.js create mode 100644 www/lib/angular-chart.js/gulpfile.js create mode 100644 www/lib/angular-chart.js/package.json create mode 100644 www/lib/angular-chart.js/test/fixtures/29-tabs.html create mode 100644 www/lib/angular-chart.js/test/fixtures/29-tabs.js create mode 100644 www/lib/angular-chart.js/test/fixtures/29-tabs.png create mode 100644 www/lib/angular-chart.js/test/fixtures/51-pie-update-colours.html create mode 100644 www/lib/angular-chart.js/test/fixtures/51-pie-update-colours.js create mode 100644 www/lib/angular-chart.js/test/fixtures/51-pie-update-colours.png create mode 100644 www/lib/angular-chart.js/test/fixtures/54-not-enough-colours.html create mode 100644 www/lib/angular-chart.js/test/fixtures/54-not-enough-colours.js create mode 100644 www/lib/angular-chart.js/test/fixtures/54-not-enough-colours.png create mode 100644 www/lib/angular-chart.js/test/fixtures/57-hex-colours.html create mode 100644 www/lib/angular-chart.js/test/fixtures/57-hex-colours.js create mode 100644 www/lib/angular-chart.js/test/fixtures/57-hex-colours.png create mode 100644 www/lib/angular-chart.js/test/fixtures/bubble.html create mode 100644 www/lib/angular-chart.js/test/fixtures/bubble.js create mode 100644 www/lib/angular-chart.js/test/fixtures/bubble.png create mode 100644 www/lib/angular-chart.js/test/fixtures/charts.html create mode 100644 www/lib/angular-chart.js/test/fixtures/charts.js create mode 100644 www/lib/angular-chart.js/test/fixtures/charts.png create mode 100644 www/lib/angular-chart.js/test/fixtures/configure-line-chart.html create mode 100644 www/lib/angular-chart.js/test/fixtures/configure-line-chart.js create mode 100644 www/lib/angular-chart.js/test/fixtures/configure-line-chart.png create mode 100644 www/lib/angular-chart.js/test/fixtures/coverage.js create mode 100644 www/lib/angular-chart.js/test/fixtures/custom-directive.html create mode 100644 www/lib/angular-chart.js/test/fixtures/custom-directive.js create mode 100644 www/lib/angular-chart.js/test/fixtures/custom-directive.png create mode 100644 www/lib/angular-chart.js/test/fixtures/dataset-override.html create mode 100644 www/lib/angular-chart.js/test/fixtures/dataset-override.js create mode 100644 www/lib/angular-chart.js/test/fixtures/dataset-override.png create mode 100644 www/lib/angular-chart.js/test/fixtures/horizontal-bar-chart.html create mode 100644 www/lib/angular-chart.js/test/fixtures/horizontal-bar-chart.js create mode 100644 www/lib/angular-chart.js/test/fixtures/horizontal-bar-chart.png create mode 100644 www/lib/angular-chart.js/test/index.html create mode 100644 www/lib/angular-chart.js/test/mocha.opts create mode 100644 www/lib/angular-chart.js/test/support/setup.js create mode 100644 www/lib/angular-chart.js/test/test.integration.js create mode 100644 www/lib/angular-chart.js/test/test.unit.js create mode 100644 www/lib/angular-chart.js/tmp/Dockerfile-alpine create mode 100644 www/lib/angular-chart.js/tmp/gradient.html create mode 100644 www/lib/angular-chart.js/tmp/gradient.js diff --git a/package.json b/package.json index accdff5..1cedb7b 100644 --- a/package.json +++ b/package.json @@ -3,11 +3,12 @@ "version": "1.1.1", "description": "IonicMaterialDesign: An Ionic project", "dependencies": { + "angular-chart.js": "^1.0.2", "gulp": "^3.5.6", - "gulp-sass": "^2.0.4", "gulp-concat": "^2.2.0", "gulp-minify-css": "^0.3.0", - "gulp-rename": "^1.2.0" + "gulp-rename": "^1.2.0", + "gulp-sass": "^2.0.4" }, "devDependencies": { "bower": "^1.3.3", diff --git a/www/css/custom_style.css b/www/css/custom_style.css index bebbffe..7d55cba 100644 --- a/www/css/custom_style.css +++ b/www/css/custom_style.css @@ -15,6 +15,21 @@ md-input-container { } +.divcenter { + margin-left: auto; + margin-right: auto; + display: block; +} + +/* Listenbackground */ +.listbackodd{ + background-color: #F5F5F5; +} + +.listbackeven{ + background-color: #FFFFFF; +} + .image-list-thumb { padding: 2px 2px 2px 2px; height: 64px; diff --git a/www/img/arrow_down.png b/www/img/arrow_down.png new file mode 100644 index 0000000000000000000000000000000000000000..3532f3f00f0883b088caf4e68b9246339be235b6 GIT binary patch literal 686 zcmV;f0#W^mP)I^;BoYY* zph{Fl7Xt`$FvBqP1`xCaaRdYq&-3CBz%)(0BOsYfDg(e}kgEU#U;tbN_+v=pPLRu> z?yta~Xoa<}0@^1*l@Y)IxC(F%;0WL{$N)6{7EmR;D$IRAh@x^;SorRjtM7R;+B&c@;FaS=1oCG-nxD!+$p~h?~l~M*^zu(hjGJ&*X7zP=J@vi&4 zTrNaJO8>6

#nV9LE6>MWT&H1Fq|?NTtkXGn7gt6pKaV^LYp%K27ASb1GE`f$?~Z z`)xW(-^1;8i*mUf*^|E4YPE{f>2%wp^b!D42ZI4JnM`EP+qRAS`Mex})Ox-CQpXF0 z!l$PmDF6WEI1aMeta9f&oemz&AyNQx|KD&pRObA0xqRw;qyVJ4uDfbBo1r=0Zntqh zpTA{0767Eq=X02*`77tA(T>mSqKYyi%#)a5&&6_F@MB0BtrK)M~YFId54O zerhMS0HlsaBjj?qhvjXxTH&`gVhup*$0XTmwGh_We*%E47U^^vi^T$AjvG|o0P{|K U7NqstT%hDiQFl2)~WJnBo2;ReoW#d@LX&d7rskeLLSP`QNCvkVt!Db;+=kxm2GUL z#2yh95KM7ENCFxMtdc7U9A{%PGy4iP&0pj%8A#?{EN!rm->$5QSs|0}xXJNbS+i;4(_ILcDZ-n-j8E{RDSYk + + diff --git a/www/js/app.js b/www/js/app.js index 7ea921e..6bdff46 100644 --- a/www/js/app.js +++ b/www/js/app.js @@ -39,7 +39,7 @@ window.globalVariable = { };// End Global variable -angular.module('starter', ['ionic','ngIOS9UIWebViewPatch','starter.controllers', 'starter.services', 'ngMaterial', 'ngMessages', 'ngCordova']) +angular.module('starter', ['ionic','ngIOS9UIWebViewPatch','starter.controllers', 'starter.services', 'ngMaterial', 'ngMessages', 'ngCordova','chart.js']) .run(function ($ionicPlatform, $cordovaSQLite, $rootScope, $ionicHistory, $state, $mdDialog, $mdBottomSheet) { //Create database table of contracts by using sqlite database. diff --git a/www/lib/angular-chart.js/.codeclimate.yml b/www/lib/angular-chart.js/.codeclimate.yml new file mode 100644 index 0000000..c41c0fa --- /dev/null +++ b/www/lib/angular-chart.js/.codeclimate.yml @@ -0,0 +1,10 @@ +languages: + Ruby: false + JavaScript: true + PHP: false +exclude_paths: +- "dist/*" +- "node_modules/*" +- "gulpfile.js" +- "examples/*" +- "test/fixtures/coverage.js" diff --git a/www/lib/angular-chart.js/.dockerignore b/www/lib/angular-chart.js/.dockerignore new file mode 100644 index 0000000..b509c88 --- /dev/null +++ b/www/lib/angular-chart.js/.dockerignore @@ -0,0 +1,2 @@ +coverage/ +node_modules/ diff --git a/www/lib/angular-chart.js/.editorconfig b/www/lib/angular-chart.js/.editorconfig new file mode 100644 index 0000000..8565360 --- /dev/null +++ b/www/lib/angular-chart.js/.editorconfig @@ -0,0 +1,18 @@ +# This file is for unifying the coding style for different editors and IDEs +# editorconfig.org + +root = true + +[*] +end_of_line = lf +charset = utf-8 +trim_trailing_whitespace = true +insert_final_newline = true + +# Tabs in JS unless otherwise specified +[**.js] +indent_style = space +indent_size = 2 + +[*.md] +trim_trailing_whitespace = false \ No newline at end of file diff --git a/www/lib/angular-chart.js/.jscsrc b/www/lib/angular-chart.js/.jscsrc new file mode 100644 index 0000000..c2c7e3c --- /dev/null +++ b/www/lib/angular-chart.js/.jscsrc @@ -0,0 +1,82 @@ +{ + "requireCurlyBraces": [ + "try", + "catch", + "do" + ], + "requireCamelCaseOrUpperCaseIdentifiers": "ignoreProperties", + "requireCapitalizedConstructors": true, + "maximumLineLength": { + "value": 120, + "allowComments": true, + "allowRegex": true + }, + "validateIndentation": 2, + "validateQuoteMarks": "'", + + "disallowMultipleLineStrings": true, + "disallowMixedSpacesAndTabs": true, + "disallowTrailingWhitespace": true, + "disallowQuotedKeysInObjects": true, + "disallowSpaceAfterObjectKeys": true, + + "requireSpaceAfterKeywords": [ + "if", + "else", + "for", + "while", + "do", + "switch", + "return", + "try", + "catch", + "function", + "typeof" + ], + "requireSpaceBeforeBinaryOperators": [ + "=", "+=", "-=", "*=", "/=", "%=", "<<=", ">>=", ">>>=", + "&=", "|=", "^=", "+=", + + "+", "-", "*", "/", "%", "<<", ">>", ">>>", "&", + "|", "^", "&&", "||", "===", "==", ">=", + "<=", "<", ">", "!=", "!==" + ], + "requireSpaceAfterPrefixUnaryOperators": [ + "!" + ], + "requireSpacesInConditionalExpression": true, + "requireSpaceBeforeBlockStatements": true, + "requireSpacesInForStatement": true, + "requireLineFeedAtFileEnd": true, + "requireSpacesInFunctionExpression": { + "beforeOpeningCurlyBrace": true, + "beforeOpeningRoundBrace": true + }, + "requireSpacesInFunctionDeclaration": { + "beforeOpeningCurlyBrace": true, + "beforeOpeningRoundBrace": true + }, + "requireDotNotation": true, + "disallowSpacesInsideArrayBrackets": "all", + "disallowSpacesInsideParentheses": true, + + + "validateJSDoc": { + "checkParamNames": true, + "requireParamTypes": true + }, + + "disallowMultipleLineBreaks": true, + "disallowNewlineBeforeBlockStatements": true, + "disallowKeywords": [ "with" ], + + "excludeFiles": [ + "node_modules/**", + "dist/**", + "coverage/**", + "examples/bundle.js", + "examples/commonjs.bundle.js", + "examples/smoothscroll.min.js", + "test/fixtures/coverage.js" + ] +} diff --git a/www/lib/angular-chart.js/.jshintignore b/www/lib/angular-chart.js/.jshintignore new file mode 100644 index 0000000..283d79d --- /dev/null +++ b/www/lib/angular-chart.js/.jshintignore @@ -0,0 +1,9 @@ +node_modules/ +dist/ +tmp/ +examples/bundle.js +examples/commonjs.bundle.js +examples/smoothscroll.min.js +coverage/ +test/fixtures/coverage.js + diff --git a/www/lib/angular-chart.js/.jshintrc b/www/lib/angular-chart.js/.jshintrc new file mode 100644 index 0000000..cd570bb --- /dev/null +++ b/www/lib/angular-chart.js/.jshintrc @@ -0,0 +1,24 @@ +{ + "strict" : true, // true: Requires all functions run in ES5 Strict Mode + "undef" : true, // true: Require all non-global variables to be declared (prevents global leaks) + "unused" : true, // true: Require all defined variables be used + "noempty" : true, // Prohibit use of empty blocks + "trailing" : true, // Prohibit trailing whitespaces. + "white" : false, // Check against strict whitespace and indentation rules. + "indent" : 2, // {int} Number of spaces to use for indentation + "maxcomplexity" : 10, // {int} Max number for cyclomatic complexity + "maxdepth" : 2, // {int} Max number for nesting blocks + "newcap" : true, // true: Require capitalization of all constructor functions e.g. `new F()` + "quotmark" : "single", // Quotation mark consistency + "-W058" : true, // Missing '()' invoking a constructor + "browser" : true, // Standard browser globals e.g. `window`, `document`. + "predef" : [ // Custom globals. + "angular", + "G_vmlCanvasManager", + "require", + "console", + "Chart", + "define", + "module" + ] +} diff --git a/www/lib/angular-chart.js/.node-version b/www/lib/angular-chart.js/.node-version new file mode 100644 index 0000000..9e3a933 --- /dev/null +++ b/www/lib/angular-chart.js/.node-version @@ -0,0 +1 @@ +4.4.3 diff --git a/www/lib/angular-chart.js/.npmignore b/www/lib/angular-chart.js/.npmignore new file mode 100644 index 0000000..2421b1d --- /dev/null +++ b/www/lib/angular-chart.js/.npmignore @@ -0,0 +1,6 @@ +.idea/ +node_modules/ +test/fixtures/shots/ +coverage/ +examples/bundle.js +examples/commonjs.bundle.js diff --git a/www/lib/angular-chart.js/.travis.yml b/www/lib/angular-chart.js/.travis.yml new file mode 100644 index 0000000..e8a9c96 --- /dev/null +++ b/www/lib/angular-chart.js/.travis.yml @@ -0,0 +1,19 @@ +sudo: required +services: +- docker +install: +- docker build -t jtblin/angular-chart.js . +script: +- docker run --name angular-chart.js -it -e REPORTER=$REPORTER -e CODECLIMATE_REPO_TOKEN=$CODECLIMATE_REPO_TOKEN -e CI=$CI -e TOLERANCE=$TOLERANCE -e DELAY=$DELAY -e IMGUR_ID=$IMGUR_ID jtblin/angular-chart.js +after_success: +- docker start angular-chart.js +- docker exec -it angular-chart.js npm run codeclimate +after_script: +- docker stop angular-chart.js ||true +- docker rm angular-chart.js +env: + global: + - secure: YWABlINoIkwl9RFLOW9G0lATEP3aiXXi+DS6TWfvQWWG/jkS5sn7IqWC2U67LjwQ0lDg0yevo3ZD7FyYQ5lr8AVuScAZ6P2o2dm9t/HBKGTG4u016dxbWWYVZ8MAlKT7TfjVD8iDzcWyZedsbpuyaNNp4pGr/CNcvq7TGdJLNkU= + - CI=1 + - REPORTER=list + - TOLERANCE=0.001 diff --git a/www/lib/angular-chart.js/CONTRIBUTING.md b/www/lib/angular-chart.js/CONTRIBUTING.md new file mode 100644 index 0000000..3f2f6b2 --- /dev/null +++ b/www/lib/angular-chart.js/CONTRIBUTING.md @@ -0,0 +1,9 @@ +### Contributing + +1. Create an issue +1. Fork the repo +1. Install dependencies: `npm install` and `bower install` +1. Make your changes +1. Install [GraphicsMagick](http://www.graphicsmagick.org/) +1. Run linter and tests: `gulp check` +1. Submit pull request diff --git a/www/lib/angular-chart.js/Dockerfile b/www/lib/angular-chart.js/Dockerfile new file mode 100644 index 0000000..267c61b --- /dev/null +++ b/www/lib/angular-chart.js/Dockerfile @@ -0,0 +1,7 @@ +FROM jtblin/debian-node-graphicsmagick:stretch-node-v4.4.7-gm-v1.3.24 +WORKDIR /src +ADD . ./ +RUN chown -R node:node /src +USER node +RUN npm install +CMD ["npm", "test"] diff --git a/www/lib/angular-chart.js/ISSUE_TEMPLATE.md b/www/lib/angular-chart.js/ISSUE_TEMPLATE.md new file mode 100644 index 0000000..8bc7953 --- /dev/null +++ b/www/lib/angular-chart.js/ISSUE_TEMPLATE.md @@ -0,0 +1,39 @@ + + +### Overview + +Describe the issue. What is the issue and what did you expect? + +Please make sure to review and check all of these items: + +- [ ] Use latest version of the library +- [ ] Make sure you've included all the dependencies e.g Chart.js, angular, etc. +- [ ] Include a repro case, see below. + + +### Step to reproduce + +**Ensure you add a link to a plunker, jsbin, or equivalent. Issues without repro steps may be closed immediately.** + +Here is a [jsbin template for 0.x version](http://jsbin.com/cucoqe/1/edit?html,js,output) and [one for 1.x](http://jsbin.com/rodunob/edit?html,js,output) for convenience. + + diff --git a/www/lib/angular-chart.js/LICENSE b/www/lib/angular-chart.js/LICENSE new file mode 100644 index 0000000..f3bd714 --- /dev/null +++ b/www/lib/angular-chart.js/LICENSE @@ -0,0 +1,27 @@ +Copyright (c) Jerome Touffe-Blin ("Author") +All rights reserved. + +The BSD License + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS +BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR +BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE +OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN +IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. \ No newline at end of file diff --git a/www/lib/angular-chart.js/PULL_REQUEST_TEMPLATE.md b/www/lib/angular-chart.js/PULL_REQUEST_TEMPLATE.md new file mode 100644 index 0000000..a650830 --- /dev/null +++ b/www/lib/angular-chart.js/PULL_REQUEST_TEMPLATE.md @@ -0,0 +1,15 @@ + + +### Description of change + + + +### Pull Request check-list + +- [ ] Run `gulp test` to ensure there are no linting, or style issues and all tests pass. +- [ ] Squash your commits into a few commits only. +- [ ] Make sure the commit message is short, concise and descriptive of the issues you're fixing. +- [ ] Avoid mixing up multiple issues and/or features, open one pull request for each issue. +- [ ] Have you updated the documentation and / or examples? +- [ ] Have you included a new test? diff --git a/www/lib/angular-chart.js/README.md b/www/lib/angular-chart.js/README.md new file mode 100644 index 0000000..6c7e340 --- /dev/null +++ b/www/lib/angular-chart.js/README.md @@ -0,0 +1,249 @@ +# angular-chart.js + +[![Bower version](https://badge.fury.io/bo/angular-chart.js.svg)](http://badge.fury.io/bo/angular-chart.js) +[![npm version](https://badge.fury.io/js/angular-chart.js.svg)](http://badge.fury.io/js/angular-chart.js) +[![Build Status](https://travis-ci.org/jtblin/angular-chart.js.svg?branch=master)](https://travis-ci.org/jtblin/angular-chart.js) +[![Codacy Badge](https://api.codacy.com/project/badge/grade/6aa5ba92f4984a24874e5976ee541623)](https://www.codacy.com/app/jtblin/angular-chart-js) +[![Code Coverage](https://d3s6mut3hikguw.cloudfront.net/github/jtblin/angular-chart.js/badges/coverage.svg)](https://codeclimate.com/github/jtblin/angular-chart.js) +[![npm](https://img.shields.io/npm/dm/angular-chart.js.svg?maxAge=2592000)](https://www.npmjs.com/package/angular-chart.js) + +Beautiful, reactive, responsive charts for Angular.JS using [Chart.js](http://www.chartjs.org/). + +Have a look at the [demo site](http://jtblin.github.io/angular-chart.js/) to see examples with detailed markup, +script and options. + +# Installation + +This is the `1.x` branch which requires Chart.js 2.x version. Following semantic versioning, +there are numerous **breaking changes** since 0.x, notably: + +* all options now need to use the `chart-` prefix +* `chart-colours` is now `chart-colors` and `chart-get-colour` is now `chart-get-color` +* chart types are in `camelCase` e.g. `line` and `polarArea` +* legend is now a Chart.js option so the `chart-legend` attribute has been removed +* events emitted on creation and update are now prefixed with `chart-` e.g. `chart-create` +* `$scope.$apply` is not called anymore on mouse hover functions calls +* obviously all Chart.js breaking changes as well in how options are set, etc. +* disabling the `responsive` option doesn't work via global `Chart.defaults.global.responsive` anymore, +but must be set via standard options e.g. `ChartJsProvider.setOptions({ responsive: false });` +* factory now returns a module name instead of a module instance + +### npm + + npm install --save angular-chart.js + +### cdn + + //cdn.jsdelivr.net/angular.chartjs/latest/angular-chart.min.js + +### bower + +Bower support has been dropped in Chart.js since version 2.2.0 but you can still use it with Bower thanks to bower-npm-resolver if needed but using npm is preferred. + +First, add the resolver in your .bowerrc file: + + { + "resolvers": [ + "bower-npm-resolver" + ] + } + +Then: + + npm install -g bower-npm-resolver + bower install --save angular-chart.js + +### manually + +or copy the files from `dist/`. + +Then add the sources to your code (adjust paths as needed) after +adding the dependencies for Angular and Chart.js first: + +```html + + ... + + + ... + + + + +``` + +# Utilisation + +There are 8 types of charts so 8 directives: `chart-line`, `chart-bar`, `chart-horizontal-bar`, `chart-radar`, +`chart-pie`, `chart-polar-area`, `chart-doughnut`, `chart-bubble`. + +Here are the options for all directives: + +- `chart-data`: series data +- `chart-labels`: x axis labels (line, bar, horizontal bar, radar, bubble) or series labels (pie, doughnut, polar area) +- `chart-options`: chart options (as from [Chart.js documentation](http://www.chartjs.org/docs/)) +- `chart-series`: (default: `[]`): series labels (line, bar, radar) +- `chart-colors`: data colors (will use default colors if not specified) +- `chart-get-color`: function that returns a color in case there are not enough (will use random colors if not specified) +- `chart-click`: onclick event handler +- `chart-hover`: onmousemove event handler +- `chart-dataset-override`: override individual datasets to allow per dataset configuration e.g. y-axis, mixed type chart + +There is another directive `chart-base` that takes an extra attribute `chart-type` to define the type +dynamically. + +You can create mixed type chart using the `chart-dataset-override`, see +[bar-line example](http://jtblin.github.io/angular-chart.js/examples/dataset-override.html). + +See also [stacked bar example](http://jtblin.github.io/angular-chart.js/examples/stacked-bars.html). + +# Example + +## Markup + +```html + +``` + +## Javascript + +```javascript +angular.module("app", ["chart.js"]) + // Optional configuration + .config(['ChartJsProvider', function (ChartJsProvider) { + // Configure all charts + ChartJsProvider.setOptions({ + chartColors: ['#FF5252', '#FF8A80'], + responsive: false + }); + // Configure all line charts + ChartJsProvider.setOptions('line', { + showLines: false + }); + }]) + .controller("LineCtrl", ['$scope', '$timeout', function ($scope, $timeout) { + + $scope.labels = ["January", "February", "March", "April", "May", "June", "July"]; + $scope.series = ['Series A', 'Series B']; + $scope.data = [ + [65, 59, 80, 81, 56, 55, 40], + [28, 48, 40, 19, 86, 27, 90] + ]; + $scope.onClick = function (points, evt) { + console.log(points, evt); + }; + + // Simulate async data update + $timeout(function () { + $scope.data = [ + [28, 48, 40, 19, 86, 27, 90], + [65, 59, 80, 81, 56, 55, 40] + ]; + }, 3000); +}]); +``` + +## AMD RequireJS + +See [a simple AMD example](examples/amd.js) + +## CommonJS e.g. webpack + +Module should work with CommonJS out of the box e.g. [browserify](http://browserify.org/) or +[webpack](http://webpack.github.io/), see a [webpack example](examples/webpack.commonjs.js). + +# Reactive + +angular-chart.js watch updates on data, series, labels, colors and options and will update, or destroy and recreate, +the chart on changes. + +# Events + +angular-chart.js listens to the following events on the `scope` and acts accordingly: + +* `$destroy`: call `.destroy()` on the chart +* `$resize`: call `.resize()` on the chart + +angular-chart.js emits the following events on the `scope` and pass the chart as argument: + +* `chart-create`: when chart is created +* `chart-update`: when chart is updated +* `chart-destroy`: when chart is destroyed + +``` +$scope.$on('chart-create', function (evt, chart) { + console.log(chart); +}); +``` + +**Note**: the event can be emitted multiple times for each chart as the chart can be destroyed and +created multiple times during angular `watch` lifecycle. + +angular-chart.js listens to the scope `$destroy` event and destroys the chart when it happens. + +# Colors + +There are a set of 7 default colors. Colors can be replaced using the `colors` attribute. +If there is more data than colors, colors are generated randomly or can be provided +via a function through the `getColor` attribute. + +Hex colors are converted to Chart.js colors automatically, +including different shades for highlight, fill, stroke, etc. + +## Browser compatibility + +For IE8 and older browsers, you will need +to include [excanvas](https://code.google.com/p/explorercanvas/wiki/Instructions). +You will also need a [shim](https://github.com/es-shims/es5-shim) for ES5 functions. + +You also need to have ```height``` and ```width``` attributes for the `````` tag of your chart +if using IE8 and older browsers. If you *do not* have these attributes, you will need a +[getComputedStyle shim](https://github.com/Financial-Times/polyfill-service/blob/master/polyfills/getComputedStyle/polyfill.js) +and the line ```document.defaultView = window;```, but there still may be errors (due to code in Chart.js). + +```html + + + +``` + +# Issues + +**Issues or feature requests for Chart.js (e.g. new chart type, new axis, etc.) need to be opened on +[Chart.js issues tracker](https://github.com/nnnick/Chart.js/issues)** + +**For general questions about usage, please use [http://stackoverflow.com/](http://stackoverflow.com/)** + +Please check if issue exists first, otherwise open issue in [github](https://github.com/jtblin/angular-chart.js/issues). +**Ensure you add a link to a plunker, jsbin, or equivalent.** + +Here is a [jsbin template](http://jsbin.com/rodunob/edit?html,js,output) for convenience. + +# v0.x - Chart.js v1.x - deprecated + +This is the deprecated version of angular-chart.js that uses the v1.x version of Chart.js. +If you want to use this version, please checkout the +[chartjs-1.x branch](https://github.com/jtblin/angular-chart.js/tree/chartjs-1.x) + +# Contributing + +Pull requests welcome! + +See [CONTRIBUTING.md](CONTRIBUTING.md). + +## Contributors + +Thank you to the [contributors](https://github.com/jtblin/angular-chart.js/graphs/contributors)! + +# Author + +Jerome Touffe-Blin, [@jtblin](https://twitter.com/jtblin), [About me](http://about.me/jtblin) + +# License + +angular-chart.js is copyright 2016 Jerome Touffe-Blin and contributors. +It is licensed under the BSD license. See the include LICENSE file for details. diff --git a/www/lib/angular-chart.js/angular-chart.js b/www/lib/angular-chart.js/angular-chart.js new file mode 100644 index 0000000..12c4d32 --- /dev/null +++ b/www/lib/angular-chart.js/angular-chart.js @@ -0,0 +1,365 @@ +(function (factory) { + 'use strict'; + if (typeof exports === 'object') { + // Node/CommonJS + module.exports = factory( + typeof angular !== 'undefined' ? angular : require('angular'), + typeof Chart !== 'undefined' ? Chart : require('chart.js')); + } else if (typeof define === 'function' && define.amd) { + // AMD. Register as an anonymous module. + define(['angular', 'chart'], factory); + } else { + // Browser globals + if (typeof angular === 'undefined' || typeof Chart === 'undefined') + throw new Error('Chart.js library needs to be included, see http://jtblin.github.io/angular-chart.js/'); + factory(angular, Chart); + } +}(function (angular, Chart) { + 'use strict'; + + Chart.defaults.global.multiTooltipTemplate = '<%if (datasetLabel){%><%=datasetLabel%>: <%}%><%= value %>'; + Chart.defaults.global.tooltips.mode = 'label'; + Chart.defaults.global.elements.line.borderWidth = 2; + Chart.defaults.global.elements.rectangle.borderWidth = 2; + Chart.defaults.global.legend.display = false; + Chart.defaults.global.colors = [ + '#97BBCD', // blue + '#DCDCDC', // light grey + '#F7464A', // red + '#46BFBD', // green + '#FDB45C', // yellow + '#949FB1', // grey + '#4D5360' // dark grey + ]; + + var useExcanvas = typeof window.G_vmlCanvasManager === 'object' && + window.G_vmlCanvasManager !== null && + typeof window.G_vmlCanvasManager.initElement === 'function'; + + if (useExcanvas) Chart.defaults.global.animation = false; + + return angular.module('chart.js', []) + .provider('ChartJs', ChartJsProvider) + .factory('ChartJsFactory', ['ChartJs', '$timeout', ChartJsFactory]) + .directive('chartBase', ['ChartJsFactory', function (ChartJsFactory) { return new ChartJsFactory(); }]) + .directive('chartLine', ['ChartJsFactory', function (ChartJsFactory) { return new ChartJsFactory('line'); }]) + .directive('chartBar', ['ChartJsFactory', function (ChartJsFactory) { return new ChartJsFactory('bar'); }]) + .directive('chartHorizontalBar', ['ChartJsFactory', function (ChartJsFactory) { return new ChartJsFactory('horizontalBar'); }]) + .directive('chartRadar', ['ChartJsFactory', function (ChartJsFactory) { return new ChartJsFactory('radar'); }]) + .directive('chartDoughnut', ['ChartJsFactory', function (ChartJsFactory) { return new ChartJsFactory('doughnut'); }]) + .directive('chartPie', ['ChartJsFactory', function (ChartJsFactory) { return new ChartJsFactory('pie'); }]) + .directive('chartPolarArea', ['ChartJsFactory', function (ChartJsFactory) { return new ChartJsFactory('polarArea'); }]) + .directive('chartBubble', ['ChartJsFactory', function (ChartJsFactory) { return new ChartJsFactory('bubble'); }]) + .name; + + /** + * Wrapper for chart.js + * Allows configuring chart js using the provider + * + * angular.module('myModule', ['chart.js']).config(function(ChartJsProvider) { + * ChartJsProvider.setOptions({ responsive: false }); + * ChartJsProvider.setOptions('Line', { responsive: true }); + * }))) + */ + function ChartJsProvider () { + var options = { responsive: true }; + var ChartJs = { + Chart: Chart, + getOptions: function (type) { + var typeOptions = type && options[type] || {}; + return angular.extend({}, options, typeOptions); + } + }; + + /** + * Allow to set global options during configuration + */ + this.setOptions = function (type, customOptions) { + // If no type was specified set option for the global object + if (! customOptions) { + customOptions = type; + options = angular.extend(options, customOptions); + return; + } + // Set options for the specific chart + options[type] = angular.extend(options[type] || {}, customOptions); + }; + + this.$get = function () { + return ChartJs; + }; + } + + function ChartJsFactory (ChartJs, $timeout) { + return function chart (type) { + return { + restrict: 'CA', + scope: { + chartGetColor: '=?', + chartType: '=', + chartData: '=?', + chartLabels: '=?', + chartOptions: '=?', + chartSeries: '=?', + chartColors: '=?', + chartClick: '=?', + chartHover: '=?', + chartDatasetOverride: '=?' + }, + link: function (scope, elem/*, attrs */) { + if (useExcanvas) window.G_vmlCanvasManager.initElement(elem[0]); + + // Order of setting "watch" matter + scope.$watch('chartData', watchData, true); + scope.$watch('chartSeries', watchOther, true); + scope.$watch('chartLabels', watchOther, true); + scope.$watch('chartOptions', watchOther, true); + scope.$watch('chartColors', watchOther, true); + scope.$watch('chartDatasetOverride', watchOther, true); + scope.$watch('chartType', watchType, false); + + scope.$on('$destroy', function () { + destroyChart(scope); + }); + + scope.$on('$resize', function () { + if (scope.chart) scope.chart.resize(); + }); + + function watchData (newVal, oldVal) { + if (! newVal || ! newVal.length || (Array.isArray(newVal[0]) && ! newVal[0].length)) { + destroyChart(scope); + return; + } + var chartType = type || scope.chartType; + if (! chartType) return; + + if (scope.chart && canUpdateChart(newVal, oldVal)) + return updateChart(newVal, scope); + + createChart(chartType, scope, elem); + } + + function watchOther (newVal, oldVal) { + if (isEmpty(newVal)) return; + if (angular.equals(newVal, oldVal)) return; + var chartType = type || scope.chartType; + if (! chartType) return; + + // chart.update() doesn't work for series and labels + // so we have to re-create the chart entirely + createChart(chartType, scope, elem); + } + + function watchType (newVal, oldVal) { + if (isEmpty(newVal)) return; + if (angular.equals(newVal, oldVal)) return; + createChart(newVal, scope, elem); + } + } + }; + }; + + function createChart (type, scope, elem) { + var options = getChartOptions(type, scope); + if (! hasData(scope) || ! canDisplay(type, scope, elem, options)) return; + + var cvs = elem[0]; + var ctx = cvs.getContext('2d'); + + scope.chartGetColor = getChartColorFn(scope); + var data = getChartData(type, scope); + + // Destroy old chart if it exists to avoid ghost charts issue + // https://github.com/jtblin/angular-chart.js/issues/187 + destroyChart(scope); + + scope.chart = new ChartJs.Chart(ctx, { + type: type, + data: data, + options: options + }); + scope.$emit('chart-create', scope.chart); + bindEvents(cvs, scope); + } + + function canUpdateChart (newVal, oldVal) { + if (newVal && oldVal && newVal.length && oldVal.length) { + return Array.isArray(newVal[0]) ? + newVal.length === oldVal.length && newVal.every(function (element, index) { + return element.length === oldVal[index].length; }) : + oldVal.reduce(sum, 0) > 0 ? newVal.length === oldVal.length : false; + } + return false; + } + + function sum (carry, val) { + return carry + val; + } + + function getEventHandler (scope, action, triggerOnlyOnChange) { + var lastState = null; + return function (evt) { + var atEvent = scope.chart.getElementsAtEvent || scope.chart.getPointsAtEvent; + if (atEvent) { + var activePoints = atEvent.call(scope.chart, evt); + if (triggerOnlyOnChange === false || angular.equals(lastState, activePoints) === false) { + lastState = activePoints; + scope[action](activePoints, evt); + } + } + }; + } + + function getColors (type, scope) { + var colors = angular.copy(scope.chartColors || + ChartJs.getOptions(type).chartColors || + Chart.defaults.global.colors + ); + var notEnoughColors = colors.length < scope.chartData.length; + while (colors.length < scope.chartData.length) { + colors.push(scope.chartGetColor()); + } + // mutate colors in this case as we don't want + // the colors to change on each refresh + if (notEnoughColors) scope.chartColors = colors; + return colors.map(convertColor); + } + + function convertColor (color) { + if (typeof color === 'object' && color !== null) return color; + if (typeof color === 'string' && color[0] === '#') return getColor(hexToRgb(color.substr(1))); + return getRandomColor(); + } + + function getRandomColor () { + var color = [getRandomInt(0, 255), getRandomInt(0, 255), getRandomInt(0, 255)]; + return getColor(color); + } + + function getColor (color) { + return { + backgroundColor: rgba(color, 0.2), + pointBackgroundColor: rgba(color, 1), + pointHoverBackgroundColor: rgba(color, 0.8), + borderColor: rgba(color, 1), + pointBorderColor: '#fff', + pointHoverBorderColor: rgba(color, 1) + }; + } + + function getRandomInt (min, max) { + return Math.floor(Math.random() * (max - min + 1)) + min; + } + + function rgba (color, alpha) { + // rgba not supported by IE8 + return useExcanvas ? 'rgb(' + color.join(',') + ')' : 'rgba(' + color.concat(alpha).join(',') + ')'; + } + + // Credit: http://stackoverflow.com/a/11508164/1190235 + function hexToRgb (hex) { + var bigint = parseInt(hex, 16), + r = (bigint >> 16) & 255, + g = (bigint >> 8) & 255, + b = bigint & 255; + + return [r, g, b]; + } + + function hasData (scope) { + return scope.chartData && scope.chartData.length; + } + + function getChartColorFn (scope) { + return typeof scope.chartGetColor === 'function' ? scope.chartGetColor : getRandomColor; + } + + function getChartData (type, scope) { + var colors = getColors(type, scope); + return Array.isArray(scope.chartData[0]) ? + getDataSets(scope.chartLabels, scope.chartData, scope.chartSeries || [], colors, scope.chartDatasetOverride) : + getData(scope.chartLabels, scope.chartData, colors, scope.chartDatasetOverride); + } + + function getDataSets (labels, data, series, colors, datasetOverride) { + return { + labels: labels, + datasets: data.map(function (item, i) { + var dataset = angular.extend({}, colors[i], { + label: series[i], + data: item + }); + if (datasetOverride && datasetOverride.length >= i) { + angular.merge(dataset, datasetOverride[i]); + } + return dataset; + }) + }; + } + + function getData (labels, data, colors, datasetOverride) { + var dataset = { + labels: labels, + datasets: [{ + data: data, + backgroundColor: colors.map(function (color) { + return color.pointBackgroundColor; + }), + hoverBackgroundColor: colors.map(function (color) { + return color.backgroundColor; + }) + }] + }; + if (datasetOverride) { + angular.merge(dataset.datasets[0], datasetOverride); + } + return dataset; + } + + function getChartOptions (type, scope) { + return angular.extend({}, ChartJs.getOptions(type), scope.chartOptions); + } + + function bindEvents (cvs, scope) { + cvs.onclick = scope.chartClick ? getEventHandler(scope, 'chartClick', false) : angular.noop; + cvs.onmousemove = scope.chartHover ? getEventHandler(scope, 'chartHover', true) : angular.noop; + } + + function updateChart (values, scope) { + if (Array.isArray(scope.chartData[0])) { + scope.chart.data.datasets.forEach(function (dataset, i) { + dataset.data = values[i]; + }); + } else { + scope.chart.data.datasets[0].data = values; + } + + scope.chart.update(); + scope.$emit('chart-update', scope.chart); + } + + function isEmpty (value) { + return ! value || + (Array.isArray(value) && ! value.length) || + (typeof value === 'object' && ! Object.keys(value).length); + } + + function canDisplay (type, scope, elem, options) { + // TODO: check parent? + if (options.responsive && elem[0].clientHeight === 0) { + $timeout(function () { + createChart(type, scope, elem); + }, 50, false); + return false; + } + return true; + } + + function destroyChart(scope) { + if(! scope.chart) return; + scope.chart.destroy(); + scope.$emit('chart-destroy', scope.chart); + } + } +})); diff --git a/www/lib/angular-chart.js/bower.json b/www/lib/angular-chart.js/bower.json new file mode 100644 index 0000000..1faa433 --- /dev/null +++ b/www/lib/angular-chart.js/bower.json @@ -0,0 +1,51 @@ +{ + "name": "angular-chart.js", + "version": "1.0.2", + "main": [ + "./dist/angular-chart.js" + ], + "authors": [ + "Jerome Touffe-Blin " + ], + "repository": { + "type": "git", + "url": "git://github.com/jtblin/angular-chart.js.git" + }, + "description": "An angular.js wrapper for Chart.js - reactive, responsive, beautiful charts.", + "moduleType": [ + "globals" + ], + "keywords": [ + "angular", + "angular.js", + "chartjs", + "chart", + "reactive", + "responsive", + "graph", + "bar", + "line", + "area", + "donut" + ], + "license": "BSD", + "ignore": [ + "**/.*", + "node_modules", + "bower_components", + "examples", + "test", + "tests" + ], + "dependencies": { + "angular": "1.x", + "chart.js": "npm:chart.js#2.x" + }, + "overrides" : { + "chart.js": { + "main": [ + "dist/Chart.bundle.min.js" + ] + } + } +} diff --git a/www/lib/angular-chart.js/dist/angular-chart.js b/www/lib/angular-chart.js/dist/angular-chart.js new file mode 100644 index 0000000..2368304 --- /dev/null +++ b/www/lib/angular-chart.js/dist/angular-chart.js @@ -0,0 +1,374 @@ +/*! + * angular-chart.js - An angular.js wrapper for Chart.js + * http://jtblin.github.io/angular-chart.js/ + * Version: 1.0.2 + * + * Copyright 2016 Jerome Touffe-Blin + * Released under the BSD-2-Clause license + * https://github.com/jtblin/angular-chart.js/blob/master/LICENSE + */ +(function (factory) { + 'use strict'; + if (typeof exports === 'object') { + // Node/CommonJS + module.exports = factory( + typeof angular !== 'undefined' ? angular : require('angular'), + typeof Chart !== 'undefined' ? Chart : require('chart.js')); + } else if (typeof define === 'function' && define.amd) { + // AMD. Register as an anonymous module. + define(['angular', 'chart'], factory); + } else { + // Browser globals + if (typeof angular === 'undefined' || typeof Chart === 'undefined') + throw new Error('Chart.js library needs to be included, see http://jtblin.github.io/angular-chart.js/'); + factory(angular, Chart); + } +}(function (angular, Chart) { + 'use strict'; + + Chart.defaults.global.multiTooltipTemplate = '<%if (datasetLabel){%><%=datasetLabel%>: <%}%><%= value %>'; + Chart.defaults.global.tooltips.mode = 'label'; + Chart.defaults.global.elements.line.borderWidth = 2; + Chart.defaults.global.elements.rectangle.borderWidth = 2; + Chart.defaults.global.legend.display = false; + Chart.defaults.global.colors = [ + '#97BBCD', // blue + '#DCDCDC', // light grey + '#F7464A', // red + '#46BFBD', // green + '#FDB45C', // yellow + '#949FB1', // grey + '#4D5360' // dark grey + ]; + + var useExcanvas = typeof window.G_vmlCanvasManager === 'object' && + window.G_vmlCanvasManager !== null && + typeof window.G_vmlCanvasManager.initElement === 'function'; + + if (useExcanvas) Chart.defaults.global.animation = false; + + return angular.module('chart.js', []) + .provider('ChartJs', ChartJsProvider) + .factory('ChartJsFactory', ['ChartJs', '$timeout', ChartJsFactory]) + .directive('chartBase', ['ChartJsFactory', function (ChartJsFactory) { return new ChartJsFactory(); }]) + .directive('chartLine', ['ChartJsFactory', function (ChartJsFactory) { return new ChartJsFactory('line'); }]) + .directive('chartBar', ['ChartJsFactory', function (ChartJsFactory) { return new ChartJsFactory('bar'); }]) + .directive('chartHorizontalBar', ['ChartJsFactory', function (ChartJsFactory) { return new ChartJsFactory('horizontalBar'); }]) + .directive('chartRadar', ['ChartJsFactory', function (ChartJsFactory) { return new ChartJsFactory('radar'); }]) + .directive('chartDoughnut', ['ChartJsFactory', function (ChartJsFactory) { return new ChartJsFactory('doughnut'); }]) + .directive('chartPie', ['ChartJsFactory', function (ChartJsFactory) { return new ChartJsFactory('pie'); }]) + .directive('chartPolarArea', ['ChartJsFactory', function (ChartJsFactory) { return new ChartJsFactory('polarArea'); }]) + .directive('chartBubble', ['ChartJsFactory', function (ChartJsFactory) { return new ChartJsFactory('bubble'); }]) + .name; + + /** + * Wrapper for chart.js + * Allows configuring chart js using the provider + * + * angular.module('myModule', ['chart.js']).config(function(ChartJsProvider) { + * ChartJsProvider.setOptions({ responsive: false }); + * ChartJsProvider.setOptions('Line', { responsive: true }); + * }))) + */ + function ChartJsProvider () { + var options = { responsive: true }; + var ChartJs = { + Chart: Chart, + getOptions: function (type) { + var typeOptions = type && options[type] || {}; + return angular.extend({}, options, typeOptions); + } + }; + + /** + * Allow to set global options during configuration + */ + this.setOptions = function (type, customOptions) { + // If no type was specified set option for the global object + if (! customOptions) { + customOptions = type; + options = angular.extend(options, customOptions); + return; + } + // Set options for the specific chart + options[type] = angular.extend(options[type] || {}, customOptions); + }; + + this.$get = function () { + return ChartJs; + }; + } + + function ChartJsFactory (ChartJs, $timeout) { + return function chart (type) { + return { + restrict: 'CA', + scope: { + chartGetColor: '=?', + chartType: '=', + chartData: '=?', + chartLabels: '=?', + chartOptions: '=?', + chartSeries: '=?', + chartColors: '=?', + chartClick: '=?', + chartHover: '=?', + chartDatasetOverride: '=?' + }, + link: function (scope, elem/*, attrs */) { + if (useExcanvas) window.G_vmlCanvasManager.initElement(elem[0]); + + // Order of setting "watch" matter + scope.$watch('chartData', watchData, true); + scope.$watch('chartSeries', watchOther, true); + scope.$watch('chartLabels', watchOther, true); + scope.$watch('chartOptions', watchOther, true); + scope.$watch('chartColors', watchOther, true); + scope.$watch('chartDatasetOverride', watchOther, true); + scope.$watch('chartType', watchType, false); + + scope.$on('$destroy', function () { + destroyChart(scope); + }); + + scope.$on('$resize', function () { + if (scope.chart) scope.chart.resize(); + }); + + function watchData (newVal, oldVal) { + if (! newVal || ! newVal.length || (Array.isArray(newVal[0]) && ! newVal[0].length)) { + destroyChart(scope); + return; + } + var chartType = type || scope.chartType; + if (! chartType) return; + + if (scope.chart && canUpdateChart(newVal, oldVal)) + return updateChart(newVal, scope); + + createChart(chartType, scope, elem); + } + + function watchOther (newVal, oldVal) { + if (isEmpty(newVal)) return; + if (angular.equals(newVal, oldVal)) return; + var chartType = type || scope.chartType; + if (! chartType) return; + + // chart.update() doesn't work for series and labels + // so we have to re-create the chart entirely + createChart(chartType, scope, elem); + } + + function watchType (newVal, oldVal) { + if (isEmpty(newVal)) return; + if (angular.equals(newVal, oldVal)) return; + createChart(newVal, scope, elem); + } + } + }; + }; + + function createChart (type, scope, elem) { + var options = getChartOptions(type, scope); + if (! hasData(scope) || ! canDisplay(type, scope, elem, options)) return; + + var cvs = elem[0]; + var ctx = cvs.getContext('2d'); + + scope.chartGetColor = getChartColorFn(scope); + var data = getChartData(type, scope); + + // Destroy old chart if it exists to avoid ghost charts issue + // https://github.com/jtblin/angular-chart.js/issues/187 + destroyChart(scope); + + scope.chart = new ChartJs.Chart(ctx, { + type: type, + data: data, + options: options + }); + scope.$emit('chart-create', scope.chart); + bindEvents(cvs, scope); + } + + function canUpdateChart (newVal, oldVal) { + if (newVal && oldVal && newVal.length && oldVal.length) { + return Array.isArray(newVal[0]) ? + newVal.length === oldVal.length && newVal.every(function (element, index) { + return element.length === oldVal[index].length; }) : + oldVal.reduce(sum, 0) > 0 ? newVal.length === oldVal.length : false; + } + return false; + } + + function sum (carry, val) { + return carry + val; + } + + function getEventHandler (scope, action, triggerOnlyOnChange) { + var lastState = null; + return function (evt) { + var atEvent = scope.chart.getElementsAtEvent || scope.chart.getPointsAtEvent; + if (atEvent) { + var activePoints = atEvent.call(scope.chart, evt); + if (triggerOnlyOnChange === false || angular.equals(lastState, activePoints) === false) { + lastState = activePoints; + scope[action](activePoints, evt); + } + } + }; + } + + function getColors (type, scope) { + var colors = angular.copy(scope.chartColors || + ChartJs.getOptions(type).chartColors || + Chart.defaults.global.colors + ); + var notEnoughColors = colors.length < scope.chartData.length; + while (colors.length < scope.chartData.length) { + colors.push(scope.chartGetColor()); + } + // mutate colors in this case as we don't want + // the colors to change on each refresh + if (notEnoughColors) scope.chartColors = colors; + return colors.map(convertColor); + } + + function convertColor (color) { + if (typeof color === 'object' && color !== null) return color; + if (typeof color === 'string' && color[0] === '#') return getColor(hexToRgb(color.substr(1))); + return getRandomColor(); + } + + function getRandomColor () { + var color = [getRandomInt(0, 255), getRandomInt(0, 255), getRandomInt(0, 255)]; + return getColor(color); + } + + function getColor (color) { + return { + backgroundColor: rgba(color, 0.2), + pointBackgroundColor: rgba(color, 1), + pointHoverBackgroundColor: rgba(color, 0.8), + borderColor: rgba(color, 1), + pointBorderColor: '#fff', + pointHoverBorderColor: rgba(color, 1) + }; + } + + function getRandomInt (min, max) { + return Math.floor(Math.random() * (max - min + 1)) + min; + } + + function rgba (color, alpha) { + // rgba not supported by IE8 + return useExcanvas ? 'rgb(' + color.join(',') + ')' : 'rgba(' + color.concat(alpha).join(',') + ')'; + } + + // Credit: http://stackoverflow.com/a/11508164/1190235 + function hexToRgb (hex) { + var bigint = parseInt(hex, 16), + r = (bigint >> 16) & 255, + g = (bigint >> 8) & 255, + b = bigint & 255; + + return [r, g, b]; + } + + function hasData (scope) { + return scope.chartData && scope.chartData.length; + } + + function getChartColorFn (scope) { + return typeof scope.chartGetColor === 'function' ? scope.chartGetColor : getRandomColor; + } + + function getChartData (type, scope) { + var colors = getColors(type, scope); + return Array.isArray(scope.chartData[0]) ? + getDataSets(scope.chartLabels, scope.chartData, scope.chartSeries || [], colors, scope.chartDatasetOverride) : + getData(scope.chartLabels, scope.chartData, colors, scope.chartDatasetOverride); + } + + function getDataSets (labels, data, series, colors, datasetOverride) { + return { + labels: labels, + datasets: data.map(function (item, i) { + var dataset = angular.extend({}, colors[i], { + label: series[i], + data: item + }); + if (datasetOverride && datasetOverride.length >= i) { + angular.merge(dataset, datasetOverride[i]); + } + return dataset; + }) + }; + } + + function getData (labels, data, colors, datasetOverride) { + var dataset = { + labels: labels, + datasets: [{ + data: data, + backgroundColor: colors.map(function (color) { + return color.pointBackgroundColor; + }), + hoverBackgroundColor: colors.map(function (color) { + return color.backgroundColor; + }) + }] + }; + if (datasetOverride) { + angular.merge(dataset.datasets[0], datasetOverride); + } + return dataset; + } + + function getChartOptions (type, scope) { + return angular.extend({}, ChartJs.getOptions(type), scope.chartOptions); + } + + function bindEvents (cvs, scope) { + cvs.onclick = scope.chartClick ? getEventHandler(scope, 'chartClick', false) : angular.noop; + cvs.onmousemove = scope.chartHover ? getEventHandler(scope, 'chartHover', true) : angular.noop; + } + + function updateChart (values, scope) { + if (Array.isArray(scope.chartData[0])) { + scope.chart.data.datasets.forEach(function (dataset, i) { + dataset.data = values[i]; + }); + } else { + scope.chart.data.datasets[0].data = values; + } + + scope.chart.update(); + scope.$emit('chart-update', scope.chart); + } + + function isEmpty (value) { + return ! value || + (Array.isArray(value) && ! value.length) || + (typeof value === 'object' && ! Object.keys(value).length); + } + + function canDisplay (type, scope, elem, options) { + // TODO: check parent? + if (options.responsive && elem[0].clientHeight === 0) { + $timeout(function () { + createChart(type, scope, elem); + }, 50, false); + return false; + } + return true; + } + + function destroyChart(scope) { + if(! scope.chart) return; + scope.chart.destroy(); + scope.$emit('chart-destroy', scope.chart); + } + } +})); diff --git a/www/lib/angular-chart.js/dist/angular-chart.js.tar.gz b/www/lib/angular-chart.js/dist/angular-chart.js.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..0e003c99c3fb1a9cfd47943004b3f3fb2e6b9517 GIT binary patch literal 9229 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 literal 0 HcmV?d00001 diff --git a/www/lib/angular-chart.js/dist/angular-chart.min.js b/www/lib/angular-chart.js/dist/angular-chart.min.js new file mode 100644 index 0000000..354535c --- /dev/null +++ b/www/lib/angular-chart.js/dist/angular-chart.min.js @@ -0,0 +1,11 @@ +/*! + * angular-chart.js - An angular.js wrapper for Chart.js + * http://jtblin.github.io/angular-chart.js/ + * Version: 1.0.2 + * + * Copyright 2016 Jerome Touffe-Blin + * Released under the BSD-2-Clause license + * https://github.com/jtblin/angular-chart.js/blob/master/LICENSE + */ +!function(t){"use strict";if("object"==typeof exports)module.exports=t("undefined"!=typeof angular?angular:require("angular"),"undefined"!=typeof Chart?Chart:require("chart.js"));else if("function"==typeof define&&define.amd)define(["angular","chart"],t);else{if("undefined"==typeof angular||"undefined"==typeof Chart)throw new Error("Chart.js library needs to be included, see http://jtblin.github.io/angular-chart.js/");t(angular,Chart)}}(function(t,r){"use strict";function a(){var a={responsive:!0},e={Chart:r,getOptions:function(r){var e=r&&a[r]||{};return t.extend({},a,e)}};this.setOptions=function(r,e){return e?void(a[r]=t.extend(a[r]||{},e)):(e=r,void(a=t.extend(a,e)))},this.$get=function(){return e}}function e(a,e){function o(t,r,e){var n=w(t,r);if(p(r)&&$(t,r,e,n)){var o=e[0],c=o.getContext("2d");r.chartGetColor=C(r);var i=y(t,r);F(r),r.chart=new a.Chart(c,{type:t,data:i,options:n}),r.$emit("chart-create",r.chart),D(o,r)}}function c(t,r){return!!(t&&r&&t.length&&r.length)&&(Array.isArray(t[0])?t.length===r.length&&t.every(function(t,a){return t.length===r[a].length}):r.reduce(i,0)>0&&t.length===r.length)}function i(t,r){return t+r}function u(r,a,e){var n=null;return function(o){var c=r.chart.getElementsAtEvent||r.chart.getPointsAtEvent;if(c){var i=c.call(r.chart,o);e!==!1&&t.equals(n,i)!==!1||(n=i,r[a](i,o))}}}function h(e,n){for(var o=t.copy(n.chartColors||a.getOptions(e).chartColors||r.defaults.global.colors),c=o.length>16&255,e=r>>8&255,n=255&r;return[a,e,n]}function p(t){return t.chartData&&t.chartData.length}function C(t){return"function"==typeof t.chartGetColor?t.chartGetColor:s}function y(t,r){var a=h(t,r);return Array.isArray(r.chartData[0])?b(r.chartLabels,r.chartData,r.chartSeries||[],a,r.chartDatasetOverride):m(r.chartLabels,r.chartData,a,r.chartDatasetOverride)}function b(r,a,e,n,o){return{labels:r,datasets:a.map(function(r,a){var c=t.extend({},n[a],{label:e[a],data:r});return o&&o.length>=a&&t.merge(c,o[a]),c})}}function m(r,a,e,n){var o={labels:r,datasets:[{data:a,backgroundColor:e.map(function(t){return t.pointBackgroundColor}),hoverBackgroundColor:e.map(function(t){return t.backgroundColor})}]};return n&&t.merge(o.datasets[0],n),o}function w(r,e){return t.extend({},a.getOptions(r),e.chartOptions)}function D(r,a){r.onclick=a.chartClick?u(a,"chartClick",!1):t.noop,r.onmousemove=a.chartHover?u(a,"chartHover",!0):t.noop}function B(t,r){Array.isArray(r.chartData[0])?r.chart.data.datasets.forEach(function(r,a){r.data=t[a]}):r.chart.data.datasets[0].data=t,r.chart.update(),r.$emit("chart-update",r.chart)}function A(t){return!t||Array.isArray(t)&&!t.length||"object"==typeof t&&!Object.keys(t).length}function $(t,r,a,n){return!n.responsive||0!==a[0].clientHeight||(e(function(){o(t,r,a)},50,!1),!1)}function F(t){t.chart&&(t.chart.destroy(),t.$emit("chart-destroy",t.chart))}return function(r){return{restrict:"CA",scope:{chartGetColor:"=?",chartType:"=",chartData:"=?",chartLabels:"=?",chartOptions:"=?",chartSeries:"=?",chartColors:"=?",chartClick:"=?",chartHover:"=?",chartDatasetOverride:"=?"},link:function(a,e){function i(t,n){if(!t||!t.length||Array.isArray(t[0])&&!t[0].length)return void F(a);var i=r||a.chartType;if(i)return a.chart&&c(t,n)?B(t,a):void o(i,a,e)}function u(n,c){if(!A(n)&&!t.equals(n,c)){var i=r||a.chartType;i&&o(i,a,e)}}function h(r,n){A(r)||t.equals(r,n)||o(r,a,e)}n&&window.G_vmlCanvasManager.initElement(e[0]),a.$watch("chartData",i,!0),a.$watch("chartSeries",u,!0),a.$watch("chartLabels",u,!0),a.$watch("chartOptions",u,!0),a.$watch("chartColors",u,!0),a.$watch("chartDatasetOverride",u,!0),a.$watch("chartType",h,!1),a.$on("$destroy",function(){F(a)}),a.$on("$resize",function(){a.chart&&a.chart.resize()})}}}}r.defaults.global.multiTooltipTemplate="<%if (datasetLabel){%><%=datasetLabel%>: <%}%><%= value %>",r.defaults.global.tooltips.mode="label",r.defaults.global.elements.line.borderWidth=2,r.defaults.global.elements.rectangle.borderWidth=2,r.defaults.global.legend.display=!1,r.defaults.global.colors=["#97BBCD","#DCDCDC","#F7464A","#46BFBD","#FDB45C","#949FB1","#4D5360"];var n="object"==typeof window.G_vmlCanvasManager&&null!==window.G_vmlCanvasManager&&"function"==typeof window.G_vmlCanvasManager.initElement;return n&&(r.defaults.global.animation=!1),t.module("chart.js",[]).provider("ChartJs",a).factory("ChartJsFactory",["ChartJs","$timeout",e]).directive("chartBase",["ChartJsFactory",function(t){return new t}]).directive("chartLine",["ChartJsFactory",function(t){return new t("line")}]).directive("chartBar",["ChartJsFactory",function(t){return new t("bar")}]).directive("chartHorizontalBar",["ChartJsFactory",function(t){return new t("horizontalBar")}]).directive("chartRadar",["ChartJsFactory",function(t){return new t("radar")}]).directive("chartDoughnut",["ChartJsFactory",function(t){return new t("doughnut")}]).directive("chartPie",["ChartJsFactory",function(t){return new t("pie")}]).directive("chartPolarArea",["ChartJsFactory",function(t){return new t("polarArea")}]).directive("chartBubble",["ChartJsFactory",function(t){return new t("bubble")}]).name}); +//# sourceMappingURL=angular-chart.min.js.map diff --git a/www/lib/angular-chart.js/dist/angular-chart.min.js.map b/www/lib/angular-chart.js/dist/angular-chart.min.js.map new file mode 100644 index 0000000..c4831f3 --- /dev/null +++ b/www/lib/angular-chart.js/dist/angular-chart.min.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["angular-chart.js"],"names":["factory","exports","module","angular","require","Chart","define","amd","Error","ChartJsProvider","options","responsive","ChartJs","getOptions","type","typeOptions","extend","this","setOptions","customOptions","$get","ChartJsFactory","$timeout","createChart","scope","elem","getChartOptions","hasData","canDisplay","cvs","ctx","getContext","chartGetColor","getChartColorFn","data","getChartData","destroyChart","chart","$emit","bindEvents","canUpdateChart","newVal","oldVal","length","Array","isArray","every","element","index","reduce","sum","carry","val","getEventHandler","action","triggerOnlyOnChange","lastState","evt","atEvent","getElementsAtEvent","getPointsAtEvent","activePoints","call","equals","getColors","colors","copy","chartColors","defaults","global","notEnoughColors","chartData","push","map","convertColor","color","getColor","hexToRgb","substr","getRandomColor","getRandomInt","backgroundColor","rgba","pointBackgroundColor","pointHoverBackgroundColor","borderColor","pointBorderColor","pointHoverBorderColor","min","max","Math","floor","random","alpha","useExcanvas","join","concat","hex","bigint","parseInt","r","g","b","getDataSets","chartLabels","chartSeries","chartDatasetOverride","getData","labels","series","datasetOverride","datasets","item","i","dataset","label","merge","hoverBackgroundColor","chartOptions","onclick","chartClick","noop","onmousemove","chartHover","updateChart","values","forEach","update","isEmpty","value","Object","keys","clientHeight","destroy","restrict","chartType","link","watchData","watchOther","watchType","window","G_vmlCanvasManager","initElement","$watch","$on","resize","multiTooltipTemplate","tooltips","mode","elements","line","borderWidth","rectangle","legend","display","animation","provider","directive","name"],"mappings":"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","file":"angular-chart.min.js","sourcesContent":["(function (factory) {\n 'use strict';\n if (typeof exports === 'object') {\n // Node/CommonJS\n module.exports = factory(\n typeof angular !== 'undefined' ? angular : require('angular'),\n typeof Chart !== 'undefined' ? Chart : require('chart.js'));\n } else if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define(['angular', 'chart'], factory);\n } else {\n // Browser globals\n if (typeof angular === 'undefined' || typeof Chart === 'undefined')\n throw new Error('Chart.js library needs to be included, see http://jtblin.github.io/angular-chart.js/');\n factory(angular, Chart);\n }\n}(function (angular, Chart) {\n 'use strict';\n\n Chart.defaults.global.multiTooltipTemplate = '<%if (datasetLabel){%><%=datasetLabel%>: <%}%><%= value %>';\n Chart.defaults.global.tooltips.mode = 'label';\n Chart.defaults.global.elements.line.borderWidth = 2;\n Chart.defaults.global.elements.rectangle.borderWidth = 2;\n Chart.defaults.global.legend.display = false;\n Chart.defaults.global.colors = [\n '#97BBCD', // blue\n '#DCDCDC', // light grey\n '#F7464A', // red\n '#46BFBD', // green\n '#FDB45C', // yellow\n '#949FB1', // grey\n '#4D5360' // dark grey\n ];\n\n var useExcanvas = typeof window.G_vmlCanvasManager === 'object' &&\n window.G_vmlCanvasManager !== null &&\n typeof window.G_vmlCanvasManager.initElement === 'function';\n\n if (useExcanvas) Chart.defaults.global.animation = false;\n\n return angular.module('chart.js', [])\n .provider('ChartJs', ChartJsProvider)\n .factory('ChartJsFactory', ['ChartJs', '$timeout', ChartJsFactory])\n .directive('chartBase', ['ChartJsFactory', function (ChartJsFactory) { return new ChartJsFactory(); }])\n .directive('chartLine', ['ChartJsFactory', function (ChartJsFactory) { return new ChartJsFactory('line'); }])\n .directive('chartBar', ['ChartJsFactory', function (ChartJsFactory) { return new ChartJsFactory('bar'); }])\n .directive('chartHorizontalBar', ['ChartJsFactory', function (ChartJsFactory) { return new ChartJsFactory('horizontalBar'); }])\n .directive('chartRadar', ['ChartJsFactory', function (ChartJsFactory) { return new ChartJsFactory('radar'); }])\n .directive('chartDoughnut', ['ChartJsFactory', function (ChartJsFactory) { return new ChartJsFactory('doughnut'); }])\n .directive('chartPie', ['ChartJsFactory', function (ChartJsFactory) { return new ChartJsFactory('pie'); }])\n .directive('chartPolarArea', ['ChartJsFactory', function (ChartJsFactory) { return new ChartJsFactory('polarArea'); }])\n .directive('chartBubble', ['ChartJsFactory', function (ChartJsFactory) { return new ChartJsFactory('bubble'); }])\n .name;\n\n /**\n * Wrapper for chart.js\n * Allows configuring chart js using the provider\n *\n * angular.module('myModule', ['chart.js']).config(function(ChartJsProvider) {\n * ChartJsProvider.setOptions({ responsive: false });\n * ChartJsProvider.setOptions('Line', { responsive: true });\n * })))\n */\n function ChartJsProvider () {\n var options = { responsive: true };\n var ChartJs = {\n Chart: Chart,\n getOptions: function (type) {\n var typeOptions = type && options[type] || {};\n return angular.extend({}, options, typeOptions);\n }\n };\n\n /**\n * Allow to set global options during configuration\n */\n this.setOptions = function (type, customOptions) {\n // If no type was specified set option for the global object\n if (! customOptions) {\n customOptions = type;\n options = angular.extend(options, customOptions);\n return;\n }\n // Set options for the specific chart\n options[type] = angular.extend(options[type] || {}, customOptions);\n };\n\n this.$get = function () {\n return ChartJs;\n };\n }\n\n function ChartJsFactory (ChartJs, $timeout) {\n return function chart (type) {\n return {\n restrict: 'CA',\n scope: {\n chartGetColor: '=?',\n chartType: '=',\n chartData: '=?',\n chartLabels: '=?',\n chartOptions: '=?',\n chartSeries: '=?',\n chartColors: '=?',\n chartClick: '=?',\n chartHover: '=?',\n chartDatasetOverride: '=?'\n },\n link: function (scope, elem/*, attrs */) {\n if (useExcanvas) window.G_vmlCanvasManager.initElement(elem[0]);\n\n // Order of setting \"watch\" matter\n scope.$watch('chartData', watchData, true);\n scope.$watch('chartSeries', watchOther, true);\n scope.$watch('chartLabels', watchOther, true);\n scope.$watch('chartOptions', watchOther, true);\n scope.$watch('chartColors', watchOther, true);\n scope.$watch('chartDatasetOverride', watchOther, true);\n scope.$watch('chartType', watchType, false);\n\n scope.$on('$destroy', function () {\n destroyChart(scope);\n });\n\n scope.$on('$resize', function () {\n if (scope.chart) scope.chart.resize();\n });\n\n function watchData (newVal, oldVal) {\n if (! newVal || ! newVal.length || (Array.isArray(newVal[0]) && ! newVal[0].length)) {\n destroyChart(scope);\n return;\n }\n var chartType = type || scope.chartType;\n if (! chartType) return;\n\n if (scope.chart && canUpdateChart(newVal, oldVal))\n return updateChart(newVal, scope);\n\n createChart(chartType, scope, elem);\n }\n\n function watchOther (newVal, oldVal) {\n if (isEmpty(newVal)) return;\n if (angular.equals(newVal, oldVal)) return;\n var chartType = type || scope.chartType;\n if (! chartType) return;\n\n // chart.update() doesn't work for series and labels\n // so we have to re-create the chart entirely\n createChart(chartType, scope, elem);\n }\n\n function watchType (newVal, oldVal) {\n if (isEmpty(newVal)) return;\n if (angular.equals(newVal, oldVal)) return;\n createChart(newVal, scope, elem);\n }\n }\n };\n };\n\n function createChart (type, scope, elem) {\n var options = getChartOptions(type, scope);\n if (! hasData(scope) || ! canDisplay(type, scope, elem, options)) return;\n\n var cvs = elem[0];\n var ctx = cvs.getContext('2d');\n\n scope.chartGetColor = getChartColorFn(scope);\n var data = getChartData(type, scope);\n\n // Destroy old chart if it exists to avoid ghost charts issue\n // https://github.com/jtblin/angular-chart.js/issues/187\n destroyChart(scope);\n\n scope.chart = new ChartJs.Chart(ctx, {\n type: type,\n data: data,\n options: options\n });\n scope.$emit('chart-create', scope.chart);\n bindEvents(cvs, scope);\n }\n\n function canUpdateChart (newVal, oldVal) {\n if (newVal && oldVal && newVal.length && oldVal.length) {\n return Array.isArray(newVal[0]) ?\n newVal.length === oldVal.length && newVal.every(function (element, index) {\n return element.length === oldVal[index].length; }) :\n oldVal.reduce(sum, 0) > 0 ? newVal.length === oldVal.length : false;\n }\n return false;\n }\n\n function sum (carry, val) {\n return carry + val;\n }\n\n function getEventHandler (scope, action, triggerOnlyOnChange) {\n var lastState = null;\n return function (evt) {\n var atEvent = scope.chart.getElementsAtEvent || scope.chart.getPointsAtEvent;\n if (atEvent) {\n var activePoints = atEvent.call(scope.chart, evt);\n if (triggerOnlyOnChange === false || angular.equals(lastState, activePoints) === false) {\n lastState = activePoints;\n scope[action](activePoints, evt);\n }\n }\n };\n }\n\n function getColors (type, scope) {\n var colors = angular.copy(scope.chartColors ||\n ChartJs.getOptions(type).chartColors ||\n Chart.defaults.global.colors\n );\n var notEnoughColors = colors.length < scope.chartData.length;\n while (colors.length < scope.chartData.length) {\n colors.push(scope.chartGetColor());\n }\n // mutate colors in this case as we don't want\n // the colors to change on each refresh\n if (notEnoughColors) scope.chartColors = colors;\n return colors.map(convertColor);\n }\n\n function convertColor (color) {\n if (typeof color === 'object' && color !== null) return color;\n if (typeof color === 'string' && color[0] === '#') return getColor(hexToRgb(color.substr(1)));\n return getRandomColor();\n }\n\n function getRandomColor () {\n var color = [getRandomInt(0, 255), getRandomInt(0, 255), getRandomInt(0, 255)];\n return getColor(color);\n }\n\n function getColor (color) {\n return {\n backgroundColor: rgba(color, 0.2),\n pointBackgroundColor: rgba(color, 1),\n pointHoverBackgroundColor: rgba(color, 0.8),\n borderColor: rgba(color, 1),\n pointBorderColor: '#fff',\n pointHoverBorderColor: rgba(color, 1)\n };\n }\n\n function getRandomInt (min, max) {\n return Math.floor(Math.random() * (max - min + 1)) + min;\n }\n\n function rgba (color, alpha) {\n // rgba not supported by IE8\n return useExcanvas ? 'rgb(' + color.join(',') + ')' : 'rgba(' + color.concat(alpha).join(',') + ')';\n }\n\n // Credit: http://stackoverflow.com/a/11508164/1190235\n function hexToRgb (hex) {\n var bigint = parseInt(hex, 16),\n r = (bigint >> 16) & 255,\n g = (bigint >> 8) & 255,\n b = bigint & 255;\n\n return [r, g, b];\n }\n\n function hasData (scope) {\n return scope.chartData && scope.chartData.length;\n }\n\n function getChartColorFn (scope) {\n return typeof scope.chartGetColor === 'function' ? scope.chartGetColor : getRandomColor;\n }\n\n function getChartData (type, scope) {\n var colors = getColors(type, scope);\n return Array.isArray(scope.chartData[0]) ?\n getDataSets(scope.chartLabels, scope.chartData, scope.chartSeries || [], colors, scope.chartDatasetOverride) :\n getData(scope.chartLabels, scope.chartData, colors, scope.chartDatasetOverride);\n }\n\n function getDataSets (labels, data, series, colors, datasetOverride) {\n return {\n labels: labels,\n datasets: data.map(function (item, i) {\n var dataset = angular.extend({}, colors[i], {\n label: series[i],\n data: item\n });\n if (datasetOverride && datasetOverride.length >= i) {\n angular.merge(dataset, datasetOverride[i]);\n }\n return dataset;\n })\n };\n }\n\n function getData (labels, data, colors, datasetOverride) {\n var dataset = {\n labels: labels,\n datasets: [{\n data: data,\n backgroundColor: colors.map(function (color) {\n return color.pointBackgroundColor;\n }),\n hoverBackgroundColor: colors.map(function (color) {\n return color.backgroundColor;\n })\n }]\n };\n if (datasetOverride) {\n angular.merge(dataset.datasets[0], datasetOverride);\n }\n return dataset;\n }\n\n function getChartOptions (type, scope) {\n return angular.extend({}, ChartJs.getOptions(type), scope.chartOptions);\n }\n\n function bindEvents (cvs, scope) {\n cvs.onclick = scope.chartClick ? getEventHandler(scope, 'chartClick', false) : angular.noop;\n cvs.onmousemove = scope.chartHover ? getEventHandler(scope, 'chartHover', true) : angular.noop;\n }\n\n function updateChart (values, scope) {\n if (Array.isArray(scope.chartData[0])) {\n scope.chart.data.datasets.forEach(function (dataset, i) {\n dataset.data = values[i];\n });\n } else {\n scope.chart.data.datasets[0].data = values;\n }\n\n scope.chart.update();\n scope.$emit('chart-update', scope.chart);\n }\n\n function isEmpty (value) {\n return ! value ||\n (Array.isArray(value) && ! value.length) ||\n (typeof value === 'object' && ! Object.keys(value).length);\n }\n\n function canDisplay (type, scope, elem, options) {\n // TODO: check parent?\n if (options.responsive && elem[0].clientHeight === 0) {\n $timeout(function () {\n createChart(type, scope, elem);\n }, 50, false);\n return false;\n }\n return true;\n }\n\n function destroyChart(scope) {\n if(! scope.chart) return;\n scope.chart.destroy();\n scope.$emit('chart-destroy', scope.chart);\n }\n }\n}));\n"],"sourceRoot":"/source/"} \ No newline at end of file diff --git a/www/lib/angular-chart.js/examples/amd.html b/www/lib/angular-chart.js/examples/amd.html new file mode 100644 index 0000000..56704d1 --- /dev/null +++ b/www/lib/angular-chart.js/examples/amd.html @@ -0,0 +1,25 @@ + + + + + AMD + + + +
+

+
+
+
+
AMD require.js
+
+ +
+
+
+
+
+ + + + diff --git a/www/lib/angular-chart.js/examples/amd.js b/www/lib/angular-chart.js/examples/amd.js new file mode 100644 index 0000000..0c04eaa --- /dev/null +++ b/www/lib/angular-chart.js/examples/amd.js @@ -0,0 +1,32 @@ +(function () { + 'use strict'; + + require.config({ + paths: { + angular: '../node_modules/angular/angular.min', + chart: '../node_modules/chart.js/dist/Chart.min', + 'angular-chart': '../angular-chart' + }, + shim: { + angular: { + exports: 'angular' + }, + 'chart.js': { + deps: ['angular', 'chart'] + } + } + }); + + define(['angular', 'angular-chart'], function (angular/*, angularChart*/) { + var app = angular.module('examples', ['chart.js']); + app.controller('RequireCtrl', ['$scope', function ($scope) { + $scope.labels = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday']; + $scope.series = ['Series A', 'Series B']; + $scope.data = [ + [65, 59, 80, 81, 56, 55, 40], + [28, 48, 40, 19, 86, 27, 90] + ]; + }]); + }); + +})(); diff --git a/www/lib/angular-chart.js/examples/app.css b/www/lib/angular-chart.js/examples/app.css new file mode 100644 index 0000000..8b18814 --- /dev/null +++ b/www/lib/angular-chart.js/examples/app.css @@ -0,0 +1,80 @@ +body { padding-top: 50px; } + +.nav, .pagination, .carousel, .panel-title a { cursor: pointer; } + +#hero-bar { + position: absolute; + left: 0; + top: 0; + z-index: 1; + padding-right: 0; +} + +.container-fluid { + padding-left: 0; + padding-right: 0; +} + +.aspect-ratio { + width: 100%; + padding-bottom: 25%; + position: relative; +} + +.header { + position: absolute; + left: 0; + width: 100%; + top: 50%; + font-size: larger; + z-index: 500; +} + +.panel-heading { + font-weight: bold; +} + +.code .nav-tabs>li.active>a, .code .nav-tabs>li.active>a:hover, .code .nav-tabs>li.active>a:focus { + background-color: #f8f8f8; + border: 1px solid #ccc; + border-bottom-color: transparent; +} + +.code pre, .code code { + background-color: #f8f8f8; + border-top: none; + border-top-left-radius: 0; + border-top-right-radius: 0; +} + +.settings > a, .settings { + background-color: white ! important; +} + +.nav-tabs > li > a { + border-bottom: 1px solid #ccc; + margin-right: 0; +} + +.settings > a.active { + border: 1px solid transparent; +} + +div.settings { + border: 1px solid #ccc; + border-top: 0; + padding: 9.5px; + margin: 0 0 10px +} + +div.settings > code { + border-top: 1px solid #eaeaea; +} + +.footer { + text-align: center; + padding: 30px 0; + margin-top: 70px; + border-top: 1px solid #e5e5e5; + background-color: #f5f5f5; +} \ No newline at end of file diff --git a/www/lib/angular-chart.js/examples/app.js b/www/lib/angular-chart.js/examples/app.js new file mode 100644 index 0000000..282edaa --- /dev/null +++ b/www/lib/angular-chart.js/examples/app.js @@ -0,0 +1,311 @@ +(function () { + 'use strict'; + + var app = angular.module('examples', ['chart.js', 'ui.bootstrap']); + + app.config(function (ChartJsProvider) { + // Configure all charts + ChartJsProvider.setOptions({ + colors: ['#97BBCD', '#DCDCDC', '#F7464A', '#46BFBD', '#FDB45C', '#949FB1', '#4D5360'] + }); + // Configure all doughnut charts + ChartJsProvider.setOptions('doughnut', { + cutoutPercentage: 60 + }); + ChartJsProvider.setOptions('bubble', { + tooltips: { enabled: false } + }); + }); + + app.controller('MenuCtrl', ['$scope', function ($scope) { + $scope.isCollapsed = true; + $scope.charts = ['Line', 'Bar', 'Doughnut', 'Pie', 'Polar Area', 'Radar', 'Horizontal Bar', 'Bubble', 'Base']; + }]); + + app.controller('LineCtrl', ['$scope', function ($scope) { + $scope.labels = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday']; + $scope.series = ['Series A', 'Series B']; + $scope.data = [ + [65, 59, 80, 81, 56, 55, 40], + [28, 48, 40, 19, 86, 27, 90] + ]; + $scope.onClick = function (points, evt) { + console.log(points, evt); + }; + $scope.onHover = function (points) { + if (points.length > 0) { + console.log('Point', points[0].value); + } else { + console.log('No point'); + } + }; + $scope.datasetOverride = [{ yAxisID: 'y-axis-1' }, { yAxisID: 'y-axis-2' }]; + + $scope.options = { + scales: { + yAxes: [ + { + id: 'y-axis-1', + type: 'linear', + display: true, + position: 'left' + }, + { + id: 'y-axis-2', + type: 'linear', + display: true, + position: 'right' + } + ] + } + }; + }]); + + app.controller('BarCtrl', ['$scope', function ($scope) { + $scope.options = { legend: { display: true } }; + $scope.labels = ['2006', '2007', '2008', '2009', '2010', '2011', '2012']; + $scope.series = ['Series A', 'Series B']; + $scope.data = [ + [65, 59, 80, 81, 56, 55, 40], + [28, 48, 40, 19, 86, 27, 90] + ]; + }]); + + app.controller('DoughnutCtrl', ['$scope', '$timeout', function ($scope, $timeout) { + $scope.labels = ['Download Sales', 'In-Store Sales', 'Mail-Order Sales']; + $scope.data = [0, 0, 0]; + + $timeout(function () { + $scope.data = [350, 450, 100]; + }, 500); + }]); + + app.controller('PieCtrl', ['$scope', function ($scope) { + $scope.labels = ['Download Sales', 'In-Store Sales', 'Mail Sales']; + $scope.data = [300, 500, 100]; + $scope.options = { legend: { display: false } }; + }]); + + app.controller('PolarAreaCtrl', ['$scope', function ($scope) { + $scope.labels = ['Download Sales', 'In-Store Sales', 'Mail Sales', 'Telesales', 'Corporate Sales']; + $scope.data = [300, 500, 100, 40, 120]; + $scope.options = { legend: { display: false } }; + }]); + + app.controller('BaseCtrl', ['$scope', function ($scope) { + $scope.labels = ['Download Sales', 'Store Sales', 'Mail Sales', 'Telesales', 'Corporate Sales']; + $scope.data = [300, 500, 100, 40, 120]; + $scope.type = 'polarArea'; + + $scope.toggle = function () { + $scope.type = $scope.type === 'polarArea' ? 'pie' : 'polarArea'; + }; + }]); + + app.controller('RadarCtrl', ['$scope', function ($scope) { + $scope.labels = ['Eating', 'Drinking', 'Sleeping', 'Designing', 'Coding', 'Cycling', 'Running']; + $scope.options = { legend: { display: false } }; + + $scope.data = [ + [65, 59, 90, 81, 56, 55, 40], + [28, 48, 40, 19, 96, 27, 100] + ]; + + $scope.onClick = function (points, evt) { + console.log(points, evt); + }; + }]); + + app.controller('StackedBarCtrl', ['$scope', function ($scope) { + $scope.labels = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday']; + $scope.type = 'StackedBar'; + $scope.series = ['2015', '2016']; + $scope.options = { + scales: { + xAxes: [{ + stacked: true, + }], + yAxes: [{ + stacked: true + }] + } + }; + + $scope.data = [ + [65, 59, 90, 81, 56, 55, 40], + [28, 48, 40, 19, 96, 27, 100] + ]; + }]); + + app.controller('TabsCtrl', ['$scope', function ($scope) { + $scope.labels = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday']; + $scope.active = true; + $scope.data = [ + [65, 59, 90, 81, 56, 55, 40], + [28, 48, 40, 19, 96, 27, 100] + ]; + }]); + + app.controller('MixedChartCtrl', ['$scope', function ($scope) { + $scope.colors = ['#45b7cd', '#ff6384', '#ff8e72']; + + $scope.labels = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday']; + $scope.data = [ + [65, -59, 80, 81, -56, 55, -40], + [28, 48, -40, 19, 86, 27, 90] + ]; + $scope.datasetOverride = [ + { + label: 'Bar chart', + borderWidth: 1, + type: 'bar' + }, + { + label: 'Line chart', + borderWidth: 3, + hoverBackgroundColor: 'rgba(255,99,132,0.4)', + hoverBorderColor: 'rgba(255,99,132,1)', + type: 'line' + } + ]; + }]); + + app.controller('DataTablesCtrl', ['$scope', function ($scope) { + $scope.labels = ['January', 'February', 'March', 'April', 'May', 'June', 'July']; + $scope.data = [ + [65, 59, 80, 81, 56, 55, 40], + [28, 48, 40, 19, 86, 27, 90] + ]; + $scope.colors = [ + { // grey + backgroundColor: 'rgba(148,159,177,0.2)', + pointBackgroundColor: 'rgba(148,159,177,1)', + pointHoverBackgroundColor: 'rgba(148,159,177,1)', + borderColor: 'rgba(148,159,177,1)', + pointBorderColor: '#fff', + pointHoverBorderColor: 'rgba(148,159,177,0.8)' + }, + { // dark grey + backgroundColor: 'rgba(77,83,96,0.2)', + pointBackgroundColor: 'rgba(77,83,96,1)', + pointHoverBackgroundColor: 'rgba(77,83,96,1)', + borderColor: 'rgba(77,83,96,1)', + pointBorderColor: '#fff', + pointHoverBorderColor: 'rgba(77,83,96,0.8)' + } + ]; + $scope.options = { legend: { display: false } }; + $scope.randomize = function () { + $scope.data = $scope.data.map(function (data) { + return data.map(function (y) { + y = y + Math.random() * 10 - 5; + return parseInt(y < 0 ? 0 : y > 100 ? 100 : y); + }); + }); + }; + }]); + + app.controller('BubbleCtrl', ['$scope', '$interval', function ($scope, $interval) { + $scope.options = { + scales: { + xAxes: [{ + display: false, + ticks: { + max: 125, + min: -125, + stepSize: 10 + } + }], + yAxes: [{ + display: false, + ticks: { + max: 125, + min: -125, + stepSize: 10 + } + }] + } + }; + + createChart(); + $interval(createChart, 2000); + + function createChart () { + $scope.data = []; + for (var i = 0; i < 50; i++) { + $scope.data.push([{ + x: randomScalingFactor(), + y: randomScalingFactor(), + r: randomRadius() + }]); + } + } + + function randomScalingFactor () { + return (Math.random() > 0.5 ? 1.0 : -1.0) * Math.round(Math.random() * 100); + } + + function randomRadius () { + return Math.abs(randomScalingFactor()) / 4; + } + }]); + + app.controller('TicksCtrl', ['$scope', '$interval', function ($scope, $interval) { + var maximum = document.getElementById('container').clientWidth / 2 || 300; + $scope.data = [[]]; + $scope.labels = []; + $scope.options = { + animation: { + duration: 0 + }, + elements: { + line: { + borderWidth: 0.5 + }, + point: { + radius: 0 + } + }, + legend: { + display: false + }, + scales: { + xAxes: [{ + display: false + }], + yAxes: [{ + display: false + }], + gridLines: { + display: false + } + }, + tooltips: { + enabled: false + } + }; + + // Update the dataset at 25FPS for a smoothly-animating chart + $interval(function () { + getLiveChartData(); + }, 40); + + function getLiveChartData () { + if ($scope.data[0].length) { + $scope.labels = $scope.labels.slice(1); + $scope.data[0] = $scope.data[0].slice(1); + } + + while ($scope.data[0].length < maximum) { + $scope.labels.push(''); + $scope.data[0].push(getRandomValue($scope.data[0])); + } + } + }]); + + function getRandomValue (data) { + var l = data.length, previous = l ? data[l - 1] : 50; + var y = previous + Math.random() * 10 - 5; + return y < 0 ? 0 : y > 100 ? 100 : y; + } +})(); diff --git a/www/lib/angular-chart.js/examples/bootstrap.css b/www/lib/angular-chart.js/examples/bootstrap.css new file mode 100644 index 0000000..7f36651 --- /dev/null +++ b/www/lib/angular-chart.js/examples/bootstrap.css @@ -0,0 +1,5785 @@ +/*! + * Bootstrap v3.1.1 (http://getbootstrap.com) + * Copyright 2011-2014 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + */ + +/*! normalize.css v3.0.0 | MIT License | git.io/normalize */ +html { + font-family: sans-serif; + -webkit-text-size-adjust: 100%; + -ms-text-size-adjust: 100%; +} +body { + margin: 0; +} +article, +aside, +details, +figcaption, +figure, +footer, +header, +hgroup, +main, +nav, +section, +summary { + display: block; +} +audio, +canvas, +progress, +video { + display: inline-block; + vertical-align: baseline; +} +audio:not([controls]) { + display: none; + height: 0; +} +[hidden], +template { + display: none; +} +a { + background: transparent; +} +a:active, +a:hover { + outline: 0; +} +abbr[title] { + border-bottom: 1px dotted; +} +b, +strong { + font-weight: bold; +} +dfn { + font-style: italic; +} +h1 { + margin: .67em 0; + font-size: 2em; +} +mark { + color: #000; + background: #ff0; +} +small { + font-size: 80%; +} +sub, +sup { + position: relative; + font-size: 75%; + line-height: 0; + vertical-align: baseline; +} +sup { + top: -.5em; +} +sub { + bottom: -.25em; +} +img { + border: 0; +} +svg:not(:root) { + overflow: hidden; +} +figure { + margin: 1em 40px; +} +hr { + height: 0; + -moz-box-sizing: content-box; + box-sizing: content-box; +} +pre { + overflow: auto; +} +code, +kbd, +pre, +samp { + font-family: monospace, monospace; + font-size: 1em; +} +button, +input, +optgroup, +select, +textarea { + margin: 0; + font: inherit; + color: inherit; +} +button { + overflow: visible; +} +button, +select { + text-transform: none; +} +button, +html input[type="button"], +input[type="reset"], +input[type="submit"] { + -webkit-appearance: button; + cursor: pointer; +} +button[disabled], +html input[disabled] { + cursor: default; +} +button::-moz-focus-inner, +input::-moz-focus-inner { + padding: 0; + border: 0; +} +input { + line-height: normal; +} +input[type="checkbox"], +input[type="radio"] { + box-sizing: border-box; + padding: 0; +} +input[type="number"]::-webkit-inner-spin-button, +input[type="number"]::-webkit-outer-spin-button { + height: auto; +} +input[type="search"] { + -webkit-box-sizing: content-box; + -moz-box-sizing: content-box; + box-sizing: content-box; + -webkit-appearance: textfield; +} +input[type="search"]::-webkit-search-cancel-button, +input[type="search"]::-webkit-search-decoration { + -webkit-appearance: none; +} +fieldset { + padding: .35em .625em .75em; + margin: 0 2px; + border: 1px solid #c0c0c0; +} +legend { + padding: 0; + border: 0; +} +textarea { + overflow: auto; +} +optgroup { + font-weight: bold; +} +table { + border-spacing: 0; + border-collapse: collapse; +} +td, +th { + padding: 0; +} +@media print { + * { + color: #000 !important; + text-shadow: none !important; + background: transparent !important; + box-shadow: none !important; + } + a, + a:visited { + text-decoration: underline; + } + a[href]:after { + content: " (" attr(href) ")"; + } + abbr[title]:after { + content: " (" attr(title) ")"; + } + a[href^="javascript:"]:after, + a[href^="#"]:after { + content: ""; + } + pre, + blockquote { + border: 1px solid #999; + + page-break-inside: avoid; + } + thead { + display: table-header-group; + } + tr, + img { + page-break-inside: avoid; + } + img { + max-width: 100% !important; + } + p, + h2, + h3 { + orphans: 3; + widows: 3; + } + h2, + h3 { + page-break-after: avoid; + } + select { + background: #fff !important; + } + .navbar { + display: none; + } + .table td, + .table th { + background-color: #fff !important; + } + .btn > .caret, + .dropup > .btn > .caret { + border-top-color: #000 !important; + } + .label { + border: 1px solid #000; + } + .table { + border-collapse: collapse !important; + } + .table-bordered th, + .table-bordered td { + border: 1px solid #ddd !important; + } +} +* { + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} +*:before, +*:after { + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} +html { + font-size: 62.5%; + + -webkit-tap-highlight-color: rgba(0, 0, 0, 0); +} +body { + font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; + font-size: 14px; + line-height: 1.42857143; + color: #333; + background-color: #fff; +} +input, +button, +select, +textarea { + font-family: inherit; + font-size: inherit; + line-height: inherit; +} +a { + color: #428bca; + text-decoration: none; +} +a:hover, +a:focus { + color: #2a6496; + text-decoration: underline; +} +a:focus { + outline: thin dotted; + outline: 5px auto -webkit-focus-ring-color; + outline-offset: -2px; +} +figure { + margin: 0; +} +img { + vertical-align: middle; +} +.img-responsive, +.thumbnail > img, +.thumbnail a > img, +.carousel-inner > .item > img, +.carousel-inner > .item > a > img { + display: block; + max-width: 100%; + height: auto; +} +.img-rounded { + border-radius: 6px; +} +.img-thumbnail { + display: inline-block; + max-width: 100%; + height: auto; + padding: 4px; + line-height: 1.42857143; + background-color: #fff; + border: 1px solid #ddd; + border-radius: 4px; + -webkit-transition: all .2s ease-in-out; + transition: all .2s ease-in-out; +} +.img-circle { + border-radius: 50%; +} +hr { + margin-top: 20px; + margin-bottom: 20px; + border: 0; + border-top: 1px solid #eee; +} +.sr-only { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + margin: -1px; + overflow: hidden; + clip: rect(0, 0, 0, 0); + border: 0; +} +h1, +h2, +h3, +h4, +h5, +h6, +.h1, +.h2, +.h3, +.h4, +.h5, +.h6 { + font-family: inherit; + font-weight: 500; + line-height: 1.1; + color: inherit; +} +h1 small, +h2 small, +h3 small, +h4 small, +h5 small, +h6 small, +.h1 small, +.h2 small, +.h3 small, +.h4 small, +.h5 small, +.h6 small, +h1 .small, +h2 .small, +h3 .small, +h4 .small, +h5 .small, +h6 .small, +.h1 .small, +.h2 .small, +.h3 .small, +.h4 .small, +.h5 .small, +.h6 .small { + font-weight: normal; + line-height: 1; + color: #999; +} +h1, +.h1, +h2, +.h2, +h3, +.h3 { + margin-top: 20px; + margin-bottom: 10px; +} +h1 small, +.h1 small, +h2 small, +.h2 small, +h3 small, +.h3 small, +h1 .small, +.h1 .small, +h2 .small, +.h2 .small, +h3 .small, +.h3 .small { + font-size: 65%; +} +h4, +.h4, +h5, +.h5, +h6, +.h6 { + margin-top: 10px; + margin-bottom: 10px; +} +h4 small, +.h4 small, +h5 small, +.h5 small, +h6 small, +.h6 small, +h4 .small, +.h4 .small, +h5 .small, +.h5 .small, +h6 .small, +.h6 .small { + font-size: 75%; +} +h1, +.h1 { + font-size: 36px; +} +h2, +.h2 { + font-size: 30px; +} +h3, +.h3 { + font-size: 24px; +} +h4, +.h4 { + font-size: 18px; +} +h5, +.h5 { + font-size: 14px; +} +h6, +.h6 { + font-size: 12px; +} +p { + margin: 0 0 10px; +} +.lead { + margin-bottom: 20px; + font-size: 16px; + font-weight: 200; + line-height: 1.4; +} +@media (min-width: 768px) { + .lead { + font-size: 21px; + } +} +small, +.small { + font-size: 85%; +} +cite { + font-style: normal; +} +.text-left { + text-align: left; +} +.text-right { + text-align: right; +} +.text-center { + text-align: center; +} +.text-justify { + text-align: justify; +} +.text-muted { + color: #999; +} +.text-primary { + color: #428bca; +} +a.text-primary:hover { + color: #3071a9; +} +.text-success { + color: #3c763d; +} +a.text-success:hover { + color: #2b542c; +} +.text-info { + color: #31708f; +} +a.text-info:hover { + color: #245269; +} +.text-warning { + color: #8a6d3b; +} +a.text-warning:hover { + color: #66512c; +} +.text-danger { + color: #a94442; +} +a.text-danger:hover { + color: #843534; +} +.bg-primary { + color: #fff; + background-color: #428bca; +} +a.bg-primary:hover { + background-color: #3071a9; +} +.bg-success { + background-color: #dff0d8; +} +a.bg-success:hover { + background-color: #c1e2b3; +} +.bg-info { + background-color: #d9edf7; +} +a.bg-info:hover { + background-color: #afd9ee; +} +.bg-warning { + background-color: #fcf8e3; +} +a.bg-warning:hover { + background-color: #f7ecb5; +} +.bg-danger { + background-color: #f2dede; +} +a.bg-danger:hover { + background-color: #e4b9b9; +} +.page-header { + padding-bottom: 9px; + margin: 40px 0 20px; + border-bottom: 1px solid #eee; +} +ul, +ol { + margin-top: 0; + margin-bottom: 10px; +} +ul ul, +ol ul, +ul ol, +ol ol { + margin-bottom: 0; +} +.list-unstyled { + padding-left: 0; + list-style: none; +} +.list-inline { + padding-left: 0; + margin-left: -5px; + list-style: none; +} +.list-inline > li { + display: inline-block; + padding-right: 5px; + padding-left: 5px; +} +dl { + margin-top: 0; + margin-bottom: 20px; +} +dt, +dd { + line-height: 1.42857143; +} +dt { + font-weight: bold; +} +dd { + margin-left: 0; +} +@media (min-width: 768px) { + .dl-horizontal dt { + float: left; + width: 160px; + overflow: hidden; + clear: left; + text-align: right; + text-overflow: ellipsis; + white-space: nowrap; + } + .dl-horizontal dd { + margin-left: 180px; + } +} +abbr[title], +abbr[data-original-title] { + cursor: help; + border-bottom: 1px dotted #999; +} +.initialism { + font-size: 90%; + text-transform: uppercase; +} +blockquote { + padding: 10px 20px; + margin: 0 0 20px; + font-size: 17.5px; + border-left: 5px solid #eee; +} +blockquote p:last-child, +blockquote ul:last-child, +blockquote ol:last-child { + margin-bottom: 0; +} +blockquote footer, +blockquote small, +blockquote .small { + display: block; + font-size: 80%; + line-height: 1.42857143; + color: #999; +} +blockquote footer:before, +blockquote small:before, +blockquote .small:before { + content: '\2014 \00A0'; +} +.blockquote-reverse, +blockquote.pull-right { + padding-right: 15px; + padding-left: 0; + text-align: right; + border-right: 5px solid #eee; + border-left: 0; +} +.blockquote-reverse footer:before, +blockquote.pull-right footer:before, +.blockquote-reverse small:before, +blockquote.pull-right small:before, +.blockquote-reverse .small:before, +blockquote.pull-right .small:before { + content: ''; +} +.blockquote-reverse footer:after, +blockquote.pull-right footer:after, +.blockquote-reverse small:after, +blockquote.pull-right small:after, +.blockquote-reverse .small:after, +blockquote.pull-right .small:after { + content: '\00A0 \2014'; +} +blockquote:before, +blockquote:after { + content: ""; +} +address { + margin-bottom: 20px; + font-style: normal; + line-height: 1.42857143; +} +code, +kbd, +pre, +samp { + font-family: Menlo, Monaco, Consolas, "Courier New", monospace; +} +code { + padding: 2px 4px; + font-size: 90%; + color: #c7254e; + white-space: nowrap; + background-color: #f9f2f4; + border-radius: 4px; +} +kbd { + padding: 2px 4px; + font-size: 90%; + color: #fff; + background-color: #333; + border-radius: 3px; + box-shadow: inset 0 -1px 0 rgba(0, 0, 0, .25); +} +pre { + display: block; + padding: 9.5px; + margin: 0 0 10px; + font-size: 13px; + line-height: 1.42857143; + color: #333; + word-break: break-all; + word-wrap: break-word; + background-color: #f5f5f5; + border: 1px solid #ccc; + border-radius: 4px; +} +pre code { + padding: 0; + font-size: inherit; + color: inherit; + white-space: pre-wrap; + background-color: transparent; + border-radius: 0; +} +.pre-scrollable { + max-height: 340px; + overflow-y: scroll; +} +.container { + padding-right: 15px; + padding-left: 15px; + margin-right: auto; + margin-left: auto; +} +@media (min-width: 768px) { + .container { + width: 750px; + } +} +@media (min-width: 992px) { + .container { + width: 970px; + } +} +@media (min-width: 1200px) { + .container { + width: 1170px; + } +} +.container-fluid { + padding-right: 15px; + padding-left: 15px; + margin-right: auto; + margin-left: auto; +} +.row { + margin-right: -15px; + margin-left: -15px; +} +.col-xs-1, .col-sm-1, .col-md-1, .col-lg-1, .col-xs-2, .col-sm-2, .col-md-2, .col-lg-2, .col-xs-3, .col-sm-3, .col-md-3, .col-lg-3, .col-xs-4, .col-sm-4, .col-md-4, .col-lg-4, .col-xs-5, .col-sm-5, .col-md-5, .col-lg-5, .col-xs-6, .col-sm-6, .col-md-6, .col-lg-6, .col-xs-7, .col-sm-7, .col-md-7, .col-lg-7, .col-xs-8, .col-sm-8, .col-md-8, .col-lg-8, .col-xs-9, .col-sm-9, .col-md-9, .col-lg-9, .col-xs-10, .col-sm-10, .col-md-10, .col-lg-10, .col-xs-11, .col-sm-11, .col-md-11, .col-lg-11, .col-xs-12, .col-sm-12, .col-md-12, .col-lg-12 { + position: relative; + min-height: 1px; + padding-right: 15px; + padding-left: 15px; +} +.col-xs-1, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9, .col-xs-10, .col-xs-11, .col-xs-12 { + float: left; +} +.col-xs-12 { + width: 100%; +} +.col-xs-11 { + width: 91.66666667%; +} +.col-xs-10 { + width: 83.33333333%; +} +.col-xs-9 { + width: 75%; +} +.col-xs-8 { + width: 66.66666667%; +} +.col-xs-7 { + width: 58.33333333%; +} +.col-xs-6 { + width: 50%; +} +.col-xs-5 { + width: 41.66666667%; +} +.col-xs-4 { + width: 33.33333333%; +} +.col-xs-3 { + width: 25%; +} +.col-xs-2 { + width: 16.66666667%; +} +.col-xs-1 { + width: 8.33333333%; +} +.col-xs-pull-12 { + right: 100%; +} +.col-xs-pull-11 { + right: 91.66666667%; +} +.col-xs-pull-10 { + right: 83.33333333%; +} +.col-xs-pull-9 { + right: 75%; +} +.col-xs-pull-8 { + right: 66.66666667%; +} +.col-xs-pull-7 { + right: 58.33333333%; +} +.col-xs-pull-6 { + right: 50%; +} +.col-xs-pull-5 { + right: 41.66666667%; +} +.col-xs-pull-4 { + right: 33.33333333%; +} +.col-xs-pull-3 { + right: 25%; +} +.col-xs-pull-2 { + right: 16.66666667%; +} +.col-xs-pull-1 { + right: 8.33333333%; +} +.col-xs-pull-0 { + right: 0; +} +.col-xs-push-12 { + left: 100%; +} +.col-xs-push-11 { + left: 91.66666667%; +} +.col-xs-push-10 { + left: 83.33333333%; +} +.col-xs-push-9 { + left: 75%; +} +.col-xs-push-8 { + left: 66.66666667%; +} +.col-xs-push-7 { + left: 58.33333333%; +} +.col-xs-push-6 { + left: 50%; +} +.col-xs-push-5 { + left: 41.66666667%; +} +.col-xs-push-4 { + left: 33.33333333%; +} +.col-xs-push-3 { + left: 25%; +} +.col-xs-push-2 { + left: 16.66666667%; +} +.col-xs-push-1 { + left: 8.33333333%; +} +.col-xs-push-0 { + left: 0; +} +.col-xs-offset-12 { + margin-left: 100%; +} +.col-xs-offset-11 { + margin-left: 91.66666667%; +} +.col-xs-offset-10 { + margin-left: 83.33333333%; +} +.col-xs-offset-9 { + margin-left: 75%; +} +.col-xs-offset-8 { + margin-left: 66.66666667%; +} +.col-xs-offset-7 { + margin-left: 58.33333333%; +} +.col-xs-offset-6 { + margin-left: 50%; +} +.col-xs-offset-5 { + margin-left: 41.66666667%; +} +.col-xs-offset-4 { + margin-left: 33.33333333%; +} +.col-xs-offset-3 { + margin-left: 25%; +} +.col-xs-offset-2 { + margin-left: 16.66666667%; +} +.col-xs-offset-1 { + margin-left: 8.33333333%; +} +.col-xs-offset-0 { + margin-left: 0; +} +@media (min-width: 768px) { + .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12 { + float: left; + } + .col-sm-12 { + width: 100%; + } + .col-sm-11 { + width: 91.66666667%; + } + .col-sm-10 { + width: 83.33333333%; + } + .col-sm-9 { + width: 75%; + } + .col-sm-8 { + width: 66.66666667%; + } + .col-sm-7 { + width: 58.33333333%; + } + .col-sm-6 { + width: 50%; + } + .col-sm-5 { + width: 41.66666667%; + } + .col-sm-4 { + width: 33.33333333%; + } + .col-sm-3 { + width: 25%; + } + .col-sm-2 { + width: 16.66666667%; + } + .col-sm-1 { + width: 8.33333333%; + } + .col-sm-pull-12 { + right: 100%; + } + .col-sm-pull-11 { + right: 91.66666667%; + } + .col-sm-pull-10 { + right: 83.33333333%; + } + .col-sm-pull-9 { + right: 75%; + } + .col-sm-pull-8 { + right: 66.66666667%; + } + .col-sm-pull-7 { + right: 58.33333333%; + } + .col-sm-pull-6 { + right: 50%; + } + .col-sm-pull-5 { + right: 41.66666667%; + } + .col-sm-pull-4 { + right: 33.33333333%; + } + .col-sm-pull-3 { + right: 25%; + } + .col-sm-pull-2 { + right: 16.66666667%; + } + .col-sm-pull-1 { + right: 8.33333333%; + } + .col-sm-pull-0 { + right: 0; + } + .col-sm-push-12 { + left: 100%; + } + .col-sm-push-11 { + left: 91.66666667%; + } + .col-sm-push-10 { + left: 83.33333333%; + } + .col-sm-push-9 { + left: 75%; + } + .col-sm-push-8 { + left: 66.66666667%; + } + .col-sm-push-7 { + left: 58.33333333%; + } + .col-sm-push-6 { + left: 50%; + } + .col-sm-push-5 { + left: 41.66666667%; + } + .col-sm-push-4 { + left: 33.33333333%; + } + .col-sm-push-3 { + left: 25%; + } + .col-sm-push-2 { + left: 16.66666667%; + } + .col-sm-push-1 { + left: 8.33333333%; + } + .col-sm-push-0 { + left: 0; + } + .col-sm-offset-12 { + margin-left: 100%; + } + .col-sm-offset-11 { + margin-left: 91.66666667%; + } + .col-sm-offset-10 { + margin-left: 83.33333333%; + } + .col-sm-offset-9 { + margin-left: 75%; + } + .col-sm-offset-8 { + margin-left: 66.66666667%; + } + .col-sm-offset-7 { + margin-left: 58.33333333%; + } + .col-sm-offset-6 { + margin-left: 50%; + } + .col-sm-offset-5 { + margin-left: 41.66666667%; + } + .col-sm-offset-4 { + margin-left: 33.33333333%; + } + .col-sm-offset-3 { + margin-left: 25%; + } + .col-sm-offset-2 { + margin-left: 16.66666667%; + } + .col-sm-offset-1 { + margin-left: 8.33333333%; + } + .col-sm-offset-0 { + margin-left: 0; + } +} +@media (min-width: 992px) { + .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12 { + float: left; + } + .col-md-12 { + width: 100%; + } + .col-md-11 { + width: 91.66666667%; + } + .col-md-10 { + width: 83.33333333%; + } + .col-md-9 { + width: 75%; + } + .col-md-8 { + width: 66.66666667%; + } + .col-md-7 { + width: 58.33333333%; + } + .col-md-6 { + width: 50%; + } + .col-md-5 { + width: 41.66666667%; + } + .col-md-4 { + width: 33.33333333%; + } + .col-md-3 { + width: 25%; + } + .col-md-2 { + width: 16.66666667%; + } + .col-md-1 { + width: 8.33333333%; + } + .col-md-pull-12 { + right: 100%; + } + .col-md-pull-11 { + right: 91.66666667%; + } + .col-md-pull-10 { + right: 83.33333333%; + } + .col-md-pull-9 { + right: 75%; + } + .col-md-pull-8 { + right: 66.66666667%; + } + .col-md-pull-7 { + right: 58.33333333%; + } + .col-md-pull-6 { + right: 50%; + } + .col-md-pull-5 { + right: 41.66666667%; + } + .col-md-pull-4 { + right: 33.33333333%; + } + .col-md-pull-3 { + right: 25%; + } + .col-md-pull-2 { + right: 16.66666667%; + } + .col-md-pull-1 { + right: 8.33333333%; + } + .col-md-pull-0 { + right: 0; + } + .col-md-push-12 { + left: 100%; + } + .col-md-push-11 { + left: 91.66666667%; + } + .col-md-push-10 { + left: 83.33333333%; + } + .col-md-push-9 { + left: 75%; + } + .col-md-push-8 { + left: 66.66666667%; + } + .col-md-push-7 { + left: 58.33333333%; + } + .col-md-push-6 { + left: 50%; + } + .col-md-push-5 { + left: 41.66666667%; + } + .col-md-push-4 { + left: 33.33333333%; + } + .col-md-push-3 { + left: 25%; + } + .col-md-push-2 { + left: 16.66666667%; + } + .col-md-push-1 { + left: 8.33333333%; + } + .col-md-push-0 { + left: 0; + } + .col-md-offset-12 { + margin-left: 100%; + } + .col-md-offset-11 { + margin-left: 91.66666667%; + } + .col-md-offset-10 { + margin-left: 83.33333333%; + } + .col-md-offset-9 { + margin-left: 75%; + } + .col-md-offset-8 { + margin-left: 66.66666667%; + } + .col-md-offset-7 { + margin-left: 58.33333333%; + } + .col-md-offset-6 { + margin-left: 50%; + } + .col-md-offset-5 { + margin-left: 41.66666667%; + } + .col-md-offset-4 { + margin-left: 33.33333333%; + } + .col-md-offset-3 { + margin-left: 25%; + } + .col-md-offset-2 { + margin-left: 16.66666667%; + } + .col-md-offset-1 { + margin-left: 8.33333333%; + } + .col-md-offset-0 { + margin-left: 0; + } +} +@media (min-width: 1200px) { + .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12 { + float: left; + } + .col-lg-12 { + width: 100%; + } + .col-lg-11 { + width: 91.66666667%; + } + .col-lg-10 { + width: 83.33333333%; + } + .col-lg-9 { + width: 75%; + } + .col-lg-8 { + width: 66.66666667%; + } + .col-lg-7 { + width: 58.33333333%; + } + .col-lg-6 { + width: 50%; + } + .col-lg-5 { + width: 41.66666667%; + } + .col-lg-4 { + width: 33.33333333%; + } + .col-lg-3 { + width: 25%; + } + .col-lg-2 { + width: 16.66666667%; + } + .col-lg-1 { + width: 8.33333333%; + } + .col-lg-pull-12 { + right: 100%; + } + .col-lg-pull-11 { + right: 91.66666667%; + } + .col-lg-pull-10 { + right: 83.33333333%; + } + .col-lg-pull-9 { + right: 75%; + } + .col-lg-pull-8 { + right: 66.66666667%; + } + .col-lg-pull-7 { + right: 58.33333333%; + } + .col-lg-pull-6 { + right: 50%; + } + .col-lg-pull-5 { + right: 41.66666667%; + } + .col-lg-pull-4 { + right: 33.33333333%; + } + .col-lg-pull-3 { + right: 25%; + } + .col-lg-pull-2 { + right: 16.66666667%; + } + .col-lg-pull-1 { + right: 8.33333333%; + } + .col-lg-pull-0 { + right: 0; + } + .col-lg-push-12 { + left: 100%; + } + .col-lg-push-11 { + left: 91.66666667%; + } + .col-lg-push-10 { + left: 83.33333333%; + } + .col-lg-push-9 { + left: 75%; + } + .col-lg-push-8 { + left: 66.66666667%; + } + .col-lg-push-7 { + left: 58.33333333%; + } + .col-lg-push-6 { + left: 50%; + } + .col-lg-push-5 { + left: 41.66666667%; + } + .col-lg-push-4 { + left: 33.33333333%; + } + .col-lg-push-3 { + left: 25%; + } + .col-lg-push-2 { + left: 16.66666667%; + } + .col-lg-push-1 { + left: 8.33333333%; + } + .col-lg-push-0 { + left: 0; + } + .col-lg-offset-12 { + margin-left: 100%; + } + .col-lg-offset-11 { + margin-left: 91.66666667%; + } + .col-lg-offset-10 { + margin-left: 83.33333333%; + } + .col-lg-offset-9 { + margin-left: 75%; + } + .col-lg-offset-8 { + margin-left: 66.66666667%; + } + .col-lg-offset-7 { + margin-left: 58.33333333%; + } + .col-lg-offset-6 { + margin-left: 50%; + } + .col-lg-offset-5 { + margin-left: 41.66666667%; + } + .col-lg-offset-4 { + margin-left: 33.33333333%; + } + .col-lg-offset-3 { + margin-left: 25%; + } + .col-lg-offset-2 { + margin-left: 16.66666667%; + } + .col-lg-offset-1 { + margin-left: 8.33333333%; + } + .col-lg-offset-0 { + margin-left: 0; + } +} +table { + max-width: 100%; + background-color: transparent; +} +th { + text-align: left; +} +.table { + width: 100%; + margin-bottom: 20px; +} +.table > thead > tr > th, +.table > tbody > tr > th, +.table > tfoot > tr > th, +.table > thead > tr > td, +.table > tbody > tr > td, +.table > tfoot > tr > td { + padding: 8px; + line-height: 1.42857143; + vertical-align: top; + border-top: 1px solid #ddd; +} +.table > thead > tr > th { + vertical-align: bottom; + border-bottom: 2px solid #ddd; +} +.table > caption + thead > tr:first-child > th, +.table > colgroup + thead > tr:first-child > th, +.table > thead:first-child > tr:first-child > th, +.table > caption + thead > tr:first-child > td, +.table > colgroup + thead > tr:first-child > td, +.table > thead:first-child > tr:first-child > td { + border-top: 0; +} +.table > tbody + tbody { + border-top: 2px solid #ddd; +} +.table .table { + background-color: #fff; +} +.table-condensed > thead > tr > th, +.table-condensed > tbody > tr > th, +.table-condensed > tfoot > tr > th, +.table-condensed > thead > tr > td, +.table-condensed > tbody > tr > td, +.table-condensed > tfoot > tr > td { + padding: 5px; +} +.table-bordered { + border: 1px solid #ddd; +} +.table-bordered > thead > tr > th, +.table-bordered > tbody > tr > th, +.table-bordered > tfoot > tr > th, +.table-bordered > thead > tr > td, +.table-bordered > tbody > tr > td, +.table-bordered > tfoot > tr > td { + border: 1px solid #ddd; +} +.table-bordered > thead > tr > th, +.table-bordered > thead > tr > td { + border-bottom-width: 2px; +} +.table-striped > tbody > tr:nth-child(odd) > td, +.table-striped > tbody > tr:nth-child(odd) > th { + background-color: #f9f9f9; +} +.table-hover > tbody > tr:hover > td, +.table-hover > tbody > tr:hover > th { + background-color: #f5f5f5; +} +table col[class*="col-"] { + position: static; + display: table-column; + float: none; +} +table td[class*="col-"], +table th[class*="col-"] { + position: static; + display: table-cell; + float: none; +} +.table > thead > tr > td.active, +.table > tbody > tr > td.active, +.table > tfoot > tr > td.active, +.table > thead > tr > th.active, +.table > tbody > tr > th.active, +.table > tfoot > tr > th.active, +.table > thead > tr.active > td, +.table > tbody > tr.active > td, +.table > tfoot > tr.active > td, +.table > thead > tr.active > th, +.table > tbody > tr.active > th, +.table > tfoot > tr.active > th { + background-color: #f5f5f5; +} +.table-hover > tbody > tr > td.active:hover, +.table-hover > tbody > tr > th.active:hover, +.table-hover > tbody > tr.active:hover > td, +.table-hover > tbody > tr.active:hover > th { + background-color: #e8e8e8; +} +.table > thead > tr > td.success, +.table > tbody > tr > td.success, +.table > tfoot > tr > td.success, +.table > thead > tr > th.success, +.table > tbody > tr > th.success, +.table > tfoot > tr > th.success, +.table > thead > tr.success > td, +.table > tbody > tr.success > td, +.table > tfoot > tr.success > td, +.table > thead > tr.success > th, +.table > tbody > tr.success > th, +.table > tfoot > tr.success > th { + background-color: #dff0d8; +} +.table-hover > tbody > tr > td.success:hover, +.table-hover > tbody > tr > th.success:hover, +.table-hover > tbody > tr.success:hover > td, +.table-hover > tbody > tr.success:hover > th { + background-color: #d0e9c6; +} +.table > thead > tr > td.info, +.table > tbody > tr > td.info, +.table > tfoot > tr > td.info, +.table > thead > tr > th.info, +.table > tbody > tr > th.info, +.table > tfoot > tr > th.info, +.table > thead > tr.info > td, +.table > tbody > tr.info > td, +.table > tfoot > tr.info > td, +.table > thead > tr.info > th, +.table > tbody > tr.info > th, +.table > tfoot > tr.info > th { + background-color: #d9edf7; +} +.table-hover > tbody > tr > td.info:hover, +.table-hover > tbody > tr > th.info:hover, +.table-hover > tbody > tr.info:hover > td, +.table-hover > tbody > tr.info:hover > th { + background-color: #c4e3f3; +} +.table > thead > tr > td.warning, +.table > tbody > tr > td.warning, +.table > tfoot > tr > td.warning, +.table > thead > tr > th.warning, +.table > tbody > tr > th.warning, +.table > tfoot > tr > th.warning, +.table > thead > tr.warning > td, +.table > tbody > tr.warning > td, +.table > tfoot > tr.warning > td, +.table > thead > tr.warning > th, +.table > tbody > tr.warning > th, +.table > tfoot > tr.warning > th { + background-color: #fcf8e3; +} +.table-hover > tbody > tr > td.warning:hover, +.table-hover > tbody > tr > th.warning:hover, +.table-hover > tbody > tr.warning:hover > td, +.table-hover > tbody > tr.warning:hover > th { + background-color: #faf2cc; +} +.table > thead > tr > td.danger, +.table > tbody > tr > td.danger, +.table > tfoot > tr > td.danger, +.table > thead > tr > th.danger, +.table > tbody > tr > th.danger, +.table > tfoot > tr > th.danger, +.table > thead > tr.danger > td, +.table > tbody > tr.danger > td, +.table > tfoot > tr.danger > td, +.table > thead > tr.danger > th, +.table > tbody > tr.danger > th, +.table > tfoot > tr.danger > th { + background-color: #f2dede; +} +.table-hover > tbody > tr > td.danger:hover, +.table-hover > tbody > tr > th.danger:hover, +.table-hover > tbody > tr.danger:hover > td, +.table-hover > tbody > tr.danger:hover > th { + background-color: #ebcccc; +} +@media (max-width: 767px) { + .table-responsive { + width: 100%; + margin-bottom: 15px; + overflow-x: scroll; + overflow-y: hidden; + -webkit-overflow-scrolling: touch; + -ms-overflow-style: -ms-autohiding-scrollbar; + border: 1px solid #ddd; + } + .table-responsive > .table { + margin-bottom: 0; + } + .table-responsive > .table > thead > tr > th, + .table-responsive > .table > tbody > tr > th, + .table-responsive > .table > tfoot > tr > th, + .table-responsive > .table > thead > tr > td, + .table-responsive > .table > tbody > tr > td, + .table-responsive > .table > tfoot > tr > td { + white-space: nowrap; + } + .table-responsive > .table-bordered { + border: 0; + } + .table-responsive > .table-bordered > thead > tr > th:first-child, + .table-responsive > .table-bordered > tbody > tr > th:first-child, + .table-responsive > .table-bordered > tfoot > tr > th:first-child, + .table-responsive > .table-bordered > thead > tr > td:first-child, + .table-responsive > .table-bordered > tbody > tr > td:first-child, + .table-responsive > .table-bordered > tfoot > tr > td:first-child { + border-left: 0; + } + .table-responsive > .table-bordered > thead > tr > th:last-child, + .table-responsive > .table-bordered > tbody > tr > th:last-child, + .table-responsive > .table-bordered > tfoot > tr > th:last-child, + .table-responsive > .table-bordered > thead > tr > td:last-child, + .table-responsive > .table-bordered > tbody > tr > td:last-child, + .table-responsive > .table-bordered > tfoot > tr > td:last-child { + border-right: 0; + } + .table-responsive > .table-bordered > tbody > tr:last-child > th, + .table-responsive > .table-bordered > tfoot > tr:last-child > th, + .table-responsive > .table-bordered > tbody > tr:last-child > td, + .table-responsive > .table-bordered > tfoot > tr:last-child > td { + border-bottom: 0; + } +} +fieldset { + min-width: 0; + padding: 0; + margin: 0; + border: 0; +} +legend { + display: block; + width: 100%; + padding: 0; + margin-bottom: 20px; + font-size: 21px; + line-height: inherit; + color: #333; + border: 0; + border-bottom: 1px solid #e5e5e5; +} +label { + display: inline-block; + margin-bottom: 5px; + font-weight: bold; +} +input[type="search"] { + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} +input[type="radio"], +input[type="checkbox"] { + margin: 4px 0 0; + margin-top: 1px \9; + /* IE8-9 */ + line-height: normal; +} +input[type="file"] { + display: block; +} +input[type="range"] { + display: block; + width: 100%; +} +select[multiple], +select[size] { + height: auto; +} +input[type="file"]:focus, +input[type="radio"]:focus, +input[type="checkbox"]:focus { + outline: thin dotted; + outline: 5px auto -webkit-focus-ring-color; + outline-offset: -2px; +} +output { + display: block; + padding-top: 7px; + font-size: 14px; + line-height: 1.42857143; + color: #555; +} +.form-control { + display: block; + width: 100%; + height: 34px; + padding: 6px 12px; + font-size: 14px; + line-height: 1.42857143; + color: #555; + background-color: #fff; + background-image: none; + border: 1px solid #ccc; + border-radius: 4px; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075); + -webkit-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s; + transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s; +} +.form-control:focus { + border-color: #66afe9; + outline: 0; + -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, .6); + box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, .6); +} +.form-control::-moz-placeholder { + color: #999; + opacity: 1; +} +.form-control:-ms-input-placeholder { + color: #999; +} +.form-control::-webkit-input-placeholder { + color: #999; +} +.form-control[disabled], +.form-control[readonly], +fieldset[disabled] .form-control { + cursor: not-allowed; + background-color: #eee; + opacity: 1; +} +textarea.form-control { + height: auto; +} +input[type="search"] { + -webkit-appearance: none; +} +input[type="date"] { + line-height: 34px; +} +.form-group { + margin-bottom: 15px; +} +.radio, +.checkbox { + display: block; + min-height: 20px; + padding-left: 20px; + margin-top: 10px; + margin-bottom: 10px; +} +.radio label, +.checkbox label { + display: inline; + font-weight: normal; + cursor: pointer; +} +.radio input[type="radio"], +.radio-inline input[type="radio"], +.checkbox input[type="checkbox"], +.checkbox-inline input[type="checkbox"] { + float: left; + margin-left: -20px; +} +.radio + .radio, +.checkbox + .checkbox { + margin-top: -5px; +} +.radio-inline, +.checkbox-inline { + display: inline-block; + padding-left: 20px; + margin-bottom: 0; + font-weight: normal; + vertical-align: middle; + cursor: pointer; +} +.radio-inline + .radio-inline, +.checkbox-inline + .checkbox-inline { + margin-top: 0; + margin-left: 10px; +} +input[type="radio"][disabled], +input[type="checkbox"][disabled], +.radio[disabled], +.radio-inline[disabled], +.checkbox[disabled], +.checkbox-inline[disabled], +fieldset[disabled] input[type="radio"], +fieldset[disabled] input[type="checkbox"], +fieldset[disabled] .radio, +fieldset[disabled] .radio-inline, +fieldset[disabled] .checkbox, +fieldset[disabled] .checkbox-inline { + cursor: not-allowed; +} +.input-sm { + height: 30px; + padding: 5px 10px; + font-size: 12px; + line-height: 1.5; + border-radius: 3px; +} +select.input-sm { + height: 30px; + line-height: 30px; +} +textarea.input-sm, +select[multiple].input-sm { + height: auto; +} +.input-lg { + height: 46px; + padding: 10px 16px; + font-size: 18px; + line-height: 1.33; + border-radius: 6px; +} +select.input-lg { + height: 46px; + line-height: 46px; +} +textarea.input-lg, +select[multiple].input-lg { + height: auto; +} +.has-feedback { + position: relative; +} +.has-feedback .form-control { + padding-right: 42.5px; +} +.has-feedback .form-control-feedback { + position: absolute; + top: 25px; + right: 0; + display: block; + width: 34px; + height: 34px; + line-height: 34px; + text-align: center; +} +.has-success .help-block, +.has-success .control-label, +.has-success .radio, +.has-success .checkbox, +.has-success .radio-inline, +.has-success .checkbox-inline { + color: #3c763d; +} +.has-success .form-control { + border-color: #3c763d; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075); +} +.has-success .form-control:focus { + border-color: #2b542c; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #67b168; + box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #67b168; +} +.has-success .input-group-addon { + color: #3c763d; + background-color: #dff0d8; + border-color: #3c763d; +} +.has-success .form-control-feedback { + color: #3c763d; +} +.has-warning .help-block, +.has-warning .control-label, +.has-warning .radio, +.has-warning .checkbox, +.has-warning .radio-inline, +.has-warning .checkbox-inline { + color: #8a6d3b; +} +.has-warning .form-control { + border-color: #8a6d3b; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075); +} +.has-warning .form-control:focus { + border-color: #66512c; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #c0a16b; + box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #c0a16b; +} +.has-warning .input-group-addon { + color: #8a6d3b; + background-color: #fcf8e3; + border-color: #8a6d3b; +} +.has-warning .form-control-feedback { + color: #8a6d3b; +} +.has-error .help-block, +.has-error .control-label, +.has-error .radio, +.has-error .checkbox, +.has-error .radio-inline, +.has-error .checkbox-inline { + color: #a94442; +} +.has-error .form-control { + border-color: #a94442; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075); +} +.has-error .form-control:focus { + border-color: #843534; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #ce8483; + box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #ce8483; +} +.has-error .input-group-addon { + color: #a94442; + background-color: #f2dede; + border-color: #a94442; +} +.has-error .form-control-feedback { + color: #a94442; +} +.form-control-static { + margin-bottom: 0; +} +.help-block { + display: block; + margin-top: 5px; + margin-bottom: 10px; + color: #737373; +} +@media (min-width: 768px) { + .form-inline .form-group { + display: inline-block; + margin-bottom: 0; + vertical-align: middle; + } + .form-inline .form-control { + display: inline-block; + width: auto; + vertical-align: middle; + } + .form-inline .input-group > .form-control { + width: 100%; + } + .form-inline .control-label { + margin-bottom: 0; + vertical-align: middle; + } + .form-inline .radio, + .form-inline .checkbox { + display: inline-block; + padding-left: 0; + margin-top: 0; + margin-bottom: 0; + vertical-align: middle; + } + .form-inline .radio input[type="radio"], + .form-inline .checkbox input[type="checkbox"] { + float: none; + margin-left: 0; + } + .form-inline .has-feedback .form-control-feedback { + top: 0; + } +} +.form-horizontal .control-label, +.form-horizontal .radio, +.form-horizontal .checkbox, +.form-horizontal .radio-inline, +.form-horizontal .checkbox-inline { + padding-top: 7px; + margin-top: 0; + margin-bottom: 0; +} +.form-horizontal .radio, +.form-horizontal .checkbox { + min-height: 27px; +} +.form-horizontal .form-group { + margin-right: -15px; + margin-left: -15px; +} +.form-horizontal .form-control-static { + padding-top: 7px; +} +@media (min-width: 768px) { + .form-horizontal .control-label { + text-align: right; + } +} +.form-horizontal .has-feedback .form-control-feedback { + top: 0; + right: 15px; +} +.btn { + display: inline-block; + padding: 6px 12px; + margin-bottom: 0; + font-size: 14px; + font-weight: normal; + line-height: 1.42857143; + text-align: center; + white-space: nowrap; + vertical-align: middle; + cursor: pointer; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + background-image: none; + border: 1px solid transparent; + border-radius: 4px; +} +.btn:focus, +.btn:active:focus, +.btn.active:focus { + outline: thin dotted; + outline: 5px auto -webkit-focus-ring-color; + outline-offset: -2px; +} +.btn:hover, +.btn:focus { + color: #333; + text-decoration: none; +} +.btn:active, +.btn.active { + background-image: none; + outline: 0; + -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125); + box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125); +} +.btn.disabled, +.btn[disabled], +fieldset[disabled] .btn { + pointer-events: none; + cursor: not-allowed; + filter: alpha(opacity=65); + -webkit-box-shadow: none; + box-shadow: none; + opacity: .65; +} +.btn-default { + color: #333; + background-color: #fff; + border-color: #ccc; +} +.btn-default:hover, +.btn-default:focus, +.btn-default:active, +.btn-default.active, +.open .dropdown-toggle.btn-default { + color: #333; + background-color: #ebebeb; + border-color: #adadad; +} +.btn-default:active, +.btn-default.active, +.open .dropdown-toggle.btn-default { + background-image: none; +} +.btn-default.disabled, +.btn-default[disabled], +fieldset[disabled] .btn-default, +.btn-default.disabled:hover, +.btn-default[disabled]:hover, +fieldset[disabled] .btn-default:hover, +.btn-default.disabled:focus, +.btn-default[disabled]:focus, +fieldset[disabled] .btn-default:focus, +.btn-default.disabled:active, +.btn-default[disabled]:active, +fieldset[disabled] .btn-default:active, +.btn-default.disabled.active, +.btn-default[disabled].active, +fieldset[disabled] .btn-default.active { + background-color: #fff; + border-color: #ccc; +} +.btn-default .badge { + color: #fff; + background-color: #333; +} +.btn-primary { + color: #fff; + background-color: #428bca; + border-color: #357ebd; +} +.btn-primary:hover, +.btn-primary:focus, +.btn-primary:active, +.btn-primary.active, +.open .dropdown-toggle.btn-primary { + color: #fff; + background-color: #3276b1; + border-color: #285e8e; +} +.btn-primary:active, +.btn-primary.active, +.open .dropdown-toggle.btn-primary { + background-image: none; +} +.btn-primary.disabled, +.btn-primary[disabled], +fieldset[disabled] .btn-primary, +.btn-primary.disabled:hover, +.btn-primary[disabled]:hover, +fieldset[disabled] .btn-primary:hover, +.btn-primary.disabled:focus, +.btn-primary[disabled]:focus, +fieldset[disabled] .btn-primary:focus, +.btn-primary.disabled:active, +.btn-primary[disabled]:active, +fieldset[disabled] .btn-primary:active, +.btn-primary.disabled.active, +.btn-primary[disabled].active, +fieldset[disabled] .btn-primary.active { + background-color: #428bca; + border-color: #357ebd; +} +.btn-primary .badge { + color: #428bca; + background-color: #fff; +} +.btn-success { + color: #fff; + background-color: #5cb85c; + border-color: #4cae4c; +} +.btn-success:hover, +.btn-success:focus, +.btn-success:active, +.btn-success.active, +.open .dropdown-toggle.btn-success { + color: #fff; + background-color: #47a447; + border-color: #398439; +} +.btn-success:active, +.btn-success.active, +.open .dropdown-toggle.btn-success { + background-image: none; +} +.btn-success.disabled, +.btn-success[disabled], +fieldset[disabled] .btn-success, +.btn-success.disabled:hover, +.btn-success[disabled]:hover, +fieldset[disabled] .btn-success:hover, +.btn-success.disabled:focus, +.btn-success[disabled]:focus, +fieldset[disabled] .btn-success:focus, +.btn-success.disabled:active, +.btn-success[disabled]:active, +fieldset[disabled] .btn-success:active, +.btn-success.disabled.active, +.btn-success[disabled].active, +fieldset[disabled] .btn-success.active { + background-color: #5cb85c; + border-color: #4cae4c; +} +.btn-success .badge { + color: #5cb85c; + background-color: #fff; +} +.btn-info { + color: #fff; + background-color: #5bc0de; + border-color: #46b8da; +} +.btn-info:hover, +.btn-info:focus, +.btn-info:active, +.btn-info.active, +.open .dropdown-toggle.btn-info { + color: #fff; + background-color: #39b3d7; + border-color: #269abc; +} +.btn-info:active, +.btn-info.active, +.open .dropdown-toggle.btn-info { + background-image: none; +} +.btn-info.disabled, +.btn-info[disabled], +fieldset[disabled] .btn-info, +.btn-info.disabled:hover, +.btn-info[disabled]:hover, +fieldset[disabled] .btn-info:hover, +.btn-info.disabled:focus, +.btn-info[disabled]:focus, +fieldset[disabled] .btn-info:focus, +.btn-info.disabled:active, +.btn-info[disabled]:active, +fieldset[disabled] .btn-info:active, +.btn-info.disabled.active, +.btn-info[disabled].active, +fieldset[disabled] .btn-info.active { + background-color: #5bc0de; + border-color: #46b8da; +} +.btn-info .badge { + color: #5bc0de; + background-color: #fff; +} +.btn-warning { + color: #fff; + background-color: #f0ad4e; + border-color: #eea236; +} +.btn-warning:hover, +.btn-warning:focus, +.btn-warning:active, +.btn-warning.active, +.open .dropdown-toggle.btn-warning { + color: #fff; + background-color: #ed9c28; + border-color: #d58512; +} +.btn-warning:active, +.btn-warning.active, +.open .dropdown-toggle.btn-warning { + background-image: none; +} +.btn-warning.disabled, +.btn-warning[disabled], +fieldset[disabled] .btn-warning, +.btn-warning.disabled:hover, +.btn-warning[disabled]:hover, +fieldset[disabled] .btn-warning:hover, +.btn-warning.disabled:focus, +.btn-warning[disabled]:focus, +fieldset[disabled] .btn-warning:focus, +.btn-warning.disabled:active, +.btn-warning[disabled]:active, +fieldset[disabled] .btn-warning:active, +.btn-warning.disabled.active, +.btn-warning[disabled].active, +fieldset[disabled] .btn-warning.active { + background-color: #f0ad4e; + border-color: #eea236; +} +.btn-warning .badge { + color: #f0ad4e; + background-color: #fff; +} +.btn-danger { + color: #fff; + background-color: #d9534f; + border-color: #d43f3a; +} +.btn-danger:hover, +.btn-danger:focus, +.btn-danger:active, +.btn-danger.active, +.open .dropdown-toggle.btn-danger { + color: #fff; + background-color: #d2322d; + border-color: #ac2925; +} +.btn-danger:active, +.btn-danger.active, +.open .dropdown-toggle.btn-danger { + background-image: none; +} +.btn-danger.disabled, +.btn-danger[disabled], +fieldset[disabled] .btn-danger, +.btn-danger.disabled:hover, +.btn-danger[disabled]:hover, +fieldset[disabled] .btn-danger:hover, +.btn-danger.disabled:focus, +.btn-danger[disabled]:focus, +fieldset[disabled] .btn-danger:focus, +.btn-danger.disabled:active, +.btn-danger[disabled]:active, +fieldset[disabled] .btn-danger:active, +.btn-danger.disabled.active, +.btn-danger[disabled].active, +fieldset[disabled] .btn-danger.active { + background-color: #d9534f; + border-color: #d43f3a; +} +.btn-danger .badge { + color: #d9534f; + background-color: #fff; +} +.btn-link { + font-weight: normal; + color: #428bca; + cursor: pointer; + border-radius: 0; +} +.btn-link, +.btn-link:active, +.btn-link[disabled], +fieldset[disabled] .btn-link { + background-color: transparent; + -webkit-box-shadow: none; + box-shadow: none; +} +.btn-link, +.btn-link:hover, +.btn-link:focus, +.btn-link:active { + border-color: transparent; +} +.btn-link:hover, +.btn-link:focus { + color: #2a6496; + text-decoration: underline; + background-color: transparent; +} +.btn-link[disabled]:hover, +fieldset[disabled] .btn-link:hover, +.btn-link[disabled]:focus, +fieldset[disabled] .btn-link:focus { + color: #999; + text-decoration: none; +} +.btn-lg, +.btn-group-lg > .btn { + padding: 10px 16px; + font-size: 18px; + line-height: 1.33; + border-radius: 6px; +} +.btn-sm, +.btn-group-sm > .btn { + padding: 5px 10px; + font-size: 12px; + line-height: 1.5; + border-radius: 3px; +} +.btn-xs, +.btn-group-xs > .btn { + padding: 1px 5px; + font-size: 12px; + line-height: 1.5; + border-radius: 3px; +} +.btn-block { + display: block; + width: 100%; + padding-right: 0; + padding-left: 0; +} +.btn-block + .btn-block { + margin-top: 5px; +} +input[type="submit"].btn-block, +input[type="reset"].btn-block, +input[type="button"].btn-block { + width: 100%; +} +.fade { + opacity: 0; + -webkit-transition: opacity .15s linear; + transition: opacity .15s linear; +} +.fade.in { + opacity: 1; +} +.collapse { + display: none; +} +.collapse.in { + display: block; +} +.collapsing { + position: relative; + height: 0; + overflow: hidden; + -webkit-transition: height .35s ease; + transition: height .35s ease; +} +@font-face { + font-family: 'Glyphicons Halflings'; + + src: url('../fonts/glyphicons-halflings-regular.eot'); + src: url('../fonts/glyphicons-halflings-regular.eot?#iefix') format('embedded-opentype'), url('../fonts/glyphicons-halflings-regular.woff') format('woff'), url('../fonts/glyphicons-halflings-regular.ttf') format('truetype'), url('../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular') format('svg'); +} +.glyphicon { + position: relative; + top: 1px; + display: inline-block; + font-family: 'Glyphicons Halflings'; + font-style: normal; + font-weight: normal; + line-height: 1; + + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} +.glyphicon-asterisk:before { + content: "\2a"; +} +.glyphicon-plus:before { + content: "\2b"; +} +.glyphicon-euro:before { + content: "\20ac"; +} +.glyphicon-minus:before { + content: "\2212"; +} +.glyphicon-cloud:before { + content: "\2601"; +} +.glyphicon-envelope:before { + content: "\2709"; +} +.glyphicon-pencil:before { + content: "\270f"; +} +.glyphicon-glass:before { + content: "\e001"; +} +.glyphicon-music:before { + content: "\e002"; +} +.glyphicon-search:before { + content: "\e003"; +} +.glyphicon-heart:before { + content: "\e005"; +} +.glyphicon-star:before { + content: "\e006"; +} +.glyphicon-star-empty:before { + content: "\e007"; +} +.glyphicon-user:before { + content: "\e008"; +} +.glyphicon-film:before { + content: "\e009"; +} +.glyphicon-th-large:before { + content: "\e010"; +} +.glyphicon-th:before { + content: "\e011"; +} +.glyphicon-th-list:before { + content: "\e012"; +} +.glyphicon-ok:before { + content: "\e013"; +} +.glyphicon-remove:before { + content: "\e014"; +} +.glyphicon-zoom-in:before { + content: "\e015"; +} +.glyphicon-zoom-out:before { + content: "\e016"; +} +.glyphicon-off:before { + content: "\e017"; +} +.glyphicon-signal:before { + content: "\e018"; +} +.glyphicon-cog:before { + content: "\e019"; +} +.glyphicon-trash:before { + content: "\e020"; +} +.glyphicon-home:before { + content: "\e021"; +} +.glyphicon-file:before { + content: "\e022"; +} +.glyphicon-time:before { + content: "\e023"; +} +.glyphicon-road:before { + content: "\e024"; +} +.glyphicon-download-alt:before { + content: "\e025"; +} +.glyphicon-download:before { + content: "\e026"; +} +.glyphicon-upload:before { + content: "\e027"; +} +.glyphicon-inbox:before { + content: "\e028"; +} +.glyphicon-play-circle:before { + content: "\e029"; +} +.glyphicon-repeat:before { + content: "\e030"; +} +.glyphicon-refresh:before { + content: "\e031"; +} +.glyphicon-list-alt:before { + content: "\e032"; +} +.glyphicon-lock:before { + content: "\e033"; +} +.glyphicon-flag:before { + content: "\e034"; +} +.glyphicon-headphones:before { + content: "\e035"; +} +.glyphicon-volume-off:before { + content: "\e036"; +} +.glyphicon-volume-down:before { + content: "\e037"; +} +.glyphicon-volume-up:before { + content: "\e038"; +} +.glyphicon-qrcode:before { + content: "\e039"; +} +.glyphicon-barcode:before { + content: "\e040"; +} +.glyphicon-tag:before { + content: "\e041"; +} +.glyphicon-tags:before { + content: "\e042"; +} +.glyphicon-book:before { + content: "\e043"; +} +.glyphicon-bookmark:before { + content: "\e044"; +} +.glyphicon-print:before { + content: "\e045"; +} +.glyphicon-camera:before { + content: "\e046"; +} +.glyphicon-font:before { + content: "\e047"; +} +.glyphicon-bold:before { + content: "\e048"; +} +.glyphicon-italic:before { + content: "\e049"; +} +.glyphicon-text-height:before { + content: "\e050"; +} +.glyphicon-text-width:before { + content: "\e051"; +} +.glyphicon-align-left:before { + content: "\e052"; +} +.glyphicon-align-center:before { + content: "\e053"; +} +.glyphicon-align-right:before { + content: "\e054"; +} +.glyphicon-align-justify:before { + content: "\e055"; +} +.glyphicon-list:before { + content: "\e056"; +} +.glyphicon-indent-left:before { + content: "\e057"; +} +.glyphicon-indent-right:before { + content: "\e058"; +} +.glyphicon-facetime-video:before { + content: "\e059"; +} +.glyphicon-picture:before { + content: "\e060"; +} +.glyphicon-map-marker:before { + content: "\e062"; +} +.glyphicon-adjust:before { + content: "\e063"; +} +.glyphicon-tint:before { + content: "\e064"; +} +.glyphicon-edit:before { + content: "\e065"; +} +.glyphicon-share:before { + content: "\e066"; +} +.glyphicon-check:before { + content: "\e067"; +} +.glyphicon-move:before { + content: "\e068"; +} +.glyphicon-step-backward:before { + content: "\e069"; +} +.glyphicon-fast-backward:before { + content: "\e070"; +} +.glyphicon-backward:before { + content: "\e071"; +} +.glyphicon-play:before { + content: "\e072"; +} +.glyphicon-pause:before { + content: "\e073"; +} +.glyphicon-stop:before { + content: "\e074"; +} +.glyphicon-forward:before { + content: "\e075"; +} +.glyphicon-fast-forward:before { + content: "\e076"; +} +.glyphicon-step-forward:before { + content: "\e077"; +} +.glyphicon-eject:before { + content: "\e078"; +} +.glyphicon-chevron-left:before { + content: "\e079"; +} +.glyphicon-chevron-right:before { + content: "\e080"; +} +.glyphicon-plus-sign:before { + content: "\e081"; +} +.glyphicon-minus-sign:before { + content: "\e082"; +} +.glyphicon-remove-sign:before { + content: "\e083"; +} +.glyphicon-ok-sign:before { + content: "\e084"; +} +.glyphicon-question-sign:before { + content: "\e085"; +} +.glyphicon-info-sign:before { + content: "\e086"; +} +.glyphicon-screenshot:before { + content: "\e087"; +} +.glyphicon-remove-circle:before { + content: "\e088"; +} +.glyphicon-ok-circle:before { + content: "\e089"; +} +.glyphicon-ban-circle:before { + content: "\e090"; +} +.glyphicon-arrow-left:before { + content: "\e091"; +} +.glyphicon-arrow-right:before { + content: "\e092"; +} +.glyphicon-arrow-up:before { + content: "\e093"; +} +.glyphicon-arrow-down:before { + content: "\e094"; +} +.glyphicon-share-alt:before { + content: "\e095"; +} +.glyphicon-resize-full:before { + content: "\e096"; +} +.glyphicon-resize-small:before { + content: "\e097"; +} +.glyphicon-exclamation-sign:before { + content: "\e101"; +} +.glyphicon-gift:before { + content: "\e102"; +} +.glyphicon-leaf:before { + content: "\e103"; +} +.glyphicon-fire:before { + content: "\e104"; +} +.glyphicon-eye-open:before { + content: "\e105"; +} +.glyphicon-eye-close:before { + content: "\e106"; +} +.glyphicon-warning-sign:before { + content: "\e107"; +} +.glyphicon-plane:before { + content: "\e108"; +} +.glyphicon-calendar:before { + content: "\e109"; +} +.glyphicon-random:before { + content: "\e110"; +} +.glyphicon-comment:before { + content: "\e111"; +} +.glyphicon-magnet:before { + content: "\e112"; +} +.glyphicon-chevron-up:before { + content: "\e113"; +} +.glyphicon-chevron-down:before { + content: "\e114"; +} +.glyphicon-retweet:before { + content: "\e115"; +} +.glyphicon-shopping-cart:before { + content: "\e116"; +} +.glyphicon-folder-close:before { + content: "\e117"; +} +.glyphicon-folder-open:before { + content: "\e118"; +} +.glyphicon-resize-vertical:before { + content: "\e119"; +} +.glyphicon-resize-horizontal:before { + content: "\e120"; +} +.glyphicon-hdd:before { + content: "\e121"; +} +.glyphicon-bullhorn:before { + content: "\e122"; +} +.glyphicon-bell:before { + content: "\e123"; +} +.glyphicon-certificate:before { + content: "\e124"; +} +.glyphicon-thumbs-up:before { + content: "\e125"; +} +.glyphicon-thumbs-down:before { + content: "\e126"; +} +.glyphicon-hand-right:before { + content: "\e127"; +} +.glyphicon-hand-left:before { + content: "\e128"; +} +.glyphicon-hand-up:before { + content: "\e129"; +} +.glyphicon-hand-down:before { + content: "\e130"; +} +.glyphicon-circle-arrow-right:before { + content: "\e131"; +} +.glyphicon-circle-arrow-left:before { + content: "\e132"; +} +.glyphicon-circle-arrow-up:before { + content: "\e133"; +} +.glyphicon-circle-arrow-down:before { + content: "\e134"; +} +.glyphicon-globe:before { + content: "\e135"; +} +.glyphicon-wrench:before { + content: "\e136"; +} +.glyphicon-tasks:before { + content: "\e137"; +} +.glyphicon-filter:before { + content: "\e138"; +} +.glyphicon-briefcase:before { + content: "\e139"; +} +.glyphicon-fullscreen:before { + content: "\e140"; +} +.glyphicon-dashboard:before { + content: "\e141"; +} +.glyphicon-paperclip:before { + content: "\e142"; +} +.glyphicon-heart-empty:before { + content: "\e143"; +} +.glyphicon-link:before { + content: "\e144"; +} +.glyphicon-phone:before { + content: "\e145"; +} +.glyphicon-pushpin:before { + content: "\e146"; +} +.glyphicon-usd:before { + content: "\e148"; +} +.glyphicon-gbp:before { + content: "\e149"; +} +.glyphicon-sort:before { + content: "\e150"; +} +.glyphicon-sort-by-alphabet:before { + content: "\e151"; +} +.glyphicon-sort-by-alphabet-alt:before { + content: "\e152"; +} +.glyphicon-sort-by-order:before { + content: "\e153"; +} +.glyphicon-sort-by-order-alt:before { + content: "\e154"; +} +.glyphicon-sort-by-attributes:before { + content: "\e155"; +} +.glyphicon-sort-by-attributes-alt:before { + content: "\e156"; +} +.glyphicon-unchecked:before { + content: "\e157"; +} +.glyphicon-expand:before { + content: "\e158"; +} +.glyphicon-collapse-down:before { + content: "\e159"; +} +.glyphicon-collapse-up:before { + content: "\e160"; +} +.glyphicon-log-in:before { + content: "\e161"; +} +.glyphicon-flash:before { + content: "\e162"; +} +.glyphicon-log-out:before { + content: "\e163"; +} +.glyphicon-new-window:before { + content: "\e164"; +} +.glyphicon-record:before { + content: "\e165"; +} +.glyphicon-save:before { + content: "\e166"; +} +.glyphicon-open:before { + content: "\e167"; +} +.glyphicon-saved:before { + content: "\e168"; +} +.glyphicon-import:before { + content: "\e169"; +} +.glyphicon-export:before { + content: "\e170"; +} +.glyphicon-send:before { + content: "\e171"; +} +.glyphicon-floppy-disk:before { + content: "\e172"; +} +.glyphicon-floppy-saved:before { + content: "\e173"; +} +.glyphicon-floppy-remove:before { + content: "\e174"; +} +.glyphicon-floppy-save:before { + content: "\e175"; +} +.glyphicon-floppy-open:before { + content: "\e176"; +} +.glyphicon-credit-card:before { + content: "\e177"; +} +.glyphicon-transfer:before { + content: "\e178"; +} +.glyphicon-cutlery:before { + content: "\e179"; +} +.glyphicon-header:before { + content: "\e180"; +} +.glyphicon-compressed:before { + content: "\e181"; +} +.glyphicon-earphone:before { + content: "\e182"; +} +.glyphicon-phone-alt:before { + content: "\e183"; +} +.glyphicon-tower:before { + content: "\e184"; +} +.glyphicon-stats:before { + content: "\e185"; +} +.glyphicon-sd-video:before { + content: "\e186"; +} +.glyphicon-hd-video:before { + content: "\e187"; +} +.glyphicon-subtitles:before { + content: "\e188"; +} +.glyphicon-sound-stereo:before { + content: "\e189"; +} +.glyphicon-sound-dolby:before { + content: "\e190"; +} +.glyphicon-sound-5-1:before { + content: "\e191"; +} +.glyphicon-sound-6-1:before { + content: "\e192"; +} +.glyphicon-sound-7-1:before { + content: "\e193"; +} +.glyphicon-copyright-mark:before { + content: "\e194"; +} +.glyphicon-registration-mark:before { + content: "\e195"; +} +.glyphicon-cloud-download:before { + content: "\e197"; +} +.glyphicon-cloud-upload:before { + content: "\e198"; +} +.glyphicon-tree-conifer:before { + content: "\e199"; +} +.glyphicon-tree-deciduous:before { + content: "\e200"; +} +.caret { + display: inline-block; + width: 0; + height: 0; + margin-left: 2px; + vertical-align: middle; + border-top: 4px solid; + border-right: 4px solid transparent; + border-left: 4px solid transparent; +} +.dropdown { + position: relative; +} +.dropdown-toggle:focus { + outline: 0; +} +.dropdown-menu { + position: absolute; + top: 100%; + left: 0; + z-index: 1000; + display: none; + float: left; + min-width: 160px; + padding: 5px 0; + margin: 2px 0 0; + font-size: 14px; + list-style: none; + background-color: #fff; + background-clip: padding-box; + border: 1px solid #ccc; + border: 1px solid rgba(0, 0, 0, .15); + border-radius: 4px; + -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, .175); + box-shadow: 0 6px 12px rgba(0, 0, 0, .175); +} +.dropdown-menu.pull-right { + right: 0; + left: auto; +} +.dropdown-menu .divider { + height: 1px; + margin: 9px 0; + overflow: hidden; + background-color: #e5e5e5; +} +.dropdown-menu > li > a { + display: block; + padding: 3px 20px; + clear: both; + font-weight: normal; + line-height: 1.42857143; + color: #333; + white-space: nowrap; +} +.dropdown-menu > li > a:hover, +.dropdown-menu > li > a:focus { + color: #262626; + text-decoration: none; + background-color: #f5f5f5; +} +.dropdown-menu > .active > a, +.dropdown-menu > .active > a:hover, +.dropdown-menu > .active > a:focus { + color: #fff; + text-decoration: none; + background-color: #428bca; + outline: 0; +} +.dropdown-menu > .disabled > a, +.dropdown-menu > .disabled > a:hover, +.dropdown-menu > .disabled > a:focus { + color: #999; +} +.dropdown-menu > .disabled > a:hover, +.dropdown-menu > .disabled > a:focus { + text-decoration: none; + cursor: not-allowed; + background-color: transparent; + background-image: none; + filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); +} +.open > .dropdown-menu { + display: block; +} +.open > a { + outline: 0; +} +.dropdown-menu-right { + right: 0; + left: auto; +} +.dropdown-menu-left { + right: auto; + left: 0; +} +.dropdown-header { + display: block; + padding: 3px 20px; + font-size: 12px; + line-height: 1.42857143; + color: #999; +} +.dropdown-backdrop { + position: fixed; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: 990; +} +.pull-right > .dropdown-menu { + right: 0; + left: auto; +} +.dropup .caret, +.navbar-fixed-bottom .dropdown .caret { + content: ""; + border-top: 0; + border-bottom: 4px solid; +} +.dropup .dropdown-menu, +.navbar-fixed-bottom .dropdown .dropdown-menu { + top: auto; + bottom: 100%; + margin-bottom: 1px; +} +@media (min-width: 768px) { + .navbar-right .dropdown-menu { + right: 0; + left: auto; + } + .navbar-right .dropdown-menu-left { + right: auto; + left: 0; + } +} +.btn-group, +.btn-group-vertical { + position: relative; + display: inline-block; + vertical-align: middle; +} +.btn-group > .btn, +.btn-group-vertical > .btn { + position: relative; + float: left; +} +.btn-group > .btn:hover, +.btn-group-vertical > .btn:hover, +.btn-group > .btn:focus, +.btn-group-vertical > .btn:focus, +.btn-group > .btn:active, +.btn-group-vertical > .btn:active, +.btn-group > .btn.active, +.btn-group-vertical > .btn.active { + z-index: 2; +} +.btn-group > .btn:focus, +.btn-group-vertical > .btn:focus { + outline: none; +} +.btn-group .btn + .btn, +.btn-group .btn + .btn-group, +.btn-group .btn-group + .btn, +.btn-group .btn-group + .btn-group { + margin-left: -1px; +} +.btn-toolbar { + margin-left: -5px; +} +.btn-toolbar .btn-group, +.btn-toolbar .input-group { + float: left; +} +.btn-toolbar > .btn, +.btn-toolbar > .btn-group, +.btn-toolbar > .input-group { + margin-left: 5px; +} +.btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) { + border-radius: 0; +} +.btn-group > .btn:first-child { + margin-left: 0; +} +.btn-group > .btn:first-child:not(:last-child):not(.dropdown-toggle) { + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} +.btn-group > .btn:last-child:not(:first-child), +.btn-group > .dropdown-toggle:not(:first-child) { + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} +.btn-group > .btn-group { + float: left; +} +.btn-group > .btn-group:not(:first-child):not(:last-child) > .btn { + border-radius: 0; +} +.btn-group > .btn-group:first-child > .btn:last-child, +.btn-group > .btn-group:first-child > .dropdown-toggle { + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} +.btn-group > .btn-group:last-child > .btn:first-child { + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} +.btn-group .dropdown-toggle:active, +.btn-group.open .dropdown-toggle { + outline: 0; +} +.btn-group > .btn + .dropdown-toggle { + padding-right: 8px; + padding-left: 8px; +} +.btn-group > .btn-lg + .dropdown-toggle { + padding-right: 12px; + padding-left: 12px; +} +.btn-group.open .dropdown-toggle { + -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125); + box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125); +} +.btn-group.open .dropdown-toggle.btn-link { + -webkit-box-shadow: none; + box-shadow: none; +} +.btn .caret { + margin-left: 0; +} +.btn-lg .caret { + border-width: 5px 5px 0; + border-bottom-width: 0; +} +.dropup .btn-lg .caret { + border-width: 0 5px 5px; +} +.btn-group-vertical > .btn, +.btn-group-vertical > .btn-group, +.btn-group-vertical > .btn-group > .btn { + display: block; + float: none; + width: 100%; + max-width: 100%; +} +.btn-group-vertical > .btn-group > .btn { + float: none; +} +.btn-group-vertical > .btn + .btn, +.btn-group-vertical > .btn + .btn-group, +.btn-group-vertical > .btn-group + .btn, +.btn-group-vertical > .btn-group + .btn-group { + margin-top: -1px; + margin-left: 0; +} +.btn-group-vertical > .btn:not(:first-child):not(:last-child) { + border-radius: 0; +} +.btn-group-vertical > .btn:first-child:not(:last-child) { + border-top-right-radius: 4px; + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; +} +.btn-group-vertical > .btn:last-child:not(:first-child) { + border-top-left-radius: 0; + border-top-right-radius: 0; + border-bottom-left-radius: 4px; +} +.btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn { + border-radius: 0; +} +.btn-group-vertical > .btn-group:first-child:not(:last-child) > .btn:last-child, +.btn-group-vertical > .btn-group:first-child:not(:last-child) > .dropdown-toggle { + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; +} +.btn-group-vertical > .btn-group:last-child:not(:first-child) > .btn:first-child { + border-top-left-radius: 0; + border-top-right-radius: 0; +} +.btn-group-justified { + display: table; + width: 100%; + table-layout: fixed; + border-collapse: separate; +} +.btn-group-justified > .btn, +.btn-group-justified > .btn-group { + display: table-cell; + float: none; + width: 1%; +} +.btn-group-justified > .btn-group .btn { + width: 100%; +} +[data-toggle="buttons"] > .btn > input[type="radio"], +[data-toggle="buttons"] > .btn > input[type="checkbox"] { + display: none; +} +.input-group { + position: relative; + display: table; + border-collapse: separate; +} +.input-group[class*="col-"] { + float: none; + padding-right: 0; + padding-left: 0; +} +.input-group .form-control { + position: relative; + z-index: 2; + float: left; + width: 100%; + margin-bottom: 0; +} +.input-group-lg > .form-control, +.input-group-lg > .input-group-addon, +.input-group-lg > .input-group-btn > .btn { + height: 46px; + padding: 10px 16px; + font-size: 18px; + line-height: 1.33; + border-radius: 6px; +} +select.input-group-lg > .form-control, +select.input-group-lg > .input-group-addon, +select.input-group-lg > .input-group-btn > .btn { + height: 46px; + line-height: 46px; +} +textarea.input-group-lg > .form-control, +textarea.input-group-lg > .input-group-addon, +textarea.input-group-lg > .input-group-btn > .btn, +select[multiple].input-group-lg > .form-control, +select[multiple].input-group-lg > .input-group-addon, +select[multiple].input-group-lg > .input-group-btn > .btn { + height: auto; +} +.input-group-sm > .form-control, +.input-group-sm > .input-group-addon, +.input-group-sm > .input-group-btn > .btn { + height: 30px; + padding: 5px 10px; + font-size: 12px; + line-height: 1.5; + border-radius: 3px; +} +select.input-group-sm > .form-control, +select.input-group-sm > .input-group-addon, +select.input-group-sm > .input-group-btn > .btn { + height: 30px; + line-height: 30px; +} +textarea.input-group-sm > .form-control, +textarea.input-group-sm > .input-group-addon, +textarea.input-group-sm > .input-group-btn > .btn, +select[multiple].input-group-sm > .form-control, +select[multiple].input-group-sm > .input-group-addon, +select[multiple].input-group-sm > .input-group-btn > .btn { + height: auto; +} +.input-group-addon, +.input-group-btn, +.input-group .form-control { + display: table-cell; +} +.input-group-addon:not(:first-child):not(:last-child), +.input-group-btn:not(:first-child):not(:last-child), +.input-group .form-control:not(:first-child):not(:last-child) { + border-radius: 0; +} +.input-group-addon, +.input-group-btn { + width: 1%; + white-space: nowrap; + vertical-align: middle; +} +.input-group-addon { + padding: 6px 12px; + font-size: 14px; + font-weight: normal; + line-height: 1; + color: #555; + text-align: center; + background-color: #eee; + border: 1px solid #ccc; + border-radius: 4px; +} +.input-group-addon.input-sm { + padding: 5px 10px; + font-size: 12px; + border-radius: 3px; +} +.input-group-addon.input-lg { + padding: 10px 16px; + font-size: 18px; + border-radius: 6px; +} +.input-group-addon input[type="radio"], +.input-group-addon input[type="checkbox"] { + margin-top: 0; +} +.input-group .form-control:first-child, +.input-group-addon:first-child, +.input-group-btn:first-child > .btn, +.input-group-btn:first-child > .btn-group > .btn, +.input-group-btn:first-child > .dropdown-toggle, +.input-group-btn:last-child > .btn:not(:last-child):not(.dropdown-toggle), +.input-group-btn:last-child > .btn-group:not(:last-child) > .btn { + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} +.input-group-addon:first-child { + border-right: 0; +} +.input-group .form-control:last-child, +.input-group-addon:last-child, +.input-group-btn:last-child > .btn, +.input-group-btn:last-child > .btn-group > .btn, +.input-group-btn:last-child > .dropdown-toggle, +.input-group-btn:first-child > .btn:not(:first-child), +.input-group-btn:first-child > .btn-group:not(:first-child) > .btn { + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} +.input-group-addon:last-child { + border-left: 0; +} +.input-group-btn { + position: relative; + font-size: 0; + white-space: nowrap; +} +.input-group-btn > .btn { + position: relative; +} +.input-group-btn > .btn + .btn { + margin-left: -1px; +} +.input-group-btn > .btn:hover, +.input-group-btn > .btn:focus, +.input-group-btn > .btn:active { + z-index: 2; +} +.input-group-btn:first-child > .btn, +.input-group-btn:first-child > .btn-group { + margin-right: -1px; +} +.input-group-btn:last-child > .btn, +.input-group-btn:last-child > .btn-group { + margin-left: -1px; +} +.nav { + padding-left: 0; + margin-bottom: 0; + list-style: none; +} +.nav > li { + position: relative; + display: block; +} +.nav > li > a { + position: relative; + display: block; + padding: 10px 15px; +} +.nav > li > a:hover, +.nav > li > a:focus { + text-decoration: none; + background-color: #eee; +} +.nav > li.disabled > a { + color: #999; +} +.nav > li.disabled > a:hover, +.nav > li.disabled > a:focus { + color: #999; + text-decoration: none; + cursor: not-allowed; + background-color: transparent; +} +.nav .open > a, +.nav .open > a:hover, +.nav .open > a:focus { + background-color: #eee; + border-color: #428bca; +} +.nav .nav-divider { + height: 1px; + margin: 9px 0; + overflow: hidden; + background-color: #e5e5e5; +} +.nav > li > a > img { + max-width: none; +} +.nav-tabs { + border-bottom: 1px solid #ddd; +} +.nav-tabs > li { + float: left; + margin-bottom: -1px; +} +.nav-tabs > li > a { + margin-right: 2px; + line-height: 1.42857143; + border: 1px solid transparent; + border-radius: 4px 4px 0 0; +} +.nav-tabs > li > a:hover { + border-color: #eee #eee #ddd; +} +.nav-tabs > li.active > a, +.nav-tabs > li.active > a:hover, +.nav-tabs > li.active > a:focus { + color: #555; + cursor: default; + background-color: #fff; + border: 1px solid #ddd; + border-bottom-color: transparent; +} +.nav-tabs.nav-justified { + width: 100%; + border-bottom: 0; +} +.nav-tabs.nav-justified > li { + float: none; +} +.nav-tabs.nav-justified > li > a { + margin-bottom: 5px; + text-align: center; +} +.nav-tabs.nav-justified > .dropdown .dropdown-menu { + top: auto; + left: auto; +} +@media (min-width: 768px) { + .nav-tabs.nav-justified > li { + display: table-cell; + width: 1%; + } + .nav-tabs.nav-justified > li > a { + margin-bottom: 0; + } +} +.nav-tabs.nav-justified > li > a { + margin-right: 0; + border-radius: 4px; +} +.nav-tabs.nav-justified > .active > a, +.nav-tabs.nav-justified > .active > a:hover, +.nav-tabs.nav-justified > .active > a:focus { + border: 1px solid #ddd; +} +@media (min-width: 768px) { + .nav-tabs.nav-justified > li > a { + border-bottom: 1px solid #ddd; + border-radius: 4px 4px 0 0; + } + .nav-tabs.nav-justified > .active > a, + .nav-tabs.nav-justified > .active > a:hover, + .nav-tabs.nav-justified > .active > a:focus { + border-bottom-color: #fff; + } +} +.nav-pills > li { + float: left; +} +.nav-pills > li > a { + border-radius: 4px; +} +.nav-pills > li + li { + margin-left: 2px; +} +.nav-pills > li.active > a, +.nav-pills > li.active > a:hover, +.nav-pills > li.active > a:focus { + color: #fff; + background-color: #428bca; +} +.nav-stacked > li { + float: none; +} +.nav-stacked > li + li { + margin-top: 2px; + margin-left: 0; +} +.nav-justified { + width: 100%; +} +.nav-justified > li { + float: none; +} +.nav-justified > li > a { + margin-bottom: 5px; + text-align: center; +} +.nav-justified > .dropdown .dropdown-menu { + top: auto; + left: auto; +} +@media (min-width: 768px) { + .nav-justified > li { + display: table-cell; + width: 1%; + } + .nav-justified > li > a { + margin-bottom: 0; + } +} +.nav-tabs-justified { + border-bottom: 0; +} +.nav-tabs-justified > li > a { + margin-right: 0; + border-radius: 4px; +} +.nav-tabs-justified > .active > a, +.nav-tabs-justified > .active > a:hover, +.nav-tabs-justified > .active > a:focus { + border: 1px solid #ddd; +} +@media (min-width: 768px) { + .nav-tabs-justified > li > a { + border-bottom: 1px solid #ddd; + border-radius: 4px 4px 0 0; + } + .nav-tabs-justified > .active > a, + .nav-tabs-justified > .active > a:hover, + .nav-tabs-justified > .active > a:focus { + border-bottom-color: #fff; + } +} +.tab-content > .tab-pane { + display: none; +} +.tab-content > .active { + display: block; +} +.nav-tabs .dropdown-menu { + margin-top: -1px; + border-top-left-radius: 0; + border-top-right-radius: 0; +} +.navbar { + position: relative; + min-height: 50px; + margin-bottom: 20px; + border: 1px solid transparent; +} +@media (min-width: 768px) { + .navbar { + border-radius: 4px; + } +} +@media (min-width: 768px) { + .navbar-header { + float: left; + } +} +.navbar-collapse { + max-height: 340px; + padding-right: 15px; + padding-left: 15px; + overflow-x: visible; + -webkit-overflow-scrolling: touch; + border-top: 1px solid transparent; + box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1); +} +.navbar-collapse.in { + overflow-y: auto; +} +@media (min-width: 768px) { + .navbar-collapse { + width: auto; + border-top: 0; + box-shadow: none; + } + .navbar-collapse.collapse { + display: block !important; + height: auto !important; + padding-bottom: 0; + overflow: visible !important; + } + .navbar-collapse.in { + overflow-y: visible; + } + .navbar-fixed-top .navbar-collapse, + .navbar-static-top .navbar-collapse, + .navbar-fixed-bottom .navbar-collapse { + padding-right: 0; + padding-left: 0; + } +} +.container > .navbar-header, +.container-fluid > .navbar-header, +.container > .navbar-collapse, +.container-fluid > .navbar-collapse { + margin-right: -15px; + margin-left: -15px; +} +@media (min-width: 768px) { + .container > .navbar-header, + .container-fluid > .navbar-header, + .container > .navbar-collapse, + .container-fluid > .navbar-collapse { + margin-right: 0; + margin-left: 0; + } +} +.navbar-static-top { + z-index: 1000; + border-width: 0 0 1px; +} +@media (min-width: 768px) { + .navbar-static-top { + border-radius: 0; + } +} +.navbar-fixed-top, +.navbar-fixed-bottom { + position: fixed; + right: 0; + left: 0; + z-index: 1030; +} +@media (min-width: 768px) { + .navbar-fixed-top, + .navbar-fixed-bottom { + border-radius: 0; + } +} +.navbar-fixed-top { + top: 0; + border-width: 0 0 1px; +} +.navbar-fixed-bottom { + bottom: 0; + margin-bottom: 0; + border-width: 1px 0 0; +} +.navbar-brand { + float: left; + height: 50px; + padding: 15px 15px; + font-size: 18px; + line-height: 20px; +} +.navbar-brand:hover, +.navbar-brand:focus { + text-decoration: none; +} +@media (min-width: 768px) { + .navbar > .container .navbar-brand, + .navbar > .container-fluid .navbar-brand { + margin-left: -15px; + } +} +.navbar-toggle { + position: relative; + float: right; + padding: 9px 10px; + margin-top: 8px; + margin-right: 15px; + margin-bottom: 8px; + background-color: transparent; + background-image: none; + border: 1px solid transparent; + border-radius: 4px; +} +.navbar-toggle:focus { + outline: none; +} +.navbar-toggle .icon-bar { + display: block; + width: 22px; + height: 2px; + border-radius: 1px; +} +.navbar-toggle .icon-bar + .icon-bar { + margin-top: 4px; +} +@media (min-width: 768px) { + .navbar-toggle { + display: none; + } +} +.navbar-nav { + margin: 7.5px -15px; +} +.navbar-nav > li > a { + padding-top: 10px; + padding-bottom: 10px; + line-height: 20px; +} +@media (max-width: 767px) { + .navbar-nav .open .dropdown-menu { + position: static; + float: none; + width: auto; + margin-top: 0; + background-color: transparent; + border: 0; + box-shadow: none; + } + .navbar-nav .open .dropdown-menu > li > a, + .navbar-nav .open .dropdown-menu .dropdown-header { + padding: 5px 15px 5px 25px; + } + .navbar-nav .open .dropdown-menu > li > a { + line-height: 20px; + } + .navbar-nav .open .dropdown-menu > li > a:hover, + .navbar-nav .open .dropdown-menu > li > a:focus { + background-image: none; + } +} +@media (min-width: 768px) { + .navbar-nav { + float: left; + margin: 0; + } + .navbar-nav > li { + float: left; + } + .navbar-nav > li > a { + padding-top: 15px; + padding-bottom: 15px; + } + .navbar-nav.navbar-right:last-child { + margin-right: -15px; + } +} +@media (min-width: 768px) { + .navbar-left { + float: left !important; + } + .navbar-right { + float: right !important; + } +} +.navbar-form { + padding: 10px 15px; + margin-top: 8px; + margin-right: -15px; + margin-bottom: 8px; + margin-left: -15px; + border-top: 1px solid transparent; + border-bottom: 1px solid transparent; + -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1), 0 1px 0 rgba(255, 255, 255, .1); + box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1), 0 1px 0 rgba(255, 255, 255, .1); +} +@media (min-width: 768px) { + .navbar-form .form-group { + display: inline-block; + margin-bottom: 0; + vertical-align: middle; + } + .navbar-form .form-control { + display: inline-block; + width: auto; + vertical-align: middle; + } + .navbar-form .input-group > .form-control { + width: 100%; + } + .navbar-form .control-label { + margin-bottom: 0; + vertical-align: middle; + } + .navbar-form .radio, + .navbar-form .checkbox { + display: inline-block; + padding-left: 0; + margin-top: 0; + margin-bottom: 0; + vertical-align: middle; + } + .navbar-form .radio input[type="radio"], + .navbar-form .checkbox input[type="checkbox"] { + float: none; + margin-left: 0; + } + .navbar-form .has-feedback .form-control-feedback { + top: 0; + } +} +@media (max-width: 767px) { + .navbar-form .form-group { + margin-bottom: 5px; + } +} +@media (min-width: 768px) { + .navbar-form { + width: auto; + padding-top: 0; + padding-bottom: 0; + margin-right: 0; + margin-left: 0; + border: 0; + -webkit-box-shadow: none; + box-shadow: none; + } + .navbar-form.navbar-right:last-child { + margin-right: -15px; + } +} +.navbar-nav > li > .dropdown-menu { + margin-top: 0; + border-top-left-radius: 0; + border-top-right-radius: 0; +} +.navbar-fixed-bottom .navbar-nav > li > .dropdown-menu { + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; +} +.navbar-btn { + margin-top: 8px; + margin-bottom: 8px; +} +.navbar-btn.btn-sm { + margin-top: 10px; + margin-bottom: 10px; +} +.navbar-btn.btn-xs { + margin-top: 14px; + margin-bottom: 14px; +} +.navbar-text { + margin-top: 15px; + margin-bottom: 15px; +} +@media (min-width: 768px) { + .navbar-text { + float: left; + margin-right: 15px; + margin-left: 15px; + } + .navbar-text.navbar-right:last-child { + margin-right: 0; + } +} +.navbar-default { + background-color: #f8f8f8; + border-color: #e7e7e7; +} +.navbar-default .navbar-brand { + color: #777; +} +.navbar-default .navbar-brand:hover, +.navbar-default .navbar-brand:focus { + color: #5e5e5e; + background-color: transparent; +} +.navbar-default .navbar-text { + color: #777; +} +.navbar-default .navbar-nav > li > a { + color: #777; +} +.navbar-default .navbar-nav > li > a:hover, +.navbar-default .navbar-nav > li > a:focus { + color: #333; + background-color: transparent; +} +.navbar-default .navbar-nav > .active > a, +.navbar-default .navbar-nav > .active > a:hover, +.navbar-default .navbar-nav > .active > a:focus { + color: #555; + background-color: #e7e7e7; +} +.navbar-default .navbar-nav > .disabled > a, +.navbar-default .navbar-nav > .disabled > a:hover, +.navbar-default .navbar-nav > .disabled > a:focus { + color: #ccc; + background-color: transparent; +} +.navbar-default .navbar-toggle { + border-color: #ddd; +} +.navbar-default .navbar-toggle:hover, +.navbar-default .navbar-toggle:focus { + background-color: #ddd; +} +.navbar-default .navbar-toggle .icon-bar { + background-color: #888; +} +.navbar-default .navbar-collapse, +.navbar-default .navbar-form { + border-color: #e7e7e7; +} +.navbar-default .navbar-nav > .open > a, +.navbar-default .navbar-nav > .open > a:hover, +.navbar-default .navbar-nav > .open > a:focus { + color: #555; + background-color: #e7e7e7; +} +@media (max-width: 767px) { + .navbar-default .navbar-nav .open .dropdown-menu > li > a { + color: #777; + } + .navbar-default .navbar-nav .open .dropdown-menu > li > a:hover, + .navbar-default .navbar-nav .open .dropdown-menu > li > a:focus { + color: #333; + background-color: transparent; + } + .navbar-default .navbar-nav .open .dropdown-menu > .active > a, + .navbar-default .navbar-nav .open .dropdown-menu > .active > a:hover, + .navbar-default .navbar-nav .open .dropdown-menu > .active > a:focus { + color: #555; + background-color: #e7e7e7; + } + .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a, + .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:hover, + .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:focus { + color: #ccc; + background-color: transparent; + } +} +.navbar-default .navbar-link { + color: #777; +} +.navbar-default .navbar-link:hover { + color: #333; +} +.navbar-inverse { + background-color: #222; + border-color: #080808; +} +.navbar-inverse .navbar-brand { + color: #999; +} +.navbar-inverse .navbar-brand:hover, +.navbar-inverse .navbar-brand:focus { + color: #fff; + background-color: transparent; +} +.navbar-inverse .navbar-text { + color: #999; +} +.navbar-inverse .navbar-nav > li > a { + color: #999; +} +.navbar-inverse .navbar-nav > li > a:hover, +.navbar-inverse .navbar-nav > li > a:focus { + color: #fff; + background-color: transparent; +} +.navbar-inverse .navbar-nav > .active > a, +.navbar-inverse .navbar-nav > .active > a:hover, +.navbar-inverse .navbar-nav > .active > a:focus { + color: #fff; + background-color: #080808; +} +.navbar-inverse .navbar-nav > .disabled > a, +.navbar-inverse .navbar-nav > .disabled > a:hover, +.navbar-inverse .navbar-nav > .disabled > a:focus { + color: #444; + background-color: transparent; +} +.navbar-inverse .navbar-toggle { + border-color: #333; +} +.navbar-inverse .navbar-toggle:hover, +.navbar-inverse .navbar-toggle:focus { + background-color: #333; +} +.navbar-inverse .navbar-toggle .icon-bar { + background-color: #fff; +} +.navbar-inverse .navbar-collapse, +.navbar-inverse .navbar-form { + border-color: #101010; +} +.navbar-inverse .navbar-nav > .open > a, +.navbar-inverse .navbar-nav > .open > a:hover, +.navbar-inverse .navbar-nav > .open > a:focus { + color: #fff; + background-color: #080808; +} +@media (max-width: 767px) { + .navbar-inverse .navbar-nav .open .dropdown-menu > .dropdown-header { + border-color: #080808; + } + .navbar-inverse .navbar-nav .open .dropdown-menu .divider { + background-color: #080808; + } + .navbar-inverse .navbar-nav .open .dropdown-menu > li > a { + color: #999; + } + .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:hover, + .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:focus { + color: #fff; + background-color: transparent; + } + .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a, + .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:hover, + .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:focus { + color: #fff; + background-color: #080808; + } + .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a, + .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:hover, + .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:focus { + color: #444; + background-color: transparent; + } +} +.navbar-inverse .navbar-link { + color: #999; +} +.navbar-inverse .navbar-link:hover { + color: #fff; +} +.breadcrumb { + padding: 8px 15px; + margin-bottom: 20px; + list-style: none; + background-color: #f5f5f5; + border-radius: 4px; +} +.breadcrumb > li { + display: inline-block; +} +.breadcrumb > li + li:before { + padding: 0 5px; + color: #ccc; + content: "/\00a0"; +} +.breadcrumb > .active { + color: #999; +} +.pagination { + display: inline-block; + padding-left: 0; + margin: 20px 0; + border-radius: 4px; +} +.pagination > li { + display: inline; +} +.pagination > li > a, +.pagination > li > span { + position: relative; + float: left; + padding: 6px 12px; + margin-left: -1px; + line-height: 1.42857143; + color: #428bca; + text-decoration: none; + background-color: #fff; + border: 1px solid #ddd; +} +.pagination > li:first-child > a, +.pagination > li:first-child > span { + margin-left: 0; + border-top-left-radius: 4px; + border-bottom-left-radius: 4px; +} +.pagination > li:last-child > a, +.pagination > li:last-child > span { + border-top-right-radius: 4px; + border-bottom-right-radius: 4px; +} +.pagination > li > a:hover, +.pagination > li > span:hover, +.pagination > li > a:focus, +.pagination > li > span:focus { + color: #2a6496; + background-color: #eee; + border-color: #ddd; +} +.pagination > .active > a, +.pagination > .active > span, +.pagination > .active > a:hover, +.pagination > .active > span:hover, +.pagination > .active > a:focus, +.pagination > .active > span:focus { + z-index: 2; + color: #fff; + cursor: default; + background-color: #428bca; + border-color: #428bca; +} +.pagination > .disabled > span, +.pagination > .disabled > span:hover, +.pagination > .disabled > span:focus, +.pagination > .disabled > a, +.pagination > .disabled > a:hover, +.pagination > .disabled > a:focus { + color: #999; + cursor: not-allowed; + background-color: #fff; + border-color: #ddd; +} +.pagination-lg > li > a, +.pagination-lg > li > span { + padding: 10px 16px; + font-size: 18px; +} +.pagination-lg > li:first-child > a, +.pagination-lg > li:first-child > span { + border-top-left-radius: 6px; + border-bottom-left-radius: 6px; +} +.pagination-lg > li:last-child > a, +.pagination-lg > li:last-child > span { + border-top-right-radius: 6px; + border-bottom-right-radius: 6px; +} +.pagination-sm > li > a, +.pagination-sm > li > span { + padding: 5px 10px; + font-size: 12px; +} +.pagination-sm > li:first-child > a, +.pagination-sm > li:first-child > span { + border-top-left-radius: 3px; + border-bottom-left-radius: 3px; +} +.pagination-sm > li:last-child > a, +.pagination-sm > li:last-child > span { + border-top-right-radius: 3px; + border-bottom-right-radius: 3px; +} +.pager { + padding-left: 0; + margin: 20px 0; + text-align: center; + list-style: none; +} +.pager li { + display: inline; +} +.pager li > a, +.pager li > span { + display: inline-block; + padding: 5px 14px; + background-color: #fff; + border: 1px solid #ddd; + border-radius: 15px; +} +.pager li > a:hover, +.pager li > a:focus { + text-decoration: none; + background-color: #eee; +} +.pager .next > a, +.pager .next > span { + float: right; +} +.pager .previous > a, +.pager .previous > span { + float: left; +} +.pager .disabled > a, +.pager .disabled > a:hover, +.pager .disabled > a:focus, +.pager .disabled > span { + color: #999; + cursor: not-allowed; + background-color: #fff; +} +.label { + display: inline; + padding: .2em .6em .3em; + font-size: 75%; + font-weight: bold; + line-height: 1; + color: #fff; + text-align: center; + white-space: nowrap; + vertical-align: baseline; + border-radius: .25em; +} +.label[href]:hover, +.label[href]:focus { + color: #fff; + text-decoration: none; + cursor: pointer; +} +.label:empty { + display: none; +} +.btn .label { + position: relative; + top: -1px; +} +.label-default { + background-color: #999; +} +.label-default[href]:hover, +.label-default[href]:focus { + background-color: #808080; +} +.label-primary { + background-color: #428bca; +} +.label-primary[href]:hover, +.label-primary[href]:focus { + background-color: #3071a9; +} +.label-success { + background-color: #5cb85c; +} +.label-success[href]:hover, +.label-success[href]:focus { + background-color: #449d44; +} +.label-info { + background-color: #5bc0de; +} +.label-info[href]:hover, +.label-info[href]:focus { + background-color: #31b0d5; +} +.label-warning { + background-color: #f0ad4e; +} +.label-warning[href]:hover, +.label-warning[href]:focus { + background-color: #ec971f; +} +.label-danger { + background-color: #d9534f; +} +.label-danger[href]:hover, +.label-danger[href]:focus { + background-color: #c9302c; +} +.badge { + display: inline-block; + min-width: 10px; + padding: 3px 7px; + font-size: 12px; + font-weight: bold; + line-height: 1; + color: #fff; + text-align: center; + white-space: nowrap; + vertical-align: baseline; + background-color: #999; + border-radius: 10px; +} +.badge:empty { + display: none; +} +.btn .badge { + position: relative; + top: -1px; +} +.btn-xs .badge { + top: 0; + padding: 1px 5px; +} +a.badge:hover, +a.badge:focus { + color: #fff; + text-decoration: none; + cursor: pointer; +} +a.list-group-item.active > .badge, +.nav-pills > .active > a > .badge { + color: #428bca; + background-color: #fff; +} +.nav-pills > li > a > .badge { + margin-left: 3px; +} +.jumbotron { + padding: 30px; + margin-bottom: 30px; + color: inherit; + background-color: #eee; +} +.jumbotron h1, +.jumbotron .h1 { + color: inherit; +} +.jumbotron p { + margin-bottom: 15px; + font-size: 21px; + font-weight: 200; +} +.container .jumbotron { + border-radius: 6px; +} +.jumbotron .container { + max-width: 100%; +} +@media screen and (min-width: 768px) { + .jumbotron { + padding-top: 48px; + padding-bottom: 48px; + } + .container .jumbotron { + padding-right: 60px; + padding-left: 60px; + } + .jumbotron h1, + .jumbotron .h1 { + font-size: 63px; + } +} +.thumbnail { + display: block; + padding: 4px; + margin-bottom: 20px; + line-height: 1.42857143; + background-color: #fff; + border: 1px solid #ddd; + border-radius: 4px; + -webkit-transition: all .2s ease-in-out; + transition: all .2s ease-in-out; +} +.thumbnail > img, +.thumbnail a > img { + margin-right: auto; + margin-left: auto; +} +a.thumbnail:hover, +a.thumbnail:focus, +a.thumbnail.active { + border-color: #428bca; +} +.thumbnail .caption { + padding: 9px; + color: #333; +} +.alert { + padding: 15px; + margin-bottom: 20px; + border: 1px solid transparent; + border-radius: 4px; +} +.alert h4 { + margin-top: 0; + color: inherit; +} +.alert .alert-link { + font-weight: bold; +} +.alert > p, +.alert > ul { + margin-bottom: 0; +} +.alert > p + p { + margin-top: 5px; +} +.alert-dismissable { + padding-right: 35px; +} +.alert-dismissable .close { + position: relative; + top: -2px; + right: -21px; + color: inherit; +} +.alert-success { + color: #3c763d; + background-color: #dff0d8; + border-color: #d6e9c6; +} +.alert-success hr { + border-top-color: #c9e2b3; +} +.alert-success .alert-link { + color: #2b542c; +} +.alert-info { + color: #31708f; + background-color: #d9edf7; + border-color: #bce8f1; +} +.alert-info hr { + border-top-color: #a6e1ec; +} +.alert-info .alert-link { + color: #245269; +} +.alert-warning { + color: #8a6d3b; + background-color: #fcf8e3; + border-color: #faebcc; +} +.alert-warning hr { + border-top-color: #f7e1b5; +} +.alert-warning .alert-link { + color: #66512c; +} +.alert-danger { + color: #a94442; + background-color: #f2dede; + border-color: #ebccd1; +} +.alert-danger hr { + border-top-color: #e4b9c0; +} +.alert-danger .alert-link { + color: #843534; +} +@-webkit-keyframes progress-bar-stripes { + from { + background-position: 40px 0; + } + to { + background-position: 0 0; + } +} +@keyframes progress-bar-stripes { + from { + background-position: 40px 0; + } + to { + background-position: 0 0; + } +} +.progress { + height: 20px; + margin-bottom: 20px; + overflow: hidden; + background-color: #f5f5f5; + border-radius: 4px; + -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, .1); + box-shadow: inset 0 1px 2px rgba(0, 0, 0, .1); +} +.progress-bar { + float: left; + width: 0; + height: 100%; + font-size: 12px; + line-height: 20px; + color: #fff; + text-align: center; + background-color: #428bca; + -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, .15); + box-shadow: inset 0 -1px 0 rgba(0, 0, 0, .15); + -webkit-transition: width .6s ease; + transition: width .6s ease; +} +.progress-striped .progress-bar { + background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); + background-image: linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); + background-size: 40px 40px; +} +.progress.active .progress-bar { + -webkit-animation: progress-bar-stripes 2s linear infinite; + animation: progress-bar-stripes 2s linear infinite; +} +.progress-bar-success { + background-color: #5cb85c; +} +.progress-striped .progress-bar-success { + background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); + background-image: linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); +} +.progress-bar-info { + background-color: #5bc0de; +} +.progress-striped .progress-bar-info { + background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); + background-image: linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); +} +.progress-bar-warning { + background-color: #f0ad4e; +} +.progress-striped .progress-bar-warning { + background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); + background-image: linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); +} +.progress-bar-danger { + background-color: #d9534f; +} +.progress-striped .progress-bar-danger { + background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); + background-image: linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); +} +.media, +.media-body { + overflow: hidden; + zoom: 1; +} +.media, +.media .media { + margin-top: 15px; +} +.media:first-child { + margin-top: 0; +} +.media-object { + display: block; +} +.media-heading { + margin: 0 0 5px; +} +.media > .pull-left { + margin-right: 10px; +} +.media > .pull-right { + margin-left: 10px; +} +.media-list { + padding-left: 0; + list-style: none; +} +.list-group { + padding-left: 0; + margin-bottom: 20px; +} +.list-group-item { + position: relative; + display: block; + padding: 10px 15px; + margin-bottom: -1px; + background-color: #fff; + border: 1px solid #ddd; +} +.list-group-item:first-child { + border-top-left-radius: 4px; + border-top-right-radius: 4px; +} +.list-group-item:last-child { + margin-bottom: 0; + border-bottom-right-radius: 4px; + border-bottom-left-radius: 4px; +} +.list-group-item > .badge { + float: right; +} +.list-group-item > .badge + .badge { + margin-right: 5px; +} +a.list-group-item { + color: #555; +} +a.list-group-item .list-group-item-heading { + color: #333; +} +a.list-group-item:hover, +a.list-group-item:focus { + text-decoration: none; + background-color: #f5f5f5; +} +a.list-group-item.active, +a.list-group-item.active:hover, +a.list-group-item.active:focus { + z-index: 2; + color: #fff; + background-color: #428bca; + border-color: #428bca; +} +a.list-group-item.active .list-group-item-heading, +a.list-group-item.active:hover .list-group-item-heading, +a.list-group-item.active:focus .list-group-item-heading { + color: inherit; +} +a.list-group-item.active .list-group-item-text, +a.list-group-item.active:hover .list-group-item-text, +a.list-group-item.active:focus .list-group-item-text { + color: #e1edf7; +} +.list-group-item-success { + color: #3c763d; + background-color: #dff0d8; +} +a.list-group-item-success { + color: #3c763d; +} +a.list-group-item-success .list-group-item-heading { + color: inherit; +} +a.list-group-item-success:hover, +a.list-group-item-success:focus { + color: #3c763d; + background-color: #d0e9c6; +} +a.list-group-item-success.active, +a.list-group-item-success.active:hover, +a.list-group-item-success.active:focus { + color: #fff; + background-color: #3c763d; + border-color: #3c763d; +} +.list-group-item-info { + color: #31708f; + background-color: #d9edf7; +} +a.list-group-item-info { + color: #31708f; +} +a.list-group-item-info .list-group-item-heading { + color: inherit; +} +a.list-group-item-info:hover, +a.list-group-item-info:focus { + color: #31708f; + background-color: #c4e3f3; +} +a.list-group-item-info.active, +a.list-group-item-info.active:hover, +a.list-group-item-info.active:focus { + color: #fff; + background-color: #31708f; + border-color: #31708f; +} +.list-group-item-warning { + color: #8a6d3b; + background-color: #fcf8e3; +} +a.list-group-item-warning { + color: #8a6d3b; +} +a.list-group-item-warning .list-group-item-heading { + color: inherit; +} +a.list-group-item-warning:hover, +a.list-group-item-warning:focus { + color: #8a6d3b; + background-color: #faf2cc; +} +a.list-group-item-warning.active, +a.list-group-item-warning.active:hover, +a.list-group-item-warning.active:focus { + color: #fff; + background-color: #8a6d3b; + border-color: #8a6d3b; +} +.list-group-item-danger { + color: #a94442; + background-color: #f2dede; +} +a.list-group-item-danger { + color: #a94442; +} +a.list-group-item-danger .list-group-item-heading { + color: inherit; +} +a.list-group-item-danger:hover, +a.list-group-item-danger:focus { + color: #a94442; + background-color: #ebcccc; +} +a.list-group-item-danger.active, +a.list-group-item-danger.active:hover, +a.list-group-item-danger.active:focus { + color: #fff; + background-color: #a94442; + border-color: #a94442; +} +.list-group-item-heading { + margin-top: 0; + margin-bottom: 5px; +} +.list-group-item-text { + margin-bottom: 0; + line-height: 1.3; +} +.panel { + margin-bottom: 20px; + background-color: #fff; + border: 1px solid transparent; + border-radius: 4px; + -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, .05); + box-shadow: 0 1px 1px rgba(0, 0, 0, .05); +} +.panel-body { + padding: 15px; +} +.panel-heading { + padding: 10px 15px; + border-bottom: 1px solid transparent; + border-top-left-radius: 3px; + border-top-right-radius: 3px; +} +.panel-heading > .dropdown .dropdown-toggle { + color: inherit; +} +.panel-title { + margin-top: 0; + margin-bottom: 0; + font-size: 16px; + color: inherit; +} +.panel-title > a { + color: inherit; +} +.panel-footer { + padding: 10px 15px; + background-color: #f5f5f5; + border-top: 1px solid #ddd; + border-bottom-right-radius: 3px; + border-bottom-left-radius: 3px; +} +.panel > .list-group { + margin-bottom: 0; +} +.panel > .list-group .list-group-item { + border-width: 1px 0; + border-radius: 0; +} +.panel > .list-group:first-child .list-group-item:first-child { + border-top: 0; + border-top-left-radius: 3px; + border-top-right-radius: 3px; +} +.panel > .list-group:last-child .list-group-item:last-child { + border-bottom: 0; + border-bottom-right-radius: 3px; + border-bottom-left-radius: 3px; +} +.panel-heading + .list-group .list-group-item:first-child { + border-top-width: 0; +} +.panel > .table, +.panel > .table-responsive > .table { + margin-bottom: 0; +} +.panel > .table:first-child, +.panel > .table-responsive:first-child > .table:first-child { + border-top-left-radius: 3px; + border-top-right-radius: 3px; +} +.panel > .table:first-child > thead:first-child > tr:first-child td:first-child, +.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:first-child, +.panel > .table:first-child > tbody:first-child > tr:first-child td:first-child, +.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:first-child, +.panel > .table:first-child > thead:first-child > tr:first-child th:first-child, +.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:first-child, +.panel > .table:first-child > tbody:first-child > tr:first-child th:first-child, +.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:first-child { + border-top-left-radius: 3px; +} +.panel > .table:first-child > thead:first-child > tr:first-child td:last-child, +.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:last-child, +.panel > .table:first-child > tbody:first-child > tr:first-child td:last-child, +.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:last-child, +.panel > .table:first-child > thead:first-child > tr:first-child th:last-child, +.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:last-child, +.panel > .table:first-child > tbody:first-child > tr:first-child th:last-child, +.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:last-child { + border-top-right-radius: 3px; +} +.panel > .table:last-child, +.panel > .table-responsive:last-child > .table:last-child { + border-bottom-right-radius: 3px; + border-bottom-left-radius: 3px; +} +.panel > .table:last-child > tbody:last-child > tr:last-child td:first-child, +.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:first-child, +.panel > .table:last-child > tfoot:last-child > tr:last-child td:first-child, +.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:first-child, +.panel > .table:last-child > tbody:last-child > tr:last-child th:first-child, +.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:first-child, +.panel > .table:last-child > tfoot:last-child > tr:last-child th:first-child, +.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:first-child { + border-bottom-left-radius: 3px; +} +.panel > .table:last-child > tbody:last-child > tr:last-child td:last-child, +.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:last-child, +.panel > .table:last-child > tfoot:last-child > tr:last-child td:last-child, +.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:last-child, +.panel > .table:last-child > tbody:last-child > tr:last-child th:last-child, +.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:last-child, +.panel > .table:last-child > tfoot:last-child > tr:last-child th:last-child, +.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:last-child { + border-bottom-right-radius: 3px; +} +.panel > .panel-body + .table, +.panel > .panel-body + .table-responsive { + border-top: 1px solid #ddd; +} +.panel > .table > tbody:first-child > tr:first-child th, +.panel > .table > tbody:first-child > tr:first-child td { + border-top: 0; +} +.panel > .table-bordered, +.panel > .table-responsive > .table-bordered { + border: 0; +} +.panel > .table-bordered > thead > tr > th:first-child, +.panel > .table-responsive > .table-bordered > thead > tr > th:first-child, +.panel > .table-bordered > tbody > tr > th:first-child, +.panel > .table-responsive > .table-bordered > tbody > tr > th:first-child, +.panel > .table-bordered > tfoot > tr > th:first-child, +.panel > .table-responsive > .table-bordered > tfoot > tr > th:first-child, +.panel > .table-bordered > thead > tr > td:first-child, +.panel > .table-responsive > .table-bordered > thead > tr > td:first-child, +.panel > .table-bordered > tbody > tr > td:first-child, +.panel > .table-responsive > .table-bordered > tbody > tr > td:first-child, +.panel > .table-bordered > tfoot > tr > td:first-child, +.panel > .table-responsive > .table-bordered > tfoot > tr > td:first-child { + border-left: 0; +} +.panel > .table-bordered > thead > tr > th:last-child, +.panel > .table-responsive > .table-bordered > thead > tr > th:last-child, +.panel > .table-bordered > tbody > tr > th:last-child, +.panel > .table-responsive > .table-bordered > tbody > tr > th:last-child, +.panel > .table-bordered > tfoot > tr > th:last-child, +.panel > .table-responsive > .table-bordered > tfoot > tr > th:last-child, +.panel > .table-bordered > thead > tr > td:last-child, +.panel > .table-responsive > .table-bordered > thead > tr > td:last-child, +.panel > .table-bordered > tbody > tr > td:last-child, +.panel > .table-responsive > .table-bordered > tbody > tr > td:last-child, +.panel > .table-bordered > tfoot > tr > td:last-child, +.panel > .table-responsive > .table-bordered > tfoot > tr > td:last-child { + border-right: 0; +} +.panel > .table-bordered > thead > tr:first-child > td, +.panel > .table-responsive > .table-bordered > thead > tr:first-child > td, +.panel > .table-bordered > tbody > tr:first-child > td, +.panel > .table-responsive > .table-bordered > tbody > tr:first-child > td, +.panel > .table-bordered > thead > tr:first-child > th, +.panel > .table-responsive > .table-bordered > thead > tr:first-child > th, +.panel > .table-bordered > tbody > tr:first-child > th, +.panel > .table-responsive > .table-bordered > tbody > tr:first-child > th { + border-bottom: 0; +} +.panel > .table-bordered > tbody > tr:last-child > td, +.panel > .table-responsive > .table-bordered > tbody > tr:last-child > td, +.panel > .table-bordered > tfoot > tr:last-child > td, +.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > td, +.panel > .table-bordered > tbody > tr:last-child > th, +.panel > .table-responsive > .table-bordered > tbody > tr:last-child > th, +.panel > .table-bordered > tfoot > tr:last-child > th, +.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > th { + border-bottom: 0; +} +.panel > .table-responsive { + margin-bottom: 0; + border: 0; +} +.panel-group { + margin-bottom: 20px; +} +.panel-group .panel { + margin-bottom: 0; + overflow: hidden; + border-radius: 4px; +} +.panel-group .panel + .panel { + margin-top: 5px; +} +.panel-group .panel-heading { + border-bottom: 0; +} +.panel-group .panel-heading + .panel-collapse .panel-body { + border-top: 1px solid #ddd; +} +.panel-group .panel-footer { + border-top: 0; +} +.panel-group .panel-footer + .panel-collapse .panel-body { + border-bottom: 1px solid #ddd; +} +.panel-default { + border-color: #ddd; +} +.panel-default > .panel-heading { + color: #333; + background-color: #f5f5f5; + border-color: #ddd; +} +.panel-default > .panel-heading + .panel-collapse .panel-body { + border-top-color: #ddd; +} +.panel-default > .panel-footer + .panel-collapse .panel-body { + border-bottom-color: #ddd; +} +.panel-primary { + border-color: #428bca; +} +.panel-primary > .panel-heading { + color: #fff; + background-color: #428bca; + border-color: #428bca; +} +.panel-primary > .panel-heading + .panel-collapse .panel-body { + border-top-color: #428bca; +} +.panel-primary > .panel-footer + .panel-collapse .panel-body { + border-bottom-color: #428bca; +} +.panel-success { + border-color: #d6e9c6; +} +.panel-success > .panel-heading { + color: #3c763d; + background-color: #dff0d8; + border-color: #d6e9c6; +} +.panel-success > .panel-heading + .panel-collapse .panel-body { + border-top-color: #d6e9c6; +} +.panel-success > .panel-footer + .panel-collapse .panel-body { + border-bottom-color: #d6e9c6; +} +.panel-info { + border-color: #bce8f1; +} +.panel-info > .panel-heading { + color: #31708f; + background-color: #d9edf7; + border-color: #bce8f1; +} +.panel-info > .panel-heading + .panel-collapse .panel-body { + border-top-color: #bce8f1; +} +.panel-info > .panel-footer + .panel-collapse .panel-body { + border-bottom-color: #bce8f1; +} +.panel-warning { + border-color: #faebcc; +} +.panel-warning > .panel-heading { + color: #8a6d3b; + background-color: #fcf8e3; + border-color: #faebcc; +} +.panel-warning > .panel-heading + .panel-collapse .panel-body { + border-top-color: #faebcc; +} +.panel-warning > .panel-footer + .panel-collapse .panel-body { + border-bottom-color: #faebcc; +} +.panel-danger { + border-color: #ebccd1; +} +.panel-danger > .panel-heading { + color: #a94442; + background-color: #f2dede; + border-color: #ebccd1; +} +.panel-danger > .panel-heading + .panel-collapse .panel-body { + border-top-color: #ebccd1; +} +.panel-danger > .panel-footer + .panel-collapse .panel-body { + border-bottom-color: #ebccd1; +} +.well { + min-height: 20px; + padding: 19px; + margin-bottom: 20px; + background-color: #f5f5f5; + border: 1px solid #e3e3e3; + border-radius: 4px; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .05); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, .05); +} +.well blockquote { + border-color: #ddd; + border-color: rgba(0, 0, 0, .15); +} +.well-lg { + padding: 24px; + border-radius: 6px; +} +.well-sm { + padding: 9px; + border-radius: 3px; +} +.close { + float: right; + font-size: 21px; + font-weight: bold; + line-height: 1; + color: #000; + text-shadow: 0 1px 0 #fff; + filter: alpha(opacity=20); + opacity: .2; +} +.close:hover, +.close:focus { + color: #000; + text-decoration: none; + cursor: pointer; + filter: alpha(opacity=50); + opacity: .5; +} +button.close { + -webkit-appearance: none; + padding: 0; + cursor: pointer; + background: transparent; + border: 0; +} +.modal-open { + overflow: hidden; +} +.modal { + position: fixed; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: 1050; + display: none; + overflow: auto; + overflow-y: scroll; + -webkit-overflow-scrolling: touch; + outline: 0; +} +.modal.fade .modal-dialog { + -webkit-transition: -webkit-transform .3s ease-out; + -moz-transition: -moz-transform .3s ease-out; + -o-transition: -o-transform .3s ease-out; + transition: transform .3s ease-out; + -webkit-transform: translate(0, -25%); + -ms-transform: translate(0, -25%); + transform: translate(0, -25%); +} +.modal.in .modal-dialog { + -webkit-transform: translate(0, 0); + -ms-transform: translate(0, 0); + transform: translate(0, 0); +} +.modal-dialog { + position: relative; + width: auto; + margin: 10px; +} +.modal-content { + position: relative; + background-color: #fff; + background-clip: padding-box; + border: 1px solid #999; + border: 1px solid rgba(0, 0, 0, .2); + border-radius: 6px; + outline: none; + -webkit-box-shadow: 0 3px 9px rgba(0, 0, 0, .5); + box-shadow: 0 3px 9px rgba(0, 0, 0, .5); +} +.modal-backdrop { + position: fixed; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: 1040; + background-color: #000; +} +.modal-backdrop.fade { + filter: alpha(opacity=0); + opacity: 0; +} +.modal-backdrop.in { + filter: alpha(opacity=50); + opacity: .5; +} +.modal-header { + min-height: 16.42857143px; + padding: 15px; + border-bottom: 1px solid #e5e5e5; +} +.modal-header .close { + margin-top: -2px; +} +.modal-title { + margin: 0; + line-height: 1.42857143; +} +.modal-body { + position: relative; + padding: 20px; +} +.modal-footer { + padding: 19px 20px 20px; + margin-top: 15px; + text-align: right; + border-top: 1px solid #e5e5e5; +} +.modal-footer .btn + .btn { + margin-bottom: 0; + margin-left: 5px; +} +.modal-footer .btn-group .btn + .btn { + margin-left: -1px; +} +.modal-footer .btn-block + .btn-block { + margin-left: 0; +} +@media (min-width: 768px) { + .modal-dialog { + width: 600px; + margin: 30px auto; + } + .modal-content { + -webkit-box-shadow: 0 5px 15px rgba(0, 0, 0, .5); + box-shadow: 0 5px 15px rgba(0, 0, 0, .5); + } + .modal-sm { + width: 300px; + } +} +@media (min-width: 992px) { + .modal-lg { + width: 900px; + } +} +.tooltip { + position: absolute; + z-index: 1030; + display: block; + font-size: 12px; + line-height: 1.4; + visibility: visible; + filter: alpha(opacity=0); + opacity: 0; +} +.tooltip.in { + filter: alpha(opacity=90); + opacity: .9; +} +.tooltip.top { + padding: 5px 0; + margin-top: -3px; +} +.tooltip.right { + padding: 0 5px; + margin-left: 3px; +} +.tooltip.bottom { + padding: 5px 0; + margin-top: 3px; +} +.tooltip.left { + padding: 0 5px; + margin-left: -3px; +} +.tooltip-inner { + max-width: 200px; + padding: 3px 8px; + color: #fff; + text-align: center; + text-decoration: none; + background-color: #000; + border-radius: 4px; +} +.tooltip-arrow { + position: absolute; + width: 0; + height: 0; + border-color: transparent; + border-style: solid; +} +.tooltip.top .tooltip-arrow { + bottom: 0; + left: 50%; + margin-left: -5px; + border-width: 5px 5px 0; + border-top-color: #000; +} +.tooltip.top-left .tooltip-arrow { + bottom: 0; + left: 5px; + border-width: 5px 5px 0; + border-top-color: #000; +} +.tooltip.top-right .tooltip-arrow { + right: 5px; + bottom: 0; + border-width: 5px 5px 0; + border-top-color: #000; +} +.tooltip.right .tooltip-arrow { + top: 50%; + left: 0; + margin-top: -5px; + border-width: 5px 5px 5px 0; + border-right-color: #000; +} +.tooltip.left .tooltip-arrow { + top: 50%; + right: 0; + margin-top: -5px; + border-width: 5px 0 5px 5px; + border-left-color: #000; +} +.tooltip.bottom .tooltip-arrow { + top: 0; + left: 50%; + margin-left: -5px; + border-width: 0 5px 5px; + border-bottom-color: #000; +} +.tooltip.bottom-left .tooltip-arrow { + top: 0; + left: 5px; + border-width: 0 5px 5px; + border-bottom-color: #000; +} +.tooltip.bottom-right .tooltip-arrow { + top: 0; + right: 5px; + border-width: 0 5px 5px; + border-bottom-color: #000; +} +.popover { + position: absolute; + top: 0; + left: 0; + z-index: 1010; + display: none; + max-width: 276px; + padding: 1px; + text-align: left; + white-space: normal; + background-color: #fff; + background-clip: padding-box; + border: 1px solid #ccc; + border: 1px solid rgba(0, 0, 0, .2); + border-radius: 6px; + -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, .2); + box-shadow: 0 5px 10px rgba(0, 0, 0, .2); +} +.popover.top { + margin-top: -10px; +} +.popover.right { + margin-left: 10px; +} +.popover.bottom { + margin-top: 10px; +} +.popover.left { + margin-left: -10px; +} +.popover-title { + padding: 8px 14px; + margin: 0; + font-size: 14px; + font-weight: normal; + line-height: 18px; + background-color: #f7f7f7; + border-bottom: 1px solid #ebebeb; + border-radius: 5px 5px 0 0; +} +.popover-content { + padding: 9px 14px; +} +.popover > .arrow, +.popover > .arrow:after { + position: absolute; + display: block; + width: 0; + height: 0; + border-color: transparent; + border-style: solid; +} +.popover > .arrow { + border-width: 11px; +} +.popover > .arrow:after { + content: ""; + border-width: 10px; +} +.popover.top > .arrow { + bottom: -11px; + left: 50%; + margin-left: -11px; + border-top-color: #999; + border-top-color: rgba(0, 0, 0, .25); + border-bottom-width: 0; +} +.popover.top > .arrow:after { + bottom: 1px; + margin-left: -10px; + content: " "; + border-top-color: #fff; + border-bottom-width: 0; +} +.popover.right > .arrow { + top: 50%; + left: -11px; + margin-top: -11px; + border-right-color: #999; + border-right-color: rgba(0, 0, 0, .25); + border-left-width: 0; +} +.popover.right > .arrow:after { + bottom: -10px; + left: 1px; + content: " "; + border-right-color: #fff; + border-left-width: 0; +} +.popover.bottom > .arrow { + top: -11px; + left: 50%; + margin-left: -11px; + border-top-width: 0; + border-bottom-color: #999; + border-bottom-color: rgba(0, 0, 0, .25); +} +.popover.bottom > .arrow:after { + top: 1px; + margin-left: -10px; + content: " "; + border-top-width: 0; + border-bottom-color: #fff; +} +.popover.left > .arrow { + top: 50%; + right: -11px; + margin-top: -11px; + border-right-width: 0; + border-left-color: #999; + border-left-color: rgba(0, 0, 0, .25); +} +.popover.left > .arrow:after { + right: 1px; + bottom: -10px; + content: " "; + border-right-width: 0; + border-left-color: #fff; +} +.carousel { + position: relative; +} +.carousel-inner { + position: relative; + width: 100%; + overflow: hidden; +} +.carousel-inner > .item { + position: relative; + display: none; + -webkit-transition: .6s ease-in-out left; + transition: .6s ease-in-out left; +} +.carousel-inner > .item > img, +.carousel-inner > .item > a > img { + line-height: 1; +} +.carousel-inner > .active, +.carousel-inner > .next, +.carousel-inner > .prev { + display: block; +} +.carousel-inner > .active { + left: 0; +} +.carousel-inner > .next, +.carousel-inner > .prev { + position: absolute; + top: 0; + width: 100%; +} +.carousel-inner > .next { + left: 100%; +} +.carousel-inner > .prev { + left: -100%; +} +.carousel-inner > .next.left, +.carousel-inner > .prev.right { + left: 0; +} +.carousel-inner > .active.left { + left: -100%; +} +.carousel-inner > .active.right { + left: 100%; +} +.carousel-control { + position: absolute; + top: 0; + bottom: 0; + left: 0; + width: 15%; + font-size: 20px; + color: #fff; + text-align: center; + text-shadow: 0 1px 2px rgba(0, 0, 0, .6); + filter: alpha(opacity=50); + opacity: .5; +} +.carousel-control.left { + background-image: -webkit-linear-gradient(left, color-stop(rgba(0, 0, 0, .5) 0%), color-stop(rgba(0, 0, 0, .0001) 100%)); + background-image: linear-gradient(to right, rgba(0, 0, 0, .5) 0%, rgba(0, 0, 0, .0001) 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1); + background-repeat: repeat-x; +} +.carousel-control.right { + right: 0; + left: auto; + background-image: -webkit-linear-gradient(left, color-stop(rgba(0, 0, 0, .0001) 0%), color-stop(rgba(0, 0, 0, .5) 100%)); + background-image: linear-gradient(to right, rgba(0, 0, 0, .0001) 0%, rgba(0, 0, 0, .5) 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1); + background-repeat: repeat-x; +} +.carousel-control:hover, +.carousel-control:focus { + color: #fff; + text-decoration: none; + filter: alpha(opacity=90); + outline: none; + opacity: .9; +} +.carousel-control .icon-prev, +.carousel-control .icon-next, +.carousel-control .glyphicon-chevron-left, +.carousel-control .glyphicon-chevron-right { + position: absolute; + top: 50%; + z-index: 5; + display: inline-block; +} +.carousel-control .icon-prev, +.carousel-control .glyphicon-chevron-left { + left: 50%; +} +.carousel-control .icon-next, +.carousel-control .glyphicon-chevron-right { + right: 50%; +} +.carousel-control .icon-prev, +.carousel-control .icon-next { + width: 20px; + height: 20px; + margin-top: -10px; + margin-left: -10px; + font-family: serif; +} +.carousel-control .icon-prev:before { + content: '\2039'; +} +.carousel-control .icon-next:before { + content: '\203a'; +} +.carousel-indicators { + position: absolute; + bottom: 10px; + left: 50%; + z-index: 15; + width: 60%; + padding-left: 0; + margin-left: -30%; + text-align: center; + list-style: none; +} +.carousel-indicators li { + display: inline-block; + width: 10px; + height: 10px; + margin: 1px; + text-indent: -999px; + cursor: pointer; + background-color: #000 \9; + background-color: rgba(0, 0, 0, 0); + border: 1px solid #fff; + border-radius: 10px; +} +.carousel-indicators .active { + width: 12px; + height: 12px; + margin: 0; + background-color: #fff; +} +.carousel-caption { + position: absolute; + right: 15%; + bottom: 20px; + left: 15%; + z-index: 10; + padding-top: 20px; + padding-bottom: 20px; + color: #fff; + text-align: center; + text-shadow: 0 1px 2px rgba(0, 0, 0, .6); +} +.carousel-caption .btn { + text-shadow: none; +} +@media screen and (min-width: 768px) { + .carousel-control .glyphicon-chevron-left, + .carousel-control .glyphicon-chevron-right, + .carousel-control .icon-prev, + .carousel-control .icon-next { + width: 30px; + height: 30px; + margin-top: -15px; + margin-left: -15px; + font-size: 30px; + } + .carousel-caption { + right: 20%; + left: 20%; + padding-bottom: 30px; + } + .carousel-indicators { + bottom: 20px; + } +} +.clearfix:before, +.clearfix:after, +.container:before, +.container:after, +.container-fluid:before, +.container-fluid:after, +.row:before, +.row:after, +.form-horizontal .form-group:before, +.form-horizontal .form-group:after, +.btn-toolbar:before, +.btn-toolbar:after, +.btn-group-vertical > .btn-group:before, +.btn-group-vertical > .btn-group:after, +.nav:before, +.nav:after, +.navbar:before, +.navbar:after, +.navbar-header:before, +.navbar-header:after, +.navbar-collapse:before, +.navbar-collapse:after, +.pager:before, +.pager:after, +.panel-body:before, +.panel-body:after, +.modal-footer:before, +.modal-footer:after { + display: table; + content: " "; +} +.clearfix:after, +.container:after, +.container-fluid:after, +.row:after, +.form-horizontal .form-group:after, +.btn-toolbar:after, +.btn-group-vertical > .btn-group:after, +.nav:after, +.navbar:after, +.navbar-header:after, +.navbar-collapse:after, +.pager:after, +.panel-body:after, +.modal-footer:after { + clear: both; +} +.center-block { + display: block; + margin-right: auto; + margin-left: auto; +} +.pull-right { + float: right !important; +} +.pull-left { + float: left !important; +} +.hide { + display: none !important; +} +.show { + display: block !important; +} +.invisible { + visibility: hidden; +} +.text-hide { + font: 0/0 a; + color: transparent; + text-shadow: none; + background-color: transparent; + border: 0; +} +.hidden { + display: none !important; + visibility: hidden !important; +} +.affix { + position: fixed; +} +@-ms-viewport { + width: device-width; +} +.visible-xs, +.visible-sm, +.visible-md, +.visible-lg { + display: none !important; +} +@media (max-width: 767px) { + .visible-xs { + display: block !important; + } + table.visible-xs { + display: table; + } + tr.visible-xs { + display: table-row !important; + } + th.visible-xs, + td.visible-xs { + display: table-cell !important; + } +} +@media (min-width: 768px) and (max-width: 991px) { + .visible-sm { + display: block !important; + } + table.visible-sm { + display: table; + } + tr.visible-sm { + display: table-row !important; + } + th.visible-sm, + td.visible-sm { + display: table-cell !important; + } +} +@media (min-width: 992px) and (max-width: 1199px) { + .visible-md { + display: block !important; + } + table.visible-md { + display: table; + } + tr.visible-md { + display: table-row !important; + } + th.visible-md, + td.visible-md { + display: table-cell !important; + } +} +@media (min-width: 1200px) { + .visible-lg { + display: block !important; + } + table.visible-lg { + display: table; + } + tr.visible-lg { + display: table-row !important; + } + th.visible-lg, + td.visible-lg { + display: table-cell !important; + } +} +@media (max-width: 767px) { + .hidden-xs { + display: none !important; + } +} +@media (min-width: 768px) and (max-width: 991px) { + .hidden-sm { + display: none !important; + } +} +@media (min-width: 992px) and (max-width: 1199px) { + .hidden-md { + display: none !important; + } +} +@media (min-width: 1200px) { + .hidden-lg { + display: none !important; + } +} +.visible-print { + display: none !important; +} +@media print { + .visible-print { + display: block !important; + } + table.visible-print { + display: table; + } + tr.visible-print { + display: table-row !important; + } + th.visible-print, + td.visible-print { + display: table-cell !important; + } +} +@media print { + .hidden-print { + display: none !important; + } +} +/*# sourceMappingURL=bootstrap.css.map */ diff --git a/www/lib/angular-chart.js/examples/bubble.html b/www/lib/angular-chart.js/examples/bubble.html new file mode 100644 index 0000000..f12396a --- /dev/null +++ b/www/lib/angular-chart.js/examples/bubble.html @@ -0,0 +1,29 @@ + + + + + Bubble chart + + + +
+
+
+
+
+
Bubble chart
+
+ +
+
+
+
+
+ + + + + + + diff --git a/www/lib/angular-chart.js/examples/bubble.js b/www/lib/angular-chart.js/examples/bubble.js new file mode 100644 index 0000000..4ae5a12 --- /dev/null +++ b/www/lib/angular-chart.js/examples/bubble.js @@ -0,0 +1,55 @@ +angular.module('app', ['chart.js']) + .config(['ChartJsProvider', function (ChartJsProvider) { + 'use strict'; + ChartJsProvider.setOptions({ + tooltips: { enabled: false } + }); + }]) + .controller('BubbleCtrl', ['$scope', '$interval', function ($scope, $interval) { + 'use strict'; + + $scope.options = { + scales: { + xAxes: [{ + display: false, + ticks: { + max: 125, + min: -125, + stepSize: 10 + } + }], + yAxes: [{ + display: false, + ticks: { + max: 125, + min: -125, + stepSize: 10 + } + }] + } + }; + + createChart(); + $interval(createChart, 2000); + + function createChart () { + $scope.series = []; + $scope.data = []; + for (var i = 0; i < 50; i++) { + $scope.series.push(`Series ${i}`); + $scope.data.push([{ + x: randomScalingFactor(), + y: randomScalingFactor(), + r: randomRadius() + }]); + } + } + + function randomScalingFactor () { + return (Math.random() > 0.5 ? 1.0 : -1.0) * Math.round(Math.random() * 100); + } + + function randomRadius () { + return Math.abs(randomScalingFactor()) / 4; + } + }]); diff --git a/www/lib/angular-chart.js/examples/charts.html b/www/lib/angular-chart.js/examples/charts.html new file mode 100644 index 0000000..3b43295 --- /dev/null +++ b/www/lib/angular-chart.js/examples/charts.html @@ -0,0 +1,701 @@ + + + + + Charts + + + + + + + + +
+
+ +
+

+ Angular Chart +

+ +

Reactive, responsive, beautiful charts for AngularJS based on Chart.js

+ +

+ Code on Github + + Download (1.0.2) + +

+
+
+
+
+
+ +

Dependencies

+

+ This repository contains a set of native AngularJS directives for Chart.js. The only required dependencies are: +

+
    +
  • AngularJS (tested with 1.2.x, 1.3.x, 1.4.x and 1.5.x although it probably works with older versions)
  • +
  • Chart.js (requires Chart.js 2.0.x).
  • +
+

Files to download

+

+ The easiest is to download with npm: +

npm install angular-chart.js --save
+ Alternatively files can be downloaded from Github or via bower. + See readme for more information. +

+

Whichever method you choose the good news is that the overall size is very small: + <5kb for all directives (~1kb with gzip compression!)

+

Installation

+

You need to include the dependencies in your page:

+
<script src="node_modules/chart.js/Chart.min.js"></script>
+<script src="node_modules/angular-chart.js/dist/angular-chart.min.js"></script>
+

As soon as you've got all the files downloaded and included in your page you just need to declare + a dependency on the chart.js module:
+

angular.module('myModule', ['chart.js']);
+

+

CSS

+

+

Colors

+

Series have beautiful pre-sets colors (to a maximum of 7 series, after that colors will be randomly generated). + They can be overwritten using Chart.defaults.global.colors.

+
    +
  1. Blue
  2. +
  3. Light grey
  4. +
  5. Red
  6. +
  7. Green
  8. +
  9. Yellow
  10. +
  11. Grey
  12. +
  13. Dark Grey
  14. +
+

You can also use the provider : ChartJsProvider in a .config()

+

(function (ChartJsProvider) {
+  ChartJsProvider.setOptions({ colors : [ '#803690', '#00ADF9', '#DCDCDC', '#46BFBD', '#FDB45C', '#949FB1', '#4D5360'] });
+}); 

+
+
+ +
+
+
+
Line Chart
+
+ +
+
+
+
+ + +
+ .chart-line +
    +
  • chart-data: series data
  • +
  • chart-labels: x axis labels
  • +
  • chart-options (default: {}): Chart.js options
  • +
  • chart-series (default: []): series labels
  • +
  • chart-click (optional): onclick event handler
  • +
  • chart-hover (optional): onmousemove event handler
  • +
  • chart-colors (default to global colors): colors for the chart
  • +
  • chart-dataset-override (optional): override datasets individually
  • +
+
+
+ +
<canvas id="line" class="chart chart-line" chart-data="data"
+chart-labels="labels" chart-series="series" chart-options="options"
+chart-dataset-override="datasetOverride" chart-click="onClick"
+</canvas> 
+
+ +
angular.module("app", ["chart.js"]).controller("LineCtrl", function ($scope) {
+
+  $scope.labels = ["January", "February", "March", "April", "May", "June", "July"];
+  $scope.series = ['Series A', 'Series B'];
+  $scope.data = [
+    [65, 59, 80, 81, 56, 55, 40],
+    [28, 48, 40, 19, 86, 27, 90]
+  ];
+  $scope.onClick = function (points, evt) {
+    console.log(points, evt);
+  };
+  $scope.datasetOverride = [{ yAxisID: 'y-axis-1' }, { yAxisID: 'y-axis-2' }];
+  $scope.options = {
+    scales: {
+      yAxes: [
+        {
+          id: 'y-axis-1',
+          type: 'linear',
+          display: true,
+          position: 'left'
+        },
+        {
+          id: 'y-axis-2',
+          type: 'linear',
+          display: true,
+          position: 'right'
+        }
+      ]
+    }
+  };
+});
+              
+
+
+
+
+
+
+ + +
+ .chart-bar +
    +
  • chart-data: series data
  • +
  • chart-labels: x axis labels
  • +
  • chart-options (default: {}): Chart.js options
  • +
  • chart-series (default: []): series labels
  • +
  • chart-click (optional): onclick event handler
  • +
  • chart-hover (optional): onmousemove event handler
  • +
  • chart-colors (default to global colors): colors for the chart
  • +
  • chart-dataset-override (optional): override datasets individually
  • +
+
+
+ +
<canvas id="bar" class="chart chart-bar"
+  chart-data="data" chart-labels="labels"> chart-series="series"
+</canvas>
+
+ +
angular.module("app", ["chart.js"]).controller("BarCtrl", function ($scope) {
+  $scope.labels = ['2006', '2007', '2008', '2009', '2010', '2011', '2012'];
+  $scope.series = ['Series A', 'Series B'];
+
+  $scope.data = [
+    [65, 59, 80, 81, 56, 55, 40],
+    [28, 48, 40, 19, 86, 27, 90]
+  ];
+});
+              
+
+
+
+
+
+
Bar Chart
+
+ +
+
+
+
+
+
+
+
Doughnut Chart
+
+ +
+
+
+
+ + +
+ .chart-doughnut +
    +
  • chart-data: series data
  • +
  • chart-labels: series labels
  • +
  • chart-options (default: {}): Chart.js options
  • +
  • chart-click (optional): onclick event handler
  • +
  • chart-hover (optional): onmousemove event handler
  • +
  • chart-colors (default to global colors): colors for the chart
  • +
  • chart-dataset-override (optional): override datasets individually
  • +
+
+
+ +
<canvas id="doughnut" class="chart chart-doughnut"
+  chart-data="data" chart-labels="labels">
+</canvas> 
+
+ +
angular.module("app", ["chart.js"]).controller("DoughnutCtrl", function ($scope) {
+  $scope.labels = ["Download Sales", "In-Store Sales", "Mail-Order Sales"];
+  $scope.data = [300, 500, 100];
+});
+              
+
+
+
+
+
+
+ + +
+ .chart-radar +
    +
  • chart-data: series data
  • +
  • chart-labels: series labels
  • +
  • chart-options (default: {}): Chart.js options
  • +
  • chart-series (default: []): series labels
  • +
  • chart-click (optional): onclick event handler
  • +
  • chart-hover (optional): onmousemove event handler
  • +
  • chart-colors (default to global colors): colors for the chart
  • +
  • chart-dataset-override (optional): override datasets individually
  • +
+
+
+ +
<canvas id="radar" class="chart chart-radar"
+  chart-data="data" chart-options="options" chart-labels="labels">
+</canvas> 
+
+ +
angular.module("app", ["chart.js"]).controller("RadarCtrl", function ($scope) {
+  $scope.labels =["Eating", "Drinking", "Sleeping", "Designing", "Coding", "Cycling", "Running"];
+
+  $scope.data = [
+    [65, 59, 90, 81, 56, 55, 40],
+    [28, 48, 40, 19, 96, 27, 100]
+  ];
+});
+              
+
+
+
+
+
+
Radar Chart
+
+ +
+
+
+
+
+
+
+
Pie Chart
+
+ +
+
+
+
+ + +
+ .chart-pie +
    +
  • chart-data: series data
  • +
  • chart-labels: series labels
  • +
  • chart-options (default: {}): Chart.js options
  • +
  • chart-click (optional): onclick event handler
  • +
  • chart-hover (optional): onmousemove event handler
  • +
  • chart-colors (default to global colors): colors for the chart
  • +
  • chart-dataset-override (optional): override datasets individually
  • +
+
+
+ +
<canvas id="pie" class="chart chart-pie"
+  chart-data="data" chart-labels="labels" chart-options="options">
+</canvas> 
+
+ +
angular.module("app", ["chart.js"]).controller("PieCtrl", function ($scope) {
+  $scope.labels = ["Download Sales", "In-Store Sales", "Mail-Order Sales"];
+  $scope.data = [300, 500, 100];
+});
+              
+
+
+
+
+
+
+ + +
+ .chart-polar-area +
    +
  • chart-data: series data
  • +
  • chart-labels: series labels
  • +
  • chart-options (default: {}): Chart.js options
  • +
  • chart-click (optional): onclick event handler
  • +
  • chart-hover (optional): onmousemove event handler
  • +
  • chart-colors (default to global colors): colors for the chart
  • +
  • chart-dataset-override (optional): override datasets individually
  • +
+
+
+ +
<canvas id="polar-area" class="chart chart-polar-area"
+  chart-data="data" chart-labels="labels" chart-options="options">
+</canvas> 
+
+ +
angular.module("app", ["chart.js"]).controller("PolarAreaCtrl", function ($scope) {
+  $scope.labels = ["Download Sales", "In-Store Sales", "Mail-Order Sales", "Tele Sales", "Corporate Sales"];
+  $scope.data = [300, 500, 100, 40, 120];
+});
+              
+
+
+
+
+
+
Polar Area Chart
+
+ +
+
+
+
+
+
+
+
Horizontal Bar Chart
+
+ +
+
+
+
+ + +
+ .chart-horizontal-bar +
    +
  • chart-data: series data
  • +
  • chart-labels: x axis labels
  • +
  • chart-options (default: {}): Chart.js options
  • +
  • chart-series (default: []): series labels
  • +
  • chart-click (optional): onclick event handler
  • +
  • chart-hover (optional): onmousemove event handler
  • +
  • chart-colors (default to global colors): colors for the chart
  • +
  • chart-dataset-override (optional): override datasets individually
  • +
+
+
+ +
<canvas id="base" class="chart-horizontal-bar"
+  chart-data="data" chart-labels="labels" >
+</canvas> 
+
+ +
angular.module("app", ["chart.js"]).controller("BarCtrl",
+  function ($scope) {
+    $scope.labels = ['2006', '2007', '2008', '2009', '2010', '2011', '2012'];
+    $scope.series = ['Series A', 'Series B'];
+
+    $scope.data = [
+      [65, 59, 80, 81, 56, 55, 40],
+      [28, 48, 40, 19, 86, 27, 90]
+    ];
+});
+              
+
+
+
+
+
+
+ + +
+ .chart-bubble +
    +
  • chart-data: series data
  • +
  • chart-labels: x axis labels
  • +
  • chart-options (default: {}): Chart.js options
  • +
  • chart-series (default: []): series labels
  • +
  • chart-click (optional): onclick event handler
  • +
  • chart-hover (optional): onmousemove event handler
  • +
  • chart-colors (default to global colors): colors for the chart
  • +
  • chart-dataset-override (optional): override datasets individually
  • +
+
+
+ +

+<canvas id="base" class="chart-bubble" chart-data="data"
+  chart-series="series" >
+</canvas> 
+
+ +
angular.module("app", ["chart.js"]).controller("BubbleCtrl",
+  function ($scope) {
+    // see examples/bubble.js for random bubbles source code
+    $scope.series = ['Series A', 'Series B'];
+
+    $scope.data = [
+      [{
+        x: 40,
+        y: 10,
+        r: 20
+      }],
+      [{
+        x: 10,
+        y: 40,
+        r: 50
+      }]
+    ];
+});
+              
+
+
+
+
+
+
Bubble Chart
+
+ +
+
+
+
+
+
+
+
Dynamic Chart
+
+ +
+
+ +
+
+ + +
+ .chart-base +
    +
  • chart-type: chart type e.g. Bar, PolarArea, etc. or other plugins
  • +
  • other options according to chart type
  • +
+
+
+ +
<canvas id="base" class="chart-base" chart-type="type"
+  chart-data="data" chart-labels="labels" >
+</canvas> 
+
+ +
angular.module("app", ["chart.js"]).controller("BaseCtrl",
+  function ($scope) {
+    $scope.labels = ["Download Sales", "In-Store Sales", "Mail-Order Sales", "Tele Sales", "Corporate Sales"];
+    $scope.data = [300, 500, 100, 40, 120];
+    $scope.type = 'PolarArea';
+
+    $scope.toggle = function () {
+      $scope.type = $scope.type === 'PolarArea' ?
+        'Pie' : 'PolarArea';
+    };
+});
+              
+
+
+
+
+
+
+ +
+
+
+
Reactive Chart
+
+ +
+
+
+
+
+
Chart Data
+
+ + + + + + + +
{{label}}
{{data[$parent.$index][$index]}}
+ +
+
+
+
+
+
+ +
+
+ + +
<canvas id="base" class="chart-bar"
+  chart-data="data" chart-labels="labels" chart-colors="colors"
+  chart-dataset-override="datasetOverride" >
+</canvas> 
+
+ +
angular.module("app", ["chart.js"]).controller("MixedChartCtrl",
+  function ($scope) {
+    $scope.colors = ['#45b7cd', '#ff6384', '#ff8e72'];
+
+    $scope.labels = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday'];
+    $scope.data = [
+      [65, -59, 80, 81, -56, 55, -40],
+      [28, 48, -40, 19, 86, 27, 90]
+    ];
+    $scope.datasetOverride = [
+      {
+        label: "Bar chart",
+        borderWidth: 1,
+        type: 'bar'
+      },
+      {
+        label: "Line chart",
+        borderWidth: 3,
+        hoverBackgroundColor: "rgba(255,99,132,0.4)",
+        hoverBorderColor: "rgba(255,99,132,1)",
+        type: 'line'
+      }
+    ];
+});
+              
+
+
+
+
+
+
Bar line Chart
+
+ +
+
+
+
+
+
+ + + + + + + + + + + + + + diff --git a/www/lib/angular-chart.js/examples/charts.template.html b/www/lib/angular-chart.js/examples/charts.template.html new file mode 100644 index 0000000..a900d6d --- /dev/null +++ b/www/lib/angular-chart.js/examples/charts.template.html @@ -0,0 +1,701 @@ + + + + + Charts + + + + + + + + +
+
+ +
+

+ Angular Chart +

+ +

Reactive, responsive, beautiful charts for AngularJS based on Chart.js

+ +

+ Code on Github + + Download () + +

+
+
+
+
+
+ +

Dependencies

+

+ This repository contains a set of native AngularJS directives for Chart.js. The only required dependencies are: +

+
    +
  • AngularJS (tested with 1.2.x, 1.3.x, 1.4.x and 1.5.x although it probably works with older versions)
  • +
  • Chart.js (requires Chart.js 2.0.x).
  • +
+

Files to download

+

+ The easiest is to download with npm: +

npm install angular-chart.js --save
+ Alternatively files can be downloaded from Github or via bower. + See readme for more information. +

+

Whichever method you choose the good news is that the overall size is very small: + <5kb for all directives (~1kb with gzip compression!)

+

Installation

+

You need to include the dependencies in your page:

+
<script src="node_modules/chart.js/Chart.min.js"></script>
+<script src="node_modules/angular-chart.js/dist/angular-chart.min.js"></script>
+

As soon as you've got all the files downloaded and included in your page you just need to declare + a dependency on the chart.js module:
+

angular.module('myModule', ['chart.js']);
+

+

CSS

+

+

Colors

+

Series have beautiful pre-sets colors (to a maximum of 7 series, after that colors will be randomly generated). + They can be overwritten using Chart.defaults.global.colors.

+
    +
  1. Blue
  2. +
  3. Light grey
  4. +
  5. Red
  6. +
  7. Green
  8. +
  9. Yellow
  10. +
  11. Grey
  12. +
  13. Dark Grey
  14. +
+

You can also use the provider : ChartJsProvider in a .config()

+

(function (ChartJsProvider) {
+  ChartJsProvider.setOptions({ colors : [ '#803690', '#00ADF9', '#DCDCDC', '#46BFBD', '#FDB45C', '#949FB1', '#4D5360'] });
+}); 

+
+
+ +
+
+
+
Line Chart
+
+ +
+
+
+
+ + +
+ .chart-line +
    +
  • chart-data: series data
  • +
  • chart-labels: x axis labels
  • +
  • chart-options (default: {}): Chart.js options
  • +
  • chart-series (default: []): series labels
  • +
  • chart-click (optional): onclick event handler
  • +
  • chart-hover (optional): onmousemove event handler
  • +
  • chart-colors (default to global colors): colors for the chart
  • +
  • chart-dataset-override (optional): override datasets individually
  • +
+
+
+ +
<canvas id="line" class="chart chart-line" chart-data="data"
+chart-labels="labels" chart-series="series" chart-options="options"
+chart-dataset-override="datasetOverride" chart-click="onClick"
+</canvas> 
+
+ +
angular.module("app", ["chart.js"]).controller("LineCtrl", function ($scope) {
+
+  $scope.labels = ["January", "February", "March", "April", "May", "June", "July"];
+  $scope.series = ['Series A', 'Series B'];
+  $scope.data = [
+    [65, 59, 80, 81, 56, 55, 40],
+    [28, 48, 40, 19, 86, 27, 90]
+  ];
+  $scope.onClick = function (points, evt) {
+    console.log(points, evt);
+  };
+  $scope.datasetOverride = [{ yAxisID: 'y-axis-1' }, { yAxisID: 'y-axis-2' }];
+  $scope.options = {
+    scales: {
+      yAxes: [
+        {
+          id: 'y-axis-1',
+          type: 'linear',
+          display: true,
+          position: 'left'
+        },
+        {
+          id: 'y-axis-2',
+          type: 'linear',
+          display: true,
+          position: 'right'
+        }
+      ]
+    }
+  };
+});
+              
+
+
+
+
+
+
+ + +
+ .chart-bar +
    +
  • chart-data: series data
  • +
  • chart-labels: x axis labels
  • +
  • chart-options (default: {}): Chart.js options
  • +
  • chart-series (default: []): series labels
  • +
  • chart-click (optional): onclick event handler
  • +
  • chart-hover (optional): onmousemove event handler
  • +
  • chart-colors (default to global colors): colors for the chart
  • +
  • chart-dataset-override (optional): override datasets individually
  • +
+
+
+ +
<canvas id="bar" class="chart chart-bar"
+  chart-data="data" chart-labels="labels"> chart-series="series"
+</canvas>
+
+ +
angular.module("app", ["chart.js"]).controller("BarCtrl", function ($scope) {
+  $scope.labels = ['2006', '2007', '2008', '2009', '2010', '2011', '2012'];
+  $scope.series = ['Series A', 'Series B'];
+
+  $scope.data = [
+    [65, 59, 80, 81, 56, 55, 40],
+    [28, 48, 40, 19, 86, 27, 90]
+  ];
+});
+              
+
+
+
+
+
+
Bar Chart
+
+ +
+
+
+
+
+
+
+
Doughnut Chart
+
+ +
+
+
+
+ + +
+ .chart-doughnut +
    +
  • chart-data: series data
  • +
  • chart-labels: series labels
  • +
  • chart-options (default: {}): Chart.js options
  • +
  • chart-click (optional): onclick event handler
  • +
  • chart-hover (optional): onmousemove event handler
  • +
  • chart-colors (default to global colors): colors for the chart
  • +
  • chart-dataset-override (optional): override datasets individually
  • +
+
+
+ +
<canvas id="doughnut" class="chart chart-doughnut"
+  chart-data="data" chart-labels="labels">
+</canvas> 
+
+ +
angular.module("app", ["chart.js"]).controller("DoughnutCtrl", function ($scope) {
+  $scope.labels = ["Download Sales", "In-Store Sales", "Mail-Order Sales"];
+  $scope.data = [300, 500, 100];
+});
+              
+
+
+
+
+
+
+ + +
+ .chart-radar +
    +
  • chart-data: series data
  • +
  • chart-labels: series labels
  • +
  • chart-options (default: {}): Chart.js options
  • +
  • chart-series (default: []): series labels
  • +
  • chart-click (optional): onclick event handler
  • +
  • chart-hover (optional): onmousemove event handler
  • +
  • chart-colors (default to global colors): colors for the chart
  • +
  • chart-dataset-override (optional): override datasets individually
  • +
+
+
+ +
<canvas id="radar" class="chart chart-radar"
+  chart-data="data" chart-options="options" chart-labels="labels">
+</canvas> 
+
+ +
angular.module("app", ["chart.js"]).controller("RadarCtrl", function ($scope) {
+  $scope.labels =["Eating", "Drinking", "Sleeping", "Designing", "Coding", "Cycling", "Running"];
+
+  $scope.data = [
+    [65, 59, 90, 81, 56, 55, 40],
+    [28, 48, 40, 19, 96, 27, 100]
+  ];
+});
+              
+
+
+
+
+
+
Radar Chart
+
+ +
+
+
+
+
+
+
+
Pie Chart
+
+ +
+
+
+
+ + +
+ .chart-pie +
    +
  • chart-data: series data
  • +
  • chart-labels: series labels
  • +
  • chart-options (default: {}): Chart.js options
  • +
  • chart-click (optional): onclick event handler
  • +
  • chart-hover (optional): onmousemove event handler
  • +
  • chart-colors (default to global colors): colors for the chart
  • +
  • chart-dataset-override (optional): override datasets individually
  • +
+
+
+ +
<canvas id="pie" class="chart chart-pie"
+  chart-data="data" chart-labels="labels" chart-options="options">
+</canvas> 
+
+ +
angular.module("app", ["chart.js"]).controller("PieCtrl", function ($scope) {
+  $scope.labels = ["Download Sales", "In-Store Sales", "Mail-Order Sales"];
+  $scope.data = [300, 500, 100];
+});
+              
+
+
+
+
+
+
+ + +
+ .chart-polar-area +
    +
  • chart-data: series data
  • +
  • chart-labels: series labels
  • +
  • chart-options (default: {}): Chart.js options
  • +
  • chart-click (optional): onclick event handler
  • +
  • chart-hover (optional): onmousemove event handler
  • +
  • chart-colors (default to global colors): colors for the chart
  • +
  • chart-dataset-override (optional): override datasets individually
  • +
+
+
+ +
<canvas id="polar-area" class="chart chart-polar-area"
+  chart-data="data" chart-labels="labels" chart-options="options">
+</canvas> 
+
+ +
angular.module("app", ["chart.js"]).controller("PolarAreaCtrl", function ($scope) {
+  $scope.labels = ["Download Sales", "In-Store Sales", "Mail-Order Sales", "Tele Sales", "Corporate Sales"];
+  $scope.data = [300, 500, 100, 40, 120];
+});
+              
+
+
+
+
+
+
Polar Area Chart
+
+ +
+
+
+
+
+
+
+
Horizontal Bar Chart
+
+ +
+
+
+
+ + +
+ .chart-horizontal-bar +
    +
  • chart-data: series data
  • +
  • chart-labels: x axis labels
  • +
  • chart-options (default: {}): Chart.js options
  • +
  • chart-series (default: []): series labels
  • +
  • chart-click (optional): onclick event handler
  • +
  • chart-hover (optional): onmousemove event handler
  • +
  • chart-colors (default to global colors): colors for the chart
  • +
  • chart-dataset-override (optional): override datasets individually
  • +
+
+
+ +
<canvas id="base" class="chart-horizontal-bar"
+  chart-data="data" chart-labels="labels" >
+</canvas> 
+
+ +
angular.module("app", ["chart.js"]).controller("BarCtrl",
+  function ($scope) {
+    $scope.labels = ['2006', '2007', '2008', '2009', '2010', '2011', '2012'];
+    $scope.series = ['Series A', 'Series B'];
+
+    $scope.data = [
+      [65, 59, 80, 81, 56, 55, 40],
+      [28, 48, 40, 19, 86, 27, 90]
+    ];
+});
+              
+
+
+
+
+
+
+ + +
+ .chart-bubble +
    +
  • chart-data: series data
  • +
  • chart-labels: x axis labels
  • +
  • chart-options (default: {}): Chart.js options
  • +
  • chart-series (default: []): series labels
  • +
  • chart-click (optional): onclick event handler
  • +
  • chart-hover (optional): onmousemove event handler
  • +
  • chart-colors (default to global colors): colors for the chart
  • +
  • chart-dataset-override (optional): override datasets individually
  • +
+
+
+ +

+<canvas id="base" class="chart-bubble" chart-data="data"
+  chart-series="series" >
+</canvas> 
+
+ +
angular.module("app", ["chart.js"]).controller("BubbleCtrl",
+  function ($scope) {
+    // see examples/bubble.js for random bubbles source code
+    $scope.series = ['Series A', 'Series B'];
+
+    $scope.data = [
+      [{
+        x: 40,
+        y: 10,
+        r: 20
+      }],
+      [{
+        x: 10,
+        y: 40,
+        r: 50
+      }]
+    ];
+});
+              
+
+
+
+
+
+
Bubble Chart
+
+ +
+
+
+
+
+
+
+
Dynamic Chart
+
+ +
+
+ +
+
+ + +
+ .chart-base +
    +
  • chart-type: chart type e.g. Bar, PolarArea, etc. or other plugins
  • +
  • other options according to chart type
  • +
+
+
+ +
<canvas id="base" class="chart-base" chart-type="type"
+  chart-data="data" chart-labels="labels" >
+</canvas> 
+
+ +
angular.module("app", ["chart.js"]).controller("BaseCtrl",
+  function ($scope) {
+    $scope.labels = ["Download Sales", "In-Store Sales", "Mail-Order Sales", "Tele Sales", "Corporate Sales"];
+    $scope.data = [300, 500, 100, 40, 120];
+    $scope.type = 'PolarArea';
+
+    $scope.toggle = function () {
+      $scope.type = $scope.type === 'PolarArea' ?
+        'Pie' : 'PolarArea';
+    };
+});
+              
+
+
+
+
+
+
+ +
+
+
+
Reactive Chart
+
+ +
+
+
+
+
+
Chart Data
+
+ + + + + + + +
{{label}}
{{data[$parent.$index][$index]}}
+ +
+
+
+
+
+
+ +
+
+ + +
<canvas id="base" class="chart-bar"
+  chart-data="data" chart-labels="labels" chart-colors="colors"
+  chart-dataset-override="datasetOverride" >
+</canvas> 
+
+ +
angular.module("app", ["chart.js"]).controller("MixedChartCtrl",
+  function ($scope) {
+    $scope.colors = ['#45b7cd', '#ff6384', '#ff8e72'];
+
+    $scope.labels = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday'];
+    $scope.data = [
+      [65, -59, 80, 81, -56, 55, -40],
+      [28, 48, -40, 19, 86, 27, 90]
+    ];
+    $scope.datasetOverride = [
+      {
+        label: "Bar chart",
+        borderWidth: 1,
+        type: 'bar'
+      },
+      {
+        label: "Line chart",
+        borderWidth: 3,
+        hoverBackgroundColor: "rgba(255,99,132,0.4)",
+        hoverBorderColor: "rgba(255,99,132,1)",
+        type: 'line'
+      }
+    ];
+});
+              
+
+
+
+
+
+
Bar line Chart
+
+ +
+
+
+
+
+
+ + + + + + + + + + + + + + diff --git a/www/lib/angular-chart.js/examples/commonjs.html b/www/lib/angular-chart.js/examples/commonjs.html new file mode 100644 index 0000000..d468799 --- /dev/null +++ b/www/lib/angular-chart.js/examples/commonjs.html @@ -0,0 +1,25 @@ + + + + + CommonJS + + + +
+
+
+
+
+
CommonJS
+
+ +
+
+
+
+
+ + + + diff --git a/www/lib/angular-chart.js/examples/commonjs.js b/www/lib/angular-chart.js/examples/commonjs.js new file mode 100644 index 0000000..2315748 --- /dev/null +++ b/www/lib/angular-chart.js/examples/commonjs.js @@ -0,0 +1,19 @@ +(function () { + 'use strict'; + + var angular = require('angular'); + + var app = angular.module('app', [ + require('angular-chart') + ]); + + app.controller('CommonJSCtrl', ['$scope', function ($scope) { + $scope.labels = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday']; + $scope.series = ['Series A', 'Series B']; + $scope.data = [ + [65, 59, 80, 81, 56, 55, 40], + [28, 48, 40, 19, 86, 27, 90] + ]; + }]); + +})(); diff --git a/www/lib/angular-chart.js/examples/dataset-override.html b/www/lib/angular-chart.js/examples/dataset-override.html new file mode 100644 index 0000000..cadfe37 --- /dev/null +++ b/www/lib/angular-chart.js/examples/dataset-override.html @@ -0,0 +1,38 @@ + + + + + Charts with datasets overrides + + + +
+
+
+
+
+
Mixed chart
+
+ +
+
+
+
+
+
Doughnut dataset override
+
+ +
+
+
+
+
+ + + + + + + diff --git a/www/lib/angular-chart.js/examples/dataset-override.js b/www/lib/angular-chart.js/examples/dataset-override.js new file mode 100644 index 0000000..e7cf76d --- /dev/null +++ b/www/lib/angular-chart.js/examples/dataset-override.js @@ -0,0 +1,32 @@ +angular.module('app', ['chart.js']).controller('OverrideCtrl', ['$scope', function ($scope) { + 'use strict'; + + $scope.colors = ['#45b7cd', '#ff6384', '#ff8e72']; + + $scope.labels1 = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday']; + $scope.data1 = [ + [65, -59, 80, 81, -56, 55, -40], + [28, 48, -40, 19, 86, 27, 90] + ]; + $scope.datasetOverride1 = [ + { + label: 'Override Series A', + borderWidth: 1, + type: 'bar' + }, + { + label: 'Override Series B', + borderWidth: 3, + hoverBackgroundColor: 'rgba(255,99,132,0.4)', + hoverBorderColor: 'rgba(255,99,132,1)', + type: 'line' + } + ]; + + $scope.labels2 = ['Download Sales', 'In-Store Sales', 'Mail-Order Sales']; + $scope.data2 = [350, 450, 100]; + $scope.datasetOverride2 = { + hoverBackgroundColor: ['#45b7cd', '#ff6384', '#ff8e72'], + hoverBorderColor: ['#45b7cd', '#ff6384', '#ff8e72'] + }; +}]); diff --git a/www/lib/angular-chart.js/examples/smoothscroll.min.js b/www/lib/angular-chart.js/examples/smoothscroll.min.js new file mode 100644 index 0000000..631953c --- /dev/null +++ b/www/lib/angular-chart.js/examples/smoothscroll.min.js @@ -0,0 +1 @@ +window.smoothScroll=function(){if(document.querySelectorAll===void 0||window.pageYOffset===void 0||history.pushState===void 0){return}var e=function(e){if(e.nodeName==="HTML")return-window.pageYOffset;return e.getBoundingClientRect().top+window.pageYOffset};var t=function(e){return e<.5?4*e*e*e:(e-1)*(2*e-2)*(2*e-2)+1};var n=function(e,n,r,i){if(r>i)return n;return e+(n-e)*t(r/i)};var r=function(t,r,i){r=r||500;var s=window.pageYOffset;if(typeof t==="number"){var o=parseInt(t)}else{var o=e(t)}var u=Date.now();var a=window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||function(e){window.setTimeout(e,15)};var f=function(){var e=Date.now()-u;window.scroll(0,n(s,o,e,r));if(e>r){if(typeof i==="function"){i(t)}}else{a(f)}};f()};var i=function(e){e.preventDefault();if(location.hash!==this.hash)window.history.pushState(null,null,this.hash);r(document.getElementById(this.hash.substring(1)),500,function(e){location.replace("#"+e.id)})};document.addEventListener("DOMContentLoaded",function(){var e=document.querySelectorAll('a[href^="#"]'),t;for(var n=e.length;t=e[--n];){t.addEventListener("click",i,false)}});return r}() diff --git a/www/lib/angular-chart.js/examples/stacked-bars.html b/www/lib/angular-chart.js/examples/stacked-bars.html new file mode 100644 index 0000000..5009149 --- /dev/null +++ b/www/lib/angular-chart.js/examples/stacked-bars.html @@ -0,0 +1,31 @@ + + + + + Stacked Bar chart + + + +
+
+
+
+
+
+
Stacked Bar Chart
+
+ +
+
+
+
+
+ + + + + + + + diff --git a/www/lib/angular-chart.js/examples/tables.html b/www/lib/angular-chart.js/examples/tables.html new file mode 100644 index 0000000..672bc0a --- /dev/null +++ b/www/lib/angular-chart.js/examples/tables.html @@ -0,0 +1,45 @@ + + + + + Data tables + + + +
+
+
+
+
+
Chart Data
+
+ + + + + + + +
{{label}}
{{data[$parent.$index][$index]}}
+ +
+
+
+
+
+
Reactive Chart
+
+ +
+
+
+
+
+ + + + + + + + diff --git a/www/lib/angular-chart.js/examples/tabs.html b/www/lib/angular-chart.js/examples/tabs.html new file mode 100644 index 0000000..f2e18ba --- /dev/null +++ b/www/lib/angular-chart.js/examples/tabs.html @@ -0,0 +1,33 @@ + + + + + Charts in tabs + + + +
+
+
+ + +
+ +
+
+ +
+ +
+
+
+
+
+ + + + + + + + diff --git a/www/lib/angular-chart.js/examples/ticks.html b/www/lib/angular-chart.js/examples/ticks.html new file mode 100644 index 0000000..5264da2 --- /dev/null +++ b/www/lib/angular-chart.js/examples/ticks.html @@ -0,0 +1,30 @@ + + + + + Realtime ticks + + + +
+
+
+
+
+
Ticks Chart
+
+ +
+
+
+
+
+ + + + + + + + diff --git a/www/lib/angular-chart.js/examples/webpack.commonjs.js b/www/lib/angular-chart.js/examples/webpack.commonjs.js new file mode 100644 index 0000000..528eba9 --- /dev/null +++ b/www/lib/angular-chart.js/examples/webpack.commonjs.js @@ -0,0 +1,18 @@ +(function () { + 'use strict'; + + // install with npm: npm i --save angular-chart.js + // build with `npm bin`/webpack --config examples/webpack.commonjs.js --display-modules --progress + module.exports = { + entry: './examples/commonjs.js', + output: { + filename: './examples/commonjs.bundle.js' + }, + resolve: { + alias: { + 'angular-chart': '../angular-chart.js' // not required when you install with npm + } + } + }; + +})(); diff --git a/www/lib/angular-chart.js/examples/webpack.config.js b/www/lib/angular-chart.js/examples/webpack.config.js new file mode 100644 index 0000000..6eb0658 --- /dev/null +++ b/www/lib/angular-chart.js/examples/webpack.config.js @@ -0,0 +1,12 @@ +// install with npm: npm i --save angular-chart.js +module.exports = { + entry: './amd.js', + output: { + filename: './bundle.js' + }, + resolve: { + alias: { + 'angular-chart': '../angular-chart.js' // should not be required if you installed with npm + } + } +}; diff --git a/www/lib/angular-chart.js/examples/xy.html b/www/lib/angular-chart.js/examples/xy.html new file mode 100644 index 0000000..17a6145 --- /dev/null +++ b/www/lib/angular-chart.js/examples/xy.html @@ -0,0 +1,28 @@ + + + + + Charts with { x, y } + + + +
+
+
+
+
+
x y
+
+ +
+
+
+
+
+ + + + + + + diff --git a/www/lib/angular-chart.js/examples/xy.js b/www/lib/angular-chart.js/examples/xy.js new file mode 100644 index 0000000..df6dcd1 --- /dev/null +++ b/www/lib/angular-chart.js/examples/xy.js @@ -0,0 +1,18 @@ +angular.module('app', ['chart.js']).controller('LineCtrl', ['$scope', function ($scope) { + 'use strict'; + + $scope.series = ['Series A', 'Series B']; + $scope.data = [ + [ {x: 0, y: 10}, {x: 0, y: 1}, {x: 1, y: 6}, {x: 4, y: 2} ], + [ {x: 0, y: 2}, {x: 5, y: 7}, {x: 4, y: 2}, {x: 2, y: 9} ] + ]; + $scope.options = { + scales: { + xAxes: [{ + type: 'linear', + position: 'bottom' + }] + } + }; +}]); + diff --git a/www/lib/angular-chart.js/gulpfile.js b/www/lib/angular-chart.js/gulpfile.js new file mode 100644 index 0000000..3163670 --- /dev/null +++ b/www/lib/angular-chart.js/gulpfile.js @@ -0,0 +1,170 @@ +(function () { + 'use strict'; + + var bumper = require('gulp-bump'); + var fs = require('fs'); + var git = require('gulp-git'); + var gulp = require('gulp'); + var gzip = require('gulp-gzip'); + var header = require('gulp-header'); + var istanbul = require('gulp-istanbul'); + var istanbulReport = require('gulp-istanbul-report'); + var jshint = require('gulp-jshint'); + var jscs = require('gulp-jscs'); + var mocha = require('gulp-spawn-mocha'); + var mochaPhantomJS = require('gulp-mocha-phantomjs'); + var path = require('path'); + var pkg = require('./package.json'); + var rename = require('gulp-rename'); + var rimraf = require('gulp-rimraf'); + var sequence = require('gulp-sequence'); + var shell = require('gulp-shell'); + var sourcemaps = require('gulp-sourcemaps'); + var stylish = require('jshint-stylish'); + var tar = require('gulp-tar'); + var uglify = require('gulp-uglify'); + + var banner = ['/*!', + ' * <%= pkg.name %> - <%= pkg.description %>', + ' * <%= pkg.homepage %>', + ' * Version: <%= version %>', + ' *', + ' * Copyright 2016 Jerome Touffe-Blin', + ' * Released under the <%= pkg.license %> license', + ' * https://github.com/jtblin/angular-chart.js/blob/master/LICENSE', + ' */', + '' + ].join('\n'); + + gulp.task('clean', function () { + return gulp.src('./dist/*', { read: false }) + .pipe(rimraf()); + }); + + gulp.task('lint', function () { + return gulp.src('**/*.js') + .pipe(jshint()) + .pipe(jshint.reporter(stylish)); + }); + + gulp.task('style', function () { + return gulp.src('**/*.js') + .pipe(jscs()); + }); + + gulp.task('cover', function () { + return gulp.src('angular-chart.js') + .pipe(istanbul({ coverageVariable: '__coverage__' })) + .pipe(rename('coverage.js')) + .pipe(gulp.dest('test/fixtures')); + }); + + gulp.task('unit', function () { + return gulp.src('test/index.html', { read: false }) + .pipe(mochaPhantomJS({ + phantomjs: { + hooks: 'mocha-phantomjs-istanbul', + coverageFile: 'coverage/coverage.json' + }, + reporter: process.env.REPORTER || 'spec' + })); + }); + + gulp.task('integration', function () { + return gulp.src(path.join('test', 'test.integration.js'), { read: false }) + .pipe(mocha({ reporter: 'list', timeout: 20000, require: 'test/support/setup.js' })); + }); + + gulp.task('report', function () { + return gulp.src('coverage/coverage.json') + .pipe(istanbulReport({ reporters: ['lcov'] })); + }); + + gulp.task('bump-patch', bump('patch')); + gulp.task('bump-minor', bump('minor')); + gulp.task('bump-major', bump('major')); + + gulp.task('bower', function () { + return gulp.src('./angular-chart.js') + .pipe(header(banner, { pkg : pkg, version: version() } )) + .pipe(gulp.dest('./dist')); + }); + + gulp.task('js', ['lint', 'style', 'bower'], function () { + return gulp.src('./angular-chart.js') + .pipe(header(banner, { pkg : pkg, version: version() } )) + .pipe(rename('angular-chart.min.js')) + .pipe(sourcemaps.init()) + .pipe(uglify({ preserveComments: 'license' })) + .pipe(sourcemaps.write('./')) + .pipe(gulp.dest('./dist')); + }); + + gulp.task('build', function () { + return gulp.src(['dist/*', '!./dist/*.tar.gz']) + .pipe(tar('angular-chart.js.tar')) + .pipe(gzip({ gzipOptions: { level: 9 } })) + .pipe(gulp.dest('dist/')); + }); + + gulp.task('update', function (cb) { + fs.readFile('./examples/charts.template.html', 'utf8', function (err, file) { + if (err) return cb(err); + file = file.replace('', version()); + fs.writeFile('./examples/charts.html', file, cb); + }); + }); + + gulp.task('git-commit', function () { + var v = version(); + gulp.src(['./dist/*', './package.json', './bower.json', './examples/charts.html', './test/fixtures/coverage.js']) + .pipe(git.add()) + .pipe(git.commit(v)) + ; + }); + + gulp.task('git-push', function (cb) { + var v = version(); + git.push('origin', 'master', function (err) { + if (err) return cb(err); + git.tag(v, v, function (err) { + if (err) return cb(err); + git.push('origin', 'master', {args: '--tags' }, cb); + }); + }); + }); + + gulp.task('npm', shell.task([ + 'npm publish' + ])); + + gulp.task('watch', function () { + gulp.watch('./*.js', ['js']); + return true; + }); + + gulp.task('docker-test', shell.task([ + 'npm run docker-test' + ])); + + function bump (level) { + return function () { + return gulp.src(['./package.json', './bower.json']) + .pipe(bumper({type: level})) + .pipe(gulp.dest('./')); + }; + } + + function version () { + return JSON.parse(fs.readFileSync('package.json', 'utf8')).version; + } + + gulp.task('default', sequence('docker-test', 'assets')); + gulp.task('assets', sequence('clean', 'js', 'build')); + gulp.task('test', sequence('cover', 'unit', 'integration', 'report')); + gulp.task('check', sequence(['lint', 'style'], 'test')); + gulp.task('deploy-patch', sequence('docker-test', 'bump-patch', 'assets', 'update', 'git-commit', 'git-push', 'npm')); + gulp.task('deploy-minor', sequence('docker-test', 'bump-minor', 'assets', 'update', 'git-commit', 'git-push', 'npm')); + gulp.task('deploy-major', sequence('docker-test', 'bump-patch', 'assets', 'update', 'git-commit', 'git-push', 'npm')); + +})(); diff --git a/www/lib/angular-chart.js/package.json b/www/lib/angular-chart.js/package.json new file mode 100644 index 0000000..7c74a73 --- /dev/null +++ b/www/lib/angular-chart.js/package.json @@ -0,0 +1,100 @@ +{ + "name": "angular-chart.js", + "version": "1.0.2", + "description": "An angular.js wrapper for Chart.js", + "homepage": "http://jtblin.github.io/angular-chart.js/", + "main": "dist/angular-chart.js", + "directories": { + "example": "examples" + }, + "scripts": { + "codeclimate": "./node_modules/codeclimate-test-reporter/bin/codeclimate.js < coverage/lcov.info", + "docker": "npm run docker-build && npm run docker-test", + "docker-build": "docker build -t angular-chart.js .", + "docker-test": "docker run --rm -i -v $(pwd)/coverage/:/src/coverage/ -v $(pwd)/test/:/src/test/ -v $(pwd)/angular-chart.js:/src/angular-chart.js angular-chart.js", + "test": "gulp check" + }, + "author": { + "name": "Jerome Touffe-Blin", + "email": "jtblin@gmail.com" + }, + "repository": { + "type": "git", + "url": "git://github.com/jtblin/angular-chart.js.git" + }, + "license": "BSD-2-Clause", + "devDependencies": { + "Rainbow": "git+https://github.com/ccampbell/rainbow.git", + "angular-bootstrap": "^0.12.2", + "angular-mocks": "^1.5.7", + "chai": "^3.4.1", + "chai-string": "^1.2.0", + "codeclimate-test-reporter": "^0.3.1", + "cp": "^0.2.0", + "font-awesome": "^4.6.3", + "gm": "^1.22.0", + "gulp": "^3.9.0", + "gulp-bump": "^2.1.0", + "gulp-git": "^1.7.1", + "gulp-gzip": "^1.2.0", + "gulp-header": "^1.8.3", + "gulp-istanbul": "^1.0.0", + "gulp-istanbul-report": "^0.0.1", + "gulp-jscs": "^3.0.2", + "gulp-jshint": "^2.0.0", + "gulp-mocha-phantomjs": "^0.11.0", + "gulp-rename": "^1.2.0", + "gulp-rimraf": "^0.2.0", + "gulp-sequence": "^0.4.1", + "gulp-shell": "^0.5.1", + "gulp-sourcemaps": "^1.0.0", + "gulp-spawn-mocha": "^2.0.1", + "gulp-tar": "^1.9.0", + "gulp-uglify": "^1.5.3", + "imgur-node-api": "^0.1.0", + "jshint": "^2.9.1", + "jshint-stylish": "^2.0.1", + "mkdirp": "^0.5.0", + "mocha": "^2.1.0", + "mocha-phantomjs-istanbul": "^0.0.2", + "requirejs": "^2.2.0", + "sinon": "^1.12.2", + "sinon-chai": "^2.7.0", + "testatic": "^0.1.0", + "tmp-sync": "^1.1.0", + "webpack": "^1.13.1", + "webshot": "^0.18.0" + }, + "dependencies": { + "angular": "1.x", + "chart.js": "2.x" + }, + "gitHead": "56bcafb0979d6f61ec0fe2a770a74697a38bc3fe", + "bugs": { + "url": "https://github.com/jtblin/angular-chart.js/issues" + }, + "_id": "angular-chart.js@1.0.2", + "_shasum": "0b76d45f83fc01474662bc78414a0669ec01d1c8", + "_from": "angular-chart.js@latest", + "_npmVersion": "3.9.5", + "_nodeVersion": "6.2.2", + "_npmUser": { + "name": "jtblin", + "email": "jtblin@gmail.com" + }, + "maintainers": [ + { + "name": "jtblin", + "email": "jtblin@gmail.com" + } + ], + "dist": { + "shasum": "0b76d45f83fc01474662bc78414a0669ec01d1c8", + "tarball": "https://registry.npmjs.org/angular-chart.js/-/angular-chart.js-1.0.2.tgz" + }, + "_npmOperationalInternal": { + "host": "packages-12-west.internal.npmjs.com", + "tmp": "tmp/angular-chart.js-1.0.2.tgz_1471598008930_0.7436023156624287" + }, + "_resolved": "https://registry.npmjs.org/angular-chart.js/-/angular-chart.js-1.0.2.tgz" +} diff --git a/www/lib/angular-chart.js/test/fixtures/29-tabs.html b/www/lib/angular-chart.js/test/fixtures/29-tabs.html new file mode 100644 index 0000000..8f5a172 --- /dev/null +++ b/www/lib/angular-chart.js/test/fixtures/29-tabs.html @@ -0,0 +1,33 @@ + + + + + Charts in tabs + + + +
+
+
+ + +
+ +
+
+ +
+ +
+
+
+
+
+ + + + + + + + diff --git a/www/lib/angular-chart.js/test/fixtures/29-tabs.js b/www/lib/angular-chart.js/test/fixtures/29-tabs.js new file mode 100644 index 0000000..b29dab7 --- /dev/null +++ b/www/lib/angular-chart.js/test/fixtures/29-tabs.js @@ -0,0 +1,18 @@ +(function () { + 'use strict'; + + var app = angular.module('examples', ['chart.js', 'ui.bootstrap']); + Chart.defaults.global.legend = { + display: false + }; + + app.controller('TabsCtrl', function ($scope) { + $scope.labels = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday']; + $scope.active = true; + $scope.data = [ + [65, 59, 90, 81, 56, 55, 40], + [28, 48, 40, 19, 96, 27, 100] + ]; + }); + +})(); diff --git a/www/lib/angular-chart.js/test/fixtures/29-tabs.png b/www/lib/angular-chart.js/test/fixtures/29-tabs.png new file mode 100644 index 0000000000000000000000000000000000000000..62bd3549004faead827032fdbdb9b14fd2b0ac6f GIT binary patch literal 69542 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 OkI8Y%W4TA+k^cu`0+4wC literal 0 HcmV?d00001 diff --git a/www/lib/angular-chart.js/test/fixtures/51-pie-update-colours.html b/www/lib/angular-chart.js/test/fixtures/51-pie-update-colours.html new file mode 100644 index 0000000..ab68a94 --- /dev/null +++ b/www/lib/angular-chart.js/test/fixtures/51-pie-update-colours.html @@ -0,0 +1,35 @@ + + + + + Pie update colors + + + +
+
+ + +
+
+ + + + + + + diff --git a/www/lib/angular-chart.js/test/fixtures/51-pie-update-colours.js b/www/lib/angular-chart.js/test/fixtures/51-pie-update-colours.js new file mode 100644 index 0000000..9265754 --- /dev/null +++ b/www/lib/angular-chart.js/test/fixtures/51-pie-update-colours.js @@ -0,0 +1,34 @@ +(function () { + 'use strict'; + + var app = angular.module('pie', ['chart.js']); + Chart.defaults.global.legend = { + display: false + }; + + app.controller('PieCtrl', ['$scope', '$timeout', function ($scope, $timeout) { + $scope.labels = ['Series A', 'Series B']; + $scope.data = [65, 59]; + $scope.colors = [{ // red + backgroundColor: 'rgba(247,70,74,0.2)', + borderColor: 'rgba(247,70,74,1)', + pointBackgroundColor: 'rgba(247,70,74,1)', + pointBorderColor: '#fff', + pointHoverBackgroundColor: '#fff', + pointHoverBorderColor: 'rgba(247,70,74,0.8)' + }, + { // green + backgroundColor: 'rgba(70,191,189,0.2)', + borderColor: 'rgba(70,191,189,1)', + pointBackgroundColor: 'rgba(70,191,189,1)', + pointBorderColor: '#fff', + pointHoverBackgroundColor: '#fff', + pointHoverBorderColor: 'rgba(70,191,189,0.8)' + }]; + + $timeout(function () { + $scope.data = [49, 65]; + }, 0); + }]); + +})(); diff --git a/www/lib/angular-chart.js/test/fixtures/51-pie-update-colours.png b/www/lib/angular-chart.js/test/fixtures/51-pie-update-colours.png new file mode 100644 index 0000000000000000000000000000000000000000..c70942d024dfd7d5d3b06bee8f51a7abda889b1c GIT binary patch literal 34014 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 literal 0 HcmV?d00001 diff --git a/www/lib/angular-chart.js/test/fixtures/54-not-enough-colours.html b/www/lib/angular-chart.js/test/fixtures/54-not-enough-colours.html new file mode 100644 index 0000000..d5975d4 --- /dev/null +++ b/www/lib/angular-chart.js/test/fixtures/54-not-enough-colours.html @@ -0,0 +1,36 @@ + + + + + Not enough colors + + + +
+
+ + +
+
+ + + + + + + diff --git a/www/lib/angular-chart.js/test/fixtures/54-not-enough-colours.js b/www/lib/angular-chart.js/test/fixtures/54-not-enough-colours.js new file mode 100644 index 0000000..2f5d97d --- /dev/null +++ b/www/lib/angular-chart.js/test/fixtures/54-not-enough-colours.js @@ -0,0 +1,36 @@ +(function () { + 'use strict'; + + var app = angular.module('pie', ['chart.js']); + Chart.defaults.global.legend = { + display: false + }; + + app.controller('PieCtrl', ['$scope', function ($scope) { + var cnt = 0; + $scope.colors = []; + $scope.labels = ['Series A', 'Series B']; + $scope.chartGetColor = function () { + return ++cnt % 2 > 0 ? + { // red + backgroundColor: 'rgba(247,70,74,0.2)', + borderColor: 'rgba(247,70,74,1)', + pointBackgroundColor: 'rgba(247,70,74,1)', + pointBorderColor: '#fff', + pointHoverBackgroundColor: '#fff', + pointHoverBorderColor: 'rgba(247,70,74,0.8)' + } + : + { // green + backgroundColor: 'rgba(70,191,189,0.2)', + borderColor: 'rgba(70,191,189,1)', + pointBackgroundColor: 'rgba(70,191,189,1)', + pointBorderColor: '#fff', + pointHoverBackgroundColor: '#fff', + pointHoverBorderColor: 'rgba(70,191,189,0.8)' + }; + }; + $scope.data = [49, 65]; + }]); + +})(); diff --git a/www/lib/angular-chart.js/test/fixtures/54-not-enough-colours.png b/www/lib/angular-chart.js/test/fixtures/54-not-enough-colours.png new file mode 100644 index 0000000000000000000000000000000000000000..494b1bbd48dab189b40804bfb59c28b5a199a233 GIT binary patch literal 34070 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 literal 0 HcmV?d00001 diff --git a/www/lib/angular-chart.js/test/fixtures/57-hex-colours.html b/www/lib/angular-chart.js/test/fixtures/57-hex-colours.html new file mode 100644 index 0000000..e8f4f26 --- /dev/null +++ b/www/lib/angular-chart.js/test/fixtures/57-hex-colours.html @@ -0,0 +1,35 @@ + + + + + Hex colors + + + +
+
+ + +
+
+ + + + + + + diff --git a/www/lib/angular-chart.js/test/fixtures/57-hex-colours.js b/www/lib/angular-chart.js/test/fixtures/57-hex-colours.js new file mode 100644 index 0000000..f827ee4 --- /dev/null +++ b/www/lib/angular-chart.js/test/fixtures/57-hex-colours.js @@ -0,0 +1,15 @@ +(function () { + 'use strict'; + + var app = angular.module('pie', ['chart.js']); + Chart.defaults.global.legend = { + display: false + }; + + app.controller('PieCtrl', ['$scope', function ($scope) { + $scope.labels = ['Series A', 'Series B']; + $scope.colors = ['#9AFEFF', '#D1D0CE']; + $scope.data = [49, 65]; + }]); + +})(); diff --git a/www/lib/angular-chart.js/test/fixtures/57-hex-colours.png b/www/lib/angular-chart.js/test/fixtures/57-hex-colours.png new file mode 100644 index 0000000000000000000000000000000000000000..f936a371bad3314d498eb45e059839e0a323ff00 GIT binary patch literal 33223 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 literal 0 HcmV?d00001 diff --git a/www/lib/angular-chart.js/test/fixtures/bubble.html b/www/lib/angular-chart.js/test/fixtures/bubble.html new file mode 100644 index 0000000..0ccabf0 --- /dev/null +++ b/www/lib/angular-chart.js/test/fixtures/bubble.html @@ -0,0 +1,29 @@ + + + + + Bubble chart + + + +
+
+
+
+
+
Bubble chart
+
+ +
+
+
+
+
+ + + + + + + diff --git a/www/lib/angular-chart.js/test/fixtures/bubble.js b/www/lib/angular-chart.js/test/fixtures/bubble.js new file mode 100644 index 0000000..7af4b8a --- /dev/null +++ b/www/lib/angular-chart.js/test/fixtures/bubble.js @@ -0,0 +1,787 @@ +angular.module('app', ['chart.js']) + .config(['ChartJsProvider', function (ChartJsProvider) { + 'use strict'; + ChartJsProvider.setOptions({ + tooltips: { enabled: false } + }); + }]) + .controller('BubbleCtrl', ['$scope',function ($scope) { + 'use strict'; + + $scope.colors = [ + { + backgroundColor: 'rgba(151,187,205,0.2)', + pointBackgroundColor: 'rgba(151,187,205,1)', + pointHoverBackgroundColor: 'rgba(151,187,205,0.8)', + borderColor: 'rgba(151,187,205,1)', + pointBorderColor: '#fff', + pointHoverBorderColor: 'rgba(151,187,205,1)' + }, + { + backgroundColor: 'rgba(220,220,220,0.2)', + pointBackgroundColor: 'rgba(220,220,220,1)', + pointHoverBackgroundColor: 'rgba(220,220,220,0.8)', + borderColor: 'rgba(220,220,220,1)', + pointBorderColor: '#fff', + pointHoverBorderColor: 'rgba(220,220,220,1)' + }, + { + backgroundColor: 'rgba(247,70,74,0.2)', + pointBackgroundColor: 'rgba(247,70,74,1)', + pointHoverBackgroundColor: 'rgba(247,70,74,0.8)', + borderColor: 'rgba(247,70,74,1)', + pointBorderColor: '#fff', + pointHoverBorderColor: 'rgba(247,70,74,1)' + }, + { + backgroundColor: 'rgba(70,191,189,0.2)', + pointBackgroundColor: 'rgba(70,191,189,1)', + pointHoverBackgroundColor: 'rgba(70,191,189,0.8)', + borderColor: 'rgba(70,191,189,1)', + pointBorderColor: '#fff', + pointHoverBorderColor: 'rgba(70,191,189,1)' + }, + { + backgroundColor: 'rgba(253,180,92,0.2)', + pointBackgroundColor: 'rgba(253,180,92,1)', + pointHoverBackgroundColor: 'rgba(253,180,92,0.8)', + borderColor: 'rgba(253,180,92,1)', + pointBorderColor: '#fff', + pointHoverBorderColor: 'rgba(253,180,92,1)' + }, + { + backgroundColor: 'rgba(148,159,177,0.2)', + pointBackgroundColor: 'rgba(148,159,177,1)', + pointHoverBackgroundColor: 'rgba(148,159,177,0.8)', + borderColor: 'rgba(148,159,177,1)', + pointBorderColor: '#fff', + pointHoverBorderColor: 'rgba(148,159,177,1)' + }, + { + backgroundColor: 'rgba(77,83,96,0.2)', + pointBackgroundColor: 'rgba(77,83,96,1)', + pointHoverBackgroundColor: 'rgba(77,83,96,0.8)', + borderColor: 'rgba(77,83,96,1)', + pointBorderColor: '#fff', + pointHoverBorderColor: 'rgba(77,83,96,1)' + }, + { + backgroundColor: 'rgba(151,57,74,0.2)', + pointBackgroundColor: 'rgba(151,57,74,1)', + pointHoverBackgroundColor: 'rgba(151,57,74,0.8)', + borderColor: 'rgba(151,57,74,1)', + pointBorderColor: '#fff', + pointHoverBorderColor: 'rgba(151,57,74,1)' + }, + { + backgroundColor: 'rgba(198,232,17,0.2)', + pointBackgroundColor: 'rgba(198,232,17,1)', + pointHoverBackgroundColor: 'rgba(198,232,17,0.8)', + borderColor: 'rgba(198,232,17,1)', + pointBorderColor: '#fff', + pointHoverBorderColor: 'rgba(198,232,17,1)' + }, + { + backgroundColor: 'rgba(39,249,229,0.2)', + pointBackgroundColor: 'rgba(39,249,229,1)', + pointHoverBackgroundColor: 'rgba(39,249,229,0.8)', + borderColor: 'rgba(39,249,229,1)', + pointBorderColor: '#fff', + pointHoverBorderColor: 'rgba(39,249,229,1)' + }, + { + backgroundColor: 'rgba(98,128,233,0.2)', + pointBackgroundColor: 'rgba(98,128,233,1)', + pointHoverBackgroundColor: 'rgba(98,128,233,0.8)', + borderColor: 'rgba(98,128,233,1)', + pointBorderColor: '#fff', + pointHoverBorderColor: 'rgba(98,128,233,1)' + }, + { + backgroundColor: 'rgba(195,99,4,0.2)', + pointBackgroundColor: 'rgba(195,99,4,1)', + pointHoverBackgroundColor: 'rgba(195,99,4,0.8)', + borderColor: 'rgba(195,99,4,1)', + pointBorderColor: '#fff', + pointHoverBorderColor: 'rgba(195,99,4,1)' + }, + { + backgroundColor: 'rgba(81,204,249,0.2)', + pointBackgroundColor: 'rgba(81,204,249,1)', + pointHoverBackgroundColor: 'rgba(81,204,249,0.8)', + borderColor: 'rgba(81,204,249,1)', + pointBorderColor: '#fff', + pointHoverBorderColor: 'rgba(81,204,249,1)' + }, + { + backgroundColor: 'rgba(159,197,163,0.2)', + pointBackgroundColor: 'rgba(159,197,163,1)', + pointHoverBackgroundColor: 'rgba(159,197,163,0.8)', + borderColor: 'rgba(159,197,163,1)', + pointBorderColor: '#fff', + pointHoverBorderColor: 'rgba(159,197,163,1)' + }, + { + backgroundColor: 'rgba(122,68,60,0.2)', + pointBackgroundColor: 'rgba(122,68,60,1)', + pointHoverBackgroundColor: 'rgba(122,68,60,0.8)', + borderColor: 'rgba(122,68,60,1)', + pointBorderColor: '#fff', + pointHoverBorderColor: 'rgba(122,68,60,1)' + }, + { + backgroundColor: 'rgba(183,199,142,0.2)', + pointBackgroundColor: 'rgba(183,199,142,1)', + pointHoverBackgroundColor: 'rgba(183,199,142,0.8)', + borderColor: 'rgba(183,199,142,1)', + pointBorderColor: '#fff', + pointHoverBorderColor: 'rgba(183,199,142,1)' + }, + { + backgroundColor: 'rgba(33,125,4,0.2)', + pointBackgroundColor: 'rgba(33,125,4,1)', + pointHoverBackgroundColor: 'rgba(33,125,4,0.8)', + borderColor: 'rgba(33,125,4,1)', + pointBorderColor: '#fff', + pointHoverBorderColor: 'rgba(33,125,4,1)' + }, + { + backgroundColor: 'rgba(100,33,169,0.2)', + pointBackgroundColor: 'rgba(100,33,169,1)', + pointHoverBackgroundColor: 'rgba(100,33,169,0.8)', + borderColor: 'rgba(100,33,169,1)', + pointBorderColor: '#fff', + pointHoverBorderColor: 'rgba(100,33,169,1)' + }, + { + backgroundColor: 'rgba(10,128,69,0.2)', + pointBackgroundColor: 'rgba(10,128,69,1)', + pointHoverBackgroundColor: 'rgba(10,128,69,0.8)', + borderColor: 'rgba(10,128,69,1)', + pointBorderColor: '#fff', + pointHoverBorderColor: 'rgba(10,128,69,1)' + }, + { + backgroundColor: 'rgba(55,144,44,0.2)', + pointBackgroundColor: 'rgba(55,144,44,1)', + pointHoverBackgroundColor: 'rgba(55,144,44,0.8)', + borderColor: 'rgba(55,144,44,1)', + pointBorderColor: '#fff', + pointHoverBorderColor: 'rgba(55,144,44,1)' + }, + { + backgroundColor: 'rgba(111,248,27,0.2)', + pointBackgroundColor: 'rgba(111,248,27,1)', + pointHoverBackgroundColor: 'rgba(111,248,27,0.8)', + borderColor: 'rgba(111,248,27,1)', + pointBorderColor: '#fff', + pointHoverBorderColor: 'rgba(111,248,27,1)' + }, + { + backgroundColor: 'rgba(241,104,154,0.2)', + pointBackgroundColor: 'rgba(241,104,154,1)', + pointHoverBackgroundColor: 'rgba(241,104,154,0.8)', + borderColor: 'rgba(241,104,154,1)', + pointBorderColor: '#fff', + pointHoverBorderColor: 'rgba(241,104,154,1)' + }, + { + backgroundColor: 'rgba(158,253,143,0.2)', + pointBackgroundColor: 'rgba(158,253,143,1)', + pointHoverBackgroundColor: 'rgba(158,253,143,0.8)', + borderColor: 'rgba(158,253,143,1)', + pointBorderColor: '#fff', + pointHoverBorderColor: 'rgba(158,253,143,1)' + }, + { + backgroundColor: 'rgba(186,25,134,0.2)', + pointBackgroundColor: 'rgba(186,25,134,1)', + pointHoverBackgroundColor: 'rgba(186,25,134,0.8)', + borderColor: 'rgba(186,25,134,1)', + pointBorderColor: '#fff', + pointHoverBorderColor: 'rgba(186,25,134,1)' + }, + { + backgroundColor: 'rgba(81,34,77,0.2)', + pointBackgroundColor: 'rgba(81,34,77,1)', + pointHoverBackgroundColor: 'rgba(81,34,77,0.8)', + borderColor: 'rgba(81,34,77,1)', + pointBorderColor: '#fff', + pointHoverBorderColor: 'rgba(81,34,77,1)' + }, + { + backgroundColor: 'rgba(254,6,184,0.2)', + pointBackgroundColor: 'rgba(254,6,184,1)', + pointHoverBackgroundColor: 'rgba(254,6,184,0.8)', + borderColor: 'rgba(254,6,184,1)', + pointBorderColor: '#fff', + pointHoverBorderColor: 'rgba(254,6,184,1)' + }, + { + backgroundColor: 'rgba(4,230,203,0.2)', + pointBackgroundColor: 'rgba(4,230,203,1)', + pointHoverBackgroundColor: 'rgba(4,230,203,0.8)', + borderColor: 'rgba(4,230,203,1)', + pointBorderColor: '#fff', + pointHoverBorderColor: 'rgba(4,230,203,1)' + }, + { + backgroundColor: 'rgba(204,31,79,0.2)', + pointBackgroundColor: 'rgba(204,31,79,1)', + pointHoverBackgroundColor: 'rgba(204,31,79,0.8)', + borderColor: 'rgba(204,31,79,1)', + pointBorderColor: '#fff', + pointHoverBorderColor: 'rgba(204,31,79,1)' + }, + { + backgroundColor: 'rgba(95,152,82,0.2)', + pointBackgroundColor: 'rgba(95,152,82,1)', + pointHoverBackgroundColor: 'rgba(95,152,82,0.8)', + borderColor: 'rgba(95,152,82,1)', + pointBorderColor: '#fff', + pointHoverBorderColor: 'rgba(95,152,82,1)' + }, + { + backgroundColor: 'rgba(120,249,206,0.2)', + pointBackgroundColor: 'rgba(120,249,206,1)', + pointHoverBackgroundColor: 'rgba(120,249,206,0.8)', + borderColor: 'rgba(120,249,206,1)', + pointBorderColor: '#fff', + pointHoverBorderColor: 'rgba(120,249,206,1)' + }, + { + backgroundColor: 'rgba(229,137,70,0.2)', + pointBackgroundColor: 'rgba(229,137,70,1)', + pointHoverBackgroundColor: 'rgba(229,137,70,0.8)', + borderColor: 'rgba(229,137,70,1)', + pointBorderColor: '#fff', + pointHoverBorderColor: 'rgba(229,137,70,1)' + }, + { + backgroundColor: 'rgba(54,98,166,0.2)', + pointBackgroundColor: 'rgba(54,98,166,1)', + pointHoverBackgroundColor: 'rgba(54,98,166,0.8)', + borderColor: 'rgba(54,98,166,1)', + pointBorderColor: '#fff', + pointHoverBorderColor: 'rgba(54,98,166,1)' + }, + { + backgroundColor: 'rgba(22,81,208,0.2)', + pointBackgroundColor: 'rgba(22,81,208,1)', + pointHoverBackgroundColor: 'rgba(22,81,208,0.8)', + borderColor: 'rgba(22,81,208,1)', + pointBorderColor: '#fff', + pointHoverBorderColor: 'rgba(22,81,208,1)' + }, + { + backgroundColor: 'rgba(139,248,40,0.2)', + pointBackgroundColor: 'rgba(139,248,40,1)', + pointHoverBackgroundColor: 'rgba(139,248,40,0.8)', + borderColor: 'rgba(139,248,40,1)', + pointBorderColor: '#fff', + pointHoverBorderColor: 'rgba(139,248,40,1)' + }, + { + backgroundColor: 'rgba(139,221,190,0.2)', + pointBackgroundColor: 'rgba(139,221,190,1)', + pointHoverBackgroundColor: 'rgba(139,221,190,0.8)', + borderColor: 'rgba(139,221,190,1)', + pointBorderColor: '#fff', + pointHoverBorderColor: 'rgba(139,221,190,1)' + }, + { + backgroundColor: 'rgba(230,218,251,0.2)', + pointBackgroundColor: 'rgba(230,218,251,1)', + pointHoverBackgroundColor: 'rgba(230,218,251,0.8)', + borderColor: 'rgba(230,218,251,1)', + pointBorderColor: '#fff', + pointHoverBorderColor: 'rgba(230,218,251,1)' + }, + { + backgroundColor: 'rgba(245,21,15,0.2)', + pointBackgroundColor: 'rgba(245,21,15,1)', + pointHoverBackgroundColor: 'rgba(245,21,15,0.8)', + borderColor: 'rgba(245,21,15,1)', + pointBorderColor: '#fff', + pointHoverBorderColor: 'rgba(245,21,15,1)' + }, + { + backgroundColor: 'rgba(36,166,81,0.2)', + pointBackgroundColor: 'rgba(36,166,81,1)', + pointHoverBackgroundColor: 'rgba(36,166,81,0.8)', + borderColor: 'rgba(36,166,81,1)', + pointBorderColor: '#fff', + pointHoverBorderColor: 'rgba(36,166,81,1)' + }, + { + backgroundColor: 'rgba(177,41,153,0.2)', + pointBackgroundColor: 'rgba(177,41,153,1)', + pointHoverBackgroundColor: 'rgba(177,41,153,0.8)', + borderColor: 'rgba(177,41,153,1)', + pointBorderColor: '#fff', + pointHoverBorderColor: 'rgba(177,41,153,1)' + }, + { + backgroundColor: 'rgba(44,173,178,0.2)', + pointBackgroundColor: 'rgba(44,173,178,1)', + pointHoverBackgroundColor: 'rgba(44,173,178,0.8)', + borderColor: 'rgba(44,173,178,1)', + pointBorderColor: '#fff', + pointHoverBorderColor: 'rgba(44,173,178,1)' + }, + { + backgroundColor: 'rgba(134,50,197,0.2)', + pointBackgroundColor: 'rgba(134,50,197,1)', + pointHoverBackgroundColor: 'rgba(134,50,197,0.8)', + borderColor: 'rgba(134,50,197,1)', + pointBorderColor: '#fff', + pointHoverBorderColor: 'rgba(134,50,197,1)' + }, + { + backgroundColor: 'rgba(176,188,149,0.2)', + pointBackgroundColor: 'rgba(176,188,149,1)', + pointHoverBackgroundColor: 'rgba(176,188,149,0.8)', + borderColor: 'rgba(176,188,149,1)', + pointBorderColor: '#fff', + pointHoverBorderColor: 'rgba(176,188,149,1)' + }, + { + backgroundColor: 'rgba(92,9,164,0.2)', + pointBackgroundColor: 'rgba(92,9,164,1)', + pointHoverBackgroundColor: 'rgba(92,9,164,0.8)', + borderColor: 'rgba(92,9,164,1)', + pointBorderColor: '#fff', + pointHoverBorderColor: 'rgba(92,9,164,1)' + }, + { + backgroundColor: 'rgba(184,93,102,0.2)', + pointBackgroundColor: 'rgba(184,93,102,1)', + pointHoverBackgroundColor: 'rgba(184,93,102,0.8)', + borderColor: 'rgba(184,93,102,1)', + pointBorderColor: '#fff', + pointHoverBorderColor: 'rgba(184,93,102,1)' + }, + { + backgroundColor: 'rgba(1,235,91,0.2)', + pointBackgroundColor: 'rgba(1,235,91,1)', + pointHoverBackgroundColor: 'rgba(1,235,91,0.8)', + borderColor: 'rgba(1,235,91,1)', + pointBorderColor: '#fff', + pointHoverBorderColor: 'rgba(1,235,91,1)' + }, + { + backgroundColor: 'rgba(148,100,155,0.2)', + pointBackgroundColor: 'rgba(148,100,155,1)', + pointHoverBackgroundColor: 'rgba(148,100,155,0.8)', + borderColor: 'rgba(148,100,155,1)', + pointBorderColor: '#fff', + pointHoverBorderColor: 'rgba(148,100,155,1)' + }, + { + backgroundColor: 'rgba(17,253,128,0.2)', + pointBackgroundColor: 'rgba(17,253,128,1)', + pointHoverBackgroundColor: 'rgba(17,253,128,0.8)', + borderColor: 'rgba(17,253,128,1)', + pointBorderColor: '#fff', + pointHoverBorderColor: 'rgba(17,253,128,1)' + }, + { + backgroundColor: 'rgba(107,59,91,0.2)', + pointBackgroundColor: 'rgba(107,59,91,1)', + pointHoverBackgroundColor: 'rgba(107,59,91,0.8)', + borderColor: 'rgba(107,59,91,1)', + pointBorderColor: '#fff', + pointHoverBorderColor: 'rgba(107,59,91,1)' + }, + { + backgroundColor: 'rgba(105,111,203,0.2)', + pointBackgroundColor: 'rgba(105,111,203,1)', + pointHoverBackgroundColor: 'rgba(105,111,203,0.8)', + borderColor: 'rgba(105,111,203,1)', + pointBorderColor: '#fff', + pointHoverBorderColor: 'rgba(105,111,203,1)' + }, + { + backgroundColor: 'rgba(86,123,134,0.2)', + pointBackgroundColor: 'rgba(86,123,134,1)', + pointHoverBackgroundColor: 'rgba(86,123,134,0.8)', + borderColor: 'rgba(86,123,134,1)', + pointBorderColor: '#fff', + pointHoverBorderColor: 'rgba(86,123,134,1)' + } + ]; + + $scope.options = { + scales: { + xAxes: [{ + display: false, + ticks: { + max: 125, + min: -125, + stepSize: 10 + } + }], + yAxes: [{ + display: false, + ticks: { + max: 125, + min: -125, + stepSize: 10 + } + }] + } + }; + + $scope.data = [ + [ + { + x: -8, + y: -72, + r: 20.5 + } + ], + [ + { + x: -14, + y: -32, + r: 14.25 + } + ], + [ + { + x: 0, + y: 86, + r: 15 + } + ], + [ + { + x: -13, + y: 58, + r: 7.75 + } + ], + [ + { + x: 22, + y: -60, + r: 9.25 + } + ], + [ + { + x: 84, + y: -25, + r: 15.25 + } + ], + [ + { + x: 14, + y: 85, + r: 23.25 + } + ], + [ + { + x: -2, + y: 37, + r: 10.75 + } + ], + [ + { + x: -40, + y: 69, + r: 0.75 + } + ], + [ + { + x: -62, + y: -46, + r: 19.5 + } + ], + [ + { + x: 4, + y: -1, + r: 0.25 + } + ], + [ + { + x: -34, + y: 67, + r: 17.5 + } + ], + [ + { + x: -21, + y: -88, + r: 16.25 + } + ], + [ + { + x: 90, + y: 80, + r: 24.75 + } + ], + [ + { + x: 7, + y: 93, + r: 20.75 + } + ], + [ + { + x: 48, + y: 39, + r: 7.75 + } + ], + [ + { + x: 99, + y: -20, + r: 2.75 + } + ], + [ + { + x: -48, + y: 52, + r: 4.5 + } + ], + [ + { + x: -57, + y: -39, + r: 21 + } + ], + [ + { + x: 31, + y: -58, + r: 3.25 + } + ], + [ + { + x: 96, + y: 62, + r: 10.25 + } + ], + [ + { + x: 58, + y: -54, + r: 19.5 + } + ], + [ + { + x: 8, + y: 73, + r: 12 + } + ], + [ + { + x: 67, + y: 97, + r: 8.5 + } + ], + [ + { + x: -47, + y: -57, + r: 25 + } + ], + [ + { + x: 0, + y: -97, + r: 23.5 + } + ], + [ + { + x: -55, + y: -27, + r: 2 + } + ], + [ + { + x: 68, + y: 9, + r: 12.25 + } + ], + [ + { + x: -5, + y: 63, + r: 20.75 + } + ], + [ + { + x: 80, + y: 31, + r: 18.75 + } + ], + [ + { + x: 47, + y: -21, + r: 2.5 + } + ], + [ + { + x: -72, + y: 94, + r: 1.25 + } + ], + [ + { + x: 11, + y: -90, + r: 5.25 + } + ], + [ + { + x: 45, + y: -20, + r: 3.5 + } + ], + [ + { + x: 99, + y: 42, + r: 8.5 + } + ], + [ + { + x: -8, + y: -65, + r: 11 + } + ], + [ + { + x: -30, + y: -68, + r: 19 + } + ], + [ + { + x: -56, + y: 19, + r: 1 + } + ], + [ + { + x: -22, + y: 46, + r: 9 + } + ], + [ + { + x: 8, + y: 25, + r: 1 + } + ], + [ + { + x: -36, + y: -64, + r: 0.5 + } + ], + [ + { + x: 13, + y: -6, + r: 23.5 + } + ], + [ + { + x: 41, + y: 45, + r: 3.75 + } + ], + [ + { + x: -84, + y: 39, + r: 10.25 + } + ], + [ + { + x: 27, + y: -96, + r: 23.5 + } + ], + [ + { + x: -14, + y: -83, + r: 25 + } + ], + [ + { + x: -89, + y: -78, + r: 1 + } + ], + [ + { + x: -43, + y: -6, + r: 2.5 + } + ], + [ + { + x: 3, + y: 71, + r: 0 + } + ], + [ + { + x: 11, + y: 53, + r: 4.25 + } + ] + ]; + }]); diff --git a/www/lib/angular-chart.js/test/fixtures/bubble.png b/www/lib/angular-chart.js/test/fixtures/bubble.png new file mode 100644 index 0000000000000000000000000000000000000000..f9c070b444c0f7c9e0274365b3d9bf838a601bdf GIT binary patch literal 57308 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 literal 0 HcmV?d00001 diff --git a/www/lib/angular-chart.js/test/fixtures/charts.html b/www/lib/angular-chart.js/test/fixtures/charts.html new file mode 100644 index 0000000..ba90792 --- /dev/null +++ b/www/lib/angular-chart.js/test/fixtures/charts.html @@ -0,0 +1,77 @@ + + + + + Charts + + + +
+
+ +
+
+
+
Line Chart
+
+ +
+
+
+
+
+
Bar Chart
+
+ +
+
+
+
+
+
Doughnut Chart
+
+ +
+
+
+
+
+
+
+
Radar Chart
+
+ +
+
+
+
+
+
Pie Chart
+
+ +
+
+
+
+
+
Polar Area Chart
+
+ +
+
+
+
+
+
+
+
+ + + + + + + diff --git a/www/lib/angular-chart.js/test/fixtures/charts.js b/www/lib/angular-chart.js/test/fixtures/charts.js new file mode 100644 index 0000000..82dbe8d --- /dev/null +++ b/www/lib/angular-chart.js/test/fixtures/charts.js @@ -0,0 +1,68 @@ +(function () { + 'use strict'; + + var app = angular.module('charts', ['chart.js']); + Chart.defaults.global.legend = { + display: false + }; + + app.controller('LineCtrl', ['$scope', '$timeout', function ($scope, $timeout) { + $scope.labels = ['January', 'February', 'March', 'April', 'May', 'June', 'July']; + $scope.series = ['Series A', 'Series B']; + $scope.data = [ + [65, 59, 80, 81, 56, 55, 40], + [28, 48, 40, 19, 86, 27, 90] + ]; + $timeout(function () { + $scope.labels = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday']; + $scope.data = [ + [28, 48, 40, 19, 86, 27, 90], + [65, 59, 80, 81, 56, 55, 40] + ]; + $scope.series = ['Series C', 'Series D']; + }, 0); + }]); + + app.controller('BarCtrl', ['$scope', '$timeout', function ($scope, $timeout) { + $scope.options = { scaleShowVerticalLines: false }; + $scope.labels = ['2006', '2007', '2008', '2009', '2010', '2011', '2012']; + $scope.series = ['Series A', 'Series B']; + $scope.data = [ + [65, 59, 80, 81, 56, 55, 40], + [28, 48, 40, 19, 86, 27, 90] + ]; + $timeout(function () { + $scope.options = { scaleShowVerticalLines: true }; + }, 0); + }]); + + app.controller('DoughnutCtrl', ['$scope', '$timeout', function ($scope, $timeout) { + $scope.labels = ['Download Sales', 'In-Store Sales', 'Mail-Order Sales']; + $scope.data = [0, 0, 0]; + // TODO: investigate why chart was not showing up without this hack + $timeout(function () { + $scope.data = [350, 450, 100]; + }, 0); + }]); + + app.controller('PieCtrl', ['$scope', '$timeout', function ($scope, $timeout) { + $scope.labels = ['Download Sales', 'In-Store Sales', 'Mail Sales']; + $scope.data = [0, 0, 0]; + $timeout(function () { + $scope.data = [350, 450, 100]; + }, 0); + }]); + + app.controller('PolarAreaCtrl', function ($scope) { + $scope.labels = ['Download Sales', 'In-Store Sales', 'Mail Sales', 'Telesales', 'Corporate Sales']; + $scope.data = [300, 500, 100, 40, 120]; + }); + + app.controller('RadarCtrl', function ($scope) { + $scope.labels = ['Eating', 'Drinking', 'Sleeping', 'Designing', 'Coding', 'Cycling', 'Running']; + $scope.data = [ + [65, 59, 90, 81, 56, 55, 40], + [28, 48, 40, 19, 96, 27, 100] + ]; + }); +})(); diff --git a/www/lib/angular-chart.js/test/fixtures/charts.png b/www/lib/angular-chart.js/test/fixtures/charts.png new file mode 100644 index 0000000000000000000000000000000000000000..5c0f2c47941db821d32d84074ed66a14073a055b GIT binary patch literal 89774 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 F{XepICo=#5 literal 0 HcmV?d00001 diff --git a/www/lib/angular-chart.js/test/fixtures/configure-line-chart.html b/www/lib/angular-chart.js/test/fixtures/configure-line-chart.html new file mode 100644 index 0000000..99ee7b7 --- /dev/null +++ b/www/lib/angular-chart.js/test/fixtures/configure-line-chart.html @@ -0,0 +1,33 @@ + + + + + Pie update colors + + + +
+
+ +
+
+
+
Line Chart
+
+ +
+
+
+
+
+
+ + + + + + + diff --git a/www/lib/angular-chart.js/test/fixtures/configure-line-chart.js b/www/lib/angular-chart.js/test/fixtures/configure-line-chart.js new file mode 100644 index 0000000..e26439c --- /dev/null +++ b/www/lib/angular-chart.js/test/fixtures/configure-line-chart.js @@ -0,0 +1,33 @@ +(function () { + 'use strict'; + + var app = angular.module('line', ['chart.js']); + + app.config(function (ChartJsProvider) { + // Configure all charts + ChartJsProvider.setOptions({ + chartColors: ['#FF5252', '#FF8A80'] + }); + // Configure all line charts + ChartJsProvider.setOptions('line', { + showLines: false + }); + }); + + app.controller('LineCtrl', ['$scope', '$timeout', function ($scope, $timeout) { + $scope.labels = ['Series A', 'Series B']; + $scope.data = [[15, 23], [59, 80]]; + + // Configure only this instance + $scope.options = { + legend: { + display: false + } + }; + + $timeout(function () { + $scope.data = [[15, 23], [59, 80]]; + }, 0); + }]); + +})(); diff --git a/www/lib/angular-chart.js/test/fixtures/configure-line-chart.png b/www/lib/angular-chart.js/test/fixtures/configure-line-chart.png new file mode 100644 index 0000000000000000000000000000000000000000..371a54a2e8eb6ba77c332b59dfb506dfc36c9634 GIT binary patch literal 29301 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 literal 0 HcmV?d00001 diff --git a/www/lib/angular-chart.js/test/fixtures/coverage.js b/www/lib/angular-chart.js/test/fixtures/coverage.js new file mode 100644 index 0000000..3dd4e40 --- /dev/null +++ b/www/lib/angular-chart.js/test/fixtures/coverage.js @@ -0,0 +1,9 @@ + +var __cov_sIM21KhAGhzWP0B7wdkh_A = (Function('return this'))(); +if (!__cov_sIM21KhAGhzWP0B7wdkh_A.__coverage__) { __cov_sIM21KhAGhzWP0B7wdkh_A.__coverage__ = {}; } +__cov_sIM21KhAGhzWP0B7wdkh_A = __cov_sIM21KhAGhzWP0B7wdkh_A.__coverage__; +if (!(__cov_sIM21KhAGhzWP0B7wdkh_A['/src/angular-chart.js'])) { + __cov_sIM21KhAGhzWP0B7wdkh_A['/src/angular-chart.js'] = {"path":"/src/angular-chart.js","s":{"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":1,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":1,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":1,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":1,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":1,"78":0,"79":0,"80":0,"81":0,"82":0,"83":1,"84":0,"85":0,"86":0,"87":0,"88":0,"89":0,"90":0,"91":0,"92":0,"93":0,"94":0,"95":1,"96":0,"97":0,"98":0,"99":0,"100":1,"101":0,"102":1,"103":0,"104":0,"105":0,"106":0,"107":0,"108":0,"109":0,"110":0,"111":1,"112":0,"113":0,"114":0,"115":0,"116":0,"117":0,"118":0,"119":1,"120":0,"121":0,"122":0,"123":0,"124":0,"125":1,"126":0,"127":0,"128":1,"129":0,"130":1,"131":0,"132":1,"133":0,"134":1,"135":0,"136":0,"137":1,"138":0,"139":1,"140":0,"141":1,"142":0,"143":0,"144":1,"145":0,"146":0,"147":0,"148":0,"149":0,"150":1,"151":0,"152":0,"153":0,"154":0,"155":0,"156":0,"157":1,"158":0,"159":1,"160":0,"161":0,"162":1,"163":0,"164":0,"165":0,"166":0,"167":0,"168":0,"169":1,"170":0,"171":1,"172":0,"173":0,"174":0,"175":0,"176":0,"177":1,"178":0,"179":0,"180":0,"181":0},"b":{"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0,0],"9":[0,0],"10":[0,0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0],"15":[0,0],"16":[0,0,0,0],"17":[0,0],"18":[0,0],"19":[0,0],"20":[0,0],"21":[0,0],"22":[0,0],"23":[0,0],"24":[0,0],"25":[0,0],"26":[0,0],"27":[0,0],"28":[0,0],"29":[0,0],"30":[0,0,0,0],"31":[0,0],"32":[0,0],"33":[0,0],"34":[0,0],"35":[0,0],"36":[0,0],"37":[0,0],"38":[0,0,0],"39":[0,0],"40":[0,0],"41":[0,0],"42":[0,0],"43":[0,0],"44":[0,0],"45":[0,0],"46":[0,0],"47":[0,0],"48":[0,0],"49":[0,0],"50":[0,0],"51":[0,0],"52":[0,0],"53":[0,0],"54":[0,0],"55":[0,0,0,0,0],"56":[0,0],"57":[0,0],"58":[0,0]},"f":{"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0},"fnMap":{"1":{"name":"(anonymous_1)","line":1,"loc":{"start":{"line":1,"column":1},"end":{"line":1,"column":20}}},"2":{"name":"(anonymous_2)","line":17,"loc":{"start":{"line":17,"column":2},"end":{"line":17,"column":28}}},"3":{"name":"(anonymous_3)","line":44,"loc":{"start":{"line":44,"column":47},"end":{"line":44,"column":73}}},"4":{"name":"(anonymous_4)","line":45,"loc":{"start":{"line":45,"column":47},"end":{"line":45,"column":73}}},"5":{"name":"(anonymous_5)","line":46,"loc":{"start":{"line":46,"column":46},"end":{"line":46,"column":72}}},"6":{"name":"(anonymous_6)","line":47,"loc":{"start":{"line":47,"column":56},"end":{"line":47,"column":82}}},"7":{"name":"(anonymous_7)","line":48,"loc":{"start":{"line":48,"column":48},"end":{"line":48,"column":74}}},"8":{"name":"(anonymous_8)","line":49,"loc":{"start":{"line":49,"column":51},"end":{"line":49,"column":77}}},"9":{"name":"(anonymous_9)","line":50,"loc":{"start":{"line":50,"column":46},"end":{"line":50,"column":72}}},"10":{"name":"(anonymous_10)","line":51,"loc":{"start":{"line":51,"column":52},"end":{"line":51,"column":78}}},"11":{"name":"(anonymous_11)","line":52,"loc":{"start":{"line":52,"column":49},"end":{"line":52,"column":75}}},"12":{"name":"ChartJsProvider","line":64,"loc":{"start":{"line":64,"column":2},"end":{"line":64,"column":30}}},"13":{"name":"(anonymous_13)","line":68,"loc":{"start":{"line":68,"column":18},"end":{"line":68,"column":34}}},"14":{"name":"(anonymous_14)","line":77,"loc":{"start":{"line":77,"column":22},"end":{"line":77,"column":53}}},"15":{"name":"(anonymous_15)","line":88,"loc":{"start":{"line":88,"column":16},"end":{"line":88,"column":28}}},"16":{"name":"ChartJsFactory","line":93,"loc":{"start":{"line":93,"column":2},"end":{"line":93,"column":46}}},"17":{"name":"chart","line":94,"loc":{"start":{"line":94,"column":11},"end":{"line":94,"column":33}}},"18":{"name":"(anonymous_18)","line":109,"loc":{"start":{"line":109,"column":14},"end":{"line":109,"column":49}}},"19":{"name":"(anonymous_19)","line":121,"loc":{"start":{"line":121,"column":32},"end":{"line":121,"column":44}}},"20":{"name":"(anonymous_20)","line":125,"loc":{"start":{"line":125,"column":31},"end":{"line":125,"column":43}}},"21":{"name":"watchData","line":129,"loc":{"start":{"line":129,"column":10},"end":{"line":129,"column":46}}},"22":{"name":"watchOther","line":143,"loc":{"start":{"line":143,"column":10},"end":{"line":143,"column":47}}},"23":{"name":"watchType","line":154,"loc":{"start":{"line":154,"column":10},"end":{"line":154,"column":46}}},"24":{"name":"createChart","line":163,"loc":{"start":{"line":163,"column":4},"end":{"line":163,"column":45}}},"25":{"name":"canUpdateChart","line":186,"loc":{"start":{"line":186,"column":4},"end":{"line":186,"column":45}}},"26":{"name":"(anonymous_26)","line":189,"loc":{"start":{"line":189,"column":56},"end":{"line":189,"column":82}}},"27":{"name":"sum","line":196,"loc":{"start":{"line":196,"column":4},"end":{"line":196,"column":30}}},"28":{"name":"getEventHandler","line":200,"loc":{"start":{"line":200,"column":4},"end":{"line":200,"column":66}}},"29":{"name":"(anonymous_29)","line":202,"loc":{"start":{"line":202,"column":13},"end":{"line":202,"column":28}}},"30":{"name":"getColors","line":214,"loc":{"start":{"line":214,"column":4},"end":{"line":214,"column":37}}},"31":{"name":"convertColor","line":229,"loc":{"start":{"line":229,"column":4},"end":{"line":229,"column":34}}},"32":{"name":"getRandomColor","line":235,"loc":{"start":{"line":235,"column":4},"end":{"line":235,"column":31}}},"33":{"name":"getColor","line":240,"loc":{"start":{"line":240,"column":4},"end":{"line":240,"column":30}}},"34":{"name":"getRandomInt","line":251,"loc":{"start":{"line":251,"column":4},"end":{"line":251,"column":37}}},"35":{"name":"rgba","line":255,"loc":{"start":{"line":255,"column":4},"end":{"line":255,"column":33}}},"36":{"name":"hexToRgb","line":261,"loc":{"start":{"line":261,"column":4},"end":{"line":261,"column":28}}},"37":{"name":"hasData","line":270,"loc":{"start":{"line":270,"column":4},"end":{"line":270,"column":29}}},"38":{"name":"getChartColorFn","line":274,"loc":{"start":{"line":274,"column":4},"end":{"line":274,"column":37}}},"39":{"name":"getChartData","line":278,"loc":{"start":{"line":278,"column":4},"end":{"line":278,"column":40}}},"40":{"name":"getDataSets","line":285,"loc":{"start":{"line":285,"column":4},"end":{"line":285,"column":73}}},"41":{"name":"(anonymous_41)","line":288,"loc":{"start":{"line":288,"column":27},"end":{"line":288,"column":46}}},"42":{"name":"getData","line":301,"loc":{"start":{"line":301,"column":4},"end":{"line":301,"column":61}}},"43":{"name":"(anonymous_43)","line":306,"loc":{"start":{"line":306,"column":38},"end":{"line":306,"column":55}}},"44":{"name":"(anonymous_44)","line":309,"loc":{"start":{"line":309,"column":43},"end":{"line":309,"column":60}}},"45":{"name":"getChartOptions","line":320,"loc":{"start":{"line":320,"column":4},"end":{"line":320,"column":43}}},"46":{"name":"bindEvents","line":324,"loc":{"start":{"line":324,"column":4},"end":{"line":324,"column":37}}},"47":{"name":"updateChart","line":329,"loc":{"start":{"line":329,"column":4},"end":{"line":329,"column":41}}},"48":{"name":"(anonymous_48)","line":331,"loc":{"start":{"line":331,"column":42},"end":{"line":331,"column":64}}},"49":{"name":"isEmpty","line":342,"loc":{"start":{"line":342,"column":4},"end":{"line":342,"column":29}}},"50":{"name":"canDisplay","line":348,"loc":{"start":{"line":348,"column":4},"end":{"line":348,"column":53}}},"51":{"name":"(anonymous_51)","line":351,"loc":{"start":{"line":351,"column":17},"end":{"line":351,"column":29}}},"52":{"name":"destroyChart","line":359,"loc":{"start":{"line":359,"column":4},"end":{"line":359,"column":33}}}},"statementMap":{"1":{"start":{"line":1,"column":0},"end":{"line":365,"column":4}},"2":{"start":{"line":3,"column":2},"end":{"line":16,"column":3}},"3":{"start":{"line":5,"column":4},"end":{"line":7,"column":66}},"4":{"start":{"line":8,"column":10},"end":{"line":16,"column":3}},"5":{"start":{"line":10,"column":4},"end":{"line":10,"column":42}},"6":{"start":{"line":13,"column":4},"end":{"line":14,"column":110}},"7":{"start":{"line":14,"column":6},"end":{"line":14,"column":110}},"8":{"start":{"line":15,"column":4},"end":{"line":15,"column":28}},"9":{"start":{"line":20,"column":2},"end":{"line":20,"column":108}},"10":{"start":{"line":21,"column":2},"end":{"line":21,"column":48}},"11":{"start":{"line":22,"column":2},"end":{"line":22,"column":54}},"12":{"start":{"line":23,"column":2},"end":{"line":23,"column":59}},"13":{"start":{"line":24,"column":2},"end":{"line":24,"column":47}},"14":{"start":{"line":25,"column":2},"end":{"line":33,"column":4}},"15":{"start":{"line":35,"column":2},"end":{"line":37,"column":64}},"16":{"start":{"line":39,"column":2},"end":{"line":39,"column":59}},"17":{"start":{"line":39,"column":19},"end":{"line":39,"column":59}},"18":{"start":{"line":41,"column":2},"end":{"line":53,"column":10}},"19":{"start":{"line":44,"column":75},"end":{"line":44,"column":103}},"20":{"start":{"line":45,"column":75},"end":{"line":45,"column":109}},"21":{"start":{"line":46,"column":74},"end":{"line":46,"column":107}},"22":{"start":{"line":47,"column":84},"end":{"line":47,"column":127}},"23":{"start":{"line":48,"column":76},"end":{"line":48,"column":111}},"24":{"start":{"line":49,"column":79},"end":{"line":49,"column":117}},"25":{"start":{"line":50,"column":74},"end":{"line":50,"column":107}},"26":{"start":{"line":51,"column":80},"end":{"line":51,"column":119}},"27":{"start":{"line":52,"column":77},"end":{"line":52,"column":113}},"28":{"start":{"line":64,"column":2},"end":{"line":91,"column":3}},"29":{"start":{"line":65,"column":4},"end":{"line":65,"column":39}},"30":{"start":{"line":66,"column":4},"end":{"line":72,"column":6}},"31":{"start":{"line":69,"column":8},"end":{"line":69,"column":54}},"32":{"start":{"line":70,"column":8},"end":{"line":70,"column":56}},"33":{"start":{"line":77,"column":4},"end":{"line":86,"column":6}},"34":{"start":{"line":79,"column":6},"end":{"line":83,"column":7}},"35":{"start":{"line":80,"column":8},"end":{"line":80,"column":29}},"36":{"start":{"line":81,"column":8},"end":{"line":81,"column":57}},"37":{"start":{"line":82,"column":8},"end":{"line":82,"column":15}},"38":{"start":{"line":85,"column":6},"end":{"line":85,"column":73}},"39":{"start":{"line":88,"column":4},"end":{"line":90,"column":6}},"40":{"start":{"line":89,"column":6},"end":{"line":89,"column":21}},"41":{"start":{"line":93,"column":2},"end":{"line":364,"column":3}},"42":{"start":{"line":94,"column":4},"end":{"line":161,"column":6}},"43":{"start":{"line":95,"column":6},"end":{"line":160,"column":8}},"44":{"start":{"line":110,"column":10},"end":{"line":110,"column":74}},"45":{"start":{"line":110,"column":27},"end":{"line":110,"column":74}},"46":{"start":{"line":113,"column":10},"end":{"line":113,"column":53}},"47":{"start":{"line":114,"column":10},"end":{"line":114,"column":56}},"48":{"start":{"line":115,"column":10},"end":{"line":115,"column":56}},"49":{"start":{"line":116,"column":10},"end":{"line":116,"column":57}},"50":{"start":{"line":117,"column":10},"end":{"line":117,"column":56}},"51":{"start":{"line":118,"column":10},"end":{"line":118,"column":65}},"52":{"start":{"line":119,"column":10},"end":{"line":119,"column":54}},"53":{"start":{"line":121,"column":10},"end":{"line":123,"column":13}},"54":{"start":{"line":122,"column":12},"end":{"line":122,"column":32}},"55":{"start":{"line":125,"column":10},"end":{"line":127,"column":13}},"56":{"start":{"line":126,"column":12},"end":{"line":126,"column":50}},"57":{"start":{"line":126,"column":29},"end":{"line":126,"column":50}},"58":{"start":{"line":129,"column":10},"end":{"line":141,"column":11}},"59":{"start":{"line":130,"column":12},"end":{"line":133,"column":13}},"60":{"start":{"line":131,"column":14},"end":{"line":131,"column":34}},"61":{"start":{"line":132,"column":14},"end":{"line":132,"column":21}},"62":{"start":{"line":134,"column":12},"end":{"line":134,"column":52}},"63":{"start":{"line":135,"column":12},"end":{"line":135,"column":36}},"64":{"start":{"line":135,"column":29},"end":{"line":135,"column":36}},"65":{"start":{"line":137,"column":12},"end":{"line":138,"column":48}},"66":{"start":{"line":138,"column":14},"end":{"line":138,"column":48}},"67":{"start":{"line":140,"column":12},"end":{"line":140,"column":48}},"68":{"start":{"line":143,"column":10},"end":{"line":152,"column":11}},"69":{"start":{"line":144,"column":12},"end":{"line":144,"column":40}},"70":{"start":{"line":144,"column":33},"end":{"line":144,"column":40}},"71":{"start":{"line":145,"column":12},"end":{"line":145,"column":55}},"72":{"start":{"line":145,"column":48},"end":{"line":145,"column":55}},"73":{"start":{"line":146,"column":12},"end":{"line":146,"column":52}},"74":{"start":{"line":147,"column":12},"end":{"line":147,"column":36}},"75":{"start":{"line":147,"column":29},"end":{"line":147,"column":36}},"76":{"start":{"line":151,"column":12},"end":{"line":151,"column":48}},"77":{"start":{"line":154,"column":10},"end":{"line":158,"column":11}},"78":{"start":{"line":155,"column":12},"end":{"line":155,"column":40}},"79":{"start":{"line":155,"column":33},"end":{"line":155,"column":40}},"80":{"start":{"line":156,"column":12},"end":{"line":156,"column":55}},"81":{"start":{"line":156,"column":48},"end":{"line":156,"column":55}},"82":{"start":{"line":157,"column":12},"end":{"line":157,"column":45}},"83":{"start":{"line":163,"column":4},"end":{"line":184,"column":5}},"84":{"start":{"line":164,"column":6},"end":{"line":164,"column":49}},"85":{"start":{"line":165,"column":6},"end":{"line":165,"column":79}},"86":{"start":{"line":165,"column":72},"end":{"line":165,"column":79}},"87":{"start":{"line":167,"column":6},"end":{"line":167,"column":24}},"88":{"start":{"line":168,"column":6},"end":{"line":168,"column":37}},"89":{"start":{"line":170,"column":6},"end":{"line":170,"column":51}},"90":{"start":{"line":171,"column":6},"end":{"line":171,"column":43}},"91":{"start":{"line":175,"column":6},"end":{"line":175,"column":26}},"92":{"start":{"line":177,"column":6},"end":{"line":181,"column":9}},"93":{"start":{"line":182,"column":6},"end":{"line":182,"column":47}},"94":{"start":{"line":183,"column":6},"end":{"line":183,"column":29}},"95":{"start":{"line":186,"column":4},"end":{"line":194,"column":5}},"96":{"start":{"line":187,"column":6},"end":{"line":192,"column":7}},"97":{"start":{"line":188,"column":8},"end":{"line":191,"column":78}},"98":{"start":{"line":190,"column":10},"end":{"line":190,"column":57}},"99":{"start":{"line":193,"column":6},"end":{"line":193,"column":19}},"100":{"start":{"line":196,"column":4},"end":{"line":198,"column":5}},"101":{"start":{"line":197,"column":6},"end":{"line":197,"column":25}},"102":{"start":{"line":200,"column":4},"end":{"line":212,"column":5}},"103":{"start":{"line":201,"column":6},"end":{"line":201,"column":27}},"104":{"start":{"line":202,"column":6},"end":{"line":211,"column":8}},"105":{"start":{"line":203,"column":8},"end":{"line":203,"column":85}},"106":{"start":{"line":204,"column":8},"end":{"line":210,"column":9}},"107":{"start":{"line":205,"column":10},"end":{"line":205,"column":60}},"108":{"start":{"line":206,"column":10},"end":{"line":209,"column":11}},"109":{"start":{"line":207,"column":12},"end":{"line":207,"column":37}},"110":{"start":{"line":208,"column":12},"end":{"line":208,"column":45}},"111":{"start":{"line":214,"column":4},"end":{"line":227,"column":5}},"112":{"start":{"line":215,"column":6},"end":{"line":218,"column":8}},"113":{"start":{"line":219,"column":6},"end":{"line":219,"column":67}},"114":{"start":{"line":220,"column":6},"end":{"line":222,"column":7}},"115":{"start":{"line":221,"column":8},"end":{"line":221,"column":43}},"116":{"start":{"line":225,"column":6},"end":{"line":225,"column":54}},"117":{"start":{"line":225,"column":27},"end":{"line":225,"column":54}},"118":{"start":{"line":226,"column":6},"end":{"line":226,"column":38}},"119":{"start":{"line":229,"column":4},"end":{"line":233,"column":5}},"120":{"start":{"line":230,"column":6},"end":{"line":230,"column":68}},"121":{"start":{"line":230,"column":55},"end":{"line":230,"column":68}},"122":{"start":{"line":231,"column":6},"end":{"line":231,"column":100}},"123":{"start":{"line":231,"column":57},"end":{"line":231,"column":100}},"124":{"start":{"line":232,"column":6},"end":{"line":232,"column":30}},"125":{"start":{"line":235,"column":4},"end":{"line":238,"column":5}},"126":{"start":{"line":236,"column":6},"end":{"line":236,"column":85}},"127":{"start":{"line":237,"column":6},"end":{"line":237,"column":29}},"128":{"start":{"line":240,"column":4},"end":{"line":249,"column":5}},"129":{"start":{"line":241,"column":6},"end":{"line":248,"column":8}},"130":{"start":{"line":251,"column":4},"end":{"line":253,"column":5}},"131":{"start":{"line":252,"column":6},"end":{"line":252,"column":63}},"132":{"start":{"line":255,"column":4},"end":{"line":258,"column":5}},"133":{"start":{"line":257,"column":6},"end":{"line":257,"column":106}},"134":{"start":{"line":261,"column":4},"end":{"line":268,"column":5}},"135":{"start":{"line":262,"column":6},"end":{"line":265,"column":25}},"136":{"start":{"line":267,"column":6},"end":{"line":267,"column":23}},"137":{"start":{"line":270,"column":4},"end":{"line":272,"column":5}},"138":{"start":{"line":271,"column":6},"end":{"line":271,"column":55}},"139":{"start":{"line":274,"column":4},"end":{"line":276,"column":5}},"140":{"start":{"line":275,"column":6},"end":{"line":275,"column":94}},"141":{"start":{"line":278,"column":4},"end":{"line":283,"column":5}},"142":{"start":{"line":279,"column":6},"end":{"line":279,"column":42}},"143":{"start":{"line":280,"column":6},"end":{"line":282,"column":88}},"144":{"start":{"line":285,"column":4},"end":{"line":299,"column":5}},"145":{"start":{"line":286,"column":6},"end":{"line":298,"column":8}},"146":{"start":{"line":289,"column":10},"end":{"line":292,"column":13}},"147":{"start":{"line":293,"column":10},"end":{"line":295,"column":11}},"148":{"start":{"line":294,"column":12},"end":{"line":294,"column":55}},"149":{"start":{"line":296,"column":10},"end":{"line":296,"column":25}},"150":{"start":{"line":301,"column":4},"end":{"line":318,"column":5}},"151":{"start":{"line":302,"column":6},"end":{"line":313,"column":8}},"152":{"start":{"line":307,"column":12},"end":{"line":307,"column":46}},"153":{"start":{"line":310,"column":12},"end":{"line":310,"column":41}},"154":{"start":{"line":314,"column":6},"end":{"line":316,"column":7}},"155":{"start":{"line":315,"column":8},"end":{"line":315,"column":60}},"156":{"start":{"line":317,"column":6},"end":{"line":317,"column":21}},"157":{"start":{"line":320,"column":4},"end":{"line":322,"column":5}},"158":{"start":{"line":321,"column":6},"end":{"line":321,"column":78}},"159":{"start":{"line":324,"column":4},"end":{"line":327,"column":5}},"160":{"start":{"line":325,"column":6},"end":{"line":325,"column":98}},"161":{"start":{"line":326,"column":6},"end":{"line":326,"column":101}},"162":{"start":{"line":329,"column":4},"end":{"line":340,"column":5}},"163":{"start":{"line":330,"column":6},"end":{"line":336,"column":7}},"164":{"start":{"line":331,"column":8},"end":{"line":333,"column":11}},"165":{"start":{"line":332,"column":10},"end":{"line":332,"column":35}},"166":{"start":{"line":335,"column":8},"end":{"line":335,"column":51}},"167":{"start":{"line":338,"column":6},"end":{"line":338,"column":27}},"168":{"start":{"line":339,"column":6},"end":{"line":339,"column":47}},"169":{"start":{"line":342,"column":4},"end":{"line":346,"column":5}},"170":{"start":{"line":343,"column":6},"end":{"line":345,"column":67}},"171":{"start":{"line":348,"column":4},"end":{"line":357,"column":5}},"172":{"start":{"line":350,"column":6},"end":{"line":355,"column":7}},"173":{"start":{"line":351,"column":8},"end":{"line":353,"column":22}},"174":{"start":{"line":352,"column":10},"end":{"line":352,"column":41}},"175":{"start":{"line":354,"column":8},"end":{"line":354,"column":21}},"176":{"start":{"line":356,"column":6},"end":{"line":356,"column":18}},"177":{"start":{"line":359,"column":4},"end":{"line":363,"column":5}},"178":{"start":{"line":360,"column":6},"end":{"line":360,"column":31}},"179":{"start":{"line":360,"column":24},"end":{"line":360,"column":31}},"180":{"start":{"line":361,"column":6},"end":{"line":361,"column":28}},"181":{"start":{"line":362,"column":6},"end":{"line":362,"column":48}}},"branchMap":{"1":{"line":3,"type":"if","locations":[{"start":{"line":3,"column":2},"end":{"line":3,"column":2}},{"start":{"line":3,"column":2},"end":{"line":3,"column":2}}]},"2":{"line":6,"type":"cond-expr","locations":[{"start":{"line":6,"column":39},"end":{"line":6,"column":46}},{"start":{"line":6,"column":49},"end":{"line":6,"column":67}}]},"3":{"line":7,"type":"cond-expr","locations":[{"start":{"line":7,"column":37},"end":{"line":7,"column":42}},{"start":{"line":7,"column":45},"end":{"line":7,"column":64}}]},"4":{"line":8,"type":"if","locations":[{"start":{"line":8,"column":10},"end":{"line":8,"column":10}},{"start":{"line":8,"column":10},"end":{"line":8,"column":10}}]},"5":{"line":8,"type":"binary-expr","locations":[{"start":{"line":8,"column":14},"end":{"line":8,"column":42}},{"start":{"line":8,"column":46},"end":{"line":8,"column":56}}]},"6":{"line":13,"type":"if","locations":[{"start":{"line":13,"column":4},"end":{"line":13,"column":4}},{"start":{"line":13,"column":4},"end":{"line":13,"column":4}}]},"7":{"line":13,"type":"binary-expr","locations":[{"start":{"line":13,"column":8},"end":{"line":13,"column":38}},{"start":{"line":13,"column":42},"end":{"line":13,"column":70}}]},"8":{"line":35,"type":"binary-expr","locations":[{"start":{"line":35,"column":20},"end":{"line":35,"column":65}},{"start":{"line":36,"column":4},"end":{"line":36,"column":38}},{"start":{"line":37,"column":4},"end":{"line":37,"column":63}}]},"9":{"line":39,"type":"if","locations":[{"start":{"line":39,"column":2},"end":{"line":39,"column":2}},{"start":{"line":39,"column":2},"end":{"line":39,"column":2}}]},"10":{"line":69,"type":"binary-expr","locations":[{"start":{"line":69,"column":26},"end":{"line":69,"column":30}},{"start":{"line":69,"column":34},"end":{"line":69,"column":47}},{"start":{"line":69,"column":51},"end":{"line":69,"column":53}}]},"11":{"line":79,"type":"if","locations":[{"start":{"line":79,"column":6},"end":{"line":79,"column":6}},{"start":{"line":79,"column":6},"end":{"line":79,"column":6}}]},"12":{"line":85,"type":"binary-expr","locations":[{"start":{"line":85,"column":37},"end":{"line":85,"column":50}},{"start":{"line":85,"column":54},"end":{"line":85,"column":56}}]},"13":{"line":110,"type":"if","locations":[{"start":{"line":110,"column":10},"end":{"line":110,"column":10}},{"start":{"line":110,"column":10},"end":{"line":110,"column":10}}]},"14":{"line":126,"type":"if","locations":[{"start":{"line":126,"column":12},"end":{"line":126,"column":12}},{"start":{"line":126,"column":12},"end":{"line":126,"column":12}}]},"15":{"line":130,"type":"if","locations":[{"start":{"line":130,"column":12},"end":{"line":130,"column":12}},{"start":{"line":130,"column":12},"end":{"line":130,"column":12}}]},"16":{"line":130,"type":"binary-expr","locations":[{"start":{"line":130,"column":16},"end":{"line":130,"column":24}},{"start":{"line":130,"column":28},"end":{"line":130,"column":43}},{"start":{"line":130,"column":48},"end":{"line":130,"column":72}},{"start":{"line":130,"column":76},"end":{"line":130,"column":94}}]},"17":{"line":134,"type":"binary-expr","locations":[{"start":{"line":134,"column":28},"end":{"line":134,"column":32}},{"start":{"line":134,"column":36},"end":{"line":134,"column":51}}]},"18":{"line":135,"type":"if","locations":[{"start":{"line":135,"column":12},"end":{"line":135,"column":12}},{"start":{"line":135,"column":12},"end":{"line":135,"column":12}}]},"19":{"line":137,"type":"if","locations":[{"start":{"line":137,"column":12},"end":{"line":137,"column":12}},{"start":{"line":137,"column":12},"end":{"line":137,"column":12}}]},"20":{"line":137,"type":"binary-expr","locations":[{"start":{"line":137,"column":16},"end":{"line":137,"column":27}},{"start":{"line":137,"column":31},"end":{"line":137,"column":61}}]},"21":{"line":144,"type":"if","locations":[{"start":{"line":144,"column":12},"end":{"line":144,"column":12}},{"start":{"line":144,"column":12},"end":{"line":144,"column":12}}]},"22":{"line":145,"type":"if","locations":[{"start":{"line":145,"column":12},"end":{"line":145,"column":12}},{"start":{"line":145,"column":12},"end":{"line":145,"column":12}}]},"23":{"line":146,"type":"binary-expr","locations":[{"start":{"line":146,"column":28},"end":{"line":146,"column":32}},{"start":{"line":146,"column":36},"end":{"line":146,"column":51}}]},"24":{"line":147,"type":"if","locations":[{"start":{"line":147,"column":12},"end":{"line":147,"column":12}},{"start":{"line":147,"column":12},"end":{"line":147,"column":12}}]},"25":{"line":155,"type":"if","locations":[{"start":{"line":155,"column":12},"end":{"line":155,"column":12}},{"start":{"line":155,"column":12},"end":{"line":155,"column":12}}]},"26":{"line":156,"type":"if","locations":[{"start":{"line":156,"column":12},"end":{"line":156,"column":12}},{"start":{"line":156,"column":12},"end":{"line":156,"column":12}}]},"27":{"line":165,"type":"if","locations":[{"start":{"line":165,"column":6},"end":{"line":165,"column":6}},{"start":{"line":165,"column":6},"end":{"line":165,"column":6}}]},"28":{"line":165,"type":"binary-expr","locations":[{"start":{"line":165,"column":10},"end":{"line":165,"column":26}},{"start":{"line":165,"column":30},"end":{"line":165,"column":70}}]},"29":{"line":187,"type":"if","locations":[{"start":{"line":187,"column":6},"end":{"line":187,"column":6}},{"start":{"line":187,"column":6},"end":{"line":187,"column":6}}]},"30":{"line":187,"type":"binary-expr","locations":[{"start":{"line":187,"column":10},"end":{"line":187,"column":16}},{"start":{"line":187,"column":20},"end":{"line":187,"column":26}},{"start":{"line":187,"column":30},"end":{"line":187,"column":43}},{"start":{"line":187,"column":47},"end":{"line":187,"column":60}}]},"31":{"line":188,"type":"cond-expr","locations":[{"start":{"line":189,"column":8},"end":{"line":190,"column":60}},{"start":{"line":191,"column":10},"end":{"line":191,"column":77}}]},"32":{"line":189,"type":"binary-expr","locations":[{"start":{"line":189,"column":8},"end":{"line":189,"column":39}},{"start":{"line":189,"column":43},"end":{"line":190,"column":60}}]},"33":{"line":191,"type":"cond-expr","locations":[{"start":{"line":191,"column":38},"end":{"line":191,"column":69}},{"start":{"line":191,"column":72},"end":{"line":191,"column":77}}]},"34":{"line":203,"type":"binary-expr","locations":[{"start":{"line":203,"column":22},"end":{"line":203,"column":52}},{"start":{"line":203,"column":56},"end":{"line":203,"column":84}}]},"35":{"line":204,"type":"if","locations":[{"start":{"line":204,"column":8},"end":{"line":204,"column":8}},{"start":{"line":204,"column":8},"end":{"line":204,"column":8}}]},"36":{"line":206,"type":"if","locations":[{"start":{"line":206,"column":10},"end":{"line":206,"column":10}},{"start":{"line":206,"column":10},"end":{"line":206,"column":10}}]},"37":{"line":206,"type":"binary-expr","locations":[{"start":{"line":206,"column":14},"end":{"line":206,"column":43}},{"start":{"line":206,"column":47},"end":{"line":206,"column":96}}]},"38":{"line":215,"type":"binary-expr","locations":[{"start":{"line":215,"column":32},"end":{"line":215,"column":49}},{"start":{"line":216,"column":8},"end":{"line":216,"column":44}},{"start":{"line":217,"column":8},"end":{"line":217,"column":36}}]},"39":{"line":225,"type":"if","locations":[{"start":{"line":225,"column":6},"end":{"line":225,"column":6}},{"start":{"line":225,"column":6},"end":{"line":225,"column":6}}]},"40":{"line":230,"type":"if","locations":[{"start":{"line":230,"column":6},"end":{"line":230,"column":6}},{"start":{"line":230,"column":6},"end":{"line":230,"column":6}}]},"41":{"line":230,"type":"binary-expr","locations":[{"start":{"line":230,"column":10},"end":{"line":230,"column":35}},{"start":{"line":230,"column":39},"end":{"line":230,"column":53}}]},"42":{"line":231,"type":"if","locations":[{"start":{"line":231,"column":6},"end":{"line":231,"column":6}},{"start":{"line":231,"column":6},"end":{"line":231,"column":6}}]},"43":{"line":231,"type":"binary-expr","locations":[{"start":{"line":231,"column":10},"end":{"line":231,"column":35}},{"start":{"line":231,"column":39},"end":{"line":231,"column":55}}]},"44":{"line":257,"type":"cond-expr","locations":[{"start":{"line":257,"column":27},"end":{"line":257,"column":57}},{"start":{"line":257,"column":60},"end":{"line":257,"column":105}}]},"45":{"line":271,"type":"binary-expr","locations":[{"start":{"line":271,"column":13},"end":{"line":271,"column":28}},{"start":{"line":271,"column":32},"end":{"line":271,"column":54}}]},"46":{"line":275,"type":"cond-expr","locations":[{"start":{"line":275,"column":57},"end":{"line":275,"column":76}},{"start":{"line":275,"column":79},"end":{"line":275,"column":93}}]},"47":{"line":280,"type":"cond-expr","locations":[{"start":{"line":281,"column":8},"end":{"line":281,"column":116}},{"start":{"line":282,"column":8},"end":{"line":282,"column":87}}]},"48":{"line":281,"type":"binary-expr","locations":[{"start":{"line":281,"column":56},"end":{"line":281,"column":73}},{"start":{"line":281,"column":77},"end":{"line":281,"column":79}}]},"49":{"line":293,"type":"if","locations":[{"start":{"line":293,"column":10},"end":{"line":293,"column":10}},{"start":{"line":293,"column":10},"end":{"line":293,"column":10}}]},"50":{"line":293,"type":"binary-expr","locations":[{"start":{"line":293,"column":14},"end":{"line":293,"column":29}},{"start":{"line":293,"column":33},"end":{"line":293,"column":60}}]},"51":{"line":314,"type":"if","locations":[{"start":{"line":314,"column":6},"end":{"line":314,"column":6}},{"start":{"line":314,"column":6},"end":{"line":314,"column":6}}]},"52":{"line":325,"type":"cond-expr","locations":[{"start":{"line":325,"column":39},"end":{"line":325,"column":82}},{"start":{"line":325,"column":85},"end":{"line":325,"column":97}}]},"53":{"line":326,"type":"cond-expr","locations":[{"start":{"line":326,"column":43},"end":{"line":326,"column":85}},{"start":{"line":326,"column":88},"end":{"line":326,"column":100}}]},"54":{"line":330,"type":"if","locations":[{"start":{"line":330,"column":6},"end":{"line":330,"column":6}},{"start":{"line":330,"column":6},"end":{"line":330,"column":6}}]},"55":{"line":343,"type":"binary-expr","locations":[{"start":{"line":343,"column":13},"end":{"line":343,"column":20}},{"start":{"line":344,"column":9},"end":{"line":344,"column":29}},{"start":{"line":344,"column":33},"end":{"line":344,"column":47}},{"start":{"line":345,"column":9},"end":{"line":345,"column":34}},{"start":{"line":345,"column":38},"end":{"line":345,"column":65}}]},"56":{"line":350,"type":"if","locations":[{"start":{"line":350,"column":6},"end":{"line":350,"column":6}},{"start":{"line":350,"column":6},"end":{"line":350,"column":6}}]},"57":{"line":350,"type":"binary-expr","locations":[{"start":{"line":350,"column":10},"end":{"line":350,"column":28}},{"start":{"line":350,"column":32},"end":{"line":350,"column":58}}]},"58":{"line":360,"type":"if","locations":[{"start":{"line":360,"column":6},"end":{"line":360,"column":6}},{"start":{"line":360,"column":6},"end":{"line":360,"column":6}}]}}}; +} +__cov_sIM21KhAGhzWP0B7wdkh_A = __cov_sIM21KhAGhzWP0B7wdkh_A['/src/angular-chart.js']; +__cov_sIM21KhAGhzWP0B7wdkh_A.s['1']++;(function(factory){'use strict';__cov_sIM21KhAGhzWP0B7wdkh_A.f['1']++;__cov_sIM21KhAGhzWP0B7wdkh_A.s['2']++;if(typeof exports==='object'){__cov_sIM21KhAGhzWP0B7wdkh_A.b['1'][0]++;__cov_sIM21KhAGhzWP0B7wdkh_A.s['3']++;module.exports=factory(typeof angular!=='undefined'?(__cov_sIM21KhAGhzWP0B7wdkh_A.b['2'][0]++,angular):(__cov_sIM21KhAGhzWP0B7wdkh_A.b['2'][1]++,require('angular')),typeof Chart!=='undefined'?(__cov_sIM21KhAGhzWP0B7wdkh_A.b['3'][0]++,Chart):(__cov_sIM21KhAGhzWP0B7wdkh_A.b['3'][1]++,require('chart.js')));}else{__cov_sIM21KhAGhzWP0B7wdkh_A.b['1'][1]++;__cov_sIM21KhAGhzWP0B7wdkh_A.s['4']++;if((__cov_sIM21KhAGhzWP0B7wdkh_A.b['5'][0]++,typeof define==='function')&&(__cov_sIM21KhAGhzWP0B7wdkh_A.b['5'][1]++,define.amd)){__cov_sIM21KhAGhzWP0B7wdkh_A.b['4'][0]++;__cov_sIM21KhAGhzWP0B7wdkh_A.s['5']++;define(['angular','chart'],factory);}else{__cov_sIM21KhAGhzWP0B7wdkh_A.b['4'][1]++;__cov_sIM21KhAGhzWP0B7wdkh_A.s['6']++;if((__cov_sIM21KhAGhzWP0B7wdkh_A.b['7'][0]++,typeof angular==='undefined')||(__cov_sIM21KhAGhzWP0B7wdkh_A.b['7'][1]++,typeof Chart==='undefined')){__cov_sIM21KhAGhzWP0B7wdkh_A.b['6'][0]++;__cov_sIM21KhAGhzWP0B7wdkh_A.s['7']++;throw new Error('Chart.js library needs to be included, see http://jtblin.github.io/angular-chart.js/');}else{__cov_sIM21KhAGhzWP0B7wdkh_A.b['6'][1]++;}__cov_sIM21KhAGhzWP0B7wdkh_A.s['8']++;factory(angular,Chart);}}}(function(angular,Chart){'use strict';__cov_sIM21KhAGhzWP0B7wdkh_A.f['2']++;__cov_sIM21KhAGhzWP0B7wdkh_A.s['9']++;Chart.defaults.global.multiTooltipTemplate='<%if (datasetLabel){%><%=datasetLabel%>: <%}%><%= value %>';__cov_sIM21KhAGhzWP0B7wdkh_A.s['10']++;Chart.defaults.global.tooltips.mode='label';__cov_sIM21KhAGhzWP0B7wdkh_A.s['11']++;Chart.defaults.global.elements.line.borderWidth=2;__cov_sIM21KhAGhzWP0B7wdkh_A.s['12']++;Chart.defaults.global.elements.rectangle.borderWidth=2;__cov_sIM21KhAGhzWP0B7wdkh_A.s['13']++;Chart.defaults.global.legend.display=false;__cov_sIM21KhAGhzWP0B7wdkh_A.s['14']++;Chart.defaults.global.colors=['#97BBCD','#DCDCDC','#F7464A','#46BFBD','#FDB45C','#949FB1','#4D5360'];__cov_sIM21KhAGhzWP0B7wdkh_A.s['15']++;var useExcanvas=(__cov_sIM21KhAGhzWP0B7wdkh_A.b['8'][0]++,typeof window.G_vmlCanvasManager==='object')&&(__cov_sIM21KhAGhzWP0B7wdkh_A.b['8'][1]++,window.G_vmlCanvasManager!==null)&&(__cov_sIM21KhAGhzWP0B7wdkh_A.b['8'][2]++,typeof window.G_vmlCanvasManager.initElement==='function');__cov_sIM21KhAGhzWP0B7wdkh_A.s['16']++;if(useExcanvas){__cov_sIM21KhAGhzWP0B7wdkh_A.b['9'][0]++;__cov_sIM21KhAGhzWP0B7wdkh_A.s['17']++;Chart.defaults.global.animation=false;}else{__cov_sIM21KhAGhzWP0B7wdkh_A.b['9'][1]++;}__cov_sIM21KhAGhzWP0B7wdkh_A.s['18']++;return angular.module('chart.js',[]).provider('ChartJs',ChartJsProvider).factory('ChartJsFactory',['ChartJs','$timeout',ChartJsFactory]).directive('chartBase',['ChartJsFactory',function(ChartJsFactory){__cov_sIM21KhAGhzWP0B7wdkh_A.f['3']++;__cov_sIM21KhAGhzWP0B7wdkh_A.s['19']++;return new ChartJsFactory();}]).directive('chartLine',['ChartJsFactory',function(ChartJsFactory){__cov_sIM21KhAGhzWP0B7wdkh_A.f['4']++;__cov_sIM21KhAGhzWP0B7wdkh_A.s['20']++;return new ChartJsFactory('line');}]).directive('chartBar',['ChartJsFactory',function(ChartJsFactory){__cov_sIM21KhAGhzWP0B7wdkh_A.f['5']++;__cov_sIM21KhAGhzWP0B7wdkh_A.s['21']++;return new ChartJsFactory('bar');}]).directive('chartHorizontalBar',['ChartJsFactory',function(ChartJsFactory){__cov_sIM21KhAGhzWP0B7wdkh_A.f['6']++;__cov_sIM21KhAGhzWP0B7wdkh_A.s['22']++;return new ChartJsFactory('horizontalBar');}]).directive('chartRadar',['ChartJsFactory',function(ChartJsFactory){__cov_sIM21KhAGhzWP0B7wdkh_A.f['7']++;__cov_sIM21KhAGhzWP0B7wdkh_A.s['23']++;return new ChartJsFactory('radar');}]).directive('chartDoughnut',['ChartJsFactory',function(ChartJsFactory){__cov_sIM21KhAGhzWP0B7wdkh_A.f['8']++;__cov_sIM21KhAGhzWP0B7wdkh_A.s['24']++;return new ChartJsFactory('doughnut');}]).directive('chartPie',['ChartJsFactory',function(ChartJsFactory){__cov_sIM21KhAGhzWP0B7wdkh_A.f['9']++;__cov_sIM21KhAGhzWP0B7wdkh_A.s['25']++;return new ChartJsFactory('pie');}]).directive('chartPolarArea',['ChartJsFactory',function(ChartJsFactory){__cov_sIM21KhAGhzWP0B7wdkh_A.f['10']++;__cov_sIM21KhAGhzWP0B7wdkh_A.s['26']++;return new ChartJsFactory('polarArea');}]).directive('chartBubble',['ChartJsFactory',function(ChartJsFactory){__cov_sIM21KhAGhzWP0B7wdkh_A.f['11']++;__cov_sIM21KhAGhzWP0B7wdkh_A.s['27']++;return new ChartJsFactory('bubble');}]).name;function ChartJsProvider(){__cov_sIM21KhAGhzWP0B7wdkh_A.f['12']++;__cov_sIM21KhAGhzWP0B7wdkh_A.s['29']++;var options={responsive:true};__cov_sIM21KhAGhzWP0B7wdkh_A.s['30']++;var ChartJs={Chart:Chart,getOptions:function(type){__cov_sIM21KhAGhzWP0B7wdkh_A.f['13']++;__cov_sIM21KhAGhzWP0B7wdkh_A.s['31']++;var typeOptions=(__cov_sIM21KhAGhzWP0B7wdkh_A.b['10'][0]++,type)&&(__cov_sIM21KhAGhzWP0B7wdkh_A.b['10'][1]++,options[type])||(__cov_sIM21KhAGhzWP0B7wdkh_A.b['10'][2]++,{});__cov_sIM21KhAGhzWP0B7wdkh_A.s['32']++;return angular.extend({},options,typeOptions);}};__cov_sIM21KhAGhzWP0B7wdkh_A.s['33']++;this.setOptions=function(type,customOptions){__cov_sIM21KhAGhzWP0B7wdkh_A.f['14']++;__cov_sIM21KhAGhzWP0B7wdkh_A.s['34']++;if(!customOptions){__cov_sIM21KhAGhzWP0B7wdkh_A.b['11'][0]++;__cov_sIM21KhAGhzWP0B7wdkh_A.s['35']++;customOptions=type;__cov_sIM21KhAGhzWP0B7wdkh_A.s['36']++;options=angular.extend(options,customOptions);__cov_sIM21KhAGhzWP0B7wdkh_A.s['37']++;return;}else{__cov_sIM21KhAGhzWP0B7wdkh_A.b['11'][1]++;}__cov_sIM21KhAGhzWP0B7wdkh_A.s['38']++;options[type]=angular.extend((__cov_sIM21KhAGhzWP0B7wdkh_A.b['12'][0]++,options[type])||(__cov_sIM21KhAGhzWP0B7wdkh_A.b['12'][1]++,{}),customOptions);};__cov_sIM21KhAGhzWP0B7wdkh_A.s['39']++;this.$get=function(){__cov_sIM21KhAGhzWP0B7wdkh_A.f['15']++;__cov_sIM21KhAGhzWP0B7wdkh_A.s['40']++;return ChartJs;};}function ChartJsFactory(ChartJs,$timeout){__cov_sIM21KhAGhzWP0B7wdkh_A.f['16']++;__cov_sIM21KhAGhzWP0B7wdkh_A.s['42']++;return function chart(type){__cov_sIM21KhAGhzWP0B7wdkh_A.f['17']++;__cov_sIM21KhAGhzWP0B7wdkh_A.s['43']++;return{restrict:'CA',scope:{chartGetColor:'=?',chartType:'=',chartData:'=?',chartLabels:'=?',chartOptions:'=?',chartSeries:'=?',chartColors:'=?',chartClick:'=?',chartHover:'=?',chartDatasetOverride:'=?'},link:function(scope,elem){__cov_sIM21KhAGhzWP0B7wdkh_A.f['18']++;__cov_sIM21KhAGhzWP0B7wdkh_A.s['44']++;if(useExcanvas){__cov_sIM21KhAGhzWP0B7wdkh_A.b['13'][0]++;__cov_sIM21KhAGhzWP0B7wdkh_A.s['45']++;window.G_vmlCanvasManager.initElement(elem[0]);}else{__cov_sIM21KhAGhzWP0B7wdkh_A.b['13'][1]++;}__cov_sIM21KhAGhzWP0B7wdkh_A.s['46']++;scope.$watch('chartData',watchData,true);__cov_sIM21KhAGhzWP0B7wdkh_A.s['47']++;scope.$watch('chartSeries',watchOther,true);__cov_sIM21KhAGhzWP0B7wdkh_A.s['48']++;scope.$watch('chartLabels',watchOther,true);__cov_sIM21KhAGhzWP0B7wdkh_A.s['49']++;scope.$watch('chartOptions',watchOther,true);__cov_sIM21KhAGhzWP0B7wdkh_A.s['50']++;scope.$watch('chartColors',watchOther,true);__cov_sIM21KhAGhzWP0B7wdkh_A.s['51']++;scope.$watch('chartDatasetOverride',watchOther,true);__cov_sIM21KhAGhzWP0B7wdkh_A.s['52']++;scope.$watch('chartType',watchType,false);__cov_sIM21KhAGhzWP0B7wdkh_A.s['53']++;scope.$on('$destroy',function(){__cov_sIM21KhAGhzWP0B7wdkh_A.f['19']++;__cov_sIM21KhAGhzWP0B7wdkh_A.s['54']++;destroyChart(scope);});__cov_sIM21KhAGhzWP0B7wdkh_A.s['55']++;scope.$on('$resize',function(){__cov_sIM21KhAGhzWP0B7wdkh_A.f['20']++;__cov_sIM21KhAGhzWP0B7wdkh_A.s['56']++;if(scope.chart){__cov_sIM21KhAGhzWP0B7wdkh_A.b['14'][0]++;__cov_sIM21KhAGhzWP0B7wdkh_A.s['57']++;scope.chart.resize();}else{__cov_sIM21KhAGhzWP0B7wdkh_A.b['14'][1]++;}});function watchData(newVal,oldVal){__cov_sIM21KhAGhzWP0B7wdkh_A.f['21']++;__cov_sIM21KhAGhzWP0B7wdkh_A.s['59']++;if((__cov_sIM21KhAGhzWP0B7wdkh_A.b['16'][0]++,!newVal)||(__cov_sIM21KhAGhzWP0B7wdkh_A.b['16'][1]++,!newVal.length)||(__cov_sIM21KhAGhzWP0B7wdkh_A.b['16'][2]++,Array.isArray(newVal[0]))&&(__cov_sIM21KhAGhzWP0B7wdkh_A.b['16'][3]++,!newVal[0].length)){__cov_sIM21KhAGhzWP0B7wdkh_A.b['15'][0]++;__cov_sIM21KhAGhzWP0B7wdkh_A.s['60']++;destroyChart(scope);__cov_sIM21KhAGhzWP0B7wdkh_A.s['61']++;return;}else{__cov_sIM21KhAGhzWP0B7wdkh_A.b['15'][1]++;}__cov_sIM21KhAGhzWP0B7wdkh_A.s['62']++;var chartType=(__cov_sIM21KhAGhzWP0B7wdkh_A.b['17'][0]++,type)||(__cov_sIM21KhAGhzWP0B7wdkh_A.b['17'][1]++,scope.chartType);__cov_sIM21KhAGhzWP0B7wdkh_A.s['63']++;if(!chartType){__cov_sIM21KhAGhzWP0B7wdkh_A.b['18'][0]++;__cov_sIM21KhAGhzWP0B7wdkh_A.s['64']++;return;}else{__cov_sIM21KhAGhzWP0B7wdkh_A.b['18'][1]++;}__cov_sIM21KhAGhzWP0B7wdkh_A.s['65']++;if((__cov_sIM21KhAGhzWP0B7wdkh_A.b['20'][0]++,scope.chart)&&(__cov_sIM21KhAGhzWP0B7wdkh_A.b['20'][1]++,canUpdateChart(newVal,oldVal))){__cov_sIM21KhAGhzWP0B7wdkh_A.b['19'][0]++;__cov_sIM21KhAGhzWP0B7wdkh_A.s['66']++;return updateChart(newVal,scope);}else{__cov_sIM21KhAGhzWP0B7wdkh_A.b['19'][1]++;}__cov_sIM21KhAGhzWP0B7wdkh_A.s['67']++;createChart(chartType,scope,elem);}function watchOther(newVal,oldVal){__cov_sIM21KhAGhzWP0B7wdkh_A.f['22']++;__cov_sIM21KhAGhzWP0B7wdkh_A.s['69']++;if(isEmpty(newVal)){__cov_sIM21KhAGhzWP0B7wdkh_A.b['21'][0]++;__cov_sIM21KhAGhzWP0B7wdkh_A.s['70']++;return;}else{__cov_sIM21KhAGhzWP0B7wdkh_A.b['21'][1]++;}__cov_sIM21KhAGhzWP0B7wdkh_A.s['71']++;if(angular.equals(newVal,oldVal)){__cov_sIM21KhAGhzWP0B7wdkh_A.b['22'][0]++;__cov_sIM21KhAGhzWP0B7wdkh_A.s['72']++;return;}else{__cov_sIM21KhAGhzWP0B7wdkh_A.b['22'][1]++;}__cov_sIM21KhAGhzWP0B7wdkh_A.s['73']++;var chartType=(__cov_sIM21KhAGhzWP0B7wdkh_A.b['23'][0]++,type)||(__cov_sIM21KhAGhzWP0B7wdkh_A.b['23'][1]++,scope.chartType);__cov_sIM21KhAGhzWP0B7wdkh_A.s['74']++;if(!chartType){__cov_sIM21KhAGhzWP0B7wdkh_A.b['24'][0]++;__cov_sIM21KhAGhzWP0B7wdkh_A.s['75']++;return;}else{__cov_sIM21KhAGhzWP0B7wdkh_A.b['24'][1]++;}__cov_sIM21KhAGhzWP0B7wdkh_A.s['76']++;createChart(chartType,scope,elem);}function watchType(newVal,oldVal){__cov_sIM21KhAGhzWP0B7wdkh_A.f['23']++;__cov_sIM21KhAGhzWP0B7wdkh_A.s['78']++;if(isEmpty(newVal)){__cov_sIM21KhAGhzWP0B7wdkh_A.b['25'][0]++;__cov_sIM21KhAGhzWP0B7wdkh_A.s['79']++;return;}else{__cov_sIM21KhAGhzWP0B7wdkh_A.b['25'][1]++;}__cov_sIM21KhAGhzWP0B7wdkh_A.s['80']++;if(angular.equals(newVal,oldVal)){__cov_sIM21KhAGhzWP0B7wdkh_A.b['26'][0]++;__cov_sIM21KhAGhzWP0B7wdkh_A.s['81']++;return;}else{__cov_sIM21KhAGhzWP0B7wdkh_A.b['26'][1]++;}__cov_sIM21KhAGhzWP0B7wdkh_A.s['82']++;createChart(newVal,scope,elem);}}};};function createChart(type,scope,elem){__cov_sIM21KhAGhzWP0B7wdkh_A.f['24']++;__cov_sIM21KhAGhzWP0B7wdkh_A.s['84']++;var options=getChartOptions(type,scope);__cov_sIM21KhAGhzWP0B7wdkh_A.s['85']++;if((__cov_sIM21KhAGhzWP0B7wdkh_A.b['28'][0]++,!hasData(scope))||(__cov_sIM21KhAGhzWP0B7wdkh_A.b['28'][1]++,!canDisplay(type,scope,elem,options))){__cov_sIM21KhAGhzWP0B7wdkh_A.b['27'][0]++;__cov_sIM21KhAGhzWP0B7wdkh_A.s['86']++;return;}else{__cov_sIM21KhAGhzWP0B7wdkh_A.b['27'][1]++;}__cov_sIM21KhAGhzWP0B7wdkh_A.s['87']++;var cvs=elem[0];__cov_sIM21KhAGhzWP0B7wdkh_A.s['88']++;var ctx=cvs.getContext('2d');__cov_sIM21KhAGhzWP0B7wdkh_A.s['89']++;scope.chartGetColor=getChartColorFn(scope);__cov_sIM21KhAGhzWP0B7wdkh_A.s['90']++;var data=getChartData(type,scope);__cov_sIM21KhAGhzWP0B7wdkh_A.s['91']++;destroyChart(scope);__cov_sIM21KhAGhzWP0B7wdkh_A.s['92']++;scope.chart=new ChartJs.Chart(ctx,{type:type,data:data,options:options});__cov_sIM21KhAGhzWP0B7wdkh_A.s['93']++;scope.$emit('chart-create',scope.chart);__cov_sIM21KhAGhzWP0B7wdkh_A.s['94']++;bindEvents(cvs,scope);}function canUpdateChart(newVal,oldVal){__cov_sIM21KhAGhzWP0B7wdkh_A.f['25']++;__cov_sIM21KhAGhzWP0B7wdkh_A.s['96']++;if((__cov_sIM21KhAGhzWP0B7wdkh_A.b['30'][0]++,newVal)&&(__cov_sIM21KhAGhzWP0B7wdkh_A.b['30'][1]++,oldVal)&&(__cov_sIM21KhAGhzWP0B7wdkh_A.b['30'][2]++,newVal.length)&&(__cov_sIM21KhAGhzWP0B7wdkh_A.b['30'][3]++,oldVal.length)){__cov_sIM21KhAGhzWP0B7wdkh_A.b['29'][0]++;__cov_sIM21KhAGhzWP0B7wdkh_A.s['97']++;return Array.isArray(newVal[0])?(__cov_sIM21KhAGhzWP0B7wdkh_A.b['31'][0]++,(__cov_sIM21KhAGhzWP0B7wdkh_A.b['32'][0]++,newVal.length===oldVal.length)&&(__cov_sIM21KhAGhzWP0B7wdkh_A.b['32'][1]++,newVal.every(function(element,index){__cov_sIM21KhAGhzWP0B7wdkh_A.f['26']++;__cov_sIM21KhAGhzWP0B7wdkh_A.s['98']++;return element.length===oldVal[index].length;}))):(__cov_sIM21KhAGhzWP0B7wdkh_A.b['31'][1]++,oldVal.reduce(sum,0)>0?(__cov_sIM21KhAGhzWP0B7wdkh_A.b['33'][0]++,newVal.length===oldVal.length):(__cov_sIM21KhAGhzWP0B7wdkh_A.b['33'][1]++,false));}else{__cov_sIM21KhAGhzWP0B7wdkh_A.b['29'][1]++;}__cov_sIM21KhAGhzWP0B7wdkh_A.s['99']++;return false;}function sum(carry,val){__cov_sIM21KhAGhzWP0B7wdkh_A.f['27']++;__cov_sIM21KhAGhzWP0B7wdkh_A.s['101']++;return carry+val;}function getEventHandler(scope,action,triggerOnlyOnChange){__cov_sIM21KhAGhzWP0B7wdkh_A.f['28']++;__cov_sIM21KhAGhzWP0B7wdkh_A.s['103']++;var lastState=null;__cov_sIM21KhAGhzWP0B7wdkh_A.s['104']++;return function(evt){__cov_sIM21KhAGhzWP0B7wdkh_A.f['29']++;__cov_sIM21KhAGhzWP0B7wdkh_A.s['105']++;var atEvent=(__cov_sIM21KhAGhzWP0B7wdkh_A.b['34'][0]++,scope.chart.getElementsAtEvent)||(__cov_sIM21KhAGhzWP0B7wdkh_A.b['34'][1]++,scope.chart.getPointsAtEvent);__cov_sIM21KhAGhzWP0B7wdkh_A.s['106']++;if(atEvent){__cov_sIM21KhAGhzWP0B7wdkh_A.b['35'][0]++;__cov_sIM21KhAGhzWP0B7wdkh_A.s['107']++;var activePoints=atEvent.call(scope.chart,evt);__cov_sIM21KhAGhzWP0B7wdkh_A.s['108']++;if((__cov_sIM21KhAGhzWP0B7wdkh_A.b['37'][0]++,triggerOnlyOnChange===false)||(__cov_sIM21KhAGhzWP0B7wdkh_A.b['37'][1]++,angular.equals(lastState,activePoints)===false)){__cov_sIM21KhAGhzWP0B7wdkh_A.b['36'][0]++;__cov_sIM21KhAGhzWP0B7wdkh_A.s['109']++;lastState=activePoints;__cov_sIM21KhAGhzWP0B7wdkh_A.s['110']++;scope[action](activePoints,evt);}else{__cov_sIM21KhAGhzWP0B7wdkh_A.b['36'][1]++;}}else{__cov_sIM21KhAGhzWP0B7wdkh_A.b['35'][1]++;}};}function getColors(type,scope){__cov_sIM21KhAGhzWP0B7wdkh_A.f['30']++;__cov_sIM21KhAGhzWP0B7wdkh_A.s['112']++;var colors=angular.copy((__cov_sIM21KhAGhzWP0B7wdkh_A.b['38'][0]++,scope.chartColors)||(__cov_sIM21KhAGhzWP0B7wdkh_A.b['38'][1]++,ChartJs.getOptions(type).chartColors)||(__cov_sIM21KhAGhzWP0B7wdkh_A.b['38'][2]++,Chart.defaults.global.colors));__cov_sIM21KhAGhzWP0B7wdkh_A.s['113']++;var notEnoughColors=colors.length>16&255,g=bigint>>8&255,b=bigint&255;__cov_sIM21KhAGhzWP0B7wdkh_A.s['136']++;return[r,g,b];}function hasData(scope){__cov_sIM21KhAGhzWP0B7wdkh_A.f['37']++;__cov_sIM21KhAGhzWP0B7wdkh_A.s['138']++;return(__cov_sIM21KhAGhzWP0B7wdkh_A.b['45'][0]++,scope.chartData)&&(__cov_sIM21KhAGhzWP0B7wdkh_A.b['45'][1]++,scope.chartData.length);}function getChartColorFn(scope){__cov_sIM21KhAGhzWP0B7wdkh_A.f['38']++;__cov_sIM21KhAGhzWP0B7wdkh_A.s['140']++;return typeof scope.chartGetColor==='function'?(__cov_sIM21KhAGhzWP0B7wdkh_A.b['46'][0]++,scope.chartGetColor):(__cov_sIM21KhAGhzWP0B7wdkh_A.b['46'][1]++,getRandomColor);}function getChartData(type,scope){__cov_sIM21KhAGhzWP0B7wdkh_A.f['39']++;__cov_sIM21KhAGhzWP0B7wdkh_A.s['142']++;var colors=getColors(type,scope);__cov_sIM21KhAGhzWP0B7wdkh_A.s['143']++;return Array.isArray(scope.chartData[0])?(__cov_sIM21KhAGhzWP0B7wdkh_A.b['47'][0]++,getDataSets(scope.chartLabels,scope.chartData,(__cov_sIM21KhAGhzWP0B7wdkh_A.b['48'][0]++,scope.chartSeries)||(__cov_sIM21KhAGhzWP0B7wdkh_A.b['48'][1]++,[]),colors,scope.chartDatasetOverride)):(__cov_sIM21KhAGhzWP0B7wdkh_A.b['47'][1]++,getData(scope.chartLabels,scope.chartData,colors,scope.chartDatasetOverride));}function getDataSets(labels,data,series,colors,datasetOverride){__cov_sIM21KhAGhzWP0B7wdkh_A.f['40']++;__cov_sIM21KhAGhzWP0B7wdkh_A.s['145']++;return{labels:labels,datasets:data.map(function(item,i){__cov_sIM21KhAGhzWP0B7wdkh_A.f['41']++;__cov_sIM21KhAGhzWP0B7wdkh_A.s['146']++;var dataset=angular.extend({},colors[i],{label:series[i],data:item});__cov_sIM21KhAGhzWP0B7wdkh_A.s['147']++;if((__cov_sIM21KhAGhzWP0B7wdkh_A.b['50'][0]++,datasetOverride)&&(__cov_sIM21KhAGhzWP0B7wdkh_A.b['50'][1]++,datasetOverride.length>=i)){__cov_sIM21KhAGhzWP0B7wdkh_A.b['49'][0]++;__cov_sIM21KhAGhzWP0B7wdkh_A.s['148']++;angular.merge(dataset,datasetOverride[i]);}else{__cov_sIM21KhAGhzWP0B7wdkh_A.b['49'][1]++;}__cov_sIM21KhAGhzWP0B7wdkh_A.s['149']++;return dataset;})};}function getData(labels,data,colors,datasetOverride){__cov_sIM21KhAGhzWP0B7wdkh_A.f['42']++;__cov_sIM21KhAGhzWP0B7wdkh_A.s['151']++;var dataset={labels:labels,datasets:[{data:data,backgroundColor:colors.map(function(color){__cov_sIM21KhAGhzWP0B7wdkh_A.f['43']++;__cov_sIM21KhAGhzWP0B7wdkh_A.s['152']++;return color.pointBackgroundColor;}),hoverBackgroundColor:colors.map(function(color){__cov_sIM21KhAGhzWP0B7wdkh_A.f['44']++;__cov_sIM21KhAGhzWP0B7wdkh_A.s['153']++;return color.backgroundColor;})}]};__cov_sIM21KhAGhzWP0B7wdkh_A.s['154']++;if(datasetOverride){__cov_sIM21KhAGhzWP0B7wdkh_A.b['51'][0]++;__cov_sIM21KhAGhzWP0B7wdkh_A.s['155']++;angular.merge(dataset.datasets[0],datasetOverride);}else{__cov_sIM21KhAGhzWP0B7wdkh_A.b['51'][1]++;}__cov_sIM21KhAGhzWP0B7wdkh_A.s['156']++;return dataset;}function getChartOptions(type,scope){__cov_sIM21KhAGhzWP0B7wdkh_A.f['45']++;__cov_sIM21KhAGhzWP0B7wdkh_A.s['158']++;return angular.extend({},ChartJs.getOptions(type),scope.chartOptions);}function bindEvents(cvs,scope){__cov_sIM21KhAGhzWP0B7wdkh_A.f['46']++;__cov_sIM21KhAGhzWP0B7wdkh_A.s['160']++;cvs.onclick=scope.chartClick?(__cov_sIM21KhAGhzWP0B7wdkh_A.b['52'][0]++,getEventHandler(scope,'chartClick',false)):(__cov_sIM21KhAGhzWP0B7wdkh_A.b['52'][1]++,angular.noop);__cov_sIM21KhAGhzWP0B7wdkh_A.s['161']++;cvs.onmousemove=scope.chartHover?(__cov_sIM21KhAGhzWP0B7wdkh_A.b['53'][0]++,getEventHandler(scope,'chartHover',true)):(__cov_sIM21KhAGhzWP0B7wdkh_A.b['53'][1]++,angular.noop);}function updateChart(values,scope){__cov_sIM21KhAGhzWP0B7wdkh_A.f['47']++;__cov_sIM21KhAGhzWP0B7wdkh_A.s['163']++;if(Array.isArray(scope.chartData[0])){__cov_sIM21KhAGhzWP0B7wdkh_A.b['54'][0]++;__cov_sIM21KhAGhzWP0B7wdkh_A.s['164']++;scope.chart.data.datasets.forEach(function(dataset,i){__cov_sIM21KhAGhzWP0B7wdkh_A.f['48']++;__cov_sIM21KhAGhzWP0B7wdkh_A.s['165']++;dataset.data=values[i];});}else{__cov_sIM21KhAGhzWP0B7wdkh_A.b['54'][1]++;__cov_sIM21KhAGhzWP0B7wdkh_A.s['166']++;scope.chart.data.datasets[0].data=values;}__cov_sIM21KhAGhzWP0B7wdkh_A.s['167']++;scope.chart.update();__cov_sIM21KhAGhzWP0B7wdkh_A.s['168']++;scope.$emit('chart-update',scope.chart);}function isEmpty(value){__cov_sIM21KhAGhzWP0B7wdkh_A.f['49']++;__cov_sIM21KhAGhzWP0B7wdkh_A.s['170']++;return(__cov_sIM21KhAGhzWP0B7wdkh_A.b['55'][0]++,!value)||(__cov_sIM21KhAGhzWP0B7wdkh_A.b['55'][1]++,Array.isArray(value))&&(__cov_sIM21KhAGhzWP0B7wdkh_A.b['55'][2]++,!value.length)||(__cov_sIM21KhAGhzWP0B7wdkh_A.b['55'][3]++,typeof value==='object')&&(__cov_sIM21KhAGhzWP0B7wdkh_A.b['55'][4]++,!Object.keys(value).length);}function canDisplay(type,scope,elem,options){__cov_sIM21KhAGhzWP0B7wdkh_A.f['50']++;__cov_sIM21KhAGhzWP0B7wdkh_A.s['172']++;if((__cov_sIM21KhAGhzWP0B7wdkh_A.b['57'][0]++,options.responsive)&&(__cov_sIM21KhAGhzWP0B7wdkh_A.b['57'][1]++,elem[0].clientHeight===0)){__cov_sIM21KhAGhzWP0B7wdkh_A.b['56'][0]++;__cov_sIM21KhAGhzWP0B7wdkh_A.s['173']++;$timeout(function(){__cov_sIM21KhAGhzWP0B7wdkh_A.f['51']++;__cov_sIM21KhAGhzWP0B7wdkh_A.s['174']++;createChart(type,scope,elem);},50,false);__cov_sIM21KhAGhzWP0B7wdkh_A.s['175']++;return false;}else{__cov_sIM21KhAGhzWP0B7wdkh_A.b['56'][1]++;}__cov_sIM21KhAGhzWP0B7wdkh_A.s['176']++;return true;}function destroyChart(scope){__cov_sIM21KhAGhzWP0B7wdkh_A.f['52']++;__cov_sIM21KhAGhzWP0B7wdkh_A.s['178']++;if(!scope.chart){__cov_sIM21KhAGhzWP0B7wdkh_A.b['58'][0]++;__cov_sIM21KhAGhzWP0B7wdkh_A.s['179']++;return;}else{__cov_sIM21KhAGhzWP0B7wdkh_A.b['58'][1]++;}__cov_sIM21KhAGhzWP0B7wdkh_A.s['180']++;scope.chart.destroy();__cov_sIM21KhAGhzWP0B7wdkh_A.s['181']++;scope.$emit('chart-destroy',scope.chart);}}})); diff --git a/www/lib/angular-chart.js/test/fixtures/custom-directive.html b/www/lib/angular-chart.js/test/fixtures/custom-directive.html new file mode 100644 index 0000000..0b02a42 --- /dev/null +++ b/www/lib/angular-chart.js/test/fixtures/custom-directive.html @@ -0,0 +1,32 @@ + + + + + Pie update colors + + + +
+
+ +
+
+
+
Pie Chart
+
+ +
+
+
+
+
+
+ + + + + + + diff --git a/www/lib/angular-chart.js/test/fixtures/custom-directive.js b/www/lib/angular-chart.js/test/fixtures/custom-directive.js new file mode 100644 index 0000000..53bcc49 --- /dev/null +++ b/www/lib/angular-chart.js/test/fixtures/custom-directive.js @@ -0,0 +1,20 @@ +(function () { + 'use strict'; + + var app = angular.module('pie', ['chart.js']); + Chart.defaults.global.legend = { + display: false + }; + + app.directive('mySpecialPie', function (ChartJsFactory) { return new ChartJsFactory('pie'); }); + + app.controller('PieCtrl', ['$scope', '$timeout', function ($scope, $timeout) { + $scope.labels = ['Series A', 'Series B']; + $scope.data = [5, 59]; + + $timeout(function () { + $scope.data = [5, 65]; + }, 0); + }]); + +})(); diff --git a/www/lib/angular-chart.js/test/fixtures/custom-directive.png b/www/lib/angular-chart.js/test/fixtures/custom-directive.png new file mode 100644 index 0000000000000000000000000000000000000000..513c0ad30f80a73f9f81c47c2c0b09f1af4dc8dc GIT binary patch literal 29759 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 literal 0 HcmV?d00001 diff --git a/www/lib/angular-chart.js/test/fixtures/dataset-override.html b/www/lib/angular-chart.js/test/fixtures/dataset-override.html new file mode 100644 index 0000000..845e1cc --- /dev/null +++ b/www/lib/angular-chart.js/test/fixtures/dataset-override.html @@ -0,0 +1,41 @@ + + + + + Charts with datasets overrides + + + +
+
+ +
+
+
+
Mixed chart
+
+ +
+
+
+
+
+
Doughnut dataset override
+
+ +
+
+
+
+
+ + + + + + + diff --git a/www/lib/angular-chart.js/test/fixtures/dataset-override.js b/www/lib/angular-chart.js/test/fixtures/dataset-override.js new file mode 100644 index 0000000..e7cf76d --- /dev/null +++ b/www/lib/angular-chart.js/test/fixtures/dataset-override.js @@ -0,0 +1,32 @@ +angular.module('app', ['chart.js']).controller('OverrideCtrl', ['$scope', function ($scope) { + 'use strict'; + + $scope.colors = ['#45b7cd', '#ff6384', '#ff8e72']; + + $scope.labels1 = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday']; + $scope.data1 = [ + [65, -59, 80, 81, -56, 55, -40], + [28, 48, -40, 19, 86, 27, 90] + ]; + $scope.datasetOverride1 = [ + { + label: 'Override Series A', + borderWidth: 1, + type: 'bar' + }, + { + label: 'Override Series B', + borderWidth: 3, + hoverBackgroundColor: 'rgba(255,99,132,0.4)', + hoverBorderColor: 'rgba(255,99,132,1)', + type: 'line' + } + ]; + + $scope.labels2 = ['Download Sales', 'In-Store Sales', 'Mail-Order Sales']; + $scope.data2 = [350, 450, 100]; + $scope.datasetOverride2 = { + hoverBackgroundColor: ['#45b7cd', '#ff6384', '#ff8e72'], + hoverBorderColor: ['#45b7cd', '#ff6384', '#ff8e72'] + }; +}]); diff --git a/www/lib/angular-chart.js/test/fixtures/dataset-override.png b/www/lib/angular-chart.js/test/fixtures/dataset-override.png new file mode 100644 index 0000000000000000000000000000000000000000..f381bacf0fc0e49ffd3a9ff9dbb42002097e7b1d GIT binary patch literal 62303 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 literal 0 HcmV?d00001 diff --git a/www/lib/angular-chart.js/test/fixtures/horizontal-bar-chart.html b/www/lib/angular-chart.js/test/fixtures/horizontal-bar-chart.html new file mode 100644 index 0000000..42c48d4 --- /dev/null +++ b/www/lib/angular-chart.js/test/fixtures/horizontal-bar-chart.html @@ -0,0 +1,33 @@ + + + + + Horizontal Bar Chart + + + +
+
+ +
+
+
+
Horizontal Bar Chart
+
+ +
+
+
+
+
+
+ + + + + + + diff --git a/www/lib/angular-chart.js/test/fixtures/horizontal-bar-chart.js b/www/lib/angular-chart.js/test/fixtures/horizontal-bar-chart.js new file mode 100644 index 0000000..6c6f968 --- /dev/null +++ b/www/lib/angular-chart.js/test/fixtures/horizontal-bar-chart.js @@ -0,0 +1,18 @@ +(function () { + 'use strict'; + + var app = angular.module('horizontal', ['chart.js']); + Chart.defaults.global.legend = { + display: false + }; + + app.controller('HorizontalBarCtrl', function ($scope) { + $scope.labels = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday']; + $scope.active = true; + $scope.data = [ + [65, 59, 90, 81, 56, 55, 40], + [28, 48, 40, 19, 96, 27, 100] + ]; + }); + +})(); diff --git a/www/lib/angular-chart.js/test/fixtures/horizontal-bar-chart.png b/www/lib/angular-chart.js/test/fixtures/horizontal-bar-chart.png new file mode 100644 index 0000000000000000000000000000000000000000..b926632c9aba4630e83402667b05a09fe45bce83 GIT binary patch literal 39629 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
  • k8;-3{K9lO-U%K6ag?U1m$N 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 literal 0 HcmV?d00001 diff --git a/www/lib/angular-chart.js/test/index.html b/www/lib/angular-chart.js/test/index.html new file mode 100644 index 0000000..fa15540 --- /dev/null +++ b/www/lib/angular-chart.js/test/index.html @@ -0,0 +1,31 @@ + + + + Mocha Tests + + + +
    + + + + + + + + + + + + + + + diff --git a/www/lib/angular-chart.js/test/mocha.opts b/www/lib/angular-chart.js/test/mocha.opts new file mode 100644 index 0000000..0cfde2d --- /dev/null +++ b/www/lib/angular-chart.js/test/mocha.opts @@ -0,0 +1,4 @@ +--slow 20 +--growl +--reporter spec +--require test/support/setup diff --git a/www/lib/angular-chart.js/test/support/setup.js b/www/lib/angular-chart.js/test/support/setup.js new file mode 100644 index 0000000..de98414 --- /dev/null +++ b/www/lib/angular-chart.js/test/support/setup.js @@ -0,0 +1,11 @@ +/*jshint node:true*/ +(function () { + 'use strict'; + + var chai = require('chai'); + global.chai = chai; + global.should = chai.should(); + global.expect = chai.expect; + global.assert = chai.assert; + +})(); diff --git a/www/lib/angular-chart.js/test/test.integration.js b/www/lib/angular-chart.js/test/test.integration.js new file mode 100644 index 0000000..f8ef1b2 --- /dev/null +++ b/www/lib/angular-chart.js/test/test.integration.js @@ -0,0 +1,75 @@ +/*jshint node:true*/ +/*jshint mocha:true*/ +/*global assert:true*/ +describe('integration', function () { + 'use strict'; + + var port = 8045; /* teststatic default port 8080 may be occupied on many systems */ + var webshot = require('webshot'), + path = require('path'), + gm = require('gm'), + tmp = require('tmp-sync'), + mkdirp = require('mkdirp').sync, + cp = require('cp').sync, + imgur = require('imgur-node-api'), + server = require('testatic')('./', port), + WEBSHOT_OPTIONS = { renderDelay: process.env.DELAY || 2500, windowSize: { width: 1366, height: 768 }}, + WEBSHOT_FAILED_DIR = path.join('test', 'fixtures', 'shots') + path.sep, + dir; + + beforeEach(function () { + dir = tmp.in() + path.sep; + }); + + afterEach(function () { + tmp.clean(); + }); + + after(function () { + server.close(); + }); + + mkdirp(WEBSHOT_FAILED_DIR); + + [ + 'bubble', + 'dataset-override', + 'horizontal-bar-chart', + '29-tabs', + '57-hex-colours', + '54-not-enough-colours', + '51-pie-update-colours', + 'configure-line-chart', + 'custom-directive', + 'charts' + ].forEach(function (name) { + it('compares screenshots for: ' + name, function (done) { + var image = dir + name + '.png', + url = 'http://localhost:' + port + '/test/fixtures/' + name + '.html', + expected = path.join('test', 'fixtures', name + '.png'); + + webshot(url, image, WEBSHOT_OPTIONS, function (err) { + if (err) return done(err); + gm.compare(expected, image, process.env.TOLERANCE || 0.00001, function (err, isEqual) { + if (err) return done(err); + if (! isEqual) { + var failed = WEBSHOT_FAILED_DIR + name + '-failed.png', + msg = 'Expected screenshots to be similar. Screenshot saved to ' + failed; + cp(image, failed); + if (process.env.CI && process.env.IMGUR_ID) { + imgur.setClientID(process.env.IMGUR_ID); + imgur.upload(image, function (err, res) { + if (err) return done(err); + assert.fail(isEqual, true, msg + ', uploaded to ' + res.data.link); + }); + } else { + assert.fail(isEqual, true, msg); + } + return; + } + done(); + }); + }); + }); + }); +}); diff --git a/www/lib/angular-chart.js/test/test.unit.js b/www/lib/angular-chart.js/test/test.unit.js new file mode 100644 index 0000000..c2c15de --- /dev/null +++ b/www/lib/angular-chart.js/test/test.unit.js @@ -0,0 +1,408 @@ +/*jshint mocha:true*/ +/*global module:true*/ +/*global inject:true*/ +/*global expect:true*/ +/*global sinon:true*/ + +describe('Unit testing', function () { + 'use strict'; + + var $compile, scope, sandbox, ChartJs, ChartJsProvider; + + beforeEach(module('chart.js', function (_ChartJsProvider_) { + ChartJsProvider = _ChartJsProvider_; + ChartJsProvider.setOptions({ env: 'test', responsive: false }); + })); + + beforeEach(inject(function (_$compile_, _$rootScope_, _ChartJs_) { + // The injector unwraps the underscores (_) from around the parameter names when matching + $compile = _$compile_; + scope = _$rootScope_; + ChartJs = _ChartJs_; + sandbox = sinon.sandbox.create(); + })); + + afterEach(function () { + sandbox.restore(); + }); + + describe('base', function () { + describe('chart types', function () { + ['line', 'bar', 'horizontalBar', 'radar', 'pie', 'doughnut', 'polarArea', 'bubble'].forEach(function (type) { + it('creates a ' + type + ' chart using the directive', function () { + var markup = ''; + + if (['line', 'bar', 'horizontalBar', 'radar'].indexOf(type) > - 1) { + scope.labels = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday']; + scope.data = [ + [65, 59, 80, 81, 56, 55, 40], + [28, 48, 40, 19, 86, 27, 90] + ]; + } else { + scope.labels = ['Downloads', 'In store', 'Mail orders']; + scope.data = [300, 500, 100]; + } + + var spyChart = sandbox.spy(ChartJs, 'Chart'); + + scope.$on('chart-create', function (evt, chart) { + expect(chart).to.be.an.instanceOf(Chart.Controller); + }); + + $compile(markup)(scope); + scope.$digest(); + + expect(spyChart).to.have.been.calledWithNew; + expect(spyChart).to.have.been.calledWithExactly( + sinon.match.any, + sinon.match({ type: type, data: sinon.match.object, options: sinon.match.object }) + ); + }); + + it('creates a ' + type + ' chart using the "chart-type" attribute', function () { + var markup = '
    ' + + '
    '; + + scope.type = type; + + if (['line', 'bar', 'horizontalBar', 'radar'].indexOf(type) > - 1) { + scope.labels = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday']; + scope.data = [ + [65, 59, 80, 81, 56, 55, 40], + [28, 48, 40, 19, 86, 27, 90] + ]; + } else { + scope.labels = ['Downloads', 'In store', 'Mail orders']; + scope.data = [300, 500, 100]; + } + + var spyChart = sandbox.spy(ChartJs, 'Chart'); + + scope.$on('chart-create', function (evt, chart) { + expect(chart).to.be.an.instanceOf(Chart.Controller); + }); + + $compile(markup)(scope); + scope.$digest(); + + expect(spyChart).to.have.been.calledWithNew; + expect(spyChart).to.have.been.calledWithExactly( + sinon.match.any, + sinon.match({ type: type, data: sinon.match.object, options: sinon.match.object }) + ); + }); + }); + }); + + describe('dataset override', function () { + it('overrides the datasets for complex charts', function () { + var datasets; + var markup = ''; + + scope.labels = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday']; + scope.data = [ + [65, -59, 80, 81, -56, 55, -40], + [28, 48, -40, 19, 86, 27, 90] + ]; + scope.datasetOverride = [ + { + label: 'Bar chart', + borderWidth: 1, + type: 'bar' + }, + { + label: 'Line chart', + borderWidth: 3, + type: 'line' + } + ]; + + scope.$on('chart-create', function (evt, chart) { + datasets = chart.chart.config.data.datasets; + }); + + $compile(markup)(scope); + scope.$digest(); + + expect(datasets[0].label).to.equal('Bar chart'); + expect(datasets[1].label).to.equal('Line chart'); + expect(datasets[0].borderWidth).to.equal(1); + expect(datasets[1].borderWidth).to.equal(3); + expect(datasets[0].type).to.equal('bar'); + expect(datasets[1].type).to.equal('line'); + }); + + it('overrides the dataset for simple charts', function () { + var datasets; + var markup = ''; + + scope.colors = ['#45b7cd', '#ff6384', '#ff8e72']; + scope.labels = ['Download Sales', 'In-Store Sales', 'Mail-Order Sales']; + scope.data = [350, 450, 100]; + scope.datasetOverride = { + hoverBackgroundColor: ['#45b7cd', '#ff6384', '#ff8e72'], + hoverBorderColor: ['#45b7cd', '#ff6384', '#ff8e72'] + }; + + scope.$on('chart-create', function (evt, chart) { + datasets = chart.chart.config.data.datasets; + }); + + $compile(markup)(scope); + scope.$digest(); + + expect(datasets[0].hoverBackgroundColor).to.deep.equal(['#45b7cd', '#ff6384', '#ff8e72']); + expect(datasets[0].hoverBorderColor).to.deep.equal(['#45b7cd', '#ff6384', '#ff8e72']); + }); + }); + }); + + describe('lifecycle', function () { + it('watches the attributes of the chart', function () { + var markup = '
    ' + + '
    '; + + scope.labels = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday']; + scope.data = [ + [65, 59, 80, 81, 56, 55, 40], + [28, 48, 40, 19, 86, 27, 90] + ]; + + var spy = sandbox.spy(scope, '$watch'); + $compile(markup)(scope); + + // cannot get a hold of the child scope as it isn't created yet + // so cannot be more precise on expectations + expect(spy.calledThrice).to.be.true; + }); + + it('creates the chart only once', function () { + var markup = '
    ' + + '
    '; + var count = 0; + + scope.labels = ['January', 'February', 'March', 'April', 'May', 'June', 'July']; + scope.series = ['Series A', 'Series B']; + scope.data = [ + [65, 59, 80, 81, 56, 55, 40], + [28, 48, 40, 19, 86, 27, 90] + ]; + scope.$on('chart-create', function () { + count++; + }); + + $compile(markup)(scope); + scope.$digest(); + + expect(count).to.equal(1); + }); + + it('updates the chart', function () { + var markup = '
    ' + + '
    '; + var count = 0; + + scope.labels = ['January', 'February', 'March', 'April', 'May', 'June', 'July']; + scope.series = ['Series A', 'Series B']; + scope.data = [ + [65, 59, 80, 81, 56, 55, 40], + [28, 48, 40, 19, 86, 27, 90] + ]; + + scope.$on('chart-update', function () { + count++; + }); + + $compile(markup)(scope); + scope.$digest(); + + scope.data = [ + [28, 48, 40, 19, 86, 27, 90], + [65, 59, 80, 81, 56, 55, 40] + ]; + scope.$digest(); + + expect(count).to.equal(1); + }); + + it('destroy the chart if all data is removed', function () { + var markup = '
    ' + + '
    '; + var countCreate = 0, countUpdate = 0, countDestroy = 0; + + scope.labels = ['January', 'February', 'March', 'April', 'May', 'June', 'July']; + scope.data = [ + [65, 59, 80, 81, 56, 55, 40], + [28, 48, 40, 19, 86, 27, 90] + ]; + + scope.$on('chart-create', function () { + countCreate++; + }); + + scope.$on('chart-update', function () { + countUpdate++; + }); + + scope.$on('chart-destroy', function() { + countDestroy++; + }); + + $compile(markup)(scope); + scope.$digest(); + + scope.data = []; + scope.$digest(); + + expect(countCreate).to.equal(1); + expect(countUpdate).to.equal(0); + expect(countDestroy).to.equal(1); + }); + + it('re-create the chart if data added or removed', function () { + var markup = '
    ' + + '
    '; + var countCreate = 0, countUpdate = 0, countDestroy = 0; + + scope.labels = ['January', 'February', 'March', 'April', 'May', 'June', 'July']; + scope.data = [ + [65, 59, 80, 81, 56, 55, 40], + [28, 48, 40, 19, 86, 27, 90] + ]; + + scope.$on('chart-create', function () { + countCreate++; + }); + + scope.$on('chart-update', function () { + countUpdate++; + }); + + scope.$on('chart-destroy', function() { + countDestroy++; + }); + + $compile(markup)(scope); + scope.$digest(); + + scope.data = [ + [28, 48, 40, 19, 86, 27, 90], + [65, 59, 80, 81, 56, 55, 40], + [65, 59, 80, 81, 56, 55, 40] + ]; + scope.$digest(); + + expect(countCreate).to.equal(2); + expect(countUpdate).to.equal(0); + expect(countDestroy).to.equal(1); + }); + + it('should allow to set a configuration', function () { + ChartJsProvider.setOptions({responsive: false}); + expect(ChartJs.getOptions().responsive).to.equal(false); + expect(ChartJs.getOptions('Line').responsive).to.equal(false); + ChartJsProvider.setOptions({responsive: true}); + expect(ChartJs.getOptions().responsive).to.equal(true); + expect(ChartJs.getOptions('Line').responsive).to.equal(true); + }); + + it('should allow to set a configuration for a chart type', function () { + ChartJsProvider.setOptions('Line', {responsive: false}); + expect(ChartJs.getOptions('Line').responsive).to.equal(false); + ChartJsProvider.setOptions('Line', {responsive: true}); + expect(ChartJs.getOptions('Line').responsive).to.equal(true); + }); + + ['labels', 'colors', 'series', 'options'].forEach(function (attr) { + it('re-creates the chart on ' + attr + ' changes', function () { + var markup = '
    ' + + '
    '; + var count = 0; + + scope.options = { scaleShowVerticalLines: false }; + scope.labels = ['January', 'February', 'March', 'April', 'May', 'June', 'July']; + scope.series = ['Series A', 'Series B']; + scope.colors = ['#45b7cd', '#ff6384']; + scope.data = [ + [65, 59, 80, 81, 56, 55, 40], + [28, 48, 40, 19, 86, 27, 90] + ]; + scope.$on('chart-create', function () { + count++; + }); + + $compile(markup)(scope); + scope.$digest(); + + switch (attr) { + case 'labels': + scope.labels = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday']; + break; + case 'colors': + scope.colors = ['#ff6384', '#ff8e72']; + break; + case 'series': + scope.series = ['Series C', 'Series D']; + break; + case 'options': + scope.options = { scaleShowVerticalLines: true }; + break; + } + scope.$digest(); + + expect(count).to.equal(2); + }); + }); + + ['labels', 'colors', 'series', 'options'].forEach(function (attr) { + it('does not re-create the chart on ' + attr + ' not changed', function () { + var markup = '
    ' + + '
    '; + var count = 0; + + scope.options = { scaleShowVerticalLines: false }; + scope.labels = ['January', 'February', 'March', 'April', 'May', 'June', 'July']; + scope.series = ['Series A', 'Series B']; + scope.colors = ['#45b7cd', '#ff6384']; + scope.data = [ + [65, 59, 80, 81, 56, 55, 40], + [28, 48, 40, 19, 86, 27, 90] + ]; + scope.$on('chart-create', function () { + count++; + }); + + $compile(markup)(scope); + scope.$digest(); + + switch (attr) { + case 'labels': + scope.labels = ['January', 'February', 'March', 'April', 'May', 'June', 'July']; + break; + case 'colors': + scope.colors = ['#45b7cd', '#ff6384']; + break; + case 'series': + scope.series = ['Series A', 'Series B']; + break; + case 'options': + scope.options = { scaleShowVerticalLines: false }; + break; + } + scope.$digest(); + + expect(count).to.equal(1); + }); + }); + }); +}); diff --git a/www/lib/angular-chart.js/tmp/Dockerfile-alpine b/www/lib/angular-chart.js/tmp/Dockerfile-alpine new file mode 100644 index 0000000..d40b772 --- /dev/null +++ b/www/lib/angular-chart.js/tmp/Dockerfile-alpine @@ -0,0 +1,15 @@ +#FROM rafakato/alpine-graphicsmagick +RUN apk add --update --no-cache \ + build-base \ + python \ + git \ + nodejs \ + curl \ + ca-certificates +WORKDIR /src +ADD . ./ +RUN adduser -S node +RUN chown -R node /src +USER node +RUN npm install && npm install bower && ./node_modules/bower/bin/bower install +CMD ["npm", "test"] diff --git a/www/lib/angular-chart.js/tmp/gradient.html b/www/lib/angular-chart.js/tmp/gradient.html new file mode 100644 index 0000000..2d9e407 --- /dev/null +++ b/www/lib/angular-chart.js/tmp/gradient.html @@ -0,0 +1,26 @@ + + + + + Charts in tabs + + + + +
    +
    +
    + + +
    +
    + + + + + + + + + diff --git a/www/lib/angular-chart.js/tmp/gradient.js b/www/lib/angular-chart.js/tmp/gradient.js new file mode 100644 index 0000000..fe3d761 --- /dev/null +++ b/www/lib/angular-chart.js/tmp/gradient.js @@ -0,0 +1,29 @@ +angular.module('gradient', ['chart.js']).controller('LineCtrl', function ($scope) { + + $scope.labels = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday']; + $scope.series = ['Series A']; + + $scope.data = [ + [1164445, 3444359, 3444380, 444481, 566556, 552255, 466440] + ]; + + var ctx = document.getElementById('line').getContext('2d'); + + var gradient = ctx.createLinearGradient(0, 0, 0, 400); + gradient.addColorStop(0, 'rgba(243, 103, 101,0.5)'); + gradient.addColorStop(1, 'rgba(0, 89, 179,0.5)'); + + $scope.colours = [{ + fillColor : gradient, // Put the gradient here as a fill color + strokeColor : 'rgba(151,187,205,1)', + pointColor : '#fff', + pointStrokeColor : '#fff', + pointHighlightFill: '#fff', + pointHighlightStroke: 'rgba(151,187,205,1)' + }]; + + $scope.$on('create', function (evt, chart) { + + }) + +}); diff --git a/www/pokedex.db b/www/pokedex.db index efcc986e9718feb17ebaa5c18804e1b660de5e19..acc2def98cf868122ebc0c42178141b29ea78f37 100644 GIT binary patch literal 552960 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�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�x!B?aOnS*svxfW|pOyFlxsma3K%hzoB`f`X7VscV5LSIv?FWetLa0MLq1 zb{CPG6183>>L>-ungcOa*rpEkX!xFv^q{OUP!J+npV2rR30 zxCe1&tsxM{xQrl?tOfSTT8DX1)(oioiWc}(FEDUX>re-BMnFO6%Pw~VhiM(+L0J4kS+#ztssrYFLX|IvJ2y3}Z6XSk(3SKcuQgttAiQ8d|QYnL3E(2sgu_ z@~uUHz%|Y6i7hfjOC$v6L5W_$7)z}MhoL;!u(mk1Jb+Q2gG$iWyu(l&?B=KPQg~J} z00dTAa}L8E^IJ&V1&QWc?#RK^>>obH-CusJokpLXA zU9UFZ?13DPWtky=3g30ooDt4>^GzNovu>p!v>rg$I`KWQu^U&LFM6QbEIT$+*Ib03VQrMEIHlO!E{>(DX?E{9v8+cPFGc3n*9!NP!?Rttx zKn#%8E;2XPqi zKem@Z%P5OAi4-D^7B%nkAkibn4r_-2?2~g{kgTrt|3Aw9|LwK=)}qyaU;WhTdspvV zJ#FQmR(>5705`1cTmI_uhnK%|`O@Vh3x8GkNn`+=S(sh=-KDLiJC;sf{Kn$1E`HbI zrHe-_`~@NaPcFP>VP^jG^B_~zE`V8!u)AiYn#LR8AML|3Ij9EY_zvYA~+B$e;mAl(){l?G+)jS_nFdg0XK zi;P;LqtYO*iM2JFIb73zS4@0uiGE6hC>J)kshK5cam5SRUx-?wozft_x7|pUC4vhi zT)hTIqZM?MojnfS+7~Sc;~C<(P$OXsy2*k#N!GT=wr~x(LZUI?)V6|dG9YJHgvUbT zN@@yf;i6X1O%_Cvur@_AfNMz0zy)UKwC+@eWjiSU#)eFxdL%;#SBqZ}lKvvo=Ho6S<7d|702>O zbPc7KrPhrAfzO(C5({mtsm3T!fhUWO2ez0Ol*Wi&G(Lv7!|YYd!6A%LYB47$jo~HB zXGIAi?^hWV7P!THpfpDGlrf~jeGs6K4-wS9)M74B8be{Qd#4&2LVpFh8EkOt8ep(@ zYUY5lV5UHWDBK_8y~@#M>uQ0l8we%A%z%a)Dk29sFQ9dm1BhOj_yn?!;2nH)rMj;$gUoGoC`I-7p%E@bS>k9k|`#mP0?pSRwl=MhB`Z`oj>v9KkoHnTmLJpk3AfBzu zJdF3Wj5e4`WN7h4*jzDgUFu<6e9LEptt5jY46PO8)*C&HLrJ*~`~%vgXa)v0T%)*k ziHC{OG_F*zmTV6sPs65E>tYY%8>E~E-lxu5bddvcw$?=+CX!%8L9Hxcx)lwj5VtP$ zFv>&9eGnl8p%BN932Sld4Iak%O8F0bJifT(XkcV$wJz{5(Yba?5|}PGR72c)y@PoV zf{#ZKLK|5_#vqfg^Ds(@Wv{`mhqxc&E^*vC-@~{%)`tj|9od4MEQB(OaqG1nMxn4? zgxYrO3W~)+?k!~UJP+fdTHYG0J3KeejTB|I&h;=ZQ_7PNX+tfSJQkVI5an|`jQ33W z61)$hc&KLJ)6hP#+&Wued(GD^Y9-}Oa3*kCf_&v5R&W>3@+huS%AMdJYH*%KkV!pT zXL?lDp9sZ4U^yHiiq6WdGaSk}6zUt`C_B+3=$aU{UL&Xt^IndnLRui#NE+ivkz5+J z8XiRXunaXg2iOQAh#m#gd_eo`lXzpxPJ?rReHmQ9ZdKG`o=*nEc}jT{92Qzz${M3% zV$@=yPX@$=v>rt$55hUAxWHQR7BhV^AYQW`MQ{#uZ;NMUwPFwA&{H0Td;$<54gu*F zQLF4he1()p!5`z3l1MMkh=^K|2RV;|k4DTwi+Yjq)G7f43v8x5>rtq8Pzk*=u*9vR z!#IzEOA6meyfPd+SZW<`82%*XQSgP}zezD0Qn^d5O@|Sov>pZD2YX;5Liid>t)6gHz*J+&w3_J=m2ONs^D0mMjP4Vl|F|pV>)j=o;#*FA*1RNw8a$HpY z|5?rdzisWrwVBmFMF0OMR?k{pT=`>U06e-8IoBp}!7pGr4U6}f8 z!vFuX|Hf@qdHb$4@q(AGcNQrC{=%8u8P-7n&T(A$(N4n<~B(jM8IG zm3EVYgQ~kU41Bg#^`&6)Js2s}Xb5UiwT2b@9dTQgUkb+gvZhMiC#1`$8ODY{xvlDN zuUR)|szSO3NVGrnksD#l^nH2833(Al}egD)lX}<<5a4P8qeS z0y7{AhqY7^V?^bbCR8BbqfH%{0c9LFh8L<4-ieAZ1Ik(|c^3$)I6Vvkv`_IM z4&8F!K+QuL5H?%eCj$gaW!5Qcse~WkJZt%^Kr%}0lN=^%snik{wc|GY@KXCkhsj#1 zgk#If!gDXRPjDDf`$ko0A`iMMXYRIY`!01>+X{=IUnqc!8{&r*OGV7+pR^Y?^Um>ZSc{rWYY|_*z-{$+xCO zIM^)V+E$`=NGQ5yVl5o~RRKeMo`YhS&~`{DG9X8Op~)eQi0cUmaijLJ7!ah=g1GRO z`X(TW7BCvv-s3@hK}&oUgj8;Q^Lo@i#)G)@miDU4icMw?0efOmd)q zNDtz=Te2&%4`)pyov2l4AK^h9g^iUbAbBG84Wjnp4&=NC(H_{rlrN};4Y2lM9>nFa zG*=TE&>l=RBBuOM58}dG&p{pjMkqxAA88-rLA)Wxziot6QK5GaH5kM;Y9H)DlnCoJ zXb2IfX~_&Bj^94WgD4S}-l}>-%O5TvHaVmAng?Y)290U~!wXogsJ-ezq7sZmXt1&z zi?Tv9_Ncw$L6ivVF6gju0HjPS+^F`l2l0Jvpj^~18Y74)N6lW;E;x{L7DUq^(@rD< z`^-^$$%7~n)>%;MgY6j^H%<7W2XW}uSx`-n0$G_>c&_aQ528d^XF(GwE8+YhdKmK_ zM2WDpR)RlJcjDop-XUtwc@QPSIt%hiu+NgbEdHZC>p>j4rL~%LSd3&sc-~_>??IFZ zOKZg`#-yqKM<+VWG<1m&3_>w&<{YIloFZt0?eA72%W&7Z60okN7SoN=7>a|XwGtp=YYD-S*1qI0 zlm?slCGHh+(X;>^DeJAb3TBUaAGw{SwK6Gsd>&$Fo2|D1g2XQa;hP$3p($yavtMs) zw%+Uj6a(}6>eOqKH?+=by~zPYDNN=|9RQS%;y&ft-qwo%AoJ@QS@g-z`1%?VL#*`$ z{01>{6RUSlg0|vfCci8yC}O$wyueaB*SrYMw7q)D*2+l}UvvX#J?BvztMwB?$KZzi zi)>&7-=6g-uDW#;l;R=fMwhl2>i<78wf5Uv2>{r|zrPp-VU za^cDm=m7XL%Wqn~02KhAFT5Z7|7RB#mp;2RSbAuwvNW~$>BaXh-nn?%!apti`ocRF zu3y+Y|NqVZ()`Qw7tJ3!_qn`eamvH$--KF&|gdIN0igXzUwERoX_e}X@TdC-Vm4_ zkm_Q!BMK@F%o>vI($%C(TNycT9Z^zgVAhySa%|9xf=`U0*dR8>PX%{~D;?2SX`INv{g9N3Be7G{yYSq&LzRUL8~ePh zX-P_0u`9&Kp>(X=q1Hm>tA+99t#L_eSVOK1D&*SKTNzZ=x+FEM$W+7qkns_wvgSo&HgKmY2PnRa+Eic} zP}aQ2#G%YXVh2^^<+Q29GN7z^kqJPrRZ*BI#VWO_$e{MkL}bm2I>t;K!050&Uusja zr7>Ca5^7jcHV+J%IF;JeYH3W?ylB7x)#Q8*8atNS)M;sqehd>usMH@>vm%$+VQ*8T zr7>CaBJMYQLGcZ-OHyn<0}QyRnS+dd5r-99gd!3+0K3?J+CeyK^I@p(ge+O!3JHjt z?WY8?Zl02{F>3oGRk)S??I!^M7rj1XV>AwnMZ}HE#Y+1L{0vZAM-fQzO^)nmhr8jw$#7C<0|b(J&rfEwgz@E;Kbv? zzBdAcj}W)VzMpuDmX{_KtjMw_9xb)w_QM{=8MDkZDPT=9icoCbmgJ!H)3}20(6_B` zQooAwQ+XQp%-WJ3v}eOCf;gHmniH5#VO{fPQAS*DOMXxqMVYX>u}Sf2O;)Z!jd#Di zS?XDwZp%-T5>#aD;0pE~%kBF-ij!pt>NZMN4P~d64J| zLsHe5L!%Eq329SN`&JL)4J}Dkn}PZ#kup-pTRe!XXi2K3NT3xV7Xx|8QTt{Ga{fe! zxuZ2JK?vBlZ}K2f+GZj`$X&A|VA!JejUL2NSdyx<#-7W#AZ+~x58@v{NmWw_o~fn~9Qqm$ z;wUUh)o2Q~Xw<&igD4T0scogC1~k?ja11hPU*$oR2uo5mc8DYjc@mt>_LTs^ z>KgTz^&%wrh3J|RLS$~VuW%UN&XQEQKa9G3O*r7B)V|zdxPX?VYM7`Ps-QTw%N&N% zU`eV*!I3D#=|<{MseP%#sH&e#oQ64~&~`3v9B9807_`GOb3j=zc0-fKa99DK0$$s` zL=fu+!2y^LLg}Uw`+Bt5X08y3umOlDPDT~>YSsB@>~Awm2rk5Rvh0(eNy-7dKcbO4 z)0V8DJ$CQSxey_@9g#?-|H$2~wBLZ+qq&3$uR9ka;3~+q(bMoguBzQ<7xQa*&N zCYvv)Uxv1YmG)~r&N&hMsNi2AD~Oj6yJ%F}=Xsn+gb@jGLE&E^8C+Hmb>5ZsxgN)h z){h7{Y-38?5V`-@7(R!%_0;^{mk5Rb7#-Z&HnD}duMN(Jt69>XZyFtN0T}4Td3tPm%0UubjWJVV}o~R`&5#V}A!pLNYDaWP3g~RWq&Y8|G2pSd5x$|bF)(~X=7}m$=KYgG zyeiHC7aV#mbk6d)tP$Am%^RXw2oO{{XL?-L2p}lR$CS}kQlAH7)j7lCvPJ-77r=Cd@xi}rBnAfzKt~k2w=)M zSrI2V)C+WK9>=$_MgaMp{5f1prHHssrBn4d-qaGx?WVljRYjQ3io-cdi5HURvC%63 z1BpJBj%44Y3jPGspdqXG&wVk4b5F#mePA6S>%e%P@l( zLI#g~TeV`jbDBp{PAtU?fd_2&%a>d(mpi9Al;fDet}^)>_v0bkol}Tfw~R>;dS)k7f;+gq7)Auvik)MCfy-d#Ko(^3xr^MO#iwormE+CMx0^a^h-7l62BQPI$`AkTI~?1GbBJ3!GR{?MR|d8YqHczKyVZftoly;uEFB07|k> z8b|?2IT~Wwuz2WABFm4%6{?*zKdW5il&7JAe~=0-Jb>IZs-0C2InHFWieHZlfYZP-qR+l}Hl9O^a)CorEfi{rgF%H#E!2`K!DQ`oaHn4`I z8$bF|be24jYh~luiF?XjB~caF9;tQ~Jy1SOqel`y6YjSfP4qUYb{0I4YnAdjv^o$8 z9NJu!GNk?gKlW|#|H8i`_x}eAR~L?6`m3e)FFn3=$BT|7ml3&>-nFae_{Uo`PI2Uo%_+b$LC%%H#__Lvz^)dW=r{h&Hq;Z-8ld6q?vEd zd~D|XXRevq$bBXEOS!k@F3G)m`hQIS8qWW_Y5IhzZ%lpc+X(=ax>Q3jBR5Z&PSzx7 zY!BJDT!0um09|UJG)6zgiLw(V3fmU`Eta}eK50zWB#5k|=0j{g9#`s8@1!xZ&Soh^ zT9G@b<_gDhbg6P+63qK>6^&JtfE{S9cnJtp6}wb6X-LK-gg9b2gsc*6cBy6%dNfbT z7zGV~q0u=W-YD(sQoW##^yZ9F5T&WLW=Oj3iY{5-xM{K&&L(JzAyk&U76Qm!(IY94 zvj+;o;l~^fY)RA=9g+rRZGoCwlwxtAK%t|q=#Mmr3vUCC3c^O4+znn{S9C`jBsVn7 zApyyf)KHSu6}^!Lap+e6tGz`)le!Oy#ZgyuMjFIPvbsMQX(aj*gq@$R=!-NctM@f+ zGW0-4tw7WjU6BT5b-scs$k61IAk^J?hyc8Cv$!I)R^KNe$yTW$9j`m*L0Mg|37W{d zm1#v0TzA%ioSqL^oqFU73~1ENdr(%#YgQ-X0b-|+1Ja%Gpsaq^tWNa&mT5&1LpSF^ z9JhIIt;Q~@%r#*-gVVR_Yu-z@=rtD355SPR1boo|r)S`Uj=r|j7UiKgk9YVUz zBIOAvx6@c0B%%{CXw2fOdv9DM)uV_L%FAMLJ0XL{f;h95L5i<}j5dkDAk8)EgbW%B zqD0{3C&S~+#3-?lyCIy}2^lm7_S?sHq9y(H#?620wZo96a_N_O4$(e;h(FUorfKOQ)E5|jpu5Ns9HL` z^AG_?*(YS&1ex>DL9@EI^B{hYJldON%_k%0n@IQ{`!1aa@Eh<(6Z3XHf_5=vABGTK zM_i}cx!(bupP+lII1B(~mNEvM`U< zz5~uNmnWijUJM~RD1uYn>472?Rw{I>3_0&84dqZ_1go7pJTU7+fVA_8NbhOL^5gtJ zEXVC0$f>Y?1VRP^L?{ilyfKhI)NDy&2*OWz zN6D*6138D*w+M+12#!=kHC-7I2g$8T11UMyzes{3;KmxFrElE1!7YanTI*vZp$asC zQeKWNxoYQn52WN+KO>1aV6#*LfO5oL=QU?=PD26z^v~P z3+AIj-{9Q+2HrYhoEZzH@yeRk(3OtwQs13=l?RB?&@q*;IaB8Ve=;Hie5{BoP7#BHf)SwSHCMdEe+yOtZhOT3flvNVYDVQo?Z3hWa6Nc315l(k0*j}^^}yz;0kIxG#!+ME+82y0^!9xM4dJg=a8ITczO zl(jE`$D*0Aj2i-bnFnQUOTuHtdtyhv?xh}-wJQma6;}v}l~MPN9+b5y5(WW}l?g!x zThzV8ft)=_c&uiNf|7MF_8>}xwIvFIf5invw}7a7kq2e%h%#kZOnUKUJp;Y3}g@ub&Dc*jmWR(9ITkftv4crqaI*9?0}c&sck{OhR8M4k+Y60swX z75$DrM_p#}WI&XNop`Lc8WH1n%;m{|p_$VyA8U{W90&(xZU#r z0*^JOW>+37!$ui+_gsgeJnYD0#d$)+w0n-jP#j<#xB2BZkL8ksH5a>Q3uccQn_M!J z5O}QS^Pt0e_bdmY64;5xat7eQYKSZQ%EyvA4*QPktqqPiDFlckB2Kk}XXH-MI)74#r7K z@I^5Ybjyh1Zq31*lOT2;Fqja5fo^rH9>#%KHz8@6sAm)5V7oZ(Ry-{0C?qWtarz%_ zh`mI>Vh`igSXV(z4_YQ7gIHiVHMCpyFqtw#UKIu&p=r|%oNv^PJd6uxsjKF?;8~hF z2hTk2mOMbZ!jR*vc~VHEjJpRsjM8CAtJXX4^bL*! zbg&V3H$9BgY~6-!n4}W$xVN}_x`R2#K~gV~+>Y}Qu9icXl zPm3Ya-IF|w7p)7SEs-lBN(knN<<=Y>`QK|D!_L@>RpSvo10s0^bnvGn{T zkeVTiG(whHSMzjIFix{2sOnpjfr%zTe4^adOr5<(m&l^xi`-Vu>b2n*Xi-&6Qs`=` zjzu|NLLxpmK}F&uNK%Q*-Q#5*Qz#C^IujDLLDNJ{OF#yE)ZHs6yDRCU;+jRn<5zJz zBq2xL<2*<-tg#6=HB2uS_%M4j-&3e9>i;y;_V4cx+V%^ zW~dZ4`*`a%|@-<3LogdyEJ1eXTd4EDC*VMAafcs=Mw%Vp_~ZDB~#VS&<09 zM%|-5h+n$(CPb}a8%GQUQ>wd10hHcx&UzE-XQOMHXoe`({eRT||L$66?f$j$>i=H- z^y=2?U8|?Bd~4<7EAL#nab^GV*Oq@}`MZ~|SY9uDvGDVSw-nw`IC$yLm)?gQfX33y z;_obOE#9$s^1?S3es$ry!2ge!|JwY==6_)RhWY(-U!VKP-1p60Gq*AOmDyjKecS9M zvq$9rD*sdYXY=Re7ia!(rZaO7>i_={{r|rY{Qv0bznT8P^fS|EPUrvs)c;p{qRRH{ zyKO?;bt}?*Nosiz07=dPMK*CybXgil0kSqI6f5$CUD5BzfvNOFnWb@ABNR$Cn8BoL zftr$@XtOkqVq~pQz#&*CvH>GhjC(nm}w%o>oPB zf}Se06fA3oM3FV1;5Fp;$8{{u`7hvZ^_g zpuurZwOR^BIf1I!R#561v178pP>>b(RIjCA6cfDt1jb*ZQFBqB1_l`SRI{aESu>cK5}kV9%&`mrZ;NQ%1Wb&qj~;V}($C?`T2`yopzsw`lq;nkQ-{(R5fx*M zHLQe;W8MrM7)w274y7^jks7li&Im>(_6EEB#U2xfkd|fUfU;m*67kA#c%$s-a^taA za1gO3ldnBV{t`V5%dpv763DuFicHP~q7)q`rr_a?Xn$`J0HpWcCM$1##{V5WZX^Tu z7VtChTN7B98H7%ps2)P#N+sFJh=TX#9nAAvt^{BxTj3*ddU+3{2v~lrFu3Uwphc5lz-By*L$OI+s0I zu;Nj<`?5!IZ7jQ06ci-Kjx8jhUh*j3(vn-HWN3CQpE9y|%iXs+lyfRn8*@vQ&jM>H zci-YsyruOiWDCEBzI!4cT)FO>J&L!q+pvMgq4@-#1?ySvzR9CF!6{

      A}ejN{5SR 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 delta 15541 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 J=g_4?{{w|tXGH)2 diff --git a/www/templates/pokemonliste/html/pokemon-detail.html b/www/templates/pokemonliste/html/pokemon-detail.html index 5a7c4f4..9751d91 100644 --- a/www/templates/pokemonliste/html/pokemon-detail.html +++ b/www/templates/pokemonliste/html/pokemon-detail.html @@ -40,15 +40,13 @@

      {{pokemon.pokemonfluchtchance}}%
      -
      +
      Ei-Distanz:
      {{pokemon.pokemoneidistanz}} Km
      -
      -
      Entw. ab:
      -
      -
      -
      {{pokemon.pokemonentwicklungtext}} Bonbons
      +
      +
      Entwicklung:
      +
      {{pokemon.pokemonentwicklungtext}}
      @@ -75,29 +73,152 @@ + +
      Entwicklung
      - -
      -
      -
      -

      {{ pokemonentwicklung.pokemonpokedexid }} Bonbons

      + +
      +
      +
      +

      {{ pokemonentwicklung.pokemonpokedexid }} Bonbons

      + + +

      {{ pokemonentwicklung.pokemonname }}

      +
      +
      +
      + +
      +
      +
      +
      -

      Pokedex-ID: {{ pokemonentwicklung.pokemonpokedexid }}

      +

      {{ pokemonentwicklung.pokemonname }}

      -
      +
      + + +
      + + + +
      +
      + Standard Attacken +
      +
      + +
      + Attacke +
      +
      + Typ +
      +
      + Stärke +
      +
      + Energie +
      +
      + Dauer +
      + +
      + +
      + +
      + {{ pokemonattacke.pokemonattacke }} +
      +
      +
      + PokemonTyp + {{ pokemonattacke.pokemonattacketyptext }} +
      +
      +
      + {{ pokemonattacke.pokemonattackestaerke }} +
      +
      + {{ pokemonattacke.pokemonattackeenergie }}% +
      +
      + {{ pokemonattacke.pokemonattackedauer }} Sek. +
      + + +
      +
      + Entlade Attacken +
      +
      + +
      + Attacke +
      +
      + Typ +
      +
      + Stärke +
      +
      + Volltreffer +
      +
      + Energie +
      +
      + Dauer +
      + +
      + +
      + +
      + {{ pokemonattacke.pokemonattacke }} +
      +
      +
      + PokemonTyp + {{ pokemonattacke.pokemonattacketyptext }} +
      +
      +
      + {{ pokemonattacke.pokemonattackestaerke }} +
      +
      + {{ pokemonattacke.pokemonattackevolltreffer }}% +
      +
      + {{ pokemonattacke.pokemonattackeenergie }}% +
      +
      + {{ pokemonattacke.pokemonattackedauer }} Sek. +
      + +
      +
      +
      + + + +
      Schaden durch Attacken-Typ @@ -155,56 +276,71 @@
      + +
      - Standard Attacken + Basis-Statuswerte +
      + +
      +
      + + +
      +
      + + +
      +
      + +
      +
      + + +
      +
      +
      + + + +
      +
      + Max. Statuswerte
      -
      - Attacke -
      -
      - Typ -
      -
      - Stärke -
      -
      - Energie -
      -
      - Dauer -
      +
      + Trainer-Lever / Powerups +
      +
      + Max. KP +
      +
      + Max. WP +
      -
      +
      -
      - {{ pokemonattacke.pokemonattacke }} -
      -
      -
      - PokemonTyp - {{ pokemonattacke.pokemonattacketyptext }} +
      + {{ statuswert.pokemontrainerlevel }} +
      +
      + {{ statuswert.pokemonmaxkp }} +
      +
      + {{ statuswert.pokemonmaxwp }}
      -
      -
      - {{ pokemonattacke.pokemonattackestaerke }} -
      -
      - {{ pokemonattacke.pokemonattackeenergie }}% -
      -
      - {{ pokemonattacke.pokemonattackedauer }} Sek. -
      - +

      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