Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Dynamic Slideshow #225

Closed
wants to merge 1 commit into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
256 changes: 160 additions & 96 deletions StoryRampSchema.json
Original file line number Diff line number Diff line change
Expand Up @@ -138,7 +138,7 @@
"description": "A multimedia slide component.",
"oneOf": [
{
"$ref": "#/$defs/multimediaImage"
"$ref": "#/$defs/imagePanel"
},
{
"$ref": "#/$defs/multimediaVideo"
Expand All @@ -147,7 +147,7 @@
"$ref": "#/$defs/multimediaAudio"
},
{
"$ref": "#/$defs/multimediaSlideshow"
"$ref": "#/$defs/slideshowPanel"
}
],
"properties": {
Expand All @@ -159,6 +159,88 @@
}
},

"imagePanel": {
"type": "object",
"description": "An image panel.",
"properties": {
"images": {
"type": "array",
"items": {
"$ref": "#/$defs/multimediaImage"
},
"description": "An array of images to display in the slideshow.",
"minItems": 1
},
"loop": {
"type": "boolean",
"description": "Determines whether the slideshow loops back around to the beginning when you reach the end.",
"default": false
},
"caption": {
"type": "text",
"description": "A caption to display below the slideshow."
},
"type": {
"type": "string",
"enum": ["slideshow"]
}
}
},

"slideshowPanel": {
"type": "object",
"description": "A multimedia slideshow component.",
"properties": {
"items": {
"type": "array",
"items": {
"type": "object",
"properties": {
"type": {
"type": "string",
"description": "Type of this slideshow item.",
"enum": ["text", "map", "image", "chart"]
},
"config": {
"type": "object",
"description": "Config for this slideshow item.",
"oneOf": [
{
"$ref": "#/$defs/multimediaImage"
},
{
"$ref": "#/$defs/mapPanel"
},
{
"$ref": "#/$defs/textPanel"
},
{
"$ref": "#/$defs/dqvchartPanel"
}
]
}
}
},
"description": "An array of images to display in the slideshow.",
"minItems": 1
},
"loop": {
"type": "boolean",
"description": "Determines whether the slideshow loops back around to the beginning when you reach the end.",
"default": false
},
"caption": {
"type": "text",
"description": "A caption to display below the slideshow."
},
"type": {
"type": "string",
"enum": ["slideshow"]
}
},
"required": ["items", "type"]
},

"mapPanel": {
"type": "object",
"description": "A map slide component.",
Expand Down Expand Up @@ -249,10 +331,6 @@
"tooltip": {
"type": "string",
"description": "Tooltip content for the image."
},
"type": {
"type": "string",
"enum": ["image"]
}
},
"required": ["src", "type"]
Expand Down Expand Up @@ -306,34 +384,6 @@
"required": ["src", "type"]
},

"multimediaSlideshow": {
"type": "object",
"description": "A multimedia slideshow component.",
"properties": {
"images": {
"type": "array",
"items": {
"$ref": "#/$defs/multimediaImage"
},
"description": "An array of images to display in the slideshow.",
"minItems": 1
},
"loop": {
"type": "boolean",
"description": "Determines whether the slideshow loops back around to the beginning when you reach the end.",
"default": false
},
"caption": {
"type": "text",
"description": "A caption to display below the slideshow."
},
"type": {
"type": "string",
"enum": ["slideshow"]
}
},
"required": ["images", "type"]
},
"dqvchartOptions": {
"type": "object",
"description": "Configuration for a dqvchart.",
Expand All @@ -349,7 +399,20 @@
"type": {
"type": "string",
"description": "The type of chart.",
"enum": ["line", "spline", "area", "areaspline", "column", "bar", "pie", "scatter", "gauge", "arearange", "areasplinerange", "columnrange"]
"enum": [
"line",
"spline",
"area",
"areaspline",
"column",
"bar",
"pie",
"scatter",
"gauge",
"arearange",
"areasplinerange",
"columnrange"
]
},
"width": {
"type": "number",
Expand Down Expand Up @@ -385,79 +448,80 @@
"description": "The title of the y-axis."
}
}
},

"properties": {
"title": {
"type": "string",
"description": "The title of the story map."
},

"introSlide": {
"type": "object",
"description": "The introductory slide",
"properties": {
"logo": {
"type": "object",
"description": "Information about the StoryRAMP logo",
"properties": {
"src": {
"type": "string",
"description": "An image source that is displayed at the top of the slide"
"properties": {
"title": {
"type": "string",
"description": "The title of the story map."
},

"introSlide": {
"type": "object",
"description": "The introductory slide",
"properties": {
"logo": {
"type": "object",
"description": "Information about the StoryRAMP logo",
"properties": {
"src": {
"type": "string",
"description": "An image source that is displayed at the top of the slide"
},
"altText": {
"type": "string",
"description": "Alt text for the logo"
}
},
"altText": {
"type": "string",
"description": "Alt text for the logo"
}
"required": ["src"]
},
"required": ["src"]
},
"title": {
"type": "string",
"description": "The title of the project, displayed under the image"
"title": {
"type": "string",
"description": "The title of the project, displayed under the image"
},
"subtitle": {
"type": "string",
"description": "An optional subtitle that is displayed under the title."
},
"blurb": {
"type": "string",
"description": "Any additional information to display on the introductory slide."
}
},
"subtitle": {
"type": "string",
"description": "An optional subtitle that is displayed under the title."
"required": ["logo", "title"]
},

"slides": {
"type": "array",
"description": "A list of StoryRAMP slides. A minimum of one slide is required.",
"items": {
"$ref": "#/$defs/slide"
},
"blurb": {
"type": "string",
"description": "Any additional information to display on the introductory slide."
}
"minItems": 1
},
"required": ["logo", "title"]
},

"slides": {
"type": "array",
"description": "A list of StoryRAMP slides. A minimum of one slide is required.",
"items": {
"$ref": "#/$defs/slide"
"contextLink": {
"type": "string",
"description": "A link pointing to the source information"
},
"minItems": 1
},

"contextLink": {
"type": "string",
"description": "A link pointing to the source information"
},
"contextLabel": {
"type": "string",
"description": "A description that explains the context link."
},

"contextLabel": {
"type": "string",
"description": "A description that explains the context link."
},
"lang": {
"type": "string",
"description": "The language to display in the app",
"enum": ["en", "fr"]
},

"lang": {
"type": "string",
"description": "The language to display in the app",
"enum": ["en", "fr"]
"dateModified": {
"type": "string",
"description": "The last date that this config file was modified."
}
},

"dateModified": {
"type": "string",
"description": "The last date that this config file was modified."
}
},

"required": ["title", "introSlide", "slides"]
"required": ["title", "introSlide", "slides"]
}
}
Loading
Loading