@internetarchive/collection-browser 2.5.2 → 2.6.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/.husky/pre-commit +4 -4
- package/LICENSE +661 -661
- package/README.md +83 -83
- package/dist/index.d.ts +12 -12
- package/dist/index.js +12 -12
- package/dist/src/app-root.d.ts +91 -91
- package/dist/src/app-root.js +487 -487
- package/dist/src/assets/img/icons/arrow-left.d.ts +2 -2
- package/dist/src/assets/img/icons/arrow-left.js +2 -2
- package/dist/src/assets/img/icons/arrow-right.d.ts +2 -2
- package/dist/src/assets/img/icons/arrow-right.js +2 -2
- package/dist/src/assets/img/icons/chevron.d.ts +2 -2
- package/dist/src/assets/img/icons/chevron.js +2 -2
- package/dist/src/assets/img/icons/contract.d.ts +2 -2
- package/dist/src/assets/img/icons/contract.js +2 -2
- package/dist/src/assets/img/icons/empty-query.d.ts +2 -2
- package/dist/src/assets/img/icons/empty-query.js +2 -2
- package/dist/src/assets/img/icons/expand.d.ts +2 -2
- package/dist/src/assets/img/icons/expand.js +2 -2
- package/dist/src/assets/img/icons/eye-closed.d.ts +2 -2
- package/dist/src/assets/img/icons/eye-closed.js +2 -2
- package/dist/src/assets/img/icons/eye.d.ts +2 -2
- package/dist/src/assets/img/icons/eye.js +2 -2
- package/dist/src/assets/img/icons/favorite-filled.d.ts +1 -1
- package/dist/src/assets/img/icons/favorite-filled.js +2 -2
- package/dist/src/assets/img/icons/favorite-unfilled.d.ts +1 -1
- package/dist/src/assets/img/icons/favorite-unfilled.js +2 -2
- package/dist/src/assets/img/icons/login-required.d.ts +1 -1
- package/dist/src/assets/img/icons/login-required.js +2 -2
- package/dist/src/assets/img/icons/mediatype/account.d.ts +1 -1
- package/dist/src/assets/img/icons/mediatype/account.js +2 -2
- package/dist/src/assets/img/icons/mediatype/audio.d.ts +1 -1
- package/dist/src/assets/img/icons/mediatype/audio.js +2 -2
- package/dist/src/assets/img/icons/mediatype/collection.d.ts +1 -1
- package/dist/src/assets/img/icons/mediatype/collection.js +2 -2
- package/dist/src/assets/img/icons/mediatype/data.d.ts +1 -1
- package/dist/src/assets/img/icons/mediatype/data.js +2 -2
- package/dist/src/assets/img/icons/mediatype/etree.d.ts +1 -1
- package/dist/src/assets/img/icons/mediatype/etree.js +2 -2
- package/dist/src/assets/img/icons/mediatype/film.d.ts +1 -1
- package/dist/src/assets/img/icons/mediatype/film.js +2 -2
- package/dist/src/assets/img/icons/mediatype/images.d.ts +1 -1
- package/dist/src/assets/img/icons/mediatype/images.js +2 -2
- package/dist/src/assets/img/icons/mediatype/radio.d.ts +1 -1
- package/dist/src/assets/img/icons/mediatype/radio.js +2 -2
- package/dist/src/assets/img/icons/mediatype/search.d.ts +1 -1
- package/dist/src/assets/img/icons/mediatype/search.js +2 -2
- package/dist/src/assets/img/icons/mediatype/software.d.ts +1 -1
- package/dist/src/assets/img/icons/mediatype/software.js +2 -2
- package/dist/src/assets/img/icons/mediatype/texts.d.ts +1 -1
- package/dist/src/assets/img/icons/mediatype/texts.js +2 -2
- package/dist/src/assets/img/icons/mediatype/tv.d.ts +1 -1
- package/dist/src/assets/img/icons/mediatype/tv.js +2 -2
- package/dist/src/assets/img/icons/mediatype/video.d.ts +1 -1
- package/dist/src/assets/img/icons/mediatype/video.js +2 -2
- package/dist/src/assets/img/icons/mediatype/web.d.ts +1 -1
- package/dist/src/assets/img/icons/mediatype/web.js +2 -2
- package/dist/src/assets/img/icons/null-result.d.ts +2 -2
- package/dist/src/assets/img/icons/null-result.js +2 -2
- package/dist/src/assets/img/icons/restricted.d.ts +1 -1
- package/dist/src/assets/img/icons/restricted.js +2 -2
- package/dist/src/assets/img/icons/reviews.d.ts +1 -1
- package/dist/src/assets/img/icons/reviews.js +2 -2
- package/dist/src/assets/img/icons/upload.d.ts +1 -1
- package/dist/src/assets/img/icons/upload.js +2 -2
- package/dist/src/assets/img/icons/views.d.ts +1 -1
- package/dist/src/assets/img/icons/views.js +2 -2
- package/dist/src/circular-activity-indicator.d.ts +5 -5
- package/dist/src/circular-activity-indicator.js +17 -17
- package/dist/src/collection-browser.d.ts +564 -564
- package/dist/src/collection-browser.js +1579 -1569
- package/dist/src/collection-browser.js.map +1 -1
- package/dist/src/collection-facets/facet-row.d.ts +30 -30
- package/dist/src/collection-facets/facet-row.js +120 -117
- package/dist/src/collection-facets/facet-row.js.map +1 -1
- package/dist/src/collection-facets/facet-tombstone-row.d.ts +5 -5
- package/dist/src/collection-facets/facet-tombstone-row.js +15 -15
- package/dist/src/collection-facets/facets-template.d.ts +13 -13
- package/dist/src/collection-facets/facets-template.js +45 -43
- package/dist/src/collection-facets/facets-template.js.map +1 -1
- package/dist/src/collection-facets/more-facets-content.d.ts +106 -106
- package/dist/src/collection-facets/more-facets-content.js +407 -407
- package/dist/src/collection-facets/more-facets-pagination.d.ts +36 -36
- package/dist/src/collection-facets/more-facets-pagination.js +196 -196
- package/dist/src/collection-facets/toggle-switch.d.ts +41 -41
- package/dist/src/collection-facets/toggle-switch.js +94 -94
- package/dist/src/collection-facets.d.ts +103 -103
- package/dist/src/collection-facets.js +534 -516
- package/dist/src/collection-facets.js.map +1 -1
- package/dist/src/data-source/collection-browser-data-source-interface.d.ts +241 -241
- package/dist/src/data-source/collection-browser-data-source-interface.js +1 -1
- package/dist/src/data-source/collection-browser-data-source.d.ts +378 -378
- package/dist/src/data-source/collection-browser-data-source.js +984 -985
- package/dist/src/data-source/collection-browser-data-source.js.map +1 -1
- package/dist/src/data-source/collection-browser-query-state.d.ts +43 -43
- package/dist/src/data-source/collection-browser-query-state.js +1 -1
- package/dist/src/data-source/models.d.ts +28 -28
- package/dist/src/data-source/models.js +8 -8
- package/dist/src/empty-placeholder.d.ts +23 -23
- package/dist/src/empty-placeholder.js +92 -79
- package/dist/src/empty-placeholder.js.map +1 -1
- package/dist/src/expanded-date-picker.d.ts +43 -43
- package/dist/src/expanded-date-picker.js +109 -109
- package/dist/src/language-code-handler/language-code-handler.d.ts +37 -37
- package/dist/src/language-code-handler/language-code-handler.js +26 -26
- package/dist/src/language-code-handler/language-code-mapping.d.ts +1 -1
- package/dist/src/language-code-handler/language-code-mapping.js +562 -562
- package/dist/src/manage/manage-bar.d.ts +30 -30
- package/dist/src/manage/manage-bar.js +61 -61
- package/dist/src/mediatype/mediatype-config.d.ts +3 -3
- package/dist/src/mediatype/mediatype-config.js +91 -91
- package/dist/src/models.d.ts +211 -209
- package/dist/src/models.js +381 -381
- package/dist/src/models.js.map +1 -1
- package/dist/src/restoration-state-handler.d.ts +70 -70
- package/dist/src/restoration-state-handler.js +357 -357
- package/dist/src/sort-filter-bar/alpha-bar-tooltip.d.ts +6 -6
- package/dist/src/sort-filter-bar/alpha-bar-tooltip.js +24 -24
- package/dist/src/sort-filter-bar/alpha-bar.d.ts +21 -21
- package/dist/src/sort-filter-bar/alpha-bar.js +128 -128
- package/dist/src/sort-filter-bar/img/compact.d.ts +1 -1
- package/dist/src/sort-filter-bar/img/compact.js +2 -2
- package/dist/src/sort-filter-bar/img/list.d.ts +1 -1
- package/dist/src/sort-filter-bar/img/list.js +2 -2
- package/dist/src/sort-filter-bar/img/sort-toggle-disabled.d.ts +1 -1
- package/dist/src/sort-filter-bar/img/sort-toggle-disabled.js +2 -2
- package/dist/src/sort-filter-bar/img/sort-toggle-down.d.ts +1 -1
- package/dist/src/sort-filter-bar/img/sort-toggle-down.js +2 -2
- package/dist/src/sort-filter-bar/img/sort-toggle-up.d.ts +1 -1
- package/dist/src/sort-filter-bar/img/sort-toggle-up.js +2 -2
- package/dist/src/sort-filter-bar/img/sort-triangle.d.ts +1 -1
- package/dist/src/sort-filter-bar/img/sort-triangle.js +2 -2
- package/dist/src/sort-filter-bar/img/tile.d.ts +1 -1
- package/dist/src/sort-filter-bar/img/tile.js +2 -2
- package/dist/src/sort-filter-bar/sort-filter-bar.d.ts +223 -222
- package/dist/src/sort-filter-bar/sort-filter-bar.js +700 -696
- package/dist/src/sort-filter-bar/sort-filter-bar.js.map +1 -1
- package/dist/src/styles/ia-button.d.ts +2 -2
- package/dist/src/styles/ia-button.js +16 -16
- package/dist/src/styles/item-image-styles.d.ts +8 -8
- package/dist/src/styles/item-image-styles.js +9 -9
- package/dist/src/styles/sr-only.d.ts +1 -1
- package/dist/src/styles/sr-only.js +2 -2
- package/dist/src/tiles/base-tile-component.d.ts +19 -19
- package/dist/src/tiles/base-tile-component.js +63 -63
- package/dist/src/tiles/collection-browser-loading-tile.d.ts +5 -5
- package/dist/src/tiles/collection-browser-loading-tile.js +15 -15
- package/dist/src/tiles/grid/account-tile.d.ts +18 -18
- package/dist/src/tiles/grid/account-tile.js +72 -72
- package/dist/src/tiles/grid/collection-tile.d.ts +15 -15
- package/dist/src/tiles/grid/collection-tile.js +80 -80
- package/dist/src/tiles/grid/item-tile.d.ts +30 -30
- package/dist/src/tiles/grid/item-tile.js +149 -149
- package/dist/src/tiles/grid/search-tile.d.ts +10 -10
- package/dist/src/tiles/grid/search-tile.js +51 -51
- package/dist/src/tiles/grid/styles/tile-grid-shared-styles.d.ts +1 -1
- package/dist/src/tiles/grid/styles/tile-grid-shared-styles.js +8 -8
- package/dist/src/tiles/grid/tile-stats.d.ts +11 -11
- package/dist/src/tiles/grid/tile-stats.js +53 -53
- package/dist/src/tiles/hover/hover-pane-controller.d.ts +219 -219
- package/dist/src/tiles/hover/hover-pane-controller.js +352 -352
- package/dist/src/tiles/hover/tile-hover-pane.d.ts +18 -18
- package/dist/src/tiles/hover/tile-hover-pane.js +69 -69
- package/dist/src/tiles/image-block.d.ts +17 -17
- package/dist/src/tiles/image-block.js +73 -73
- package/dist/src/tiles/item-image.d.ts +39 -39
- package/dist/src/tiles/item-image.js +154 -154
- package/dist/src/tiles/list/tile-list-compact-header.d.ts +6 -6
- package/dist/src/tiles/list/tile-list-compact-header.js +38 -38
- package/dist/src/tiles/list/tile-list-compact.d.ts +15 -15
- package/dist/src/tiles/list/tile-list-compact.js +114 -114
- package/dist/src/tiles/list/tile-list.d.ts +50 -50
- package/dist/src/tiles/list/tile-list.js +315 -315
- package/dist/src/tiles/mediatype-icon.d.ts +9 -9
- package/dist/src/tiles/mediatype-icon.js +47 -47
- package/dist/src/tiles/overlay/icon-overlay.d.ts +10 -10
- package/dist/src/tiles/overlay/icon-overlay.js +40 -40
- package/dist/src/tiles/overlay/icon-text-overlay.d.ts +9 -9
- package/dist/src/tiles/overlay/icon-text-overlay.js +38 -38
- package/dist/src/tiles/overlay/text-overlay.d.ts +10 -10
- package/dist/src/tiles/overlay/text-overlay.js +42 -42
- package/dist/src/tiles/review-block.d.ts +12 -12
- package/dist/src/tiles/review-block.js +56 -56
- package/dist/src/tiles/text-snippet-block.d.ts +27 -27
- package/dist/src/tiles/text-snippet-block.js +73 -73
- package/dist/src/tiles/tile-dispatcher.d.ts +64 -64
- package/dist/src/tiles/tile-dispatcher.js +229 -229
- package/dist/src/tiles/tile-display-value-provider.d.ts +47 -47
- package/dist/src/tiles/tile-display-value-provider.js +94 -94
- package/dist/src/utils/analytics-events.d.ts +28 -28
- package/dist/src/utils/analytics-events.js +30 -30
- package/dist/src/utils/array-equals.d.ts +4 -4
- package/dist/src/utils/array-equals.js +10 -10
- package/dist/src/utils/collapse-repeated-quotes.d.ts +11 -11
- package/dist/src/utils/collapse-repeated-quotes.js +13 -13
- package/dist/src/utils/facet-utils.d.ts +83 -83
- package/dist/src/utils/facet-utils.js +145 -145
- package/dist/src/utils/format-count.d.ts +7 -7
- package/dist/src/utils/format-count.js +76 -76
- package/dist/src/utils/format-date.d.ts +2 -2
- package/dist/src/utils/format-date.js +25 -25
- package/dist/src/utils/format-unit-size.d.ts +2 -2
- package/dist/src/utils/format-unit-size.js +33 -33
- package/dist/src/utils/local-date-from-utc.d.ts +9 -9
- package/dist/src/utils/local-date-from-utc.js +15 -15
- package/dist/src/utils/log.d.ts +7 -7
- package/dist/src/utils/log.js +15 -15
- package/dist/src/utils/resolve-mediatype.d.ts +8 -8
- package/dist/src/utils/resolve-mediatype.js +23 -23
- package/dist/src/utils/sha1.d.ts +2 -2
- package/dist/src/utils/sha1.js +8 -8
- package/dist/test/collection-browser.test.d.ts +1 -1
- package/dist/test/collection-browser.test.js +1294 -1294
- package/dist/test/collection-facets/facet-row.test.d.ts +1 -1
- package/dist/test/collection-facets/facet-row.test.js +227 -227
- package/dist/test/collection-facets/facets-template.test.d.ts +1 -1
- package/dist/test/collection-facets/facets-template.test.js +91 -91
- package/dist/test/collection-facets/more-facets-content.test.d.ts +1 -1
- package/dist/test/collection-facets/more-facets-content.test.js +141 -141
- package/dist/test/collection-facets/more-facets-pagination.test.d.ts +1 -1
- package/dist/test/collection-facets/more-facets-pagination.test.js +117 -117
- package/dist/test/collection-facets/toggle-switch.test.d.ts +1 -1
- package/dist/test/collection-facets/toggle-switch.test.js +73 -73
- package/dist/test/collection-facets.test.d.ts +2 -2
- package/dist/test/collection-facets.test.js +652 -652
- package/dist/test/data-source/collection-browser-data-source.test.d.ts +1 -1
- package/dist/test/data-source/collection-browser-data-source.test.js +89 -89
- package/dist/test/empty-placeholder.test.d.ts +1 -1
- package/dist/test/empty-placeholder.test.js +63 -63
- package/dist/test/expanded-date-picker.test.d.ts +1 -1
- package/dist/test/expanded-date-picker.test.js +95 -95
- package/dist/test/icon-overlay.test.d.ts +1 -1
- package/dist/test/icon-overlay.test.js +24 -24
- package/dist/test/image-block.test.d.ts +1 -1
- package/dist/test/image-block.test.js +48 -48
- package/dist/test/item-image.test.d.ts +1 -1
- package/dist/test/item-image.test.js +85 -85
- package/dist/test/manage/manage-bar.test.d.ts +1 -1
- package/dist/test/manage/manage-bar.test.js +81 -81
- package/dist/test/mediatype-config.test.d.ts +1 -1
- package/dist/test/mediatype-config.test.js +16 -16
- package/dist/test/mocks/mock-analytics-handler.d.ts +10 -10
- package/dist/test/mocks/mock-analytics-handler.js +15 -15
- package/dist/test/mocks/mock-search-responses.d.ts +25 -25
- package/dist/test/mocks/mock-search-responses.js +942 -942
- package/dist/test/mocks/mock-search-service.d.ts +15 -15
- package/dist/test/mocks/mock-search-service.js +54 -54
- package/dist/test/restoration-state-handler.test.d.ts +1 -1
- package/dist/test/restoration-state-handler.test.js +270 -270
- package/dist/test/review-block.test.d.ts +1 -1
- package/dist/test/review-block.test.js +44 -44
- package/dist/test/sort-filter-bar/alpha-bar-tooltip.test.d.ts +1 -1
- package/dist/test/sort-filter-bar/alpha-bar-tooltip.test.js +12 -12
- package/dist/test/sort-filter-bar/alpha-bar.test.d.ts +1 -1
- package/dist/test/sort-filter-bar/alpha-bar.test.js +73 -73
- package/dist/test/sort-filter-bar/sort-filter-bar.test.d.ts +1 -1
- package/dist/test/sort-filter-bar/sort-filter-bar.test.js +426 -426
- package/dist/test/text-overlay.test.d.ts +1 -1
- package/dist/test/text-overlay.test.js +48 -48
- package/dist/test/text-snippet-block.test.d.ts +1 -1
- package/dist/test/text-snippet-block.test.js +57 -57
- package/dist/test/tile-stats.test.d.ts +1 -1
- package/dist/test/tile-stats.test.js +81 -81
- package/dist/test/tiles/grid/account-tile.test.d.ts +1 -1
- package/dist/test/tiles/grid/account-tile.test.js +76 -76
- package/dist/test/tiles/grid/collection-tile.test.d.ts +1 -1
- package/dist/test/tiles/grid/collection-tile.test.js +73 -73
- package/dist/test/tiles/grid/item-tile.test.d.ts +1 -1
- package/dist/test/tiles/grid/item-tile.test.js +312 -312
- package/dist/test/tiles/grid/search-tile.test.d.ts +1 -1
- package/dist/test/tiles/grid/search-tile.test.js +51 -51
- package/dist/test/tiles/hover/hover-pane-controller.test.d.ts +1 -1
- package/dist/test/tiles/hover/hover-pane-controller.test.js +259 -259
- package/dist/test/tiles/hover/tile-hover-pane.test.d.ts +1 -1
- package/dist/test/tiles/hover/tile-hover-pane.test.js +56 -56
- package/dist/test/tiles/list/tile-list-compact.test.d.ts +1 -1
- package/dist/test/tiles/list/tile-list-compact.test.js +143 -143
- package/dist/test/tiles/list/tile-list.test.d.ts +1 -1
- package/dist/test/tiles/list/tile-list.test.js +297 -297
- package/dist/test/tiles/tile-dispatcher.test.d.ts +1 -1
- package/dist/test/tiles/tile-dispatcher.test.js +100 -100
- package/dist/test/tiles/tile-display-value-provider.test.d.ts +1 -1
- package/dist/test/tiles/tile-display-value-provider.test.js +141 -141
- package/dist/test/utils/array-equals.test.d.ts +1 -1
- package/dist/test/utils/array-equals.test.js +26 -26
- package/dist/test/utils/format-count.test.d.ts +1 -1
- package/dist/test/utils/format-count.test.js +23 -23
- package/dist/test/utils/format-date.test.d.ts +1 -1
- package/dist/test/utils/format-date.test.js +17 -17
- package/dist/test/utils/format-unit-size.test.d.ts +1 -1
- package/dist/test/utils/format-unit-size.test.js +17 -17
- package/dist/test/utils/local-date-from-utc.test.d.ts +1 -1
- package/dist/test/utils/local-date-from-utc.test.js +26 -26
- package/local.archive.org.cert +86 -86
- package/local.archive.org.key +27 -27
- package/package.json +1 -1
- package/renovate.json +6 -6
- package/src/collection-browser.ts +26 -10
- package/src/collection-facets/facet-row.ts +3 -0
- package/src/collection-facets/facets-template.ts +3 -1
- package/src/collection-facets.ts +20 -2
- package/src/data-source/collection-browser-data-source.ts +1 -5
- package/src/empty-placeholder.ts +18 -5
- package/src/models.ts +8 -1
- package/src/sort-filter-bar/sort-filter-bar.ts +4 -0
- package/web-dev-server.config.mjs +30 -30
- package/web-test-runner.config.mjs +41 -41
|
@@ -1,78 +1,91 @@
|
|
|
1
|
-
var EmptyPlaceholder_1;
|
|
2
|
-
import { __decorate } from "tslib";
|
|
3
|
-
import { css, html, LitElement, nothing, } from 'lit';
|
|
4
|
-
import { customElement, property } from 'lit/decorators.js';
|
|
5
|
-
import { choose } from 'lit/directives/choose.js';
|
|
6
|
-
import { msg } from '@lit/localize';
|
|
7
|
-
import emptyQueryIcon from './assets/img/icons/empty-query';
|
|
8
|
-
import nullResultIcon from './assets/img/icons/null-result';
|
|
9
|
-
let EmptyPlaceholder = EmptyPlaceholder_1 = class EmptyPlaceholder extends LitElement {
|
|
10
|
-
constructor() {
|
|
11
|
-
super(...arguments);
|
|
12
|
-
this.placeholderType = null;
|
|
13
|
-
this.detailMessage = '';
|
|
14
|
-
}
|
|
15
|
-
render() {
|
|
16
|
-
return this.placeholderType ? html `${this.placeholderTemplate}` : nothing;
|
|
17
|
-
}
|
|
18
|
-
get placeholderTemplate() {
|
|
1
|
+
var EmptyPlaceholder_1;
|
|
2
|
+
import { __decorate } from "tslib";
|
|
3
|
+
import { css, html, LitElement, nothing, } from 'lit';
|
|
4
|
+
import { customElement, property } from 'lit/decorators.js';
|
|
5
|
+
import { choose } from 'lit/directives/choose.js';
|
|
6
|
+
import { msg } from '@lit/localize';
|
|
7
|
+
import emptyQueryIcon from './assets/img/icons/empty-query';
|
|
8
|
+
import nullResultIcon from './assets/img/icons/null-result';
|
|
9
|
+
let EmptyPlaceholder = EmptyPlaceholder_1 = class EmptyPlaceholder extends LitElement {
|
|
10
|
+
constructor() {
|
|
11
|
+
super(...arguments);
|
|
12
|
+
this.placeholderType = null;
|
|
13
|
+
this.detailMessage = '';
|
|
14
|
+
}
|
|
15
|
+
render() {
|
|
16
|
+
return this.placeholderType ? html `${this.placeholderTemplate}` : nothing;
|
|
17
|
+
}
|
|
18
|
+
get placeholderTemplate() {
|
|
19
19
|
return html `
|
|
20
20
|
<div
|
|
21
|
-
class="placeholder ${this.placeholderType} ${this.isMobileView
|
|
22
|
-
? 'mobile'
|
|
21
|
+
class="placeholder ${this.placeholderType} ${this.isMobileView
|
|
22
|
+
? 'mobile'
|
|
23
23
|
: 'desktop'}"
|
|
24
24
|
>
|
|
25
|
-
${choose(this.placeholderType, [
|
|
26
|
-
['empty-query', () => this.emptyQueryTemplate],
|
|
27
|
-
['empty-collection', () => this.emptyCollectionTemplate],
|
|
28
|
-
['no-results', () => this.noResultsTemplate],
|
|
29
|
-
['query-error', () => this.queryErrorTemplate],
|
|
30
|
-
['collection-error', () => this.collectionErrorTemplate],
|
|
25
|
+
${choose(this.placeholderType, [
|
|
26
|
+
['empty-query', () => this.emptyQueryTemplate],
|
|
27
|
+
['empty-collection', () => this.emptyCollectionTemplate],
|
|
28
|
+
['no-results', () => this.noResultsTemplate],
|
|
29
|
+
['query-error', () => this.queryErrorTemplate],
|
|
30
|
+
['collection-error', () => this.collectionErrorTemplate],
|
|
31
31
|
])}
|
|
32
32
|
</div>
|
|
33
|
-
`;
|
|
34
|
-
}
|
|
35
|
-
get emptyQueryTemplate() {
|
|
33
|
+
`;
|
|
34
|
+
}
|
|
35
|
+
get emptyQueryTemplate() {
|
|
36
|
+
// Added data-testid for Playwright testing
|
|
36
37
|
return html `
|
|
37
|
-
<h2 class="title"
|
|
38
|
+
<h2 class="title" data-testid="empty-query-text-msg">
|
|
39
|
+
${EmptyPlaceholder_1.MESSAGE_EMPTY_QUERY}
|
|
40
|
+
</h2>
|
|
38
41
|
<div>${emptyQueryIcon}</div>
|
|
39
|
-
`;
|
|
40
|
-
}
|
|
41
|
-
get emptyCollectionTemplate() {
|
|
42
|
+
`;
|
|
43
|
+
}
|
|
44
|
+
get emptyCollectionTemplate() {
|
|
45
|
+
// Added data-testid for Playwright testing
|
|
42
46
|
return html `
|
|
43
|
-
<h2 class="title"
|
|
47
|
+
<h2 class="title" data-testid="empty-collection-text-msg">
|
|
48
|
+
${EmptyPlaceholder_1.MESSAGE_NO_VIEWABLE_MEMBERS}
|
|
49
|
+
</h2>
|
|
44
50
|
<div>${nullResultIcon}</div>
|
|
45
|
-
`;
|
|
46
|
-
}
|
|
47
|
-
get noResultsTemplate() {
|
|
51
|
+
`;
|
|
52
|
+
}
|
|
53
|
+
get noResultsTemplate() {
|
|
54
|
+
// Added data-testid for Playwright testing
|
|
48
55
|
return html `
|
|
49
|
-
<h2 class="title">
|
|
50
|
-
${this.isCollection
|
|
51
|
-
? EmptyPlaceholder_1.MESSAGE_NO_COLLECTION_RESULTS
|
|
56
|
+
<h2 class="title" data-testid="empty-results-text-msg">
|
|
57
|
+
${this.isCollection
|
|
58
|
+
? EmptyPlaceholder_1.MESSAGE_NO_COLLECTION_RESULTS
|
|
52
59
|
: EmptyPlaceholder_1.MESSAGE_NO_SEARCH_RESULTS}
|
|
53
60
|
</h2>
|
|
54
61
|
<div>${nullResultIcon}</div>
|
|
55
|
-
`;
|
|
56
|
-
}
|
|
57
|
-
get queryErrorTemplate() {
|
|
62
|
+
`;
|
|
63
|
+
}
|
|
64
|
+
get queryErrorTemplate() {
|
|
65
|
+
// Added data-testid for Playwright testing
|
|
58
66
|
return html `
|
|
59
|
-
<h2 class="title"
|
|
67
|
+
<h2 class="title" data-testid="error-query-text-msg">
|
|
68
|
+
${EmptyPlaceholder_1.MESSAGE_QUERY_ERROR}
|
|
69
|
+
</h2>
|
|
60
70
|
<div>${nullResultIcon}</div>
|
|
61
71
|
<p class="error-details">
|
|
62
72
|
${EmptyPlaceholder_1.QUERY_ERROR_DETAILS_MESSAGE} ${this.detailMessage}
|
|
63
73
|
</p>
|
|
64
|
-
`;
|
|
65
|
-
}
|
|
66
|
-
get collectionErrorTemplate() {
|
|
74
|
+
`;
|
|
75
|
+
}
|
|
76
|
+
get collectionErrorTemplate() {
|
|
77
|
+
// Added data-testid for Playwright testing
|
|
67
78
|
return html `
|
|
68
|
-
<h2 class="title"
|
|
79
|
+
<h2 class="title" data-testid="error-collection-text-msg">
|
|
80
|
+
${EmptyPlaceholder_1.MESSAGE_COLLECTION_ERROR}
|
|
81
|
+
</h2>
|
|
69
82
|
<div>${nullResultIcon}</div>
|
|
70
83
|
<p class="error-details">
|
|
71
84
|
${EmptyPlaceholder_1.QUERY_ERROR_DETAILS_MESSAGE} ${this.detailMessage}
|
|
72
85
|
</p>
|
|
73
|
-
`;
|
|
74
|
-
}
|
|
75
|
-
static get styles() {
|
|
86
|
+
`;
|
|
87
|
+
}
|
|
88
|
+
static get styles() {
|
|
76
89
|
return css `
|
|
77
90
|
:host {
|
|
78
91
|
text-align: center;
|
|
@@ -113,41 +126,41 @@ let EmptyPlaceholder = EmptyPlaceholder_1 = class EmptyPlaceholder extends LitEl
|
|
|
113
126
|
font-size: 1.2rem;
|
|
114
127
|
word-break: break-word;
|
|
115
128
|
}
|
|
116
|
-
`;
|
|
117
|
-
}
|
|
118
|
-
};
|
|
119
|
-
EmptyPlaceholder.MESSAGE_EMPTY_QUERY = msg('To begin searching, enter a search term in the box above and hit "Go".');
|
|
120
|
-
EmptyPlaceholder.MESSAGE_NO_SEARCH_RESULTS = msg('Your search did not match any items in the Archive. ' +
|
|
121
|
-
'Try different keywords or a more general search.');
|
|
122
|
-
EmptyPlaceholder.MESSAGE_NO_COLLECTION_RESULTS = msg('Your search did not match any items in this collection. ' +
|
|
123
|
-
'Try different keywords or a more general search.');
|
|
124
|
-
EmptyPlaceholder.MESSAGE_NO_VIEWABLE_MEMBERS = msg('This collection contains no viewable items.');
|
|
129
|
+
`;
|
|
130
|
+
}
|
|
131
|
+
};
|
|
132
|
+
EmptyPlaceholder.MESSAGE_EMPTY_QUERY = msg('To begin searching, enter a search term in the box above and hit "Go".');
|
|
133
|
+
EmptyPlaceholder.MESSAGE_NO_SEARCH_RESULTS = msg('Your search did not match any items in the Archive. ' +
|
|
134
|
+
'Try different keywords or a more general search.');
|
|
135
|
+
EmptyPlaceholder.MESSAGE_NO_COLLECTION_RESULTS = msg('Your search did not match any items in this collection. ' +
|
|
136
|
+
'Try different keywords or a more general search.');
|
|
137
|
+
EmptyPlaceholder.MESSAGE_NO_VIEWABLE_MEMBERS = msg('This collection contains no viewable items.');
|
|
125
138
|
EmptyPlaceholder.MESSAGE_QUERY_ERROR = msg(html `The search engine
|
|
126
139
|
encountered an error, which might be related to your search query.
|
|
127
140
|
<a
|
|
128
141
|
href="https://help.archive.org/help/search-building-powerful-complex-queries/"
|
|
129
142
|
>
|
|
130
143
|
Tips for constructing search queries.
|
|
131
|
-
</a> `);
|
|
144
|
+
</a> `);
|
|
132
145
|
EmptyPlaceholder.MESSAGE_COLLECTION_ERROR = msg(html `The search engine
|
|
133
146
|
encountered an error while loading this collection. If the problem persists,
|
|
134
147
|
please let us know at
|
|
135
|
-
<a href="mailto:info@archive.org">info@archive.org</a>.`);
|
|
136
|
-
EmptyPlaceholder.QUERY_ERROR_DETAILS_MESSAGE = msg('Error details:');
|
|
137
|
-
__decorate([
|
|
138
|
-
property({ type: String })
|
|
139
|
-
], EmptyPlaceholder.prototype, "placeholderType", void 0);
|
|
140
|
-
__decorate([
|
|
141
|
-
property({ type: Boolean })
|
|
142
|
-
], EmptyPlaceholder.prototype, "isMobileView", void 0);
|
|
143
|
-
__decorate([
|
|
144
|
-
property({ type: Boolean })
|
|
145
|
-
], EmptyPlaceholder.prototype, "isCollection", void 0);
|
|
146
|
-
__decorate([
|
|
147
|
-
property({ type: String })
|
|
148
|
-
], EmptyPlaceholder.prototype, "detailMessage", void 0);
|
|
149
|
-
EmptyPlaceholder = EmptyPlaceholder_1 = __decorate([
|
|
150
|
-
customElement('empty-placeholder')
|
|
151
|
-
], EmptyPlaceholder);
|
|
152
|
-
export { EmptyPlaceholder };
|
|
148
|
+
<a href="mailto:info@archive.org">info@archive.org</a>.`);
|
|
149
|
+
EmptyPlaceholder.QUERY_ERROR_DETAILS_MESSAGE = msg('Error details:');
|
|
150
|
+
__decorate([
|
|
151
|
+
property({ type: String })
|
|
152
|
+
], EmptyPlaceholder.prototype, "placeholderType", void 0);
|
|
153
|
+
__decorate([
|
|
154
|
+
property({ type: Boolean })
|
|
155
|
+
], EmptyPlaceholder.prototype, "isMobileView", void 0);
|
|
156
|
+
__decorate([
|
|
157
|
+
property({ type: Boolean })
|
|
158
|
+
], EmptyPlaceholder.prototype, "isCollection", void 0);
|
|
159
|
+
__decorate([
|
|
160
|
+
property({ type: String })
|
|
161
|
+
], EmptyPlaceholder.prototype, "detailMessage", void 0);
|
|
162
|
+
EmptyPlaceholder = EmptyPlaceholder_1 = __decorate([
|
|
163
|
+
customElement('empty-placeholder')
|
|
164
|
+
], EmptyPlaceholder);
|
|
165
|
+
export { EmptyPlaceholder };
|
|
153
166
|
//# sourceMappingURL=empty-placeholder.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"empty-placeholder.js","sourceRoot":"","sources":["../../src/empty-placeholder.ts"],"names":[],"mappings":";;AAAA,OAAO,EACL,GAAG,EACH,IAAI,EACJ,UAAU,EAEV,OAAO,GAER,MAAM,KAAK,CAAC;AACb,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAClD,OAAO,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AAEpC,OAAO,cAAc,MAAM,gCAAgC,CAAC;AAC5D,OAAO,cAAc,MAAM,gCAAgC,CAAC;AAU5D,IAAa,gBAAgB,wBAA7B,MAAa,gBAAiB,SAAQ,UAAU;IAAhD;;QAkC8B,oBAAe,GAAoB,IAAI,CAAC;QAMxC,kBAAa,GAAY,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"empty-placeholder.js","sourceRoot":"","sources":["../../src/empty-placeholder.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n css,\n html,\n LitElement,\n CSSResultGroup,\n nothing,\n TemplateResult,\n} from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\nimport { choose } from 'lit/directives/choose.js';\nimport { msg } from '@lit/localize';\n\nimport emptyQueryIcon from './assets/img/icons/empty-query';\nimport nullResultIcon from './assets/img/icons/null-result';\n\nexport type PlaceholderType =\n | 'empty-query'\n | 'empty-collection'\n | 'no-results'\n | 'query-error'\n | 'collection-error'\n | null;\n@customElement('empty-placeholder')\nexport class EmptyPlaceholder extends LitElement {\n private static readonly MESSAGE_EMPTY_QUERY = msg(\n 'To begin searching, enter a search term in the box above and hit \"Go\".'\n );\n\n private static readonly MESSAGE_NO_SEARCH_RESULTS = msg(\n 'Your search did not match any items in the Archive. ' +\n 'Try different keywords or a more general search.'\n );\n\n private static readonly MESSAGE_NO_COLLECTION_RESULTS = msg(\n 'Your search did not match any items in this collection. ' +\n 'Try different keywords or a more general search.'\n );\n\n private static readonly MESSAGE_NO_VIEWABLE_MEMBERS = msg(\n 'This collection contains no viewable items.'\n );\n\n private static readonly MESSAGE_QUERY_ERROR = msg(html`The search engine\n encountered an error, which might be related to your search query.\n <a\n href=\"https://help.archive.org/help/search-building-powerful-complex-queries/\"\n >\n Tips for constructing search queries.\n </a> `);\n\n private static readonly MESSAGE_COLLECTION_ERROR = msg(html`The search engine\n encountered an error while loading this collection. If the problem persists,\n please let us know at\n <a href=\"mailto:info@archive.org\">info@archive.org</a>.`);\n\n private static readonly QUERY_ERROR_DETAILS_MESSAGE = msg('Error details:');\n\n @property({ type: String }) placeholderType: PlaceholderType = null;\n\n @property({ type: Boolean }) isMobileView?: false;\n\n @property({ type: Boolean }) isCollection?: false;\n\n @property({ type: String }) detailMessage?: string = '';\n\n render() {\n return this.placeholderType ? html`${this.placeholderTemplate}` : nothing;\n }\n\n private get placeholderTemplate(): TemplateResult {\n return html`\n <div\n class=\"placeholder ${this.placeholderType} ${this.isMobileView\n ? 'mobile'\n : 'desktop'}\"\n >\n ${choose(this.placeholderType, [\n ['empty-query', () => this.emptyQueryTemplate],\n ['empty-collection', () => this.emptyCollectionTemplate],\n ['no-results', () => this.noResultsTemplate],\n ['query-error', () => this.queryErrorTemplate],\n ['collection-error', () => this.collectionErrorTemplate],\n ])}\n </div>\n `;\n }\n\n private get emptyQueryTemplate(): TemplateResult {\n // Added data-testid for Playwright testing\n return html`\n <h2 class=\"title\" data-testid=\"empty-query-text-msg\">\n ${EmptyPlaceholder.MESSAGE_EMPTY_QUERY}\n </h2>\n <div>${emptyQueryIcon}</div>\n `;\n }\n\n private get emptyCollectionTemplate(): TemplateResult {\n // Added data-testid for Playwright testing\n return html`\n <h2 class=\"title\" data-testid=\"empty-collection-text-msg\">\n ${EmptyPlaceholder.MESSAGE_NO_VIEWABLE_MEMBERS}\n </h2>\n <div>${nullResultIcon}</div>\n `;\n }\n\n private get noResultsTemplate(): TemplateResult {\n // Added data-testid for Playwright testing\n return html`\n <h2 class=\"title\" data-testid=\"empty-results-text-msg\">\n ${this.isCollection\n ? EmptyPlaceholder.MESSAGE_NO_COLLECTION_RESULTS\n : EmptyPlaceholder.MESSAGE_NO_SEARCH_RESULTS}\n </h2>\n <div>${nullResultIcon}</div>\n `;\n }\n\n private get queryErrorTemplate(): TemplateResult {\n // Added data-testid for Playwright testing\n return html`\n <h2 class=\"title\" data-testid=\"error-query-text-msg\">\n ${EmptyPlaceholder.MESSAGE_QUERY_ERROR}\n </h2>\n <div>${nullResultIcon}</div>\n <p class=\"error-details\">\n ${EmptyPlaceholder.QUERY_ERROR_DETAILS_MESSAGE} ${this.detailMessage}\n </p>\n `;\n }\n\n private get collectionErrorTemplate(): TemplateResult {\n // Added data-testid for Playwright testing\n return html`\n <h2 class=\"title\" data-testid=\"error-collection-text-msg\">\n ${EmptyPlaceholder.MESSAGE_COLLECTION_ERROR}\n </h2>\n <div>${nullResultIcon}</div>\n <p class=\"error-details\">\n ${EmptyPlaceholder.QUERY_ERROR_DETAILS_MESSAGE} ${this.detailMessage}\n </p>\n `;\n }\n\n static get styles(): CSSResultGroup {\n return css`\n :host {\n text-align: center;\n width: 100%;\n }\n\n a {\n text-decoration: none;\n }\n a:link {\n color: var(--ia-theme-link-color, #4b64ff);\n }\n a:hover {\n text-decoration: underline;\n }\n\n .placeholder {\n display: block;\n }\n\n .desktop svg {\n max-height: 40rem;\n }\n .desktop .title,\n .desktop .error-details {\n margin: 4rem 0;\n }\n\n .mobile svg {\n max-height: 20rem;\n }\n .mobile .title,\n .mobile .error-details {\n margin: 2rem 0.5;\n }\n\n .error-details {\n font-size: 1.2rem;\n word-break: break-word;\n }\n `;\n }\n}\n"]}
|
|
@@ -1,43 +1,43 @@
|
|
|
1
|
-
import { LitElement, CSSResultGroup, TemplateResult } from 'lit';
|
|
2
|
-
import type { ModalManagerInterface } from '@internetarchive/modal-manager';
|
|
3
|
-
import type { AnalyticsManagerInterface } from '@internetarchive/analytics-manager';
|
|
4
|
-
export declare class ExpandedDatePicker extends LitElement {
|
|
5
|
-
minDate?: string;
|
|
6
|
-
maxDate?: string;
|
|
7
|
-
minSelectedDate?: string;
|
|
8
|
-
maxSelectedDate?: string;
|
|
9
|
-
buckets?: number[];
|
|
10
|
-
modalManager?: ModalManagerInterface;
|
|
11
|
-
analyticsHandler?: AnalyticsManagerInterface;
|
|
12
|
-
render(): TemplateResult;
|
|
13
|
-
connectedCallback(): void;
|
|
14
|
-
disconnectedCallback(): void;
|
|
15
|
-
/**
|
|
16
|
-
* Add an event listener to close the date picker modal when the Esc key is pressed
|
|
17
|
-
*/
|
|
18
|
-
private setupEscapeListener;
|
|
19
|
-
/**
|
|
20
|
-
* Remove the Esc key listener that was previously added
|
|
21
|
-
*/
|
|
22
|
-
private removeEscapeListener;
|
|
23
|
-
/**
|
|
24
|
-
* Closes the modal dialog if the given event is pressing the Esc key.
|
|
25
|
-
* Arrow function to ensure `this` remains bound to the current component.
|
|
26
|
-
*/
|
|
27
|
-
private boundEscapeListener;
|
|
28
|
-
/**
|
|
29
|
-
* When the histogram is updated, keep track of the newly selected date range.
|
|
30
|
-
* We don't commit to the new range until the apply button is clicked.
|
|
31
|
-
*/
|
|
32
|
-
private histogramDateRangeUpdated;
|
|
33
|
-
/**
|
|
34
|
-
* When the Apply button is clicked, emit the current date range and close the modal.
|
|
35
|
-
*/
|
|
36
|
-
private applyBtnClicked;
|
|
37
|
-
/**
|
|
38
|
-
* Closes the modal associated with this component (if it exists) and dispatches a
|
|
39
|
-
* modalClosed event.
|
|
40
|
-
*/
|
|
41
|
-
private closeModal;
|
|
42
|
-
static get styles(): CSSResultGroup;
|
|
43
|
-
}
|
|
1
|
+
import { LitElement, CSSResultGroup, TemplateResult } from 'lit';
|
|
2
|
+
import type { ModalManagerInterface } from '@internetarchive/modal-manager';
|
|
3
|
+
import type { AnalyticsManagerInterface } from '@internetarchive/analytics-manager';
|
|
4
|
+
export declare class ExpandedDatePicker extends LitElement {
|
|
5
|
+
minDate?: string;
|
|
6
|
+
maxDate?: string;
|
|
7
|
+
minSelectedDate?: string;
|
|
8
|
+
maxSelectedDate?: string;
|
|
9
|
+
buckets?: number[];
|
|
10
|
+
modalManager?: ModalManagerInterface;
|
|
11
|
+
analyticsHandler?: AnalyticsManagerInterface;
|
|
12
|
+
render(): TemplateResult;
|
|
13
|
+
connectedCallback(): void;
|
|
14
|
+
disconnectedCallback(): void;
|
|
15
|
+
/**
|
|
16
|
+
* Add an event listener to close the date picker modal when the Esc key is pressed
|
|
17
|
+
*/
|
|
18
|
+
private setupEscapeListener;
|
|
19
|
+
/**
|
|
20
|
+
* Remove the Esc key listener that was previously added
|
|
21
|
+
*/
|
|
22
|
+
private removeEscapeListener;
|
|
23
|
+
/**
|
|
24
|
+
* Closes the modal dialog if the given event is pressing the Esc key.
|
|
25
|
+
* Arrow function to ensure `this` remains bound to the current component.
|
|
26
|
+
*/
|
|
27
|
+
private boundEscapeListener;
|
|
28
|
+
/**
|
|
29
|
+
* When the histogram is updated, keep track of the newly selected date range.
|
|
30
|
+
* We don't commit to the new range until the apply button is clicked.
|
|
31
|
+
*/
|
|
32
|
+
private histogramDateRangeUpdated;
|
|
33
|
+
/**
|
|
34
|
+
* When the Apply button is clicked, emit the current date range and close the modal.
|
|
35
|
+
*/
|
|
36
|
+
private applyBtnClicked;
|
|
37
|
+
/**
|
|
38
|
+
* Closes the modal associated with this component (if it exists) and dispatches a
|
|
39
|
+
* modalClosed event.
|
|
40
|
+
*/
|
|
41
|
+
private closeModal;
|
|
42
|
+
static get styles(): CSSResultGroup;
|
|
43
|
+
}
|
|
@@ -1,22 +1,22 @@
|
|
|
1
|
-
import { __decorate } from "tslib";
|
|
2
|
-
import { css, html, LitElement } from 'lit';
|
|
3
|
-
import { customElement, property } from 'lit/decorators.js';
|
|
4
|
-
import { analyticsActions, analyticsCategories, } from './utils/analytics-events';
|
|
5
|
-
let ExpandedDatePicker = class ExpandedDatePicker extends LitElement {
|
|
6
|
-
constructor() {
|
|
7
|
-
super(...arguments);
|
|
8
|
-
/**
|
|
9
|
-
* Closes the modal dialog if the given event is pressing the Esc key.
|
|
10
|
-
* Arrow function to ensure `this` remains bound to the current component.
|
|
11
|
-
*/
|
|
12
|
-
this.boundEscapeListener = (e) => {
|
|
13
|
-
if (e.key === 'Escape') {
|
|
14
|
-
this.closeModal();
|
|
15
|
-
}
|
|
16
|
-
};
|
|
17
|
-
}
|
|
18
|
-
render() {
|
|
19
|
-
var _a, _b;
|
|
1
|
+
import { __decorate } from "tslib";
|
|
2
|
+
import { css, html, LitElement } from 'lit';
|
|
3
|
+
import { customElement, property } from 'lit/decorators.js';
|
|
4
|
+
import { analyticsActions, analyticsCategories, } from './utils/analytics-events';
|
|
5
|
+
let ExpandedDatePicker = class ExpandedDatePicker extends LitElement {
|
|
6
|
+
constructor() {
|
|
7
|
+
super(...arguments);
|
|
8
|
+
/**
|
|
9
|
+
* Closes the modal dialog if the given event is pressing the Esc key.
|
|
10
|
+
* Arrow function to ensure `this` remains bound to the current component.
|
|
11
|
+
*/
|
|
12
|
+
this.boundEscapeListener = (e) => {
|
|
13
|
+
if (e.key === 'Escape') {
|
|
14
|
+
this.closeModal();
|
|
15
|
+
}
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
render() {
|
|
19
|
+
var _a, _b;
|
|
20
20
|
return html `
|
|
21
21
|
<div id="container">
|
|
22
22
|
<histogram-date-range
|
|
@@ -42,68 +42,68 @@ let ExpandedDatePicker = class ExpandedDatePicker extends LitElement {
|
|
|
42
42
|
</button>
|
|
43
43
|
</histogram-date-range>
|
|
44
44
|
</div>
|
|
45
|
-
`;
|
|
46
|
-
}
|
|
47
|
-
connectedCallback() {
|
|
48
|
-
var _a;
|
|
49
|
-
(_a = super.connectedCallback) === null || _a === void 0 ? void 0 : _a.call(this);
|
|
50
|
-
this.setupEscapeListener();
|
|
51
|
-
}
|
|
52
|
-
disconnectedCallback() {
|
|
53
|
-
var _a;
|
|
54
|
-
(_a = super.disconnectedCallback) === null || _a === void 0 ? void 0 : _a.call(this);
|
|
55
|
-
this.removeEscapeListener();
|
|
56
|
-
}
|
|
57
|
-
/**
|
|
58
|
-
* Add an event listener to close the date picker modal when the Esc key is pressed
|
|
59
|
-
*/
|
|
60
|
-
setupEscapeListener() {
|
|
61
|
-
document.addEventListener('keydown', this.boundEscapeListener);
|
|
62
|
-
}
|
|
63
|
-
/**
|
|
64
|
-
* Remove the Esc key listener that was previously added
|
|
65
|
-
*/
|
|
66
|
-
removeEscapeListener() {
|
|
67
|
-
document.removeEventListener('keydown', this.boundEscapeListener);
|
|
68
|
-
}
|
|
69
|
-
/**
|
|
70
|
-
* When the histogram is updated, keep track of the newly selected date range.
|
|
71
|
-
* We don't commit to the new range until the apply button is clicked.
|
|
72
|
-
*/
|
|
73
|
-
histogramDateRangeUpdated(e) {
|
|
74
|
-
this.minSelectedDate = e.detail.minDate;
|
|
75
|
-
this.maxSelectedDate = e.detail.maxDate;
|
|
76
|
-
}
|
|
77
|
-
/**
|
|
78
|
-
* When the Apply button is clicked, emit the current date range and close the modal.
|
|
79
|
-
*/
|
|
80
|
-
applyBtnClicked() {
|
|
81
|
-
var _a;
|
|
82
|
-
const event = new CustomEvent('histogramDateRangeApplied', {
|
|
83
|
-
detail: {
|
|
84
|
-
minDate: this.minSelectedDate,
|
|
85
|
-
maxDate: this.maxSelectedDate,
|
|
86
|
-
},
|
|
87
|
-
});
|
|
88
|
-
this.dispatchEvent(event);
|
|
89
|
-
this.closeModal();
|
|
90
|
-
(_a = this.analyticsHandler) === null || _a === void 0 ? void 0 : _a.sendEvent({
|
|
91
|
-
category: analyticsCategories.default,
|
|
92
|
-
action: analyticsActions.histogramChangedFromModal,
|
|
93
|
-
label: window.location.href,
|
|
94
|
-
});
|
|
95
|
-
}
|
|
96
|
-
/**
|
|
97
|
-
* Closes the modal associated with this component (if it exists) and dispatches a
|
|
98
|
-
* modalClosed event.
|
|
99
|
-
*/
|
|
100
|
-
closeModal() {
|
|
101
|
-
if (this.modalManager) {
|
|
102
|
-
this.modalManager.closeModal();
|
|
103
|
-
this.dispatchEvent(new CustomEvent('modalClosed'));
|
|
104
|
-
}
|
|
105
|
-
}
|
|
106
|
-
static get styles() {
|
|
45
|
+
`;
|
|
46
|
+
}
|
|
47
|
+
connectedCallback() {
|
|
48
|
+
var _a;
|
|
49
|
+
(_a = super.connectedCallback) === null || _a === void 0 ? void 0 : _a.call(this);
|
|
50
|
+
this.setupEscapeListener();
|
|
51
|
+
}
|
|
52
|
+
disconnectedCallback() {
|
|
53
|
+
var _a;
|
|
54
|
+
(_a = super.disconnectedCallback) === null || _a === void 0 ? void 0 : _a.call(this);
|
|
55
|
+
this.removeEscapeListener();
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Add an event listener to close the date picker modal when the Esc key is pressed
|
|
59
|
+
*/
|
|
60
|
+
setupEscapeListener() {
|
|
61
|
+
document.addEventListener('keydown', this.boundEscapeListener);
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Remove the Esc key listener that was previously added
|
|
65
|
+
*/
|
|
66
|
+
removeEscapeListener() {
|
|
67
|
+
document.removeEventListener('keydown', this.boundEscapeListener);
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* When the histogram is updated, keep track of the newly selected date range.
|
|
71
|
+
* We don't commit to the new range until the apply button is clicked.
|
|
72
|
+
*/
|
|
73
|
+
histogramDateRangeUpdated(e) {
|
|
74
|
+
this.minSelectedDate = e.detail.minDate;
|
|
75
|
+
this.maxSelectedDate = e.detail.maxDate;
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* When the Apply button is clicked, emit the current date range and close the modal.
|
|
79
|
+
*/
|
|
80
|
+
applyBtnClicked() {
|
|
81
|
+
var _a;
|
|
82
|
+
const event = new CustomEvent('histogramDateRangeApplied', {
|
|
83
|
+
detail: {
|
|
84
|
+
minDate: this.minSelectedDate,
|
|
85
|
+
maxDate: this.maxSelectedDate,
|
|
86
|
+
},
|
|
87
|
+
});
|
|
88
|
+
this.dispatchEvent(event);
|
|
89
|
+
this.closeModal();
|
|
90
|
+
(_a = this.analyticsHandler) === null || _a === void 0 ? void 0 : _a.sendEvent({
|
|
91
|
+
category: analyticsCategories.default,
|
|
92
|
+
action: analyticsActions.histogramChangedFromModal,
|
|
93
|
+
label: window.location.href,
|
|
94
|
+
});
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* Closes the modal associated with this component (if it exists) and dispatches a
|
|
98
|
+
* modalClosed event.
|
|
99
|
+
*/
|
|
100
|
+
closeModal() {
|
|
101
|
+
if (this.modalManager) {
|
|
102
|
+
this.modalManager.closeModal();
|
|
103
|
+
this.dispatchEvent(new CustomEvent('modalClosed'));
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
static get styles() {
|
|
107
107
|
return css `
|
|
108
108
|
#container {
|
|
109
109
|
display: flex;
|
|
@@ -126,32 +126,32 @@ let ExpandedDatePicker = class ExpandedDatePicker extends LitElement {
|
|
|
126
126
|
color: white;
|
|
127
127
|
cursor: pointer;
|
|
128
128
|
}
|
|
129
|
-
`;
|
|
130
|
-
}
|
|
131
|
-
};
|
|
132
|
-
__decorate([
|
|
133
|
-
property({ type: String })
|
|
134
|
-
], ExpandedDatePicker.prototype, "minDate", void 0);
|
|
135
|
-
__decorate([
|
|
136
|
-
property({ type: String })
|
|
137
|
-
], ExpandedDatePicker.prototype, "maxDate", void 0);
|
|
138
|
-
__decorate([
|
|
139
|
-
property({ type: String })
|
|
140
|
-
], ExpandedDatePicker.prototype, "minSelectedDate", void 0);
|
|
141
|
-
__decorate([
|
|
142
|
-
property({ type: String })
|
|
143
|
-
], ExpandedDatePicker.prototype, "maxSelectedDate", void 0);
|
|
144
|
-
__decorate([
|
|
145
|
-
property({ type: Array })
|
|
146
|
-
], ExpandedDatePicker.prototype, "buckets", void 0);
|
|
147
|
-
__decorate([
|
|
148
|
-
property({ type: Object, attribute: false })
|
|
149
|
-
], ExpandedDatePicker.prototype, "modalManager", void 0);
|
|
150
|
-
__decorate([
|
|
151
|
-
property({ type: Object, attribute: false })
|
|
152
|
-
], ExpandedDatePicker.prototype, "analyticsHandler", void 0);
|
|
153
|
-
ExpandedDatePicker = __decorate([
|
|
154
|
-
customElement('expanded-date-picker')
|
|
155
|
-
], ExpandedDatePicker);
|
|
156
|
-
export { ExpandedDatePicker };
|
|
129
|
+
`;
|
|
130
|
+
}
|
|
131
|
+
};
|
|
132
|
+
__decorate([
|
|
133
|
+
property({ type: String })
|
|
134
|
+
], ExpandedDatePicker.prototype, "minDate", void 0);
|
|
135
|
+
__decorate([
|
|
136
|
+
property({ type: String })
|
|
137
|
+
], ExpandedDatePicker.prototype, "maxDate", void 0);
|
|
138
|
+
__decorate([
|
|
139
|
+
property({ type: String })
|
|
140
|
+
], ExpandedDatePicker.prototype, "minSelectedDate", void 0);
|
|
141
|
+
__decorate([
|
|
142
|
+
property({ type: String })
|
|
143
|
+
], ExpandedDatePicker.prototype, "maxSelectedDate", void 0);
|
|
144
|
+
__decorate([
|
|
145
|
+
property({ type: Array })
|
|
146
|
+
], ExpandedDatePicker.prototype, "buckets", void 0);
|
|
147
|
+
__decorate([
|
|
148
|
+
property({ type: Object, attribute: false })
|
|
149
|
+
], ExpandedDatePicker.prototype, "modalManager", void 0);
|
|
150
|
+
__decorate([
|
|
151
|
+
property({ type: Object, attribute: false })
|
|
152
|
+
], ExpandedDatePicker.prototype, "analyticsHandler", void 0);
|
|
153
|
+
ExpandedDatePicker = __decorate([
|
|
154
|
+
customElement('expanded-date-picker')
|
|
155
|
+
], ExpandedDatePicker);
|
|
156
|
+
export { ExpandedDatePicker };
|
|
157
157
|
//# sourceMappingURL=expanded-date-picker.js.map
|
|
@@ -1,37 +1,37 @@
|
|
|
1
|
-
export interface LanguageCodeHandlerInterface {
|
|
2
|
-
/**
|
|
3
|
-
* This takes a list of codes in the format `en-us|en|en-gb` and
|
|
4
|
-
* returns the first language code in the list.
|
|
5
|
-
*
|
|
6
|
-
* The codes in the string should always represent the same language name.
|
|
7
|
-
* eg `en-us`, `en-gb`, and `en` should always be "English"
|
|
8
|
-
*
|
|
9
|
-
* @param languageCodes
|
|
10
|
-
*/
|
|
11
|
-
getLanguageNameFromCodeString(languageCodes: string): string;
|
|
12
|
-
/**
|
|
13
|
-
* This creates a serialized string of language codes for the given language.
|
|
14
|
-
*
|
|
15
|
-
* eg. `English` becomes `en-us|en|en-gb|.....`
|
|
16
|
-
*
|
|
17
|
-
* @param languageName
|
|
18
|
-
*/
|
|
19
|
-
getCodeStringFromLanguageName(languageName: string): string;
|
|
20
|
-
/**
|
|
21
|
-
* Get an array of langauge codes from a serialized string.
|
|
22
|
-
*
|
|
23
|
-
* eg. `en-us|en|en-gb` becomes `['en-us', 'en', 'en-gb']`
|
|
24
|
-
*
|
|
25
|
-
* @param languageCodes
|
|
26
|
-
*/
|
|
27
|
-
getCodeArrayFromCodeString(languageCodes: string): string[];
|
|
28
|
-
}
|
|
29
|
-
export declare class LanguageCodeHandler implements LanguageCodeHandlerInterface {
|
|
30
|
-
private delimeter;
|
|
31
|
-
/** @inheritdoc */
|
|
32
|
-
getLanguageNameFromCodeString(languageCodes: string): string;
|
|
33
|
-
/** @inheritdoc */
|
|
34
|
-
getCodeStringFromLanguageName(languageName: string): string;
|
|
35
|
-
/** @inheritdoc */
|
|
36
|
-
getCodeArrayFromCodeString(languageCodes: string): string[];
|
|
37
|
-
}
|
|
1
|
+
export interface LanguageCodeHandlerInterface {
|
|
2
|
+
/**
|
|
3
|
+
* This takes a list of codes in the format `en-us|en|en-gb` and
|
|
4
|
+
* returns the first language code in the list.
|
|
5
|
+
*
|
|
6
|
+
* The codes in the string should always represent the same language name.
|
|
7
|
+
* eg `en-us`, `en-gb`, and `en` should always be "English"
|
|
8
|
+
*
|
|
9
|
+
* @param languageCodes
|
|
10
|
+
*/
|
|
11
|
+
getLanguageNameFromCodeString(languageCodes: string): string;
|
|
12
|
+
/**
|
|
13
|
+
* This creates a serialized string of language codes for the given language.
|
|
14
|
+
*
|
|
15
|
+
* eg. `English` becomes `en-us|en|en-gb|.....`
|
|
16
|
+
*
|
|
17
|
+
* @param languageName
|
|
18
|
+
*/
|
|
19
|
+
getCodeStringFromLanguageName(languageName: string): string;
|
|
20
|
+
/**
|
|
21
|
+
* Get an array of langauge codes from a serialized string.
|
|
22
|
+
*
|
|
23
|
+
* eg. `en-us|en|en-gb` becomes `['en-us', 'en', 'en-gb']`
|
|
24
|
+
*
|
|
25
|
+
* @param languageCodes
|
|
26
|
+
*/
|
|
27
|
+
getCodeArrayFromCodeString(languageCodes: string): string[];
|
|
28
|
+
}
|
|
29
|
+
export declare class LanguageCodeHandler implements LanguageCodeHandlerInterface {
|
|
30
|
+
private delimeter;
|
|
31
|
+
/** @inheritdoc */
|
|
32
|
+
getLanguageNameFromCodeString(languageCodes: string): string;
|
|
33
|
+
/** @inheritdoc */
|
|
34
|
+
getCodeStringFromLanguageName(languageName: string): string;
|
|
35
|
+
/** @inheritdoc */
|
|
36
|
+
getCodeArrayFromCodeString(languageCodes: string): string[];
|
|
37
|
+
}
|