diff --git a/src/Umbraco.Core/Constants-Icons.cs b/src/Umbraco.Core/Constants-Icons.cs
index 53501a012c90..cf2c263d83c7 100644
--- a/src/Umbraco.Core/Constants-Icons.cs
+++ b/src/Umbraco.Core/Constants-Icons.cs
@@ -67,7 +67,7 @@ public static class Icons
///
/// System media audio icon.
///
- public const string MediaAudio = "icon-sound-waves";
+ public const string MediaAudio = "icon-audio-lines";
///
/// System media article icon
@@ -77,7 +77,7 @@ public static class Icons
///
/// System media vector icon.
///
- public const string MediaVectorGraphics = "icon-picture";
+ public const string MediaVectorGraphics = "icon-origami";
///
/// System media folder icon.
diff --git a/src/Umbraco.Web.UI.Client/src/mocks/data/media-type/media-type.data.ts b/src/Umbraco.Web.UI.Client/src/mocks/data/media-type/media-type.data.ts
index 9378249bf40e..389ec141bae2 100644
--- a/src/Umbraco.Web.UI.Client/src/mocks/data/media-type/media-type.data.ts
+++ b/src/Umbraco.Web.UI.Client/src/mocks/data/media-type/media-type.data.ts
@@ -15,7 +15,7 @@ export const data: Array = [
parent: null,
description: 'Media type 1 description',
alias: 'mediaType1',
- icon: 'icon-bug',
+ icon: 'icon-picture',
properties: [
{
id: '19',
@@ -99,4 +99,204 @@ export const data: Array = [
isDeletable: false,
aliasCanBeChanged: false,
},
+ {
+ name: 'Media Type 2',
+ id: 'media-type-2-id',
+ parent: null,
+ description: 'Media type 2 description',
+ alias: 'mediaType2',
+ icon: 'icon-audio-lines',
+ properties: [
+ {
+ id: '19',
+ container: { id: 'c3cd2f12-b7c4-4206-8d8b-27c061589f75' },
+ alias: 'umbracoFile',
+ name: 'File',
+ description: '',
+ dataType: { id: 'dt-uploadField' },
+ variesByCulture: false,
+ variesBySegment: false,
+ sortOrder: 0,
+ validation: {
+ mandatory: true,
+ mandatoryMessage: null,
+ regEx: null,
+ regExMessage: null,
+ },
+ appearance: {
+ labelOnTop: false,
+ },
+ },
+ ],
+ containers: [
+ {
+ id: 'c3cd2f12-b7c4-4206-8d8b-27c061589f75',
+ parent: null,
+ name: 'Content',
+ type: 'Group',
+ sortOrder: 0,
+ },
+ ],
+ allowedAsRoot: true,
+ variesByCulture: false,
+ variesBySegment: false,
+ isElement: false,
+ allowedMediaTypes: [{ mediaType: { id: 'media-type-2-id' }, sortOrder: 0 }],
+ compositions: [],
+ isFolder: false,
+ hasChildren: false,
+ collection: { id: 'dt-collectionView' },
+ isDeletable: false,
+ aliasCanBeChanged: false,
+ },
+ {
+ name: 'Media Type 3',
+ id: 'media-type-3-id',
+ parent: null,
+ description: 'Media type 3 description',
+ alias: 'mediaType3',
+ icon: 'icon-origami',
+ properties: [
+ {
+ id: '19',
+ container: { id: 'c3cd2f12-b7c4-4206-8d8b-27c061589f75' },
+ alias: 'umbracoFile',
+ name: 'File',
+ description: '',
+ dataType: { id: 'dt-uploadField' },
+ variesByCulture: false,
+ variesBySegment: false,
+ sortOrder: 0,
+ validation: {
+ mandatory: true,
+ mandatoryMessage: null,
+ regEx: null,
+ regExMessage: null,
+ },
+ appearance: {
+ labelOnTop: false,
+ },
+ },
+ ],
+ containers: [
+ {
+ id: 'c3cd2f12-b7c4-4206-8d8b-27c061589f75',
+ parent: null,
+ name: 'Content',
+ type: 'Group',
+ sortOrder: 0,
+ },
+ ],
+ allowedAsRoot: true,
+ variesByCulture: false,
+ variesBySegment: false,
+ isElement: false,
+ allowedMediaTypes: [{ mediaType: { id: 'media-type-3-id' }, sortOrder: 0 }],
+ compositions: [],
+ isFolder: false,
+ hasChildren: false,
+ collection: { id: 'dt-collectionView' },
+ isDeletable: false,
+ aliasCanBeChanged: false,
+ },
+ {
+ name: 'Media Type 4',
+ id: 'media-type-4-id',
+ parent: null,
+ description: 'Media type 4 description',
+ alias: 'mediaType4',
+ icon: 'icon-video',
+ properties: [
+ {
+ id: '19',
+ container: { id: 'c3cd2f12-b7c4-4206-8d8b-27c061589f75' },
+ alias: 'umbracoFile',
+ name: 'File',
+ description: '',
+ dataType: { id: 'dt-uploadField' },
+ variesByCulture: false,
+ variesBySegment: false,
+ sortOrder: 0,
+ validation: {
+ mandatory: true,
+ mandatoryMessage: null,
+ regEx: null,
+ regExMessage: null,
+ },
+ appearance: {
+ labelOnTop: false,
+ },
+ },
+ ],
+ containers: [
+ {
+ id: 'c3cd2f12-b7c4-4206-8d8b-27c061589f75',
+ parent: null,
+ name: 'Content',
+ type: 'Group',
+ sortOrder: 0,
+ },
+ ],
+ allowedAsRoot: true,
+ variesByCulture: false,
+ variesBySegment: false,
+ isElement: false,
+ allowedMediaTypes: [{ mediaType: { id: 'media-type-4-id' }, sortOrder: 0 }],
+ compositions: [],
+ isFolder: false,
+ hasChildren: false,
+ collection: { id: 'dt-collectionView' },
+ isDeletable: false,
+ aliasCanBeChanged: false,
+ },
+ {
+ name: 'Media Type 5',
+ id: 'media-type-5-id',
+ parent: null,
+ description: 'Media type 5 description',
+ alias: 'mediaType5',
+ icon: 'icon-document',
+ properties: [
+ {
+ id: '19',
+ container: { id: 'c3cd2f12-b7c4-4206-8d8b-27c061589f75' },
+ alias: 'umbracoFile',
+ name: 'File',
+ description: '',
+ dataType: { id: 'dt-uploadField' },
+ variesByCulture: false,
+ variesBySegment: false,
+ sortOrder: 0,
+ validation: {
+ mandatory: true,
+ mandatoryMessage: null,
+ regEx: null,
+ regExMessage: null,
+ },
+ appearance: {
+ labelOnTop: false,
+ },
+ },
+ ],
+ containers: [
+ {
+ id: 'c3cd2f12-b7c4-4206-8d8b-27c061589f75',
+ parent: null,
+ name: 'Content',
+ type: 'Group',
+ sortOrder: 0,
+ },
+ ],
+ allowedAsRoot: true,
+ variesByCulture: false,
+ variesBySegment: false,
+ isElement: false,
+ allowedMediaTypes: [{ mediaType: { id: 'media-type-5-id' }, sortOrder: 0 }],
+ compositions: [],
+ isFolder: false,
+ hasChildren: false,
+ collection: { id: 'dt-collectionView' },
+ isDeletable: false,
+ aliasCanBeChanged: false,
+ },
];
diff --git a/src/Umbraco.Web.UI.Client/src/mocks/handlers/media-type/tree.handlers.ts b/src/Umbraco.Web.UI.Client/src/mocks/handlers/media-type/tree.handlers.ts
index 2d113dee3501..75683e8e545f 100644
--- a/src/Umbraco.Web.UI.Client/src/mocks/handlers/media-type/tree.handlers.ts
+++ b/src/Umbraco.Web.UI.Client/src/mocks/handlers/media-type/tree.handlers.ts
@@ -19,4 +19,11 @@ export const treeHandlers = [
const response = umbMediaTypeMockDb.tree.getChildrenOf({ parentId, skip, take });
return res(ctx.status(200), ctx.json(response));
}),
+
+ rest.get(umbracoPath(`/tree${UMB_SLUG}/ancestors`), (req, res, ctx) => {
+ const id = req.url.searchParams.get('descendantId');
+ if (!id) return;
+ const response = umbMediaTypeMockDb.tree.getAncestorsOf({ descendantId: id });
+ return res(ctx.status(200), ctx.json(response));
+ }),
];
diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/icon-registry/icon-dictionary.json b/src/Umbraco.Web.UI.Client/src/packages/core/icon-registry/icon-dictionary.json
index d35848792777..2cd9c3caeecd 100644
--- a/src/Umbraco.Web.UI.Client/src/packages/core/icon-registry/icon-dictionary.json
+++ b/src/Umbraco.Web.UI.Client/src/packages/core/icon-registry/icon-dictionary.json
@@ -72,6 +72,10 @@
"name": "icon-attachment",
"file": "paperclip.svg"
},
+ {
+ "name": "icon-audio-lines",
+ "file": "audio-lines.svg"
+ },
{
"name": "icon-autofill",
"file": "text-cursor-input.svg"
@@ -1374,6 +1378,10 @@
"name": "icon-ordered-list",
"file": "list-ordered.svg"
},
+ {
+ "name": "icon-origami",
+ "file": "origami.svg"
+ },
{
"name": "icon-out",
"file": "external-link.svg"
@@ -2712,4 +2720,4 @@
"file": "icon-umbraco.svg"
}
]
-}
+}
\ No newline at end of file
diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/icon-registry/icons.ts b/src/Umbraco.Web.UI.Client/src/packages/core/icon-registry/icons.ts
index 8855310df5ae..f02b1643b8a7 100644
--- a/src/Umbraco.Web.UI.Client/src/packages/core/icon-registry/icons.ts
+++ b/src/Umbraco.Web.UI.Client/src/packages/core/icon-registry/icons.ts
@@ -71,6 +71,10 @@ name: "icon-attachment",
path: () => import("./icons/icon-attachment.js"),
},{
+name: "icon-audio-lines",
+
+path: () => import("./icons/icon-audio-lines.js"),
+},{
name: "icon-autofill",
path: () => import("./icons/icon-autofill.js"),
@@ -1299,6 +1303,10 @@ name: "icon-ordered-list",
path: () => import("./icons/icon-ordered-list.js"),
},{
+name: "icon-origami",
+
+path: () => import("./icons/icon-origami.js"),
+},{
name: "icon-out",
path: () => import("./icons/icon-out.js"),
diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/icon-registry/icons/icon-audio-lines.ts b/src/Umbraco.Web.UI.Client/src/packages/core/icon-registry/icons/icon-audio-lines.ts
new file mode 100644
index 000000000000..d2aa21c15467
--- /dev/null
+++ b/src/Umbraco.Web.UI.Client/src/packages/core/icon-registry/icons/icon-audio-lines.ts
@@ -0,0 +1,19 @@
+export default `
+
+`;
\ No newline at end of file
diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/icon-registry/icons/icon-origami.ts b/src/Umbraco.Web.UI.Client/src/packages/core/icon-registry/icons/icon-origami.ts
new file mode 100644
index 000000000000..bf9f34a255a4
--- /dev/null
+++ b/src/Umbraco.Web.UI.Client/src/packages/core/icon-registry/icons/icon-origami.ts
@@ -0,0 +1,16 @@
+export default `
+
+`;
\ No newline at end of file