Skip to content
Original file line number Diff line number Diff line change
@@ -1,7 +1,19 @@
import { CompositionTypeModel } from '@umbraco-cms/backoffice/external/backend-api';
import type { UmbMockDocumentTypeModel } from '../../mock-data-set.types.js';

export const INVARIANT_DOCUMENT_TYPE_ID = 'variant-documents-invariant-document-type-id';
export const VARIANT_DOCUMENT_TYPE_ID = 'variant-documents-variant-document-type-id';
export const SEGMENT_VARIANT_DOCUMENT_TYPE_ID = 'variant-documents-segment-variant-document-type-id';
export const COMPOSED_FOLDER_ID = 'variant-documents-composed-folder-id';
export const COMPOSITION_INVARIANT_DOCUMENT_TYPE_ID = 'variant-documents-composition-invariant-document-type-id';
export const COMPOSITION_CULTURE_VARIANT_DOCUMENT_TYPE_ID =
'variant-documents-composition-culture-variant-document-type-id';
export const COMPOSITION_SEGMENT_VARIANT_DOCUMENT_TYPE_ID =
'variant-documents-composition-segment-variant-document-type-id';
export const INVARIANT_DOCUMENT_TYPE_WITH_CULTURE_VARIANT_COMPOSITION_ID =
'variant-documents-invariant-document-type-with-culture-variant-composition-id';
export const INVARIANT_DOCUMENT_TYPE_WITH_SEGMENT_VARIANT_COMPOSITION_ID =
'variant-documents-invariant-document-type-with-segment-variant-composition-id';

export const data: Array<UmbMockDocumentTypeModel> = [
{
Expand Down Expand Up @@ -118,4 +130,348 @@ export const data: Array<UmbMockDocumentTypeModel> = [
},
flags: [],
},
{
id: SEGMENT_VARIANT_DOCUMENT_TYPE_ID,
alias: 'segmentVariantDocumentType',
name: 'Segment Variant Document Type',
description: null,
icon: 'icon-document',
allowedTemplates: [],
defaultTemplate: null,
allowedAsRoot: true,
variesByCulture: false,
variesBySegment: true,
isElement: false,
hasChildren: false,
parent: null,
isFolder: false,
properties: [
{
id: 'variant-documents-segment-variant-prop-text-id',
container: null,
alias: 'text',
name: 'Text',
description: null,
dataType: { id: 'variant-documents-textstring-data-type-id' },
variesByCulture: false,
variesBySegment: false,
sortOrder: 0,
validation: {
mandatory: false,
mandatoryMessage: null,
regEx: null,
regExMessage: null,
},
appearance: {
labelOnTop: false,
},
},
{
id: 'variant-documents-segment-variant-prop-segment-text-id',
container: null,
alias: 'segmentText',
name: 'Segment Text',
description: null,
dataType: { id: 'variant-documents-textstring-data-type-id' },
variesByCulture: false,
variesBySegment: true,
sortOrder: 1,
validation: {
mandatory: false,
mandatoryMessage: null,
regEx: null,
regExMessage: null,
},
appearance: {
labelOnTop: false,
},
},
],
containers: [],
allowedDocumentTypes: [],
compositions: [],
cleanup: {
preventCleanup: false,
keepAllVersionsNewerThanDays: null,
keepLatestVersionPerDayForDays: null,
},
flags: [],
},
{
id: COMPOSED_FOLDER_ID,
alias: 'composedFolder',
name: 'Composed',
description: null,
icon: 'icon-folder',
allowedTemplates: [],
defaultTemplate: null,
allowedAsRoot: true,
variesByCulture: false,
variesBySegment: false,
isElement: false,
hasChildren: true,
parent: null,
isFolder: true,
properties: [],
containers: [],
allowedDocumentTypes: [],
compositions: [],
cleanup: {
preventCleanup: false,
keepAllVersionsNewerThanDays: null,
keepLatestVersionPerDayForDays: null,
},
flags: [],
},
{
id: COMPOSITION_INVARIANT_DOCUMENT_TYPE_ID,
alias: 'compositionInvariant',
name: 'Composition Invariant',
description: null,
icon: 'icon-document',
allowedTemplates: [],
defaultTemplate: null,
allowedAsRoot: false,
variesByCulture: false,
variesBySegment: false,
isElement: false,
hasChildren: false,
parent: { id: COMPOSED_FOLDER_ID },
isFolder: false,
properties: [
{
id: 'variant-documents-composition-invariant-prop-text-id',
container: null,
alias: 'compositionInvariantText',
name: 'Composition Invariant Text',
description: null,
dataType: { id: 'variant-documents-textstring-data-type-id' },
variesByCulture: false,
variesBySegment: false,
sortOrder: 0,
validation: {
mandatory: false,
mandatoryMessage: null,
regEx: null,
regExMessage: null,
},
appearance: {
labelOnTop: false,
},
},
],
containers: [],
allowedDocumentTypes: [],
compositions: [],
cleanup: {
preventCleanup: false,
keepAllVersionsNewerThanDays: null,
keepLatestVersionPerDayForDays: null,
},
flags: [],
},
{
// Culture-variant composition — composed onto invariant doc types to produce a property
// that is variesByCulture: true even though the host doc type itself is invariant.
id: COMPOSITION_CULTURE_VARIANT_DOCUMENT_TYPE_ID,
alias: 'compositionCultureVariant',
name: 'Composition Culture Variant',
description: null,
icon: 'icon-document',
allowedTemplates: [],
defaultTemplate: null,
allowedAsRoot: false,
variesByCulture: true,
variesBySegment: false,
isElement: false,
hasChildren: false,
parent: { id: COMPOSED_FOLDER_ID },
isFolder: false,
properties: [
{
id: 'variant-documents-composition-culture-variant-prop-invariant-text-id',
container: null,
alias: 'compositionCultureInvariantText',
name: 'Composition Culture Invariant Text',
description: null,
dataType: { id: 'variant-documents-textstring-data-type-id' },
variesByCulture: false,
variesBySegment: false,
sortOrder: 0,
validation: {
mandatory: false,
mandatoryMessage: null,
regEx: null,
regExMessage: null,
},
appearance: {
labelOnTop: false,
},
},
{
id: 'variant-documents-composition-culture-variant-prop-variant-text-id',
container: null,
alias: 'compositionCultureVariantText',
name: 'Composition Culture Variant Text',
description: null,
dataType: { id: 'variant-documents-textstring-data-type-id' },
variesByCulture: true,
variesBySegment: false,
sortOrder: 1,
validation: {
mandatory: false,
mandatoryMessage: null,
regEx: null,
regExMessage: null,
},
appearance: {
labelOnTop: false,
},
},
],
containers: [],
allowedDocumentTypes: [],
compositions: [],
cleanup: {
preventCleanup: false,
keepAllVersionsNewerThanDays: null,
keepLatestVersionPerDayForDays: null,
},
flags: [],
},
{
id: COMPOSITION_SEGMENT_VARIANT_DOCUMENT_TYPE_ID,
alias: 'compositionSegmentVariant',
name: 'Composition Segment Variant',
description: null,
icon: 'icon-document',
allowedTemplates: [],
defaultTemplate: null,
allowedAsRoot: false,
variesByCulture: false,
variesBySegment: true,
isElement: false,
hasChildren: false,
parent: { id: COMPOSED_FOLDER_ID },
isFolder: false,
properties: [
{
id: 'variant-documents-composition-segment-variant-prop-invariant-text-id',
container: null,
alias: 'compositionSegmentInvariantText',
name: 'Composition Segment Invariant Text',
description: null,
dataType: { id: 'variant-documents-textstring-data-type-id' },
variesByCulture: false,
variesBySegment: false,
sortOrder: 0,
validation: {
mandatory: false,
mandatoryMessage: null,
regEx: null,
regExMessage: null,
},
appearance: {
labelOnTop: false,
},
},
{
id: 'variant-documents-composition-segment-variant-prop-text-id',
container: null,
alias: 'compositionSegmentText',
name: 'Composition Segment Text',
description: null,
dataType: { id: 'variant-documents-textstring-data-type-id' },
variesByCulture: false,
variesBySegment: true,
sortOrder: 1,
validation: {
mandatory: false,
mandatoryMessage: null,
regEx: null,
regExMessage: null,
},
appearance: {
labelOnTop: false,
},
},
],
containers: [],
allowedDocumentTypes: [],
compositions: [],
cleanup: {
preventCleanup: false,
keepAllVersionsNewerThanDays: null,
keepLatestVersionPerDayForDays: null,
},
flags: [],
},
{
// Invariant With Culture Variant Composition composes COMPOSITION_CULTURE_VARIANT_DOCUMENT_TYPE_ID.
// Properties are owned by the composition; the structure manager loads the composition type
// separately and flattens its properties alongside this type's own.
id: INVARIANT_DOCUMENT_TYPE_WITH_CULTURE_VARIANT_COMPOSITION_ID,
alias: 'invariantWithCultureVariantComposition',
name: 'Invariant With Culture Variant Composition',
description: null,
icon: 'icon-document',
allowedTemplates: [],
defaultTemplate: null,
allowedAsRoot: true,
variesByCulture: false,
variesBySegment: false,
isElement: false,
hasChildren: false,
parent: { id: COMPOSED_FOLDER_ID },
isFolder: false,
properties: [],
containers: [],
allowedDocumentTypes: [],
compositions: [
{
documentType: { id: COMPOSITION_CULTURE_VARIANT_DOCUMENT_TYPE_ID },
compositionType: CompositionTypeModel.COMPOSITION,
},
],
cleanup: {
preventCleanup: false,
keepAllVersionsNewerThanDays: null,
keepLatestVersionPerDayForDays: null,
},
flags: [],
},
{
// Invariant With Segment Variant Composition composes COMPOSITION_SEGMENT_VARIANT_DOCUMENT_TYPE_ID.
// Properties are owned by the composition; the structure manager loads the composition type
// separately and flattens its properties alongside this type's own.
id: INVARIANT_DOCUMENT_TYPE_WITH_SEGMENT_VARIANT_COMPOSITION_ID,
alias: 'invariantWithSegmentVariantComposition',
name: 'Invariant With Segment Variant Composition',
description: null,
icon: 'icon-document',
allowedTemplates: [],
defaultTemplate: null,
allowedAsRoot: true,
variesByCulture: false,
variesBySegment: false,
isElement: false,
hasChildren: false,
parent: { id: COMPOSED_FOLDER_ID },
isFolder: false,
properties: [],
containers: [],
allowedDocumentTypes: [],
compositions: [
{
documentType: { id: COMPOSITION_SEGMENT_VARIANT_DOCUMENT_TYPE_ID },
compositionType: CompositionTypeModel.COMPOSITION,
},
],
cleanup: {
preventCleanup: false,
keepAllVersionsNewerThanDays: null,
keepLatestVersionPerDayForDays: null,
},
flags: [],
},
];
Loading
Loading