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