@internetarchive/collection-browser 1.4.0 → 1.4.1-alpha.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/dist/index.d.ts +9 -9
- package/dist/index.js +9 -9
- package/dist/index.js.map +1 -1
- package/dist/src/app-root.d.ts +1 -1
- package/dist/src/app-root.js +1 -1
- package/dist/src/app-root.js.map +1 -1
- package/dist/src/collection-browser.d.ts +13 -11
- package/dist/src/collection-browser.js +37 -17
- package/dist/src/collection-browser.js.map +1 -1
- package/dist/src/collection-facets/facets-template.d.ts +1 -1
- package/dist/src/collection-facets/facets-template.js +3 -3
- package/dist/src/collection-facets/facets-template.js.map +1 -1
- package/dist/src/collection-facets/more-facets-content.d.ts +5 -5
- package/dist/src/collection-facets/more-facets-content.js +7 -7
- package/dist/src/collection-facets/more-facets-content.js.map +1 -1
- package/dist/src/collection-facets/more-facets-pagination.js +3 -3
- package/dist/src/collection-facets/more-facets-pagination.js.map +1 -1
- package/dist/src/collection-facets/toggle-switch.js +1 -1
- package/dist/src/collection-facets/toggle-switch.js.map +1 -1
- package/dist/src/collection-facets.d.ts +5 -5
- package/dist/src/collection-facets.js +10 -10
- package/dist/src/collection-facets.js.map +1 -1
- package/dist/src/empty-placeholder.js +2 -2
- package/dist/src/empty-placeholder.js.map +1 -1
- package/dist/src/language-code-handler/language-code-handler.js +1 -1
- package/dist/src/language-code-handler/language-code-handler.js.map +1 -1
- package/dist/src/mediatype/mediatype-config.js +13 -13
- package/dist/src/mediatype/mediatype-config.js.map +1 -1
- package/dist/src/restoration-state-handler.d.ts +1 -1
- package/dist/src/restoration-state-handler.js +2 -2
- package/dist/src/restoration-state-handler.js.map +1 -1
- package/dist/src/sort-filter-bar/alpha-bar.d.ts +2 -2
- package/dist/src/sort-filter-bar/alpha-bar.js +1 -1
- package/dist/src/sort-filter-bar/alpha-bar.js.map +1 -1
- package/dist/src/sort-filter-bar/sort-filter-bar.d.ts +2 -2
- package/dist/src/sort-filter-bar/sort-filter-bar.js +9 -9
- package/dist/src/sort-filter-bar/sort-filter-bar.js.map +1 -1
- package/dist/src/tiles/grid/account-tile.d.ts +3 -3
- package/dist/src/tiles/grid/account-tile.js +3 -3
- package/dist/src/tiles/grid/account-tile.js.map +1 -1
- package/dist/src/tiles/grid/collection-tile.d.ts +2 -2
- package/dist/src/tiles/grid/collection-tile.js +4 -4
- package/dist/src/tiles/grid/collection-tile.js.map +1 -1
- package/dist/src/tiles/grid/item-tile.d.ts +6 -6
- package/dist/src/tiles/grid/item-tile.js +8 -8
- package/dist/src/tiles/grid/item-tile.js.map +1 -1
- package/dist/src/tiles/grid/styles/tile-grid-shared-styles.js +1 -1
- package/dist/src/tiles/grid/styles/tile-grid-shared-styles.js.map +1 -1
- package/dist/src/tiles/grid/tile-stats.js +6 -6
- package/dist/src/tiles/grid/tile-stats.js.map +1 -1
- package/dist/src/tiles/hover/hover-pane-controller.d.ts +1 -1
- package/dist/src/tiles/hover/hover-pane-controller.js.map +1 -1
- package/dist/src/tiles/hover/tile-hover-pane.d.ts +2 -2
- package/dist/src/tiles/hover/tile-hover-pane.js +1 -1
- package/dist/src/tiles/hover/tile-hover-pane.js.map +1 -1
- package/dist/src/tiles/image-block.d.ts +3 -3
- package/dist/src/tiles/image-block.js +2 -2
- package/dist/src/tiles/image-block.js.map +1 -1
- package/dist/src/tiles/item-image.d.ts +1 -1
- package/dist/src/tiles/item-image.js +1 -1
- package/dist/src/tiles/item-image.js.map +1 -1
- package/dist/src/tiles/list/tile-list-compact-header.d.ts +1 -1
- package/dist/src/tiles/list/tile-list-compact-header.js +1 -1
- package/dist/src/tiles/list/tile-list-compact-header.js.map +1 -1
- package/dist/src/tiles/list/tile-list-compact.d.ts +3 -3
- package/dist/src/tiles/list/tile-list-compact.js +6 -6
- package/dist/src/tiles/list/tile-list-compact.js.map +1 -1
- package/dist/src/tiles/list/tile-list.d.ts +3 -3
- package/dist/src/tiles/list/tile-list.js +8 -8
- package/dist/src/tiles/list/tile-list.js.map +1 -1
- package/dist/src/tiles/mediatype-icon.js +1 -1
- package/dist/src/tiles/mediatype-icon.js.map +1 -1
- package/dist/src/tiles/overlay/icon-overlay.js +2 -2
- package/dist/src/tiles/overlay/icon-overlay.js.map +1 -1
- package/dist/src/tiles/overlay/icon-text-overlay.js +2 -2
- package/dist/src/tiles/overlay/icon-text-overlay.js.map +1 -1
- package/dist/src/tiles/overlay/text-overlay.js +2 -2
- package/dist/src/tiles/overlay/text-overlay.js.map +1 -1
- package/dist/src/tiles/tile-dispatcher.d.ts +11 -10
- package/dist/src/tiles/tile-dispatcher.js +14 -8
- package/dist/src/tiles/tile-dispatcher.js.map +1 -1
- package/index.ts +9 -9
- package/package.json +15 -15
- package/src/app-root.ts +2 -2
- package/src/collection-browser.ts +36 -17
- package/src/collection-facets/facets-template.ts +3 -3
- package/src/collection-facets/more-facets-content.ts +7 -7
- package/src/collection-facets/more-facets-pagination.ts +3 -3
- package/src/collection-facets/toggle-switch.ts +1 -1
- package/src/collection-facets.ts +10 -10
- package/src/empty-placeholder.ts +2 -2
- package/src/language-code-handler/language-code-handler.ts +1 -1
- package/src/mediatype/mediatype-config.ts +13 -13
- package/src/restoration-state-handler.ts +2 -2
- package/src/sort-filter-bar/alpha-bar.ts +3 -3
- package/src/sort-filter-bar/sort-filter-bar.ts +10 -10
- package/src/tiles/grid/account-tile.ts +4 -4
- package/src/tiles/grid/collection-tile.ts +5 -5
- package/src/tiles/grid/item-tile.ts +10 -10
- package/src/tiles/grid/styles/tile-grid-shared-styles.ts +1 -1
- package/src/tiles/grid/tile-stats.ts +6 -6
- package/src/tiles/hover/hover-pane-controller.ts +1 -1
- package/src/tiles/hover/tile-hover-pane.ts +2 -2
- package/src/tiles/image-block.ts +3 -3
- package/src/tiles/item-image.ts +2 -2
- package/src/tiles/list/tile-list-compact-header.ts +2 -2
- package/src/tiles/list/tile-list-compact.ts +7 -7
- package/src/tiles/list/tile-list.ts +8 -8
- package/src/tiles/mediatype-icon.ts +1 -1
- package/src/tiles/overlay/icon-overlay.ts +2 -2
- package/src/tiles/overlay/icon-text-overlay.ts +2 -2
- package/src/tiles/overlay/text-overlay.ts +2 -2
- package/src/tiles/tile-dispatcher.ts +13 -10
package/dist/index.d.ts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
export { CollectionBrowser } from './src/collection-browser';
|
|
2
|
-
export { SortFilterBar } from './src/sort-filter-bar/sort-filter-bar';
|
|
3
|
-
export { CollectionDisplayMode } from './src/models';
|
|
4
|
-
export { CollectionBrowserLoadingTile } from './src/tiles/collection-browser-loading-tile';
|
|
5
|
-
export { CollectionTile } from './src/tiles/grid/collection-tile';
|
|
6
|
-
export { AccountTile } from './src/tiles/grid/account-tile';
|
|
7
|
-
export { ItemTile } from './src/tiles/grid/item-tile';
|
|
8
|
-
export { TileList } from './src/tiles/list/tile-list';
|
|
9
|
-
export { TileListCompact } from './src/tiles/list/tile-list-compact';
|
|
1
|
+
export { CollectionBrowser } from './src/collection-browser.js';
|
|
2
|
+
export { SortFilterBar } from './src/sort-filter-bar/sort-filter-bar.js';
|
|
3
|
+
export { CollectionDisplayMode } from './src/models.js';
|
|
4
|
+
export { CollectionBrowserLoadingTile } from './src/tiles/collection-browser-loading-tile.js';
|
|
5
|
+
export { CollectionTile } from './src/tiles/grid/collection-tile.js';
|
|
6
|
+
export { AccountTile } from './src/tiles/grid/account-tile.js';
|
|
7
|
+
export { ItemTile } from './src/tiles/grid/item-tile.js';
|
|
8
|
+
export { TileList } from './src/tiles/list/tile-list.js';
|
|
9
|
+
export { TileListCompact } from './src/tiles/list/tile-list-compact.js';
|
package/dist/index.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
export { CollectionBrowser } from './src/collection-browser';
|
|
2
|
-
export { SortFilterBar } from './src/sort-filter-bar/sort-filter-bar';
|
|
3
|
-
export {} from './src/models';
|
|
4
|
-
export { CollectionBrowserLoadingTile } from './src/tiles/collection-browser-loading-tile';
|
|
5
|
-
export { CollectionTile } from './src/tiles/grid/collection-tile';
|
|
6
|
-
export { AccountTile } from './src/tiles/grid/account-tile';
|
|
7
|
-
export { ItemTile } from './src/tiles/grid/item-tile';
|
|
8
|
-
export { TileList } from './src/tiles/list/tile-list';
|
|
9
|
-
export { TileListCompact } from './src/tiles/list/tile-list-compact';
|
|
1
|
+
export { CollectionBrowser } from './src/collection-browser.js';
|
|
2
|
+
export { SortFilterBar } from './src/sort-filter-bar/sort-filter-bar.js';
|
|
3
|
+
export {} from './src/models.js';
|
|
4
|
+
export { CollectionBrowserLoadingTile } from './src/tiles/collection-browser-loading-tile.js';
|
|
5
|
+
export { CollectionTile } from './src/tiles/grid/collection-tile.js';
|
|
6
|
+
export { AccountTile } from './src/tiles/grid/account-tile.js';
|
|
7
|
+
export { ItemTile } from './src/tiles/grid/item-tile.js';
|
|
8
|
+
export { TileList } from './src/tiles/list/tile-list.js';
|
|
9
|
+
export { TileListCompact } from './src/tiles/list/tile-list-compact.js';
|
|
10
10
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAE,aAAa,EAAE,MAAM,0CAA0C,CAAC;AACzE,OAAO,EAAyB,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAAE,4BAA4B,EAAE,MAAM,gDAAgD,CAAC;AAC9F,OAAO,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAC;AACrE,OAAO,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AAC/D,OAAO,EAAE,QAAQ,EAAE,MAAM,+BAA+B,CAAC;AACzD,OAAO,EAAE,QAAQ,EAAE,MAAM,+BAA+B,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,uCAAuC,CAAC","sourcesContent":["export { CollectionBrowser } from './src/collection-browser.js';\nexport { SortFilterBar } from './src/sort-filter-bar/sort-filter-bar.js';\nexport { CollectionDisplayMode } from './src/models.js';\nexport { CollectionBrowserLoadingTile } from './src/tiles/collection-browser-loading-tile.js';\nexport { CollectionTile } from './src/tiles/grid/collection-tile.js';\nexport { AccountTile } from './src/tiles/grid/account-tile.js';\nexport { ItemTile } from './src/tiles/grid/item-tile.js';\nexport { TileList } from './src/tiles/list/tile-list.js';\nexport { TileListCompact } from './src/tiles/list/tile-list-compact.js';\n"]}
|
package/dist/src/app-root.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { AnalyticsEvent } from '@internetarchive/analytics-manager';
|
|
2
2
|
import { LitElement, PropertyValues } from 'lit';
|
|
3
|
-
import '../src/collection-browser';
|
|
3
|
+
import '../src/collection-browser.js';
|
|
4
4
|
export declare class AppRoot extends LitElement {
|
|
5
5
|
private searchService;
|
|
6
6
|
private resizeObserver;
|
package/dist/src/app-root.js
CHANGED
|
@@ -7,7 +7,7 @@ import { html, css, LitElement } from 'lit';
|
|
|
7
7
|
import { customElement, property, query, state } from 'lit/decorators.js';
|
|
8
8
|
import { SharedResizeObserver } from '@internetarchive/shared-resize-observer';
|
|
9
9
|
import { CollectionNameCache } from '@internetarchive/collection-name-cache';
|
|
10
|
-
import '../src/collection-browser';
|
|
10
|
+
import '../src/collection-browser.js';
|
|
11
11
|
let AppRoot = class AppRoot extends LitElement {
|
|
12
12
|
constructor() {
|
|
13
13
|
super(...arguments);
|
package/dist/src/app-root.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app-root.js","sourceRoot":"","sources":["../../src/app-root.ts"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable no-console */\nimport {\n AnalyticsEvent,\n AnalyticsManager,\n} from '@internetarchive/analytics-manager';\nimport {\n SearchService,\n SearchServiceInterface,\n SearchType,\n StringField,\n} from '@internetarchive/search-service';\nimport { LocalCache } from '@internetarchive/local-cache';\nimport { html, css, LitElement, PropertyValues } from 'lit';\nimport { customElement, property, query, state } from 'lit/decorators.js';\nimport { SharedResizeObserver } from '@internetarchive/shared-resize-observer';\nimport { CollectionNameCache } from '@internetarchive/collection-name-cache';\n\nimport type { ModalManagerInterface } from '@internetarchive/modal-manager';\nimport type { AnalyticsManagerInterface } from '@internetarchive/analytics-manager';\nimport type { CollectionBrowser } from '../src/collection-browser';\n\nimport '../src/collection-browser';\n\n@customElement('app-root')\nexport class AppRoot extends LitElement {\n private searchService: SearchServiceInterface =\n this.initSearchServiceFromUrlParams();\n\n private resizeObserver = new SharedResizeObserver();\n\n private localCache = new LocalCache();\n\n private collectionNameCache = new CollectionNameCache({\n searchService: this.searchService,\n localCache: this.localCache,\n });\n\n @state() private currentPage?: number;\n\n @state() private searchQuery?: string;\n\n @state() private cellWidth: number = 18;\n\n @state() private cellHeight: number = 29;\n\n @state() private rowGap: number = 1.7;\n\n @state() private colGap: number = 1.7;\n\n @state() private loggedIn: boolean = false;\n\n @state() private searchType: SearchType = SearchType.METADATA;\n\n @property({ type: Object, reflect: false }) latestAction?: AnalyticsEvent;\n\n @query('#base-query-field') private baseQueryField!: HTMLInputElement;\n\n @query('#page-number-input') private pageNumberInput!: HTMLInputElement;\n\n @query('collection-browser') private collectionBrowser!: CollectionBrowser;\n\n @query('modal-manager') private modalManager!: ModalManagerInterface;\n\n private analyticsManager = new AnalyticsManager();\n\n private analyticsHandler: AnalyticsManagerInterface = {\n sendPing: this.sendAnalytics.bind(this),\n sendEvent: this.sendAnalytics.bind(this),\n sendEventNoSampling: this.sendAnalytics.bind(this),\n };\n\n private sendAnalytics(ae: AnalyticsEvent) {\n console.log('Analytics Received ----', ae);\n this.latestAction = ae;\n this.analyticsManager?.sendEvent(ae);\n }\n\n private initSearchServiceFromUrlParams() {\n const params = new URL(window.location.href).searchParams;\n return new SearchService({\n includeCredentials: false,\n baseUrl: params.get('search_base_url') ?? undefined,\n servicePath: params.get('search_service_path') ?? undefined,\n debuggingEnabled: !!params.get('debugging') ?? undefined,\n });\n }\n\n private searchPressed(e: Event) {\n e.preventDefault();\n this.searchQuery = this.baseQueryField.value;\n this.collectionBrowser.searchType = this.searchType;\n\n if ((this.currentPage ?? 1) > 1) {\n this.collectionBrowser.goToPage(this.currentPage ?? 1);\n }\n }\n\n private changePagePressed(e: Event) {\n e.preventDefault();\n this.currentPage = this.pageNumberInput.valueAsNumber;\n this.collectionBrowser.goToPage(this.currentPage);\n }\n\n protected override updated(changed: PropertyValues): void {\n if (changed.has('currentPage') && this.currentPage) {\n this.pageNumberInput.value = this.currentPage.toString();\n }\n\n if (changed.has('searchQuery')) {\n this.queryUpdated();\n }\n }\n\n private queryUpdated() {\n this.collectionBrowser.baseQuery = this.searchQuery;\n }\n\n private get getClass() {\n const searchParams = new URLSearchParams(window.location.search);\n\n return searchParams.get('hide-dev-tools') ? 'hidden' : '';\n }\n\n render() {\n return html`\n <div class=\"dev-tool-container\">\n <div id=\"dev-tools\" class=${this.getClass}>\n <div id=\"search-and-page-inputs\">\n <form @submit=${this.searchPressed}>\n <label for=\"base-query-field\"> Query: </label>\n <input\n type=\"text\"\n id=\"base-query-field\"\n .value=${this.searchQuery ?? ''}\n />\n <input type=\"submit\" value=\"Search\" />\n </form>\n <form @submit=${this.changePagePressed}>\n <label for=\"page-number-input\"> Page: </label>\n <input type=\"number\" value=\"1\" id=\"page-number-input\" />\n <input type=\"submit\" value=\"Go\" />\n </form>\n </div>\n\n <div id=\"search-types\">\n Search type:\n <span class=\"search-type\">\n <input\n type=\"radio\"\n id=\"metadata-search\"\n name=\"search-type\"\n value=\"metadata\"\n .checked=${this.searchType === SearchType.METADATA}\n @click=${this.searchTypeSelected}\n />\n <label for=\"metadata-search\">Metadata</label>\n </span>\n <span class=\"search-type\">\n <input\n type=\"radio\"\n id=\"fulltext-search\"\n name=\"search-type\"\n value=\"fulltext\"\n .checked=${this.searchType === SearchType.FULLTEXT}\n @click=${this.searchTypeSelected}\n />\n <label for=\"fulltext-search\">Full text</label>\n </span>\n </div>\n\n <div id=\"toggle-controls\">\n <button\n @click=${() => {\n const details =\n this.shadowRoot?.getElementById('cell-size-control');\n details?.classList.toggle('hidden');\n const rowGapControls =\n this.shadowRoot?.getElementById('cell-gap-control');\n rowGapControls?.classList.toggle('hidden');\n }}\n >\n Toggle Cell Controls\n </button>\n <button\n @click=${() => {\n const details = this.shadowRoot?.getElementById(\n 'latest-event-details'\n );\n details?.classList.toggle('hidden');\n }}\n >\n Last Event Captured\n </button>\n </div>\n\n <div id=\"last-event\">\n <pre id=\"latest-event-details\" class=\"hidden\">\n ${JSON.stringify(this.latestAction, null, 2)}\n </pre\n >\n </div>\n\n <div id=\"cell-controls\" class=\"hidden\">\n <div id=\"cell-size-control\">\n <div>\n <label for=\"cell-width-slider\">Min cell width:</label>\n <input\n type=\"range\"\n min=\"10\"\n max=\"100\"\n value=\"18\"\n step=\"0.1\"\n id=\"cell-width-slider\"\n @input=${this.widthChanged}\n />\n <span>${this.cellWidth}rem</span>\n </div>\n <div>\n <label for=\"cell-height-slider\">Cell height:</label>\n <input\n type=\"range\"\n min=\"10\"\n max=\"100\"\n value=\"29\"\n step=\"0.1\"\n id=\"cell-height-slider\"\n @input=${this.heightChanged}\n />\n <span>${this.cellHeight}rem</span>\n </div>\n </div>\n <div id=\"cell-gap-control\">\n <div>\n <label for=\"cell-row-gap-slider\">Row gap:</label>\n <input\n type=\"range\"\n min=\"0\"\n max=\"5\"\n value=\"1.7\"\n step=\"0.1\"\n id=\"cell-row-gap-slider\"\n @input=${this.rowGapChanged}\n />\n <span>${this.rowGap}rem</span>\n </div>\n <div>\n <label for=\"cell-col-gap-slider\">Col gap:</label>\n <input\n type=\"range\"\n min=\"0\"\n max=\"5\"\n value=\"1.7\"\n step=\"0.1\"\n id=\"cell-col-gap-slider\"\n @input=${this.colGapChanged}\n />\n <span>${this.colGap}rem</span>\n </div>\n </div>\n </div>\n <div id=\"checkbox-controls\">\n <div class=\"checkbox-control\">\n <input\n type=\"checkbox\"\n id=\"show-outline-check\"\n @click=${this.outlineChanged}\n />\n <label for=\"show-outline-check\">Show cell outlines</label>\n </div>\n <div class=\"checkbox-control\">\n <input\n type=\"checkbox\"\n id=\"show-facet-group-outline-check\"\n @click=${this.toggleFacetGroupOutline}\n />\n <label for=\"show-facet-group-outline-check\">\n Show facet group outlines\n </label>\n </div>\n <div class=\"checkbox-control\">\n <input\n type=\"checkbox\"\n id=\"simulate-login\"\n @click=${this.loginChanged}\n />\n <label for=\"simulate-login\">Simulate login</label>\n </div>\n <div class=\"checkbox-control\">\n <input\n type=\"checkbox\"\n id=\"show-dummy-snippets\"\n @click=${this.snippetsChanged}\n />\n <label for=\"show-dummy-snippets\">Show dummy snippets</label>\n </div>\n <div class=\"checkbox-control\">\n <input\n type=\"checkbox\"\n id=\"enable-date-picker\"\n checked\n @click=${this.datePickerChanged}\n />\n <label for=\"enable-date-picker\">Enable date picker</label>\n </div>\n </div>\n </div>\n <button id=\"toggle-dev-tools-btn\" @click=${this.toggleDevTools}>\n Toggle Search Controls\n </button>\n </div>\n <div id=\"collection-browser-container\">\n <collection-browser\n .baseNavigationUrl=${'https://archive.org'}\n .baseImageUrl=${'https://archive.org'}\n .searchService=${this.searchService}\n .resizeObserver=${this.resizeObserver}\n .collectionNameCache=${this.collectionNameCache}\n .showHistogramDatePicker=${true}\n .loggedIn=${this.loggedIn}\n .modalManager=${this.modalManager}\n .analyticsHandler=${this.analyticsHandler}\n @visiblePageChanged=${this.visiblePageChanged}\n @baseQueryChanged=${this.baseQueryChanged}\n @searchTypeChanged=${this.searchTypeChanged}\n >\n </collection-browser>\n </div>\n <modal-manager></modal-manager>\n `;\n }\n\n private baseQueryChanged(e: CustomEvent<{ baseQuery?: string }>): void {\n this.searchQuery = e.detail.baseQuery;\n }\n\n /** Handler for search type changes coming from collection browser */\n private searchTypeChanged(e: CustomEvent<SearchType>): void {\n this.searchType = e.detail;\n }\n\n /** Handler for user input selecting a search type */\n private searchTypeSelected(e: Event) {\n const target = e.target as HTMLInputElement;\n this.searchType =\n target.value === 'fulltext' ? SearchType.FULLTEXT : SearchType.METADATA;\n }\n\n private loginChanged(e: Event) {\n const target = e.target as HTMLInputElement;\n if (target.checked) {\n this.loggedIn = true;\n } else {\n this.loggedIn = false;\n }\n }\n\n private outlineChanged(e: Event) {\n const target = e.target as HTMLInputElement;\n if (target.checked) {\n this.collectionBrowser.style.setProperty(\n '--infiniteScrollerCellOutline',\n '1px solid #33D1FF'\n );\n } else {\n this.collectionBrowser.style.removeProperty(\n '--infiniteScrollerCellOutline'\n );\n }\n }\n\n private toggleDevTools() {\n const pageUrl = new URL(window.location.href);\n const { searchParams } = pageUrl;\n\n if (searchParams.get('hide-dev-tools')) {\n searchParams.delete('hide-dev-tools');\n } else {\n searchParams.set('hide-dev-tools', 'true');\n }\n\n this.shadowRoot?.getElementById('dev-tools')?.classList.toggle('hidden');\n\n if (window.history.replaceState) {\n window.history.replaceState(\n {\n path: pageUrl.toString(),\n },\n '',\n pageUrl.toString()\n );\n }\n }\n\n private toggleFacetGroupOutline(e: Event) {\n const target = e.target as HTMLInputElement;\n if (target.checked) {\n this.collectionBrowser.classList.add('showFacetGroupOutlines');\n this.modalManager.classList.add('showFacetGroupOutlines');\n } else {\n this.collectionBrowser.classList.remove('showFacetGroupOutlines');\n this.modalManager.classList.remove('showFacetGroupOutlines');\n }\n }\n\n private async snippetsChanged(e: Event) {\n const target = e.target as HTMLInputElement;\n if (target.checked) {\n // Decorate the default search service with a wrapper that adds\n // dummy snippets to any successful searches\n this.searchService = {\n async search(params, searchType) {\n const searchResponse = await SearchService.default.search(\n params,\n searchType\n );\n searchResponse.success?.response.results.forEach(result => {\n Object.defineProperty(result, 'highlight', {\n value: new StringField([\n 'this is a text {{{snippet}}} block with potentially',\n 'multiple {{{snippets}}} and such',\n 'but the {{{snippet}}} block may be quite long perhaps',\n 'depending on how many {{{snippet}}} matches there are',\n 'there may be multiple lines of {{{snippets}}} to show',\n 'but each {{{snippet}}} should be relatively short',\n 'and {{{snippets}}} are each a {{{snippet}}} of text',\n 'but every {{{snippet}}} might have multiple matches',\n 'the {{{snippets}}} should be separated and surrounded by ellipses',\n ]),\n });\n });\n return searchResponse;\n },\n };\n } else {\n // Restore the default seach service\n this.searchService = SearchService.default;\n }\n\n // Re-perform the current search to show/hide the snippets immediately\n this.reperformCurrentSearch();\n }\n\n private async reperformCurrentSearch(): Promise<void> {\n const oldQuery = this.searchQuery;\n this.searchQuery = ''; // Should just reset to the placeholder\n await this.updateComplete;\n // For unclear reasons, Safari refuses to re-apply the old query until the next tick, hence:\n await new Promise(res => {\n setTimeout(res, 0);\n });\n this.searchQuery = oldQuery; // Re-apply the original query\n }\n\n private datePickerChanged(e: Event) {\n const target = e.target as HTMLInputElement;\n this.collectionBrowser.showHistogramDatePicker = target.checked;\n\n // When disabling the date picker from the demo app, also clear any existing date range params\n if (!this.collectionBrowser.showHistogramDatePicker) {\n this.collectionBrowser.minSelectedDate = undefined;\n this.collectionBrowser.maxSelectedDate = undefined;\n }\n }\n\n private rowGapChanged(e: Event) {\n const input = e.target as HTMLInputElement;\n this.rowGap = parseFloat(input.value);\n this.collectionBrowser.style.setProperty(\n '--collectionBrowserRowGap',\n `${input.value}rem`\n );\n }\n\n private colGapChanged(e: Event) {\n const input = e.target as HTMLInputElement;\n this.colGap = parseFloat(input.value);\n this.collectionBrowser.style.setProperty(\n '--collectionBrowserColGap',\n `${input.value}rem`\n );\n }\n\n private widthChanged(e: Event) {\n const input = e.target as HTMLInputElement;\n this.cellWidth = parseFloat(input.value);\n this.collectionBrowser.style.setProperty(\n '--collectionBrowserCellMinWidth',\n `${input.value}rem`\n );\n }\n\n private heightChanged(e: Event) {\n const input = e.target as HTMLInputElement;\n this.cellHeight = parseFloat(input.value);\n this.collectionBrowser.style.setProperty(\n '--collectionBrowserCellMinHeight',\n `${input.value}rem`\n );\n this.collectionBrowser.style.setProperty(\n '--collectionBrowserCellMaxHeight',\n `${input.value}rem`\n );\n }\n\n private visiblePageChanged(e: CustomEvent<{ pageNumber: number }>) {\n const { pageNumber } = e.detail;\n if (pageNumber === this.currentPage) return;\n this.currentPage = pageNumber;\n }\n\n static styles = css`\n :host {\n display: block;\n --primaryButtonBGColor: #194880;\n --ia-theme-link-color: #4b64ff;\n }\n\n /* add the following styles to ensure proper modal visibility */\n body.modal-manager-open {\n overflow: hidden;\n }\n modal-manager {\n display: none;\n }\n modal-manager[mode='open'] {\n display: block;\n }\n modal-manager.more-search-facets {\n --modalWidth: 85rem;\n --modalBorder: 2px solid var(--primaryButtonBGColor, #194880);\n --modalTitleLineHeight: 4rem;\n --modalTitleFontSize: 1.8rem;\n --modalCornerRadius: 0;\n --modalBottomPadding: 0;\n --modalBottomMargin: 0;\n --modalScrollOffset: 0;\n --modalCornerRadius: 0.5rem;\n }\n modal-manager.expanded-date-picker {\n --modalWidth: 58rem;\n --modalBorder: 2px solid var(--primaryButtonBGColor, #194880);\n --modalTitleLineHeight: 4rem;\n --modalTitleFontSize: 1.8rem;\n --modalCornerRadius: 0;\n --modalBottomPadding: 0;\n --modalBottomMargin: 0;\n --modalScrollOffset: 0;\n --modalCornerRadius: 0.5rem;\n }\n\n input,\n button {\n font-size: 1.6rem;\n }\n\n modal-manager.showFacetGroupOutlines,\n collection-browser.showFacetGroupOutlines {\n --facet-row-border-top: 1px solid red;\n --facet-row-border-bottom: 1px solid blue;\n }\n\n collection-browser {\n /* Same as production */\n max-width: 135rem;\n margin: auto;\n }\n\n #collection-browser-container {\n /* Same as production */\n padding-left: 0.5rem;\n margin-bottom: 2rem;\n }\n\n #base-query-field {\n width: 300px;\n }\n\n .dev-tool-container {\n position: relative;\n }\n #dev-tools {\n position: relative;\n top: 0;\n left: 0;\n z-index: 1;\n -webkit-backdrop-filter: blur(10px);\n backdrop-filter: blur(10px);\n padding: 0.5rem 1rem;\n border: 1px solid black;\n font-size: 1.4rem;\n width: 75%;\n background: #ffffffb3;\n }\n\n #dev-tools > * {\n display: flex;\n }\n\n #toggle-dev-tools-btn {\n position: fixed;\n left: 77.4%;\n top: 0;\n background: red;\n padding: 5px;\n color: white;\n font-size: 1.4rem;\n margin: 0;\n z-index: 1;\n cursor: pointer;\n }\n\n #search-and-page-inputs {\n flex-wrap: wrap;\n row-gap: 2px;\n }\n\n #search-and-page-inputs > form {\n margin-right: 1rem;\n }\n\n #search-and-page-inputs label {\n display: inline-block;\n min-width: 50px;\n }\n\n #page-number-input {\n width: 75px;\n }\n\n .search-type {\n margin-right: 1rem;\n }\n\n #cell-controls {\n display: flex;\n flex-wrap: wrap;\n }\n\n #cell-controls label {\n display: inline-block;\n width: 10rem;\n }\n\n #cell-size-control,\n #cell-gap-control {\n flex-basis: calc(50% - 1rem);\n flex-grow: 1;\n }\n\n #cell-gap-control {\n margin-left: 1rem;\n }\n\n #checkbox-controls {\n padding-top: 0.5rem;\n flex-wrap: wrap;\n }\n\n .checkbox-control {\n flex-basis: 50%;\n }\n\n #last-event {\n background-color: aliceblue;\n padding: 5px;\n margin: 5px auto;\n }\n\n .hidden {\n display: none;\n }\n\n #toggle-controls {\n background-color: lightskyblue;\n padding: 5px;\n margin: 5px auto;\n }\n\n #search-types {\n margin: 5px auto;\n background-color: aliceblue;\n font-size: 1.6rem;\n }\n `;\n}\n"]}
|
|
1
|
+
{"version":3,"file":"app-root.js","sourceRoot":"","sources":["../../src/app-root.ts"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable no-console */\nimport {\n AnalyticsEvent,\n AnalyticsManager,\n} from '@internetarchive/analytics-manager';\nimport {\n SearchService,\n SearchServiceInterface,\n SearchType,\n StringField,\n} from '@internetarchive/search-service';\nimport { LocalCache } from '@internetarchive/local-cache';\nimport { html, css, LitElement, PropertyValues } from 'lit';\nimport { customElement, property, query, state } from 'lit/decorators.js';\nimport { SharedResizeObserver } from '@internetarchive/shared-resize-observer';\nimport { CollectionNameCache } from '@internetarchive/collection-name-cache';\n\nimport type { ModalManagerInterface } from '@internetarchive/modal-manager';\nimport type { AnalyticsManagerInterface } from '@internetarchive/analytics-manager';\nimport type { CollectionBrowser } from '../src/collection-browser.js';\n\nimport '../src/collection-browser.js';\n\n@customElement('app-root')\nexport class AppRoot extends LitElement {\n private searchService: SearchServiceInterface =\n this.initSearchServiceFromUrlParams();\n\n private resizeObserver = new SharedResizeObserver();\n\n private localCache = new LocalCache();\n\n private collectionNameCache = new CollectionNameCache({\n searchService: this.searchService,\n localCache: this.localCache,\n });\n\n @state() private currentPage?: number;\n\n @state() private searchQuery?: string;\n\n @state() private cellWidth: number = 18;\n\n @state() private cellHeight: number = 29;\n\n @state() private rowGap: number = 1.7;\n\n @state() private colGap: number = 1.7;\n\n @state() private loggedIn: boolean = false;\n\n @state() private searchType: SearchType = SearchType.METADATA;\n\n @property({ type: Object, reflect: false }) latestAction?: AnalyticsEvent;\n\n @query('#base-query-field') private baseQueryField!: HTMLInputElement;\n\n @query('#page-number-input') private pageNumberInput!: HTMLInputElement;\n\n @query('collection-browser') private collectionBrowser!: CollectionBrowser;\n\n @query('modal-manager') private modalManager!: ModalManagerInterface;\n\n private analyticsManager = new AnalyticsManager();\n\n private analyticsHandler: AnalyticsManagerInterface = {\n sendPing: this.sendAnalytics.bind(this),\n sendEvent: this.sendAnalytics.bind(this),\n sendEventNoSampling: this.sendAnalytics.bind(this),\n };\n\n private sendAnalytics(ae: AnalyticsEvent) {\n console.log('Analytics Received ----', ae);\n this.latestAction = ae;\n this.analyticsManager?.sendEvent(ae);\n }\n\n private initSearchServiceFromUrlParams() {\n const params = new URL(window.location.href).searchParams;\n return new SearchService({\n includeCredentials: false,\n baseUrl: params.get('search_base_url') ?? undefined,\n servicePath: params.get('search_service_path') ?? undefined,\n debuggingEnabled: !!params.get('debugging') ?? undefined,\n });\n }\n\n private searchPressed(e: Event) {\n e.preventDefault();\n this.searchQuery = this.baseQueryField.value;\n this.collectionBrowser.searchType = this.searchType;\n\n if ((this.currentPage ?? 1) > 1) {\n this.collectionBrowser.goToPage(this.currentPage ?? 1);\n }\n }\n\n private changePagePressed(e: Event) {\n e.preventDefault();\n this.currentPage = this.pageNumberInput.valueAsNumber;\n this.collectionBrowser.goToPage(this.currentPage);\n }\n\n protected override updated(changed: PropertyValues): void {\n if (changed.has('currentPage') && this.currentPage) {\n this.pageNumberInput.value = this.currentPage.toString();\n }\n\n if (changed.has('searchQuery')) {\n this.queryUpdated();\n }\n }\n\n private queryUpdated() {\n this.collectionBrowser.baseQuery = this.searchQuery;\n }\n\n private get getClass() {\n const searchParams = new URLSearchParams(window.location.search);\n\n return searchParams.get('hide-dev-tools') ? 'hidden' : '';\n }\n\n render() {\n return html`\n <div class=\"dev-tool-container\">\n <div id=\"dev-tools\" class=${this.getClass}>\n <div id=\"search-and-page-inputs\">\n <form @submit=${this.searchPressed}>\n <label for=\"base-query-field\"> Query: </label>\n <input\n type=\"text\"\n id=\"base-query-field\"\n .value=${this.searchQuery ?? ''}\n />\n <input type=\"submit\" value=\"Search\" />\n </form>\n <form @submit=${this.changePagePressed}>\n <label for=\"page-number-input\"> Page: </label>\n <input type=\"number\" value=\"1\" id=\"page-number-input\" />\n <input type=\"submit\" value=\"Go\" />\n </form>\n </div>\n\n <div id=\"search-types\">\n Search type:\n <span class=\"search-type\">\n <input\n type=\"radio\"\n id=\"metadata-search\"\n name=\"search-type\"\n value=\"metadata\"\n .checked=${this.searchType === SearchType.METADATA}\n @click=${this.searchTypeSelected}\n />\n <label for=\"metadata-search\">Metadata</label>\n </span>\n <span class=\"search-type\">\n <input\n type=\"radio\"\n id=\"fulltext-search\"\n name=\"search-type\"\n value=\"fulltext\"\n .checked=${this.searchType === SearchType.FULLTEXT}\n @click=${this.searchTypeSelected}\n />\n <label for=\"fulltext-search\">Full text</label>\n </span>\n </div>\n\n <div id=\"toggle-controls\">\n <button\n @click=${() => {\n const details =\n this.shadowRoot?.getElementById('cell-size-control');\n details?.classList.toggle('hidden');\n const rowGapControls =\n this.shadowRoot?.getElementById('cell-gap-control');\n rowGapControls?.classList.toggle('hidden');\n }}\n >\n Toggle Cell Controls\n </button>\n <button\n @click=${() => {\n const details = this.shadowRoot?.getElementById(\n 'latest-event-details'\n );\n details?.classList.toggle('hidden');\n }}\n >\n Last Event Captured\n </button>\n </div>\n\n <div id=\"last-event\">\n <pre id=\"latest-event-details\" class=\"hidden\">\n ${JSON.stringify(this.latestAction, null, 2)}\n </pre\n >\n </div>\n\n <div id=\"cell-controls\" class=\"hidden\">\n <div id=\"cell-size-control\">\n <div>\n <label for=\"cell-width-slider\">Min cell width:</label>\n <input\n type=\"range\"\n min=\"10\"\n max=\"100\"\n value=\"18\"\n step=\"0.1\"\n id=\"cell-width-slider\"\n @input=${this.widthChanged}\n />\n <span>${this.cellWidth}rem</span>\n </div>\n <div>\n <label for=\"cell-height-slider\">Cell height:</label>\n <input\n type=\"range\"\n min=\"10\"\n max=\"100\"\n value=\"29\"\n step=\"0.1\"\n id=\"cell-height-slider\"\n @input=${this.heightChanged}\n />\n <span>${this.cellHeight}rem</span>\n </div>\n </div>\n <div id=\"cell-gap-control\">\n <div>\n <label for=\"cell-row-gap-slider\">Row gap:</label>\n <input\n type=\"range\"\n min=\"0\"\n max=\"5\"\n value=\"1.7\"\n step=\"0.1\"\n id=\"cell-row-gap-slider\"\n @input=${this.rowGapChanged}\n />\n <span>${this.rowGap}rem</span>\n </div>\n <div>\n <label for=\"cell-col-gap-slider\">Col gap:</label>\n <input\n type=\"range\"\n min=\"0\"\n max=\"5\"\n value=\"1.7\"\n step=\"0.1\"\n id=\"cell-col-gap-slider\"\n @input=${this.colGapChanged}\n />\n <span>${this.colGap}rem</span>\n </div>\n </div>\n </div>\n <div id=\"checkbox-controls\">\n <div class=\"checkbox-control\">\n <input\n type=\"checkbox\"\n id=\"show-outline-check\"\n @click=${this.outlineChanged}\n />\n <label for=\"show-outline-check\">Show cell outlines</label>\n </div>\n <div class=\"checkbox-control\">\n <input\n type=\"checkbox\"\n id=\"show-facet-group-outline-check\"\n @click=${this.toggleFacetGroupOutline}\n />\n <label for=\"show-facet-group-outline-check\">\n Show facet group outlines\n </label>\n </div>\n <div class=\"checkbox-control\">\n <input\n type=\"checkbox\"\n id=\"simulate-login\"\n @click=${this.loginChanged}\n />\n <label for=\"simulate-login\">Simulate login</label>\n </div>\n <div class=\"checkbox-control\">\n <input\n type=\"checkbox\"\n id=\"show-dummy-snippets\"\n @click=${this.snippetsChanged}\n />\n <label for=\"show-dummy-snippets\">Show dummy snippets</label>\n </div>\n <div class=\"checkbox-control\">\n <input\n type=\"checkbox\"\n id=\"enable-date-picker\"\n checked\n @click=${this.datePickerChanged}\n />\n <label for=\"enable-date-picker\">Enable date picker</label>\n </div>\n </div>\n </div>\n <button id=\"toggle-dev-tools-btn\" @click=${this.toggleDevTools}>\n Toggle Search Controls\n </button>\n </div>\n <div id=\"collection-browser-container\">\n <collection-browser\n .baseNavigationUrl=${'https://archive.org'}\n .baseImageUrl=${'https://archive.org'}\n .searchService=${this.searchService}\n .resizeObserver=${this.resizeObserver}\n .collectionNameCache=${this.collectionNameCache}\n .showHistogramDatePicker=${true}\n .loggedIn=${this.loggedIn}\n .modalManager=${this.modalManager}\n .analyticsHandler=${this.analyticsHandler}\n @visiblePageChanged=${this.visiblePageChanged}\n @baseQueryChanged=${this.baseQueryChanged}\n @searchTypeChanged=${this.searchTypeChanged}\n >\n </collection-browser>\n </div>\n <modal-manager></modal-manager>\n `;\n }\n\n private baseQueryChanged(e: CustomEvent<{ baseQuery?: string }>): void {\n this.searchQuery = e.detail.baseQuery;\n }\n\n /** Handler for search type changes coming from collection browser */\n private searchTypeChanged(e: CustomEvent<SearchType>): void {\n this.searchType = e.detail;\n }\n\n /** Handler for user input selecting a search type */\n private searchTypeSelected(e: Event) {\n const target = e.target as HTMLInputElement;\n this.searchType =\n target.value === 'fulltext' ? SearchType.FULLTEXT : SearchType.METADATA;\n }\n\n private loginChanged(e: Event) {\n const target = e.target as HTMLInputElement;\n if (target.checked) {\n this.loggedIn = true;\n } else {\n this.loggedIn = false;\n }\n }\n\n private outlineChanged(e: Event) {\n const target = e.target as HTMLInputElement;\n if (target.checked) {\n this.collectionBrowser.style.setProperty(\n '--infiniteScrollerCellOutline',\n '1px solid #33D1FF'\n );\n } else {\n this.collectionBrowser.style.removeProperty(\n '--infiniteScrollerCellOutline'\n );\n }\n }\n\n private toggleDevTools() {\n const pageUrl = new URL(window.location.href);\n const { searchParams } = pageUrl;\n\n if (searchParams.get('hide-dev-tools')) {\n searchParams.delete('hide-dev-tools');\n } else {\n searchParams.set('hide-dev-tools', 'true');\n }\n\n this.shadowRoot?.getElementById('dev-tools')?.classList.toggle('hidden');\n\n if (window.history.replaceState) {\n window.history.replaceState(\n {\n path: pageUrl.toString(),\n },\n '',\n pageUrl.toString()\n );\n }\n }\n\n private toggleFacetGroupOutline(e: Event) {\n const target = e.target as HTMLInputElement;\n if (target.checked) {\n this.collectionBrowser.classList.add('showFacetGroupOutlines');\n this.modalManager.classList.add('showFacetGroupOutlines');\n } else {\n this.collectionBrowser.classList.remove('showFacetGroupOutlines');\n this.modalManager.classList.remove('showFacetGroupOutlines');\n }\n }\n\n private async snippetsChanged(e: Event) {\n const target = e.target as HTMLInputElement;\n if (target.checked) {\n // Decorate the default search service with a wrapper that adds\n // dummy snippets to any successful searches\n this.searchService = {\n async search(params, searchType) {\n const searchResponse = await SearchService.default.search(\n params,\n searchType\n );\n searchResponse.success?.response.results.forEach(result => {\n Object.defineProperty(result, 'highlight', {\n value: new StringField([\n 'this is a text {{{snippet}}} block with potentially',\n 'multiple {{{snippets}}} and such',\n 'but the {{{snippet}}} block may be quite long perhaps',\n 'depending on how many {{{snippet}}} matches there are',\n 'there may be multiple lines of {{{snippets}}} to show',\n 'but each {{{snippet}}} should be relatively short',\n 'and {{{snippets}}} are each a {{{snippet}}} of text',\n 'but every {{{snippet}}} might have multiple matches',\n 'the {{{snippets}}} should be separated and surrounded by ellipses',\n ]),\n });\n });\n return searchResponse;\n },\n };\n } else {\n // Restore the default seach service\n this.searchService = SearchService.default;\n }\n\n // Re-perform the current search to show/hide the snippets immediately\n this.reperformCurrentSearch();\n }\n\n private async reperformCurrentSearch(): Promise<void> {\n const oldQuery = this.searchQuery;\n this.searchQuery = ''; // Should just reset to the placeholder\n await this.updateComplete;\n // For unclear reasons, Safari refuses to re-apply the old query until the next tick, hence:\n await new Promise(res => {\n setTimeout(res, 0);\n });\n this.searchQuery = oldQuery; // Re-apply the original query\n }\n\n private datePickerChanged(e: Event) {\n const target = e.target as HTMLInputElement;\n this.collectionBrowser.showHistogramDatePicker = target.checked;\n\n // When disabling the date picker from the demo app, also clear any existing date range params\n if (!this.collectionBrowser.showHistogramDatePicker) {\n this.collectionBrowser.minSelectedDate = undefined;\n this.collectionBrowser.maxSelectedDate = undefined;\n }\n }\n\n private rowGapChanged(e: Event) {\n const input = e.target as HTMLInputElement;\n this.rowGap = parseFloat(input.value);\n this.collectionBrowser.style.setProperty(\n '--collectionBrowserRowGap',\n `${input.value}rem`\n );\n }\n\n private colGapChanged(e: Event) {\n const input = e.target as HTMLInputElement;\n this.colGap = parseFloat(input.value);\n this.collectionBrowser.style.setProperty(\n '--collectionBrowserColGap',\n `${input.value}rem`\n );\n }\n\n private widthChanged(e: Event) {\n const input = e.target as HTMLInputElement;\n this.cellWidth = parseFloat(input.value);\n this.collectionBrowser.style.setProperty(\n '--collectionBrowserCellMinWidth',\n `${input.value}rem`\n );\n }\n\n private heightChanged(e: Event) {\n const input = e.target as HTMLInputElement;\n this.cellHeight = parseFloat(input.value);\n this.collectionBrowser.style.setProperty(\n '--collectionBrowserCellMinHeight',\n `${input.value}rem`\n );\n this.collectionBrowser.style.setProperty(\n '--collectionBrowserCellMaxHeight',\n `${input.value}rem`\n );\n }\n\n private visiblePageChanged(e: CustomEvent<{ pageNumber: number }>) {\n const { pageNumber } = e.detail;\n if (pageNumber === this.currentPage) return;\n this.currentPage = pageNumber;\n }\n\n static styles = css`\n :host {\n display: block;\n --primaryButtonBGColor: #194880;\n --ia-theme-link-color: #4b64ff;\n }\n\n /* add the following styles to ensure proper modal visibility */\n body.modal-manager-open {\n overflow: hidden;\n }\n modal-manager {\n display: none;\n }\n modal-manager[mode='open'] {\n display: block;\n }\n modal-manager.more-search-facets {\n --modalWidth: 85rem;\n --modalBorder: 2px solid var(--primaryButtonBGColor, #194880);\n --modalTitleLineHeight: 4rem;\n --modalTitleFontSize: 1.8rem;\n --modalCornerRadius: 0;\n --modalBottomPadding: 0;\n --modalBottomMargin: 0;\n --modalScrollOffset: 0;\n --modalCornerRadius: 0.5rem;\n }\n modal-manager.expanded-date-picker {\n --modalWidth: 58rem;\n --modalBorder: 2px solid var(--primaryButtonBGColor, #194880);\n --modalTitleLineHeight: 4rem;\n --modalTitleFontSize: 1.8rem;\n --modalCornerRadius: 0;\n --modalBottomPadding: 0;\n --modalBottomMargin: 0;\n --modalScrollOffset: 0;\n --modalCornerRadius: 0.5rem;\n }\n\n input,\n button {\n font-size: 1.6rem;\n }\n\n modal-manager.showFacetGroupOutlines,\n collection-browser.showFacetGroupOutlines {\n --facet-row-border-top: 1px solid red;\n --facet-row-border-bottom: 1px solid blue;\n }\n\n collection-browser {\n /* Same as production */\n max-width: 135rem;\n margin: auto;\n }\n\n #collection-browser-container {\n /* Same as production */\n padding-left: 0.5rem;\n margin-bottom: 2rem;\n }\n\n #base-query-field {\n width: 300px;\n }\n\n .dev-tool-container {\n position: relative;\n }\n #dev-tools {\n position: relative;\n top: 0;\n left: 0;\n z-index: 1;\n -webkit-backdrop-filter: blur(10px);\n backdrop-filter: blur(10px);\n padding: 0.5rem 1rem;\n border: 1px solid black;\n font-size: 1.4rem;\n width: 75%;\n background: #ffffffb3;\n }\n\n #dev-tools > * {\n display: flex;\n }\n\n #toggle-dev-tools-btn {\n position: fixed;\n left: 77.4%;\n top: 0;\n background: red;\n padding: 5px;\n color: white;\n font-size: 1.4rem;\n margin: 0;\n z-index: 1;\n cursor: pointer;\n }\n\n #search-and-page-inputs {\n flex-wrap: wrap;\n row-gap: 2px;\n }\n\n #search-and-page-inputs > form {\n margin-right: 1rem;\n }\n\n #search-and-page-inputs label {\n display: inline-block;\n min-width: 50px;\n }\n\n #page-number-input {\n width: 75px;\n }\n\n .search-type {\n margin-right: 1rem;\n }\n\n #cell-controls {\n display: flex;\n flex-wrap: wrap;\n }\n\n #cell-controls label {\n display: inline-block;\n width: 10rem;\n }\n\n #cell-size-control,\n #cell-gap-control {\n flex-basis: calc(50% - 1rem);\n flex-grow: 1;\n }\n\n #cell-gap-control {\n margin-left: 1rem;\n }\n\n #checkbox-controls {\n padding-top: 0.5rem;\n flex-wrap: wrap;\n }\n\n .checkbox-control {\n flex-basis: 50%;\n }\n\n #last-event {\n background-color: aliceblue;\n padding: 5px;\n margin: 5px auto;\n }\n\n .hidden {\n display: none;\n }\n\n #toggle-controls {\n background-color: lightskyblue;\n padding: 5px;\n margin: 5px auto;\n }\n\n #search-types {\n margin: 5px auto;\n background-color: aliceblue;\n font-size: 1.6rem;\n }\n `;\n}\n"]}
|
|
@@ -1,21 +1,21 @@
|
|
|
1
1
|
import { LitElement, PropertyValues, TemplateResult } from 'lit';
|
|
2
2
|
import type { InfiniteScrollerCellProviderInterface } from '@internetarchive/infinite-scroller';
|
|
3
|
-
import { SearchServiceInterface, SearchType, SortDirection, SortParam } from '@internetarchive/search-service';
|
|
3
|
+
import { SearchResult, SearchServiceInterface, SearchType, SortDirection, SortParam } from '@internetarchive/search-service';
|
|
4
4
|
import type { SharedResizeObserverInterface, SharedResizeObserverResizeHandlerInterface } from '@internetarchive/shared-resize-observer';
|
|
5
5
|
import '@internetarchive/infinite-scroller';
|
|
6
6
|
import type { CollectionNameCacheInterface } from '@internetarchive/collection-name-cache';
|
|
7
7
|
import type { ModalManagerInterface } from '@internetarchive/modal-manager';
|
|
8
8
|
import type { FeatureFeedbackServiceInterface } from '@internetarchive/feature-feedback';
|
|
9
9
|
import type { RecaptchaManagerInterface } from '@internetarchive/recaptcha-manager';
|
|
10
|
-
import './tiles/tile-dispatcher';
|
|
11
|
-
import './tiles/collection-browser-loading-tile';
|
|
12
|
-
import './sort-filter-bar/sort-filter-bar';
|
|
13
|
-
import './collection-facets';
|
|
14
|
-
import './circular-activity-indicator';
|
|
15
|
-
import './sort-filter-bar/sort-filter-bar';
|
|
16
|
-
import { SelectedFacets, SortField, CollectionBrowserContext, TileModel, CollectionDisplayMode, FacetEventDetails } from './models';
|
|
17
|
-
import { RestorationStateHandlerInterface } from './restoration-state-handler';
|
|
18
|
-
import './empty-placeholder';
|
|
10
|
+
import './tiles/tile-dispatcher.js';
|
|
11
|
+
import './tiles/collection-browser-loading-tile.js';
|
|
12
|
+
import './sort-filter-bar/sort-filter-bar.js';
|
|
13
|
+
import './collection-facets.js';
|
|
14
|
+
import './circular-activity-indicator.js';
|
|
15
|
+
import './sort-filter-bar/sort-filter-bar.js';
|
|
16
|
+
import { SelectedFacets, SortField, CollectionBrowserContext, TileModel, CollectionDisplayMode, FacetEventDetails } from './models.js';
|
|
17
|
+
import { RestorationStateHandlerInterface } from './restoration-state-handler.js';
|
|
18
|
+
import './empty-placeholder.js';
|
|
19
19
|
export declare class CollectionBrowser extends LitElement implements InfiniteScrollerCellProviderInterface, SharedResizeObserverResizeHandlerInterface {
|
|
20
20
|
baseNavigationUrl?: string;
|
|
21
21
|
baseImageUrl: string;
|
|
@@ -49,6 +49,9 @@ export declare class CollectionBrowser extends LitElement implements InfiniteScr
|
|
|
49
49
|
* If item management UI active
|
|
50
50
|
*/
|
|
51
51
|
isManageView: boolean;
|
|
52
|
+
prerender: boolean;
|
|
53
|
+
prerenderSearchResults?: SearchResult[];
|
|
54
|
+
totalResults?: number;
|
|
52
55
|
/**
|
|
53
56
|
* The page that the consumer wants to load.
|
|
54
57
|
*/
|
|
@@ -68,7 +71,6 @@ export declare class CollectionBrowser extends LitElement implements InfiniteScr
|
|
|
68
71
|
private fullYearAggregationLoading;
|
|
69
72
|
private aggregations?;
|
|
70
73
|
private fullYearsHistogramAggregation;
|
|
71
|
-
private totalResults?;
|
|
72
74
|
private queryErrorMessage?;
|
|
73
75
|
private mobileView;
|
|
74
76
|
private mobileFacetsVisible;
|
|
@@ -5,19 +5,19 @@ import { customElement, property, query, state } from 'lit/decorators.js';
|
|
|
5
5
|
import { classMap } from 'lit/directives/class-map.js';
|
|
6
6
|
import { FilterConstraint, FilterMapBuilder, SearchType, } from '@internetarchive/search-service';
|
|
7
7
|
import '@internetarchive/infinite-scroller';
|
|
8
|
-
import './tiles/tile-dispatcher';
|
|
9
|
-
import './tiles/collection-browser-loading-tile';
|
|
10
|
-
import './sort-filter-bar/sort-filter-bar';
|
|
11
|
-
import './collection-facets';
|
|
12
|
-
import './circular-activity-indicator';
|
|
13
|
-
import './sort-filter-bar/sort-filter-bar';
|
|
14
|
-
import { SortField, SortFieldToMetadataField, getDefaultSelectedFacets, prefixFilterAggregationKeys, } from './models';
|
|
15
|
-
import { RestorationStateHandler, } from './restoration-state-handler';
|
|
16
|
-
import chevronIcon from './assets/img/icons/chevron';
|
|
17
|
-
import './empty-placeholder';
|
|
18
|
-
import { analyticsActions, analyticsCategories, } from './utils/analytics-events';
|
|
19
|
-
import { srOnlyStyle } from './styles/sr-only';
|
|
20
|
-
import { sha1 } from './utils/sha1';
|
|
8
|
+
import './tiles/tile-dispatcher.js';
|
|
9
|
+
import './tiles/collection-browser-loading-tile.js';
|
|
10
|
+
import './sort-filter-bar/sort-filter-bar.js';
|
|
11
|
+
import './collection-facets.js';
|
|
12
|
+
import './circular-activity-indicator.js';
|
|
13
|
+
import './sort-filter-bar/sort-filter-bar.js';
|
|
14
|
+
import { SortField, SortFieldToMetadataField, getDefaultSelectedFacets, prefixFilterAggregationKeys, } from './models.js';
|
|
15
|
+
import { RestorationStateHandler, } from './restoration-state-handler.js';
|
|
16
|
+
import chevronIcon from './assets/img/icons/chevron.js';
|
|
17
|
+
import './empty-placeholder.js';
|
|
18
|
+
import { analyticsActions, analyticsCategories, } from './utils/analytics-events.js';
|
|
19
|
+
import { srOnlyStyle } from './styles/sr-only.js';
|
|
20
|
+
import { sha1 } from './utils/sha1.js';
|
|
21
21
|
let CollectionBrowser = class CollectionBrowser extends LitElement {
|
|
22
22
|
constructor() {
|
|
23
23
|
super(...arguments);
|
|
@@ -43,6 +43,7 @@ let CollectionBrowser = class CollectionBrowser extends LitElement {
|
|
|
43
43
|
* If item management UI active
|
|
44
44
|
*/
|
|
45
45
|
this.isManageView = false;
|
|
46
|
+
this.prerender = false;
|
|
46
47
|
/**
|
|
47
48
|
* The page that the consumer wants to load.
|
|
48
49
|
*/
|
|
@@ -241,7 +242,12 @@ let CollectionBrowser = class CollectionBrowser extends LitElement {
|
|
|
241
242
|
this.selectedCreatorFilter);
|
|
242
243
|
}
|
|
243
244
|
render() {
|
|
245
|
+
var _a;
|
|
244
246
|
this.setPlaceholderType();
|
|
247
|
+
if (this.prerender && this.prerenderSearchResults) {
|
|
248
|
+
this.updateDataSource(1, this.prerenderSearchResults);
|
|
249
|
+
(_a = this.totalResults) !== null && _a !== void 0 ? _a : (this.totalResults = this.prerenderSearchResults.length);
|
|
250
|
+
}
|
|
245
251
|
return html `
|
|
246
252
|
<div
|
|
247
253
|
id="content-container"
|
|
@@ -255,6 +261,8 @@ let CollectionBrowser = class CollectionBrowser extends LitElement {
|
|
|
255
261
|
}
|
|
256
262
|
setPlaceholderType() {
|
|
257
263
|
var _a;
|
|
264
|
+
if (this.prerender && this.prerenderSearchResults)
|
|
265
|
+
return null;
|
|
258
266
|
this.placeholderType = null;
|
|
259
267
|
if (!((_a = this.baseQuery) === null || _a === void 0 ? void 0 : _a.trim())) {
|
|
260
268
|
this.placeholderType = 'empty-query';
|
|
@@ -266,6 +274,7 @@ let CollectionBrowser = class CollectionBrowser extends LitElement {
|
|
|
266
274
|
if (this.queryErrorMessage) {
|
|
267
275
|
this.placeholderType = 'query-error';
|
|
268
276
|
}
|
|
277
|
+
return this.placeholderType;
|
|
269
278
|
}
|
|
270
279
|
get emptyPlaceholderTemplate() {
|
|
271
280
|
var _a;
|
|
@@ -368,10 +377,14 @@ let CollectionBrowser = class CollectionBrowser extends LitElement {
|
|
|
368
377
|
`;
|
|
369
378
|
}
|
|
370
379
|
get infiniteScrollerTemplate() {
|
|
380
|
+
let itemCount = this.placeholderType ? 0 : nothing;
|
|
381
|
+
if (this.prerender && this.totalResults)
|
|
382
|
+
itemCount = this.totalResults;
|
|
371
383
|
return html `<infinite-scroller
|
|
372
384
|
class=${this.infiniteScrollerClasses}
|
|
373
|
-
itemCount=${this.placeholderType ? 0 : nothing}
|
|
374
385
|
ariaLandmarkLabel="Search results"
|
|
386
|
+
?prerender=${this.prerender}
|
|
387
|
+
.itemCount=${itemCount}
|
|
375
388
|
.cellProvider=${this}
|
|
376
389
|
.placeholderCellTemplate=${this.placeholderCellTemplate}
|
|
377
390
|
@scrollThresholdReached=${this.scrollThresholdReached}
|
|
@@ -1500,6 +1513,7 @@ let CollectionBrowser = class CollectionBrowser extends LitElement {
|
|
|
1500
1513
|
return undefined;
|
|
1501
1514
|
return html `
|
|
1502
1515
|
<tile-dispatcher
|
|
1516
|
+
?prerender=${this.prerender}
|
|
1503
1517
|
.baseNavigationUrl=${this.baseNavigationUrl}
|
|
1504
1518
|
.baseImageUrl=${this.baseImageUrl}
|
|
1505
1519
|
.model=${model}
|
|
@@ -1981,6 +1995,15 @@ __decorate([
|
|
|
1981
1995
|
__decorate([
|
|
1982
1996
|
property({ type: Boolean })
|
|
1983
1997
|
], CollectionBrowser.prototype, "isManageView", void 0);
|
|
1998
|
+
__decorate([
|
|
1999
|
+
property({ type: Boolean })
|
|
2000
|
+
], CollectionBrowser.prototype, "prerender", void 0);
|
|
2001
|
+
__decorate([
|
|
2002
|
+
property({ type: Object })
|
|
2003
|
+
], CollectionBrowser.prototype, "prerenderSearchResults", void 0);
|
|
2004
|
+
__decorate([
|
|
2005
|
+
property({ type: Number })
|
|
2006
|
+
], CollectionBrowser.prototype, "totalResults", void 0);
|
|
1984
2007
|
__decorate([
|
|
1985
2008
|
state()
|
|
1986
2009
|
], CollectionBrowser.prototype, "pagesToRender", void 0);
|
|
@@ -1999,9 +2022,6 @@ __decorate([
|
|
|
1999
2022
|
__decorate([
|
|
2000
2023
|
state()
|
|
2001
2024
|
], CollectionBrowser.prototype, "fullYearsHistogramAggregation", void 0);
|
|
2002
|
-
__decorate([
|
|
2003
|
-
state()
|
|
2004
|
-
], CollectionBrowser.prototype, "totalResults", void 0);
|
|
2005
2025
|
__decorate([
|
|
2006
2026
|
state()
|
|
2007
2027
|
], CollectionBrowser.prototype, "queryErrorMessage", void 0);
|