|
1 | 1 | import type { UmbMediaCollectionFilterModel, UmbMediaCollectionItemModel } from './types.js';
|
2 | 2 | import { UMB_MEDIA_GRID_COLLECTION_VIEW_ALIAS } from './views/index.js';
|
3 |
| -import { UmbImagingRepository } from '@umbraco-cms/backoffice/imaging'; |
4 |
| -import { UmbArrayState } from '@umbraco-cms/backoffice/observable-api'; |
5 | 3 | import { UmbDefaultCollectionContext } from '@umbraco-cms/backoffice/collection';
|
6 | 4 | import type { UmbControllerHost } from '@umbraco-cms/backoffice/controller-api';
|
7 | 5 |
|
8 | 6 | export class UmbMediaCollectionContext extends UmbDefaultCollectionContext<
|
9 | 7 | UmbMediaCollectionItemModel,
|
10 | 8 | UmbMediaCollectionFilterModel
|
11 | 9 | > {
|
12 |
| - #imagingRepository: UmbImagingRepository; |
13 |
| - |
14 |
| - #thumbnailItems = new UmbArrayState<UmbMediaCollectionItemModel>([], (x) => x.unique); |
15 |
| - public readonly thumbnailItems = this.#thumbnailItems.asObservable(); |
| 10 | + /** |
| 11 | + * The thumbnail items that are currently displayed in the collection. |
| 12 | + * @deprecated Use the `<umb-imaging-thumbnail>` element instead. |
| 13 | + */ |
| 14 | + public readonly thumbnailItems = this.items; |
16 | 15 |
|
17 | 16 | constructor(host: UmbControllerHost) {
|
18 | 17 | super(host, UMB_MEDIA_GRID_COLLECTION_VIEW_ALIAS);
|
19 |
| - this.#imagingRepository = new UmbImagingRepository(host); |
20 |
| - |
21 |
| - this.observe(this.items, async (items) => { |
22 |
| - if (!items?.length) return; |
23 |
| - |
24 |
| - const { data } = await this.#imagingRepository.requestThumbnailUrls( |
25 |
| - items.map((m) => m.unique), |
26 |
| - 400, |
27 |
| - 400, |
28 |
| - ); |
29 |
| - |
30 |
| - this.#thumbnailItems.setValue( |
31 |
| - items.map((item) => { |
32 |
| - const thumbnail = data?.find((m) => m.unique === item.unique)?.url; |
33 |
| - return { ...item, url: thumbnail }; |
34 |
| - }), |
35 |
| - ); |
36 |
| - }); |
37 | 18 | }
|
38 | 19 | }
|
39 | 20 |
|
|
0 commit comments