Changeset 6550


Ignore:
Timestamp:
Dec 22, 2017, 2:28:53 PM (2 years ago)
Author:
joamuran
Message:

wip

Location:
classroom-assembly/trunk/fuentes
Files:
7 edited

Legend:

Unmodified
Added
Removed
  • classroom-assembly/trunk/fuentes/classroom-assembly/src/components/weekday/weekday.css

    r6494 r6550  
    133133
    134134.weekdayConfigRow{
    135     border: 1px solid #cccccc;
     135    /*border: 1px solid #cccccc;*/
    136136    border-radius: 2px;
    137137    margin-bottom: 5px;
     138    opacity: 0.3;
     139    filter: grayscale(80%);
    138140}
    139141
     
    143145}
    144146
    145 .weekdayConfigRow.weekdayStatusActive:after{
    146     background-image: url("../../css/images/icons/check.png");
     147
     148.weekdayConfigRow.weekdayStatusActive{
     149    filter: grayscale(0%);
     150    opacity: 1;
     151}
     152
     153/*.weekdayConfigRow.weekdayStatusActive:after{
     154    / *background-image: url("../../css/images/icons/check.png");* /
     155    background-image: url("../../css/images/icons/eye.png");
    147156    background-size: 24px 24px;
    148157    background-position: center;
     
    155164    margin-top: -12px;
    156165    right: 10px;
     166}*/
     167
     168
     169.configureComponentButton{
     170    background-image: url("../../css/images/icons/options.png");
     171    width: 32px;
     172    height:32px;
     173    background-position: center;
     174    margin-top:12px;
     175    background-size: cover;
    157176}
    158177
    159178
    160 
    161 
  • classroom-assembly/trunk/fuentes/classroom-assembly/src/components/weekday/weekday.js

    r6494 r6550  
    285285    for (var weekday in self.config){
    286286        var configRow=$(document.createElement("div")).addClass("weekdayConfigRow").addClass("col-md-4 col-md-offset-4").attr("weekday_data", weekday);
     287       
     288        /**/
     289        var configRowDay=$(document.createElement("div")).addClass("col-md-10").attr("weekday_data", weekday);
     290       
    287291        if (self.config[weekday]) $(configRow).addClass("weekdayStatusActive");
    288292       
     
    290294       
    291295        var icon=$(document.createElement("div")).addClass(weekday).addClass("weekdayConfigIcon modifyable").attr("title", i18n.gettext("click.change.img"));
     296       
    292297        var text=$(document.createElement("div")).html(weekdayText).addClass("weekdayConfigText");
    293298        /*var selected=$(document.createElement("input")).attr("type","checkbox");*/
    294299       
    295         $(configRow).append(icon);
    296         $(configRow).append(text);
     300        var iconConfigBt=$(document.createElement("div")).addClass("configureComponentButton col-md-1").attr("title", i18n.gettext("click.set.actions")).attr("weekday", weekday).attr("actions","");
     301       
     302        /**/
     303        $(configRowDay).append(icon);
     304        $(configRowDay).append(text);
     305        $(configRow).append(configRowDay);
     306        $(configRow).append(iconConfigBt);
     307       
    297308        /*$(configRow).append(selected);*/
    298309        $(input).append(configRow);
     
    309320            else $(this).addClass("weekdayStatusActive");
    310321            });
     322       
     323        $(".configureComponentButton").on("click", function (event) {
     324            event.stopPropagation();
     325            event.preventDefault();
     326            //console.log($(event.target).parent().attr("weekday_data"));
     327            var weekday=$(event.target).attr("weekday");
     328            console.log(self.config[weekday]);
     329            if (self.hasOwnProperty("actions"))
     330                self.showConfigActions(weekday);
     331        });
    311332       
    312333        // Calling to parent class method to bind click event on icon for change its image
     
    330351};
    331352
     353
     354weekdayComponentClass.prototype.createFormRadios=function createFormRadios(data){
     355   
     356   
     357    var ret=$(document.createElement("div")).addClass("custom-controls-stacked");
     358    var legend=$(document.createElement("legend")).html(data.name);
     359   
     360    $(ret.append(legend));
     361   
     362    for (radio in data.radios){
     363        console.log(data.radios[radio].id);
     364       
     365        // WIP
     366        // https://getbootstrap.com/docs/4.0/components/forms/#default-stacked
     367        var div=$(document.createElement("div")).addClass("form-check");
     368        var input=$(document.createElement("input")).attr("id", data.radios[radio].id).attr("type","radio").attr("name", data.name).addClass("form-check-input");
     369        var label=$(document.createElement("label")).addClass("form-check-label");
     370        var spanlabel=$(document.createElement("span")).html(data.radios[radio].label).css("margin-left", "20px");
     371       
     372        var divtext=$(document.createElement("div")).addClass("col-md-8 col-md-offset-2");
     373        var labeltext=$(document.createElement("span")).addClass("col-md-4").html("Text");
     374        var text=$(document.createElement("input")).attr("type", "text").addClass("col-md-6");
     375        $(divtext).append(labeltext, text);
     376       
     377               
     378        $(label).append(input, spanlabel);
     379        $(div).append(label, divtext);
     380        $(ret).append(div);
     381    }
     382   
     383    return ret;
     384   
     385}
     386
     387weekdayComponentClass.prototype.showConfigActions=function showConfigActions(weekday){
     388   
     389        var self=this;
     390        // WIP: Construir-ho com a javascript per poder posar les traduccions
     391        // Mirar també els laber for i tal de bootstrap i els form-control...
     392       
     393        //var input="";
     394        /*var form=document.createElement("div");
     395        var hdr1=$(document.createElement("h3")).html(i18n.gettext("actions.on.show"));
     396        $(form).append(hdr1);*/
     397       
     398        var form;
     399        var input="";
     400       
     401        form=self.createFormRadios({
     402            "name":"Action.on.show",
     403            "radios":{
     404                "r1":{
     405                    "id": "speakOnShow",
     406                    "type": "text",
     407                    "label": "Speak"
     408                    },
     409                "r2":{
     410                    "id": "playOnShow",
     411                    "type": "file",
     412                    "label": "Play"
     413                    }
     414                }
     415            });
     416       
     417        /*var row1=$(document.createElement("div")).addClass("col-md-8 col-md-offset-2");
     418        var colShowSpeakRadio=$(document.createElement("div")).addClass("col-md-5");
     419       
     420        var label4inputShowSpeakRadio=$(document.createElement("label")).attr("for", "inputRadioOnShowSpeak").html("label.speak");
     421       
     422        var colShowSpeakText=$(document.createElement("div")).addClass("col-md-4");
     423        var inputShowSpeakRadio=$(document.createElement("input")).attr("type", "radio").attr("value", "speak").attr("id", "inputRadioOnShowSpeak");
     424        var inputTextOnShowSpeak=$(document.createElement("input")).attr("type", "text").attr("value", "aci el text").attr("id", "inputTextOnShowSpeak").addClass("col-md-4");
     425        $(colShowSpeakRadio).append(inputShowSpeakRadio, label4inputShowSpeakRadio);
     426        $(colShowSpeakText).append(inputTextOnShowSpeak);
     427        $(row1).append(colShowSpeakRadio, colShowSpeakText);
     428        $(form).append(row1);
     429        */
     430       
     431       
     432       
     433        console.log(form);
     434        input=input+form.prop("outerHTML");
     435       
     436       
     437       
     438        //var row1=$(document.createElement("div"));
     439       
     440        /*input='<h3>Actions on show</h3>\<div class="row" style="width: 60%">'
     441        +'<div class="col-md-4"><input class="form-control" type="radio" name="onshow" value="speak" id="inputRadioOnShowSpeak"> Speak </div>'
     442        +'<div class="col-md-4"><input type="text" value="text" id="inputTextOnShowSpeak"/></div></div>'
     443        +'<div class="row"  style="width: 60%">'
     444          +'<div class="col-md-4"><input type="radio" name="onshow" value="audio" id="inputRadioOnShowAudio"> Audio</div>'
     445            +'<div class="col-md-4"><input type="file" value="bb" id="inputFileOnShow"/></div></div>'
     446        +'<div>Media player</div>'
     447        +'<div class="row" style="width: 60%">'
     448            +'<div class="col-md-4"><input type="radio" name="onplay" value="audio" id="inputRadioOnPlayAudio"> Audio File</div>'
     449            +'<div class="col-md-4"><input type="file" value="bb" id="inputOnPlayAudio"/></div></div>'
     450        +'<div class="row" style="width: 60%">'
     451            +'<div class="col-md-4"><input type="radio" name="onplay" value="video" id="inputRadioOnPlayVideo"> Video File</div>'
     452                +'<div class="col-md-4"><input type="file" value="bb" id="inputOnPlayVideo"/></div></div>'
     453        +'<div class="row" style="width: 60%">'
     454            +'<div class="col-md-4"><input type="radio" name="onplay" value="youtube" id="inputRadioOnPlayYoutube">Youtube Resource</div>'
     455            +'<div class="col-md-4"><input type="text" value="text" id="inputOnPlayYoutube"/></div></div>';
     456        */
     457       
     458       
     459
     460         vex.dialog.open({
     461            message: i18n.gettext(weekday),
     462            input: input,
     463            showCloseButton: true,
     464            escapeButtonCloses: true,
     465            /*buttons: {},*/
     466            overlayClosesOnClick: true,
     467            callback: function(data){ alert("done"); }
     468            });
     469   
     470   
     471};
     472
     473
     474
    332475weekdayComponentClass.prototype.getPlayableContent=function getPlayableContent(){
    333476    var self=this;
     
    335478    var item=$(document.createElement("div")).addClass("PlayableContent");
    336479   
    337    
    338480    var toptext=$(document.createElement("div")).html(i18n.gettext("today is")).css("text-align","center").css("top", "0px").attr("fontzoom", "1.2").addClass("textfluid").css("z-index","1001").css("position", "absolute");
    339481    var icon=$(document.createElement("div")).addClass(self.info.weekday+" playBigIcon");
     
    341483   
    342484    try{
    343     console.log("getting action: "+self.actions[self.info.weekday].onshow.action);
    344     if(self.actions[self.info.weekday].onshow.action=="speech") {
     485    console.log("Actions..");
     486   
     487    // pastafangà starts here
     488   
     489   
     490    var defaultonshow="";
     491    var defaultonshowcontent="";
     492    var defaultonplay="";
     493    var defaultonplaycontent="";
     494    var defaultonplaytype="";
     495   
     496    /*console.log("1 "+self.hasOwnProperty("actions"));
     497    console.log(self.actions[self.info.weekday]);
     498    console.log(self.actions[self.info.weekday].onshow);
     499    console.log("4 "+self.actions[self.info.weekday].onshow.action);*/
     500   
     501   
     502   
     503    if(self.hasOwnProperty("actions")){
     504        // actions is defined
     505       
     506        // Setting default on show behaviour
     507        if (typeof(self.actions.default!="undefined"))
     508            {
     509                defaultonshow=self.actions.default.onshow.action;
     510               
     511                if(self.actions.default.onshow.action=="speech") {
     512                console.log("DEFAULT ACTION IS SPEECH...");
     513                // Is content defined?
     514                if (self.actions.default.onshow.content!==undefined &&
     515                    self.actions.default.onshow.content!=="")
     516                        { defaultonshowcontent=self.actions.default.onshow.content; }
     517                    else {defaultonshowcontent=i18n.gettext("today is")+" "+i18n.gettext(self.info.weekday);}
     518                } else { // action is not speech
     519                    defaultonshowcontent=self.actions.default.onshow.content;
     520                }
     521               
     522                // Setting default on play
     523                defaultonplay=self.actions.default.onshow.action; 
     524               
     525                if(self.actions.default.onplay.action=="sound" ||
     526                 self.actions.dedault.onplay.action=="video") {
     527           
     528                    if (self.actions.default.onplay.source!==undefined &&
     529                        self.actions.default.onplay.source!=="")
     530                            {
     531                            defaultonplay=self.actions.default.onplay.action;
     532                            defaultonplaycontent=self.actions.default.onplay.source;
     533                            defaultonplaytype=self.actions.default.onplay.type;
     534                            }
     535                }
     536        }
     537       
     538       
     539       
     540        /* Setting behaviour for component */
     541       
     542        // On Show
     543        if (self.actions.hasOwnProperty(self.info.weekday)){
     544            if(typeof(self.actions[self.info.weekday].onshow.action)!=="undefined" &&
     545            (self.actions[self.info.weekday].onshow.action!=="default")) {
     546            // Si hi ha acció definida per al dia de la setmana
     547            if(self.actions[self.info.weekday].onshow.action=="speech") {
     548                // Is content defined?
     549                if (self.actions[self.info.weekday].onshow.content!==undefined &&
     550                    self.actions[self.info.weekday].onshow.content!=="")
     551                        {$(item).attr("tts", self.actions[self.info.weekday].onshow.content);}
     552                    else {$(item).attr("tts", i18n.gettext("today is")+" "+i18n.gettext(self.info.weekday));}
     553                } else { // action is not speech
     554                $(item).attr("audiofile",self.actions[self.info.weekday].onshow.content );
     555                }
     556            }} else{
     557                // No hi ha acció definida per al dia de la setmana, agafem els valor per defecte
     558                console.log("Setting up default actions for show...");
     559                if (defaultonshow=="speech")  {$(item).attr("tts", defaultonshowcontent);}
     560                else {$(item).attr("audiofile", defaultonshowcontent);}
     561            }
     562                   
     563     
     564        // On Play
     565             if (self.actions.hasOwnProperty(self.info.weekday)){
     566        if(self.actions[self.info.weekday].onplay.action=="sound" || self.actions[self.info.weekday].onplay.action=="video") {
     567            // Is content defined?
     568            if (self.actions[self.info.weekday].onplay.source!==undefined &&
     569                self.actions[self.info.weekday].onplay.source!=="")
     570                    {$(item).attr("playmediasource", self.actions[self.info.weekday].onplay.source);
     571                    $(item).attr("playmediaaction", self.actions[self.info.weekday].onplay.action);
     572                    $(item).attr("playmediatype", self.actions[self.info.weekday].onplay.type);
     573                    }
     574        }} else{
     575                // Action is default or is undefined
     576                console.log(defaultonplay);
     577                console.log(defaultonplaycontent);
     578                console.log(defaultonplaytype);
     579                if (defaultonplay!==""){
     580                    $(item).attr("playmediasource", defaultonplaycontent);
     581                    $(item).attr("playmediaaction", defaultonplay);
     582                    $(item).attr("playmediatype", defaultonplaytype); }
     583            }
     584     
     585     
     586    }
     587   
     588    // pastafangà ends here
     589   
     590    /*if(self.actions[self.info.weekday].onshow.action=="speech") {
    345591        console.log("action is speech");
    346592        // Is content defined?
     
    351597        } else {
    352598        $(item).attr("audiofile",self.actions[self.info.weekday].onshow.content );
    353         }
    354    
    355    
    356     console.log("getting action: "+self.actions[self.info.weekday].onplay.action);
     599        }*/
     600   
     601   
     602  /*  console.log("getting action: "+self.actions[self.info.weekday].onplay.action);
    357603    if(self.actions[self.info.weekday].onplay.action=="sound" || self.actions[self.info.weekday].onplay.action=="video") {
    358604        console.log("action is play media");
     
    364610                $(item).attr("playmediatype", self.actions[self.info.weekday].onplay.type);
    365611                }
    366         }
     612        }*/
    367613   
    368614       
  • classroom-assembly/trunk/fuentes/classroom-assembly/src/js/main.js

    r6494 r6550  
    203203           
    204204           $(closebutton).on("click", function(){
     205            /*console.log($("#youtubeplayer").css("display"));
     206            console.log($("#mediaplayer").css("display"));
     207            console.log($("#youtubeplayer"));
     208            console.log($("#mediaplayer"));*/
    205209           
    206210                if ($("#youtubeplayer").css("display")!=="none")
     
    209213                        $("#youtubeplayer").remove();
    210214                        });
    211                  else if ($("#mediaplayer").css("display")!=="none")
     215                   
     216                 if ($("#mediaplayer").css("display")!=="none")
    212217                    $("#mediaplayer").fadeOut(function(){
    213218                        $("#mediaplayer").remove();
  • classroom-assembly/trunk/fuentes/classroom-assembly/src/locale/ca_ES.UTF-8.json

    r6424 r6550  
    3030  "sunday":"Diumenge",
    3131  "click.change.img":"Feu click per canviar la imatge",
     32  "click.set.actions":"Feu clic per configurar les accions",
    3233 
    3334  "month.component.title":"En quin mes estem?",
  • classroom-assembly/trunk/fuentes/classroom-assembly/src/locale/en_US.UTF-8.json

    r6424 r6550  
    3030  "sunday":"Sunday",
    3131  "click.change.img":"Click to change image",
     32  "click.set.actions":"Clic to configure actions",
    3233 
    3334  "month.component.title":"In wich month we are?",
  • classroom-assembly/trunk/fuentes/classroom-assembly/src/locale/es_ES.UTF-8.json

    r6424 r6550  
    3030  "sunday":"Domingo",
    3131  "click.change.img":"Clic para cambiar la imagen",
     32  "click.set.actions":"Clic para configurar acciones",
    3233 
    3334  "month.component.title":"¿En qué mes estamos?",
  • classroom-assembly/trunk/fuentes/config_examples/oo/config.json

    r6494 r6550  
    6060                        "componentdata": "{\"weekday\":\"monday\"}",
    6161                        "componentconfig": "{\"monday\":true,\"tuesday\":true,\"wednesday\":true,\"thursday\":true,\"friday\":true,\"saturday\":true,\"sunday\":true}",
    62                         "componentactions": "{\"monday\":{\"onshow\":{\"action\":\"speech\",\"content\":\"Estem a dilluns, i tornem al cole\"},\"onplay\":{\"action\":\"sound\",\"type\":\"file\",\"source\":\"bondia.mp3\"}},\"tuesday\":{\"onshow\":{\"action\":\"sound\",\"content\":\"sound.mp3\"},\"onplay\":{\"action\":\"sound\",\"type\":\"file\",\"source\":\"sound.wav\"}},\"wednesday\":{\"onshow\":{\"action\":\"speech\",\"content\":\"\"},\"onplay\":{\"action\":\"video\",\"type\":\"youtube\",\"source\":\"BF7w-xJUlwM\"}},\"thursday\":{\"onshow\":{\"action\":\"speech\",\"content\":\"\"},\"onplay\":{\"action\":\"video\",\"type\":\"file\",\"source\":\"video.ogv\"}}}",
     62                        "componentactions": "{\"default\":{\"onshow\":{\"action\":\"speech\",\"content\":\"\"},\"onplay\":{\"action\":\"sound\",\"type\":\"file\",\"source\":\"bondia.mp3\"}},\"monday\":{\"onshow\":{\"action\":\"speech\",\"content\":\"Estem a dilluns, i tornem al cole\"},\"onplay\":{\"action\":\"sound\",\"type\":\"file\",\"source\":\"bondia.mp3\"}},\"tuesday\":{\"onshow\":{\"action\":\"sound\",\"content\":\"sound.mp3\"},\"onplay\":{\"action\":\"sound\",\"type\":\"file\",\"source\":\"sound.wav\"}},\"wednesday\":{\"onshow\":{\"action\":\"speech\",\"content\":\"\"},\"onplay\":{\"action\":\"video\",\"type\":\"youtube\",\"source\":\"BF7w-xJUlwM\"}},\"thursday\":{\"onshow\":{\"action\":\"speech\",\"content\":\"\"},\"onplay\":{\"action\":\"video\",\"type\":\"file\",\"source\":\"video.ogv\"}}}",
    6363                        "componentvisibility": "true",
    6464                        "col": 1,
Note: See TracChangeset for help on using the changeset viewer.