Commit 76b0c13e by Ildar Safiullin

pivot

parent 6f3cedca
.gradle/
build/
target/
\ No newline at end of file
Bundle-Name: pivot
Bundle-SymbolicName: ru.systematic.cisstat
Bundle-Version: 1.0.0
Export-Package: ru.systematic.cisstat.constants
\ No newline at end of file
dependencies {
compileOnly group: "com.liferay.portal", name: "com.liferay.portal.kernel", version: "2.0.0"
compileOnly group: "com.liferay.portal", name: "com.liferay.util.taglib", version: "2.0.0"
compileOnly group: "javax.portlet", name: "portlet-api", version: "2.0"
compileOnly group: "javax.servlet", name: "javax.servlet-api", version: "3.0.1"
compileOnly group: "jstl", name: "jstl", version: "1.2"
compileOnly group: "org.osgi", name: "osgi.cmpn", version: "6.0.0"
}
{
"requires": true,
"lockfileVersion": 1,
"dependencies": {
"metal-cli": {
"version": "1.3.1",
"resolved": "https://registry.npmjs.org/metal-cli/-/metal-cli-1.3.1.tgz",
"integrity": "sha1-i4jVuUfMchJR0TDmTiXDeWyl9A0=",
"requires": {
"chalk": "1.1.3",
"glob-watcher": "2.0.0",
"merge": "1.2.0",
"metal-tools-build-amd": "3.0.0",
"metal-tools-build-globals": "2.0.0",
"metal-tools-build-jquery": "2.0.1",
"metal-tools-soy": "2.2.0",
"require-dir": "0.3.0",
"stream-consume": "0.1.0",
"vinyl-fs": "2.4.3",
"yargs": "3.32.0"
},
"dependencies": {
"amdefine": {
"version": "1.0.0",
"bundled": true
},
"ansi-regex": {
"version": "2.0.0",
"bundled": true
},
"ansi-styles": {
"version": "2.2.1",
"bundled": true
},
"arr-diff": {
"version": "2.0.0",
"bundled": true,
"requires": {
"arr-flatten": "1.0.1"
}
},
"arr-flatten": {
"version": "1.0.1",
"bundled": true
},
"array-differ": {
"version": "1.0.0",
"bundled": true
},
"array-find-index": {
"version": "1.0.1",
"bundled": true
},
"array-uniq": {
"version": "1.0.2",
"bundled": true
},
"array-unique": {
"version": "0.2.1",
"bundled": true
},
"babel-code-frame": {
"version": "6.7.5",
"bundled": true,
"requires": {
"babel-runtime": "5.8.38",
"chalk": "1.1.3",
"esutils": "2.0.2",
"js-tokens": "1.0.3",
"repeating": "1.1.3"
}
},
"babel-core": {
"version": "6.7.6",
"bundled": true,
"requires": {
"babel-code-frame": "6.7.5",
"babel-generator": "6.7.5",
"babel-helpers": "6.6.0",
"babel-messages": "6.7.2",
"babel-register": "6.7.2",
"babel-runtime": "5.8.38",
"babel-template": "6.7.0",
"babel-traverse": "6.7.6",
"babel-types": "6.7.2",
"babylon": "6.7.0",
"convert-source-map": "1.2.0",
"debug": "2.2.0",
"json5": "0.4.0",
"lodash": "3.10.1",
"minimatch": "2.0.10",
"path-exists": "1.0.0",
"path-is-absolute": "1.0.0",
"private": "0.1.6",
"shebang-regex": "1.0.0",
"slash": "1.0.0",
"source-map": "0.5.3"
},
"dependencies": {
"lodash": {
"version": "3.10.1",
"bundled": true
},
"minimatch": {
"version": "2.0.10",
"bundled": true,
"requires": {
"brace-expansion": "1.1.3"
}
}
}
},
"babel-deps": {
"version": "2.1.0",
"bundled": true,
"requires": {
"babel-core": "6.7.6",
"merge": "1.2.0"
}
},
"babel-generator": {
"version": "6.7.5",
"bundled": true,
"requires": {
"babel-messages": "6.7.2",
"babel-runtime": "5.8.38",
"babel-types": "6.7.2",
"detect-indent": "3.0.1",
"is-integer": "1.0.6",
"lodash": "3.10.1",
"repeating": "1.1.3",
"source-map": "0.5.3",
"trim-right": "1.0.1"
},
"dependencies": {
"lodash": {
"version": "3.10.1",
"bundled": true
}
}
},
"babel-globals": {
"version": "2.0.0",
"bundled": true,
"requires": {
"babel-core": "6.7.6",
"babel-deps": "2.1.0",
"babel-plugin-external-helpers-2": "6.3.13",
"babel-plugin-globals": "1.1.0",
"concat-with-sourcemaps": "1.0.4"
}
},
"babel-helper-call-delegate": {
"version": "6.6.5",
"bundled": true,
"requires": {
"babel-helper-hoist-variables": "6.6.5",
"babel-runtime": "5.8.38",
"babel-traverse": "6.7.6",
"babel-types": "6.7.2"
}
},
"babel-helper-define-map": {
"version": "6.6.5",
"bundled": true,
"requires": {
"babel-helper-function-name": "6.6.0",
"babel-runtime": "5.8.38",
"babel-types": "6.7.2",
"lodash": "3.10.1"
},
"dependencies": {
"lodash": {
"version": "3.10.1",
"bundled": true
}
}
},
"babel-helper-function-name": {
"version": "6.6.0",
"bundled": true,
"requires": {
"babel-helper-get-function-arity": "6.6.5",
"babel-runtime": "5.8.38",
"babel-template": "6.7.0",
"babel-traverse": "6.7.6",
"babel-types": "6.7.2"
}
},
"babel-helper-get-function-arity": {
"version": "6.6.5",
"bundled": true,
"requires": {
"babel-runtime": "5.8.38",
"babel-types": "6.7.2"
}
},
"babel-helper-hoist-variables": {
"version": "6.6.5",
"bundled": true,
"requires": {
"babel-runtime": "5.8.38",
"babel-types": "6.7.2"
}
},
"babel-helper-optimise-call-expression": {
"version": "6.6.0",
"bundled": true,
"requires": {
"babel-runtime": "5.8.38",
"babel-types": "6.7.2"
}
},
"babel-helper-regex": {
"version": "6.6.5",
"bundled": true,
"requires": {
"babel-runtime": "5.8.38",
"babel-types": "6.7.2",
"lodash": "3.10.1"
},
"dependencies": {
"lodash": {
"version": "3.10.1",
"bundled": true
}
}
},
"babel-helper-replace-supers": {
"version": "6.7.0",
"bundled": true,
"requires": {
"babel-helper-optimise-call-expression": "6.6.0",
"babel-messages": "6.7.2",
"babel-runtime": "5.8.38",
"babel-template": "6.7.0",
"babel-traverse": "6.7.6",
"babel-types": "6.7.2"
}
},
"babel-helpers": {
"version": "6.6.0",
"bundled": true,
"requires": {
"babel-runtime": "5.8.38",
"babel-template": "6.7.0"
}
},
"babel-messages": {
"version": "6.7.2",
"bundled": true,
"requires": {
"babel-runtime": "5.8.38"
}
},
"babel-plugin-check-es2015-constants": {
"version": "6.7.2",
"bundled": true,
"requires": {
"babel-runtime": "5.8.38"
}
},
"babel-plugin-external-helpers-2": {
"version": "6.3.13",
"bundled": true,
"requires": {
"babel-runtime": "5.8.38"
}
},
"babel-plugin-globals": {
"version": "1.1.0",
"bundled": true,
"requires": {
"babel-core": "6.7.6"
}
},
"babel-plugin-syntax-async-functions": {
"version": "6.5.0",
"bundled": true,
"requires": {
"babel-runtime": "5.8.38"
}
},
"babel-plugin-transform-es2015-arrow-functions": {
"version": "6.5.2",
"bundled": true,
"requires": {
"babel-runtime": "5.8.38"
}
},
"babel-plugin-transform-es2015-block-scoped-functions": {
"version": "6.6.5",
"bundled": true,
"requires": {
"babel-runtime": "5.8.38"
}
},
"babel-plugin-transform-es2015-block-scoping": {
"version": "6.7.1",
"bundled": true,
"requires": {
"babel-runtime": "5.8.38",
"babel-template": "6.7.0",
"babel-traverse": "6.7.6",
"babel-types": "6.7.2",
"lodash": "3.10.1"
},
"dependencies": {
"lodash": {
"version": "3.10.1",
"bundled": true
}
}
},
"babel-plugin-transform-es2015-classes": {
"version": "6.6.5",
"bundled": true,
"requires": {
"babel-helper-define-map": "6.6.5",
"babel-helper-function-name": "6.6.0",
"babel-helper-optimise-call-expression": "6.6.0",
"babel-helper-replace-supers": "6.7.0",
"babel-messages": "6.7.2",
"babel-runtime": "5.8.38",
"babel-template": "6.7.0",
"babel-traverse": "6.7.6",
"babel-types": "6.7.2"
}
},
"babel-plugin-transform-es2015-computed-properties": {
"version": "6.6.5",
"bundled": true,
"requires": {
"babel-helper-define-map": "6.6.5",
"babel-runtime": "5.8.38",
"babel-template": "6.7.0"
}
},
"babel-plugin-transform-es2015-destructuring": {
"version": "6.6.5",
"bundled": true,
"requires": {
"babel-runtime": "5.8.38"
}
},
"babel-plugin-transform-es2015-duplicate-keys": {
"version": "6.6.4",
"bundled": true,
"requires": {
"babel-runtime": "5.8.38",
"babel-types": "6.7.2"
}
},
"babel-plugin-transform-es2015-for-of": {
"version": "6.6.0",
"bundled": true,
"requires": {
"babel-runtime": "5.8.38"
}
},
"babel-plugin-transform-es2015-function-name": {
"version": "6.5.0",
"bundled": true,
"requires": {
"babel-helper-function-name": "6.6.0",
"babel-runtime": "5.8.38",
"babel-types": "6.7.2"
}
},
"babel-plugin-transform-es2015-literals": {
"version": "6.5.0",
"bundled": true,
"requires": {
"babel-runtime": "5.8.38"
}
},
"babel-plugin-transform-es2015-modules-amd": {
"version": "6.6.5",
"bundled": true,
"requires": {
"babel-plugin-transform-es2015-modules-commonjs": "6.7.4",
"babel-runtime": "5.8.38",
"babel-template": "6.7.0"
}
},
"babel-plugin-transform-es2015-modules-commonjs": {
"version": "6.7.4",
"bundled": true,
"requires": {
"babel-plugin-transform-strict-mode": "6.6.5",
"babel-runtime": "5.8.38",
"babel-template": "6.7.0",
"babel-types": "6.7.2"
}
},
"babel-plugin-transform-es2015-object-super": {
"version": "6.6.5",
"bundled": true,
"requires": {
"babel-helper-replace-supers": "6.7.0",
"babel-runtime": "5.8.38"
}
},
"babel-plugin-transform-es2015-parameters": {
"version": "6.7.0",
"bundled": true,
"requires": {
"babel-helper-call-delegate": "6.6.5",
"babel-helper-get-function-arity": "6.6.5",
"babel-runtime": "5.8.38",
"babel-template": "6.7.0",
"babel-traverse": "6.7.6",
"babel-types": "6.7.2"
}
},
"babel-plugin-transform-es2015-shorthand-properties": {
"version": "6.5.0",
"bundled": true,
"requires": {
"babel-runtime": "5.8.38",
"babel-types": "6.7.2"
}
},
"babel-plugin-transform-es2015-spread": {
"version": "6.6.5",
"bundled": true,
"requires": {
"babel-runtime": "5.8.38"
}
},
"babel-plugin-transform-es2015-sticky-regex": {
"version": "6.5.0",
"bundled": true,
"requires": {
"babel-helper-regex": "6.6.5",
"babel-runtime": "5.8.38",
"babel-types": "6.7.2"
}
},
"babel-plugin-transform-es2015-template-literals": {
"version": "6.6.5",
"bundled": true,
"requires": {
"babel-runtime": "5.8.38"
}
},
"babel-plugin-transform-es2015-typeof-symbol": {
"version": "6.6.0",
"bundled": true,
"requires": {
"babel-runtime": "5.8.38"
}
},
"babel-plugin-transform-es2015-unicode-regex": {
"version": "6.5.0",
"bundled": true,
"requires": {
"babel-helper-regex": "6.6.5",
"babel-runtime": "5.8.38",
"regexpu-core": "1.0.0"
}
},
"babel-plugin-transform-regenerator": {
"version": "6.6.5",
"bundled": true,
"requires": {
"babel-core": "6.7.6",
"babel-plugin-syntax-async-functions": "6.5.0",
"babel-plugin-transform-es2015-block-scoping": "6.7.1",
"babel-plugin-transform-es2015-for-of": "6.6.0",
"babel-runtime": "5.8.38",
"babel-traverse": "6.7.6",
"babel-types": "6.7.2",
"babylon": "6.7.0",
"private": "0.1.6"
}
},
"babel-plugin-transform-strict-mode": {
"version": "6.6.5",
"bundled": true,
"requires": {
"babel-runtime": "5.8.38",
"babel-types": "6.7.2"
}
},
"babel-preset-es2015": {
"version": "6.6.0",
"bundled": true,
"requires": {
"babel-plugin-check-es2015-constants": "6.7.2",
"babel-plugin-transform-es2015-arrow-functions": "6.5.2",
"babel-plugin-transform-es2015-block-scoped-functions": "6.6.5",
"babel-plugin-transform-es2015-block-scoping": "6.7.1",
"babel-plugin-transform-es2015-classes": "6.6.5",
"babel-plugin-transform-es2015-computed-properties": "6.6.5",
"babel-plugin-transform-es2015-destructuring": "6.6.5",
"babel-plugin-transform-es2015-duplicate-keys": "6.6.4",
"babel-plugin-transform-es2015-for-of": "6.6.0",
"babel-plugin-transform-es2015-function-name": "6.5.0",
"babel-plugin-transform-es2015-literals": "6.5.0",
"babel-plugin-transform-es2015-modules-commonjs": "6.7.4",
"babel-plugin-transform-es2015-object-super": "6.6.5",
"babel-plugin-transform-es2015-parameters": "6.7.0",
"babel-plugin-transform-es2015-shorthand-properties": "6.5.0",
"babel-plugin-transform-es2015-spread": "6.6.5",
"babel-plugin-transform-es2015-sticky-regex": "6.5.0",
"babel-plugin-transform-es2015-template-literals": "6.6.5",
"babel-plugin-transform-es2015-typeof-symbol": "6.6.0",
"babel-plugin-transform-es2015-unicode-regex": "6.5.0",
"babel-plugin-transform-regenerator": "6.6.5"
}
},
"babel-preset-metal": {
"version": "3.1.0",
"bundled": true,
"requires": {
"babel-plugin-transform-es2015-classes": "6.6.5",
"babel-preset-es2015": "6.6.0",
"resolve": "1.1.7"
}
},
"babel-register": {
"version": "6.7.2",
"bundled": true,
"requires": {
"babel-core": "6.7.6",
"babel-runtime": "5.8.38",
"core-js": "2.2.2",
"home-or-tmp": "1.0.0",
"lodash": "3.10.1",
"mkdirp": "0.5.1",
"path-exists": "1.0.0",
"source-map-support": "0.2.10"
},
"dependencies": {
"core-js": {
"version": "2.2.2",
"bundled": true
},
"lodash": {
"version": "3.10.1",
"bundled": true
}
}
},
"babel-runtime": {
"version": "5.8.38",
"bundled": true,
"requires": {
"core-js": "1.2.6"
}
},
"babel-template": {
"version": "6.7.0",
"bundled": true,
"requires": {
"babel-runtime": "5.8.38",
"babel-traverse": "6.7.6",
"babel-types": "6.7.2",
"babylon": "6.7.0",
"lodash": "3.10.1"
},
"dependencies": {
"lodash": {
"version": "3.10.1",
"bundled": true
}
}
},
"babel-traverse": {
"version": "6.7.6",
"bundled": true,
"requires": {
"babel-code-frame": "6.7.5",
"babel-messages": "6.7.2",
"babel-runtime": "5.8.38",
"babel-types": "6.7.2",
"babylon": "6.7.0",
"debug": "2.2.0",
"globals": "8.18.0",
"invariant": "2.2.1",
"lodash": "3.10.1",
"repeating": "1.1.3"
},
"dependencies": {
"lodash": {
"version": "3.10.1",
"bundled": true
}
}
},
"babel-types": {
"version": "6.7.2",
"bundled": true,
"requires": {
"babel-runtime": "5.8.38",
"babel-traverse": "6.7.6",
"esutils": "2.0.2",
"lodash": "3.10.1",
"to-fast-properties": "1.0.2"
},
"dependencies": {
"lodash": {
"version": "3.10.1",
"bundled": true
}
}
},
"babylon": {
"version": "6.7.0",
"bundled": true,
"requires": {
"babel-runtime": "5.8.38"
}
},
"balanced-match": {
"version": "0.3.0",
"bundled": true
},
"beeper": {
"version": "1.1.0",
"bundled": true
},
"binaryextensions": {
"version": "1.0.0",
"bundled": true
},
"bower": {
"version": "1.7.9",
"bundled": true
},
"brace-expansion": {
"version": "1.1.3",
"bundled": true,
"requires": {
"balanced-match": "0.3.0",
"concat-map": "0.0.1"
}
},
"braces": {
"version": "1.8.3",
"bundled": true,
"requires": {
"expand-range": "1.8.1",
"preserve": "0.2.0",
"repeat-element": "1.1.2"
}
},
"builtin-modules": {
"version": "1.1.1",
"bundled": true
},
"camelcase": {
"version": "2.1.1",
"bundled": true
},
"camelcase-keys": {
"version": "2.1.0",
"bundled": true,
"requires": {
"camelcase": "2.1.1",
"map-obj": "1.0.1"
}
},
"chalk": {
"version": "1.1.3",
"bundled": true,
"requires": {
"ansi-styles": "2.2.1",
"escape-string-regexp": "1.0.5",
"has-ansi": "2.0.0",
"strip-ansi": "3.0.1",
"supports-color": "2.0.0"
}
},
"cliui": {
"version": "3.2.0",
"bundled": true,
"requires": {
"string-width": "1.0.1",
"strip-ansi": "3.0.1",
"wrap-ansi": "2.0.0"
}
},
"clone": {
"version": "1.0.2",
"bundled": true
},
"clone-stats": {
"version": "0.0.1",
"bundled": true
},
"closure-templates-incrementaldom": {
"version": "0.0.2",
"bundled": true
},
"code-point-at": {
"version": "1.0.0",
"bundled": true,
"requires": {
"number-is-nan": "1.0.0"
}
},
"concat-map": {
"version": "0.0.1",
"bundled": true
},
"concat-with-sourcemaps": {
"version": "1.0.4",
"bundled": true,
"requires": {
"source-map": "0.5.3"
}
},
"convert-source-map": {
"version": "1.2.0",
"bundled": true
},
"core-js": {
"version": "1.2.6",
"bundled": true
},
"core-util-is": {
"version": "1.0.2",
"bundled": true
},
"dateformat": {
"version": "1.0.12",
"bundled": true,
"requires": {
"get-stdin": "4.0.1",
"meow": "3.7.0"
}
},
"debug": {
"version": "2.2.0",
"bundled": true,
"requires": {
"ms": "0.7.1"
}
},
"decamelize": {
"version": "1.2.0",
"bundled": true
},
"detect-indent": {
"version": "3.0.1",
"bundled": true,
"requires": {
"get-stdin": "4.0.1",
"minimist": "1.2.0",
"repeating": "1.1.3"
}
},
"duplexer": {
"version": "0.1.1",
"bundled": true
},
"duplexer2": {
"version": "0.0.2",
"bundled": true,
"requires": {
"readable-stream": "1.1.13"
}
},
"duplexify": {
"version": "3.4.3",
"bundled": true,
"requires": {
"end-of-stream": "1.0.0",
"inherits": "2.0.1",
"readable-stream": "2.0.6"
},
"dependencies": {
"inherits": {
"version": "2.0.1",
"bundled": true
},
"isarray": {
"version": "1.0.0",
"bundled": true
},
"readable-stream": {
"version": "2.0.6",
"bundled": true,
"requires": {
"core-util-is": "1.0.2",
"inherits": "2.0.1",
"isarray": "1.0.0",
"process-nextick-args": "1.0.6",
"string_decoder": "0.10.31",
"util-deprecate": "1.0.2"
}
}
}
},
"end-of-stream": {
"version": "1.0.0",
"bundled": true,
"requires": {
"once": "1.3.3"
}
},
"error-ex": {
"version": "1.3.0",
"bundled": true,
"requires": {
"is-arrayish": "0.2.1"
}
},
"escape-string-regexp": {
"version": "1.0.5",
"bundled": true
},
"esutils": {
"version": "2.0.2",
"bundled": true
},
"expand-brackets": {
"version": "0.1.5",
"bundled": true,
"requires": {
"is-posix-bracket": "0.1.1"
}
},
"expand-range": {
"version": "1.8.1",
"bundled": true,
"requires": {
"fill-range": "2.2.3"
}
},
"extend": {
"version": "3.0.0",
"bundled": true
},
"extend-shallow": {
"version": "2.0.1",
"bundled": true,
"requires": {
"is-extendable": "0.1.1"
}
},
"extglob": {
"version": "0.3.2",
"bundled": true,
"requires": {
"is-extglob": "1.0.0"
}
},
"fancy-log": {
"version": "1.2.0",
"bundled": true,
"requires": {
"chalk": "1.1.3",
"time-stamp": "1.0.1"
}
},
"filename-regex": {
"version": "2.0.0",
"bundled": true
},
"fill-range": {
"version": "2.2.3",
"bundled": true,
"requires": {
"is-number": "2.1.0",
"isobject": "2.0.0",
"randomatic": "1.1.5",
"repeat-element": "1.1.2",
"repeat-string": "1.5.4"
}
},
"find-up": {
"version": "1.1.2",
"bundled": true,
"requires": {
"path-exists": "2.1.0",
"pinkie-promise": "2.0.1"
},
"dependencies": {
"path-exists": {
"version": "2.1.0",
"bundled": true,
"requires": {
"pinkie-promise": "2.0.1"
}
}
}
},
"first-chunk-stream": {
"version": "1.0.0",
"bundled": true
},
"for-in": {
"version": "0.1.5",
"bundled": true
},
"for-own": {
"version": "0.1.4",
"bundled": true,
"requires": {
"for-in": "0.1.5"
}
},
"fork-stream": {
"version": "0.0.4",
"bundled": true
},
"gaze": {
"version": "0.5.2",
"bundled": true,
"requires": {
"globule": "0.1.0"
}
},
"get-stdin": {
"version": "4.0.1",
"bundled": true
},
"glob": {
"version": "3.1.21",
"bundled": true,
"requires": {
"graceful-fs": "1.2.3",
"inherits": "1.0.2",
"minimatch": "0.2.14"
}
},
"glob-base": {
"version": "0.3.0",
"bundled": true,
"requires": {
"glob-parent": "2.0.0",
"is-glob": "2.0.1"
}
},
"glob-expand": {
"version": "0.1.0",
"bundled": true,
"requires": {
"glob": "4.4.2",
"lodash": "1.2.1"
},
"dependencies": {
"glob": {
"version": "4.4.2",
"bundled": true,
"requires": {
"inflight": "1.0.4",
"inherits": "2.0.1",
"minimatch": "2.0.10",
"once": "1.3.3"
}
},
"inherits": {
"version": "2.0.1",
"bundled": true
},
"lodash": {
"version": "1.2.1",
"bundled": true
},
"minimatch": {
"version": "2.0.10",
"bundled": true,
"requires": {
"brace-expansion": "1.1.3"
}
}
}
},
"glob-parent": {
"version": "2.0.0",
"bundled": true,
"requires": {
"is-glob": "2.0.1"
}
},
"glob-stream": {
"version": "5.3.2",
"bundled": true,
"requires": {
"extend": "3.0.0",
"glob": "5.0.15",
"glob-parent": "2.0.0",
"micromatch": "2.3.7",
"ordered-read-streams": "0.3.0",
"through2": "0.6.5",
"to-absolute-glob": "0.1.1",
"unique-stream": "2.2.1"
},
"dependencies": {
"glob": {
"version": "5.0.15",
"bundled": true,
"requires": {
"inflight": "1.0.4",
"inherits": "2.0.1",
"minimatch": "3.0.0",
"once": "1.3.3",
"path-is-absolute": "1.0.0"
}
},
"inherits": {
"version": "2.0.1",
"bundled": true
},
"minimatch": {
"version": "3.0.0",
"bundled": true,
"requires": {
"brace-expansion": "1.1.3"
}
},
"readable-stream": {
"version": "1.0.33",
"bundled": true,
"requires": {
"core-util-is": "1.0.2",
"inherits": "2.0.1",
"isarray": "0.0.1",
"string_decoder": "0.10.31"
}
},
"through2": {
"version": "0.6.5",
"bundled": true,
"requires": {
"readable-stream": "1.0.33",
"xtend": "4.0.1"
}
}
}
},
"glob-watcher": {
"version": "2.0.0",
"bundled": true,
"requires": {
"gaze": "0.5.2"
}
},
"globals": {
"version": "8.18.0",
"bundled": true
},
"globule": {
"version": "0.1.0",
"bundled": true,
"requires": {
"glob": "3.1.21",
"lodash": "1.0.2",
"minimatch": "0.2.14"
}
},
"glogg": {
"version": "1.0.0",
"bundled": true,
"requires": {
"sparkles": "1.0.0"
}
},
"graceful-fs": {
"version": "1.2.3",
"bundled": true
},
"gulp-babel-deps": {
"version": "2.0.1",
"bundled": true,
"requires": {
"babel-deps": "2.1.0",
"gulp-util": "3.0.7",
"through2": "2.0.1",
"vinyl-sourcemaps-apply": "0.2.1"
}
},
"gulp-babel-globals": {
"version": "2.0.0",
"bundled": true,
"requires": {
"babel-globals": "2.0.0",
"gulp-util": "3.0.7",
"through2": "2.0.1",
"vinyl-sourcemaps-apply": "0.2.1"
}
},
"gulp-if": {
"version": "2.0.0",
"bundled": true,
"requires": {
"gulp-match": "1.0.1",
"ternary-stream": "2.0.0",
"through2": "2.0.1"
}
},
"gulp-ignore": {
"version": "2.0.1",
"bundled": true,
"requires": {
"gulp-match": "1.0.1",
"through2": "2.0.1"
}
},
"gulp-match": {
"version": "1.0.1",
"bundled": true,
"requires": {
"minimatch": "3.0.0"
},
"dependencies": {
"minimatch": {
"version": "3.0.0",
"bundled": true,
"requires": {
"brace-expansion": "1.1.3"
}
}
}
},
"gulp-replace": {
"version": "0.5.4",
"bundled": true,
"requires": {
"istextorbinary": "1.0.2",
"readable-stream": "2.0.6",
"replacestream": "4.0.0"
},
"dependencies": {
"inherits": {
"version": "2.0.1",
"bundled": true
},
"isarray": {
"version": "1.0.0",
"bundled": true
},
"readable-stream": {
"version": "2.0.6",
"bundled": true,
"requires": {
"core-util-is": "1.0.2",
"inherits": "2.0.1",
"isarray": "1.0.0",
"process-nextick-args": "1.0.6",
"string_decoder": "0.10.31",
"util-deprecate": "1.0.2"
}
}
}
},
"gulp-sourcemaps": {
"version": "1.6.0",
"bundled": true,
"requires": {
"convert-source-map": "1.2.0",
"graceful-fs": "4.1.3",
"strip-bom": "2.0.0",
"through2": "2.0.1",
"vinyl": "1.1.1"
},
"dependencies": {
"graceful-fs": {
"version": "4.1.3",
"bundled": true
},
"vinyl": {
"version": "1.1.1",
"bundled": true,
"requires": {
"clone": "1.0.2",
"clone-stats": "0.0.1",
"replace-ext": "0.0.1"
}
}
}
},
"gulp-util": {
"version": "3.0.7",
"bundled": true,
"requires": {
"array-differ": "1.0.0",
"array-uniq": "1.0.2",
"beeper": "1.1.0",
"chalk": "1.1.3",
"dateformat": "1.0.12",
"fancy-log": "1.2.0",
"gulplog": "1.0.0",
"has-gulplog": "0.1.0",
"lodash._reescape": "3.0.0",
"lodash._reevaluate": "3.0.0",
"lodash._reinterpolate": "3.0.0",
"lodash.template": "3.6.2",
"minimist": "1.2.0",
"multipipe": "0.1.2",
"object-assign": "3.0.0",
"replace-ext": "0.0.1",
"through2": "2.0.1",
"vinyl": "0.5.3"
}
},
"gulp-wrapper": {
"version": "1.0.0",
"bundled": true,
"requires": {
"gulp-util": "3.0.7",
"through2": "0.6.5"
},
"dependencies": {
"inherits": {
"version": "2.0.1",
"bundled": true
},
"readable-stream": {
"version": "1.0.33",
"bundled": true,
"requires": {
"core-util-is": "1.0.2",
"inherits": "2.0.1",
"isarray": "0.0.1",
"string_decoder": "0.10.31"
}
},
"through2": {
"version": "0.6.5",
"bundled": true,
"requires": {
"readable-stream": "1.0.33",
"xtend": "4.0.1"
}
}
}
},
"gulplog": {
"version": "1.0.0",
"bundled": true,
"requires": {
"glogg": "1.0.0"
}
},
"has-ansi": {
"version": "2.0.0",
"bundled": true,
"requires": {
"ansi-regex": "2.0.0"
}
},
"has-gulplog": {
"version": "0.1.0",
"bundled": true,
"requires": {
"sparkles": "1.0.0"
}
},
"home-or-tmp": {
"version": "1.0.0",
"bundled": true,
"requires": {
"os-tmpdir": "1.0.1",
"user-home": "1.1.1"
}
},
"hosted-git-info": {
"version": "2.1.4",
"bundled": true
},
"indent-string": {
"version": "2.1.0",
"bundled": true,
"requires": {
"repeating": "2.0.0"
},
"dependencies": {
"repeating": {
"version": "2.0.0",
"bundled": true,
"requires": {
"is-finite": "1.0.1"
}
}
}
},
"inflight": {
"version": "1.0.4",
"bundled": true,
"requires": {
"once": "1.3.3",
"wrappy": "1.0.1"
}
},
"inherits": {
"version": "1.0.2",
"bundled": true
},
"invariant": {
"version": "2.2.1",
"bundled": true,
"requires": {
"loose-envify": "1.1.0"
}
},
"invert-kv": {
"version": "1.0.0",
"bundled": true
},
"is-arrayish": {
"version": "0.2.1",
"bundled": true
},
"is-buffer": {
"version": "1.1.3",
"bundled": true
},
"is-builtin-module": {
"version": "1.0.0",
"bundled": true,
"requires": {
"builtin-modules": "1.1.1"
}
},
"is-dotfile": {
"version": "1.0.2",
"bundled": true
},
"is-equal-shallow": {
"version": "0.1.3",
"bundled": true,
"requires": {
"is-primitive": "2.0.0"
}
},
"is-extendable": {
"version": "0.1.1",
"bundled": true
},
"is-extglob": {
"version": "1.0.0",
"bundled": true
},
"is-finite": {
"version": "1.0.1",
"bundled": true,
"requires": {
"number-is-nan": "1.0.0"
}
},
"is-fullwidth-code-point": {
"version": "1.0.0",
"bundled": true,
"requires": {
"number-is-nan": "1.0.0"
}
},
"is-glob": {
"version": "2.0.1",
"bundled": true,
"requires": {
"is-extglob": "1.0.0"
}
},
"is-integer": {
"version": "1.0.6",
"bundled": true,
"requires": {
"is-finite": "1.0.1"
}
},
"is-number": {
"version": "2.1.0",
"bundled": true,
"requires": {
"kind-of": "3.0.2"
}
},
"is-posix-bracket": {
"version": "0.1.1",
"bundled": true
},
"is-primitive": {
"version": "2.0.0",
"bundled": true
},
"is-stream": {
"version": "1.0.1",
"bundled": true
},
"is-utf8": {
"version": "0.2.1",
"bundled": true
},
"is-valid-glob": {
"version": "0.3.0",
"bundled": true
},
"isarray": {
"version": "0.0.1",
"bundled": true
},
"isobject": {
"version": "2.0.0",
"bundled": true,
"requires": {
"isarray": "0.0.1"
}
},
"istextorbinary": {
"version": "1.0.2",
"bundled": true,
"requires": {
"binaryextensions": "1.0.0",
"textextensions": "1.0.1"
}
},
"js-tokens": {
"version": "1.0.3",
"bundled": true
},
"jsesc": {
"version": "0.5.0",
"bundled": true
},
"json-stable-stringify": {
"version": "1.0.1",
"bundled": true,
"requires": {
"jsonify": "0.0.0"
}
},
"json5": {
"version": "0.4.0",
"bundled": true
},
"jsonify": {
"version": "0.0.0",
"bundled": true
},
"kind-of": {
"version": "3.0.2",
"bundled": true,
"requires": {
"is-buffer": "1.1.3"
}
},
"lazystream": {
"version": "1.0.0",
"bundled": true,
"requires": {
"readable-stream": "2.0.6"
},
"dependencies": {
"inherits": {
"version": "2.0.1",
"bundled": true
},
"isarray": {
"version": "1.0.0",
"bundled": true
},
"readable-stream": {
"version": "2.0.6",
"bundled": true,
"requires": {
"core-util-is": "1.0.2",
"inherits": "2.0.1",
"isarray": "1.0.0",
"process-nextick-args": "1.0.6",
"string_decoder": "0.10.31",
"util-deprecate": "1.0.2"
}
}
}
},
"lcid": {
"version": "1.0.0",
"bundled": true,
"requires": {
"invert-kv": "1.0.0"
}
},
"load-json-file": {
"version": "1.1.0",
"bundled": true,
"requires": {
"graceful-fs": "4.1.3",
"parse-json": "2.2.0",
"pify": "2.3.0",
"pinkie-promise": "2.0.1",
"strip-bom": "2.0.0"
},
"dependencies": {
"graceful-fs": {
"version": "4.1.3",
"bundled": true
}
}
},
"lodash": {
"version": "1.0.2",
"bundled": true
},
"lodash._basecopy": {
"version": "3.0.1",
"bundled": true
},
"lodash._basetostring": {
"version": "3.0.1",
"bundled": true
},
"lodash._basevalues": {
"version": "3.0.0",
"bundled": true
},
"lodash._getnative": {
"version": "3.9.1",
"bundled": true
},
"lodash._isiterateecall": {
"version": "3.0.9",
"bundled": true
},
"lodash._reescape": {
"version": "3.0.0",
"bundled": true
},
"lodash._reevaluate": {
"version": "3.0.0",
"bundled": true
},
"lodash._reinterpolate": {
"version": "3.0.0",
"bundled": true
},
"lodash._root": {
"version": "3.0.1",
"bundled": true
},
"lodash._stack": {
"version": "4.1.3",
"bundled": true
},
"lodash.escape": {
"version": "3.2.0",
"bundled": true,
"requires": {
"lodash._root": "3.0.1"
}
},
"lodash.isarguments": {
"version": "3.0.8",
"bundled": true
},
"lodash.isarray": {
"version": "3.0.4",
"bundled": true
},
"lodash.isequal": {
"version": "4.1.4",
"bundled": true,
"requires": {
"lodash._root": "3.0.1",
"lodash._stack": "4.1.3",
"lodash.keys": "4.0.6"
},
"dependencies": {
"lodash.keys": {
"version": "4.0.6",
"bundled": true
}
}
},
"lodash.keys": {
"version": "3.1.2",
"bundled": true,
"requires": {
"lodash._getnative": "3.9.1",
"lodash.isarguments": "3.0.8",
"lodash.isarray": "3.0.4"
}
},
"lodash.restparam": {
"version": "3.6.1",
"bundled": true
},
"lodash.template": {
"version": "3.6.2",
"bundled": true,
"requires": {
"lodash._basecopy": "3.0.1",
"lodash._basetostring": "3.0.1",
"lodash._basevalues": "3.0.0",
"lodash._isiterateecall": "3.0.9",
"lodash._reinterpolate": "3.0.0",
"lodash.escape": "3.2.0",
"lodash.keys": "3.1.2",
"lodash.restparam": "3.6.1",
"lodash.templatesettings": "3.1.1"
}
},
"lodash.templatesettings": {
"version": "3.1.1",
"bundled": true,
"requires": {
"lodash._reinterpolate": "3.0.0",
"lodash.escape": "3.2.0"
}
},
"loose-envify": {
"version": "1.1.0",
"bundled": true,
"requires": {
"js-tokens": "1.0.3"
}
},
"loud-rejection": {
"version": "1.3.0",
"bundled": true,
"requires": {
"array-find-index": "1.0.1",
"signal-exit": "2.1.2"
}
},
"lru-cache": {
"version": "2.7.3",
"bundled": true
},
"map-obj": {
"version": "1.0.1",
"bundled": true
},
"meow": {
"version": "3.7.0",
"bundled": true,
"requires": {
"camelcase-keys": "2.1.0",
"decamelize": "1.2.0",
"loud-rejection": "1.3.0",
"map-obj": "1.0.1",
"minimist": "1.2.0",
"normalize-package-data": "2.3.5",
"object-assign": "4.0.1",
"read-pkg-up": "1.0.1",
"redent": "1.0.0",
"trim-newlines": "1.0.0"
},
"dependencies": {
"object-assign": {
"version": "4.0.1",
"bundled": true
}
}
},
"merge": {
"version": "1.2.0",
"bundled": true
},
"merge-stream": {
"version": "1.0.0",
"bundled": true,
"requires": {
"readable-stream": "2.0.6"
},
"dependencies": {
"inherits": {
"version": "2.0.1",
"bundled": true
},
"isarray": {
"version": "1.0.0",
"bundled": true
},
"readable-stream": {
"version": "2.0.6",
"bundled": true,
"requires": {
"core-util-is": "1.0.2",
"inherits": "2.0.1",
"isarray": "1.0.0",
"process-nextick-args": "1.0.6",
"string_decoder": "0.10.31",
"util-deprecate": "1.0.2"
}
}
}
},
"metal-jquery-adapter": {
"version": "1.0.0-rc.2",
"bundled": true
},
"metal-tools-build-amd": {
"version": "3.0.0",
"bundled": true,
"requires": {
"babel-plugin-transform-es2015-modules-amd": "6.6.5",
"babel-preset-metal": "3.1.0",
"bower": "1.7.9",
"gulp-babel-deps": "2.0.1",
"gulp-if": "2.0.0",
"gulp-replace": "0.5.4",
"gulp-sourcemaps": "1.6.0",
"gulp-wrapper": "1.0.0",
"merge": "1.2.0",
"stream-combiner": "0.2.2",
"stream-consume": "0.1.0",
"through2": "2.0.1",
"vinyl-fs": "2.4.3"
}
},
"metal-tools-build-globals": {
"version": "2.0.0",
"bundled": true,
"requires": {
"babel-preset-metal": "3.1.0",
"gulp-babel-globals": "2.0.0",
"gulp-if": "2.0.0",
"gulp-sourcemaps": "1.6.0",
"merge": "1.2.0",
"stream-combiner": "0.2.2",
"stream-consume": "0.1.0",
"vinyl-fs": "2.4.3"
}
},
"metal-tools-build-jquery": {
"version": "2.0.1",
"bundled": true,
"requires": {
"gulp-if": "2.0.0",
"gulp-sourcemaps": "1.6.0",
"gulp-wrapper": "1.0.0",
"metal-jquery-adapter": "1.0.0-rc.2",
"metal-tools-build-globals": "2.0.0",
"stream-combiner": "0.2.2",
"stream-consume": "0.1.0",
"vinyl-fs": "2.4.3"
}
},
"metal-tools-soy": {
"version": "2.2.0",
"bundled": true,
"requires": {
"closure-templates-incrementaldom": "0.0.2",
"glob-expand": "0.1.0",
"gulp-if": "2.0.0",
"gulp-ignore": "2.0.1",
"gulp-replace": "0.5.4",
"gulp-util": "3.0.7",
"gulp-wrapper": "1.0.0",
"merge": "1.2.0",
"soyparser": "0.2.5",
"stream-combiner": "0.2.2",
"stream-consume": "0.1.0",
"through2": "2.0.1",
"vinyl-fs": "2.4.3"
}
},
"micromatch": {
"version": "2.3.7",
"bundled": true,
"requires": {
"arr-diff": "2.0.0",
"array-unique": "0.2.1",
"braces": "1.8.3",
"expand-brackets": "0.1.5",
"extglob": "0.3.2",
"filename-regex": "2.0.0",
"is-extglob": "1.0.0",
"is-glob": "2.0.1",
"kind-of": "3.0.2",
"normalize-path": "2.0.1",
"object.omit": "2.0.0",
"parse-glob": "3.0.4",
"regex-cache": "0.4.3"
}
},
"minimatch": {
"version": "0.2.14",
"bundled": true,
"requires": {
"lru-cache": "2.7.3",
"sigmund": "1.0.1"
}
},
"minimist": {
"version": "1.2.0",
"bundled": true
},
"mkdirp": {
"version": "0.5.1",
"bundled": true,
"requires": {
"minimist": "0.0.8"
},
"dependencies": {
"minimist": {
"version": "0.0.8",
"bundled": true
}
}
},
"mout": {
"version": "0.11.1",
"bundled": true
},
"ms": {
"version": "0.7.1",
"bundled": true
},
"mtil": {
"version": "0.1.3",
"bundled": true
},
"multipipe": {
"version": "0.1.2",
"bundled": true,
"requires": {
"duplexer2": "0.0.2"
}
},
"normalize-package-data": {
"version": "2.3.5",
"bundled": true,
"requires": {
"hosted-git-info": "2.1.4",
"is-builtin-module": "1.0.0",
"semver": "5.1.0",
"validate-npm-package-license": "3.0.1"
}
},
"normalize-path": {
"version": "2.0.1",
"bundled": true
},
"number-is-nan": {
"version": "1.0.0",
"bundled": true
},
"object-assign": {
"version": "3.0.0",
"bundled": true
},
"object.omit": {
"version": "2.0.0",
"bundled": true,
"requires": {
"for-own": "0.1.4",
"is-extendable": "0.1.1"
}
},
"once": {
"version": "1.3.3",
"bundled": true,
"requires": {
"wrappy": "1.0.1"
}
},
"ordered-read-streams": {
"version": "0.3.0",
"bundled": true,
"requires": {
"is-stream": "1.0.1",
"readable-stream": "2.0.6"
},
"dependencies": {
"inherits": {
"version": "2.0.1",
"bundled": true
},
"isarray": {
"version": "1.0.0",
"bundled": true
},
"readable-stream": {
"version": "2.0.6",
"bundled": true,
"requires": {
"core-util-is": "1.0.2",
"inherits": "2.0.1",
"isarray": "1.0.0",
"process-nextick-args": "1.0.6",
"string_decoder": "0.10.31",
"util-deprecate": "1.0.2"
}
}
}
},
"os-locale": {
"version": "1.4.0",
"bundled": true,
"requires": {
"lcid": "1.0.0"
}
},
"os-tmpdir": {
"version": "1.0.1",
"bundled": true
},
"parse-glob": {
"version": "3.0.4",
"bundled": true,
"requires": {
"glob-base": "0.3.0",
"is-dotfile": "1.0.2",
"is-extglob": "1.0.0",
"is-glob": "2.0.1"
}
},
"parse-json": {
"version": "2.2.0",
"bundled": true,
"requires": {
"error-ex": "1.3.0"
}
},
"path-exists": {
"version": "1.0.0",
"bundled": true
},
"path-is-absolute": {
"version": "1.0.0",
"bundled": true
},
"path-type": {
"version": "1.1.0",
"bundled": true,
"requires": {
"graceful-fs": "4.1.3",
"pify": "2.3.0",
"pinkie-promise": "2.0.1"
},
"dependencies": {
"graceful-fs": {
"version": "4.1.3",
"bundled": true
}
}
},
"pify": {
"version": "2.3.0",
"bundled": true
},
"pinkie": {
"version": "2.0.4",
"bundled": true
},
"pinkie-promise": {
"version": "2.0.1",
"bundled": true,
"requires": {
"pinkie": "2.0.4"
}
},
"preserve": {
"version": "0.2.0",
"bundled": true
},
"private": {
"version": "0.1.6",
"bundled": true
},
"process-nextick-args": {
"version": "1.0.6",
"bundled": true
},
"randomatic": {
"version": "1.1.5",
"bundled": true,
"requires": {
"is-number": "2.1.0",
"kind-of": "3.0.2"
}
},
"read-pkg": {
"version": "1.1.0",
"bundled": true,
"requires": {
"load-json-file": "1.1.0",
"normalize-package-data": "2.3.5",
"path-type": "1.1.0"
}
},
"read-pkg-up": {
"version": "1.0.1",
"bundled": true,
"requires": {
"find-up": "1.1.2",
"read-pkg": "1.1.0"
}
},
"readable-stream": {
"version": "1.1.13",
"bundled": true,
"requires": {
"core-util-is": "1.0.2",
"inherits": "2.0.1",
"isarray": "0.0.1",
"string_decoder": "0.10.31"
},
"dependencies": {
"inherits": {
"version": "2.0.1",
"bundled": true
}
}
},
"redent": {
"version": "1.0.0",
"bundled": true,
"requires": {
"indent-string": "2.1.0",
"strip-indent": "1.0.1"
}
},
"regenerate": {
"version": "1.2.1",
"bundled": true
},
"regex-cache": {
"version": "0.4.3",
"bundled": true,
"requires": {
"is-equal-shallow": "0.1.3",
"is-primitive": "2.0.0"
}
},
"regexpu-core": {
"version": "1.0.0",
"bundled": true,
"requires": {
"regenerate": "1.2.1",
"regjsgen": "0.2.0",
"regjsparser": "0.1.5"
}
},
"regjsgen": {
"version": "0.2.0",
"bundled": true
},
"regjsparser": {
"version": "0.1.5",
"bundled": true,
"requires": {
"jsesc": "0.5.0"
}
},
"repeat-element": {
"version": "1.1.2",
"bundled": true
},
"repeat-string": {
"version": "1.5.4",
"bundled": true
},
"repeating": {
"version": "1.1.3",
"bundled": true,
"requires": {
"is-finite": "1.0.1"
}
},
"replace-ext": {
"version": "0.0.1",
"bundled": true
},
"replacestream": {
"version": "4.0.0",
"bundled": true,
"requires": {
"escape-string-regexp": "1.0.5",
"object-assign": "3.0.0",
"readable-stream": "2.0.6"
},
"dependencies": {
"inherits": {
"version": "2.0.1",
"bundled": true
},
"isarray": {
"version": "1.0.0",
"bundled": true
},
"readable-stream": {
"version": "2.0.6",
"bundled": true,
"requires": {
"core-util-is": "1.0.2",
"inherits": "2.0.1",
"isarray": "1.0.0",
"process-nextick-args": "1.0.6",
"string_decoder": "0.10.31",
"util-deprecate": "1.0.2"
}
}
}
},
"require-dir": {
"version": "0.3.0",
"bundled": true
},
"resolve": {
"version": "1.1.7",
"bundled": true
},
"semver": {
"version": "5.1.0",
"bundled": true
},
"shebang-regex": {
"version": "1.0.0",
"bundled": true
},
"sigmund": {
"version": "1.0.1",
"bundled": true
},
"signal-exit": {
"version": "2.1.2",
"bundled": true
},
"slash": {
"version": "1.0.0",
"bundled": true
},
"source-map": {
"version": "0.5.3",
"bundled": true
},
"source-map-support": {
"version": "0.2.10",
"bundled": true,
"requires": {
"source-map": "0.1.32"
},
"dependencies": {
"source-map": {
"version": "0.1.32",
"bundled": true,
"requires": {
"amdefine": "1.0.0"
}
}
}
},
"soyparser": {
"version": "0.2.5",
"bundled": true,
"requires": {
"merge": "1.2.0",
"tunic": "1.0.0"
}
},
"sparkles": {
"version": "1.0.0",
"bundled": true
},
"spdx-correct": {
"version": "1.0.2",
"bundled": true,
"requires": {
"spdx-license-ids": "1.2.1"
}
},
"spdx-exceptions": {
"version": "1.0.4",
"bundled": true
},
"spdx-expression-parse": {
"version": "1.0.2",
"bundled": true,
"requires": {
"spdx-exceptions": "1.0.4",
"spdx-license-ids": "1.2.1"
}
},
"spdx-license-ids": {
"version": "1.2.1",
"bundled": true
},
"stream-combiner": {
"version": "0.2.2",
"bundled": true,
"requires": {
"duplexer": "0.1.1",
"through": "2.3.8"
}
},
"stream-consume": {
"version": "0.1.0",
"bundled": true
},
"string_decoder": {
"version": "0.10.31",
"bundled": true
},
"string-width": {
"version": "1.0.1",
"bundled": true,
"requires": {
"code-point-at": "1.0.0",
"is-fullwidth-code-point": "1.0.0",
"strip-ansi": "3.0.1"
}
},
"strip-ansi": {
"version": "3.0.1",
"bundled": true,
"requires": {
"ansi-regex": "2.0.0"
}
},
"strip-bom": {
"version": "2.0.0",
"bundled": true,
"requires": {
"is-utf8": "0.2.1"
}
},
"strip-bom-stream": {
"version": "1.0.0",
"bundled": true,
"requires": {
"first-chunk-stream": "1.0.0",
"strip-bom": "2.0.0"
}
},
"strip-indent": {
"version": "1.0.1",
"bundled": true,
"requires": {
"get-stdin": "4.0.1"
}
},
"supports-color": {
"version": "2.0.0",
"bundled": true
},
"ternary-stream": {
"version": "2.0.0",
"bundled": true,
"requires": {
"duplexify": "3.4.3",
"fork-stream": "0.0.4",
"merge-stream": "1.0.0",
"through2": "2.0.1"
}
},
"textextensions": {
"version": "1.0.1",
"bundled": true
},
"through": {
"version": "2.3.8",
"bundled": true
},
"through2": {
"version": "2.0.1",
"bundled": true,
"requires": {
"readable-stream": "2.0.6",
"xtend": "4.0.1"
},
"dependencies": {
"inherits": {
"version": "2.0.1",
"bundled": true
},
"isarray": {
"version": "1.0.0",
"bundled": true
},
"readable-stream": {
"version": "2.0.6",
"bundled": true,
"requires": {
"core-util-is": "1.0.2",
"inherits": "2.0.1",
"isarray": "1.0.0",
"process-nextick-args": "1.0.6",
"string_decoder": "0.10.31",
"util-deprecate": "1.0.2"
}
}
}
},
"through2-filter": {
"version": "2.0.0",
"bundled": true,
"requires": {
"through2": "2.0.1",
"xtend": "4.0.1"
}
},
"time-stamp": {
"version": "1.0.1",
"bundled": true
},
"to-absolute-glob": {
"version": "0.1.1",
"bundled": true,
"requires": {
"extend-shallow": "2.0.1"
}
},
"to-fast-properties": {
"version": "1.0.2",
"bundled": true
},
"trim-newlines": {
"version": "1.0.0",
"bundled": true
},
"trim-right": {
"version": "1.0.1",
"bundled": true
},
"tunic": {
"version": "1.0.0",
"bundled": true,
"requires": {
"mout": "0.11.1",
"mtil": "0.1.3"
}
},
"unique-stream": {
"version": "2.2.1",
"bundled": true,
"requires": {
"json-stable-stringify": "1.0.1",
"through2-filter": "2.0.0"
}
},
"user-home": {
"version": "1.1.1",
"bundled": true
},
"util-deprecate": {
"version": "1.0.2",
"bundled": true
},
"vali-date": {
"version": "1.0.0",
"bundled": true
},
"validate-npm-package-license": {
"version": "3.0.1",
"bundled": true,
"requires": {
"spdx-correct": "1.0.2",
"spdx-expression-parse": "1.0.2"
}
},
"vinyl": {
"version": "0.5.3",
"bundled": true,
"requires": {
"clone": "1.0.2",
"clone-stats": "0.0.1",
"replace-ext": "0.0.1"
}
},
"vinyl-fs": {
"version": "2.4.3",
"bundled": true,
"requires": {
"duplexify": "3.4.3",
"glob-stream": "5.3.2",
"graceful-fs": "4.1.3",
"gulp-sourcemaps": "1.6.0",
"is-valid-glob": "0.3.0",
"lazystream": "1.0.0",
"lodash.isequal": "4.1.4",
"merge-stream": "1.0.0",
"mkdirp": "0.5.1",
"object-assign": "4.0.1",
"readable-stream": "2.0.6",
"strip-bom": "2.0.0",
"strip-bom-stream": "1.0.0",
"through2": "2.0.1",
"through2-filter": "2.0.0",
"vali-date": "1.0.0",
"vinyl": "1.1.1"
},
"dependencies": {
"graceful-fs": {
"version": "4.1.3",
"bundled": true
},
"inherits": {
"version": "2.0.1",
"bundled": true
},
"isarray": {
"version": "1.0.0",
"bundled": true
},
"object-assign": {
"version": "4.0.1",
"bundled": true
},
"readable-stream": {
"version": "2.0.6",
"bundled": true,
"requires": {
"core-util-is": "1.0.2",
"inherits": "2.0.1",
"isarray": "1.0.0",
"process-nextick-args": "1.0.6",
"string_decoder": "0.10.31",
"util-deprecate": "1.0.2"
}
},
"vinyl": {
"version": "1.1.1",
"bundled": true,
"requires": {
"clone": "1.0.2",
"clone-stats": "0.0.1",
"replace-ext": "0.0.1"
}
}
}
},
"vinyl-sourcemaps-apply": {
"version": "0.2.1",
"bundled": true,
"requires": {
"source-map": "0.5.3"
}
},
"window-size": {
"version": "0.1.4",
"bundled": true
},
"wrap-ansi": {
"version": "2.0.0",
"bundled": true,
"requires": {
"string-width": "1.0.1"
}
},
"wrappy": {
"version": "1.0.1",
"bundled": true
},
"xtend": {
"version": "4.0.1",
"bundled": true
},
"y18n": {
"version": "3.2.1",
"bundled": true
},
"yargs": {
"version": "3.32.0",
"bundled": true,
"requires": {
"camelcase": "2.1.1",
"cliui": "3.2.0",
"decamelize": "1.2.0",
"os-locale": "1.4.0",
"string-width": "1.0.1",
"window-size": "0.1.4",
"y18n": "3.2.1"
}
}
}
}
}
}
package ru.systematic.cisstat.constants;
/**
* @author safiu
*/
public class PivotPortletKeys {
public static final String Pivot = "Pivot";
}
\ No newline at end of file
package ru.systematic.cisstat.portlet;
import ru.systematic.cisstat.constants.PivotPortletKeys;
import com.liferay.portal.kernel.portlet.bridges.mvc.MVCPortlet;
import javax.portlet.Portlet;
import org.osgi.service.component.annotations.Component;
/**
* @author safiu
*/
@Component(
immediate = true,
property = {
"com.liferay.portlet.display-category=category.sample",
"com.liferay.portlet.instanceable=true",
"javax.portlet.display-name=pivot Portlet",
"javax.portlet.init-param.template-path=/",
"javax.portlet.init-param.view-template=/view.jsp",
"javax.portlet.name=" + PivotPortletKeys.Pivot,
"javax.portlet.resource-bundle=content.Language",
"javax.portlet.security-role-ref=power-user,user"
},
service = Portlet.class
)
public class PivotPortlet extends MVCPortlet {
}
\ No newline at end of file
(function() {
var callWithJQuery;
callWithJQuery = function(pivotModule) {
if (typeof exports === "object" && typeof module === "object") {
return pivotModule(require("jquery"), require("c3"));
} else if (typeof define === "function" && define.amd) {
return define(["jquery", "c3"], pivotModule);
} else {
return pivotModule(jQuery, c3);
}
};
callWithJQuery(function($, c3) {
var makeC3Chart;
makeC3Chart = function(chartOpts) {
if (chartOpts == null) {
chartOpts = {};
}
return function(pivotData, opts) {
var agg, attrs, base, base1, base2, base3, base4, base5, base6, base7, c, categories, colKey, colKeys, columns, dataColumns, defaults, formatter, fullAggName, groupByTitle, h, hAxisTitle, headers, i, j, k, l, len, len1, len2, len3, len4, m, numCharsInHAxis, numSeries, params, ref, ref1, ref2, ref3, renderArea, result, rotationAngle, row, rowHeader, rowKey, rowKeys, s, scatterData, series, title, titleText, vAxisTitle, val, vals, x, xs, y;
defaults = {
localeStrings: {
vs: "vs",
by: "by"
},
c3: {}
};
opts = $.extend(true, {}, defaults, opts);
if ((base = opts.c3).size == null) {
base.size = {};
}
if ((base1 = opts.c3.size).width == null) {
base1.width = window.innerWidth / 1.4;
}
if ((base2 = opts.c3.size).height == null) {
base2.height = window.innerHeight / 1.4 - 50;
}
if (chartOpts.type == null) {
chartOpts.type = "line";
}
if (chartOpts.horizontal == null) {
chartOpts.horizontal = false;
}
if (chartOpts.stacked == null) {
chartOpts.stacked = false;
}
rowKeys = pivotData.getRowKeys();
if (rowKeys.length === 0) {
rowKeys.push([]);
}
colKeys = pivotData.getColKeys();
if (colKeys.length === 0) {
colKeys.push([]);
}
headers = (function() {
var i, len, results;
results = [];
for (i = 0, len = colKeys.length; i < len; i++) {
h = colKeys[i];
results.push(h.join("-"));
}
return results;
})();
rotationAngle = 0;
fullAggName = pivotData.aggregatorName;
if (pivotData.valAttrs.length) {
fullAggName += "(" + (pivotData.valAttrs.join(", ")) + ")";
}
if (chartOpts.type === "scatter") {
scatterData = {
x: {},
y: {},
t: {}
};
attrs = pivotData.rowAttrs.concat(pivotData.colAttrs);
vAxisTitle = (ref = attrs[0]) != null ? ref : "";
hAxisTitle = (ref1 = attrs[1]) != null ? ref1 : "";
groupByTitle = attrs.slice(2).join("-");
titleText = vAxisTitle;
if (hAxisTitle !== "") {
titleText += " " + opts.localeStrings.vs + " " + hAxisTitle;
}
if (groupByTitle !== "") {
titleText += " " + opts.localeStrings.by + " " + groupByTitle;
}
for (i = 0, len = rowKeys.length; i < len; i++) {
rowKey = rowKeys[i];
for (j = 0, len1 = colKeys.length; j < len1; j++) {
colKey = colKeys[j];
agg = pivotData.getAggregator(rowKey, colKey);
if (agg.value() != null) {
vals = rowKey.concat(colKey);
series = vals.slice(2).join("-");
if (series === "") {
series = "series";
}
if ((base3 = scatterData.x)[series] == null) {
base3[series] = [];
}
if ((base4 = scatterData.y)[series] == null) {
base4[series] = [];
}
y = (ref2 = vals[0]) != null ? ref2 : 0;
x = (ref3 = vals[1]) != null ? ref3 : 0;
scatterData.y[series].push(y);
scatterData.x[series].push(x);
if ((base5 = scatterData.t)[series] == null) {
base5[series] = {};
}
if ((base6 = scatterData.t[series])[x] == null) {
base6[x] = {};
}
scatterData.t[series][x][y] = agg.value();
}
}
}
} else {
numCharsInHAxis = 0;
for (k = 0, len2 = headers.length; k < len2; k++) {
x = headers[k];
numCharsInHAxis += x.length;
}
if (numCharsInHAxis > 50) {
rotationAngle = 45;
}
columns = [];
for (l = 0, len3 = rowKeys.length; l < len3; l++) {
rowKey = rowKeys[l];
rowHeader = rowKey.join("-");
row = [rowHeader === "" ? fullAggName : rowHeader];
for (m = 0, len4 = colKeys.length; m < len4; m++) {
colKey = colKeys[m];
val = parseFloat(pivotData.getAggregator(rowKey, colKey).value());
if (isFinite(val)) {
row.push(val);
} else {
row.push(null);
}
}
columns.push(row);
}
vAxisTitle = fullAggName;
if (chartOpts.horizontal) {
hAxisTitle = pivotData.rowAttrs.join("-");
groupByTitle = pivotData.colAttrs.join("-");
} else {
hAxisTitle = pivotData.colAttrs.join("-");
groupByTitle = pivotData.rowAttrs.join("-");
}
titleText = fullAggName;
if (hAxisTitle !== "") {
titleText += " " + opts.localeStrings.vs + " " + hAxisTitle;
}
if (groupByTitle !== "") {
titleText += " " + opts.localeStrings.by + " " + groupByTitle;
}
}
title = $("<p>", {
style: "text-align: center; font-weight: bold"
});
title.text(titleText);
formatter = pivotData.getAggregator([], []).format;
params = {
axis: {
rotated: chartOpts.horizontal,
y: {
label: vAxisTitle,
tick: {}
},
x: {
label: hAxisTitle,
tick: {
rotate: rotationAngle,
multiline: false
}
}
},
data: {
type: chartOpts.type,
order: null
},
tooltip: {
grouped: false
},
color: {
pattern: ["#3366cc", "#dc3912", "#ff9900", "#109618", "#990099", "#0099c6", "#dd4477", "#66aa00", "#b82e2e", "#316395", "#994499", "#22aa99", "#aaaa11", "#6633cc", "#e67300", "#8b0707", "#651067", "#329262", "#5574a6", "#3b3eac"]
}
};
params = $.extend(true, {}, params, opts.c3);
if (chartOpts.type === "scatter") {
xs = {};
numSeries = 0;
dataColumns = [];
for (s in scatterData.x) {
numSeries += 1;
xs[s] = s + "_x";
dataColumns.push([s + "_x"].concat(scatterData.x[s]));
dataColumns.push([s].concat(scatterData.y[s]));
}
params.data.xs = xs;
params.data.columns = dataColumns;
params.axis.x.tick = {
fit: false
};
if (numSeries === 1) {
params.legend = {
show: false
};
}
params.tooltip.format = {
title: function() {
return fullAggName;
},
name: function() {
return "";
},
value: function(a, b, c, d, e) {
var ref4;
ref4 = e[0], series = ref4.name, y = ref4.value, x = ref4.x;
return formatter(scatterData.t[series][x][y]);
}
};
} else {
params.axis.x.type = 'category';
if ((base7 = params.axis.y.tick).format == null) {
base7.format = function(v) {
return formatter(v);
};
}
params.tooltip.format = {
value: function(v) {
return formatter(v);
}
};
if (chartOpts.horizontal) {
categories = (function() {
var len5, n, results;
results = [];
for (n = 0, len5 = columns.length; n < len5; n++) {
c = columns[n];
results.push(c.shift());
}
return results;
})();
if (categories.length === 1 && categories[0] === fullAggName) {
categories = [""];
}
params.axis.x.categories = categories;
if (headers.length === 1 && headers[0] === "") {
headers = [fullAggName];
}
columns.unshift(headers);
params.data.rows = columns;
} else {
params.axis.x.categories = headers;
params.data.columns = columns;
}
}
if (chartOpts.stacked) {
if (chartOpts.horizontal) {
params.data.groups = [
(function() {
var len5, n, results;
results = [];
for (n = 0, len5 = colKeys.length; n < len5; n++) {
x = colKeys[n];
results.push(x.join("-"));
}
return results;
})()
];
} else {
params.data.groups = [
(function() {
var len5, n, results;
results = [];
for (n = 0, len5 = rowKeys.length; n < len5; n++) {
x = rowKeys[n];
results.push(x.join("-"));
}
return results;
})()
];
}
}
renderArea = $("<div>", {
style: "display:none;"
}).appendTo($("body"));
result = $("<div>").appendTo(renderArea);
params.bindto = result[0];
c3.generate(params);
result.detach();
renderArea.remove();
return $("<div>").append(title, result);
};
};
return $.pivotUtilities.c3_renderers = {
"Horizontal Bar Chart": makeC3Chart({
type: "bar",
horizontal: true
}),
"Horizontal Stacked Bar Chart": makeC3Chart({
type: "bar",
stacked: true,
horizontal: true
}),
"Bar Chart": makeC3Chart({
type: "bar"
}),
"Stacked Bar Chart": makeC3Chart({
type: "bar",
stacked: true
}),
"Line Chart": makeC3Chart(),
"Area Chart": makeC3Chart({
type: "area",
stacked: true
}),
"Scatter Chart": makeC3Chart({
type: "scatter"
})
};
});
}).call(this);
//# sourceMappingURL=c3_renderers.js.map
{"version":3,"file":"c3_renderers.js","sources":["c3_renderers.coffee"],"names":[],"mappings":"AAAA;AAAA,MAAA;;EAAA,cAAA,GAAiB,SAAC,WAAD;IACb,IAAG,OAAO,OAAP,KAAkB,QAAlB,IAA+B,OAAO,MAAP,KAAiB,QAAnD;aACI,WAAA,CAAY,OAAA,CAAQ,QAAR,CAAZ,EAA+B,OAAA,CAAQ,IAAR,CAA/B,EADJ;KAAA,MAEK,IAAG,OAAO,MAAP,KAAiB,UAAjB,IAAgC,MAAM,CAAC,GAA1C;aACD,MAAA,CAAO,CAAC,QAAD,EAAW,IAAX,CAAP,EAAyB,WAAzB,EADC;KAAA,MAAA;aAID,WAAA,CAAY,MAAZ,EAAoB,EAApB,EAJC;;EAHQ;;EASjB,cAAA,CAAe,SAAC,CAAD,EAAI,EAAJ;AAEX,QAAA;IAAA,WAAA,GAAc,SAAC,SAAD;;QAAC,YAAY;;aAAO,SAAC,SAAD,EAAY,IAAZ;AAC9B,YAAA;QAAA,QAAA,GACI;UAAA,aAAA,EAAe;YAAC,EAAA,EAAI,IAAL;YAAW,EAAA,EAAI,IAAf;WAAf;UACA,EAAA,EAAI,EADJ;;QAGJ,IAAA,GAAO,CAAC,CAAC,MAAF,CAAS,IAAT,EAAe,EAAf,EAAmB,QAAnB,EAA6B,IAA7B;;cACA,CAAC,OAAQ;;;eACJ,CAAC,QAAS,MAAM,CAAC,UAAP,GAAoB;;;eAC9B,CAAC,SAAU,MAAM,CAAC,WAAP,GAAqB,GAArB,GAA2B;;;UAClD,SAAS,CAAC,OAAQ;;;UAClB,SAAS,CAAC,aAAc;;;UACxB,SAAS,CAAC,UAAW;;QAErB,OAAA,GAAU,SAAS,CAAC,UAAV,CAAA;QACV,IAAmB,OAAO,CAAC,MAAR,KAAkB,CAArC;UAAA,OAAO,CAAC,IAAR,CAAa,EAAb,EAAA;;QACA,OAAA,GAAU,SAAS,CAAC,UAAV,CAAA;QACV,IAAmB,OAAO,CAAC,MAAR,KAAkB,CAArC;UAAA,OAAO,CAAC,IAAR,CAAa,EAAb,EAAA;;QAEA,OAAA;;AAAW;eAAA,yCAAA;;yBAAA,CAAC,CAAC,IAAF,CAAO,GAAP;AAAA;;;QACX,aAAA,GAAgB;QAEhB,WAAA,GAAc,SAAS,CAAC;QACxB,IAAG,SAAS,CAAC,QAAQ,CAAC,MAAtB;UACI,WAAA,IAAe,GAAA,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAnB,CAAwB,IAAxB,CAAD,CAAH,GAAkC,IADrD;;QAGA,IAAG,SAAS,CAAC,IAAV,KAAkB,SAArB;UACI,WAAA,GAAc;YAAA,CAAA,EAAE,EAAF;YAAM,CAAA,EAAE,EAAR;YAAY,CAAA,EAAE,EAAd;;UACd,KAAA,GAAQ,SAAS,CAAC,QAAQ,CAAC,MAAnB,CAA0B,SAAS,CAAC,QAApC;UACR,UAAA,oCAAwB;UACxB,UAAA,sCAAwB;UACxB,YAAA,GAAe,KAAK,CAAC,KAAN,CAAY,CAAZ,CAAc,CAAC,IAAf,CAAoB,GAApB;UACf,SAAA,GAAY;UACZ,IAA0D,UAAA,KAAc,EAAxE;YAAA,SAAA,IAAa,GAAA,GAAI,IAAI,CAAC,aAAa,CAAC,EAAvB,GAA0B,GAA1B,GAA6B,WAA1C;;UACA,IAA4D,YAAA,KAAgB,EAA5E;YAAA,SAAA,IAAa,GAAA,GAAI,IAAI,CAAC,aAAa,CAAC,EAAvB,GAA0B,GAA1B,GAA6B,aAA1C;;AACA,eAAA,yCAAA;;AACI,iBAAA,2CAAA;;cACI,GAAA,GAAM,SAAS,CAAC,aAAV,CAAwB,MAAxB,EAAgC,MAAhC;cACN,IAAG,mBAAH;gBACI,IAAA,GAAO,MAAM,CAAC,MAAP,CAAc,MAAd;gBACP,MAAA,GAAS,IAAI,CAAC,KAAL,CAAW,CAAX,CAAa,CAAC,IAAd,CAAmB,GAAnB;gBACT,IAAG,MAAA,KAAU,EAAb;kBAAqB,MAAA,GAAS,SAA9B;;;uBACc,CAAA,MAAA,IAAW;;;uBACX,CAAA,MAAA,IAAW;;gBACzB,CAAA,qCAAc;gBACd,CAAA,qCAAc;gBACd,WAAW,CAAC,CAAE,CAAA,MAAA,CAAO,CAAC,IAAtB,CAA2B,CAA3B;gBACA,WAAW,CAAC,CAAE,CAAA,MAAA,CAAO,CAAC,IAAtB,CAA2B,CAA3B;;uBACc,CAAA,MAAA,IAAW;;;uBACH,CAAA,CAAA,IAAM;;gBAC5B,WAAW,CAAC,CAAE,CAAA,MAAA,CAAQ,CAAA,CAAA,CAAG,CAAA,CAAA,CAAzB,GAA8B,GAAG,CAAC,KAAJ,CAAA,EAZlC;;AAFJ;AADJ,WATJ;SAAA,MAAA;UA0BI,eAAA,GAAkB;AAClB,eAAA,2CAAA;;YACI,eAAA,IAAmB,CAAC,CAAC;AADzB;UAEA,IAAG,eAAA,GAAkB,EAArB;YACI,aAAA,GAAgB,GADpB;;UAGA,OAAA,GAAU;AACV,eAAA,2CAAA;;YACI,SAAA,GAAY,MAAM,CAAC,IAAP,CAAY,GAAZ;YACZ,GAAA,GAAM,CAAI,SAAA,KAAa,EAAhB,GAAwB,WAAxB,GAAyC,SAA1C;AACN,iBAAA,2CAAA;;cACI,GAAA,GAAM,UAAA,CAAY,SAAS,CAAC,aAAV,CAAwB,MAAxB,EAAgC,MAAhC,CAAuC,CAAC,KAAxC,CAAA,CAAZ;cACN,IAAG,QAAA,CAAS,GAAT,CAAH;gBACI,GAAG,CAAC,IAAJ,CAAS,GAAT,EADJ;eAAA,MAAA;gBAGI,GAAG,CAAC,IAAJ,CAAS,IAAT,EAHJ;;AAFJ;YAMA,OAAO,CAAC,IAAR,CAAa,GAAb;AATJ;UAWA,UAAA,GAAa;UAEb,IAAG,SAAS,CAAC,UAAb;YACI,UAAA,GAAa,SAAS,CAAC,QAAQ,CAAC,IAAnB,CAAwB,GAAxB;YACb,YAAA,GAAe,SAAS,CAAC,QAAQ,CAAC,IAAnB,CAAwB,GAAxB,EAFnB;WAAA,MAAA;YAII,UAAA,GAAa,SAAS,CAAC,QAAQ,CAAC,IAAnB,CAAwB,GAAxB;YACb,YAAA,GAAe,SAAS,CAAC,QAAQ,CAAC,IAAnB,CAAwB,GAAxB,EALnB;;UAMA,SAAA,GAAY;UACZ,IAA0D,UAAA,KAAc,EAAxE;YAAA,SAAA,IAAa,GAAA,GAAI,IAAI,CAAC,aAAa,CAAC,EAAvB,GAA0B,GAA1B,GAA6B,WAA1C;;UACA,IAA4D,YAAA,KAAgB,EAA5E;YAAA,SAAA,IAAa,GAAA,GAAI,IAAI,CAAC,aAAa,CAAC,EAAvB,GAA0B,GAA1B,GAA6B,aAA1C;WAtDJ;;QAwDA,KAAA,GAAQ,CAAA,CAAE,KAAF,EAAS;UAAC,KAAA,EAAO,uCAAR;SAAT;QACR,KAAK,CAAC,IAAN,CAAW,SAAX;QAEA,SAAA,GAAY,SAAS,CAAC,aAAV,CAAwB,EAAxB,EAA4B,EAA5B,CAA+B,CAAC;QAE5C,MAAA,GACI;UAAA,IAAA,EACI;YAAA,OAAA,EAAS,SAAS,CAAC,UAAnB;YACA,CAAA,EACI;cAAA,KAAA,EAAO,UAAP;cACA,IAAA,EAAM,EADN;aAFJ;YAIA,CAAA,EACI;cAAA,KAAA,EAAO,UAAP;cACA,IAAA,EACI;gBAAA,MAAA,EAAQ,aAAR;gBACA,SAAA,EAAW,KADX;eAFJ;aALJ;WADJ;UAUA,IAAA,EACI;YAAA,IAAA,EAAM,SAAS,CAAC,IAAhB;YACA,KAAA,EAAO,IADP;WAXJ;UAaA,OAAA,EACI;YAAA,OAAA,EAAS,KAAT;WAdJ;UAeA,KAAA,EACI;YAAA,OAAA,EAAS,CAAE,SAAF,EAAa,SAAb,EAAwB,SAAxB,EAAmC,SAAnC,EACE,SADF,EACa,SADb,EACwB,SADxB,EACmC,SADnC,EAEE,SAFF,EAEa,SAFb,EAEwB,SAFxB,EAEmC,SAFnC,EAGE,SAHF,EAGa,SAHb,EAGwB,SAHxB,EAGmC,SAHnC,EAIE,SAJF,EAIa,SAJb,EAIwB,SAJxB,EAImC,SAJnC,CAAT;WAhBJ;;QAuBJ,MAAA,GAAS,CAAC,CAAC,MAAF,CAAS,IAAT,EAAe,EAAf,EAAmB,MAAnB,EAA2B,IAAI,CAAC,EAAhC;QACT,IAAG,SAAS,CAAC,IAAV,KAAkB,SAArB;UACI,EAAA,GAAK;UACL,SAAA,GAAY;UACZ,WAAA,GAAc;AACd,eAAA,kBAAA;YACI,SAAA,IAAa;YACb,EAAG,CAAA,CAAA,CAAH,GAAQ,CAAA,GAAE;YACV,WAAW,CAAC,IAAZ,CAAiB,CAAC,CAAA,GAAE,IAAH,CAAQ,CAAC,MAAT,CAAgB,WAAW,CAAC,CAAE,CAAA,CAAA,CAA9B,CAAjB;YACA,WAAW,CAAC,IAAZ,CAAiB,CAAC,CAAD,CAAG,CAAC,MAAJ,CAAW,WAAW,CAAC,CAAE,CAAA,CAAA,CAAzB,CAAjB;AAJJ;UAKA,MAAM,CAAC,IAAI,CAAC,EAAZ,GAAiB;UACjB,MAAM,CAAC,IAAI,CAAC,OAAZ,GAAsB;UACtB,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAd,GAAqB;YAAA,GAAA,EAAK,KAAL;;UACrB,IAAG,SAAA,KAAa,CAAhB;YACI,MAAM,CAAC,MAAP,GAAgB;cAAA,IAAA,EAAM,KAAN;cADpB;;UAEA,MAAM,CAAC,OAAO,CAAC,MAAf,GACI;YAAA,KAAA,EAAO,SAAA;qBAAG;YAAH,CAAP;YACA,IAAA,EAAM,SAAA;qBAAG;YAAH,CADN;YAEA,KAAA,EAAO,SAAC,CAAD,EAAG,CAAH,EAAK,CAAL,EAAO,CAAP,EAAS,CAAT;AACH,kBAAA;cAAA,OAA8B,CAAE,CAAA,CAAA,CAAhC,EAAO,cAAN,IAAD,EAAsB,SAAP,KAAf,EAAyB;qBACzB,SAAA,CAAU,WAAW,CAAC,CAAE,CAAA,MAAA,CAAQ,CAAA,CAAA,CAAG,CAAA,CAAA,CAAnC;YAFG,CAFP;YAfR;SAAA,MAAA;UAqBI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAd,GAAoB;;iBACF,CAAC,SAAU,SAAC,CAAD;qBAAO,SAAA,CAAU,CAAV;YAAP;;UAC7B,MAAM,CAAC,OAAO,CAAC,MAAf,GAAwB;YAAA,KAAA,EAAO,SAAC,CAAD;qBAAO,SAAA,CAAU,CAAV;YAAP,CAAP;;UAExB,IAAG,SAAS,CAAC,UAAb;YACI,UAAA;;AAAc;mBAAA,2CAAA;;6BAAA,CAAC,CAAC,KAAF,CAAA;AAAA;;;YACd,IAAG,UAAU,CAAC,MAAX,KAAqB,CAArB,IAA2B,UAAW,CAAA,CAAA,CAAX,KAAiB,WAA/C;cACI,UAAA,GAAa,CAAC,EAAD,EADjB;;YAEA,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,UAAd,GAA2B;YAC3B,IAAG,OAAO,CAAC,MAAR,KAAkB,CAAlB,IAAwB,OAAQ,CAAA,CAAA,CAAR,KAAc,EAAzC;cACI,OAAA,GAAU,CAAC,WAAD,EADd;;YAEA,OAAO,CAAC,OAAR,CAAgB,OAAhB;YACA,MAAM,CAAC,IAAI,CAAC,IAAZ,GAAmB,QARvB;WAAA,MAAA;YAUI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,UAAd,GAA2B;YAC3B,MAAM,CAAC,IAAI,CAAC,OAAZ,GAAsB,QAX1B;WAzBJ;;QAuCA,IAAG,SAAS,CAAC,OAAb;UACI,IAAG,SAAS,CAAC,UAAb;YACI,MAAM,CAAC,IAAI,CAAC,MAAZ,GAAqB;;;AAAC;qBAAA,2CAAA;;+BAAA,CAAC,CAAC,IAAF,CAAO,GAAP;AAAA;;kBAAD;cADzB;WAAA,MAAA;YAGI,MAAM,CAAC,IAAI,CAAC,MAAZ,GAAqB;;;AAAC;qBAAA,2CAAA;;+BAAA,CAAC,CAAC,IAAF,CAAO,GAAP;AAAA;;kBAAD;cAHzB;WADJ;;QAMA,UAAA,GAAa,CAAA,CAAE,OAAF,EAAW;UAAA,KAAA,EAAO,eAAP;SAAX,CAAkC,CAAC,QAAnC,CAA4C,CAAA,CAAE,MAAF,CAA5C;QACb,MAAA,GAAS,CAAA,CAAE,OAAF,CAAU,CAAC,QAAX,CAAoB,UAApB;QACT,MAAM,CAAC,MAAP,GAAgB,MAAO,CAAA,CAAA;QACvB,EAAE,CAAC,QAAH,CAAY,MAAZ;QACA,MAAM,CAAC,MAAP,CAAA;QACA,UAAU,CAAC,MAAX,CAAA;AACA,eAAO,CAAA,CAAE,OAAF,CAAU,CAAC,MAAX,CAAkB,KAAlB,EAAyB,MAAzB;MAlKuB;IAApB;WAoKd,CAAC,CAAC,cAAc,CAAC,YAAjB,GACI;MAAA,sBAAA,EAAwB,WAAA,CAAY;QAAA,IAAA,EAAM,KAAN;QAAa,UAAA,EAAY,IAAzB;OAAZ,CAAxB;MACA,8BAAA,EAAgC,WAAA,CAAY;QAAA,IAAA,EAAM,KAAN;QAAa,OAAA,EAAS,IAAtB;QAA4B,UAAA,EAAY,IAAxC;OAAZ,CADhC;MAEA,WAAA,EAAa,WAAA,CAAY;QAAA,IAAA,EAAM,KAAN;OAAZ,CAFb;MAGA,mBAAA,EAAqB,WAAA,CAAY;QAAA,IAAA,EAAM,KAAN;QAAa,OAAA,EAAS,IAAtB;OAAZ,CAHrB;MAIA,YAAA,EAAc,WAAA,CAAA,CAJd;MAKA,YAAA,EAAc,WAAA,CAAY;QAAA,IAAA,EAAM,MAAN;QAAc,OAAA,EAAS,IAAvB;OAAZ,CALd;MAMA,eAAA,EAAiB,WAAA,CAAY;QAAA,IAAA,EAAM,SAAN;OAAZ,CANjB;;EAvKO,CAAf;AATA","sourcesContent":["callWithJQuery = (pivotModule) ->\n if typeof exports is \"object\" and typeof module is \"object\" # CommonJS\n pivotModule require(\"jquery\"), require(\"c3\")\n else if typeof define is \"function\" and define.amd # AMD\n define [\"jquery\", \"c3\"], pivotModule\n # Plain browser env\n else\n pivotModule jQuery, c3\n\ncallWithJQuery ($, c3) ->\n\n makeC3Chart = (chartOpts = {}) -> (pivotData, opts) ->\n defaults =\n localeStrings: {vs: \"vs\", by: \"by\"}\n c3: {}\n\n opts = $.extend(true, {}, defaults, opts)\n opts.c3.size ?= {}\n opts.c3.size.width ?= window.innerWidth / 1.4\n opts.c3.size.height ?= window.innerHeight / 1.4 - 50\n chartOpts.type ?= \"line\"\n chartOpts.horizontal ?= false\n chartOpts.stacked ?= false\n\n rowKeys = pivotData.getRowKeys()\n rowKeys.push [] if rowKeys.length == 0\n colKeys = pivotData.getColKeys()\n colKeys.push [] if colKeys.length == 0\n\n headers = (h.join(\"-\") for h in colKeys)\n rotationAngle = 0\n\n fullAggName = pivotData.aggregatorName\n if pivotData.valAttrs.length\n fullAggName += \"(#{pivotData.valAttrs.join(\", \")})\"\n\n if chartOpts.type == \"scatter\"\n scatterData = x:{}, y:{}, t:{}\n attrs = pivotData.rowAttrs.concat(pivotData.colAttrs)\n vAxisTitle = attrs[0] ? \"\"\n hAxisTitle = attrs[1] ? \"\"\n groupByTitle = attrs.slice(2).join(\"-\")\n titleText = vAxisTitle\n titleText += \" #{opts.localeStrings.vs} #{hAxisTitle}\" if hAxisTitle != \"\"\n titleText += \" #{opts.localeStrings.by} #{groupByTitle}\" if groupByTitle != \"\"\n for rowKey in rowKeys\n for colKey in colKeys\n agg = pivotData.getAggregator(rowKey, colKey)\n if agg.value()?\n vals = rowKey.concat(colKey)\n series = vals.slice(2).join(\"-\")\n if series == \"\" then series = \"series\"\n scatterData.x[series] ?= []\n scatterData.y[series] ?= []\n y = vals[0] ? 0\n x = vals[1] ? 0\n scatterData.y[series].push y\n scatterData.x[series].push x\n scatterData.t[series] ?= {}\n scatterData.t[series][x] ?= {}\n scatterData.t[series][x][y] = agg.value()\n else\n numCharsInHAxis = 0\n for x in headers\n numCharsInHAxis += x.length\n if numCharsInHAxis > 50\n rotationAngle = 45\n\n columns = []\n for rowKey in rowKeys\n rowHeader = rowKey.join(\"-\")\n row = [if rowHeader == \"\" then fullAggName else rowHeader]\n for colKey in colKeys\n val = parseFloat pivotData.getAggregator(rowKey, colKey).value()\n if isFinite(val)\n row.push(val)\n else\n row.push(null)\n columns.push row\n\n vAxisTitle = fullAggName\n\n if chartOpts.horizontal\n hAxisTitle = pivotData.rowAttrs.join(\"-\")\n groupByTitle = pivotData.colAttrs.join(\"-\")\n else\n hAxisTitle = pivotData.colAttrs.join(\"-\")\n groupByTitle = pivotData.rowAttrs.join(\"-\")\n titleText = fullAggName\n titleText += \" #{opts.localeStrings.vs} #{hAxisTitle}\" if hAxisTitle != \"\"\n titleText += \" #{opts.localeStrings.by} #{groupByTitle}\" if groupByTitle != \"\"\n\n title = $(\"<p>\", {style: \"text-align: center; font-weight: bold\"})\n title.text(titleText)\n\n formatter = pivotData.getAggregator([], []).format\n\n params =\n axis:\n rotated: chartOpts.horizontal\n y:\n label: vAxisTitle\n tick: {}\n x:\n label: hAxisTitle\n tick:\n rotate: rotationAngle\n multiline: false\n data:\n type: chartOpts.type\n order: null\n tooltip:\n grouped: false\n color:\n pattern: [ \"#3366cc\", \"#dc3912\", \"#ff9900\", \"#109618\",\n \"#990099\", \"#0099c6\", \"#dd4477\", \"#66aa00\",\n \"#b82e2e\", \"#316395\", \"#994499\", \"#22aa99\",\n \"#aaaa11\", \"#6633cc\", \"#e67300\", \"#8b0707\",\n \"#651067\", \"#329262\", \"#5574a6\", \"#3b3eac\" ]\n\n\n params = $.extend(true, {}, params, opts.c3)\n if chartOpts.type == \"scatter\"\n xs = {}\n numSeries = 0\n dataColumns = []\n for s of scatterData.x\n numSeries += 1\n xs[s] = s+\"_x\"\n dataColumns.push [s+\"_x\"].concat(scatterData.x[s])\n dataColumns.push [s].concat(scatterData.y[s])\n params.data.xs = xs\n params.data.columns = dataColumns\n params.axis.x.tick = fit: false\n if numSeries == 1\n params.legend = show: false\n params.tooltip.format =\n title: -> fullAggName\n name: -> \"\"\n value: (a,b,c,d,e) ->\n {name: series, value: y, x} = e[0]\n formatter(scatterData.t[series][x][y])\n else\n params.axis.x.type= 'category'\n params.axis.y.tick.format ?= (v) -> formatter(v)\n params.tooltip.format = value: (v) -> formatter(v)\n\n if chartOpts.horizontal\n categories = (c.shift() for c in columns)\n if categories.length == 1 and categories[0] == fullAggName\n categories = [\"\"]\n params.axis.x.categories = categories\n if headers.length == 1 and headers[0] == \"\"\n headers = [fullAggName]\n columns.unshift(headers)\n params.data.rows = columns\n else\n params.axis.x.categories = headers\n params.data.columns = columns\n\n\n if chartOpts.stacked\n if chartOpts.horizontal\n params.data.groups = [x.join(\"-\") for x in colKeys]\n else\n params.data.groups = [x.join(\"-\") for x in rowKeys]\n\n renderArea = $(\"<div>\", style: \"display:none;\").appendTo $(\"body\")\n result = $(\"<div>\").appendTo renderArea\n params.bindto = result[0]\n c3.generate params\n result.detach()\n renderArea.remove()\n return $(\"<div>\").append title, result\n\n $.pivotUtilities.c3_renderers =\n \"Horizontal Bar Chart\": makeC3Chart(type: \"bar\", horizontal: true)\n \"Horizontal Stacked Bar Chart\": makeC3Chart(type: \"bar\", stacked: true, horizontal: true)\n \"Bar Chart\": makeC3Chart(type: \"bar\")\n \"Stacked Bar Chart\": makeC3Chart(type: \"bar\", stacked: true)\n \"Line Chart\": makeC3Chart()\n \"Area Chart\": makeC3Chart(type: \"area\", stacked: true)\n \"Scatter Chart\": makeC3Chart(type: \"scatter\")\n"]}
\ No newline at end of file
(function(){var t;(t=function(t){return"object"==typeof exports&&"object"==typeof module?t(require("jquery"),require("c3")):"function"==typeof define&&define.amd?define(["jquery","c3"],t):t(jQuery,c3)})(function(t,e){var n;return n=function(n){return null==n&&(n={}),function(r,a){var o,l,i,u,s,c,h,g,p,d,f,y,v,x,b,j,m,z,w,k,A,C,S,q,B,H,_,F,K,T,L,N,Q,R,U,W,D,E,G,I,J,M,O,P,V,X,Y,Z,$,tt,et,nt,rt,at,ot,lt,it,ut;if(m={localeStrings:{vs:"vs",by:"by"},c3:{}},a=t.extend(!0,{},m,a),null==(i=a.c3).size&&(i.size={}),null==(u=a.c3.size).width&&(u.width=window.innerWidth/1.4),null==(s=a.c3.size).height&&(s.height=window.innerHeight/1.4-50),null==n.type&&(n.type="line"),null==n.horizontal&&(n.horizontal=!1),null==n.stacked&&(n.stacked=!1),Y=r.getRowKeys(),0===Y.length&&Y.push([]),x=r.getColKeys(),0===x.length&&x.push([]),S=function(){var t,e,n;for(n=[],t=0,e=x.length;t<e;t++)A=x[t],n.push(A.join("-"));return n}(),O=0,w=r.aggregatorName,r.valAttrs.length&&(w+="("+r.valAttrs.join(", ")+")"),"scatter"===n.type)for($={x:{},y:{},t:{}},l=r.rowAttrs.concat(r.colAttrs),rt=null!=(D=l[0])?D:"",C=null!=(E=l[1])?E:"",k=l.slice(2).join("-"),nt=rt,""!==C&&(nt+=" "+a.localeStrings.vs+" "+C),""!==k&&(nt+=" "+a.localeStrings.by+" "+k),q=0,F=Y.length;q<F;q++)for(X=Y[q],B=0,K=x.length;B<K;B++)v=x[B],o=r.getAggregator(X,v),null!=o.value()&&(ot=X.concat(v),tt=ot.slice(2).join("-"),""===tt&&(tt="series"),null==(c=$.x)[tt]&&(c[tt]=[]),null==(h=$.y)[tt]&&(h[tt]=[]),ut=null!=(G=ot[0])?G:0,lt=null!=(I=ot[1])?I:0,$.y[tt].push(ut),$.x[tt].push(lt),null==(g=$.t)[tt]&&(g[tt]={}),null==(p=$.t[tt])[lt]&&(p[lt]={}),$.t[tt][lt][ut]=o.value());else{for(R=0,H=0,T=S.length;H<T;H++)lt=S[H],R+=lt.length;for(R>50&&(O=45),b=[],_=0,L=Y.length;_<L;_++){for(X=Y[_],V=X.join("-"),P=[""===V?w:V],Q=0,N=x.length;Q<N;Q++)v=x[Q],at=parseFloat(r.getAggregator(X,v).value()),isFinite(at)?P.push(at):P.push(null);b.push(P)}rt=w,n.horizontal?(C=r.rowAttrs.join("-"),k=r.colAttrs.join("-")):(C=r.colAttrs.join("-"),k=r.rowAttrs.join("-")),nt=w,""!==C&&(nt+=" "+a.localeStrings.vs+" "+C),""!==k&&(nt+=" "+a.localeStrings.by+" "+k)}if(et=t("<p>",{style:"text-align: center; font-weight: bold"}),et.text(nt),z=r.getAggregator([],[]).format,W={axis:{rotated:n.horizontal,y:{label:rt,tick:{}},x:{label:C,tick:{rotate:O,multiline:!1}}},data:{type:n.type,order:null},tooltip:{grouped:!1},color:{pattern:["#3366cc","#dc3912","#ff9900","#109618","#990099","#0099c6","#dd4477","#66aa00","#b82e2e","#316395","#994499","#22aa99","#aaaa11","#6633cc","#e67300","#8b0707","#651067","#329262","#5574a6","#3b3eac"]}},W=t.extend(!0,{},W,a.c3),"scatter"===n.type){it={},U=0,j=[];for(Z in $.x)U+=1,it[Z]=Z+"_x",j.push([Z+"_x"].concat($.x[Z])),j.push([Z].concat($.y[Z]));W.data.xs=it,W.data.columns=j,W.axis.x.tick={fit:!1},1===U&&(W.legend={show:!1}),W.tooltip.format={title:function(){return w},name:function(){return""},value:function(t,e,n,r,a){var o;return o=a[0],tt=o.name,ut=o.value,lt=o.x,z($.t[tt][lt][ut])}}}else W.axis.x.type="category",null==(d=W.axis.y.tick).format&&(d.format=function(t){return z(t)}),W.tooltip.format={value:function(t){return z(t)}},n.horizontal?(y=function(){var t,e,n;for(n=[],e=0,t=b.length;e<t;e++)f=b[e],n.push(f.shift());return n}(),1===y.length&&y[0]===w&&(y=[""]),W.axis.x.categories=y,1===S.length&&""===S[0]&&(S=[w]),b.unshift(S),W.data.rows=b):(W.axis.x.categories=S,W.data.columns=b);return n.stacked&&(n.horizontal?W.data.groups=[function(){var t,e,n;for(n=[],e=0,t=x.length;e<t;e++)lt=x[e],n.push(lt.join("-"));return n}()]:W.data.groups=[function(){var t,e,n;for(n=[],e=0,t=Y.length;e<t;e++)lt=Y[e],n.push(lt.join("-"));return n}()]),J=t("<div>",{style:"display:none;"}).appendTo(t("body")),M=t("<div>").appendTo(J),W.bindto=M[0],e.generate(W),M.detach(),J.remove(),t("<div>").append(et,M)}},t.pivotUtilities.c3_renderers={"Horizontal Bar Chart":n({type:"bar",horizontal:!0}),"Horizontal Stacked Bar Chart":n({type:"bar",stacked:!0,horizontal:!0}),"Bar Chart":n({type:"bar"}),"Stacked Bar Chart":n({type:"bar",stacked:!0}),"Line Chart":n(),"Area Chart":n({type:"area",stacked:!0}),"Scatter Chart":n({type:"scatter"})}})}).call(this);
//# sourceMappingURL=c3_renderers.min.js.map
{"version":3,"sources":["c3_renderers.coffee","c3_renderers.min.js"],"names":["callWithJQuery","pivotModule","exports","module","require","define","amd","jQuery","c3","$","makeC3Chart","chartOpts","pivotData","opts","agg","attrs","base","base1","base2","base3","base4","base5","base6","base7","c","categories","colKey","colKeys","columns","dataColumns","defaults","formatter","fullAggName","groupByTitle","h","hAxisTitle","headers","i","j","k","l","len","len1","len2","len3","len4","m","numCharsInHAxis","numSeries","params","ref","ref1","ref2","ref3","renderArea","result","rotationAngle","row","rowHeader","rowKey","rowKeys","s","scatterData","series","title","titleText","vAxisTitle","val","vals","x","xs","y","localeStrings","vs","by","extend","size","width","window","innerWidth","height","innerHeight","type","horizontal","stacked","getRowKeys","length","push","getColKeys","results","join","aggregatorName","valAttrs","t","rowAttrs","concat","colAttrs","slice","getAggregator","value","parseFloat","isFinite","style","text","format","axis","rotated","label","tick","rotate","multiline","data","order","tooltip","grouped","color","pattern","fit","legend","show","name","a","b","d","e","ref4","v","len5","n","shift","unshift","rows","groups","appendTo","bindto","generate","detach","remove","append","pivotUtilities","c3_renderers","Horizontal Bar Chart","Horizontal Stacked Bar Chart","Bar Chart","Stacked Bar Chart","Line Chart","Area Chart","Scatter Chart","call","this"],"mappings":"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","file":"c3_renderers.min.js","sourcesContent":["callWithJQuery = (pivotModule) ->\n if typeof exports is \"object\" and typeof module is \"object\" # CommonJS\n pivotModule require(\"jquery\"), require(\"c3\")\n else if typeof define is \"function\" and define.amd # AMD\n define [\"jquery\", \"c3\"], pivotModule\n # Plain browser env\n else\n pivotModule jQuery, c3\n\ncallWithJQuery ($, c3) ->\n\n makeC3Chart = (chartOpts = {}) -> (pivotData, opts) ->\n defaults =\n localeStrings: {vs: \"vs\", by: \"by\"}\n c3: {}\n\n opts = $.extend(true, {}, defaults, opts)\n opts.c3.size ?= {}\n opts.c3.size.width ?= window.innerWidth / 1.4\n opts.c3.size.height ?= window.innerHeight / 1.4 - 50\n chartOpts.type ?= \"line\"\n chartOpts.horizontal ?= false\n chartOpts.stacked ?= false\n\n rowKeys = pivotData.getRowKeys()\n rowKeys.push [] if rowKeys.length == 0\n colKeys = pivotData.getColKeys()\n colKeys.push [] if colKeys.length == 0\n\n headers = (h.join(\"-\") for h in colKeys)\n rotationAngle = 0\n\n fullAggName = pivotData.aggregatorName\n if pivotData.valAttrs.length\n fullAggName += \"(#{pivotData.valAttrs.join(\", \")})\"\n\n if chartOpts.type == \"scatter\"\n scatterData = x:{}, y:{}, t:{}\n attrs = pivotData.rowAttrs.concat(pivotData.colAttrs)\n vAxisTitle = attrs[0] ? \"\"\n hAxisTitle = attrs[1] ? \"\"\n groupByTitle = attrs.slice(2).join(\"-\")\n titleText = vAxisTitle\n titleText += \" #{opts.localeStrings.vs} #{hAxisTitle}\" if hAxisTitle != \"\"\n titleText += \" #{opts.localeStrings.by} #{groupByTitle}\" if groupByTitle != \"\"\n for rowKey in rowKeys\n for colKey in colKeys\n agg = pivotData.getAggregator(rowKey, colKey)\n if agg.value()?\n vals = rowKey.concat(colKey)\n series = vals.slice(2).join(\"-\")\n if series == \"\" then series = \"series\"\n scatterData.x[series] ?= []\n scatterData.y[series] ?= []\n y = vals[0] ? 0\n x = vals[1] ? 0\n scatterData.y[series].push y\n scatterData.x[series].push x\n scatterData.t[series] ?= {}\n scatterData.t[series][x] ?= {}\n scatterData.t[series][x][y] = agg.value()\n else\n numCharsInHAxis = 0\n for x in headers\n numCharsInHAxis += x.length\n if numCharsInHAxis > 50\n rotationAngle = 45\n\n columns = []\n for rowKey in rowKeys\n rowHeader = rowKey.join(\"-\")\n row = [if rowHeader == \"\" then fullAggName else rowHeader]\n for colKey in colKeys\n val = parseFloat pivotData.getAggregator(rowKey, colKey).value()\n if isFinite(val)\n row.push(val)\n else\n row.push(null)\n columns.push row\n\n vAxisTitle = fullAggName\n\n if chartOpts.horizontal\n hAxisTitle = pivotData.rowAttrs.join(\"-\")\n groupByTitle = pivotData.colAttrs.join(\"-\")\n else\n hAxisTitle = pivotData.colAttrs.join(\"-\")\n groupByTitle = pivotData.rowAttrs.join(\"-\")\n titleText = fullAggName\n titleText += \" #{opts.localeStrings.vs} #{hAxisTitle}\" if hAxisTitle != \"\"\n titleText += \" #{opts.localeStrings.by} #{groupByTitle}\" if groupByTitle != \"\"\n\n title = $(\"<p>\", {style: \"text-align: center; font-weight: bold\"})\n title.text(titleText)\n\n formatter = pivotData.getAggregator([], []).format\n\n params =\n axis:\n rotated: chartOpts.horizontal\n y:\n label: vAxisTitle\n tick: {}\n x:\n label: hAxisTitle\n tick:\n rotate: rotationAngle\n multiline: false\n data:\n type: chartOpts.type\n order: null\n tooltip:\n grouped: false\n color:\n pattern: [ \"#3366cc\", \"#dc3912\", \"#ff9900\", \"#109618\",\n \"#990099\", \"#0099c6\", \"#dd4477\", \"#66aa00\",\n \"#b82e2e\", \"#316395\", \"#994499\", \"#22aa99\",\n \"#aaaa11\", \"#6633cc\", \"#e67300\", \"#8b0707\",\n \"#651067\", \"#329262\", \"#5574a6\", \"#3b3eac\" ]\n\n\n params = $.extend(true, {}, params, opts.c3)\n if chartOpts.type == \"scatter\"\n xs = {}\n numSeries = 0\n dataColumns = []\n for s of scatterData.x\n numSeries += 1\n xs[s] = s+\"_x\"\n dataColumns.push [s+\"_x\"].concat(scatterData.x[s])\n dataColumns.push [s].concat(scatterData.y[s])\n params.data.xs = xs\n params.data.columns = dataColumns\n params.axis.x.tick = fit: false\n if numSeries == 1\n params.legend = show: false\n params.tooltip.format =\n title: -> fullAggName\n name: -> \"\"\n value: (a,b,c,d,e) ->\n {name: series, value: y, x} = e[0]\n formatter(scatterData.t[series][x][y])\n else\n params.axis.x.type= 'category'\n params.axis.y.tick.format ?= (v) -> formatter(v)\n params.tooltip.format = value: (v) -> formatter(v)\n\n if chartOpts.horizontal\n categories = (c.shift() for c in columns)\n if categories.length == 1 and categories[0] == fullAggName\n categories = [\"\"]\n params.axis.x.categories = categories\n if headers.length == 1 and headers[0] == \"\"\n headers = [fullAggName]\n columns.unshift(headers)\n params.data.rows = columns\n else\n params.axis.x.categories = headers\n params.data.columns = columns\n\n\n if chartOpts.stacked\n if chartOpts.horizontal\n params.data.groups = [x.join(\"-\") for x in colKeys]\n else\n params.data.groups = [x.join(\"-\") for x in rowKeys]\n\n renderArea = $(\"<div>\", style: \"display:none;\").appendTo $(\"body\")\n result = $(\"<div>\").appendTo renderArea\n params.bindto = result[0]\n c3.generate params\n result.detach()\n renderArea.remove()\n return $(\"<div>\").append title, result\n\n $.pivotUtilities.c3_renderers =\n \"Horizontal Bar Chart\": makeC3Chart(type: \"bar\", horizontal: true)\n \"Horizontal Stacked Bar Chart\": makeC3Chart(type: \"bar\", stacked: true, horizontal: true)\n \"Bar Chart\": makeC3Chart(type: \"bar\")\n \"Stacked Bar Chart\": makeC3Chart(type: \"bar\", stacked: true)\n \"Line Chart\": makeC3Chart()\n \"Area Chart\": makeC3Chart(type: \"area\", stacked: true)\n \"Scatter Chart\": makeC3Chart(type: \"scatter\")\n","(function() {\n var callWithJQuery;\n\n callWithJQuery = function(pivotModule) {\n if (typeof exports === \"object\" && typeof module === \"object\") {\n return pivotModule(require(\"jquery\"), require(\"c3\"));\n } else if (typeof define === \"function\" && define.amd) {\n return define([\"jquery\", \"c3\"], pivotModule);\n } else {\n return pivotModule(jQuery, c3);\n }\n };\n\n callWithJQuery(function($, c3) {\n var makeC3Chart;\n makeC3Chart = function(chartOpts) {\n if (chartOpts == null) {\n chartOpts = {};\n }\n return function(pivotData, opts) {\n var agg, attrs, base, base1, base2, base3, base4, base5, base6, base7, c, categories, colKey, colKeys, columns, dataColumns, defaults, formatter, fullAggName, groupByTitle, h, hAxisTitle, headers, i, j, k, l, len, len1, len2, len3, len4, m, numCharsInHAxis, numSeries, params, ref, ref1, ref2, ref3, renderArea, result, rotationAngle, row, rowHeader, rowKey, rowKeys, s, scatterData, series, title, titleText, vAxisTitle, val, vals, x, xs, y;\n defaults = {\n localeStrings: {\n vs: \"vs\",\n by: \"by\"\n },\n c3: {}\n };\n opts = $.extend(true, {}, defaults, opts);\n if ((base = opts.c3).size == null) {\n base.size = {};\n }\n if ((base1 = opts.c3.size).width == null) {\n base1.width = window.innerWidth / 1.4;\n }\n if ((base2 = opts.c3.size).height == null) {\n base2.height = window.innerHeight / 1.4 - 50;\n }\n if (chartOpts.type == null) {\n chartOpts.type = \"line\";\n }\n if (chartOpts.horizontal == null) {\n chartOpts.horizontal = false;\n }\n if (chartOpts.stacked == null) {\n chartOpts.stacked = false;\n }\n rowKeys = pivotData.getRowKeys();\n if (rowKeys.length === 0) {\n rowKeys.push([]);\n }\n colKeys = pivotData.getColKeys();\n if (colKeys.length === 0) {\n colKeys.push([]);\n }\n headers = (function() {\n var i, len, results;\n results = [];\n for (i = 0, len = colKeys.length; i < len; i++) {\n h = colKeys[i];\n results.push(h.join(\"-\"));\n }\n return results;\n })();\n rotationAngle = 0;\n fullAggName = pivotData.aggregatorName;\n if (pivotData.valAttrs.length) {\n fullAggName += \"(\" + (pivotData.valAttrs.join(\", \")) + \")\";\n }\n if (chartOpts.type === \"scatter\") {\n scatterData = {\n x: {},\n y: {},\n t: {}\n };\n attrs = pivotData.rowAttrs.concat(pivotData.colAttrs);\n vAxisTitle = (ref = attrs[0]) != null ? ref : \"\";\n hAxisTitle = (ref1 = attrs[1]) != null ? ref1 : \"\";\n groupByTitle = attrs.slice(2).join(\"-\");\n titleText = vAxisTitle;\n if (hAxisTitle !== \"\") {\n titleText += \" \" + opts.localeStrings.vs + \" \" + hAxisTitle;\n }\n if (groupByTitle !== \"\") {\n titleText += \" \" + opts.localeStrings.by + \" \" + groupByTitle;\n }\n for (i = 0, len = rowKeys.length; i < len; i++) {\n rowKey = rowKeys[i];\n for (j = 0, len1 = colKeys.length; j < len1; j++) {\n colKey = colKeys[j];\n agg = pivotData.getAggregator(rowKey, colKey);\n if (agg.value() != null) {\n vals = rowKey.concat(colKey);\n series = vals.slice(2).join(\"-\");\n if (series === \"\") {\n series = \"series\";\n }\n if ((base3 = scatterData.x)[series] == null) {\n base3[series] = [];\n }\n if ((base4 = scatterData.y)[series] == null) {\n base4[series] = [];\n }\n y = (ref2 = vals[0]) != null ? ref2 : 0;\n x = (ref3 = vals[1]) != null ? ref3 : 0;\n scatterData.y[series].push(y);\n scatterData.x[series].push(x);\n if ((base5 = scatterData.t)[series] == null) {\n base5[series] = {};\n }\n if ((base6 = scatterData.t[series])[x] == null) {\n base6[x] = {};\n }\n scatterData.t[series][x][y] = agg.value();\n }\n }\n }\n } else {\n numCharsInHAxis = 0;\n for (k = 0, len2 = headers.length; k < len2; k++) {\n x = headers[k];\n numCharsInHAxis += x.length;\n }\n if (numCharsInHAxis > 50) {\n rotationAngle = 45;\n }\n columns = [];\n for (l = 0, len3 = rowKeys.length; l < len3; l++) {\n rowKey = rowKeys[l];\n rowHeader = rowKey.join(\"-\");\n row = [rowHeader === \"\" ? fullAggName : rowHeader];\n for (m = 0, len4 = colKeys.length; m < len4; m++) {\n colKey = colKeys[m];\n val = parseFloat(pivotData.getAggregator(rowKey, colKey).value());\n if (isFinite(val)) {\n row.push(val);\n } else {\n row.push(null);\n }\n }\n columns.push(row);\n }\n vAxisTitle = fullAggName;\n if (chartOpts.horizontal) {\n hAxisTitle = pivotData.rowAttrs.join(\"-\");\n groupByTitle = pivotData.colAttrs.join(\"-\");\n } else {\n hAxisTitle = pivotData.colAttrs.join(\"-\");\n groupByTitle = pivotData.rowAttrs.join(\"-\");\n }\n titleText = fullAggName;\n if (hAxisTitle !== \"\") {\n titleText += \" \" + opts.localeStrings.vs + \" \" + hAxisTitle;\n }\n if (groupByTitle !== \"\") {\n titleText += \" \" + opts.localeStrings.by + \" \" + groupByTitle;\n }\n }\n title = $(\"<p>\", {\n style: \"text-align: center; font-weight: bold\"\n });\n title.text(titleText);\n formatter = pivotData.getAggregator([], []).format;\n params = {\n axis: {\n rotated: chartOpts.horizontal,\n y: {\n label: vAxisTitle,\n tick: {}\n },\n x: {\n label: hAxisTitle,\n tick: {\n rotate: rotationAngle,\n multiline: false\n }\n }\n },\n data: {\n type: chartOpts.type,\n order: null\n },\n tooltip: {\n grouped: false\n },\n color: {\n pattern: [\"#3366cc\", \"#dc3912\", \"#ff9900\", \"#109618\", \"#990099\", \"#0099c6\", \"#dd4477\", \"#66aa00\", \"#b82e2e\", \"#316395\", \"#994499\", \"#22aa99\", \"#aaaa11\", \"#6633cc\", \"#e67300\", \"#8b0707\", \"#651067\", \"#329262\", \"#5574a6\", \"#3b3eac\"]\n }\n };\n params = $.extend(true, {}, params, opts.c3);\n if (chartOpts.type === \"scatter\") {\n xs = {};\n numSeries = 0;\n dataColumns = [];\n for (s in scatterData.x) {\n numSeries += 1;\n xs[s] = s + \"_x\";\n dataColumns.push([s + \"_x\"].concat(scatterData.x[s]));\n dataColumns.push([s].concat(scatterData.y[s]));\n }\n params.data.xs = xs;\n params.data.columns = dataColumns;\n params.axis.x.tick = {\n fit: false\n };\n if (numSeries === 1) {\n params.legend = {\n show: false\n };\n }\n params.tooltip.format = {\n title: function() {\n return fullAggName;\n },\n name: function() {\n return \"\";\n },\n value: function(a, b, c, d, e) {\n var ref4;\n ref4 = e[0], series = ref4.name, y = ref4.value, x = ref4.x;\n return formatter(scatterData.t[series][x][y]);\n }\n };\n } else {\n params.axis.x.type = 'category';\n if ((base7 = params.axis.y.tick).format == null) {\n base7.format = function(v) {\n return formatter(v);\n };\n }\n params.tooltip.format = {\n value: function(v) {\n return formatter(v);\n }\n };\n if (chartOpts.horizontal) {\n categories = (function() {\n var len5, n, results;\n results = [];\n for (n = 0, len5 = columns.length; n < len5; n++) {\n c = columns[n];\n results.push(c.shift());\n }\n return results;\n })();\n if (categories.length === 1 && categories[0] === fullAggName) {\n categories = [\"\"];\n }\n params.axis.x.categories = categories;\n if (headers.length === 1 && headers[0] === \"\") {\n headers = [fullAggName];\n }\n columns.unshift(headers);\n params.data.rows = columns;\n } else {\n params.axis.x.categories = headers;\n params.data.columns = columns;\n }\n }\n if (chartOpts.stacked) {\n if (chartOpts.horizontal) {\n params.data.groups = [\n (function() {\n var len5, n, results;\n results = [];\n for (n = 0, len5 = colKeys.length; n < len5; n++) {\n x = colKeys[n];\n results.push(x.join(\"-\"));\n }\n return results;\n })()\n ];\n } else {\n params.data.groups = [\n (function() {\n var len5, n, results;\n results = [];\n for (n = 0, len5 = rowKeys.length; n < len5; n++) {\n x = rowKeys[n];\n results.push(x.join(\"-\"));\n }\n return results;\n })()\n ];\n }\n }\n renderArea = $(\"<div>\", {\n style: \"display:none;\"\n }).appendTo($(\"body\"));\n result = $(\"<div>\").appendTo(renderArea);\n params.bindto = result[0];\n c3.generate(params);\n result.detach();\n renderArea.remove();\n return $(\"<div>\").append(title, result);\n };\n };\n return $.pivotUtilities.c3_renderers = {\n \"Horizontal Bar Chart\": makeC3Chart({\n type: \"bar\",\n horizontal: true\n }),\n \"Horizontal Stacked Bar Chart\": makeC3Chart({\n type: \"bar\",\n stacked: true,\n horizontal: true\n }),\n \"Bar Chart\": makeC3Chart({\n type: \"bar\"\n }),\n \"Stacked Bar Chart\": makeC3Chart({\n type: \"bar\",\n stacked: true\n }),\n \"Line Chart\": makeC3Chart(),\n \"Area Chart\": makeC3Chart({\n type: \"area\",\n stacked: true\n }),\n \"Scatter Chart\": makeC3Chart({\n type: \"scatter\"\n })\n };\n });\n\n}).call(this);\n\n//# sourceMappingURL=c3_renderers.js.map\n"]}
\ No newline at end of file
(function() {
var callWithJQuery;
callWithJQuery = function(pivotModule) {
if (typeof exports === "object" && typeof module === "object") {
return pivotModule(require("jquery"), require("d3"));
} else if (typeof define === "function" && define.amd) {
return define(["jquery", "d3"], pivotModule);
} else {
return pivotModule(jQuery, d3);
}
};
callWithJQuery(function($, d3) {
return $.pivotUtilities.d3_renderers = {
Treemap: function(pivotData, opts) {
var addToTree, color, defaults, height, i, len, ref, result, rowKey, tree, treemap, value, width;
defaults = {
localeStrings: {},
d3: {
width: function() {
return $(window).width() / 1.4;
},
height: function() {
return $(window).height() / 1.4;
}
}
};
opts = $.extend(true, {}, defaults, opts);
result = $("<div>").css({
width: "100%",
height: "100%"
});
tree = {
name: "All",
children: []
};
addToTree = function(tree, path, value) {
var child, i, len, newChild, ref, x;
if (path.length === 0) {
tree.value = value;
return;
}
if (tree.children == null) {
tree.children = [];
}
x = path.shift();
ref = tree.children;
for (i = 0, len = ref.length; i < len; i++) {
child = ref[i];
if (!(child.name === x)) {
continue;
}
addToTree(child, path, value);
return;
}
newChild = {
name: x
};
addToTree(newChild, path, value);
return tree.children.push(newChild);
};
ref = pivotData.getRowKeys();
for (i = 0, len = ref.length; i < len; i++) {
rowKey = ref[i];
value = pivotData.getAggregator(rowKey, []).value();
if (value != null) {
addToTree(tree, rowKey, value);
}
}
color = d3.scale.category10();
width = opts.d3.width();
height = opts.d3.height();
treemap = d3.layout.treemap().size([width, height]).sticky(true).value(function(d) {
return d.size;
});
d3.select(result[0]).append("div").style("position", "relative").style("width", width + "px").style("height", height + "px").datum(tree).selectAll(".node").data(treemap.padding([15, 0, 0, 0]).value(function(d) {
return d.value;
}).nodes).enter().append("div").attr("class", "node").style("background", function(d) {
if (d.children != null) {
return "lightgrey";
} else {
return color(d.name);
}
}).text(function(d) {
return d.name;
}).call(function() {
this.style("left", function(d) {
return d.x + "px";
}).style("top", function(d) {
return d.y + "px";
}).style("width", function(d) {
return Math.max(0, d.dx - 1) + "px";
}).style("height", function(d) {
return Math.max(0, d.dy - 1) + "px";
});
});
return result;
}
};
});
}).call(this);
//# sourceMappingURL=d3_renderers.js.map
{"version":3,"file":"d3_renderers.js","sources":["d3_renderers.coffee"],"names":[],"mappings":"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","sourcesContent":["callWithJQuery = (pivotModule) ->\n if typeof exports is \"object\" and typeof module is \"object\" # CommonJS\n pivotModule require(\"jquery\"), require(\"d3\")\n else if typeof define is \"function\" and define.amd # AMD\n define [\"jquery\", \"d3\"], pivotModule\n # Plain browser env\n else\n pivotModule jQuery, d3\n\ncallWithJQuery ($, d3) ->\n\n $.pivotUtilities.d3_renderers = Treemap: (pivotData, opts) ->\n defaults =\n localeStrings: {}\n d3:\n width: -> $(window).width() / 1.4\n height: -> $(window).height() / 1.4\n\n opts = $.extend(true, {}, defaults, opts)\n\n\n result = $(\"<div>\").css(width: \"100%\", height: \"100%\")\n\n tree = name: \"All\", children: []\n addToTree = (tree, path, value) ->\n if path.length == 0\n tree.value = value\n return\n tree.children ?= []\n x = path.shift()\n for child in tree.children when child.name == x\n addToTree(child, path, value)\n return\n newChild = name: x\n addToTree(newChild, path, value)\n tree.children.push newChild\n\n for rowKey in pivotData.getRowKeys()\n value = pivotData.getAggregator(rowKey, []).value()\n if value?\n addToTree(tree, rowKey, value)\n\n color = d3.scale.category10()\n width = opts.d3.width()\n height = opts.d3.height()\n\n treemap = d3.layout.treemap()\n .size([width, height])\n .sticky(true)\n .value( (d) -> d.size )\n\n d3.select(result[0])\n .append(\"div\")\n .style(\"position\", \"relative\")\n .style(\"width\", width + \"px\")\n .style(\"height\", height + \"px\")\n .datum(tree).selectAll(\".node\")\n .data(treemap.padding([15,0,0,0]).value( (d) -> d.value ).nodes)\n .enter().append(\"div\")\n .attr(\"class\", \"node\")\n .style(\"background\", (d) -> if d.children? then \"lightgrey\" else color(d.name) )\n .text( (d) -> d.name )\n .call ->\n this.style(\"left\", (d) -> d.x+\"px\" )\n .style(\"top\", (d) -> d.y+\"px\" )\n .style(\"width\", (d) -> Math.max(0, d.dx - 1)+\"px\" )\n .style(\"height\",(d) -> Math.max(0, d.dy - 1)+\"px\" )\n return\n\n return result\n\n\n\n"]}
\ No newline at end of file
(function(){var e;(e=function(e){return"object"==typeof exports&&"object"==typeof module?e(require("jquery"),require("d3")):"function"==typeof define&&define.amd?define(["jquery","d3"],e):e(jQuery,d3)})(function(e,t){return e.pivotUtilities.d3_renderers={Treemap:function(n,i){var r,u,l,d,o,a,c,h,f,s,p,y,g;for(l={localeStrings:{},d3:{width:function(){return e(window).width()/1.4},height:function(){return e(window).height()/1.4}}},i=e.extend(!0,{},l,i),h=e("<div>").css({width:"100%",height:"100%"}),s={name:"All",children:[]},r=function(e,t,n){var i,u,l,d,o,a;if(0===t.length)return void(e.value=n);for(null==e.children&&(e.children=[]),a=t.shift(),o=e.children,u=0,l=o.length;u<l;u++)if(i=o[u],i.name===a)return void r(i,t,n);return d={name:a},r(d,t,n),e.children.push(d)},c=n.getRowKeys(),o=0,a=c.length;o<a;o++)f=c[o],y=n.getAggregator(f,[]).value(),null!=y&&r(s,f,y);return u=t.scale.category10(),g=i.d3.width(),d=i.d3.height(),p=t.layout.treemap().size([g,d]).sticky(!0).value(function(e){return e.size}),t.select(h[0]).append("div").style("position","relative").style("width",g+"px").style("height",d+"px").datum(s).selectAll(".node").data(p.padding([15,0,0,0]).value(function(e){return e.value}).nodes).enter().append("div").attr("class","node").style("background",function(e){return null!=e.children?"lightgrey":u(e.name)}).text(function(e){return e.name}).call(function(){this.style("left",function(e){return e.x+"px"}).style("top",function(e){return e.y+"px"}).style("width",function(e){return Math.max(0,e.dx-1)+"px"}).style("height",function(e){return Math.max(0,e.dy-1)+"px"})}),h}}})}).call(this);
//# sourceMappingURL=d3_renderers.min.js.map
{"version":3,"sources":["d3_renderers.coffee","d3_renderers.min.js"],"names":["callWithJQuery","pivotModule","exports","module","require","define","amd","jQuery","d3","$","pivotUtilities","d3_renderers","Treemap","pivotData","opts","addToTree","color","defaults","height","i","len","ref","result","rowKey","tree","treemap","value","width","localeStrings","window","extend","css","name","children","path","child","newChild","x","length","shift","push","getRowKeys","getAggregator","scale","category10","layout","size","sticky","d","select","append","style","datum","selectAll","data","padding","nodes","enter","attr","text","call","this","y","Math","max","dx","dy"],"mappings":"CAAA,WAAA,GAAAA,IAAAA,EAAiB,SAACC,GACd,MAAqB,gBAAXC,UAAyC,gBAAVC,QACrCF,EAAYG,QAAQ,UAAWA,QAAQ,OAClB,kBAAVC,SAAyBA,OAAOC,IAC3CD,QAAQ,SAAU,MAAOJ,GAGzBA,EAAYM,OAAQC,MAEb,SAACC,EAAGD,GCKf,MDHAC,GAAEC,eAAeC,cAAeC,QAAS,SAACC,EAAWC,GACjD,GAAAC,GAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,CAyBA,KAzBAV,GACIW,iBACApB,IACImB,MAAO,WCMT,MDNYlB,GAAEoB,QAAQF,QAAU,KAC9BT,OAAQ,WCQV,MDRaT,GAAEoB,QAAQX,SAAW,OAExCJ,EAAOL,EAAEqB,QAAO,KAAUb,EAAUH,GAGpCQ,EAASb,EAAE,SAASsB,KAAIJ,MAAO,OAAQT,OAAQ,SAE/CM,GAAOQ,KAAM,MAAOC,aACpBlB,EAAY,SAACS,EAAMU,EAAMR,GACrB,GAAAS,GAAAhB,EAAAC,EAAAgB,EAAAf,EAAAgB,CAAA,IAAkB,IAAfH,EAAKI,OAEJ,YADAd,EAAKE,MAAQA,EAIjB,KCamB,MAAjBF,EAAKS,WDfPT,EAAKS,aACLI,EAAIH,EAAKK,QACTlB,EAAAG,EAAAS,SAAAd,EAAA,EAAAC,EAAAC,EAAAiB,OAAAnB,EAAAC,EAAAD,ICoBA,GADAgB,EAAQd,EAAIF,GDnBoBgB,EAAMH,OAAQK,EAE1C,WADAtB,GAAUoB,EAAOD,EAAMR,EC6B7B,OD3BEU,IAAWJ,KAAMK,GACjBtB,EAAUqB,EAAUF,EAAMR,GAC1BF,EAAKS,SAASO,KAAKJ,IAEvBf,EAAAR,EAAA4B,aAAAtB,EAAA,EAAAC,EAAAC,EAAAiB,OAAAnB,EAAAC,EAAAD,IC2BEI,EAASF,EAAIF,GD1BXO,EAAQb,EAAU6B,cAAcnB,MAAYG,QACzC,MAAAA,GACCX,EAAUS,EAAMD,EAAQG,EA6BhC,OA3BAV,GAAQR,EAAGmC,MAAMC,aACjBjB,EAAQb,EAAKN,GAAGmB,QAChBT,EAASJ,EAAKN,GAAGU,SAEjBO,EAAUjB,EAAGqC,OAAOpB,UACfqB,MAAMnB,EAAOT,IACb6B,QAAO,GACPrB,MAAO,SAACsB,GCyBX,MDzBiBA,GAAEF,OAErBtC,EAAGyC,OAAO3B,EAAO,IACZ4B,OAAO,OACHC,MAAM,WAAY,YAClBA,MAAM,QAASxB,EAAQ,MACvBwB,MAAM,SAAUjC,EAAS,MAC7BkC,MAAM5B,GAAM6B,UAAU,SAClBC,KAAK7B,EAAQ8B,SAAS,GAAG,EAAE,EAAE,IAAI7B,MAAO,SAACsB,GCoBhD,MDpBsDA,GAAEtB,QAAQ8B,OAC7DC,QAAQP,OAAO,OACfQ,KAAK,QAAS,QACdP,MAAM,aAAc,SAACH,GAAM,MAAG,OAAAA,EAAAf,SAAiB,YAAiBjB,EAAMgC,EAAEhB,QACxE2B,KAAM,SAACX,GCwBV,MDxBgBA,GAAEhB,OACf4B,KAAK,WACEC,KAAKV,MAAM,OAAS,SAACH,GCyB7B,MDzBmCA,GAAEX,EAAE,OAC1Bc,MAAM,MAAS,SAACH,GC0B7B,MD1BmCA,GAAEc,EAAE,OAC1BX,MAAM,QAAS,SAACH,GC2B7B,MD3BmCe,MAAKC,IAAI,EAAGhB,EAAEiB,GAAK,GAAG,OAC5Cd,MAAM,SAAS,SAACH,GC4B7B,MD5BmCe,MAAKC,IAAI,EAAGhB,EAAEkB,GAAK,GAAG,SAGtD5C,QCiCZsC,KAAKC","file":"d3_renderers.min.js","sourcesContent":["callWithJQuery = (pivotModule) ->\n if typeof exports is \"object\" and typeof module is \"object\" # CommonJS\n pivotModule require(\"jquery\"), require(\"d3\")\n else if typeof define is \"function\" and define.amd # AMD\n define [\"jquery\", \"d3\"], pivotModule\n # Plain browser env\n else\n pivotModule jQuery, d3\n\ncallWithJQuery ($, d3) ->\n\n $.pivotUtilities.d3_renderers = Treemap: (pivotData, opts) ->\n defaults =\n localeStrings: {}\n d3:\n width: -> $(window).width() / 1.4\n height: -> $(window).height() / 1.4\n\n opts = $.extend(true, {}, defaults, opts)\n\n\n result = $(\"<div>\").css(width: \"100%\", height: \"100%\")\n\n tree = name: \"All\", children: []\n addToTree = (tree, path, value) ->\n if path.length == 0\n tree.value = value\n return\n tree.children ?= []\n x = path.shift()\n for child in tree.children when child.name == x\n addToTree(child, path, value)\n return\n newChild = name: x\n addToTree(newChild, path, value)\n tree.children.push newChild\n\n for rowKey in pivotData.getRowKeys()\n value = pivotData.getAggregator(rowKey, []).value()\n if value?\n addToTree(tree, rowKey, value)\n\n color = d3.scale.category10()\n width = opts.d3.width()\n height = opts.d3.height()\n\n treemap = d3.layout.treemap()\n .size([width, height])\n .sticky(true)\n .value( (d) -> d.size )\n\n d3.select(result[0])\n .append(\"div\")\n .style(\"position\", \"relative\")\n .style(\"width\", width + \"px\")\n .style(\"height\", height + \"px\")\n .datum(tree).selectAll(\".node\")\n .data(treemap.padding([15,0,0,0]).value( (d) -> d.value ).nodes)\n .enter().append(\"div\")\n .attr(\"class\", \"node\")\n .style(\"background\", (d) -> if d.children? then \"lightgrey\" else color(d.name) )\n .text( (d) -> d.name )\n .call ->\n this.style(\"left\", (d) -> d.x+\"px\" )\n .style(\"top\", (d) -> d.y+\"px\" )\n .style(\"width\", (d) -> Math.max(0, d.dx - 1)+\"px\" )\n .style(\"height\",(d) -> Math.max(0, d.dy - 1)+\"px\" )\n return\n\n return result\n\n\n\n","(function() {\n var callWithJQuery;\n\n callWithJQuery = function(pivotModule) {\n if (typeof exports === \"object\" && typeof module === \"object\") {\n return pivotModule(require(\"jquery\"), require(\"d3\"));\n } else if (typeof define === \"function\" && define.amd) {\n return define([\"jquery\", \"d3\"], pivotModule);\n } else {\n return pivotModule(jQuery, d3);\n }\n };\n\n callWithJQuery(function($, d3) {\n return $.pivotUtilities.d3_renderers = {\n Treemap: function(pivotData, opts) {\n var addToTree, color, defaults, height, i, len, ref, result, rowKey, tree, treemap, value, width;\n defaults = {\n localeStrings: {},\n d3: {\n width: function() {\n return $(window).width() / 1.4;\n },\n height: function() {\n return $(window).height() / 1.4;\n }\n }\n };\n opts = $.extend(true, {}, defaults, opts);\n result = $(\"<div>\").css({\n width: \"100%\",\n height: \"100%\"\n });\n tree = {\n name: \"All\",\n children: []\n };\n addToTree = function(tree, path, value) {\n var child, i, len, newChild, ref, x;\n if (path.length === 0) {\n tree.value = value;\n return;\n }\n if (tree.children == null) {\n tree.children = [];\n }\n x = path.shift();\n ref = tree.children;\n for (i = 0, len = ref.length; i < len; i++) {\n child = ref[i];\n if (!(child.name === x)) {\n continue;\n }\n addToTree(child, path, value);\n return;\n }\n newChild = {\n name: x\n };\n addToTree(newChild, path, value);\n return tree.children.push(newChild);\n };\n ref = pivotData.getRowKeys();\n for (i = 0, len = ref.length; i < len; i++) {\n rowKey = ref[i];\n value = pivotData.getAggregator(rowKey, []).value();\n if (value != null) {\n addToTree(tree, rowKey, value);\n }\n }\n color = d3.scale.category10();\n width = opts.d3.width();\n height = opts.d3.height();\n treemap = d3.layout.treemap().size([width, height]).sticky(true).value(function(d) {\n return d.size;\n });\n d3.select(result[0]).append(\"div\").style(\"position\", \"relative\").style(\"width\", width + \"px\").style(\"height\", height + \"px\").datum(tree).selectAll(\".node\").data(treemap.padding([15, 0, 0, 0]).value(function(d) {\n return d.value;\n }).nodes).enter().append(\"div\").attr(\"class\", \"node\").style(\"background\", function(d) {\n if (d.children != null) {\n return \"lightgrey\";\n } else {\n return color(d.name);\n }\n }).text(function(d) {\n return d.name;\n }).call(function() {\n this.style(\"left\", function(d) {\n return d.x + \"px\";\n }).style(\"top\", function(d) {\n return d.y + \"px\";\n }).style(\"width\", function(d) {\n return Math.max(0, d.dx - 1) + \"px\";\n }).style(\"height\", function(d) {\n return Math.max(0, d.dy - 1) + \"px\";\n });\n });\n return result;\n }\n };\n });\n\n}).call(this);\n\n//# sourceMappingURL=d3_renderers.js.map\n"]}
\ No newline at end of file
(function() {
var callWithJQuery;
callWithJQuery = function(pivotModule) {
if (typeof exports === "object" && typeof module === "object") {
return pivotModule(require("jquery"));
} else if (typeof define === "function" && define.amd) {
return define(["jquery"], pivotModule);
} else {
return pivotModule(jQuery);
}
};
callWithJQuery(function($) {
return $.pivotUtilities.export_renderers = {
"TSV Export": function(pivotData, opts) {
var agg, colAttrs, colKey, colKeys, defaults, i, j, k, l, len, len1, len2, len3, len4, len5, m, n, r, result, row, rowAttr, rowAttrs, rowKey, rowKeys, text;
defaults = {
localeStrings: {}
};
opts = $.extend(true, {}, defaults, opts);
rowKeys = pivotData.getRowKeys();
if (rowKeys.length === 0) {
rowKeys.push([]);
}
colKeys = pivotData.getColKeys();
if (colKeys.length === 0) {
colKeys.push([]);
}
rowAttrs = pivotData.rowAttrs;
colAttrs = pivotData.colAttrs;
result = [];
row = [];
for (i = 0, len = rowAttrs.length; i < len; i++) {
rowAttr = rowAttrs[i];
row.push(rowAttr);
}
if (colKeys.length === 1 && colKeys[0].length === 0) {
row.push(pivotData.aggregatorName);
} else {
for (j = 0, len1 = colKeys.length; j < len1; j++) {
colKey = colKeys[j];
row.push(colKey.join("-"));
}
}
result.push(row);
for (k = 0, len2 = rowKeys.length; k < len2; k++) {
rowKey = rowKeys[k];
row = [];
for (l = 0, len3 = rowKey.length; l < len3; l++) {
r = rowKey[l];
row.push(r);
}
for (m = 0, len4 = colKeys.length; m < len4; m++) {
colKey = colKeys[m];
agg = pivotData.getAggregator(rowKey, colKey);
if (agg.value() != null) {
row.push(agg.value());
} else {
row.push("");
}
}
result.push(row);
}
text = "";
for (n = 0, len5 = result.length; n < len5; n++) {
r = result[n];
text += r.join("\t") + "\n";
}
return $("<textarea>").text(text).css({
width: ($(window).width() / 2) + "px",
height: ($(window).height() / 2) + "px"
});
}
};
});
}).call(this);
//# sourceMappingURL=export_renderers.js.map
{"version":3,"file":"export_renderers.js","sources":["export_renderers.coffee"],"names":[],"mappings":"AAAA;AAAA,MAAA;;EAAA,cAAA,GAAiB,SAAC,WAAD;IACb,IAAG,OAAO,OAAP,KAAkB,QAAlB,IAA+B,OAAO,MAAP,KAAiB,QAAnD;aACI,WAAA,CAAY,OAAA,CAAQ,QAAR,CAAZ,EADJ;KAAA,MAEK,IAAG,OAAO,MAAP,KAAiB,UAAjB,IAAgC,MAAM,CAAC,GAA1C;aACD,MAAA,CAAO,CAAC,QAAD,CAAP,EAAmB,WAAnB,EADC;KAAA,MAAA;aAID,WAAA,CAAY,MAAZ,EAJC;;EAHQ;;EASjB,cAAA,CAAe,SAAC,CAAD;WAEX,CAAC,CAAC,cAAc,CAAC,gBAAjB,GAAoC;MAAA,YAAA,EAAc,SAAC,SAAD,EAAY,IAAZ;AAC9C,YAAA;QAAA,QAAA,GAAW;UAAA,aAAA,EAAe,EAAf;;QAEX,IAAA,GAAO,CAAC,CAAC,MAAF,CAAS,IAAT,EAAe,EAAf,EAAmB,QAAnB,EAA6B,IAA7B;QAEP,OAAA,GAAU,SAAS,CAAC,UAAV,CAAA;QACV,IAAmB,OAAO,CAAC,MAAR,KAAkB,CAArC;UAAA,OAAO,CAAC,IAAR,CAAa,EAAb,EAAA;;QACA,OAAA,GAAU,SAAS,CAAC,UAAV,CAAA;QACV,IAAmB,OAAO,CAAC,MAAR,KAAkB,CAArC;UAAA,OAAO,CAAC,IAAR,CAAa,EAAb,EAAA;;QACA,QAAA,GAAW,SAAS,CAAC;QACrB,QAAA,GAAW,SAAS,CAAC;QAErB,MAAA,GAAS;QAET,GAAA,GAAM;AACN,aAAA,0CAAA;;UACI,GAAG,CAAC,IAAJ,CAAS,OAAT;AADJ;QAEA,IAAG,OAAO,CAAC,MAAR,KAAkB,CAAlB,IAAwB,OAAQ,CAAA,CAAA,CAAE,CAAC,MAAX,KAAqB,CAAhD;UACI,GAAG,CAAC,IAAJ,CAAS,SAAS,CAAC,cAAnB,EADJ;SAAA,MAAA;AAGI,eAAA,2CAAA;;YACI,GAAG,CAAC,IAAJ,CAAS,MAAM,CAAC,IAAP,CAAY,GAAZ,CAAT;AADJ,WAHJ;;QAMA,MAAM,CAAC,IAAP,CAAY,GAAZ;AAEA,aAAA,2CAAA;;UACI,GAAA,GAAM;AACN,eAAA,0CAAA;;YACI,GAAG,CAAC,IAAJ,CAAS,CAAT;AADJ;AAGA,eAAA,2CAAA;;YACI,GAAA,GAAM,SAAS,CAAC,aAAV,CAAwB,MAAxB,EAAgC,MAAhC;YACN,IAAG,mBAAH;cACI,GAAG,CAAC,IAAJ,CAAS,GAAG,CAAC,KAAJ,CAAA,CAAT,EADJ;aAAA,MAAA;cAGI,GAAG,CAAC,IAAJ,CAAS,EAAT,EAHJ;;AAFJ;UAMA,MAAM,CAAC,IAAP,CAAY,GAAZ;AAXJ;QAYA,IAAA,GAAO;AACP,aAAA,0CAAA;;UACI,IAAA,IAAQ,CAAC,CAAC,IAAF,CAAO,IAAP,CAAA,GAAa;AADzB;AAGA,eAAO,CAAA,CAAE,YAAF,CAAe,CAAC,IAAhB,CAAqB,IAArB,CAA0B,CAAC,GAA3B,CACC;UAAA,KAAA,EAAO,CAAC,CAAA,CAAE,MAAF,CAAS,CAAC,KAAV,CAAA,CAAA,GAAoB,CAArB,CAAA,GAA0B,IAAjC;UACA,MAAA,EAAQ,CAAC,CAAA,CAAE,MAAF,CAAS,CAAC,MAAV,CAAA,CAAA,GAAqB,CAAtB,CAAA,GAA2B,IADnC;SADD;MAzCuC,CAAd;;EAFzB,CAAf;AATA","sourcesContent":["callWithJQuery = (pivotModule) ->\n if typeof exports is \"object\" and typeof module is \"object\" # CommonJS\n pivotModule require(\"jquery\")\n else if typeof define is \"function\" and define.amd # AMD\n define [\"jquery\"], pivotModule\n # Plain browser env\n else\n pivotModule jQuery\n\ncallWithJQuery ($) ->\n\n $.pivotUtilities.export_renderers = \"TSV Export\": (pivotData, opts) ->\n defaults = localeStrings: {}\n\n opts = $.extend(true, {}, defaults, opts)\n\n rowKeys = pivotData.getRowKeys()\n rowKeys.push [] if rowKeys.length == 0\n colKeys = pivotData.getColKeys()\n colKeys.push [] if colKeys.length == 0\n rowAttrs = pivotData.rowAttrs\n colAttrs = pivotData.colAttrs\n\n result = []\n\n row = []\n for rowAttr in rowAttrs\n row.push rowAttr\n if colKeys.length == 1 and colKeys[0].length == 0\n row.push pivotData.aggregatorName\n else\n for colKey in colKeys\n row.push colKey.join(\"-\")\n\n result.push row\n\n for rowKey in rowKeys\n row = []\n for r in rowKey\n row.push r\n\n for colKey in colKeys\n agg = pivotData.getAggregator(rowKey, colKey)\n if agg.value()?\n row.push agg.value()\n else\n row.push \"\"\n result.push row\n text = \"\"\n for r in result\n text += r.join(\"\\t\")+\"\\n\"\n\n return $(\"<textarea>\").text(text).css(\n width: ($(window).width() / 2) + \"px\",\n height: ($(window).height() / 2) + \"px\")\n\n"]}
\ No newline at end of file
(function(){var e;(e=function(e){return"object"==typeof exports&&"object"==typeof module?e(require("jquery")):"function"==typeof define&&define.amd?define(["jquery"],e):e(jQuery)})(function(e){return e.pivotUtilities.export_renderers={"TSV Export":function(t,n){var r,o,h,u,i,l,g,s,p,f,a,c,d,w,x,y,j,v,m,q,A,b,K,S,C;for(i={localeStrings:{}},n=e.extend(!0,{},i,n),S=t.getRowKeys(),0===S.length&&S.push([]),u=t.getColKeys(),0===u.length&&u.push([]),b=t.rowAttrs,o=t.colAttrs,m=[],q=[],l=0,f=b.length;l<f;l++)A=b[l],q.push(A);if(1===u.length&&0===u[0].length)q.push(t.aggregatorName);else for(g=0,a=u.length;g<a;g++)h=u[g],q.push(h.join("-"));for(m.push(q),s=0,c=S.length;s<c;s++){for(K=S[s],q=[],p=0,d=K.length;p<d;p++)v=K[p],q.push(v);for(y=0,w=u.length;y<w;y++)h=u[y],r=t.getAggregator(K,h),null!=r.value()?q.push(r.value()):q.push("");m.push(q)}for(C="",j=0,x=m.length;j<x;j++)v=m[j],C+=v.join("\t")+"\n";return e("<textarea>").text(C).css({width:e(window).width()/2+"px",height:e(window).height()/2+"px"})}}})}).call(this);
//# sourceMappingURL=export_renderers.min.js.map
{"version":3,"sources":["export_renderers.coffee","export_renderers.min.js"],"names":["callWithJQuery","pivotModule","exports","module","require","define","amd","jQuery","$","pivotUtilities","export_renderers","TSV Export","pivotData","opts","agg","colAttrs","colKey","colKeys","defaults","i","j","k","l","len","len1","len2","len3","len4","len5","m","n","r","result","row","rowAttr","rowAttrs","rowKey","rowKeys","text","localeStrings","extend","getRowKeys","length","push","getColKeys","aggregatorName","join","getAggregator","value","css","width","window","height","call","this"],"mappings":"CAAA,WAAA,GAAAA,IAAAA,EAAiB,SAACC,GACd,MAAqB,gBAAXC,UAAyC,gBAAVC,QACrCF,EAAYG,QAAQ,WACC,kBAAVC,SAAyBA,OAAOC,IAC3CD,QAAQ,UAAWJ,GAGnBA,EAAYM,UAEL,SAACC,GCKZ,MDHAA,GAAEC,eAAeC,kBAAmBC,aAAc,SAACC,EAAWC,GAC1D,GAAAC,GAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,CAcA,KAdApB,GAAWqB,kBAEX1B,EAAOL,EAAEgC,QAAO,KAAUtB,EAAUL,GAEpCwB,EAAUzB,EAAU6B,aACiB,IAAlBJ,EAAQK,QAA3BL,EAAQM,SACR1B,EAAUL,EAAUgC,aACiB,IAAlB3B,EAAQyB,QAA3BzB,EAAQ0B,SACRR,EAAWvB,EAAUuB,SACrBpB,EAAWH,EAAUG,SAErBiB,KAEAC,KACAd,EAAA,EAAAI,EAAAY,EAAAO,OAAAvB,EAAAI,EAAAJ,ICQEe,EAAUC,EAAShB,GDPjBc,EAAIU,KAAKT,EACb,IAAqB,IAAlBjB,EAAQyB,QAAqC,IAArBzB,EAAQ,GAAGyB,OAClCT,EAAIU,KAAK/B,EAAUiC,oBAEnB,KAAAzB,EAAA,EAAAI,EAAAP,EAAAyB,OAAAtB,EAAAI,EAAAJ,ICUAJ,EAASC,EAAQG,GDTba,EAAIU,KAAK3B,EAAO8B,KAAK,KAI7B,KAFAd,EAAOW,KAAKV,GAEZZ,EAAA,EAAAI,EAAAY,EAAAK,OAAArB,EAAAI,EAAAJ,IAAA,CAEI,ICSFe,EAASC,EAAQhB,GDVfY,KACAX,EAAA,EAAAI,EAAAU,EAAAM,OAAApB,EAAAI,EAAAJ,ICYAS,EAAIK,EAAOd,GDXPW,EAAIU,KAAKZ,EAEb,KAAAF,EAAA,EAAAF,EAAAV,EAAAyB,OAAAb,EAAAF,EAAAE,ICaAb,EAASC,EAAQY,GDZbf,EAAMF,EAAUmC,cAAcX,EAAQpB,GACnC,MAAAF,EAAAkC,QACCf,EAAIU,KAAK7B,EAAIkC,SAEbf,EAAIU,KAAK,GACjBX,GAAOW,KAAKV,GAEhB,IADAK,EAAO,GACPR,EAAA,EAAAF,EAAAI,EAAAU,OAAAZ,EAAAF,EAAAE,ICiBEC,EAAIC,EAAOF,GDhBTQ,GAAQP,EAAEe,KAAK,MAAM,IAEzB,OAAOtC,GAAE,cAAc8B,KAAKA,GAAMW,KAC1BC,MAAQ1C,EAAE2C,QAAQD,QAAU,EAAK,KACjCE,OAAS5C,EAAE2C,QAAQC,SAAW,EAAK,aCuBhDC,KAAKC","file":"export_renderers.min.js","sourcesContent":["callWithJQuery = (pivotModule) ->\n if typeof exports is \"object\" and typeof module is \"object\" # CommonJS\n pivotModule require(\"jquery\")\n else if typeof define is \"function\" and define.amd # AMD\n define [\"jquery\"], pivotModule\n # Plain browser env\n else\n pivotModule jQuery\n\ncallWithJQuery ($) ->\n\n $.pivotUtilities.export_renderers = \"TSV Export\": (pivotData, opts) ->\n defaults = localeStrings: {}\n\n opts = $.extend(true, {}, defaults, opts)\n\n rowKeys = pivotData.getRowKeys()\n rowKeys.push [] if rowKeys.length == 0\n colKeys = pivotData.getColKeys()\n colKeys.push [] if colKeys.length == 0\n rowAttrs = pivotData.rowAttrs\n colAttrs = pivotData.colAttrs\n\n result = []\n\n row = []\n for rowAttr in rowAttrs\n row.push rowAttr\n if colKeys.length == 1 and colKeys[0].length == 0\n row.push pivotData.aggregatorName\n else\n for colKey in colKeys\n row.push colKey.join(\"-\")\n\n result.push row\n\n for rowKey in rowKeys\n row = []\n for r in rowKey\n row.push r\n\n for colKey in colKeys\n agg = pivotData.getAggregator(rowKey, colKey)\n if agg.value()?\n row.push agg.value()\n else\n row.push \"\"\n result.push row\n text = \"\"\n for r in result\n text += r.join(\"\\t\")+\"\\n\"\n\n return $(\"<textarea>\").text(text).css(\n width: ($(window).width() / 2) + \"px\",\n height: ($(window).height() / 2) + \"px\")\n\n","(function() {\n var callWithJQuery;\n\n callWithJQuery = function(pivotModule) {\n if (typeof exports === \"object\" && typeof module === \"object\") {\n return pivotModule(require(\"jquery\"));\n } else if (typeof define === \"function\" && define.amd) {\n return define([\"jquery\"], pivotModule);\n } else {\n return pivotModule(jQuery);\n }\n };\n\n callWithJQuery(function($) {\n return $.pivotUtilities.export_renderers = {\n \"TSV Export\": function(pivotData, opts) {\n var agg, colAttrs, colKey, colKeys, defaults, i, j, k, l, len, len1, len2, len3, len4, len5, m, n, r, result, row, rowAttr, rowAttrs, rowKey, rowKeys, text;\n defaults = {\n localeStrings: {}\n };\n opts = $.extend(true, {}, defaults, opts);\n rowKeys = pivotData.getRowKeys();\n if (rowKeys.length === 0) {\n rowKeys.push([]);\n }\n colKeys = pivotData.getColKeys();\n if (colKeys.length === 0) {\n colKeys.push([]);\n }\n rowAttrs = pivotData.rowAttrs;\n colAttrs = pivotData.colAttrs;\n result = [];\n row = [];\n for (i = 0, len = rowAttrs.length; i < len; i++) {\n rowAttr = rowAttrs[i];\n row.push(rowAttr);\n }\n if (colKeys.length === 1 && colKeys[0].length === 0) {\n row.push(pivotData.aggregatorName);\n } else {\n for (j = 0, len1 = colKeys.length; j < len1; j++) {\n colKey = colKeys[j];\n row.push(colKey.join(\"-\"));\n }\n }\n result.push(row);\n for (k = 0, len2 = rowKeys.length; k < len2; k++) {\n rowKey = rowKeys[k];\n row = [];\n for (l = 0, len3 = rowKey.length; l < len3; l++) {\n r = rowKey[l];\n row.push(r);\n }\n for (m = 0, len4 = colKeys.length; m < len4; m++) {\n colKey = colKeys[m];\n agg = pivotData.getAggregator(rowKey, colKey);\n if (agg.value() != null) {\n row.push(agg.value());\n } else {\n row.push(\"\");\n }\n }\n result.push(row);\n }\n text = \"\";\n for (n = 0, len5 = result.length; n < len5; n++) {\n r = result[n];\n text += r.join(\"\\t\") + \"\\n\";\n }\n return $(\"<textarea>\").text(text).css({\n width: ($(window).width() / 2) + \"px\",\n height: ($(window).height() / 2) + \"px\"\n });\n }\n };\n });\n\n}).call(this);\n\n//# sourceMappingURL=export_renderers.js.map\n"]}
\ No newline at end of file
(function() {
var callWithJQuery;
callWithJQuery = function(pivotModule) {
if (typeof exports === "object" && typeof module === "object") {
return pivotModule(require("jquery"));
} else if (typeof define === "function" && define.amd) {
return define(["jquery"], pivotModule);
} else {
return pivotModule(jQuery);
}
};
callWithJQuery(function($) {
var makeGoogleChart;
makeGoogleChart = function(chartType, extraOptions) {
return function(pivotData, opts) {
var agg, base, base1, colKey, colKeys, dataArray, dataTable, defaults, fullAggName, groupByTitle, h, hAxisTitle, headers, i, j, len, len1, numCharsInHAxis, options, ref, result, row, rowKey, rowKeys, title, tree2, vAxisTitle, val, wrapper, x, y;
defaults = {
localeStrings: {
vs: "vs",
by: "by"
},
gchart: {}
};
opts = $.extend(true, {}, defaults, opts);
if ((base = opts.gchart).width == null) {
base.width = window.innerWidth / 1.4;
}
if ((base1 = opts.gchart).height == null) {
base1.height = window.innerHeight / 1.4;
}
rowKeys = pivotData.getRowKeys();
if (rowKeys.length === 0) {
rowKeys.push([]);
}
colKeys = pivotData.getColKeys();
if (colKeys.length === 0) {
colKeys.push([]);
}
fullAggName = pivotData.aggregatorName;
if (pivotData.valAttrs.length) {
fullAggName += "(" + (pivotData.valAttrs.join(", ")) + ")";
}
headers = (function() {
var i, len, results;
results = [];
for (i = 0, len = rowKeys.length; i < len; i++) {
h = rowKeys[i];
results.push(h.join("-"));
}
return results;
})();
headers.unshift("");
numCharsInHAxis = 0;
if (chartType === "ScatterChart") {
dataArray = [];
ref = pivotData.tree;
for (y in ref) {
tree2 = ref[y];
for (x in tree2) {
agg = tree2[x];
dataArray.push([parseFloat(x), parseFloat(y), fullAggName + ": \n" + agg.format(agg.value())]);
}
}
dataTable = new google.visualization.DataTable();
dataTable.addColumn('number', pivotData.colAttrs.join("-"));
dataTable.addColumn('number', pivotData.rowAttrs.join("-"));
dataTable.addColumn({
type: "string",
role: "tooltip"
});
dataTable.addRows(dataArray);
hAxisTitle = pivotData.colAttrs.join("-");
vAxisTitle = pivotData.rowAttrs.join("-");
title = "";
} else {
dataArray = [headers];
for (i = 0, len = colKeys.length; i < len; i++) {
colKey = colKeys[i];
row = [colKey.join("-")];
numCharsInHAxis += row[0].length;
for (j = 0, len1 = rowKeys.length; j < len1; j++) {
rowKey = rowKeys[j];
agg = pivotData.getAggregator(rowKey, colKey);
if (agg.value() != null) {
val = agg.value();
if ($.isNumeric(val)) {
if (val < 1) {
row.push(parseFloat(val.toPrecision(3)));
} else {
row.push(parseFloat(val.toFixed(3)));
}
} else {
row.push(val);
}
} else {
row.push(null);
}
}
dataArray.push(row);
}
dataTable = google.visualization.arrayToDataTable(dataArray);
title = vAxisTitle = fullAggName;
hAxisTitle = pivotData.colAttrs.join("-");
if (hAxisTitle !== "") {
title += " " + opts.localeStrings.vs + " " + hAxisTitle;
}
groupByTitle = pivotData.rowAttrs.join("-");
if (groupByTitle !== "") {
title += " " + opts.localeStrings.by + " " + groupByTitle;
}
}
options = {
title: title,
hAxis: {
title: hAxisTitle,
slantedText: numCharsInHAxis > 50
},
vAxis: {
title: vAxisTitle
},
tooltip: {
textStyle: {
fontName: 'Arial',
fontSize: 12
}
}
};
if (chartType === "ColumnChart") {
options.vAxis.minValue = 0;
}
if (chartType === "ScatterChart") {
options.legend = {
position: "none"
};
options.chartArea = {
'width': '80%',
'height': '80%'
};
} else if (dataArray[0].length === 2 && dataArray[0][1] === "") {
options.legend = {
position: "none"
};
}
options = $.extend(true, {}, options, opts.gchart, extraOptions);
result = $("<div>").css({
width: "100%",
height: "100%"
});
wrapper = new google.visualization.ChartWrapper({
dataTable: dataTable,
chartType: chartType,
options: options
});
wrapper.draw(result[0]);
result.bind("dblclick", function() {
var editor;
editor = new google.visualization.ChartEditor();
google.visualization.events.addListener(editor, 'ok', function() {
return editor.getChartWrapper().draw(result[0]);
});
return editor.openDialog(wrapper);
});
return result;
};
};
return $.pivotUtilities.gchart_renderers = {
"Line Chart": makeGoogleChart("LineChart"),
"Bar Chart": makeGoogleChart("ColumnChart"),
"Stacked Bar Chart": makeGoogleChart("ColumnChart", {
isStacked: true
}),
"Area Chart": makeGoogleChart("AreaChart", {
isStacked: true
}),
"Scatter Chart": makeGoogleChart("ScatterChart")
};
});
}).call(this);
//# sourceMappingURL=gchart_renderers.js.map
{"version":3,"file":"gchart_renderers.js","sources":["gchart_renderers.coffee"],"names":[],"mappings":"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","sourcesContent":["callWithJQuery = (pivotModule) ->\n if typeof exports is \"object\" and typeof module is \"object\" # CommonJS\n pivotModule require(\"jquery\")\n else if typeof define is \"function\" and define.amd # AMD\n define [\"jquery\"], pivotModule\n # Plain browser env\n else\n pivotModule jQuery\n\ncallWithJQuery ($) ->\n\n makeGoogleChart = (chartType, extraOptions) -> (pivotData, opts) ->\n defaults =\n localeStrings:\n vs: \"vs\"\n by: \"by\"\n gchart: {}\n\n opts = $.extend(true, {}, defaults, opts)\n opts.gchart.width ?= window.innerWidth / 1.4\n opts.gchart.height ?= window.innerHeight / 1.4\n\n rowKeys = pivotData.getRowKeys()\n rowKeys.push [] if rowKeys.length == 0\n colKeys = pivotData.getColKeys()\n colKeys.push [] if colKeys.length == 0\n fullAggName = pivotData.aggregatorName\n if pivotData.valAttrs.length\n fullAggName += \"(#{pivotData.valAttrs.join(\", \")})\"\n headers = (h.join(\"-\") for h in rowKeys)\n headers.unshift \"\"\n\n numCharsInHAxis = 0\n if chartType == \"ScatterChart\"\n dataArray = []\n for y, tree2 of pivotData.tree\n for x, agg of tree2\n dataArray.push [\n parseFloat(x),\n parseFloat(y),\n fullAggName+\": \\n\"+agg.format(agg.value())\n ]\n dataTable = new google.visualization.DataTable()\n dataTable.addColumn 'number', pivotData.colAttrs.join(\"-\")\n dataTable.addColumn 'number', pivotData.rowAttrs.join(\"-\")\n dataTable.addColumn type: \"string\", role: \"tooltip\"\n dataTable.addRows dataArray\n hAxisTitle = pivotData.colAttrs.join(\"-\")\n vAxisTitle = pivotData.rowAttrs.join(\"-\")\n title = \"\"\n else\n dataArray = [headers]\n for colKey in colKeys\n row = [colKey.join(\"-\")]\n numCharsInHAxis += row[0].length\n for rowKey in rowKeys\n agg = pivotData.getAggregator(rowKey, colKey)\n if agg.value()?\n val = agg.value()\n if $.isNumeric val\n if val < 1\n row.push parseFloat(val.toPrecision(3))\n else\n row.push parseFloat(val.toFixed(3))\n else\n row.push val\n else row.push null\n dataArray.push row\n\n dataTable = google.visualization.arrayToDataTable(dataArray)\n\n title = vAxisTitle = fullAggName\n hAxisTitle = pivotData.colAttrs.join(\"-\")\n title += \" #{opts.localeStrings.vs} #{hAxisTitle}\" if hAxisTitle != \"\"\n groupByTitle = pivotData.rowAttrs.join(\"-\")\n title += \" #{opts.localeStrings.by} #{groupByTitle}\" if groupByTitle != \"\"\n\n options =\n title: title\n hAxis: {title: hAxisTitle, slantedText: numCharsInHAxis > 50}\n vAxis: {title: vAxisTitle}\n tooltip: { textStyle: { fontName: 'Arial', fontSize: 12 } }\n\n if chartType == \"ColumnChart\"\n options.vAxis.minValue = 0\n\n if chartType == \"ScatterChart\"\n options.legend = position: \"none\"\n options.chartArea = {'width': '80%', 'height': '80%'}\n\n else if dataArray[0].length == 2 and dataArray[0][1] == \"\"\n options.legend = position: \"none\"\n\n options = $.extend(true, {}, options, opts.gchart, extraOptions)\n\n result = $(\"<div>\").css(width: \"100%\", height: \"100%\")\n wrapper = new google.visualization.ChartWrapper {dataTable, chartType, options}\n wrapper.draw(result[0])\n result.bind \"dblclick\", ->\n editor = new google.visualization.ChartEditor()\n google.visualization.events.addListener editor, 'ok', ->\n editor.getChartWrapper().draw(result[0])\n editor.openDialog(wrapper)\n return result\n\n $.pivotUtilities.gchart_renderers =\n \"Line Chart\": makeGoogleChart(\"LineChart\")\n \"Bar Chart\": makeGoogleChart(\"ColumnChart\")\n \"Stacked Bar Chart\": makeGoogleChart(\"ColumnChart\", isStacked: true)\n \"Area Chart\": makeGoogleChart(\"AreaChart\", isStacked: true)\n \"Scatter Chart\": makeGoogleChart(\"ScatterChart\")\n"]}
\ No newline at end of file
(function(){var t;(t=function(t){return"object"==typeof exports&&"object"==typeof module?t(require("jquery")):"function"==typeof define&&define.amd?define(["jquery"],t):t(jQuery)})(function(t){var e;return e=function(e,r){return function(n,a){var o,i,l,h,s,u,g,d,c,p,f,v,C,w,A,m,y,j,b,S,x,z,T,k,F,q,D,L,N,W,B;if(d={localeStrings:{vs:"vs",by:"by"},gchart:{}},a=t.extend(!0,{},d,a),null==(i=a.gchart).width&&(i.width=window.innerWidth/1.4),null==(l=a.gchart).height&&(l.height=window.innerHeight/1.4),k=n.getRowKeys(),0===k.length&&k.push([]),s=n.getColKeys(),0===s.length&&s.push([]),c=n.aggregatorName,n.valAttrs.length&&(c+="("+n.valAttrs.join(", ")+")"),C=function(){var t,e,r;for(r=[],t=0,e=k.length;t<e;t++)f=k[t],r.push(f.join("-"));return r}(),C.unshift(""),j=0,"ScatterChart"===e){u=[],S=n.tree;for(B in S){q=S[B];for(W in q)o=q[W],u.push([parseFloat(W),parseFloat(B),c+": \n"+o.format(o.value())])}g=new google.visualization.DataTable,g.addColumn("number",n.colAttrs.join("-")),g.addColumn("number",n.rowAttrs.join("-")),g.addColumn({type:"string",role:"tooltip"}),g.addRows(u),v=n.colAttrs.join("-"),D=n.rowAttrs.join("-"),F=""}else{for(u=[C],w=0,m=s.length;w<m;w++){for(h=s[w],z=[h.join("-")],j+=z[0].length,A=0,y=k.length;A<y;A++)T=k[A],o=n.getAggregator(T,h),null!=o.value()?(L=o.value(),t.isNumeric(L)?L<1?z.push(parseFloat(L.toPrecision(3))):z.push(parseFloat(L.toFixed(3))):z.push(L)):z.push(null);u.push(z)}g=google.visualization.arrayToDataTable(u),F=D=c,v=n.colAttrs.join("-"),""!==v&&(F+=" "+a.localeStrings.vs+" "+v),p=n.rowAttrs.join("-"),""!==p&&(F+=" "+a.localeStrings.by+" "+p)}return b={title:F,hAxis:{title:v,slantedText:j>50},vAxis:{title:D},tooltip:{textStyle:{fontName:"Arial",fontSize:12}}},"ColumnChart"===e&&(b.vAxis.minValue=0),"ScatterChart"===e?(b.legend={position:"none"},b.chartArea={width:"80%",height:"80%"}):2===u[0].length&&""===u[0][1]&&(b.legend={position:"none"}),b=t.extend(!0,{},b,a.gchart,r),x=t("<div>").css({width:"100%",height:"100%"}),N=new google.visualization.ChartWrapper({dataTable:g,chartType:e,options:b}),N.draw(x[0]),x.bind("dblclick",function(){var t;return t=new google.visualization.ChartEditor,google.visualization.events.addListener(t,"ok",function(){return t.getChartWrapper().draw(x[0])}),t.openDialog(N)}),x}},t.pivotUtilities.gchart_renderers={"Line Chart":e("LineChart"),"Bar Chart":e("ColumnChart"),"Stacked Bar Chart":e("ColumnChart",{isStacked:!0}),"Area Chart":e("AreaChart",{isStacked:!0}),"Scatter Chart":e("ScatterChart")}})}).call(this);
//# sourceMappingURL=gchart_renderers.min.js.map
{"version":3,"sources":["gchart_renderers.coffee","gchart_renderers.min.js"],"names":["callWithJQuery","pivotModule","exports","module","require","define","amd","jQuery","$","makeGoogleChart","chartType","extraOptions","pivotData","opts","agg","base","base1","colKey","colKeys","dataArray","dataTable","defaults","fullAggName","groupByTitle","h","hAxisTitle","headers","i","j","len","len1","numCharsInHAxis","options","ref","result","row","rowKey","rowKeys","title","tree2","vAxisTitle","val","wrapper","x","y","localeStrings","vs","by","gchart","extend","width","window","innerWidth","height","innerHeight","getRowKeys","length","push","getColKeys","aggregatorName","valAttrs","join","results","unshift","tree","parseFloat","format","value","google","visualization","DataTable","addColumn","colAttrs","rowAttrs","type","role","addRows","getAggregator","isNumeric","toPrecision","toFixed","arrayToDataTable","hAxis","slantedText","vAxis","tooltip","textStyle","fontName","fontSize","minValue","legend","position","chartArea","css","ChartWrapper","draw","bind","editor","ChartEditor","events","addListener","getChartWrapper","openDialog","pivotUtilities","gchart_renderers","Line Chart","Bar Chart","Stacked Bar Chart","isStacked","Area Chart","Scatter Chart","call","this"],"mappings":"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","file":"gchart_renderers.min.js","sourcesContent":["callWithJQuery = (pivotModule) ->\n if typeof exports is \"object\" and typeof module is \"object\" # CommonJS\n pivotModule require(\"jquery\")\n else if typeof define is \"function\" and define.amd # AMD\n define [\"jquery\"], pivotModule\n # Plain browser env\n else\n pivotModule jQuery\n\ncallWithJQuery ($) ->\n\n makeGoogleChart = (chartType, extraOptions) -> (pivotData, opts) ->\n defaults =\n localeStrings:\n vs: \"vs\"\n by: \"by\"\n gchart: {}\n\n opts = $.extend(true, {}, defaults, opts)\n opts.gchart.width ?= window.innerWidth / 1.4\n opts.gchart.height ?= window.innerHeight / 1.4\n\n rowKeys = pivotData.getRowKeys()\n rowKeys.push [] if rowKeys.length == 0\n colKeys = pivotData.getColKeys()\n colKeys.push [] if colKeys.length == 0\n fullAggName = pivotData.aggregatorName\n if pivotData.valAttrs.length\n fullAggName += \"(#{pivotData.valAttrs.join(\", \")})\"\n headers = (h.join(\"-\") for h in rowKeys)\n headers.unshift \"\"\n\n numCharsInHAxis = 0\n if chartType == \"ScatterChart\"\n dataArray = []\n for y, tree2 of pivotData.tree\n for x, agg of tree2\n dataArray.push [\n parseFloat(x),\n parseFloat(y),\n fullAggName+\": \\n\"+agg.format(agg.value())\n ]\n dataTable = new google.visualization.DataTable()\n dataTable.addColumn 'number', pivotData.colAttrs.join(\"-\")\n dataTable.addColumn 'number', pivotData.rowAttrs.join(\"-\")\n dataTable.addColumn type: \"string\", role: \"tooltip\"\n dataTable.addRows dataArray\n hAxisTitle = pivotData.colAttrs.join(\"-\")\n vAxisTitle = pivotData.rowAttrs.join(\"-\")\n title = \"\"\n else\n dataArray = [headers]\n for colKey in colKeys\n row = [colKey.join(\"-\")]\n numCharsInHAxis += row[0].length\n for rowKey in rowKeys\n agg = pivotData.getAggregator(rowKey, colKey)\n if agg.value()?\n val = agg.value()\n if $.isNumeric val\n if val < 1\n row.push parseFloat(val.toPrecision(3))\n else\n row.push parseFloat(val.toFixed(3))\n else\n row.push val\n else row.push null\n dataArray.push row\n\n dataTable = google.visualization.arrayToDataTable(dataArray)\n\n title = vAxisTitle = fullAggName\n hAxisTitle = pivotData.colAttrs.join(\"-\")\n title += \" #{opts.localeStrings.vs} #{hAxisTitle}\" if hAxisTitle != \"\"\n groupByTitle = pivotData.rowAttrs.join(\"-\")\n title += \" #{opts.localeStrings.by} #{groupByTitle}\" if groupByTitle != \"\"\n\n options =\n title: title\n hAxis: {title: hAxisTitle, slantedText: numCharsInHAxis > 50}\n vAxis: {title: vAxisTitle}\n tooltip: { textStyle: { fontName: 'Arial', fontSize: 12 } }\n\n if chartType == \"ColumnChart\"\n options.vAxis.minValue = 0\n\n if chartType == \"ScatterChart\"\n options.legend = position: \"none\"\n options.chartArea = {'width': '80%', 'height': '80%'}\n\n else if dataArray[0].length == 2 and dataArray[0][1] == \"\"\n options.legend = position: \"none\"\n\n options = $.extend(true, {}, options, opts.gchart, extraOptions)\n\n result = $(\"<div>\").css(width: \"100%\", height: \"100%\")\n wrapper = new google.visualization.ChartWrapper {dataTable, chartType, options}\n wrapper.draw(result[0])\n result.bind \"dblclick\", ->\n editor = new google.visualization.ChartEditor()\n google.visualization.events.addListener editor, 'ok', ->\n editor.getChartWrapper().draw(result[0])\n editor.openDialog(wrapper)\n return result\n\n $.pivotUtilities.gchart_renderers =\n \"Line Chart\": makeGoogleChart(\"LineChart\")\n \"Bar Chart\": makeGoogleChart(\"ColumnChart\")\n \"Stacked Bar Chart\": makeGoogleChart(\"ColumnChart\", isStacked: true)\n \"Area Chart\": makeGoogleChart(\"AreaChart\", isStacked: true)\n \"Scatter Chart\": makeGoogleChart(\"ScatterChart\")\n","(function() {\n var callWithJQuery;\n\n callWithJQuery = function(pivotModule) {\n if (typeof exports === \"object\" && typeof module === \"object\") {\n return pivotModule(require(\"jquery\"));\n } else if (typeof define === \"function\" && define.amd) {\n return define([\"jquery\"], pivotModule);\n } else {\n return pivotModule(jQuery);\n }\n };\n\n callWithJQuery(function($) {\n var makeGoogleChart;\n makeGoogleChart = function(chartType, extraOptions) {\n return function(pivotData, opts) {\n var agg, base, base1, colKey, colKeys, dataArray, dataTable, defaults, fullAggName, groupByTitle, h, hAxisTitle, headers, i, j, len, len1, numCharsInHAxis, options, ref, result, row, rowKey, rowKeys, title, tree2, vAxisTitle, val, wrapper, x, y;\n defaults = {\n localeStrings: {\n vs: \"vs\",\n by: \"by\"\n },\n gchart: {}\n };\n opts = $.extend(true, {}, defaults, opts);\n if ((base = opts.gchart).width == null) {\n base.width = window.innerWidth / 1.4;\n }\n if ((base1 = opts.gchart).height == null) {\n base1.height = window.innerHeight / 1.4;\n }\n rowKeys = pivotData.getRowKeys();\n if (rowKeys.length === 0) {\n rowKeys.push([]);\n }\n colKeys = pivotData.getColKeys();\n if (colKeys.length === 0) {\n colKeys.push([]);\n }\n fullAggName = pivotData.aggregatorName;\n if (pivotData.valAttrs.length) {\n fullAggName += \"(\" + (pivotData.valAttrs.join(\", \")) + \")\";\n }\n headers = (function() {\n var i, len, results;\n results = [];\n for (i = 0, len = rowKeys.length; i < len; i++) {\n h = rowKeys[i];\n results.push(h.join(\"-\"));\n }\n return results;\n })();\n headers.unshift(\"\");\n numCharsInHAxis = 0;\n if (chartType === \"ScatterChart\") {\n dataArray = [];\n ref = pivotData.tree;\n for (y in ref) {\n tree2 = ref[y];\n for (x in tree2) {\n agg = tree2[x];\n dataArray.push([parseFloat(x), parseFloat(y), fullAggName + \": \\n\" + agg.format(agg.value())]);\n }\n }\n dataTable = new google.visualization.DataTable();\n dataTable.addColumn('number', pivotData.colAttrs.join(\"-\"));\n dataTable.addColumn('number', pivotData.rowAttrs.join(\"-\"));\n dataTable.addColumn({\n type: \"string\",\n role: \"tooltip\"\n });\n dataTable.addRows(dataArray);\n hAxisTitle = pivotData.colAttrs.join(\"-\");\n vAxisTitle = pivotData.rowAttrs.join(\"-\");\n title = \"\";\n } else {\n dataArray = [headers];\n for (i = 0, len = colKeys.length; i < len; i++) {\n colKey = colKeys[i];\n row = [colKey.join(\"-\")];\n numCharsInHAxis += row[0].length;\n for (j = 0, len1 = rowKeys.length; j < len1; j++) {\n rowKey = rowKeys[j];\n agg = pivotData.getAggregator(rowKey, colKey);\n if (agg.value() != null) {\n val = agg.value();\n if ($.isNumeric(val)) {\n if (val < 1) {\n row.push(parseFloat(val.toPrecision(3)));\n } else {\n row.push(parseFloat(val.toFixed(3)));\n }\n } else {\n row.push(val);\n }\n } else {\n row.push(null);\n }\n }\n dataArray.push(row);\n }\n dataTable = google.visualization.arrayToDataTable(dataArray);\n title = vAxisTitle = fullAggName;\n hAxisTitle = pivotData.colAttrs.join(\"-\");\n if (hAxisTitle !== \"\") {\n title += \" \" + opts.localeStrings.vs + \" \" + hAxisTitle;\n }\n groupByTitle = pivotData.rowAttrs.join(\"-\");\n if (groupByTitle !== \"\") {\n title += \" \" + opts.localeStrings.by + \" \" + groupByTitle;\n }\n }\n options = {\n title: title,\n hAxis: {\n title: hAxisTitle,\n slantedText: numCharsInHAxis > 50\n },\n vAxis: {\n title: vAxisTitle\n },\n tooltip: {\n textStyle: {\n fontName: 'Arial',\n fontSize: 12\n }\n }\n };\n if (chartType === \"ColumnChart\") {\n options.vAxis.minValue = 0;\n }\n if (chartType === \"ScatterChart\") {\n options.legend = {\n position: \"none\"\n };\n options.chartArea = {\n 'width': '80%',\n 'height': '80%'\n };\n } else if (dataArray[0].length === 2 && dataArray[0][1] === \"\") {\n options.legend = {\n position: \"none\"\n };\n }\n options = $.extend(true, {}, options, opts.gchart, extraOptions);\n result = $(\"<div>\").css({\n width: \"100%\",\n height: \"100%\"\n });\n wrapper = new google.visualization.ChartWrapper({\n dataTable: dataTable,\n chartType: chartType,\n options: options\n });\n wrapper.draw(result[0]);\n result.bind(\"dblclick\", function() {\n var editor;\n editor = new google.visualization.ChartEditor();\n google.visualization.events.addListener(editor, 'ok', function() {\n return editor.getChartWrapper().draw(result[0]);\n });\n return editor.openDialog(wrapper);\n });\n return result;\n };\n };\n return $.pivotUtilities.gchart_renderers = {\n \"Line Chart\": makeGoogleChart(\"LineChart\"),\n \"Bar Chart\": makeGoogleChart(\"ColumnChart\"),\n \"Stacked Bar Chart\": makeGoogleChart(\"ColumnChart\", {\n isStacked: true\n }),\n \"Area Chart\": makeGoogleChart(\"AreaChart\", {\n isStacked: true\n }),\n \"Scatter Chart\": makeGoogleChart(\"ScatterChart\")\n };\n });\n\n}).call(this);\n\n//# sourceMappingURL=gchart_renderers.js.map\n"]}
\ No newline at end of file
(function() {
var callWithJQuery;
callWithJQuery = function(pivotModule) {
if (typeof exports === "object" && typeof module === "object") {
return pivotModule(require("jquery"));
} else if (typeof define === "function" && define.amd) {
return define(["jquery"], pivotModule);
} else {
return pivotModule(jQuery);
}
};
callWithJQuery(function($) {
var csFmt, csFmtInt, csFmtPct, nf, tpl;
nf = $.pivotUtilities.numberFormat;
tpl = $.pivotUtilities.aggregatorTemplates;
csFmt = nf({
thousandsSep: " ",
decimalSep: ","
});
csFmtInt = nf({
digitsAfterDecimal: 0,
thousandsSep: " ",
decimalSep: ","
});
csFmtPct = nf({
digitsAfterDecimal: 1,
scaler: 100,
suffix: "%",
thousandsSep: " ",
decimalSep: ","
});
return $.pivotUtilities.locales.cs = {
localeStrings: {
renderError: "Došlo k chybě při vykreslování výsledků PivotTable.",
computeError: "Došlo k chybě při výpočtu výsledků PivotTable.",
uiRenderError: "Došlo k chybě při vykreslování PivotTable UI.",
selectAll: "Vybrat vše",
selectNone: "Zrušit výběr",
tooMany: "(příliš mnoho položek)",
filterResults: "Hodnoty pro filtr",
apply: "Použít",
cancel: "Zrušit",
totals: "Celkem",
vs: "ku",
by: "z"
},
aggregators: {
"Počet": tpl.count(csFmtInt),
"Počet unikátních hodnot": tpl.countUnique(csFmtInt),
"Výčet unikátních hodnot": tpl.listUnique(", "),
"Součet": tpl.sum(csFmt),
"Celočíselný součet": tpl.sum(csFmtInt),
"Průměr": tpl.average(csFmt),
"Medián": tpl.median(csFmt),
"Rozptyl": tpl["var"](1, csFmt),
"Směrodatná odchylka": tpl.stdev(1, csFmt),
"Minimum": tpl.min(csFmt),
"Maximum": tpl.max(csFmt),
"První": tpl.first(csFmt),
"Poslední": tpl.last(csFmt),
"Součet přes součet": tpl.sumOverSum(csFmt),
"80% horní hranice": tpl.sumOverSumBound80(true, csFmt),
"80% spodní hranice": tpl.sumOverSumBound80(false, csFmt),
"Součet jako poměr z celku": tpl.fractionOf(tpl.sum(), "total", csFmtPct),
"Součet jako poměr z řádků": tpl.fractionOf(tpl.sum(), "row", csFmtPct),
"Součet jako poměr ze sloupců": tpl.fractionOf(tpl.sum(), "col", csFmtPct),
"Počet jako poměr z celku": tpl.fractionOf(tpl.count(), "total", csFmtPct),
"Počet jako poměr z řádků": tpl.fractionOf(tpl.count(), "row", csFmtPct),
"Počet jako poměr ze sloupců": tpl.fractionOf(tpl.count(), "col", csFmtPct)
},
renderers: {
"Tabulka": $.pivotUtilities.renderers["Table"],
"Tabulka se sloupcovým grafem": $.pivotUtilities.renderers["Table Barchart"],
"Teplotní mapa": $.pivotUtilities.renderers["Heatmap"],
"Teplotní mapa z řádků": $.pivotUtilities.renderers["Row Heatmap"],
"Teplotní mapa ze sloupců": $.pivotUtilities.renderers["Col Heatmap"]
}
};
});
}).call(this);
//# sourceMappingURL=pivot.cs.js.map
{"version":3,"file":"pivot.cs.js","sources":["pivot.cs.coffee"],"names":[],"mappings":"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","sourcesContent":["callWithJQuery = (pivotModule) ->\n if typeof exports is \"object\" and typeof module is \"object\" # CommonJS\n pivotModule require(\"jquery\")\n else if typeof define is \"function\" and define.amd # AMD\n define [\"jquery\"], pivotModule\n # Plain browser env\n else\n pivotModule jQuery\n \ncallWithJQuery ($) ->\n nf = $.pivotUtilities.numberFormat\n tpl = $.pivotUtilities.aggregatorTemplates\n\n csFmt = nf(thousandsSep: \" \", decimalSep: \",\")\n csFmtInt = nf(digitsAfterDecimal: 0, thousandsSep: \" \", decimalSep: \",\")\n csFmtPct = nf(digitsAfterDecimal: 1, scaler: 100, suffix: \"%\", thousandsSep: \" \", decimalSep: \",\")\n\n $.pivotUtilities.locales.cs =\n localeStrings:\n renderError: \"Došlo k chybě při vykreslování výsledků PivotTable.\"\n computeError: \"Došlo k chybě při výpočtu výsledků PivotTable.\"\n uiRenderError: \"Došlo k chybě při vykreslování PivotTable UI.\"\n selectAll: \"Vybrat vše\"\n selectNone: \"Zrušit výběr\"\n tooMany: \"(příliš mnoho položek)\"\n filterResults: \"Hodnoty pro filtr\"\n apply: \"Použít\"\n cancel: \"Zrušit\"\n totals: \"Celkem\"\n vs: \"ku\"\n by: \"z\"\n\n aggregators: \n \"Počet\": tpl.count(csFmtInt)\n \"Počet unikátních hodnot\": tpl.countUnique(csFmtInt)\n \"Výčet unikátních hodnot\": tpl.listUnique(\", \")\n \"Součet\": tpl.sum(csFmt)\n \"Celočíselný součet\": tpl.sum(csFmtInt)\n \"Průměr\": tpl.average(csFmt)\n \"Medián\": tpl.median(csFmt),\n \"Rozptyl\": tpl[\"var\"](1, csFmt),\n \"Směrodatná odchylka\": tpl.stdev(1, csFmt),\n \"Minimum\": tpl.min(csFmt)\n \"Maximum\": tpl.max(csFmt)\n \"První\": tpl.first(csFmt)\n \"Poslední\": tpl.last(csFmt)\n \"Součet přes součet\": tpl.sumOverSum(csFmt)\n \"80% horní hranice\": tpl.sumOverSumBound80(true, csFmt)\n \"80% spodní hranice\": tpl.sumOverSumBound80(false, csFmt)\n \"Součet jako poměr z celku\": tpl.fractionOf(tpl.sum(), \"total\", csFmtPct)\n \"Součet jako poměr z řádků\": tpl.fractionOf(tpl.sum(), \"row\", csFmtPct)\n \"Součet jako poměr ze sloupců\": tpl.fractionOf(tpl.sum(), \"col\", csFmtPct)\n \"Počet jako poměr z celku\": tpl.fractionOf(tpl.count(), \"total\", csFmtPct)\n \"Počet jako poměr z řádků\": tpl.fractionOf(tpl.count(), \"row\", csFmtPct)\n \"Počet jako poměr ze sloupců\": tpl.fractionOf(tpl.count(), \"col\", csFmtPct)\n\n renderers:\n \"Tabulka\": $.pivotUtilities.renderers[\"Table\"]\n \"Tabulka se sloupcovým grafem\": $.pivotUtilities.renderers[\"Table Barchart\"]\n \"Teplotní mapa\": $.pivotUtilities.renderers[\"Heatmap\"]\n \"Teplotní mapa z řádků\": $.pivotUtilities.renderers[\"Row Heatmap\"]\n \"Teplotní mapa ze sloupců\": $.pivotUtilities.renderers[\"Col Heatmap\"]\n"]}
\ No newline at end of file
(function(){var e;(e=function(e){return"object"==typeof exports&&"object"==typeof module?e(require("jquery")):"function"==typeof define&&define.amd?define(["jquery"],e):e(jQuery)})(function(e){var o,t,r,i,a;return i=e.pivotUtilities.numberFormat,a=e.pivotUtilities.aggregatorTemplates,o=i({thousandsSep:" ",decimalSep:","}),t=i({digitsAfterDecimal:0,thousandsSep:" ",decimalSep:","}),r=i({digitsAfterDecimal:1,scaler:100,suffix:"%",thousandsSep:" ",decimalSep:","}),e.pivotUtilities.locales.cs={localeStrings:{renderError:"Došlo k chybě při vykreslování výsledků PivotTable.",computeError:"Došlo k chybě při výpočtu výsledků PivotTable.",uiRenderError:"Došlo k chybě při vykreslování PivotTable UI.",selectAll:"Vybrat vše",selectNone:"Zrušit výběr",tooMany:"(příliš mnoho položek)",filterResults:"Hodnoty pro filtr",apply:"Použít",cancel:"Zrušit",totals:"Celkem",vs:"ku",by:"z"},aggregators:{"Počet":a.count(t),"Počet unikátních hodnot":a.countUnique(t),"Výčet unikátních hodnot":a.listUnique(", "),"Součet":a.sum(o),"Celočíselný součet":a.sum(t),"Průměr":a.average(o),"Medián":a.median(o),Rozptyl:a["var"](1,o),"Směrodatná odchylka":a.stdev(1,o),Minimum:a.min(o),Maximum:a.max(o),"První":a.first(o),"Poslední":a.last(o),"Součet přes součet":a.sumOverSum(o),"80% horní hranice":a.sumOverSumBound80(!0,o),"80% spodní hranice":a.sumOverSumBound80(!1,o),"Součet jako poměr z celku":a.fractionOf(a.sum(),"total",r),"Součet jako poměr z řádků":a.fractionOf(a.sum(),"row",r),"Součet jako poměr ze sloupců":a.fractionOf(a.sum(),"col",r),"Počet jako poměr z celku":a.fractionOf(a.count(),"total",r),"Počet jako poměr z řádků":a.fractionOf(a.count(),"row",r),"Počet jako poměr ze sloupců":a.fractionOf(a.count(),"col",r)},renderers:{Tabulka:e.pivotUtilities.renderers.Table,"Tabulka se sloupcovým grafem":e.pivotUtilities.renderers["Table Barchart"],"Teplotní mapa":e.pivotUtilities.renderers.Heatmap,"Teplotní mapa z řádků":e.pivotUtilities.renderers["Row Heatmap"],"Teplotní mapa ze sloupců":e.pivotUtilities.renderers["Col Heatmap"]}}})}).call(this);
//# sourceMappingURL=pivot.cs.min.js.map
{"version":3,"sources":["pivot.cs.coffee","pivot.cs.min.js"],"names":["callWithJQuery","pivotModule","exports","module","require","define","amd","jQuery","$","csFmt","csFmtInt","csFmtPct","nf","tpl","pivotUtilities","numberFormat","aggregatorTemplates","thousandsSep","decimalSep","digitsAfterDecimal","scaler","suffix","locales","cs","localeStrings","renderError","computeError","uiRenderError","selectAll","selectNone","tooMany","filterResults","apply","cancel","totals","vs","by","aggregators","Počet","count","Počet unikátních hodnot","countUnique","Výčet unikátních hodnot","listUnique","Součet","sum","Celočíselný součet","Průměr","average","Medián","median","Rozptyl","Směrodatná odchylka","stdev","Minimum","min","Maximum","max","První","first","Poslední","last","Součet přes součet","sumOverSum","80% horní hranice","sumOverSumBound80","80% spodní hranice","Součet jako poměr z celku","fractionOf","Součet jako poměr z řádků","Součet jako poměr ze sloupců","Počet jako poměr z celku","Počet jako poměr z řádků","Počet jako poměr ze sloupců","renderers","Tabulka","Tabulka se sloupcovým grafem","Teplotní mapa","Teplotní mapa z řádků","Teplotní mapa ze sloupců","call","this"],"mappings":"CAAA,WAAA,GAAAA,IAAAA,EAAiB,SAACC,GACd,MAAqB,gBAAXC,UAAyC,gBAAVC,QACrCF,EAAYG,QAAQ,WACC,kBAAVC,SAAyBA,OAAOC,IAC3CD,QAAQ,UAAWJ,GAGnBA,EAAYM,UAEL,SAACC,GACZ,GAAAC,GAAAC,EAAAC,EAAAC,EAAAC,CCuBA,ODvBAD,GAAKJ,EAAEM,eAAeC,aACtBF,EAAML,EAAEM,eAAeE,oBAEvBP,EAAWG,GAAGK,aAAc,IAAKC,WAAY,MAC7CR,EAAWE,GAAGO,mBAAoB,EAAGF,aAAc,IAAKC,WAAY,MACpEP,EAAWC,GAAGO,mBAAoB,EAAGC,OAAQ,IAAKC,OAAQ,IAAKJ,aAAc,IAAKC,WAAY,MAE9FV,EAAEM,eAAeQ,QAAQC,IACrBC,eACIC,YAAa,sDACbC,aAAc,iDACdC,cAAe,gDACfC,UAAW,aACXC,WAAY,eACZC,QAAS,yBACTC,cAAe,oBACfC,MAAO,SACPC,OAAQ,SACRC,OAAQ,SACRC,GAAI,KACJC,GAAI,KAERC,aACIC,QAAgCzB,EAAI0B,MAAM7B,GAC1C8B,0BAAgC3B,EAAI4B,YAAY/B,GAChDgC,0BAAgC7B,EAAI8B,WAAW,MAC/CC,SAAgC/B,EAAIgC,IAAIpC,GACxCqC,qBAAgCjC,EAAIgC,IAAInC,GACxCqC,SAAgClC,EAAImC,QAAQvC,GAC5CwC,SAAgCpC,EAAIqC,OAAOzC,GAC3C0C,QAAgCtC,EAAI,OAAO,EAAGJ,GAC9C2C,sBAAgCvC,EAAIwC,MAAM,EAAG5C,GAC7C6C,QAAgCzC,EAAI0C,IAAI9C,GACxC+C,QAAgC3C,EAAI4C,IAAIhD,GACxCiD,QAAgC7C,EAAI8C,MAAMlD,GAC1CmD,WAAgC/C,EAAIgD,KAAKpD,GACzCqD,qBAAgCjD,EAAIkD,WAAWtD,GAC/CuD,oBAAgCnD,EAAIoD,mBAAkB,EAAMxD,GAC5DyD,qBAAgCrD,EAAIoD,mBAAkB,EAAOxD,GAC7D0D,4BAAgCtD,EAAIuD,WAAWvD,EAAIgC,MAAa,QAASlC,GACzE0D,4BAAgCxD,EAAIuD,WAAWvD,EAAIgC,MAAS,MAASlC,GACrE2D,+BAAgCzD,EAAIuD,WAAWvD,EAAIgC,MAAS,MAASlC,GACrE4D,2BAAgC1D,EAAIuD,WAAWvD,EAAI0B,QAAS,QAAS5B,GACrE6D,2BAAgC3D,EAAIuD,WAAWvD,EAAI0B,QAAS,MAAS5B,GACrE8D,8BAAgC5D,EAAIuD,WAAWvD,EAAI0B,QAAS,MAAS5B,IAEzE+D,WACIC,QAAgCnE,EAAEM,eAAe4D,UAAU,MAC3DE,+BAAgCpE,EAAEM,eAAe4D,UAAU,kBAC3DG,gBAAgCrE,EAAEM,eAAe4D,UAAU,QAC3DI,wBAAgCtE,EAAEM,eAAe4D,UAAU,eAC3DK,2BAAgCvE,EAAEM,eAAe4D,UAAU,qBCqBpEM,KAAKC","file":"pivot.cs.min.js","sourcesContent":["callWithJQuery = (pivotModule) ->\n if typeof exports is \"object\" and typeof module is \"object\" # CommonJS\n pivotModule require(\"jquery\")\n else if typeof define is \"function\" and define.amd # AMD\n define [\"jquery\"], pivotModule\n # Plain browser env\n else\n pivotModule jQuery\n \ncallWithJQuery ($) ->\n nf = $.pivotUtilities.numberFormat\n tpl = $.pivotUtilities.aggregatorTemplates\n\n csFmt = nf(thousandsSep: \" \", decimalSep: \",\")\n csFmtInt = nf(digitsAfterDecimal: 0, thousandsSep: \" \", decimalSep: \",\")\n csFmtPct = nf(digitsAfterDecimal: 1, scaler: 100, suffix: \"%\", thousandsSep: \" \", decimalSep: \",\")\n\n $.pivotUtilities.locales.cs =\n localeStrings:\n renderError: \"Došlo k chybě při vykreslování výsledků PivotTable.\"\n computeError: \"Došlo k chybě při výpočtu výsledků PivotTable.\"\n uiRenderError: \"Došlo k chybě při vykreslování PivotTable UI.\"\n selectAll: \"Vybrat vše\"\n selectNone: \"Zrušit výběr\"\n tooMany: \"(příliš mnoho položek)\"\n filterResults: \"Hodnoty pro filtr\"\n apply: \"Použít\"\n cancel: \"Zrušit\"\n totals: \"Celkem\"\n vs: \"ku\"\n by: \"z\"\n\n aggregators: \n \"Počet\": tpl.count(csFmtInt)\n \"Počet unikátních hodnot\": tpl.countUnique(csFmtInt)\n \"Výčet unikátních hodnot\": tpl.listUnique(\", \")\n \"Součet\": tpl.sum(csFmt)\n \"Celočíselný součet\": tpl.sum(csFmtInt)\n \"Průměr\": tpl.average(csFmt)\n \"Medián\": tpl.median(csFmt),\n \"Rozptyl\": tpl[\"var\"](1, csFmt),\n \"Směrodatná odchylka\": tpl.stdev(1, csFmt),\n \"Minimum\": tpl.min(csFmt)\n \"Maximum\": tpl.max(csFmt)\n \"První\": tpl.first(csFmt)\n \"Poslední\": tpl.last(csFmt)\n \"Součet přes součet\": tpl.sumOverSum(csFmt)\n \"80% horní hranice\": tpl.sumOverSumBound80(true, csFmt)\n \"80% spodní hranice\": tpl.sumOverSumBound80(false, csFmt)\n \"Součet jako poměr z celku\": tpl.fractionOf(tpl.sum(), \"total\", csFmtPct)\n \"Součet jako poměr z řádků\": tpl.fractionOf(tpl.sum(), \"row\", csFmtPct)\n \"Součet jako poměr ze sloupců\": tpl.fractionOf(tpl.sum(), \"col\", csFmtPct)\n \"Počet jako poměr z celku\": tpl.fractionOf(tpl.count(), \"total\", csFmtPct)\n \"Počet jako poměr z řádků\": tpl.fractionOf(tpl.count(), \"row\", csFmtPct)\n \"Počet jako poměr ze sloupců\": tpl.fractionOf(tpl.count(), \"col\", csFmtPct)\n\n renderers:\n \"Tabulka\": $.pivotUtilities.renderers[\"Table\"]\n \"Tabulka se sloupcovým grafem\": $.pivotUtilities.renderers[\"Table Barchart\"]\n \"Teplotní mapa\": $.pivotUtilities.renderers[\"Heatmap\"]\n \"Teplotní mapa z řádků\": $.pivotUtilities.renderers[\"Row Heatmap\"]\n \"Teplotní mapa ze sloupců\": $.pivotUtilities.renderers[\"Col Heatmap\"]\n","(function() {\n var callWithJQuery;\n\n callWithJQuery = function(pivotModule) {\n if (typeof exports === \"object\" && typeof module === \"object\") {\n return pivotModule(require(\"jquery\"));\n } else if (typeof define === \"function\" && define.amd) {\n return define([\"jquery\"], pivotModule);\n } else {\n return pivotModule(jQuery);\n }\n };\n\n callWithJQuery(function($) {\n var csFmt, csFmtInt, csFmtPct, nf, tpl;\n nf = $.pivotUtilities.numberFormat;\n tpl = $.pivotUtilities.aggregatorTemplates;\n csFmt = nf({\n thousandsSep: \" \",\n decimalSep: \",\"\n });\n csFmtInt = nf({\n digitsAfterDecimal: 0,\n thousandsSep: \" \",\n decimalSep: \",\"\n });\n csFmtPct = nf({\n digitsAfterDecimal: 1,\n scaler: 100,\n suffix: \"%\",\n thousandsSep: \" \",\n decimalSep: \",\"\n });\n return $.pivotUtilities.locales.cs = {\n localeStrings: {\n renderError: \"Došlo k chybě při vykreslování výsledků PivotTable.\",\n computeError: \"Došlo k chybě při výpočtu výsledků PivotTable.\",\n uiRenderError: \"Došlo k chybě při vykreslování PivotTable UI.\",\n selectAll: \"Vybrat vše\",\n selectNone: \"Zrušit výběr\",\n tooMany: \"(příliš mnoho položek)\",\n filterResults: \"Hodnoty pro filtr\",\n apply: \"Použít\",\n cancel: \"Zrušit\",\n totals: \"Celkem\",\n vs: \"ku\",\n by: \"z\"\n },\n aggregators: {\n \"Počet\": tpl.count(csFmtInt),\n \"Počet unikátních hodnot\": tpl.countUnique(csFmtInt),\n \"Výčet unikátních hodnot\": tpl.listUnique(\", \"),\n \"Součet\": tpl.sum(csFmt),\n \"Celočíselný součet\": tpl.sum(csFmtInt),\n \"Průměr\": tpl.average(csFmt),\n \"Medián\": tpl.median(csFmt),\n \"Rozptyl\": tpl[\"var\"](1, csFmt),\n \"Směrodatná odchylka\": tpl.stdev(1, csFmt),\n \"Minimum\": tpl.min(csFmt),\n \"Maximum\": tpl.max(csFmt),\n \"První\": tpl.first(csFmt),\n \"Poslední\": tpl.last(csFmt),\n \"Součet přes součet\": tpl.sumOverSum(csFmt),\n \"80% horní hranice\": tpl.sumOverSumBound80(true, csFmt),\n \"80% spodní hranice\": tpl.sumOverSumBound80(false, csFmt),\n \"Součet jako poměr z celku\": tpl.fractionOf(tpl.sum(), \"total\", csFmtPct),\n \"Součet jako poměr z řádků\": tpl.fractionOf(tpl.sum(), \"row\", csFmtPct),\n \"Součet jako poměr ze sloupců\": tpl.fractionOf(tpl.sum(), \"col\", csFmtPct),\n \"Počet jako poměr z celku\": tpl.fractionOf(tpl.count(), \"total\", csFmtPct),\n \"Počet jako poměr z řádků\": tpl.fractionOf(tpl.count(), \"row\", csFmtPct),\n \"Počet jako poměr ze sloupců\": tpl.fractionOf(tpl.count(), \"col\", csFmtPct)\n },\n renderers: {\n \"Tabulka\": $.pivotUtilities.renderers[\"Table\"],\n \"Tabulka se sloupcovým grafem\": $.pivotUtilities.renderers[\"Table Barchart\"],\n \"Teplotní mapa\": $.pivotUtilities.renderers[\"Heatmap\"],\n \"Teplotní mapa z řádků\": $.pivotUtilities.renderers[\"Row Heatmap\"],\n \"Teplotní mapa ze sloupců\": $.pivotUtilities.renderers[\"Col Heatmap\"]\n }\n };\n });\n\n}).call(this);\n\n//# sourceMappingURL=pivot.cs.js.map\n"]}
\ No newline at end of file
.pvtUi { color: #333; }
table.pvtTable {
font-size: 8pt;
text-align: left;
border-collapse: collapse;
}
table.pvtTable thead tr th, table.pvtTable tbody tr th {
background-color: #e6EEEE;
border: 1px solid #CDCDCD;
font-size: 8pt;
padding: 5px;
}
table.pvtTable .pvtColLabel {text-align: center;}
table.pvtTable .pvtTotalLabel {text-align: right;}
table.pvtTable tbody tr td {
color: #3D3D3D;
padding: 5px;
background-color: #FFF;
border: 1px solid #CDCDCD;
vertical-align: top;
text-align: right;
}
.pvtTotal, .pvtGrandTotal { font-weight: bold; }
.pvtVals { text-align: center; white-space: nowrap;}
.pvtRowOrder, .pvtColOrder {
cursor:pointer;
width: 15px;
margin-left: 5px;
display: inline-block; }
.pvtAggregator { margin-bottom: 5px ;}
.pvtAxisContainer, .pvtVals {
border: 1px solid gray;
background: #EEE;
padding: 5px;
min-width: 20px;
min-height: 20px;
user-select: none;
-webkit-user-select: none;
-moz-user-select: none;
-khtml-user-select: none;
-ms-user-select: none;
}
.pvtAxisContainer li {
padding: 8px 6px;
list-style-type: none;
cursor:move;
}
.pvtAxisContainer li.pvtPlaceholder {
-webkit-border-radius: 5px;
padding: 3px 15px;
-moz-border-radius: 5px;
border-radius: 5px;
border: 1px dashed #aaa;
}
.pvtAxisContainer li span.pvtAttr {
-webkit-text-size-adjust: 100%;
background: #F3F3F3;
border: 1px solid #DEDEDE;
padding: 2px 5px;
white-space:nowrap;
-webkit-border-radius: 5px;
-moz-border-radius: 5px;
border-radius: 5px;
}
.pvtTriangle {
cursor:pointer;
color: grey;
}
.pvtHorizList li { display: inline; }
.pvtVertList { vertical-align: top; }
.pvtFilteredAttribute { font-style: italic }
.pvtFilterBox{
z-index: 100;
width: 300px;
border: 1px solid gray;
background-color: #fff;
position: absolute;
text-align: center;
}
.pvtFilterBox h4{ margin: 15px; }
.pvtFilterBox p { margin: 10px auto; }
.pvtFilterBox label { font-weight: normal; }
.pvtFilterBox input[type='checkbox'] { margin-right: 10px; margin-left: 10px; }
.pvtFilterBox input[type='text'] { width: 230px; }
.pvtFilterBox .count { color: gray; font-weight: normal; margin-left: 3px;}
.pvtCheckContainer{
text-align: left;
font-size: 14px;
white-space: nowrap;
overflow-y: scroll;
width: 100%;
max-height: 250px;
border-top: 1px solid lightgrey;
border-bottom: 1px solid lightgrey;
}
.pvtCheckContainer p{ margin: 5px; }
.pvtRendererArea { padding: 5px;}
(function() {
var callWithJQuery;
callWithJQuery = function(pivotModule) {
if (typeof exports === "object" && typeof module === "object") {
return pivotModule(require("jquery"));
} else if (typeof define === "function" && define.amd) {
return define(["jquery"], pivotModule);
} else {
return pivotModule(jQuery);
}
};
callWithJQuery(function($) {
var nf, o, r, t, tpl;
nf = $.pivotUtilities.numberFormat;
tpl = $.pivotUtilities.aggregatorTemplates;
r = nf({
thousandsSep: ".",
decimalSep: ","
});
t = nf({
digitsAfterDecimal: 0,
thousandsSep: ".",
decimalSep: ","
});
o = nf({
digitsAfterDecimal: 1,
scaler: 100,
suffix: "%",
thousandsSep: ".",
decimalSep: ","
});
return $.pivotUtilities.locales.da = {
localeStrings: {
renderError: "Der opstod en fejl, mens du trak i feltet",
computeError: "Der opstod en fejl ved beregningen af feltet",
uiRenderError: "Der opstod en fejl, mens den grafiske brugerflade blev beregnet",
selectAll: "Vælg alle",
selectNone: "Vælg ingen",
tooMany: "(for mange værdier til at vise)",
filterResults: "Filter værdier",
totals: "I alt",
vs: "vs",
by: "af"
},
aggregators: {
"Antal": tpl.count(t),
"Antal Unikke værdier": tpl.countUnique(t),
"Liste unikke værdier": tpl.listUnique(", "),
"Sum": tpl.sum(r),
"Sum i heltal": tpl.sum(t),
"Gennemsnit": tpl.average(r),
"Minimum": tpl.min(r),
"Maximum": tpl.max(r),
"Sum iforhold til sum": tpl.sumOverSum(r),
"Sum iforhold til sum, øverst 80%": tpl.sumOverSumBound80(!0, r),
"Sum iforhold til sum, lavest 80%": tpl.sumOverSumBound80(!1, r),
"Andel af i alt sum": tpl.fractionOf(tpl.sum(), "total", o),
"Andel af række sum": tpl.fractionOf(tpl.sum(), "row", o),
"Andel af kolonner sum": tpl.fractionOf(tpl.sum(), "col", o),
"Andel af i alt antal": tpl.fractionOf(tpl.count(), "total", o),
"Andel af række antal": tpl.fractionOf(tpl.count(), "row", o),
"Andel af kolonner antal": tpl.fractionOf(tpl.count(), "col", o)
},
renderers: {
"Tabel": $.pivotUtilities.renderers.Table,
"Tabel med søjler": $.pivotUtilities.renderers["Table Barchart"],
"Heatmap": $.pivotUtilities.renderers.Heatmap,
"Heatmap per række": $.pivotUtilities.renderers["Row Heatmap"],
"Heatmap per kolonne": $.pivotUtilities.renderers["Col Heatmap"]
}
};
});
}).call(this);
//# sourceMappingURL=pivot.da.js.map
{"version":3,"file":"pivot.da.js","sources":["pivot.da.coffee"],"names":[],"mappings":"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","sourcesContent":["callWithJQuery = (pivotModule) ->\n if typeof exports is \"object\" and typeof module is \"object\" # CommonJS\n pivotModule require(\"jquery\")\n else if typeof define is \"function\" and define.amd # AMD\n define [\"jquery\"], pivotModule\n # Plain browser env\n else\n pivotModule jQuery\n \ncallWithJQuery ($) ->\n nf = $.pivotUtilities.numberFormat\n tpl = $.pivotUtilities.aggregatorTemplates\n\n r = nf({\n thousandsSep: \".\",\n decimalSep: \",\"\n })\n\n t = nf({\n digitsAfterDecimal: 0,\n thousandsSep: \".\",\n decimalSep: \",\"\n })\n\n o = nf({\n digitsAfterDecimal: 1,\n scaler: 100,\n suffix: \"%\",\n thousandsSep: \".\",\n decimalSep: \",\"\n })\n\n $.pivotUtilities.locales.da = \n localeStrings: \n renderError: \"Der opstod en fejl, mens du trak i feltet\",\n computeError: \"Der opstod en fejl ved beregningen af feltet\",\n uiRenderError: \"Der opstod en fejl, mens den grafiske brugerflade blev beregnet\",\n selectAll: \"Vælg alle\",\n selectNone: \"Vælg ingen\",\n tooMany: \"(for mange værdier til at vise)\",\n filterResults: \"Filter værdier\",\n totals: \"I alt\",\n vs: \"vs\",\n by: \"af\"\n aggregators: \n \"Antal\": tpl.count(t),\n \"Antal Unikke værdier\": tpl.countUnique(t),\n \"Liste unikke værdier\": tpl.listUnique(\", \"),\n \"Sum\": tpl.sum(r),\n \"Sum i heltal\": tpl.sum(t),\n \"Gennemsnit\": tpl.average(r),\n \"Minimum\": tpl.min(r),\n \"Maximum\": tpl.max(r),\n \"Sum iforhold til sum\": tpl.sumOverSum(r),\n \"Sum iforhold til sum, øverst 80%\": tpl.sumOverSumBound80(!0, r),\n \"Sum iforhold til sum, lavest 80%\": tpl.sumOverSumBound80(!1, r),\n \"Andel af i alt sum\": tpl.fractionOf(tpl.sum(), \"total\", o),\n \"Andel af række sum\": tpl.fractionOf(tpl.sum(), \"row\", o),\n \"Andel af kolonner sum\": tpl.fractionOf(tpl.sum(), \"col\", o),\n \"Andel af i alt antal\": tpl.fractionOf(tpl.count(), \"total\", o),\n \"Andel af række antal\": tpl.fractionOf(tpl.count(), \"row\", o),\n \"Andel af kolonner antal\": tpl.fractionOf(tpl.count(), \"col\", o)\n renderers: \n \"Tabel\": $.pivotUtilities.renderers.Table,\n \"Tabel med søjler\": $.pivotUtilities.renderers[\"Table Barchart\"],\n \"Heatmap\": $.pivotUtilities.renderers.Heatmap,\n \"Heatmap per række\": $.pivotUtilities.renderers[\"Row Heatmap\"],\n \"Heatmap per kolonne\": $.pivotUtilities.renderers[\"Col Heatmap\"]\n"]}
\ No newline at end of file
(function(){var e;(e=function(e){return"object"==typeof exports&&"object"==typeof module?e(require("jquery")):"function"==typeof define&&define.amd?define(["jquery"],e):e(jQuery)})(function(e){var t,r,i,a,n;return t=e.pivotUtilities.numberFormat,n=e.pivotUtilities.aggregatorTemplates,i=t({thousandsSep:".",decimalSep:","}),a=t({digitsAfterDecimal:0,thousandsSep:".",decimalSep:","}),r=t({digitsAfterDecimal:1,scaler:100,suffix:"%",thousandsSep:".",decimalSep:","}),e.pivotUtilities.locales.da={localeStrings:{renderError:"Der opstod en fejl, mens du trak i feltet",computeError:"Der opstod en fejl ved beregningen af feltet",uiRenderError:"Der opstod en fejl, mens den grafiske brugerflade blev beregnet",selectAll:"Vælg alle",selectNone:"Vælg ingen",tooMany:"(for mange værdier til at vise)",filterResults:"Filter værdier",totals:"I alt",vs:"vs",by:"af"},aggregators:{Antal:n.count(a),"Antal Unikke værdier":n.countUnique(a),"Liste unikke værdier":n.listUnique(", "),Sum:n.sum(i),"Sum i heltal":n.sum(a),Gennemsnit:n.average(i),Minimum:n.min(i),Maximum:n.max(i),"Sum iforhold til sum":n.sumOverSum(i),"Sum iforhold til sum, øverst 80%":n.sumOverSumBound80(!0,i),"Sum iforhold til sum, lavest 80%":n.sumOverSumBound80(!1,i),"Andel af i alt sum":n.fractionOf(n.sum(),"total",r),"Andel af række sum":n.fractionOf(n.sum(),"row",r),"Andel af kolonner sum":n.fractionOf(n.sum(),"col",r),"Andel af i alt antal":n.fractionOf(n.count(),"total",r),"Andel af række antal":n.fractionOf(n.count(),"row",r),"Andel af kolonner antal":n.fractionOf(n.count(),"col",r)},renderers:{Tabel:e.pivotUtilities.renderers.Table,"Tabel med søjler":e.pivotUtilities.renderers["Table Barchart"],Heatmap:e.pivotUtilities.renderers.Heatmap,"Heatmap per række":e.pivotUtilities.renderers["Row Heatmap"],"Heatmap per kolonne":e.pivotUtilities.renderers["Col Heatmap"]}}})}).call(this);
//# sourceMappingURL=pivot.da.min.js.map
{"version":3,"sources":["pivot.da.coffee","pivot.da.min.js"],"names":["callWithJQuery","pivotModule","exports","module","require","define","amd","jQuery","$","nf","o","r","t","tpl","pivotUtilities","numberFormat","aggregatorTemplates","thousandsSep","decimalSep","digitsAfterDecimal","scaler","suffix","locales","da","localeStrings","renderError","computeError","uiRenderError","selectAll","selectNone","tooMany","filterResults","totals","vs","by","aggregators","Antal","count","Antal Unikke værdier","countUnique","Liste unikke værdier","listUnique","Sum","sum","Sum i heltal","Gennemsnit","average","Minimum","min","Maximum","max","Sum iforhold til sum","sumOverSum","Sum iforhold til sum, øverst 80%","sumOverSumBound80","Sum iforhold til sum, lavest 80%","Andel af i alt sum","fractionOf","Andel af række sum","Andel af kolonner sum","Andel af i alt antal","Andel af række antal","Andel af kolonner antal","renderers","Tabel","Table","Tabel med søjler","Heatmap","Heatmap per række","Heatmap per kolonne","call","this"],"mappings":"CAAA,WAAA,GAAAA,IAAAA,EAAiB,SAACC,GACd,MAAqB,gBAAXC,UAAyC,gBAAVC,QACrCF,EAAYG,QAAQ,WACC,kBAAVC,SAAyBA,OAAOC,IAC3CD,QAAQ,UAAWJ,GAGnBA,EAAYM,UAEL,SAACC,GACZ,GAAAC,GAAAC,EAAAC,EAAAC,EAAAC,CCuBA,ODvBAJ,GAAKD,EAAEM,eAAeC,aACtBF,EAAML,EAAEM,eAAeE,oBAEvBL,EAAIF,GACIQ,aAAc,IACdC,WAAY,MAGpBN,EAAIH,GACIU,mBAAoB,EACpBF,aAAc,IACdC,WAAY,MAGpBR,EAAID,GACIU,mBAAoB,EACpBC,OAAQ,IACRC,OAAQ,IACRJ,aAAc,IACdC,WAAY,MAGpBV,EAAEM,eAAeQ,QAAQC,IACrBC,eACIC,YAAa,4CACbC,aAAc,+CACdC,cAAe,kEACfC,UAAW,YACXC,WAAY,aACZC,QAAS,kCACTC,cAAe,iBACfC,OAAQ,QACRC,GAAI,KACJC,GAAI,MACRC,aACIC,MAASvB,EAAIwB,MAAMzB,GACnB0B,uBAAwBzB,EAAI0B,YAAY3B,GACxC4B,uBAAwB3B,EAAI4B,WAAW,MACvCC,IAAO7B,EAAI8B,IAAIhC,GACfiC,eAAgB/B,EAAI8B,IAAI/B,GACxBiC,WAAchC,EAAIiC,QAAQnC,GAC1BoC,QAAWlC,EAAImC,IAAIrC,GACnBsC,QAAWpC,EAAIqC,IAAIvC,GACnBwC,uBAAwBtC,EAAIuC,WAAWzC,GACvC0C,mCAAoCxC,EAAIyC,mBAAkB,EAAI3C,GAC9D4C,oCAAqC1C,EAAIyC,mBAAkB,EAAI3C,GAC/D6C,qBAAsB3C,EAAI4C,WAAW5C,EAAI8B,MAAO,QAASjC,GACzDgD,qBAAsB7C,EAAI4C,WAAW5C,EAAI8B,MAAO,MAAOjC,GACvDiD,wBAAyB9C,EAAI4C,WAAW5C,EAAI8B,MAAO,MAAOjC,GAC1DkD,uBAAwB/C,EAAI4C,WAAW5C,EAAIwB,QAAS,QAAS3B,GAC7DmD,uBAAwBhD,EAAI4C,WAAW5C,EAAIwB,QAAS,MAAO3B,GAC3DoD,0BAA2BjD,EAAI4C,WAAW5C,EAAIwB,QAAS,MAAO3B,IAClEqD,WACIC,MAASxD,EAAEM,eAAeiD,UAAUE,MACpCC,mBAAoB1D,EAAEM,eAAeiD,UAAU,kBAC/CI,QAAW3D,EAAEM,eAAeiD,UAAUI,QACtCC,oBAAqB5D,EAAEM,eAAeiD,UAAU,eAChDM,sBAAuB7D,EAAEM,eAAeiD,UAAU,qBCQ3DO,KAAKC","file":"pivot.da.min.js","sourcesContent":["callWithJQuery = (pivotModule) ->\n if typeof exports is \"object\" and typeof module is \"object\" # CommonJS\n pivotModule require(\"jquery\")\n else if typeof define is \"function\" and define.amd # AMD\n define [\"jquery\"], pivotModule\n # Plain browser env\n else\n pivotModule jQuery\n \ncallWithJQuery ($) ->\n nf = $.pivotUtilities.numberFormat\n tpl = $.pivotUtilities.aggregatorTemplates\n\n r = nf({\n thousandsSep: \".\",\n decimalSep: \",\"\n })\n\n t = nf({\n digitsAfterDecimal: 0,\n thousandsSep: \".\",\n decimalSep: \",\"\n })\n\n o = nf({\n digitsAfterDecimal: 1,\n scaler: 100,\n suffix: \"%\",\n thousandsSep: \".\",\n decimalSep: \",\"\n })\n\n $.pivotUtilities.locales.da = \n localeStrings: \n renderError: \"Der opstod en fejl, mens du trak i feltet\",\n computeError: \"Der opstod en fejl ved beregningen af feltet\",\n uiRenderError: \"Der opstod en fejl, mens den grafiske brugerflade blev beregnet\",\n selectAll: \"Vælg alle\",\n selectNone: \"Vælg ingen\",\n tooMany: \"(for mange værdier til at vise)\",\n filterResults: \"Filter værdier\",\n totals: \"I alt\",\n vs: \"vs\",\n by: \"af\"\n aggregators: \n \"Antal\": tpl.count(t),\n \"Antal Unikke værdier\": tpl.countUnique(t),\n \"Liste unikke værdier\": tpl.listUnique(\", \"),\n \"Sum\": tpl.sum(r),\n \"Sum i heltal\": tpl.sum(t),\n \"Gennemsnit\": tpl.average(r),\n \"Minimum\": tpl.min(r),\n \"Maximum\": tpl.max(r),\n \"Sum iforhold til sum\": tpl.sumOverSum(r),\n \"Sum iforhold til sum, øverst 80%\": tpl.sumOverSumBound80(!0, r),\n \"Sum iforhold til sum, lavest 80%\": tpl.sumOverSumBound80(!1, r),\n \"Andel af i alt sum\": tpl.fractionOf(tpl.sum(), \"total\", o),\n \"Andel af række sum\": tpl.fractionOf(tpl.sum(), \"row\", o),\n \"Andel af kolonner sum\": tpl.fractionOf(tpl.sum(), \"col\", o),\n \"Andel af i alt antal\": tpl.fractionOf(tpl.count(), \"total\", o),\n \"Andel af række antal\": tpl.fractionOf(tpl.count(), \"row\", o),\n \"Andel af kolonner antal\": tpl.fractionOf(tpl.count(), \"col\", o)\n renderers: \n \"Tabel\": $.pivotUtilities.renderers.Table,\n \"Tabel med søjler\": $.pivotUtilities.renderers[\"Table Barchart\"],\n \"Heatmap\": $.pivotUtilities.renderers.Heatmap,\n \"Heatmap per række\": $.pivotUtilities.renderers[\"Row Heatmap\"],\n \"Heatmap per kolonne\": $.pivotUtilities.renderers[\"Col Heatmap\"]\n","(function() {\n var callWithJQuery;\n\n callWithJQuery = function(pivotModule) {\n if (typeof exports === \"object\" && typeof module === \"object\") {\n return pivotModule(require(\"jquery\"));\n } else if (typeof define === \"function\" && define.amd) {\n return define([\"jquery\"], pivotModule);\n } else {\n return pivotModule(jQuery);\n }\n };\n\n callWithJQuery(function($) {\n var nf, o, r, t, tpl;\n nf = $.pivotUtilities.numberFormat;\n tpl = $.pivotUtilities.aggregatorTemplates;\n r = nf({\n thousandsSep: \".\",\n decimalSep: \",\"\n });\n t = nf({\n digitsAfterDecimal: 0,\n thousandsSep: \".\",\n decimalSep: \",\"\n });\n o = nf({\n digitsAfterDecimal: 1,\n scaler: 100,\n suffix: \"%\",\n thousandsSep: \".\",\n decimalSep: \",\"\n });\n return $.pivotUtilities.locales.da = {\n localeStrings: {\n renderError: \"Der opstod en fejl, mens du trak i feltet\",\n computeError: \"Der opstod en fejl ved beregningen af feltet\",\n uiRenderError: \"Der opstod en fejl, mens den grafiske brugerflade blev beregnet\",\n selectAll: \"Vælg alle\",\n selectNone: \"Vælg ingen\",\n tooMany: \"(for mange værdier til at vise)\",\n filterResults: \"Filter værdier\",\n totals: \"I alt\",\n vs: \"vs\",\n by: \"af\"\n },\n aggregators: {\n \"Antal\": tpl.count(t),\n \"Antal Unikke værdier\": tpl.countUnique(t),\n \"Liste unikke værdier\": tpl.listUnique(\", \"),\n \"Sum\": tpl.sum(r),\n \"Sum i heltal\": tpl.sum(t),\n \"Gennemsnit\": tpl.average(r),\n \"Minimum\": tpl.min(r),\n \"Maximum\": tpl.max(r),\n \"Sum iforhold til sum\": tpl.sumOverSum(r),\n \"Sum iforhold til sum, øverst 80%\": tpl.sumOverSumBound80(!0, r),\n \"Sum iforhold til sum, lavest 80%\": tpl.sumOverSumBound80(!1, r),\n \"Andel af i alt sum\": tpl.fractionOf(tpl.sum(), \"total\", o),\n \"Andel af række sum\": tpl.fractionOf(tpl.sum(), \"row\", o),\n \"Andel af kolonner sum\": tpl.fractionOf(tpl.sum(), \"col\", o),\n \"Andel af i alt antal\": tpl.fractionOf(tpl.count(), \"total\", o),\n \"Andel af række antal\": tpl.fractionOf(tpl.count(), \"row\", o),\n \"Andel af kolonner antal\": tpl.fractionOf(tpl.count(), \"col\", o)\n },\n renderers: {\n \"Tabel\": $.pivotUtilities.renderers.Table,\n \"Tabel med søjler\": $.pivotUtilities.renderers[\"Table Barchart\"],\n \"Heatmap\": $.pivotUtilities.renderers.Heatmap,\n \"Heatmap per række\": $.pivotUtilities.renderers[\"Row Heatmap\"],\n \"Heatmap per kolonne\": $.pivotUtilities.renderers[\"Col Heatmap\"]\n }\n };\n });\n\n}).call(this);\n\n//# sourceMappingURL=pivot.da.js.map\n"]}
\ No newline at end of file
(function() {
var callWithJQuery;
callWithJQuery = function(pivotModule) {
if (typeof exports === "object" && typeof module === "object") {
return pivotModule(require("jquery"));
} else if (typeof define === "function" && define.amd) {
return define(["jquery"], pivotModule);
} else {
return pivotModule(jQuery);
}
};
callWithJQuery(function($) {
var frFmt, frFmtInt, frFmtPct, nf, tpl;
nf = $.pivotUtilities.numberFormat;
tpl = $.pivotUtilities.aggregatorTemplates;
frFmt = nf({
thousandsSep: " ",
decimalSep: ","
});
frFmtInt = nf({
digitsAfterDecimal: 0,
thousandsSep: " ",
decimalSep: ","
});
frFmtPct = nf({
digitsAfterDecimal: 1,
scaler: 100,
suffix: "%",
thousandsSep: " ",
decimalSep: ","
});
return $.pivotUtilities.locales.de = {
localeStrings: {
renderError: "Bei der Darstellung der Pivot-Tabelle ist ein Fehler aufgetreten.",
computeError: "Bei der Berechnung der Pivot-Tabelle ist ein Fehler aufgetreten.",
uiRenderError: "Bei der Darstellung Oberfläche der Pivot-Tabelle ist ein Fehler aufgetreten.",
selectAll: "Alles auswählen",
selectNone: "Nichts auswählen",
tooMany: "(zu viele für Liste)",
filterResults: "Ergebnisse filtern",
totals: "Gesamt",
vs: "gegen",
by: "pro"
},
aggregators: {
"Anzahl": tpl.count(frFmtInt),
"Anzahl eindeutiger Werte": tpl.countUnique(frFmtInt),
"Liste eindeutiger Werte": tpl.listUnique(", "),
"Summe": tpl.sum(frFmt),
"Ganzzahlige Summe": tpl.sum(frFmtInt),
"Durchschnitt": tpl.average(frFmt),
"Minimum": tpl.min(frFmt),
"Maximum": tpl.max(frFmt),
"Summe über Summe": tpl.sumOverSum(frFmt),
"80% Obergrenze": tpl.sumOverSumBound80(true, frFmt),
"80% Untergrenze": tpl.sumOverSumBound80(false, frFmt),
"Summe als Anteil von Gesamt": tpl.fractionOf(tpl.sum(), "total", frFmtPct),
"Summe als Anteil von Zeile": tpl.fractionOf(tpl.sum(), "row", frFmtPct),
"Summe als Anteil von Spalte": tpl.fractionOf(tpl.sum(), "col", frFmtPct),
"Anzahl als Anteil von Gesamt": tpl.fractionOf(tpl.count(), "total", frFmtPct),
"Anzahl als Anteil von Zeile": tpl.fractionOf(tpl.count(), "row", frFmtPct),
"Anzahl als Anteil von Spalte": tpl.fractionOf(tpl.count(), "col", frFmtPct)
},
renderers: {
"Tabelle": $.pivotUtilities.renderers["Table"],
"Tabelle mit Balkendiagramm": $.pivotUtilities.renderers["Table Barchart"],
"Heatmap": $.pivotUtilities.renderers["Heatmap"],
"Heatmap pro Zeile": $.pivotUtilities.renderers["Row Heatmap"],
"Heatmap pro Spalte": $.pivotUtilities.renderers["Col Heatmap"]
}
};
});
}).call(this);
//# sourceMappingURL=pivot.de.js.map
{"version":3,"file":"pivot.de.js","sources":["pivot.de.coffee"],"names":[],"mappings":"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","sourcesContent":["callWithJQuery = (pivotModule) ->\n if typeof exports is \"object\" and typeof module is \"object\" # CommonJS\n pivotModule require(\"jquery\")\n else if typeof define is \"function\" and define.amd # AMD\n define [\"jquery\"], pivotModule\n # Plain browser env\n else\n pivotModule jQuery\n \ncallWithJQuery ($) ->\n nf = $.pivotUtilities.numberFormat\n tpl = $.pivotUtilities.aggregatorTemplates\n\n frFmt = nf(thousandsSep: \" \", decimalSep: \",\")\n frFmtInt = nf(digitsAfterDecimal: 0, thousandsSep: \" \", decimalSep: \",\")\n frFmtPct = nf(digitsAfterDecimal: 1, scaler: 100, suffix: \"%\", thousandsSep: \" \", decimalSep: \",\")\n\n $.pivotUtilities.locales.de = \n localeStrings:\n renderError: \"Bei der Darstellung der Pivot-Tabelle ist ein Fehler aufgetreten.\"\n computeError: \"Bei der Berechnung der Pivot-Tabelle ist ein Fehler aufgetreten.\"\n uiRenderError: \"Bei der Darstellung Oberfläche der Pivot-Tabelle ist ein Fehler aufgetreten.\"\n selectAll: \"Alles auswählen\"\n selectNone: \"Nichts auswählen\"\n tooMany: \"(zu viele für Liste)\"\n filterResults: \"Ergebnisse filtern\"\n totals: \"Gesamt\"\n vs: \"gegen\"\n by: \"pro\"\n\n aggregators: \n \"Anzahl\": tpl.count(frFmtInt)\n \"Anzahl eindeutiger Werte\": tpl.countUnique(frFmtInt)\n \"Liste eindeutiger Werte\": tpl.listUnique(\", \")\n \"Summe\": tpl.sum(frFmt)\n \"Ganzzahlige Summe\":\t\t\ttpl.sum(frFmtInt)\n \"Durchschnitt\": tpl.average(frFmt)\n \"Minimum\": tpl.min(frFmt)\n \"Maximum\": tpl.max(frFmt)\n \"Summe über Summe\": tpl.sumOverSum(frFmt)\n \"80% Obergrenze\": tpl.sumOverSumBound80(true, frFmt)\n \"80% Untergrenze\": \t\ttpl.sumOverSumBound80(false, frFmt)\n \"Summe als Anteil von Gesamt\": tpl.fractionOf(tpl.sum(), \"total\", frFmtPct)\n \"Summe als Anteil von Zeile\": tpl.fractionOf(tpl.sum(), \"row\", frFmtPct)\n \"Summe als Anteil von Spalte\": tpl.fractionOf(tpl.sum(), \"col\", frFmtPct)\n \"Anzahl als Anteil von Gesamt\": tpl.fractionOf(tpl.count(), \"total\", frFmtPct)\n \"Anzahl als Anteil von Zeile\": tpl.fractionOf(tpl.count(), \"row\", frFmtPct)\n \"Anzahl als Anteil von Spalte\": tpl.fractionOf(tpl.count(), \"col\", frFmtPct)\n\n renderers:\n \"Tabelle\": $.pivotUtilities.renderers[\"Table\"]\n \"Tabelle mit Balkendiagramm\": $.pivotUtilities.renderers[\"Table Barchart\"]\n \"Heatmap\": $.pivotUtilities.renderers[\"Heatmap\"]\n \"Heatmap pro Zeile\": $.pivotUtilities.renderers[\"Row Heatmap\"]\n \"Heatmap pro Spalte\": $.pivotUtilities.renderers[\"Col Heatmap\"]\n"]}
\ No newline at end of file
(function(){var e;(e=function(e){return"object"==typeof exports&&"object"==typeof module?e(require("jquery")):"function"==typeof define&&define.amd?define(["jquery"],e):e(jQuery)})(function(e){var t,i,r,l,a;return l=e.pivotUtilities.numberFormat,a=e.pivotUtilities.aggregatorTemplates,t=l({thousandsSep:" ",decimalSep:","}),i=l({digitsAfterDecimal:0,thousandsSep:" ",decimalSep:","}),r=l({digitsAfterDecimal:1,scaler:100,suffix:"%",thousandsSep:" ",decimalSep:","}),e.pivotUtilities.locales.de={localeStrings:{renderError:"Bei der Darstellung der Pivot-Tabelle ist ein Fehler aufgetreten.",computeError:"Bei der Berechnung der Pivot-Tabelle ist ein Fehler aufgetreten.",uiRenderError:"Bei der Darstellung Oberfläche der Pivot-Tabelle ist ein Fehler aufgetreten.",selectAll:"Alles auswählen",selectNone:"Nichts auswählen",tooMany:"(zu viele für Liste)",filterResults:"Ergebnisse filtern",totals:"Gesamt",vs:"gegen",by:"pro"},aggregators:{Anzahl:a.count(i),"Anzahl eindeutiger Werte":a.countUnique(i),"Liste eindeutiger Werte":a.listUnique(", "),Summe:a.sum(t),"Ganzzahlige Summe":a.sum(i),Durchschnitt:a.average(t),Minimum:a.min(t),Maximum:a.max(t),"Summe über Summe":a.sumOverSum(t),"80% Obergrenze":a.sumOverSumBound80(!0,t),"80% Untergrenze":a.sumOverSumBound80(!1,t),"Summe als Anteil von Gesamt":a.fractionOf(a.sum(),"total",r),"Summe als Anteil von Zeile":a.fractionOf(a.sum(),"row",r),"Summe als Anteil von Spalte":a.fractionOf(a.sum(),"col",r),"Anzahl als Anteil von Gesamt":a.fractionOf(a.count(),"total",r),"Anzahl als Anteil von Zeile":a.fractionOf(a.count(),"row",r),"Anzahl als Anteil von Spalte":a.fractionOf(a.count(),"col",r)},renderers:{Tabelle:e.pivotUtilities.renderers.Table,"Tabelle mit Balkendiagramm":e.pivotUtilities.renderers["Table Barchart"],Heatmap:e.pivotUtilities.renderers.Heatmap,"Heatmap pro Zeile":e.pivotUtilities.renderers["Row Heatmap"],"Heatmap pro Spalte":e.pivotUtilities.renderers["Col Heatmap"]}}})}).call(this);
//# sourceMappingURL=pivot.de.min.js.map
{"version":3,"sources":["pivot.de.coffee","pivot.de.min.js"],"names":["callWithJQuery","pivotModule","exports","module","require","define","amd","jQuery","$","frFmt","frFmtInt","frFmtPct","nf","tpl","pivotUtilities","numberFormat","aggregatorTemplates","thousandsSep","decimalSep","digitsAfterDecimal","scaler","suffix","locales","de","localeStrings","renderError","computeError","uiRenderError","selectAll","selectNone","tooMany","filterResults","totals","vs","by","aggregators","Anzahl","count","Anzahl eindeutiger Werte","countUnique","Liste eindeutiger Werte","listUnique","Summe","sum","Ganzzahlige Summe","Durchschnitt","average","Minimum","min","Maximum","max","Summe über Summe","sumOverSum","80% Obergrenze","sumOverSumBound80","80% Untergrenze","Summe als Anteil von Gesamt","fractionOf","Summe als Anteil von Zeile","Summe als Anteil von Spalte","Anzahl als Anteil von Gesamt","Anzahl als Anteil von Zeile","Anzahl als Anteil von Spalte","renderers","Tabelle","Tabelle mit Balkendiagramm","Heatmap","Heatmap pro Zeile","Heatmap pro Spalte","call","this"],"mappings":"CAAA,WAAA,GAAAA,IAAAA,EAAiB,SAACC,GACd,MAAqB,gBAAXC,UAAyC,gBAAVC,QACrCF,EAAYG,QAAQ,WACC,kBAAVC,SAAyBA,OAAOC,IAC3CD,QAAQ,UAAWJ,GAGnBA,EAAYM,UAEL,SAACC,GACZ,GAAAC,GAAAC,EAAAC,EAAAC,EAAAC,CCuBA,ODvBAD,GAAKJ,EAAEM,eAAeC,aACtBF,EAAML,EAAEM,eAAeE,oBAEvBP,EAAWG,GAAGK,aAAc,IAAKC,WAAY,MAC7CR,EAAWE,GAAGO,mBAAoB,EAAGF,aAAc,IAAKC,WAAY,MACpEP,EAAWC,GAAGO,mBAAoB,EAAGC,OAAQ,IAAKC,OAAQ,IAAKJ,aAAc,IAAKC,WAAY,MAE9FV,EAAEM,eAAeQ,QAAQC,IACrBC,eACIC,YAAa,oEACbC,aAAc,mEACdC,cAAe,+EACfC,UAAW,kBACXC,WAAY,mBACZC,QAAS,uBACTC,cAAe,qBACfC,OAAQ,SACRC,GAAI,QACJC,GAAI,OAERC,aACIC,OAAgCvB,EAAIwB,MAAM3B,GAC1C4B,2BAAgCzB,EAAI0B,YAAY7B,GAChD8B,0BAAgC3B,EAAI4B,WAAW,MAC/CC,MAAgC7B,EAAI8B,IAAIlC,GACxCmC,oBAAuB/B,EAAI8B,IAAIjC,GAC/BmC,aAAgChC,EAAIiC,QAAQrC,GAC5CsC,QAAgClC,EAAImC,IAAIvC,GACxCwC,QAAgCpC,EAAIqC,IAAIzC,GACxC0C,mBAAgCtC,EAAIuC,WAAW3C,GAC/C4C,iBAAgCxC,EAAIyC,mBAAkB,EAAM7C,GAC5D8C,kBAA4B1C,EAAIyC,mBAAkB,EAAO7C,GACzD+C,8BAAgC3C,EAAI4C,WAAW5C,EAAI8B,MAAS,QAAShC,GACrE+C,6BAAgC7C,EAAI4C,WAAW5C,EAAI8B,MAAS,MAAShC,GACrEgD,8BAAgC9C,EAAI4C,WAAW5C,EAAI8B,MAAS,MAAShC,GACrEiD,+BAAgC/C,EAAI4C,WAAW5C,EAAIwB,QAAS,QAAS1B,GACrEkD,8BAAgChD,EAAI4C,WAAW5C,EAAIwB,QAAS,MAAS1B,GACrEmD,+BAAgCjD,EAAI4C,WAAW5C,EAAIwB,QAAS,MAAS1B,IAEzEoD,WACIC,QAAgCxD,EAAEM,eAAeiD,UAAU,MAC3DE,6BAAgCzD,EAAEM,eAAeiD,UAAU,kBAC3DG,QAAgC1D,EAAEM,eAAeiD,UAAU,QAC3DI,oBAAgC3D,EAAEM,eAAeiD,UAAU,eAC3DK,qBAAgC5D,EAAEM,eAAeiD,UAAU,qBCqBpEM,KAAKC","file":"pivot.de.min.js","sourcesContent":["callWithJQuery = (pivotModule) ->\n if typeof exports is \"object\" and typeof module is \"object\" # CommonJS\n pivotModule require(\"jquery\")\n else if typeof define is \"function\" and define.amd # AMD\n define [\"jquery\"], pivotModule\n # Plain browser env\n else\n pivotModule jQuery\n \ncallWithJQuery ($) ->\n nf = $.pivotUtilities.numberFormat\n tpl = $.pivotUtilities.aggregatorTemplates\n\n frFmt = nf(thousandsSep: \" \", decimalSep: \",\")\n frFmtInt = nf(digitsAfterDecimal: 0, thousandsSep: \" \", decimalSep: \",\")\n frFmtPct = nf(digitsAfterDecimal: 1, scaler: 100, suffix: \"%\", thousandsSep: \" \", decimalSep: \",\")\n\n $.pivotUtilities.locales.de = \n localeStrings:\n renderError: \"Bei der Darstellung der Pivot-Tabelle ist ein Fehler aufgetreten.\"\n computeError: \"Bei der Berechnung der Pivot-Tabelle ist ein Fehler aufgetreten.\"\n uiRenderError: \"Bei der Darstellung Oberfläche der Pivot-Tabelle ist ein Fehler aufgetreten.\"\n selectAll: \"Alles auswählen\"\n selectNone: \"Nichts auswählen\"\n tooMany: \"(zu viele für Liste)\"\n filterResults: \"Ergebnisse filtern\"\n totals: \"Gesamt\"\n vs: \"gegen\"\n by: \"pro\"\n\n aggregators: \n \"Anzahl\": tpl.count(frFmtInt)\n \"Anzahl eindeutiger Werte\": tpl.countUnique(frFmtInt)\n \"Liste eindeutiger Werte\": tpl.listUnique(\", \")\n \"Summe\": tpl.sum(frFmt)\n \"Ganzzahlige Summe\":\t\t\ttpl.sum(frFmtInt)\n \"Durchschnitt\": tpl.average(frFmt)\n \"Minimum\": tpl.min(frFmt)\n \"Maximum\": tpl.max(frFmt)\n \"Summe über Summe\": tpl.sumOverSum(frFmt)\n \"80% Obergrenze\": tpl.sumOverSumBound80(true, frFmt)\n \"80% Untergrenze\": \t\ttpl.sumOverSumBound80(false, frFmt)\n \"Summe als Anteil von Gesamt\": tpl.fractionOf(tpl.sum(), \"total\", frFmtPct)\n \"Summe als Anteil von Zeile\": tpl.fractionOf(tpl.sum(), \"row\", frFmtPct)\n \"Summe als Anteil von Spalte\": tpl.fractionOf(tpl.sum(), \"col\", frFmtPct)\n \"Anzahl als Anteil von Gesamt\": tpl.fractionOf(tpl.count(), \"total\", frFmtPct)\n \"Anzahl als Anteil von Zeile\": tpl.fractionOf(tpl.count(), \"row\", frFmtPct)\n \"Anzahl als Anteil von Spalte\": tpl.fractionOf(tpl.count(), \"col\", frFmtPct)\n\n renderers:\n \"Tabelle\": $.pivotUtilities.renderers[\"Table\"]\n \"Tabelle mit Balkendiagramm\": $.pivotUtilities.renderers[\"Table Barchart\"]\n \"Heatmap\": $.pivotUtilities.renderers[\"Heatmap\"]\n \"Heatmap pro Zeile\": $.pivotUtilities.renderers[\"Row Heatmap\"]\n \"Heatmap pro Spalte\": $.pivotUtilities.renderers[\"Col Heatmap\"]\n","(function() {\n var callWithJQuery;\n\n callWithJQuery = function(pivotModule) {\n if (typeof exports === \"object\" && typeof module === \"object\") {\n return pivotModule(require(\"jquery\"));\n } else if (typeof define === \"function\" && define.amd) {\n return define([\"jquery\"], pivotModule);\n } else {\n return pivotModule(jQuery);\n }\n };\n\n callWithJQuery(function($) {\n var frFmt, frFmtInt, frFmtPct, nf, tpl;\n nf = $.pivotUtilities.numberFormat;\n tpl = $.pivotUtilities.aggregatorTemplates;\n frFmt = nf({\n thousandsSep: \" \",\n decimalSep: \",\"\n });\n frFmtInt = nf({\n digitsAfterDecimal: 0,\n thousandsSep: \" \",\n decimalSep: \",\"\n });\n frFmtPct = nf({\n digitsAfterDecimal: 1,\n scaler: 100,\n suffix: \"%\",\n thousandsSep: \" \",\n decimalSep: \",\"\n });\n return $.pivotUtilities.locales.de = {\n localeStrings: {\n renderError: \"Bei der Darstellung der Pivot-Tabelle ist ein Fehler aufgetreten.\",\n computeError: \"Bei der Berechnung der Pivot-Tabelle ist ein Fehler aufgetreten.\",\n uiRenderError: \"Bei der Darstellung Oberfläche der Pivot-Tabelle ist ein Fehler aufgetreten.\",\n selectAll: \"Alles auswählen\",\n selectNone: \"Nichts auswählen\",\n tooMany: \"(zu viele für Liste)\",\n filterResults: \"Ergebnisse filtern\",\n totals: \"Gesamt\",\n vs: \"gegen\",\n by: \"pro\"\n },\n aggregators: {\n \"Anzahl\": tpl.count(frFmtInt),\n \"Anzahl eindeutiger Werte\": tpl.countUnique(frFmtInt),\n \"Liste eindeutiger Werte\": tpl.listUnique(\", \"),\n \"Summe\": tpl.sum(frFmt),\n \"Ganzzahlige Summe\": tpl.sum(frFmtInt),\n \"Durchschnitt\": tpl.average(frFmt),\n \"Minimum\": tpl.min(frFmt),\n \"Maximum\": tpl.max(frFmt),\n \"Summe über Summe\": tpl.sumOverSum(frFmt),\n \"80% Obergrenze\": tpl.sumOverSumBound80(true, frFmt),\n \"80% Untergrenze\": tpl.sumOverSumBound80(false, frFmt),\n \"Summe als Anteil von Gesamt\": tpl.fractionOf(tpl.sum(), \"total\", frFmtPct),\n \"Summe als Anteil von Zeile\": tpl.fractionOf(tpl.sum(), \"row\", frFmtPct),\n \"Summe als Anteil von Spalte\": tpl.fractionOf(tpl.sum(), \"col\", frFmtPct),\n \"Anzahl als Anteil von Gesamt\": tpl.fractionOf(tpl.count(), \"total\", frFmtPct),\n \"Anzahl als Anteil von Zeile\": tpl.fractionOf(tpl.count(), \"row\", frFmtPct),\n \"Anzahl als Anteil von Spalte\": tpl.fractionOf(tpl.count(), \"col\", frFmtPct)\n },\n renderers: {\n \"Tabelle\": $.pivotUtilities.renderers[\"Table\"],\n \"Tabelle mit Balkendiagramm\": $.pivotUtilities.renderers[\"Table Barchart\"],\n \"Heatmap\": $.pivotUtilities.renderers[\"Heatmap\"],\n \"Heatmap pro Zeile\": $.pivotUtilities.renderers[\"Row Heatmap\"],\n \"Heatmap pro Spalte\": $.pivotUtilities.renderers[\"Col Heatmap\"]\n }\n };\n });\n\n}).call(this);\n\n//# sourceMappingURL=pivot.de.js.map\n"]}
\ No newline at end of file
(function() {
var callWithJQuery;
callWithJQuery = function(pivotModule) {
if (typeof exports === "object" && typeof module === "object") {
return pivotModule(require("jquery"));
} else if (typeof define === "function" && define.amd) {
return define(["jquery"], pivotModule);
} else {
return pivotModule(jQuery);
}
};
callWithJQuery(function($) {
var frFmt, frFmtInt, frFmtPct, nf, tpl;
nf = $.pivotUtilities.numberFormat;
tpl = $.pivotUtilities.aggregatorTemplates;
frFmt = nf({
thousandsSep: " ",
decimalSep: ","
});
frFmtInt = nf({
digitsAfterDecimal: 0,
thousandsSep: " ",
decimalSep: ","
});
frFmtPct = nf({
digitsAfterDecimal: 1,
scaler: 100,
suffix: "%",
thousandsSep: " ",
decimalSep: ","
});
return $.pivotUtilities.locales.es = {
localeStrings: {
renderError: "Ocurrió un error durante la interpretación de la tabla dinámica.",
computeError: "Ocurrió un error durante el cálculo de la tabla dinámica.",
uiRenderError: "Ocurrió un error durante el dibujado de la tabla dinámica.",
selectAll: "Seleccionar todo",
selectNone: "Deseleccionar todo",
tooMany: "(demasiados valores)",
filterResults: "Filtrar resultados",
totals: "Totales",
vs: "vs",
by: "por"
},
aggregators: {
"Cuenta": tpl.count(frFmtInt),
"Cuenta de valores únicos": tpl.countUnique(frFmtInt),
"Lista de valores únicos": tpl.listUnique(", "),
"Suma": tpl.sum(frFmt),
"Suma de enteros": tpl.sum(frFmtInt),
"Promedio": tpl.average(frFmt),
"Mínimo": tpl.min(frFmt),
"Máximo": tpl.max(frFmt),
"Suma de sumas": tpl.sumOverSum(frFmt),
"Cota 80% superior": tpl.sumOverSumBound80(true, frFmt),
"Cota 80% inferior": tpl.sumOverSumBound80(false, frFmt),
"Proporción del total (suma)": tpl.fractionOf(tpl.sum(), "total", frFmtPct),
"Proporción de la fila (suma)": tpl.fractionOf(tpl.sum(), "row", frFmtPct),
"Proporción de la columna (suma)": tpl.fractionOf(tpl.sum(), "col", frFmtPct),
"Proporción del total (cuenta)": tpl.fractionOf(tpl.count(), "total", frFmtPct),
"Proporción de la fila (cuenta)": tpl.fractionOf(tpl.count(), "row", frFmtPct),
"Proporción de la columna (cuenta)": tpl.fractionOf(tpl.count(), "col", frFmtPct)
},
renderers: {
"Tabla": $.pivotUtilities.renderers["Table"],
"Tabla con barras": $.pivotUtilities.renderers["Table Barchart"],
"Heatmap": $.pivotUtilities.renderers["Heatmap"],
"Heatmap por filas": $.pivotUtilities.renderers["Row Heatmap"],
"Heatmap por columnas": $.pivotUtilities.renderers["Col Heatmap"]
}
};
});
}).call(this);
//# sourceMappingURL=pivot.es.js.map
{"version":3,"file":"pivot.es.js","sources":["pivot.es.coffee"],"names":[],"mappings":"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","sourcesContent":["callWithJQuery = (pivotModule) ->\n if typeof exports is \"object\" and typeof module is \"object\" # CommonJS\n pivotModule require(\"jquery\")\n else if typeof define is \"function\" and define.amd # AMD\n define [\"jquery\"], pivotModule\n # Plain browser env\n else\n pivotModule jQuery\n \ncallWithJQuery ($) ->\n nf = $.pivotUtilities.numberFormat\n tpl = $.pivotUtilities.aggregatorTemplates\n\n frFmt = nf(thousandsSep: \" \", decimalSep: \",\")\n frFmtInt = nf(digitsAfterDecimal: 0, thousandsSep: \" \", decimalSep: \",\")\n frFmtPct = nf(digitsAfterDecimal: 1, scaler: 100, suffix: \"%\", thousandsSep: \" \", decimalSep: \",\")\n\n $.pivotUtilities.locales.es = \n\n localeStrings:\n renderError: \"Ocurrió un error durante la interpretación de la tabla dinámica.\"\n computeError: \"Ocurrió un error durante el cálculo de la tabla dinámica.\"\n uiRenderError: \"Ocurrió un error durante el dibujado de la tabla dinámica.\"\n selectAll: \"Seleccionar todo\"\n selectNone: \"Deseleccionar todo\"\n tooMany: \"(demasiados valores)\"\n filterResults: \"Filtrar resultados\"\n totals: \"Totales\"\n vs: \"vs\"\n by: \"por\"\n aggregators: \n \"Cuenta\": tpl.count(frFmtInt)\n \"Cuenta de valores únicos\": tpl.countUnique(frFmtInt)\n \"Lista de valores únicos\": tpl.listUnique(\", \")\n \"Suma\": tpl.sum(frFmt)\n \"Suma de enteros\": tpl.sum(frFmtInt)\n \"Promedio\": tpl.average(frFmt)\n \"Mínimo\": tpl.min(frFmt)\n \"Máximo\": tpl.max(frFmt)\n \"Suma de sumas\": tpl.sumOverSum(frFmt)\n \"Cota 80% superior\": tpl.sumOverSumBound80(true, frFmt)\n \"Cota 80% inferior\": tpl.sumOverSumBound80(false, frFmt)\n \"Proporción del total (suma)\": tpl.fractionOf(tpl.sum(), \"total\", frFmtPct)\n \"Proporción de la fila (suma)\": tpl.fractionOf(tpl.sum(), \"row\", frFmtPct)\n \"Proporción de la columna (suma)\": tpl.fractionOf(tpl.sum(), \"col\", frFmtPct)\n \"Proporción del total (cuenta)\": tpl.fractionOf(tpl.count(), \"total\", frFmtPct)\n \"Proporción de la fila (cuenta)\": tpl.fractionOf(tpl.count(), \"row\", frFmtPct)\n \"Proporción de la columna (cuenta)\": tpl.fractionOf(tpl.count(), \"col\", frFmtPct)\n\n renderers:\n \"Tabla\": $.pivotUtilities.renderers[\"Table\"]\n \"Tabla con barras\": $.pivotUtilities.renderers[\"Table Barchart\"]\n \"Heatmap\": $.pivotUtilities.renderers[\"Heatmap\"]\n \"Heatmap por filas\": $.pivotUtilities.renderers[\"Row Heatmap\"]\n \"Heatmap por columnas\": $.pivotUtilities.renderers[\"Col Heatmap\"]\n\n\n"]}
\ No newline at end of file
(function(){var e;(e=function(e){return"object"==typeof exports&&"object"==typeof module?e(require("jquery")):"function"==typeof define&&define.amd?define(["jquery"],e):e(jQuery)})(function(e){var r,a,t,o,i;return o=e.pivotUtilities.numberFormat,i=e.pivotUtilities.aggregatorTemplates,r=o({thousandsSep:" ",decimalSep:","}),a=o({digitsAfterDecimal:0,thousandsSep:" ",decimalSep:","}),t=o({digitsAfterDecimal:1,scaler:100,suffix:"%",thousandsSep:" ",decimalSep:","}),e.pivotUtilities.locales.es={localeStrings:{renderError:"Ocurrió un error durante la interpretación de la tabla dinámica.",computeError:"Ocurrió un error durante el cálculo de la tabla dinámica.",uiRenderError:"Ocurrió un error durante el dibujado de la tabla dinámica.",selectAll:"Seleccionar todo",selectNone:"Deseleccionar todo",tooMany:"(demasiados valores)",filterResults:"Filtrar resultados",totals:"Totales",vs:"vs",by:"por"},aggregators:{Cuenta:i.count(a),"Cuenta de valores únicos":i.countUnique(a),"Lista de valores únicos":i.listUnique(", "),Suma:i.sum(r),"Suma de enteros":i.sum(a),Promedio:i.average(r),"Mínimo":i.min(r),"Máximo":i.max(r),"Suma de sumas":i.sumOverSum(r),"Cota 80% superior":i.sumOverSumBound80(!0,r),"Cota 80% inferior":i.sumOverSumBound80(!1,r),"Proporción del total (suma)":i.fractionOf(i.sum(),"total",t),"Proporción de la fila (suma)":i.fractionOf(i.sum(),"row",t),"Proporción de la columna (suma)":i.fractionOf(i.sum(),"col",t),"Proporción del total (cuenta)":i.fractionOf(i.count(),"total",t),"Proporción de la fila (cuenta)":i.fractionOf(i.count(),"row",t),"Proporción de la columna (cuenta)":i.fractionOf(i.count(),"col",t)},renderers:{Tabla:e.pivotUtilities.renderers.Table,"Tabla con barras":e.pivotUtilities.renderers["Table Barchart"],Heatmap:e.pivotUtilities.renderers.Heatmap,"Heatmap por filas":e.pivotUtilities.renderers["Row Heatmap"],"Heatmap por columnas":e.pivotUtilities.renderers["Col Heatmap"]}}})}).call(this);
//# sourceMappingURL=pivot.es.min.js.map
{"version":3,"sources":["pivot.es.coffee","pivot.es.min.js"],"names":["callWithJQuery","pivotModule","exports","module","require","define","amd","jQuery","$","frFmt","frFmtInt","frFmtPct","nf","tpl","pivotUtilities","numberFormat","aggregatorTemplates","thousandsSep","decimalSep","digitsAfterDecimal","scaler","suffix","locales","es","localeStrings","renderError","computeError","uiRenderError","selectAll","selectNone","tooMany","filterResults","totals","vs","by","aggregators","Cuenta","count","Cuenta de valores únicos","countUnique","Lista de valores únicos","listUnique","Suma","sum","Suma de enteros","Promedio","average","Mínimo","min","Máximo","max","Suma de sumas","sumOverSum","Cota 80% superior","sumOverSumBound80","Cota 80% inferior","Proporción del total (suma)","fractionOf","Proporción de la fila (suma)","Proporción de la columna (suma)","Proporción del total (cuenta)","Proporción de la fila (cuenta)","Proporción de la columna (cuenta)","renderers","Tabla","Tabla con barras","Heatmap","Heatmap por filas","Heatmap por columnas","call","this"],"mappings":"CAAA,WAAA,GAAAA,IAAAA,EAAiB,SAACC,GACd,MAAqB,gBAAXC,UAAyC,gBAAVC,QACrCF,EAAYG,QAAQ,WACC,kBAAVC,SAAyBA,OAAOC,IAC3CD,QAAQ,UAAWJ,GAGnBA,EAAYM,UAEL,SAACC,GACZ,GAAAC,GAAAC,EAAAC,EAAAC,EAAAC,CCuBA,ODvBAD,GAAKJ,EAAEM,eAAeC,aACtBF,EAAML,EAAEM,eAAeE,oBAEvBP,EAAWG,GAAGK,aAAc,IAAKC,WAAY,MAC7CR,EAAWE,GAAGO,mBAAoB,EAAGF,aAAc,IAAKC,WAAY,MACpEP,EAAWC,GAAGO,mBAAoB,EAAGC,OAAQ,IAAKC,OAAQ,IAAKJ,aAAc,IAAKC,WAAY,MAE9FV,EAAEM,eAAeQ,QAAQC,IAErBC,eACIC,YAAa,mEACbC,aAAc,4DACdC,cAAe,6DACfC,UAAW,mBACXC,WAAY,qBACZC,QAAS,uBACTC,cAAe,qBACfC,OAAQ,UACRC,GAAI,KACJC,GAAI,OACRC,aACIC,OAAsCvB,EAAIwB,MAAM3B,GAChD4B,2BAAqCzB,EAAI0B,YAAY7B,GACrD8B,0BAAqC3B,EAAI4B,WAAW,MACpDC,KAAqC7B,EAAI8B,IAAIlC,GAC7CmC,kBAAqC/B,EAAI8B,IAAIjC,GAC7CmC,SAAuChC,EAAIiC,QAAQrC,GACnDsC,SAAgDlC,EAAImC,IAAIvC,GACxDwC,SAAgDpC,EAAIqC,IAAIzC,GACxD0C,gBAAoCtC,EAAIuC,WAAW3C,GACnD4C,oBAA4BxC,EAAIyC,mBAAkB,EAAM7C,GACxD8C,oBAA4B1C,EAAIyC,mBAAkB,EAAO7C,GACzD+C,8BAAoC3C,EAAI4C,WAAW5C,EAAI8B,MAAS,QAAShC,GACzE+C,+BAAmC7C,EAAI4C,WAAW5C,EAAI8B,MAAS,MAAShC,GACxEgD,kCAAoC9C,EAAI4C,WAAW5C,EAAI8B,MAAS,MAAShC,GACzEiD,gCAAqC/C,EAAI4C,WAAW5C,EAAIwB,QAAS,QAAS1B,GAC1EkD,iCAAoChD,EAAI4C,WAAW5C,EAAIwB,QAAS,MAAS1B,GACzEmD,oCAAqCjD,EAAI4C,WAAW5C,EAAIwB,QAAS,MAAS1B,IAE9EoD,WACIC,MAAmCxD,EAAEM,eAAeiD,UAAU,MAC9DE,mBAAkCzD,EAAEM,eAAeiD,UAAU,kBAC7DG,QAA0B1D,EAAEM,eAAeiD,UAAU,QACrDI,oBAA0B3D,EAAEM,eAAeiD,UAAU,eACrDK,uBAA2B5D,EAAEM,eAAeiD,UAAU,qBCqB/DM,KAAKC","file":"pivot.es.min.js","sourcesContent":["callWithJQuery = (pivotModule) ->\n if typeof exports is \"object\" and typeof module is \"object\" # CommonJS\n pivotModule require(\"jquery\")\n else if typeof define is \"function\" and define.amd # AMD\n define [\"jquery\"], pivotModule\n # Plain browser env\n else\n pivotModule jQuery\n \ncallWithJQuery ($) ->\n nf = $.pivotUtilities.numberFormat\n tpl = $.pivotUtilities.aggregatorTemplates\n\n frFmt = nf(thousandsSep: \" \", decimalSep: \",\")\n frFmtInt = nf(digitsAfterDecimal: 0, thousandsSep: \" \", decimalSep: \",\")\n frFmtPct = nf(digitsAfterDecimal: 1, scaler: 100, suffix: \"%\", thousandsSep: \" \", decimalSep: \",\")\n\n $.pivotUtilities.locales.es = \n\n localeStrings:\n renderError: \"Ocurrió un error durante la interpretación de la tabla dinámica.\"\n computeError: \"Ocurrió un error durante el cálculo de la tabla dinámica.\"\n uiRenderError: \"Ocurrió un error durante el dibujado de la tabla dinámica.\"\n selectAll: \"Seleccionar todo\"\n selectNone: \"Deseleccionar todo\"\n tooMany: \"(demasiados valores)\"\n filterResults: \"Filtrar resultados\"\n totals: \"Totales\"\n vs: \"vs\"\n by: \"por\"\n aggregators: \n \"Cuenta\": tpl.count(frFmtInt)\n \"Cuenta de valores únicos\": tpl.countUnique(frFmtInt)\n \"Lista de valores únicos\": tpl.listUnique(\", \")\n \"Suma\": tpl.sum(frFmt)\n \"Suma de enteros\": tpl.sum(frFmtInt)\n \"Promedio\": tpl.average(frFmt)\n \"Mínimo\": tpl.min(frFmt)\n \"Máximo\": tpl.max(frFmt)\n \"Suma de sumas\": tpl.sumOverSum(frFmt)\n \"Cota 80% superior\": tpl.sumOverSumBound80(true, frFmt)\n \"Cota 80% inferior\": tpl.sumOverSumBound80(false, frFmt)\n \"Proporción del total (suma)\": tpl.fractionOf(tpl.sum(), \"total\", frFmtPct)\n \"Proporción de la fila (suma)\": tpl.fractionOf(tpl.sum(), \"row\", frFmtPct)\n \"Proporción de la columna (suma)\": tpl.fractionOf(tpl.sum(), \"col\", frFmtPct)\n \"Proporción del total (cuenta)\": tpl.fractionOf(tpl.count(), \"total\", frFmtPct)\n \"Proporción de la fila (cuenta)\": tpl.fractionOf(tpl.count(), \"row\", frFmtPct)\n \"Proporción de la columna (cuenta)\": tpl.fractionOf(tpl.count(), \"col\", frFmtPct)\n\n renderers:\n \"Tabla\": $.pivotUtilities.renderers[\"Table\"]\n \"Tabla con barras\": $.pivotUtilities.renderers[\"Table Barchart\"]\n \"Heatmap\": $.pivotUtilities.renderers[\"Heatmap\"]\n \"Heatmap por filas\": $.pivotUtilities.renderers[\"Row Heatmap\"]\n \"Heatmap por columnas\": $.pivotUtilities.renderers[\"Col Heatmap\"]\n\n\n","(function() {\n var callWithJQuery;\n\n callWithJQuery = function(pivotModule) {\n if (typeof exports === \"object\" && typeof module === \"object\") {\n return pivotModule(require(\"jquery\"));\n } else if (typeof define === \"function\" && define.amd) {\n return define([\"jquery\"], pivotModule);\n } else {\n return pivotModule(jQuery);\n }\n };\n\n callWithJQuery(function($) {\n var frFmt, frFmtInt, frFmtPct, nf, tpl;\n nf = $.pivotUtilities.numberFormat;\n tpl = $.pivotUtilities.aggregatorTemplates;\n frFmt = nf({\n thousandsSep: \" \",\n decimalSep: \",\"\n });\n frFmtInt = nf({\n digitsAfterDecimal: 0,\n thousandsSep: \" \",\n decimalSep: \",\"\n });\n frFmtPct = nf({\n digitsAfterDecimal: 1,\n scaler: 100,\n suffix: \"%\",\n thousandsSep: \" \",\n decimalSep: \",\"\n });\n return $.pivotUtilities.locales.es = {\n localeStrings: {\n renderError: \"Ocurrió un error durante la interpretación de la tabla dinámica.\",\n computeError: \"Ocurrió un error durante el cálculo de la tabla dinámica.\",\n uiRenderError: \"Ocurrió un error durante el dibujado de la tabla dinámica.\",\n selectAll: \"Seleccionar todo\",\n selectNone: \"Deseleccionar todo\",\n tooMany: \"(demasiados valores)\",\n filterResults: \"Filtrar resultados\",\n totals: \"Totales\",\n vs: \"vs\",\n by: \"por\"\n },\n aggregators: {\n \"Cuenta\": tpl.count(frFmtInt),\n \"Cuenta de valores únicos\": tpl.countUnique(frFmtInt),\n \"Lista de valores únicos\": tpl.listUnique(\", \"),\n \"Suma\": tpl.sum(frFmt),\n \"Suma de enteros\": tpl.sum(frFmtInt),\n \"Promedio\": tpl.average(frFmt),\n \"Mínimo\": tpl.min(frFmt),\n \"Máximo\": tpl.max(frFmt),\n \"Suma de sumas\": tpl.sumOverSum(frFmt),\n \"Cota 80% superior\": tpl.sumOverSumBound80(true, frFmt),\n \"Cota 80% inferior\": tpl.sumOverSumBound80(false, frFmt),\n \"Proporción del total (suma)\": tpl.fractionOf(tpl.sum(), \"total\", frFmtPct),\n \"Proporción de la fila (suma)\": tpl.fractionOf(tpl.sum(), \"row\", frFmtPct),\n \"Proporción de la columna (suma)\": tpl.fractionOf(tpl.sum(), \"col\", frFmtPct),\n \"Proporción del total (cuenta)\": tpl.fractionOf(tpl.count(), \"total\", frFmtPct),\n \"Proporción de la fila (cuenta)\": tpl.fractionOf(tpl.count(), \"row\", frFmtPct),\n \"Proporción de la columna (cuenta)\": tpl.fractionOf(tpl.count(), \"col\", frFmtPct)\n },\n renderers: {\n \"Tabla\": $.pivotUtilities.renderers[\"Table\"],\n \"Tabla con barras\": $.pivotUtilities.renderers[\"Table Barchart\"],\n \"Heatmap\": $.pivotUtilities.renderers[\"Heatmap\"],\n \"Heatmap por filas\": $.pivotUtilities.renderers[\"Row Heatmap\"],\n \"Heatmap por columnas\": $.pivotUtilities.renderers[\"Col Heatmap\"]\n }\n };\n });\n\n}).call(this);\n\n//# sourceMappingURL=pivot.es.js.map\n"]}
\ No newline at end of file
(function() {
var callWithJQuery;
callWithJQuery = function(pivotModule) {
if (typeof exports === "object" && typeof module === "object") {
return pivotModule(require("jquery"));
} else if (typeof define === "function" && define.amd) {
return define(["jquery"], pivotModule);
} else {
return pivotModule(jQuery);
}
};
callWithJQuery(function($) {
var frFmt, frFmtInt, frFmtPct, nf, tpl;
nf = $.pivotUtilities.numberFormat;
tpl = $.pivotUtilities.aggregatorTemplates;
frFmt = nf({
thousandsSep: " ",
decimalSep: ","
});
frFmtInt = nf({
digitsAfterDecimal: 0,
thousandsSep: " ",
decimalSep: ","
});
frFmtPct = nf({
digitsAfterDecimal: 1,
scaler: 100,
suffix: "%",
thousandsSep: " ",
decimalSep: ","
});
return $.pivotUtilities.locales.fr = {
localeStrings: {
renderError: "Une erreur est survenue en dessinant le tableau croisé.",
computeError: "Une erreur est survenue en calculant le tableau croisé.",
uiRenderError: "Une erreur est survenue en dessinant l'interface du tableau croisé dynamique.",
selectAll: "Sélectionner tout",
selectNone: "Sélectionner rien",
tooMany: "(trop de valeurs à afficher)",
filterResults: "Filtrer les valeurs",
totals: "Totaux",
vs: "sur",
by: "par",
apply: "Appliquer",
cancel: "Annuler"
},
aggregators: {
"Nombre": tpl.count(frFmtInt),
"Nombre de valeurs uniques": tpl.countUnique(frFmtInt),
"Liste de valeurs uniques": tpl.listUnique(", "),
"Somme": tpl.sum(frFmt),
"Somme en entiers": tpl.sum(frFmtInt),
"Moyenne": tpl.average(frFmt),
"Minimum": tpl.min(frFmt),
"Maximum": tpl.max(frFmt),
"Premier": tpl.min(frFmt),
"Dernier": tpl.max(frFmt),
"Ratio de sommes": tpl.sumOverSum(frFmt),
"Borne supérieure 80%": tpl.sumOverSumBound80(true, frFmt),
"Borne inférieure 80%": tpl.sumOverSumBound80(false, frFmt),
"Somme en proportion du totale": tpl.fractionOf(tpl.sum(), "total", frFmtPct),
"Somme en proportion de la ligne": tpl.fractionOf(tpl.sum(), "row", frFmtPct),
"Somme en proportion de la colonne": tpl.fractionOf(tpl.sum(), "col", frFmtPct),
"Nombre en proportion du totale": tpl.fractionOf(tpl.count(), "total", frFmtPct),
"Nombre en proportion de la ligne": tpl.fractionOf(tpl.count(), "row", frFmtPct),
"Nombre en proportion de la colonne": tpl.fractionOf(tpl.count(), "col", frFmtPct)
},
renderers: {
"Table": $.pivotUtilities.renderers["Table"],
"Table avec barres": $.pivotUtilities.renderers["Table Barchart"],
"Carte de chaleur": $.pivotUtilities.renderers["Heatmap"],
"Carte de chaleur par ligne": $.pivotUtilities.renderers["Row Heatmap"],
"Carte de chaleur par colonne": $.pivotUtilities.renderers["Col Heatmap"]
}
};
});
}).call(this);
//# sourceMappingURL=pivot.fr.js.map
{"version":3,"file":"pivot.fr.js","sources":["pivot.fr.coffee"],"names":[],"mappings":"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","sourcesContent":["callWithJQuery = (pivotModule) ->\n if typeof exports is \"object\" and typeof module is \"object\" # CommonJS\n pivotModule require(\"jquery\")\n else if typeof define is \"function\" and define.amd # AMD\n define [\"jquery\"], pivotModule\n # Plain browser env\n else\n pivotModule jQuery\n\ncallWithJQuery ($) ->\n nf = $.pivotUtilities.numberFormat\n tpl = $.pivotUtilities.aggregatorTemplates\n\n frFmt = nf(thousandsSep: \" \", decimalSep: \",\")\n frFmtInt = nf(digitsAfterDecimal: 0, thousandsSep: \" \", decimalSep: \",\")\n frFmtPct = nf(digitsAfterDecimal: 1, scaler: 100, suffix: \"%\", thousandsSep: \" \", decimalSep: \",\")\n\n $.pivotUtilities.locales.fr =\n localeStrings:\n renderError: \"Une erreur est survenue en dessinant le tableau croisé.\"\n computeError: \"Une erreur est survenue en calculant le tableau croisé.\"\n uiRenderError: \"Une erreur est survenue en dessinant l'interface du tableau croisé dynamique.\"\n selectAll: \"Sélectionner tout\"\n selectNone: \"Sélectionner rien\"\n tooMany: \"(trop de valeurs à afficher)\"\n filterResults: \"Filtrer les valeurs\"\n totals: \"Totaux\"\n vs: \"sur\"\n by: \"par\"\n apply: \"Appliquer\"\n cancel: \"Annuler\"\n\n aggregators:\n \"Nombre\": tpl.count(frFmtInt)\n \"Nombre de valeurs uniques\": tpl.countUnique(frFmtInt)\n \"Liste de valeurs uniques\": tpl.listUnique(\", \")\n \"Somme\": tpl.sum(frFmt)\n \"Somme en entiers\": tpl.sum(frFmtInt)\n \"Moyenne\": tpl.average(frFmt)\n \"Minimum\": tpl.min(frFmt)\n \"Maximum\": tpl.max(frFmt)\n \"Premier\": tpl.min(frFmt)\n \"Dernier\": tpl.max(frFmt)\n \"Ratio de sommes\": tpl.sumOverSum(frFmt)\n \"Borne supérieure 80%\": tpl.sumOverSumBound80(true, frFmt)\n \"Borne inférieure 80%\": tpl.sumOverSumBound80(false, frFmt)\n \"Somme en proportion du totale\": tpl.fractionOf(tpl.sum(), \"total\", frFmtPct)\n \"Somme en proportion de la ligne\": tpl.fractionOf(tpl.sum(), \"row\", frFmtPct)\n \"Somme en proportion de la colonne\": tpl.fractionOf(tpl.sum(), \"col\", frFmtPct)\n \"Nombre en proportion du totale\": tpl.fractionOf(tpl.count(), \"total\", frFmtPct)\n \"Nombre en proportion de la ligne\": tpl.fractionOf(tpl.count(), \"row\", frFmtPct)\n \"Nombre en proportion de la colonne\": tpl.fractionOf(tpl.count(), \"col\", frFmtPct)\n\n renderers:\n \"Table\": $.pivotUtilities.renderers[\"Table\"]\n \"Table avec barres\": $.pivotUtilities.renderers[\"Table Barchart\"]\n \"Carte de chaleur\": $.pivotUtilities.renderers[\"Heatmap\"]\n \"Carte de chaleur par ligne\": $.pivotUtilities.renderers[\"Row Heatmap\"]\n \"Carte de chaleur par colonne\": $.pivotUtilities.renderers[\"Col Heatmap\"]\n\n\n"]}
\ No newline at end of file
(function(){var e;(e=function(e){return"object"==typeof exports&&"object"==typeof module?e(require("jquery")):"function"==typeof define&&define.amd?define(["jquery"],e):e(jQuery)})(function(e){var r,t,o,n,i;return n=e.pivotUtilities.numberFormat,i=e.pivotUtilities.aggregatorTemplates,r=n({thousandsSep:" ",decimalSep:","}),t=n({digitsAfterDecimal:0,thousandsSep:" ",decimalSep:","}),o=n({digitsAfterDecimal:1,scaler:100,suffix:"%",thousandsSep:" ",decimalSep:","}),e.pivotUtilities.locales.fr={localeStrings:{renderError:"Une erreur est survenue en dessinant le tableau croisé.",computeError:"Une erreur est survenue en calculant le tableau croisé.",uiRenderError:"Une erreur est survenue en dessinant l'interface du tableau croisé dynamique.",selectAll:"Sélectionner tout",selectNone:"Sélectionner rien",tooMany:"(trop de valeurs à afficher)",filterResults:"Filtrer les valeurs",totals:"Totaux",vs:"sur",by:"par",apply:"Appliquer",cancel:"Annuler"},aggregators:{Nombre:i.count(t),"Nombre de valeurs uniques":i.countUnique(t),"Liste de valeurs uniques":i.listUnique(", "),Somme:i.sum(r),"Somme en entiers":i.sum(t),Moyenne:i.average(r),Minimum:i.min(r),Maximum:i.max(r),Premier:i.min(r),Dernier:i.max(r),"Ratio de sommes":i.sumOverSum(r),"Borne supérieure 80%":i.sumOverSumBound80(!0,r),"Borne inférieure 80%":i.sumOverSumBound80(!1,r),"Somme en proportion du totale":i.fractionOf(i.sum(),"total",o),"Somme en proportion de la ligne":i.fractionOf(i.sum(),"row",o),"Somme en proportion de la colonne":i.fractionOf(i.sum(),"col",o),"Nombre en proportion du totale":i.fractionOf(i.count(),"total",o),"Nombre en proportion de la ligne":i.fractionOf(i.count(),"row",o),"Nombre en proportion de la colonne":i.fractionOf(i.count(),"col",o)},renderers:{Table:e.pivotUtilities.renderers.Table,"Table avec barres":e.pivotUtilities.renderers["Table Barchart"],"Carte de chaleur":e.pivotUtilities.renderers.Heatmap,"Carte de chaleur par ligne":e.pivotUtilities.renderers["Row Heatmap"],"Carte de chaleur par colonne":e.pivotUtilities.renderers["Col Heatmap"]}}})}).call(this);
//# sourceMappingURL=pivot.fr.min.js.map
{"version":3,"sources":["pivot.fr.coffee","pivot.fr.min.js"],"names":["callWithJQuery","pivotModule","exports","module","require","define","amd","jQuery","$","frFmt","frFmtInt","frFmtPct","nf","tpl","pivotUtilities","numberFormat","aggregatorTemplates","thousandsSep","decimalSep","digitsAfterDecimal","scaler","suffix","locales","fr","localeStrings","renderError","computeError","uiRenderError","selectAll","selectNone","tooMany","filterResults","totals","vs","by","apply","cancel","aggregators","Nombre","count","Nombre de valeurs uniques","countUnique","Liste de valeurs uniques","listUnique","Somme","sum","Somme en entiers","Moyenne","average","Minimum","min","Maximum","max","Premier","Dernier","Ratio de sommes","sumOverSum","Borne supérieure 80%","sumOverSumBound80","Borne inférieure 80%","Somme en proportion du totale","fractionOf","Somme en proportion de la ligne","Somme en proportion de la colonne","Nombre en proportion du totale","Nombre en proportion de la ligne","Nombre en proportion de la colonne","renderers","Table","Table avec barres","Carte de chaleur","Carte de chaleur par ligne","Carte de chaleur par colonne","call","this"],"mappings":"CAAA,WAAA,GAAAA,IAAAA,EAAiB,SAACC,GACd,MAAqB,gBAAXC,UAAyC,gBAAVC,QACrCF,EAAYG,QAAQ,WACC,kBAAVC,SAAyBA,OAAOC,IAC3CD,QAAQ,UAAWJ,GAGnBA,EAAYM,UAEL,SAACC,GACZ,GAAAC,GAAAC,EAAAC,EAAAC,EAAAC,CCuBA,ODvBAD,GAAKJ,EAAEM,eAAeC,aACtBF,EAAML,EAAEM,eAAeE,oBAEvBP,EAAWG,GAAGK,aAAc,IAAKC,WAAY,MAC7CR,EAAWE,GAAGO,mBAAoB,EAAGF,aAAc,IAAKC,WAAY,MACpEP,EAAWC,GAAGO,mBAAoB,EAAGC,OAAQ,IAAKC,OAAQ,IAAKJ,aAAc,IAAKC,WAAY,MAE9FV,EAAEM,eAAeQ,QAAQC,IACrBC,eACIC,YAAa,0DACbC,aAAc,0DACdC,cAAe,gFACfC,UAAW,oBACXC,WAAY,oBACZC,QAAS,+BACTC,cAAe,sBACfC,OAAQ,SACRC,GAAI,MACJC,GAAI,MACJC,MAAO,YACPC,OAAQ,WAEZC,aACIC,OAAsCzB,EAAI0B,MAAM7B,GAChD8B,4BAAsC3B,EAAI4B,YAAY/B,GACtDgC,2BAAsC7B,EAAI8B,WAAW,MACrDC,MAAsC/B,EAAIgC,IAAIpC,GAC9CqC,mBAAsCjC,EAAIgC,IAAInC,GAC9CqC,QAAsClC,EAAImC,QAAQvC,GAClDwC,QAAsCpC,EAAIqC,IAAIzC,GAC9C0C,QAAsCtC,EAAIuC,IAAI3C,GAC9C4C,QAAsCxC,EAAIqC,IAAIzC,GAC9C6C,QAAsCzC,EAAIuC,IAAI3C,GAC9C8C,kBAAsC1C,EAAI2C,WAAW/C,GACrDgD,uBAAsC5C,EAAI6C,mBAAkB,EAAMjD,GAClEkD,uBAAsC9C,EAAI6C,mBAAkB,EAAOjD,GACnEmD,gCAAsC/C,EAAIgD,WAAWhD,EAAIgC,MAAS,QAASlC,GAC3EmD,kCAAsCjD,EAAIgD,WAAWhD,EAAIgC,MAAS,MAASlC,GAC3EoD,oCAAsClD,EAAIgD,WAAWhD,EAAIgC,MAAS,MAASlC,GAC3EqD,iCAAsCnD,EAAIgD,WAAWhD,EAAI0B,QAAS,QAAS5B,GAC3EsD,mCAAsCpD,EAAIgD,WAAWhD,EAAI0B,QAAS,MAAS5B,GAC3EuD,qCAAsCrD,EAAIgD,WAAWhD,EAAI0B,QAAS,MAAS5B,IAE/EwD,WACIC,MAAmC5D,EAAEM,eAAeqD,UAAU,MAC9DE,oBAAmC7D,EAAEM,eAAeqD,UAAU,kBAC9DG,mBAAmC9D,EAAEM,eAAeqD,UAAU,QAC9DI,6BAAmC/D,EAAEM,eAAeqD,UAAU,eAC9DK,+BAAmChE,EAAEM,eAAeqD,UAAU,qBCqBvEM,KAAKC","file":"pivot.fr.min.js","sourcesContent":["callWithJQuery = (pivotModule) ->\n if typeof exports is \"object\" and typeof module is \"object\" # CommonJS\n pivotModule require(\"jquery\")\n else if typeof define is \"function\" and define.amd # AMD\n define [\"jquery\"], pivotModule\n # Plain browser env\n else\n pivotModule jQuery\n\ncallWithJQuery ($) ->\n nf = $.pivotUtilities.numberFormat\n tpl = $.pivotUtilities.aggregatorTemplates\n\n frFmt = nf(thousandsSep: \" \", decimalSep: \",\")\n frFmtInt = nf(digitsAfterDecimal: 0, thousandsSep: \" \", decimalSep: \",\")\n frFmtPct = nf(digitsAfterDecimal: 1, scaler: 100, suffix: \"%\", thousandsSep: \" \", decimalSep: \",\")\n\n $.pivotUtilities.locales.fr =\n localeStrings:\n renderError: \"Une erreur est survenue en dessinant le tableau croisé.\"\n computeError: \"Une erreur est survenue en calculant le tableau croisé.\"\n uiRenderError: \"Une erreur est survenue en dessinant l'interface du tableau croisé dynamique.\"\n selectAll: \"Sélectionner tout\"\n selectNone: \"Sélectionner rien\"\n tooMany: \"(trop de valeurs à afficher)\"\n filterResults: \"Filtrer les valeurs\"\n totals: \"Totaux\"\n vs: \"sur\"\n by: \"par\"\n apply: \"Appliquer\"\n cancel: \"Annuler\"\n\n aggregators:\n \"Nombre\": tpl.count(frFmtInt)\n \"Nombre de valeurs uniques\": tpl.countUnique(frFmtInt)\n \"Liste de valeurs uniques\": tpl.listUnique(\", \")\n \"Somme\": tpl.sum(frFmt)\n \"Somme en entiers\": tpl.sum(frFmtInt)\n \"Moyenne\": tpl.average(frFmt)\n \"Minimum\": tpl.min(frFmt)\n \"Maximum\": tpl.max(frFmt)\n \"Premier\": tpl.min(frFmt)\n \"Dernier\": tpl.max(frFmt)\n \"Ratio de sommes\": tpl.sumOverSum(frFmt)\n \"Borne supérieure 80%\": tpl.sumOverSumBound80(true, frFmt)\n \"Borne inférieure 80%\": tpl.sumOverSumBound80(false, frFmt)\n \"Somme en proportion du totale\": tpl.fractionOf(tpl.sum(), \"total\", frFmtPct)\n \"Somme en proportion de la ligne\": tpl.fractionOf(tpl.sum(), \"row\", frFmtPct)\n \"Somme en proportion de la colonne\": tpl.fractionOf(tpl.sum(), \"col\", frFmtPct)\n \"Nombre en proportion du totale\": tpl.fractionOf(tpl.count(), \"total\", frFmtPct)\n \"Nombre en proportion de la ligne\": tpl.fractionOf(tpl.count(), \"row\", frFmtPct)\n \"Nombre en proportion de la colonne\": tpl.fractionOf(tpl.count(), \"col\", frFmtPct)\n\n renderers:\n \"Table\": $.pivotUtilities.renderers[\"Table\"]\n \"Table avec barres\": $.pivotUtilities.renderers[\"Table Barchart\"]\n \"Carte de chaleur\": $.pivotUtilities.renderers[\"Heatmap\"]\n \"Carte de chaleur par ligne\": $.pivotUtilities.renderers[\"Row Heatmap\"]\n \"Carte de chaleur par colonne\": $.pivotUtilities.renderers[\"Col Heatmap\"]\n\n\n","(function() {\n var callWithJQuery;\n\n callWithJQuery = function(pivotModule) {\n if (typeof exports === \"object\" && typeof module === \"object\") {\n return pivotModule(require(\"jquery\"));\n } else if (typeof define === \"function\" && define.amd) {\n return define([\"jquery\"], pivotModule);\n } else {\n return pivotModule(jQuery);\n }\n };\n\n callWithJQuery(function($) {\n var frFmt, frFmtInt, frFmtPct, nf, tpl;\n nf = $.pivotUtilities.numberFormat;\n tpl = $.pivotUtilities.aggregatorTemplates;\n frFmt = nf({\n thousandsSep: \" \",\n decimalSep: \",\"\n });\n frFmtInt = nf({\n digitsAfterDecimal: 0,\n thousandsSep: \" \",\n decimalSep: \",\"\n });\n frFmtPct = nf({\n digitsAfterDecimal: 1,\n scaler: 100,\n suffix: \"%\",\n thousandsSep: \" \",\n decimalSep: \",\"\n });\n return $.pivotUtilities.locales.fr = {\n localeStrings: {\n renderError: \"Une erreur est survenue en dessinant le tableau croisé.\",\n computeError: \"Une erreur est survenue en calculant le tableau croisé.\",\n uiRenderError: \"Une erreur est survenue en dessinant l'interface du tableau croisé dynamique.\",\n selectAll: \"Sélectionner tout\",\n selectNone: \"Sélectionner rien\",\n tooMany: \"(trop de valeurs à afficher)\",\n filterResults: \"Filtrer les valeurs\",\n totals: \"Totaux\",\n vs: \"sur\",\n by: \"par\",\n apply: \"Appliquer\",\n cancel: \"Annuler\"\n },\n aggregators: {\n \"Nombre\": tpl.count(frFmtInt),\n \"Nombre de valeurs uniques\": tpl.countUnique(frFmtInt),\n \"Liste de valeurs uniques\": tpl.listUnique(\", \"),\n \"Somme\": tpl.sum(frFmt),\n \"Somme en entiers\": tpl.sum(frFmtInt),\n \"Moyenne\": tpl.average(frFmt),\n \"Minimum\": tpl.min(frFmt),\n \"Maximum\": tpl.max(frFmt),\n \"Premier\": tpl.min(frFmt),\n \"Dernier\": tpl.max(frFmt),\n \"Ratio de sommes\": tpl.sumOverSum(frFmt),\n \"Borne supérieure 80%\": tpl.sumOverSumBound80(true, frFmt),\n \"Borne inférieure 80%\": tpl.sumOverSumBound80(false, frFmt),\n \"Somme en proportion du totale\": tpl.fractionOf(tpl.sum(), \"total\", frFmtPct),\n \"Somme en proportion de la ligne\": tpl.fractionOf(tpl.sum(), \"row\", frFmtPct),\n \"Somme en proportion de la colonne\": tpl.fractionOf(tpl.sum(), \"col\", frFmtPct),\n \"Nombre en proportion du totale\": tpl.fractionOf(tpl.count(), \"total\", frFmtPct),\n \"Nombre en proportion de la ligne\": tpl.fractionOf(tpl.count(), \"row\", frFmtPct),\n \"Nombre en proportion de la colonne\": tpl.fractionOf(tpl.count(), \"col\", frFmtPct)\n },\n renderers: {\n \"Table\": $.pivotUtilities.renderers[\"Table\"],\n \"Table avec barres\": $.pivotUtilities.renderers[\"Table Barchart\"],\n \"Carte de chaleur\": $.pivotUtilities.renderers[\"Heatmap\"],\n \"Carte de chaleur par ligne\": $.pivotUtilities.renderers[\"Row Heatmap\"],\n \"Carte de chaleur par colonne\": $.pivotUtilities.renderers[\"Col Heatmap\"]\n }\n };\n });\n\n}).call(this);\n\n//# sourceMappingURL=pivot.fr.js.map\n"]}
\ No newline at end of file
(function() {
var callWithJQuery;
callWithJQuery = function(pivotModule) {
if (typeof exports === "object" && typeof module === "object") {
return pivotModule(require("jquery"));
} else if (typeof define === "function" && define.amd) {
return define(["jquery"], pivotModule);
} else {
return pivotModule(jQuery);
}
};
callWithJQuery(function($) {
var frFmt, frFmtInt, frFmtPct, nf, tpl;
nf = $.pivotUtilities.numberFormat;
tpl = $.pivotUtilities.aggregatorTemplates;
frFmt = nf({
thousandsSep: " ",
decimalSep: ","
});
frFmtInt = nf({
digitsAfterDecimal: 0,
thousandsSep: " ",
decimalSep: ","
});
frFmtPct = nf({
digitsAfterDecimal: 1,
scaler: 100,
suffix: "%",
thousandsSep: " ",
decimalSep: ","
});
return $.pivotUtilities.locales.it = {
localeStrings: {
renderError: "Si è verificato un errore durante la creazione della tabella.",
computeError: "Si è verificato un errore di calcolo nella tabella.",
uiRenderError: "Si è verificato un errore durante il disegno di interfaccia della tabella pivot.",
selectAll: "Seleziona tutto",
selectNone: "Deseleziona tutto",
tooMany: "(troppi valori da visualizzare)",
filterResults: "Filtra i valori",
apply: "Applica",
cancel: "Annulla",
totals: "Totali",
vs: "su",
by: "da"
},
aggregators: {
"Numero": tpl.count(frFmtInt),
"Numero di valori unici": tpl.countUnique(frFmtInt),
"Elenco di valori unici": tpl.listUnique(", "),
"Somma": tpl.sum(frFmt),
"Somma intera": tpl.sum(frFmtInt),
"Media": tpl.average(frFmt),
"Minimo": tpl.min(frFmt),
"Massimo": tpl.max(frFmt),
"Rapporto": tpl.sumOverSum(frFmt),
"Limite superiore 80%": tpl.sumOverSumBound80(true, frFmt),
"limite inferiore 80%": tpl.sumOverSumBound80(false, frFmt),
"Somma proporzionale al totale": tpl.fractionOf(tpl.sum(), "total", frFmtPct),
"Somma proporzionale alla riga": tpl.fractionOf(tpl.sum(), "row", frFmtPct),
"Somma proporzionale alla colonna": tpl.fractionOf(tpl.sum(), "col", frFmtPct),
"Numero proporzionale al totale": tpl.fractionOf(tpl.count(), "total", frFmtPct),
"Numero proporzionale alla riga": tpl.fractionOf(tpl.count(), "row", frFmtPct),
"Numero proporzionale alla colonna": tpl.fractionOf(tpl.count(), "col", frFmtPct)
},
renderers: {
"Tabella": $.pivotUtilities.renderers["Table"],
"Tabella con grafico": $.pivotUtilities.renderers["Table Barchart"],
"Mappa di calore": $.pivotUtilities.renderers["Heatmap"],
"Mappa di calore per righe": $.pivotUtilities.renderers["Row Heatmap"],
"Mappa di calore per colonne": $.pivotUtilities.renderers["Col Heatmap"]
}
};
});
}).call(this);
//# sourceMappingURL=pivot.it.js.map
{"version":3,"file":"pivot.it.js","sources":["pivot.it.coffee"],"names":[],"mappings":"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","sourcesContent":["callWithJQuery = (pivotModule) ->\n if typeof exports is \"object\" and typeof module is \"object\" # CommonJS\n pivotModule require(\"jquery\")\n else if typeof define is \"function\" and define.amd # AMD\n define [\"jquery\"], pivotModule\n# Plain browser env\n else\n pivotModule jQuery\n\ncallWithJQuery ($) ->\n nf = $.pivotUtilities.numberFormat\n tpl = $.pivotUtilities.aggregatorTemplates\n\n frFmt = nf(thousandsSep: \" \", decimalSep: \",\")\n frFmtInt = nf(digitsAfterDecimal: 0, thousandsSep: \" \", decimalSep: \",\")\n frFmtPct = nf(digitsAfterDecimal: 1, scaler: 100, suffix: \"%\", thousandsSep: \" \", decimalSep: \",\")\n\n $.pivotUtilities.locales.it =\n localeStrings:\n renderError: \"Si è verificato un errore durante la creazione della tabella.\"\n computeError: \"Si è verificato un errore di calcolo nella tabella.\"\n uiRenderError: \"Si è verificato un errore durante il disegno di interfaccia della tabella pivot.\"\n selectAll: \"Seleziona tutto\"\n selectNone: \"Deseleziona tutto\"\n tooMany: \"(troppi valori da visualizzare)\"\n filterResults: \"Filtra i valori\"\n apply: \"Applica\"\n cancel: \"Annulla\"\n totals: \"Totali\"\n vs: \"su\"\n by: \"da\"\n\n aggregators:\n \"Numero\": tpl.count(frFmtInt)\n \"Numero di valori unici\": tpl.countUnique(frFmtInt)\n \"Elenco di valori unici\": tpl.listUnique(\", \")\n \"Somma\": tpl.sum(frFmt)\n \"Somma intera\": tpl.sum(frFmtInt)\n \"Media\": tpl.average(frFmt)\n \"Minimo\": tpl.min(frFmt)\n \"Massimo\": tpl.max(frFmt)\n \"Rapporto\": tpl.sumOverSum(frFmt)\n \"Limite superiore 80%\": tpl.sumOverSumBound80(true, frFmt)\n \"limite inferiore 80%\": tpl.sumOverSumBound80(false, frFmt)\n \"Somma proporzionale al totale\": tpl.fractionOf(tpl.sum(), \"total\", frFmtPct)\n \"Somma proporzionale alla riga\": tpl.fractionOf(tpl.sum(), \"row\", frFmtPct)\n \"Somma proporzionale alla colonna\": tpl.fractionOf(tpl.sum(), \"col\", frFmtPct)\n \"Numero proporzionale al totale\": tpl.fractionOf(tpl.count(), \"total\", frFmtPct)\n \"Numero proporzionale alla riga\": tpl.fractionOf(tpl.count(), \"row\", frFmtPct)\n \"Numero proporzionale alla colonna\": tpl.fractionOf(tpl.count(), \"col\", frFmtPct)\n\n renderers:\n \"Tabella\": $.pivotUtilities.renderers[\"Table\"]\n \"Tabella con grafico\": $.pivotUtilities.renderers[\"Table Barchart\"]\n \"Mappa di calore\": $.pivotUtilities.renderers[\"Heatmap\"]\n \"Mappa di calore per righe\": $.pivotUtilities.renderers[\"Row Heatmap\"]\n \"Mappa di calore per colonne\": $.pivotUtilities.renderers[\"Col Heatmap\"]\n\n\n"]}
\ No newline at end of file
(function(){var e;(e=function(e){return"object"==typeof exports&&"object"==typeof module?e(require("jquery")):"function"==typeof define&&define.amd?define(["jquery"],e):e(jQuery)})(function(e){var i,o,a,r,t;return r=e.pivotUtilities.numberFormat,t=e.pivotUtilities.aggregatorTemplates,i=r({thousandsSep:" ",decimalSep:","}),o=r({digitsAfterDecimal:0,thousandsSep:" ",decimalSep:","}),a=r({digitsAfterDecimal:1,scaler:100,suffix:"%",thousandsSep:" ",decimalSep:","}),e.pivotUtilities.locales.it={localeStrings:{renderError:"Si è verificato un errore durante la creazione della tabella.",computeError:"Si è verificato un errore di calcolo nella tabella.",uiRenderError:"Si è verificato un errore durante il disegno di interfaccia della tabella pivot.",selectAll:"Seleziona tutto",selectNone:"Deseleziona tutto",tooMany:"(troppi valori da visualizzare)",filterResults:"Filtra i valori",apply:"Applica",cancel:"Annulla",totals:"Totali",vs:"su",by:"da"},aggregators:{Numero:t.count(o),"Numero di valori unici":t.countUnique(o),"Elenco di valori unici":t.listUnique(", "),Somma:t.sum(i),"Somma intera":t.sum(o),Media:t.average(i),Minimo:t.min(i),Massimo:t.max(i),Rapporto:t.sumOverSum(i),"Limite superiore 80%":t.sumOverSumBound80(!0,i),"limite inferiore 80%":t.sumOverSumBound80(!1,i),"Somma proporzionale al totale":t.fractionOf(t.sum(),"total",a),"Somma proporzionale alla riga":t.fractionOf(t.sum(),"row",a),"Somma proporzionale alla colonna":t.fractionOf(t.sum(),"col",a),"Numero proporzionale al totale":t.fractionOf(t.count(),"total",a),"Numero proporzionale alla riga":t.fractionOf(t.count(),"row",a),"Numero proporzionale alla colonna":t.fractionOf(t.count(),"col",a)},renderers:{Tabella:e.pivotUtilities.renderers.Table,"Tabella con grafico":e.pivotUtilities.renderers["Table Barchart"],"Mappa di calore":e.pivotUtilities.renderers.Heatmap,"Mappa di calore per righe":e.pivotUtilities.renderers["Row Heatmap"],"Mappa di calore per colonne":e.pivotUtilities.renderers["Col Heatmap"]}}})}).call(this);
//# sourceMappingURL=pivot.it.min.js.map
{"version":3,"sources":["pivot.it.coffee","pivot.it.min.js"],"names":["callWithJQuery","pivotModule","exports","module","require","define","amd","jQuery","$","frFmt","frFmtInt","frFmtPct","nf","tpl","pivotUtilities","numberFormat","aggregatorTemplates","thousandsSep","decimalSep","digitsAfterDecimal","scaler","suffix","locales","it","localeStrings","renderError","computeError","uiRenderError","selectAll","selectNone","tooMany","filterResults","apply","cancel","totals","vs","by","aggregators","Numero","count","Numero di valori unici","countUnique","Elenco di valori unici","listUnique","Somma","sum","Somma intera","Media","average","Minimo","min","Massimo","max","Rapporto","sumOverSum","Limite superiore 80%","sumOverSumBound80","limite inferiore 80%","Somma proporzionale al totale","fractionOf","Somma proporzionale alla riga","Somma proporzionale alla colonna","Numero proporzionale al totale","Numero proporzionale alla riga","Numero proporzionale alla colonna","renderers","Tabella","Tabella con grafico","Mappa di calore","Mappa di calore per righe","Mappa di calore per colonne","call","this"],"mappings":"CAAA,WAAA,GAAAA,IAAAA,EAAiB,SAACC,GAChB,MAAqB,gBAAXC,UAAyC,gBAAVC,QACvCF,EAAYG,QAAQ,WACG,kBAAVC,SAAyBA,OAAOC,IAC7CD,QAAQ,UAAWJ,GAGnBA,EAAYM,UAED,SAACC,GACd,GAAAC,GAAAC,EAAAC,EAAAC,EAAAC,CCuBE,ODvBFD,GAAKJ,EAAEM,eAAeC,aACtBF,EAAML,EAAEM,eAAeE,oBAEvBP,EAAWG,GAAGK,aAAc,IAAKC,WAAY,MAC7CR,EAAWE,GAAGO,mBAAoB,EAAGF,aAAc,IAAKC,WAAY,MACpEP,EAAWC,GAAGO,mBAAoB,EAAGC,OAAQ,IAAKC,OAAQ,IAAKJ,aAAc,IAAKC,WAAY,MAE9FV,EAAEM,eAAeQ,QAAQC,IACvBC,eACEC,YAAa,gEACbC,aAAc,sDACdC,cAAe,mFACfC,UAAW,kBACXC,WAAY,oBACZC,QAAS,kCACTC,cAAe,kBACfC,MAAO,UACPC,OAAQ,UACRC,OAAQ,SACRC,GAAI,KACJC,GAAI,MAENC,aACEC,OAAsCzB,EAAI0B,MAAM7B,GAChD8B,yBAAsC3B,EAAI4B,YAAY/B,GACtDgC,yBAAsC7B,EAAI8B,WAAW,MACrDC,MAAsC/B,EAAIgC,IAAIpC,GAC9CqC,eAAsCjC,EAAIgC,IAAInC,GAC9CqC,MAAsClC,EAAImC,QAAQvC,GAClDwC,OAAsCpC,EAAIqC,IAAIzC,GAC9C0C,QAAsCtC,EAAIuC,IAAI3C,GAC9C4C,SAAsCxC,EAAIyC,WAAW7C,GACrD8C,uBAAsC1C,EAAI2C,mBAAkB,EAAM/C,GAClEgD,uBAAsC5C,EAAI2C,mBAAkB,EAAO/C,GACnEiD,gCAAsC7C,EAAI8C,WAAW9C,EAAIgC,MAAS,QAASlC,GAC3EiD,gCAAsC/C,EAAI8C,WAAW9C,EAAIgC,MAAS,MAASlC,GAC3EkD,mCAAsChD,EAAI8C,WAAW9C,EAAIgC,MAAS,MAASlC,GAC3EmD,iCAAsCjD,EAAI8C,WAAW9C,EAAI0B,QAAS,QAAS5B,GAC3EoD,iCAAsClD,EAAI8C,WAAW9C,EAAI0B,QAAS,MAAS5B,GAC3EqD,oCAAsCnD,EAAI8C,WAAW9C,EAAI0B,QAAS,MAAS5B,IAE7EsD,WACEC,QAAqC1D,EAAEM,eAAemD,UAAU,MAChEE,sBAAqC3D,EAAEM,eAAemD,UAAU,kBAChEG,kBAAqC5D,EAAEM,eAAemD,UAAU,QAChEI,4BAAqC7D,EAAEM,eAAemD,UAAU,eAChEK,8BAAqC9D,EAAEM,eAAemD,UAAU,qBCqBnEM,KAAKC","file":"pivot.it.min.js","sourcesContent":["callWithJQuery = (pivotModule) ->\n if typeof exports is \"object\" and typeof module is \"object\" # CommonJS\n pivotModule require(\"jquery\")\n else if typeof define is \"function\" and define.amd # AMD\n define [\"jquery\"], pivotModule\n# Plain browser env\n else\n pivotModule jQuery\n\ncallWithJQuery ($) ->\n nf = $.pivotUtilities.numberFormat\n tpl = $.pivotUtilities.aggregatorTemplates\n\n frFmt = nf(thousandsSep: \" \", decimalSep: \",\")\n frFmtInt = nf(digitsAfterDecimal: 0, thousandsSep: \" \", decimalSep: \",\")\n frFmtPct = nf(digitsAfterDecimal: 1, scaler: 100, suffix: \"%\", thousandsSep: \" \", decimalSep: \",\")\n\n $.pivotUtilities.locales.it =\n localeStrings:\n renderError: \"Si è verificato un errore durante la creazione della tabella.\"\n computeError: \"Si è verificato un errore di calcolo nella tabella.\"\n uiRenderError: \"Si è verificato un errore durante il disegno di interfaccia della tabella pivot.\"\n selectAll: \"Seleziona tutto\"\n selectNone: \"Deseleziona tutto\"\n tooMany: \"(troppi valori da visualizzare)\"\n filterResults: \"Filtra i valori\"\n apply: \"Applica\"\n cancel: \"Annulla\"\n totals: \"Totali\"\n vs: \"su\"\n by: \"da\"\n\n aggregators:\n \"Numero\": tpl.count(frFmtInt)\n \"Numero di valori unici\": tpl.countUnique(frFmtInt)\n \"Elenco di valori unici\": tpl.listUnique(\", \")\n \"Somma\": tpl.sum(frFmt)\n \"Somma intera\": tpl.sum(frFmtInt)\n \"Media\": tpl.average(frFmt)\n \"Minimo\": tpl.min(frFmt)\n \"Massimo\": tpl.max(frFmt)\n \"Rapporto\": tpl.sumOverSum(frFmt)\n \"Limite superiore 80%\": tpl.sumOverSumBound80(true, frFmt)\n \"limite inferiore 80%\": tpl.sumOverSumBound80(false, frFmt)\n \"Somma proporzionale al totale\": tpl.fractionOf(tpl.sum(), \"total\", frFmtPct)\n \"Somma proporzionale alla riga\": tpl.fractionOf(tpl.sum(), \"row\", frFmtPct)\n \"Somma proporzionale alla colonna\": tpl.fractionOf(tpl.sum(), \"col\", frFmtPct)\n \"Numero proporzionale al totale\": tpl.fractionOf(tpl.count(), \"total\", frFmtPct)\n \"Numero proporzionale alla riga\": tpl.fractionOf(tpl.count(), \"row\", frFmtPct)\n \"Numero proporzionale alla colonna\": tpl.fractionOf(tpl.count(), \"col\", frFmtPct)\n\n renderers:\n \"Tabella\": $.pivotUtilities.renderers[\"Table\"]\n \"Tabella con grafico\": $.pivotUtilities.renderers[\"Table Barchart\"]\n \"Mappa di calore\": $.pivotUtilities.renderers[\"Heatmap\"]\n \"Mappa di calore per righe\": $.pivotUtilities.renderers[\"Row Heatmap\"]\n \"Mappa di calore per colonne\": $.pivotUtilities.renderers[\"Col Heatmap\"]\n\n\n","(function() {\n var callWithJQuery;\n\n callWithJQuery = function(pivotModule) {\n if (typeof exports === \"object\" && typeof module === \"object\") {\n return pivotModule(require(\"jquery\"));\n } else if (typeof define === \"function\" && define.amd) {\n return define([\"jquery\"], pivotModule);\n } else {\n return pivotModule(jQuery);\n }\n };\n\n callWithJQuery(function($) {\n var frFmt, frFmtInt, frFmtPct, nf, tpl;\n nf = $.pivotUtilities.numberFormat;\n tpl = $.pivotUtilities.aggregatorTemplates;\n frFmt = nf({\n thousandsSep: \" \",\n decimalSep: \",\"\n });\n frFmtInt = nf({\n digitsAfterDecimal: 0,\n thousandsSep: \" \",\n decimalSep: \",\"\n });\n frFmtPct = nf({\n digitsAfterDecimal: 1,\n scaler: 100,\n suffix: \"%\",\n thousandsSep: \" \",\n decimalSep: \",\"\n });\n return $.pivotUtilities.locales.it = {\n localeStrings: {\n renderError: \"Si è verificato un errore durante la creazione della tabella.\",\n computeError: \"Si è verificato un errore di calcolo nella tabella.\",\n uiRenderError: \"Si è verificato un errore durante il disegno di interfaccia della tabella pivot.\",\n selectAll: \"Seleziona tutto\",\n selectNone: \"Deseleziona tutto\",\n tooMany: \"(troppi valori da visualizzare)\",\n filterResults: \"Filtra i valori\",\n apply: \"Applica\",\n cancel: \"Annulla\",\n totals: \"Totali\",\n vs: \"su\",\n by: \"da\"\n },\n aggregators: {\n \"Numero\": tpl.count(frFmtInt),\n \"Numero di valori unici\": tpl.countUnique(frFmtInt),\n \"Elenco di valori unici\": tpl.listUnique(\", \"),\n \"Somma\": tpl.sum(frFmt),\n \"Somma intera\": tpl.sum(frFmtInt),\n \"Media\": tpl.average(frFmt),\n \"Minimo\": tpl.min(frFmt),\n \"Massimo\": tpl.max(frFmt),\n \"Rapporto\": tpl.sumOverSum(frFmt),\n \"Limite superiore 80%\": tpl.sumOverSumBound80(true, frFmt),\n \"limite inferiore 80%\": tpl.sumOverSumBound80(false, frFmt),\n \"Somma proporzionale al totale\": tpl.fractionOf(tpl.sum(), \"total\", frFmtPct),\n \"Somma proporzionale alla riga\": tpl.fractionOf(tpl.sum(), \"row\", frFmtPct),\n \"Somma proporzionale alla colonna\": tpl.fractionOf(tpl.sum(), \"col\", frFmtPct),\n \"Numero proporzionale al totale\": tpl.fractionOf(tpl.count(), \"total\", frFmtPct),\n \"Numero proporzionale alla riga\": tpl.fractionOf(tpl.count(), \"row\", frFmtPct),\n \"Numero proporzionale alla colonna\": tpl.fractionOf(tpl.count(), \"col\", frFmtPct)\n },\n renderers: {\n \"Tabella\": $.pivotUtilities.renderers[\"Table\"],\n \"Tabella con grafico\": $.pivotUtilities.renderers[\"Table Barchart\"],\n \"Mappa di calore\": $.pivotUtilities.renderers[\"Heatmap\"],\n \"Mappa di calore per righe\": $.pivotUtilities.renderers[\"Row Heatmap\"],\n \"Mappa di calore per colonne\": $.pivotUtilities.renderers[\"Col Heatmap\"]\n }\n };\n });\n\n}).call(this);\n\n//# sourceMappingURL=pivot.it.js.map\n"]}
\ No newline at end of file
(function() {
var callWithJQuery;
callWithJQuery = function(pivotModule) {
if (typeof exports === "object" && typeof module === "object") {
return pivotModule(require("jquery"));
} else if (typeof define === "function" && define.amd) {
return define(["jquery"], pivotModule);
} else {
return pivotModule(jQuery);
}
};
callWithJQuery(function($) {
var jaFmtInt, jaFmtPct, jpFmt, nf, tpl;
nf = $.pivotUtilities.numberFormat;
tpl = $.pivotUtilities.aggregatorTemplates;
jpFmt = nf({
thousandsSep: ",",
decimalSep: "."
});
jaFmtInt = nf({
digitsAfterDecimal: 0,
thousandsSep: ",",
decimalSep: "."
});
jaFmtPct = nf({
digitsAfterDecimal: 1,
scaler: 100,
suffix: "%",
thousandsSep: ",",
decimalSep: "."
});
return $.pivotUtilities.locales.ja = {
localeStrings: {
renderError: "描画処理でエラーが発生しました。",
computeError: "処理中にエラーが発生しました。",
uiRenderError: "表示処理中にエラーが発生しました。",
selectAll: "全選択",
selectNone: "選択解除",
tooMany: "項目が多すぎます",
filterResults: "項目を検索する",
totals: "合計",
vs: "vs",
by: "per",
apply: "適用する",
cancel: "キャンセル"
},
aggregators: {
"件数": tpl.count(jpFmtInt),
"件数(ユニーク)": tpl.countUnique(jpFmtInt),
"ユニーク値を表示 (CSV)": tpl.listUnique(", "),
"合計": tpl.sum(jpFmt),
"合計(整数)": tpl.sum(jpFmtInt),
"平均": tpl.average(jpFmt),
"最小": tpl.min(jpFmt),
"最大": tpl.max(jpFmt),
"選択2項目の比率": tpl.sumOverSum(jpFmt),
"選択2項目の比率(上限80%)": tpl.sumOverSumBound80(true, jpFmt),
"選択2項目の比率(下限80%)": tpl.sumOverSumBound80(false, jpFmt),
"合計割合": tpl.fractionOf(tpl.sum(), "total", jpFmtPct),
"合計割合(行)": tpl.fractionOf(tpl.sum(), "row", jpFmtPct),
"合計割合(列)": tpl.fractionOf(tpl.sum(), "col", jpFmtPct),
"件数割合": tpl.fractionOf(tpl.count(), "total", jpFmtPct),
"件数割合(行)": tpl.fractionOf(tpl.count(), "row", jpFmtPct),
"件数割合(列)": tpl.fractionOf(tpl.count(), "col", jpFmtPct)
},
renderers: {
"表": $.pivotUtilities.renderers["Table"],
"表(棒グラフ)": $.pivotUtilities.renderers["Table Barchart"],
"ヒートマップ": $.pivotUtilities.renderers["Heatmap"],
"ヒートマップ(行)": $.pivotUtilities.renderers["Row Heatmap"],
"ヒートマップ(列)": $.pivotUtilities.renderers["Col Heatmap"]
}
};
});
}).call(this);
//# sourceMappingURL=pivot.jp.js.map
{"version":3,"file":"pivot.jp.js","sources":["pivot.jp.coffee"],"names":[],"mappings":"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","sourcesContent":["callWithJQuery = (pivotModule) ->\n if typeof exports is \"object\" and typeof module is \"object\" # CommonJS\n pivotModule require(\"jquery\")\n else if typeof define is \"function\" and define.amd # AMD\n define [\"jquery\"], pivotModule\n # Plain browser env\n else\n pivotModule jQuery\n\ncallWithJQuery ($) ->\n nf = $.pivotUtilities.numberFormat\n tpl = $.pivotUtilities.aggregatorTemplates\n\n jpFmt = nf(thousandsSep: \",\", decimalSep: \".\")\n jaFmtInt = nf(digitsAfterDecimal: 0, thousandsSep: \",\", decimalSep: \".\")\n jaFmtPct = nf(digitsAfterDecimal: 1, scaler: 100, suffix: \"%\", thousandsSep: \",\", decimalSep: \".\")\n\n $.pivotUtilities.locales.ja =\n localeStrings:\n renderError: \"描画処理でエラーが発生しました。\"\n computeError: \"処理中にエラーが発生しました。\"\n uiRenderError: \"表示処理中にエラーが発生しました。\"\n selectAll: \"全選択\"\n selectNone: \"選択解除\"\n tooMany: \"項目が多すぎます\"\n filterResults: \"項目を検索する\"\n totals: \"合計\"\n vs: \"vs\"\n by: \"per\"\n apply: \"適用する\"\n cancel: \"キャンセル\"\n\n aggregators:\n \"件数\": tpl.count(jpFmtInt)\n \"件数(ユニーク)\": tpl.countUnique(jpFmtInt)\n \"ユニーク値を表示 (CSV)\": tpl.listUnique(\", \")\n \"合計\": tpl.sum(jpFmt)\n \"合計(整数)\": tpl.sum(jpFmtInt)\n \"平均\": tpl.average(jpFmt)\n \"最小\": tpl.min(jpFmt)\n \"最大\": tpl.max(jpFmt)\n \"選択2項目の比率\": tpl.sumOverSum(jpFmt)\n \"選択2項目の比率(上限80%)\": tpl.sumOverSumBound80(true, jpFmt)\n \"選択2項目の比率(下限80%)\": tpl.sumOverSumBound80(false, jpFmt)\n \"合計割合\": tpl.fractionOf(tpl.sum(), \"total\", jpFmtPct)\n \"合計割合(行)\": tpl.fractionOf(tpl.sum(), \"row\", jpFmtPct)\n \"合計割合(列)\": tpl.fractionOf(tpl.sum(), \"col\", jpFmtPct)\n \"件数割合\": tpl.fractionOf(tpl.count(), \"total\", jpFmtPct)\n \"件数割合(行)\": tpl.fractionOf(tpl.count(), \"row\", jpFmtPct)\n \"件数割合(列)\": tpl.fractionOf(tpl.count(), \"col\", jpFmtPct)\n\n renderers:\n \"表\": $.pivotUtilities.renderers[\"Table\"]\n \"表(棒グラフ)\": $.pivotUtilities.renderers[\"Table Barchart\"]\n \"ヒートマップ\": $.pivotUtilities.renderers[\"Heatmap\"]\n \"ヒートマップ(行)\": $.pivotUtilities.renderers[\"Row Heatmap\"]\n \"ヒートマップ(列)\": $.pivotUtilities.renderers[\"Col Heatmap\"]\n\n\n"]}
\ No newline at end of file
(function(){var t;(t=function(t){return"object"==typeof exports&&"object"==typeof module?t(require("jquery")):"function"==typeof define&&define.amd?define(["jquery"],t):t(jQuery)})(function(t){var e,r,i,o,n;return o=t.pivotUtilities.numberFormat,n=t.pivotUtilities.aggregatorTemplates,i=o({thousandsSep:",",decimalSep:"."}),e=o({digitsAfterDecimal:0,thousandsSep:",",decimalSep:"."}),r=o({digitsAfterDecimal:1,scaler:100,suffix:"%",thousandsSep:",",decimalSep:"."}),t.pivotUtilities.locales.ja={localeStrings:{renderError:"描画処理でエラーが発生しました。",computeError:"処理中にエラーが発生しました。",uiRenderError:"表示処理中にエラーが発生しました。",selectAll:"全選択",selectNone:"選択解除",tooMany:"項目が多すぎます",filterResults:"項目を検索する",totals:"合計",vs:"vs",by:"per",apply:"適用する",cancel:"キャンセル"},aggregators:{"件数":n.count(jpFmtInt),"件数(ユニーク)":n.countUnique(jpFmtInt),"ユニーク値を表示 (CSV)":n.listUnique(", "),"合計":n.sum(i),"合計(整数)":n.sum(jpFmtInt),"平均":n.average(i),"最小":n.min(i),"最大":n.max(i),"選択2項目の比率":n.sumOverSum(i),"選択2項目の比率(上限80%)":n.sumOverSumBound80(!0,i),"選択2項目の比率(下限80%)":n.sumOverSumBound80(!1,i),"合計割合":n.fractionOf(n.sum(),"total",jpFmtPct),"合計割合(行)":n.fractionOf(n.sum(),"row",jpFmtPct),"合計割合(列)":n.fractionOf(n.sum(),"col",jpFmtPct),"件数割合":n.fractionOf(n.count(),"total",jpFmtPct),"件数割合(行)":n.fractionOf(n.count(),"row",jpFmtPct),"件数割合(列)":n.fractionOf(n.count(),"col",jpFmtPct)},renderers:{"表":t.pivotUtilities.renderers.Table,"表(棒グラフ)":t.pivotUtilities.renderers["Table Barchart"],"ヒートマップ":t.pivotUtilities.renderers.Heatmap,"ヒートマップ(行)":t.pivotUtilities.renderers["Row Heatmap"],"ヒートマップ(列)":t.pivotUtilities.renderers["Col Heatmap"]}}})}).call(this);
//# sourceMappingURL=pivot.jp.min.js.map
{"version":3,"sources":["pivot.jp.coffee","pivot.jp.min.js"],"names":["callWithJQuery","pivotModule","exports","module","require","define","amd","jQuery","$","jaFmtInt","jaFmtPct","jpFmt","nf","tpl","pivotUtilities","numberFormat","aggregatorTemplates","thousandsSep","decimalSep","digitsAfterDecimal","scaler","suffix","locales","ja","localeStrings","renderError","computeError","uiRenderError","selectAll","selectNone","tooMany","filterResults","totals","vs","by","apply","cancel","aggregators","件数","count","jpFmtInt","件数(ユニーク)","countUnique","ユニーク値を表示 (CSV)","listUnique","合計","sum","合計(整数)","平均","average","最小","min","最大","max","選択2項目の比率","sumOverSum","選択2項目の比率(上限80%)","sumOverSumBound80","選択2項目の比率(下限80%)","合計割合","fractionOf","jpFmtPct","合計割合(行)","合計割合(列)","件数割合","件数割合(行)","件数割合(列)","renderers","表","表(棒グラフ)","ヒートマップ","ヒートマップ(行)","ヒートマップ(列)","call","this"],"mappings":"CAAA,WAAA,GAAAA,IAAAA,EAAiB,SAACC,GACd,MAAqB,gBAAXC,UAAyC,gBAAVC,QACrCF,EAAYG,QAAQ,WACC,kBAAVC,SAAyBA,OAAOC,IAC3CD,QAAQ,UAAWJ,GAGnBA,EAAYM,UAEL,SAACC,GACZ,GAAAC,GAAAC,EAAAC,EAAAC,EAAAC,CCuBA,ODvBAD,GAAKJ,EAAEM,eAAeC,aACtBF,EAAML,EAAEM,eAAeE,oBAEvBL,EAAWC,GAAGK,aAAc,IAAKC,WAAY,MAC7CT,EAAWG,GAAGO,mBAAoB,EAAGF,aAAc,IAAKC,WAAY,MACpER,EAAWE,GAAGO,mBAAoB,EAAGC,OAAQ,IAAKC,OAAQ,IAAKJ,aAAc,IAAKC,WAAY,MAE9FV,EAAEM,eAAeQ,QAAQC,IACrBC,eACIC,YAAa,mBACbC,aAAc,kBACdC,cAAe,oBACfC,UAAW,MACXC,WAAY,OACZC,QAAS,WACTC,cAAe,UACfC,OAAQ,KACRC,GAAI,KACJC,GAAI,MACJC,MAAO,OACPC,OAAQ,SAEZC,aACIC,KAAkCzB,EAAI0B,MAAMC,UAC5CC,WAAqB5B,EAAI6B,YAAYF,UACrCG,iBAA4B9B,EAAI+B,WAAW,MAC3CC,KAAmChC,EAAIiC,IAAInC,GAC3CoC,SAA4BlC,EAAIiC,IAAIN,UACpCQ,KAAiCnC,EAAIoC,QAAQtC,GAC7CuC,KAAiCrC,EAAIsC,IAAIxC,GACzCyC,KAAiCvC,EAAIwC,IAAI1C,GACzC2C,WAA+BzC,EAAI0C,WAAW5C,GAC9C6C,kBAAiC3C,EAAI4C,mBAAkB,EAAM9C,GAC7D+C,kBAAiC7C,EAAI4C,mBAAkB,EAAO9C,GAC9DgD,OAAa9C,EAAI+C,WAAW/C,EAAIiC,MAAS,QAASe,UAClDC,UAAcjD,EAAI+C,WAAW/C,EAAIiC,MAAS,MAASe,UACnDE,UAAYlD,EAAI+C,WAAW/C,EAAIiC,MAAS,MAASe,UACjDG,OAAYnD,EAAI+C,WAAW/C,EAAI0B,QAAS,QAASsB,UACjDI,UAAapD,EAAI+C,WAAW/C,EAAI0B,QAAS,MAASsB,UAClDK,UAAWrD,EAAI+C,WAAW/C,EAAI0B,QAAS,MAASsB,WAEpDM,WACIC,IAA+B5D,EAAEM,eAAeqD,UAAU,MAC1DE,UAAyB7D,EAAEM,eAAeqD,UAAU,kBACpDG,SAAyB9D,EAAEM,eAAeqD,UAAU,QACpDI,YAAkB/D,EAAEM,eAAeqD,UAAU,eAC7CK,YAAgBhE,EAAEM,eAAeqD,UAAU,qBCqBpDM,KAAKC","file":"pivot.jp.min.js","sourcesContent":["callWithJQuery = (pivotModule) ->\n if typeof exports is \"object\" and typeof module is \"object\" # CommonJS\n pivotModule require(\"jquery\")\n else if typeof define is \"function\" and define.amd # AMD\n define [\"jquery\"], pivotModule\n # Plain browser env\n else\n pivotModule jQuery\n\ncallWithJQuery ($) ->\n nf = $.pivotUtilities.numberFormat\n tpl = $.pivotUtilities.aggregatorTemplates\n\n jpFmt = nf(thousandsSep: \",\", decimalSep: \".\")\n jaFmtInt = nf(digitsAfterDecimal: 0, thousandsSep: \",\", decimalSep: \".\")\n jaFmtPct = nf(digitsAfterDecimal: 1, scaler: 100, suffix: \"%\", thousandsSep: \",\", decimalSep: \".\")\n\n $.pivotUtilities.locales.ja =\n localeStrings:\n renderError: \"描画処理でエラーが発生しました。\"\n computeError: \"処理中にエラーが発生しました。\"\n uiRenderError: \"表示処理中にエラーが発生しました。\"\n selectAll: \"全選択\"\n selectNone: \"選択解除\"\n tooMany: \"項目が多すぎます\"\n filterResults: \"項目を検索する\"\n totals: \"合計\"\n vs: \"vs\"\n by: \"per\"\n apply: \"適用する\"\n cancel: \"キャンセル\"\n\n aggregators:\n \"件数\": tpl.count(jpFmtInt)\n \"件数(ユニーク)\": tpl.countUnique(jpFmtInt)\n \"ユニーク値を表示 (CSV)\": tpl.listUnique(\", \")\n \"合計\": tpl.sum(jpFmt)\n \"合計(整数)\": tpl.sum(jpFmtInt)\n \"平均\": tpl.average(jpFmt)\n \"最小\": tpl.min(jpFmt)\n \"最大\": tpl.max(jpFmt)\n \"選択2項目の比率\": tpl.sumOverSum(jpFmt)\n \"選択2項目の比率(上限80%)\": tpl.sumOverSumBound80(true, jpFmt)\n \"選択2項目の比率(下限80%)\": tpl.sumOverSumBound80(false, jpFmt)\n \"合計割合\": tpl.fractionOf(tpl.sum(), \"total\", jpFmtPct)\n \"合計割合(行)\": tpl.fractionOf(tpl.sum(), \"row\", jpFmtPct)\n \"合計割合(列)\": tpl.fractionOf(tpl.sum(), \"col\", jpFmtPct)\n \"件数割合\": tpl.fractionOf(tpl.count(), \"total\", jpFmtPct)\n \"件数割合(行)\": tpl.fractionOf(tpl.count(), \"row\", jpFmtPct)\n \"件数割合(列)\": tpl.fractionOf(tpl.count(), \"col\", jpFmtPct)\n\n renderers:\n \"表\": $.pivotUtilities.renderers[\"Table\"]\n \"表(棒グラフ)\": $.pivotUtilities.renderers[\"Table Barchart\"]\n \"ヒートマップ\": $.pivotUtilities.renderers[\"Heatmap\"]\n \"ヒートマップ(行)\": $.pivotUtilities.renderers[\"Row Heatmap\"]\n \"ヒートマップ(列)\": $.pivotUtilities.renderers[\"Col Heatmap\"]\n\n\n","(function() {\n var callWithJQuery;\n\n callWithJQuery = function(pivotModule) {\n if (typeof exports === \"object\" && typeof module === \"object\") {\n return pivotModule(require(\"jquery\"));\n } else if (typeof define === \"function\" && define.amd) {\n return define([\"jquery\"], pivotModule);\n } else {\n return pivotModule(jQuery);\n }\n };\n\n callWithJQuery(function($) {\n var jaFmtInt, jaFmtPct, jpFmt, nf, tpl;\n nf = $.pivotUtilities.numberFormat;\n tpl = $.pivotUtilities.aggregatorTemplates;\n jpFmt = nf({\n thousandsSep: \",\",\n decimalSep: \".\"\n });\n jaFmtInt = nf({\n digitsAfterDecimal: 0,\n thousandsSep: \",\",\n decimalSep: \".\"\n });\n jaFmtPct = nf({\n digitsAfterDecimal: 1,\n scaler: 100,\n suffix: \"%\",\n thousandsSep: \",\",\n decimalSep: \".\"\n });\n return $.pivotUtilities.locales.ja = {\n localeStrings: {\n renderError: \"描画処理でエラーが発生しました。\",\n computeError: \"処理中にエラーが発生しました。\",\n uiRenderError: \"表示処理中にエラーが発生しました。\",\n selectAll: \"全選択\",\n selectNone: \"選択解除\",\n tooMany: \"項目が多すぎます\",\n filterResults: \"項目を検索する\",\n totals: \"合計\",\n vs: \"vs\",\n by: \"per\",\n apply: \"適用する\",\n cancel: \"キャンセル\"\n },\n aggregators: {\n \"件数\": tpl.count(jpFmtInt),\n \"件数(ユニーク)\": tpl.countUnique(jpFmtInt),\n \"ユニーク値を表示 (CSV)\": tpl.listUnique(\", \"),\n \"合計\": tpl.sum(jpFmt),\n \"合計(整数)\": tpl.sum(jpFmtInt),\n \"平均\": tpl.average(jpFmt),\n \"最小\": tpl.min(jpFmt),\n \"最大\": tpl.max(jpFmt),\n \"選択2項目の比率\": tpl.sumOverSum(jpFmt),\n \"選択2項目の比率(上限80%)\": tpl.sumOverSumBound80(true, jpFmt),\n \"選択2項目の比率(下限80%)\": tpl.sumOverSumBound80(false, jpFmt),\n \"合計割合\": tpl.fractionOf(tpl.sum(), \"total\", jpFmtPct),\n \"合計割合(行)\": tpl.fractionOf(tpl.sum(), \"row\", jpFmtPct),\n \"合計割合(列)\": tpl.fractionOf(tpl.sum(), \"col\", jpFmtPct),\n \"件数割合\": tpl.fractionOf(tpl.count(), \"total\", jpFmtPct),\n \"件数割合(行)\": tpl.fractionOf(tpl.count(), \"row\", jpFmtPct),\n \"件数割合(列)\": tpl.fractionOf(tpl.count(), \"col\", jpFmtPct)\n },\n renderers: {\n \"表\": $.pivotUtilities.renderers[\"Table\"],\n \"表(棒グラフ)\": $.pivotUtilities.renderers[\"Table Barchart\"],\n \"ヒートマップ\": $.pivotUtilities.renderers[\"Heatmap\"],\n \"ヒートマップ(行)\": $.pivotUtilities.renderers[\"Row Heatmap\"],\n \"ヒートマップ(列)\": $.pivotUtilities.renderers[\"Col Heatmap\"]\n }\n };\n });\n\n}).call(this);\n\n//# sourceMappingURL=pivot.jp.js.map\n"]}
\ No newline at end of file
(function() {
var callWithJQuery,
indexOf = [].indexOf || function(item) { for (var i = 0, l = this.length; i < l; i++) { if (i in this && this[i] === item) return i; } return -1; },
slice = [].slice,
bind = function(fn, me){ return function(){ return fn.apply(me, arguments); }; },
hasProp = {}.hasOwnProperty;
callWithJQuery = function(pivotModule) {
if (typeof exports === "object" && typeof module === "object") {
return pivotModule(require("jquery"));
} else if (typeof define === "function" && define.amd) {
return define(["jquery"], pivotModule);
} else {
return pivotModule(jQuery);
}
};
callWithJQuery(function($) {
/*
Utilities
*/
var PivotData, addSeparators, aggregatorTemplates, aggregators, dayNamesEn, derivers, getSort, locales, mthNamesEn, naturalSort, numberFormat, pivotTableRenderer, rd, renderers, rx, rz, sortAs, usFmt, usFmtInt, usFmtPct, zeroPad;
addSeparators = function(nStr, thousandsSep, decimalSep) {
var rgx, x, x1, x2;
nStr += '';
x = nStr.split('.');
x1 = x[0];
x2 = x.length > 1 ? decimalSep + x[1] : '';
rgx = /(\d+)(\d{3})/;
while (rgx.test(x1)) {
x1 = x1.replace(rgx, '$1' + thousandsSep + '$2');
}
return x1 + x2;
};
numberFormat = function(opts) {
var defaults;
defaults = {
digitsAfterDecimal: 2,
scaler: 1,
thousandsSep: ",",
decimalSep: ".",
prefix: "",
suffix: ""
};
opts = $.extend({}, defaults, opts);
return function(x) {
var result;
if (isNaN(x) || !isFinite(x)) {
return "";
}
result = addSeparators((opts.scaler * x).toFixed(opts.digitsAfterDecimal), opts.thousandsSep, opts.decimalSep);
return "" + opts.prefix + result + opts.suffix;
};
};
usFmt = numberFormat();
usFmtInt = numberFormat({
digitsAfterDecimal: 0
});
usFmtPct = numberFormat({
digitsAfterDecimal: 1,
scaler: 100,
suffix: "%"
});
aggregatorTemplates = {
count: function(formatter) {
if (formatter == null) {
formatter = usFmtInt;
}
return function() {
return function(data, rowKey, colKey) {
return {
count: 0,
push: function() {
return this.count++;
},
value: function() {
return this.count;
},
format: formatter
};
};
};
},
uniques: function(fn, formatter) {
if (formatter == null) {
formatter = usFmtInt;
}
return function(arg) {
var attr;
attr = arg[0];
return function(data, rowKey, colKey) {
return {
uniq: [],
push: function(record) {
var ref;
if (ref = record[attr], indexOf.call(this.uniq, ref) < 0) {
return this.uniq.push(record[attr]);
}
},
value: function() {
return fn(this.uniq);
},
format: formatter,
numInputs: attr != null ? 0 : 1
};
};
};
},
sum: function(formatter) {
if (formatter == null) {
formatter = usFmt;
}
return function(arg) {
var attr;
attr = arg[0];
return function(data, rowKey, colKey) {
return {
sum: 0,
push: function(record) {
if (!isNaN(parseFloat(record[attr]))) {
return this.sum += parseFloat(record[attr]);
}
},
value: function() {
return this.sum;
},
format: formatter,
numInputs: attr != null ? 0 : 1
};
};
};
},
extremes: function(mode, formatter) {
if (formatter == null) {
formatter = usFmt;
}
return function(arg) {
var attr;
attr = arg[0];
return function(data, rowKey, colKey) {
return {
val: null,
sorter: getSort(data != null ? data.sorters : void 0, attr),
push: function(record) {
var ref, ref1, ref2, x;
x = record[attr];
if (mode === "min" || mode === "max") {
x = parseFloat(x);
if (!isNaN(x)) {
this.val = Math[mode](x, (ref = this.val) != null ? ref : x);
}
}
if (mode === "first") {
if (this.sorter(x, (ref1 = this.val) != null ? ref1 : x) <= 0) {
this.val = x;
}
}
if (mode === "last") {
if (this.sorter(x, (ref2 = this.val) != null ? ref2 : x) >= 0) {
return this.val = x;
}
}
},
value: function() {
return this.val;
},
format: function(x) {
if (isNaN(x)) {
return x;
} else {
return formatter(x);
}
},
numInputs: attr != null ? 0 : 1
};
};
};
},
quantile: function(q, formatter) {
if (formatter == null) {
formatter = usFmt;
}
return function(arg) {
var attr;
attr = arg[0];
return function(data, rowKey, colKey) {
return {
vals: [],
push: function(record) {
var x;
x = parseFloat(record[attr]);
if (!isNaN(x)) {
return this.vals.push(x);
}
},
value: function() {
var i;
if (this.vals.length === 0) {
return null;
}
this.vals.sort(function(a, b) {
return a - b;
});
i = (this.vals.length - 1) * q;
return (this.vals[Math.floor(i)] + this.vals[Math.ceil(i)]) / 2.0;
},
format: formatter,
numInputs: attr != null ? 0 : 1
};
};
};
},
runningStat: function(mode, ddof, formatter) {
if (mode == null) {
mode = "mean";
}
if (ddof == null) {
ddof = 1;
}
if (formatter == null) {
formatter = usFmt;
}
return function(arg) {
var attr;
attr = arg[0];
return function(data, rowKey, colKey) {
return {
n: 0.0,
m: 0.0,
s: 0.0,
push: function(record) {
var m_new, x;
x = parseFloat(record[attr]);
if (isNaN(x)) {
return;
}
this.n += 1.0;
if (this.n === 1.0) {
return this.m = x;
} else {
m_new = this.m + (x - this.m) / this.n;
this.s = this.s + (x - this.m) * (x - m_new);
return this.m = m_new;
}
},
value: function() {
if (mode === "mean") {
if (this.n === 0) {
return 0 / 0;
} else {
return this.m;
}
}
if (this.n <= ddof) {
return 0;
}
switch (mode) {
case "var":
return this.s / (this.n - ddof);
case "stdev":
return Math.sqrt(this.s / (this.n - ddof));
}
},
format: formatter,
numInputs: attr != null ? 0 : 1
};
};
};
},
sumOverSum: function(formatter) {
if (formatter == null) {
formatter = usFmt;
}
return function(arg) {
var denom, num;
num = arg[0], denom = arg[1];
return function(data, rowKey, colKey) {
return {
sumNum: 0,
sumDenom: 0,
push: function(record) {
if (!isNaN(parseFloat(record[num]))) {
this.sumNum += parseFloat(record[num]);
}
if (!isNaN(parseFloat(record[denom]))) {
return this.sumDenom += parseFloat(record[denom]);
}
},
value: function() {
return this.sumNum / this.sumDenom;
},
format: formatter,
numInputs: (num != null) && (denom != null) ? 0 : 2
};
};
};
},
sumOverSumBound80: function(upper, formatter) {
if (upper == null) {
upper = true;
}
if (formatter == null) {
formatter = usFmt;
}
return function(arg) {
var denom, num;
num = arg[0], denom = arg[1];
return function(data, rowKey, colKey) {
return {
sumNum: 0,
sumDenom: 0,
push: function(record) {
if (!isNaN(parseFloat(record[num]))) {
this.sumNum += parseFloat(record[num]);
}
if (!isNaN(parseFloat(record[denom]))) {
return this.sumDenom += parseFloat(record[denom]);
}
},
value: function() {
var sign;
sign = upper ? 1 : -1;
return (0.821187207574908 / this.sumDenom + this.sumNum / this.sumDenom + 1.2815515655446004 * sign * Math.sqrt(0.410593603787454 / (this.sumDenom * this.sumDenom) + (this.sumNum * (1 - this.sumNum / this.sumDenom)) / (this.sumDenom * this.sumDenom))) / (1 + 1.642374415149816 / this.sumDenom);
},
format: formatter,
numInputs: (num != null) && (denom != null) ? 0 : 2
};
};
};
},
fractionOf: function(wrapped, type, formatter) {
if (type == null) {
type = "total";
}
if (formatter == null) {
formatter = usFmtPct;
}
return function() {
var x;
x = 1 <= arguments.length ? slice.call(arguments, 0) : [];
return function(data, rowKey, colKey) {
return {
selector: {
total: [[], []],
row: [rowKey, []],
col: [[], colKey]
}[type],
inner: wrapped.apply(null, x)(data, rowKey, colKey),
push: function(record) {
return this.inner.push(record);
},
format: formatter,
value: function() {
return this.inner.value() / data.getAggregator.apply(data, this.selector).inner.value();
},
numInputs: wrapped.apply(null, x)().numInputs
};
};
};
}
};
aggregatorTemplates.countUnique = function(f) {
return aggregatorTemplates.uniques((function(x) {
return x.length;
}), f);
};
aggregatorTemplates.listUnique = function(s) {
return aggregatorTemplates.uniques((function(x) {
return x.sort(naturalSort).join(s);
}), (function(x) {
return x;
}));
};
aggregatorTemplates.max = function(f) {
return aggregatorTemplates.extremes('max', f);
};
aggregatorTemplates.min = function(f) {
return aggregatorTemplates.extremes('min', f);
};
aggregatorTemplates.first = function(f) {
return aggregatorTemplates.extremes('first', f);
};
aggregatorTemplates.last = function(f) {
return aggregatorTemplates.extremes('last', f);
};
aggregatorTemplates.median = function(f) {
return aggregatorTemplates.quantile(0.5, f);
};
aggregatorTemplates.average = function(f) {
return aggregatorTemplates.runningStat("mean", 1, f);
};
aggregatorTemplates["var"] = function(ddof, f) {
return aggregatorTemplates.runningStat("var", ddof, f);
};
aggregatorTemplates.stdev = function(ddof, f) {
return aggregatorTemplates.runningStat("stdev", ddof, f);
};
aggregators = (function(tpl) {
return {
"Count": tpl.count(usFmtInt),
"Count Unique Values": tpl.countUnique(usFmtInt),
"List Unique Values": tpl.listUnique(", "),
"Sum": tpl.sum(usFmt),
"Integer Sum": tpl.sum(usFmtInt),
"Average": tpl.average(usFmt),
"Median": tpl.median(usFmt),
"Sample Variance": tpl["var"](1, usFmt),
"Sample Standard Deviation": tpl.stdev(1, usFmt),
"Minimum": tpl.min(usFmt),
"Maximum": tpl.max(usFmt),
"First": tpl.first(usFmt),
"Last": tpl.last(usFmt),
"Sum over Sum": tpl.sumOverSum(usFmt),
"80% Upper Bound": tpl.sumOverSumBound80(true, usFmt),
"80% Lower Bound": tpl.sumOverSumBound80(false, usFmt),
"Sum as Fraction of Total": tpl.fractionOf(tpl.sum(), "total", usFmtPct),
"Sum as Fraction of Rows": tpl.fractionOf(tpl.sum(), "row", usFmtPct),
"Sum as Fraction of Columns": tpl.fractionOf(tpl.sum(), "col", usFmtPct),
"Count as Fraction of Total": tpl.fractionOf(tpl.count(), "total", usFmtPct),
"Count as Fraction of Rows": tpl.fractionOf(tpl.count(), "row", usFmtPct),
"Count as Fraction of Columns": tpl.fractionOf(tpl.count(), "col", usFmtPct)
};
})(aggregatorTemplates);
renderers = {
"Table": function(data, opts) {
return pivotTableRenderer(data, opts);
},
"Table Barchart": function(data, opts) {
return $(pivotTableRenderer(data, opts)).barchart();
},
"Heatmap": function(data, opts) {
return $(pivotTableRenderer(data, opts)).heatmap("heatmap", opts);
},
"Row Heatmap": function(data, opts) {
return $(pivotTableRenderer(data, opts)).heatmap("rowheatmap", opts);
},
"Col Heatmap": function(data, opts) {
return $(pivotTableRenderer(data, opts)).heatmap("colheatmap", opts);
}
};
locales = {
en: {
aggregators: aggregators,
renderers: renderers,
localeStrings: {
renderError: "An error occurred rendering the PivotTable results.",
computeError: "An error occurred computing the PivotTable results.",
uiRenderError: "An error occurred rendering the PivotTable UI.",
selectAll: "Select All",
selectNone: "Select None",
tooMany: "(too many to list)",
filterResults: "Filter values",
apply: "Apply",
cancel: "Cancel",
totals: "Totals",
vs: "vs",
by: "by"
}
}
};
mthNamesEn = ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"];
dayNamesEn = ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"];
zeroPad = function(number) {
return ("0" + number).substr(-2, 2);
};
derivers = {
bin: function(col, binWidth) {
return function(record) {
return record[col] - record[col] % binWidth;
};
},
dateFormat: function(col, formatString, utcOutput, mthNames, dayNames) {
var utc;
if (utcOutput == null) {
utcOutput = false;
}
if (mthNames == null) {
mthNames = mthNamesEn;
}
if (dayNames == null) {
dayNames = dayNamesEn;
}
utc = utcOutput ? "UTC" : "";
return function(record) {
var date;
date = new Date(Date.parse(record[col]));
if (isNaN(date)) {
return "";
}
return formatString.replace(/%(.)/g, function(m, p) {
switch (p) {
case "y":
return date["get" + utc + "FullYear"]();
case "m":
return zeroPad(date["get" + utc + "Month"]() + 1);
case "n":
return mthNames[date["get" + utc + "Month"]()];
case "d":
return zeroPad(date["get" + utc + "Date"]());
case "w":
return dayNames[date["get" + utc + "Day"]()];
case "x":
return date["get" + utc + "Day"]();
case "H":
return zeroPad(date["get" + utc + "Hours"]());
case "M":
return zeroPad(date["get" + utc + "Minutes"]());
case "S":
return zeroPad(date["get" + utc + "Seconds"]());
default:
return "%" + p;
}
});
};
}
};
rx = /(\d+)|(\D+)/g;
rd = /\d/;
rz = /^0/;
naturalSort = (function(_this) {
return function(as, bs) {
var a, a1, b, b1, nas, nbs;
if ((bs != null) && (as == null)) {
return -1;
}
if ((as != null) && (bs == null)) {
return 1;
}
if (typeof as === "number" && isNaN(as)) {
return -1;
}
if (typeof bs === "number" && isNaN(bs)) {
return 1;
}
nas = +as;
nbs = +bs;
if (nas < nbs) {
return -1;
}
if (nas > nbs) {
return 1;
}
if (typeof as === "number" && typeof bs !== "number") {
return -1;
}
if (typeof bs === "number" && typeof as !== "number") {
return 1;
}
if (typeof as === "number" && typeof bs === "number") {
return 0;
}
if (isNaN(nbs) && !isNaN(nas)) {
return -1;
}
if (isNaN(nas) && !isNaN(nbs)) {
return 1;
}
a = String(as);
b = String(bs);
if (a === b) {
return 0;
}
if (!(rd.test(a) && rd.test(b))) {
return (a > b ? 1 : -1);
}
a = a.match(rx);
b = b.match(rx);
while (a.length && b.length) {
a1 = a.shift();
b1 = b.shift();
if (a1 !== b1) {
if (rd.test(a1) && rd.test(b1)) {
return a1.replace(rz, ".0") - b1.replace(rz, ".0");
} else {
return (a1 > b1 ? 1 : -1);
}
}
}
return a.length - b.length;
};
})(this);
sortAs = function(order) {
var i, l_mapping, mapping, x;
mapping = {};
l_mapping = {};
for (i in order) {
x = order[i];
mapping[x] = i;
if (typeof x === "string") {
l_mapping[x.toLowerCase()] = i;
}
}
return function(a, b) {
if ((mapping[a] != null) && (mapping[b] != null)) {
return mapping[a] - mapping[b];
} else if (mapping[a] != null) {
return -1;
} else if (mapping[b] != null) {
return 1;
} else if ((l_mapping[a] != null) && (l_mapping[b] != null)) {
return l_mapping[a] - l_mapping[b];
} else if (l_mapping[a] != null) {
return -1;
} else if (l_mapping[b] != null) {
return 1;
} else {
return naturalSort(a, b);
}
};
};
getSort = function(sorters, attr) {
var sort;
if (sorters != null) {
if ($.isFunction(sorters)) {
sort = sorters(attr);
if ($.isFunction(sort)) {
return sort;
}
} else if (sorters[attr] != null) {
return sorters[attr];
}
}
return naturalSort;
};
/*
Data Model class
*/
PivotData = (function() {
function PivotData(input, opts) {
var ref, ref1, ref2, ref3, ref4, ref5, ref6, ref7, ref8, ref9;
if (opts == null) {
opts = {};
}
this.getAggregator = bind(this.getAggregator, this);
this.getRowKeys = bind(this.getRowKeys, this);
this.getColKeys = bind(this.getColKeys, this);
this.sortKeys = bind(this.sortKeys, this);
this.arrSort = bind(this.arrSort, this);
this.input = input;
this.aggregator = (ref = opts.aggregator) != null ? ref : aggregatorTemplates.count()();
this.aggregatorName = (ref1 = opts.aggregatorName) != null ? ref1 : "Count";
this.colAttrs = (ref2 = opts.cols) != null ? ref2 : [];
this.rowAttrs = (ref3 = opts.rows) != null ? ref3 : [];
this.valAttrs = (ref4 = opts.vals) != null ? ref4 : [];
this.sorters = (ref5 = opts.sorters) != null ? ref5 : {};
this.rowOrder = (ref6 = opts.rowOrder) != null ? ref6 : "key_a_to_z";
this.colOrder = (ref7 = opts.colOrder) != null ? ref7 : "key_a_to_z";
this.derivedAttributes = (ref8 = opts.derivedAttributes) != null ? ref8 : {};
this.filter = (ref9 = opts.filter) != null ? ref9 : (function() {
return true;
});
this.tree = {};
this.rowKeys = [];
this.colKeys = [];
this.rowTotals = {};
this.colTotals = {};
this.allTotal = this.aggregator(this, [], []);
this.sorted = false;
PivotData.forEachRecord(this.input, this.derivedAttributes, (function(_this) {
return function(record) {
if (_this.filter(record)) {
return _this.processRecord(record);
}
};
})(this));
}
PivotData.forEachRecord = function(input, derivedAttributes, f) {
var addRecord, compactRecord, i, j, k, l, len1, record, ref, results, results1, tblCols;
if ($.isEmptyObject(derivedAttributes)) {
addRecord = f;
} else {
addRecord = function(record) {
var k, ref, v;
for (k in derivedAttributes) {
v = derivedAttributes[k];
record[k] = (ref = v(record)) != null ? ref : record[k];
}
return f(record);
};
}
if ($.isFunction(input)) {
return input(addRecord);
} else if ($.isArray(input)) {
if ($.isArray(input[0])) {
results = [];
for (i in input) {
if (!hasProp.call(input, i)) continue;
compactRecord = input[i];
if (!(i > 0)) {
continue;
}
record = {};
ref = input[0];
for (j in ref) {
if (!hasProp.call(ref, j)) continue;
k = ref[j];
record[k] = compactRecord[j];
}
results.push(addRecord(record));
}
return results;
} else {
results1 = [];
for (l = 0, len1 = input.length; l < len1; l++) {
record = input[l];
results1.push(addRecord(record));
}
return results1;
}
} else if (input instanceof $) {
tblCols = [];
$("thead > tr > th", input).each(function(i) {
return tblCols.push($(this).text());
});
return $("tbody > tr", input).each(function(i) {
record = {};
$("td", this).each(function(j) {
return record[tblCols[j]] = $(this).text();
});
return addRecord(record);
});
} else {
throw new Error("unknown input format");
}
};
PivotData.prototype.forEachMatchingRecord = function(criteria, callback) {
return PivotData.forEachRecord(this.input, this.derivedAttributes, (function(_this) {
return function(record) {
var k, ref, v;
if (!_this.filter(record)) {
return;
}
for (k in criteria) {
v = criteria[k];
if (v !== ((ref = record[k]) != null ? ref : "null")) {
return;
}
}
return callback(record);
};
})(this));
};
PivotData.prototype.arrSort = function(attrs) {
var a, sortersArr;
sortersArr = (function() {
var l, len1, results;
results = [];
for (l = 0, len1 = attrs.length; l < len1; l++) {
a = attrs[l];
results.push(getSort(this.sorters, a));
}
return results;
}).call(this);
return function(a, b) {
var comparison, i, sorter;
for (i in sortersArr) {
if (!hasProp.call(sortersArr, i)) continue;
sorter = sortersArr[i];
comparison = sorter(a[i], b[i]);
if (comparison !== 0) {
return comparison;
}
}
return 0;
};
};
PivotData.prototype.sortKeys = function() {
var v;
if (!this.sorted) {
this.sorted = true;
v = (function(_this) {
return function(r, c) {
return _this.getAggregator(r, c).value();
};
})(this);
switch (this.rowOrder) {
case "value_a_to_z":
this.rowKeys.sort((function(_this) {
return function(a, b) {
return naturalSort(v(a, []), v(b, []));
};
})(this));
break;
case "value_z_to_a":
this.rowKeys.sort((function(_this) {
return function(a, b) {
return -naturalSort(v(a, []), v(b, []));
};
})(this));
break;
default:
this.rowKeys.sort(this.arrSort(this.rowAttrs));
}
switch (this.colOrder) {
case "value_a_to_z":
return this.colKeys.sort((function(_this) {
return function(a, b) {
return naturalSort(v([], a), v([], b));
};
})(this));
case "value_z_to_a":
return this.colKeys.sort((function(_this) {
return function(a, b) {
return -naturalSort(v([], a), v([], b));
};
})(this));
default:
return this.colKeys.sort(this.arrSort(this.colAttrs));
}
}
};
PivotData.prototype.getColKeys = function() {
this.sortKeys();
return this.colKeys;
};
PivotData.prototype.getRowKeys = function() {
this.sortKeys();
return this.rowKeys;
};
PivotData.prototype.processRecord = function(record) {
var colKey, flatColKey, flatRowKey, l, len1, len2, n, ref, ref1, ref2, ref3, rowKey, x;
colKey = [];
rowKey = [];
ref = this.colAttrs;
for (l = 0, len1 = ref.length; l < len1; l++) {
x = ref[l];
colKey.push((ref1 = record[x]) != null ? ref1 : "null");
}
ref2 = this.rowAttrs;
for (n = 0, len2 = ref2.length; n < len2; n++) {
x = ref2[n];
rowKey.push((ref3 = record[x]) != null ? ref3 : "null");
}
flatRowKey = rowKey.join(String.fromCharCode(0));
flatColKey = colKey.join(String.fromCharCode(0));
this.allTotal.push(record);
if (rowKey.length !== 0) {
if (!this.rowTotals[flatRowKey]) {
this.rowKeys.push(rowKey);
this.rowTotals[flatRowKey] = this.aggregator(this, rowKey, []);
}
this.rowTotals[flatRowKey].push(record);
}
if (colKey.length !== 0) {
if (!this.colTotals[flatColKey]) {
this.colKeys.push(colKey);
this.colTotals[flatColKey] = this.aggregator(this, [], colKey);
}
this.colTotals[flatColKey].push(record);
}
if (colKey.length !== 0 && rowKey.length !== 0) {
if (!this.tree[flatRowKey]) {
this.tree[flatRowKey] = {};
}
if (!this.tree[flatRowKey][flatColKey]) {
this.tree[flatRowKey][flatColKey] = this.aggregator(this, rowKey, colKey);
}
return this.tree[flatRowKey][flatColKey].push(record);
}
};
PivotData.prototype.getAggregator = function(rowKey, colKey) {
var agg, flatColKey, flatRowKey;
flatRowKey = rowKey.join(String.fromCharCode(0));
flatColKey = colKey.join(String.fromCharCode(0));
if (rowKey.length === 0 && colKey.length === 0) {
agg = this.allTotal;
} else if (rowKey.length === 0) {
agg = this.colTotals[flatColKey];
} else if (colKey.length === 0) {
agg = this.rowTotals[flatRowKey];
} else {
agg = this.tree[flatRowKey][flatColKey];
}
return agg != null ? agg : {
value: (function() {
return null;
}),
format: function() {
return "";
}
};
};
return PivotData;
})();
$.pivotUtilities = {
aggregatorTemplates: aggregatorTemplates,
aggregators: aggregators,
renderers: renderers,
derivers: derivers,
locales: locales,
naturalSort: naturalSort,
numberFormat: numberFormat,
sortAs: sortAs,
PivotData: PivotData
};
/*
Default Renderer for hierarchical table layout
*/
pivotTableRenderer = function(pivotData, opts) {
var aggregator, c, colAttrs, colKey, colKeys, defaults, getClickHandler, i, j, r, result, rowAttrs, rowKey, rowKeys, spanSize, tbody, td, th, thead, totalAggregator, tr, txt, val, x;
defaults = {
table: {
clickCallback: null
},
localeStrings: {
totals: "Totals"
}
};
opts = $.extend(true, {}, defaults, opts);
colAttrs = pivotData.colAttrs;
rowAttrs = pivotData.rowAttrs;
rowKeys = pivotData.getRowKeys();
colKeys = pivotData.getColKeys();
if (opts.table.clickCallback) {
getClickHandler = function(value, rowValues, colValues) {
var attr, filters, i;
filters = {};
for (i in colAttrs) {
if (!hasProp.call(colAttrs, i)) continue;
attr = colAttrs[i];
if (colValues[i] != null) {
filters[attr] = colValues[i];
}
}
for (i in rowAttrs) {
if (!hasProp.call(rowAttrs, i)) continue;
attr = rowAttrs[i];
if (rowValues[i] != null) {
filters[attr] = rowValues[i];
}
}
return function(e) {
return opts.table.clickCallback(e, value, filters, pivotData);
};
};
}
result = document.createElement("table");
result.className = "pvtTable";
spanSize = function(arr, i, j) {
var l, len, n, noDraw, ref, ref1, stop, x;
if (i !== 0) {
noDraw = true;
for (x = l = 0, ref = j; 0 <= ref ? l <= ref : l >= ref; x = 0 <= ref ? ++l : --l) {
if (arr[i - 1][x] !== arr[i][x]) {
noDraw = false;
}
}
if (noDraw) {
return -1;
}
}
len = 0;
while (i + len < arr.length) {
stop = false;
for (x = n = 0, ref1 = j; 0 <= ref1 ? n <= ref1 : n >= ref1; x = 0 <= ref1 ? ++n : --n) {
if (arr[i][x] !== arr[i + len][x]) {
stop = true;
}
}
if (stop) {
break;
}
len++;
}
return len;
};
thead = document.createElement("thead");
for (j in colAttrs) {
if (!hasProp.call(colAttrs, j)) continue;
c = colAttrs[j];
tr = document.createElement("tr");
if (parseInt(j) === 0 && rowAttrs.length !== 0) {
th = document.createElement("th");
th.setAttribute("colspan", rowAttrs.length);
th.setAttribute("rowspan", colAttrs.length);
tr.appendChild(th);
}
th = document.createElement("th");
th.className = "pvtAxisLabel";
th.textContent = c;
tr.appendChild(th);
for (i in colKeys) {
if (!hasProp.call(colKeys, i)) continue;
colKey = colKeys[i];
x = spanSize(colKeys, parseInt(i), parseInt(j));
if (x !== -1) {
th = document.createElement("th");
th.className = "pvtColLabel";
th.textContent = colKey[j];
th.setAttribute("colspan", x);
if (parseInt(j) === colAttrs.length - 1 && rowAttrs.length !== 0) {
th.setAttribute("rowspan", 2);
}
tr.appendChild(th);
}
}
if (parseInt(j) === 0) {
th = document.createElement("th");
th.className = "pvtTotalLabel pvtRowTotalLabel";
th.innerHTML = opts.localeStrings.totals;
th.setAttribute("rowspan", colAttrs.length + (rowAttrs.length === 0 ? 0 : 1));
tr.appendChild(th);
}
thead.appendChild(tr);
}
if (rowAttrs.length !== 0) {
tr = document.createElement("tr");
for (i in rowAttrs) {
if (!hasProp.call(rowAttrs, i)) continue;
r = rowAttrs[i];
th = document.createElement("th");
th.className = "pvtAxisLabel";
th.textContent = r;
tr.appendChild(th);
}
th = document.createElement("th");
if (colAttrs.length === 0) {
th.className = "pvtTotalLabel pvtRowTotalLabel";
th.innerHTML = opts.localeStrings.totals;
}
tr.appendChild(th);
thead.appendChild(tr);
}
result.appendChild(thead);
tbody = document.createElement("tbody");
for (i in rowKeys) {
if (!hasProp.call(rowKeys, i)) continue;
rowKey = rowKeys[i];
tr = document.createElement("tr");
for (j in rowKey) {
if (!hasProp.call(rowKey, j)) continue;
txt = rowKey[j];
x = spanSize(rowKeys, parseInt(i), parseInt(j));
if (x !== -1) {
th = document.createElement("th");
th.className = "pvtRowLabel";
th.textContent = txt;
th.setAttribute("rowspan", x);
if (parseInt(j) === rowAttrs.length - 1 && colAttrs.length !== 0) {
th.setAttribute("colspan", 2);
}
tr.appendChild(th);
}
}
for (j in colKeys) {
if (!hasProp.call(colKeys, j)) continue;
colKey = colKeys[j];
aggregator = pivotData.getAggregator(rowKey, colKey);
val = aggregator.value();
td = document.createElement("td");
td.className = "pvtVal row" + i + " col" + j;
td.textContent = aggregator.format(val);
td.setAttribute("data-value", val);
if (getClickHandler != null) {
td.onclick = getClickHandler(val, rowKey, colKey);
}
tr.appendChild(td);
}
totalAggregator = pivotData.getAggregator(rowKey, []);
val = totalAggregator.value();
td = document.createElement("td");
td.className = "pvtTotal rowTotal";
td.textContent = totalAggregator.format(val);
td.setAttribute("data-value", val);
if (getClickHandler != null) {
td.onclick = getClickHandler(val, rowKey, []);
}
td.setAttribute("data-for", "row" + i);
tr.appendChild(td);
tbody.appendChild(tr);
}
tr = document.createElement("tr");
th = document.createElement("th");
th.className = "pvtTotalLabel pvtColTotalLabel";
th.innerHTML = opts.localeStrings.totals;
th.setAttribute("colspan", rowAttrs.length + (colAttrs.length === 0 ? 0 : 1));
tr.appendChild(th);
for (j in colKeys) {
if (!hasProp.call(colKeys, j)) continue;
colKey = colKeys[j];
totalAggregator = pivotData.getAggregator([], colKey);
val = totalAggregator.value();
td = document.createElement("td");
td.className = "pvtTotal colTotal";
td.textContent = totalAggregator.format(val);
td.setAttribute("data-value", val);
if (getClickHandler != null) {
td.onclick = getClickHandler(val, [], colKey);
}
td.setAttribute("data-for", "col" + j);
tr.appendChild(td);
}
totalAggregator = pivotData.getAggregator([], []);
val = totalAggregator.value();
td = document.createElement("td");
td.className = "pvtGrandTotal";
td.textContent = totalAggregator.format(val);
td.setAttribute("data-value", val);
if (getClickHandler != null) {
td.onclick = getClickHandler(val, [], []);
}
tr.appendChild(td);
tbody.appendChild(tr);
result.appendChild(tbody);
result.setAttribute("data-numrows", rowKeys.length);
result.setAttribute("data-numcols", colKeys.length);
return result;
};
/*
Pivot Table core: create PivotData object and call Renderer on it
*/
$.fn.pivot = function(input, inputOpts, locale) {
var defaults, e, localeDefaults, localeStrings, opts, pivotData, result, x;
if (locale == null) {
locale = "en";
}
if (locales[locale] == null) {
locale = "en";
}
defaults = {
cols: [],
rows: [],
vals: [],
rowOrder: "key_a_to_z",
colOrder: "key_a_to_z",
dataClass: PivotData,
filter: function() {
return true;
},
aggregator: aggregatorTemplates.count()(),
aggregatorName: "Count",
sorters: {},
derivedAttributes: {},
renderer: pivotTableRenderer
};
localeStrings = $.extend(true, {}, locales.en.localeStrings, locales[locale].localeStrings);
localeDefaults = {
rendererOptions: {
localeStrings: localeStrings
},
localeStrings: localeStrings
};
opts = $.extend(true, {}, localeDefaults, $.extend({}, defaults, inputOpts));
result = null;
try {
pivotData = new opts.dataClass(input, opts);
try {
result = opts.renderer(pivotData, opts.rendererOptions);
} catch (error) {
e = error;
if (typeof console !== "undefined" && console !== null) {
console.error(e.stack);
}
result = $("<span>").html(opts.localeStrings.renderError);
}
} catch (error) {
e = error;
if (typeof console !== "undefined" && console !== null) {
console.error(e.stack);
}
result = $("<span>").html(opts.localeStrings.computeError);
}
x = this[0];
while (x.hasChildNodes()) {
x.removeChild(x.lastChild);
}
return this.append(result);
};
/*
Pivot Table UI: calls Pivot Table core above with options set by user
*/
$.fn.pivotUI = function(input, inputOpts, overwrite, locale) {
var a, aggregator, attr, attrLength, attrValues, c, colOrderArrow, defaults, e, existingOpts, fn1, i, initialRender, l, len1, len2, len3, localeDefaults, localeStrings, materializedInput, n, o, opts, ordering, pivotTable, recordsProcessed, ref, ref1, ref2, ref3, refresh, refreshDelayed, renderer, rendererControl, rowOrderArrow, shownAttributes, shownInAggregators, shownInDragDrop, tr1, tr2, uiTable, unused, unusedAttrsVerticalAutoCutoff, unusedAttrsVerticalAutoOverride, x;
if (overwrite == null) {
overwrite = false;
}
if (locale == null) {
locale = "en";
}
if (locales[locale] == null) {
locale = "en";
}
defaults = {
derivedAttributes: {},
aggregators: locales[locale].aggregators,
renderers: locales[locale].renderers,
hiddenAttributes: [],
hiddenFromAggregators: [],
hiddenFromDragDrop: [],
menuLimit: 500,
cols: [],
rows: [],
vals: [],
rowOrder: "key_a_to_z",
colOrder: "key_a_to_z",
dataClass: PivotData,
exclusions: {},
inclusions: {},
unusedAttrsVertical: 85,
autoSortUnusedAttrs: false,
onRefresh: null,
filter: function() {
return true;
},
sorters: {}
};
localeStrings = $.extend(true, {}, locales.en.localeStrings, locales[locale].localeStrings);
localeDefaults = {
rendererOptions: {
localeStrings: localeStrings
},
localeStrings: localeStrings
};
existingOpts = this.data("pivotUIOptions");
if ((existingOpts == null) || overwrite) {
opts = $.extend(true, {}, localeDefaults, $.extend({}, defaults, inputOpts));
} else {
opts = existingOpts;
}
try {
attrValues = {};
materializedInput = [];
recordsProcessed = 0;
PivotData.forEachRecord(input, opts.derivedAttributes, function(record) {
var attr, base, ref, value;
if (!opts.filter(record)) {
return;
}
materializedInput.push(record);
for (attr in record) {
if (!hasProp.call(record, attr)) continue;
if (attrValues[attr] == null) {
attrValues[attr] = {};
if (recordsProcessed > 0) {
attrValues[attr]["null"] = recordsProcessed;
}
}
}
for (attr in attrValues) {
value = (ref = record[attr]) != null ? ref : "null";
if ((base = attrValues[attr])[value] == null) {
base[value] = 0;
}
attrValues[attr][value]++;
}
return recordsProcessed++;
});
uiTable = $("<table>", {
"class": "pvtUi"
}).attr("cellpadding", 5);
rendererControl = $("<td>");
renderer = $("<select>").addClass('pvtRenderer').appendTo(rendererControl).bind("change", function() {
return refresh();
});
ref = opts.renderers;
for (x in ref) {
if (!hasProp.call(ref, x)) continue;
$("<option>").val(x).html(x).appendTo(renderer);
}
unused = $("<td>").addClass('pvtAxisContainer pvtUnused');
shownAttributes = (function() {
var results;
results = [];
for (a in attrValues) {
if (indexOf.call(opts.hiddenAttributes, a) < 0) {
results.push(a);
}
}
return results;
})();
shownInAggregators = (function() {
var l, len1, results;
results = [];
for (l = 0, len1 = shownAttributes.length; l < len1; l++) {
c = shownAttributes[l];
if (indexOf.call(opts.hiddenFromAggregators, c) < 0) {
results.push(c);
}
}
return results;
})();
shownInDragDrop = (function() {
var l, len1, results;
results = [];
for (l = 0, len1 = shownAttributes.length; l < len1; l++) {
c = shownAttributes[l];
if (indexOf.call(opts.hiddenFromDragDrop, c) < 0) {
results.push(c);
}
}
return results;
})();
unusedAttrsVerticalAutoOverride = false;
if (opts.unusedAttrsVertical === "auto") {
unusedAttrsVerticalAutoCutoff = 120;
} else {
unusedAttrsVerticalAutoCutoff = parseInt(opts.unusedAttrsVertical);
}
if (!isNaN(unusedAttrsVerticalAutoCutoff)) {
attrLength = 0;
for (l = 0, len1 = shownInDragDrop.length; l < len1; l++) {
a = shownInDragDrop[l];
attrLength += a.length;
}
unusedAttrsVerticalAutoOverride = attrLength > unusedAttrsVerticalAutoCutoff;
}
if (opts.unusedAttrsVertical === true || unusedAttrsVerticalAutoOverride) {
unused.addClass('pvtVertList');
} else {
unused.addClass('pvtHorizList');
}
fn1 = function(attr) {
var attrElem, checkContainer, closeFilterBox, controls, filterItem, filterItemExcluded, finalButtons, hasExcludedItem, len2, n, placeholder, ref1, sorter, triangleLink, v, value, valueCount, valueList, values;
values = (function() {
var results;
results = [];
for (v in attrValues[attr]) {
results.push(v);
}
return results;
})();
hasExcludedItem = false;
valueList = $("<div>").addClass('pvtFilterBox').hide();
valueList.append($("<h4>").append($("<span>").text(attr), $("<span>").addClass("count").text("(" + values.length + ")")));
if (values.length > opts.menuLimit) {
valueList.append($("<p>").html(opts.localeStrings.tooMany));
} else {
if (values.length > 5) {
controls = $("<p>").appendTo(valueList);
sorter = getSort(opts.sorters, attr);
placeholder = opts.localeStrings.filterResults;
$("<input>", {
type: "text"
}).appendTo(controls).attr({
placeholder: placeholder,
"class": "pvtSearch"
}).bind("keyup", function() {
var accept, accept_gen, filter;
filter = $(this).val().toLowerCase().trim();
accept_gen = function(prefix, accepted) {
return function(v) {
var real_filter, ref1;
real_filter = filter.substring(prefix.length).trim();
if (real_filter.length === 0) {
return true;
}
return ref1 = Math.sign(sorter(v.toLowerCase(), real_filter)), indexOf.call(accepted, ref1) >= 0;
};
};
accept = filter.indexOf(">=") === 0 ? accept_gen(">=", [1, 0]) : filter.indexOf("<=") === 0 ? accept_gen("<=", [-1, 0]) : filter.indexOf(">") === 0 ? accept_gen(">", [1]) : filter.indexOf("<") === 0 ? accept_gen("<", [-1]) : filter.indexOf("~") === 0 ? function(v) {
if (filter.substring(1).trim().length === 0) {
return true;
}
return v.toLowerCase().match(filter.substring(1));
} : function(v) {
return v.toLowerCase().indexOf(filter) !== -1;
};
return valueList.find('.pvtCheckContainer p label span.value').each(function() {
if (accept($(this).text())) {
return $(this).parent().parent().show();
} else {
return $(this).parent().parent().hide();
}
});
});
controls.append($("<br>"));
$("<button>", {
type: "button"
}).appendTo(controls).html(opts.localeStrings.selectAll).bind("click", function() {
valueList.find("input:visible:not(:checked)").prop("checked", true).toggleClass("changed");
return false;
});
$("<button>", {
type: "button"
}).appendTo(controls).html(opts.localeStrings.selectNone).bind("click", function() {
valueList.find("input:visible:checked").prop("checked", false).toggleClass("changed");
return false;
});
}
checkContainer = $("<div>").addClass("pvtCheckContainer").appendTo(valueList);
ref1 = values.sort(getSort(opts.sorters, attr));
for (n = 0, len2 = ref1.length; n < len2; n++) {
value = ref1[n];
valueCount = attrValues[attr][value];
filterItem = $("<label>");
filterItemExcluded = false;
if (opts.inclusions[attr]) {
filterItemExcluded = (indexOf.call(opts.inclusions[attr], value) < 0);
} else if (opts.exclusions[attr]) {
filterItemExcluded = (indexOf.call(opts.exclusions[attr], value) >= 0);
}
hasExcludedItem || (hasExcludedItem = filterItemExcluded);
$("<input>").attr("type", "checkbox").addClass('pvtFilter').attr("checked", !filterItemExcluded).data("filter", [attr, value]).appendTo(filterItem).bind("change", function() {
return $(this).toggleClass("changed");
});
filterItem.append($("<span>").addClass("value").text(value));
filterItem.append($("<span>").addClass("count").text("(" + valueCount + ")"));
checkContainer.append($("<p>").append(filterItem));
}
}
closeFilterBox = function() {
if (valueList.find("[type='checkbox']").length > valueList.find("[type='checkbox']:checked").length) {
attrElem.addClass("pvtFilteredAttribute");
} else {
attrElem.removeClass("pvtFilteredAttribute");
}
valueList.find('.pvtSearch').val('');
valueList.find('.pvtCheckContainer p').show();
return valueList.hide();
};
finalButtons = $("<p>").appendTo(valueList);
if (values.length <= opts.menuLimit) {
$("<button>", {
type: "button"
}).text(opts.localeStrings.apply).appendTo(finalButtons).bind("click", function() {
if (valueList.find(".changed").removeClass("changed").length) {
refresh();
}
return closeFilterBox();
});
}
$("<button>", {
type: "button"
}).text(opts.localeStrings.cancel).appendTo(finalButtons).bind("click", function() {
valueList.find(".changed:checked").removeClass("changed").prop("checked", false);
valueList.find(".changed:not(:checked)").removeClass("changed").prop("checked", true);
return closeFilterBox();
});
triangleLink = $("<span>").addClass('pvtTriangle').html(" &#x25BE;").bind("click", function(e) {
var left, ref2, top;
ref2 = $(e.currentTarget).position(), left = ref2.left, top = ref2.top;
return valueList.css({
left: left + 10,
top: top + 10
}).show();
});
attrElem = $("<li>").addClass("axis_" + i).append($("<span>").addClass('pvtAttr').text(attr).data("attrName", attr).append(triangleLink));
if (hasExcludedItem) {
attrElem.addClass('pvtFilteredAttribute');
}
return unused.append(attrElem).append(valueList);
};
for (i in shownInDragDrop) {
if (!hasProp.call(shownInDragDrop, i)) continue;
attr = shownInDragDrop[i];
fn1(attr);
}
tr1 = $("<tr>").appendTo(uiTable);
aggregator = $("<select>").addClass('pvtAggregator').bind("change", function() {
return refresh();
});
ref1 = opts.aggregators;
for (x in ref1) {
if (!hasProp.call(ref1, x)) continue;
aggregator.append($("<option>").val(x).html(x));
}
ordering = {
key_a_to_z: {
rowSymbol: "&varr;",
colSymbol: "&harr;",
next: "value_a_to_z"
},
value_a_to_z: {
rowSymbol: "&darr;",
colSymbol: "&rarr;",
next: "value_z_to_a"
},
value_z_to_a: {
rowSymbol: "&uarr;",
colSymbol: "&larr;",
next: "key_a_to_z"
}
};
rowOrderArrow = $("<a>", {
role: "button"
}).addClass("pvtRowOrder").data("order", opts.rowOrder).html(ordering[opts.rowOrder].rowSymbol).bind("click", function() {
$(this).data("order", ordering[$(this).data("order")].next);
$(this).html(ordering[$(this).data("order")].rowSymbol);
return refresh();
});
colOrderArrow = $("<a>", {
role: "button"
}).addClass("pvtColOrder").data("order", opts.colOrder).html(ordering[opts.colOrder].colSymbol).bind("click", function() {
$(this).data("order", ordering[$(this).data("order")].next);
$(this).html(ordering[$(this).data("order")].colSymbol);
return refresh();
});
$("<td>").addClass('pvtVals').appendTo(tr1).append(aggregator).append(rowOrderArrow).append(colOrderArrow).append($("<br>"));
$("<td>").addClass('pvtAxisContainer pvtHorizList pvtCols').appendTo(tr1);
tr2 = $("<tr>").appendTo(uiTable);
tr2.append($("<td>").addClass('pvtAxisContainer pvtRows').attr("valign", "top"));
pivotTable = $("<td>").attr("valign", "top").addClass('pvtRendererArea').appendTo(tr2);
if (opts.unusedAttrsVertical === true || unusedAttrsVerticalAutoOverride) {
uiTable.find('tr:nth-child(1)').prepend(rendererControl);
uiTable.find('tr:nth-child(2)').prepend(unused);
} else {
uiTable.prepend($("<tr>").append(rendererControl).append(unused));
}
this.html(uiTable);
ref2 = opts.cols;
for (n = 0, len2 = ref2.length; n < len2; n++) {
x = ref2[n];
this.find(".pvtCols").append(this.find(".axis_" + ($.inArray(x, shownInDragDrop))));
}
ref3 = opts.rows;
for (o = 0, len3 = ref3.length; o < len3; o++) {
x = ref3[o];
this.find(".pvtRows").append(this.find(".axis_" + ($.inArray(x, shownInDragDrop))));
}
if (opts.aggregatorName != null) {
this.find(".pvtAggregator").val(opts.aggregatorName);
}
if (opts.rendererName != null) {
this.find(".pvtRenderer").val(opts.rendererName);
}
initialRender = true;
refreshDelayed = (function(_this) {
return function() {
var exclusions, inclusions, len4, newDropdown, numInputsToProcess, pivotUIOptions, pvtVals, ref4, ref5, subopts, t, u, unusedAttrsContainer, vals;
subopts = {
derivedAttributes: opts.derivedAttributes,
localeStrings: opts.localeStrings,
rendererOptions: opts.rendererOptions,
sorters: opts.sorters,
cols: [],
rows: [],
dataClass: opts.dataClass
};
numInputsToProcess = (ref4 = opts.aggregators[aggregator.val()]([])().numInputs) != null ? ref4 : 0;
vals = [];
_this.find(".pvtRows li span.pvtAttr").each(function() {
return subopts.rows.push($(this).data("attrName"));
});
_this.find(".pvtCols li span.pvtAttr").each(function() {
return subopts.cols.push($(this).data("attrName"));
});
_this.find(".pvtVals select.pvtAttrDropdown").each(function() {
if (numInputsToProcess === 0) {
return $(this).remove();
} else {
numInputsToProcess--;
if ($(this).val() !== "") {
return vals.push($(this).val());
}
}
});
if (numInputsToProcess !== 0) {
pvtVals = _this.find(".pvtVals");
for (x = t = 0, ref5 = numInputsToProcess; 0 <= ref5 ? t < ref5 : t > ref5; x = 0 <= ref5 ? ++t : --t) {
newDropdown = $("<select>").addClass('pvtAttrDropdown').append($("<option>")).bind("change", function() {
return refresh();
});
for (u = 0, len4 = shownInAggregators.length; u < len4; u++) {
attr = shownInAggregators[u];
newDropdown.append($("<option>").val(attr).text(attr));
}
pvtVals.append(newDropdown);
}
}
if (initialRender) {
vals = opts.vals;
i = 0;
_this.find(".pvtVals select.pvtAttrDropdown").each(function() {
$(this).val(vals[i]);
return i++;
});
initialRender = false;
}
subopts.aggregatorName = aggregator.val();
subopts.vals = vals;
subopts.aggregator = opts.aggregators[aggregator.val()](vals);
subopts.renderer = opts.renderers[renderer.val()];
subopts.rowOrder = rowOrderArrow.data("order");
subopts.colOrder = colOrderArrow.data("order");
exclusions = {};
_this.find('input.pvtFilter').not(':checked').each(function() {
var filter;
filter = $(this).data("filter");
if (exclusions[filter[0]] != null) {
return exclusions[filter[0]].push(filter[1]);
} else {
return exclusions[filter[0]] = [filter[1]];
}
});
inclusions = {};
_this.find('input.pvtFilter:checked').each(function() {
var filter;
filter = $(this).data("filter");
if (exclusions[filter[0]] != null) {
if (inclusions[filter[0]] != null) {
return inclusions[filter[0]].push(filter[1]);
} else {
return inclusions[filter[0]] = [filter[1]];
}
}
});
subopts.filter = function(record) {
var excludedItems, k, ref6, ref7;
if (!opts.filter(record)) {
return false;
}
for (k in exclusions) {
excludedItems = exclusions[k];
if (ref6 = "" + ((ref7 = record[k]) != null ? ref7 : 'null'), indexOf.call(excludedItems, ref6) >= 0) {
return false;
}
}
return true;
};
pivotTable.pivot(materializedInput, subopts);
pivotUIOptions = $.extend({}, opts, {
cols: subopts.cols,
rows: subopts.rows,
colOrder: subopts.colOrder,
rowOrder: subopts.rowOrder,
vals: vals,
exclusions: exclusions,
inclusions: inclusions,
inclusionsInfo: inclusions,
aggregatorName: aggregator.val(),
rendererName: renderer.val()
});
_this.data("pivotUIOptions", pivotUIOptions);
if (opts.autoSortUnusedAttrs) {
unusedAttrsContainer = _this.find("td.pvtUnused.pvtAxisContainer");
$(unusedAttrsContainer).children("li").sort(function(a, b) {
return naturalSort($(a).text(), $(b).text());
}).appendTo(unusedAttrsContainer);
}
pivotTable.css("opacity", 1);
if (opts.onRefresh != null) {
return opts.onRefresh(pivotUIOptions);
}
};
})(this);
refresh = (function(_this) {
return function() {
pivotTable.css("opacity", 0.5);
return setTimeout(refreshDelayed, 10);
};
})(this);
refresh();
this.find(".pvtAxisContainer").sortable({
update: function(e, ui) {
if (ui.sender == null) {
return refresh();
}
},
connectWith: this.find(".pvtAxisContainer"),
items: 'li',
placeholder: 'pvtPlaceholder'
});
} catch (error) {
e = error;
if (typeof console !== "undefined" && console !== null) {
console.error(e.stack);
}
this.html(opts.localeStrings.uiRenderError);
}
return this;
};
/*
Heatmap post-processing
*/
$.fn.heatmap = function(scope, opts) {
var colorScaleGenerator, heatmapper, i, j, l, n, numCols, numRows, ref, ref1, ref2;
if (scope == null) {
scope = "heatmap";
}
numRows = this.data("numrows");
numCols = this.data("numcols");
colorScaleGenerator = opts != null ? (ref = opts.heatmap) != null ? ref.colorScaleGenerator : void 0 : void 0;
if (colorScaleGenerator == null) {
colorScaleGenerator = function(values) {
var max, min;
min = Math.min.apply(Math, values);
max = Math.max.apply(Math, values);
return function(x) {
var nonRed;
nonRed = 255 - Math.round(255 * (x - min) / (max - min));
return "rgb(255," + nonRed + "," + nonRed + ")";
};
};
}
heatmapper = (function(_this) {
return function(scope) {
var colorScale, forEachCell, values;
forEachCell = function(f) {
return _this.find(scope).each(function() {
var x;
x = $(this).data("value");
if ((x != null) && isFinite(x)) {
return f(x, $(this));
}
});
};
values = [];
forEachCell(function(x) {
return values.push(x);
});
colorScale = colorScaleGenerator(values);
return forEachCell(function(x, elem) {
return elem.css("background-color", colorScale(x));
});
};
})(this);
switch (scope) {
case "heatmap":
heatmapper(".pvtVal");
break;
case "rowheatmap":
for (i = l = 0, ref1 = numRows; 0 <= ref1 ? l < ref1 : l > ref1; i = 0 <= ref1 ? ++l : --l) {
heatmapper(".pvtVal.row" + i);
}
break;
case "colheatmap":
for (j = n = 0, ref2 = numCols; 0 <= ref2 ? n < ref2 : n > ref2; j = 0 <= ref2 ? ++n : --n) {
heatmapper(".pvtVal.col" + j);
}
}
heatmapper(".pvtTotal.rowTotal");
heatmapper(".pvtTotal.colTotal");
return this;
};
/*
Barchart post-processing
*/
return $.fn.barchart = function(opts) {
var barcharter, i, l, numCols, numRows, ref;
numRows = this.data("numrows");
numCols = this.data("numcols");
barcharter = (function(_this) {
return function(scope) {
var forEachCell, max, min, range, scaler, values;
forEachCell = function(f) {
return _this.find(scope).each(function() {
var x;
x = $(this).data("value");
if ((x != null) && isFinite(x)) {
return f(x, $(this));
}
});
};
values = [];
forEachCell(function(x) {
return values.push(x);
});
max = Math.max.apply(Math, values);
if (max < 0) {
max = 0;
}
range = max;
min = Math.min.apply(Math, values);
if (min < 0) {
range = max - min;
}
scaler = function(x) {
return 100 * x / (1.4 * range);
};
return forEachCell(function(x, elem) {
var bBase, bgColor, text, wrapper;
text = elem.text();
wrapper = $("<div>").css({
"position": "relative",
"height": "55px"
});
bgColor = "gray";
bBase = 0;
if (min < 0) {
bBase = scaler(-min);
}
if (x < 0) {
bBase += scaler(x);
bgColor = "darkred";
x = -x;
}
wrapper.append($("<div>").css({
"position": "absolute",
"bottom": bBase + "%",
"left": 0,
"right": 0,
"height": scaler(x) + "%",
"background-color": bgColor
}));
wrapper.append($("<div>").text(text).css({
"position": "relative",
"padding-left": "5px",
"padding-right": "5px"
}));
return elem.css({
"padding": 0,
"padding-top": "5px",
"text-align": "center"
}).html(wrapper);
});
};
})(this);
for (i = l = 0, ref = numRows; 0 <= ref ? l < ref : l > ref; i = 0 <= ref ? ++l : --l) {
barcharter(".pvtVal.row" + i);
}
barcharter(".pvtTotal.colTotal");
return this;
};
});
}).call(this);
//# sourceMappingURL=pivot.js.map
{"version":3,"file":"pivot.js","sources":["pivot.coffee"],"names":[],"mappings":"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","sourcesContent":["callWithJQuery = (pivotModule) ->\n if typeof exports is \"object\" and typeof module is \"object\" # CommonJS\n pivotModule require(\"jquery\")\n else if typeof define is \"function\" and define.amd # AMD\n define [\"jquery\"], pivotModule\n # Plain browser env\n else\n pivotModule jQuery\n\ncallWithJQuery ($) ->\n\n ###\n Utilities\n ###\n\n addSeparators = (nStr, thousandsSep, decimalSep) ->\n nStr += ''\n x = nStr.split('.')\n x1 = x[0]\n x2 = if x.length > 1 then decimalSep + x[1] else ''\n rgx = /(\\d+)(\\d{3})/\n x1 = x1.replace(rgx, '$1' + thousandsSep + '$2') while rgx.test(x1)\n return x1 + x2\n\n numberFormat = (opts) ->\n defaults =\n digitsAfterDecimal: 2, scaler: 1,\n thousandsSep: \",\", decimalSep: \".\"\n prefix: \"\", suffix: \"\"\n opts = $.extend({}, defaults, opts)\n (x) ->\n return \"\" if isNaN(x) or not isFinite(x)\n result = addSeparators (opts.scaler*x).toFixed(opts.digitsAfterDecimal), opts.thousandsSep, opts.decimalSep\n return \"\"+opts.prefix+result+opts.suffix\n\n #aggregator templates default to US number formatting but this is overrideable\n usFmt = numberFormat()\n usFmtInt = numberFormat(digitsAfterDecimal: 0)\n usFmtPct = numberFormat(digitsAfterDecimal:1, scaler: 100, suffix: \"%\")\n\n aggregatorTemplates =\n count: (formatter=usFmtInt) -> () -> (data, rowKey, colKey) ->\n count: 0\n push: -> @count++\n value: -> @count\n format: formatter\n\n uniques: (fn, formatter=usFmtInt) -> ([attr]) -> (data, rowKey, colKey) ->\n uniq: []\n push: (record) -> @uniq.push(record[attr]) if record[attr] not in @uniq\n value: -> fn(@uniq)\n format: formatter\n numInputs: if attr? then 0 else 1\n\n sum: (formatter=usFmt) -> ([attr]) -> (data, rowKey, colKey) ->\n sum: 0\n push: (record) -> @sum += parseFloat(record[attr]) if not isNaN parseFloat(record[attr])\n value: -> @sum\n format: formatter\n numInputs: if attr? then 0 else 1\n\n extremes: (mode, formatter=usFmt) -> ([attr]) -> (data, rowKey, colKey) ->\n val: null\n sorter: getSort(data?.sorters, attr)\n push: (record) ->\n x = record[attr]\n if mode in [\"min\", \"max\"]\n x = parseFloat(x)\n if not isNaN x then @val = Math[mode](x, @val ? x)\n if mode == \"first\" then @val = x if @sorter(x, @val ? x) <= 0\n if mode == \"last\" then @val = x if @sorter(x, @val ? x) >= 0\n value: -> @val\n format: (x) -> if isNaN(x) then x else formatter(x)\n numInputs: if attr? then 0 else 1\n\n quantile: (q, formatter=usFmt) -> ([attr]) -> (data, rowKey, colKey) ->\n vals: []\n push: (record) ->\n x = parseFloat(record[attr])\n @vals.push(x) if not isNaN(x)\n value: ->\n return null if @vals.length == 0\n @vals.sort((a,b) -> a-b)\n i = (@vals.length-1)*q\n return (@vals[Math.floor(i)] + @vals[Math.ceil(i)])/2.0\n format: formatter\n numInputs: if attr? then 0 else 1\n\n runningStat: (mode=\"mean\", ddof=1, formatter=usFmt) -> ([attr]) -> (data, rowKey, colKey) ->\n n: 0.0, m: 0.0, s: 0.0\n push: (record) ->\n x = parseFloat(record[attr])\n return if isNaN(x)\n @n += 1.0\n if @n == 1.0\n @m = x\n else\n m_new = @m + (x - @m)/@n\n @s = @s + (x - @m)*(x - m_new)\n @m = m_new\n value: ->\n if mode == \"mean\"\n return if @n == 0 then 0/0 else @m\n return 0 if @n <= ddof\n switch mode\n when \"var\" then @s/(@n-ddof)\n when \"stdev\" then Math.sqrt(@s/(@n-ddof))\n format: formatter\n numInputs: if attr? then 0 else 1\n\n sumOverSum: (formatter=usFmt) -> ([num, denom]) -> (data, rowKey, colKey) ->\n sumNum: 0\n sumDenom: 0\n push: (record) ->\n @sumNum += parseFloat(record[num]) if not isNaN parseFloat(record[num])\n @sumDenom += parseFloat(record[denom]) if not isNaN parseFloat(record[denom])\n value: -> @sumNum/@sumDenom\n format: formatter\n numInputs: if num? and denom? then 0 else 2\n\n sumOverSumBound80: (upper=true, formatter=usFmt) -> ([num, denom]) -> (data, rowKey, colKey) ->\n sumNum: 0\n sumDenom: 0\n push: (record) ->\n @sumNum += parseFloat(record[num]) if not isNaN parseFloat(record[num])\n @sumDenom += parseFloat(record[denom]) if not isNaN parseFloat(record[denom])\n value: ->\n sign = if upper then 1 else -1\n (0.821187207574908/@sumDenom + @sumNum/@sumDenom + 1.2815515655446004*sign*\n Math.sqrt(0.410593603787454/ (@sumDenom*@sumDenom) + (@sumNum*(1 - @sumNum/ @sumDenom))/ (@sumDenom*@sumDenom)))/\n (1 + 1.642374415149816/@sumDenom)\n format: formatter\n numInputs: if num? and denom? then 0 else 2\n\n fractionOf: (wrapped, type=\"total\", formatter=usFmtPct) -> (x...) -> (data, rowKey, colKey) ->\n selector: {total:[[],[]],row:[rowKey,[]],col:[[],colKey]}[type]\n inner: wrapped(x...)(data, rowKey, colKey)\n push: (record) -> @inner.push record\n format: formatter\n value: -> @inner.value() / data.getAggregator(@selector...).inner.value()\n numInputs: wrapped(x...)().numInputs\n\n aggregatorTemplates.countUnique = (f) -> aggregatorTemplates.uniques(((x) -> x.length), f)\n aggregatorTemplates.listUnique = (s) -> aggregatorTemplates.uniques(((x) -> x.sort(naturalSort).join(s)), ((x)->x))\n aggregatorTemplates.max = (f) -> aggregatorTemplates.extremes('max', f)\n aggregatorTemplates.min = (f) -> aggregatorTemplates.extremes('min', f)\n aggregatorTemplates.first = (f) -> aggregatorTemplates.extremes('first', f)\n aggregatorTemplates.last = (f) -> aggregatorTemplates.extremes('last', f)\n aggregatorTemplates.median = (f) -> aggregatorTemplates.quantile(0.5, f)\n aggregatorTemplates.average = (f) -> aggregatorTemplates.runningStat(\"mean\", 1, f)\n aggregatorTemplates.var = (ddof, f) -> aggregatorTemplates.runningStat(\"var\", ddof, f)\n aggregatorTemplates.stdev = (ddof, f) -> aggregatorTemplates.runningStat(\"stdev\", ddof, f)\n\n #default aggregators & renderers use US naming and number formatting\n aggregators = do (tpl = aggregatorTemplates) ->\n \"Count\": tpl.count(usFmtInt)\n \"Count Unique Values\": tpl.countUnique(usFmtInt)\n \"List Unique Values\": tpl.listUnique(\", \")\n \"Sum\": tpl.sum(usFmt)\n \"Integer Sum\": tpl.sum(usFmtInt)\n \"Average\": tpl.average(usFmt)\n \"Median\": tpl.median(usFmt)\n \"Sample Variance\": tpl.var(1, usFmt)\n \"Sample Standard Deviation\": tpl.stdev(1, usFmt)\n \"Minimum\": tpl.min(usFmt)\n \"Maximum\": tpl.max(usFmt)\n \"First\": tpl.first(usFmt)\n \"Last\": tpl.last(usFmt)\n \"Sum over Sum\": tpl.sumOverSum(usFmt)\n \"80% Upper Bound\": tpl.sumOverSumBound80(true, usFmt)\n \"80% Lower Bound\": tpl.sumOverSumBound80(false, usFmt)\n \"Sum as Fraction of Total\": tpl.fractionOf(tpl.sum(), \"total\", usFmtPct)\n \"Sum as Fraction of Rows\": tpl.fractionOf(tpl.sum(), \"row\", usFmtPct)\n \"Sum as Fraction of Columns\": tpl.fractionOf(tpl.sum(), \"col\", usFmtPct)\n \"Count as Fraction of Total\": tpl.fractionOf(tpl.count(), \"total\", usFmtPct)\n \"Count as Fraction of Rows\": tpl.fractionOf(tpl.count(), \"row\", usFmtPct)\n \"Count as Fraction of Columns\": tpl.fractionOf(tpl.count(), \"col\", usFmtPct)\n\n renderers =\n \"Table\": (data, opts) -> pivotTableRenderer(data, opts)\n \"Table Barchart\": (data, opts) -> $(pivotTableRenderer(data, opts)).barchart()\n \"Heatmap\": (data, opts) -> $(pivotTableRenderer(data, opts)).heatmap(\"heatmap\", opts)\n \"Row Heatmap\": (data, opts) -> $(pivotTableRenderer(data, opts)).heatmap(\"rowheatmap\", opts)\n \"Col Heatmap\": (data, opts) -> $(pivotTableRenderer(data, opts)).heatmap(\"colheatmap\", opts)\n\n locales =\n en:\n aggregators: aggregators\n renderers: renderers\n localeStrings:\n renderError: \"An error occurred rendering the PivotTable results.\"\n computeError: \"An error occurred computing the PivotTable results.\"\n uiRenderError: \"An error occurred rendering the PivotTable UI.\"\n selectAll: \"Select All\"\n selectNone: \"Select None\"\n tooMany: \"(too many to list)\"\n filterResults: \"Filter values\"\n apply: \"Apply\"\n cancel: \"Cancel\"\n totals: \"Totals\" #for table renderer\n vs: \"vs\" #for gchart renderer\n by: \"by\" #for gchart renderer\n\n #dateFormat deriver l10n requires month and day names to be passed in directly\n mthNamesEn = [\"Jan\",\"Feb\",\"Mar\",\"Apr\",\"May\",\"Jun\",\"Jul\",\"Aug\",\"Sep\",\"Oct\",\"Nov\",\"Dec\"]\n dayNamesEn = [\"Sun\",\"Mon\",\"Tue\",\"Wed\",\"Thu\",\"Fri\",\"Sat\"]\n zeroPad = (number) -> (\"0\"+number).substr(-2,2)\n\n derivers =\n bin: (col, binWidth) -> (record) -> record[col] - record[col] % binWidth\n dateFormat: (col, formatString, utcOutput=false, mthNames=mthNamesEn, dayNames=dayNamesEn) ->\n utc = if utcOutput then \"UTC\" else \"\"\n (record) -> #thanks http://stackoverflow.com/a/12213072/112871\n date = new Date(Date.parse(record[col]))\n if isNaN(date) then return \"\"\n formatString.replace /%(.)/g, (m, p) ->\n switch p\n when \"y\" then date[\"get#{utc}FullYear\"]()\n when \"m\" then zeroPad(date[\"get#{utc}Month\"]()+1)\n when \"n\" then mthNames[date[\"get#{utc}Month\"]()]\n when \"d\" then zeroPad(date[\"get#{utc}Date\"]())\n when \"w\" then dayNames[date[\"get#{utc}Day\"]()]\n when \"x\" then date[\"get#{utc}Day\"]()\n when \"H\" then zeroPad(date[\"get#{utc}Hours\"]())\n when \"M\" then zeroPad(date[\"get#{utc}Minutes\"]())\n when \"S\" then zeroPad(date[\"get#{utc}Seconds\"]())\n else \"%\" + p\n\n rx = /(\\d+)|(\\D+)/g\n rd = /\\d/\n rz = /^0/\n naturalSort = (as, bs) =>\n #nulls first\n return -1 if bs? and not as?\n return 1 if as? and not bs?\n\n #then raw NaNs\n return -1 if typeof as == \"number\" and isNaN(as)\n return 1 if typeof bs == \"number\" and isNaN(bs)\n\n #numbers and numbery strings group together\n nas = +as\n nbs = +bs\n return -1 if nas < nbs\n return 1 if nas > nbs\n\n #within that, true numbers before numbery strings\n return -1 if typeof as == \"number\" and typeof bs != \"number\"\n return 1 if typeof bs == \"number\" and typeof as != \"number\"\n return 0 if typeof as == \"number\" and typeof bs == \"number\"\n\n # 'Infinity' is a textual number, so less than 'A'\n return -1 if isNaN(nbs) and not isNaN(nas)\n return 1 if isNaN(nas) and not isNaN(nbs)\n\n #finally, \"smart\" string sorting per http://stackoverflow.com/a/4373421/112871\n a = String(as)\n b = String(bs)\n return 0 if a == b\n return (if a > b then 1 else -1) unless rd.test(a) and rd.test(b)\n\n #special treatment for strings containing digits\n a = a.match(rx) #create digits vs non-digit chunks and iterate through\n b = b.match(rx)\n while a.length and b.length\n a1 = a.shift()\n b1 = b.shift()\n if a1 != b1\n if rd.test(a1) and rd.test(b1) #both are digit chunks\n return a1.replace(rz, \".0\") - b1.replace(rz, \".0\")\n else\n return (if a1 > b1 then 1 else -1)\n return a.length - b.length\n\n sortAs = (order) ->\n mapping = {}\n l_mapping = {} # sort lowercased keys similarly\n for i, x of order\n mapping[x] = i\n l_mapping[x.toLowerCase()] = i if typeof x == \"string\"\n (a, b) ->\n if mapping[a]? and mapping[b]? then mapping[a] - mapping[b]\n else if mapping[a]? then -1\n else if mapping[b]? then 1\n else if l_mapping[a]? and l_mapping[b]? then l_mapping[a] - l_mapping[b]\n else if l_mapping[a]? then -1\n else if l_mapping[b]? then 1\n else naturalSort(a,b)\n\n getSort = (sorters, attr) ->\n if sorters?\n if $.isFunction(sorters)\n sort = sorters(attr)\n return sort if $.isFunction(sort)\n else if sorters[attr]?\n return sorters[attr]\n return naturalSort\n\n ###\n Data Model class\n ###\n\n class PivotData\n constructor: (input, opts = {}) ->\n @input = input\n @aggregator = opts.aggregator ? aggregatorTemplates.count()()\n @aggregatorName = opts.aggregatorName ? \"Count\"\n @colAttrs = opts.cols ? []\n @rowAttrs = opts.rows ? []\n @valAttrs = opts.vals ? []\n @sorters = opts.sorters ? {}\n @rowOrder = opts.rowOrder ? \"key_a_to_z\"\n @colOrder = opts.colOrder ? \"key_a_to_z\"\n @derivedAttributes = opts.derivedAttributes ? {}\n @filter = opts.filter ? (-> true)\n @tree = {}\n @rowKeys = []\n @colKeys = []\n @rowTotals = {}\n @colTotals = {}\n @allTotal = @aggregator(this, [], [])\n @sorted = false\n\n # iterate through input, accumulating data for cells\n PivotData.forEachRecord @input, @derivedAttributes, (record) =>\n @processRecord(record) if @filter(record)\n\n #can handle arrays or jQuery selections of tables\n @forEachRecord = (input, derivedAttributes, f) ->\n if $.isEmptyObject derivedAttributes\n addRecord = f\n else\n addRecord = (record) ->\n record[k] = v(record) ? record[k] for k, v of derivedAttributes\n f(record)\n\n #if it's a function, have it call us back\n if $.isFunction(input)\n input(addRecord)\n else if $.isArray(input)\n if $.isArray(input[0]) #array of arrays\n for own i, compactRecord of input when i > 0\n record = {}\n record[k] = compactRecord[j] for own j, k of input[0]\n addRecord(record)\n else #array of objects\n addRecord(record) for record in input\n else if input instanceof $\n tblCols = []\n $(\"thead > tr > th\", input).each (i) -> tblCols.push $(this).text()\n $(\"tbody > tr\", input).each (i) ->\n record = {}\n $(\"td\", this).each (j) -> record[tblCols[j]] = $(this).text()\n addRecord(record)\n else\n throw new Error(\"unknown input format\")\n\n forEachMatchingRecord: (criteria, callback) ->\n PivotData.forEachRecord @input, @derivedAttributes, (record) =>\n return if not @filter(record)\n for k, v of criteria\n return if v != (record[k] ? \"null\")\n callback(record)\n\n arrSort: (attrs) =>\n sortersArr = (getSort(@sorters, a) for a in attrs)\n (a,b) ->\n for own i, sorter of sortersArr\n comparison = sorter(a[i], b[i])\n return comparison if comparison != 0\n return 0\n\n sortKeys: () =>\n if not @sorted\n @sorted = true\n v = (r,c) => @getAggregator(r,c).value()\n switch @rowOrder\n when \"value_a_to_z\" then @rowKeys.sort (a,b) => naturalSort v(a,[]), v(b,[])\n when \"value_z_to_a\" then @rowKeys.sort (a,b) => -naturalSort v(a,[]), v(b,[])\n else @rowKeys.sort @arrSort(@rowAttrs)\n switch @colOrder\n when \"value_a_to_z\" then @colKeys.sort (a,b) => naturalSort v([],a), v([],b)\n when \"value_z_to_a\" then @colKeys.sort (a,b) => -naturalSort v([],a), v([],b)\n else @colKeys.sort @arrSort(@colAttrs)\n\n getColKeys: () =>\n @sortKeys()\n return @colKeys\n\n getRowKeys: () =>\n @sortKeys()\n return @rowKeys\n\n processRecord: (record) -> #this code is called in a tight loop\n colKey = []\n rowKey = []\n colKey.push record[x] ? \"null\" for x in @colAttrs\n rowKey.push record[x] ? \"null\" for x in @rowAttrs\n flatRowKey = rowKey.join(String.fromCharCode(0))\n flatColKey = colKey.join(String.fromCharCode(0))\n\n @allTotal.push record\n\n if rowKey.length != 0\n if not @rowTotals[flatRowKey]\n @rowKeys.push rowKey\n @rowTotals[flatRowKey] = @aggregator(this, rowKey, [])\n @rowTotals[flatRowKey].push record\n\n if colKey.length != 0\n if not @colTotals[flatColKey]\n @colKeys.push colKey\n @colTotals[flatColKey] = @aggregator(this, [], colKey)\n @colTotals[flatColKey].push record\n\n if colKey.length != 0 and rowKey.length != 0\n if not @tree[flatRowKey]\n @tree[flatRowKey] = {}\n if not @tree[flatRowKey][flatColKey]\n @tree[flatRowKey][flatColKey] = @aggregator(this, rowKey, colKey)\n @tree[flatRowKey][flatColKey].push record\n\n getAggregator: (rowKey, colKey) =>\n flatRowKey = rowKey.join(String.fromCharCode(0))\n flatColKey = colKey.join(String.fromCharCode(0))\n if rowKey.length == 0 and colKey.length == 0\n agg = @allTotal\n else if rowKey.length == 0\n agg = @colTotals[flatColKey]\n else if colKey.length == 0\n agg = @rowTotals[flatRowKey]\n else\n agg = @tree[flatRowKey][flatColKey]\n return agg ? {value: (-> null), format: -> \"\"}\n\n #expose these to the outside world\n $.pivotUtilities = {aggregatorTemplates, aggregators, renderers, derivers, locales,\n naturalSort, numberFormat, sortAs, PivotData}\n\n ###\n Default Renderer for hierarchical table layout\n ###\n\n pivotTableRenderer = (pivotData, opts) ->\n\n defaults =\n table: clickCallback: null\n localeStrings: totals: \"Totals\"\n\n opts = $.extend(true, {}, defaults, opts)\n\n colAttrs = pivotData.colAttrs\n rowAttrs = pivotData.rowAttrs\n rowKeys = pivotData.getRowKeys()\n colKeys = pivotData.getColKeys()\n\n if opts.table.clickCallback\n getClickHandler = (value, rowValues, colValues) ->\n filters = {}\n filters[attr] = colValues[i] for own i, attr of colAttrs when colValues[i]?\n filters[attr] = rowValues[i] for own i, attr of rowAttrs when rowValues[i]?\n return (e) -> opts.table.clickCallback(e, value, filters, pivotData)\n\n #now actually build the output\n result = document.createElement(\"table\")\n result.className = \"pvtTable\"\n\n #helper function for setting row/col-span in pivotTableRenderer\n spanSize = (arr, i, j) ->\n if i != 0\n noDraw = true\n for x in [0..j]\n if arr[i-1][x] != arr[i][x]\n noDraw = false\n if noDraw\n return -1 #do not draw cell\n len = 0\n while i+len < arr.length\n stop = false\n for x in [0..j]\n stop = true if arr[i][x] != arr[i+len][x]\n break if stop\n len++\n return len\n\n #the first few rows are for col headers\n thead = document.createElement(\"thead\")\n for own j, c of colAttrs\n tr = document.createElement(\"tr\")\n if parseInt(j) == 0 and rowAttrs.length != 0\n th = document.createElement(\"th\")\n th.setAttribute(\"colspan\", rowAttrs.length)\n th.setAttribute(\"rowspan\", colAttrs.length)\n tr.appendChild th\n th = document.createElement(\"th\")\n th.className = \"pvtAxisLabel\"\n th.textContent = c\n tr.appendChild th\n for own i, colKey of colKeys\n x = spanSize(colKeys, parseInt(i), parseInt(j))\n if x != -1\n th = document.createElement(\"th\")\n th.className = \"pvtColLabel\"\n th.textContent = colKey[j]\n th.setAttribute(\"colspan\", x)\n if parseInt(j) == colAttrs.length-1 and rowAttrs.length != 0\n th.setAttribute(\"rowspan\", 2)\n tr.appendChild th\n if parseInt(j) == 0\n th = document.createElement(\"th\")\n th.className = \"pvtTotalLabel pvtRowTotalLabel\"\n th.innerHTML = opts.localeStrings.totals\n th.setAttribute(\"rowspan\", colAttrs.length + (if rowAttrs.length ==0 then 0 else 1))\n tr.appendChild th\n thead.appendChild tr\n\n #then a row for row header headers\n if rowAttrs.length !=0\n tr = document.createElement(\"tr\")\n for own i, r of rowAttrs\n th = document.createElement(\"th\")\n th.className = \"pvtAxisLabel\"\n th.textContent = r\n tr.appendChild th\n th = document.createElement(\"th\")\n if colAttrs.length ==0\n th.className = \"pvtTotalLabel pvtRowTotalLabel\"\n th.innerHTML = opts.localeStrings.totals\n tr.appendChild th\n thead.appendChild tr\n result.appendChild thead\n\n #now the actual data rows, with their row headers and totals\n tbody = document.createElement(\"tbody\")\n for own i, rowKey of rowKeys\n tr = document.createElement(\"tr\")\n for own j, txt of rowKey\n x = spanSize(rowKeys, parseInt(i), parseInt(j))\n if x != -1\n th = document.createElement(\"th\")\n th.className = \"pvtRowLabel\"\n th.textContent = txt\n th.setAttribute(\"rowspan\", x)\n if parseInt(j) == rowAttrs.length-1 and colAttrs.length !=0\n th.setAttribute(\"colspan\",2)\n tr.appendChild th\n for own j, colKey of colKeys #this is the tight loop\n aggregator = pivotData.getAggregator(rowKey, colKey)\n val = aggregator.value()\n td = document.createElement(\"td\")\n td.className = \"pvtVal row#{i} col#{j}\"\n td.textContent = aggregator.format(val)\n td.setAttribute(\"data-value\", val)\n if getClickHandler?\n td.onclick = getClickHandler(val, rowKey, colKey)\n tr.appendChild td\n\n totalAggregator = pivotData.getAggregator(rowKey, [])\n val = totalAggregator.value()\n td = document.createElement(\"td\")\n td.className = \"pvtTotal rowTotal\"\n td.textContent = totalAggregator.format(val)\n td.setAttribute(\"data-value\", val)\n if getClickHandler?\n td.onclick = getClickHandler(val, rowKey, [])\n td.setAttribute(\"data-for\", \"row\"+i)\n tr.appendChild td\n tbody.appendChild tr\n\n #finally, the row for col totals, and a grand total\n tr = document.createElement(\"tr\")\n th = document.createElement(\"th\")\n th.className = \"pvtTotalLabel pvtColTotalLabel\"\n th.innerHTML = opts.localeStrings.totals\n th.setAttribute(\"colspan\", rowAttrs.length + (if colAttrs.length == 0 then 0 else 1))\n tr.appendChild th\n for own j, colKey of colKeys\n totalAggregator = pivotData.getAggregator([], colKey)\n val = totalAggregator.value()\n td = document.createElement(\"td\")\n td.className = \"pvtTotal colTotal\"\n td.textContent = totalAggregator.format(val)\n td.setAttribute(\"data-value\", val)\n if getClickHandler?\n td.onclick = getClickHandler(val, [], colKey)\n td.setAttribute(\"data-for\", \"col\"+j)\n tr.appendChild td\n totalAggregator = pivotData.getAggregator([], [])\n val = totalAggregator.value()\n td = document.createElement(\"td\")\n td.className = \"pvtGrandTotal\"\n td.textContent = totalAggregator.format(val)\n td.setAttribute(\"data-value\", val)\n if getClickHandler?\n td.onclick = getClickHandler(val, [], [])\n tr.appendChild td\n tbody.appendChild tr\n result.appendChild tbody\n\n #squirrel this away for later\n result.setAttribute(\"data-numrows\", rowKeys.length)\n result.setAttribute(\"data-numcols\", colKeys.length)\n\n return result\n\n ###\n Pivot Table core: create PivotData object and call Renderer on it\n ###\n\n $.fn.pivot = (input, inputOpts, locale=\"en\") ->\n locale = \"en\" if not locales[locale]?\n defaults =\n cols : [], rows: [], vals: []\n rowOrder: \"key_a_to_z\", colOrder: \"key_a_to_z\"\n dataClass: PivotData\n filter: -> true\n aggregator: aggregatorTemplates.count()()\n aggregatorName: \"Count\"\n sorters: {}\n derivedAttributes: {}\n renderer: pivotTableRenderer\n\n localeStrings = $.extend(true, {}, locales.en.localeStrings, locales[locale].localeStrings)\n localeDefaults =\n rendererOptions: {localeStrings}\n localeStrings: localeStrings\n\n opts = $.extend(true, {}, localeDefaults, $.extend({}, defaults, inputOpts))\n\n result = null\n try\n pivotData = new opts.dataClass(input, opts)\n try\n result = opts.renderer(pivotData, opts.rendererOptions)\n catch e\n console.error(e.stack) if console?\n result = $(\"<span>\").html opts.localeStrings.renderError\n catch e\n console.error(e.stack) if console?\n result = $(\"<span>\").html opts.localeStrings.computeError\n\n x = this[0]\n x.removeChild(x.lastChild) while x.hasChildNodes()\n return @append result\n\n\n ###\n Pivot Table UI: calls Pivot Table core above with options set by user\n ###\n\n $.fn.pivotUI = (input, inputOpts, overwrite = false, locale=\"en\") ->\n locale = \"en\" if not locales[locale]?\n defaults =\n derivedAttributes: {}\n aggregators: locales[locale].aggregators\n renderers: locales[locale].renderers\n hiddenAttributes: []\n hiddenFromAggregators: []\n hiddenFromDragDrop: []\n menuLimit: 500\n cols: [], rows: [], vals: []\n rowOrder: \"key_a_to_z\", colOrder: \"key_a_to_z\"\n dataClass: PivotData\n exclusions: {}\n inclusions: {}\n unusedAttrsVertical: 85\n autoSortUnusedAttrs: false\n onRefresh: null\n filter: -> true\n sorters: {}\n\n localeStrings = $.extend(true, {}, locales.en.localeStrings, locales[locale].localeStrings)\n localeDefaults =\n rendererOptions: {localeStrings}\n localeStrings: localeStrings\n\n existingOpts = @data \"pivotUIOptions\"\n if not existingOpts? or overwrite\n opts = $.extend(true, {}, localeDefaults, $.extend({}, defaults, inputOpts))\n else\n opts = existingOpts\n\n try\n # do a first pass on the data to cache a materialized copy of any\n # function-valued inputs and to compute dimension cardinalities\n attrValues = {}\n materializedInput = []\n recordsProcessed = 0\n PivotData.forEachRecord input, opts.derivedAttributes, (record) ->\n return unless opts.filter(record)\n materializedInput.push(record)\n for own attr of record\n if not attrValues[attr]?\n attrValues[attr] = {}\n if recordsProcessed > 0\n attrValues[attr][\"null\"] = recordsProcessed\n for attr of attrValues\n value = record[attr] ? \"null\"\n attrValues[attr][value] ?= 0\n attrValues[attr][value]++\n recordsProcessed++\n\n #start building the output\n uiTable = $(\"<table>\", \"class\": \"pvtUi\").attr(\"cellpadding\", 5)\n\n #renderer control\n rendererControl = $(\"<td>\")\n\n renderer = $(\"<select>\")\n .addClass('pvtRenderer')\n .appendTo(rendererControl)\n .bind \"change\", -> refresh() #capture reference\n for own x of opts.renderers\n $(\"<option>\").val(x).html(x).appendTo(renderer)\n\n\n #axis list, including the double-click menu\n unused = $(\"<td>\").addClass('pvtAxisContainer pvtUnused')\n shownAttributes = (a for a of attrValues when a not in opts.hiddenAttributes)\n shownInAggregators = (c for c in shownAttributes when c not in opts.hiddenFromAggregators)\n shownInDragDrop = (c for c in shownAttributes when c not in opts.hiddenFromDragDrop)\n\n\n unusedAttrsVerticalAutoOverride = false\n if opts.unusedAttrsVertical == \"auto\"\n unusedAttrsVerticalAutoCutoff = 120 # legacy support\n else\n unusedAttrsVerticalAutoCutoff = parseInt opts.unusedAttrsVertical\n\n if not isNaN(unusedAttrsVerticalAutoCutoff)\n attrLength = 0\n attrLength += a.length for a in shownInDragDrop\n unusedAttrsVerticalAutoOverride = attrLength > unusedAttrsVerticalAutoCutoff\n\n if opts.unusedAttrsVertical == true or unusedAttrsVerticalAutoOverride\n unused.addClass('pvtVertList')\n else\n unused.addClass('pvtHorizList')\n\n for own i, attr of shownInDragDrop\n do (attr) ->\n values = (v for v of attrValues[attr])\n hasExcludedItem = false\n valueList = $(\"<div>\").addClass('pvtFilterBox').hide()\n\n valueList.append $(\"<h4>\").append(\n $(\"<span>\").text(attr),\n $(\"<span>\").addClass(\"count\").text(\"(#{values.length})\"),\n )\n if values.length > opts.menuLimit\n valueList.append $(\"<p>\").html(opts.localeStrings.tooMany)\n else\n if values.length > 5\n controls = $(\"<p>\").appendTo(valueList)\n sorter = getSort(opts.sorters, attr)\n placeholder = opts.localeStrings.filterResults\n $(\"<input>\", {type: \"text\"}).appendTo(controls)\n .attr({placeholder: placeholder, class: \"pvtSearch\"})\n .bind \"keyup\", ->\n filter = $(this).val().toLowerCase().trim()\n accept_gen = (prefix, accepted) -> (v) ->\n real_filter = filter.substring(prefix.length).trim()\n return true if real_filter.length == 0\n return Math.sign(sorter(v.toLowerCase(), real_filter)) in accepted\n accept =\n if filter.indexOf(\">=\") == 0 then accept_gen(\">=\", [1,0])\n else if filter.indexOf(\"<=\") == 0 then accept_gen(\"<=\", [-1,0])\n else if filter.indexOf(\">\") == 0 then accept_gen(\">\", [1])\n else if filter.indexOf(\"<\") == 0 then accept_gen(\"<\", [-1])\n else if filter.indexOf(\"~\") == 0 then (v) ->\n return true if filter.substring(1).trim().length == 0\n v.toLowerCase().match(filter.substring(1))\n else (v) -> v.toLowerCase().indexOf(filter) != -1\n\n valueList.find('.pvtCheckContainer p label span.value').each ->\n if accept($(this).text())\n $(this).parent().parent().show()\n else\n $(this).parent().parent().hide()\n controls.append $(\"<br>\")\n $(\"<button>\", {type:\"button\"}).appendTo(controls)\n .html(opts.localeStrings.selectAll)\n .bind \"click\", ->\n valueList.find(\"input:visible:not(:checked)\")\n .prop(\"checked\", true).toggleClass(\"changed\")\n return false\n $(\"<button>\", {type:\"button\"}).appendTo(controls)\n .html(opts.localeStrings.selectNone)\n .bind \"click\", ->\n valueList.find(\"input:visible:checked\")\n .prop(\"checked\", false).toggleClass(\"changed\")\n return false\n\n checkContainer = $(\"<div>\").addClass(\"pvtCheckContainer\").appendTo(valueList)\n\n for value in values.sort(getSort(opts.sorters, attr))\n valueCount = attrValues[attr][value]\n filterItem = $(\"<label>\")\n filterItemExcluded = false\n if opts.inclusions[attr]\n filterItemExcluded = (value not in opts.inclusions[attr])\n else if opts.exclusions[attr]\n filterItemExcluded = (value in opts.exclusions[attr])\n hasExcludedItem ||= filterItemExcluded\n $(\"<input>\")\n .attr(\"type\", \"checkbox\").addClass('pvtFilter')\n .attr(\"checked\", !filterItemExcluded).data(\"filter\", [attr,value])\n .appendTo(filterItem)\n .bind \"change\", -> $(this).toggleClass(\"changed\")\n filterItem.append $(\"<span>\").addClass(\"value\").text(value)\n filterItem.append $(\"<span>\").addClass(\"count\").text(\"(\"+valueCount+\")\")\n checkContainer.append $(\"<p>\").append(filterItem)\n\n closeFilterBox = ->\n if valueList.find(\"[type='checkbox']\").length >\n valueList.find(\"[type='checkbox']:checked\").length\n attrElem.addClass \"pvtFilteredAttribute\"\n else\n attrElem.removeClass \"pvtFilteredAttribute\"\n\n valueList.find('.pvtSearch').val('')\n valueList.find('.pvtCheckContainer p').show()\n valueList.hide()\n\n finalButtons = $(\"<p>\").appendTo(valueList)\n\n if values.length <= opts.menuLimit\n $(\"<button>\", {type: \"button\"}).text(opts.localeStrings.apply)\n .appendTo(finalButtons).bind \"click\", ->\n if valueList.find(\".changed\").removeClass(\"changed\").length\n refresh()\n closeFilterBox()\n\n $(\"<button>\", {type: \"button\"}).text(opts.localeStrings.cancel)\n .appendTo(finalButtons).bind \"click\", ->\n valueList.find(\".changed:checked\")\n .removeClass(\"changed\").prop(\"checked\", false)\n valueList.find(\".changed:not(:checked)\")\n .removeClass(\"changed\").prop(\"checked\", true)\n closeFilterBox()\n\n triangleLink = $(\"<span>\").addClass('pvtTriangle')\n .html(\" &#x25BE;\").bind \"click\", (e) ->\n {left, top} = $(e.currentTarget).position()\n valueList.css(left: left+10, top: top+10).show()\n\n attrElem = $(\"<li>\").addClass(\"axis_#{i}\")\n .append $(\"<span>\").addClass('pvtAttr').text(attr).data(\"attrName\", attr).append(triangleLink)\n\n attrElem.addClass('pvtFilteredAttribute') if hasExcludedItem\n unused.append(attrElem).append(valueList)\n\n tr1 = $(\"<tr>\").appendTo(uiTable)\n\n #aggregator menu and value area\n\n aggregator = $(\"<select>\").addClass('pvtAggregator')\n .bind \"change\", -> refresh() #capture reference\n for own x of opts.aggregators\n aggregator.append $(\"<option>\").val(x).html(x)\n\n ordering =\n key_a_to_z: {rowSymbol: \"&varr;\", colSymbol: \"&harr;\", next: \"value_a_to_z\"}\n value_a_to_z: {rowSymbol: \"&darr;\", colSymbol: \"&rarr;\", next: \"value_z_to_a\"}\n value_z_to_a: {rowSymbol: \"&uarr;\", colSymbol: \"&larr;\", next: \"key_a_to_z\"}\n\n rowOrderArrow = $(\"<a>\", role: \"button\").addClass(\"pvtRowOrder\")\n .data(\"order\", opts.rowOrder).html(ordering[opts.rowOrder].rowSymbol)\n .bind \"click\", ->\n $(this).data(\"order\", ordering[$(this).data(\"order\")].next)\n $(this).html(ordering[$(this).data(\"order\")].rowSymbol)\n refresh()\n\n colOrderArrow = $(\"<a>\", role: \"button\").addClass(\"pvtColOrder\")\n .data(\"order\", opts.colOrder).html(ordering[opts.colOrder].colSymbol)\n .bind \"click\", ->\n $(this).data(\"order\", ordering[$(this).data(\"order\")].next)\n $(this).html(ordering[$(this).data(\"order\")].colSymbol)\n refresh()\n\n $(\"<td>\").addClass('pvtVals')\n .appendTo(tr1)\n .append(aggregator)\n .append(rowOrderArrow)\n .append(colOrderArrow)\n .append($(\"<br>\"))\n\n #column axes\n $(\"<td>\").addClass('pvtAxisContainer pvtHorizList pvtCols').appendTo(tr1)\n\n tr2 = $(\"<tr>\").appendTo(uiTable)\n\n #row axes\n tr2.append $(\"<td>\").addClass('pvtAxisContainer pvtRows').attr(\"valign\", \"top\")\n\n #the actual pivot table container\n pivotTable = $(\"<td>\")\n .attr(\"valign\", \"top\")\n .addClass('pvtRendererArea')\n .appendTo(tr2)\n\n #finally the renderer dropdown and unused attribs are inserted at the requested location\n if opts.unusedAttrsVertical == true or unusedAttrsVerticalAutoOverride\n uiTable.find('tr:nth-child(1)').prepend rendererControl\n uiTable.find('tr:nth-child(2)').prepend unused\n else\n uiTable.prepend $(\"<tr>\").append(rendererControl).append(unused)\n\n #render the UI in its default state\n @html uiTable\n\n #set up the UI initial state as requested by moving elements around\n\n for x in opts.cols\n @find(\".pvtCols\").append @find(\".axis_#{$.inArray(x, shownInDragDrop)}\")\n for x in opts.rows\n @find(\".pvtRows\").append @find(\".axis_#{$.inArray(x, shownInDragDrop)}\")\n if opts.aggregatorName?\n @find(\".pvtAggregator\").val opts.aggregatorName\n if opts.rendererName?\n @find(\".pvtRenderer\").val opts.rendererName\n\n initialRender = true\n\n #set up for refreshing\n refreshDelayed = =>\n subopts =\n derivedAttributes: opts.derivedAttributes\n localeStrings: opts.localeStrings\n rendererOptions: opts.rendererOptions\n sorters: opts.sorters\n cols: [], rows: []\n dataClass: opts.dataClass\n\n numInputsToProcess = opts.aggregators[aggregator.val()]([])().numInputs ? 0\n vals = []\n @find(\".pvtRows li span.pvtAttr\").each -> subopts.rows.push $(this).data(\"attrName\")\n @find(\".pvtCols li span.pvtAttr\").each -> subopts.cols.push $(this).data(\"attrName\")\n @find(\".pvtVals select.pvtAttrDropdown\").each ->\n if numInputsToProcess == 0\n $(this).remove()\n else\n numInputsToProcess--\n vals.push $(this).val() if $(this).val() != \"\"\n\n if numInputsToProcess != 0\n pvtVals = @find(\".pvtVals\")\n for x in [0...numInputsToProcess]\n newDropdown = $(\"<select>\")\n .addClass('pvtAttrDropdown')\n .append($(\"<option>\"))\n .bind \"change\", -> refresh()\n for attr in shownInAggregators\n newDropdown.append($(\"<option>\").val(attr).text(attr))\n pvtVals.append(newDropdown)\n\n if initialRender\n vals = opts.vals\n i = 0\n @find(\".pvtVals select.pvtAttrDropdown\").each ->\n $(this).val vals[i]\n i++\n initialRender = false\n\n subopts.aggregatorName = aggregator.val()\n subopts.vals = vals\n subopts.aggregator = opts.aggregators[aggregator.val()](vals)\n subopts.renderer = opts.renderers[renderer.val()]\n subopts.rowOrder = rowOrderArrow.data(\"order\")\n subopts.colOrder = colOrderArrow.data(\"order\")\n #construct filter here\n exclusions = {}\n @find('input.pvtFilter').not(':checked').each ->\n filter = $(this).data(\"filter\")\n if exclusions[filter[0]]?\n exclusions[filter[0]].push( filter[1] )\n else\n exclusions[filter[0]] = [ filter[1] ]\n #include inclusions when exclusions present\n inclusions = {}\n @find('input.pvtFilter:checked').each ->\n filter = $(this).data(\"filter\")\n if exclusions[filter[0]]?\n if inclusions[filter[0]]?\n inclusions[filter[0]].push( filter[1] )\n else\n inclusions[filter[0]] = [ filter[1] ]\n\n subopts.filter = (record) ->\n return false if not opts.filter(record)\n for k,excludedItems of exclusions\n return false if \"\"+(record[k] ? 'null') in excludedItems\n return true\n\n pivotTable.pivot(materializedInput,subopts)\n pivotUIOptions = $.extend {}, opts,\n cols: subopts.cols\n rows: subopts.rows\n colOrder: subopts.colOrder\n rowOrder: subopts.rowOrder\n vals: vals\n exclusions: exclusions\n inclusions: inclusions\n inclusionsInfo: inclusions #duplicated for backwards-compatibility\n aggregatorName: aggregator.val()\n rendererName: renderer.val()\n\n @data \"pivotUIOptions\", pivotUIOptions\n\n # if requested make sure unused columns are in alphabetical order\n if opts.autoSortUnusedAttrs\n unusedAttrsContainer = @find(\"td.pvtUnused.pvtAxisContainer\")\n $(unusedAttrsContainer).children(\"li\")\n .sort((a, b) => naturalSort($(a).text(), $(b).text()))\n .appendTo unusedAttrsContainer\n\n pivotTable.css(\"opacity\", 1)\n opts.onRefresh(pivotUIOptions) if opts.onRefresh?\n\n refresh = =>\n pivotTable.css(\"opacity\", 0.5)\n setTimeout refreshDelayed, 10\n\n #the very first refresh will actually display the table\n refresh()\n\n @find(\".pvtAxisContainer\").sortable\n update: (e, ui) -> refresh() if not ui.sender?\n connectWith: @find(\".pvtAxisContainer\")\n items: 'li'\n placeholder: 'pvtPlaceholder'\n catch e\n console.error(e.stack) if console?\n @html opts.localeStrings.uiRenderError\n return this\n\n ###\n Heatmap post-processing\n ###\n\n $.fn.heatmap = (scope = \"heatmap\", opts) ->\n numRows = @data \"numrows\"\n numCols = @data \"numcols\"\n\n # given a series of values\n # must return a function to map a given value to a CSS color\n colorScaleGenerator = opts?.heatmap?.colorScaleGenerator\n colorScaleGenerator ?= (values) ->\n min = Math.min(values...)\n max = Math.max(values...)\n return (x) ->\n nonRed = 255 - Math.round 255*(x-min)/(max-min)\n return \"rgb(255,#{nonRed},#{nonRed})\"\n\n heatmapper = (scope) =>\n forEachCell = (f) =>\n @find(scope).each ->\n x = $(this).data(\"value\")\n f(x, $(this)) if x? and isFinite(x)\n\n values = []\n forEachCell (x) -> values.push x\n colorScale = colorScaleGenerator(values)\n forEachCell (x, elem) -> elem.css \"background-color\", colorScale(x)\n\n switch scope\n when \"heatmap\" then heatmapper \".pvtVal\"\n when \"rowheatmap\" then heatmapper \".pvtVal.row#{i}\" for i in [0...numRows]\n when \"colheatmap\" then heatmapper \".pvtVal.col#{j}\" for j in [0...numCols]\n\n heatmapper \".pvtTotal.rowTotal\"\n heatmapper \".pvtTotal.colTotal\"\n\n return this\n\n ###\n Barchart post-processing\n ###\n\n $.fn.barchart = (opts) ->\n numRows = @data \"numrows\"\n numCols = @data \"numcols\"\n\n barcharter = (scope) =>\n forEachCell = (f) =>\n @find(scope).each ->\n x = $(this).data(\"value\")\n f(x, $(this)) if x? and isFinite(x)\n\n values = []\n forEachCell (x) -> values.push x\n max = Math.max(values...)\n if max < 0\n max = 0\n range = max;\n min = Math.min(values...)\n if min < 0\n range = max - min\n scaler = (x) -> 100*x/(1.4*range)\n forEachCell (x, elem) ->\n text = elem.text()\n wrapper = $(\"<div>\").css\n \"position\": \"relative\"\n \"height\": \"55px\"\n bgColor = \"gray\"\n bBase = 0\n if min < 0\n bBase = scaler(-min)\n if x < 0\n bBase += scaler(x)\n bgColor = \"darkred\"\n x = -x\n wrapper.append $(\"<div>\").css\n \"position\": \"absolute\"\n \"bottom\": bBase + \"%\"\n \"left\": 0\n \"right\": 0\n \"height\": scaler(x) + \"%\"\n \"background-color\": bgColor\n wrapper.append $(\"<div>\").text(text).css\n \"position\":\"relative\"\n \"padding-left\":\"5px\"\n \"padding-right\":\"5px\"\n\n elem.css(\"padding\": 0,\"padding-top\": \"5px\", \"text-align\": \"center\").html wrapper\n\n barcharter \".pvtVal.row#{i}\" for i in [0...numRows]\n barcharter \".pvtTotal.colTotal\"\n\n return this\n"]}
\ No newline at end of file
.pvtUi{color:#333}table.pvtTable{font-size:8pt;text-align:left;border-collapse:collapse}table.pvtTable tbody tr th,table.pvtTable thead tr th{background-color:#e6EEEE;border:1px solid #CDCDCD;font-size:8pt;padding:5px}table.pvtTable .pvtColLabel{text-align:center}table.pvtTable .pvtTotalLabel{text-align:right}table.pvtTable tbody tr td{color:#3D3D3D;padding:5px;background-color:#FFF;border:1px solid #CDCDCD;vertical-align:top;text-align:right}.pvtGrandTotal,.pvtTotal{font-weight:700}.pvtVals{text-align:center;white-space:nowrap}.pvtColOrder,.pvtRowOrder{cursor:pointer;width:15px;margin-left:5px;display:inline-block}.pvtAggregator{margin-bottom:5px}.pvtAxisContainer,.pvtVals{border:1px solid gray;background:#EEE;padding:5px;min-width:20px;min-height:20px;user-select:none;-webkit-user-select:none;-moz-user-select:none;-khtml-user-select:none;-ms-user-select:none}.pvtAxisContainer li{padding:8px 6px;list-style-type:none;cursor:move}.pvtAxisContainer li.pvtPlaceholder{-webkit-border-radius:5px;padding:3px 15px;-moz-border-radius:5px;border-radius:5px;border:1px dashed #aaa}.pvtAxisContainer li span.pvtAttr{-webkit-text-size-adjust:100%;background:#F3F3F3;border:1px solid #DEDEDE;padding:2px 5px;white-space:nowrap;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px}.pvtTriangle{cursor:pointer;color:grey}.pvtHorizList li{display:inline}.pvtVertList{vertical-align:top}.pvtFilteredAttribute{font-style:italic}.pvtFilterBox{z-index:100;width:300px;border:1px solid gray;background-color:#fff;position:absolute;text-align:center}.pvtFilterBox h4{margin:15px}.pvtFilterBox p{margin:10px auto}.pvtFilterBox label{font-weight:400}.pvtFilterBox input[type=checkbox]{margin-right:10px;margin-left:10px}.pvtFilterBox input[type=text]{width:230px}.pvtFilterBox .count{color:gray;font-weight:400;margin-left:3px}.pvtCheckContainer{text-align:left;font-size:14px;white-space:nowrap;overflow-y:scroll;width:100%;max-height:250px;border-top:1px solid #d3d3d3;border-bottom:1px solid #d3d3d3}.pvtCheckContainer p{margin:5px}.pvtRendererArea{padding:5px}
\ No newline at end of file
(function(){var t,e=[].indexOf||function(t){for(var e=0,n=this.length;e<n;e++)if(e in this&&this[e]===t)return e;return-1},n=[].slice,r=function(t,e){return function(){return t.apply(e,arguments)}},a={}.hasOwnProperty;(t=function(t){return"object"==typeof exports&&"object"==typeof module?t(require("jquery")):"function"==typeof define&&define.amd?define(["jquery"],t):t(jQuery)})(function(t){var o,i,l,s,u,c,h,d,p,f,m,g,v,b,C,y,w,A,x,S,N;return i=function(t,e,n){var r,a,o,i;for(t+="",a=t.split("."),o=a[0],i=a.length>1?n+a[1]:"",r=/(\d+)(\d{3})/;r.test(o);)o=o.replace(r,"$1"+e+"$2");return o+i},m=function(e){var n;return n={digitsAfterDecimal:2,scaler:1,thousandsSep:",",decimalSep:".",prefix:"",suffix:""},e=t.extend({},n,e),function(t){var n;return isNaN(t)||!isFinite(t)?"":(n=i((e.scaler*t).toFixed(e.digitsAfterDecimal),e.thousandsSep,e.decimalSep),""+e.prefix+n+e.suffix)}},A=m(),x=m({digitsAfterDecimal:0}),S=m({digitsAfterDecimal:1,scaler:100,suffix:"%"}),l={count:function(t){return null==t&&(t=x),function(){return function(e,n,r){return{count:0,push:function(){return this.count++},value:function(){return this.count},format:t}}}},uniques:function(t,n){return null==n&&(n=x),function(r){var a;return a=r[0],function(r,o,i){return{uniq:[],push:function(t){var n;if(n=t[a],e.call(this.uniq,n)<0)return this.uniq.push(t[a])},value:function(){return t(this.uniq)},format:n,numInputs:null!=a?0:1}}}},sum:function(t){return null==t&&(t=A),function(e){var n;return n=e[0],function(e,r,a){return{sum:0,push:function(t){if(!isNaN(parseFloat(t[n])))return this.sum+=parseFloat(t[n])},value:function(){return this.sum},format:t,numInputs:null!=n?0:1}}}},extremes:function(t,e){return null==e&&(e=A),function(n){var r;return r=n[0],function(n,a,o){return{val:null,sorter:h(null!=n?n.sorters:void 0,r),push:function(e){var n,a,o,i;if(i=e[r],"min"!==t&&"max"!==t||(i=parseFloat(i),isNaN(i)||(this.val=Math[t](i,null!=(n=this.val)?n:i))),"first"===t&&this.sorter(i,null!=(a=this.val)?a:i)<=0&&(this.val=i),"last"===t&&this.sorter(i,null!=(o=this.val)?o:i)>=0)return this.val=i},value:function(){return this.val},format:function(t){return isNaN(t)?t:e(t)},numInputs:null!=r?0:1}}}},quantile:function(t,e){return null==e&&(e=A),function(n){var r;return r=n[0],function(n,a,o){return{vals:[],push:function(t){var e;if(e=parseFloat(t[r]),!isNaN(e))return this.vals.push(e)},value:function(){var e;return 0===this.vals.length?null:(this.vals.sort(function(t,e){return t-e}),e=(this.vals.length-1)*t,(this.vals[Math.floor(e)]+this.vals[Math.ceil(e)])/2)},format:e,numInputs:null!=r?0:1}}}},runningStat:function(t,e,n){return null==t&&(t="mean"),null==e&&(e=1),null==n&&(n=A),function(r){var a;return a=r[0],function(r,o,i){return{n:0,m:0,s:0,push:function(t){var e,n;if(n=parseFloat(t[a]),!isNaN(n))return this.n+=1,1===this.n?this.m=n:(e=this.m+(n-this.m)/this.n,this.s=this.s+(n-this.m)*(n-e),this.m=e)},value:function(){if("mean"===t)return 0===this.n?NaN:this.m;if(this.n<=e)return 0;switch(t){case"var":return this.s/(this.n-e);case"stdev":return Math.sqrt(this.s/(this.n-e))}},format:n,numInputs:null!=a?0:1}}}},sumOverSum:function(t){return null==t&&(t=A),function(e){var n,r;return r=e[0],n=e[1],function(e,a,o){return{sumNum:0,sumDenom:0,push:function(t){if(isNaN(parseFloat(t[r]))||(this.sumNum+=parseFloat(t[r])),!isNaN(parseFloat(t[n])))return this.sumDenom+=parseFloat(t[n])},value:function(){return this.sumNum/this.sumDenom},format:t,numInputs:null!=r&&null!=n?0:2}}}},sumOverSumBound80:function(t,e){return null==t&&(t=!0),null==e&&(e=A),function(n){var r,a;return a=n[0],r=n[1],function(n,o,i){return{sumNum:0,sumDenom:0,push:function(t){if(isNaN(parseFloat(t[a]))||(this.sumNum+=parseFloat(t[a])),!isNaN(parseFloat(t[r])))return this.sumDenom+=parseFloat(t[r])},value:function(){var e;return e=t?1:-1,(.821187207574908/this.sumDenom+this.sumNum/this.sumDenom+1.2815515655446004*e*Math.sqrt(.410593603787454/(this.sumDenom*this.sumDenom)+this.sumNum*(1-this.sumNum/this.sumDenom)/(this.sumDenom*this.sumDenom)))/(1+1.642374415149816/this.sumDenom)},format:e,numInputs:null!=a&&null!=r?0:2}}}},fractionOf:function(t,e,r){return null==e&&(e="total"),null==r&&(r=S),function(){var a;return a=1<=arguments.length?n.call(arguments,0):[],function(n,o,i){return{selector:{total:[[],[]],row:[o,[]],col:[[],i]}[e],inner:t.apply(null,a)(n,o,i),push:function(t){return this.inner.push(t)},format:r,value:function(){return this.inner.value()/n.getAggregator.apply(n,this.selector).inner.value()},numInputs:t.apply(null,a)().numInputs}}}}},l.countUnique=function(t){return l.uniques(function(t){return t.length},t)},l.listUnique=function(t){return l.uniques(function(e){return e.sort(f).join(t)},function(t){return t})},l.max=function(t){return l.extremes("max",t)},l.min=function(t){return l.extremes("min",t)},l.first=function(t){return l.extremes("first",t)},l.last=function(t){return l.extremes("last",t)},l.median=function(t){return l.quantile(.5,t)},l.average=function(t){return l.runningStat("mean",1,t)},l["var"]=function(t,e){return l.runningStat("var",t,e)},l.stdev=function(t,e){return l.runningStat("stdev",t,e)},s=function(t){return{Count:t.count(x),"Count Unique Values":t.countUnique(x),"List Unique Values":t.listUnique(", "),Sum:t.sum(A),"Integer Sum":t.sum(x),Average:t.average(A),Median:t.median(A),"Sample Variance":t["var"](1,A),"Sample Standard Deviation":t.stdev(1,A),Minimum:t.min(A),Maximum:t.max(A),First:t.first(A),Last:t.last(A),"Sum over Sum":t.sumOverSum(A),"80% Upper Bound":t.sumOverSumBound80(!0,A),"80% Lower Bound":t.sumOverSumBound80(!1,A),"Sum as Fraction of Total":t.fractionOf(t.sum(),"total",S),"Sum as Fraction of Rows":t.fractionOf(t.sum(),"row",S),"Sum as Fraction of Columns":t.fractionOf(t.sum(),"col",S),"Count as Fraction of Total":t.fractionOf(t.count(),"total",S),"Count as Fraction of Rows":t.fractionOf(t.count(),"row",S),"Count as Fraction of Columns":t.fractionOf(t.count(),"col",S)}}(l),b={Table:function(t,e){return g(t,e)},"Table Barchart":function(e,n){return t(g(e,n)).barchart()},Heatmap:function(e,n){return t(g(e,n)).heatmap("heatmap",n)},"Row Heatmap":function(e,n){return t(g(e,n)).heatmap("rowheatmap",n)},"Col Heatmap":function(e,n){return t(g(e,n)).heatmap("colheatmap",n)}},d={en:{aggregators:s,renderers:b,localeStrings:{renderError:"An error occurred rendering the PivotTable results.",computeError:"An error occurred computing the PivotTable results.",uiRenderError:"An error occurred rendering the PivotTable UI.",selectAll:"Select All",selectNone:"Select None",tooMany:"(too many to list)",filterResults:"Filter values",apply:"Apply",cancel:"Cancel",totals:"Totals",vs:"vs",by:"by"}}},p=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],u=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],N=function(t){return("0"+t).substr(-2,2)},c={bin:function(t,e){return function(n){return n[t]-n[t]%e}},dateFormat:function(t,e,n,r,a){var o;return null==n&&(n=!1),null==r&&(r=p),null==a&&(a=u),o=n?"UTC":"",function(n){var i;return i=new Date(Date.parse(n[t])),isNaN(i)?"":e.replace(/%(.)/g,function(t,e){switch(e){case"y":return i["get"+o+"FullYear"]();case"m":return N(i["get"+o+"Month"]()+1);case"n":return r[i["get"+o+"Month"]()];case"d":return N(i["get"+o+"Date"]());case"w":return a[i["get"+o+"Day"]()];case"x":return i["get"+o+"Day"]();case"H":return N(i["get"+o+"Hours"]());case"M":return N(i["get"+o+"Minutes"]());case"S":return N(i["get"+o+"Seconds"]());default:return"%"+e}})}}},C=/(\d+)|(\D+)/g,v=/\d/,y=/^0/,f=function(t){return function(t,e){var n,r,a,o,i,l;if(null!=e&&null==t)return-1;if(null!=t&&null==e)return 1;if("number"==typeof t&&isNaN(t))return-1;if("number"==typeof e&&isNaN(e))return 1;if(i=+t,l=+e,i<l)return-1;if(i>l)return 1;if("number"==typeof t&&"number"!=typeof e)return-1;if("number"==typeof e&&"number"!=typeof t)return 1;if("number"==typeof t&&"number"==typeof e)return 0;if(isNaN(l)&&!isNaN(i))return-1;if(isNaN(i)&&!isNaN(l))return 1;if(n=String(t),a=String(e),n===a)return 0;if(!v.test(n)||!v.test(a))return n>a?1:-1;for(n=n.match(C),a=a.match(C);n.length&&a.length;)if(r=n.shift(),o=a.shift(),r!==o)return v.test(r)&&v.test(o)?r.replace(y,".0")-o.replace(y,".0"):r>o?1:-1;return n.length-a.length}}(this),w=function(t){var e,n,r,a;r={},n={};for(e in t)a=t[e],r[a]=e,"string"==typeof a&&(n[a.toLowerCase()]=e);return function(t,e){return null!=r[t]&&null!=r[e]?r[t]-r[e]:null!=r[t]?-1:null!=r[e]?1:null!=n[t]&&null!=n[e]?n[t]-n[e]:null!=n[t]?-1:null!=n[e]?1:f(t,e)}},h=function(e,n){var r;if(null!=e)if(t.isFunction(e)){if(r=e(n),t.isFunction(r))return r}else if(null!=e[n])return e[n];return f},o=function(){function e(t,n){var a,o,i,s,u,c,h,d,p,f;null==n&&(n={}),this.getAggregator=r(this.getAggregator,this),this.getRowKeys=r(this.getRowKeys,this),this.getColKeys=r(this.getColKeys,this),this.sortKeys=r(this.sortKeys,this),this.arrSort=r(this.arrSort,this),this.input=t,this.aggregator=null!=(a=n.aggregator)?a:l.count()(),this.aggregatorName=null!=(o=n.aggregatorName)?o:"Count",this.colAttrs=null!=(i=n.cols)?i:[],this.rowAttrs=null!=(s=n.rows)?s:[],this.valAttrs=null!=(u=n.vals)?u:[],this.sorters=null!=(c=n.sorters)?c:{},this.rowOrder=null!=(h=n.rowOrder)?h:"key_a_to_z",this.colOrder=null!=(d=n.colOrder)?d:"key_a_to_z",this.derivedAttributes=null!=(p=n.derivedAttributes)?p:{},this.filter=null!=(f=n.filter)?f:function(){return!0},this.tree={},this.rowKeys=[],this.colKeys=[],this.rowTotals={},this.colTotals={},this.allTotal=this.aggregator(this,[],[]),this.sorted=!1,e.forEachRecord(this.input,this.derivedAttributes,function(t){return function(e){if(t.filter(e))return t.processRecord(e)}}(this))}return e.forEachRecord=function(e,n,r){var o,i,l,s,u,c,h,d,p,f,m,g;if(o=t.isEmptyObject(n)?r:function(t){var e,a,o;for(e in n)o=n[e],t[e]=null!=(a=o(t))?a:t[e];return r(t)},t.isFunction(e))return e(o);if(t.isArray(e)){if(t.isArray(e[0])){f=[];for(l in e)if(a.call(e,l)&&(i=e[l],l>0)){d={},p=e[0];for(s in p)a.call(p,s)&&(u=p[s],d[u]=i[s]);f.push(o(d))}return f}for(m=[],c=0,h=e.length;c<h;c++)d=e[c],m.push(o(d));return m}if(e instanceof t)return g=[],t("thead > tr > th",e).each(function(e){return g.push(t(this).text())}),t("tbody > tr",e).each(function(e){return d={},t("td",this).each(function(e){return d[g[e]]=t(this).text()}),o(d)});throw new Error("unknown input format")},e.prototype.forEachMatchingRecord=function(t,n){return e.forEachRecord(this.input,this.derivedAttributes,function(e){return function(r){var a,o,i;if(e.filter(r)){for(a in t)if(i=t[a],i!==(null!=(o=r[a])?o:"null"))return;return n(r)}}}(this))},e.prototype.arrSort=function(t){var e,n;return n=function(){var n,r,a;for(a=[],n=0,r=t.length;n<r;n++)e=t[n],a.push(h(this.sorters,e));return a}.call(this),function(t,e){var r,o,i;for(o in n)if(a.call(n,o)&&(i=n[o],r=i(t[o],e[o]),0!==r))return r;return 0}},e.prototype.sortKeys=function(){var t;if(!this.sorted){switch(this.sorted=!0,t=function(t){return function(e,n){return t.getAggregator(e,n).value()}}(this),this.rowOrder){case"value_a_to_z":this.rowKeys.sort(function(e){return function(e,n){return f(t(e,[]),t(n,[]))}}(this));break;case"value_z_to_a":this.rowKeys.sort(function(e){return function(e,n){return-f(t(e,[]),t(n,[]))}}(this));break;default:this.rowKeys.sort(this.arrSort(this.rowAttrs))}switch(this.colOrder){case"value_a_to_z":return this.colKeys.sort(function(e){return function(e,n){return f(t([],e),t([],n))}}(this));case"value_z_to_a":return this.colKeys.sort(function(e){return function(e,n){return-f(t([],e),t([],n))}}(this));default:return this.colKeys.sort(this.arrSort(this.colAttrs))}}},e.prototype.getColKeys=function(){return this.sortKeys(),this.colKeys},e.prototype.getRowKeys=function(){return this.sortKeys(),this.rowKeys},e.prototype.processRecord=function(t){var e,n,r,a,o,i,l,s,u,c,h,d,p;for(e=[],d=[],s=this.colAttrs,a=0,o=s.length;a<o;a++)p=s[a],e.push(null!=(u=t[p])?u:"null");for(c=this.rowAttrs,l=0,i=c.length;l<i;l++)p=c[l],d.push(null!=(h=t[p])?h:"null");if(r=d.join(String.fromCharCode(0)),n=e.join(String.fromCharCode(0)),this.allTotal.push(t),0!==d.length&&(this.rowTotals[r]||(this.rowKeys.push(d),this.rowTotals[r]=this.aggregator(this,d,[])),this.rowTotals[r].push(t)),0!==e.length&&(this.colTotals[n]||(this.colKeys.push(e),this.colTotals[n]=this.aggregator(this,[],e)),this.colTotals[n].push(t)),0!==e.length&&0!==d.length)return this.tree[r]||(this.tree[r]={}),this.tree[r][n]||(this.tree[r][n]=this.aggregator(this,d,e)),this.tree[r][n].push(t)},e.prototype.getAggregator=function(t,e){var n,r,a;return a=t.join(String.fromCharCode(0)),r=e.join(String.fromCharCode(0)),n=0===t.length&&0===e.length?this.allTotal:0===t.length?this.colTotals[r]:0===e.length?this.rowTotals[a]:this.tree[a][r],null!=n?n:{value:function(){return null},format:function(){return""}}},e}(),t.pivotUtilities={aggregatorTemplates:l,aggregators:s,renderers:b,derivers:c,locales:d,naturalSort:f,numberFormat:m,sortAs:w,PivotData:o},g=function(e,n){var r,o,i,l,s,u,c,h,d,p,f,m,g,v,b,C,y,w,A,x,S,N,T,k;u={table:{clickCallback:null},localeStrings:{totals:"Totals"}},n=t.extend(!0,{},u,n),i=e.colAttrs,m=e.rowAttrs,v=e.getRowKeys(),s=e.getColKeys(),n.table.clickCallback&&(c=function(t,r,o){var l,s,u;s={};for(u in i)a.call(i,u)&&(l=i[u],null!=o[u]&&(s[l]=o[u]));for(u in m)a.call(m,u)&&(l=m[u],null!=r[u]&&(s[l]=r[u]));return function(r){return n.table.clickCallback(r,t,s,e)}}),f=document.createElement("table"),f.className="pvtTable",b=function(t,e,n){var r,a,o,i,l,s,u,c;if(0!==e){for(i=!0,c=r=0,l=n;0<=l?r<=l:r>=l;c=0<=l?++r:--r)t[e-1][c]!==t[e][c]&&(i=!1);if(i)return-1}for(a=0;e+a<t.length;){for(u=!1,c=o=0,s=n;0<=s?o<=s:o>=s;c=0<=s?++o:--o)t[e][c]!==t[e+a][c]&&(u=!0);if(u)break;a++}return a},A=document.createElement("thead");for(d in i)if(a.call(i,d)){o=i[d],S=document.createElement("tr"),0===parseInt(d)&&0!==m.length&&(w=document.createElement("th"),w.setAttribute("colspan",m.length),w.setAttribute("rowspan",i.length),S.appendChild(w)),w=document.createElement("th"),w.className="pvtAxisLabel",w.textContent=o,S.appendChild(w);for(h in s)a.call(s,h)&&(l=s[h],k=b(s,parseInt(h),parseInt(d)),k!==-1&&(w=document.createElement("th"),w.className="pvtColLabel",w.textContent=l[d],w.setAttribute("colspan",k),parseInt(d)===i.length-1&&0!==m.length&&w.setAttribute("rowspan",2),S.appendChild(w)));0===parseInt(d)&&(w=document.createElement("th"),w.className="pvtTotalLabel pvtRowTotalLabel",w.innerHTML=n.localeStrings.totals,w.setAttribute("rowspan",i.length+(0===m.length?0:1)),S.appendChild(w)),A.appendChild(S)}if(0!==m.length){S=document.createElement("tr");for(h in m)a.call(m,h)&&(p=m[h],w=document.createElement("th"),w.className="pvtAxisLabel",w.textContent=p,S.appendChild(w));w=document.createElement("th"),0===i.length&&(w.className="pvtTotalLabel pvtRowTotalLabel",w.innerHTML=n.localeStrings.totals),S.appendChild(w),A.appendChild(S)}f.appendChild(A),C=document.createElement("tbody");for(h in v)if(a.call(v,h)){g=v[h],S=document.createElement("tr");for(d in g)a.call(g,d)&&(N=g[d],k=b(v,parseInt(h),parseInt(d)),k!==-1&&(w=document.createElement("th"),w.className="pvtRowLabel",w.textContent=N,w.setAttribute("rowspan",k),parseInt(d)===m.length-1&&0!==i.length&&w.setAttribute("colspan",2),S.appendChild(w)));for(d in s)a.call(s,d)&&(l=s[d],r=e.getAggregator(g,l),T=r.value(),y=document.createElement("td"),y.className="pvtVal row"+h+" col"+d,y.textContent=r.format(T),y.setAttribute("data-value",T),null!=c&&(y.onclick=c(T,g,l)),S.appendChild(y));x=e.getAggregator(g,[]),T=x.value(),y=document.createElement("td"),y.className="pvtTotal rowTotal",y.textContent=x.format(T),y.setAttribute("data-value",T),null!=c&&(y.onclick=c(T,g,[])),y.setAttribute("data-for","row"+h),S.appendChild(y),C.appendChild(S)}S=document.createElement("tr"),w=document.createElement("th"),w.className="pvtTotalLabel pvtColTotalLabel",w.innerHTML=n.localeStrings.totals,w.setAttribute("colspan",m.length+(0===i.length?0:1)),S.appendChild(w);for(d in s)a.call(s,d)&&(l=s[d],x=e.getAggregator([],l),T=x.value(),y=document.createElement("td"),y.className="pvtTotal colTotal",y.textContent=x.format(T),y.setAttribute("data-value",T),null!=c&&(y.onclick=c(T,[],l)),y.setAttribute("data-for","col"+d),S.appendChild(y));return x=e.getAggregator([],[]),T=x.value(),y=document.createElement("td"),y.className="pvtGrandTotal",y.textContent=x.format(T),y.setAttribute("data-value",T),null!=c&&(y.onclick=c(T,[],[])),S.appendChild(y),C.appendChild(S),f.appendChild(C),f.setAttribute("data-numrows",v.length),f.setAttribute("data-numcols",s.length),f},t.fn.pivot=function(e,n,r){var a,i,s,u,c,h,p,f;null==r&&(r="en"),null==d[r]&&(r="en"),a={cols:[],rows:[],vals:[],rowOrder:"key_a_to_z",colOrder:"key_a_to_z",dataClass:o,filter:function(){return!0},aggregator:l.count()(),aggregatorName:"Count",sorters:{},derivedAttributes:{},renderer:g},u=t.extend(!0,{},d.en.localeStrings,d[r].localeStrings),s={rendererOptions:{localeStrings:u},localeStrings:u},c=t.extend(!0,{},s,t.extend({},a,n)),p=null;try{h=new c.dataClass(e,c);try{p=c.renderer(h,c.rendererOptions)}catch(m){i=m,"undefined"!=typeof console&&null!==console&&console.error(i.stack),p=t("<span>").html(c.localeStrings.renderError)}}catch(m){i=m,"undefined"!=typeof console&&null!==console&&console.error(i.stack),p=t("<span>").html(c.localeStrings.computeError)}for(f=this[0];f.hasChildNodes();)f.removeChild(f.lastChild);return this.append(p)},t.fn.pivotUI=function(n,r,i,l){var s,u,c,p,m,g,v,b,C,y,w,A,x,S,N,T,k,O,_,F,D,E,M,R,L,I,K,q,z,U,V,j,H,B,P,J,G,W,$,Q,Y,X,Z,tt,et;null==i&&(i=!1),null==l&&(l="en"),null==d[l]&&(l="en"),b={derivedAttributes:{},aggregators:d[l].aggregators,renderers:d[l].renderers,hiddenAttributes:[],hiddenFromAggregators:[],hiddenFromDragDrop:[],menuLimit:500,cols:[],rows:[],vals:[],rowOrder:"key_a_to_z",colOrder:"key_a_to_z",dataClass:o,exclusions:{},inclusions:{},unusedAttrsVertical:85,autoSortUnusedAttrs:!1,onRefresh:null,filter:function(){return!0},sorters:{}},_=t.extend(!0,{},d.en.localeStrings,d[l].localeStrings),O={rendererOptions:{localeStrings:_},localeStrings:_},y=this.data("pivotUIOptions"),M=null==y||i?t.extend(!0,{},O,t.extend({},b,r)):y;try{m={},F=[],I=0,o.forEachRecord(n,M.derivedAttributes,function(t){var e,n,r,o;if(M.filter(t)){F.push(t);for(e in t)a.call(t,e)&&null==m[e]&&(m[e]={},I>0&&(m[e]["null"]=I));for(e in m)o=null!=(r=t[e])?r:"null",null==(n=m[e])[o]&&(n[o]=0),m[e][o]++;return I++}}),Y=t("<table>",{"class":"pvtUi"}).attr("cellpadding",5),B=t("<td>"),H=t("<select>").addClass("pvtRenderer").appendTo(B).bind("change",function(){return V()}),K=M.renderers;for(et in K)a.call(K,et)&&t("<option>").val(et).html(et).appendTo(H);if(X=t("<td>").addClass("pvtAxisContainer pvtUnused"),J=function(){var t;t=[];for(s in m)e.call(M.hiddenAttributes,s)<0&&t.push(s);return t}(),G=function(){var t,n,r;for(r=[],t=0,n=J.length;t<n;t++)g=J[t],e.call(M.hiddenFromAggregators,g)<0&&r.push(g);return r}(),W=function(){var t,n,r;for(r=[],t=0,n=J.length;t<n;t++)g=J[t],e.call(M.hiddenFromDragDrop,g)<0&&r.push(g);return r}(),tt=!1,Z="auto"===M.unusedAttrsVertical?120:parseInt(M.unusedAttrsVertical),!isNaN(Z)){for(p=0,S=0,N=W.length;S<N;S++)s=W[S],p+=s.length;tt=p>Z}M.unusedAttrsVertical===!0||tt?X.addClass("pvtVertList"):X.addClass("pvtHorizList"),w=function(n){var r,a,o,i,l,s,u,c,d,p,f,g,v,b,C,y,w,x,S;if(S=function(){var t;t=[];for(C in m[n])t.push(C);return t}(),c=!1,x=t("<div>").addClass("pvtFilterBox").hide(),x.append(t("<h4>").append(t("<span>").text(n),t("<span>").addClass("count").text("("+S.length+")"))),S.length>M.menuLimit)x.append(t("<p>").html(M.localeStrings.tooMany));else for(S.length>5&&(i=t("<p>").appendTo(x),v=h(M.sorters,n),f=M.localeStrings.filterResults,t("<input>",{type:"text"}).appendTo(i).attr({placeholder:f,"class":"pvtSearch"}).bind("keyup",function(){var n,r,a;return a=t(this).val().toLowerCase().trim(),r=function(t,n){return function(r){var o,i;return o=a.substring(t.length).trim(),0===o.length||(i=Math.sign(v(r.toLowerCase(),o)),e.call(n,i)>=0)}},n=0===a.indexOf(">=")?r(">=",[1,0]):0===a.indexOf("<=")?r("<=",[-1,0]):0===a.indexOf(">")?r(">",[1]):0===a.indexOf("<")?r("<",[-1]):0===a.indexOf("~")?function(t){return 0===a.substring(1).trim().length||t.toLowerCase().match(a.substring(1))}:function(t){return t.toLowerCase().indexOf(a)!==-1},x.find(".pvtCheckContainer p label span.value").each(function(){return n(t(this).text())?t(this).parent().parent().show():t(this).parent().parent().hide()})}),i.append(t("<br>")),t("<button>",{type:"button"}).appendTo(i).html(M.localeStrings.selectAll).bind("click",function(){return x.find("input:visible:not(:checked)").prop("checked",!0).toggleClass("changed"),!1}),t("<button>",{type:"button"}).appendTo(i).html(M.localeStrings.selectNone).bind("click",function(){return x.find("input:visible:checked").prop("checked",!1).toggleClass("changed"),!1})),a=t("<div>").addClass("pvtCheckContainer").appendTo(x),g=S.sort(h(M.sorters,n)),p=0,d=g.length;p<d;p++)y=g[p],w=m[n][y],l=t("<label>"),s=!1,M.inclusions[n]?s=e.call(M.inclusions[n],y)<0:M.exclusions[n]&&(s=e.call(M.exclusions[n],y)>=0),c||(c=s),t("<input>").attr("type","checkbox").addClass("pvtFilter").attr("checked",!s).data("filter",[n,y]).appendTo(l).bind("change",function(){return t(this).toggleClass("changed")}),l.append(t("<span>").addClass("value").text(y)),l.append(t("<span>").addClass("count").text("("+w+")")),a.append(t("<p>").append(l));return o=function(){return x.find("[type='checkbox']").length>x.find("[type='checkbox']:checked").length?r.addClass("pvtFilteredAttribute"):r.removeClass("pvtFilteredAttribute"),x.find(".pvtSearch").val(""),x.find(".pvtCheckContainer p").show(),x.hide()},u=t("<p>").appendTo(x),S.length<=M.menuLimit&&t("<button>",{type:"button"}).text(M.localeStrings.apply).appendTo(u).bind("click",function(){return x.find(".changed").removeClass("changed").length&&V(),o()}),t("<button>",{type:"button"}).text(M.localeStrings.cancel).appendTo(u).bind("click",function(){return x.find(".changed:checked").removeClass("changed").prop("checked",!1),x.find(".changed:not(:checked)").removeClass("changed").prop("checked",!0),o()}),b=t("<span>").addClass("pvtTriangle").html(" &#x25BE;").bind("click",function(e){var n,r,a;return r=t(e.currentTarget).position(),n=r.left,a=r.top,x.css({left:n+10,top:a+10}).show()}),r=t("<li>").addClass("axis_"+A).append(t("<span>").addClass("pvtAttr").text(n).data("attrName",n).append(b)),c&&r.addClass("pvtFilteredAttribute"),X.append(r).append(x)};for(A in W)a.call(W,A)&&(c=W[A],w(c));$=t("<tr>").appendTo(Y),u=t("<select>").addClass("pvtAggregator").bind("change",function(){return V()}),q=M.aggregators;for(et in q)a.call(q,et)&&u.append(t("<option>").val(et).html(et));for(R={key_a_to_z:{rowSymbol:"&varr;",colSymbol:"&harr;",next:"value_a_to_z"},value_a_to_z:{rowSymbol:"&darr;",colSymbol:"&rarr;",next:"value_z_to_a"},value_z_to_a:{rowSymbol:"&uarr;",colSymbol:"&larr;",next:"key_a_to_z"}},P=t("<a>",{role:"button"}).addClass("pvtRowOrder").data("order",M.rowOrder).html(R[M.rowOrder].rowSymbol).bind("click",function(){return t(this).data("order",R[t(this).data("order")].next),t(this).html(R[t(this).data("order")].rowSymbol),V()}),v=t("<a>",{role:"button"}).addClass("pvtColOrder").data("order",M.colOrder).html(R[M.colOrder].colSymbol).bind("click",function(){return t(this).data("order",R[t(this).data("order")].next),t(this).html(R[t(this).data("order")].colSymbol),V()}),t("<td>").addClass("pvtVals").appendTo($).append(u).append(P).append(v).append(t("<br>")),t("<td>").addClass("pvtAxisContainer pvtHorizList pvtCols").appendTo($),Q=t("<tr>").appendTo(Y),Q.append(t("<td>").addClass("pvtAxisContainer pvtRows").attr("valign","top")),L=t("<td>").attr("valign","top").addClass("pvtRendererArea").appendTo(Q),M.unusedAttrsVertical===!0||tt?(Y.find("tr:nth-child(1)").prepend(B),Y.find("tr:nth-child(2)").prepend(X)):Y.prepend(t("<tr>").append(B).append(X)),this.html(Y),z=M.cols,D=0,T=z.length;D<T;D++)et=z[D],this.find(".pvtCols").append(this.find(".axis_"+t.inArray(et,W)));for(U=M.rows,E=0,k=U.length;E<k;E++)et=U[E],this.find(".pvtRows").append(this.find(".axis_"+t.inArray(et,W)));null!=M.aggregatorName&&this.find(".pvtAggregator").val(M.aggregatorName),null!=M.rendererName&&this.find(".pvtRenderer").val(M.rendererName),x=!0,j=function(n){return function(){var r,a,o,i,l,s,h,d,p,m,g,b,C,y;if(m={derivedAttributes:M.derivedAttributes,localeStrings:M.localeStrings,rendererOptions:M.rendererOptions,sorters:M.sorters,cols:[],rows:[],dataClass:M.dataClass},l=null!=(d=M.aggregators[u.val()]([])().numInputs)?d:0,y=[],n.find(".pvtRows li span.pvtAttr").each(function(){return m.rows.push(t(this).data("attrName"))}),n.find(".pvtCols li span.pvtAttr").each(function(){return m.cols.push(t(this).data("attrName"))}),n.find(".pvtVals select.pvtAttrDropdown").each(function(){return 0===l?t(this).remove():(l--,""!==t(this).val()?y.push(t(this).val()):void 0)}),0!==l)for(h=n.find(".pvtVals"),et=g=0,p=l;0<=p?g<p:g>p;et=0<=p?++g:--g){for(i=t("<select>").addClass("pvtAttrDropdown").append(t("<option>")).bind("change",function(){return V()}),b=0,o=G.length;b<o;b++)c=G[b],i.append(t("<option>").val(c).text(c));h.append(i)}if(x&&(y=M.vals,A=0,n.find(".pvtVals select.pvtAttrDropdown").each(function(){return t(this).val(y[A]),A++}),x=!1),m.aggregatorName=u.val(),m.vals=y,m.aggregator=M.aggregators[u.val()](y),m.renderer=M.renderers[H.val()],m.rowOrder=P.data("order"),m.colOrder=v.data("order"),r={},n.find("input.pvtFilter").not(":checked").each(function(){var e;return e=t(this).data("filter"),null!=r[e[0]]?r[e[0]].push(e[1]):r[e[0]]=[e[1]]}),a={},n.find("input.pvtFilter:checked").each(function(){var e;if(e=t(this).data("filter"),null!=r[e[0]])return null!=a[e[0]]?a[e[0]].push(e[1]):a[e[0]]=[e[1]]}),m.filter=function(t){var n,a,o,i;if(!M.filter(t))return!1;for(a in r)if(n=r[a],o=""+(null!=(i=t[a])?i:"null"),e.call(n,o)>=0)return!1;return!0},L.pivot(F,m),s=t.extend({},M,{cols:m.cols,rows:m.rows,colOrder:m.colOrder,rowOrder:m.rowOrder,vals:y,exclusions:r,inclusions:a,inclusionsInfo:a,aggregatorName:u.val(),rendererName:H.val()}),n.data("pivotUIOptions",s),M.autoSortUnusedAttrs&&(C=n.find("td.pvtUnused.pvtAxisContainer"),t(C).children("li").sort(function(e,n){return f(t(e).text(),t(n).text())}).appendTo(C)),L.css("opacity",1),null!=M.onRefresh)return M.onRefresh(s)}}(this),V=function(t){return function(){return L.css("opacity",.5),setTimeout(j,10)}}(this),V(),this.find(".pvtAxisContainer").sortable({update:function(t,e){if(null==e.sender)return V()},connectWith:this.find(".pvtAxisContainer"),items:"li",placeholder:"pvtPlaceholder"})}catch(nt){C=nt,"undefined"!=typeof console&&null!==console&&console.error(C.stack),this.html(M.localeStrings.uiRenderError)}return this},t.fn.heatmap=function(e,n){var r,a,o,i,l,s,u,c,h,d,p;switch(null==e&&(e="heatmap"),c=this.data("numrows"),u=this.data("numcols"),r=null!=n&&null!=(h=n.heatmap)?h.colorScaleGenerator:void 0,null==r&&(r=function(t){var e,n;return n=Math.min.apply(Math,t),e=Math.max.apply(Math,t),function(t){var r;return r=255-Math.round(255*(t-n)/(e-n)),"rgb(255,"+r+","+r+")"}}),a=function(e){return function(n){var a,o,i;return o=function(r){return e.find(n).each(function(){var e;if(e=t(this).data("value"),null!=e&&isFinite(e))return r(e,t(this))})},i=[],o(function(t){return i.push(t)}),a=r(i),o(function(t,e){return e.css("background-color",a(t))})}}(this),e){case"heatmap":a(".pvtVal");break;case"rowheatmap":for(o=l=0,d=c;0<=d?l<d:l>d;o=0<=d?++l:--l)a(".pvtVal.row"+o);break;case"colheatmap":for(i=s=0,p=u;0<=p?s<p:s>p;i=0<=p?++s:--s)a(".pvtVal.col"+i)}return a(".pvtTotal.rowTotal"),a(".pvtTotal.colTotal"),this},t.fn.barchart=function(e){var n,r,a,o,i,l;for(i=this.data("numrows"),o=this.data("numcols"),n=function(e){return function(n){var r,a,o,i,l,s;return r=function(r){return e.find(n).each(function(){var e;if(e=t(this).data("value"),null!=e&&isFinite(e))return r(e,t(this))})},s=[],r(function(t){return s.push(t)}),a=Math.max.apply(Math,s),a<0&&(a=0),i=a,o=Math.min.apply(Math,s),o<0&&(i=a-o),l=function(t){return 100*t/(1.4*i)},r(function(e,n){var r,a,i,s;return i=n.text(),s=t("<div>").css({position:"relative",height:"55px"}),a="gray",r=0,o<0&&(r=l(-o)),e<0&&(r+=l(e),a="darkred",e=-e),s.append(t("<div>").css({position:"absolute",bottom:r+"%",left:0,right:0,height:l(e)+"%","background-color":a})),s.append(t("<div>").text(i).css({position:"relative","padding-left":"5px","padding-right":"5px"})),n.css({padding:0,"padding-top":"5px","text-align":"center"}).html(s)})}}(this),r=a=0,l=i;0<=l?a<l:a>l;r=0<=l?++a:--a)n(".pvtVal.row"+r);return n(".pvtTotal.colTotal"),this}})}).call(this);
//# sourceMappingURL=pivot.min.js.map
This source diff could not be displayed because it is too large. You can view the blob instead.
(function() {
var callWithJQuery;
callWithJQuery = function(pivotModule) {
if (typeof exports === "object" && typeof module === "object") {
return pivotModule(require("jquery"));
} else if (typeof define === "function" && define.amd) {
return define(["jquery"], pivotModule);
} else {
return pivotModule(jQuery);
}
};
callWithJQuery(function($) {
var frFmt, frFmtInt, frFmtPct, nf, tpl;
nf = $.pivotUtilities.numberFormat;
tpl = $.pivotUtilities.aggregatorTemplates;
frFmt = nf({
thousandsSep: " ",
decimalSep: ","
});
frFmtInt = nf({
digitsAfterDecimal: 0,
thousandsSep: " ",
decimalSep: ","
});
frFmtPct = nf({
digitsAfterDecimal: 1,
scaler: 100,
suffix: "%",
thousandsSep: " ",
decimalSep: ","
});
return $.pivotUtilities.locales.nl = {
localeStrings: {
renderError: "Er is een fout opgetreden bij het renderen van de kruistabel.",
computeError: "Er is een fout opgetreden bij het berekenen van de kruistabel.",
uiRenderError: "Er is een fout opgetreden bij het tekenen van de interface van de kruistabel.",
selectAll: "Alles selecteren",
selectNone: "Niets selecteren",
tooMany: "(te veel waarden om weer te geven)",
filterResults: "Filter resultaten",
totals: "Totaal",
vs: "versus",
by: "per"
},
aggregators: {
"Aantal": tpl.count(frFmtInt),
"Aantal unieke waarden": tpl.countUnique(frFmtInt),
"Lijst unieke waarden": tpl.listUnique(", "),
"Som": tpl.sum(frFmt),
"Som van gehele getallen": tpl.sum(frFmtInt),
"Gemiddelde": tpl.average(frFmt),
"Minimum": tpl.min(frFmt),
"Maximum": tpl.max(frFmt),
"Som over som": tpl.sumOverSum(frFmt),
"80% bovengrens": tpl.sumOverSumBound80(true, frFmt),
"80% ondergrens": tpl.sumOverSumBound80(false, frFmt),
"Som in verhouding tot het totaal": tpl.fractionOf(tpl.sum(), "total", frFmtPct),
"Som in verhouding tot de rij": tpl.fractionOf(tpl.sum(), "row", frFmtPct),
"Som in verhouding tot de kolom": tpl.fractionOf(tpl.sum(), "col", frFmtPct),
"Aantal in verhouding tot het totaal": tpl.fractionOf(tpl.count(), "total", frFmtPct),
"Aantal in verhouding tot de rij": tpl.fractionOf(tpl.count(), "row", frFmtPct),
"Aantal in verhouding tot de kolom": tpl.fractionOf(tpl.count(), "col", frFmtPct)
},
renderers: {
"Tabel": $.pivotUtilities.renderers["Table"],
"Tabel met staafdiagrammen": $.pivotUtilities.renderers["Table Barchart"],
"Warmtekaart": $.pivotUtilities.renderers["Heatmap"],
"Warmtekaart per rij": $.pivotUtilities.renderers["Row Heatmap"],
"Warmtekaart per kolom": $.pivotUtilities.renderers["Col Heatmap"]
}
};
});
}).call(this);
//# sourceMappingURL=pivot.nl.js.map
{"version":3,"file":"pivot.nl.js","sources":["pivot.nl.coffee"],"names":[],"mappings":"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","sourcesContent":["callWithJQuery = (pivotModule) ->\n if typeof exports is \"object\" and typeof module is \"object\" # CommonJS\n pivotModule require(\"jquery\")\n else if typeof define is \"function\" and define.amd # AMD\n define [\"jquery\"], pivotModule\n # Plain browser env\n else\n pivotModule jQuery\n \ncallWithJQuery ($) ->\n nf = $.pivotUtilities.numberFormat\n tpl = $.pivotUtilities.aggregatorTemplates\n\n frFmt = nf(thousandsSep: \" \", decimalSep: \",\")\n frFmtInt = nf(digitsAfterDecimal: 0, thousandsSep: \" \", decimalSep: \",\")\n frFmtPct = nf(digitsAfterDecimal: 1, scaler: 100, suffix: \"%\", thousandsSep: \" \", decimalSep: \",\")\n\n $.pivotUtilities.locales.nl = \n localeStrings:\n renderError: \"Er is een fout opgetreden bij het renderen van de kruistabel.\"\n computeError: \"Er is een fout opgetreden bij het berekenen van de kruistabel.\"\n uiRenderError: \"Er is een fout opgetreden bij het tekenen van de interface van de kruistabel.\"\n selectAll: \"Alles selecteren\"\n selectNone: \"Niets selecteren\"\n tooMany: \"(te veel waarden om weer te geven)\"\n filterResults: \"Filter resultaten\"\n totals: \"Totaal\"\n vs: \"versus\"\n by: \"per\"\n\n aggregators: \n \"Aantal\": tpl.count(frFmtInt)\n \"Aantal unieke waarden\": tpl.countUnique(frFmtInt)\n \"Lijst unieke waarden\": tpl.listUnique(\", \")\n \"Som\": tpl.sum(frFmt)\n \"Som van gehele getallen\": tpl.sum(frFmtInt)\n \"Gemiddelde\": tpl.average(frFmt)\n \"Minimum\": tpl.min(frFmt)\n \"Maximum\": tpl.max(frFmt)\n \"Som over som\": tpl.sumOverSum(frFmt)\n \"80% bovengrens\": tpl.sumOverSumBound80(true, frFmt)\n \"80% ondergrens\": \t\t\t tpl.sumOverSumBound80(false, frFmt)\n \"Som in verhouding tot het totaal\": tpl.fractionOf(tpl.sum(), \"total\", frFmtPct)\n \"Som in verhouding tot de rij\": tpl.fractionOf(tpl.sum(), \"row\", frFmtPct)\n \"Som in verhouding tot de kolom\": tpl.fractionOf(tpl.sum(), \"col\", frFmtPct)\n \"Aantal in verhouding tot het totaal\": tpl.fractionOf(tpl.count(), \"total\", frFmtPct)\n \"Aantal in verhouding tot de rij\": tpl.fractionOf(tpl.count(), \"row\", frFmtPct)\n \"Aantal in verhouding tot de kolom\": tpl.fractionOf(tpl.count(), \"col\", frFmtPct)\n\n renderers:\n \"Tabel\": $.pivotUtilities.renderers[\"Table\"]\n \"Tabel met staafdiagrammen\": $.pivotUtilities.renderers[\"Table Barchart\"]\n \"Warmtekaart\": $.pivotUtilities.renderers[\"Heatmap\"]\n \"Warmtekaart per rij\": $.pivotUtilities.renderers[\"Row Heatmap\"]\n \"Warmtekaart per kolom\": $.pivotUtilities.renderers[\"Col Heatmap\"]\n"]}
\ No newline at end of file
(function(){var e;(e=function(e){return"object"==typeof exports&&"object"==typeof module?e(require("jquery")):"function"==typeof define&&define.amd?define(["jquery"],e):e(jQuery)})(function(e){var t,r,i,n,o;return n=e.pivotUtilities.numberFormat,o=e.pivotUtilities.aggregatorTemplates,t=n({thousandsSep:" ",decimalSep:","}),r=n({digitsAfterDecimal:0,thousandsSep:" ",decimalSep:","}),i=n({digitsAfterDecimal:1,scaler:100,suffix:"%",thousandsSep:" ",decimalSep:","}),e.pivotUtilities.locales.nl={localeStrings:{renderError:"Er is een fout opgetreden bij het renderen van de kruistabel.",computeError:"Er is een fout opgetreden bij het berekenen van de kruistabel.",uiRenderError:"Er is een fout opgetreden bij het tekenen van de interface van de kruistabel.",selectAll:"Alles selecteren",selectNone:"Niets selecteren",tooMany:"(te veel waarden om weer te geven)",filterResults:"Filter resultaten",totals:"Totaal",vs:"versus",by:"per"},aggregators:{Aantal:o.count(r),"Aantal unieke waarden":o.countUnique(r),"Lijst unieke waarden":o.listUnique(", "),Som:o.sum(t),"Som van gehele getallen":o.sum(r),Gemiddelde:o.average(t),Minimum:o.min(t),Maximum:o.max(t),"Som over som":o.sumOverSum(t),"80% bovengrens":o.sumOverSumBound80(!0,t),"80% ondergrens":o.sumOverSumBound80(!1,t),"Som in verhouding tot het totaal":o.fractionOf(o.sum(),"total",i),"Som in verhouding tot de rij":o.fractionOf(o.sum(),"row",i),"Som in verhouding tot de kolom":o.fractionOf(o.sum(),"col",i),"Aantal in verhouding tot het totaal":o.fractionOf(o.count(),"total",i),"Aantal in verhouding tot de rij":o.fractionOf(o.count(),"row",i),"Aantal in verhouding tot de kolom":o.fractionOf(o.count(),"col",i)},renderers:{Tabel:e.pivotUtilities.renderers.Table,"Tabel met staafdiagrammen":e.pivotUtilities.renderers["Table Barchart"],Warmtekaart:e.pivotUtilities.renderers.Heatmap,"Warmtekaart per rij":e.pivotUtilities.renderers["Row Heatmap"],"Warmtekaart per kolom":e.pivotUtilities.renderers["Col Heatmap"]}}})}).call(this);
//# sourceMappingURL=pivot.nl.min.js.map
{"version":3,"sources":["pivot.nl.coffee","pivot.nl.min.js"],"names":["callWithJQuery","pivotModule","exports","module","require","define","amd","jQuery","$","frFmt","frFmtInt","frFmtPct","nf","tpl","pivotUtilities","numberFormat","aggregatorTemplates","thousandsSep","decimalSep","digitsAfterDecimal","scaler","suffix","locales","nl","localeStrings","renderError","computeError","uiRenderError","selectAll","selectNone","tooMany","filterResults","totals","vs","by","aggregators","Aantal","count","Aantal unieke waarden","countUnique","Lijst unieke waarden","listUnique","Som","sum","Som van gehele getallen","Gemiddelde","average","Minimum","min","Maximum","max","Som over som","sumOverSum","80% bovengrens","sumOverSumBound80","80% ondergrens","Som in verhouding tot het totaal","fractionOf","Som in verhouding tot de rij","Som in verhouding tot de kolom","Aantal in verhouding tot het totaal","Aantal in verhouding tot de rij","Aantal in verhouding tot de kolom","renderers","Tabel","Tabel met staafdiagrammen","Warmtekaart","Warmtekaart per rij","Warmtekaart per kolom","call","this"],"mappings":"CAAA,WAAA,GAAAA,IAAAA,EAAiB,SAACC,GACd,MAAqB,gBAAXC,UAAyC,gBAAVC,QACrCF,EAAYG,QAAQ,WACC,kBAAVC,SAAyBA,OAAOC,IAC3CD,QAAQ,UAAWJ,GAGnBA,EAAYM,UAEL,SAACC,GACZ,GAAAC,GAAAC,EAAAC,EAAAC,EAAAC,CCuBA,ODvBAD,GAAKJ,EAAEM,eAAeC,aACtBF,EAAML,EAAEM,eAAeE,oBAEvBP,EAAWG,GAAGK,aAAc,IAAKC,WAAY,MAC7CR,EAAWE,GAAGO,mBAAoB,EAAGF,aAAc,IAAKC,WAAY,MACpEP,EAAWC,GAAGO,mBAAoB,EAAGC,OAAQ,IAAKC,OAAQ,IAAKJ,aAAc,IAAKC,WAAY,MAE9FV,EAAEM,eAAeQ,QAAQC,IACrBC,eACIC,YAAa,gEACbC,aAAc,iEACdC,cAAe,gFACfC,UAAW,mBACXC,WAAY,mBACZC,QAAS,qCACTC,cAAe,oBACfC,OAAQ,SACRC,GAAI,SACJC,GAAI,OAERC,aACIC,OAAuCvB,EAAIwB,MAAM3B,GACjD4B,wBAAuCzB,EAAI0B,YAAY7B,GACvD8B,uBAAuC3B,EAAI4B,WAAW,MACtDC,IAAuC7B,EAAI8B,IAAIlC,GAC/CmC,0BAAuC/B,EAAI8B,IAAIjC,GAC/CmC,WAAuChC,EAAIiC,QAAQrC,GACnDsC,QAAuClC,EAAImC,IAAIvC,GAC/CwC,QAAuCpC,EAAIqC,IAAIzC,GAC/C0C,eAAuCtC,EAAIuC,WAAW3C,GACtD4C,iBAAuCxC,EAAIyC,mBAAkB,EAAM7C,GACnE8C,iBAA+B1C,EAAIyC,mBAAkB,EAAO7C,GAC5D+C,mCAAuC3C,EAAI4C,WAAW5C,EAAI8B,MAAS,QAAShC,GAC5E+C,+BAAuC7C,EAAI4C,WAAW5C,EAAI8B,MAAS,MAAShC,GAC5EgD,iCAAuC9C,EAAI4C,WAAW5C,EAAI8B,MAAS,MAAShC,GAC5EiD,sCAAuC/C,EAAI4C,WAAW5C,EAAIwB,QAAS,QAAS1B,GAC5EkD,kCAAuChD,EAAI4C,WAAW5C,EAAIwB,QAAS,MAAS1B,GAC5EmD,oCAAuCjD,EAAI4C,WAAW5C,EAAIwB,QAAS,MAAS1B,IAEhFoD,WACIC,MAAmCxD,EAAEM,eAAeiD,UAAU,MAC9DE,4BAA2CzD,EAAEM,eAAeiD,UAAU,kBACtEG,YAAmC1D,EAAEM,eAAeiD,UAAU,QAC9DI,sBAAmC3D,EAAEM,eAAeiD,UAAU,eAC9DK,wBAAmC5D,EAAEM,eAAeiD,UAAU,qBCqBvEM,KAAKC","file":"pivot.nl.min.js","sourcesContent":["callWithJQuery = (pivotModule) ->\n if typeof exports is \"object\" and typeof module is \"object\" # CommonJS\n pivotModule require(\"jquery\")\n else if typeof define is \"function\" and define.amd # AMD\n define [\"jquery\"], pivotModule\n # Plain browser env\n else\n pivotModule jQuery\n \ncallWithJQuery ($) ->\n nf = $.pivotUtilities.numberFormat\n tpl = $.pivotUtilities.aggregatorTemplates\n\n frFmt = nf(thousandsSep: \" \", decimalSep: \",\")\n frFmtInt = nf(digitsAfterDecimal: 0, thousandsSep: \" \", decimalSep: \",\")\n frFmtPct = nf(digitsAfterDecimal: 1, scaler: 100, suffix: \"%\", thousandsSep: \" \", decimalSep: \",\")\n\n $.pivotUtilities.locales.nl = \n localeStrings:\n renderError: \"Er is een fout opgetreden bij het renderen van de kruistabel.\"\n computeError: \"Er is een fout opgetreden bij het berekenen van de kruistabel.\"\n uiRenderError: \"Er is een fout opgetreden bij het tekenen van de interface van de kruistabel.\"\n selectAll: \"Alles selecteren\"\n selectNone: \"Niets selecteren\"\n tooMany: \"(te veel waarden om weer te geven)\"\n filterResults: \"Filter resultaten\"\n totals: \"Totaal\"\n vs: \"versus\"\n by: \"per\"\n\n aggregators: \n \"Aantal\": tpl.count(frFmtInt)\n \"Aantal unieke waarden\": tpl.countUnique(frFmtInt)\n \"Lijst unieke waarden\": tpl.listUnique(\", \")\n \"Som\": tpl.sum(frFmt)\n \"Som van gehele getallen\": tpl.sum(frFmtInt)\n \"Gemiddelde\": tpl.average(frFmt)\n \"Minimum\": tpl.min(frFmt)\n \"Maximum\": tpl.max(frFmt)\n \"Som over som\": tpl.sumOverSum(frFmt)\n \"80% bovengrens\": tpl.sumOverSumBound80(true, frFmt)\n \"80% ondergrens\": \t\t\t tpl.sumOverSumBound80(false, frFmt)\n \"Som in verhouding tot het totaal\": tpl.fractionOf(tpl.sum(), \"total\", frFmtPct)\n \"Som in verhouding tot de rij\": tpl.fractionOf(tpl.sum(), \"row\", frFmtPct)\n \"Som in verhouding tot de kolom\": tpl.fractionOf(tpl.sum(), \"col\", frFmtPct)\n \"Aantal in verhouding tot het totaal\": tpl.fractionOf(tpl.count(), \"total\", frFmtPct)\n \"Aantal in verhouding tot de rij\": tpl.fractionOf(tpl.count(), \"row\", frFmtPct)\n \"Aantal in verhouding tot de kolom\": tpl.fractionOf(tpl.count(), \"col\", frFmtPct)\n\n renderers:\n \"Tabel\": $.pivotUtilities.renderers[\"Table\"]\n \"Tabel met staafdiagrammen\": $.pivotUtilities.renderers[\"Table Barchart\"]\n \"Warmtekaart\": $.pivotUtilities.renderers[\"Heatmap\"]\n \"Warmtekaart per rij\": $.pivotUtilities.renderers[\"Row Heatmap\"]\n \"Warmtekaart per kolom\": $.pivotUtilities.renderers[\"Col Heatmap\"]\n","(function() {\n var callWithJQuery;\n\n callWithJQuery = function(pivotModule) {\n if (typeof exports === \"object\" && typeof module === \"object\") {\n return pivotModule(require(\"jquery\"));\n } else if (typeof define === \"function\" && define.amd) {\n return define([\"jquery\"], pivotModule);\n } else {\n return pivotModule(jQuery);\n }\n };\n\n callWithJQuery(function($) {\n var frFmt, frFmtInt, frFmtPct, nf, tpl;\n nf = $.pivotUtilities.numberFormat;\n tpl = $.pivotUtilities.aggregatorTemplates;\n frFmt = nf({\n thousandsSep: \" \",\n decimalSep: \",\"\n });\n frFmtInt = nf({\n digitsAfterDecimal: 0,\n thousandsSep: \" \",\n decimalSep: \",\"\n });\n frFmtPct = nf({\n digitsAfterDecimal: 1,\n scaler: 100,\n suffix: \"%\",\n thousandsSep: \" \",\n decimalSep: \",\"\n });\n return $.pivotUtilities.locales.nl = {\n localeStrings: {\n renderError: \"Er is een fout opgetreden bij het renderen van de kruistabel.\",\n computeError: \"Er is een fout opgetreden bij het berekenen van de kruistabel.\",\n uiRenderError: \"Er is een fout opgetreden bij het tekenen van de interface van de kruistabel.\",\n selectAll: \"Alles selecteren\",\n selectNone: \"Niets selecteren\",\n tooMany: \"(te veel waarden om weer te geven)\",\n filterResults: \"Filter resultaten\",\n totals: \"Totaal\",\n vs: \"versus\",\n by: \"per\"\n },\n aggregators: {\n \"Aantal\": tpl.count(frFmtInt),\n \"Aantal unieke waarden\": tpl.countUnique(frFmtInt),\n \"Lijst unieke waarden\": tpl.listUnique(\", \"),\n \"Som\": tpl.sum(frFmt),\n \"Som van gehele getallen\": tpl.sum(frFmtInt),\n \"Gemiddelde\": tpl.average(frFmt),\n \"Minimum\": tpl.min(frFmt),\n \"Maximum\": tpl.max(frFmt),\n \"Som over som\": tpl.sumOverSum(frFmt),\n \"80% bovengrens\": tpl.sumOverSumBound80(true, frFmt),\n \"80% ondergrens\": tpl.sumOverSumBound80(false, frFmt),\n \"Som in verhouding tot het totaal\": tpl.fractionOf(tpl.sum(), \"total\", frFmtPct),\n \"Som in verhouding tot de rij\": tpl.fractionOf(tpl.sum(), \"row\", frFmtPct),\n \"Som in verhouding tot de kolom\": tpl.fractionOf(tpl.sum(), \"col\", frFmtPct),\n \"Aantal in verhouding tot het totaal\": tpl.fractionOf(tpl.count(), \"total\", frFmtPct),\n \"Aantal in verhouding tot de rij\": tpl.fractionOf(tpl.count(), \"row\", frFmtPct),\n \"Aantal in verhouding tot de kolom\": tpl.fractionOf(tpl.count(), \"col\", frFmtPct)\n },\n renderers: {\n \"Tabel\": $.pivotUtilities.renderers[\"Table\"],\n \"Tabel met staafdiagrammen\": $.pivotUtilities.renderers[\"Table Barchart\"],\n \"Warmtekaart\": $.pivotUtilities.renderers[\"Heatmap\"],\n \"Warmtekaart per rij\": $.pivotUtilities.renderers[\"Row Heatmap\"],\n \"Warmtekaart per kolom\": $.pivotUtilities.renderers[\"Col Heatmap\"]\n }\n };\n });\n\n}).call(this);\n\n//# sourceMappingURL=pivot.nl.js.map\n"]}
\ No newline at end of file
(function() {
var callWithJQuery;
callWithJQuery = function(pivotModule) {
if (typeof exports === "object" && typeof module === "object") {
return pivotModule(require("jquery"));
} else if (typeof define === "function" && define.amd) {
return define(["jquery"], pivotModule);
} else {
return pivotModule(jQuery);
}
};
callWithJQuery(function($) {
var nf, plFmt, plFmtInt, plFmtPct, tpl;
nf = $.pivotUtilities.numberFormat;
tpl = $.pivotUtilities.aggregatorTemplates;
plFmt = nf({
thousandsSep: " ",
decimalSep: ","
});
plFmtInt = nf({
digitsAfterDecimal: 0,
thousandsSep: " ",
decimalSep: ","
});
plFmtPct = nf({
digitsAfterDecimal: 1,
scaler: 100,
suffix: "%",
thousandsSep: " ",
decimalSep: ","
});
return $.pivotUtilities.locales.pl = {
localeStrings: {
renderError: "Wystąpił błąd podczas renderowania wyników PivotTable.",
computeError: "Wystąpił błąd podczas obliczania wyników PivotTable.",
uiRenderError: "Wystąpił błąd podczas renderowania UI PivotTable.",
selectAll: "Zaznacz wszystko",
selectNone: "Odznacz wszystkie",
tooMany: "(za dużo do wylistowania)",
filterResults: "Filtruj wartości",
apply: "Zastosuj",
cancel: "Anuluj",
totals: "Podsumowanie",
vs: "vs",
by: "przez"
},
aggregators: {
"Liczba": tpl.count(plFmtInt),
"Liczba Unikatowych Wartości": tpl.countUnique(plFmtInt),
"Lista Unikatowych Wartości": tpl.listUnique(", "),
"Suma": tpl.sum(plFmt),
"Całkowita Suma": tpl.sum(plFmtInt),
"Średnia": tpl.average(plFmt),
"Minimum": tpl.min(plFmt),
"Maksimum": tpl.max(plFmt),
"Pierwszy": tpl.first(plFmt),
"Ostatni": tpl.last(plFmt),
"Suma po Sumie": tpl.sumOverSum(plFmt),
"80% Kres Dolny": tpl.sumOverSumBound80(true, plFmt),
"80% Kres Górny": tpl.sumOverSumBound80(false, plFmt),
"Suma jako Ułamek Całości": tpl.fractionOf(tpl.sum(), "total", plFmtPct),
"Suma jako Ułamek w Wierszach": tpl.fractionOf(tpl.sum(), "row", plFmtPct),
"Suma jako Ułamek w Kolumnach": tpl.fractionOf(tpl.sum(), "col", plFmtPct),
"Liczba jako Ułamek Całości": tpl.fractionOf(tpl.count(), "total", plFmtPct),
"Liczba jako Ułamek w Wierszach": tpl.fractionOf(tpl.count(), "row", plFmtPct),
"Liczba jako Ułamek w Kolumnach": tpl.fractionOf(tpl.count(), "col", plFmtPct)
},
renderers: {
"Tabela": $.pivotUtilities.renderers["Table"],
"Tabela z Wykresem Słupkowym": $.pivotUtilities.renderers["Table Barchart"],
"Mapa cieplna": $.pivotUtilities.renderers["Heatmap"],
"Mapa cieplna po Wierszach": $.pivotUtilities.renderers["Row Heatmap"],
"Mapa cieplna po Kolumnach": $.pivotUtilities.renderers["Col Heatmap"]
}
};
});
}).call(this);
//# sourceMappingURL=pivot.pl.js.map
{"version":3,"file":"pivot.pl.js","sources":["pivot.pl.coffee"],"names":[],"mappings":"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","sourcesContent":["callWithJQuery = (pivotModule) ->\n if typeof exports is \"object\" and typeof module is \"object\" # CommonJS\n pivotModule require(\"jquery\")\n else if typeof define is \"function\" and define.amd # AMD\n define [\"jquery\"], pivotModule\n # Plain browser env\n else\n pivotModule jQuery\n \ncallWithJQuery ($) ->\n nf = $.pivotUtilities.numberFormat\n tpl = $.pivotUtilities.aggregatorTemplates\n\n plFmt = nf(thousandsSep: \" \", decimalSep: \",\")\n plFmtInt = nf(digitsAfterDecimal: 0, thousandsSep: \" \", decimalSep: \",\")\n plFmtPct = nf(digitsAfterDecimal: 1, scaler: 100, suffix: \"%\", thousandsSep: \" \", decimalSep: \",\")\n\n $.pivotUtilities.locales.pl =\n localeStrings:\n renderError: \"Wystąpił błąd podczas renderowania wyników PivotTable.\"\n computeError: \"Wystąpił błąd podczas obliczania wyników PivotTable.\"\n uiRenderError: \"Wystąpił błąd podczas renderowania UI PivotTable.\"\n selectAll: \"Zaznacz wszystko\"\n selectNone: \"Odznacz wszystkie\"\n tooMany: \"(za dużo do wylistowania)\"\n filterResults: \"Filtruj wartości\"\n apply: \"Zastosuj\"\n cancel: \"Anuluj\"\n totals: \"Podsumowanie\"\n vs: \"vs\"\n by: \"przez\"\n\n aggregators: \n \"Liczba\": tpl.count(plFmtInt)\n \"Liczba Unikatowych Wartości\": tpl.countUnique(plFmtInt)\n \"Lista Unikatowych Wartości\": tpl.listUnique(\", \")\n \"Suma\": tpl.sum(plFmt)\n \"Całkowita Suma\": tpl.sum(plFmtInt)\n \"Średnia\": tpl.average(plFmt)\n \"Minimum\": tpl.min(plFmt)\n \"Maksimum\": tpl.max(plFmt)\n \"Pierwszy\": tpl.first(plFmt)\n \"Ostatni\": tpl.last(plFmt)\n \"Suma po Sumie\": tpl.sumOverSum(plFmt)\n \"80% Kres Dolny\": tpl.sumOverSumBound80(true, plFmt)\n \"80% Kres Górny\": tpl.sumOverSumBound80(false, plFmt)\n \"Suma jako Ułamek Całości\": tpl.fractionOf(tpl.sum(), \"total\", plFmtPct)\n \"Suma jako Ułamek w Wierszach\": tpl.fractionOf(tpl.sum(), \"row\", plFmtPct)\n \"Suma jako Ułamek w Kolumnach\": tpl.fractionOf(tpl.sum(), \"col\", plFmtPct)\n \"Liczba jako Ułamek Całości\": tpl.fractionOf(tpl.count(), \"total\", plFmtPct)\n \"Liczba jako Ułamek w Wierszach\": tpl.fractionOf(tpl.count(), \"row\", plFmtPct)\n \"Liczba jako Ułamek w Kolumnach\": tpl.fractionOf(tpl.count(), \"col\", plFmtPct)\n\n renderers:\n \"Tabela\": $.pivotUtilities.renderers[\"Table\"]\n \"Tabela z Wykresem Słupkowym\": $.pivotUtilities.renderers[\"Table Barchart\"]\n \"Mapa cieplna\": $.pivotUtilities.renderers[\"Heatmap\"]\n \"Mapa cieplna po Wierszach\": $.pivotUtilities.renderers[\"Row Heatmap\"]\n \"Mapa cieplna po Kolumnach\": $.pivotUtilities.renderers[\"Col Heatmap\"]\n"]}
\ No newline at end of file
(function(){var e;(e=function(e){return"object"==typeof exports&&"object"==typeof module?e(require("jquery")):"function"==typeof define&&define.amd?define(["jquery"],e):e(jQuery)})(function(e){var a,i,t,o,r;return a=e.pivotUtilities.numberFormat,r=e.pivotUtilities.aggregatorTemplates,i=a({thousandsSep:" ",decimalSep:","}),t=a({digitsAfterDecimal:0,thousandsSep:" ",decimalSep:","}),o=a({digitsAfterDecimal:1,scaler:100,suffix:"%",thousandsSep:" ",decimalSep:","}),e.pivotUtilities.locales.pl={localeStrings:{renderError:"Wystąpił błąd podczas renderowania wyników PivotTable.",computeError:"Wystąpił błąd podczas obliczania wyników PivotTable.",uiRenderError:"Wystąpił błąd podczas renderowania UI PivotTable.",selectAll:"Zaznacz wszystko",selectNone:"Odznacz wszystkie",tooMany:"(za dużo do wylistowania)",filterResults:"Filtruj wartości",apply:"Zastosuj",cancel:"Anuluj",totals:"Podsumowanie",vs:"vs",by:"przez"},aggregators:{Liczba:r.count(t),"Liczba Unikatowych Wartości":r.countUnique(t),"Lista Unikatowych Wartości":r.listUnique(", "),Suma:r.sum(i),"Całkowita Suma":r.sum(t),"Średnia":r.average(i),Minimum:r.min(i),Maksimum:r.max(i),Pierwszy:r.first(i),Ostatni:r.last(i),"Suma po Sumie":r.sumOverSum(i),"80% Kres Dolny":r.sumOverSumBound80(!0,i),"80% Kres Górny":r.sumOverSumBound80(!1,i),"Suma jako Ułamek Całości":r.fractionOf(r.sum(),"total",o),"Suma jako Ułamek w Wierszach":r.fractionOf(r.sum(),"row",o),"Suma jako Ułamek w Kolumnach":r.fractionOf(r.sum(),"col",o),"Liczba jako Ułamek Całości":r.fractionOf(r.count(),"total",o),"Liczba jako Ułamek w Wierszach":r.fractionOf(r.count(),"row",o),"Liczba jako Ułamek w Kolumnach":r.fractionOf(r.count(),"col",o)},renderers:{Tabela:e.pivotUtilities.renderers.Table,"Tabela z Wykresem Słupkowym":e.pivotUtilities.renderers["Table Barchart"],"Mapa cieplna":e.pivotUtilities.renderers.Heatmap,"Mapa cieplna po Wierszach":e.pivotUtilities.renderers["Row Heatmap"],"Mapa cieplna po Kolumnach":e.pivotUtilities.renderers["Col Heatmap"]}}})}).call(this);
//# sourceMappingURL=pivot.pl.min.js.map
{"version":3,"sources":["pivot.pl.coffee","pivot.pl.min.js"],"names":["callWithJQuery","pivotModule","exports","module","require","define","amd","jQuery","$","nf","plFmt","plFmtInt","plFmtPct","tpl","pivotUtilities","numberFormat","aggregatorTemplates","thousandsSep","decimalSep","digitsAfterDecimal","scaler","suffix","locales","pl","localeStrings","renderError","computeError","uiRenderError","selectAll","selectNone","tooMany","filterResults","apply","cancel","totals","vs","by","aggregators","Liczba","count","Liczba Unikatowych Wartości","countUnique","Lista Unikatowych Wartości","listUnique","Suma","sum","Całkowita Suma","Średnia","average","Minimum","min","Maksimum","max","Pierwszy","first","Ostatni","last","Suma po Sumie","sumOverSum","80% Kres Dolny","sumOverSumBound80","80% Kres Górny","Suma jako Ułamek Całości","fractionOf","Suma jako Ułamek w Wierszach","Suma jako Ułamek w Kolumnach","Liczba jako Ułamek Całości","Liczba jako Ułamek w Wierszach","Liczba jako Ułamek w Kolumnach","renderers","Tabela","Tabela z Wykresem Słupkowym","Mapa cieplna","Mapa cieplna po Wierszach","Mapa cieplna po Kolumnach","call","this"],"mappings":"CAAA,WAAA,GAAAA,IAAAA,EAAiB,SAACC,GACd,MAAqB,gBAAXC,UAAyC,gBAAVC,QACrCF,EAAYG,QAAQ,WACC,kBAAVC,SAAyBA,OAAOC,IAC3CD,QAAQ,UAAWJ,GAGnBA,EAAYM,UAEL,SAACC,GACZ,GAAAC,GAAAC,EAAAC,EAAAC,EAAAC,CCuBA,ODvBAJ,GAAKD,EAAEM,eAAeC,aACtBF,EAAML,EAAEM,eAAeE,oBAEvBN,EAAWD,GAAGQ,aAAc,IAAKC,WAAY,MAC7CP,EAAWF,GAAGU,mBAAoB,EAAGF,aAAc,IAAKC,WAAY,MACpEN,EAAWH,GAAGU,mBAAoB,EAAGC,OAAQ,IAAKC,OAAQ,IAAKJ,aAAc,IAAKC,WAAY,MAE9FV,EAAEM,eAAeQ,QAAQC,IACrBC,eACIC,YAAa,yDACbC,aAAc,uDACdC,cAAe,oDACfC,UAAW,mBACXC,WAAY,oBACZC,QAAS,4BACTC,cAAe,mBACfC,MAAO,WACPC,OAAQ,SACRC,OAAQ,eACRC,GAAI,KACJC,GAAI,SAERC,aACIC,OAAgCzB,EAAI0B,MAAM5B,GAC1C6B,8BAAgC3B,EAAI4B,YAAY9B,GAChD+B,6BAAgC7B,EAAI8B,WAAW,MAC/CC,KAAgC/B,EAAIgC,IAAInC,GACxCoC,iBAAgCjC,EAAIgC,IAAIlC,GACxCoC,UAAgClC,EAAImC,QAAQtC,GAC5CuC,QAAgCpC,EAAIqC,IAAIxC,GACxCyC,SAAgCtC,EAAIuC,IAAI1C,GACxC2C,SAAgCxC,EAAIyC,MAAM5C,GAC1C6C,QAAgC1C,EAAI2C,KAAK9C,GACzC+C,gBAAgC5C,EAAI6C,WAAWhD,GAC/CiD,iBAAgC9C,EAAI+C,mBAAkB,EAAMlD,GAC5DmD,iBAAgChD,EAAI+C,mBAAkB,EAAOlD,GAC7DoD,2BAAgCjD,EAAIkD,WAAWlD,EAAIgC,MAAa,QAASjC,GACzEoD,+BAAoCnD,EAAIkD,WAAWlD,EAAIgC,MAAS,MAASjC,GACzEqD,+BAAoCpD,EAAIkD,WAAWlD,EAAIgC,MAAS,MAASjC,GACzEsD,6BAAoCrD,EAAIkD,WAAWlD,EAAI0B,QAAS,QAAS3B,GACzEuD,iCAAoCtD,EAAIkD,WAAWlD,EAAI0B,QAAS,MAAS3B,GACzEwD,iCAAoCvD,EAAIkD,WAAWlD,EAAI0B,QAAS,MAAS3B,IAE7EyD,WACIC,OAAgC9D,EAAEM,eAAeuD,UAAU,MAC3DE,8BAAgC/D,EAAEM,eAAeuD,UAAU,kBAC3DG,eAAgChE,EAAEM,eAAeuD,UAAU,QAC3DI,4BAAgCjE,EAAEM,eAAeuD,UAAU,eAC3DK,4BAAgClE,EAAEM,eAAeuD,UAAU,qBCqBpEM,KAAKC","file":"pivot.pl.min.js","sourcesContent":["callWithJQuery = (pivotModule) ->\n if typeof exports is \"object\" and typeof module is \"object\" # CommonJS\n pivotModule require(\"jquery\")\n else if typeof define is \"function\" and define.amd # AMD\n define [\"jquery\"], pivotModule\n # Plain browser env\n else\n pivotModule jQuery\n \ncallWithJQuery ($) ->\n nf = $.pivotUtilities.numberFormat\n tpl = $.pivotUtilities.aggregatorTemplates\n\n plFmt = nf(thousandsSep: \" \", decimalSep: \",\")\n plFmtInt = nf(digitsAfterDecimal: 0, thousandsSep: \" \", decimalSep: \",\")\n plFmtPct = nf(digitsAfterDecimal: 1, scaler: 100, suffix: \"%\", thousandsSep: \" \", decimalSep: \",\")\n\n $.pivotUtilities.locales.pl =\n localeStrings:\n renderError: \"Wystąpił błąd podczas renderowania wyników PivotTable.\"\n computeError: \"Wystąpił błąd podczas obliczania wyników PivotTable.\"\n uiRenderError: \"Wystąpił błąd podczas renderowania UI PivotTable.\"\n selectAll: \"Zaznacz wszystko\"\n selectNone: \"Odznacz wszystkie\"\n tooMany: \"(za dużo do wylistowania)\"\n filterResults: \"Filtruj wartości\"\n apply: \"Zastosuj\"\n cancel: \"Anuluj\"\n totals: \"Podsumowanie\"\n vs: \"vs\"\n by: \"przez\"\n\n aggregators: \n \"Liczba\": tpl.count(plFmtInt)\n \"Liczba Unikatowych Wartości\": tpl.countUnique(plFmtInt)\n \"Lista Unikatowych Wartości\": tpl.listUnique(\", \")\n \"Suma\": tpl.sum(plFmt)\n \"Całkowita Suma\": tpl.sum(plFmtInt)\n \"Średnia\": tpl.average(plFmt)\n \"Minimum\": tpl.min(plFmt)\n \"Maksimum\": tpl.max(plFmt)\n \"Pierwszy\": tpl.first(plFmt)\n \"Ostatni\": tpl.last(plFmt)\n \"Suma po Sumie\": tpl.sumOverSum(plFmt)\n \"80% Kres Dolny\": tpl.sumOverSumBound80(true, plFmt)\n \"80% Kres Górny\": tpl.sumOverSumBound80(false, plFmt)\n \"Suma jako Ułamek Całości\": tpl.fractionOf(tpl.sum(), \"total\", plFmtPct)\n \"Suma jako Ułamek w Wierszach\": tpl.fractionOf(tpl.sum(), \"row\", plFmtPct)\n \"Suma jako Ułamek w Kolumnach\": tpl.fractionOf(tpl.sum(), \"col\", plFmtPct)\n \"Liczba jako Ułamek Całości\": tpl.fractionOf(tpl.count(), \"total\", plFmtPct)\n \"Liczba jako Ułamek w Wierszach\": tpl.fractionOf(tpl.count(), \"row\", plFmtPct)\n \"Liczba jako Ułamek w Kolumnach\": tpl.fractionOf(tpl.count(), \"col\", plFmtPct)\n\n renderers:\n \"Tabela\": $.pivotUtilities.renderers[\"Table\"]\n \"Tabela z Wykresem Słupkowym\": $.pivotUtilities.renderers[\"Table Barchart\"]\n \"Mapa cieplna\": $.pivotUtilities.renderers[\"Heatmap\"]\n \"Mapa cieplna po Wierszach\": $.pivotUtilities.renderers[\"Row Heatmap\"]\n \"Mapa cieplna po Kolumnach\": $.pivotUtilities.renderers[\"Col Heatmap\"]\n","(function() {\n var callWithJQuery;\n\n callWithJQuery = function(pivotModule) {\n if (typeof exports === \"object\" && typeof module === \"object\") {\n return pivotModule(require(\"jquery\"));\n } else if (typeof define === \"function\" && define.amd) {\n return define([\"jquery\"], pivotModule);\n } else {\n return pivotModule(jQuery);\n }\n };\n\n callWithJQuery(function($) {\n var nf, plFmt, plFmtInt, plFmtPct, tpl;\n nf = $.pivotUtilities.numberFormat;\n tpl = $.pivotUtilities.aggregatorTemplates;\n plFmt = nf({\n thousandsSep: \" \",\n decimalSep: \",\"\n });\n plFmtInt = nf({\n digitsAfterDecimal: 0,\n thousandsSep: \" \",\n decimalSep: \",\"\n });\n plFmtPct = nf({\n digitsAfterDecimal: 1,\n scaler: 100,\n suffix: \"%\",\n thousandsSep: \" \",\n decimalSep: \",\"\n });\n return $.pivotUtilities.locales.pl = {\n localeStrings: {\n renderError: \"Wystąpił błąd podczas renderowania wyników PivotTable.\",\n computeError: \"Wystąpił błąd podczas obliczania wyników PivotTable.\",\n uiRenderError: \"Wystąpił błąd podczas renderowania UI PivotTable.\",\n selectAll: \"Zaznacz wszystko\",\n selectNone: \"Odznacz wszystkie\",\n tooMany: \"(za dużo do wylistowania)\",\n filterResults: \"Filtruj wartości\",\n apply: \"Zastosuj\",\n cancel: \"Anuluj\",\n totals: \"Podsumowanie\",\n vs: \"vs\",\n by: \"przez\"\n },\n aggregators: {\n \"Liczba\": tpl.count(plFmtInt),\n \"Liczba Unikatowych Wartości\": tpl.countUnique(plFmtInt),\n \"Lista Unikatowych Wartości\": tpl.listUnique(\", \"),\n \"Suma\": tpl.sum(plFmt),\n \"Całkowita Suma\": tpl.sum(plFmtInt),\n \"Średnia\": tpl.average(plFmt),\n \"Minimum\": tpl.min(plFmt),\n \"Maksimum\": tpl.max(plFmt),\n \"Pierwszy\": tpl.first(plFmt),\n \"Ostatni\": tpl.last(plFmt),\n \"Suma po Sumie\": tpl.sumOverSum(plFmt),\n \"80% Kres Dolny\": tpl.sumOverSumBound80(true, plFmt),\n \"80% Kres Górny\": tpl.sumOverSumBound80(false, plFmt),\n \"Suma jako Ułamek Całości\": tpl.fractionOf(tpl.sum(), \"total\", plFmtPct),\n \"Suma jako Ułamek w Wierszach\": tpl.fractionOf(tpl.sum(), \"row\", plFmtPct),\n \"Suma jako Ułamek w Kolumnach\": tpl.fractionOf(tpl.sum(), \"col\", plFmtPct),\n \"Liczba jako Ułamek Całości\": tpl.fractionOf(tpl.count(), \"total\", plFmtPct),\n \"Liczba jako Ułamek w Wierszach\": tpl.fractionOf(tpl.count(), \"row\", plFmtPct),\n \"Liczba jako Ułamek w Kolumnach\": tpl.fractionOf(tpl.count(), \"col\", plFmtPct)\n },\n renderers: {\n \"Tabela\": $.pivotUtilities.renderers[\"Table\"],\n \"Tabela z Wykresem Słupkowym\": $.pivotUtilities.renderers[\"Table Barchart\"],\n \"Mapa cieplna\": $.pivotUtilities.renderers[\"Heatmap\"],\n \"Mapa cieplna po Wierszach\": $.pivotUtilities.renderers[\"Row Heatmap\"],\n \"Mapa cieplna po Kolumnach\": $.pivotUtilities.renderers[\"Col Heatmap\"]\n }\n };\n });\n\n}).call(this);\n\n//# sourceMappingURL=pivot.pl.js.map\n"]}
\ No newline at end of file
(function() {
var callWithJQuery;
callWithJQuery = function(pivotModule) {
if (typeof exports === "object" && typeof module === "object") {
return pivotModule(require("jquery"));
} else if (typeof define === "function" && define.amd) {
return define(["jquery"], pivotModule);
} else {
return pivotModule(jQuery);
}
};
callWithJQuery(function($) {
var c3r, d3r, frFmt, frFmtInt, frFmtPct, gcr, nf, r, tpl;
nf = $.pivotUtilities.numberFormat;
tpl = $.pivotUtilities.aggregatorTemplates;
r = $.pivotUtilities.renderers;
gcr = $.pivotUtilities.gchart_renderers;
d3r = $.pivotUtilities.d3_renderers;
c3r = $.pivotUtilities.c3_renderers;
frFmt = nf({
thousandsSep: ".",
decimalSep: ","
});
frFmtInt = nf({
digitsAfterDecimal: 0,
thousandsSep: ".",
decimalSep: ","
});
frFmtPct = nf({
digitsAfterDecimal: 2,
scaler: 100,
suffix: "%",
thousandsSep: ".",
decimalSep: ","
});
$.pivotUtilities.locales.pt = {
localeStrings: {
renderError: "Ocorreu um error ao renderizar os resultados da Tabela Dinâmica.",
computeError: "Ocorreu um error ao computar os resultados da Tabela Dinâmica.",
uiRenderError: "Ocorreu um error ao renderizar a interface da Tabela Dinâmica.",
selectAll: "Selecionar Tudo",
selectNone: "Selecionar Nenhum",
tooMany: "(demais para listar)",
filterResults: "Filtrar resultados",
totals: "Totais",
apply: "Aplicar",
cancel: "Cancelar",
vs: "vs",
by: "por"
},
aggregators: {
"Contagem": tpl.count(frFmtInt),
"Contagem de Valores únicos": tpl.countUnique(frFmtInt),
"Lista de Valores únicos": tpl.listUnique(", "),
"Soma": tpl.sum(frFmt),
"Soma de Inteiros": tpl.sum(frFmtInt),
"Média": tpl.average(frFmt),
"Mínimo": tpl.min(frFmt),
"Máximo": tpl.max(frFmt),
"Primeiro": tpl.first(frFmt),
"Último": tpl.last(frFmt),
"Soma sobre Soma": tpl.sumOverSum(frFmt),
"Limite Superior a 80%": tpl.sumOverSumBound80(true, frFmt),
"Limite Inferior a 80%": tpl.sumOverSumBound80(false, frFmt),
"Soma como Fração do Total": tpl.fractionOf(tpl.sum(), "total", frFmtPct),
"Soma como Fração da Linha": tpl.fractionOf(tpl.sum(), "row", frFmtPct),
"Soma como Fração da Coluna": tpl.fractionOf(tpl.sum(), "col", frFmtPct),
"Contagem como Fração do Total": tpl.fractionOf(tpl.count(), "total", frFmtPct),
"Contagem como Fração da Linha": tpl.fractionOf(tpl.count(), "row", frFmtPct),
"Contagem como Fração da Coluna": tpl.fractionOf(tpl.count(), "col", frFmtPct)
},
renderers: {
"Tabela": r["Table"],
"Tabela com Barras": r["Table Barchart"],
"Mapa de Calor": r["Heatmap"],
"Mapa de Calor por Linhas": r["Row Heatmap"],
"Mapa de Calor por Colunas": r["Col Heatmap"]
}
};
if (gcr) {
$.pivotUtilities.locales.pt.gchart_renderers = {
"Gráfico de Linhas": gcr["Line Chart"],
"Gráfico de Barras": gcr["Bar Chart"],
"Gráfico de Barras Empilhadas": gcr["Stacked Bar Chart"],
"Gráfico de Área": gcr["Area Chart"]
};
}
if (d3r) {
$.pivotUtilities.locales.pt.d3_renderers = {
"Mapa de Árvore": d3r["Treemap"]
};
}
if (c3r) {
$.pivotUtilities.locales.pt.c3_renderers = {
"Gráfico de Linhas": c3r["Line Chart"],
"Gráfico de Barras": c3r["Bar Chart"],
"Gráfico de Barras Empilhadas": c3r["Stacked Bar Chart"],
"Gráfico de Área": c3r["Area Chart"]
};
}
return $.pivotUtilities.locales.pt;
});
}).call(this);
//# sourceMappingURL=pivot.pt.js.map
{"version":3,"file":"pivot.pt.js","sources":["pivot.pt.coffee"],"names":[],"mappings":"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","sourcesContent":["callWithJQuery = (pivotModule) ->\n if typeof exports is \"object\" and typeof module is \"object\" # CommonJS\n pivotModule require(\"jquery\")\n else if typeof define is \"function\" and define.amd # AMD\n define [\"jquery\"], pivotModule\n # Plain browser env\n else\n pivotModule jQuery\n \ncallWithJQuery ($) ->\n nf = $.pivotUtilities.numberFormat\n tpl = $.pivotUtilities.aggregatorTemplates\n r = $.pivotUtilities.renderers\n gcr = $.pivotUtilities.gchart_renderers\n d3r = $.pivotUtilities.d3_renderers\n c3r = $.pivotUtilities.c3_renderers\n\n frFmt = nf(thousandsSep: \".\", decimalSep: \",\")\n frFmtInt = nf(digitsAfterDecimal: 0, thousandsSep: \".\", decimalSep: \",\")\n frFmtPct = nf(digitsAfterDecimal: 2, scaler: 100, suffix: \"%\", thousandsSep: \".\", decimalSep: \",\")\n\n $.pivotUtilities.locales.pt = \n\n localeStrings:\n renderError: \"Ocorreu um error ao renderizar os resultados da Tabela Dinâmica.\"\n computeError: \"Ocorreu um error ao computar os resultados da Tabela Dinâmica.\"\n uiRenderError: \"Ocorreu um error ao renderizar a interface da Tabela Dinâmica.\"\n selectAll: \"Selecionar Tudo\"\n selectNone: \"Selecionar Nenhum\"\n tooMany: \"(demais para listar)\"\n filterResults: \"Filtrar resultados\"\n totals: \"Totais\"\n apply:\"Aplicar\",\n cancel: \"Cancelar\",\n vs: \"vs\"\n by: \"por\"\n\n aggregators:\n \"Contagem\": tpl.count(frFmtInt)\n \"Contagem de Valores únicos\": tpl.countUnique(frFmtInt)\n \"Lista de Valores únicos\": tpl.listUnique(\", \")\n \"Soma\": tpl.sum(frFmt)\n \"Soma de Inteiros\": tpl.sum(frFmtInt)\n \"Média\": tpl.average(frFmt)\n \"Mínimo\": tpl.min(frFmt)\n \"Máximo\": tpl.max(frFmt)\n \"Primeiro\": tpl.first(frFmt),\n \"Último\": tpl.last(frFmt),\n \"Soma sobre Soma\": tpl.sumOverSum(frFmt)\n \"Limite Superior a 80%\": tpl.sumOverSumBound80(true, frFmt)\n \"Limite Inferior a 80%\": tpl.sumOverSumBound80(false, frFmt)\n \"Soma como Fração do Total\": tpl.fractionOf(tpl.sum(), \"total\", frFmtPct)\n \"Soma como Fração da Linha\": tpl.fractionOf(tpl.sum(), \"row\", frFmtPct)\n \"Soma como Fração da Coluna\": tpl.fractionOf(tpl.sum(), \"col\", frFmtPct)\n \"Contagem como Fração do Total\": tpl.fractionOf(tpl.count(), \"total\", frFmtPct)\n \"Contagem como Fração da Linha\": tpl.fractionOf(tpl.count(), \"row\", frFmtPct)\n \"Contagem como Fração da Coluna\": tpl.fractionOf(tpl.count(), \"col\", frFmtPct)\n\n renderers:\n \"Tabela\": r[\"Table\"]\n \"Tabela com Barras\": r[\"Table Barchart\"]\n \"Mapa de Calor\": r[\"Heatmap\"]\n \"Mapa de Calor por Linhas\": r[\"Row Heatmap\"]\n \"Mapa de Calor por Colunas\": r[\"Col Heatmap\"]\n\n if gcr\n $.pivotUtilities.locales.pt.gchart_renderers =\n \"Gráfico de Linhas\": gcr[\"Line Chart\"]\n \"Gráfico de Barras\": gcr[\"Bar Chart\"]\n \"Gráfico de Barras Empilhadas\": gcr[\"Stacked Bar Chart\"]\n \"Gráfico de Área\": gcr[\"Area Chart\"]\n\n if d3r\n $.pivotUtilities.locales.pt.d3_renderers =\n \"Mapa de Árvore\": d3r[\"Treemap\"]\n\n if c3r\n $.pivotUtilities.locales.pt.c3_renderers =\n \"Gráfico de Linhas\": c3r[\"Line Chart\"]\n \"Gráfico de Barras\": c3r[\"Bar Chart\"]\n \"Gráfico de Barras Empilhadas\": c3r[\"Stacked Bar Chart\"]\n \"Gráfico de Área\": c3r[\"Area Chart\"]\n\n return $.pivotUtilities.locales.pt\n"]}
\ No newline at end of file
(function(){var a;(a=function(a){return"object"==typeof exports&&"object"==typeof module?a(require("jquery")):"function"==typeof define&&define.amd?define(["jquery"],a):a(jQuery)})(function(a){var e,r,o,i,t,s,l,n,c;return l=a.pivotUtilities.numberFormat,c=a.pivotUtilities.aggregatorTemplates,n=a.pivotUtilities.renderers,s=a.pivotUtilities.gchart_renderers,r=a.pivotUtilities.d3_renderers,e=a.pivotUtilities.c3_renderers,o=l({thousandsSep:".",decimalSep:","}),i=l({digitsAfterDecimal:0,thousandsSep:".",decimalSep:","}),t=l({digitsAfterDecimal:2,scaler:100,suffix:"%",thousandsSep:".",decimalSep:","}),a.pivotUtilities.locales.pt={localeStrings:{renderError:"Ocorreu um error ao renderizar os resultados da Tabela Dinâmica.",computeError:"Ocorreu um error ao computar os resultados da Tabela Dinâmica.",uiRenderError:"Ocorreu um error ao renderizar a interface da Tabela Dinâmica.",selectAll:"Selecionar Tudo",selectNone:"Selecionar Nenhum",tooMany:"(demais para listar)",filterResults:"Filtrar resultados",totals:"Totais",apply:"Aplicar",cancel:"Cancelar",vs:"vs",by:"por"},aggregators:{Contagem:c.count(i),"Contagem de Valores únicos":c.countUnique(i),"Lista de Valores únicos":c.listUnique(", "),Soma:c.sum(o),"Soma de Inteiros":c.sum(i),"Média":c.average(o),"Mínimo":c.min(o),"Máximo":c.max(o),Primeiro:c.first(o),"Último":c.last(o),"Soma sobre Soma":c.sumOverSum(o),"Limite Superior a 80%":c.sumOverSumBound80(!0,o),"Limite Inferior a 80%":c.sumOverSumBound80(!1,o),"Soma como Fração do Total":c.fractionOf(c.sum(),"total",t),"Soma como Fração da Linha":c.fractionOf(c.sum(),"row",t),"Soma como Fração da Coluna":c.fractionOf(c.sum(),"col",t),"Contagem como Fração do Total":c.fractionOf(c.count(),"total",t),"Contagem como Fração da Linha":c.fractionOf(c.count(),"row",t),"Contagem como Fração da Coluna":c.fractionOf(c.count(),"col",t)},renderers:{Tabela:n.Table,"Tabela com Barras":n["Table Barchart"],"Mapa de Calor":n.Heatmap,"Mapa de Calor por Linhas":n["Row Heatmap"],"Mapa de Calor por Colunas":n["Col Heatmap"]}},s&&(a.pivotUtilities.locales.pt.gchart_renderers={"Gráfico de Linhas":s["Line Chart"],"Gráfico de Barras":s["Bar Chart"],"Gráfico de Barras Empilhadas":s["Stacked Bar Chart"],"Gráfico de Área":s["Area Chart"]}),r&&(a.pivotUtilities.locales.pt.d3_renderers={"Mapa de Árvore":r.Treemap}),e&&(a.pivotUtilities.locales.pt.c3_renderers={"Gráfico de Linhas":e["Line Chart"],"Gráfico de Barras":e["Bar Chart"],"Gráfico de Barras Empilhadas":e["Stacked Bar Chart"],"Gráfico de Área":e["Area Chart"]}),a.pivotUtilities.locales.pt})}).call(this);
//# sourceMappingURL=pivot.pt.min.js.map
{"version":3,"sources":["pivot.pt.coffee","pivot.pt.min.js"],"names":["callWithJQuery","pivotModule","exports","module","require","define","amd","jQuery","$","c3r","d3r","frFmt","frFmtInt","frFmtPct","gcr","nf","r","tpl","pivotUtilities","numberFormat","aggregatorTemplates","renderers","gchart_renderers","d3_renderers","c3_renderers","thousandsSep","decimalSep","digitsAfterDecimal","scaler","suffix","locales","pt","localeStrings","renderError","computeError","uiRenderError","selectAll","selectNone","tooMany","filterResults","totals","apply","cancel","vs","by","aggregators","Contagem","count","Contagem de Valores únicos","countUnique","Lista de Valores únicos","listUnique","Soma","sum","Soma de Inteiros","Média","average","Mínimo","min","Máximo","max","Primeiro","first","Último","last","Soma sobre Soma","sumOverSum","Limite Superior a 80%","sumOverSumBound80","Limite Inferior a 80%","Soma como Fração do Total","fractionOf","Soma como Fração da Linha","Soma como Fração da Coluna","Contagem como Fração do Total","Contagem como Fração da Linha","Contagem como Fração da Coluna","Tabela","Tabela com Barras","Mapa de Calor","Mapa de Calor por Linhas","Mapa de Calor por Colunas","Gráfico de Linhas","Gráfico de Barras","Gráfico de Barras Empilhadas","Gráfico de Área","Mapa de Árvore","call","this"],"mappings":"CAAA,WAAA,GAAAA,IAAAA,EAAiB,SAACC,GACd,MAAqB,gBAAXC,UAAyC,gBAAVC,QACrCF,EAAYG,QAAQ,WACC,kBAAVC,SAAyBA,OAAOC,IAC3CD,QAAQ,UAAWJ,GAGnBA,EAAYM,UAEL,SAACC,GACZ,GAAAC,GAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,CAyEA,OAzEAF,GAAKP,EAAEU,eAAeC,aACtBF,EAAMT,EAAEU,eAAeE,oBACvBJ,EAAIR,EAAEU,eAAeG,UACrBP,EAAMN,EAAEU,eAAeI,iBACvBZ,EAAMF,EAAEU,eAAeK,aACvBd,EAAMD,EAAEU,eAAeM,aAEvBb,EAAWI,GAAGU,aAAc,IAAKC,WAAY,MAC7Cd,EAAWG,GAAGY,mBAAoB,EAAGF,aAAc,IAAKC,WAAY,MACpEb,EAAWE,GAAGY,mBAAoB,EAAGC,OAAQ,IAAKC,OAAQ,IAAKJ,aAAc,IAAKC,WAAY,MAE9FlB,EAAEU,eAAeY,QAAQC,IAErBC,eACIC,YAAa,mEACbC,aAAc,iEACdC,cAAe,iEACfC,UAAW,kBACXC,WAAY,oBACZC,QAAS,uBACTC,cAAe,qBACfC,OAAQ,SACRC,MAAM,UACNC,OAAQ,WACRC,GAAI,KACJC,GAAI,OAERC,aACIC,SAAgD7B,EAAI8B,MAAMnC,GAC1DoC,6BAAyC/B,EAAIgC,YAAYrC,GACzDsC,0BAAyCjC,EAAIkC,WAAW,MACxDC,KAAgDnC,EAAIoC,IAAI1C,GACxD2C,mBAAgDrC,EAAIoC,IAAIzC,GACxD2C,QAAgDtC,EAAIuC,QAAQ7C,GAC5D8C,SAAgDxC,EAAIyC,IAAI/C,GACxDgD,SAAgD1C,EAAI2C,IAAIjD,GACxDkD,SAAgD5C,EAAI6C,MAAMnD,GAC1DoD,SAAgD9C,EAAI+C,KAAKrD,GACzDsD,kBAAgDhD,EAAIiD,WAAWvD,GAC/DwD,wBAAgDlD,EAAImD,mBAAkB,EAAMzD,GAC5E0D,wBAAgDpD,EAAImD,mBAAkB,EAAOzD,GAC7E2D,4BAAkCrD,EAAIsD,WAAWtD,EAAIoC,MAAS,QAASxC,GACvE2D,4BAAkCvD,EAAIsD,WAAWtD,EAAIoC,MAAS,MAASxC,GACvE4D,6BAAkCxD,EAAIsD,WAAWtD,EAAIoC,MAAS,MAASxC,GACvE6D,gCAAkCzD,EAAIsD,WAAWtD,EAAI8B,QAAS,QAASlC,GACvE8D,gCAAkC1D,EAAIsD,WAAWtD,EAAI8B,QAAS,MAASlC,GACvE+D,iCAAkC3D,EAAIsD,WAAWtD,EAAI8B,QAAS,MAASlC,IAE3EQ,WACIwD,OAA6B7D,EAAE,MAC/B8D,oBAA6B9D,EAAE,kBAC/B+D,gBAA6B/D,EAAE,QAC/BgE,2BAA6BhE,EAAE,eAC/BiE,4BAA6BjE,EAAE,iBAEpCF,IACCN,EAAEU,eAAeY,QAAQC,GAAGT,kBACxB4D,oBAAgCpE,EAAI,cACpCqE,oBAAgCrE,EAAI,aACpCsE,+BAAgCtE,EAAI,qBACpCuE,kBAAyBvE,EAAI,gBAElCJ,IACCF,EAAEU,eAAeY,QAAQC,GAAGR,cACxB+D,iBAAkB5E,EAAI,UAE3BD,IACDD,EAAEU,eAAeY,QAAQC,GAAGP,cAC1B0D,oBAAqBzE,EAAI,cACzB0E,oBAAqB1E,EAAI,aACzB2E,+BAAgC3E,EAAI,qBACpC4E,kBAAyB5E,EAAI,gBAE1BD,EAAEU,eAAeY,QAAQC,OCsBjCwD,KAAKC","file":"pivot.pt.min.js","sourcesContent":["callWithJQuery = (pivotModule) ->\n if typeof exports is \"object\" and typeof module is \"object\" # CommonJS\n pivotModule require(\"jquery\")\n else if typeof define is \"function\" and define.amd # AMD\n define [\"jquery\"], pivotModule\n # Plain browser env\n else\n pivotModule jQuery\n \ncallWithJQuery ($) ->\n nf = $.pivotUtilities.numberFormat\n tpl = $.pivotUtilities.aggregatorTemplates\n r = $.pivotUtilities.renderers\n gcr = $.pivotUtilities.gchart_renderers\n d3r = $.pivotUtilities.d3_renderers\n c3r = $.pivotUtilities.c3_renderers\n\n frFmt = nf(thousandsSep: \".\", decimalSep: \",\")\n frFmtInt = nf(digitsAfterDecimal: 0, thousandsSep: \".\", decimalSep: \",\")\n frFmtPct = nf(digitsAfterDecimal: 2, scaler: 100, suffix: \"%\", thousandsSep: \".\", decimalSep: \",\")\n\n $.pivotUtilities.locales.pt = \n\n localeStrings:\n renderError: \"Ocorreu um error ao renderizar os resultados da Tabela Dinâmica.\"\n computeError: \"Ocorreu um error ao computar os resultados da Tabela Dinâmica.\"\n uiRenderError: \"Ocorreu um error ao renderizar a interface da Tabela Dinâmica.\"\n selectAll: \"Selecionar Tudo\"\n selectNone: \"Selecionar Nenhum\"\n tooMany: \"(demais para listar)\"\n filterResults: \"Filtrar resultados\"\n totals: \"Totais\"\n apply:\"Aplicar\",\n cancel: \"Cancelar\",\n vs: \"vs\"\n by: \"por\"\n\n aggregators:\n \"Contagem\": tpl.count(frFmtInt)\n \"Contagem de Valores únicos\": tpl.countUnique(frFmtInt)\n \"Lista de Valores únicos\": tpl.listUnique(\", \")\n \"Soma\": tpl.sum(frFmt)\n \"Soma de Inteiros\": tpl.sum(frFmtInt)\n \"Média\": tpl.average(frFmt)\n \"Mínimo\": tpl.min(frFmt)\n \"Máximo\": tpl.max(frFmt)\n \"Primeiro\": tpl.first(frFmt),\n \"Último\": tpl.last(frFmt),\n \"Soma sobre Soma\": tpl.sumOverSum(frFmt)\n \"Limite Superior a 80%\": tpl.sumOverSumBound80(true, frFmt)\n \"Limite Inferior a 80%\": tpl.sumOverSumBound80(false, frFmt)\n \"Soma como Fração do Total\": tpl.fractionOf(tpl.sum(), \"total\", frFmtPct)\n \"Soma como Fração da Linha\": tpl.fractionOf(tpl.sum(), \"row\", frFmtPct)\n \"Soma como Fração da Coluna\": tpl.fractionOf(tpl.sum(), \"col\", frFmtPct)\n \"Contagem como Fração do Total\": tpl.fractionOf(tpl.count(), \"total\", frFmtPct)\n \"Contagem como Fração da Linha\": tpl.fractionOf(tpl.count(), \"row\", frFmtPct)\n \"Contagem como Fração da Coluna\": tpl.fractionOf(tpl.count(), \"col\", frFmtPct)\n\n renderers:\n \"Tabela\": r[\"Table\"]\n \"Tabela com Barras\": r[\"Table Barchart\"]\n \"Mapa de Calor\": r[\"Heatmap\"]\n \"Mapa de Calor por Linhas\": r[\"Row Heatmap\"]\n \"Mapa de Calor por Colunas\": r[\"Col Heatmap\"]\n\n if gcr\n $.pivotUtilities.locales.pt.gchart_renderers =\n \"Gráfico de Linhas\": gcr[\"Line Chart\"]\n \"Gráfico de Barras\": gcr[\"Bar Chart\"]\n \"Gráfico de Barras Empilhadas\": gcr[\"Stacked Bar Chart\"]\n \"Gráfico de Área\": gcr[\"Area Chart\"]\n\n if d3r\n $.pivotUtilities.locales.pt.d3_renderers =\n \"Mapa de Árvore\": d3r[\"Treemap\"]\n\n if c3r\n $.pivotUtilities.locales.pt.c3_renderers =\n \"Gráfico de Linhas\": c3r[\"Line Chart\"]\n \"Gráfico de Barras\": c3r[\"Bar Chart\"]\n \"Gráfico de Barras Empilhadas\": c3r[\"Stacked Bar Chart\"]\n \"Gráfico de Área\": c3r[\"Area Chart\"]\n\n return $.pivotUtilities.locales.pt\n","(function() {\n var callWithJQuery;\n\n callWithJQuery = function(pivotModule) {\n if (typeof exports === \"object\" && typeof module === \"object\") {\n return pivotModule(require(\"jquery\"));\n } else if (typeof define === \"function\" && define.amd) {\n return define([\"jquery\"], pivotModule);\n } else {\n return pivotModule(jQuery);\n }\n };\n\n callWithJQuery(function($) {\n var c3r, d3r, frFmt, frFmtInt, frFmtPct, gcr, nf, r, tpl;\n nf = $.pivotUtilities.numberFormat;\n tpl = $.pivotUtilities.aggregatorTemplates;\n r = $.pivotUtilities.renderers;\n gcr = $.pivotUtilities.gchart_renderers;\n d3r = $.pivotUtilities.d3_renderers;\n c3r = $.pivotUtilities.c3_renderers;\n frFmt = nf({\n thousandsSep: \".\",\n decimalSep: \",\"\n });\n frFmtInt = nf({\n digitsAfterDecimal: 0,\n thousandsSep: \".\",\n decimalSep: \",\"\n });\n frFmtPct = nf({\n digitsAfterDecimal: 2,\n scaler: 100,\n suffix: \"%\",\n thousandsSep: \".\",\n decimalSep: \",\"\n });\n $.pivotUtilities.locales.pt = {\n localeStrings: {\n renderError: \"Ocorreu um error ao renderizar os resultados da Tabela Dinâmica.\",\n computeError: \"Ocorreu um error ao computar os resultados da Tabela Dinâmica.\",\n uiRenderError: \"Ocorreu um error ao renderizar a interface da Tabela Dinâmica.\",\n selectAll: \"Selecionar Tudo\",\n selectNone: \"Selecionar Nenhum\",\n tooMany: \"(demais para listar)\",\n filterResults: \"Filtrar resultados\",\n totals: \"Totais\",\n apply: \"Aplicar\",\n cancel: \"Cancelar\",\n vs: \"vs\",\n by: \"por\"\n },\n aggregators: {\n \"Contagem\": tpl.count(frFmtInt),\n \"Contagem de Valores únicos\": tpl.countUnique(frFmtInt),\n \"Lista de Valores únicos\": tpl.listUnique(\", \"),\n \"Soma\": tpl.sum(frFmt),\n \"Soma de Inteiros\": tpl.sum(frFmtInt),\n \"Média\": tpl.average(frFmt),\n \"Mínimo\": tpl.min(frFmt),\n \"Máximo\": tpl.max(frFmt),\n \"Primeiro\": tpl.first(frFmt),\n \"Último\": tpl.last(frFmt),\n \"Soma sobre Soma\": tpl.sumOverSum(frFmt),\n \"Limite Superior a 80%\": tpl.sumOverSumBound80(true, frFmt),\n \"Limite Inferior a 80%\": tpl.sumOverSumBound80(false, frFmt),\n \"Soma como Fração do Total\": tpl.fractionOf(tpl.sum(), \"total\", frFmtPct),\n \"Soma como Fração da Linha\": tpl.fractionOf(tpl.sum(), \"row\", frFmtPct),\n \"Soma como Fração da Coluna\": tpl.fractionOf(tpl.sum(), \"col\", frFmtPct),\n \"Contagem como Fração do Total\": tpl.fractionOf(tpl.count(), \"total\", frFmtPct),\n \"Contagem como Fração da Linha\": tpl.fractionOf(tpl.count(), \"row\", frFmtPct),\n \"Contagem como Fração da Coluna\": tpl.fractionOf(tpl.count(), \"col\", frFmtPct)\n },\n renderers: {\n \"Tabela\": r[\"Table\"],\n \"Tabela com Barras\": r[\"Table Barchart\"],\n \"Mapa de Calor\": r[\"Heatmap\"],\n \"Mapa de Calor por Linhas\": r[\"Row Heatmap\"],\n \"Mapa de Calor por Colunas\": r[\"Col Heatmap\"]\n }\n };\n if (gcr) {\n $.pivotUtilities.locales.pt.gchart_renderers = {\n \"Gráfico de Linhas\": gcr[\"Line Chart\"],\n \"Gráfico de Barras\": gcr[\"Bar Chart\"],\n \"Gráfico de Barras Empilhadas\": gcr[\"Stacked Bar Chart\"],\n \"Gráfico de Área\": gcr[\"Area Chart\"]\n };\n }\n if (d3r) {\n $.pivotUtilities.locales.pt.d3_renderers = {\n \"Mapa de Árvore\": d3r[\"Treemap\"]\n };\n }\n if (c3r) {\n $.pivotUtilities.locales.pt.c3_renderers = {\n \"Gráfico de Linhas\": c3r[\"Line Chart\"],\n \"Gráfico de Barras\": c3r[\"Bar Chart\"],\n \"Gráfico de Barras Empilhadas\": c3r[\"Stacked Bar Chart\"],\n \"Gráfico de Área\": c3r[\"Area Chart\"]\n };\n }\n return $.pivotUtilities.locales.pt;\n });\n\n}).call(this);\n\n//# sourceMappingURL=pivot.pt.js.map\n"]}
\ No newline at end of file
(function() {
var callWithJQuery;
callWithJQuery = function(pivotModule) {
if (typeof exports === "object" && typeof module === "object") {
return pivotModule(require("jquery"));
} else if (typeof define === "function" && define.amd) {
return define(["jquery"], pivotModule);
} else {
return pivotModule(jQuery);
}
};
callWithJQuery(function($) {
var frFmt, frFmtInt, frFmtPct, nf, tpl;
nf = $.pivotUtilities.numberFormat;
tpl = $.pivotUtilities.aggregatorTemplates;
frFmt = nf({
thousandsSep: " ",
decimalSep: ","
});
frFmtInt = nf({
digitsAfterDecimal: 0,
thousandsSep: " ",
decimalSep: ","
});
frFmtPct = nf({
digitsAfterDecimal: 1,
scaler: 100,
suffix: "%",
thousandsSep: " ",
decimalSep: ","
});
return $.pivotUtilities.locales.ru = {
localeStrings: {
renderError: "Ошибка рендеринга страницы.",
computeError: "Ошибка табличных расчетов.",
uiRenderError: "Ошибка во время прорисовки и динамического расчета таблицы.",
selectAll: "Выбрать все",
selectNone: "Снять выделение",
tooMany: "(Выбрано слишком много значений)",
filterResults: "Возможные значения",
totals: "Всего",
vs: "на",
by: "с"
},
aggregators: {
"Кол-во": tpl.count(frFmtInt),
"Кол-во уникальных": tpl.countUnique(frFmtInt),
"Список уникальных": tpl.listUnique(", "),
"Сумма": tpl.sum(frFmt),
"Сумма целых": tpl.sum(frFmtInt),
"Среднее": tpl.average(frFmt),
"Минимум": tpl.min(frFmt),
"Максимум": tpl.max(frFmt),
"Сумма по сумме": tpl.sumOverSum(frFmt),
"80% верхней границы": tpl.sumOverSumBound80(true, frFmt),
"80% нижней границы": tpl.sumOverSumBound80(false, frFmt),
"Доля по всему": tpl.fractionOf(tpl.sum(), "total", frFmtPct),
"Доля по строке": tpl.fractionOf(tpl.sum(), "row", frFmtPct),
"Доля по столбцу": tpl.fractionOf(tpl.sum(), "col", frFmtPct),
"Кол-во по всему": tpl.fractionOf(tpl.count(), "total", frFmtPct),
"Кол-во по строке": tpl.fractionOf(tpl.count(), "row", frFmtPct),
"Кол-во по столбцу": tpl.fractionOf(tpl.count(), "col", frFmtPct)
},
renderers: {
"Таблица": $.pivotUtilities.renderers["Table"],
"График столбцы": $.pivotUtilities.renderers["Table Barchart"],
"Тепловая карта": $.pivotUtilities.renderers["Heatmap"],
"Тепловая карта по строке": $.pivotUtilities.renderers["Row Heatmap"],
"Тепловая карта по столбцу": $.pivotUtilities.renderers["Col Heatmap"]
}
};
});
}).call(this);
//# sourceMappingURL=pivot.ru.js.map
{"version":3,"file":"pivot.ru.js","sources":["pivot.ru.coffee"],"names":[],"mappings":"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","sourcesContent":["callWithJQuery = (pivotModule) ->\n if typeof exports is \"object\" and typeof module is \"object\" # CommonJS\n pivotModule require(\"jquery\")\n else if typeof define is \"function\" and define.amd # AMD\n define [\"jquery\"], pivotModule\n # Plain browser env\n else\n pivotModule jQuery\n \ncallWithJQuery ($) ->\n nf = $.pivotUtilities.numberFormat\n tpl = $.pivotUtilities.aggregatorTemplates\n\n frFmt = nf(thousandsSep: \" \", decimalSep: \",\")\n frFmtInt = nf(digitsAfterDecimal: 0, thousandsSep: \" \", decimalSep: \",\")\n frFmtPct = nf(digitsAfterDecimal: 1, scaler: 100, suffix: \"%\", thousandsSep: \" \", decimalSep: \",\")\n\n $.pivotUtilities.locales.ru = \n localeStrings:\n renderError: \"Ошибка рендеринга страницы.\",\n computeError: \"Ошибка табличных расчетов.\",\n uiRenderError: \"Ошибка во время прорисовки и динамического расчета таблицы.\",\n selectAll: \"Выбрать все\",\n selectNone: \"Снять выделение\",\n tooMany: \"(Выбрано слишком много значений)\",\n filterResults: \"Возможные значения\",\n totals: \"Всего\",\n vs: \"на\",\n by: \"с\"\n\n aggregators: \n \"Кол-во\": tpl.count(frFmtInt),\n \"Кол-во уникальных\": tpl.countUnique(frFmtInt),\n \"Список уникальных\": tpl.listUnique(\", \"),\n \"Сумма\": tpl.sum(frFmt),\n \"Сумма целых\": tpl.sum(frFmtInt),\n \"Среднее\": tpl.average(frFmt),\n \"Минимум\": tpl.min(frFmt),\n \"Максимум\": tpl.max(frFmt),\n \"Сумма по сумме\": tpl.sumOverSum(frFmt),\n \"80% верхней границы\": tpl.sumOverSumBound80(true, frFmt),\n \"80% нижней границы\": tpl.sumOverSumBound80(false, frFmt),\n \"Доля по всему\": tpl.fractionOf(tpl.sum(), \"total\", frFmtPct),\n \"Доля по строке\": tpl.fractionOf(tpl.sum(), \"row\", frFmtPct),\n \"Доля по столбцу\": tpl.fractionOf(tpl.sum(), \"col\", frFmtPct),\n \"Кол-во по всему\": tpl.fractionOf(tpl.count(), \"total\", frFmtPct),\n \"Кол-во по строке\": tpl.fractionOf(tpl.count(), \"row\", frFmtPct),\n \"Кол-во по столбцу\": tpl.fractionOf(tpl.count(), \"col\", frFmtPct)\n\n renderers:\n \"Таблица\": $.pivotUtilities.renderers[\"Table\"]\n \"График столбцы\": $.pivotUtilities.renderers[\"Table Barchart\"] # TODO придумать более понятный вариант\n \"Тепловая карта\": $.pivotUtilities.renderers[\"Heatmap\"]\n \"Тепловая карта по строке\": $.pivotUtilities.renderers[\"Row Heatmap\"]\n \"Тепловая карта по столбцу\": $.pivotUtilities.renderers[\"Col Heatmap\"]\n\n"]}
\ No newline at end of file
(function(){var e;(e=function(e){return"object"==typeof exports&&"object"==typeof module?e(require("jquery")):"function"==typeof define&&define.amd?define(["jquery"],e):e(jQuery)})(function(e){var t,r,i,o,s;return o=e.pivotUtilities.numberFormat,s=e.pivotUtilities.aggregatorTemplates,t=o({thousandsSep:" ",decimalSep:","}),r=o({digitsAfterDecimal:0,thousandsSep:" ",decimalSep:","}),i=o({digitsAfterDecimal:1,scaler:100,suffix:"%",thousandsSep:" ",decimalSep:","}),e.pivotUtilities.locales.ru={localeStrings:{renderError:"Ошибка рендеринга страницы.",computeError:"Ошибка табличных расчетов.",uiRenderError:"Ошибка во время прорисовки и динамического расчета таблицы.",selectAll:"Выбрать все",selectNone:"Снять выделение",tooMany:"(Выбрано слишком много значений)",filterResults:"Возможные значения",totals:"Всего",vs:"на",by:"с"},aggregators:{"Кол-во":s.count(r),"Кол-во уникальных":s.countUnique(r),"Список уникальных":s.listUnique(", "),"Сумма":s.sum(t),"Сумма целых":s.sum(r),"Среднее":s.average(t),"Минимум":s.min(t),"Максимум":s.max(t),"Сумма по сумме":s.sumOverSum(t),"80% верхней границы":s.sumOverSumBound80(!0,t),"80% нижней границы":s.sumOverSumBound80(!1,t),"Доля по всему":s.fractionOf(s.sum(),"total",i),"Доля по строке":s.fractionOf(s.sum(),"row",i),"Доля по столбцу":s.fractionOf(s.sum(),"col",i),"Кол-во по всему":s.fractionOf(s.count(),"total",i),"Кол-во по строке":s.fractionOf(s.count(),"row",i),"Кол-во по столбцу":s.fractionOf(s.count(),"col",i)},renderers:{"Таблица":e.pivotUtilities.renderers.Table,"График столбцы":e.pivotUtilities.renderers["Table Barchart"],"Тепловая карта":e.pivotUtilities.renderers.Heatmap,"Тепловая карта по строке":e.pivotUtilities.renderers["Row Heatmap"],"Тепловая карта по столбцу":e.pivotUtilities.renderers["Col Heatmap"]}}})}).call(this);
//# sourceMappingURL=pivot.ru.min.js.map
{"version":3,"sources":["pivot.ru.coffee","pivot.ru.min.js"],"names":["callWithJQuery","pivotModule","exports","module","require","define","amd","jQuery","$","frFmt","frFmtInt","frFmtPct","nf","tpl","pivotUtilities","numberFormat","aggregatorTemplates","thousandsSep","decimalSep","digitsAfterDecimal","scaler","suffix","locales","ru","localeStrings","renderError","computeError","uiRenderError","selectAll","selectNone","tooMany","filterResults","totals","vs","by","aggregators","Кол-во","count","Кол-во уникальных","countUnique","Список уникальных","listUnique","Сумма","sum","Сумма целых","Среднее","average","Минимум","min","Максимум","max","Сумма по сумме","sumOverSum","80% верхней границы","sumOverSumBound80","80% нижней границы","Доля по всему","fractionOf","Доля по строке","Доля по столбцу","Кол-во по всему","Кол-во по строке","Кол-во по столбцу","renderers","Таблица","График столбцы","Тепловая карта","Тепловая карта по строке","Тепловая карта по столбцу","call","this"],"mappings":"CAAA,WAAA,GAAAA,IAAAA,EAAiB,SAACC,GACd,MAAqB,gBAAXC,UAAyC,gBAAVC,QACrCF,EAAYG,QAAQ,WACC,kBAAVC,SAAyBA,OAAOC,IAC3CD,QAAQ,UAAWJ,GAGnBA,EAAYM,UAEL,SAACC,GACZ,GAAAC,GAAAC,EAAAC,EAAAC,EAAAC,CCuBA,ODvBAD,GAAKJ,EAAEM,eAAeC,aACtBF,EAAML,EAAEM,eAAeE,oBAEvBP,EAAWG,GAAGK,aAAc,IAAKC,WAAY,MAC7CR,EAAWE,GAAGO,mBAAoB,EAAGF,aAAc,IAAKC,WAAY,MACpEP,EAAWC,GAAGO,mBAAoB,EAAGC,OAAQ,IAAKC,OAAQ,IAAKJ,aAAc,IAAKC,WAAY,MAE9FV,EAAEM,eAAeQ,QAAQC,IACrBC,eACIC,YAAa,8BACbC,aAAc,6BACdC,cAAe,8DACfC,UAAW,cACXC,WAAY,kBACZC,QAAS,mCACTC,cAAe,qBACfC,OAAQ,QACRC,GAAI,KACJC,GAAI,KAERC,aACIC,SAAUvB,EAAIwB,MAAM3B,GACpB4B,oBAAqBzB,EAAI0B,YAAY7B,GACrC8B,oBAAqB3B,EAAI4B,WAAW,MACpCC,QAAS7B,EAAI8B,IAAIlC,GACjBmC,cAAe/B,EAAI8B,IAAIjC,GACvBmC,UAAWhC,EAAIiC,QAAQrC,GACvBsC,UAAWlC,EAAImC,IAAIvC,GACnBwC,WAAYpC,EAAIqC,IAAIzC,GACpB0C,iBAAkBtC,EAAIuC,WAAW3C,GACjC4C,sBAAuBxC,EAAIyC,mBAAkB,EAAM7C,GACnD8C,qBAAsB1C,EAAIyC,mBAAkB,EAAO7C,GACnD+C,gBAAiB3C,EAAI4C,WAAW5C,EAAI8B,MAAO,QAAShC,GACpD+C,iBAAkB7C,EAAI4C,WAAW5C,EAAI8B,MAAO,MAAOhC,GACnDgD,kBAAmB9C,EAAI4C,WAAW5C,EAAI8B,MAAO,MAAOhC,GACpDiD,kBAAmB/C,EAAI4C,WAAW5C,EAAIwB,QAAS,QAAS1B,GACxDkD,mBAAoBhD,EAAI4C,WAAW5C,EAAIwB,QAAS,MAAO1B,GACvDmD,oBAAqBjD,EAAI4C,WAAW5C,EAAIwB,QAAS,MAAO1B,IAE5DoD,WACIC,UAAWxD,EAAEM,eAAeiD,UAAU,MACtCE,iBAAkBzD,EAAEM,eAAeiD,UAAU,kBAC7CG,iBAAkB1D,EAAEM,eAAeiD,UAAU,QAC7CI,2BAA4B3D,EAAEM,eAAeiD,UAAU,eACvDK,4BAA6B5D,EAAEM,eAAeiD,UAAU,qBCqBjEM,KAAKC","file":"pivot.ru.min.js","sourcesContent":["callWithJQuery = (pivotModule) ->\n if typeof exports is \"object\" and typeof module is \"object\" # CommonJS\n pivotModule require(\"jquery\")\n else if typeof define is \"function\" and define.amd # AMD\n define [\"jquery\"], pivotModule\n # Plain browser env\n else\n pivotModule jQuery\n \ncallWithJQuery ($) ->\n nf = $.pivotUtilities.numberFormat\n tpl = $.pivotUtilities.aggregatorTemplates\n\n frFmt = nf(thousandsSep: \" \", decimalSep: \",\")\n frFmtInt = nf(digitsAfterDecimal: 0, thousandsSep: \" \", decimalSep: \",\")\n frFmtPct = nf(digitsAfterDecimal: 1, scaler: 100, suffix: \"%\", thousandsSep: \" \", decimalSep: \",\")\n\n $.pivotUtilities.locales.ru = \n localeStrings:\n renderError: \"Ошибка рендеринга страницы.\",\n computeError: \"Ошибка табличных расчетов.\",\n uiRenderError: \"Ошибка во время прорисовки и динамического расчета таблицы.\",\n selectAll: \"Выбрать все\",\n selectNone: \"Снять выделение\",\n tooMany: \"(Выбрано слишком много значений)\",\n filterResults: \"Возможные значения\",\n totals: \"Всего\",\n vs: \"на\",\n by: \"с\"\n\n aggregators: \n \"Кол-во\": tpl.count(frFmtInt),\n \"Кол-во уникальных\": tpl.countUnique(frFmtInt),\n \"Список уникальных\": tpl.listUnique(\", \"),\n \"Сумма\": tpl.sum(frFmt),\n \"Сумма целых\": tpl.sum(frFmtInt),\n \"Среднее\": tpl.average(frFmt),\n \"Минимум\": tpl.min(frFmt),\n \"Максимум\": tpl.max(frFmt),\n \"Сумма по сумме\": tpl.sumOverSum(frFmt),\n \"80% верхней границы\": tpl.sumOverSumBound80(true, frFmt),\n \"80% нижней границы\": tpl.sumOverSumBound80(false, frFmt),\n \"Доля по всему\": tpl.fractionOf(tpl.sum(), \"total\", frFmtPct),\n \"Доля по строке\": tpl.fractionOf(tpl.sum(), \"row\", frFmtPct),\n \"Доля по столбцу\": tpl.fractionOf(tpl.sum(), \"col\", frFmtPct),\n \"Кол-во по всему\": tpl.fractionOf(tpl.count(), \"total\", frFmtPct),\n \"Кол-во по строке\": tpl.fractionOf(tpl.count(), \"row\", frFmtPct),\n \"Кол-во по столбцу\": tpl.fractionOf(tpl.count(), \"col\", frFmtPct)\n\n renderers:\n \"Таблица\": $.pivotUtilities.renderers[\"Table\"]\n \"График столбцы\": $.pivotUtilities.renderers[\"Table Barchart\"] # TODO придумать более понятный вариант\n \"Тепловая карта\": $.pivotUtilities.renderers[\"Heatmap\"]\n \"Тепловая карта по строке\": $.pivotUtilities.renderers[\"Row Heatmap\"]\n \"Тепловая карта по столбцу\": $.pivotUtilities.renderers[\"Col Heatmap\"]\n\n","(function() {\n var callWithJQuery;\n\n callWithJQuery = function(pivotModule) {\n if (typeof exports === \"object\" && typeof module === \"object\") {\n return pivotModule(require(\"jquery\"));\n } else if (typeof define === \"function\" && define.amd) {\n return define([\"jquery\"], pivotModule);\n } else {\n return pivotModule(jQuery);\n }\n };\n\n callWithJQuery(function($) {\n var frFmt, frFmtInt, frFmtPct, nf, tpl;\n nf = $.pivotUtilities.numberFormat;\n tpl = $.pivotUtilities.aggregatorTemplates;\n frFmt = nf({\n thousandsSep: \" \",\n decimalSep: \",\"\n });\n frFmtInt = nf({\n digitsAfterDecimal: 0,\n thousandsSep: \" \",\n decimalSep: \",\"\n });\n frFmtPct = nf({\n digitsAfterDecimal: 1,\n scaler: 100,\n suffix: \"%\",\n thousandsSep: \" \",\n decimalSep: \",\"\n });\n return $.pivotUtilities.locales.ru = {\n localeStrings: {\n renderError: \"Ошибка рендеринга страницы.\",\n computeError: \"Ошибка табличных расчетов.\",\n uiRenderError: \"Ошибка во время прорисовки и динамического расчета таблицы.\",\n selectAll: \"Выбрать все\",\n selectNone: \"Снять выделение\",\n tooMany: \"(Выбрано слишком много значений)\",\n filterResults: \"Возможные значения\",\n totals: \"Всего\",\n vs: \"на\",\n by: \"с\"\n },\n aggregators: {\n \"Кол-во\": tpl.count(frFmtInt),\n \"Кол-во уникальных\": tpl.countUnique(frFmtInt),\n \"Список уникальных\": tpl.listUnique(\", \"),\n \"Сумма\": tpl.sum(frFmt),\n \"Сумма целых\": tpl.sum(frFmtInt),\n \"Среднее\": tpl.average(frFmt),\n \"Минимум\": tpl.min(frFmt),\n \"Максимум\": tpl.max(frFmt),\n \"Сумма по сумме\": tpl.sumOverSum(frFmt),\n \"80% верхней границы\": tpl.sumOverSumBound80(true, frFmt),\n \"80% нижней границы\": tpl.sumOverSumBound80(false, frFmt),\n \"Доля по всему\": tpl.fractionOf(tpl.sum(), \"total\", frFmtPct),\n \"Доля по строке\": tpl.fractionOf(tpl.sum(), \"row\", frFmtPct),\n \"Доля по столбцу\": tpl.fractionOf(tpl.sum(), \"col\", frFmtPct),\n \"Кол-во по всему\": tpl.fractionOf(tpl.count(), \"total\", frFmtPct),\n \"Кол-во по строке\": tpl.fractionOf(tpl.count(), \"row\", frFmtPct),\n \"Кол-во по столбцу\": tpl.fractionOf(tpl.count(), \"col\", frFmtPct)\n },\n renderers: {\n \"Таблица\": $.pivotUtilities.renderers[\"Table\"],\n \"График столбцы\": $.pivotUtilities.renderers[\"Table Barchart\"],\n \"Тепловая карта\": $.pivotUtilities.renderers[\"Heatmap\"],\n \"Тепловая карта по строке\": $.pivotUtilities.renderers[\"Row Heatmap\"],\n \"Тепловая карта по столбцу\": $.pivotUtilities.renderers[\"Col Heatmap\"]\n }\n };\n });\n\n}).call(this);\n\n//# sourceMappingURL=pivot.ru.js.map\n"]}
\ No newline at end of file
(function() {
var callWithJQuery;
callWithJQuery = function(pivotModule) {
if (typeof exports === "object" && typeof module === "object") {
return pivotModule(require("jquery"));
} else if (typeof define === "function" && define.amd) {
return define(["jquery"], pivotModule);
} else {
return pivotModule(jQuery);
}
};
callWithJQuery(function($) {
var frFmt, frFmtInt, frFmtPct, nf, tpl;
nf = $.pivotUtilities.numberFormat;
tpl = $.pivotUtilities.aggregatorTemplates;
frFmt = nf({
thousandsSep: " ",
decimalSep: ","
});
frFmtInt = nf({
digitsAfterDecimal: 0,
thousandsSep: " ",
decimalSep: ","
});
frFmtPct = nf({
digitsAfterDecimal: 1,
scaler: 100,
suffix: "%",
thousandsSep: " ",
decimalSep: ","
});
return $.pivotUtilities.locales.sq = {
localeStrings: {
renderError: "Ka ndodhur një gabim gjatë shfaqjes së rezultateve të PivotTable.",
computeError: "Ka ndodhur një gabim gjatë llogaritjes së rezultateve të PivotTable.",
uiRenderError: "Ka ndodhur një gabim gjatë shfaqjes së ndërfaqes së PivotTable.",
selectAll: "Përzgjedh të gjitha",
selectNone: "Mos përzgjedh asnjërën",
tooMany: "(shumë për t'u listuar)",
filterResults: "Filtro vlerat",
totals: "Totalet",
vs: "kundër",
by: "për"
},
aggregators: {
"Numëro": tpl.count(frFmtInt),
"Numëro vlerat unike": tpl.countUnique(frFmtInt),
"Listo vlerat unike": tpl.listUnique(", "),
"Shuma": tpl.sum(frFmt),
"Shuma si numër i plotë": tpl.sum(frFmtInt),
"Mesatarja": tpl.average(frFmt),
"Minimumi": tpl.min(frFmt),
"Maksimumi": tpl.max(frFmt),
"Shuma mbi shumë": tpl.sumOverSum(frFmt),
"80% kufiri i sipërm": tpl.sumOverSumBound80(true, frFmt),
"80% kufiri i poshtëm": tpl.sumOverSumBound80(false, frFmt),
"Shuma si thyesë e totalit": tpl.fractionOf(tpl.sum(), "total", frFmtPct),
"Shuma si thyesë e rreshtave": tpl.fractionOf(tpl.sum(), "row", frFmtPct),
"Shuma si thyesë e kolonave": tpl.fractionOf(tpl.sum(), "col", frFmtPct),
"Numërimi si thyesë e totalit": tpl.fractionOf(tpl.count(), "total", frFmtPct),
"Numërimi si thyesë e rreshtave": tpl.fractionOf(tpl.count(), "row", frFmtPct),
"Numërimi si thyesë e kolonave": tpl.fractionOf(tpl.count(), "col", frFmtPct)
},
renderers: {
"Tabela": $.pivotUtilities.renderers["Table"],
"Tabela me diagram vertikal": $.pivotUtilities.renderers["Table Barchart"],
"Heatmap": $.pivotUtilities.renderers["Heatmap"],
"Heatmap për rresht": $.pivotUtilities.renderers["Row Heatmap"],
"Heatmap për kolonë": $.pivotUtilities.renderers["Col Heatmap"]
}
};
});
}).call(this);
//# sourceMappingURL=pivot.sq.js.map
{"version":3,"file":"pivot.sq.js","sources":["pivot.sq.coffee"],"names":[],"mappings":"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","sourcesContent":["callWithJQuery = (pivotModule) ->\n if typeof exports is \"object\" and typeof module is \"object\" # CommonJS\n pivotModule require(\"jquery\")\n else if typeof define is \"function\" and define.amd # AMD\n define [\"jquery\"], pivotModule\n # Plain browser env\n else\n pivotModule jQuery\n \ncallWithJQuery ($) ->\n nf = $.pivotUtilities.numberFormat\n tpl = $.pivotUtilities.aggregatorTemplates\n\n frFmt = nf(thousandsSep: \" \", decimalSep: \",\")\n frFmtInt = nf(digitsAfterDecimal: 0, thousandsSep: \" \", decimalSep: \",\")\n frFmtPct = nf(digitsAfterDecimal: 1, scaler: 100, suffix: \"%\", thousandsSep: \" \", decimalSep: \",\")\n\n $.pivotUtilities.locales.sq = \n localeStrings:\n renderError: \"Ka ndodhur një gabim gjatë shfaqjes së rezultateve të PivotTable.\"\n computeError: \"Ka ndodhur një gabim gjatë llogaritjes së rezultateve të PivotTable.\"\n uiRenderError: \"Ka ndodhur një gabim gjatë shfaqjes së ndërfaqes së PivotTable.\"\n selectAll: \"Përzgjedh të gjitha\"\n selectNone: \"Mos përzgjedh asnjërën\"\n tooMany: \"(shumë për t'u listuar)\"\n filterResults: \"Filtro vlerat\"\n totals: \"Totalet\"\n vs: \"kundër\"\n by: \"për\"\n\n aggregators: \n \"Numëro\": tpl.count(frFmtInt)\n \"Numëro vlerat unike\": tpl.countUnique(frFmtInt)\n \"Listo vlerat unike\": tpl.listUnique(\", \")\n \"Shuma\": tpl.sum(frFmt)\n \"Shuma si numër i plotë\":\t\t\ttpl.sum(frFmtInt)\n \"Mesatarja\": tpl.average(frFmt)\n \"Minimumi\": tpl.min(frFmt)\n \"Maksimumi\": tpl.max(frFmt)\n \"Shuma mbi shumë\": tpl.sumOverSum(frFmt)\n \"80% kufiri i sipërm\": tpl.sumOverSumBound80(true, frFmt)\n \"80% kufiri i poshtëm\": \t\ttpl.sumOverSumBound80(false, frFmt)\n \"Shuma si thyesë e totalit\": tpl.fractionOf(tpl.sum(), \"total\", frFmtPct)\n \"Shuma si thyesë e rreshtave\": tpl.fractionOf(tpl.sum(), \"row\", frFmtPct)\n \"Shuma si thyesë e kolonave\": tpl.fractionOf(tpl.sum(), \"col\", frFmtPct)\n \"Numërimi si thyesë e totalit\": tpl.fractionOf(tpl.count(), \"total\", frFmtPct)\n \"Numërimi si thyesë e rreshtave\": tpl.fractionOf(tpl.count(), \"row\", frFmtPct)\n \"Numërimi si thyesë e kolonave\": tpl.fractionOf(tpl.count(), \"col\", frFmtPct)\n \n renderers:\n \"Tabela\": $.pivotUtilities.renderers[\"Table\"]\n \"Tabela me diagram vertikal\": $.pivotUtilities.renderers[\"Table Barchart\"]\n \"Heatmap\": $.pivotUtilities.renderers[\"Heatmap\"]\n \"Heatmap për rresht\": $.pivotUtilities.renderers[\"Row Heatmap\"]\n \"Heatmap për kolonë\": $.pivotUtilities.renderers[\"Col Heatmap\"]\n"]}
\ No newline at end of file
(function(){var e;(e=function(e){return"object"==typeof exports&&"object"==typeof module?e(require("jquery")):"function"==typeof define&&define.amd?define(["jquery"],e):e(jQuery)})(function(e){var t,i,r,a,s;return a=e.pivotUtilities.numberFormat,s=e.pivotUtilities.aggregatorTemplates,t=a({thousandsSep:" ",decimalSep:","}),i=a({digitsAfterDecimal:0,thousandsSep:" ",decimalSep:","}),r=a({digitsAfterDecimal:1,scaler:100,suffix:"%",thousandsSep:" ",decimalSep:","}),e.pivotUtilities.locales.sq={localeStrings:{renderError:"Ka ndodhur një gabim gjatë shfaqjes së rezultateve të PivotTable.",computeError:"Ka ndodhur një gabim gjatë llogaritjes së rezultateve të PivotTable.",uiRenderError:"Ka ndodhur një gabim gjatë shfaqjes së ndërfaqes së PivotTable.",selectAll:"Përzgjedh të gjitha",selectNone:"Mos përzgjedh asnjërën",tooMany:"(shumë për t'u listuar)",filterResults:"Filtro vlerat",totals:"Totalet",vs:"kundër",by:"për"},aggregators:{"Numëro":s.count(i),"Numëro vlerat unike":s.countUnique(i),"Listo vlerat unike":s.listUnique(", "),Shuma:s.sum(t),"Shuma si numër i plotë":s.sum(i),Mesatarja:s.average(t),Minimumi:s.min(t),Maksimumi:s.max(t),"Shuma mbi shumë":s.sumOverSum(t),"80% kufiri i sipërm":s.sumOverSumBound80(!0,t),"80% kufiri i poshtëm":s.sumOverSumBound80(!1,t),"Shuma si thyesë e totalit":s.fractionOf(s.sum(),"total",r),"Shuma si thyesë e rreshtave":s.fractionOf(s.sum(),"row",r),"Shuma si thyesë e kolonave":s.fractionOf(s.sum(),"col",r),"Numërimi si thyesë e totalit":s.fractionOf(s.count(),"total",r),"Numërimi si thyesë e rreshtave":s.fractionOf(s.count(),"row",r),"Numërimi si thyesë e kolonave":s.fractionOf(s.count(),"col",r)},renderers:{Tabela:e.pivotUtilities.renderers.Table,"Tabela me diagram vertikal":e.pivotUtilities.renderers["Table Barchart"],Heatmap:e.pivotUtilities.renderers.Heatmap,"Heatmap për rresht":e.pivotUtilities.renderers["Row Heatmap"],"Heatmap për kolonë":e.pivotUtilities.renderers["Col Heatmap"]}}})}).call(this);
//# sourceMappingURL=pivot.sq.min.js.map
{"version":3,"sources":["pivot.sq.coffee","pivot.sq.min.js"],"names":["callWithJQuery","pivotModule","exports","module","require","define","amd","jQuery","$","frFmt","frFmtInt","frFmtPct","nf","tpl","pivotUtilities","numberFormat","aggregatorTemplates","thousandsSep","decimalSep","digitsAfterDecimal","scaler","suffix","locales","sq","localeStrings","renderError","computeError","uiRenderError","selectAll","selectNone","tooMany","filterResults","totals","vs","by","aggregators","Numëro","count","Numëro vlerat unike","countUnique","Listo vlerat unike","listUnique","Shuma","sum","Shuma si numër i plotë","Mesatarja","average","Minimumi","min","Maksimumi","max","Shuma mbi shumë","sumOverSum","80% kufiri i sipërm","sumOverSumBound80","80% kufiri i poshtëm","Shuma si thyesë e totalit","fractionOf","Shuma si thyesë e rreshtave","Shuma si thyesë e kolonave","Numërimi si thyesë e totalit","Numërimi si thyesë e rreshtave","Numërimi si thyesë e kolonave","renderers","Tabela","Tabela me diagram vertikal","Heatmap","Heatmap për rresht","Heatmap për kolonë","call","this"],"mappings":"CAAA,WAAA,GAAAA,IAAAA,EAAiB,SAACC,GACd,MAAqB,gBAAXC,UAAyC,gBAAVC,QACrCF,EAAYG,QAAQ,WACC,kBAAVC,SAAyBA,OAAOC,IAC3CD,QAAQ,UAAWJ,GAGnBA,EAAYM,UAEL,SAACC,GACZ,GAAAC,GAAAC,EAAAC,EAAAC,EAAAC,CCuBA,ODvBAD,GAAKJ,EAAEM,eAAeC,aACtBF,EAAML,EAAEM,eAAeE,oBAEvBP,EAAWG,GAAGK,aAAc,IAAKC,WAAY,MAC7CR,EAAWE,GAAGO,mBAAoB,EAAGF,aAAc,IAAKC,WAAY,MACpEP,EAAWC,GAAGO,mBAAoB,EAAGC,OAAQ,IAAKC,OAAQ,IAAKJ,aAAc,IAAKC,WAAY,MAE9FV,EAAEM,eAAeQ,QAAQC,IACrBC,eACIC,YAAa,oEACbC,aAAc,uEACdC,cAAe,kEACfC,UAAW,sBACXC,WAAY,yBACZC,QAAS,0BACTC,cAAe,gBACfC,OAAQ,UACRC,GAAI,SACJC,GAAI,OAERC,aACIC,SAAgCvB,EAAIwB,MAAM3B,GAC1C4B,sBAA2BzB,EAAI0B,YAAY7B,GAC3C8B,qBAA2B3B,EAAI4B,WAAW,MAC1CC,MAAgC7B,EAAI8B,IAAIlC,GACxCmC,yBAA4B/B,EAAI8B,IAAIjC,GACpCmC,UAA6BhC,EAAIiC,QAAQrC,GACzCsC,SAAiClC,EAAImC,IAAIvC,GACzCwC,UAAkCpC,EAAIqC,IAAIzC,GAC1C0C,kBAA+BtC,EAAIuC,WAAW3C,GAC9C4C,sBAAqCxC,EAAIyC,mBAAkB,EAAM7C,GACjE8C,uBAAiC1C,EAAIyC,mBAAkB,EAAO7C,GAC9D+C,4BAA8B3C,EAAI4C,WAAW5C,EAAI8B,MAAS,QAAShC,GACnE+C,8BAAiC7C,EAAI4C,WAAW5C,EAAI8B,MAAS,MAAShC,GACtEgD,6BAA+B9C,EAAI4C,WAAW5C,EAAI8B,MAAS,MAAShC,GACpEiD,+BAAgC/C,EAAI4C,WAAW5C,EAAIwB,QAAS,QAAS1B,GACrEkD,iCAAmChD,EAAI4C,WAAW5C,EAAIwB,QAAS,MAAS1B,GACxEmD,gCAAiCjD,EAAI4C,WAAW5C,EAAIwB,QAAS,MAAS1B,IAE1EoD,WACIC,OAA+BxD,EAAEM,eAAeiD,UAAU,MAC1DE,6BAAgCzD,EAAEM,eAAeiD,UAAU,kBAC3DG,QAAgC1D,EAAEM,eAAeiD,UAAU,QAC3DI,qBAAiC3D,EAAEM,eAAeiD,UAAU,eAC5DK,qBAAgC5D,EAAEM,eAAeiD,UAAU,qBCqBpEM,KAAKC","file":"pivot.sq.min.js","sourcesContent":["callWithJQuery = (pivotModule) ->\n if typeof exports is \"object\" and typeof module is \"object\" # CommonJS\n pivotModule require(\"jquery\")\n else if typeof define is \"function\" and define.amd # AMD\n define [\"jquery\"], pivotModule\n # Plain browser env\n else\n pivotModule jQuery\n \ncallWithJQuery ($) ->\n nf = $.pivotUtilities.numberFormat\n tpl = $.pivotUtilities.aggregatorTemplates\n\n frFmt = nf(thousandsSep: \" \", decimalSep: \",\")\n frFmtInt = nf(digitsAfterDecimal: 0, thousandsSep: \" \", decimalSep: \",\")\n frFmtPct = nf(digitsAfterDecimal: 1, scaler: 100, suffix: \"%\", thousandsSep: \" \", decimalSep: \",\")\n\n $.pivotUtilities.locales.sq = \n localeStrings:\n renderError: \"Ka ndodhur një gabim gjatë shfaqjes së rezultateve të PivotTable.\"\n computeError: \"Ka ndodhur një gabim gjatë llogaritjes së rezultateve të PivotTable.\"\n uiRenderError: \"Ka ndodhur një gabim gjatë shfaqjes së ndërfaqes së PivotTable.\"\n selectAll: \"Përzgjedh të gjitha\"\n selectNone: \"Mos përzgjedh asnjërën\"\n tooMany: \"(shumë për t'u listuar)\"\n filterResults: \"Filtro vlerat\"\n totals: \"Totalet\"\n vs: \"kundër\"\n by: \"për\"\n\n aggregators: \n \"Numëro\": tpl.count(frFmtInt)\n \"Numëro vlerat unike\": tpl.countUnique(frFmtInt)\n \"Listo vlerat unike\": tpl.listUnique(\", \")\n \"Shuma\": tpl.sum(frFmt)\n \"Shuma si numër i plotë\":\t\t\ttpl.sum(frFmtInt)\n \"Mesatarja\": tpl.average(frFmt)\n \"Minimumi\": tpl.min(frFmt)\n \"Maksimumi\": tpl.max(frFmt)\n \"Shuma mbi shumë\": tpl.sumOverSum(frFmt)\n \"80% kufiri i sipërm\": tpl.sumOverSumBound80(true, frFmt)\n \"80% kufiri i poshtëm\": \t\ttpl.sumOverSumBound80(false, frFmt)\n \"Shuma si thyesë e totalit\": tpl.fractionOf(tpl.sum(), \"total\", frFmtPct)\n \"Shuma si thyesë e rreshtave\": tpl.fractionOf(tpl.sum(), \"row\", frFmtPct)\n \"Shuma si thyesë e kolonave\": tpl.fractionOf(tpl.sum(), \"col\", frFmtPct)\n \"Numërimi si thyesë e totalit\": tpl.fractionOf(tpl.count(), \"total\", frFmtPct)\n \"Numërimi si thyesë e rreshtave\": tpl.fractionOf(tpl.count(), \"row\", frFmtPct)\n \"Numërimi si thyesë e kolonave\": tpl.fractionOf(tpl.count(), \"col\", frFmtPct)\n \n renderers:\n \"Tabela\": $.pivotUtilities.renderers[\"Table\"]\n \"Tabela me diagram vertikal\": $.pivotUtilities.renderers[\"Table Barchart\"]\n \"Heatmap\": $.pivotUtilities.renderers[\"Heatmap\"]\n \"Heatmap për rresht\": $.pivotUtilities.renderers[\"Row Heatmap\"]\n \"Heatmap për kolonë\": $.pivotUtilities.renderers[\"Col Heatmap\"]\n","(function() {\n var callWithJQuery;\n\n callWithJQuery = function(pivotModule) {\n if (typeof exports === \"object\" && typeof module === \"object\") {\n return pivotModule(require(\"jquery\"));\n } else if (typeof define === \"function\" && define.amd) {\n return define([\"jquery\"], pivotModule);\n } else {\n return pivotModule(jQuery);\n }\n };\n\n callWithJQuery(function($) {\n var frFmt, frFmtInt, frFmtPct, nf, tpl;\n nf = $.pivotUtilities.numberFormat;\n tpl = $.pivotUtilities.aggregatorTemplates;\n frFmt = nf({\n thousandsSep: \" \",\n decimalSep: \",\"\n });\n frFmtInt = nf({\n digitsAfterDecimal: 0,\n thousandsSep: \" \",\n decimalSep: \",\"\n });\n frFmtPct = nf({\n digitsAfterDecimal: 1,\n scaler: 100,\n suffix: \"%\",\n thousandsSep: \" \",\n decimalSep: \",\"\n });\n return $.pivotUtilities.locales.sq = {\n localeStrings: {\n renderError: \"Ka ndodhur një gabim gjatë shfaqjes së rezultateve të PivotTable.\",\n computeError: \"Ka ndodhur një gabim gjatë llogaritjes së rezultateve të PivotTable.\",\n uiRenderError: \"Ka ndodhur një gabim gjatë shfaqjes së ndërfaqes së PivotTable.\",\n selectAll: \"Përzgjedh të gjitha\",\n selectNone: \"Mos përzgjedh asnjërën\",\n tooMany: \"(shumë për t'u listuar)\",\n filterResults: \"Filtro vlerat\",\n totals: \"Totalet\",\n vs: \"kundër\",\n by: \"për\"\n },\n aggregators: {\n \"Numëro\": tpl.count(frFmtInt),\n \"Numëro vlerat unike\": tpl.countUnique(frFmtInt),\n \"Listo vlerat unike\": tpl.listUnique(\", \"),\n \"Shuma\": tpl.sum(frFmt),\n \"Shuma si numër i plotë\": tpl.sum(frFmtInt),\n \"Mesatarja\": tpl.average(frFmt),\n \"Minimumi\": tpl.min(frFmt),\n \"Maksimumi\": tpl.max(frFmt),\n \"Shuma mbi shumë\": tpl.sumOverSum(frFmt),\n \"80% kufiri i sipërm\": tpl.sumOverSumBound80(true, frFmt),\n \"80% kufiri i poshtëm\": tpl.sumOverSumBound80(false, frFmt),\n \"Shuma si thyesë e totalit\": tpl.fractionOf(tpl.sum(), \"total\", frFmtPct),\n \"Shuma si thyesë e rreshtave\": tpl.fractionOf(tpl.sum(), \"row\", frFmtPct),\n \"Shuma si thyesë e kolonave\": tpl.fractionOf(tpl.sum(), \"col\", frFmtPct),\n \"Numërimi si thyesë e totalit\": tpl.fractionOf(tpl.count(), \"total\", frFmtPct),\n \"Numërimi si thyesë e rreshtave\": tpl.fractionOf(tpl.count(), \"row\", frFmtPct),\n \"Numërimi si thyesë e kolonave\": tpl.fractionOf(tpl.count(), \"col\", frFmtPct)\n },\n renderers: {\n \"Tabela\": $.pivotUtilities.renderers[\"Table\"],\n \"Tabela me diagram vertikal\": $.pivotUtilities.renderers[\"Table Barchart\"],\n \"Heatmap\": $.pivotUtilities.renderers[\"Heatmap\"],\n \"Heatmap për rresht\": $.pivotUtilities.renderers[\"Row Heatmap\"],\n \"Heatmap për kolonë\": $.pivotUtilities.renderers[\"Col Heatmap\"]\n }\n };\n });\n\n}).call(this);\n\n//# sourceMappingURL=pivot.sq.js.map\n"]}
\ No newline at end of file
(function() {
var callWithJQuery;
callWithJQuery = function(pivotModule) {
if (typeof exports === "object" && typeof module === "object") {
return pivotModule(require("jquery"));
} else if (typeof define === "function" && define.amd) {
return define(["jquery"], pivotModule);
} else {
return pivotModule(jQuery);
}
};
callWithJQuery(function($) {
var c3r, d3r, frFmt, frFmtInt, frFmtPct, gcr, nf, r, tpl;
nf = $.pivotUtilities.numberFormat;
tpl = $.pivotUtilities.aggregatorTemplates;
r = $.pivotUtilities.renderers;
gcr = $.pivotUtilities.gchart_renderers;
d3r = $.pivotUtilities.d3_renderers;
c3r = $.pivotUtilities.c3_renderers;
frFmt = nf({
thousandsSep: ".",
decimalSep: ","
});
frFmtInt = nf({
digitsAfterDecimal: 0,
thousandsSep: ".",
decimalSep: ","
});
frFmtPct = nf({
digitsAfterDecimal: 2,
scaler: 100,
suffix: "%",
thousandsSep: ".",
decimalSep: ","
});
$.pivotUtilities.locales.tr = {
localeStrings: {
renderError: "PivotTable sonuçlarını oluştuturken hata oluştu",
computeError: "PivotTable sonuçlarını işlerken hata oluştu",
uiRenderError: "PivotTable UI sonuçlarını oluştuturken hata oluştu",
selectAll: "Tümünü Seç",
selectNone: "Tümünü Bırak",
tooMany: "(listelemek için fazla)",
filterResults: "Sonuçları filtrele",
totals: "Toplam",
vs: "vs",
by: "ile"
},
aggregators: {
"Sayı": tpl.count(frFmtInt),
"Benzersiz değerler sayısı": tpl.countUnique(frFmtInt),
"Benzersiz değerler listesi": tpl.listUnique(", "),
"Toplam": tpl.sum(frFmt),
"Toplam (tam sayı)": tpl.sum(frFmtInt),
"Ortalama": tpl.average(frFmt),
"Min": tpl.min(frFmt),
"Maks": tpl.max(frFmt),
"Miktarların toplamı": tpl.sumOverSum(frFmt),
"%80 daha yüksek": tpl.sumOverSumBound80(true, frFmt),
"%80 daha düşük": tpl.sumOverSumBound80(false, frFmt),
"Toplam oranı (toplam)": tpl.fractionOf(tpl.sum(), "total", frFmtPct),
"Satır oranı (toplam)": tpl.fractionOf(tpl.sum(), "row", frFmtPct),
"Sütunun oranı (toplam)": tpl.fractionOf(tpl.sum(), "col", frFmtPct),
"Toplam oranı (sayı)": tpl.fractionOf(tpl.count(), "total", frFmtPct),
"Satır oranı (sayı)": tpl.fractionOf(tpl.count(), "row", frFmtPct),
"Sütunun oranı (sayı)": tpl.fractionOf(tpl.count(), "col", frFmtPct)
},
renderers: {
"Tablo": r["Table"],
"Tablo (Çubuklar)": r["Table Barchart"],
"İlgi haritası": r["Heatmap"],
"Satır ilgi haritası": r["Row Heatmap"],
"Sütun ilgi haritası": r["Col Heatmap"]
}
};
if (gcr) {
$.pivotUtilities.locales.tr.gchart_renderers = {
"Çizgi Grafiği": gcr["Line Chart"],
"Bar Grafiği": gcr["Bar Chart"],
"Yığılmış Çubuk Grafik ": gcr["Stacked Bar Chart"],
"Alan Grafiği": gcr["Area Chart"]
};
}
if (d3r) {
$.pivotUtilities.locales.tr.d3_renderers = {
"Hiyerarşik Alan Grafiği (Treemap)": d3r["Treemap"]
};
}
if (c3r) {
$.pivotUtilities.locales.tr.c3_renderers = {
"Çizgi Grafiği": c3r["Line Chart"],
"Bar Grafiği": c3r["Bar Chart"],
"Yığılmış Çubuk Grafik ": c3r["Stacked Bar Chart"],
"Alan Grafiği": c3r["Area Chart"]
};
}
return $.pivotUtilities.locales.tr;
});
}).call(this);
//# sourceMappingURL=pivot.tr.js.map
{"version":3,"file":"pivot.tr.js","sources":["pivot.tr.coffee"],"names":[],"mappings":"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","sourcesContent":["callWithJQuery = (pivotModule) ->\n if typeof exports is \"object\" and typeof module is \"object\" # CommonJS\n pivotModule require(\"jquery\")\n else if typeof define is \"function\" and define.amd # AMD\n define [\"jquery\"], pivotModule\n# Plain browser env\n else\n pivotModule jQuery\n\ncallWithJQuery ($) ->\n nf = $.pivotUtilities.numberFormat\n tpl = $.pivotUtilities.aggregatorTemplates\n r = $.pivotUtilities.renderers\n gcr = $.pivotUtilities.gchart_renderers\n d3r = $.pivotUtilities.d3_renderers\n c3r = $.pivotUtilities.c3_renderers\n\n frFmt = nf(thousandsSep: \".\", decimalSep: \",\")\n frFmtInt = nf(digitsAfterDecimal: 0, thousandsSep: \".\", decimalSep: \",\")\n frFmtPct = nf(digitsAfterDecimal: 2, scaler: 100, suffix: \"%\", thousandsSep: \".\", decimalSep: \",\")\n\n $.pivotUtilities.locales.tr =\n\n localeStrings:\n renderError: \"PivotTable sonuçlarını oluştuturken hata oluştu\"\n computeError: \"PivotTable sonuçlarını işlerken hata oluştu\"\n uiRenderError: \"PivotTable UI sonuçlarını oluştuturken hata oluştu\"\n selectAll: \"Tümünü Seç\"\n selectNone: \"Tümünü Bırak\"\n tooMany: \"(listelemek için fazla)\"\n filterResults: \"Sonuçları filtrele\"\n totals: \"Toplam\"\n vs: \"vs\"\n by: \"ile\"\n\n aggregators:\n \"Sayı\": tpl.count(frFmtInt)\n \"Benzersiz değerler sayısı\": tpl.countUnique(frFmtInt)\n \"Benzersiz değerler listesi\": tpl.listUnique(\", \")\n \"Toplam\": tpl.sum(frFmt)\n \"Toplam (tam sayı)\": tpl.sum(frFmtInt)\n \"Ortalama\": tpl.average(frFmt)\n \"Min\": tpl.min(frFmt)\n \"Maks\": tpl.max(frFmt)\n \"Miktarların toplamı\": tpl.sumOverSum(frFmt)\n \"%80 daha yüksek\": tpl.sumOverSumBound80(true, frFmt)\n \"%80 daha düşük\": tpl.sumOverSumBound80(false, frFmt)\n \"Toplam oranı (toplam)\": tpl.fractionOf(tpl.sum(), \"total\", frFmtPct)\n \"Satır oranı (toplam)\": tpl.fractionOf(tpl.sum(), \"row\", frFmtPct)\n \"Sütunun oranı (toplam)\": tpl.fractionOf(tpl.sum(), \"col\", frFmtPct)\n \"Toplam oranı (sayı)\": tpl.fractionOf(tpl.count(), \"total\", frFmtPct)\n \"Satır oranı (sayı)\": tpl.fractionOf(tpl.count(), \"row\", frFmtPct)\n \"Sütunun oranı (sayı)\": tpl.fractionOf(tpl.count(), \"col\", frFmtPct)\n\n renderers:\n \"Tablo\": r[\"Table\"]\n \"Tablo (Çubuklar)\": r[\"Table Barchart\"]\n \"İlgi haritası\": r[\"Heatmap\"]\n \"Satır ilgi haritası\": r[\"Row Heatmap\"]\n \"Sütun ilgi haritası\": r[\"Col Heatmap\"]\n if gcr\n $.pivotUtilities.locales.tr.gchart_renderers =\n \"Çizgi Grafiği\": gcr[\"Line Chart\"]\n \"Bar Grafiği\": gcr[\"Bar Chart\"]\n \"Yığılmış Çubuk Grafik \": gcr[\"Stacked Bar Chart\"]\n \"Alan Grafiği\": gcr[\"Area Chart\"]\n\n if d3r\n $.pivotUtilities.locales.tr.d3_renderers =\n \"Hiyerarşik Alan Grafiği (Treemap)\": d3r[\"Treemap\"]\n\n if c3r\n $.pivotUtilities.locales.tr.c3_renderers =\n \"Çizgi Grafiği\": c3r[\"Line Chart\"]\n \"Bar Grafiği\": c3r[\"Bar Chart\"]\n \"Yığılmış Çubuk Grafik \": c3r[\"Stacked Bar Chart\"]\n \"Alan Grafiği\": c3r[\"Area Chart\"]\n\n return $.pivotUtilities.locales.tr\n\n"]}
\ No newline at end of file
(function(){var a;(a=function(a){return"object"==typeof exports&&"object"==typeof module?a(require("jquery")):"function"==typeof define&&define.amd?define(["jquery"],a):a(jQuery)})(function(a){var e,r,t,i,l,o,n,s,u;return n=a.pivotUtilities.numberFormat,u=a.pivotUtilities.aggregatorTemplates,s=a.pivotUtilities.renderers,o=a.pivotUtilities.gchart_renderers,r=a.pivotUtilities.d3_renderers,e=a.pivotUtilities.c3_renderers,t=n({thousandsSep:".",decimalSep:","}),i=n({digitsAfterDecimal:0,thousandsSep:".",decimalSep:","}),l=n({digitsAfterDecimal:2,scaler:100,suffix:"%",thousandsSep:".",decimalSep:","}),a.pivotUtilities.locales.tr={localeStrings:{renderError:"PivotTable sonuçlarını oluştuturken hata oluştu",computeError:"PivotTable sonuçlarını işlerken hata oluştu",uiRenderError:"PivotTable UI sonuçlarını oluştuturken hata oluştu",selectAll:"Tümünü Seç",selectNone:"Tümünü Bırak",tooMany:"(listelemek için fazla)",filterResults:"Sonuçları filtrele",totals:"Toplam",vs:"vs",by:"ile"},aggregators:{"Sayı":u.count(i),"Benzersiz değerler sayısı":u.countUnique(i),"Benzersiz değerler listesi":u.listUnique(", "),Toplam:u.sum(t),"Toplam (tam sayı)":u.sum(i),Ortalama:u.average(t),Min:u.min(t),Maks:u.max(t),"Miktarların toplamı":u.sumOverSum(t),"%80 daha yüksek":u.sumOverSumBound80(!0,t),"%80 daha düşük":u.sumOverSumBound80(!1,t),"Toplam oranı (toplam)":u.fractionOf(u.sum(),"total",l),"Satır oranı (toplam)":u.fractionOf(u.sum(),"row",l),"Sütunun oranı (toplam)":u.fractionOf(u.sum(),"col",l),"Toplam oranı (sayı)":u.fractionOf(u.count(),"total",l),"Satır oranı (sayı)":u.fractionOf(u.count(),"row",l),"Sütunun oranı (sayı)":u.fractionOf(u.count(),"col",l)},renderers:{Tablo:s.Table,"Tablo (Çubuklar)":s["Table Barchart"],"İlgi haritası":s.Heatmap,"Satır ilgi haritası":s["Row Heatmap"],"Sütun ilgi haritası":s["Col Heatmap"]}},o&&(a.pivotUtilities.locales.tr.gchart_renderers={"Çizgi Grafiği":o["Line Chart"],"Bar Grafiği":o["Bar Chart"],"Yığılmış Çubuk Grafik ":o["Stacked Bar Chart"],"Alan Grafiği":o["Area Chart"]}),r&&(a.pivotUtilities.locales.tr.d3_renderers={"Hiyerarşik Alan Grafiği (Treemap)":r.Treemap}),e&&(a.pivotUtilities.locales.tr.c3_renderers={"Çizgi Grafiği":e["Line Chart"],"Bar Grafiği":e["Bar Chart"],"Yığılmış Çubuk Grafik ":e["Stacked Bar Chart"],"Alan Grafiği":e["Area Chart"]}),a.pivotUtilities.locales.tr})}).call(this);
//# sourceMappingURL=pivot.tr.min.js.map
{"version":3,"sources":["pivot.tr.coffee","pivot.tr.min.js"],"names":["callWithJQuery","pivotModule","exports","module","require","define","amd","jQuery","$","c3r","d3r","frFmt","frFmtInt","frFmtPct","gcr","nf","r","tpl","pivotUtilities","numberFormat","aggregatorTemplates","renderers","gchart_renderers","d3_renderers","c3_renderers","thousandsSep","decimalSep","digitsAfterDecimal","scaler","suffix","locales","tr","localeStrings","renderError","computeError","uiRenderError","selectAll","selectNone","tooMany","filterResults","totals","vs","by","aggregators","Sayı","count","Benzersiz değerler sayısı","countUnique","Benzersiz değerler listesi","listUnique","Toplam","sum","Toplam (tam sayı)","Ortalama","average","Min","min","Maks","max","Miktarların toplamı","sumOverSum","%80 daha yüksek","sumOverSumBound80","%80 daha düşük","Toplam oranı (toplam)","fractionOf","Satır oranı (toplam)","Sütunun oranı (toplam)","Toplam oranı (sayı)","Satır oranı (sayı)","Sütunun oranı (sayı)","Tablo","Tablo (Çubuklar)","İlgi haritası","Satır ilgi haritası","Sütun ilgi haritası","Çizgi Grafiği","Bar Grafiği","Yığılmış Çubuk Grafik ","Alan Grafiği","Hiyerarşik Alan Grafiği (Treemap)","call","this"],"mappings":"CAAA,WAAA,GAAAA,IAAAA,EAAiB,SAACC,GAChB,MAAqB,gBAAXC,UAAyC,gBAAVC,QACvCF,EAAYG,QAAQ,WACG,kBAAVC,SAAyBA,OAAOC,IAC7CD,QAAQ,UAAWJ,GAGnBA,EAAYM,UAED,SAACC,GACd,GAAAC,GAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,CAoEA,OApEAF,GAAKP,EAAEU,eAAeC,aACtBF,EAAMT,EAAEU,eAAeE,oBACvBJ,EAAIR,EAAEU,eAAeG,UACrBP,EAAMN,EAAEU,eAAeI,iBACvBZ,EAAMF,EAAEU,eAAeK,aACvBd,EAAMD,EAAEU,eAAeM,aAEvBb,EAAQI,GAAGU,aAAc,IAAKC,WAAY,MAC1Cd,EAAWG,GAAGY,mBAAoB,EAAGF,aAAc,IAAKC,WAAY,MACpEb,EAAWE,GAAGY,mBAAoB,EAAGC,OAAQ,IAAKC,OAAQ,IAAKJ,aAAc,IAAKC,WAAY,MAE9FlB,EAAEU,eAAeY,QAAQC,IAEvBC,eACEC,YAAa,kDACbC,aAAc,8CACdC,cAAe,qDACfC,UAAW,aACXC,WAAY,eACZC,QAAS,0BACTC,cAAe,qBACfC,OAAQ,SACRC,GAAI,KACJC,GAAI,OAENC,aACEC,OAAQ3B,EAAI4B,MAAMjC,GAClBkC,4BAA6B7B,EAAI8B,YAAYnC,GAC7CoC,6BAA8B/B,EAAIgC,WAAW,MAC7CC,OAAUjC,EAAIkC,IAAIxC,GAClByC,oBAAqBnC,EAAIkC,IAAIvC,GAC7ByC,SAAYpC,EAAIqC,QAAQ3C,GACxB4C,IAAOtC,EAAIuC,IAAI7C,GACf8C,KAAQxC,EAAIyC,IAAI/C,GAChBgD,sBAAuB1C,EAAI2C,WAAWjD,GACtCkD,kBAAmB5C,EAAI6C,mBAAkB,EAAMnD,GAC/CoD,iBAAkB9C,EAAI6C,mBAAkB,EAAOnD,GAC/CqD,wBAAyB/C,EAAIgD,WAAWhD,EAAIkC,MAAO,QAAStC,GAC5DqD,uBAAwBjD,EAAIgD,WAAWhD,EAAIkC,MAAO,MAAOtC,GACzDsD,yBAA0BlD,EAAIgD,WAAWhD,EAAIkC,MAAO,MAAOtC,GAC3DuD,sBAAuBnD,EAAIgD,WAAWhD,EAAI4B,QAAS,QAAShC,GAC5DwD,qBAAsBpD,EAAIgD,WAAWhD,EAAI4B,QAAS,MAAOhC,GACzDyD,uBAAwBrD,EAAIgD,WAAWhD,EAAI4B,QAAS,MAAOhC,IAE7DQ,WACEkD,MAASvD,EAAE,MACXwD,mBAAoBxD,EAAE,kBACtByD,gBAAiBzD,EAAE,QACnB0D,sBAAuB1D,EAAE,eACzB2D,sBAAuB3D,EAAE,iBAC1BF,IACDN,EAAEU,eAAeY,QAAQC,GAAGT,kBAC1BsD,gBAAiB9D,EAAI,cACrB+D,cAAe/D,EAAI,aACnBgE,yBAA0BhE,EAAI,qBAC9BiE,eAAgBjE,EAAI,gBAErBJ,IACDF,EAAEU,eAAeY,QAAQC,GAAGR,cAC1ByD,oCAAqCtE,EAAI,UAE1CD,IACDD,EAAEU,eAAeY,QAAQC,GAAGP,cAC1BoD,gBAAiBnE,EAAI,cACrBoE,cAAepE,EAAI,aACnBqE,yBAA0BrE,EAAI,qBAC9BsE,eAAgBtE,EAAI,gBAEjBD,EAAEU,eAAeY,QAAQC,OCuB/BkD,KAAKC","file":"pivot.tr.min.js","sourcesContent":["callWithJQuery = (pivotModule) ->\n if typeof exports is \"object\" and typeof module is \"object\" # CommonJS\n pivotModule require(\"jquery\")\n else if typeof define is \"function\" and define.amd # AMD\n define [\"jquery\"], pivotModule\n# Plain browser env\n else\n pivotModule jQuery\n\ncallWithJQuery ($) ->\n nf = $.pivotUtilities.numberFormat\n tpl = $.pivotUtilities.aggregatorTemplates\n r = $.pivotUtilities.renderers\n gcr = $.pivotUtilities.gchart_renderers\n d3r = $.pivotUtilities.d3_renderers\n c3r = $.pivotUtilities.c3_renderers\n\n frFmt = nf(thousandsSep: \".\", decimalSep: \",\")\n frFmtInt = nf(digitsAfterDecimal: 0, thousandsSep: \".\", decimalSep: \",\")\n frFmtPct = nf(digitsAfterDecimal: 2, scaler: 100, suffix: \"%\", thousandsSep: \".\", decimalSep: \",\")\n\n $.pivotUtilities.locales.tr =\n\n localeStrings:\n renderError: \"PivotTable sonuçlarını oluştuturken hata oluştu\"\n computeError: \"PivotTable sonuçlarını işlerken hata oluştu\"\n uiRenderError: \"PivotTable UI sonuçlarını oluştuturken hata oluştu\"\n selectAll: \"Tümünü Seç\"\n selectNone: \"Tümünü Bırak\"\n tooMany: \"(listelemek için fazla)\"\n filterResults: \"Sonuçları filtrele\"\n totals: \"Toplam\"\n vs: \"vs\"\n by: \"ile\"\n\n aggregators:\n \"Sayı\": tpl.count(frFmtInt)\n \"Benzersiz değerler sayısı\": tpl.countUnique(frFmtInt)\n \"Benzersiz değerler listesi\": tpl.listUnique(\", \")\n \"Toplam\": tpl.sum(frFmt)\n \"Toplam (tam sayı)\": tpl.sum(frFmtInt)\n \"Ortalama\": tpl.average(frFmt)\n \"Min\": tpl.min(frFmt)\n \"Maks\": tpl.max(frFmt)\n \"Miktarların toplamı\": tpl.sumOverSum(frFmt)\n \"%80 daha yüksek\": tpl.sumOverSumBound80(true, frFmt)\n \"%80 daha düşük\": tpl.sumOverSumBound80(false, frFmt)\n \"Toplam oranı (toplam)\": tpl.fractionOf(tpl.sum(), \"total\", frFmtPct)\n \"Satır oranı (toplam)\": tpl.fractionOf(tpl.sum(), \"row\", frFmtPct)\n \"Sütunun oranı (toplam)\": tpl.fractionOf(tpl.sum(), \"col\", frFmtPct)\n \"Toplam oranı (sayı)\": tpl.fractionOf(tpl.count(), \"total\", frFmtPct)\n \"Satır oranı (sayı)\": tpl.fractionOf(tpl.count(), \"row\", frFmtPct)\n \"Sütunun oranı (sayı)\": tpl.fractionOf(tpl.count(), \"col\", frFmtPct)\n\n renderers:\n \"Tablo\": r[\"Table\"]\n \"Tablo (Çubuklar)\": r[\"Table Barchart\"]\n \"İlgi haritası\": r[\"Heatmap\"]\n \"Satır ilgi haritası\": r[\"Row Heatmap\"]\n \"Sütun ilgi haritası\": r[\"Col Heatmap\"]\n if gcr\n $.pivotUtilities.locales.tr.gchart_renderers =\n \"Çizgi Grafiği\": gcr[\"Line Chart\"]\n \"Bar Grafiği\": gcr[\"Bar Chart\"]\n \"Yığılmış Çubuk Grafik \": gcr[\"Stacked Bar Chart\"]\n \"Alan Grafiği\": gcr[\"Area Chart\"]\n\n if d3r\n $.pivotUtilities.locales.tr.d3_renderers =\n \"Hiyerarşik Alan Grafiği (Treemap)\": d3r[\"Treemap\"]\n\n if c3r\n $.pivotUtilities.locales.tr.c3_renderers =\n \"Çizgi Grafiği\": c3r[\"Line Chart\"]\n \"Bar Grafiği\": c3r[\"Bar Chart\"]\n \"Yığılmış Çubuk Grafik \": c3r[\"Stacked Bar Chart\"]\n \"Alan Grafiği\": c3r[\"Area Chart\"]\n\n return $.pivotUtilities.locales.tr\n\n","(function() {\n var callWithJQuery;\n\n callWithJQuery = function(pivotModule) {\n if (typeof exports === \"object\" && typeof module === \"object\") {\n return pivotModule(require(\"jquery\"));\n } else if (typeof define === \"function\" && define.amd) {\n return define([\"jquery\"], pivotModule);\n } else {\n return pivotModule(jQuery);\n }\n };\n\n callWithJQuery(function($) {\n var c3r, d3r, frFmt, frFmtInt, frFmtPct, gcr, nf, r, tpl;\n nf = $.pivotUtilities.numberFormat;\n tpl = $.pivotUtilities.aggregatorTemplates;\n r = $.pivotUtilities.renderers;\n gcr = $.pivotUtilities.gchart_renderers;\n d3r = $.pivotUtilities.d3_renderers;\n c3r = $.pivotUtilities.c3_renderers;\n frFmt = nf({\n thousandsSep: \".\",\n decimalSep: \",\"\n });\n frFmtInt = nf({\n digitsAfterDecimal: 0,\n thousandsSep: \".\",\n decimalSep: \",\"\n });\n frFmtPct = nf({\n digitsAfterDecimal: 2,\n scaler: 100,\n suffix: \"%\",\n thousandsSep: \".\",\n decimalSep: \",\"\n });\n $.pivotUtilities.locales.tr = {\n localeStrings: {\n renderError: \"PivotTable sonuçlarını oluştuturken hata oluştu\",\n computeError: \"PivotTable sonuçlarını işlerken hata oluştu\",\n uiRenderError: \"PivotTable UI sonuçlarını oluştuturken hata oluştu\",\n selectAll: \"Tümünü Seç\",\n selectNone: \"Tümünü Bırak\",\n tooMany: \"(listelemek için fazla)\",\n filterResults: \"Sonuçları filtrele\",\n totals: \"Toplam\",\n vs: \"vs\",\n by: \"ile\"\n },\n aggregators: {\n \"Sayı\": tpl.count(frFmtInt),\n \"Benzersiz değerler sayısı\": tpl.countUnique(frFmtInt),\n \"Benzersiz değerler listesi\": tpl.listUnique(\", \"),\n \"Toplam\": tpl.sum(frFmt),\n \"Toplam (tam sayı)\": tpl.sum(frFmtInt),\n \"Ortalama\": tpl.average(frFmt),\n \"Min\": tpl.min(frFmt),\n \"Maks\": tpl.max(frFmt),\n \"Miktarların toplamı\": tpl.sumOverSum(frFmt),\n \"%80 daha yüksek\": tpl.sumOverSumBound80(true, frFmt),\n \"%80 daha düşük\": tpl.sumOverSumBound80(false, frFmt),\n \"Toplam oranı (toplam)\": tpl.fractionOf(tpl.sum(), \"total\", frFmtPct),\n \"Satır oranı (toplam)\": tpl.fractionOf(tpl.sum(), \"row\", frFmtPct),\n \"Sütunun oranı (toplam)\": tpl.fractionOf(tpl.sum(), \"col\", frFmtPct),\n \"Toplam oranı (sayı)\": tpl.fractionOf(tpl.count(), \"total\", frFmtPct),\n \"Satır oranı (sayı)\": tpl.fractionOf(tpl.count(), \"row\", frFmtPct),\n \"Sütunun oranı (sayı)\": tpl.fractionOf(tpl.count(), \"col\", frFmtPct)\n },\n renderers: {\n \"Tablo\": r[\"Table\"],\n \"Tablo (Çubuklar)\": r[\"Table Barchart\"],\n \"İlgi haritası\": r[\"Heatmap\"],\n \"Satır ilgi haritası\": r[\"Row Heatmap\"],\n \"Sütun ilgi haritası\": r[\"Col Heatmap\"]\n }\n };\n if (gcr) {\n $.pivotUtilities.locales.tr.gchart_renderers = {\n \"Çizgi Grafiği\": gcr[\"Line Chart\"],\n \"Bar Grafiği\": gcr[\"Bar Chart\"],\n \"Yığılmış Çubuk Grafik \": gcr[\"Stacked Bar Chart\"],\n \"Alan Grafiği\": gcr[\"Area Chart\"]\n };\n }\n if (d3r) {\n $.pivotUtilities.locales.tr.d3_renderers = {\n \"Hiyerarşik Alan Grafiği (Treemap)\": d3r[\"Treemap\"]\n };\n }\n if (c3r) {\n $.pivotUtilities.locales.tr.c3_renderers = {\n \"Çizgi Grafiği\": c3r[\"Line Chart\"],\n \"Bar Grafiği\": c3r[\"Bar Chart\"],\n \"Yığılmış Çubuk Grafik \": c3r[\"Stacked Bar Chart\"],\n \"Alan Grafiği\": c3r[\"Area Chart\"]\n };\n }\n return $.pivotUtilities.locales.tr;\n });\n\n}).call(this);\n\n//# sourceMappingURL=pivot.tr.js.map\n"]}
\ No newline at end of file
(function() {
var callWithJQuery;
callWithJQuery = function(pivotModule) {
if (typeof exports === "object" && typeof module === "object") {
return pivotModule(require("jquery"));
} else if (typeof define === "function" && define.amd) {
return define(["jquery"], pivotModule);
} else {
return pivotModule(jQuery);
}
};
callWithJQuery(function($) {
var c3r, d3r, frFmt, frFmtInt, frFmtPct, gcr, nf, r, tpl;
nf = $.pivotUtilities.numberFormat;
tpl = $.pivotUtilities.aggregatorTemplates;
r = $.pivotUtilities.renderers;
gcr = $.pivotUtilities.gchart_renderers;
d3r = $.pivotUtilities.d3_renderers;
c3r = $.pivotUtilities.c3_renderers;
frFmt = nf({
thousandsSep: ",",
decimalSep: "."
});
frFmtInt = nf({
digitsAfterDecimal: 0,
thousandsSep: ",",
decimalSep: "."
});
frFmtPct = nf({
digitsAfterDecimal: 2,
scaler: 100,
suffix: "%",
thousandsSep: ",",
decimalSep: "."
});
$.pivotUtilities.locales.zh = {
localeStrings: {
renderError: "展示结果时出错。",
computeError: "计算结果时出错。",
uiRenderError: "展示界面时出错。",
selectAll: "选择全部",
selectNone: "全部不选",
tooMany: "(因数据过多而无法列出)",
filterResults: "输入值帮助筛选",
totals: "合计",
vs: "于",
by: "分组于"
},
aggregators: {
"频数": tpl.count(frFmtInt),
"非重复值的个数": tpl.countUnique(frFmtInt),
"列出非重复值": tpl.listUnique(", "),
"求和": tpl.sum(frFmt),
"求和后取整": tpl.sum(frFmtInt),
"平均值": tpl.average(frFmt),
"最小值": tpl.min(frFmt),
"最大值": tpl.max(frFmt),
"两和之比": tpl.sumOverSum(frFmt),
"二项分布:置信度为80%时的区间上限": tpl.sumOverSumBound80(true, frFmt),
"二项分布:置信度为80%时的区间下限": tpl.sumOverSumBound80(false, frFmt),
"和在总计中的比例": tpl.fractionOf(tpl.sum(), "total", frFmtPct),
"和在行合计中的比例": tpl.fractionOf(tpl.sum(), "row", frFmtPct),
"和在列合计中的比例": tpl.fractionOf(tpl.sum(), "col", frFmtPct),
"频数在总计中的比例": tpl.fractionOf(tpl.count(), "total", frFmtPct),
"频数在行合计中的比例": tpl.fractionOf(tpl.count(), "row", frFmtPct),
"频数在列合计中的比例": tpl.fractionOf(tpl.count(), "col", frFmtPct)
},
renderers: {
"表格": r["Table"],
"表格内柱状图": r["Table Barchart"],
"热图": r["Heatmap"],
"行热图": r["Row Heatmap"],
"列热图": r["Col Heatmap"]
}
};
if (gcr) {
$.pivotUtilities.locales.zh.gchart_renderers = {
"折线图(g)": gcr["Line Chart"],
"柱形图(g)": gcr["Bar Chart"],
"堆栈柱形图(g)": gcr["Stacked Bar Chart"],
"面积图(g)": gcr["Area Chart"]
};
$.pivotUtilities.locales.zh.renderers = $.extend($.pivotUtilities.locales.zh.renderers, $.pivotUtilities.locales.zh.gchart_renderers);
}
if (d3r) {
$.pivotUtilities.locales.zh.d3_renderers = {
"树图": d3r["Treemap"]
};
$.pivotUtilities.locales.zh.renderers = $.extend($.pivotUtilities.locales.zh.renderers, $.pivotUtilities.locales.zh.d3_renderers);
}
if (c3r) {
$.pivotUtilities.locales.zh.c3_renderers = {
"折线图": c3r["Line Chart"],
"柱形图": c3r["Bar Chart"],
"堆栈柱形图": c3r["Stacked Bar Chart"],
"面积图": c3r["Area Chart"],
"散点图": c3r["Scatter Chart"]
};
$.pivotUtilities.locales.zh.renderers = $.extend($.pivotUtilities.locales.zh.renderers, $.pivotUtilities.locales.zh.c3_renderers);
}
return $.pivotUtilities.locales.zh;
});
}).call(this);
//# sourceMappingURL=pivot.zh.js.map
{"version":3,"file":"pivot.zh.js","sources":["pivot.zh.coffee"],"names":[],"mappings":"AAEA;AAAA,MAAA;;EAAA,cAAA,GAAiB,SAAC,WAAD;IACb,IAAG,OAAO,OAAP,KAAkB,QAAlB,IAA+B,OAAO,MAAP,KAAiB,QAAnD;aACI,WAAA,CAAY,OAAA,CAAQ,QAAR,CAAZ,EADJ;KAAA,MAEK,IAAG,OAAO,MAAP,KAAiB,UAAjB,IAAgC,MAAM,CAAC,GAA1C;aACD,MAAA,CAAO,CAAC,QAAD,CAAP,EAAmB,WAAnB,EADC;KAAA,MAAA;aAID,WAAA,CAAY,MAAZ,EAJC;;EAHQ;;EASjB,cAAA,CAAe,SAAC,CAAD;AACX,QAAA;IAAA,EAAA,GAAK,CAAC,CAAC,cAAc,CAAC;IACtB,GAAA,GAAM,CAAC,CAAC,cAAc,CAAC;IACvB,CAAA,GAAI,CAAC,CAAC,cAAc,CAAC;IACrB,GAAA,GAAM,CAAC,CAAC,cAAc,CAAC;IACvB,GAAA,GAAM,CAAC,CAAC,cAAc,CAAC;IACvB,GAAA,GAAM,CAAC,CAAC,cAAc,CAAC;IAEvB,KAAA,GAAW,EAAA,CAAG;MAAA,YAAA,EAAc,GAAd;MAAmB,UAAA,EAAY,GAA/B;KAAH;IACX,QAAA,GAAW,EAAA,CAAG;MAAA,kBAAA,EAAoB,CAApB;MAAuB,YAAA,EAAc,GAArC;MAA0C,UAAA,EAAY,GAAtD;KAAH;IACX,QAAA,GAAW,EAAA,CAAG;MAAA,kBAAA,EAAoB,CAApB;MAAuB,MAAA,EAAQ,GAA/B;MAAoC,MAAA,EAAQ,GAA5C;MAAiD,YAAA,EAAc,GAA/D;MAAoE,UAAA,EAAY,GAAhF;KAAH;IAEX,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC,EAAzB,GAEI;MAAA,aAAA,EACI;QAAA,WAAA,EAAa,UAAb;QACA,YAAA,EAAc,UADd;QAEA,aAAA,EAAe,UAFf;QAGA,SAAA,EAAW,MAHX;QAIA,UAAA,EAAY,MAJZ;QAKA,OAAA,EAAS,cALT;QAMA,aAAA,EAAe,SANf;QAOA,MAAA,EAAQ,IAPR;QAQA,EAAA,EAAI,GARJ;QASA,EAAA,EAAI,KATJ;OADJ;MAYA,WAAA,EACI;QAAA,IAAA,EAA0C,GAAG,CAAC,KAAJ,CAAU,QAAV,CAA1C;QACA,SAAA,EAAsB,GAAG,CAAC,WAAJ,CAAgB,QAAhB,CADtB;QAEA,QAAA,EAAwB,GAAG,CAAC,UAAJ,CAAe,IAAf,CAFxB;QAGA,IAAA,EAA8C,GAAG,CAAC,GAAJ,CAAQ,KAAR,CAH9C;QAIA,OAAA,EAAqC,GAAG,CAAC,GAAJ,CAAQ,QAAR,CAJrC;QAKA,KAAA,EAA8C,GAAG,CAAC,OAAJ,CAAY,KAAZ,CAL9C;QAMA,KAAA,EAA6C,GAAG,CAAC,GAAJ,CAAQ,KAAR,CAN7C;QAOA,KAAA,EAA6C,GAAG,CAAC,GAAJ,CAAQ,KAAR,CAP7C;QAQA,MAAA,EAAqC,GAAG,CAAC,UAAJ,CAAe,KAAf,CARrC;QASA,oBAAA,EAA6C,GAAG,CAAC,iBAAJ,CAAsB,IAAtB,EAA4B,KAA5B,CAT7C;QAUA,oBAAA,EAA6C,GAAG,CAAC,iBAAJ,CAAsB,KAAtB,EAA6B,KAA7B,CAV7C;QAWA,UAAA,EAAiB,GAAG,CAAC,UAAJ,CAAe,GAAG,CAAC,GAAJ,CAAA,CAAf,EAA4B,OAA5B,EAAqC,QAArC,CAXjB;QAYA,WAAA,EAAkB,GAAG,CAAC,UAAJ,CAAe,GAAG,CAAC,GAAJ,CAAA,CAAf,EAA4B,KAA5B,EAAqC,QAArC,CAZlB;QAaA,WAAA,EAAiB,GAAG,CAAC,UAAJ,CAAe,GAAG,CAAC,GAAJ,CAAA,CAAf,EAA4B,KAA5B,EAAqC,QAArC,CAbjB;QAcA,WAAA,EAAc,GAAG,CAAC,UAAJ,CAAe,GAAG,CAAC,KAAJ,CAAA,CAAf,EAA4B,OAA5B,EAAqC,QAArC,CAdd;QAeA,YAAA,EAAe,GAAG,CAAC,UAAJ,CAAe,GAAG,CAAC,KAAJ,CAAA,CAAf,EAA4B,KAA5B,EAAqC,QAArC,CAff;QAgBA,YAAA,EAAc,GAAG,CAAC,UAAJ,CAAe,GAAG,CAAC,KAAJ,CAAA,CAAf,EAA4B,KAA5B,EAAqC,QAArC,CAhBd;OAbJ;MA+BA,SAAA,EACI;QAAA,IAAA,EAAM,CAAE,CAAA,OAAA,CAAR;QACA,QAAA,EAAU,CAAE,CAAA,gBAAA,CADZ;QAEA,IAAA,EAAM,CAAE,CAAA,SAAA,CAFR;QAGA,KAAA,EAAO,CAAE,CAAA,aAAA,CAHT;QAIA,KAAA,EAAO,CAAE,CAAA,aAAA,CAJT;OAhCJ;;IAsCJ,IAAG,GAAH;MACI,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE,CAAC,gBAA5B,GACI;QAAA,QAAA,EAAqB,GAAI,CAAA,YAAA,CAAzB;QACA,QAAA,EAAqB,GAAI,CAAA,WAAA,CADzB;QAEA,UAAA,EAAY,GAAI,CAAA,mBAAA,CAFhB;QAGA,QAAA,EAAgB,GAAI,CAAA,YAAA,CAHpB;;MAIJ,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE,CAAC,SAA5B,GAAwC,CAAC,CAAC,MAAF,CACpC,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE,CAAC,SADQ,EAEpC,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE,CAAC,gBAFQ,EAN5C;;IAUA,IAAG,GAAH;MACI,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE,CAAC,YAA5B,GACI;QAAA,IAAA,EAAM,GAAI,CAAA,SAAA,CAAV;;MACJ,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE,CAAC,SAA5B,GAAwC,CAAC,CAAC,MAAF,CACpC,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE,CAAC,SADQ,EAEpC,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE,CAAC,YAFQ,EAH5C;;IAOA,IAAG,GAAH;MACI,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE,CAAC,YAA5B,GACI;QAAA,KAAA,EAAO,GAAI,CAAA,YAAA,CAAX;QACA,KAAA,EAAO,GAAI,CAAA,WAAA,CADX;QAEA,OAAA,EAAS,GAAI,CAAA,mBAAA,CAFb;QAGA,KAAA,EAAO,GAAI,CAAA,YAAA,CAHX;QAIA,KAAA,EAAO,GAAI,CAAA,eAAA,CAJX;;MAKJ,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE,CAAC,SAA5B,GAAwC,CAAC,CAAC,MAAF,CACpC,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE,CAAC,SADQ,EAEpC,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE,CAAC,YAFQ,EAP5C;;AAWA,WAAO,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC;EAhFrB,CAAf;AATA","sourcesContent":["# example: http://zhoulvjun.github.io/2016/02/08/pivottable/\r\n\r\ncallWithJQuery = (pivotModule) ->\r\n if typeof exports is \"object\" and typeof module is \"object\" # CommonJS\r\n pivotModule require(\"jquery\")\r\n else if typeof define is \"function\" and define.amd # AMD\r\n define [\"jquery\"], pivotModule\r\n # Plain browser env\r\n else\r\n pivotModule jQuery\r\n \r\ncallWithJQuery ($) ->\r\n nf = $.pivotUtilities.numberFormat\r\n tpl = $.pivotUtilities.aggregatorTemplates\r\n r = $.pivotUtilities.renderers\r\n gcr = $.pivotUtilities.gchart_renderers\r\n d3r = $.pivotUtilities.d3_renderers\r\n c3r = $.pivotUtilities.c3_renderers\r\n\r\n frFmt = nf(thousandsSep: \",\", decimalSep: \".\")\r\n frFmtInt = nf(digitsAfterDecimal: 0, thousandsSep: \",\", decimalSep: \".\")\r\n frFmtPct = nf(digitsAfterDecimal: 2, scaler: 100, suffix: \"%\", thousandsSep: \",\", decimalSep: \".\")\r\n\r\n $.pivotUtilities.locales.zh = \r\n\r\n localeStrings:\r\n renderError: \"展示结果时出错。\"\r\n computeError: \"计算结果时出错。\"\r\n uiRenderError: \"展示界面时出错。\"\r\n selectAll: \"选择全部\"\r\n selectNone: \"全部不选\"\r\n tooMany: \"(因数据过多而无法列出)\"\r\n filterResults: \"输入值帮助筛选\"\r\n totals: \"合计\"\r\n vs: \"于\"\r\n by: \"分组于\"\r\n\r\n aggregators:\r\n \"频数\": tpl.count(frFmtInt)\r\n \"非重复值的个数\": tpl.countUnique(frFmtInt)\r\n \"列出非重复值\": tpl.listUnique(\", \")\r\n \"求和\": tpl.sum(frFmt)\r\n \"求和后取整\": tpl.sum(frFmtInt)\r\n \"平均值\": tpl.average(frFmt)\r\n \"最小值\": tpl.min(frFmt)\r\n \"最大值\": tpl.max(frFmt)\r\n \"两和之比\": tpl.sumOverSum(frFmt)\r\n \"二项分布:置信度为80%时的区间上限\": tpl.sumOverSumBound80(true, frFmt)\r\n \"二项分布:置信度为80%时的区间下限\": tpl.sumOverSumBound80(false, frFmt)\r\n \"和在总计中的比例\": tpl.fractionOf(tpl.sum(), \"total\", frFmtPct)\r\n \"和在行合计中的比例\": tpl.fractionOf(tpl.sum(), \"row\", frFmtPct)\r\n \"和在列合计中的比例\": tpl.fractionOf(tpl.sum(), \"col\", frFmtPct)\r\n \"频数在总计中的比例\": tpl.fractionOf(tpl.count(), \"total\", frFmtPct)\r\n \"频数在行合计中的比例\": tpl.fractionOf(tpl.count(), \"row\", frFmtPct)\r\n \"频数在列合计中的比例\": tpl.fractionOf(tpl.count(), \"col\", frFmtPct)\r\n\r\n renderers:\r\n \"表格\": r[\"Table\"]\r\n \"表格内柱状图\": r[\"Table Barchart\"]\r\n \"热图\": r[\"Heatmap\"]\r\n \"行热图\": r[\"Row Heatmap\"]\r\n \"列热图\": r[\"Col Heatmap\"]\r\n \r\n if gcr\r\n $.pivotUtilities.locales.zh.gchart_renderers =\r\n \"折线图(g)\": gcr[\"Line Chart\"]\r\n \"柱形图(g)\": gcr[\"Bar Chart\"]\r\n \"堆栈柱形图(g)\": gcr[\"Stacked Bar Chart\"]\r\n \"面积图(g)\": gcr[\"Area Chart\"]\r\n $.pivotUtilities.locales.zh.renderers = $.extend(\r\n $.pivotUtilities.locales.zh.renderers,\r\n $.pivotUtilities.locales.zh.gchart_renderers)\r\n\r\n if d3r\r\n $.pivotUtilities.locales.zh.d3_renderers =\r\n \"树图\": d3r[\"Treemap\"]\r\n $.pivotUtilities.locales.zh.renderers = $.extend(\r\n $.pivotUtilities.locales.zh.renderers,\r\n $.pivotUtilities.locales.zh.d3_renderers)\r\n\r\n if c3r\r\n $.pivotUtilities.locales.zh.c3_renderers = \r\n \"折线图\": c3r[\"Line Chart\"]\r\n \"柱形图\": c3r[\"Bar Chart\"]\r\n \"堆栈柱形图\": c3r[\"Stacked Bar Chart\"]\r\n \"面积图\": c3r[\"Area Chart\"]\r\n \"散点图\": c3r[\"Scatter Chart\"]\r\n $.pivotUtilities.locales.zh.renderers = $.extend(\r\n $.pivotUtilities.locales.zh.renderers,\r\n $.pivotUtilities.locales.zh.c3_renderers)\r\n\r\n return $.pivotUtilities.locales.zh\r\n"]}
\ No newline at end of file
(function(){var e;(e=function(e){return"object"==typeof exports&&"object"==typeof module?e(require("jquery")):"function"==typeof define&&define.amd?define(["jquery"],e):e(jQuery)})(function(e){var t,r,i,o,s,a,l,n,c;return l=e.pivotUtilities.numberFormat,c=e.pivotUtilities.aggregatorTemplates,n=e.pivotUtilities.renderers,a=e.pivotUtilities.gchart_renderers,r=e.pivotUtilities.d3_renderers,t=e.pivotUtilities.c3_renderers,i=l({thousandsSep:",",decimalSep:"."}),o=l({digitsAfterDecimal:0,thousandsSep:",",decimalSep:"."}),s=l({digitsAfterDecimal:2,scaler:100,suffix:"%",thousandsSep:",",decimalSep:"."}),e.pivotUtilities.locales.zh={localeStrings:{renderError:"展示结果时出错。",computeError:"计算结果时出错。",uiRenderError:"展示界面时出错。",selectAll:"选择全部",selectNone:"全部不选",tooMany:"(因数据过多而无法列出)",filterResults:"输入值帮助筛选",totals:"合计",vs:"于",by:"分组于"},aggregators:{"频数":c.count(o),"非重复值的个数":c.countUnique(o),"列出非重复值":c.listUnique(", "),"求和":c.sum(i),"求和后取整":c.sum(o),"平均值":c.average(i),"最小值":c.min(i),"最大值":c.max(i),"两和之比":c.sumOverSum(i),"二项分布:置信度为80%时的区间上限":c.sumOverSumBound80(!0,i),"二项分布:置信度为80%时的区间下限":c.sumOverSumBound80(!1,i),"和在总计中的比例":c.fractionOf(c.sum(),"total",s),"和在行合计中的比例":c.fractionOf(c.sum(),"row",s),"和在列合计中的比例":c.fractionOf(c.sum(),"col",s),"频数在总计中的比例":c.fractionOf(c.count(),"total",s),"频数在行合计中的比例":c.fractionOf(c.count(),"row",s),"频数在列合计中的比例":c.fractionOf(c.count(),"col",s)},renderers:{"表格":n.Table,"表格内柱状图":n["Table Barchart"],"热图":n.Heatmap,"行热图":n["Row Heatmap"],"列热图":n["Col Heatmap"]}},a&&(e.pivotUtilities.locales.zh.gchart_renderers={"折线图(g)":a["Line Chart"],"柱形图(g)":a["Bar Chart"],"堆栈柱形图(g)":a["Stacked Bar Chart"],"面积图(g)":a["Area Chart"]},e.pivotUtilities.locales.zh.renderers=e.extend(e.pivotUtilities.locales.zh.renderers,e.pivotUtilities.locales.zh.gchart_renderers)),r&&(e.pivotUtilities.locales.zh.d3_renderers={"树图":r.Treemap},e.pivotUtilities.locales.zh.renderers=e.extend(e.pivotUtilities.locales.zh.renderers,e.pivotUtilities.locales.zh.d3_renderers)),t&&(e.pivotUtilities.locales.zh.c3_renderers={"折线图":t["Line Chart"],"柱形图":t["Bar Chart"],"堆栈柱形图":t["Stacked Bar Chart"],"面积图":t["Area Chart"],"散点图":t["Scatter Chart"]},e.pivotUtilities.locales.zh.renderers=e.extend(e.pivotUtilities.locales.zh.renderers,e.pivotUtilities.locales.zh.c3_renderers)),e.pivotUtilities.locales.zh})}).call(this);
//# sourceMappingURL=pivot.zh.min.js.map
{"version":3,"sources":["pivot.zh.coffee","pivot.zh.min.js"],"names":["callWithJQuery","pivotModule","exports","module","require","define","amd","jQuery","$","c3r","d3r","frFmt","frFmtInt","frFmtPct","gcr","nf","r","tpl","pivotUtilities","numberFormat","aggregatorTemplates","renderers","gchart_renderers","d3_renderers","c3_renderers","thousandsSep","decimalSep","digitsAfterDecimal","scaler","suffix","locales","zh","localeStrings","renderError","computeError","uiRenderError","selectAll","selectNone","tooMany","filterResults","totals","vs","by","aggregators","频数","count","非重复值的个数","countUnique","列出非重复值","listUnique","求和","sum","求和后取整","平均值","average","最小值","min","最大值","max","两和之比","sumOverSum","二项分布:置信度为80%时的区间上限","sumOverSumBound80","二项分布:置信度为80%时的区间下限","和在总计中的比例","fractionOf","和在行合计中的比例","和在列合计中的比例","频数在总计中的比例","频数在行合计中的比例","频数在列合计中的比例","表格","表格内柱状图","热图","行热图","列热图","折线图(g)","柱形图(g)","堆栈柱形图(g)","面积图(g)","extend","树图","折线图","柱形图","堆栈柱形图","面积图","散点图","call","this"],"mappings":"CAEA,WAAA,GAAAA,IAAAA,EAAiB,SAACC,GACd,MAAqB,gBAAXC,UAAyC,gBAAVC,QACrCF,EAAYG,QAAQ,WACC,kBAAVC,SAAyBA,OAAOC,IAC3CD,QAAQ,UAAWJ,GAGnBA,EAAYM,UAEL,SAACC,GACZ,GAAAC,GAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,CA+EA,OA/EAF,GAAKP,EAAEU,eAAeC,aACtBF,EAAMT,EAAEU,eAAeE,oBACvBJ,EAAIR,EAAEU,eAAeG,UACrBP,EAAMN,EAAEU,eAAeI,iBACvBZ,EAAMF,EAAEU,eAAeK,aACvBd,EAAMD,EAAEU,eAAeM,aAEvBb,EAAWI,GAAGU,aAAc,IAAKC,WAAY,MAC7Cd,EAAWG,GAAGY,mBAAoB,EAAGF,aAAc,IAAKC,WAAY,MACpEb,EAAWE,GAAGY,mBAAoB,EAAGC,OAAQ,IAAKC,OAAQ,IAAKJ,aAAc,IAAKC,WAAY,MAE9FlB,EAAEU,eAAeY,QAAQC,IAErBC,eACIC,YAAa,WACbC,aAAc,WACdC,cAAe,WACfC,UAAW,OACXC,WAAY,OACZC,QAAS,eACTC,cAAe,UACfC,OAAQ,KACRC,GAAI,IACJC,GAAI,OAERC,aACIC,KAA0C3B,EAAI4B,MAAMjC,GACpDkC,UAAsB7B,EAAI8B,YAAYnC,GACtCoC,SAAwB/B,EAAIgC,WAAW,MACvCC,KAA8CjC,EAAIkC,IAAIxC,GACtDyC,QAAqCnC,EAAIkC,IAAIvC,GAC7CyC,MAA8CpC,EAAIqC,QAAQ3C,GAC1D4C,MAA6CtC,EAAIuC,IAAI7C,GACrD8C,MAA6CxC,EAAIyC,IAAI/C,GACrDgD,OAAqC1C,EAAI2C,WAAWjD,GACpDkD,qBAA6C5C,EAAI6C,mBAAkB,EAAMnD,GACzEoD,qBAA6C9C,EAAI6C,mBAAkB,EAAOnD,GAC1EqD,WAAiB/C,EAAIgD,WAAWhD,EAAIkC,MAAS,QAAStC,GACtDqD,YAAkBjD,EAAIgD,WAAWhD,EAAIkC,MAAS,MAAStC,GACvDsD,YAAiBlD,EAAIgD,WAAWhD,EAAIkC,MAAS,MAAStC,GACtDuD,YAAcnD,EAAIgD,WAAWhD,EAAI4B,QAAS,QAAShC,GACnDwD,aAAepD,EAAIgD,WAAWhD,EAAI4B,QAAS,MAAShC,GACpDyD,aAAcrD,EAAIgD,WAAWhD,EAAI4B,QAAS,MAAShC,IAEvDQ,WACIkD,KAAMvD,EAAE,MACRwD,SAAUxD,EAAE,kBACZyD,KAAMzD,EAAE,QACR0D,MAAO1D,EAAE,eACT2D,MAAO3D,EAAE,iBAEdF,IACCN,EAAEU,eAAeY,QAAQC,GAAGT,kBACxBsD,SAAqB9D,EAAI,cACzB+D,SAAqB/D,EAAI,aACzBgE,WAAYhE,EAAI,qBAChBiE,SAAgBjE,EAAI,eACxBN,EAAEU,eAAeY,QAAQC,GAAGV,UAAYb,EAAEwE,OACtCxE,EAAEU,eAAeY,QAAQC,GAAGV,UAC5Bb,EAAEU,eAAeY,QAAQC,GAAGT,mBAEjCZ,IACCF,EAAEU,eAAeY,QAAQC,GAAGR,cACxB0D,KAAMvE,EAAI,SACdF,EAAEU,eAAeY,QAAQC,GAAGV,UAAYb,EAAEwE,OACtCxE,EAAEU,eAAeY,QAAQC,GAAGV,UAC5Bb,EAAEU,eAAeY,QAAQC,GAAGR,eAEjCd,IACCD,EAAEU,eAAeY,QAAQC,GAAGP,cACxB0D,MAAOzE,EAAI,cACX0E,MAAO1E,EAAI,aACX2E,QAAS3E,EAAI,qBACb4E,MAAO5E,EAAI,cACX6E,MAAO7E,EAAI,kBACfD,EAAEU,eAAeY,QAAQC,GAAGV,UAAYb,EAAEwE,OACtCxE,EAAEU,eAAeY,QAAQC,GAAGV,UAC5Bb,EAAEU,eAAeY,QAAQC,GAAGP,eAE7BhB,EAAEU,eAAeY,QAAQC,OCcjCwD,KAAKC","file":"pivot.zh.min.js","sourcesContent":["# example: http://zhoulvjun.github.io/2016/02/08/pivottable/\r\n\r\ncallWithJQuery = (pivotModule) ->\r\n if typeof exports is \"object\" and typeof module is \"object\" # CommonJS\r\n pivotModule require(\"jquery\")\r\n else if typeof define is \"function\" and define.amd # AMD\r\n define [\"jquery\"], pivotModule\r\n # Plain browser env\r\n else\r\n pivotModule jQuery\r\n \r\ncallWithJQuery ($) ->\r\n nf = $.pivotUtilities.numberFormat\r\n tpl = $.pivotUtilities.aggregatorTemplates\r\n r = $.pivotUtilities.renderers\r\n gcr = $.pivotUtilities.gchart_renderers\r\n d3r = $.pivotUtilities.d3_renderers\r\n c3r = $.pivotUtilities.c3_renderers\r\n\r\n frFmt = nf(thousandsSep: \",\", decimalSep: \".\")\r\n frFmtInt = nf(digitsAfterDecimal: 0, thousandsSep: \",\", decimalSep: \".\")\r\n frFmtPct = nf(digitsAfterDecimal: 2, scaler: 100, suffix: \"%\", thousandsSep: \",\", decimalSep: \".\")\r\n\r\n $.pivotUtilities.locales.zh = \r\n\r\n localeStrings:\r\n renderError: \"展示结果时出错。\"\r\n computeError: \"计算结果时出错。\"\r\n uiRenderError: \"展示界面时出错。\"\r\n selectAll: \"选择全部\"\r\n selectNone: \"全部不选\"\r\n tooMany: \"(因数据过多而无法列出)\"\r\n filterResults: \"输入值帮助筛选\"\r\n totals: \"合计\"\r\n vs: \"于\"\r\n by: \"分组于\"\r\n\r\n aggregators:\r\n \"频数\": tpl.count(frFmtInt)\r\n \"非重复值的个数\": tpl.countUnique(frFmtInt)\r\n \"列出非重复值\": tpl.listUnique(\", \")\r\n \"求和\": tpl.sum(frFmt)\r\n \"求和后取整\": tpl.sum(frFmtInt)\r\n \"平均值\": tpl.average(frFmt)\r\n \"最小值\": tpl.min(frFmt)\r\n \"最大值\": tpl.max(frFmt)\r\n \"两和之比\": tpl.sumOverSum(frFmt)\r\n \"二项分布:置信度为80%时的区间上限\": tpl.sumOverSumBound80(true, frFmt)\r\n \"二项分布:置信度为80%时的区间下限\": tpl.sumOverSumBound80(false, frFmt)\r\n \"和在总计中的比例\": tpl.fractionOf(tpl.sum(), \"total\", frFmtPct)\r\n \"和在行合计中的比例\": tpl.fractionOf(tpl.sum(), \"row\", frFmtPct)\r\n \"和在列合计中的比例\": tpl.fractionOf(tpl.sum(), \"col\", frFmtPct)\r\n \"频数在总计中的比例\": tpl.fractionOf(tpl.count(), \"total\", frFmtPct)\r\n \"频数在行合计中的比例\": tpl.fractionOf(tpl.count(), \"row\", frFmtPct)\r\n \"频数在列合计中的比例\": tpl.fractionOf(tpl.count(), \"col\", frFmtPct)\r\n\r\n renderers:\r\n \"表格\": r[\"Table\"]\r\n \"表格内柱状图\": r[\"Table Barchart\"]\r\n \"热图\": r[\"Heatmap\"]\r\n \"行热图\": r[\"Row Heatmap\"]\r\n \"列热图\": r[\"Col Heatmap\"]\r\n \r\n if gcr\r\n $.pivotUtilities.locales.zh.gchart_renderers =\r\n \"折线图(g)\": gcr[\"Line Chart\"]\r\n \"柱形图(g)\": gcr[\"Bar Chart\"]\r\n \"堆栈柱形图(g)\": gcr[\"Stacked Bar Chart\"]\r\n \"面积图(g)\": gcr[\"Area Chart\"]\r\n $.pivotUtilities.locales.zh.renderers = $.extend(\r\n $.pivotUtilities.locales.zh.renderers,\r\n $.pivotUtilities.locales.zh.gchart_renderers)\r\n\r\n if d3r\r\n $.pivotUtilities.locales.zh.d3_renderers =\r\n \"树图\": d3r[\"Treemap\"]\r\n $.pivotUtilities.locales.zh.renderers = $.extend(\r\n $.pivotUtilities.locales.zh.renderers,\r\n $.pivotUtilities.locales.zh.d3_renderers)\r\n\r\n if c3r\r\n $.pivotUtilities.locales.zh.c3_renderers = \r\n \"折线图\": c3r[\"Line Chart\"]\r\n \"柱形图\": c3r[\"Bar Chart\"]\r\n \"堆栈柱形图\": c3r[\"Stacked Bar Chart\"]\r\n \"面积图\": c3r[\"Area Chart\"]\r\n \"散点图\": c3r[\"Scatter Chart\"]\r\n $.pivotUtilities.locales.zh.renderers = $.extend(\r\n $.pivotUtilities.locales.zh.renderers,\r\n $.pivotUtilities.locales.zh.c3_renderers)\r\n\r\n return $.pivotUtilities.locales.zh\r\n","(function() {\n var callWithJQuery;\n\n callWithJQuery = function(pivotModule) {\n if (typeof exports === \"object\" && typeof module === \"object\") {\n return pivotModule(require(\"jquery\"));\n } else if (typeof define === \"function\" && define.amd) {\n return define([\"jquery\"], pivotModule);\n } else {\n return pivotModule(jQuery);\n }\n };\n\n callWithJQuery(function($) {\n var c3r, d3r, frFmt, frFmtInt, frFmtPct, gcr, nf, r, tpl;\n nf = $.pivotUtilities.numberFormat;\n tpl = $.pivotUtilities.aggregatorTemplates;\n r = $.pivotUtilities.renderers;\n gcr = $.pivotUtilities.gchart_renderers;\n d3r = $.pivotUtilities.d3_renderers;\n c3r = $.pivotUtilities.c3_renderers;\n frFmt = nf({\n thousandsSep: \",\",\n decimalSep: \".\"\n });\n frFmtInt = nf({\n digitsAfterDecimal: 0,\n thousandsSep: \",\",\n decimalSep: \".\"\n });\n frFmtPct = nf({\n digitsAfterDecimal: 2,\n scaler: 100,\n suffix: \"%\",\n thousandsSep: \",\",\n decimalSep: \".\"\n });\n $.pivotUtilities.locales.zh = {\n localeStrings: {\n renderError: \"展示结果时出错。\",\n computeError: \"计算结果时出错。\",\n uiRenderError: \"展示界面时出错。\",\n selectAll: \"选择全部\",\n selectNone: \"全部不选\",\n tooMany: \"(因数据过多而无法列出)\",\n filterResults: \"输入值帮助筛选\",\n totals: \"合计\",\n vs: \"于\",\n by: \"分组于\"\n },\n aggregators: {\n \"频数\": tpl.count(frFmtInt),\n \"非重复值的个数\": tpl.countUnique(frFmtInt),\n \"列出非重复值\": tpl.listUnique(\", \"),\n \"求和\": tpl.sum(frFmt),\n \"求和后取整\": tpl.sum(frFmtInt),\n \"平均值\": tpl.average(frFmt),\n \"最小值\": tpl.min(frFmt),\n \"最大值\": tpl.max(frFmt),\n \"两和之比\": tpl.sumOverSum(frFmt),\n \"二项分布:置信度为80%时的区间上限\": tpl.sumOverSumBound80(true, frFmt),\n \"二项分布:置信度为80%时的区间下限\": tpl.sumOverSumBound80(false, frFmt),\n \"和在总计中的比例\": tpl.fractionOf(tpl.sum(), \"total\", frFmtPct),\n \"和在行合计中的比例\": tpl.fractionOf(tpl.sum(), \"row\", frFmtPct),\n \"和在列合计中的比例\": tpl.fractionOf(tpl.sum(), \"col\", frFmtPct),\n \"频数在总计中的比例\": tpl.fractionOf(tpl.count(), \"total\", frFmtPct),\n \"频数在行合计中的比例\": tpl.fractionOf(tpl.count(), \"row\", frFmtPct),\n \"频数在列合计中的比例\": tpl.fractionOf(tpl.count(), \"col\", frFmtPct)\n },\n renderers: {\n \"表格\": r[\"Table\"],\n \"表格内柱状图\": r[\"Table Barchart\"],\n \"热图\": r[\"Heatmap\"],\n \"行热图\": r[\"Row Heatmap\"],\n \"列热图\": r[\"Col Heatmap\"]\n }\n };\n if (gcr) {\n $.pivotUtilities.locales.zh.gchart_renderers = {\n \"折线图(g)\": gcr[\"Line Chart\"],\n \"柱形图(g)\": gcr[\"Bar Chart\"],\n \"堆栈柱形图(g)\": gcr[\"Stacked Bar Chart\"],\n \"面积图(g)\": gcr[\"Area Chart\"]\n };\n $.pivotUtilities.locales.zh.renderers = $.extend($.pivotUtilities.locales.zh.renderers, $.pivotUtilities.locales.zh.gchart_renderers);\n }\n if (d3r) {\n $.pivotUtilities.locales.zh.d3_renderers = {\n \"树图\": d3r[\"Treemap\"]\n };\n $.pivotUtilities.locales.zh.renderers = $.extend($.pivotUtilities.locales.zh.renderers, $.pivotUtilities.locales.zh.d3_renderers);\n }\n if (c3r) {\n $.pivotUtilities.locales.zh.c3_renderers = {\n \"折线图\": c3r[\"Line Chart\"],\n \"柱形图\": c3r[\"Bar Chart\"],\n \"堆栈柱形图\": c3r[\"Stacked Bar Chart\"],\n \"面积图\": c3r[\"Area Chart\"],\n \"散点图\": c3r[\"Scatter Chart\"]\n };\n $.pivotUtilities.locales.zh.renderers = $.extend($.pivotUtilities.locales.zh.renderers, $.pivotUtilities.locales.zh.c3_renderers);\n }\n return $.pivotUtilities.locales.zh;\n });\n\n}).call(this);\n\n//# sourceMappingURL=pivot.zh.js.map\n"]}
\ No newline at end of file
(function() {
var fixtureData, raggedFixtureData;
fixtureData = [["name", "gender", "colour", "birthday", "trials", "successes"], ["Nick", "male", "blue", "1982-11-07", 103, 12], ["Jane", "female", "red", "1982-11-08", 95, 25], ["John", "male", "blue", "1982-12-08", 112, 30], ["Carol", "female", "yellow", "1983-12-08", 102, 14]];
raggedFixtureData = [
{
name: "Nick",
"colour": "red",
"age": 34
}, {
name: "Jane",
"gender": "female"
}, {
name: "John",
"gender": "male",
"age": 12
}, {
name: "Jim",
"gender": null,
"age": 12
}
];
describe("$.pivotUI()", function() {
describe("with no rows/cols, default count aggregator, default TableRenderer", function() {
var table;
table = null;
beforeEach(function(done) {
return table = $("<div>").pivotUI(fixtureData, {
onRefresh: done
});
});
it("has all the basic UI elements", function(done) {
expect(table.find("td.pvtAxisContainer").length).toBe(3);
expect(table.find("td.pvtRendererArea").length).toBe(1);
expect(table.find("td.pvtVals").length).toBe(1);
expect(table.find("select.pvtRenderer").length).toBe(1);
expect(table.find("select.pvtAggregator").length).toBe(1);
expect(table.find("span.pvtAttr").length).toBe(6);
return done();
});
it("reflects its inputs", function(done) {
expect(table.find("td.pvtUnused span.pvtAttr").length).toBe(6);
expect(table.find("select.pvtRenderer").val()).toBe("Table");
expect(table.find("select.pvtAggregator").val()).toBe("Count");
return done();
});
it("renders a table", function(done) {
expect(table.find("table.pvtTable").length).toBe(1);
return done();
});
return describe("its renderer output", function() {
it("has the correct type and number of cells", function(done) {
expect(table.find("th.pvtTotalLabel").length).toBe(1);
expect(table.find("td.pvtGrandTotal").length).toBe(1);
return done();
});
it("has the correct textual representation", function(done) {
expect(table.find("table.pvtTable").text()).toBe(["Totals", "4"].join(""));
return done();
});
return it("has a correct grand total with data value", function(done) {
expect(table.find("td.pvtGrandTotal").text()).toBe("4");
expect(table.find("td.pvtGrandTotal").data("value")).toBe(4);
return done();
});
});
});
describe("with rows/cols, sum-over-sum aggregator, Heatmap renderer", function() {
var table;
table = null;
beforeEach(function(done) {
return table = $("<div>").pivotUI(fixtureData, {
rows: ["gender"],
cols: ["colour"],
aggregatorName: "Sum over Sum",
vals: ["successes", "trials"],
rendererName: "Heatmap",
onRefresh: done
});
});
it("has all the basic UI elements", function(done) {
expect(table.find("td.pvtAxisContainer").length).toBe(3);
expect(table.find("td.pvtRendererArea").length).toBe(1);
expect(table.find("td.pvtVals").length).toBe(1);
expect(table.find("select.pvtRenderer").length).toBe(1);
expect(table.find("select.pvtAggregator").length).toBe(1);
expect(table.find("span.pvtAttr").length).toBe(6);
return done();
});
it("reflects its inputs", function(done) {
expect(table.find("td.pvtUnused span.pvtAttr").length).toBe(4);
expect(table.find("td.pvtRows span.pvtAttr").length).toBe(1);
expect(table.find("td.pvtCols span.pvtAttr").length).toBe(1);
expect(table.find("select.pvtRenderer").val()).toBe("Heatmap");
expect(table.find("select.pvtAggregator").val()).toBe("Sum over Sum");
return done();
});
it("renders a table", function(done) {
expect(table.find("table.pvtTable").length).toBe(1);
return done();
});
return describe("its renderer output", function() {
it("has the correct type and number of cells", function(done) {
expect(table.find("th.pvtAxisLabel").length).toBe(2);
expect(table.find("th.pvtRowLabel").length).toBe(2);
expect(table.find("th.pvtColLabel").length).toBe(3);
expect(table.find("th.pvtTotalLabel").length).toBe(2);
expect(table.find("td.pvtVal").length).toBe(6);
expect(table.find("td.pvtTotal").length).toBe(5);
expect(table.find("td.pvtGrandTotal").length).toBe(1);
return done();
});
it("has the correct textual representation", function(done) {
expect(table.find("table.pvtTable").text()).toBe(["colour", "blue", "red", "yellow", "Totals", "gender", "female", "0.26", "0.14", "0.20", "male", "0.20", "0.20", "Totals", "0.20", "0.26", "0.14", "0.20"].join(""));
return done();
});
return it("has a correct spot-checked cell with data value", function(done) {
expect(table.find("td.col0.row1").text()).toBe("0.20");
expect(table.find("td.col0.row1").data("value")).toBe((12 + 30) / (103 + 112));
return done();
});
});
});
return describe("with ragged input", function() {
var table;
table = $("<div>").pivotUI(raggedFixtureData, {
rows: ["gender"],
cols: ["age"]
});
return it("renders a table with the correct textual representation", function() {
return expect(table.find("table.pvtTable").text()).toBe(["age", "12", "34", "null", "Totals", "gender", "female", "1", "1", "male", "1", "1", "null", "1", "1", "2", "Totals", "2", "1", "1", "4"].join(""));
});
});
});
describe("$.pivot()", function() {
describe("with no rows/cols, default count aggregator, default TableRenderer", function() {
var table;
table = $("<div>").pivot(fixtureData);
it("renders a table", function() {
return expect(table.find("table.pvtTable").length).toBe(1);
});
return describe("its renderer output", function() {
it("has the correct textual representation", function() {
return expect(table.find("table.pvtTable").text()).toBe(["Totals", "4"].join(""));
});
return it("has a correct grand total with data value", function() {
expect(table.find("td.pvtGrandTotal").text()).toBe("4");
return expect(table.find("td.pvtGrandTotal").data("value")).toBe(4);
});
});
});
describe("with rows/cols, sum aggregator, derivedAttributes, filter and sorters", function() {
var aggregators, derivers, ref, sortAs, table;
ref = $.pivotUtilities, sortAs = ref.sortAs, derivers = ref.derivers, aggregators = ref.aggregators;
table = $("<div>").pivot(fixtureData, {
rows: ["gender"],
cols: ["birthyear"],
aggregator: aggregators["Sum"](["trialbins"]),
filter: function(record) {
return record.name !== "Nick";
},
derivedAttributes: {
birthyear: derivers.dateFormat("birthday", "%y"),
trialbins: derivers.bin("trials", 10)
},
sorters: function(attr) {
if (attr === "gender") {
return sortAs(["male", "female"]);
}
}
});
return it("renders a table with the correct textual representation", function() {
return expect(table.find("table.pvtTable").text()).toBe(["birthyear", "1982", "1983", "Totals", "gender", "male", "110.00", "110.00", "female", "90.00", "100.00", "190.00", "Totals", "200.00", "100.00", "300.00"].join(""));
});
});
describe("with rows/cols, fraction-of aggregator", function() {
var aggregators, table;
aggregators = $.pivotUtilities.aggregators;
table = $("<div>").pivot(fixtureData, {
rows: ["gender"],
aggregator: aggregators["Sum as Fraction of Total"](["trials"])
});
return it("renders a table with the correct textual representation", function() {
return expect(table.find("table.pvtTable").text()).toBe(["gender", "Totals", "female", "47.8%", "male", "52.2%", "Totals", "100.0%"].join(""));
});
});
describe("with rows/cols, custom aggregator, custom renderer with options", function() {
var received_PivotData, received_rendererOptions, table;
received_PivotData = null;
received_rendererOptions = null;
table = $("<div>").pivot(fixtureData, {
rows: ["name", "colour"],
cols: ["trials", "successes"],
aggregator: function() {
return {
count2x: 0,
push: function() {
return this.count2x += 2;
},
value: function() {
return this.count2x;
},
format: function(x) {
return "formatted " + x;
}
};
},
renderer: function(a, b) {
received_PivotData = a;
received_rendererOptions = b;
return $("<div>").addClass(b.greeting).text("world");
},
rendererOptions: {
greeting: "hithere"
}
});
it("renders the custom renderer as per options", function() {
return expect(table.find("div.hithere").length).toBe(1);
});
return describe("its received PivotData object", function() {
return it("has a correct grand total value and format for custom aggregator", function() {
var agg, val;
agg = received_PivotData.getAggregator([], []);
val = agg.value();
expect(val).toBe(8);
return expect(agg.format(val)).toBe("formatted 8");
});
});
});
return describe("with ragged input", function() {
var table;
table = $("<div>").pivot(raggedFixtureData, {
rows: ["gender"],
cols: ["age"]
});
return it("renders a table with the correct textual representation", function() {
return expect(table.find("table.pvtTable").text()).toBe(["age", "12", "34", "null", "Totals", "gender", "female", "1", "1", "male", "1", "1", "null", "1", "1", "2", "Totals", "2", "1", "1", "4"].join(""));
});
});
});
describe("$.pivotUtilities", function() {
describe(".PivotData()", function() {
var sumOverSumOpts;
sumOverSumOpts = {
aggregator: $.pivotUtilities.aggregators["Sum over Sum"](["a", "b"])
};
describe("with no options", function() {
var aoaInput, pd;
aoaInput = [["a", "b"], [1, 2], [3, 4]];
pd = new $.pivotUtilities.PivotData(aoaInput);
return it("has the correct grand total value", function() {
return expect(pd.getAggregator([], []).value()).toBe(2);
});
});
describe("with array-of-array input", function() {
var aoaInput, pd;
aoaInput = [["a", "b"], [1, 2], [3, 4]];
pd = new $.pivotUtilities.PivotData(aoaInput, sumOverSumOpts);
return it("has the correct grand total value", function() {
return expect(pd.getAggregator([], []).value()).toBe((1 + 3) / (2 + 4));
});
});
describe("with array-of-object input", function() {
var aosInput, pd;
aosInput = [
{
a: 1,
b: 2
}, {
a: 3,
b: 4
}
];
pd = new $.pivotUtilities.PivotData(aosInput, sumOverSumOpts);
return it("has the correct grand total value", function() {
return expect(pd.getAggregator([], []).value()).toBe((1 + 3) / (2 + 4));
});
});
describe("with ragged array-of-object input", function() {
var pd, raggedAosInput;
raggedAosInput = [
{
a: 1
}, {
b: 4
}, {
a: 3,
b: 2
}
];
pd = new $.pivotUtilities.PivotData(raggedAosInput, sumOverSumOpts);
return it("has the correct grand total value", function() {
return expect(pd.getAggregator([], []).value()).toBe((1 + 3) / (2 + 4));
});
});
describe("with function input", function() {
var functionInput, pd;
functionInput = function(record) {
record({
a: 1,
b: 2
});
return record({
a: 3,
b: 4
});
};
pd = new $.pivotUtilities.PivotData(functionInput, sumOverSumOpts);
return it("has the correct grand total value", function() {
return expect(pd.getAggregator([], []).value()).toBe((1 + 3) / (2 + 4));
});
});
describe("with jQuery table element input", function() {
var pd, tableInput;
tableInput = $("<table>\n <thead>\n <tr> <th>a</th><th>b</th> </tr>\n </thead>\n <tbody>\n <tr> <td>1</td> <td>2</td> </tr>\n <tr> <td>3</td> <td>4</td> </tr>\n </tbody>\n</table>");
pd = new $.pivotUtilities.PivotData(tableInput, sumOverSumOpts);
return it("has the correct grand total value", function() {
return expect(pd.getAggregator([], []).value()).toBe((1 + 3) / (2 + 4));
});
});
return describe("with rows/cols", function() {
var pd;
pd = new $.pivotUtilities.PivotData(fixtureData, {
rows: ["name", "colour"],
cols: ["trials", "successes"]
});
it("has correctly-ordered row keys", function() {
return expect(pd.getRowKeys()).toEqual([['Carol', 'yellow'], ['Jane', 'red'], ['John', 'blue'], ['Nick', 'blue']]);
});
it("has correctly-ordered col keys", function() {
return expect(pd.getColKeys()).toEqual([[95, 25], [102, 14], [103, 12], [112, 30]]);
});
it("can be iterated over", function() {
var c, i, j, len, len1, numNotNull, numNull, r, ref, ref1;
numNotNull = 0;
numNull = 0;
ref = pd.getRowKeys();
for (i = 0, len = ref.length; i < len; i++) {
r = ref[i];
ref1 = pd.getColKeys();
for (j = 0, len1 = ref1.length; j < len1; j++) {
c = ref1[j];
if (pd.getAggregator(r, c).value() != null) {
numNotNull++;
} else {
numNull++;
}
}
}
expect(numNotNull).toBe(4);
return expect(numNull).toBe(12);
});
it("returns matching records", function() {
var records;
records = [];
pd.forEachMatchingRecord({
gender: "male"
}, function(x) {
return records.push(x.name);
});
return expect(records).toEqual(["Nick", "John"]);
});
it("has a correct spot-checked aggregator", function() {
var agg, val;
agg = pd.getAggregator(['Carol', 'yellow'], [102, 14]);
val = agg.value();
expect(val).toBe(1);
return expect(agg.format(val)).toBe("1");
});
return it("has a correct grand total aggregator", function() {
var agg, val;
agg = pd.getAggregator([], []);
val = agg.value();
expect(val).toBe(4);
return expect(agg.format(val)).toBe("4");
});
});
});
describe(".aggregatorTemplates", function() {
var getVal, tpl;
getVal = function(aggregator) {
var pd;
pd = new $.pivotUtilities.PivotData(fixtureData, {
aggregator: aggregator
});
return pd.getAggregator([], []).value();
};
tpl = $.pivotUtilities.aggregatorTemplates;
describe(".count", function() {
return it("works", function() {
return expect(getVal(tpl.count()())).toBe(4);
});
});
describe(".countUnique", function() {
return it("works", function() {
return expect(getVal(tpl.countUnique()(['gender']))).toBe(2);
});
});
describe(".listUnique", function() {
return it("works", function() {
return expect(getVal(tpl.listUnique()(['gender']))).toBe('male,female');
});
});
describe(".average", function() {
return it("works", function() {
return expect(getVal(tpl.average()(['trials']))).toBe(103);
});
});
describe(".sum", function() {
return it("works", function() {
return expect(getVal(tpl.sum()(['trials']))).toBe(412);
});
});
describe(".min", function() {
return it("works", function() {
return expect(getVal(tpl.min()(['trials']))).toBe(95);
});
});
describe(".max", function() {
return it("works", function() {
return expect(getVal(tpl.max()(['trials']))).toBe(112);
});
});
describe(".first", function() {
return it("works", function() {
return expect(getVal(tpl.first()(['name']))).toBe('Carol');
});
});
describe(".last", function() {
return it("works", function() {
return expect(getVal(tpl.last()(['name']))).toBe('Nick');
});
});
describe(".average", function() {
return it("works", function() {
return expect(getVal(tpl.average()(['trials']))).toBe(103);
});
});
describe(".median", function() {
return it("works", function() {
return expect(getVal(tpl.median()(['trials']))).toBe(102.5);
});
});
describe(".quantile", function() {
return it("works", function() {
expect(getVal(tpl.quantile(0)(['trials']))).toBe(95);
expect(getVal(tpl.quantile(0.1)(['trials']))).toBe(98.5);
expect(getVal(tpl.quantile(0.25)(['trials']))).toBe(98.5);
expect(getVal(tpl.quantile(1 / 3)(['trials']))).toBe(102);
return expect(getVal(tpl.quantile(1)(['trials']))).toBe(112);
});
});
describe(".var", function() {
return it("works", function() {
return expect(getVal(tpl["var"]()(['trials']))).toBe(48.666666666666686);
});
});
describe(".stdev", function() {
return it("works", function() {
return expect(getVal(tpl.stdev()(['trials']))).toBe(6.976149845485451);
});
});
return describe(".sumOverSum", function() {
return it("works", function() {
return expect(getVal(tpl.sumOverSum()(['successes', 'trials']))).toBe((12 + 25 + 30 + 14) / (95 + 102 + 103 + 112));
});
});
});
describe(".naturalSort()", function() {
var naturalSort, sortedArr;
naturalSort = $.pivotUtilities.naturalSort;
sortedArr = [null, 0/0, -2e308, '-Infinity', -3, '-3', -2, '-2', -1, '-1', 0, '2e-1', 1, '01', '1', 2, '002', '002e0', '02', '2', '2e-0', 3, 10, '10', '11', '12', '1e2', '112', 2e308, 'Infinity', '1a', '2a', '12a', '20a', 'A', 'A', 'NaN', 'a', 'a', 'a01', 'a012', 'a02', 'a1', 'a2', 'a12', 'a12', 'a21', 'a21', 'b', 'c', 'd', 'null'];
return it("sorts naturally (null, NaN, numbers & numbery strings, Alphanum for text strings)", function() {
return expect(sortedArr.slice().sort(naturalSort)).toEqual(sortedArr);
});
});
describe(".sortAs()", function() {
var sortAs;
sortAs = $.pivotUtilities.sortAs;
it("sorts with unknown values sorted at the end", function() {
return expect([5, 2, 3, 4, 1].sort(sortAs([4, 3, 2]))).toEqual([4, 3, 2, 1, 5]);
});
return it("sorts lowercase after uppercase", function() {
return expect(["Ab", "aA", "aa", "ab"].sort(sortAs(["Ab", "Aa"]))).toEqual(["Ab", "ab", "aa", "aA"]);
});
});
describe(".numberFormat()", function() {
var numberFormat;
numberFormat = $.pivotUtilities.numberFormat;
it("formats numbers", function() {
var nf;
nf = numberFormat();
return expect(nf(1234567.89123456)).toEqual("1,234,567.89");
});
it("formats booleans", function() {
var nf;
nf = numberFormat();
return expect(nf(true)).toEqual("1.00");
});
it("formats numbers in strings", function() {
var nf;
nf = numberFormat();
return expect(nf("1234567.89123456")).toEqual("1,234,567.89");
});
it("doesn't formats strings", function() {
var nf;
nf = numberFormat();
return expect(nf("hi there")).toEqual("");
});
it("doesn't formats objects", function() {
var nf;
nf = numberFormat();
return expect(nf({
a: 1
})).toEqual("");
});
it("formats percentages", function() {
var nf;
nf = numberFormat({
scaler: 100,
suffix: "%"
});
return expect(nf(0.12345)).toEqual("12.35%");
});
it("adds separators", function() {
var nf;
nf = numberFormat({
thousandsSep: "a",
decimalSep: "b"
});
return expect(nf(1234567.89123456)).toEqual("1a234a567b89");
});
it("adds prefixes and suffixes", function() {
var nf;
nf = numberFormat({
prefix: "a",
suffix: "b"
});
return expect(nf(1234567.89123456)).toEqual("a1,234,567.89b");
});
return it("scales and rounds", function() {
var nf;
nf = numberFormat({
digitsAfterDecimal: 3,
scaler: 1000
});
return expect(nf(1234567.89123456)).toEqual("1,234,567,891.235");
});
});
return describe(".derivers", function() {
describe(".dateFormat()", function() {
var df;
df = $.pivotUtilities.derivers.dateFormat("x", "abc % %% %%% %a %y %m %n %d %w %x %H %M %S", true);
it("formats date objects", function() {
return expect(df({
x: new Date("2015-01-02T23:43:11Z")
})).toBe('abc % %% %%% %a 2015 01 Jan 02 Fri 5 23 43 11');
});
return it("formats input parsed by Date.parse()", function() {
expect(df({
x: "2015-01-02T23:43:11Z"
})).toBe('abc % %% %%% %a 2015 01 Jan 02 Fri 5 23 43 11');
return expect(df({
x: "bla"
})).toBe('');
});
});
return describe(".bin()", function() {
var binner;
binner = $.pivotUtilities.derivers.bin("x", 10);
it("bins numbers", function() {
expect(binner({
x: 11
})).toBe(10);
expect(binner({
x: 9
})).toBe(0);
return expect(binner({
x: 111
})).toBe(110);
});
it("bins booleans", function() {
return expect(binner({
x: true
})).toBe(0);
});
it("bins negative numbers", function() {
return expect(binner({
x: -12
})).toBe(-10);
});
it("doesn't bin strings", function() {
return expect(binner({
x: "a"
})).toBeNaN();
});
return it("doesn't bin objects", function() {
return expect(binner({
x: {
a: 1
}
})).toBeNaN();
});
});
});
});
}).call(this);
//# sourceMappingURL=pivot_spec.js.map
{"version":3,"file":"pivot_spec.js","sources":["pivot_spec.coffee"],"names":[],"mappings":"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","sourcesContent":["fixtureData = [\n [\"name\", \"gender\", \"colour\", \"birthday\", \"trials\", \"successes\"],\n [\"Nick\", \"male\", \"blue\", \"1982-11-07\", 103, 12],\n [\"Jane\", \"female\", \"red\", \"1982-11-08\", 95, 25],\n [\"John\", \"male\", \"blue\", \"1982-12-08\", 112, 30],\n [\"Carol\", \"female\", \"yellow\", \"1983-12-08\", 102, 14]\n]\n\nraggedFixtureData = [\n {name: \"Nick\", \"colour\": \"red\", \"age\": 34}\n {name: \"Jane\", \"gender\": \"female\"}\n {name: \"John\", \"gender\": \"male\", \"age\": 12}\n {name: \"Jim\", \"gender\": null, \"age\": 12}\n]\n\ndescribe \"$.pivotUI()\", ->\n describe \"with no rows/cols, default count aggregator, default TableRenderer\", ->\n table = null\n\n beforeEach (done) ->\n table = $(\"<div>\").pivotUI fixtureData, onRefresh: done\n it \"has all the basic UI elements\", (done) ->\n expect table.find(\"td.pvtAxisContainer\").length\n .toBe 3\n expect table.find(\"td.pvtRendererArea\").length\n .toBe 1\n expect table.find(\"td.pvtVals\").length\n .toBe 1\n expect table.find(\"select.pvtRenderer\").length\n .toBe 1\n expect table.find(\"select.pvtAggregator\").length\n .toBe 1\n expect table.find(\"span.pvtAttr\").length\n .toBe 6\n done()\n\n it \"reflects its inputs\", (done) ->\n expect table.find(\"td.pvtUnused span.pvtAttr\").length\n .toBe 6\n expect table.find(\"select.pvtRenderer\").val()\n .toBe \"Table\"\n expect table.find(\"select.pvtAggregator\").val()\n .toBe \"Count\"\n done()\n\n it \"renders a table\", (done) ->\n expect table.find(\"table.pvtTable\").length\n .toBe 1\n done()\n\n\n describe \"its renderer output\", ->\n it \"has the correct type and number of cells\", (done) ->\n expect table.find(\"th.pvtTotalLabel\").length\n .toBe 1\n expect table.find(\"td.pvtGrandTotal\").length\n .toBe 1\n done()\n\n it \"has the correct textual representation\", (done) ->\n expect table.find(\"table.pvtTable\").text()\n .toBe [\"Totals\", \"4\"].join(\"\")\n done()\n\n it \"has a correct grand total with data value\", (done) ->\n expect table.find(\"td.pvtGrandTotal\").text()\n .toBe \"4\"\n expect table.find(\"td.pvtGrandTotal\").data(\"value\")\n .toBe 4\n done()\n\n describe \"with rows/cols, sum-over-sum aggregator, Heatmap renderer\", ->\n table = null\n\n beforeEach (done) ->\n table = $(\"<div>\").pivotUI fixtureData,\n rows: [\"gender\"], cols: [\"colour\"]\n aggregatorName: \"Sum over Sum\"\n vals: [\"successes\", \"trials\"]\n rendererName: \"Heatmap\"\n onRefresh: done\n\n it \"has all the basic UI elements\", (done) ->\n expect table.find(\"td.pvtAxisContainer\").length\n .toBe 3\n expect table.find(\"td.pvtRendererArea\").length\n .toBe 1\n expect table.find(\"td.pvtVals\").length\n .toBe 1\n expect table.find(\"select.pvtRenderer\").length\n .toBe 1\n expect table.find(\"select.pvtAggregator\").length\n .toBe 1\n expect table.find(\"span.pvtAttr\").length\n .toBe 6\n done()\n\n it \"reflects its inputs\", (done) ->\n expect table.find(\"td.pvtUnused span.pvtAttr\").length\n .toBe 4\n expect table.find(\"td.pvtRows span.pvtAttr\").length\n .toBe 1\n expect table.find(\"td.pvtCols span.pvtAttr\").length\n .toBe 1\n expect table.find(\"select.pvtRenderer\").val()\n .toBe \"Heatmap\"\n expect table.find(\"select.pvtAggregator\").val()\n .toBe \"Sum over Sum\"\n done()\n\n it \"renders a table\", (done) ->\n expect table.find(\"table.pvtTable\").length\n .toBe 1\n done()\n\n describe \"its renderer output\", ->\n it \"has the correct type and number of cells\", (done) ->\n expect table.find(\"th.pvtAxisLabel\").length\n .toBe 2\n expect table.find(\"th.pvtRowLabel\").length\n .toBe 2\n expect table.find(\"th.pvtColLabel\").length\n .toBe 3\n expect table.find(\"th.pvtTotalLabel\").length\n .toBe 2\n expect table.find(\"td.pvtVal\").length\n .toBe 6\n expect table.find(\"td.pvtTotal\").length\n .toBe 5\n expect table.find(\"td.pvtGrandTotal\").length\n .toBe 1\n done()\n\n it \"has the correct textual representation\", (done) ->\n expect table.find(\"table.pvtTable\").text()\n .toBe [\n \"colour\", \"blue\", \"red\", \"yellow\", \"Totals\",\n \"gender\",\n \"female\", \"0.26\", \"0.14\", \"0.20\",\n \"male\", \"0.20\", \"0.20\",\n \"Totals\", \"0.20\", \"0.26\", \"0.14\", \"0.20\"\n ].join(\"\")\n done()\n\n it \"has a correct spot-checked cell with data value\", (done) ->\n expect table.find(\"td.col0.row1\").text()\n .toBe \"0.20\"\n expect table.find(\"td.col0.row1\").data(\"value\")\n .toBe (12+30)/(103+112)\n done()\n\n describe \"with ragged input\", ->\n table = $(\"<div>\").pivotUI raggedFixtureData, rows: [\"gender\"], cols: [\"age\"]\n\n it \"renders a table with the correct textual representation\", ->\n expect table.find(\"table.pvtTable\").text()\n .toBe [\n \"age\", \"12\", \"34\", \"null\", \"Totals\"\n \"gender\",\n \"female\", \"1\", \"1\"\n \"male\", \"1\", \"1\"\n \"null\", \"1\", \"1\", \"2\"\n \"Totals\", \"2\", \"1\", \"1\", \"4\"\n ].join(\"\")\n\ndescribe \"$.pivot()\", ->\n\n describe \"with no rows/cols, default count aggregator, default TableRenderer\", ->\n table = $(\"<div>\").pivot fixtureData\n\n it \"renders a table\", ->\n expect table.find(\"table.pvtTable\").length\n .toBe 1\n\n describe \"its renderer output\", ->\n\n it \"has the correct textual representation\", ->\n expect table.find(\"table.pvtTable\").text()\n .toBe [\"Totals\", \"4\"].join(\"\")\n\n it \"has a correct grand total with data value\", ->\n expect table.find(\"td.pvtGrandTotal\").text()\n .toBe \"4\"\n expect table.find(\"td.pvtGrandTotal\").data(\"value\")\n .toBe 4\n\n describe \"with rows/cols, sum aggregator, derivedAttributes, filter and sorters\", ->\n {sortAs, derivers, aggregators} = $.pivotUtilities\n table = $(\"<div>\").pivot fixtureData,\n rows: [\"gender\"], cols: [\"birthyear\"], aggregator: aggregators[\"Sum\"]([\"trialbins\"])\n filter: (record) -> record.name != \"Nick\"\n derivedAttributes:\n birthyear: derivers.dateFormat \"birthday\", \"%y\"\n trialbins: derivers.bin \"trials\", 10\n sorters: (attr) ->\n if attr == \"gender\" then return sortAs([\"male\", \"female\"])\n\n it \"renders a table with the correct textual representation\", ->\n expect table.find(\"table.pvtTable\").text()\n .toBe [\n \"birthyear\", \"1982\", \"1983\", \"Totals\"\n \"gender\",\n \"male\", \"110.00\", \"110.00\"\n \"female\", \"90.00\", \"100.00\", \"190.00\"\n \"Totals\", \"200.00\", \"100.00\", \"300.00\"\n ].join(\"\")\n\n describe \"with rows/cols, fraction-of aggregator\", ->\n {aggregators} = $.pivotUtilities\n table = $(\"<div>\").pivot fixtureData,\n rows: [\"gender\"]\n aggregator: aggregators[\"Sum as Fraction of Total\"]([\"trials\"])\n\n it \"renders a table with the correct textual representation\", ->\n expect table.find(\"table.pvtTable\").text()\n .toBe [\n \"gender\", \"Totals\"\n \"female\", \"47.8%\"\n \"male\", \"52.2%\"\n \"Totals\", \"100.0%\"\n ].join(\"\")\n\n describe \"with rows/cols, custom aggregator, custom renderer with options\", ->\n received_PivotData = null\n received_rendererOptions = null\n\n table = $(\"<div>\").pivot fixtureData,\n rows: [\"name\", \"colour\"], cols: [\"trials\", \"successes\"]\n aggregator: ->\n count2x: 0\n push: -> @count2x +=2\n value: -> @count2x\n format: (x) -> \"formatted \" + x\n renderer: (a,b) ->\n received_PivotData = a\n received_rendererOptions = b\n return $(\"<div>\").addClass(b.greeting).text(\"world\")\n rendererOptions: {greeting:\"hithere\"}\n\n it \"renders the custom renderer as per options\", ->\n expect table.find(\"div.hithere\").length\n .toBe 1\n\n describe \"its received PivotData object\", ->\n it \"has a correct grand total value and format for custom aggregator\", ->\n agg = received_PivotData.getAggregator([],[])\n val = agg.value()\n expect(val).toBe 8\n expect(agg.format(val)).toBe \"formatted 8\"\n\n\n describe \"with ragged input\", ->\n table = $(\"<div>\").pivot raggedFixtureData, rows: [\"gender\"], cols: [\"age\"]\n\n it \"renders a table with the correct textual representation\", ->\n expect table.find(\"table.pvtTable\").text()\n .toBe [\n \"age\", \"12\", \"34\", \"null\", \"Totals\"\n \"gender\",\n \"female\", \"1\", \"1\"\n \"male\", \"1\", \"1\"\n \"null\", \"1\", \"1\", \"2\"\n \"Totals\", \"2\", \"1\", \"1\", \"4\"\n ].join(\"\")\n\ndescribe \"$.pivotUtilities\", ->\n\n describe \".PivotData()\", ->\n sumOverSumOpts =\n aggregator: $.pivotUtilities.aggregators[\"Sum over Sum\"]([\"a\",\"b\"])\n\n describe \"with no options\", ->\n aoaInput = [ [\"a\",\"b\"], [1,2], [3,4] ]\n pd = new $.pivotUtilities.PivotData aoaInput\n\n it \"has the correct grand total value\", ->\n expect pd.getAggregator([],[]).value()\n .toBe 2\n\n describe \"with array-of-array input\", ->\n aoaInput = [ [\"a\",\"b\"], [1,2], [3,4] ]\n pd = new $.pivotUtilities.PivotData aoaInput, sumOverSumOpts\n\n it \"has the correct grand total value\", ->\n expect pd.getAggregator([],[]).value()\n .toBe (1+3)/(2+4)\n\n describe \"with array-of-object input\", ->\n aosInput = [ {a:1, b:2}, {a:3, b:4} ]\n pd = new $.pivotUtilities.PivotData aosInput, sumOverSumOpts\n\n it \"has the correct grand total value\", ->\n expect pd.getAggregator([],[]).value()\n .toBe (1+3)/(2+4)\n\n describe \"with ragged array-of-object input\", ->\n raggedAosInput = [ {a:1}, {b:4}, {a: 3, b: 2} ]\n pd = new $.pivotUtilities.PivotData raggedAosInput, sumOverSumOpts\n\n it \"has the correct grand total value\", ->\n expect pd.getAggregator([],[]).value()\n .toBe (1+3)/(2+4)\n\n describe \"with function input\", ->\n functionInput = (record) ->\n record a:1, b:2\n record a:3, b:4\n pd = new $.pivotUtilities.PivotData functionInput, sumOverSumOpts\n\n it \"has the correct grand total value\", ->\n expect pd.getAggregator([],[]).value()\n .toBe (1+3)/(2+4)\n\n describe \"with jQuery table element input\", ->\n tableInput = $ \"\"\"\n <table>\n <thead>\n <tr> <th>a</th><th>b</th> </tr>\n </thead>\n <tbody>\n <tr> <td>1</td> <td>2</td> </tr>\n <tr> <td>3</td> <td>4</td> </tr>\n </tbody>\n </table>\n \"\"\"\n pd = new $.pivotUtilities.PivotData tableInput, sumOverSumOpts\n\n it \"has the correct grand total value\", ->\n expect pd.getAggregator([],[]).value()\n .toBe (1+3)/(2+4)\n\n\n describe \"with rows/cols\", ->\n pd = new $.pivotUtilities.PivotData fixtureData,\n rows: [\"name\", \"colour\"],\n cols: [\"trials\", \"successes\"]\n\n it \"has correctly-ordered row keys\", ->\n expect pd.getRowKeys()\n .toEqual [ [ 'Carol', 'yellow' ], [ 'Jane', 'red' ], [ 'John', 'blue' ], [ 'Nick', 'blue' ] ]\n\n it \"has correctly-ordered col keys\", ->\n expect pd.getColKeys()\n .toEqual [ [ 95, 25 ], [ 102, 14 ], [ 103, 12 ], [ 112, 30 ] ]\n\n it \"can be iterated over\", ->\n numNotNull = 0\n numNull = 0\n for r in pd.getRowKeys()\n for c in pd.getColKeys()\n if pd.getAggregator(r, c).value()?\n numNotNull++\n else\n numNull++\n expect numNotNull\n .toBe 4\n expect numNull\n .toBe 12\n\n it \"returns matching records\", ->\n records = []\n pd.forEachMatchingRecord gender: \"male\", (x) -> records.push(x.name)\n expect records\n .toEqual [\"Nick\", \"John\"]\n\n it \"has a correct spot-checked aggregator\", ->\n agg = pd.getAggregator([ 'Carol', 'yellow' ],[ 102, 14 ])\n val = agg.value()\n expect(val).toBe 1\n expect(agg.format(val)).toBe \"1\"\n\n it \"has a correct grand total aggregator\", ->\n agg = pd.getAggregator([],[])\n val = agg.value()\n expect(val).toBe 4\n expect(agg.format(val)).toBe \"4\"\n\n describe \".aggregatorTemplates\", ->\n\n getVal = (aggregator) ->\n pd = new $.pivotUtilities.PivotData(fixtureData, {aggregator})\n return pd.getAggregator([],[]).value()\n tpl = $.pivotUtilities.aggregatorTemplates\n\n describe \".count\", ->\n it \"works\", ->\n expect getVal(tpl.count()())\n .toBe 4\n\n describe \".countUnique\", ->\n it \"works\", ->\n expect getVal(tpl.countUnique()(['gender']))\n .toBe 2\n\n describe \".listUnique\", ->\n it \"works\", ->\n expect getVal(tpl.listUnique()(['gender']))\n .toBe 'male,female'\n\n describe \".average\", ->\n it \"works\", ->\n expect getVal(tpl.average()(['trials']))\n .toBe 103\n\n describe \".sum\", ->\n it \"works\", ->\n expect getVal(tpl.sum()(['trials']))\n .toBe 412\n\n describe \".min\", ->\n it \"works\", ->\n expect getVal(tpl.min()(['trials']))\n .toBe 95\n\n describe \".max\", ->\n it \"works\", ->\n expect getVal(tpl.max()(['trials']))\n .toBe 112\n\n describe \".first\", ->\n it \"works\", ->\n expect getVal(tpl.first()(['name']))\n .toBe 'Carol'\n\n describe \".last\", ->\n it \"works\", ->\n expect getVal(tpl.last()(['name']))\n .toBe 'Nick'\n\n describe \".average\", ->\n it \"works\", ->\n expect getVal(tpl.average()(['trials']))\n .toBe 103\n\n describe \".median\", ->\n it \"works\", ->\n expect getVal(tpl.median()(['trials']))\n .toBe 102.5\n\n describe \".quantile\", ->\n it \"works\", ->\n expect getVal(tpl.quantile(0)(['trials']))\n .toBe 95\n expect getVal(tpl.quantile(0.1)(['trials']))\n .toBe 98.5\n expect getVal(tpl.quantile(0.25)(['trials']))\n .toBe 98.5\n expect getVal(tpl.quantile(1/3)(['trials']))\n .toBe 102\n expect getVal(tpl.quantile(1)(['trials']))\n .toBe 112\n\n describe \".var\", ->\n it \"works\", ->\n expect getVal(tpl.var()(['trials']))\n .toBe 48.666666666666686\n\n describe \".stdev\", ->\n it \"works\", ->\n expect getVal(tpl.stdev()(['trials']))\n .toBe 6.976149845485451\n\n describe \".sumOverSum\", ->\n it \"works\", ->\n expect getVal(tpl.sumOverSum()(['successes', 'trials']))\n .toBe (12+25+30+14)/(95+102+103+112)\n\n describe \".naturalSort()\", ->\n naturalSort = $.pivotUtilities.naturalSort\n\n sortedArr = [\n null, NaN,\n -Infinity, '-Infinity', -3, '-3', -2, '-2', -1, '-1',\n 0, '2e-1', 1, '01', '1', 2, '002', '002e0', '02', '2', '2e-0',\n 3, 10, '10', '11', '12', '1e2', '112', Infinity, 'Infinity',\n '1a', '2a','12a','20a',\n 'A', 'A', 'NaN', 'a', 'a',\n 'a01', 'a012', 'a02', 'a1', 'a2', 'a12', 'a12', 'a21', 'a21',\n 'b', 'c', 'd', 'null'\n ]\n\n it \"sorts naturally (null, NaN, numbers & numbery strings, Alphanum for text strings)\", ->\n expect sortedArr.slice().sort(naturalSort)\n .toEqual sortedArr\n\n describe \".sortAs()\", ->\n sortAs = $.pivotUtilities.sortAs\n\n it \"sorts with unknown values sorted at the end\", ->\n expect [5,2,3,4,1].sort sortAs([4,3,2])\n .toEqual [4,3,2,1,5]\n\n it \"sorts lowercase after uppercase\", ->\n expect [\"Ab\",\"aA\",\"aa\",\"ab\"].sort sortAs([\"Ab\",\"Aa\"])\n .toEqual [\"Ab\",\"ab\",\"aa\",\"aA\"]\n\n describe \".numberFormat()\", ->\n numberFormat = $.pivotUtilities.numberFormat\n\n it \"formats numbers\", ->\n nf = numberFormat()\n expect nf 1234567.89123456\n .toEqual \"1,234,567.89\"\n\n it \"formats booleans\", ->\n nf = numberFormat()\n expect nf true\n .toEqual \"1.00\"\n\n it \"formats numbers in strings\", ->\n nf = numberFormat()\n expect nf \"1234567.89123456\"\n .toEqual \"1,234,567.89\"\n\n it \"doesn't formats strings\", ->\n nf = numberFormat()\n expect nf \"hi there\"\n .toEqual \"\"\n\n it \"doesn't formats objects\", ->\n nf = numberFormat()\n expect nf {a:1}\n .toEqual \"\"\n\n it \"formats percentages\", ->\n nf = numberFormat(scaler: 100, suffix: \"%\")\n expect nf 0.12345\n .toEqual \"12.35%\"\n\n it \"adds separators\", ->\n nf = numberFormat(thousandsSep: \"a\", decimalSep: \"b\")\n expect nf 1234567.89123456\n .toEqual \"1a234a567b89\"\n\n it \"adds prefixes and suffixes\", ->\n nf = numberFormat(prefix: \"a\", suffix: \"b\")\n expect nf 1234567.89123456\n .toEqual \"a1,234,567.89b\"\n\n it \"scales and rounds\", ->\n nf = numberFormat(digitsAfterDecimal: 3, scaler: 1000)\n expect nf 1234567.89123456\n .toEqual \"1,234,567,891.235\"\n\n describe \".derivers\", ->\n describe \".dateFormat()\", ->\n df = $.pivotUtilities.derivers.dateFormat \"x\", \"abc % %% %%% %a %y %m %n %d %w %x %H %M %S\", true\n\n it \"formats date objects\", ->\n expect df {x: new Date(\"2015-01-02T23:43:11Z\")}\n .toBe 'abc % %% %%% %a 2015 01 Jan 02 Fri 5 23 43 11'\n\n it \"formats input parsed by Date.parse()\", ->\n expect df {x: \"2015-01-02T23:43:11Z\"}\n .toBe 'abc % %% %%% %a 2015 01 Jan 02 Fri 5 23 43 11'\n\n expect df {x: \"bla\"}\n .toBe ''\n\n describe \".bin()\", ->\n binner = $.pivotUtilities.derivers.bin \"x\", 10\n\n it \"bins numbers\", ->\n expect binner {x: 11}\n .toBe 10\n\n expect binner {x: 9}\n .toBe 0\n\n expect binner {x: 111}\n .toBe 110\n\n it \"bins booleans\", ->\n expect binner {x: true}\n .toBe 0\n\n it \"bins negative numbers\", ->\n expect binner {x: -12}\n .toBe -10\n\n it \"doesn't bin strings\", ->\n expect binner {x: \"a\"}\n .toBeNaN()\n\n it \"doesn't bin objects\", ->\n expect binner {x: {a:1}}\n .toBeNaN()\n"]}
\ No newline at end of file
(function(){var t,e;t=[["name","gender","colour","birthday","trials","successes"],["Nick","male","blue","1982-11-07",103,12],["Jane","female","red","1982-11-08",95,25],["John","male","blue","1982-12-08",112,30],["Carol","female","yellow","1983-12-08",102,14]],e=[{name:"Nick",colour:"red",age:34},{name:"Jane",gender:"female"},{name:"John",gender:"male",age:12},{name:"Jim",gender:null,age:12}],describe("$.pivotUI()",function(){return describe("with no rows/cols, default count aggregator, default TableRenderer",function(){var e;return e=null,beforeEach(function(r){return e=$("<div>").pivotUI(t,{onRefresh:r})}),it("has all the basic UI elements",function(t){return expect(e.find("td.pvtAxisContainer").length).toBe(3),expect(e.find("td.pvtRendererArea").length).toBe(1),expect(e.find("td.pvtVals").length).toBe(1),expect(e.find("select.pvtRenderer").length).toBe(1),expect(e.find("select.pvtAggregator").length).toBe(1),expect(e.find("span.pvtAttr").length).toBe(6),t()}),it("reflects its inputs",function(t){return expect(e.find("td.pvtUnused span.pvtAttr").length).toBe(6),expect(e.find("select.pvtRenderer").val()).toBe("Table"),expect(e.find("select.pvtAggregator").val()).toBe("Count"),t()}),it("renders a table",function(t){return expect(e.find("table.pvtTable").length).toBe(1),t()}),describe("its renderer output",function(){return it("has the correct type and number of cells",function(t){return expect(e.find("th.pvtTotalLabel").length).toBe(1),expect(e.find("td.pvtGrandTotal").length).toBe(1),t()}),it("has the correct textual representation",function(t){return expect(e.find("table.pvtTable").text()).toBe(["Totals","4"].join("")),t()}),it("has a correct grand total with data value",function(t){return expect(e.find("td.pvtGrandTotal").text()).toBe("4"),expect(e.find("td.pvtGrandTotal").data("value")).toBe(4),t()})})}),describe("with rows/cols, sum-over-sum aggregator, Heatmap renderer",function(){var e;return e=null,beforeEach(function(r){return e=$("<div>").pivotUI(t,{rows:["gender"],cols:["colour"],aggregatorName:"Sum over Sum",vals:["successes","trials"],rendererName:"Heatmap",onRefresh:r})}),it("has all the basic UI elements",function(t){return expect(e.find("td.pvtAxisContainer").length).toBe(3),expect(e.find("td.pvtRendererArea").length).toBe(1),expect(e.find("td.pvtVals").length).toBe(1),expect(e.find("select.pvtRenderer").length).toBe(1),expect(e.find("select.pvtAggregator").length).toBe(1),expect(e.find("span.pvtAttr").length).toBe(6),t()}),it("reflects its inputs",function(t){return expect(e.find("td.pvtUnused span.pvtAttr").length).toBe(4),expect(e.find("td.pvtRows span.pvtAttr").length).toBe(1),expect(e.find("td.pvtCols span.pvtAttr").length).toBe(1),expect(e.find("select.pvtRenderer").val()).toBe("Heatmap"),expect(e.find("select.pvtAggregator").val()).toBe("Sum over Sum"),t()}),it("renders a table",function(t){return expect(e.find("table.pvtTable").length).toBe(1),t()}),describe("its renderer output",function(){return it("has the correct type and number of cells",function(t){return expect(e.find("th.pvtAxisLabel").length).toBe(2),expect(e.find("th.pvtRowLabel").length).toBe(2),expect(e.find("th.pvtColLabel").length).toBe(3),expect(e.find("th.pvtTotalLabel").length).toBe(2),expect(e.find("td.pvtVal").length).toBe(6),expect(e.find("td.pvtTotal").length).toBe(5),expect(e.find("td.pvtGrandTotal").length).toBe(1),t()}),it("has the correct textual representation",function(t){return expect(e.find("table.pvtTable").text()).toBe(["colour","blue","red","yellow","Totals","gender","female","0.26","0.14","0.20","male","0.20","0.20","Totals","0.20","0.26","0.14","0.20"].join("")),t()}),it("has a correct spot-checked cell with data value",function(t){return expect(e.find("td.col0.row1").text()).toBe("0.20"),expect(e.find("td.col0.row1").data("value")).toBe(42/215),t()})})}),describe("with ragged input",function(){var t;return t=$("<div>").pivotUI(e,{rows:["gender"],cols:["age"]}),it("renders a table with the correct textual representation",function(){return expect(t.find("table.pvtTable").text()).toBe(["age","12","34","null","Totals","gender","female","1","1","male","1","1","null","1","1","2","Totals","2","1","1","4"].join(""))})})}),describe("$.pivot()",function(){return describe("with no rows/cols, default count aggregator, default TableRenderer",function(){var e;return e=$("<div>").pivot(t),it("renders a table",function(){return expect(e.find("table.pvtTable").length).toBe(1)}),describe("its renderer output",function(){return it("has the correct textual representation",function(){return expect(e.find("table.pvtTable").text()).toBe(["Totals","4"].join(""))}),it("has a correct grand total with data value",function(){return expect(e.find("td.pvtGrandTotal").text()).toBe("4"),expect(e.find("td.pvtGrandTotal").data("value")).toBe(4)})})}),describe("with rows/cols, sum aggregator, derivedAttributes, filter and sorters",function(){var e,r,n,a,o;return n=$.pivotUtilities,a=n.sortAs,r=n.derivers,e=n.aggregators,o=$("<div>").pivot(t,{rows:["gender"],cols:["birthyear"],aggregator:e.Sum(["trialbins"]),filter:function(t){return"Nick"!==t.name},derivedAttributes:{birthyear:r.dateFormat("birthday","%y"),trialbins:r.bin("trials",10)},sorters:function(t){if("gender"===t)return a(["male","female"])}}),it("renders a table with the correct textual representation",function(){return expect(o.find("table.pvtTable").text()).toBe(["birthyear","1982","1983","Totals","gender","male","110.00","110.00","female","90.00","100.00","190.00","Totals","200.00","100.00","300.00"].join(""))})}),describe("with rows/cols, fraction-of aggregator",function(){var e,r;return e=$.pivotUtilities.aggregators,r=$("<div>").pivot(t,{rows:["gender"],aggregator:e["Sum as Fraction of Total"](["trials"])}),it("renders a table with the correct textual representation",function(){return expect(r.find("table.pvtTable").text()).toBe(["gender","Totals","female","47.8%","male","52.2%","Totals","100.0%"].join(""))})}),describe("with rows/cols, custom aggregator, custom renderer with options",function(){var e,r,n;return e=null,r=null,n=$("<div>").pivot(t,{rows:["name","colour"],cols:["trials","successes"],aggregator:function(){return{count2x:0,push:function(){return this.count2x+=2},value:function(){return this.count2x},format:function(t){return"formatted "+t}}},renderer:function(t,n){return e=t,r=n,$("<div>").addClass(n.greeting).text("world")},rendererOptions:{greeting:"hithere"}}),it("renders the custom renderer as per options",function(){return expect(n.find("div.hithere").length).toBe(1)}),describe("its received PivotData object",function(){return it("has a correct grand total value and format for custom aggregator",function(){var t,r;return t=e.getAggregator([],[]),r=t.value(),expect(r).toBe(8),expect(t.format(r)).toBe("formatted 8")})})}),describe("with ragged input",function(){var t;return t=$("<div>").pivot(e,{rows:["gender"],cols:["age"]}),it("renders a table with the correct textual representation",function(){return expect(t.find("table.pvtTable").text()).toBe(["age","12","34","null","Totals","gender","female","1","1","male","1","1","null","1","1","2","Totals","2","1","1","4"].join(""))})})}),describe("$.pivotUtilities",function(){return describe(".PivotData()",function(){var e;return e={aggregator:$.pivotUtilities.aggregators["Sum over Sum"](["a","b"])},describe("with no options",function(){var t,e;return t=[["a","b"],[1,2],[3,4]],e=new $.pivotUtilities.PivotData(t),it("has the correct grand total value",function(){return expect(e.getAggregator([],[]).value()).toBe(2)})}),describe("with array-of-array input",function(){var t,r;return t=[["a","b"],[1,2],[3,4]],r=new $.pivotUtilities.PivotData(t,e),it("has the correct grand total value",function(){return expect(r.getAggregator([],[]).value()).toBe(4/6)})}),describe("with array-of-object input",function(){var t,r;return t=[{a:1,b:2},{a:3,b:4}],r=new $.pivotUtilities.PivotData(t,e),it("has the correct grand total value",function(){return expect(r.getAggregator([],[]).value()).toBe(4/6)})}),describe("with ragged array-of-object input",function(){var t,r;return r=[{a:1},{b:4},{a:3,b:2}],t=new $.pivotUtilities.PivotData(r,e),it("has the correct grand total value",function(){return expect(t.getAggregator([],[]).value()).toBe(4/6)})}),describe("with function input",function(){var t,r;return t=function(t){return t({a:1,b:2}),t({a:3,b:4})},r=new $.pivotUtilities.PivotData(t,e),it("has the correct grand total value",function(){return expect(r.getAggregator([],[]).value()).toBe(4/6)})}),describe("with jQuery table element input",function(){var t,r;return r=$("<table>\n <thead>\n <tr> <th>a</th><th>b</th> </tr>\n </thead>\n <tbody>\n <tr> <td>1</td> <td>2</td> </tr>\n <tr> <td>3</td> <td>4</td> </tr>\n </tbody>\n</table>"),t=new $.pivotUtilities.PivotData(r,e),it("has the correct grand total value",function(){return expect(t.getAggregator([],[]).value()).toBe(4/6)})}),describe("with rows/cols",function(){var e;return e=new $.pivotUtilities.PivotData(t,{rows:["name","colour"],cols:["trials","successes"]}),it("has correctly-ordered row keys",function(){return expect(e.getRowKeys()).toEqual([["Carol","yellow"],["Jane","red"],["John","blue"],["Nick","blue"]])}),it("has correctly-ordered col keys",function(){return expect(e.getColKeys()).toEqual([[95,25],[102,14],[103,12],[112,30]])}),it("can be iterated over",function(){var t,r,n,a,o,i,c,u,s,l;for(i=0,c=0,s=e.getRowKeys(),r=0,a=s.length;r<a;r++)for(u=s[r],l=e.getColKeys(),n=0,o=l.length;n<o;n++)t=l[n],null!=e.getAggregator(u,t).value()?i++:c++;return expect(i).toBe(4),expect(c).toBe(12)}),it("returns matching records",function(){var t;return t=[],e.forEachMatchingRecord({gender:"male"},function(e){return t.push(e.name)}),expect(t).toEqual(["Nick","John"])}),it("has a correct spot-checked aggregator",function(){var t,r;return t=e.getAggregator(["Carol","yellow"],[102,14]),r=t.value(),expect(r).toBe(1),expect(t.format(r)).toBe("1")}),it("has a correct grand total aggregator",function(){var t,r;return t=e.getAggregator([],[]),r=t.value(),expect(r).toBe(4),expect(t.format(r)).toBe("4")})})}),describe(".aggregatorTemplates",function(){var e,r;return e=function(e){var r;return r=new $.pivotUtilities.PivotData(t,{aggregator:e}),r.getAggregator([],[]).value()},r=$.pivotUtilities.aggregatorTemplates,describe(".count",function(){return it("works",function(){return expect(e(r.count()())).toBe(4)})}),describe(".countUnique",function(){return it("works",function(){return expect(e(r.countUnique()(["gender"]))).toBe(2)})}),describe(".listUnique",function(){return it("works",function(){return expect(e(r.listUnique()(["gender"]))).toBe("male,female")})}),describe(".average",function(){return it("works",function(){return expect(e(r.average()(["trials"]))).toBe(103)})}),describe(".sum",function(){return it("works",function(){return expect(e(r.sum()(["trials"]))).toBe(412)})}),describe(".min",function(){return it("works",function(){return expect(e(r.min()(["trials"]))).toBe(95)})}),describe(".max",function(){return it("works",function(){return expect(e(r.max()(["trials"]))).toBe(112)})}),describe(".first",function(){return it("works",function(){return expect(e(r.first()(["name"]))).toBe("Carol")})}),describe(".last",function(){return it("works",function(){return expect(e(r.last()(["name"]))).toBe("Nick")})}),describe(".average",function(){return it("works",function(){return expect(e(r.average()(["trials"]))).toBe(103)})}),describe(".median",function(){return it("works",function(){return expect(e(r.median()(["trials"]))).toBe(102.5)})}),describe(".quantile",function(){return it("works",function(){return expect(e(r.quantile(0)(["trials"]))).toBe(95),expect(e(r.quantile(.1)(["trials"]))).toBe(98.5),expect(e(r.quantile(.25)(["trials"]))).toBe(98.5),expect(e(r.quantile(1/3)(["trials"]))).toBe(102),expect(e(r.quantile(1)(["trials"]))).toBe(112)})}),describe(".var",function(){return it("works",function(){return expect(e(r["var"]()(["trials"]))).toBe(48.666666666666686)})}),describe(".stdev",function(){return it("works",function(){return expect(e(r.stdev()(["trials"]))).toBe(6.976149845485451)})}),describe(".sumOverSum",function(){return it("works",function(){return expect(e(r.sumOverSum()(["successes","trials"]))).toBe(81/412)})})}),describe(".naturalSort()",function(){var t,e;return t=$.pivotUtilities.naturalSort,e=[null,NaN,-Infinity,"-Infinity",-3,"-3",-2,"-2",-1,"-1",0,"2e-1",1,"01","1",2,"002","002e0","02","2","2e-0",3,10,"10","11","12","1e2","112",Infinity,"Infinity","1a","2a","12a","20a","A","A","NaN","a","a","a01","a012","a02","a1","a2","a12","a12","a21","a21","b","c","d","null"],it("sorts naturally (null, NaN, numbers & numbery strings, Alphanum for text strings)",function(){return expect(e.slice().sort(t)).toEqual(e)})}),describe(".sortAs()",function(){var t;return t=$.pivotUtilities.sortAs,it("sorts with unknown values sorted at the end",function(){return expect([5,2,3,4,1].sort(t([4,3,2]))).toEqual([4,3,2,1,5])}),it("sorts lowercase after uppercase",function(){return expect(["Ab","aA","aa","ab"].sort(t(["Ab","Aa"]))).toEqual(["Ab","ab","aa","aA"])})}),describe(".numberFormat()",function(){var t;return t=$.pivotUtilities.numberFormat,it("formats numbers",function(){var e;return e=t(),expect(e(1234567.89123456)).toEqual("1,234,567.89")}),it("formats booleans",function(){var e;return e=t(),expect(e(!0)).toEqual("1.00")}),it("formats numbers in strings",function(){var e;return e=t(),expect(e("1234567.89123456")).toEqual("1,234,567.89")}),it("doesn't formats strings",function(){var e;return e=t(),expect(e("hi there")).toEqual("")}),it("doesn't formats objects",function(){var e;return e=t(),expect(e({a:1})).toEqual("")}),it("formats percentages",function(){var e;return e=t({scaler:100,suffix:"%"}),expect(e(.12345)).toEqual("12.35%")}),it("adds separators",function(){var e;return e=t({thousandsSep:"a",decimalSep:"b"}),expect(e(1234567.89123456)).toEqual("1a234a567b89")}),it("adds prefixes and suffixes",function(){var e;return e=t({prefix:"a",suffix:"b"}),expect(e(1234567.89123456)).toEqual("a1,234,567.89b")}),it("scales and rounds",function(){var e;return e=t({digitsAfterDecimal:3,scaler:1e3}),expect(e(1234567.89123456)).toEqual("1,234,567,891.235")})}),describe(".derivers",function(){return describe(".dateFormat()",function(){var t;return t=$.pivotUtilities.derivers.dateFormat("x","abc % %% %%% %a %y %m %n %d %w %x %H %M %S",!0),it("formats date objects",function(){return expect(t({x:new Date("2015-01-02T23:43:11Z")})).toBe("abc % %% %%% %a 2015 01 Jan 02 Fri 5 23 43 11")}),it("formats input parsed by Date.parse()",function(){return expect(t({x:"2015-01-02T23:43:11Z"})).toBe("abc % %% %%% %a 2015 01 Jan 02 Fri 5 23 43 11"),expect(t({x:"bla"})).toBe("")})}),describe(".bin()",function(){var t;return t=$.pivotUtilities.derivers.bin("x",10),it("bins numbers",function(){return expect(t({x:11})).toBe(10),expect(t({x:9})).toBe(0),expect(t({x:111})).toBe(110)}),it("bins booleans",function(){return expect(t({x:!0})).toBe(0)}),it("bins negative numbers",function(){return expect(t({x:-12})).toBe(-10)}),it("doesn't bin strings",function(){return expect(t({x:"a"})).toBeNaN()}),it("doesn't bin objects",function(){return expect(t({x:{a:1}})).toBeNaN()})})})})}).call(this);
//# sourceMappingURL=pivot_spec.min.js.map
{"version":3,"sources":["pivot_spec.coffee","pivot_spec.min.js"],"names":["fixtureData","raggedFixtureData","name","colour","age","gender","describe","table","beforeEach","done","$","pivotUI","onRefresh","it","expect","find","length","toBe","val","text","join","data","rows","cols","aggregatorName","vals","rendererName","pivot","aggregators","derivers","ref","sortAs","pivotUtilities","aggregator","filter","record","derivedAttributes","birthyear","dateFormat","trialbins","bin","sorters","attr","received_PivotData","received_rendererOptions","count2x","push","this","value","format","x","renderer","a","b","addClass","greeting","rendererOptions","agg","getAggregator","sumOverSumOpts","aoaInput","pd","PivotData","aosInput","raggedAosInput","functionInput","tableInput","getRowKeys","toEqual","getColKeys","c","i","j","len","len1","numNotNull","numNull","r","ref1","records","forEachMatchingRecord","getVal","tpl","aggregatorTemplates","count","countUnique","listUnique","average","sum","min","max","first","last","median","quantile","stdev","sumOverSum","naturalSort","sortedArr","slice","sort","numberFormat","nf","scaler","suffix","thousandsSep","decimalSep","prefix","digitsAfterDecimal","df","Date","binner","toBeNaN","call"],"mappings":"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","file":"pivot_spec.min.js","sourcesContent":["fixtureData = [\n [\"name\", \"gender\", \"colour\", \"birthday\", \"trials\", \"successes\"],\n [\"Nick\", \"male\", \"blue\", \"1982-11-07\", 103, 12],\n [\"Jane\", \"female\", \"red\", \"1982-11-08\", 95, 25],\n [\"John\", \"male\", \"blue\", \"1982-12-08\", 112, 30],\n [\"Carol\", \"female\", \"yellow\", \"1983-12-08\", 102, 14]\n]\n\nraggedFixtureData = [\n {name: \"Nick\", \"colour\": \"red\", \"age\": 34}\n {name: \"Jane\", \"gender\": \"female\"}\n {name: \"John\", \"gender\": \"male\", \"age\": 12}\n {name: \"Jim\", \"gender\": null, \"age\": 12}\n]\n\ndescribe \"$.pivotUI()\", ->\n describe \"with no rows/cols, default count aggregator, default TableRenderer\", ->\n table = null\n\n beforeEach (done) ->\n table = $(\"<div>\").pivotUI fixtureData, onRefresh: done\n it \"has all the basic UI elements\", (done) ->\n expect table.find(\"td.pvtAxisContainer\").length\n .toBe 3\n expect table.find(\"td.pvtRendererArea\").length\n .toBe 1\n expect table.find(\"td.pvtVals\").length\n .toBe 1\n expect table.find(\"select.pvtRenderer\").length\n .toBe 1\n expect table.find(\"select.pvtAggregator\").length\n .toBe 1\n expect table.find(\"span.pvtAttr\").length\n .toBe 6\n done()\n\n it \"reflects its inputs\", (done) ->\n expect table.find(\"td.pvtUnused span.pvtAttr\").length\n .toBe 6\n expect table.find(\"select.pvtRenderer\").val()\n .toBe \"Table\"\n expect table.find(\"select.pvtAggregator\").val()\n .toBe \"Count\"\n done()\n\n it \"renders a table\", (done) ->\n expect table.find(\"table.pvtTable\").length\n .toBe 1\n done()\n\n\n describe \"its renderer output\", ->\n it \"has the correct type and number of cells\", (done) ->\n expect table.find(\"th.pvtTotalLabel\").length\n .toBe 1\n expect table.find(\"td.pvtGrandTotal\").length\n .toBe 1\n done()\n\n it \"has the correct textual representation\", (done) ->\n expect table.find(\"table.pvtTable\").text()\n .toBe [\"Totals\", \"4\"].join(\"\")\n done()\n\n it \"has a correct grand total with data value\", (done) ->\n expect table.find(\"td.pvtGrandTotal\").text()\n .toBe \"4\"\n expect table.find(\"td.pvtGrandTotal\").data(\"value\")\n .toBe 4\n done()\n\n describe \"with rows/cols, sum-over-sum aggregator, Heatmap renderer\", ->\n table = null\n\n beforeEach (done) ->\n table = $(\"<div>\").pivotUI fixtureData,\n rows: [\"gender\"], cols: [\"colour\"]\n aggregatorName: \"Sum over Sum\"\n vals: [\"successes\", \"trials\"]\n rendererName: \"Heatmap\"\n onRefresh: done\n\n it \"has all the basic UI elements\", (done) ->\n expect table.find(\"td.pvtAxisContainer\").length\n .toBe 3\n expect table.find(\"td.pvtRendererArea\").length\n .toBe 1\n expect table.find(\"td.pvtVals\").length\n .toBe 1\n expect table.find(\"select.pvtRenderer\").length\n .toBe 1\n expect table.find(\"select.pvtAggregator\").length\n .toBe 1\n expect table.find(\"span.pvtAttr\").length\n .toBe 6\n done()\n\n it \"reflects its inputs\", (done) ->\n expect table.find(\"td.pvtUnused span.pvtAttr\").length\n .toBe 4\n expect table.find(\"td.pvtRows span.pvtAttr\").length\n .toBe 1\n expect table.find(\"td.pvtCols span.pvtAttr\").length\n .toBe 1\n expect table.find(\"select.pvtRenderer\").val()\n .toBe \"Heatmap\"\n expect table.find(\"select.pvtAggregator\").val()\n .toBe \"Sum over Sum\"\n done()\n\n it \"renders a table\", (done) ->\n expect table.find(\"table.pvtTable\").length\n .toBe 1\n done()\n\n describe \"its renderer output\", ->\n it \"has the correct type and number of cells\", (done) ->\n expect table.find(\"th.pvtAxisLabel\").length\n .toBe 2\n expect table.find(\"th.pvtRowLabel\").length\n .toBe 2\n expect table.find(\"th.pvtColLabel\").length\n .toBe 3\n expect table.find(\"th.pvtTotalLabel\").length\n .toBe 2\n expect table.find(\"td.pvtVal\").length\n .toBe 6\n expect table.find(\"td.pvtTotal\").length\n .toBe 5\n expect table.find(\"td.pvtGrandTotal\").length\n .toBe 1\n done()\n\n it \"has the correct textual representation\", (done) ->\n expect table.find(\"table.pvtTable\").text()\n .toBe [\n \"colour\", \"blue\", \"red\", \"yellow\", \"Totals\",\n \"gender\",\n \"female\", \"0.26\", \"0.14\", \"0.20\",\n \"male\", \"0.20\", \"0.20\",\n \"Totals\", \"0.20\", \"0.26\", \"0.14\", \"0.20\"\n ].join(\"\")\n done()\n\n it \"has a correct spot-checked cell with data value\", (done) ->\n expect table.find(\"td.col0.row1\").text()\n .toBe \"0.20\"\n expect table.find(\"td.col0.row1\").data(\"value\")\n .toBe (12+30)/(103+112)\n done()\n\n describe \"with ragged input\", ->\n table = $(\"<div>\").pivotUI raggedFixtureData, rows: [\"gender\"], cols: [\"age\"]\n\n it \"renders a table with the correct textual representation\", ->\n expect table.find(\"table.pvtTable\").text()\n .toBe [\n \"age\", \"12\", \"34\", \"null\", \"Totals\"\n \"gender\",\n \"female\", \"1\", \"1\"\n \"male\", \"1\", \"1\"\n \"null\", \"1\", \"1\", \"2\"\n \"Totals\", \"2\", \"1\", \"1\", \"4\"\n ].join(\"\")\n\ndescribe \"$.pivot()\", ->\n\n describe \"with no rows/cols, default count aggregator, default TableRenderer\", ->\n table = $(\"<div>\").pivot fixtureData\n\n it \"renders a table\", ->\n expect table.find(\"table.pvtTable\").length\n .toBe 1\n\n describe \"its renderer output\", ->\n\n it \"has the correct textual representation\", ->\n expect table.find(\"table.pvtTable\").text()\n .toBe [\"Totals\", \"4\"].join(\"\")\n\n it \"has a correct grand total with data value\", ->\n expect table.find(\"td.pvtGrandTotal\").text()\n .toBe \"4\"\n expect table.find(\"td.pvtGrandTotal\").data(\"value\")\n .toBe 4\n\n describe \"with rows/cols, sum aggregator, derivedAttributes, filter and sorters\", ->\n {sortAs, derivers, aggregators} = $.pivotUtilities\n table = $(\"<div>\").pivot fixtureData,\n rows: [\"gender\"], cols: [\"birthyear\"], aggregator: aggregators[\"Sum\"]([\"trialbins\"])\n filter: (record) -> record.name != \"Nick\"\n derivedAttributes:\n birthyear: derivers.dateFormat \"birthday\", \"%y\"\n trialbins: derivers.bin \"trials\", 10\n sorters: (attr) ->\n if attr == \"gender\" then return sortAs([\"male\", \"female\"])\n\n it \"renders a table with the correct textual representation\", ->\n expect table.find(\"table.pvtTable\").text()\n .toBe [\n \"birthyear\", \"1982\", \"1983\", \"Totals\"\n \"gender\",\n \"male\", \"110.00\", \"110.00\"\n \"female\", \"90.00\", \"100.00\", \"190.00\"\n \"Totals\", \"200.00\", \"100.00\", \"300.00\"\n ].join(\"\")\n\n describe \"with rows/cols, fraction-of aggregator\", ->\n {aggregators} = $.pivotUtilities\n table = $(\"<div>\").pivot fixtureData,\n rows: [\"gender\"]\n aggregator: aggregators[\"Sum as Fraction of Total\"]([\"trials\"])\n\n it \"renders a table with the correct textual representation\", ->\n expect table.find(\"table.pvtTable\").text()\n .toBe [\n \"gender\", \"Totals\"\n \"female\", \"47.8%\"\n \"male\", \"52.2%\"\n \"Totals\", \"100.0%\"\n ].join(\"\")\n\n describe \"with rows/cols, custom aggregator, custom renderer with options\", ->\n received_PivotData = null\n received_rendererOptions = null\n\n table = $(\"<div>\").pivot fixtureData,\n rows: [\"name\", \"colour\"], cols: [\"trials\", \"successes\"]\n aggregator: ->\n count2x: 0\n push: -> @count2x +=2\n value: -> @count2x\n format: (x) -> \"formatted \" + x\n renderer: (a,b) ->\n received_PivotData = a\n received_rendererOptions = b\n return $(\"<div>\").addClass(b.greeting).text(\"world\")\n rendererOptions: {greeting:\"hithere\"}\n\n it \"renders the custom renderer as per options\", ->\n expect table.find(\"div.hithere\").length\n .toBe 1\n\n describe \"its received PivotData object\", ->\n it \"has a correct grand total value and format for custom aggregator\", ->\n agg = received_PivotData.getAggregator([],[])\n val = agg.value()\n expect(val).toBe 8\n expect(agg.format(val)).toBe \"formatted 8\"\n\n\n describe \"with ragged input\", ->\n table = $(\"<div>\").pivot raggedFixtureData, rows: [\"gender\"], cols: [\"age\"]\n\n it \"renders a table with the correct textual representation\", ->\n expect table.find(\"table.pvtTable\").text()\n .toBe [\n \"age\", \"12\", \"34\", \"null\", \"Totals\"\n \"gender\",\n \"female\", \"1\", \"1\"\n \"male\", \"1\", \"1\"\n \"null\", \"1\", \"1\", \"2\"\n \"Totals\", \"2\", \"1\", \"1\", \"4\"\n ].join(\"\")\n\ndescribe \"$.pivotUtilities\", ->\n\n describe \".PivotData()\", ->\n sumOverSumOpts =\n aggregator: $.pivotUtilities.aggregators[\"Sum over Sum\"]([\"a\",\"b\"])\n\n describe \"with no options\", ->\n aoaInput = [ [\"a\",\"b\"], [1,2], [3,4] ]\n pd = new $.pivotUtilities.PivotData aoaInput\n\n it \"has the correct grand total value\", ->\n expect pd.getAggregator([],[]).value()\n .toBe 2\n\n describe \"with array-of-array input\", ->\n aoaInput = [ [\"a\",\"b\"], [1,2], [3,4] ]\n pd = new $.pivotUtilities.PivotData aoaInput, sumOverSumOpts\n\n it \"has the correct grand total value\", ->\n expect pd.getAggregator([],[]).value()\n .toBe (1+3)/(2+4)\n\n describe \"with array-of-object input\", ->\n aosInput = [ {a:1, b:2}, {a:3, b:4} ]\n pd = new $.pivotUtilities.PivotData aosInput, sumOverSumOpts\n\n it \"has the correct grand total value\", ->\n expect pd.getAggregator([],[]).value()\n .toBe (1+3)/(2+4)\n\n describe \"with ragged array-of-object input\", ->\n raggedAosInput = [ {a:1}, {b:4}, {a: 3, b: 2} ]\n pd = new $.pivotUtilities.PivotData raggedAosInput, sumOverSumOpts\n\n it \"has the correct grand total value\", ->\n expect pd.getAggregator([],[]).value()\n .toBe (1+3)/(2+4)\n\n describe \"with function input\", ->\n functionInput = (record) ->\n record a:1, b:2\n record a:3, b:4\n pd = new $.pivotUtilities.PivotData functionInput, sumOverSumOpts\n\n it \"has the correct grand total value\", ->\n expect pd.getAggregator([],[]).value()\n .toBe (1+3)/(2+4)\n\n describe \"with jQuery table element input\", ->\n tableInput = $ \"\"\"\n <table>\n <thead>\n <tr> <th>a</th><th>b</th> </tr>\n </thead>\n <tbody>\n <tr> <td>1</td> <td>2</td> </tr>\n <tr> <td>3</td> <td>4</td> </tr>\n </tbody>\n </table>\n \"\"\"\n pd = new $.pivotUtilities.PivotData tableInput, sumOverSumOpts\n\n it \"has the correct grand total value\", ->\n expect pd.getAggregator([],[]).value()\n .toBe (1+3)/(2+4)\n\n\n describe \"with rows/cols\", ->\n pd = new $.pivotUtilities.PivotData fixtureData,\n rows: [\"name\", \"colour\"],\n cols: [\"trials\", \"successes\"]\n\n it \"has correctly-ordered row keys\", ->\n expect pd.getRowKeys()\n .toEqual [ [ 'Carol', 'yellow' ], [ 'Jane', 'red' ], [ 'John', 'blue' ], [ 'Nick', 'blue' ] ]\n\n it \"has correctly-ordered col keys\", ->\n expect pd.getColKeys()\n .toEqual [ [ 95, 25 ], [ 102, 14 ], [ 103, 12 ], [ 112, 30 ] ]\n\n it \"can be iterated over\", ->\n numNotNull = 0\n numNull = 0\n for r in pd.getRowKeys()\n for c in pd.getColKeys()\n if pd.getAggregator(r, c).value()?\n numNotNull++\n else\n numNull++\n expect numNotNull\n .toBe 4\n expect numNull\n .toBe 12\n\n it \"returns matching records\", ->\n records = []\n pd.forEachMatchingRecord gender: \"male\", (x) -> records.push(x.name)\n expect records\n .toEqual [\"Nick\", \"John\"]\n\n it \"has a correct spot-checked aggregator\", ->\n agg = pd.getAggregator([ 'Carol', 'yellow' ],[ 102, 14 ])\n val = agg.value()\n expect(val).toBe 1\n expect(agg.format(val)).toBe \"1\"\n\n it \"has a correct grand total aggregator\", ->\n agg = pd.getAggregator([],[])\n val = agg.value()\n expect(val).toBe 4\n expect(agg.format(val)).toBe \"4\"\n\n describe \".aggregatorTemplates\", ->\n\n getVal = (aggregator) ->\n pd = new $.pivotUtilities.PivotData(fixtureData, {aggregator})\n return pd.getAggregator([],[]).value()\n tpl = $.pivotUtilities.aggregatorTemplates\n\n describe \".count\", ->\n it \"works\", ->\n expect getVal(tpl.count()())\n .toBe 4\n\n describe \".countUnique\", ->\n it \"works\", ->\n expect getVal(tpl.countUnique()(['gender']))\n .toBe 2\n\n describe \".listUnique\", ->\n it \"works\", ->\n expect getVal(tpl.listUnique()(['gender']))\n .toBe 'male,female'\n\n describe \".average\", ->\n it \"works\", ->\n expect getVal(tpl.average()(['trials']))\n .toBe 103\n\n describe \".sum\", ->\n it \"works\", ->\n expect getVal(tpl.sum()(['trials']))\n .toBe 412\n\n describe \".min\", ->\n it \"works\", ->\n expect getVal(tpl.min()(['trials']))\n .toBe 95\n\n describe \".max\", ->\n it \"works\", ->\n expect getVal(tpl.max()(['trials']))\n .toBe 112\n\n describe \".first\", ->\n it \"works\", ->\n expect getVal(tpl.first()(['name']))\n .toBe 'Carol'\n\n describe \".last\", ->\n it \"works\", ->\n expect getVal(tpl.last()(['name']))\n .toBe 'Nick'\n\n describe \".average\", ->\n it \"works\", ->\n expect getVal(tpl.average()(['trials']))\n .toBe 103\n\n describe \".median\", ->\n it \"works\", ->\n expect getVal(tpl.median()(['trials']))\n .toBe 102.5\n\n describe \".quantile\", ->\n it \"works\", ->\n expect getVal(tpl.quantile(0)(['trials']))\n .toBe 95\n expect getVal(tpl.quantile(0.1)(['trials']))\n .toBe 98.5\n expect getVal(tpl.quantile(0.25)(['trials']))\n .toBe 98.5\n expect getVal(tpl.quantile(1/3)(['trials']))\n .toBe 102\n expect getVal(tpl.quantile(1)(['trials']))\n .toBe 112\n\n describe \".var\", ->\n it \"works\", ->\n expect getVal(tpl.var()(['trials']))\n .toBe 48.666666666666686\n\n describe \".stdev\", ->\n it \"works\", ->\n expect getVal(tpl.stdev()(['trials']))\n .toBe 6.976149845485451\n\n describe \".sumOverSum\", ->\n it \"works\", ->\n expect getVal(tpl.sumOverSum()(['successes', 'trials']))\n .toBe (12+25+30+14)/(95+102+103+112)\n\n describe \".naturalSort()\", ->\n naturalSort = $.pivotUtilities.naturalSort\n\n sortedArr = [\n null, NaN,\n -Infinity, '-Infinity', -3, '-3', -2, '-2', -1, '-1',\n 0, '2e-1', 1, '01', '1', 2, '002', '002e0', '02', '2', '2e-0',\n 3, 10, '10', '11', '12', '1e2', '112', Infinity, 'Infinity',\n '1a', '2a','12a','20a',\n 'A', 'A', 'NaN', 'a', 'a',\n 'a01', 'a012', 'a02', 'a1', 'a2', 'a12', 'a12', 'a21', 'a21',\n 'b', 'c', 'd', 'null'\n ]\n\n it \"sorts naturally (null, NaN, numbers & numbery strings, Alphanum for text strings)\", ->\n expect sortedArr.slice().sort(naturalSort)\n .toEqual sortedArr\n\n describe \".sortAs()\", ->\n sortAs = $.pivotUtilities.sortAs\n\n it \"sorts with unknown values sorted at the end\", ->\n expect [5,2,3,4,1].sort sortAs([4,3,2])\n .toEqual [4,3,2,1,5]\n\n it \"sorts lowercase after uppercase\", ->\n expect [\"Ab\",\"aA\",\"aa\",\"ab\"].sort sortAs([\"Ab\",\"Aa\"])\n .toEqual [\"Ab\",\"ab\",\"aa\",\"aA\"]\n\n describe \".numberFormat()\", ->\n numberFormat = $.pivotUtilities.numberFormat\n\n it \"formats numbers\", ->\n nf = numberFormat()\n expect nf 1234567.89123456\n .toEqual \"1,234,567.89\"\n\n it \"formats booleans\", ->\n nf = numberFormat()\n expect nf true\n .toEqual \"1.00\"\n\n it \"formats numbers in strings\", ->\n nf = numberFormat()\n expect nf \"1234567.89123456\"\n .toEqual \"1,234,567.89\"\n\n it \"doesn't formats strings\", ->\n nf = numberFormat()\n expect nf \"hi there\"\n .toEqual \"\"\n\n it \"doesn't formats objects\", ->\n nf = numberFormat()\n expect nf {a:1}\n .toEqual \"\"\n\n it \"formats percentages\", ->\n nf = numberFormat(scaler: 100, suffix: \"%\")\n expect nf 0.12345\n .toEqual \"12.35%\"\n\n it \"adds separators\", ->\n nf = numberFormat(thousandsSep: \"a\", decimalSep: \"b\")\n expect nf 1234567.89123456\n .toEqual \"1a234a567b89\"\n\n it \"adds prefixes and suffixes\", ->\n nf = numberFormat(prefix: \"a\", suffix: \"b\")\n expect nf 1234567.89123456\n .toEqual \"a1,234,567.89b\"\n\n it \"scales and rounds\", ->\n nf = numberFormat(digitsAfterDecimal: 3, scaler: 1000)\n expect nf 1234567.89123456\n .toEqual \"1,234,567,891.235\"\n\n describe \".derivers\", ->\n describe \".dateFormat()\", ->\n df = $.pivotUtilities.derivers.dateFormat \"x\", \"abc % %% %%% %a %y %m %n %d %w %x %H %M %S\", true\n\n it \"formats date objects\", ->\n expect df {x: new Date(\"2015-01-02T23:43:11Z\")}\n .toBe 'abc % %% %%% %a 2015 01 Jan 02 Fri 5 23 43 11'\n\n it \"formats input parsed by Date.parse()\", ->\n expect df {x: \"2015-01-02T23:43:11Z\"}\n .toBe 'abc % %% %%% %a 2015 01 Jan 02 Fri 5 23 43 11'\n\n expect df {x: \"bla\"}\n .toBe ''\n\n describe \".bin()\", ->\n binner = $.pivotUtilities.derivers.bin \"x\", 10\n\n it \"bins numbers\", ->\n expect binner {x: 11}\n .toBe 10\n\n expect binner {x: 9}\n .toBe 0\n\n expect binner {x: 111}\n .toBe 110\n\n it \"bins booleans\", ->\n expect binner {x: true}\n .toBe 0\n\n it \"bins negative numbers\", ->\n expect binner {x: -12}\n .toBe -10\n\n it \"doesn't bin strings\", ->\n expect binner {x: \"a\"}\n .toBeNaN()\n\n it \"doesn't bin objects\", ->\n expect binner {x: {a:1}}\n .toBeNaN()\n","(function() {\n var fixtureData, raggedFixtureData;\n\n fixtureData = [[\"name\", \"gender\", \"colour\", \"birthday\", \"trials\", \"successes\"], [\"Nick\", \"male\", \"blue\", \"1982-11-07\", 103, 12], [\"Jane\", \"female\", \"red\", \"1982-11-08\", 95, 25], [\"John\", \"male\", \"blue\", \"1982-12-08\", 112, 30], [\"Carol\", \"female\", \"yellow\", \"1983-12-08\", 102, 14]];\n\n raggedFixtureData = [\n {\n name: \"Nick\",\n \"colour\": \"red\",\n \"age\": 34\n }, {\n name: \"Jane\",\n \"gender\": \"female\"\n }, {\n name: \"John\",\n \"gender\": \"male\",\n \"age\": 12\n }, {\n name: \"Jim\",\n \"gender\": null,\n \"age\": 12\n }\n ];\n\n describe(\"$.pivotUI()\", function() {\n describe(\"with no rows/cols, default count aggregator, default TableRenderer\", function() {\n var table;\n table = null;\n beforeEach(function(done) {\n return table = $(\"<div>\").pivotUI(fixtureData, {\n onRefresh: done\n });\n });\n it(\"has all the basic UI elements\", function(done) {\n expect(table.find(\"td.pvtAxisContainer\").length).toBe(3);\n expect(table.find(\"td.pvtRendererArea\").length).toBe(1);\n expect(table.find(\"td.pvtVals\").length).toBe(1);\n expect(table.find(\"select.pvtRenderer\").length).toBe(1);\n expect(table.find(\"select.pvtAggregator\").length).toBe(1);\n expect(table.find(\"span.pvtAttr\").length).toBe(6);\n return done();\n });\n it(\"reflects its inputs\", function(done) {\n expect(table.find(\"td.pvtUnused span.pvtAttr\").length).toBe(6);\n expect(table.find(\"select.pvtRenderer\").val()).toBe(\"Table\");\n expect(table.find(\"select.pvtAggregator\").val()).toBe(\"Count\");\n return done();\n });\n it(\"renders a table\", function(done) {\n expect(table.find(\"table.pvtTable\").length).toBe(1);\n return done();\n });\n return describe(\"its renderer output\", function() {\n it(\"has the correct type and number of cells\", function(done) {\n expect(table.find(\"th.pvtTotalLabel\").length).toBe(1);\n expect(table.find(\"td.pvtGrandTotal\").length).toBe(1);\n return done();\n });\n it(\"has the correct textual representation\", function(done) {\n expect(table.find(\"table.pvtTable\").text()).toBe([\"Totals\", \"4\"].join(\"\"));\n return done();\n });\n return it(\"has a correct grand total with data value\", function(done) {\n expect(table.find(\"td.pvtGrandTotal\").text()).toBe(\"4\");\n expect(table.find(\"td.pvtGrandTotal\").data(\"value\")).toBe(4);\n return done();\n });\n });\n });\n describe(\"with rows/cols, sum-over-sum aggregator, Heatmap renderer\", function() {\n var table;\n table = null;\n beforeEach(function(done) {\n return table = $(\"<div>\").pivotUI(fixtureData, {\n rows: [\"gender\"],\n cols: [\"colour\"],\n aggregatorName: \"Sum over Sum\",\n vals: [\"successes\", \"trials\"],\n rendererName: \"Heatmap\",\n onRefresh: done\n });\n });\n it(\"has all the basic UI elements\", function(done) {\n expect(table.find(\"td.pvtAxisContainer\").length).toBe(3);\n expect(table.find(\"td.pvtRendererArea\").length).toBe(1);\n expect(table.find(\"td.pvtVals\").length).toBe(1);\n expect(table.find(\"select.pvtRenderer\").length).toBe(1);\n expect(table.find(\"select.pvtAggregator\").length).toBe(1);\n expect(table.find(\"span.pvtAttr\").length).toBe(6);\n return done();\n });\n it(\"reflects its inputs\", function(done) {\n expect(table.find(\"td.pvtUnused span.pvtAttr\").length).toBe(4);\n expect(table.find(\"td.pvtRows span.pvtAttr\").length).toBe(1);\n expect(table.find(\"td.pvtCols span.pvtAttr\").length).toBe(1);\n expect(table.find(\"select.pvtRenderer\").val()).toBe(\"Heatmap\");\n expect(table.find(\"select.pvtAggregator\").val()).toBe(\"Sum over Sum\");\n return done();\n });\n it(\"renders a table\", function(done) {\n expect(table.find(\"table.pvtTable\").length).toBe(1);\n return done();\n });\n return describe(\"its renderer output\", function() {\n it(\"has the correct type and number of cells\", function(done) {\n expect(table.find(\"th.pvtAxisLabel\").length).toBe(2);\n expect(table.find(\"th.pvtRowLabel\").length).toBe(2);\n expect(table.find(\"th.pvtColLabel\").length).toBe(3);\n expect(table.find(\"th.pvtTotalLabel\").length).toBe(2);\n expect(table.find(\"td.pvtVal\").length).toBe(6);\n expect(table.find(\"td.pvtTotal\").length).toBe(5);\n expect(table.find(\"td.pvtGrandTotal\").length).toBe(1);\n return done();\n });\n it(\"has the correct textual representation\", function(done) {\n expect(table.find(\"table.pvtTable\").text()).toBe([\"colour\", \"blue\", \"red\", \"yellow\", \"Totals\", \"gender\", \"female\", \"0.26\", \"0.14\", \"0.20\", \"male\", \"0.20\", \"0.20\", \"Totals\", \"0.20\", \"0.26\", \"0.14\", \"0.20\"].join(\"\"));\n return done();\n });\n return it(\"has a correct spot-checked cell with data value\", function(done) {\n expect(table.find(\"td.col0.row1\").text()).toBe(\"0.20\");\n expect(table.find(\"td.col0.row1\").data(\"value\")).toBe((12 + 30) / (103 + 112));\n return done();\n });\n });\n });\n return describe(\"with ragged input\", function() {\n var table;\n table = $(\"<div>\").pivotUI(raggedFixtureData, {\n rows: [\"gender\"],\n cols: [\"age\"]\n });\n return it(\"renders a table with the correct textual representation\", function() {\n return expect(table.find(\"table.pvtTable\").text()).toBe([\"age\", \"12\", \"34\", \"null\", \"Totals\", \"gender\", \"female\", \"1\", \"1\", \"male\", \"1\", \"1\", \"null\", \"1\", \"1\", \"2\", \"Totals\", \"2\", \"1\", \"1\", \"4\"].join(\"\"));\n });\n });\n });\n\n describe(\"$.pivot()\", function() {\n describe(\"with no rows/cols, default count aggregator, default TableRenderer\", function() {\n var table;\n table = $(\"<div>\").pivot(fixtureData);\n it(\"renders a table\", function() {\n return expect(table.find(\"table.pvtTable\").length).toBe(1);\n });\n return describe(\"its renderer output\", function() {\n it(\"has the correct textual representation\", function() {\n return expect(table.find(\"table.pvtTable\").text()).toBe([\"Totals\", \"4\"].join(\"\"));\n });\n return it(\"has a correct grand total with data value\", function() {\n expect(table.find(\"td.pvtGrandTotal\").text()).toBe(\"4\");\n return expect(table.find(\"td.pvtGrandTotal\").data(\"value\")).toBe(4);\n });\n });\n });\n describe(\"with rows/cols, sum aggregator, derivedAttributes, filter and sorters\", function() {\n var aggregators, derivers, ref, sortAs, table;\n ref = $.pivotUtilities, sortAs = ref.sortAs, derivers = ref.derivers, aggregators = ref.aggregators;\n table = $(\"<div>\").pivot(fixtureData, {\n rows: [\"gender\"],\n cols: [\"birthyear\"],\n aggregator: aggregators[\"Sum\"]([\"trialbins\"]),\n filter: function(record) {\n return record.name !== \"Nick\";\n },\n derivedAttributes: {\n birthyear: derivers.dateFormat(\"birthday\", \"%y\"),\n trialbins: derivers.bin(\"trials\", 10)\n },\n sorters: function(attr) {\n if (attr === \"gender\") {\n return sortAs([\"male\", \"female\"]);\n }\n }\n });\n return it(\"renders a table with the correct textual representation\", function() {\n return expect(table.find(\"table.pvtTable\").text()).toBe([\"birthyear\", \"1982\", \"1983\", \"Totals\", \"gender\", \"male\", \"110.00\", \"110.00\", \"female\", \"90.00\", \"100.00\", \"190.00\", \"Totals\", \"200.00\", \"100.00\", \"300.00\"].join(\"\"));\n });\n });\n describe(\"with rows/cols, fraction-of aggregator\", function() {\n var aggregators, table;\n aggregators = $.pivotUtilities.aggregators;\n table = $(\"<div>\").pivot(fixtureData, {\n rows: [\"gender\"],\n aggregator: aggregators[\"Sum as Fraction of Total\"]([\"trials\"])\n });\n return it(\"renders a table with the correct textual representation\", function() {\n return expect(table.find(\"table.pvtTable\").text()).toBe([\"gender\", \"Totals\", \"female\", \"47.8%\", \"male\", \"52.2%\", \"Totals\", \"100.0%\"].join(\"\"));\n });\n });\n describe(\"with rows/cols, custom aggregator, custom renderer with options\", function() {\n var received_PivotData, received_rendererOptions, table;\n received_PivotData = null;\n received_rendererOptions = null;\n table = $(\"<div>\").pivot(fixtureData, {\n rows: [\"name\", \"colour\"],\n cols: [\"trials\", \"successes\"],\n aggregator: function() {\n return {\n count2x: 0,\n push: function() {\n return this.count2x += 2;\n },\n value: function() {\n return this.count2x;\n },\n format: function(x) {\n return \"formatted \" + x;\n }\n };\n },\n renderer: function(a, b) {\n received_PivotData = a;\n received_rendererOptions = b;\n return $(\"<div>\").addClass(b.greeting).text(\"world\");\n },\n rendererOptions: {\n greeting: \"hithere\"\n }\n });\n it(\"renders the custom renderer as per options\", function() {\n return expect(table.find(\"div.hithere\").length).toBe(1);\n });\n return describe(\"its received PivotData object\", function() {\n return it(\"has a correct grand total value and format for custom aggregator\", function() {\n var agg, val;\n agg = received_PivotData.getAggregator([], []);\n val = agg.value();\n expect(val).toBe(8);\n return expect(agg.format(val)).toBe(\"formatted 8\");\n });\n });\n });\n return describe(\"with ragged input\", function() {\n var table;\n table = $(\"<div>\").pivot(raggedFixtureData, {\n rows: [\"gender\"],\n cols: [\"age\"]\n });\n return it(\"renders a table with the correct textual representation\", function() {\n return expect(table.find(\"table.pvtTable\").text()).toBe([\"age\", \"12\", \"34\", \"null\", \"Totals\", \"gender\", \"female\", \"1\", \"1\", \"male\", \"1\", \"1\", \"null\", \"1\", \"1\", \"2\", \"Totals\", \"2\", \"1\", \"1\", \"4\"].join(\"\"));\n });\n });\n });\n\n describe(\"$.pivotUtilities\", function() {\n describe(\".PivotData()\", function() {\n var sumOverSumOpts;\n sumOverSumOpts = {\n aggregator: $.pivotUtilities.aggregators[\"Sum over Sum\"]([\"a\", \"b\"])\n };\n describe(\"with no options\", function() {\n var aoaInput, pd;\n aoaInput = [[\"a\", \"b\"], [1, 2], [3, 4]];\n pd = new $.pivotUtilities.PivotData(aoaInput);\n return it(\"has the correct grand total value\", function() {\n return expect(pd.getAggregator([], []).value()).toBe(2);\n });\n });\n describe(\"with array-of-array input\", function() {\n var aoaInput, pd;\n aoaInput = [[\"a\", \"b\"], [1, 2], [3, 4]];\n pd = new $.pivotUtilities.PivotData(aoaInput, sumOverSumOpts);\n return it(\"has the correct grand total value\", function() {\n return expect(pd.getAggregator([], []).value()).toBe((1 + 3) / (2 + 4));\n });\n });\n describe(\"with array-of-object input\", function() {\n var aosInput, pd;\n aosInput = [\n {\n a: 1,\n b: 2\n }, {\n a: 3,\n b: 4\n }\n ];\n pd = new $.pivotUtilities.PivotData(aosInput, sumOverSumOpts);\n return it(\"has the correct grand total value\", function() {\n return expect(pd.getAggregator([], []).value()).toBe((1 + 3) / (2 + 4));\n });\n });\n describe(\"with ragged array-of-object input\", function() {\n var pd, raggedAosInput;\n raggedAosInput = [\n {\n a: 1\n }, {\n b: 4\n }, {\n a: 3,\n b: 2\n }\n ];\n pd = new $.pivotUtilities.PivotData(raggedAosInput, sumOverSumOpts);\n return it(\"has the correct grand total value\", function() {\n return expect(pd.getAggregator([], []).value()).toBe((1 + 3) / (2 + 4));\n });\n });\n describe(\"with function input\", function() {\n var functionInput, pd;\n functionInput = function(record) {\n record({\n a: 1,\n b: 2\n });\n return record({\n a: 3,\n b: 4\n });\n };\n pd = new $.pivotUtilities.PivotData(functionInput, sumOverSumOpts);\n return it(\"has the correct grand total value\", function() {\n return expect(pd.getAggregator([], []).value()).toBe((1 + 3) / (2 + 4));\n });\n });\n describe(\"with jQuery table element input\", function() {\n var pd, tableInput;\n tableInput = $(\"<table>\\n <thead>\\n <tr> <th>a</th><th>b</th> </tr>\\n </thead>\\n <tbody>\\n <tr> <td>1</td> <td>2</td> </tr>\\n <tr> <td>3</td> <td>4</td> </tr>\\n </tbody>\\n</table>\");\n pd = new $.pivotUtilities.PivotData(tableInput, sumOverSumOpts);\n return it(\"has the correct grand total value\", function() {\n return expect(pd.getAggregator([], []).value()).toBe((1 + 3) / (2 + 4));\n });\n });\n return describe(\"with rows/cols\", function() {\n var pd;\n pd = new $.pivotUtilities.PivotData(fixtureData, {\n rows: [\"name\", \"colour\"],\n cols: [\"trials\", \"successes\"]\n });\n it(\"has correctly-ordered row keys\", function() {\n return expect(pd.getRowKeys()).toEqual([['Carol', 'yellow'], ['Jane', 'red'], ['John', 'blue'], ['Nick', 'blue']]);\n });\n it(\"has correctly-ordered col keys\", function() {\n return expect(pd.getColKeys()).toEqual([[95, 25], [102, 14], [103, 12], [112, 30]]);\n });\n it(\"can be iterated over\", function() {\n var c, i, j, len, len1, numNotNull, numNull, r, ref, ref1;\n numNotNull = 0;\n numNull = 0;\n ref = pd.getRowKeys();\n for (i = 0, len = ref.length; i < len; i++) {\n r = ref[i];\n ref1 = pd.getColKeys();\n for (j = 0, len1 = ref1.length; j < len1; j++) {\n c = ref1[j];\n if (pd.getAggregator(r, c).value() != null) {\n numNotNull++;\n } else {\n numNull++;\n }\n }\n }\n expect(numNotNull).toBe(4);\n return expect(numNull).toBe(12);\n });\n it(\"returns matching records\", function() {\n var records;\n records = [];\n pd.forEachMatchingRecord({\n gender: \"male\"\n }, function(x) {\n return records.push(x.name);\n });\n return expect(records).toEqual([\"Nick\", \"John\"]);\n });\n it(\"has a correct spot-checked aggregator\", function() {\n var agg, val;\n agg = pd.getAggregator(['Carol', 'yellow'], [102, 14]);\n val = agg.value();\n expect(val).toBe(1);\n return expect(agg.format(val)).toBe(\"1\");\n });\n return it(\"has a correct grand total aggregator\", function() {\n var agg, val;\n agg = pd.getAggregator([], []);\n val = agg.value();\n expect(val).toBe(4);\n return expect(agg.format(val)).toBe(\"4\");\n });\n });\n });\n describe(\".aggregatorTemplates\", function() {\n var getVal, tpl;\n getVal = function(aggregator) {\n var pd;\n pd = new $.pivotUtilities.PivotData(fixtureData, {\n aggregator: aggregator\n });\n return pd.getAggregator([], []).value();\n };\n tpl = $.pivotUtilities.aggregatorTemplates;\n describe(\".count\", function() {\n return it(\"works\", function() {\n return expect(getVal(tpl.count()())).toBe(4);\n });\n });\n describe(\".countUnique\", function() {\n return it(\"works\", function() {\n return expect(getVal(tpl.countUnique()(['gender']))).toBe(2);\n });\n });\n describe(\".listUnique\", function() {\n return it(\"works\", function() {\n return expect(getVal(tpl.listUnique()(['gender']))).toBe('male,female');\n });\n });\n describe(\".average\", function() {\n return it(\"works\", function() {\n return expect(getVal(tpl.average()(['trials']))).toBe(103);\n });\n });\n describe(\".sum\", function() {\n return it(\"works\", function() {\n return expect(getVal(tpl.sum()(['trials']))).toBe(412);\n });\n });\n describe(\".min\", function() {\n return it(\"works\", function() {\n return expect(getVal(tpl.min()(['trials']))).toBe(95);\n });\n });\n describe(\".max\", function() {\n return it(\"works\", function() {\n return expect(getVal(tpl.max()(['trials']))).toBe(112);\n });\n });\n describe(\".first\", function() {\n return it(\"works\", function() {\n return expect(getVal(tpl.first()(['name']))).toBe('Carol');\n });\n });\n describe(\".last\", function() {\n return it(\"works\", function() {\n return expect(getVal(tpl.last()(['name']))).toBe('Nick');\n });\n });\n describe(\".average\", function() {\n return it(\"works\", function() {\n return expect(getVal(tpl.average()(['trials']))).toBe(103);\n });\n });\n describe(\".median\", function() {\n return it(\"works\", function() {\n return expect(getVal(tpl.median()(['trials']))).toBe(102.5);\n });\n });\n describe(\".quantile\", function() {\n return it(\"works\", function() {\n expect(getVal(tpl.quantile(0)(['trials']))).toBe(95);\n expect(getVal(tpl.quantile(0.1)(['trials']))).toBe(98.5);\n expect(getVal(tpl.quantile(0.25)(['trials']))).toBe(98.5);\n expect(getVal(tpl.quantile(1 / 3)(['trials']))).toBe(102);\n return expect(getVal(tpl.quantile(1)(['trials']))).toBe(112);\n });\n });\n describe(\".var\", function() {\n return it(\"works\", function() {\n return expect(getVal(tpl[\"var\"]()(['trials']))).toBe(48.666666666666686);\n });\n });\n describe(\".stdev\", function() {\n return it(\"works\", function() {\n return expect(getVal(tpl.stdev()(['trials']))).toBe(6.976149845485451);\n });\n });\n return describe(\".sumOverSum\", function() {\n return it(\"works\", function() {\n return expect(getVal(tpl.sumOverSum()(['successes', 'trials']))).toBe((12 + 25 + 30 + 14) / (95 + 102 + 103 + 112));\n });\n });\n });\n describe(\".naturalSort()\", function() {\n var naturalSort, sortedArr;\n naturalSort = $.pivotUtilities.naturalSort;\n sortedArr = [null, 0/0, -2e308, '-Infinity', -3, '-3', -2, '-2', -1, '-1', 0, '2e-1', 1, '01', '1', 2, '002', '002e0', '02', '2', '2e-0', 3, 10, '10', '11', '12', '1e2', '112', 2e308, 'Infinity', '1a', '2a', '12a', '20a', 'A', 'A', 'NaN', 'a', 'a', 'a01', 'a012', 'a02', 'a1', 'a2', 'a12', 'a12', 'a21', 'a21', 'b', 'c', 'd', 'null'];\n return it(\"sorts naturally (null, NaN, numbers & numbery strings, Alphanum for text strings)\", function() {\n return expect(sortedArr.slice().sort(naturalSort)).toEqual(sortedArr);\n });\n });\n describe(\".sortAs()\", function() {\n var sortAs;\n sortAs = $.pivotUtilities.sortAs;\n it(\"sorts with unknown values sorted at the end\", function() {\n return expect([5, 2, 3, 4, 1].sort(sortAs([4, 3, 2]))).toEqual([4, 3, 2, 1, 5]);\n });\n return it(\"sorts lowercase after uppercase\", function() {\n return expect([\"Ab\", \"aA\", \"aa\", \"ab\"].sort(sortAs([\"Ab\", \"Aa\"]))).toEqual([\"Ab\", \"ab\", \"aa\", \"aA\"]);\n });\n });\n describe(\".numberFormat()\", function() {\n var numberFormat;\n numberFormat = $.pivotUtilities.numberFormat;\n it(\"formats numbers\", function() {\n var nf;\n nf = numberFormat();\n return expect(nf(1234567.89123456)).toEqual(\"1,234,567.89\");\n });\n it(\"formats booleans\", function() {\n var nf;\n nf = numberFormat();\n return expect(nf(true)).toEqual(\"1.00\");\n });\n it(\"formats numbers in strings\", function() {\n var nf;\n nf = numberFormat();\n return expect(nf(\"1234567.89123456\")).toEqual(\"1,234,567.89\");\n });\n it(\"doesn't formats strings\", function() {\n var nf;\n nf = numberFormat();\n return expect(nf(\"hi there\")).toEqual(\"\");\n });\n it(\"doesn't formats objects\", function() {\n var nf;\n nf = numberFormat();\n return expect(nf({\n a: 1\n })).toEqual(\"\");\n });\n it(\"formats percentages\", function() {\n var nf;\n nf = numberFormat({\n scaler: 100,\n suffix: \"%\"\n });\n return expect(nf(0.12345)).toEqual(\"12.35%\");\n });\n it(\"adds separators\", function() {\n var nf;\n nf = numberFormat({\n thousandsSep: \"a\",\n decimalSep: \"b\"\n });\n return expect(nf(1234567.89123456)).toEqual(\"1a234a567b89\");\n });\n it(\"adds prefixes and suffixes\", function() {\n var nf;\n nf = numberFormat({\n prefix: \"a\",\n suffix: \"b\"\n });\n return expect(nf(1234567.89123456)).toEqual(\"a1,234,567.89b\");\n });\n return it(\"scales and rounds\", function() {\n var nf;\n nf = numberFormat({\n digitsAfterDecimal: 3,\n scaler: 1000\n });\n return expect(nf(1234567.89123456)).toEqual(\"1,234,567,891.235\");\n });\n });\n return describe(\".derivers\", function() {\n describe(\".dateFormat()\", function() {\n var df;\n df = $.pivotUtilities.derivers.dateFormat(\"x\", \"abc % %% %%% %a %y %m %n %d %w %x %H %M %S\", true);\n it(\"formats date objects\", function() {\n return expect(df({\n x: new Date(\"2015-01-02T23:43:11Z\")\n })).toBe('abc % %% %%% %a 2015 01 Jan 02 Fri 5 23 43 11');\n });\n return it(\"formats input parsed by Date.parse()\", function() {\n expect(df({\n x: \"2015-01-02T23:43:11Z\"\n })).toBe('abc % %% %%% %a 2015 01 Jan 02 Fri 5 23 43 11');\n return expect(df({\n x: \"bla\"\n })).toBe('');\n });\n });\n return describe(\".bin()\", function() {\n var binner;\n binner = $.pivotUtilities.derivers.bin(\"x\", 10);\n it(\"bins numbers\", function() {\n expect(binner({\n x: 11\n })).toBe(10);\n expect(binner({\n x: 9\n })).toBe(0);\n return expect(binner({\n x: 111\n })).toBe(110);\n });\n it(\"bins booleans\", function() {\n return expect(binner({\n x: true\n })).toBe(0);\n });\n it(\"bins negative numbers\", function() {\n return expect(binner({\n x: -12\n })).toBe(-10);\n });\n it(\"doesn't bin strings\", function() {\n return expect(binner({\n x: \"a\"\n })).toBeNaN();\n });\n return it(\"doesn't bin objects\", function() {\n return expect(binner({\n x: {\n a: 1\n }\n })).toBeNaN();\n });\n });\n });\n });\n\n}).call(this);\n\n//# sourceMappingURL=pivot_spec.js.map\n"]}
\ No newline at end of file
(function() {
var callWithJQuery;
callWithJQuery = function(pivotModule) {
if (typeof exports === "object" && typeof module === "object") {
return pivotModule(require("jquery"), require("plotly.js"));
} else if (typeof define === "function" && define.amd) {
return define(["jquery", "plotly.js"], pivotModule);
} else {
return pivotModule(jQuery, Plotly);
}
};
callWithJQuery(function($, Plotly) {
var makePlotlyChart, makePlotlyScatterChart;
makePlotlyChart = function(traceOptions, layoutOptions, transpose) {
if (traceOptions == null) {
traceOptions = {};
}
if (layoutOptions == null) {
layoutOptions = {};
}
if (transpose == null) {
transpose = false;
}
return function(pivotData, opts) {
var colKeys, data, datumKeys, defaults, fullAggName, groupByTitle, hAxisTitle, layout, result, rowKeys, titleText, traceKeys;
defaults = {
localeStrings: {
vs: "vs",
by: "by"
},
plotly: {}
};
opts = $.extend(true, {}, defaults, opts);
rowKeys = pivotData.getRowKeys();
colKeys = pivotData.getColKeys();
traceKeys = transpose ? colKeys : rowKeys;
if (traceKeys.length === 0) {
traceKeys.push([]);
}
datumKeys = transpose ? rowKeys : colKeys;
if (datumKeys.length === 0) {
datumKeys.push([]);
}
fullAggName = pivotData.aggregatorName;
if (pivotData.valAttrs.length) {
fullAggName += "(" + (pivotData.valAttrs.join(", ")) + ")";
}
data = traceKeys.map(function(traceKey) {
var datumKey, i, labels, len, trace, val, values;
values = [];
labels = [];
for (i = 0, len = datumKeys.length; i < len; i++) {
datumKey = datumKeys[i];
val = parseFloat(pivotData.getAggregator(transpose ? datumKey : traceKey, transpose ? traceKey : datumKey).value());
values.push(isFinite(val) ? val : null);
labels.push(datumKey.join('-') || ' ');
}
trace = {
name: traceKey.join('-') || fullAggName
};
trace.x = transpose ? values : labels;
trace.y = transpose ? labels : values;
return $.extend(trace, traceOptions);
});
if (transpose) {
hAxisTitle = pivotData.rowAttrs.join("-");
groupByTitle = pivotData.colAttrs.join("-");
} else {
hAxisTitle = pivotData.colAttrs.join("-");
groupByTitle = pivotData.rowAttrs.join("-");
}
titleText = fullAggName;
if (hAxisTitle !== "") {
titleText += " " + opts.localeStrings.vs + " " + hAxisTitle;
}
if (groupByTitle !== "") {
titleText += " " + opts.localeStrings.by + " " + groupByTitle;
}
layout = {
title: titleText,
hovermode: 'closest',
width: window.innerWidth / 1.4,
height: window.innerHeight / 1.4 - 50,
xaxis: {
title: transpose ? fullAggName : null,
automargin: true
},
yaxis: {
title: transpose ? null : fullAggName,
automargin: true
}
};
result = $("<div>").appendTo($("body"));
Plotly.newPlot(result[0], data, $.extend(layout, layoutOptions, opts.plotly));
return result.detach();
};
};
makePlotlyScatterChart = function() {
return function(pivotData, opts) {
var colKey, colKeys, data, defaults, i, j, layout, len, len1, renderArea, result, rowKey, rowKeys, v;
defaults = {
localeStrings: {
vs: "vs",
by: "by"
},
plotly: {}
};
opts = $.extend(true, {}, defaults, opts);
rowKeys = pivotData.getRowKeys();
if (rowKeys.length === 0) {
rowKeys.push([]);
}
colKeys = pivotData.getColKeys();
if (colKeys.length === 0) {
colKeys.push([]);
}
data = {
x: [],
y: [],
text: [],
type: 'scatter',
mode: 'markers'
};
for (i = 0, len = rowKeys.length; i < len; i++) {
rowKey = rowKeys[i];
for (j = 0, len1 = colKeys.length; j < len1; j++) {
colKey = colKeys[j];
v = pivotData.getAggregator(rowKey, colKey).value();
if (v != null) {
data.x.push(colKey.join('-'));
data.y.push(rowKey.join('-'));
data.text.push(v);
}
}
}
layout = {
title: pivotData.rowAttrs.join("-") + ' vs ' + pivotData.colAttrs.join("-"),
hovermode: 'closest',
xaxis: {
title: pivotData.colAttrs.join('-'),
domain: [0.1, 1.0]
},
yaxis: {
title: pivotData.rowAttrs.join('-')
},
width: window.innerWidth / 1.5,
height: window.innerHeight / 1.4 - 50
};
renderArea = $("<div>", {
style: "display:none;"
}).appendTo($("body"));
result = $("<div>").appendTo(renderArea);
Plotly.plot(result[0], [data], $.extend(layout, opts.plotly));
result.detach();
renderArea.remove();
return result;
};
};
return $.pivotUtilities.plotly_renderers = {
"Horizontal Bar Chart": makePlotlyChart({
type: 'bar',
orientation: 'h'
}, {
barmode: 'group'
}, true),
"Horizontal Stacked Bar Chart": makePlotlyChart({
type: 'bar',
orientation: 'h'
}, {
barmode: 'stack'
}, true),
"Bar Chart": makePlotlyChart({
type: 'bar'
}, {
barmode: 'group'
}),
"Stacked Bar Chart": makePlotlyChart({
type: 'bar'
}, {
barmode: 'stack'
}),
"Line Chart": makePlotlyChart(),
"Scatter Chart": makePlotlyScatterChart()
};
});
}).call(this);
//# sourceMappingURL=plotly_renderers.js.map
{"version":3,"file":"plotly_renderers.js","sources":["plotly_renderers.coffee"],"names":[],"mappings":"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","sourcesContent":["callWithJQuery = (pivotModule) ->\n if typeof exports is \"object\" and typeof module is \"object\" # CommonJS\n pivotModule require(\"jquery\"), require(\"plotly.js\")\n else if typeof define is \"function\" and define.amd # AMD\n define [\"jquery\", \"plotly.js\"], pivotModule\n # Plain browser env\n else\n pivotModule jQuery, Plotly\n\ncallWithJQuery ($, Plotly) ->\n\n makePlotlyChart = (traceOptions = {}, layoutOptions = {}, transpose = false) ->\n (pivotData, opts) ->\n defaults =\n localeStrings: {vs: \"vs\", by: \"by\"}\n plotly: {}\n\n opts = $.extend(true, {}, defaults, opts)\n\n rowKeys = pivotData.getRowKeys()\n colKeys = pivotData.getColKeys()\n traceKeys = if transpose then colKeys else rowKeys\n traceKeys.push([]) if traceKeys.length == 0\n datumKeys = if transpose then rowKeys else colKeys\n datumKeys.push([]) if datumKeys.length == 0\n\n fullAggName = pivotData.aggregatorName\n if pivotData.valAttrs.length\n fullAggName += \"(#{pivotData.valAttrs.join(\", \")})\"\n\n data = traceKeys.map (traceKey) ->\n values = []\n labels = []\n for datumKey in datumKeys\n val = parseFloat(pivotData.getAggregator(\n if transpose then datumKey else traceKey,\n if transpose then traceKey else datumKey\n ).value())\n values.push(if isFinite(val) then val else null)\n labels.push(datumKey.join('-') || ' ')\n\n trace = {name: traceKey.join('-') || fullAggName}\n trace.x = if transpose then values else labels\n trace.y = if transpose then labels else values\n return $.extend(trace, traceOptions)\n\n if transpose\n hAxisTitle = pivotData.rowAttrs.join(\"-\")\n groupByTitle = pivotData.colAttrs.join(\"-\")\n else\n hAxisTitle = pivotData.colAttrs.join(\"-\")\n groupByTitle = pivotData.rowAttrs.join(\"-\")\n titleText = fullAggName\n titleText += \" #{opts.localeStrings.vs} #{hAxisTitle}\" if hAxisTitle != \"\"\n titleText += \" #{opts.localeStrings.by} #{groupByTitle}\" if groupByTitle != \"\"\n\n layout = {\n title: titleText\n hovermode: 'closest'\n width: window.innerWidth / 1.4\n height: window.innerHeight / 1.4 - 50\n xaxis:\n title: if transpose then fullAggName else null\n automargin: true\n yaxis:\n title: if transpose then null else fullAggName\n automargin: true\n }\n\n result = $(\"<div>\").appendTo $(\"body\")\n Plotly.newPlot(result[0], data, $.extend(layout, layoutOptions, opts.plotly))\n return result.detach()\n\n makePlotlyScatterChart = -> (pivotData, opts) ->\n defaults =\n localeStrings: {vs: \"vs\", by: \"by\"}\n plotly: {}\n\n opts = $.extend(true, {}, defaults, opts)\n\n rowKeys = pivotData.getRowKeys()\n rowKeys.push [] if rowKeys.length == 0\n colKeys = pivotData.getColKeys()\n colKeys.push [] if colKeys.length == 0\n\n data = {x: [], y: [], text: [], type: 'scatter', mode: 'markers'}\n\n for rowKey in rowKeys\n for colKey in colKeys\n v = pivotData.getAggregator(rowKey, colKey).value()\n if v?\n data.x.push(colKey.join('-'))\n data.y.push(rowKey.join('-'))\n data.text.push(v)\n\n layout = {\n title: pivotData.rowAttrs.join(\"-\") + ' vs ' + pivotData.colAttrs.join(\"-\")\n hovermode: 'closest',\n xaxis: {title: pivotData.colAttrs.join('-'), domain: [0.1, 1.0]},\n yaxis: {title: pivotData.rowAttrs.join('-')},\n width: window.innerWidth / 1.5,\n height: window.innerHeight / 1.4 - 50\n }\n\n renderArea = $(\"<div>\", style: \"display:none;\").appendTo $(\"body\")\n result = $(\"<div>\").appendTo renderArea\n Plotly.plot(result[0], [data], $.extend(layout, opts.plotly))\n result.detach()\n renderArea.remove()\n return result\n\n $.pivotUtilities.plotly_renderers =\n \"Horizontal Bar Chart\": makePlotlyChart({type: 'bar', orientation: 'h'},\n {barmode: 'group'}, true)\n \"Horizontal Stacked Bar Chart\": makePlotlyChart({type: 'bar', orientation: 'h'},\n {barmode: 'stack'}, true)\n \"Bar Chart\": makePlotlyChart({type: 'bar'}, {barmode: 'group'})\n \"Stacked Bar Chart\": makePlotlyChart({type: 'bar'}, {barmode: 'stack'})\n \"Line Chart\": makePlotlyChart()\n \"Scatter Chart\": makePlotlyScatterChart()\n"]}
\ No newline at end of file
(function(){var t;(t=function(t){return"object"==typeof exports&&"object"==typeof module?t(require("jquery"),require("plotly.js")):"function"==typeof define&&define.amd?define(["jquery","plotly.js"],t):t(jQuery,Plotly)})(function(t,e){var o,n;return o=function(o,n,r){return null==o&&(o={}),null==n&&(n={}),null==r&&(r=!1),function(i,l){var a,s,u,d,h,p,y,g,c,v,j,f;return d={localeStrings:{vs:"vs",by:"by"},plotly:{}},l=t.extend(!0,{},d,l),v=i.getRowKeys(),a=i.getColKeys(),f=r?a:v,0===f.length&&f.push([]),u=r?v:a,0===u.length&&u.push([]),h=i.aggregatorName,i.valAttrs.length&&(h+="("+i.valAttrs.join(", ")+")"),s=f.map(function(e){var n,l,a,s,d,p,y;for(y=[],a=[],l=0,s=u.length;l<s;l++)n=u[l],p=parseFloat(i.getAggregator(r?n:e,r?e:n).value()),y.push(isFinite(p)?p:null),a.push(n.join("-")||" ");return d={name:e.join("-")||h},d.x=r?y:a,d.y=r?a:y,t.extend(d,o)}),r?(y=i.rowAttrs.join("-"),p=i.colAttrs.join("-")):(y=i.colAttrs.join("-"),p=i.rowAttrs.join("-")),j=h,""!==y&&(j+=" "+l.localeStrings.vs+" "+y),""!==p&&(j+=" "+l.localeStrings.by+" "+p),g={title:j,hovermode:"closest",width:window.innerWidth/1.4,height:window.innerHeight/1.4-50,xaxis:{title:r?h:null,automargin:!0},yaxis:{title:r?null:h,automargin:!0}},c=t("<div>").appendTo(t("body")),e.newPlot(c[0],s,t.extend(g,n,l.plotly)),c.detach()}},n=function(){return function(o,n){var r,i,l,a,s,u,d,h,p,y,g,c,v,j;for(a={localeStrings:{vs:"vs",by:"by"},plotly:{}},n=t.extend(!0,{},a,n),v=o.getRowKeys(),0===v.length&&v.push([]),i=o.getColKeys(),0===i.length&&i.push([]),l={x:[],y:[],text:[],type:"scatter",mode:"markers"},s=0,h=v.length;s<h;s++)for(c=v[s],u=0,p=i.length;u<p;u++)r=i[u],j=o.getAggregator(c,r).value(),null!=j&&(l.x.push(r.join("-")),l.y.push(c.join("-")),l.text.push(j));return d={title:o.rowAttrs.join("-")+" vs "+o.colAttrs.join("-"),hovermode:"closest",xaxis:{title:o.colAttrs.join("-"),domain:[.1,1]},yaxis:{title:o.rowAttrs.join("-")},width:window.innerWidth/1.5,height:window.innerHeight/1.4-50},y=t("<div>",{style:"display:none;"}).appendTo(t("body")),g=t("<div>").appendTo(y),e.plot(g[0],[l],t.extend(d,n.plotly)),g.detach(),y.remove(),g}},t.pivotUtilities.plotly_renderers={"Horizontal Bar Chart":o({type:"bar",orientation:"h"},{barmode:"group"},!0),"Horizontal Stacked Bar Chart":o({type:"bar",orientation:"h"},{barmode:"stack"},!0),"Bar Chart":o({type:"bar"},{barmode:"group"}),"Stacked Bar Chart":o({type:"bar"},{barmode:"stack"}),"Line Chart":o(),"Scatter Chart":n()}})}).call(this);
//# sourceMappingURL=plotly_renderers.min.js.map
{"version":3,"sources":["plotly_renderers.coffee","plotly_renderers.min.js"],"names":["callWithJQuery","pivotModule","exports","module","require","define","amd","jQuery","Plotly","$","makePlotlyChart","makePlotlyScatterChart","traceOptions","layoutOptions","transpose","pivotData","opts","colKeys","data","datumKeys","defaults","fullAggName","groupByTitle","hAxisTitle","layout","result","rowKeys","titleText","traceKeys","localeStrings","vs","by","plotly","extend","getRowKeys","getColKeys","length","push","aggregatorName","valAttrs","join","map","traceKey","datumKey","i","labels","len","trace","val","values","parseFloat","getAggregator","value","isFinite","name","x","y","rowAttrs","colAttrs","title","hovermode","width","window","innerWidth","height","innerHeight","xaxis","automargin","yaxis","appendTo","newPlot","detach","colKey","j","len1","renderArea","rowKey","v","text","type","mode","domain","style","plot","remove","pivotUtilities","plotly_renderers","Horizontal Bar Chart","orientation","barmode","Horizontal Stacked Bar Chart","Bar Chart","Stacked Bar Chart","Line Chart","Scatter Chart","call","this"],"mappings":"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","file":"plotly_renderers.min.js","sourcesContent":["callWithJQuery = (pivotModule) ->\n if typeof exports is \"object\" and typeof module is \"object\" # CommonJS\n pivotModule require(\"jquery\"), require(\"plotly.js\")\n else if typeof define is \"function\" and define.amd # AMD\n define [\"jquery\", \"plotly.js\"], pivotModule\n # Plain browser env\n else\n pivotModule jQuery, Plotly\n\ncallWithJQuery ($, Plotly) ->\n\n makePlotlyChart = (traceOptions = {}, layoutOptions = {}, transpose = false) ->\n (pivotData, opts) ->\n defaults =\n localeStrings: {vs: \"vs\", by: \"by\"}\n plotly: {}\n\n opts = $.extend(true, {}, defaults, opts)\n\n rowKeys = pivotData.getRowKeys()\n colKeys = pivotData.getColKeys()\n traceKeys = if transpose then colKeys else rowKeys\n traceKeys.push([]) if traceKeys.length == 0\n datumKeys = if transpose then rowKeys else colKeys\n datumKeys.push([]) if datumKeys.length == 0\n\n fullAggName = pivotData.aggregatorName\n if pivotData.valAttrs.length\n fullAggName += \"(#{pivotData.valAttrs.join(\", \")})\"\n\n data = traceKeys.map (traceKey) ->\n values = []\n labels = []\n for datumKey in datumKeys\n val = parseFloat(pivotData.getAggregator(\n if transpose then datumKey else traceKey,\n if transpose then traceKey else datumKey\n ).value())\n values.push(if isFinite(val) then val else null)\n labels.push(datumKey.join('-') || ' ')\n\n trace = {name: traceKey.join('-') || fullAggName}\n trace.x = if transpose then values else labels\n trace.y = if transpose then labels else values\n return $.extend(trace, traceOptions)\n\n if transpose\n hAxisTitle = pivotData.rowAttrs.join(\"-\")\n groupByTitle = pivotData.colAttrs.join(\"-\")\n else\n hAxisTitle = pivotData.colAttrs.join(\"-\")\n groupByTitle = pivotData.rowAttrs.join(\"-\")\n titleText = fullAggName\n titleText += \" #{opts.localeStrings.vs} #{hAxisTitle}\" if hAxisTitle != \"\"\n titleText += \" #{opts.localeStrings.by} #{groupByTitle}\" if groupByTitle != \"\"\n\n layout = {\n title: titleText\n hovermode: 'closest'\n width: window.innerWidth / 1.4\n height: window.innerHeight / 1.4 - 50\n xaxis:\n title: if transpose then fullAggName else null\n automargin: true\n yaxis:\n title: if transpose then null else fullAggName\n automargin: true\n }\n\n result = $(\"<div>\").appendTo $(\"body\")\n Plotly.newPlot(result[0], data, $.extend(layout, layoutOptions, opts.plotly))\n return result.detach()\n\n makePlotlyScatterChart = -> (pivotData, opts) ->\n defaults =\n localeStrings: {vs: \"vs\", by: \"by\"}\n plotly: {}\n\n opts = $.extend(true, {}, defaults, opts)\n\n rowKeys = pivotData.getRowKeys()\n rowKeys.push [] if rowKeys.length == 0\n colKeys = pivotData.getColKeys()\n colKeys.push [] if colKeys.length == 0\n\n data = {x: [], y: [], text: [], type: 'scatter', mode: 'markers'}\n\n for rowKey in rowKeys\n for colKey in colKeys\n v = pivotData.getAggregator(rowKey, colKey).value()\n if v?\n data.x.push(colKey.join('-'))\n data.y.push(rowKey.join('-'))\n data.text.push(v)\n\n layout = {\n title: pivotData.rowAttrs.join(\"-\") + ' vs ' + pivotData.colAttrs.join(\"-\")\n hovermode: 'closest',\n xaxis: {title: pivotData.colAttrs.join('-'), domain: [0.1, 1.0]},\n yaxis: {title: pivotData.rowAttrs.join('-')},\n width: window.innerWidth / 1.5,\n height: window.innerHeight / 1.4 - 50\n }\n\n renderArea = $(\"<div>\", style: \"display:none;\").appendTo $(\"body\")\n result = $(\"<div>\").appendTo renderArea\n Plotly.plot(result[0], [data], $.extend(layout, opts.plotly))\n result.detach()\n renderArea.remove()\n return result\n\n $.pivotUtilities.plotly_renderers =\n \"Horizontal Bar Chart\": makePlotlyChart({type: 'bar', orientation: 'h'},\n {barmode: 'group'}, true)\n \"Horizontal Stacked Bar Chart\": makePlotlyChart({type: 'bar', orientation: 'h'},\n {barmode: 'stack'}, true)\n \"Bar Chart\": makePlotlyChart({type: 'bar'}, {barmode: 'group'})\n \"Stacked Bar Chart\": makePlotlyChart({type: 'bar'}, {barmode: 'stack'})\n \"Line Chart\": makePlotlyChart()\n \"Scatter Chart\": makePlotlyScatterChart()\n","(function() {\n var callWithJQuery;\n\n callWithJQuery = function(pivotModule) {\n if (typeof exports === \"object\" && typeof module === \"object\") {\n return pivotModule(require(\"jquery\"), require(\"plotly.js\"));\n } else if (typeof define === \"function\" && define.amd) {\n return define([\"jquery\", \"plotly.js\"], pivotModule);\n } else {\n return pivotModule(jQuery, Plotly);\n }\n };\n\n callWithJQuery(function($, Plotly) {\n var makePlotlyChart, makePlotlyScatterChart;\n makePlotlyChart = function(traceOptions, layoutOptions, transpose) {\n if (traceOptions == null) {\n traceOptions = {};\n }\n if (layoutOptions == null) {\n layoutOptions = {};\n }\n if (transpose == null) {\n transpose = false;\n }\n return function(pivotData, opts) {\n var colKeys, data, datumKeys, defaults, fullAggName, groupByTitle, hAxisTitle, layout, result, rowKeys, titleText, traceKeys;\n defaults = {\n localeStrings: {\n vs: \"vs\",\n by: \"by\"\n },\n plotly: {}\n };\n opts = $.extend(true, {}, defaults, opts);\n rowKeys = pivotData.getRowKeys();\n colKeys = pivotData.getColKeys();\n traceKeys = transpose ? colKeys : rowKeys;\n if (traceKeys.length === 0) {\n traceKeys.push([]);\n }\n datumKeys = transpose ? rowKeys : colKeys;\n if (datumKeys.length === 0) {\n datumKeys.push([]);\n }\n fullAggName = pivotData.aggregatorName;\n if (pivotData.valAttrs.length) {\n fullAggName += \"(\" + (pivotData.valAttrs.join(\", \")) + \")\";\n }\n data = traceKeys.map(function(traceKey) {\n var datumKey, i, labels, len, trace, val, values;\n values = [];\n labels = [];\n for (i = 0, len = datumKeys.length; i < len; i++) {\n datumKey = datumKeys[i];\n val = parseFloat(pivotData.getAggregator(transpose ? datumKey : traceKey, transpose ? traceKey : datumKey).value());\n values.push(isFinite(val) ? val : null);\n labels.push(datumKey.join('-') || ' ');\n }\n trace = {\n name: traceKey.join('-') || fullAggName\n };\n trace.x = transpose ? values : labels;\n trace.y = transpose ? labels : values;\n return $.extend(trace, traceOptions);\n });\n if (transpose) {\n hAxisTitle = pivotData.rowAttrs.join(\"-\");\n groupByTitle = pivotData.colAttrs.join(\"-\");\n } else {\n hAxisTitle = pivotData.colAttrs.join(\"-\");\n groupByTitle = pivotData.rowAttrs.join(\"-\");\n }\n titleText = fullAggName;\n if (hAxisTitle !== \"\") {\n titleText += \" \" + opts.localeStrings.vs + \" \" + hAxisTitle;\n }\n if (groupByTitle !== \"\") {\n titleText += \" \" + opts.localeStrings.by + \" \" + groupByTitle;\n }\n layout = {\n title: titleText,\n hovermode: 'closest',\n width: window.innerWidth / 1.4,\n height: window.innerHeight / 1.4 - 50,\n xaxis: {\n title: transpose ? fullAggName : null,\n automargin: true\n },\n yaxis: {\n title: transpose ? null : fullAggName,\n automargin: true\n }\n };\n result = $(\"<div>\").appendTo($(\"body\"));\n Plotly.newPlot(result[0], data, $.extend(layout, layoutOptions, opts.plotly));\n return result.detach();\n };\n };\n makePlotlyScatterChart = function() {\n return function(pivotData, opts) {\n var colKey, colKeys, data, defaults, i, j, layout, len, len1, renderArea, result, rowKey, rowKeys, v;\n defaults = {\n localeStrings: {\n vs: \"vs\",\n by: \"by\"\n },\n plotly: {}\n };\n opts = $.extend(true, {}, defaults, opts);\n rowKeys = pivotData.getRowKeys();\n if (rowKeys.length === 0) {\n rowKeys.push([]);\n }\n colKeys = pivotData.getColKeys();\n if (colKeys.length === 0) {\n colKeys.push([]);\n }\n data = {\n x: [],\n y: [],\n text: [],\n type: 'scatter',\n mode: 'markers'\n };\n for (i = 0, len = rowKeys.length; i < len; i++) {\n rowKey = rowKeys[i];\n for (j = 0, len1 = colKeys.length; j < len1; j++) {\n colKey = colKeys[j];\n v = pivotData.getAggregator(rowKey, colKey).value();\n if (v != null) {\n data.x.push(colKey.join('-'));\n data.y.push(rowKey.join('-'));\n data.text.push(v);\n }\n }\n }\n layout = {\n title: pivotData.rowAttrs.join(\"-\") + ' vs ' + pivotData.colAttrs.join(\"-\"),\n hovermode: 'closest',\n xaxis: {\n title: pivotData.colAttrs.join('-'),\n domain: [0.1, 1.0]\n },\n yaxis: {\n title: pivotData.rowAttrs.join('-')\n },\n width: window.innerWidth / 1.5,\n height: window.innerHeight / 1.4 - 50\n };\n renderArea = $(\"<div>\", {\n style: \"display:none;\"\n }).appendTo($(\"body\"));\n result = $(\"<div>\").appendTo(renderArea);\n Plotly.plot(result[0], [data], $.extend(layout, opts.plotly));\n result.detach();\n renderArea.remove();\n return result;\n };\n };\n return $.pivotUtilities.plotly_renderers = {\n \"Horizontal Bar Chart\": makePlotlyChart({\n type: 'bar',\n orientation: 'h'\n }, {\n barmode: 'group'\n }, true),\n \"Horizontal Stacked Bar Chart\": makePlotlyChart({\n type: 'bar',\n orientation: 'h'\n }, {\n barmode: 'stack'\n }, true),\n \"Bar Chart\": makePlotlyChart({\n type: 'bar'\n }, {\n barmode: 'group'\n }),\n \"Stacked Bar Chart\": makePlotlyChart({\n type: 'bar'\n }, {\n barmode: 'stack'\n }),\n \"Line Chart\": makePlotlyChart(),\n \"Scatter Chart\": makePlotlyScatterChart()\n };\n });\n\n}).call(this);\n\n//# sourceMappingURL=plotly_renderers.js.map\n"]}
\ No newline at end of file
$.pivotUtilities.tipsData = [
["row","total_bill","tip","sex","smoker","day","time","size"],
["1",16.99,1.01,"Female","No","Sun","Dinner",2],
["2",10.34,1.66,"Male","No","Sun","Dinner",3],
["3",21.01,3.5,"Male","No","Sun","Dinner",3],
["4",23.68,3.31,"Male","No","Sun","Dinner",2],
["5",24.59,3.61,"Female","No","Sun","Dinner",4],
["6",25.29,4.71,"Male","No","Sun","Dinner",4],
["7",8.77,2,"Male","No","Sun","Dinner",2],
["8",26.88,3.12,"Male","No","Sun","Dinner",4],
["9",15.04,1.96,"Male","No","Sun","Dinner",2],
["10",14.78,3.23,"Male","No","Sun","Dinner",2],
["11",10.27,1.71,"Male","No","Sun","Dinner",2],
["12",35.26,5,"Female","No","Sun","Dinner",4],
["13",15.42,1.57,"Male","No","Sun","Dinner",2],
["14",18.43,3,"Male","No","Sun","Dinner",4],
["15",14.83,3.02,"Female","No","Sun","Dinner",2],
["16",21.58,3.92,"Male","No","Sun","Dinner",2],
["17",10.33,1.67,"Female","No","Sun","Dinner",3],
["18",16.29,3.71,"Male","No","Sun","Dinner",3],
["19",16.97,3.5,"Female","No","Sun","Dinner",3],
["20",20.65,3.35,"Male","No","Sat","Dinner",3],
["21",17.92,4.08,"Male","No","Sat","Dinner",2],
["22",20.29,2.75,"Female","No","Sat","Dinner",2],
["23",15.77,2.23,"Female","No","Sat","Dinner",2],
["24",39.42,7.58,"Male","No","Sat","Dinner",4],
["25",19.82,3.18,"Male","No","Sat","Dinner",2],
["26",17.81,2.34,"Male","No","Sat","Dinner",4],
["27",13.37,2,"Male","No","Sat","Dinner",2],
["28",12.69,2,"Male","No","Sat","Dinner",2],
["29",21.7,4.3,"Male","No","Sat","Dinner",2],
["30",19.65,3,"Female","No","Sat","Dinner",2],
["31",9.55,1.45,"Male","No","Sat","Dinner",2],
["32",18.35,2.5,"Male","No","Sat","Dinner",4],
["33",15.06,3,"Female","No","Sat","Dinner",2],
["34",20.69,2.45,"Female","No","Sat","Dinner",4],
["35",17.78,3.27,"Male","No","Sat","Dinner",2],
["36",24.06,3.6,"Male","No","Sat","Dinner",3],
["37",16.31,2,"Male","No","Sat","Dinner",3],
["38",16.93,3.07,"Female","No","Sat","Dinner",3],
["39",18.69,2.31,"Male","No","Sat","Dinner",3],
["40",31.27,5,"Male","No","Sat","Dinner",3],
["41",16.04,2.24,"Male","No","Sat","Dinner",3],
["42",17.46,2.54,"Male","No","Sun","Dinner",2],
["43",13.94,3.06,"Male","No","Sun","Dinner",2],
["44",9.68,1.32,"Male","No","Sun","Dinner",2],
["45",30.4,5.6,"Male","No","Sun","Dinner",4],
["46",18.29,3,"Male","No","Sun","Dinner",2],
["47",22.23,5,"Male","No","Sun","Dinner",2],
["48",32.4,6,"Male","No","Sun","Dinner",4],
["49",28.55,2.05,"Male","No","Sun","Dinner",3],
["50",18.04,3,"Male","No","Sun","Dinner",2],
["51",12.54,2.5,"Male","No","Sun","Dinner",2],
["52",10.29,2.6,"Female","No","Sun","Dinner",2],
["53",34.81,5.2,"Female","No","Sun","Dinner",4],
["54",9.94,1.56,"Male","No","Sun","Dinner",2],
["55",25.56,4.34,"Male","No","Sun","Dinner",4],
["56",19.49,3.51,"Male","No","Sun","Dinner",2],
["57",38.01,3,"Male","Yes","Sat","Dinner",4],
["58",26.41,1.5,"Female","No","Sat","Dinner",2],
["59",11.24,1.76,"Male","Yes","Sat","Dinner",2],
["60",48.27,6.73,"Male","No","Sat","Dinner",4],
["61",20.29,3.21,"Male","Yes","Sat","Dinner",2],
["62",13.81,2,"Male","Yes","Sat","Dinner",2],
["63",11.02,1.98,"Male","Yes","Sat","Dinner",2],
["64",18.29,3.76,"Male","Yes","Sat","Dinner",4],
["65",17.59,2.64,"Male","No","Sat","Dinner",3],
["66",20.08,3.15,"Male","No","Sat","Dinner",3],
["67",16.45,2.47,"Female","No","Sat","Dinner",2],
["68",3.07,1,"Female","Yes","Sat","Dinner",1],
["69",20.23,2.01,"Male","No","Sat","Dinner",2],
["70",15.01,2.09,"Male","Yes","Sat","Dinner",2],
["71",12.02,1.97,"Male","No","Sat","Dinner",2],
["72",17.07,3,"Female","No","Sat","Dinner",3],
["73",26.86,3.14,"Female","Yes","Sat","Dinner",2],
["74",25.28,5,"Female","Yes","Sat","Dinner",2],
["75",14.73,2.2,"Female","No","Sat","Dinner",2],
["76",10.51,1.25,"Male","No","Sat","Dinner",2],
["77",17.92,3.08,"Male","Yes","Sat","Dinner",2],
["78",27.2,4,"Male","No","Thur","Lunch",4],
["79",22.76,3,"Male","No","Thur","Lunch",2],
["80",17.29,2.71,"Male","No","Thur","Lunch",2],
["81",19.44,3,"Male","Yes","Thur","Lunch",2],
["82",16.66,3.4,"Male","No","Thur","Lunch",2],
["83",10.07,1.83,"Female","No","Thur","Lunch",1],
["84",32.68,5,"Male","Yes","Thur","Lunch",2],
["85",15.98,2.03,"Male","No","Thur","Lunch",2],
["86",34.83,5.17,"Female","No","Thur","Lunch",4],
["87",13.03,2,"Male","No","Thur","Lunch",2],
["88",18.28,4,"Male","No","Thur","Lunch",2],
["89",24.71,5.85,"Male","No","Thur","Lunch",2],
["90",21.16,3,"Male","No","Thur","Lunch",2],
["91",28.97,3,"Male","Yes","Fri","Dinner",2],
["92",22.49,3.5,"Male","No","Fri","Dinner",2],
["93",5.75,1,"Female","Yes","Fri","Dinner",2],
["94",16.32,4.3,"Female","Yes","Fri","Dinner",2],
["95",22.75,3.25,"Female","No","Fri","Dinner",2],
["96",40.17,4.73,"Male","Yes","Fri","Dinner",4],
["97",27.28,4,"Male","Yes","Fri","Dinner",2],
["98",12.03,1.5,"Male","Yes","Fri","Dinner",2],
["99",21.01,3,"Male","Yes","Fri","Dinner",2],
["100",12.46,1.5,"Male","No","Fri","Dinner",2],
["101",11.35,2.5,"Female","Yes","Fri","Dinner",2],
["102",15.38,3,"Female","Yes","Fri","Dinner",2],
["103",44.3,2.5,"Female","Yes","Sat","Dinner",3],
["104",22.42,3.48,"Female","Yes","Sat","Dinner",2],
["105",20.92,4.08,"Female","No","Sat","Dinner",2],
["106",15.36,1.64,"Male","Yes","Sat","Dinner",2],
["107",20.49,4.06,"Male","Yes","Sat","Dinner",2],
["108",25.21,4.29,"Male","Yes","Sat","Dinner",2],
["109",18.24,3.76,"Male","No","Sat","Dinner",2],
["110",14.31,4,"Female","Yes","Sat","Dinner",2],
["111",14,3,"Male","No","Sat","Dinner",2],
["112",7.25,1,"Female","No","Sat","Dinner",1],
["113",38.07,4,"Male","No","Sun","Dinner",3],
["114",23.95,2.55,"Male","No","Sun","Dinner",2],
["115",25.71,4,"Female","No","Sun","Dinner",3],
["116",17.31,3.5,"Female","No","Sun","Dinner",2],
["117",29.93,5.07,"Male","No","Sun","Dinner",4],
["118",10.65,1.5,"Female","No","Thur","Lunch",2],
["119",12.43,1.8,"Female","No","Thur","Lunch",2],
["120",24.08,2.92,"Female","No","Thur","Lunch",4],
["121",11.69,2.31,"Male","No","Thur","Lunch",2],
["122",13.42,1.68,"Female","No","Thur","Lunch",2],
["123",14.26,2.5,"Male","No","Thur","Lunch",2],
["124",15.95,2,"Male","No","Thur","Lunch",2],
["125",12.48,2.52,"Female","No","Thur","Lunch",2],
["126",29.8,4.2,"Female","No","Thur","Lunch",6],
["127",8.52,1.48,"Male","No","Thur","Lunch",2],
["128",14.52,2,"Female","No","Thur","Lunch",2],
["129",11.38,2,"Female","No","Thur","Lunch",2],
["130",22.82,2.18,"Male","No","Thur","Lunch",3],
["131",19.08,1.5,"Male","No","Thur","Lunch",2],
["132",20.27,2.83,"Female","No","Thur","Lunch",2],
["133",11.17,1.5,"Female","No","Thur","Lunch",2],
["134",12.26,2,"Female","No","Thur","Lunch",2],
["135",18.26,3.25,"Female","No","Thur","Lunch",2],
["136",8.51,1.25,"Female","No","Thur","Lunch",2],
["137",10.33,2,"Female","No","Thur","Lunch",2],
["138",14.15,2,"Female","No","Thur","Lunch",2],
["139",16,2,"Male","Yes","Thur","Lunch",2],
["140",13.16,2.75,"Female","No","Thur","Lunch",2],
["141",17.47,3.5,"Female","No","Thur","Lunch",2],
["142",34.3,6.7,"Male","No","Thur","Lunch",6],
["143",41.19,5,"Male","No","Thur","Lunch",5],
["144",27.05,5,"Female","No","Thur","Lunch",6],
["145",16.43,2.3,"Female","No","Thur","Lunch",2],
["146",8.35,1.5,"Female","No","Thur","Lunch",2],
["147",18.64,1.36,"Female","No","Thur","Lunch",3],
["148",11.87,1.63,"Female","No","Thur","Lunch",2],
["149",9.78,1.73,"Male","No","Thur","Lunch",2],
["150",7.51,2,"Male","No","Thur","Lunch",2],
["151",14.07,2.5,"Male","No","Sun","Dinner",2],
["152",13.13,2,"Male","No","Sun","Dinner",2],
["153",17.26,2.74,"Male","No","Sun","Dinner",3],
["154",24.55,2,"Male","No","Sun","Dinner",4],
["155",19.77,2,"Male","No","Sun","Dinner",4],
["156",29.85,5.14,"Female","No","Sun","Dinner",5],
["157",48.17,5,"Male","No","Sun","Dinner",6],
["158",25,3.75,"Female","No","Sun","Dinner",4],
["159",13.39,2.61,"Female","No","Sun","Dinner",2],
["160",16.49,2,"Male","No","Sun","Dinner",4],
["161",21.5,3.5,"Male","No","Sun","Dinner",4],
["162",12.66,2.5,"Male","No","Sun","Dinner",2],
["163",16.21,2,"Female","No","Sun","Dinner",3],
["164",13.81,2,"Male","No","Sun","Dinner",2],
["165",17.51,3,"Female","Yes","Sun","Dinner",2],
["166",24.52,3.48,"Male","No","Sun","Dinner",3],
["167",20.76,2.24,"Male","No","Sun","Dinner",2],
["168",31.71,4.5,"Male","No","Sun","Dinner",4],
["169",10.59,1.61,"Female","Yes","Sat","Dinner",2],
["170",10.63,2,"Female","Yes","Sat","Dinner",2],
["171",50.81,10,"Male","Yes","Sat","Dinner",3],
["172",15.81,3.16,"Male","Yes","Sat","Dinner",2],
["173",7.25,5.15,"Male","Yes","Sun","Dinner",2],
["174",31.85,3.18,"Male","Yes","Sun","Dinner",2],
["175",16.82,4,"Male","Yes","Sun","Dinner",2],
["176",32.9,3.11,"Male","Yes","Sun","Dinner",2],
["177",17.89,2,"Male","Yes","Sun","Dinner",2],
["178",14.48,2,"Male","Yes","Sun","Dinner",2],
["179",9.6,4,"Female","Yes","Sun","Dinner",2],
["180",34.63,3.55,"Male","Yes","Sun","Dinner",2],
["181",34.65,3.68,"Male","Yes","Sun","Dinner",4],
["182",23.33,5.65,"Male","Yes","Sun","Dinner",2],
["183",45.35,3.5,"Male","Yes","Sun","Dinner",3],
["184",23.17,6.5,"Male","Yes","Sun","Dinner",4],
["185",40.55,3,"Male","Yes","Sun","Dinner",2],
["186",20.69,5,"Male","No","Sun","Dinner",5],
["187",20.9,3.5,"Female","Yes","Sun","Dinner",3],
["188",30.46,2,"Male","Yes","Sun","Dinner",5],
["189",18.15,3.5,"Female","Yes","Sun","Dinner",3],
["190",23.1,4,"Male","Yes","Sun","Dinner",3],
["191",15.69,1.5,"Male","Yes","Sun","Dinner",2],
["192",19.81,4.19,"Female","Yes","Thur","Lunch",2],
["193",28.44,2.56,"Male","Yes","Thur","Lunch",2],
["194",15.48,2.02,"Male","Yes","Thur","Lunch",2],
["195",16.58,4,"Male","Yes","Thur","Lunch",2],
["196",7.56,1.44,"Male","No","Thur","Lunch",2],
["197",10.34,2,"Male","Yes","Thur","Lunch",2],
["198",43.11,5,"Female","Yes","Thur","Lunch",4],
["199",13,2,"Female","Yes","Thur","Lunch",2],
["200",13.51,2,"Male","Yes","Thur","Lunch",2],
["201",18.71,4,"Male","Yes","Thur","Lunch",3],
["202",12.74,2.01,"Female","Yes","Thur","Lunch",2],
["203",13,2,"Female","Yes","Thur","Lunch",2],
["204",16.4,2.5,"Female","Yes","Thur","Lunch",2],
["205",20.53,4,"Male","Yes","Thur","Lunch",4],
["206",16.47,3.23,"Female","Yes","Thur","Lunch",3],
["207",26.59,3.41,"Male","Yes","Sat","Dinner",3],
["208",38.73,3,"Male","Yes","Sat","Dinner",4],
["209",24.27,2.03,"Male","Yes","Sat","Dinner",2],
["210",12.76,2.23,"Female","Yes","Sat","Dinner",2],
["211",30.06,2,"Male","Yes","Sat","Dinner",3],
["212",25.89,5.16,"Male","Yes","Sat","Dinner",4],
["213",48.33,9,"Male","No","Sat","Dinner",4],
["214",13.27,2.5,"Female","Yes","Sat","Dinner",2],
["215",28.17,6.5,"Female","Yes","Sat","Dinner",3],
["216",12.9,1.1,"Female","Yes","Sat","Dinner",2],
["217",28.15,3,"Male","Yes","Sat","Dinner",5],
["218",11.59,1.5,"Male","Yes","Sat","Dinner",2],
["219",7.74,1.44,"Male","Yes","Sat","Dinner",2],
["220",30.14,3.09,"Female","Yes","Sat","Dinner",4],
["221",12.16,2.2,"Male","Yes","Fri","Lunch",2],
["222",13.42,3.48,"Female","Yes","Fri","Lunch",2],
["223",8.58,1.92,"Male","Yes","Fri","Lunch",1],
["224",15.98,3,"Female","No","Fri","Lunch",3],
["225",13.42,1.58,"Male","Yes","Fri","Lunch",2],
["226",16.27,2.5,"Female","Yes","Fri","Lunch",2],
["227",10.09,2,"Female","Yes","Fri","Lunch",2],
["228",20.45,3,"Male","No","Sat","Dinner",4],
["229",13.28,2.72,"Male","No","Sat","Dinner",2],
["230",22.12,2.88,"Female","Yes","Sat","Dinner",2],
["231",24.01,2,"Male","Yes","Sat","Dinner",4],
["232",15.69,3,"Male","Yes","Sat","Dinner",3],
["233",11.61,3.39,"Male","No","Sat","Dinner",2],
["234",10.77,1.47,"Male","No","Sat","Dinner",2],
["235",15.53,3,"Male","Yes","Sat","Dinner",2],
["236",10.07,1.25,"Male","No","Sat","Dinner",2],
["237",12.6,1,"Male","Yes","Sat","Dinner",2],
["238",32.83,1.17,"Male","Yes","Sat","Dinner",2],
["239",35.83,4.67,"Female","No","Sat","Dinner",3],
["240",29.03,5.92,"Male","No","Sat","Dinner",3],
["241",27.18,2,"Female","Yes","Sat","Dinner",2],
["242",22.67,2,"Male","Yes","Sat","Dinner",2],
["243",17.82,1.75,"Male","No","Sat","Dinner",2],
["244",18.78,3,"Female","No","Thur","Dinner",2]
];
\ No newline at end of file
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib uri="http://java.sun.com/portlet_2_0" prefix="portlet" %>
<%@ taglib uri="http://liferay.com/tld/aui" prefix="aui" %><%@
taglib uri="http://liferay.com/tld/portlet" prefix="liferay-portlet" %><%@
taglib uri="http://liferay.com/tld/theme" prefix="liferay-theme" %><%@
taglib uri="http://liferay.com/tld/ui" prefix="liferay-ui" %>
<liferay-theme:defineObjects />
<portlet:defineObjects />
\ No newline at end of file
<%@ include file="/init.jsp" %>
<!doctype html>
<html>
<body>
<div id="output"></div>
<!-- <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.11.4/jquery-ui.min.js"></script> -->
<script src="dist/pivot.js"></script>
<link rel="stylesheet" type="text/css" href="dist/pivot.css">
<script>
$(function(){
$("#output").pivotUI(
[
{color: "blue", shape: "circle"},
{color: "red", shape: "triangle"},
{color: "yellow", shape: "circle"},
{color: "yellow", shape: "triangle"}
],
{
rows: ["color"],
cols: ["shape"]
}
);
});
</script>
</body>
</html>
\ No newline at end of file
javax.portlet.display-name.pivot=pivot JSP
javax.portlet.keywords.pivot=pivot,jsp
javax.portlet.short-title.pivot=pivot JSP
javax.portlet.title.pivot=pivot JSP Portlet
pivot.caption=Hello from pivot JSP!
\ No newline at end of file
...@@ -16,7 +16,7 @@ ...@@ -16,7 +16,7 @@
/> />
<li> <li>
<div class="date color_red">${dateUtil.getDate(entry.getModifiedDate(), dateFormat, locale)}</div> <div class="date color_red">${dateUtil.getDate(entry.getModifiedDate(), dateFormat, locale)}</div>
<a href="${viewURL}"> <a href="/topic-event/-/asset_publisher/Q1yD746PoYtv/content/${assetRenderer.getUrlTitle()}?redirect=topical-events">
${entry.getTitle(locale)} ${entry.getTitle(locale)}
</a> </a>
</li> </li>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment