add null check for variants

This commit is contained in:
Mads Rasmussen
2024-01-29 15:48:31 +01:00
parent b45090414a
commit b4713b8dbc
12 changed files with 81 additions and 30 deletions

View File

@@ -33,7 +33,7 @@ export const data: Array<UmbMockMediaModel> = [
publishDate: '2023-02-06T15:31:51.354764',
culture: 'en-us',
segment: null,
name: 'Article in english',
name: 'Flipped Car',
createDate: '2023-02-06T15:31:46.876902',
updateDate: '2023-02-06T15:31:51.354764',
},
@@ -57,7 +57,17 @@ export const data: Array<UmbMockMediaModel> = [
value: 'Every day, a rabbit in a military costume greets me at the front door',
},
],
variants: [],
variants: [
{
state: ContentStateModel.PUBLISHED,
publishDate: '2023-02-06T15:31:51.354764',
culture: 'en-us',
segment: null,
name: 'Umbracoffee',
createDate: '2023-02-06T15:31:46.876902',
updateDate: '2023-02-06T15:31:51.354764',
},
],
urls: [],
},
{
@@ -72,7 +82,17 @@ export const data: Array<UmbMockMediaModel> = [
hasListView: false,
},
values: [],
variants: [],
variants: [
{
state: ContentStateModel.PUBLISHED,
publishDate: '2023-02-06T15:31:51.354764',
culture: 'en-us',
segment: null,
name: 'People',
createDate: '2023-02-06T15:31:46.876902',
updateDate: '2023-02-06T15:31:51.354764',
},
],
urls: [],
},
{
@@ -87,7 +107,17 @@ export const data: Array<UmbMockMediaModel> = [
hasListView: false,
},
values: [],
variants: [],
variants: [
{
state: ContentStateModel.PUBLISHED,
publishDate: '2023-02-06T15:31:51.354764',
culture: 'en-us',
segment: null,
name: 'John Smith',
createDate: '2023-02-06T15:31:46.876902',
updateDate: '2023-02-06T15:31:51.354764',
},
],
urls: [],
},
{
@@ -107,7 +137,17 @@ export const data: Array<UmbMockMediaModel> = [
value: 'Every day, a rabbit in a military costume greets me at the front door',
},
],
variants: [],
variants: [
{
state: ContentStateModel.PUBLISHED,
publishDate: '2023-02-06T15:31:51.354764',
culture: 'en-us',
segment: null,
name: 'Jane Doe',
createDate: '2023-02-06T15:31:46.876902',
updateDate: '2023-02-06T15:31:51.354764',
},
],
urls: [],
},
{
@@ -147,7 +187,17 @@ export const data: Array<UmbMockMediaModel> = [
value: 'Every day, a rabbit in a military costume greets me at the front door',
},
],
variants: [],
variants: [
{
state: ContentStateModel.PUBLISHED,
publishDate: '2023-02-06T15:31:51.354764',
culture: 'en-us',
segment: null,
name: 'A very nice hat',
createDate: '2023-02-06T15:31:46.876902',
updateDate: '2023-02-06T15:31:51.354764',
},
],
urls: [],
},
{
@@ -167,16 +217,17 @@ export const data: Array<UmbMockMediaModel> = [
value: 'Every day, a rabbit in a military costume greets me at the front door',
},
],
variants: [],
variants: [
{
state: ContentStateModel.PUBLISHED,
publishDate: '2023-02-06T15:31:51.354764',
culture: 'en-us',
segment: null,
name: 'Fancy old chair',
createDate: '2023-02-06T15:31:46.876902',
updateDate: '2023-02-06T15:31:51.354764',
},
],
urls: [],
},
];
const createMediaItem = (item: UmbMockMediaModel): MediaItemResponseModel => {
return {
id: item.id,
mediaType: item.mediaType,
isTrashed: false,
variants: item.variants,
};
};

View File

@@ -79,7 +79,7 @@ export class UmbInputDocumentPickerRootElement extends FormControlMixin(UmbLitEl
private _renderItem(item: UmbDocumentItemModel) {
if (!item.unique) return;
// TODO: get correct variant name
const name = item.variants[0].name;
const name = item.variants[0]?.name;
return html`
<uui-ref-node name=${name} detail=${ifDefined(item.unique)}>
<!-- TODO: implement is trashed <uui-tag size="s" slot="tag" color="danger">Trashed</uui-tag> -->

View File

@@ -184,7 +184,7 @@ export class UmbInputDocumentElement extends FormControlMixin(UmbLitElement) {
#renderItem(item: UmbDocumentItemModel) {
if (!item.unique) return;
// TODO: get correct variant name
const name = item.variants[0].name;
const name = item.variants[0]?.name;
return html`
<uui-ref-node name=${name} detail=${ifDefined(item.unique)}>
@@ -213,7 +213,7 @@ export class UmbInputDocumentElement extends FormControlMixin(UmbLitElement) {
if (!this.showOpenButton) return;
// TODO: get correct variant name
const name = item.variants[0].name;
const name = item.variants[0]?.name;
return html`
<uui-button

View File

@@ -49,6 +49,6 @@ const mapper = (item: DocumentRecycleBinItemResponseModel): UmbDocumentRecycleBi
entityType: 'document-recycle-bin',
hasChildren: item.hasChildren,
isFolder: false,
name: item.variants[0].name, // TODO: this is not correct. We need to get it from the variants. This is a temp solution.
name: item.variants[0]?.name, // TODO: this is not correct. We need to get it from the variants. This is a temp solution.
};
};

View File

@@ -47,6 +47,6 @@ const mapper = (item: DocumentItemResponseModel): UmbDocumentItemModel => {
state: variant.state,
};
}),
name: item.variants[0].name, // TODO: this is not correct. We need to get it from the variants. This is a temp solution.
name: item.variants[0]?.name, // TODO: this is not correct. We need to get it from the variants. This is a temp solution.
};
};

View File

@@ -64,7 +64,7 @@ const mapper = (item: DocumentTreeItemResponseModel): UmbDocumentTreeItemModel =
state: variant.state,
};
}),
name: item.variants[0].name, // TODO: this is not correct. We need to get it from the variants. This is a temp solution.
name: item.variants[0]?.name, // TODO: this is not correct. We need to get it from the variants. This is a temp solution.
isFolder: false,
};
};

View File

@@ -46,6 +46,6 @@ const mapper = (item: MediaItemResponseModel): UmbMediaItemModel => {
state: variant.state,
};
}),
name: item.variants[0].name, // TODO: get correct variant name
name: item.variants[0]?.name, // TODO: get correct variant name
};
};

View File

@@ -38,7 +38,7 @@ const tree: ManifestTree = {
const treeItem: ManifestTreeItem = {
type: 'treeItem',
kind: 'entity',
kind: 'unique',
alias: 'Umb.TreeItem.Media',
name: 'Media Tree Item',
meta: {

View File

@@ -56,7 +56,7 @@ const mapper = (item: MediaTreeItemResponseModel): UmbMediaTreeItemModel => {
icon: item.mediaType.icon,
hasListView: item.mediaType.hasListView,
},
name: item.variants[0].name, // TODO: this is not correct. We need to get it from the variants. This is a temp solution.
name: item.variants[0]?.name, // TODO: this is not correct. We need to get it from the variants. This is a temp solution.
variants: item.variants.map((variant) => {
return {
name: variant.name,

View File

@@ -1,14 +1,14 @@
import { UmbContextToken } from '@umbraco-cms/backoffice/context-api';
import type { UmbControllerHostElement } from '@umbraco-cms/backoffice/controller-api';
import { UmbEntityTreeStore } from '@umbraco-cms/backoffice/tree';
import { UmbUniqueTreeStore } from '@umbraco-cms/backoffice/tree';
/**
* @export
* @class UmbMediaTreeStore
* @extends {UmbStoreBase}
* @extends {UmbUniqueTreeStore}
* @description - Tree Data Store for Media Items
*/
export class UmbMediaTreeStore extends UmbEntityTreeStore {
export class UmbMediaTreeStore extends UmbUniqueTreeStore {
/**
* Creates an instance of UmbMediaTreeStore.
* @param {UmbControllerHostElement} host

View File

@@ -35,7 +35,7 @@ export class UmbUserDocumentStartNodeElement extends UmbLitElement {
(item) => {
return html`
<!-- TODO: get correct variant name -->
<uui-ref-node name=${item.variants[0].name}>
<uui-ref-node name=${item.variants[0]?.name}>
<uui-icon slot="icon" name="folder"></uui-icon>
</uui-ref-node>
`;

View File

@@ -35,7 +35,7 @@ export class UmbUserMediaStartNodeElement extends UmbLitElement {
(item) => {
return html`
<!-- TODO: get correct variant name -->
<uui-ref-node name=${ifDefined(item.variants[0].name)}>
<uui-ref-node name=${ifDefined(item.variants[0]?.name)}>
<uui-icon slot="icon" name="folder"></uui-icon>
</uui-ref-node>
`;