@internetarchive/collection-browser 1.14.10-alpha.3 → 1.14.10-alpha1
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 +9 -9
- package/dist/index.js +9 -9
- package/dist/src/app-root.d.ts +79 -72
- package/dist/src/app-root.js +564 -432
- package/dist/src/app-root.js.map +1 -1
- 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/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 +533 -533
- package/dist/src/collection-browser.js +1897 -1891
- package/dist/src/collection-browser.js.map +1 -1
- package/dist/src/collection-facets/facet-row.d.ts +30 -0
- package/dist/src/collection-facets/facet-row.js +245 -0
- package/dist/src/collection-facets/facet-row.js.map +1 -0
- 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 +17 -20
- package/dist/src/collection-facets/facets-template.js +122 -264
- package/dist/src/collection-facets/facets-template.js.map +1 -1
- package/dist/src/collection-facets/more-facets-content.d.ts +77 -77
- package/dist/src/collection-facets/more-facets-content.js +359 -359
- 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 +104 -104
- package/dist/src/collection-facets.js +506 -506
- package/dist/src/empty-placeholder.d.ts +23 -23
- package/dist/src/empty-placeholder.js +74 -74
- 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 +26 -26
- package/dist/src/manage/manage-bar.js +53 -53
- 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 +180 -164
- package/dist/src/models.js +269 -269
- 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 +355 -355
- 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 +208 -208
- package/dist/src/sort-filter-bar/sort-filter-bar.js +638 -637
- package/dist/src/sort-filter-bar/sort-filter-bar.js.map +1 -1
- 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 +27 -27
- package/dist/src/tiles/grid/item-tile.js +134 -134
- 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 +48 -48
- 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 +15 -15
- package/dist/src/tiles/hover/tile-hover-pane.js +38 -38
- 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 +36 -36
- package/dist/src/tiles/item-image.js +127 -127
- 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 +46 -46
- package/dist/src/tiles/list/tile-list.js +302 -302
- 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/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 +231 -231
- package/dist/src/tiles/tile-display-value-provider.d.ts +43 -43
- package/dist/src/tiles/tile-display-value-provider.js +80 -80
- package/dist/src/utils/analytics-events.d.ts +25 -25
- package/dist/src/utils/analytics-events.js +27 -27
- package/dist/src/utils/array-equals.d.ts +4 -4
- package/dist/src/utils/array-equals.js +10 -10
- 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/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 +1130 -1098
- package/dist/test/collection-browser.test.js.map +1 -1
- package/dist/test/collection-facets/facet-row.test.d.ts +1 -0
- package/dist/test/collection-facets/facet-row.test.js +235 -0
- package/dist/test/collection-facets/facet-row.test.js.map +1 -0
- package/dist/test/collection-facets/facets-template.test.d.ts +1 -1
- package/dist/test/collection-facets/facets-template.test.js +110 -141
- package/dist/test/collection-facets/facets-template.test.js.map +1 -1
- package/dist/test/collection-facets/more-facets-content.test.d.ts +1 -1
- package/dist/test/collection-facets/more-facets-content.test.js +133 -133
- 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 +651 -682
- package/dist/test/collection-facets.test.js.map +1 -1
- 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 +86 -86
- package/dist/test/manage/manage-bar.test.d.ts +1 -1
- package/dist/test/manage/manage-bar.test.js +72 -72
- 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-collection-name-cache.d.ts +9 -9
- package/dist/test/mocks/mock-collection-name-cache.js +17 -17
- package/dist/test/mocks/mock-search-responses.d.ts +21 -21
- package/dist/test/mocks/mock-search-responses.js +709 -709
- package/dist/test/mocks/mock-search-service.d.ts +15 -15
- package/dist/test/mocks/mock-search-service.js +50 -50
- package/dist/test/restoration-state-handler.test.d.ts +1 -1
- package/dist/test/restoration-state-handler.test.js +270 -270
- 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 +378 -378
- 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 +33 -33
- 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 +254 -254
- 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 +258 -258
- package/dist/test/tiles/hover/tile-hover-pane.test.d.ts +1 -1
- package/dist/test/tiles/hover/tile-hover-pane.test.js +13 -13
- 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 +242 -242
- package/dist/test/tiles/tile-dispatcher.test.d.ts +1 -1
- package/dist/test/tiles/tile-dispatcher.test.js +94 -94
- 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 +5 -5
- package/renovate.json +6 -6
- package/src/app-root.ts +230 -90
- package/src/collection-browser.ts +23 -18
- package/src/collection-facets/facet-row.ts +274 -0
- package/src/collection-facets/facets-template.ts +49 -196
- package/src/models.ts +18 -2
- package/src/sort-filter-bar/sort-filter-bar.ts +1 -0
- package/test/collection-browser.test.ts +36 -4
- package/test/collection-facets/facet-row.test.ts +328 -0
- package/test/collection-facets/facets-template.test.ts +72 -110
- package/test/collection-facets.test.ts +69 -101
- package/tsconfig.json +21 -21
- package/web-dev-server.config.mjs +30 -30
- package/web-test-runner.config.mjs +41 -41
- package/dist/src/selected-facets.d.ts +0 -67
- package/dist/src/selected-facets.js +0 -149
- package/dist/src/selected-facets.js.map +0 -1
- package/src/selected-facets.ts +0 -216
package/dist/src/app-root.js
CHANGED
|
@@ -1,93 +1,94 @@
|
|
|
1
|
-
import { __decorate } from "tslib";
|
|
2
|
-
/* eslint-disable no-console */
|
|
3
|
-
import { AnalyticsManager, } from '@internetarchive/analytics-manager';
|
|
4
|
-
import { SearchService, SearchType, StringField, } from '@internetarchive/search-service';
|
|
5
|
-
import { LocalCache } from '@internetarchive/local-cache';
|
|
6
|
-
import { html, css, LitElement } from 'lit';
|
|
7
|
-
import { customElement, property, query, state } from 'lit/decorators.js';
|
|
8
|
-
import { SharedResizeObserver } from '@internetarchive/shared-resize-observer';
|
|
9
|
-
import { CollectionNameCache } from '@internetarchive/collection-name-cache';
|
|
10
|
-
import '../src/collection-browser';
|
|
11
|
-
let AppRoot = class AppRoot extends LitElement {
|
|
12
|
-
constructor() {
|
|
13
|
-
super(...arguments);
|
|
14
|
-
this.searchService = this.initSearchServiceFromUrlParams();
|
|
15
|
-
this.resizeObserver = new SharedResizeObserver();
|
|
16
|
-
this.localCache = new LocalCache();
|
|
17
|
-
this.collectionNameCache = new CollectionNameCache({
|
|
18
|
-
searchService: this.searchService,
|
|
19
|
-
localCache: this.localCache,
|
|
20
|
-
});
|
|
21
|
-
this.
|
|
22
|
-
this.
|
|
23
|
-
this.
|
|
24
|
-
this.
|
|
25
|
-
this.
|
|
26
|
-
this.
|
|
27
|
-
this.
|
|
28
|
-
this.
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
this.
|
|
54
|
-
this.
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
this.
|
|
60
|
-
this.
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
this.
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
1
|
+
import { __decorate } from "tslib";
|
|
2
|
+
/* eslint-disable no-console */
|
|
3
|
+
import { AnalyticsManager, } from '@internetarchive/analytics-manager';
|
|
4
|
+
import { SearchService, SearchType, StringField, } from '@internetarchive/search-service';
|
|
5
|
+
import { LocalCache } from '@internetarchive/local-cache';
|
|
6
|
+
import { html, css, LitElement, nothing } from 'lit';
|
|
7
|
+
import { customElement, property, query, state } from 'lit/decorators.js';
|
|
8
|
+
import { SharedResizeObserver } from '@internetarchive/shared-resize-observer';
|
|
9
|
+
import { CollectionNameCache } from '@internetarchive/collection-name-cache';
|
|
10
|
+
import '../src/collection-browser';
|
|
11
|
+
let AppRoot = class AppRoot extends LitElement {
|
|
12
|
+
constructor() {
|
|
13
|
+
super(...arguments);
|
|
14
|
+
this.searchService = this.initSearchServiceFromUrlParams();
|
|
15
|
+
this.resizeObserver = new SharedResizeObserver();
|
|
16
|
+
this.localCache = new LocalCache();
|
|
17
|
+
this.collectionNameCache = new CollectionNameCache({
|
|
18
|
+
searchService: this.searchService,
|
|
19
|
+
localCache: this.localCache,
|
|
20
|
+
});
|
|
21
|
+
this.toggleSlots = false;
|
|
22
|
+
this.cellWidth = 18;
|
|
23
|
+
this.cellHeight = 29;
|
|
24
|
+
this.rowGap = 1.7;
|
|
25
|
+
this.colGap = 1.7;
|
|
26
|
+
this.loggedIn = false;
|
|
27
|
+
this.searchType = SearchType.METADATA;
|
|
28
|
+
this.analyticsManager = new AnalyticsManager();
|
|
29
|
+
this.analyticsHandler = {
|
|
30
|
+
sendPing: this.sendAnalytics.bind(this),
|
|
31
|
+
sendEvent: this.sendAnalytics.bind(this),
|
|
32
|
+
sendEventNoSampling: this.sendAnalytics.bind(this),
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
sendAnalytics(ae) {
|
|
36
|
+
var _a;
|
|
37
|
+
console.log('Analytics Received ----', ae);
|
|
38
|
+
this.latestAction = ae;
|
|
39
|
+
(_a = this.analyticsManager) === null || _a === void 0 ? void 0 : _a.sendEvent(ae);
|
|
40
|
+
}
|
|
41
|
+
initSearchServiceFromUrlParams() {
|
|
42
|
+
var _a, _b, _c;
|
|
43
|
+
const params = new URL(window.location.href).searchParams;
|
|
44
|
+
return new SearchService({
|
|
45
|
+
includeCredentials: false,
|
|
46
|
+
baseUrl: (_a = params.get('search_base_url')) !== null && _a !== void 0 ? _a : undefined,
|
|
47
|
+
servicePath: (_b = params.get('search_service_path')) !== null && _b !== void 0 ? _b : undefined,
|
|
48
|
+
debuggingEnabled: (_c = !!params.get('debugging')) !== null && _c !== void 0 ? _c : undefined,
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
searchPressed(e) {
|
|
52
|
+
e.preventDefault();
|
|
53
|
+
this.searchQuery = this.baseQueryField.value;
|
|
54
|
+
this.collectionBrowser.searchType = this.searchType;
|
|
55
|
+
this.goToCurrentPage();
|
|
56
|
+
}
|
|
57
|
+
collectionChanged(e) {
|
|
58
|
+
e.preventDefault();
|
|
59
|
+
this.withinCollection = this.baseCollectionField.value;
|
|
60
|
+
this.collectionBrowser.withinCollection = this.withinCollection;
|
|
61
|
+
this.goToCurrentPage();
|
|
62
|
+
}
|
|
63
|
+
goToCurrentPage() {
|
|
64
|
+
var _a;
|
|
65
|
+
const page = (_a = this.currentPage) !== null && _a !== void 0 ? _a : 1;
|
|
66
|
+
if (page > 1) {
|
|
67
|
+
this.collectionBrowser.goToPage(page);
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
changePagePressed(e) {
|
|
71
|
+
e.preventDefault();
|
|
72
|
+
this.currentPage = this.pageNumberInput.valueAsNumber;
|
|
73
|
+
this.collectionBrowser.goToPage(this.currentPage);
|
|
74
|
+
}
|
|
75
|
+
updated(changed) {
|
|
76
|
+
if (changed.has('currentPage') && this.currentPage) {
|
|
77
|
+
this.pageNumberInput.value = this.currentPage.toString();
|
|
78
|
+
}
|
|
79
|
+
if (changed.has('searchQuery')) {
|
|
80
|
+
this.queryUpdated();
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
queryUpdated() {
|
|
84
|
+
this.collectionBrowser.baseQuery = this.searchQuery;
|
|
85
|
+
}
|
|
86
|
+
get getClass() {
|
|
87
|
+
const searchParams = new URLSearchParams(window.location.search);
|
|
88
|
+
return searchParams.get('hide-dev-tools') ? 'hidden' : '';
|
|
89
|
+
}
|
|
90
|
+
render() {
|
|
91
|
+
var _a, _b;
|
|
91
92
|
return html `
|
|
92
93
|
<div class="dev-tool-container">
|
|
93
94
|
<div id="dev-tools" class=${this.getClass}>
|
|
@@ -147,21 +148,21 @@ let AppRoot = class AppRoot extends LitElement {
|
|
|
147
148
|
|
|
148
149
|
<div id="toggle-controls">
|
|
149
150
|
<button
|
|
150
|
-
@click=${() => {
|
|
151
|
-
var _a, _b;
|
|
152
|
-
const details = (_a = this.shadowRoot) === null || _a === void 0 ? void 0 : _a.getElementById('cell-size-control');
|
|
153
|
-
details === null || details === void 0 ? void 0 : details.classList.toggle('hidden');
|
|
154
|
-
const rowGapControls = (_b = this.shadowRoot) === null || _b === void 0 ? void 0 : _b.getElementById('cell-gap-control');
|
|
155
|
-
rowGapControls === null || rowGapControls === void 0 ? void 0 : rowGapControls.classList.toggle('hidden');
|
|
151
|
+
@click=${() => {
|
|
152
|
+
var _a, _b;
|
|
153
|
+
const details = (_a = this.shadowRoot) === null || _a === void 0 ? void 0 : _a.getElementById('cell-size-control');
|
|
154
|
+
details === null || details === void 0 ? void 0 : details.classList.toggle('hidden');
|
|
155
|
+
const rowGapControls = (_b = this.shadowRoot) === null || _b === void 0 ? void 0 : _b.getElementById('cell-gap-control');
|
|
156
|
+
rowGapControls === null || rowGapControls === void 0 ? void 0 : rowGapControls.classList.toggle('hidden');
|
|
156
157
|
}}
|
|
157
158
|
>
|
|
158
159
|
Toggle Cell Controls
|
|
159
160
|
</button>
|
|
160
161
|
<button
|
|
161
|
-
@click=${() => {
|
|
162
|
-
var _a;
|
|
163
|
-
const details = (_a = this.shadowRoot) === null || _a === void 0 ? void 0 : _a.getElementById('latest-event-details');
|
|
164
|
-
details === null || details === void 0 ? void 0 : details.classList.toggle('hidden');
|
|
162
|
+
@click=${() => {
|
|
163
|
+
var _a;
|
|
164
|
+
const details = (_a = this.shadowRoot) === null || _a === void 0 ? void 0 : _a.getElementById('latest-event-details');
|
|
165
|
+
details === null || details === void 0 ? void 0 : details.classList.toggle('hidden');
|
|
165
166
|
}}
|
|
166
167
|
>
|
|
167
168
|
Last Event Captured
|
|
@@ -175,91 +176,93 @@ let AppRoot = class AppRoot extends LitElement {
|
|
|
175
176
|
>
|
|
176
177
|
</div>
|
|
177
178
|
|
|
178
|
-
<
|
|
179
|
-
<
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
</div>
|
|
179
|
+
<fieldset class="cell-controls">
|
|
180
|
+
<legend>Cell Controls</legend>
|
|
181
|
+
<div>
|
|
182
|
+
<label for="cell-width-slider">Cell width:</label>
|
|
183
|
+
<input
|
|
184
|
+
type="range"
|
|
185
|
+
min="10"
|
|
186
|
+
max="100"
|
|
187
|
+
value="18"
|
|
188
|
+
step="0.1"
|
|
189
|
+
id="cell-width-slider"
|
|
190
|
+
@input=${this.widthChanged}
|
|
191
|
+
/>
|
|
192
|
+
<span>${this.cellWidth}rem</span>
|
|
193
|
+
</div>
|
|
194
|
+
<div>
|
|
195
|
+
<label for="cell-height-slider">Cell height:</label>
|
|
196
|
+
<input
|
|
197
|
+
type="range"
|
|
198
|
+
min="10"
|
|
199
|
+
max="100"
|
|
200
|
+
value="29"
|
|
201
|
+
step="0.1"
|
|
202
|
+
id="cell-height-slider"
|
|
203
|
+
@input=${this.heightChanged}
|
|
204
|
+
/>
|
|
205
|
+
<span>${this.cellHeight}rem</span>
|
|
206
206
|
</div>
|
|
207
|
-
<div
|
|
208
|
-
<
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
<span>${this.rowGap}rem</span>
|
|
220
|
-
</div>
|
|
221
|
-
<div>
|
|
222
|
-
<label for="cell-col-gap-slider">Col gap:</label>
|
|
223
|
-
<input
|
|
224
|
-
type="range"
|
|
225
|
-
min="0"
|
|
226
|
-
max="5"
|
|
227
|
-
value="1.7"
|
|
228
|
-
step="0.1"
|
|
229
|
-
id="cell-col-gap-slider"
|
|
230
|
-
@input=${this.colGapChanged}
|
|
231
|
-
/>
|
|
232
|
-
<span>${this.colGap}rem</span>
|
|
233
|
-
</div>
|
|
207
|
+
<div>
|
|
208
|
+
<label for="cell-row-gap-slider">Row gap:</label>
|
|
209
|
+
<input
|
|
210
|
+
type="range"
|
|
211
|
+
min="0"
|
|
212
|
+
max="5"
|
|
213
|
+
value="1.7"
|
|
214
|
+
step="0.1"
|
|
215
|
+
id="cell-row-gap-slider"
|
|
216
|
+
@input=${this.rowGapChanged}
|
|
217
|
+
/>
|
|
218
|
+
<span>${this.rowGap}rem</span>
|
|
234
219
|
</div>
|
|
235
|
-
|
|
236
|
-
|
|
220
|
+
<div>
|
|
221
|
+
<label for="cell-col-gap-slider">Col gap:</label>
|
|
222
|
+
<input
|
|
223
|
+
type="range"
|
|
224
|
+
min="0"
|
|
225
|
+
max="5"
|
|
226
|
+
value="1.7"
|
|
227
|
+
step="0.1"
|
|
228
|
+
id="cell-col-gap-slider"
|
|
229
|
+
@input=${this.colGapChanged}
|
|
230
|
+
/>
|
|
231
|
+
<span>${this.colGap}rem</span>
|
|
232
|
+
</div>
|
|
233
|
+
</fieldset>
|
|
234
|
+
|
|
235
|
+
<fieldset class="other-controls">
|
|
236
|
+
<legend>Other Controls</legend>
|
|
237
237
|
<div class="checkbox-control">
|
|
238
238
|
<input
|
|
239
239
|
type="checkbox"
|
|
240
|
-
id="
|
|
241
|
-
@click=${this.
|
|
240
|
+
id="simulate-login"
|
|
241
|
+
@click=${this.loginChanged}
|
|
242
242
|
/>
|
|
243
|
-
<label for="
|
|
243
|
+
<label for="simulate-login">Simulate login</label>
|
|
244
244
|
</div>
|
|
245
245
|
<div class="checkbox-control">
|
|
246
246
|
<input
|
|
247
247
|
type="checkbox"
|
|
248
|
-
id="
|
|
249
|
-
|
|
248
|
+
id="enable-date-picker"
|
|
249
|
+
checked
|
|
250
|
+
@click=${this.datePickerChanged}
|
|
250
251
|
/>
|
|
251
|
-
<label for="
|
|
252
|
-
Show facet group outlines
|
|
253
|
-
</label>
|
|
252
|
+
<label for="enable-date-picker">Enable date picker</label>
|
|
254
253
|
</div>
|
|
255
254
|
<div class="checkbox-control">
|
|
256
255
|
<input
|
|
257
256
|
type="checkbox"
|
|
258
|
-
id="
|
|
259
|
-
@click=${this.
|
|
257
|
+
id="enable-management"
|
|
258
|
+
@click=${this.manageModeCheckboxChanged}
|
|
260
259
|
/>
|
|
261
|
-
<label for="
|
|
260
|
+
<label for="enable-management">Enable manage mode</label>
|
|
262
261
|
</div>
|
|
262
|
+
</fieldset>
|
|
263
|
+
|
|
264
|
+
<fieldset class="cb-visual-appearance">
|
|
265
|
+
<legend>CB Visual Appearance</legend>
|
|
263
266
|
<div class="checkbox-control">
|
|
264
267
|
<input
|
|
265
268
|
type="checkbox"
|
|
@@ -271,37 +274,62 @@ let AppRoot = class AppRoot extends LitElement {
|
|
|
271
274
|
<div class="checkbox-control">
|
|
272
275
|
<input
|
|
273
276
|
type="checkbox"
|
|
274
|
-
id="
|
|
275
|
-
|
|
276
|
-
@click=${this.datePickerChanged}
|
|
277
|
+
id="show-facet-group-outline-check"
|
|
278
|
+
@click=${this.toggleFacetGroupOutline}
|
|
277
279
|
/>
|
|
278
|
-
<label for="
|
|
280
|
+
<label for="show-facet-group-outline-check">
|
|
281
|
+
Show facet group outlines
|
|
282
|
+
</label>
|
|
279
283
|
</div>
|
|
280
284
|
<div class="checkbox-control">
|
|
281
285
|
<input
|
|
282
286
|
type="checkbox"
|
|
283
|
-
id="
|
|
284
|
-
@click=${this.
|
|
287
|
+
id="show-outline-check"
|
|
288
|
+
@click=${this.outlineChanged}
|
|
285
289
|
/>
|
|
286
|
-
<label for="
|
|
290
|
+
<label for="show-outline-check">Show cell outlines</label>
|
|
287
291
|
</div>
|
|
292
|
+
</fieldset>
|
|
293
|
+
|
|
294
|
+
<fieldset class="user-profile-controls">
|
|
295
|
+
<legend>User Profile Controls</legend>
|
|
288
296
|
<div class="checkbox-control">
|
|
289
297
|
<input
|
|
290
298
|
type="checkbox"
|
|
291
|
-
id="enable-facet-top-
|
|
292
|
-
@click=${this.
|
|
299
|
+
id="enable-facet-top-slot"
|
|
300
|
+
@click=${this.facetTopSlotCheckboxChanged}
|
|
293
301
|
/>
|
|
294
|
-
<label for="enable-facet-top-
|
|
302
|
+
<label for="enable-facet-top-slot">Show facet top slot</label>
|
|
295
303
|
</div>
|
|
296
304
|
<div class="checkbox-control">
|
|
297
305
|
<input
|
|
298
306
|
type="checkbox"
|
|
299
|
-
id="enable-cb-top-
|
|
300
|
-
@click=${this.
|
|
307
|
+
id="enable-cb-top-slot"
|
|
308
|
+
@click=${this.cbTopSlotCheckboxChanged}
|
|
301
309
|
/>
|
|
302
|
-
<label for="enable-cb-top-
|
|
310
|
+
<label for="enable-cb-top-slot">Show CB top slot</label>
|
|
303
311
|
</div>
|
|
304
|
-
|
|
312
|
+
<div class="checkbox-control">
|
|
313
|
+
<input
|
|
314
|
+
type="checkbox"
|
|
315
|
+
id="enable-sortbar-left-slot"
|
|
316
|
+
@click=${this.sortBarSlotCheckboxChanged}
|
|
317
|
+
/>
|
|
318
|
+
<label for="enable-sortbar-left-slot"
|
|
319
|
+
>Show sortbar left slot</label
|
|
320
|
+
>
|
|
321
|
+
</div>
|
|
322
|
+
<div class="checkbox-control">
|
|
323
|
+
<input
|
|
324
|
+
type="checkbox"
|
|
325
|
+
id="enable-result-last-tile-slot"
|
|
326
|
+
@click=${this.resultLastTileSlotCheckboxChanged}
|
|
327
|
+
/>
|
|
328
|
+
<label for="enable-result-last-tile-slot"
|
|
329
|
+
>Show result last tile slot</label
|
|
330
|
+
>
|
|
331
|
+
</div>
|
|
332
|
+
</fieldset>
|
|
305
333
|
</div>
|
|
306
334
|
<button id="toggle-dev-tools-btn" @click=${this.toggleDevTools}>
|
|
307
335
|
Toggle Search Controls
|
|
@@ -323,206 +351,249 @@ let AppRoot = class AppRoot extends LitElement {
|
|
|
323
351
|
@searchTypeChanged=${this.searchTypeChanged}
|
|
324
352
|
@manageModeChanged=${this.manageModeChanged}
|
|
325
353
|
>
|
|
354
|
+
${this.toggleSlots
|
|
355
|
+
? html `<div slot="sortbar-left-slot">Sort Slot</div>`
|
|
356
|
+
: nothing}
|
|
357
|
+
${this.toggleSlots
|
|
358
|
+
? html `<div slot="facet-top-slot">Facet Slot</div>`
|
|
359
|
+
: nothing}
|
|
326
360
|
</collection-browser>
|
|
327
361
|
</div>
|
|
328
362
|
<modal-manager></modal-manager>
|
|
329
|
-
`;
|
|
330
|
-
}
|
|
331
|
-
baseQueryChanged(e) {
|
|
332
|
-
this.searchQuery = e.detail.baseQuery;
|
|
333
|
-
}
|
|
334
|
-
/** Handler for search type changes coming from collection browser */
|
|
335
|
-
searchTypeChanged(e) {
|
|
336
|
-
this.searchType = e.detail;
|
|
337
|
-
}
|
|
338
|
-
/** Handler for user input selecting a search type */
|
|
339
|
-
searchTypeSelected(e) {
|
|
340
|
-
const target = e.target;
|
|
341
|
-
this.searchType =
|
|
342
|
-
target.value === 'fulltext' ? SearchType.FULLTEXT : SearchType.METADATA;
|
|
343
|
-
}
|
|
344
|
-
loginChanged(e) {
|
|
345
|
-
const target = e.target;
|
|
346
|
-
if (target.checked) {
|
|
347
|
-
this.loggedIn = true;
|
|
348
|
-
}
|
|
349
|
-
else {
|
|
350
|
-
this.loggedIn = false;
|
|
351
|
-
}
|
|
352
|
-
}
|
|
353
|
-
outlineChanged(e) {
|
|
354
|
-
const target = e.target;
|
|
355
|
-
if (target.checked) {
|
|
356
|
-
this.collectionBrowser.style.setProperty('--infiniteScrollerCellOutline', '1px solid #33D1FF');
|
|
357
|
-
}
|
|
358
|
-
else {
|
|
359
|
-
this.collectionBrowser.style.removeProperty('--infiniteScrollerCellOutline');
|
|
360
|
-
}
|
|
361
|
-
}
|
|
362
|
-
toggleDevTools() {
|
|
363
|
-
var _a, _b;
|
|
364
|
-
const pageUrl = new URL(window.location.href);
|
|
365
|
-
const { searchParams } = pageUrl;
|
|
366
|
-
if (searchParams.get('hide-dev-tools')) {
|
|
367
|
-
searchParams.delete('hide-dev-tools');
|
|
368
|
-
}
|
|
369
|
-
else {
|
|
370
|
-
searchParams.set('hide-dev-tools', 'true');
|
|
371
|
-
}
|
|
372
|
-
(_b = (_a = this.shadowRoot) === null || _a === void 0 ? void 0 : _a.getElementById('dev-tools')) === null || _b === void 0 ? void 0 : _b.classList.toggle('hidden');
|
|
373
|
-
if (window.history.replaceState) {
|
|
374
|
-
window.history.replaceState({
|
|
375
|
-
path: pageUrl.toString(),
|
|
376
|
-
}, '', pageUrl.toString());
|
|
377
|
-
}
|
|
378
|
-
}
|
|
379
|
-
toggleFacetGroupOutline(e) {
|
|
380
|
-
const target = e.target;
|
|
381
|
-
if (target.checked) {
|
|
382
|
-
this.collectionBrowser.classList.add('showFacetGroupOutlines');
|
|
383
|
-
this.modalManager.classList.add('showFacetGroupOutlines');
|
|
384
|
-
}
|
|
385
|
-
else {
|
|
386
|
-
this.collectionBrowser.classList.remove('showFacetGroupOutlines');
|
|
387
|
-
this.modalManager.classList.remove('showFacetGroupOutlines');
|
|
388
|
-
}
|
|
389
|
-
}
|
|
390
|
-
async snippetsChanged(e) {
|
|
391
|
-
const target = e.target;
|
|
392
|
-
if (target.checked) {
|
|
393
|
-
// Decorate the default search service with a wrapper that adds
|
|
394
|
-
// dummy snippets to any successful searches
|
|
395
|
-
this.searchService = {
|
|
396
|
-
async search(params, searchType) {
|
|
397
|
-
var _a;
|
|
398
|
-
const searchResponse = await SearchService.default.search(params, searchType);
|
|
399
|
-
(_a = searchResponse.success) === null || _a === void 0 ? void 0 : _a.response.results.forEach(result => {
|
|
400
|
-
Object.defineProperty(result, 'highlight', {
|
|
401
|
-
value: new StringField([
|
|
402
|
-
'this is a text {{{snippet}}} block with potentially',
|
|
403
|
-
'multiple {{{snippets}}} and such',
|
|
404
|
-
'but the {{{snippet}}} block may be quite long perhaps',
|
|
405
|
-
'depending on how many {{{snippet}}} matches there are',
|
|
406
|
-
'there may be multiple lines of {{{snippets}}} to show',
|
|
407
|
-
'but each {{{snippet}}} should be relatively short',
|
|
408
|
-
'and {{{snippets}}} are each a {{{snippet}}} of text',
|
|
409
|
-
'but every {{{snippet}}} might have multiple matches',
|
|
410
|
-
'the {{{snippets}}} should be separated and surrounded by ellipses',
|
|
411
|
-
]),
|
|
412
|
-
});
|
|
413
|
-
});
|
|
414
|
-
return searchResponse;
|
|
415
|
-
},
|
|
416
|
-
};
|
|
417
|
-
}
|
|
418
|
-
else {
|
|
419
|
-
// Restore the default seach service
|
|
420
|
-
this.searchService = SearchService.default;
|
|
421
|
-
}
|
|
422
|
-
// Re-perform the current search to show/hide the snippets immediately
|
|
423
|
-
this.reperformCurrentSearch();
|
|
424
|
-
}
|
|
425
|
-
async reperformCurrentSearch() {
|
|
426
|
-
const oldQuery = this.searchQuery;
|
|
427
|
-
this.searchQuery = ''; // Should just reset to the placeholder
|
|
428
|
-
await this.updateComplete;
|
|
429
|
-
// For unclear reasons, Safari refuses to re-apply the old query until the next tick, hence:
|
|
430
|
-
await new Promise(res => {
|
|
431
|
-
setTimeout(res, 0);
|
|
432
|
-
});
|
|
433
|
-
this.searchQuery = oldQuery; // Re-apply the original query
|
|
434
|
-
}
|
|
435
|
-
datePickerChanged(e) {
|
|
436
|
-
const target = e.target;
|
|
437
|
-
this.collectionBrowser.showHistogramDatePicker = target.checked;
|
|
438
|
-
// When disabling the date picker from the demo app, also clear any existing date range params
|
|
439
|
-
if (!this.collectionBrowser.showHistogramDatePicker) {
|
|
440
|
-
this.collectionBrowser.minSelectedDate = undefined;
|
|
441
|
-
this.collectionBrowser.maxSelectedDate = undefined;
|
|
442
|
-
}
|
|
443
|
-
}
|
|
444
|
-
/**
|
|
445
|
-
* Handler for when collection browser's manage mode changes.
|
|
446
|
-
* This lets us disable the checkbox in the dev panel when the user cancels out
|
|
447
|
-
* of manage mode from within collection browser.
|
|
448
|
-
*/
|
|
449
|
-
manageModeChanged(e) {
|
|
450
|
-
var _a;
|
|
451
|
-
const manageCheckbox = (_a = this.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('#enable-management');
|
|
452
|
-
if (manageCheckbox)
|
|
453
|
-
manageCheckbox.checked = e.detail;
|
|
454
|
-
}
|
|
455
|
-
/**
|
|
456
|
-
* Handler for when the dev panel's "Enable manage mode" checkbox is changed.
|
|
457
|
-
*/
|
|
458
|
-
manageModeCheckboxChanged(e) {
|
|
459
|
-
const target = e.target;
|
|
460
|
-
this.collectionBrowser.isManageView = target.checked;
|
|
461
|
-
}
|
|
462
|
-
/**
|
|
463
|
-
* Handler for when the dev panel's "Show facet top
|
|
464
|
-
*/
|
|
465
|
-
|
|
466
|
-
const target = e.target;
|
|
467
|
-
const p = document.createElement('p');
|
|
468
|
-
p.style.setProperty('border', '1px solid #000');
|
|
469
|
-
p.textContent = 'New stuff as a child.';
|
|
470
|
-
p.style.setProperty('height', '20rem');
|
|
471
|
-
p.style.backgroundColor = '#00000';
|
|
472
|
-
p.setAttribute('slot', 'facet-top-slot');
|
|
473
|
-
if (target.checked) {
|
|
474
|
-
this.collectionBrowser.appendChild(p);
|
|
475
|
-
}
|
|
476
|
-
else {
|
|
477
|
-
this.collectionBrowser.removeChild(this.collectionBrowser.lastElementChild);
|
|
478
|
-
}
|
|
479
|
-
}
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
const target = e.target;
|
|
485
|
-
const
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
if (target.checked) {
|
|
492
|
-
this.collectionBrowser.appendChild(
|
|
493
|
-
}
|
|
494
|
-
else {
|
|
495
|
-
this.collectionBrowser.removeChild(this.collectionBrowser.lastElementChild);
|
|
496
|
-
}
|
|
497
|
-
}
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
|
|
509
|
-
|
|
510
|
-
|
|
511
|
-
|
|
512
|
-
|
|
513
|
-
|
|
514
|
-
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
const
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
|
|
524
|
-
|
|
525
|
-
|
|
363
|
+
`;
|
|
364
|
+
}
|
|
365
|
+
baseQueryChanged(e) {
|
|
366
|
+
this.searchQuery = e.detail.baseQuery;
|
|
367
|
+
}
|
|
368
|
+
/** Handler for search type changes coming from collection browser */
|
|
369
|
+
searchTypeChanged(e) {
|
|
370
|
+
this.searchType = e.detail;
|
|
371
|
+
}
|
|
372
|
+
/** Handler for user input selecting a search type */
|
|
373
|
+
searchTypeSelected(e) {
|
|
374
|
+
const target = e.target;
|
|
375
|
+
this.searchType =
|
|
376
|
+
target.value === 'fulltext' ? SearchType.FULLTEXT : SearchType.METADATA;
|
|
377
|
+
}
|
|
378
|
+
loginChanged(e) {
|
|
379
|
+
const target = e.target;
|
|
380
|
+
if (target.checked) {
|
|
381
|
+
this.loggedIn = true;
|
|
382
|
+
}
|
|
383
|
+
else {
|
|
384
|
+
this.loggedIn = false;
|
|
385
|
+
}
|
|
386
|
+
}
|
|
387
|
+
outlineChanged(e) {
|
|
388
|
+
const target = e.target;
|
|
389
|
+
if (target.checked) {
|
|
390
|
+
this.collectionBrowser.style.setProperty('--infiniteScrollerCellOutline', '1px solid #33D1FF');
|
|
391
|
+
}
|
|
392
|
+
else {
|
|
393
|
+
this.collectionBrowser.style.removeProperty('--infiniteScrollerCellOutline');
|
|
394
|
+
}
|
|
395
|
+
}
|
|
396
|
+
toggleDevTools() {
|
|
397
|
+
var _a, _b;
|
|
398
|
+
const pageUrl = new URL(window.location.href);
|
|
399
|
+
const { searchParams } = pageUrl;
|
|
400
|
+
if (searchParams.get('hide-dev-tools')) {
|
|
401
|
+
searchParams.delete('hide-dev-tools');
|
|
402
|
+
}
|
|
403
|
+
else {
|
|
404
|
+
searchParams.set('hide-dev-tools', 'true');
|
|
405
|
+
}
|
|
406
|
+
(_b = (_a = this.shadowRoot) === null || _a === void 0 ? void 0 : _a.getElementById('dev-tools')) === null || _b === void 0 ? void 0 : _b.classList.toggle('hidden');
|
|
407
|
+
if (window.history.replaceState) {
|
|
408
|
+
window.history.replaceState({
|
|
409
|
+
path: pageUrl.toString(),
|
|
410
|
+
}, '', pageUrl.toString());
|
|
411
|
+
}
|
|
412
|
+
}
|
|
413
|
+
toggleFacetGroupOutline(e) {
|
|
414
|
+
const target = e.target;
|
|
415
|
+
if (target.checked) {
|
|
416
|
+
this.collectionBrowser.classList.add('showFacetGroupOutlines');
|
|
417
|
+
this.modalManager.classList.add('showFacetGroupOutlines');
|
|
418
|
+
}
|
|
419
|
+
else {
|
|
420
|
+
this.collectionBrowser.classList.remove('showFacetGroupOutlines');
|
|
421
|
+
this.modalManager.classList.remove('showFacetGroupOutlines');
|
|
422
|
+
}
|
|
423
|
+
}
|
|
424
|
+
async snippetsChanged(e) {
|
|
425
|
+
const target = e.target;
|
|
426
|
+
if (target.checked) {
|
|
427
|
+
// Decorate the default search service with a wrapper that adds
|
|
428
|
+
// dummy snippets to any successful searches
|
|
429
|
+
this.searchService = {
|
|
430
|
+
async search(params, searchType) {
|
|
431
|
+
var _a;
|
|
432
|
+
const searchResponse = await SearchService.default.search(params, searchType);
|
|
433
|
+
(_a = searchResponse.success) === null || _a === void 0 ? void 0 : _a.response.results.forEach(result => {
|
|
434
|
+
Object.defineProperty(result, 'highlight', {
|
|
435
|
+
value: new StringField([
|
|
436
|
+
'this is a text {{{snippet}}} block with potentially',
|
|
437
|
+
'multiple {{{snippets}}} and such',
|
|
438
|
+
'but the {{{snippet}}} block may be quite long perhaps',
|
|
439
|
+
'depending on how many {{{snippet}}} matches there are',
|
|
440
|
+
'there may be multiple lines of {{{snippets}}} to show',
|
|
441
|
+
'but each {{{snippet}}} should be relatively short',
|
|
442
|
+
'and {{{snippets}}} are each a {{{snippet}}} of text',
|
|
443
|
+
'but every {{{snippet}}} might have multiple matches',
|
|
444
|
+
'the {{{snippets}}} should be separated and surrounded by ellipses',
|
|
445
|
+
]),
|
|
446
|
+
});
|
|
447
|
+
});
|
|
448
|
+
return searchResponse;
|
|
449
|
+
},
|
|
450
|
+
};
|
|
451
|
+
}
|
|
452
|
+
else {
|
|
453
|
+
// Restore the default seach service
|
|
454
|
+
this.searchService = SearchService.default;
|
|
455
|
+
}
|
|
456
|
+
// Re-perform the current search to show/hide the snippets immediately
|
|
457
|
+
this.reperformCurrentSearch();
|
|
458
|
+
}
|
|
459
|
+
async reperformCurrentSearch() {
|
|
460
|
+
const oldQuery = this.searchQuery;
|
|
461
|
+
this.searchQuery = ''; // Should just reset to the placeholder
|
|
462
|
+
await this.updateComplete;
|
|
463
|
+
// For unclear reasons, Safari refuses to re-apply the old query until the next tick, hence:
|
|
464
|
+
await new Promise(res => {
|
|
465
|
+
setTimeout(res, 0);
|
|
466
|
+
});
|
|
467
|
+
this.searchQuery = oldQuery; // Re-apply the original query
|
|
468
|
+
}
|
|
469
|
+
datePickerChanged(e) {
|
|
470
|
+
const target = e.target;
|
|
471
|
+
this.collectionBrowser.showHistogramDatePicker = target.checked;
|
|
472
|
+
// When disabling the date picker from the demo app, also clear any existing date range params
|
|
473
|
+
if (!this.collectionBrowser.showHistogramDatePicker) {
|
|
474
|
+
this.collectionBrowser.minSelectedDate = undefined;
|
|
475
|
+
this.collectionBrowser.maxSelectedDate = undefined;
|
|
476
|
+
}
|
|
477
|
+
}
|
|
478
|
+
/**
|
|
479
|
+
* Handler for when collection browser's manage mode changes.
|
|
480
|
+
* This lets us disable the checkbox in the dev panel when the user cancels out
|
|
481
|
+
* of manage mode from within collection browser.
|
|
482
|
+
*/
|
|
483
|
+
manageModeChanged(e) {
|
|
484
|
+
var _a;
|
|
485
|
+
const manageCheckbox = (_a = this.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('#enable-management');
|
|
486
|
+
if (manageCheckbox)
|
|
487
|
+
manageCheckbox.checked = e.detail;
|
|
488
|
+
}
|
|
489
|
+
/**
|
|
490
|
+
* Handler for when the dev panel's "Enable manage mode" checkbox is changed.
|
|
491
|
+
*/
|
|
492
|
+
manageModeCheckboxChanged(e) {
|
|
493
|
+
const target = e.target;
|
|
494
|
+
this.collectionBrowser.isManageView = target.checked;
|
|
495
|
+
}
|
|
496
|
+
/**
|
|
497
|
+
* Handler for when the dev panel's "Show facet top slot" checkbox is changed.
|
|
498
|
+
*/
|
|
499
|
+
facetTopSlotCheckboxChanged(e) {
|
|
500
|
+
const target = e.target;
|
|
501
|
+
const p = document.createElement('p');
|
|
502
|
+
p.style.setProperty('border', '1px solid #000');
|
|
503
|
+
p.textContent = 'New stuff as a child.';
|
|
504
|
+
p.style.setProperty('height', '20rem');
|
|
505
|
+
p.style.backgroundColor = '#00000';
|
|
506
|
+
p.setAttribute('slot', 'facet-top-slot');
|
|
507
|
+
if (target.checked) {
|
|
508
|
+
this.collectionBrowser.appendChild(p);
|
|
509
|
+
}
|
|
510
|
+
else {
|
|
511
|
+
this.collectionBrowser.removeChild(this.collectionBrowser.lastElementChild);
|
|
512
|
+
}
|
|
513
|
+
}
|
|
514
|
+
toggleSlotOptions() {
|
|
515
|
+
this.toggleSlots = !this.toggleSlots;
|
|
516
|
+
}
|
|
517
|
+
resultLastTileSlotCheckboxChanged(e) {
|
|
518
|
+
const target = e.target;
|
|
519
|
+
const div = document.createElement('div');
|
|
520
|
+
const title = document.createElement('h3');
|
|
521
|
+
title.textContent = 'Upload';
|
|
522
|
+
div.setAttribute('slot', 'result-last-tile');
|
|
523
|
+
div.setAttribute('class', 'result-last-tile');
|
|
524
|
+
div.appendChild(title);
|
|
525
|
+
if (target.checked) {
|
|
526
|
+
this.collectionBrowser.appendChild(div);
|
|
527
|
+
}
|
|
528
|
+
else {
|
|
529
|
+
this.collectionBrowser.removeChild(this.collectionBrowser.lastElementChild);
|
|
530
|
+
}
|
|
531
|
+
}
|
|
532
|
+
/**
|
|
533
|
+
* Handler for when the dev panel's "Show cb top slot" checkbox is changed.
|
|
534
|
+
*/
|
|
535
|
+
cbTopSlotCheckboxChanged(e) {
|
|
536
|
+
const target = e.target;
|
|
537
|
+
const p = document.createElement('p');
|
|
538
|
+
p.style.setProperty('border', '1px solid #000');
|
|
539
|
+
p.textContent = 'My Favorite list header.';
|
|
540
|
+
p.style.setProperty('height', '10rem');
|
|
541
|
+
p.style.backgroundColor = '#00000';
|
|
542
|
+
p.setAttribute('slot', 'cb-top-slot');
|
|
543
|
+
if (target.checked) {
|
|
544
|
+
this.collectionBrowser.appendChild(p);
|
|
545
|
+
}
|
|
546
|
+
else {
|
|
547
|
+
this.collectionBrowser.removeChild(this.collectionBrowser.lastElementChild);
|
|
548
|
+
}
|
|
549
|
+
}
|
|
550
|
+
/**
|
|
551
|
+
* Handler for when the dev panel's "Show facet top slot" checkbox is changed.
|
|
552
|
+
*/
|
|
553
|
+
sortBarSlotCheckboxChanged(e) {
|
|
554
|
+
const target = e.target;
|
|
555
|
+
const div = document.createElement('div');
|
|
556
|
+
div.style.setProperty('border', '1px solid #000');
|
|
557
|
+
div.textContent = 'Btn';
|
|
558
|
+
div.style.setProperty('height', '3rem');
|
|
559
|
+
div.style.setProperty('width', '3rem');
|
|
560
|
+
div.style.backgroundColor = '#00000';
|
|
561
|
+
div.setAttribute('slot', 'sortbar-left-slot');
|
|
562
|
+
if (target.checked) {
|
|
563
|
+
this.collectionBrowser.appendChild(div);
|
|
564
|
+
}
|
|
565
|
+
else {
|
|
566
|
+
this.collectionBrowser.removeChild(this.collectionBrowser.lastElementChild);
|
|
567
|
+
}
|
|
568
|
+
}
|
|
569
|
+
rowGapChanged(e) {
|
|
570
|
+
const input = e.target;
|
|
571
|
+
this.rowGap = parseFloat(input.value);
|
|
572
|
+
this.collectionBrowser.style.setProperty('--collectionBrowserRowGap', `${input.value}rem`);
|
|
573
|
+
}
|
|
574
|
+
colGapChanged(e) {
|
|
575
|
+
const input = e.target;
|
|
576
|
+
this.colGap = parseFloat(input.value);
|
|
577
|
+
this.collectionBrowser.style.setProperty('--collectionBrowserColGap', `${input.value}rem`);
|
|
578
|
+
}
|
|
579
|
+
widthChanged(e) {
|
|
580
|
+
const input = e.target;
|
|
581
|
+
this.cellWidth = parseFloat(input.value);
|
|
582
|
+
this.collectionBrowser.style.setProperty('--collectionBrowserCellMinWidth', `${input.value}rem`);
|
|
583
|
+
}
|
|
584
|
+
heightChanged(e) {
|
|
585
|
+
const input = e.target;
|
|
586
|
+
this.cellHeight = parseFloat(input.value);
|
|
587
|
+
this.collectionBrowser.style.setProperty('--collectionBrowserCellMinHeight', `${input.value}rem`);
|
|
588
|
+
this.collectionBrowser.style.setProperty('--collectionBrowserCellMaxHeight', `${input.value}rem`);
|
|
589
|
+
}
|
|
590
|
+
visiblePageChanged(e) {
|
|
591
|
+
const { pageNumber } = e.detail;
|
|
592
|
+
if (pageNumber === this.currentPage)
|
|
593
|
+
return;
|
|
594
|
+
this.currentPage = pageNumber;
|
|
595
|
+
}
|
|
596
|
+
};
|
|
526
597
|
AppRoot.styles = css `
|
|
527
598
|
:host {
|
|
528
599
|
display: block;
|
|
@@ -603,7 +674,6 @@ AppRoot.styles = css `
|
|
|
603
674
|
padding: 0.5rem 1rem;
|
|
604
675
|
border: 1px solid black;
|
|
605
676
|
font-size: 1.4rem;
|
|
606
|
-
width: 75%;
|
|
607
677
|
background: #ffffffb3;
|
|
608
678
|
}
|
|
609
679
|
|
|
@@ -646,11 +716,17 @@ AppRoot.styles = css `
|
|
|
646
716
|
margin-right: 1rem;
|
|
647
717
|
}
|
|
648
718
|
|
|
649
|
-
|
|
719
|
+
.cell-controls {
|
|
650
720
|
display: flex;
|
|
651
721
|
flex-wrap: wrap;
|
|
652
722
|
}
|
|
653
|
-
|
|
723
|
+
.cell-controls div {
|
|
724
|
+
display: flex;
|
|
725
|
+
align-items: center;
|
|
726
|
+
}
|
|
727
|
+
.cell-controls input[type='range'] {
|
|
728
|
+
width: 120px;
|
|
729
|
+
}
|
|
654
730
|
#cell-controls label {
|
|
655
731
|
display: inline-block;
|
|
656
732
|
width: 10rem;
|
|
@@ -674,6 +750,9 @@ AppRoot.styles = css `
|
|
|
674
750
|
.checkbox-control {
|
|
675
751
|
flex-basis: 50%;
|
|
676
752
|
}
|
|
753
|
+
.checkbox-control label {
|
|
754
|
+
user-select: none;
|
|
755
|
+
}
|
|
677
756
|
|
|
678
757
|
#last-event {
|
|
679
758
|
background-color: aliceblue;
|
|
@@ -696,54 +775,107 @@ AppRoot.styles = css `
|
|
|
696
775
|
background-color: aliceblue;
|
|
697
776
|
font-size: 1.6rem;
|
|
698
777
|
}
|
|
699
|
-
|
|
700
|
-
|
|
701
|
-
|
|
702
|
-
|
|
703
|
-
|
|
704
|
-
|
|
705
|
-
|
|
706
|
-
|
|
707
|
-
|
|
708
|
-
|
|
709
|
-
|
|
710
|
-
|
|
711
|
-
|
|
712
|
-
|
|
713
|
-
|
|
714
|
-
|
|
715
|
-
|
|
716
|
-
|
|
717
|
-
|
|
718
|
-
|
|
719
|
-
|
|
720
|
-
|
|
721
|
-
|
|
722
|
-
|
|
723
|
-
|
|
724
|
-
|
|
725
|
-
|
|
726
|
-
|
|
727
|
-
|
|
728
|
-
|
|
729
|
-
|
|
730
|
-
|
|
731
|
-
|
|
732
|
-
|
|
733
|
-
|
|
734
|
-
|
|
735
|
-
|
|
736
|
-
|
|
737
|
-
|
|
738
|
-
|
|
739
|
-
|
|
740
|
-
|
|
741
|
-
|
|
742
|
-
|
|
743
|
-
|
|
744
|
-
|
|
745
|
-
|
|
746
|
-
|
|
747
|
-
|
|
748
|
-
|
|
778
|
+
|
|
779
|
+
// slots
|
|
780
|
+
div[slot='cb-top-slot'] {
|
|
781
|
+
height: 50px;
|
|
782
|
+
border: 1px solid red;
|
|
783
|
+
background: bisque;
|
|
784
|
+
}
|
|
785
|
+
div[slot='facet-top-slot'] {
|
|
786
|
+
border: 1px solid red;
|
|
787
|
+
width: 100%;
|
|
788
|
+
height: 150px;
|
|
789
|
+
background-color: darkseagreen;
|
|
790
|
+
}
|
|
791
|
+
div[slot='sort-slot-left'] {
|
|
792
|
+
height: 50px;
|
|
793
|
+
border: 1px solid red;
|
|
794
|
+
background: bisque;
|
|
795
|
+
}
|
|
796
|
+
|
|
797
|
+
/* user profile controls */
|
|
798
|
+
.user-profile-controls {
|
|
799
|
+
width: fit-content;
|
|
800
|
+
}
|
|
801
|
+
|
|
802
|
+
fieldset {
|
|
803
|
+
display: inline-block !important;
|
|
804
|
+
}
|
|
805
|
+
|
|
806
|
+
.result-last-tile {
|
|
807
|
+
border-radius: 4px;
|
|
808
|
+
background-color: white;
|
|
809
|
+
border: 3px dashed #555;
|
|
810
|
+
box-shadow: none;
|
|
811
|
+
display: grid;
|
|
812
|
+
align-content: center;
|
|
813
|
+
}
|
|
814
|
+
.result-last-tile:hover {
|
|
815
|
+
box-shadow: rgba(8, 8, 32, 0.8) 0 0 6px 2px;
|
|
816
|
+
transition: box-shadow 0.1s ease 0s;
|
|
817
|
+
cursor: pointer;
|
|
818
|
+
border: 3px dashed #4b64ff;
|
|
819
|
+
}
|
|
820
|
+
.result-last-tile h3 {
|
|
821
|
+
margin-bottom: 4rem;
|
|
822
|
+
margin: 0px auto;
|
|
823
|
+
font-size: 2.8rem;
|
|
824
|
+
color: rgb(44, 44, 44);
|
|
825
|
+
font-weight: 200;
|
|
826
|
+
text-align: center;
|
|
827
|
+
}
|
|
828
|
+
`;
|
|
829
|
+
__decorate([
|
|
830
|
+
state()
|
|
831
|
+
], AppRoot.prototype, "toggleSlots", void 0);
|
|
832
|
+
__decorate([
|
|
833
|
+
state()
|
|
834
|
+
], AppRoot.prototype, "currentPage", void 0);
|
|
835
|
+
__decorate([
|
|
836
|
+
state()
|
|
837
|
+
], AppRoot.prototype, "searchQuery", void 0);
|
|
838
|
+
__decorate([
|
|
839
|
+
state()
|
|
840
|
+
], AppRoot.prototype, "withinCollection", void 0);
|
|
841
|
+
__decorate([
|
|
842
|
+
state()
|
|
843
|
+
], AppRoot.prototype, "cellWidth", void 0);
|
|
844
|
+
__decorate([
|
|
845
|
+
state()
|
|
846
|
+
], AppRoot.prototype, "cellHeight", void 0);
|
|
847
|
+
__decorate([
|
|
848
|
+
state()
|
|
849
|
+
], AppRoot.prototype, "rowGap", void 0);
|
|
850
|
+
__decorate([
|
|
851
|
+
state()
|
|
852
|
+
], AppRoot.prototype, "colGap", void 0);
|
|
853
|
+
__decorate([
|
|
854
|
+
state()
|
|
855
|
+
], AppRoot.prototype, "loggedIn", void 0);
|
|
856
|
+
__decorate([
|
|
857
|
+
state()
|
|
858
|
+
], AppRoot.prototype, "searchType", void 0);
|
|
859
|
+
__decorate([
|
|
860
|
+
property({ type: Object, reflect: false })
|
|
861
|
+
], AppRoot.prototype, "latestAction", void 0);
|
|
862
|
+
__decorate([
|
|
863
|
+
query('#base-query-field')
|
|
864
|
+
], AppRoot.prototype, "baseQueryField", void 0);
|
|
865
|
+
__decorate([
|
|
866
|
+
query('#base-collection-field')
|
|
867
|
+
], AppRoot.prototype, "baseCollectionField", void 0);
|
|
868
|
+
__decorate([
|
|
869
|
+
query('#page-number-input')
|
|
870
|
+
], AppRoot.prototype, "pageNumberInput", void 0);
|
|
871
|
+
__decorate([
|
|
872
|
+
query('collection-browser')
|
|
873
|
+
], AppRoot.prototype, "collectionBrowser", void 0);
|
|
874
|
+
__decorate([
|
|
875
|
+
query('modal-manager')
|
|
876
|
+
], AppRoot.prototype, "modalManager", void 0);
|
|
877
|
+
AppRoot = __decorate([
|
|
878
|
+
customElement('app-root')
|
|
879
|
+
], AppRoot);
|
|
880
|
+
export { AppRoot };
|
|
749
881
|
//# sourceMappingURL=app-root.js.map
|