Skip to content

Instantly share code, notes, and snippets.

@jkriddle
Created November 20, 2013 20:06
Show Gist options
  • Save jkriddle/7570085 to your computer and use it in GitHub Desktop.
Save jkriddle/7570085 to your computer and use it in GitHub Desktop.
/**
* @file Sample instance of a host system's configuration file. For testing only.
*/
/**
* @namespace
* @property {String} name - Target XML element of this configuration
* @property {String} description - User-friendly description of this configuration
* @property {Array} subelements - Item Elements allowed to be created/managed
* @property {String} subelements.name - Target XML element of this element
* @property {String} subelements.description - User-friendly description of this element
* @property {Integer} subelements.min - Mininum # of elements of this type that must be included in this item
* @property {Integer} subelements.max - Maximum # of elements of this type that can be included in this item
* @property {Boolean} subelements.supported - If this element is supported by the host system
* @property {Boolean} subelements.allowed - If this current user has access to add/edit this type of element
* @property {String} subelements.editor - IEditor type to use when editing this element's contents
* @property {String} subelements.style - CSS class to apply to this element's interface
* @property {Array} subelements.attributes - Custom attributes to be displayed in property interface
* @property {String} subelements.attributes.name - Name of this attribute
* @property {String} subelements.attributes.valueType - Data type to be collected for this attribute
* @property {Integer} subelements.attributes.min - Minimum value for this attribute's value
* @property {Integer} subelements.attributes.max - Maximum value for this attribute's value
* @property {Integer} subelements.attributes.rangeLow - ???
* @property {Array} subelements.subelements - Child Item Elements to be rendered
*/
var config = {
name : "ItemBody",
description : "Item",
subelements : [
{
"name": "prompt",
"description": "Prompt",
"min": 0,
"max": 1,
"supported": true,
"allowed": true,
"editor": "htmlEditor",
"style": "ib_prompt",
"attributes": null,
"subelements": [
{
"name": "anyHTML",
"description": "Any HTML content you want",
"min": 0
}
]
},
{
"name": "choiceInteraction",
"description": "Response Choices",
"min": 0,
"max": null,
"supported": true,
"allowed": true,
"editor": "htmlEditor",
"style": "ib_choiceInt",
"attributes": [
{
"name": "shuffle",
"valueType": "Boolean",
"min": 0,
"max": 1
},
{
"name": "maxChoices",
"valueType": "Integer",
"min": 0,
"max": 1,
"rangeLow": 1
},
{
"name": "minChoices",
"valueType": "Integer",
"min": 0,
"max": 1,
"rangeLow": 1
}
],
"subelements": [
{
"name": "simpleChoice",
"description": "Response Option",
"min": 1,
"max": null,
"supported": true,
"allowed": true,
"editor": "htmlEditor",
"style": "ib_choiceInt_simple",
"attributes": null,
"subelements": [
{
"name": "anyHTML",
"description": "Any HTML content you want",
"min": 0
}
]
}
]
},
{
"name": "anyHTML",
"description": "Any HTML content you want",
"min": 0
}
]
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment