Skip to content
Merged
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
2 changes: 2 additions & 0 deletions games/constants.py
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,8 @@ class CARD_FIELD:
DEFINITION = "definition"
DEFINITION_IMAGE = "definition_image"
ORDER = "order"
TERM_IMAGE_ALT = "term_image_alt"
DEFINITION_IMAGE_ALT = "definition_image_alt"


class CONTAINER_TYPE:
Expand Down
2 changes: 2 additions & 0 deletions games/handlers/common.py
Original file line number Diff line number Diff line change
Expand Up @@ -217,6 +217,8 @@ def save_settings(xblock, data, suffix=""):
CARD_FIELD.CARD_KEY: card.get(
CARD_FIELD.CARD_KEY, str(uuid.uuid4())
),
CARD_FIELD.TERM_IMAGE_ALT: card.get(CARD_FIELD.TERM_IMAGE_ALT, ""),
CARD_FIELD.DEFINITION_IMAGE_ALT: card.get(CARD_FIELD.DEFINITION_IMAGE_ALT, ""),
}
)

Expand Down
10 changes: 10 additions & 0 deletions games/handlers/flashcards.py
Original file line number Diff line number Diff line change
Expand Up @@ -33,13 +33,23 @@ def student_view(xblock, context=None):
salt = "".join(random.choices(string.ascii_letters + string.digits, k=CONFIG.SALT_LENGTH))
payload_cards = []
for card in cards:
term_image_alt = card.get(CARD_FIELD.TERM_IMAGE_ALT, "").strip()
if not term_image_alt:
term_image_alt = card.get(CARD_FIELD.TERM, "")

definition_image_alt = card.get(CARD_FIELD.DEFINITION_IMAGE_ALT, "").strip()
if not definition_image_alt:
definition_image_alt = card.get(CARD_FIELD.DEFINITION, "")

payload_cards.append(
{
"id": card.get(CARD_FIELD.CARD_KEY, ""),
"term": card.get(CARD_FIELD.TERM, ""),
"definition": card.get(CARD_FIELD.DEFINITION, ""),
"term_image": card.get(CARD_FIELD.TERM_IMAGE, ""),
"definition_image": card.get(CARD_FIELD.DEFINITION_IMAGE, ""),
"term_image_alt": term_image_alt,
"definition_image_alt": definition_image_alt,
}
)
mapping_payload = {"cards": payload_cards, "salt": salt}
Expand Down
6 changes: 4 additions & 2 deletions games/static/js/src/flashcards.js
Original file line number Diff line number Diff line change
Expand Up @@ -38,14 +38,16 @@ function GamesXBlockFlashcardsInit(runtime, element, cards) {

// Handle term image
if (card.term_image && card.term_image.trim() !== '') {
$termImage.attr('src', card.term_image).attr('alt', card.term).show();
var termAlt = card.term_image_alt || card.term || '';
$termImage.attr('src', card.term_image).attr('alt', termAlt).show();
} else {
$termImage.hide();
}

// Handle definition image
if (card.definition_image && card.definition_image.trim() !== '') {
$definitionImage.attr('src', card.definition_image).attr('alt', card.definition).show();
var defAlt = card.definition_image_alt || card.definition || '';
$definitionImage.attr('src', card.definition_image).attr('alt', defAlt).show();
} else {
$definitionImage.hide();
}
Expand Down
2 changes: 1 addition & 1 deletion setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ def package_data(pkg, roots):

setup(
name="edx-games",
version="1.0.11",
version="1.0.12",
description="Interactive games XBlock for Open edX - Create flashcards and matching games with image support",
author="edX",
author_email="edx@edx.org",
Expand Down
Loading