@internetarchive/histogram-date-range 1.4.0 → 1.4.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.editorconfig +29 -29
- package/.eslintrc.js +14 -14
- package/.github/workflows/ci.yml +30 -30
- package/LICENSE +661 -661
- package/README.md +113 -113
- package/demo/index.css +28 -28
- package/demo/index.html +221 -221
- package/dist/index.js.map +1 -1
- package/dist/src/histogram-date-range.d.ts +1 -0
- package/dist/src/histogram-date-range.js +269 -252
- package/dist/src/histogram-date-range.js.map +1 -1
- package/dist/test/histogram-date-range.test.js +203 -155
- package/dist/test/histogram-date-range.test.js.map +1 -1
- package/docs/demo/index.css +28 -28
- package/docs/demo/index.html +221 -221
- package/docs/dist/src/histogram-date-range.js +16 -1
- package/index.ts +7 -7
- package/package.json +85 -85
- package/snowpack.config.js +10 -10
- package/src/histogram-date-range.ts +1190 -1172
- package/test/histogram-date-range.test.ts +1060 -992
- package/tsconfig.json +21 -21
- package/web-dev-server.config.mjs +28 -28
- package/web-test-runner.config.mjs +29 -29
- package/dist/demo/js/list-histogram-wrapper.d.ts +0 -20
- package/dist/demo/js/list-histogram-wrapper.js +0 -59
- package/dist/demo/js/list-histogram-wrapper.js.map +0 -1
- package/dist/demo/js/lit-histogram-wrapper.d.ts +0 -21
- package/dist/demo/js/lit-histogram-wrapper.js +0 -73
- package/dist/demo/js/lit-histogram-wrapper.js.map +0 -1
package/tsconfig.json
CHANGED
|
@@ -1,21 +1,21 @@
|
|
|
1
|
-
{
|
|
2
|
-
"compilerOptions": {
|
|
3
|
-
"target": "es2018",
|
|
4
|
-
"module": "esnext",
|
|
5
|
-
"moduleResolution": "node",
|
|
6
|
-
"noEmitOnError": true,
|
|
7
|
-
"lib": ["es2017", "dom"],
|
|
8
|
-
"strict": true,
|
|
9
|
-
"esModuleInterop": false,
|
|
10
|
-
"allowSyntheticDefaultImports": true,
|
|
11
|
-
"experimentalDecorators": true,
|
|
12
|
-
"importHelpers": true,
|
|
13
|
-
"outDir": "dist",
|
|
14
|
-
"sourceMap": true,
|
|
15
|
-
"inlineSources": true,
|
|
16
|
-
"rootDir": "./",
|
|
17
|
-
"declaration": true
|
|
18
|
-
},
|
|
19
|
-
"include": ["**/*.ts"],
|
|
20
|
-
"exclude": ["node_modules", "dist"]
|
|
21
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"compilerOptions": {
|
|
3
|
+
"target": "es2018",
|
|
4
|
+
"module": "esnext",
|
|
5
|
+
"moduleResolution": "node",
|
|
6
|
+
"noEmitOnError": true,
|
|
7
|
+
"lib": ["es2017", "dom"],
|
|
8
|
+
"strict": true,
|
|
9
|
+
"esModuleInterop": false,
|
|
10
|
+
"allowSyntheticDefaultImports": true,
|
|
11
|
+
"experimentalDecorators": true,
|
|
12
|
+
"importHelpers": true,
|
|
13
|
+
"outDir": "dist",
|
|
14
|
+
"sourceMap": true,
|
|
15
|
+
"inlineSources": true,
|
|
16
|
+
"rootDir": "./",
|
|
17
|
+
"declaration": true
|
|
18
|
+
},
|
|
19
|
+
"include": ["**/*.ts"],
|
|
20
|
+
"exclude": ["node_modules", "dist"]
|
|
21
|
+
}
|
|
@@ -1,28 +1,28 @@
|
|
|
1
|
-
// import { hmrPlugin, presets } from '@open-wc/dev-server-hmr';
|
|
2
|
-
|
|
3
|
-
/** Use Hot Module replacement by adding --hmr to the start command */
|
|
4
|
-
const hmr = process.argv.includes('--hmr');
|
|
5
|
-
|
|
6
|
-
export default /** @type {import('@web/dev-server').DevServerConfig} */ ({
|
|
7
|
-
nodeResolve: true,
|
|
8
|
-
open: '/demo/',
|
|
9
|
-
watch: !hmr,
|
|
10
|
-
|
|
11
|
-
/** Compile JS for older browsers. Requires @web/dev-server-esbuild plugin */
|
|
12
|
-
// esbuildTarget: 'auto'
|
|
13
|
-
|
|
14
|
-
/** Set appIndex to enable SPA routing */
|
|
15
|
-
// appIndex: 'demo/index.html',
|
|
16
|
-
|
|
17
|
-
/** Confgure bare import resolve plugin */
|
|
18
|
-
// nodeResolve: {
|
|
19
|
-
// exportConditions: ['browser', 'development']
|
|
20
|
-
// },
|
|
21
|
-
|
|
22
|
-
plugins: [
|
|
23
|
-
/** Use Hot Module Replacement by uncommenting. Requires @open-wc/dev-server-hmr plugin */
|
|
24
|
-
// hmr && hmrPlugin({ exclude: ['**/*/node_modules/**/*'], presets: [presets.litElement] }),
|
|
25
|
-
],
|
|
26
|
-
|
|
27
|
-
// See documentation for all available options
|
|
28
|
-
});
|
|
1
|
+
// import { hmrPlugin, presets } from '@open-wc/dev-server-hmr';
|
|
2
|
+
|
|
3
|
+
/** Use Hot Module replacement by adding --hmr to the start command */
|
|
4
|
+
const hmr = process.argv.includes('--hmr');
|
|
5
|
+
|
|
6
|
+
export default /** @type {import('@web/dev-server').DevServerConfig} */ ({
|
|
7
|
+
nodeResolve: true,
|
|
8
|
+
open: '/demo/',
|
|
9
|
+
watch: !hmr,
|
|
10
|
+
|
|
11
|
+
/** Compile JS for older browsers. Requires @web/dev-server-esbuild plugin */
|
|
12
|
+
// esbuildTarget: 'auto'
|
|
13
|
+
|
|
14
|
+
/** Set appIndex to enable SPA routing */
|
|
15
|
+
// appIndex: 'demo/index.html',
|
|
16
|
+
|
|
17
|
+
/** Confgure bare import resolve plugin */
|
|
18
|
+
// nodeResolve: {
|
|
19
|
+
// exportConditions: ['browser', 'development']
|
|
20
|
+
// },
|
|
21
|
+
|
|
22
|
+
plugins: [
|
|
23
|
+
/** Use Hot Module Replacement by uncommenting. Requires @open-wc/dev-server-hmr plugin */
|
|
24
|
+
// hmr && hmrPlugin({ exclude: ['**/*/node_modules/**/*'], presets: [presets.litElement] }),
|
|
25
|
+
],
|
|
26
|
+
|
|
27
|
+
// See documentation for all available options
|
|
28
|
+
});
|
|
@@ -1,29 +1,29 @@
|
|
|
1
|
-
// import { playwrightLauncher } from '@web/test-runner-playwright';
|
|
2
|
-
|
|
3
|
-
export default /** @type {import("@web/test-runner").TestRunnerConfig} */ ({
|
|
4
|
-
files: 'dist/test/**/*.test.js',
|
|
5
|
-
nodeResolve: true,
|
|
6
|
-
|
|
7
|
-
/** Compile JS for older browsers. Requires @web/dev-server-esbuild plugin */
|
|
8
|
-
// esbuildTarget: 'auto',
|
|
9
|
-
|
|
10
|
-
/** Confgure bare import resolve plugin */
|
|
11
|
-
// nodeResolve: {
|
|
12
|
-
// exportConditions: ['browser', 'development']
|
|
13
|
-
// },
|
|
14
|
-
|
|
15
|
-
/** Amount of browsers to run concurrently */
|
|
16
|
-
// concurrentBrowsers: 2,
|
|
17
|
-
|
|
18
|
-
/** Amount of test files per browser to test concurrently */
|
|
19
|
-
// concurrency: 1,
|
|
20
|
-
|
|
21
|
-
/** Browsers to run tests on */
|
|
22
|
-
// browsers: [
|
|
23
|
-
// playwrightLauncher({ product: 'chromium' }),
|
|
24
|
-
// playwrightLauncher({ product: 'firefox' }),
|
|
25
|
-
// playwrightLauncher({ product: 'webkit' }),
|
|
26
|
-
// ],
|
|
27
|
-
|
|
28
|
-
// See documentation for all available options
|
|
29
|
-
});
|
|
1
|
+
// import { playwrightLauncher } from '@web/test-runner-playwright';
|
|
2
|
+
|
|
3
|
+
export default /** @type {import("@web/test-runner").TestRunnerConfig} */ ({
|
|
4
|
+
files: 'dist/test/**/*.test.js',
|
|
5
|
+
nodeResolve: true,
|
|
6
|
+
|
|
7
|
+
/** Compile JS for older browsers. Requires @web/dev-server-esbuild plugin */
|
|
8
|
+
// esbuildTarget: 'auto',
|
|
9
|
+
|
|
10
|
+
/** Confgure bare import resolve plugin */
|
|
11
|
+
// nodeResolve: {
|
|
12
|
+
// exportConditions: ['browser', 'development']
|
|
13
|
+
// },
|
|
14
|
+
|
|
15
|
+
/** Amount of browsers to run concurrently */
|
|
16
|
+
// concurrentBrowsers: 2,
|
|
17
|
+
|
|
18
|
+
/** Amount of test files per browser to test concurrently */
|
|
19
|
+
// concurrency: 1,
|
|
20
|
+
|
|
21
|
+
/** Browsers to run tests on */
|
|
22
|
+
// browsers: [
|
|
23
|
+
// playwrightLauncher({ product: 'chromium' }),
|
|
24
|
+
// playwrightLauncher({ product: 'firefox' }),
|
|
25
|
+
// playwrightLauncher({ product: 'webkit' }),
|
|
26
|
+
// ],
|
|
27
|
+
|
|
28
|
+
// See documentation for all available options
|
|
29
|
+
});
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import { LitElement, TemplateResult } from 'lit';
|
|
2
|
-
import '../../src/histogram-date-range';
|
|
3
|
-
interface DataSource {
|
|
4
|
-
minDate: unknown;
|
|
5
|
-
maxDate: unknown;
|
|
6
|
-
minSelectedDate: unknown;
|
|
7
|
-
maxSelectedDate: unknown;
|
|
8
|
-
bins: number[];
|
|
9
|
-
barScalingFunction?: (input: number) => number;
|
|
10
|
-
}
|
|
11
|
-
/**
|
|
12
|
-
* This is mainly to test the histogram-date-range within
|
|
13
|
-
* a lit-element.
|
|
14
|
-
*/
|
|
15
|
-
export declare class LitHistogramWrapper extends LitElement {
|
|
16
|
-
dataSource: DataSource;
|
|
17
|
-
render(): TemplateResult;
|
|
18
|
-
private randomize;
|
|
19
|
-
}
|
|
20
|
-
export {};
|
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
import { __decorate } from "tslib";
|
|
2
|
-
import { LitElement, html, nothing } from 'lit';
|
|
3
|
-
import { customElement, state } from 'lit/decorators.js';
|
|
4
|
-
import '../../src/histogram-date-range';
|
|
5
|
-
/**
|
|
6
|
-
* This is mainly to test the histogram-date-range within
|
|
7
|
-
* a lit-element.
|
|
8
|
-
*/
|
|
9
|
-
let LitHistogramWrapper = class LitHistogramWrapper extends LitElement {
|
|
10
|
-
constructor() {
|
|
11
|
-
super(...arguments);
|
|
12
|
-
this.dataSource = {
|
|
13
|
-
minDate: 1955,
|
|
14
|
-
maxDate: 2000,
|
|
15
|
-
minSelectedDate: 1955,
|
|
16
|
-
maxSelectedDate: 2000,
|
|
17
|
-
bins: [
|
|
18
|
-
1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
|
|
19
|
-
],
|
|
20
|
-
};
|
|
21
|
-
}
|
|
22
|
-
render() {
|
|
23
|
-
var _a, _b, _c, _d, _e, _f, _g;
|
|
24
|
-
return html `
|
|
25
|
-
<histogram-date-range
|
|
26
|
-
.minDate=${(_a = this.dataSource) === null || _a === void 0 ? void 0 : _a.minDate}
|
|
27
|
-
.maxDate=${(_b = this.dataSource) === null || _b === void 0 ? void 0 : _b.maxDate}
|
|
28
|
-
.minSelectedDate=${(_c = this.dataSource) === null || _c === void 0 ? void 0 : _c.minSelectedDate}
|
|
29
|
-
.maxSelectedDate=${(_d = this.dataSource) === null || _d === void 0 ? void 0 : _d.maxSelectedDate}
|
|
30
|
-
.updateDelay=${1000}
|
|
31
|
-
.bins=${(_e = this.dataSource) === null || _e === void 0 ? void 0 : _e.bins}
|
|
32
|
-
.barScalingFunction=${(_g = (_f = this.dataSource) === null || _f === void 0 ? void 0 : _f.barScalingFunction) !== null && _g !== void 0 ? _g : nothing}
|
|
33
|
-
></histogram-date-range>
|
|
34
|
-
|
|
35
|
-
<button @click=${this.randomize}>Randomize</button>
|
|
36
|
-
`;
|
|
37
|
-
}
|
|
38
|
-
randomize() {
|
|
39
|
-
const minDate = Math.round(Math.random() * 1000);
|
|
40
|
-
const maxDate = minDate + Math.round(Math.random() * 1000);
|
|
41
|
-
// generate random bins
|
|
42
|
-
const bins = Array.from({ length: 20 }, () => Math.floor(Math.random() * minDate));
|
|
43
|
-
this.dataSource = {
|
|
44
|
-
minDate,
|
|
45
|
-
maxDate,
|
|
46
|
-
minSelectedDate: minDate,
|
|
47
|
-
maxSelectedDate: maxDate,
|
|
48
|
-
bins: bins,
|
|
49
|
-
};
|
|
50
|
-
}
|
|
51
|
-
};
|
|
52
|
-
__decorate([
|
|
53
|
-
state()
|
|
54
|
-
], LitHistogramWrapper.prototype, "dataSource", void 0);
|
|
55
|
-
LitHistogramWrapper = __decorate([
|
|
56
|
-
customElement('lit-histogram-wrapper')
|
|
57
|
-
], LitHistogramWrapper);
|
|
58
|
-
export { LitHistogramWrapper };
|
|
59
|
-
//# sourceMappingURL=list-histogram-wrapper.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"list-histogram-wrapper.js","sourceRoot":"","sources":["../../../demo/js/list-histogram-wrapper.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,IAAI,EAAkB,OAAO,EAAE,MAAM,KAAK,CAAC;AAChE,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,gCAAgC,CAAC;AAWxC;;;GAGG;AAEI,IAAM,mBAAmB,GAAzB,MAAM,mBAAoB,SAAQ,UAAU;IAA5C;;QACI,eAAU,GAAe;YAChC,OAAO,EAAE,IAAI;YACb,OAAO,EAAE,IAAI;YACb,eAAe,EAAE,IAAI;YACrB,eAAe,EAAE,IAAI;YACrB,IAAI,EAAE;gBACJ,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE;aACtE;SACF,CAAC;IAiCJ,CAAC;IA/BC,MAAM;;QACJ,OAAO,IAAI,CAAA;;mBAEI,MAAA,IAAI,CAAC,UAAU,0CAAE,OAAO;mBACxB,MAAA,IAAI,CAAC,UAAU,0CAAE,OAAO;2BAChB,MAAA,IAAI,CAAC,UAAU,0CAAE,eAAe;2BAChC,MAAA,IAAI,CAAC,UAAU,0CAAE,eAAe;uBACpC,IAAI;gBACX,MAAA,IAAI,CAAC,UAAU,0CAAE,IAAI;8BACP,MAAA,MAAA,IAAI,CAAC,UAAU,0CAAE,kBAAkB,mCAAI,OAAO;;;uBAGrD,IAAI,CAAC,SAAS;KAChC,CAAC;IACJ,CAAC;IAEO,SAAS;QACf,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC;QACjD,MAAM,OAAO,GAAG,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC;QAC3D,uBAAuB;QACvB,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,CAC3C,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,OAAO,CAAC,CACpC,CAAC;QACF,IAAI,CAAC,UAAU,GAAG;YAChB,OAAO;YACP,OAAO;YACP,eAAe,EAAE,OAAO;YACxB,eAAe,EAAE,OAAO;YACxB,IAAI,EAAE,IAAI;SACX,CAAC;IACJ,CAAC;CACF,CAAA;AAzCU;IAAR,KAAK,EAAE;uDAQN;AATS,mBAAmB;IAD/B,aAAa,CAAC,uBAAuB,CAAC;GAC1B,mBAAmB,CA0C/B","sourcesContent":["import { LitElement, html, TemplateResult, nothing } from 'lit';\r\nimport { customElement, state } from 'lit/decorators.js';\r\nimport '../../src/histogram-date-range';\r\n\r\ninterface DataSource {\r\n minDate: unknown;\r\n maxDate: unknown;\r\n minSelectedDate: unknown;\r\n maxSelectedDate: unknown;\r\n bins: number[];\r\n barScalingFunction?: (input: number) => number;\r\n}\r\n\r\n/**\r\n * This is mainly to test the histogram-date-range within\r\n * a lit-element.\r\n */\r\n@customElement('lit-histogram-wrapper')\r\nexport class LitHistogramWrapper extends LitElement {\r\n @state() dataSource: DataSource = {\r\n minDate: 1955,\r\n maxDate: 2000,\r\n minSelectedDate: 1955,\r\n maxSelectedDate: 2000,\r\n bins: [\r\n 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20,\r\n ],\r\n };\r\n\r\n render(): TemplateResult {\r\n return html`\r\n <histogram-date-range\r\n .minDate=${this.dataSource?.minDate}\r\n .maxDate=${this.dataSource?.maxDate}\r\n .minSelectedDate=${this.dataSource?.minSelectedDate}\r\n .maxSelectedDate=${this.dataSource?.maxSelectedDate}\r\n .updateDelay=${1000}\r\n .bins=${this.dataSource?.bins}\r\n .barScalingFunction=${this.dataSource?.barScalingFunction ?? nothing}\r\n ></histogram-date-range>\r\n\r\n <button @click=${this.randomize}>Randomize</button>\r\n `;\r\n }\r\n\r\n private randomize() {\r\n const minDate = Math.round(Math.random() * 1000);\r\n const maxDate = minDate + Math.round(Math.random() * 1000);\r\n // generate random bins\r\n const bins = Array.from({ length: 20 }, () =>\r\n Math.floor(Math.random() * minDate)\r\n );\r\n this.dataSource = {\r\n minDate,\r\n maxDate,\r\n minSelectedDate: minDate,\r\n maxSelectedDate: maxDate,\r\n bins: bins,\r\n };\r\n }\r\n}\r\n"]}
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import { LitElement, TemplateResult } from 'lit';
|
|
2
|
-
import '../../src/histogram-date-range';
|
|
3
|
-
interface DataSource {
|
|
4
|
-
minDate: unknown;
|
|
5
|
-
maxDate: unknown;
|
|
6
|
-
minSelectedDate: unknown;
|
|
7
|
-
maxSelectedDate: unknown;
|
|
8
|
-
bins: number[];
|
|
9
|
-
}
|
|
10
|
-
/**
|
|
11
|
-
* This is mainly to test the histogram-date-range within
|
|
12
|
-
* a lit-element.
|
|
13
|
-
*/
|
|
14
|
-
export declare class LitHistogramWrapper extends LitElement {
|
|
15
|
-
barScaling?: 'linear' | 'logarithmic';
|
|
16
|
-
dataSource: DataSource;
|
|
17
|
-
render(): TemplateResult;
|
|
18
|
-
private randomize;
|
|
19
|
-
static get styles(): import("lit").CSSResult;
|
|
20
|
-
}
|
|
21
|
-
export {};
|
|
@@ -1,73 +0,0 @@
|
|
|
1
|
-
import { __decorate } from "tslib";
|
|
2
|
-
import { LitElement, html, css, nothing } from 'lit';
|
|
3
|
-
import { customElement, property, state } from 'lit/decorators.js';
|
|
4
|
-
import '../../src/histogram-date-range';
|
|
5
|
-
const IDENTITY_FN = (x) => x;
|
|
6
|
-
/**
|
|
7
|
-
* This is mainly to test the histogram-date-range within
|
|
8
|
-
* a lit-element.
|
|
9
|
-
*/
|
|
10
|
-
let LitHistogramWrapper = class LitHistogramWrapper extends LitElement {
|
|
11
|
-
constructor() {
|
|
12
|
-
super(...arguments);
|
|
13
|
-
this.dataSource = {
|
|
14
|
-
minDate: 1955,
|
|
15
|
-
maxDate: 2000,
|
|
16
|
-
minSelectedDate: 1955,
|
|
17
|
-
maxSelectedDate: 2000,
|
|
18
|
-
bins: [
|
|
19
|
-
1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
|
|
20
|
-
],
|
|
21
|
-
};
|
|
22
|
-
}
|
|
23
|
-
render() {
|
|
24
|
-
var _a, _b, _c, _d, _e;
|
|
25
|
-
const scalingFn = this.barScaling === 'linear' ? IDENTITY_FN : nothing;
|
|
26
|
-
return html `
|
|
27
|
-
<histogram-date-range
|
|
28
|
-
.minDate=${(_a = this.dataSource) === null || _a === void 0 ? void 0 : _a.minDate}
|
|
29
|
-
.maxDate=${(_b = this.dataSource) === null || _b === void 0 ? void 0 : _b.maxDate}
|
|
30
|
-
.minSelectedDate=${(_c = this.dataSource) === null || _c === void 0 ? void 0 : _c.minSelectedDate}
|
|
31
|
-
.maxSelectedDate=${(_d = this.dataSource) === null || _d === void 0 ? void 0 : _d.maxSelectedDate}
|
|
32
|
-
.updateDelay=${1000}
|
|
33
|
-
.bins=${(_e = this.dataSource) === null || _e === void 0 ? void 0 : _e.bins}
|
|
34
|
-
.barScalingFunction=${scalingFn}
|
|
35
|
-
></histogram-date-range>
|
|
36
|
-
|
|
37
|
-
<button @click=${this.randomize}>Randomize</button>
|
|
38
|
-
`;
|
|
39
|
-
}
|
|
40
|
-
randomize() {
|
|
41
|
-
const minDate = Math.round(Math.random() * 1000);
|
|
42
|
-
const maxDate = minDate + Math.round(Math.random() * 1000);
|
|
43
|
-
// generate random bins
|
|
44
|
-
const bins = Array.from({ length: 20 }, () => Math.floor(Math.random() * minDate));
|
|
45
|
-
this.dataSource = {
|
|
46
|
-
minDate,
|
|
47
|
-
maxDate,
|
|
48
|
-
minSelectedDate: minDate,
|
|
49
|
-
maxSelectedDate: maxDate,
|
|
50
|
-
bins: bins,
|
|
51
|
-
};
|
|
52
|
-
}
|
|
53
|
-
static get styles() {
|
|
54
|
-
return css `
|
|
55
|
-
:host {
|
|
56
|
-
display: flex;
|
|
57
|
-
flex-direction: column;
|
|
58
|
-
align-items: center;
|
|
59
|
-
}
|
|
60
|
-
`;
|
|
61
|
-
}
|
|
62
|
-
};
|
|
63
|
-
__decorate([
|
|
64
|
-
property({ type: String })
|
|
65
|
-
], LitHistogramWrapper.prototype, "barScaling", void 0);
|
|
66
|
-
__decorate([
|
|
67
|
-
state()
|
|
68
|
-
], LitHistogramWrapper.prototype, "dataSource", void 0);
|
|
69
|
-
LitHistogramWrapper = __decorate([
|
|
70
|
-
customElement('lit-histogram-wrapper')
|
|
71
|
-
], LitHistogramWrapper);
|
|
72
|
-
export { LitHistogramWrapper };
|
|
73
|
-
//# sourceMappingURL=lit-histogram-wrapper.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"lit-histogram-wrapper.js","sourceRoot":"","sources":["../../../demo/js/lit-histogram-wrapper.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,EAAkB,OAAO,EAAE,MAAM,KAAK,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AACnE,OAAO,gCAAgC,CAAC;AAUxC,MAAM,WAAW,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC;AAErC;;;GAGG;AAEI,IAAM,mBAAmB,GAAzB,MAAM,mBAAoB,SAAQ,UAAU;IAA5C;;QAGI,eAAU,GAAe;YAChC,OAAO,EAAE,IAAI;YACb,OAAO,EAAE,IAAI;YACb,eAAe,EAAE,IAAI;YACrB,eAAe,EAAE,IAAI;YACrB,IAAI,EAAE;gBACJ,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE;aACtE;SACF,CAAC;IA4CJ,CAAC;IA1CC,MAAM;;QACJ,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC;QACvE,OAAO,IAAI,CAAA;;mBAEI,MAAA,IAAI,CAAC,UAAU,0CAAE,OAAO;mBACxB,MAAA,IAAI,CAAC,UAAU,0CAAE,OAAO;2BAChB,MAAA,IAAI,CAAC,UAAU,0CAAE,eAAe;2BAChC,MAAA,IAAI,CAAC,UAAU,0CAAE,eAAe;uBACpC,IAAI;gBACX,MAAA,IAAI,CAAC,UAAU,0CAAE,IAAI;8BACP,SAAS;;;uBAGhB,IAAI,CAAC,SAAS;KAChC,CAAC;IACJ,CAAC;IAEO,SAAS;QACf,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC;QACjD,MAAM,OAAO,GAAG,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC;QAC3D,uBAAuB;QACvB,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,CAC3C,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,OAAO,CAAC,CACpC,CAAC;QACF,IAAI,CAAC,UAAU,GAAG;YAChB,OAAO;YACP,OAAO;YACP,eAAe,EAAE,OAAO;YACxB,eAAe,EAAE,OAAO;YACxB,IAAI,EAAE,IAAI;SACX,CAAC;IACJ,CAAC;IAED,MAAM,KAAK,MAAM;QACf,OAAO,GAAG,CAAA;;;;;;KAMT,CAAC;IACJ,CAAC;CACF,CAAA;AAtD6B;IAA3B,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;uDAAuC;AAEzD;IAAR,KAAK,EAAE;uDAQN;AAXS,mBAAmB;IAD/B,aAAa,CAAC,uBAAuB,CAAC;GAC1B,mBAAmB,CAuD/B","sourcesContent":["import { LitElement, html, css, TemplateResult, nothing } from 'lit';\nimport { customElement, property, state } from 'lit/decorators.js';\nimport '../../src/histogram-date-range';\n\ninterface DataSource {\n minDate: unknown;\n maxDate: unknown;\n minSelectedDate: unknown;\n maxSelectedDate: unknown;\n bins: number[];\n}\n\nconst IDENTITY_FN = (x: number) => x;\n\n/**\n * This is mainly to test the histogram-date-range within\n * a lit-element.\n */\n@customElement('lit-histogram-wrapper')\nexport class LitHistogramWrapper extends LitElement {\n @property({ type: String }) barScaling?: 'linear' | 'logarithmic';\n\n @state() dataSource: DataSource = {\n minDate: 1955,\n maxDate: 2000,\n minSelectedDate: 1955,\n maxSelectedDate: 2000,\n bins: [\n 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20,\n ],\n };\n\n render(): TemplateResult {\n const scalingFn = this.barScaling === 'linear' ? IDENTITY_FN : nothing;\n return html`\n <histogram-date-range\n .minDate=${this.dataSource?.minDate}\n .maxDate=${this.dataSource?.maxDate}\n .minSelectedDate=${this.dataSource?.minSelectedDate}\n .maxSelectedDate=${this.dataSource?.maxSelectedDate}\n .updateDelay=${1000}\n .bins=${this.dataSource?.bins}\n .barScalingFunction=${scalingFn}\n ></histogram-date-range>\n\n <button @click=${this.randomize}>Randomize</button>\n `;\n }\n\n private randomize() {\n const minDate = Math.round(Math.random() * 1000);\n const maxDate = minDate + Math.round(Math.random() * 1000);\n // generate random bins\n const bins = Array.from({ length: 20 }, () =>\n Math.floor(Math.random() * minDate)\n );\n this.dataSource = {\n minDate,\n maxDate,\n minSelectedDate: minDate,\n maxSelectedDate: maxDate,\n bins: bins,\n };\n }\n\n static get styles() {\n return css`\n :host {\n display: flex;\n flex-direction: column;\n align-items: center;\n }\n `;\n }\n}\n"]}
|