@omnia/velcron 8.0.99-vnext → 8.0.101-vnext
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/actions/Date.d.ts +1 -1
- package/actions/Date.js +2 -4
- package/models/VelcronPropertyEditorDefinitions.d.ts +33 -6
- package/package.json +1 -1
- package/templatebuilder/editor/VelcronContentEditor.d.ts +26 -2
- package/templatebuilder/editor/VelcronContentEditor.js +164 -4
- package/templatebuilder/editor/VelcronPropertyMappingEditorBuilder.js +1 -1
- package/templatebuilder/state/VelcronColorSchemaBuilder.d.ts +10 -5
- package/templatebuilder/state/VelcronColorSchemaBuilder.js +18 -6
- package/templatebuilder/state/VelcronContentStateBuilder.d.ts +7 -13
- package/templatebuilder/state/VelcronContentStateBuilder.js +26 -18
- package/templatebuilder/state/VelcronImageStateBuilder.d.ts +2 -4
- package/templatebuilder/state/VelcronImageStateBuilder.js +10 -4
- package/templatebuilder/state/VelcronPropertyMappingStateBuilder.d.ts +3 -2
- package/templatebuilder/state/VelcronPropertyMappingStateBuilder.js +12 -5
- package/templatebuilder/state/VelcronStateBuilder.d.ts +2 -1
- package/templatebuilder/state/VelcronStateBuilderBase.d.ts +7 -3
- package/templatebuilder/state/VelcronStateBuilderBase.js +8 -4
- package/templatebuilder/state/VelcronTextContentBuilder.d.ts +32 -0
- package/templatebuilder/state/VelcronTextContentBuilder.js +110 -0
package/actions/Date.d.ts
CHANGED
package/actions/Date.js
CHANGED
|
@@ -1,17 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.diff = exports.dateFormat = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const dayjs_1 = tslib_1.__importDefault(require("dayjs"));
|
|
6
|
-
const duration_1 = tslib_1.__importDefault(require("dayjs/plugin/duration"));
|
|
7
|
-
dayjs_1.default.extend(duration_1.default);
|
|
8
6
|
exports.dateFormat = {
|
|
9
7
|
name: "@date.format",
|
|
10
8
|
action: (action, value) => {
|
|
11
9
|
return Promise.resolve((0, dayjs_1.default)().format(value));
|
|
12
10
|
}
|
|
13
11
|
};
|
|
14
|
-
exports.
|
|
12
|
+
exports.diff = {
|
|
15
13
|
name: "@date.diff",
|
|
16
14
|
action: (action, date, past = false) => {
|
|
17
15
|
const now = (0, dayjs_1.default)();
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { VelcronImageRatios } from "@omnia/fx-models";
|
|
1
|
+
import { TypographySize, TypographyType, VelcronImageRatios } from "@omnia/fx-models";
|
|
2
2
|
export interface ResolvedPropertyEditor {
|
|
3
3
|
editor: VelcronPropertyEditor;
|
|
4
4
|
}
|
|
@@ -78,16 +78,43 @@ export interface VelcronMarkdownPropertyEditor extends VelcronPropertyEditor<any
|
|
|
78
78
|
export interface VelcronImagePropertyEditor extends VelcronPropertyEditor<any> {
|
|
79
79
|
type: "image";
|
|
80
80
|
}
|
|
81
|
+
export interface VelcronState {
|
|
82
|
+
images?: VelcronImagesState;
|
|
83
|
+
styling?: VelcronStylingState;
|
|
84
|
+
colorSchema?: VelcronColorSchemaState;
|
|
85
|
+
content?: VelcronContentState;
|
|
86
|
+
properties?: VelcronPropertiesState;
|
|
87
|
+
}
|
|
88
|
+
export interface VelcronTextState {
|
|
89
|
+
text: string;
|
|
90
|
+
typography?: VelcronTypographyState;
|
|
91
|
+
}
|
|
92
|
+
export interface VelcronTypographyState {
|
|
93
|
+
type?: TypographyType;
|
|
94
|
+
size?: TypographySize;
|
|
95
|
+
toned?: boolean;
|
|
96
|
+
}
|
|
81
97
|
export interface VelcronContentState {
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
98
|
+
caption?: VelcronTextState;
|
|
99
|
+
main?: VelcronTextState;
|
|
100
|
+
title?: VelcronTextState;
|
|
101
|
+
summary?: VelcronTextState;
|
|
86
102
|
}
|
|
87
103
|
export interface VelcronPropertiesState {
|
|
88
|
-
|
|
104
|
+
user: any;
|
|
105
|
+
mappings: Array<any>;
|
|
106
|
+
}
|
|
107
|
+
export interface VelcronImagesState {
|
|
108
|
+
main?: VelcronImageState;
|
|
89
109
|
}
|
|
90
110
|
export interface VelcronImageState {
|
|
91
111
|
url?: string;
|
|
92
112
|
ratio?: VelcronImageRatios;
|
|
113
|
+
caption?: VelcronTextState;
|
|
114
|
+
}
|
|
115
|
+
export interface VelcronStylingState {
|
|
116
|
+
}
|
|
117
|
+
export interface VelcronColorSchemaState {
|
|
118
|
+
type?: string;
|
|
119
|
+
filled?: boolean;
|
|
93
120
|
}
|
package/package.json
CHANGED
|
@@ -2,13 +2,37 @@ import { VelcronPropertyEditor } from "@omnia/fx-models";
|
|
|
2
2
|
import { VelcronEditorBuilderBase } from "./VelcronEditorBuilderBase";
|
|
3
3
|
export declare class VelcronContentEditorBuilder extends VelcronEditorBuilderBase {
|
|
4
4
|
private mainEditor;
|
|
5
|
+
private mainPropertyEditor;
|
|
6
|
+
private mainTypographyEditor;
|
|
5
7
|
private captionEditor;
|
|
8
|
+
private captionTypographyEditor;
|
|
9
|
+
private captionPropertyEditor;
|
|
10
|
+
private titleEditor;
|
|
11
|
+
private titlePropertyEditor;
|
|
12
|
+
private titleTypographyEditor;
|
|
13
|
+
private summaryEditor;
|
|
14
|
+
private summaryPropertyEditor;
|
|
15
|
+
private summaryTypographyEditor;
|
|
6
16
|
constructor(builder: any);
|
|
7
17
|
main: {
|
|
8
|
-
|
|
18
|
+
addContentEditor: () => VelcronContentEditorBuilder;
|
|
19
|
+
addPropertyMappingEditor: (title?: string) => VelcronContentEditorBuilder;
|
|
20
|
+
addTypographyEditor: (title?: string, type?: "text" | "title") => VelcronContentEditorBuilder;
|
|
9
21
|
};
|
|
10
22
|
caption: {
|
|
11
|
-
|
|
23
|
+
addContentEditor: () => VelcronContentEditorBuilder;
|
|
24
|
+
addPropertyMappingEditor: (title?: string) => VelcronContentEditorBuilder;
|
|
25
|
+
addTypographyEditor: (title?: string, type?: "text" | "title") => VelcronContentEditorBuilder;
|
|
26
|
+
};
|
|
27
|
+
title: {
|
|
28
|
+
addContentEditor: () => VelcronContentEditorBuilder;
|
|
29
|
+
addPropertyMappingEditor: (title?: string) => VelcronContentEditorBuilder;
|
|
30
|
+
addTypographyEditor: (title?: string, type?: "text" | "title") => VelcronContentEditorBuilder;
|
|
31
|
+
};
|
|
32
|
+
summary: {
|
|
33
|
+
addContentEditor: () => VelcronContentEditorBuilder;
|
|
34
|
+
addPropertyMappingEditor: (title?: string) => VelcronContentEditorBuilder;
|
|
35
|
+
addTypographyEditor: (title?: string, type?: "text" | "title") => VelcronContentEditorBuilder;
|
|
12
36
|
};
|
|
13
37
|
protected internalBuild(): VelcronPropertyEditor<any>[];
|
|
14
38
|
}
|
|
@@ -6,26 +6,156 @@ class VelcronContentEditorBuilder extends VelcronEditorBuilderBase_1.VelcronEdit
|
|
|
6
6
|
constructor(builder) {
|
|
7
7
|
super(builder);
|
|
8
8
|
this.mainEditor = null;
|
|
9
|
+
this.mainPropertyEditor = null;
|
|
10
|
+
this.mainTypographyEditor = null;
|
|
9
11
|
this.captionEditor = null;
|
|
12
|
+
this.captionTypographyEditor = null;
|
|
13
|
+
this.captionPropertyEditor = null;
|
|
14
|
+
this.titleEditor = null;
|
|
15
|
+
this.titlePropertyEditor = null;
|
|
16
|
+
this.titleTypographyEditor = null;
|
|
17
|
+
this.summaryEditor = null;
|
|
18
|
+
this.summaryPropertyEditor = null;
|
|
19
|
+
this.summaryTypographyEditor = null;
|
|
10
20
|
this.main = {
|
|
11
|
-
|
|
21
|
+
addContentEditor: () => {
|
|
12
22
|
if (!this.mainEditor) {
|
|
13
23
|
this.mainEditor = {
|
|
14
24
|
name: "Body",
|
|
15
25
|
type: "markdown",
|
|
16
|
-
stateMapping: "content.main"
|
|
26
|
+
stateMapping: "content.main.text"
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
return this;
|
|
30
|
+
},
|
|
31
|
+
addPropertyMappingEditor: (title) => {
|
|
32
|
+
if (!this.mainPropertyEditor) {
|
|
33
|
+
this.mainPropertyEditor = {
|
|
34
|
+
name: title ? title : "Main",
|
|
35
|
+
type: "text",
|
|
36
|
+
stateMapping: "content.main.text",
|
|
37
|
+
propertyMapping: true
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
return this;
|
|
41
|
+
},
|
|
42
|
+
addTypographyEditor: (title, type) => {
|
|
43
|
+
if (!this.mainTypographyEditor) {
|
|
44
|
+
this.mainTypographyEditor = {
|
|
45
|
+
name: title ? title : "Main formatting",
|
|
46
|
+
type: "typography",
|
|
47
|
+
stateMapping: "content.main.text",
|
|
48
|
+
settings: {
|
|
49
|
+
type: type ? type : "text"
|
|
50
|
+
}
|
|
17
51
|
};
|
|
18
52
|
}
|
|
19
53
|
return this;
|
|
20
54
|
}
|
|
21
55
|
};
|
|
22
56
|
this.caption = {
|
|
23
|
-
|
|
57
|
+
addContentEditor: () => {
|
|
24
58
|
if (!this.captionEditor) {
|
|
25
59
|
this.captionEditor = {
|
|
26
60
|
name: "Caption",
|
|
27
61
|
type: "text",
|
|
28
|
-
stateMapping: "content.caption"
|
|
62
|
+
stateMapping: "content.caption.text"
|
|
63
|
+
};
|
|
64
|
+
}
|
|
65
|
+
return this;
|
|
66
|
+
},
|
|
67
|
+
addPropertyMappingEditor: (title) => {
|
|
68
|
+
if (!this.captionPropertyEditor) {
|
|
69
|
+
this.captionPropertyEditor = {
|
|
70
|
+
name: title ? title : "Caption",
|
|
71
|
+
type: "text",
|
|
72
|
+
stateMapping: "content.caption.text",
|
|
73
|
+
propertyMapping: true
|
|
74
|
+
};
|
|
75
|
+
}
|
|
76
|
+
return this;
|
|
77
|
+
},
|
|
78
|
+
addTypographyEditor: (title, type) => {
|
|
79
|
+
if (!this.captionTypographyEditor) {
|
|
80
|
+
this.captionTypographyEditor = {
|
|
81
|
+
name: title ? title : "Caption formatting",
|
|
82
|
+
type: "typography",
|
|
83
|
+
stateMapping: "content.caption.text",
|
|
84
|
+
settings: {
|
|
85
|
+
type: type ? type : "text"
|
|
86
|
+
}
|
|
87
|
+
};
|
|
88
|
+
}
|
|
89
|
+
return this;
|
|
90
|
+
}
|
|
91
|
+
};
|
|
92
|
+
this.title = {
|
|
93
|
+
addContentEditor: () => {
|
|
94
|
+
if (!this.titleEditor) {
|
|
95
|
+
this.titleEditor = {
|
|
96
|
+
name: "Title",
|
|
97
|
+
type: "text",
|
|
98
|
+
stateMapping: "content.title.text"
|
|
99
|
+
};
|
|
100
|
+
}
|
|
101
|
+
return this;
|
|
102
|
+
},
|
|
103
|
+
addPropertyMappingEditor: (title) => {
|
|
104
|
+
if (!this.titlePropertyEditor) {
|
|
105
|
+
this.titlePropertyEditor = {
|
|
106
|
+
name: title ? title : "Title",
|
|
107
|
+
type: "text",
|
|
108
|
+
stateMapping: "content.title.text",
|
|
109
|
+
propertyMapping: true
|
|
110
|
+
};
|
|
111
|
+
}
|
|
112
|
+
return this;
|
|
113
|
+
},
|
|
114
|
+
addTypographyEditor: (title, type) => {
|
|
115
|
+
if (!this.titleTypographyEditor) {
|
|
116
|
+
this.titleTypographyEditor = {
|
|
117
|
+
name: title ? title : "Title formatting",
|
|
118
|
+
type: "typography",
|
|
119
|
+
stateMapping: "content.title.text",
|
|
120
|
+
settings: {
|
|
121
|
+
type: type ? type : "title"
|
|
122
|
+
}
|
|
123
|
+
};
|
|
124
|
+
}
|
|
125
|
+
return this;
|
|
126
|
+
}
|
|
127
|
+
};
|
|
128
|
+
this.summary = {
|
|
129
|
+
addContentEditor: () => {
|
|
130
|
+
if (!this.summaryEditor) {
|
|
131
|
+
this.summaryEditor = {
|
|
132
|
+
name: "Summary",
|
|
133
|
+
type: "text",
|
|
134
|
+
stateMapping: "content.summary.text"
|
|
135
|
+
};
|
|
136
|
+
}
|
|
137
|
+
return this;
|
|
138
|
+
},
|
|
139
|
+
addPropertyMappingEditor: (title) => {
|
|
140
|
+
if (!this.summaryPropertyEditor) {
|
|
141
|
+
this.summaryPropertyEditor = {
|
|
142
|
+
name: title ? title : "Summary",
|
|
143
|
+
type: "text",
|
|
144
|
+
stateMapping: "content.summary.text",
|
|
145
|
+
propertyMapping: true
|
|
146
|
+
};
|
|
147
|
+
}
|
|
148
|
+
return this;
|
|
149
|
+
},
|
|
150
|
+
addTypographyEditor: (title, type) => {
|
|
151
|
+
if (!this.summaryTypographyEditor) {
|
|
152
|
+
this.summaryTypographyEditor = {
|
|
153
|
+
name: title ? title : "Summary formatting",
|
|
154
|
+
type: "typography",
|
|
155
|
+
stateMapping: "content.summary.text",
|
|
156
|
+
settings: {
|
|
157
|
+
type: type ? type : "text"
|
|
158
|
+
}
|
|
29
159
|
};
|
|
30
160
|
}
|
|
31
161
|
return this;
|
|
@@ -37,9 +167,39 @@ class VelcronContentEditorBuilder extends VelcronEditorBuilderBase_1.VelcronEdit
|
|
|
37
167
|
if (this.mainEditor) {
|
|
38
168
|
result.push(this.mainEditor);
|
|
39
169
|
}
|
|
170
|
+
if (this.mainPropertyEditor) {
|
|
171
|
+
result.push(this.mainPropertyEditor);
|
|
172
|
+
}
|
|
173
|
+
if (this.mainTypographyEditor) {
|
|
174
|
+
result.push(this.mainTypographyEditor);
|
|
175
|
+
}
|
|
176
|
+
if (this.titleEditor) {
|
|
177
|
+
result.push(this.titleEditor);
|
|
178
|
+
}
|
|
179
|
+
if (this.titlePropertyEditor) {
|
|
180
|
+
result.push(this.titlePropertyEditor);
|
|
181
|
+
}
|
|
182
|
+
if (this.titleTypographyEditor) {
|
|
183
|
+
result.push(this.titleTypographyEditor);
|
|
184
|
+
}
|
|
185
|
+
if (this.summaryEditor) {
|
|
186
|
+
result.push(this.summaryEditor);
|
|
187
|
+
}
|
|
188
|
+
if (this.summaryPropertyEditor) {
|
|
189
|
+
result.push(this.summaryPropertyEditor);
|
|
190
|
+
}
|
|
191
|
+
if (this.summaryTypographyEditor) {
|
|
192
|
+
result.push(this.summaryTypographyEditor);
|
|
193
|
+
}
|
|
40
194
|
if (this.captionEditor) {
|
|
41
195
|
result.push(this.captionEditor);
|
|
42
196
|
}
|
|
197
|
+
if (this.captionTypographyEditor) {
|
|
198
|
+
result.push(this.captionTypographyEditor);
|
|
199
|
+
}
|
|
200
|
+
if (this.captionPropertyEditor) {
|
|
201
|
+
result.push(this.captionPropertyEditor);
|
|
202
|
+
}
|
|
43
203
|
return result;
|
|
44
204
|
}
|
|
45
205
|
}
|
|
@@ -12,7 +12,7 @@ class VelcronPropertyMappingEditorBuilder extends VelcronEditorBuilderBase_1.Vel
|
|
|
12
12
|
this.editor = {
|
|
13
13
|
name: "Properties",
|
|
14
14
|
type: "enterprise-property",
|
|
15
|
-
stateMapping: "
|
|
15
|
+
stateMapping: "properties.mappings",
|
|
16
16
|
propertyMapping: true,
|
|
17
17
|
multiple: true,
|
|
18
18
|
};
|
|
@@ -1,11 +1,16 @@
|
|
|
1
|
-
import { ColorSchemaType } from "@omnia/fx-models";
|
|
1
|
+
import { ColorSchemaType, VelcronState } from "@omnia/fx-models";
|
|
2
2
|
import { VelcronStateBuilderBase } from "./VelcronStateBuilderBase";
|
|
3
3
|
export declare class VelcronColorSchemaStateBuilder extends VelcronStateBuilderBase {
|
|
4
4
|
private colorSchema;
|
|
5
|
+
private filledValue;
|
|
5
6
|
constructor(stateBuilder: any);
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
colorSchemaType: "info" | "error" | "primary" | "secondary" | "accent1" | "accent2" | "accent3" | "neutral" | "background";
|
|
7
|
+
type: {
|
|
8
|
+
add(colorSchema?: ColorSchemaType): VelcronColorSchemaStateBuilder;
|
|
9
|
+
bind: string;
|
|
10
10
|
};
|
|
11
|
+
filled: {
|
|
12
|
+
add(filled: boolean): VelcronColorSchemaStateBuilder;
|
|
13
|
+
bind: any;
|
|
14
|
+
};
|
|
15
|
+
protected internalBuild(): VelcronState;
|
|
11
16
|
}
|
|
@@ -5,15 +5,27 @@ const VelcronStateBuilderBase_1 = require("./VelcronStateBuilderBase");
|
|
|
5
5
|
class VelcronColorSchemaStateBuilder extends VelcronStateBuilderBase_1.VelcronStateBuilderBase {
|
|
6
6
|
constructor(stateBuilder) {
|
|
7
7
|
super(stateBuilder);
|
|
8
|
-
this.
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
8
|
+
this.type = {
|
|
9
|
+
add(colorSchema) {
|
|
10
|
+
this.colorSchema = colorSchema;
|
|
11
|
+
return this;
|
|
12
|
+
},
|
|
13
|
+
bind: "{{colorSchemaType.type}}"
|
|
14
|
+
};
|
|
15
|
+
this.filled = {
|
|
16
|
+
add(filled) {
|
|
17
|
+
this.filledValue = filled;
|
|
18
|
+
return this;
|
|
19
|
+
},
|
|
20
|
+
bind: "{{colorSchemaType.filled}}"
|
|
21
|
+
};
|
|
13
22
|
}
|
|
14
23
|
internalBuild() {
|
|
15
24
|
return {
|
|
16
|
-
|
|
25
|
+
colorSchema: {
|
|
26
|
+
type: this.colorSchema,
|
|
27
|
+
filled: this.filledValue
|
|
28
|
+
}
|
|
17
29
|
};
|
|
18
30
|
}
|
|
19
31
|
}
|
|
@@ -1,17 +1,11 @@
|
|
|
1
|
+
import { VelcronState } from "@omnia/fx-models";
|
|
1
2
|
import { VelcronStateBuilderBase } from "./VelcronStateBuilderBase";
|
|
3
|
+
import { VelcronTextContentBuilder } from "./VelcronTextContentBuilder";
|
|
2
4
|
export declare class VelcronContentStateBuilder extends VelcronStateBuilderBase {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
+
main: VelcronTextContentBuilder<VelcronContentStateBuilder>;
|
|
6
|
+
caption: VelcronTextContentBuilder<VelcronContentStateBuilder>;
|
|
7
|
+
title: VelcronTextContentBuilder<VelcronContentStateBuilder>;
|
|
8
|
+
summary: VelcronTextContentBuilder<VelcronContentStateBuilder>;
|
|
5
9
|
constructor(stateBuilder: any);
|
|
6
|
-
|
|
7
|
-
add: (value?: string) => VelcronContentStateBuilder;
|
|
8
|
-
bind: string;
|
|
9
|
-
};
|
|
10
|
-
caption: {
|
|
11
|
-
add: (value?: string) => VelcronContentStateBuilder;
|
|
12
|
-
bind: string;
|
|
13
|
-
};
|
|
14
|
-
protected internalBuild(): {
|
|
15
|
-
content: {};
|
|
16
|
-
};
|
|
10
|
+
protected internalBuild(): VelcronState;
|
|
17
11
|
}
|
|
@@ -2,34 +2,42 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.VelcronContentStateBuilder = void 0;
|
|
4
4
|
const VelcronStateBuilderBase_1 = require("./VelcronStateBuilderBase");
|
|
5
|
+
const VelcronTextContentBuilder_1 = require("./VelcronTextContentBuilder");
|
|
6
|
+
// title?: VelcronTextState;
|
|
7
|
+
// summary?: VelcronTextState;
|
|
5
8
|
class VelcronContentStateBuilder extends VelcronStateBuilderBase_1.VelcronStateBuilderBase {
|
|
6
9
|
constructor(stateBuilder) {
|
|
7
10
|
super(stateBuilder);
|
|
8
|
-
this.main =
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
},
|
|
13
|
-
bind: "$state.content.main"
|
|
14
|
-
};
|
|
15
|
-
this.caption = {
|
|
16
|
-
add: (value) => {
|
|
17
|
-
this.captionContent = value;
|
|
18
|
-
return this;
|
|
19
|
-
},
|
|
20
|
-
bind: "{{content.caption}}"
|
|
21
|
-
};
|
|
11
|
+
this.main = new VelcronTextContentBuilder_1.VelcronTextContentBuilder(this, "content.main");
|
|
12
|
+
this.caption = new VelcronTextContentBuilder_1.VelcronTextContentBuilder(this, "content.caption");
|
|
13
|
+
this.title = new VelcronTextContentBuilder_1.VelcronTextContentBuilder(this, "content.title");
|
|
14
|
+
this.summary = new VelcronTextContentBuilder_1.VelcronTextContentBuilder(this, "content.summary");
|
|
22
15
|
}
|
|
23
16
|
internalBuild() {
|
|
24
17
|
const resultValue = {};
|
|
25
18
|
let hasContent = false;
|
|
26
|
-
|
|
27
|
-
|
|
19
|
+
const mainContent = this.main.internalBuild();
|
|
20
|
+
const captionContent = this.caption.internalBuild();
|
|
21
|
+
const titleContent = this.title.internalBuild();
|
|
22
|
+
const summaryContent = this.summary.internalBuild();
|
|
23
|
+
if (mainContent) {
|
|
24
|
+
hasContent = true;
|
|
25
|
+
resultValue.main = mainContent;
|
|
26
|
+
}
|
|
27
|
+
if (captionContent) {
|
|
28
28
|
hasContent = true;
|
|
29
|
+
resultValue.caption = captionContent;
|
|
29
30
|
}
|
|
30
|
-
if (
|
|
31
|
-
resultValue["caption"] = this.captionContent;
|
|
31
|
+
if (titleContent) {
|
|
32
32
|
hasContent = true;
|
|
33
|
+
resultValue.title = titleContent;
|
|
34
|
+
}
|
|
35
|
+
if (summaryContent) {
|
|
36
|
+
hasContent = true;
|
|
37
|
+
resultValue.summary = summaryContent;
|
|
38
|
+
}
|
|
39
|
+
if (!hasContent) {
|
|
40
|
+
return null;
|
|
33
41
|
}
|
|
34
42
|
return {
|
|
35
43
|
content: resultValue
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { VelcronImageRatios } from "
|
|
1
|
+
import { VelcronImageRatios, VelcronState } from "@omnia/fx-models";
|
|
2
2
|
import { VelcronStateBuilderBase } from "./VelcronStateBuilderBase";
|
|
3
3
|
export declare class VelcronImageStateBuilder extends VelcronStateBuilderBase {
|
|
4
4
|
private mainImageUrl;
|
|
@@ -14,7 +14,5 @@ export declare class VelcronImageStateBuilder extends VelcronStateBuilderBase {
|
|
|
14
14
|
bind: string;
|
|
15
15
|
};
|
|
16
16
|
};
|
|
17
|
-
protected internalBuild():
|
|
18
|
-
"main-image": {};
|
|
19
|
-
};
|
|
17
|
+
protected internalBuild(): VelcronState;
|
|
20
18
|
}
|
|
@@ -11,14 +11,14 @@ class VelcronImageStateBuilder extends VelcronStateBuilderBase_1.VelcronStateBui
|
|
|
11
11
|
this.mainImageUrl = url;
|
|
12
12
|
return this;
|
|
13
13
|
},
|
|
14
|
-
bind: "{{main
|
|
14
|
+
bind: "{{images.main.url}}"
|
|
15
15
|
},
|
|
16
16
|
ratio: {
|
|
17
17
|
add: (ratio) => {
|
|
18
18
|
this.mainImageRatio = ratio;
|
|
19
19
|
return this;
|
|
20
20
|
},
|
|
21
|
-
bind: "{{main
|
|
21
|
+
bind: "{{images.main.ratio}}"
|
|
22
22
|
}
|
|
23
23
|
};
|
|
24
24
|
}
|
|
@@ -26,16 +26,22 @@ class VelcronImageStateBuilder extends VelcronStateBuilderBase_1.VelcronStateBui
|
|
|
26
26
|
if (!this.mainImageUrl) {
|
|
27
27
|
return null;
|
|
28
28
|
}
|
|
29
|
+
let hasContent = false;
|
|
29
30
|
const resultValue = {};
|
|
30
31
|
if (this.mainImageRatio) {
|
|
31
32
|
resultValue["ratio"] = this.mainImageRatio;
|
|
33
|
+
hasContent = true;
|
|
32
34
|
}
|
|
33
35
|
if (this.mainImageUrl) {
|
|
34
36
|
resultValue["url"] = this.mainImageUrl;
|
|
37
|
+
hasContent = true;
|
|
38
|
+
}
|
|
39
|
+
if (!hasContent) {
|
|
40
|
+
return null;
|
|
35
41
|
}
|
|
36
42
|
return {
|
|
37
|
-
|
|
38
|
-
|
|
43
|
+
images: {
|
|
44
|
+
main: resultValue
|
|
39
45
|
}
|
|
40
46
|
};
|
|
41
47
|
}
|
|
@@ -1,11 +1,12 @@
|
|
|
1
|
+
import { VelcronState } from "@omnia/fx-models";
|
|
1
2
|
import { VelcronStateBuilderBase } from "./VelcronStateBuilderBase";
|
|
2
3
|
export declare class VelcronPropertyMappingStateBuilder extends VelcronStateBuilderBase {
|
|
3
4
|
private propertyItemsValue;
|
|
4
5
|
constructor(stateBuilder: any);
|
|
5
|
-
|
|
6
|
+
items: {
|
|
6
7
|
add: (items?: any[]) => VelcronPropertyMappingStateBuilder;
|
|
7
8
|
bind: string;
|
|
8
9
|
foreach: string;
|
|
9
10
|
};
|
|
10
|
-
protected internalBuild():
|
|
11
|
+
protected internalBuild(): VelcronState;
|
|
11
12
|
}
|
|
@@ -6,23 +6,30 @@ class VelcronPropertyMappingStateBuilder extends VelcronStateBuilderBase_1.Velcr
|
|
|
6
6
|
constructor(stateBuilder) {
|
|
7
7
|
super(stateBuilder);
|
|
8
8
|
this.propertyItemsValue = [];
|
|
9
|
-
this.
|
|
9
|
+
this.items = {
|
|
10
10
|
add: (items) => {
|
|
11
11
|
this.propertyItemsValue = items;
|
|
12
12
|
return this;
|
|
13
13
|
},
|
|
14
|
-
bind: "$
|
|
15
|
-
foreach: "
|
|
14
|
+
bind: "$properties.mappings",
|
|
15
|
+
foreach: "properties.mappings"
|
|
16
16
|
};
|
|
17
17
|
}
|
|
18
18
|
internalBuild() {
|
|
19
19
|
const resultValue = {};
|
|
20
20
|
let hasContent = false;
|
|
21
21
|
if (this.propertyItemsValue) {
|
|
22
|
-
resultValue.
|
|
22
|
+
resultValue.mappings = this.propertyItemsValue;
|
|
23
23
|
hasContent = true;
|
|
24
24
|
}
|
|
25
|
-
|
|
25
|
+
if (!hasContent) {
|
|
26
|
+
return null;
|
|
27
|
+
}
|
|
28
|
+
return {
|
|
29
|
+
properties: {
|
|
30
|
+
...resultValue
|
|
31
|
+
}
|
|
32
|
+
};
|
|
26
33
|
}
|
|
27
34
|
}
|
|
28
35
|
exports.VelcronPropertyMappingStateBuilder = VelcronPropertyMappingStateBuilder;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { VelcronState } from "@omnia/fx-models";
|
|
1
2
|
import { VelcronColorSchemaStateBuilder } from "./VelcronColorSchemaBuilder";
|
|
2
3
|
import { VelcronContentStateBuilder } from "./VelcronContentStateBuilder";
|
|
3
4
|
import { VelcronImageStateBuilder } from "./VelcronImageStateBuilder";
|
|
@@ -11,5 +12,5 @@ export declare class VelcronStateBuilder {
|
|
|
11
12
|
image(): VelcronImageStateBuilder;
|
|
12
13
|
colorSchemaType(): VelcronColorSchemaStateBuilder;
|
|
13
14
|
properties(): VelcronPropertyMappingStateBuilder;
|
|
14
|
-
build():
|
|
15
|
+
build(): VelcronState;
|
|
15
16
|
}
|
|
@@ -1,8 +1,12 @@
|
|
|
1
1
|
import { VelcronStateBuilder } from "./VelcronStateBuilder";
|
|
2
|
-
export declare abstract class
|
|
2
|
+
export declare abstract class VelcronStateBuilderStrategy {
|
|
3
|
+
abstract done(): any;
|
|
4
|
+
protected abstract internalBuild(): any;
|
|
5
|
+
}
|
|
6
|
+
export declare abstract class VelcronStateBuilderBase extends VelcronStateBuilderStrategy {
|
|
3
7
|
protected stateBuilder: VelcronStateBuilder;
|
|
4
|
-
constructor(
|
|
8
|
+
constructor(stateBuilder: VelcronStateBuilder);
|
|
5
9
|
done(): VelcronStateBuilder;
|
|
6
|
-
build():
|
|
10
|
+
build(): import("@omnia/fx-models").VelcronState;
|
|
7
11
|
protected abstract internalBuild(): any;
|
|
8
12
|
}
|
|
@@ -1,9 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.VelcronStateBuilderBase = void 0;
|
|
4
|
-
class
|
|
5
|
-
|
|
6
|
-
|
|
3
|
+
exports.VelcronStateBuilderBase = exports.VelcronStateBuilderStrategy = void 0;
|
|
4
|
+
class VelcronStateBuilderStrategy {
|
|
5
|
+
}
|
|
6
|
+
exports.VelcronStateBuilderStrategy = VelcronStateBuilderStrategy;
|
|
7
|
+
class VelcronStateBuilderBase extends VelcronStateBuilderStrategy {
|
|
8
|
+
constructor(stateBuilder) {
|
|
9
|
+
super();
|
|
10
|
+
this.stateBuilder = stateBuilder;
|
|
7
11
|
}
|
|
8
12
|
done() {
|
|
9
13
|
return this.stateBuilder;
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { TypographySize, TypographyType, VelcronTextState, VelcronTypographyState } from "@omnia/fx-models";
|
|
2
|
+
import { VelcronStateBuilderStrategy } from "./VelcronStateBuilderBase";
|
|
3
|
+
export declare class VelcronTextContentBuilder<TBaseBuilder> extends VelcronStateBuilderStrategy {
|
|
4
|
+
private _textState;
|
|
5
|
+
private bindingContextValue;
|
|
6
|
+
private _typographyState;
|
|
7
|
+
private baseBuilder;
|
|
8
|
+
constructor(baseBuilder: TBaseBuilder, bind: string);
|
|
9
|
+
get typographyState(): VelcronTypographyState;
|
|
10
|
+
get textState(): VelcronTextState;
|
|
11
|
+
get bindingContext(): string;
|
|
12
|
+
text: {
|
|
13
|
+
add: (value: string) => VelcronTextContentBuilder<TBaseBuilder>;
|
|
14
|
+
bind: () => string;
|
|
15
|
+
};
|
|
16
|
+
typography: {
|
|
17
|
+
type: {
|
|
18
|
+
add: (type: TypographyType) => VelcronTextContentBuilder<TBaseBuilder>;
|
|
19
|
+
bind: () => string;
|
|
20
|
+
};
|
|
21
|
+
size: {
|
|
22
|
+
add: (size: TypographySize) => VelcronTextContentBuilder<TBaseBuilder>;
|
|
23
|
+
bind: () => string;
|
|
24
|
+
};
|
|
25
|
+
toned: {
|
|
26
|
+
add: (toned: boolean) => VelcronTextContentBuilder<TBaseBuilder>;
|
|
27
|
+
bind: () => string;
|
|
28
|
+
};
|
|
29
|
+
};
|
|
30
|
+
done(): TBaseBuilder;
|
|
31
|
+
protected internalBuild(): VelcronTextState;
|
|
32
|
+
}
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.VelcronTextContentBuilder = void 0;
|
|
4
|
+
const VelcronStateBuilderBase_1 = require("./VelcronStateBuilderBase");
|
|
5
|
+
// export interface VelcronTextState {
|
|
6
|
+
// text:string,
|
|
7
|
+
// typography?:{
|
|
8
|
+
// type?: TypographyType,
|
|
9
|
+
// size?:TypographySize
|
|
10
|
+
// toned?:boolean;
|
|
11
|
+
// }
|
|
12
|
+
// }
|
|
13
|
+
class VelcronTextContentBuilder extends VelcronStateBuilderBase_1.VelcronStateBuilderStrategy {
|
|
14
|
+
constructor(baseBuilder, bind) {
|
|
15
|
+
super();
|
|
16
|
+
this._textState = undefined;
|
|
17
|
+
this.bindingContextValue = undefined;
|
|
18
|
+
this._typographyState = undefined;
|
|
19
|
+
// :VelcronTextContentBuilder<TBaseBuilder>
|
|
20
|
+
this.text = {
|
|
21
|
+
add: (value) => {
|
|
22
|
+
this.textState.text = value;
|
|
23
|
+
return this;
|
|
24
|
+
},
|
|
25
|
+
bind: () => { return `{{ ${this.bindingContextValue}.text }}`; }
|
|
26
|
+
};
|
|
27
|
+
this.typography = {
|
|
28
|
+
type: {
|
|
29
|
+
add: (type) => {
|
|
30
|
+
this.typographyState.type = type;
|
|
31
|
+
return this;
|
|
32
|
+
},
|
|
33
|
+
bind: () => { return `{{ ${this.bindingContextValue}.typography.type }}`; }
|
|
34
|
+
},
|
|
35
|
+
size: {
|
|
36
|
+
add: (size) => {
|
|
37
|
+
this.typographyState.size = size;
|
|
38
|
+
return this;
|
|
39
|
+
},
|
|
40
|
+
bind: () => { return `{{ ${this.bindingContextValue}.typography.size }}`; }
|
|
41
|
+
},
|
|
42
|
+
toned: {
|
|
43
|
+
add: (toned) => {
|
|
44
|
+
this.typographyState.toned = toned;
|
|
45
|
+
return this;
|
|
46
|
+
},
|
|
47
|
+
bind: () => { return `{{ ${this.bindingContextValue}.typography.toned }}`; }
|
|
48
|
+
}
|
|
49
|
+
};
|
|
50
|
+
this.baseBuilder = baseBuilder;
|
|
51
|
+
this.bindingContextValue = bind;
|
|
52
|
+
}
|
|
53
|
+
get typographyState() {
|
|
54
|
+
if (!this._typographyState) {
|
|
55
|
+
this._typographyState = {};
|
|
56
|
+
}
|
|
57
|
+
return this._typographyState;
|
|
58
|
+
}
|
|
59
|
+
get textState() {
|
|
60
|
+
if (!this._textState) {
|
|
61
|
+
this._textState = {};
|
|
62
|
+
}
|
|
63
|
+
return this._textState;
|
|
64
|
+
}
|
|
65
|
+
get bindingContext() {
|
|
66
|
+
return this.bindingContextValue;
|
|
67
|
+
}
|
|
68
|
+
// typography(type?: TypographyType,size?:TypographySize,toned?:boolean):VelcronTextContentBuilder<TBaseBuilder>{
|
|
69
|
+
// this.textState.typography = {
|
|
70
|
+
// type:type,
|
|
71
|
+
// size:size,
|
|
72
|
+
// toned:toned
|
|
73
|
+
// };
|
|
74
|
+
// return this;
|
|
75
|
+
// }
|
|
76
|
+
done() {
|
|
77
|
+
return this.baseBuilder;
|
|
78
|
+
}
|
|
79
|
+
internalBuild() {
|
|
80
|
+
const resultValue = {};
|
|
81
|
+
let hasContent = false;
|
|
82
|
+
// if(this.mainContent){
|
|
83
|
+
// resultValue["main"] = this.mainContent;
|
|
84
|
+
// hasContent = true;
|
|
85
|
+
// }
|
|
86
|
+
// if(this.captionContent){
|
|
87
|
+
// resultValue["caption"] = this.captionContent;
|
|
88
|
+
// hasContent = true;
|
|
89
|
+
// }
|
|
90
|
+
// if(!hasContent){
|
|
91
|
+
// return null;
|
|
92
|
+
// }
|
|
93
|
+
// return <VelcronState>{
|
|
94
|
+
// content: resultValue as VelcronContentState
|
|
95
|
+
// };
|
|
96
|
+
if (this._textState) {
|
|
97
|
+
hasContent = true;
|
|
98
|
+
resultValue.text = this._textState.text;
|
|
99
|
+
}
|
|
100
|
+
if (this._typographyState) {
|
|
101
|
+
hasContent = true;
|
|
102
|
+
resultValue.typography = this._typographyState;
|
|
103
|
+
}
|
|
104
|
+
if (!hasContent) {
|
|
105
|
+
return null;
|
|
106
|
+
}
|
|
107
|
+
return resultValue;
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
exports.VelcronTextContentBuilder = VelcronTextContentBuilder;
|