diff --git a/projects/common/models/elements/element.ts b/projects/common/models/elements/element.ts index 1b0c6da7252619693923e33bbe4ab34e6c7bda94..41e937b2cab8731d8c13ef7ae950779e97318d41 100644 --- a/projects/common/models/elements/element.ts +++ b/projects/common/models/elements/element.ts @@ -111,7 +111,21 @@ export abstract class PlayerElement extends UIElement { this.player = ElementFactory.initPlayerProps(element.player); } - // abstract getSchemerData(options: any): SchemerData; + hasSchemerData(): boolean { + return true; + } + + getSchemerData(): SchemerData { + return { + id: this.id, + type: 'string', + format: 'playback', + multiple: false, + nullable: true, + values: [], + valuesComplete: true + }; + } } export interface SchemerValue { diff --git a/projects/common/models/elements/media-elements/image.ts b/projects/common/models/elements/media-elements/image.ts index f189af3e1b76ef119e16098a283e923b55c675e2..ba734f5f5738b08b01e5dac4405a9d5e01df548f 100644 --- a/projects/common/models/elements/media-elements/image.ts +++ b/projects/common/models/elements/media-elements/image.ts @@ -1,6 +1,6 @@ import { Type } from '@angular/core'; import { ElementFactory } from 'common/util/element.factory'; -import { PositionedUIElement, PositionProperties, UIElement } from 'common/models/elements/element'; +import { PositionedUIElement, PositionProperties, SchemerData, UIElement } from 'common/models/elements/element'; import { ElementComponent } from 'common/directives/element-component.directive'; import { ImageComponent } from 'common/components/media-elements/image.component'; @@ -27,4 +27,20 @@ export class ImageElement extends UIElement implements PositionedUIElement { getComponentFactory(): Type<ElementComponent> { return ImageComponent; } + + hasSchemerData(): boolean { + return this.magnifier; + } + + getSchemerData(): SchemerData { + return { + id: this.id, + type: 'boolean', + format: '', + multiple: false, + nullable: false, + values: [], + valuesComplete: true + }; + } } diff --git a/projects/common/models/section.ts b/projects/common/models/section.ts index b0e3b9febb2770758fc5526a6626cdd8f9d2c6d3..4f42cc1483cd8ee953dc2e7e1e7eb24708f8fe0b 100644 --- a/projects/common/models/section.ts +++ b/projects/common/models/section.ts @@ -1,7 +1,7 @@ import { Type } from '@angular/core'; import { IDManager } from 'common/util/id-manager'; import { - InputElement, + InputElement, PlayerElement, PositionedUIElement, SchemerData, UIElement, @@ -110,6 +110,6 @@ export class Section { .map(element => (element.type === 'drop-list' || element.type === 'drop-list-simple') ? (element as InputElement).getSchemerData(dropLists) : - (element as InputElement | TextElement).getSchemerData()); + (element as InputElement | PlayerElement | TextElement | ImageElement).getSchemerData()); } }