Newer
Older
import {
FontProperties,
PlayerProperties,
PositionProperties,
SurfaceProperties,
UIElement
} from '../models/uI-element';
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
// Properties check is only for backwards compatibility
const DEFAULT_DYNAMIC_POSITIONING = false;
const DEFAULT_FONT_COLOR = '#000000';
const DEFAULT_FONT = 'Roboto';
const DEFAULT_FONT_SIZE = 20;
const DEFAULT_LINE_HEIGHT = 120;
const DEFAULT_BOLD = false;
const DEFAULT_ITALIC = false;
const DEFAULT_UNDERLINE = false;
const DEFAULT_BACKGROUND_COLOR = '#d3d3d3';
export function initPositionedElement(serializedElement: Partial<UIElement>): PositionProperties {
if (serializedElement.positionProps) {
return {
dynamicPositioning: serializedElement.positionProps.dynamicPositioning as boolean || DEFAULT_DYNAMIC_POSITIONING,
xPosition: serializedElement.positionProps.xPosition !== undefined ?
serializedElement.positionProps.xPosition as number : 0,
yPosition: serializedElement.positionProps.yPosition !== undefined ?
serializedElement.positionProps.yPosition as number : 0,
useMinHeight: serializedElement.positionProps.useMinHeight !== undefined ?
serializedElement.positionProps.useMinHeight as boolean : false,
gridColumnStart: serializedElement.positionProps.gridColumnStart !== undefined ?
serializedElement.positionProps.gridColumnStart as number : 1,
gridColumnEnd: serializedElement.positionProps.gridColumnEnd !== undefined ?
serializedElement.positionProps.gridColumnEnd as number : 2,
gridRowStart: serializedElement.positionProps.gridRowStart !== undefined ?
serializedElement.positionProps.gridRowStart as number : 1,
gridRowEnd: serializedElement.positionProps.gridRowEnd !== undefined ?
serializedElement.positionProps.gridRowEnd as number : 2,
marginLeft: serializedElement.positionProps.marginLeft !== undefined ?
serializedElement.positionProps.marginLeft as number : 0,
marginRight: serializedElement.positionProps.marginRight !== undefined ?
serializedElement.positionProps.marginRight as number : 0,
marginTop: serializedElement.positionProps.marginTop !== undefined ?
serializedElement.positionProps.marginTop as number : 0,
marginBottom: serializedElement.positionProps.marginBottom !== undefined ?
serializedElement.positionProps.marginBottom as number : 0,
zIndex: serializedElement.positionProps.zIndex !== undefined ?
serializedElement.positionProps.zIndex as number : 0
};
}
dynamicPositioning: serializedElement.dynamicPositioning as boolean || DEFAULT_DYNAMIC_POSITIONING,
xPosition: serializedElement.xPosition !== undefined ? serializedElement.xPosition as number : 0,
yPosition: serializedElement.yPosition !== undefined ? serializedElement.yPosition as number : 0,
useMinHeight: serializedElement.useMinHeight !== undefined ? serializedElement.useMinHeight as boolean : false,
gridColumnStart: serializedElement.gridColumnStart !== undefined ? serializedElement.gridColumnStart as number : 1,
gridColumnEnd: serializedElement.gridColumnEnd !== undefined ? serializedElement.gridColumnEnd as number : 2,
gridRowStart: serializedElement.gridRowStart !== undefined ? serializedElement.gridRowStart as number : 1,
gridRowEnd: serializedElement.gridRowEnd !== undefined ? serializedElement.gridRowEnd as number : 2,
marginLeft: serializedElement.marginLeft !== undefined ? serializedElement.marginLeft as number : 0,
marginRight: serializedElement.marginRight !== undefined ? serializedElement.marginRight as number : 0,
marginTop: serializedElement.marginTop !== undefined ? serializedElement.marginTop as number : 0,
marginBottom: serializedElement.marginBottom !== undefined ? serializedElement.marginBottom as number : 0,
zIndex: serializedElement.zIndex !== undefined ? serializedElement.zIndex as number : 0
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
export function initFontElement(serializedElement: Partial<UIElement>): FontProperties {
if (serializedElement.fontProps) {
return {
fontColor: (serializedElement.fontProps as FontProperties).fontColor as string || DEFAULT_FONT_COLOR,
font: (serializedElement.fontProps as FontProperties).font as string || DEFAULT_FONT,
fontSize: (serializedElement.fontProps as FontProperties).fontSize !== undefined ?
serializedElement.fontSize as number : DEFAULT_FONT_SIZE,
lineHeight: (serializedElement.fontProps as FontProperties).lineHeight !== undefined ?
serializedElement.lineHeight as number : DEFAULT_LINE_HEIGHT,
bold: (serializedElement.fontProps as FontProperties).bold !== undefined ?
serializedElement.bold as boolean : DEFAULT_BOLD,
italic: (serializedElement.fontProps as FontProperties).italic !== undefined ?
serializedElement.italic as boolean : DEFAULT_ITALIC,
underline: (serializedElement.fontProps as FontProperties).underline !== undefined ?
serializedElement.underline as boolean : DEFAULT_UNDERLINE
};
}
return {
fontColor: serializedElement.fontColor as string || DEFAULT_FONT_COLOR,
font: serializedElement.font as string || DEFAULT_FONT,
fontSize: serializedElement.fontSize !== undefined ? serializedElement.fontSize as number : DEFAULT_FONT_SIZE,
lineHeight: serializedElement.lineHeight !== undefined ?
serializedElement.lineHeight as number : DEFAULT_LINE_HEIGHT,
bold: serializedElement.bold !== undefined ? serializedElement.bold as boolean : DEFAULT_BOLD,
italic: serializedElement.italic !== undefined ? serializedElement.italic as boolean : DEFAULT_ITALIC,
underline: serializedElement.underline !== undefined ? serializedElement.underline as boolean : DEFAULT_UNDERLINE
};
}
export function initSurfaceElement(serializedElement: Partial<UIElement>): SurfaceProperties {
if (serializedElement.surfaceProps) {
return { backgroundColor: serializedElement.surfaceProps.backgroundColor as string || DEFAULT_BACKGROUND_COLOR };
}
return { backgroundColor: serializedElement.backgroundColor as string || DEFAULT_BACKGROUND_COLOR };
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
export function initPlayerElement(serializedElement: Partial<UIElement>): PlayerProperties {
if (serializedElement.playerProps) {
return {
autostart: serializedElement.playerProps.autostart !== undefined ?
serializedElement.playerProps.autostart as boolean : false,
autostartDelay: serializedElement.playerProps.autostartDelay !== undefined ?
serializedElement.playerProps.autostartDelay as number : 0,
loop: serializedElement.playerProps.loop !== undefined ?
serializedElement.playerProps.loop as boolean : false,
startControl: serializedElement.playerProps.startControl !== undefined ?
serializedElement.playerProps.startControl as boolean : true,
pauseControl: serializedElement.playerProps.pauseControl !== undefined ?
serializedElement.playerProps.pauseControl as boolean : false,
progressBar: serializedElement.playerProps.progressBar !== undefined ?
serializedElement.playerProps.progressBar as boolean : true,
interactiveProgressbar: serializedElement.playerProps.interactiveProgressbar !== undefined ?
serializedElement.playerProps.interactiveProgressbar as boolean : false,
volumeControl: serializedElement.playerProps.volumeControl !== undefined ?
serializedElement.playerProps.volumeControl as boolean : true,
defaultVolume: serializedElement.playerProps.defaultVolume !== undefined ?
serializedElement.playerProps.defaultVolume as number : 0.8,
minVolume: serializedElement.playerProps.minVolume !== undefined ?
serializedElement.playerProps.minVolume as number : 0,
muteControl: serializedElement.playerProps.muteControl !== undefined ?
serializedElement.playerProps.muteControl as boolean : true,
hintLabel: serializedElement.playerProps.hintLabel as string || '',
hintLabelDelay: serializedElement.playerProps.hintLabelDelay !== undefined ?
serializedElement.playerProps.hintLabelDelay as number : 0,
uninterruptible: serializedElement.playerProps.uninterruptible !== undefined ?
serializedElement.playerProps.uninterruptible as boolean : false,
hideOtherPages: serializedElement.playerProps.hideOtherPages !== undefined ?
serializedElement.playerProps.hideOtherPages as boolean : false,
activeAfterID: serializedElement.playerProps.activeAfterID as string || '',
minRuns: serializedElement.playerProps.minRuns !== undefined ?
serializedElement.playerProps.minRuns as number : 1,
maxRuns: serializedElement.playerProps.maxRuns !== undefined ?
serializedElement.playerProps.maxRuns as number | null : null,
showRestRuns: serializedElement.playerProps.showRestRuns !== undefined ?
serializedElement.playerProps.showRestRuns as boolean : false,
showRestTime: serializedElement.playerProps.showRestTime !== undefined ?
serializedElement.playerProps.showRestTime as boolean : true,
playbackTime: serializedElement.playerProps.playbackTime !== undefined ?
serializedElement.playerProps.playbackTime as number : 0
};
}
autostart: serializedElement.autostart !== undefined ? serializedElement.autostart as boolean : false,
autostartDelay: serializedElement.autostartDelay !== undefined ? serializedElement.autostartDelay as number : 0,
loop: serializedElement.loop !== undefined ? serializedElement.loop as boolean : false,
startControl: serializedElement.startControl !== undefined ? serializedElement.startControl as boolean : true,
pauseControl: serializedElement.pauseControl !== undefined ? serializedElement.pauseControl as boolean : false,
progressBar: serializedElement.progressBar !== undefined ? serializedElement.progressBar as boolean : true,
interactiveProgressbar: serializedElement.interactiveProgressbar !== undefined ?
serializedElement.interactiveProgressbar as boolean : false,
volumeControl: serializedElement.volumeControl !== undefined ? serializedElement.volumeControl as boolean : true,
defaultVolume: serializedElement.defaultVolume !== undefined ? serializedElement.defaultVolume as number : 0.8,
minVolume: serializedElement.minVolume !== undefined ? serializedElement.minVolume as number : 0,
muteControl: serializedElement.muteControl !== undefined ? serializedElement.muteControl as boolean : true,
hintLabel: serializedElement.hintLabel as string || '',
hintLabelDelay: serializedElement.hintLabelDelay !== undefined ? serializedElement.hintLabelDelay as number : 0,
uninterruptible:
serializedElement.uninterruptible !== undefined ? serializedElement.uninterruptible as boolean : false,
hideOtherPages:
serializedElement.hideOtherPages !== undefined ? serializedElement.hideOtherPages as boolean : false,
activeAfterID: serializedElement.activeAfterID as string || '',
minRuns: serializedElement.minRuns !== undefined ? serializedElement.minRuns as number : 1,
maxRuns: serializedElement.maxRuns !== undefined ? serializedElement.maxRuns as number : null,
showRestRuns: serializedElement.showRestRuns !== undefined ? serializedElement.showRestRuns as boolean : false,
showRestTime: serializedElement.showRestTime !== undefined ? serializedElement.showRestTime as boolean : true,
playbackTime: serializedElement.playbackTime !== undefined ? serializedElement.playbackTime as number : 0