Commit 036bb0f2 by Matjaz Gregoric

Address review comments.

parent ac4bc20c
...@@ -5,10 +5,19 @@ This documents the APIs that can be used to implement native wrappers. There are ...@@ -5,10 +5,19 @@ This documents the APIs that can be used to implement native wrappers. There are
three types of APIs: three types of APIs:
- `student_view_data`: Exposes block settings and content as JSON data. Can be - `student_view_data`: Exposes block settings and content as JSON data. Can be
retrieved via the edX Course Blocks API. Does not include user-specific data retrieved via the edX
(i.e. items derived from `Scope.user_state` fields). [Course Blocks API](http://edx.readthedocs.io/projects/edx-platform-api/en/latest/courses/blocks.html),
- `student_view_user_state`: XBlock handler which returns user state data in e.g.,
JSON format. ```
GET https://<lms_server_url>/api/courses/v1/blocks/?course_id=<course_id>&username=<username>&depth=all&requested_fields=student_view_data&student_view_data=<xblock_types>
```
Does not include user-specific data, which is available from `student_view_user_state`.
- `student_view_user_state`: XBlock handler which returns the currently logged
in user's state data in JSON format (e.g. items derived from `Scope.user_state`
fields).
```
GET https://<lms_server_url>/courses/<course_id>/xblock/<xblock_id>/handler/student_view_user_state
```
- Custom XBlock handlers used for submitting user input and recording user actions. - Custom XBlock handlers used for submitting user input and recording user actions.
Problem Builder (`problem-builder`) Problem Builder (`problem-builder`)
...@@ -16,45 +25,46 @@ Problem Builder (`problem-builder`) ...@@ -16,45 +25,46 @@ Problem Builder (`problem-builder`)
### `student_view_data` ### `student_view_data`
- `max_attempts`: Max number of allowed attempts (integer). - `max_attempts`: (integer) Max number of allowed attempts.
- `extended_feedback`: `true` if extended feedback is enabled for this block - `extended_feedback`: (boolean) `true` if extended feedback is enabled for this
(boolean). block.
- `feedback_label`: Feedback message header (string). - `feedback_label`: (string) Feedback message header.
- `messages`: A dict with three string entries: `completed`, `incomplete`, and - `messages`: (object) A dict with three string entries: `completed`,
`max_attempts_reached`. See below for info on each (object). `incomplete`, and `max_attempts_reached`. See below for info on each.
- `components`: A list of `student_view_data` output of all immediate child - `components`: (array) A list of `student_view_data` output of all immediate
components which implement `student_view_data`. Child components which don't child components which implement `student_view_data`. Child components which
implement `student_view_data` are omitted from the list (array). don't implement `student_view_data` are omitted from the list.
#### `messages` #### `messages`
These messages are displayed as feedback, depending on the state of the block. These messages are displayed as feedback, depending on the state of the
block. Any of these may be `null`.
- `completed`: Message to be shown if the user successfully completes the - `completed`: (string) Message to be shown if the user successfully completes
problem. May contain HTML (string). the problem. May contain HTML.
- `incomplete`: Message to be shown if the user did not successfully complete - `incomplete`: (string) Message to be shown if the user did not successfully
the problem, but still has available attempts left. May contain HTML (string). complete the problem, but still has available attempts left. May contain HTML.
- `max_attempts_reached`: Message to be shown if the user did not complete the - `max_attempts_reached`: (string) Message to be shown if the user did not
problem and has no available attempts left. complete the problem and has no available attempts left.
### `student_view_user_state` ### `student_view_user_state`
- `num_attempts`: Number of attempts used so far (integer). - `num_attempts`: (integer) Number of attempts used so far.
- `completed`: `true` if the user successfully completed the problem at least - `completed`: (boolean) `true` if the user successfully completed the problem at least once.
once (boolean). - `student_results`: (array) A list of user submitted answers with metadata for
- `student_results`: A list of user submitted answers with metadata for each each child component. See below for more info.
child component. See below for more info (array). - `components`: (object) Contains the `student_view_user_state` output of all
- `components`: A dict of `student_view_user_state` output of all immediate immediate child components which implement `student_view_user_state`. Each key
child components which implement `student_view_user_state`. Dict keys are is a component ID (string), and the value is the component's
component IDs and the value corresponding to each key is the output of `student_view_user_state` (object). Child components which don't implement
`student_view_user_state`(object). Child components which don't implement student_view_user_state are not included in the dict.
`student_view_user_state` are not included in the dict.
#### `student_results` #### `student_results`
The `student_results` field is an array of two-element arrays. Each nested array The `student_results` field is an array of two-element arrays. Each nested array
has the form of `[component_name, data]`. Only components which the student has the form of `[component_name, data]`. If the user has not made any
already submitted are present in the array. The structure of the `data` object submissions to particular component, then the element corresponding to that
component may be omitted from the array. The structure of the `data` object
depends on the type of the child component and is described separately for each depends on the type of the child component and is described separately for each
type of child component below. type of child component below.
...@@ -67,42 +77,49 @@ The `submit` XBlock JSON handler is used for submitting student input. The ...@@ -67,42 +77,49 @@ The `submit` XBlock JSON handler is used for submitting student input. The
depend on the component type and are described separately for each type of child depend on the component type and are described separately for each type of child
component below. component below.
Example URL:
```
POST https://<lms_server_url>/courses/<course_id>/xblock/<xblock_id>/handler/submit
```
Returns a JSON object which contains these fields: Returns a JSON object which contains these fields:
- `results`: Same as `student_results` described under - `results`: (array) Same as `student_results` described under
`student_view_user_state` above. `student_view_user_state` above.
- `completed`: Same as `completed` described under `student_view_user_state` - `completed`: (boolean) Same as `completed` described under
above. `student_view_user_state` above.
- `message`: One of the `completed`, `incomplete`, or `max_attempts_reached` - `message`: (string) One of the `completed`, `incomplete`, or
feedback messages described under `messages` above. Can be `null` if no `max_attempts_reached` feedback messages described under `messages` above. Can
messages has been defined. May contain HTML (string). be `null` if no messages has been defined. May contain HTML.
- `max_attempts`: Same as `max_attempts` under `student_view_data`. - `max_attempts`: (integer) Same as `max_attempts` under `student_view_data`.
- `num_attempts`: Same as `num_attempts` under `student_view_user_state`. - `num_attempts`: (integer) Same as `num_attempts` under
`student_view_user_state`.
Step Builder (`step-builder`) Step Builder (`step-builder`)
----------------------------- -----------------------------
### `student_view_data` ### `student_view_data`
- `title`: The display name of the component (string). - `title`: (string) The display name of the component.
- `show_title`: `true` if the title should be displayed (boolean). - `show_title`: (boolean) `true` if the title should be displayed.
- `weight`: The weight of the problem (float). - `weight`: (float) The weight of the problem.
- `extended_feedback`: `true` if extended feedback is enabled for this block - `extended_feedback`: (boolean) `true` if extended feedback is enabled for this
(boolean). block.
- `max_attempts`: Max number of allowed attempts (integer). - `max_attempts`: (integer) Max number of allowed attempts.
- `components`: A list of `student_view_data` output of all immediate child - `components`: (array) A list of `student_view_data` output of all immediate
components which implement `student_view_data`. For `step-builder`, immediate child components which implement `student_view_data`. For `step-builder`,
children are typically `sb-step` and `sb-review-step` type components. Child immediate children are typically `sb-step` and `sb-review-step` type
components which don't implement `student_view_data` are omitted from the list components. Child components which don't implement `student_view_data` are
(array). omitted from the list.
### `student_view_user_state` ### `student_view_user_state`
Same as Problem Builder above, but also contains these additional fields: Same as [Problem Builder above](#problem-builder-problem-builder), but also
contains these additional fields:
- `active_step`: The index of the step which is currently active. Starts at zero - `active_step`: (integer) The index of the step which is currently
(integer). active. Starts at zero.
### Custom Handlers ### Custom Handlers
...@@ -116,6 +133,12 @@ component below. ...@@ -116,6 +133,12 @@ component below.
In addition to child component names, the `POST` data should also include the In addition to child component names, the `POST` data should also include the
`active_step` field. The value should be the index of the current step. `active_step` field. The value should be the index of the current step.
Example URL:
```
POST https://<lms_server_url>/courses/<course_id>/xblock/<xblock_id>/handler/submit --data '{"bf9c37a":[{"name":"input","value":"Freeform answer"}],"71f85d0d3e7dabfc1a8cfecf72dce4284f18b13a":"3","71c526b60ec97364214ac70860def69914de84e7":["000bc8e","da9691e"],"477847c4f3540f37b8b3815430a74632a352064d":0.59,"b66a6115af051939c5ce92fb5ff739ccf704d1e9":false}'
```
#### `try_again` #### `try_again`
The `try_again` XBlock JSON handler can be used when the student reaches the The `try_again` XBlock JSON handler can be used when the student reaches the
...@@ -124,38 +147,44 @@ all of its children. ...@@ -124,38 +147,44 @@ all of its children.
Returns a JSON object containing the new value of `active_step`. Returns a JSON object containing the new value of `active_step`.
Example URL:
```
POST https://<lms_server_url>/courses/<course_id>/xblock/<xblock_id>/handler/try_again
```
Mentoring Step (`sb-step`) Mentoring Step (`sb-step`)
-------------------------- --------------------------
### `student_view_data` ### `student_view_data`
- `type`: Always equals `"sb-step"` for Mentoring Step components (string). - `type`: (string) Always equals `"sb-step"` for Mentoring Step components.
- `title`: Step component's display name (string). - `title`: (string) Step component's display name.
- `show_title`: `true` if the title should be displayed (boolean). - `show_title`: (boolean) `true` if the title should be displayed.
- `next_button_label`: Text label of the "Next Step" button (string). - `next_button_label`: (string) Text label of the "Next Step" button.
- `message`: Feedback or instructional message which should be displayed after - `message`: (string) Feedback or instructional message which should be
student submits the step (string). displayed after student submits the step. May be `null`.
- `components`: A list of `student_view_data` output of all immediate child - `components`: (array) A list of `student_view_data` output of all immediate
components which implement `student_view_data`. Child components which don't child components which implement `student_view_data`. Child components which
implement `student_view_data` are omitted from the list (array). don't implement `student_view_data` are omitted from the list.
### `student_view_user_state` ### `student_view_user_state`
- `student_results`: Same as `student_results` described under - `student_results`: (array) Same as `student_results` described under
`student_view_user_state` in the Problem Builder section.
- `components`: (object) Same as `components` described under
`student_view_user_state` in the Problem Builder section. `student_view_user_state` in the Problem Builder section.
- `components`: Same as `components` described under `student_view_user_state`
in the Problem Builder section.
Review Step (`sb-review-step`) Review Step (`sb-review-step`)
------------------------------ ------------------------------
### `student_view_data` ### `student_view_data`
- `type`: Always equals `"sb-review-step`" for Review Step components (string). - `type`: (string) Always equals `"sb-review-step`" for Review Step components.
- `title`: Display name of the component (string). - `title`: (string) Display name of the component.
- `components`: A list of `student_view_data` output of all immediate child - `components`: (array) A list of `student_view_data` output of all immediate
components which implement `student_view_data`. Child components which don't child components which implement `student_view_data`. Child components which
implement `student_view_data` are omitted from the list (array). don't implement `student_view_data` are omitted from the list.
Conditional Message (`sb-conditional-message`) Conditional Message (`sb-conditional-message`)
---------------------------------------------- ----------------------------------------------
...@@ -164,254 +193,256 @@ Conditional Message component is always child of a Review Step component. ...@@ -164,254 +193,256 @@ Conditional Message component is always child of a Review Step component.
### `student_view_data` ### `student_view_data`
- `type`: Always equals `"sb-conditional-message"` for Conditional Message - `type`: (string) Always equals `"sb-conditional-message"` for Conditional
components (string). Message components.
- `content`: Content of the message. May contain HTML (string). - `content`: (string) Content of the message. May contain HTML.
- `score_condition`: One of `"perfect"`, `"imperfect"`, or `"any"` (string). - `score_condition`: (string) One of `"perfect"`, `"imperfect"`, or `"any"`.
- `num_attempts_condition`: One of `"can_try_again"`, `"cannot_try_again"`, or - `num_attempts_condition`: (string) One of `"can_try_again"`,
`"any"` (string). `"cannot_try_again"`, or `"any"`.
Score Summary (`sb-review-score`) Score Summary (`sb-review-score`)
--------------------------------- ---------------------------------
### `student_view_data` ### `student_view_data`
- `type`: Always equals `"sb-review-score"` for Score Summary components - `type`: (string) Always equals `"sb-review-score"` for Score Summary
(string). components.
Per-Question Feedback (`sb-review-per-question-feedback`) Per-Question Feedback (`sb-review-per-question-feedback`)
--------------------------------------------------------- ---------------------------------------------------------
### `student_view_data` ### `student_view_data`
- `type`: Always equals `"sb-review-per-question-feedback"` for Score Summary - `type`: (string) Always equals `"sb-review-per-question-feedback"` for Score
components (string). Summary components.
Long Answer (`pb-answer`) Long Answer (`pb-answer`)
------------------------- -------------------------
### `student_view_data` ### `student_view_data`
- `type`: Always equals `"pb-answer"` for Long Answer components (string). - `type`: (string) Always equals `"pb-answer"` for Long Answer components.
- `id`: Unique ID (name) of the component (string). - `id`: (string) Unique ID (name) of the component.
- `weight`: The weight of this component (float). - `weight`: (float) The weight of this component.
- `question`: The question/text displayed above the input field (string). - `question`: (string) The question/text displayed above the input field.
### `student_view_user_state` ### `student_view_user_state`
- `answer_data`: A dict with info about students submitted answer. See below for - `answer_data`: (object) A dict with info about students submitted answer. See
more info(object). below for more info.
#### `answer_data` #### `answer_data`
The `answer_data` field contains these items: The `answer_data` field contains these items:
- `student_input`: Text that the student entered (string). - `student_input`: (string) Text that the student entered.
- `created_on`: Date/Time when the answer was first submitted (string). - `created_on`: (string) Date/Time when the answer was first submitted.
- `modified_on`: Date/Time when the answer was last modified (string). - `modified_on`: (string) Date/Time when the answer was last modified.
### `student_results` ### `student_results`
- `status`: One of `"correct"` or `"incorrect"` (string). - `status`: (string) One of `"correct"` or `"incorrect"`.
- `score`: Student's score. One of `1` or `0` (integer). - `score`: (integer) Student's score. One of `1` or `0`.
- `weight`: Child component's weight attribute (float). - `weight`: (float) Child component's weight attribute.
- `student_input`: Text entered by the user (string). - `student_input`: (string) Text entered by the user.
### POST Submit Data ### POST Submit Data
When submitting the problem either via Problem Builder or Step Builder, the data When submitting the problem either via Problem Builder or Step Builder, the data
entry corresponding to the Long Answer block should be an array with a single entry corresponding to the Long Answer block should be an array with a single
object containing the `"value"` property: `[{"value": "Student's input"}]`. object containing the `"value"` property. Example: `[{"value": "Student's input"}]`.
Multiple Choice Question (`pb-mcq`) Multiple Choice Question (`pb-mcq`)
----------------------------------- -----------------------------------
### `student_view_data` ### `student_view_data`
- `type`: Always equals `"pb-mcq"` for MCQ components (string). - `type`: (string) Always equals `"pb-mcq"` for MCQ components.
- `id`: Unique ID (name) of the component (string). - `id`: (string) Unique ID (name) of the component.
- `question`: The content of the question (string). - `question`: (string) The content of the question.
- `message`: General feedback provided when submitting (string). - `message`: (string) General feedback provided when submitting.
- `weight`: The weight of the problem (float). - `weight`: (float) The weight of the problem.
- `choices`: A list of objects providing info about available choices. See below - `choices`: (array) A list of objects providing info about available
for more info (array). choices. See below for more info.
- `tips`: A list of objects providing info about tips defined for the - `tips`: (array) A list of objects providing info about tips defined for the
problem. See below for more info (array). problem. See below for more info.
#### `choices` #### `choices`
Each entry in the `choices` array contains these values: Each entry in the `choices` array contains these values:
- `content`: Display name of the choice (string). - `content`: (string) Display name of the choice.
- `value`: The value of the choice. This is the value that gets submitted and - `value`: (string) The value of the choice. This is the value that gets
stored when users submits their answer (string). submitted and stored when users submits their answer.
#### `tips` #### `tips`
Each entry in the `tips` array contains these values: Each entry in the `tips` array contains these values:
- `content`: The text content of the tip (string). - `content`: (string) The text content of the tip.
- `for_choices`: A list of string values corresponding to choices to which this - `for_choices`: (array) A list of string values corresponding to choices to
tip applies to (array). which this tip applies to.
### `student_view_user_state` ### `student_view_user_state`
- `student_choice`: The value of the last submitted choice (string). - `student_choice`: (string) The value of the last submitted choice.
### `student_results` ### `student_results`
- `status`: One of `"correct"` or `"incorrect"` (string). - `status`: (string) One of `"correct"` or `"incorrect"`.
- `score`: Student's score. One of `1` or `0` (integer). - `score`: (integer) Student's score. One of `1` or `0`.
- `weight`: Child component's weight attribute (float). - `weight`: (float) Child component's weight attribute.
- `submission`: The value of the choice that the user selected (string). - `submission`: (string) The value of the choice that the user selected.
- `message`: General feedback. May contain HTML (string). - `message`: (string) General feedback. May contain HTML.
- `tips`: HTML representation of tips. May be `null` (string). - `tips`: (string) HTML representation of tips. May be `null`.
### POST Submit Data ### POST Submit Data
When submitting the problem the data should equal to the string value of the When submitting the problem the data should be equal to the string value of the
selected choice. selected choice. Example: `"blue"`.
Rating Question (`pb-rating`) Rating Question (`pb-rating`)
----------------------------- -----------------------------
### `student_view_data` ### `student_view_data`
Identical to MCQ questions except that the `type` field always equals Identical to [MCQ questions](#multiple-choice-question-pb-mcq) except that the
`"pb-rating"`. `type` field always equals `"pb-rating"`.
### `student_view_user_state` ### `student_view_user_state`
- `student_choice`: The value of the last submitted choice (string). - `student_choice`: (string) The value of the last submitted choice.
### `student_results` ### `student_results`
Identical to MCQ questions. Identical to [MCQ questions](#multiple-choice-question-pb-mcq).
### POST Submit Data ### POST Submit Data
When submitting the problem the data should equal to the string value of the When submitting the problem the data should be equal to the string value of the
selected choice. selected choice. Example: `"3"`.
Multiple Response Question (`pb-mrq`) Multiple Response Question (`pb-mrq`)
------------------------------------- -------------------------------------
### `student_view_data` ### `student_view_data`
- `type`: Always equals `"pb-mrq"` for Multiple Response Question components - `type`: (string) Always equals `"pb-mrq"` for Multiple Response Question
(string). components.
- `id`: Unique ID (name) of the component (string). - `id`: (string) Unique ID (name) of the component.
- `title`: Display name of the component (string). - `title`: (string) Display name of the component.
- `weight`: Weight of the problem (float). - `weight`: (float) Weight of the problem.
- `question`: The content of the question (string). - `question`: (string) The content of the question.
- `message`: General feedback provided when submitting (string). - `message`: (string) General feedback provided when submitting.
- `hide_results`: `true` if results should be hidden (boolean). - `hide_results`: (boolean) `true` if results should be hidden.
### `student_view_user_state` ### `student_view_user_state`
- `student_choices`: A list of string values corresponding to choices last - `student_choices`: (array) A list of string values corresponding to choices
submitted by the student (array). last submitted by the student.
### `student_results` ### `student_results`
- `status`: One of `"correct"`, `"incorrect"`, or `"partial"` (string). - `status`: (string) One of `"correct"`, `"incorrect"`, or `"partial"`.
- `score`: Student's score. Float in the range `0 - 1` (float). - `score`: (float) Student's score. Float in the range `0 - 1`.
- `weight`: Child component's weight attribute (float). - `weight`: (float) Child component's weight attribute.
- `submissions`: A list of string values corresponding to the choices that the - `submissions`: (array) A list of string values corresponding to the choices
user selected (array). that the user selected.
- `message`: General feedback. May contain HTML (string). - `message`: (string) General feedback. May contain HTML.
- `choices`: A list of dicts containing info about available choices. See below - `choices`: (array) A list of dicts containing info about available
for more info (array). choices. See below for more info.
#### `choices` #### `choices`
Each item in the `choices` array contains these fields: Each item in the `choices` array contains these fields:
- `completed`: Boolean indicating whether the state of the choice is correct - `completed`: (boolean) Boolean indicating whether the state of the choice is
(boolean). correct.
- `selected`: `true` if the user selected this choice (boolean). - `selected`: (boolean) `true` if the user selected this choice.
- `tips`: Tips formatted as a string of HTML (string). - `tips`: (string) Tips formatted as a string of HTML.
- `value`: The value of the choice (string). - `value`: (string) The value of the choice.
### POST Submit Data ### POST Submit Data
The submitted data should be a JSON array of string values corresponding to The submitted data should be a JSON array of string values corresponding to
selected choices. selected choices. Example: `["red","blue"]`.
Ranged Value Slider (`pb-slider`) Ranged Value Slider (`pb-slider`)
--------------------------------- ---------------------------------
### `student_view_data` ### `student_view_data`
- `type`: Always equals `"pb-slider"` for Ranged Value Slider components (string). - `type`: (string) Always equals `"pb-slider"` for Ranged Value Slider
- `id`: Unique ID (name) of the component (string). components.
- `title`: Display name of the component (string). - `id`: (string) Unique ID (name) of the component.
- `hide_header`: `true` if header should be hidden (boolean). - `title`: (string) Display name of the component.
- `question`: The content of the question (string). - `hide_header`: (boolean) `true` if header should be hidden.
- `min_label`: Label for the low end of the range (string). - `question`: (string) The content of the question.
- `max_label`: Label for the high end of the range (string). - `min_label`: (string) Label for the low end of the range.
- `max_label`: (string) Label for the high end of the range.
### `student_view_user_state` ### `student_view_user_state`
- `student_value`: The value last selected by the user (float). - `student_value`: (float) The value last selected by the user.
### `student_results` ### `student_results`
- `status`: Always `"correct"` for Ranged Value Slider components (string). - `status`: (string) Always `"correct"` for Ranged Value Slider components.
- `score`: Always equals `1` for Ranged Value Slider components (integer). - `score`: (integer) Always equals `1` for Ranged Value Slider components.
- `weight`: Child component's weight attribute (float). - `weight`: (float) Child component's weight attribute.
- `submission`: The float value of the user submission, or `null` if the - `submission`: (float) The float value of the user submission, or `null` if the
component has never been submitted (float). component has never been submitted.
### POST Submit Data ### POST Submit Data
The submitted data should be a float value representing the value selected by The submitted data should be a float value representing the value selected by
the user. the user. Example: `0.65`.
Completion (`pb-completion`) Completion (`pb-completion`)
---------------------------- ----------------------------
### `student_view_data` ### `student_view_data`
- `type`: Always equals `"pb-completion"` for Completion components (string). - `type`: (string) Always equals `"pb-completion"` for Completion components.
- `id`: Unique ID (name) of the component (string). - `id`: (string) Unique ID (name) of the component.
- `title`: Display name of the problem (string). - `title`: (string) Display name of the problem.
- `hide_header`: `true` if the header should be hidden (boolean). - `hide_header`: (boolean) `true` if the header should be hidden.
- `question`: The content of the question (string). - `question`: (string) The content of the question.
- `answer`: Represents the answer that the student can (un)check (string). - `answer`: (string) Represents the answer that the student can (un)check.
### `student_view_user_state` ### `student_view_user_state`
- `student_value`: Boolean indicating whether the user checked the checkbox. Can - `student_value`: (boolean) Boolean indicating whether the user checked the
also be `null` if the user never checked or unchecked the checkbox (boolean). checkbox. Can also be `null` if the user never checked or unchecked the
checkbox.
### `student_results` ### `student_results`
- `status`: Always `"correct"` for Completion components (string). - `status`: (string) Always `"correct"` for Completion components.
- `score`: Always equals `1` for Completion components (integer). - `score`: (integer) Always equals `1` for Completion components.
- `weight`: Child component's weight attribute (float). - `weight`: (float) Child component's weight attribute.
- `submission`: The boolean value of the user submission, or `null` if the - `submission`: (boolean) The boolean value of the user submission, or `null` if
component has never been submitted (boolean). the component has never been submitted.
### POST Submit Data ### POST Submit Data
The submitted data should be JSON boolean, `true` if the checkbox is checked and The submitted data should be JSON boolean, `true` if the checkbox is checked and
`false` if it is not. `false` if it is not. Example: `true`.
Plot (`sb-plot`) Plot (`sb-plot`)
---------------- ----------------
### `student_view_data` ### `student_view_data`
- `type`: Always equals `"sb-plot"` for Plot components (string). - `type`: (string) Always equals `"sb-plot"` for Plot components.
- `title`: Display name of the component (string). - `title`: (string) Display name of the component.
- `q1_label`: Quadrant I label (string). - `q1_label`: (string) Quadrant I label.
- `q2_label`: Quadrant II label (string). - `q2_label`: (string) Quadrant II label.
- `q3_label`: Quadrant III label (string). - `q3_label`: (string) Quadrant III label.
- `q4_label`: Quadrant IV label (string). - `q4_label`: (string) Quadrant IV label.
- `point_color_default`: Point color to use for default overlay (string). - `point_color_default`: (string) Point color to use for default overlay
- `plot_label`: Label for default overlay which shows student's answers to scale (string). - `plot_label`: Label for default overlay which shows student's
questions (string). answers to scale questions.
- `point_color_average`: Point color to use for the average overlay (string). - `point_color_average`: (string) Point color to use for the average overlay.
- `overlay_data`: JSON data representing points on overlays (string). - `overlay_data`: (string) JSON data representing points on overlays.
- `hide_header': Always `true` for Plot components (boolean). - `hide_header`: (boolean) Always `true` for Plot components.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment