Desarrollo de la ruleta

This commit is contained in:
2025-09-24 11:59:46 -06:00
parent d3a6461a3a
commit dc52a83add
11 changed files with 825 additions and 1 deletions
+198
View File
@@ -0,0 +1,198 @@
{
"useCourseNav.getStudentName": {
"prefix": "cn.getStudentName",
"body": [
"CourseNav.getStudentName(${1})"
],
"description": "CourseNav: getStudentName"
},
"useCourseNav.getLessonLocation": {
"prefix": "cn.getLessonLocation",
"body": [
"CourseNav.getLessonLocation(${1})"
],
"description": "CourseNav: getLessonLocation"
},
"useCourseNav.setLessonLocation": {
"prefix": "cn.setLessonLocation",
"body": [
"CourseNav.setLessonLocation(${1})"
],
"description": "CourseNav: setLessonLocation"
},
"useCourseNav.getLessonStatus": {
"prefix": "cn.getLessonStatus",
"body": [
"CourseNav.getLessonStatus(${1})"
],
"description": "CourseNav: getLessonStatus"
},
"useCourseNav.setLessonStatus": {
"prefix": "cn.setLessonStatus",
"body": [
"CourseNav.setLessonStatus(${1})"
],
"description": "CourseNav: setLessonStatus"
},
"useCourseNav.getScore": {
"prefix": "cn.getScore",
"body": [
"CourseNav.getScore(${1})"
],
"description": "CourseNav: getScore"
},
"useCourseNav.setScore": {
"prefix": "cn.setScore",
"body": [
"CourseNav.setScore(${1})"
],
"description": "CourseNav: setScore"
},
"useCourseNav.getSuspendData": {
"prefix": "cn.getSuspendData",
"body": [
"CourseNav.getSuspendData(${1})"
],
"description": "CourseNav: getSuspendData"
},
"useCourseNav.setSuspendData": {
"prefix": "cn.setSuspendData",
"body": [
"CourseNav.setSuspendData(${1})"
],
"description": "CourseNav: setSuspendData"
},
"useCourseNav.createSound": {
"prefix": "cn.createSound",
"body": [
"CourseNav.createSound(${1})"
],
"description": "CourseNav: createSound"
},
"useCourseNav.setSlideVisited": {
"prefix": "cn.setSlideVisited",
"body": [
"CourseNav.setSlideVisited(${1})"
],
"description": "CourseNav: setSlideVisited"
},
"useCourseNav.soundClick": {
"prefix": "cn.soundClick",
"body": [
"CourseNav.soundClick(${1})"
],
"description": "CourseNav: soundClick"
},
"useCourseNav.isVisited": {
"prefix": "cn.isVisited",
"body": [
"CourseNav.isVisited(${1})"
],
"description": "CourseNav: isVisited"
},
"useCourseNav.nextSlide": {
"prefix": "cn.nextSlide",
"body": [
"CourseNav.nextSlide(${1})"
],
"description": "CourseNav: nextSlide"
},
"useCourseNav.save": {
"prefix": "cn.save",
"body": [
"CourseNav.save(${1})"
],
"description": "CourseNav: save"
},
"useCourseNav.reload": {
"prefix": "cn.reload",
"body": [
"CourseNav.reload(${1})"
],
"description": "CourseNav: reload"
},
"useCourseNav.gotoSlide": {
"prefix": "cn.gotoSlide",
"body": [
"CourseNav.gotoSlide(${1})"
],
"description": "CourseNav: gotoSlide"
},
"useCourseNav.isCompletedSlideIndex": {
"prefix": "cn.isCompletedSlideIndex",
"body": [
"CourseNav.isCompletedSlideIndex(${1})"
],
"description": "CourseNav: isCompletedSlideIndex"
},
"useCourseNav.getCurrentSlide": {
"prefix": "cn.getCurrentSlide",
"body": [
"CourseNav.getCurrentSlide(${1})"
],
"description": "CourseNav: getCurrentSlide"
},
"useCourseNav.prevSlide": {
"prefix": "cn.prevSlide",
"body": [
"CourseNav.prevSlide(${1})"
],
"description": "CourseNav: prevSlide"
},
"useCourseNav.resetCourse": {
"prefix": "cn.resetCourse",
"body": [
"CourseNav.resetCourse(${1})"
],
"description": "CourseNav: resetCourse"
},
"useCourseNav.adjustMainContentHeight": {
"prefix": "cn.adjustMainContentHeight",
"body": [
"CourseNav.adjustMainContentHeight(${1})"
],
"description": "CourseNav: adjustMainContentHeight"
},
"useCourseNav.markSlidesAsVisited": {
"prefix": "cn.markSlidesAsVisited",
"body": [
"CourseNav.markSlidesAsVisited(${1})"
],
"description": "CourseNav: markSlidesAsVisited"
},
"useCourseNav.updateProgressBar": {
"prefix": "cn.updateProgressBar",
"body": [
"CourseNav.updateProgressBar(${1})"
],
"description": "CourseNav: updateProgressBar"
},
"useCourseNav.completarLeccion": {
"prefix": "cn.completarLeccion",
"body": [
"CourseNav.completarLeccion(${1})"
],
"description": "CourseNav: completarLeccion"
},
"useCourseNav.audioController": {
"prefix": "cn.audio",
"body": [
"CourseNav.audioController"
],
"description": "CourseNav: controlador de audio"
},
"useCourseNav.getScormData": {
"prefix": "cn.getScormData",
"body": [
"CourseNav.getScormData('${1:key}')"
],
"description": "CourseNav: Obtiene valor de SCORM/sessionStorage"
},
"useCourseNav.setScormData": {
"prefix": "cn.setScormData",
"body": [
"CourseNav.setScormData('${1:key}', ${2:value})"
],
"description": "CourseNav: Guarda valor en SCORM/sessionStorage"
}
}
+61
View File
@@ -0,0 +1,61 @@
{
"🎵 Reproducir sonido con createSound": {
"prefix": "howl-play",
"body": [
"const sonido = createSound('audio/$1.mp3');",
"stopAllSoundsAndPlay(sonido);"
],
"description": "Crea y reproduce un sonido con utilidades Howler"
},
"🔇 Silenciar todos los sonidos": {
"prefix": "howl-mute-on",
"body": [
"setGlobalMute(true);"
],
"description": "Silencia todos los sonidos con Howler"
},
"🔊 Activar todos los sonidos": {
"prefix": "howl-mute-off",
"body": [
"setGlobalMute(false);"
],
"description": "Activa todos los sonidos con Howler"
},
"🔁 Detener todos los sonidos": {
"prefix": "howl-stop",
"body": [
"stopAllSounds();"
],
"description": "Detiene todos los sonidos activos"
},
"🎚️ Ajustar volumen global": {
"prefix": "howl-volume",
"body": [
"setGlobalVolume($1); // valor entre 0.0 y 1.0"
],
"description": "Controlar volumen global con Howler"
},
"🕵️ Verificar si un sonido está reproduciéndose": {
"prefix": "howl-is-playing",
"body": [
"if (isPlaying(sonido)) {",
" console.log('Está reproduciendo');",
"} else {",
" console.log('No está sonando');",
"}"
],
"description": "Verifica si un sonido está activo"
},
"🎵 crear sonido con createSound": {
"prefix": "newsound",
"body": [
"createSound('audio/$1.mp3');",
],
"description": "Crea un sonido con utilidades Howler"
},
}
+111
View File
@@ -0,0 +1,111 @@
{
// Place your curso workspace snippets here. Each snippet is defined under a snippet name and has a scope, prefix, body and
// description. Add comma separated ids of the languages where the snippet is applicable in the scope field. If scope
// is left empty or omitted, the snippet gets applied to all languages. The prefix is what is
// used to trigger the snippet and the body will be expanded and inserted. Possible variables are:
// $1, $2 for tab stops, $0 for the final cursor position, and ${1:label}, ${2:another} for placeholders.
// Placeholders with the same ids are connected.
// Example:
// "Print to console": {
// "scope": "javascript,typescript",
// "prefix": "log",
// "body": [
// "console.log('$1');",
// "$2"
// ],
// "description": "Log output to console"
// }
"Nuevo sco": {
"scope": "html",
"prefix": "sco",
"body": [
"<style></style>",
"<section class='page-sco py-md-4 py-2'></section>",
"<script>",
" $(function () {",
" 'use strict';",
" });",
"</script>",
],
"description": "sco"
},
"Mitad bs5": {
"scope": "html",
"prefix": "md",
"body": [
"<div class=\"container-xxl\">",
" <div class=\"row justify-content-center\">",
" <div class=\"col-12 col-md-6\"></div>",
" <div class=\"col-12 col-md-6\"></div>",
" </div>",
"</div>"
],
"description": "mitad"
},
"Mitad cols": {
"scope": "html",
"prefix": "mcol",
"body": [
" <div class=\"row justify-content-center\">",
" <div class=\"col-12 col-md-6\"></div>",
" <div class=\"col-12 col-md-6\"></div>",
" </div>"
],
"description": "mitad"
},
"bs5 sm (min-width: 576px)": {
"prefix": "bs5mq-sm",
"body": [
"@media (min-width: 576px) {",
" $0",
"}"
],
"description": "Bootstrap 5 media query sm (≥576px)"
},
"bs5 md (min-width: 768px)": {
"prefix": "bs5mq-md",
"body": [
"@media (min-width: 768px) {",
" $0",
"}"
],
"description": "Bootstrap 5 media query md (≥768px)"
},
"bs5 lg (min-width: 992px)": {
"prefix": "bs5mq-lg",
"body": [
"@media (min-width: 992px) {",
" $0",
"}"
],
"description": "Bootstrap 5 media query lg (≥992px)"
},
"bs5 xl (min-width: 1200px)": {
"prefix": "bs5mq-xl",
"body": [
"@media (min-width: 1200px) {",
" $0",
"}"
],
"description": "Bootstrap 5 media query xl (≥1200px)"
},
"bs5 xxl (min-width: 1400px)": {
"prefix": "bs5mq-xxl",
"body": [
"@media (min-width: 1400px) {",
" $0",
"}"
],
"description": "Bootstrap 5 media query xxl (≥1400px)"
},
"bs5 card simple":{
"prefix": "bs5card",
"body": [
"<div class=\"card custom-card\">",
" <div class=\"card-body\"></div>",
"</div>",
],
"description": "Card simple"
}
}