Changeset 6056


Ignore:
Timestamp:
Oct 20, 2017, 8:52:00 AM (2 years ago)
Author:
joamuran
Message:

completed agenda

Location:
classroom-assembly/trunk/fuentes/classroom-assembly/src
Files:
5 added
9 edited

Legend:

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

    r6003 r6056  
    6262    height: 128px;
    6363    float: left;
     64    background-color: #ffffff;
    6465    background-size: contain;
    6566    background-repeat: no-repeat;
     
    7475     cursor: pointer;
    7576     background-position: center;
    76      transform: scale(1.5);
     77     /*transform: scale(1.5);*/
    7778     z-index: 10;
    7879    filter: drop-shadow(3px 3px 3px #333333);
     
    8889    transition: all 0.4s;
    8990    margin-left: -15px;
     91    background: rgba(255, 255, 255, 0.8);
    9092}
    9193
     
    199201
    200202
     203#agendaSelectLeft{
     204    overflow:auto;
     205}
     206
     207#agendaSelectRight{
     208    overflow:auto;
     209    min-height:100px;
     210    border: 1px #333333 dashed;
     211    padding: 5px;
     212    text-align:center;
     213}
     214
     215
     216#agendaSelectRight .agendaSelectIcon{
     217    max-height: 100px;
     218}
     219
     220
     221
    201222/*.seasonConfigRow{
    202223    border: 1px solid #cccccc;
  • classroom-assembly/trunk/fuentes/classroom-assembly/src/components/agenda/agenda.js

    r6003 r6056  
    22function agendaComponentClass(){
    33    // Mirar a vore com faig açò en la de classmates
    4     this.agendaBaseOptions={"assembly":{text: i18n.gettext("assembly"), img:"assembly.png"},
    5                             "language":{text: i18n.gettext("language"), img:"language.png"},
    6                             "writing":{text: i18n.gettext("writing"), img:"writing.png"},
    7                             "reading":{text: i18n.gettext("reading"), img:"reading.png"},
    8                             "library":{text: i18n.gettext("library"), img:"library.png"},
    9                             "logopedia":{text: i18n.gettext("logopedia"), img:"logopedia.png"},
    10                             "break":{text: i18n.gettext("break"), img:"break.png"},
    11                             "games":{text: i18n.gettext("games"), img:"games.png"},
    12                             "workshop":{text: i18n.gettext("workshop"), img:"workshop.png"},
    13                             "physiotherapy":{text: i18n.gettext("physiotherapy"), img:"physiotherapy.png"},
    14                             "movie":{text: i18n.gettext("movie"), img:"movie.png"},
    15                             "party":{text: i18n.gettext("party"), img:"party.png"},
    16                             "excursion":{text: i18n.gettext("excursion"), img:"excursion.png"},
    17                             "medicinecabinet":{text: i18n.gettext("medicinecabinet"), img:"medicinecabinet.png"},
    18                             "agenda":{text: i18n.gettext("agenda"), img:"agenda.png"},
    19                             "sport":{text: i18n.gettext("sport"), img:"sport.png"},
    20                             "physicaleducation":{text: i18n.gettext("physicaleducation"), img:"physicaleducation.png"},
    21                             "music":{text: i18n.gettext("music"), img:"music.png"},
    22                             "dinningroom":{text: i18n.gettext("dinningroom"), img:"dinningroom.png"},
    23                             "plastic":{text: i18n.gettext("plastic"), img:"plastic.png"},
    24                             "maths":{text: i18n.gettext("maths"), img:"maths.png"},
    25                             "home":{text: i18n.gettext("home"), img:"home.png"},
    26                             "park":{text: i18n.gettext("park"), img:"park.png"},
    27                             "town":{text: i18n.gettext("town"), img:"town.png"},
    28                             "cinema":{text: i18n.gettext("cinema"), img:"cinema.png"},
    29                             "restaurant":{text: i18n.gettext("restaurant"), img:"restaurant.png"},
    30                             "pool":{text: i18n.gettext("pool"), img:"pool.png"},
    31                             "shopping":{text: i18n.gettext("shopping"), img:"shopping.png"},
    32                             "cycling":{text: i18n.gettext("cycling"), img:"cycling.png"},
    33                             "tv":{text: i18n.gettext("tv"), img:"tv.png"},
    34                             "play":{text: i18n.gettext("play"), img:"play.png"},
    35                             "sleep":{text: i18n.gettext("sleep"), img:"sleep.png"},
    36                             "shower":{text: i18n.gettext("shower"), img:"shower.png"},
    37                             "videogames":{text: i18n.gettext("videogames"), img:"videogames.png"},
    38                             "computer":{text: i18n.gettext("computer"), img:"computer.png"},
    39                             "painting":{text: i18n.gettext("painting"), img:"painting.png"},
    40                             "homework":{text: i18n.gettext("homework"), img:"homework.png"},
    41                             "birthday":{text: i18n.gettext("birthday"), img:"birthday.png"},
    42                             "travel":{text: i18n.gettext("travel"), img:"travel.png"},
    43                             "hospital":{text: i18n.gettext("hospital"), img:"hospital.png"},
    44                             "mall":{text: i18n.gettext("mall"), img:"mall.png"},
    45                             "toylibrary":{text: i18n.gettext("toylibrary"), img:"toylibrary.png"}};
     4    this.agendaBaseOptions={"assembly":{text: "", img:"assembly.png"},
     5                            "language":{text: "", img:"language.png"},
     6                            "writing":{text: "", img:"writing.png"},
     7                            "reading":{text: "", img:"reading.png"},
     8                            "library":{text: "", img:"library.png"},
     9                            "logopedia":{text: "", img:"logopedia.png"},
     10                            "break":{text: "", img:"break.png"},
     11                            "games":{text: "", img:"games.png"},
     12                            "workshop":{text: "", img:"workshop.png"},
     13                            "physiotherapy":{text: "", img:"physiotherapy.png"},
     14                            "movie":{text: "", img:"movie.png"},
     15                            "party":{text: "", img:"party.png"},
     16                            "excursion":{text: "", img:"excursion.png"},
     17                            "medicinecabinet":{text: "", img:"medicinecabinet.png"},
     18                            "agenda":{text: "", img:"agenda.png"},
     19                            "sport":{text: "", img:"sport.png"},
     20                            "physicaleducation":{text: "", img:"physicaleducation.png"},
     21                            "music":{text: "", img:"music.png"},
     22                            "dinningroom":{text: "", img:"dinningroom.png"},
     23                            "plastic":{text: "", img:"plastic.png"},
     24                            "maths":{text: "", img:"maths.png"},
     25                            "home":{text: "", img:"home.png"},
     26                            "park":{text: "", img:"park.png"},
     27                            "town":{text: "", img:"town.png"},
     28                            "cinema":{text: "", img:"cinema.png"},
     29                            "restaurant":{text: "", img:"restaurant.png"},
     30                            "pool":{text: "", img:"pool.png"},
     31                            "shopping":{text: "", img:"shopping.png"},
     32                            "cycling":{text: "", img:"cycling.png"},
     33                            "tv":{text: "", img:"tv.png"},
     34                            "play":{text: "", img:"play.png"},
     35                            "sleep":{text: "", img:"sleep.png"},
     36                            "shower":{text: "", img:"shower.png"},
     37                            "videogames":{text: "", img:"videogames.png"},
     38                            "computer":{text: "", img:"computer.png"},
     39                            "painting":{text: "", img:"painting.png"},
     40                            "homework":{text: "", img:"homework.png"},
     41                            "birthday":{text: "", img:"birthday.png"},
     42                            "travel":{text: "", img:"travel.png"},
     43                            "hospital":{text: "", img:"hospital.png"},
     44                            "mall":{text: "", img:"mall.png"},
     45                            "toylibrary":{text: "", img:"toylibrary.png"}};
    4646    this.name="Activities";
    4747    this.icon="components/componentIcons/agenda.png";
     
    5454agendaComponentClass.prototype.setBaseConfig=function setBaseConfig(){
    5555    var self=this;
    56     self.info={};
    57     self.config={};
     56    self.info=[];
     57    self.config=self.agendaBaseOptions;
     58    //console.log("CONFIG:::::::");
     59    //console.log(self.config);
    5860};
    5961
     
    6163    var self=this;
    6264   
    63     console.log(self.config);
    64    
    65     var li=$(document.createElement("li")).attr("id","agendaComponent").attr("data", JSON.stringify(self.info)).attr("config", JSON.stringify(self.info)).addClass("component");
     65    console.log(self);
     66   
     67    var li=$(document.createElement("li")).attr("id","agendaComponent").attr("data", JSON.stringify(self.info)).attr("config", JSON.stringify(self.config)).addClass("component");
    6668   
    6769    var agendatext=$(document.createElement("div")).addClass("titleAgendanText textfluid").html(i18n.gettext("agenda.today"));
     
    7072    var componentHeight=Math.floor(100/(self.info.length+1));
    7173   
    72     for (var i in self.info){
    73         var item=self.info[i];
    74        
    75        
    76         var agendaitemText=$(document.createElement("div")).addClass("iconAgendaItemText textfluid").html(self.agendaBaseOptions[item].text).attr("fontzoom", "0.5");
     74    for (var item in self.info){
     75       
     76        var textToWrite=self.config[item].text;
     77        if (textToWrite=="") textToWrite=i18n.gettext(item);
     78       
     79        var agendaitemText=$(document.createElement("div")).addClass("iconAgendaItemText textfluid").html(textToWrite).attr("fontzoom", "0.5");
    7780        var agendaitem=$(document.createElement("div")).addClass("iconAgendaContent").css("height", componentHeight+"%").css("background-image","url(components/agenda/img/"+self.config[item].img+")");
     81
    7882        $(agendaitem).append(agendaitemText);
    7983        $(li).append(agendaitem);
     
    8993   
    9094    var item=$("#agendaComponent");
     95    console.log("*******");
     96    console.log(self.info);
    9197   
    9298    $(item).attr("data", JSON.stringify(self.info)).attr("config", JSON.stringify(self.config));
     
    102108
    103109agendaComponentClass.prototype.getASDialog=function getASDialog(){
    104    
    105     // TO-DO
     110    var sortable=require("sortablejs");
    106111   
    107112    var self=this;
     
    109114   
    110115    var input=$(document.createElement("div")).attr("id", "agendaSelector");
    111     //for (i in self.agendaOptions){
    112     // First, let's count hom many elements are actived
    113     var active_items=0;
    114     for (var agenda in self.config)
    115         if (self.config[agenda]) active_items++;
    116     var col_md=Math.floor(12/(active_items));
     116   
     117    var leftside=$(document.createElement("div")).attr("id", "agendaSelectLeft").addClass("col-md-8 list-group");
     118    var rightside=$(document.createElement("div")).attr("id", "agendaSelectRight").addClass("col-md-3 col-md-offset-1 list-group");
     119   
     120   
     121    var col_md=2;
    117122   
    118123    // And draw elements
    119124    for (var agenda in self.config){
    120         var agendaText=i18n.gettext(agenda);
    121         var option=$(document.createElement("div")).addClass(agenda).addClass("agendaSelectIcon").attr("agenda",agenda).addClass("col-md-"+col_md);
    122         var text=$(document.createElement("div")).html(agendaText).addClass("agendaSelectInfo");
    123         $(option).append(text);
    124         $(input).append(option);
     125        if (self.config[agenda].active!="false"){   
     126            var agendaText=self.config[agenda].text;
     127            if (self.config[agenda].text=="") agendaText=i18n.gettext(agenda);
     128           
     129            //console.log(agenda);
     130            var option=$(document.createElement("div")).addClass(agenda).addClass("agendaSelectIcon").attr("agenda",agenda).addClass("list-group-item col-md-"+col_md);
     131            var text=$(document.createElement("div")).html(agendaText).addClass("agendaSelectInfo");
     132            //console.log(agendaText);
     133            $(option).css("background-image", "url(components/agenda/img/"+self.config[agenda].img+")");
     134            $(option).append(text);
     135           
     136            $(leftside).append(option);
     137            /*if (typeof(self.info[agenda])=="undefined") $(leftside).append(option);
     138            else {
     139                $(rightside).append(option);
     140                $(option).removeClass("col-md-2").addClass("col-md-12");
     141               
     142            }*/
     143        }
     144           
    125145    }
    126146   
     147    $(input).append(leftside);
     148    $(input).append(rightside);
     149   
     150    // Adding to return the content of form
    127151    ret.input=$(input).prop("outerHTML");
    128152   
     
    135159            $(".agendaSelectIcon").removeClass("agendaSelected");
    136160            $(this).addClass("agendaSelected");
    137             });
     161        });
     162   
     163        // Fix VEX dialog Settings for fullscreen (a little hack)
     164        $(".vex-content").addClass("vexExtraWidth");
     165        $(".vex.vex-theme-default").addClass("vexExtraHeight");
     166        $(".vex-dialog-input").addClass("vex_dialog_input_maxHeight");
     167   
     168        var windowHeight=($($(".vexExtraWidth")[0]).css("height"));
     169        var newHeight=(windowHeight.substring(0,windowHeight.length-2)-150)+"px";
     170        console.log(newHeight);
     171        $("#agendaSelectLeft").css("max-height",newHeight);
     172        $("#agendaSelectRight").css("max-height",newHeight);
     173        $(".vex-content.vexExtraWidth").css("top", "50px");
     174        $(".vexExtraWidth").removeClass("vexExtraWidth").addClass("vexExtraWidthExpanded");
     175       
     176       
     177        for (var item in self.info){
     178            console.log("***");
     179            console.log(item);
     180            var target=$("#agendaSelectLeft [agenda='"+item+"']");
     181         
     182            // Prepare to move from leftside
     183            var width=$(target).css("width");
     184            var height=$(target).css("height");
     185            $(target).removeClass("col-md-2").css("width", width).css("height", height).attr("dimensions", '{"width":"'+width+'", "height":"'+height+'"}');
     186         
     187            // Moving to rightside
     188            $("#agendaSelectRight").append(target);
     189         
     190            $(target).css("width","").css("height", "");
     191            $(target).css("width", "100%").addClass("col-md-12");
     192           
     193           
     194        }
     195       
     196           
     197        // Set Sortable   
     198        sortable.create(agendaSelectLeft, {
     199                            group: "shared",
     200                            animation: 150,
     201                            onAdd: function (evt){
     202                                console.log('adding right', [evt.item, evt.from]);
     203                                $(evt.item).css("width","").css("height", "").addClass("col-md-2");
     204                                },
     205                            onStart:function (evt){
     206                                var width=$(evt.item).css("width");
     207                                var height=$(evt.item).css("height");
     208                                $(evt.item).removeClass("col-md-2").css("width", width).css("height", height).attr("dimensions", '{"width":"'+width+'", "height":"'+height+'"}');
     209                               
     210                                // I si guardem este widfth i height com a originals i
     211                                // quan comencem a arrastrar en el right els restaurem??
     212                               
     213                                }
     214                          });
     215       
     216        sortable.create(agendaSelectRight, {
     217                            group: "shared",
     218                            animation: 150,
     219                            onUpdate:function(evt){
     220                                $(evt.item).css("width","").css("height", "");
     221                                $(evt.item).css("width", "100%").addClass("col-md-12");
     222                                },
     223                            onAdd: function (evt){
     224                                $(evt.item).css("width","").css("height", "");
     225                                $(evt.item).css("width", "100%").addClass("col-md-12");
     226                                },
     227                            onStart:function (evt){
     228                                var width=JSON.parse($(evt.item).attr("dimensions")).width;
     229                                var height=JSON.parse($(evt.item).attr("dimensions")).height;
     230                                $(evt.item).removeClass("col-md-12").css("width", width).css("height", height);
     231                                }
     232                          });
     233       
     234       
     235   
     236       
    138237    };
    139238   
    140239    ret.processDialog=function(){
    141         var selected=$($(".agendaSelected")[0]).attr("agenda");
    142         //alert(selected);
    143         if (selected) self.info.agenda=selected;
     240        self.info={};
     241        //var selected=$($(".agendaSelected")[0]).attr("agenda");
     242        //if (selected) self.info.agenda=selected;
     243        itemsSelected=$("#agendaSelectRight").find(".agendaSelectIcon");
     244        //for (var item in itemsSelected){ // DANGEROUS!!!
     245        for (var i=0; i<itemsSelected.length;i++){  // Better like this
     246            //console.log($(itemsSelected[i]).attr("agenda"));
     247            console.log(typeof(self.info));
     248            console.log(self.info);
     249            self.info[$(itemsSelected[i]).attr("agenda")]=true;
     250            //self.info.push($(itemsSelected[i]).attr("agenda"));
     251        }
     252       
    144253        self.reDrawComponent();
    145254    };
  • classroom-assembly/trunk/fuentes/classroom-assembly/src/css/main.css

    r6003 r6056  
    228228}
    229229
     230.vexExtraWidthExpanded{
     231    width: 90% !important;
     232    margin-left: 5% !important;
     233    top: 50px !important;
     234}
     235
    230236.vexExtraHeight{
    231237    padding-top: 20px !important;
  • classroom-assembly/trunk/fuentes/classroom-assembly/src/js/main.js

    r5857 r6056  
    404404        var fileSaved=JSON.stringify(fileContent, null, '\t');
    405405       
    406         if (saveDataStringified===fileSaved)  require('nw.gui').Window.get().reload(3);
     406        // if (saveDataStringified===fileSaved)  require('nw.gui').Window.get().reload(3);
     407        if (saveDataStringified===fileSaved)  chrome.runtime.reload();
     408       
    407409        else{ // If is not the same string, let's ask for save it
    408410            vex.dialog.confirm({
     
    414416                    click: function() {
    415417                        self.saveComponents();
    416                         require('nw.gui').Window.get().reload(3);
     418                        //require('nw.gui').Window.get().reload(3);
     419                        chrome.runtime.reload();
    417420                    }}),
    418421                $.extend({}, vex.dialog.buttons.NO, {
     
    425428                        text: i18n.gettext("confirm.save.msg.no"),
    426429                        click: function() {
    427                             require('nw.gui').Window.get().reload(3);
     430                            //require('nw.gui').Window.get().reload(3);
     431                            chrome.runtime.reload();
    428432                           
    429433                        }})
     
    534538        // Setting empty config
    535539        self.components[component].setBaseConfig();
     540        //console.log("CONFIG:::::::"+component);
     541        //console.log(self.components[component].config);
    536542       
    537543        var gridItem=self.components[component].drawComponent();
  • classroom-assembly/trunk/fuentes/classroom-assembly/src/locale/ca_ES.UTF-8.json

    r6003 r6056  
    7676  "error_on_import":"S'ha produït un error en la importació. Comproveu que es tracta d'un fitxer d'assemblea exportat prèviament.",
    7777  "agenda.today":"Agenda del dia",
    78   "assembly":"Assemblea",
     78  "agenda.component.title":"Què fem hui?",
    7979  "language":"Llengua",
    8080  "writing":"Escriure",
    8181  "reading":"Llegir",
    8282  "library":"Biblioteca",
    83   "logopedia":"Logopèdia"
    84  
    85  
     83  "logopedia":"Logopèdia",
     84  "break":"Pati",
     85  "games":"Jocs",
     86  "workshop":"Taller",
     87  "physiotherapy":"Fisioteràpia",
     88  "movie":"Pel·lícula",
     89  "party":"Festa",
     90  "excursion":"Excursió",
     91  "medicinecabinet":"Infermería",
     92  "agenda":"Agenda",
     93  "sport":"Esport",
     94  "physicaleducation":"Educació Física",
     95  "music":"Música",
     96  "dinningroom":"Menjador",
     97  "plastic":"Plàstica",
     98  "maths":"Matemàtiques",
     99  "home":"Casa",
     100  "park":"Parc",
     101  "town":"Poble",
     102  "cinema":"Cinema",
     103  "restaurant":"Restaurant",
     104  "pool":"Piscina",
     105  "shopping":"de Compres",
     106  "cycling":"Fer bicicleta",
     107  "tv":"Televisió",
     108  "play":"Jugar",
     109  "sleep":"Dormir",
     110  "shower":"Dutxa",
     111  "videogames":"Videojocs",
     112  "computer":"Ordinador",
     113  "painting":"Pintar",
     114  "homework":"Deures",
     115  "birthday":"Aniversari",
     116  "travel":"Viatge",
     117  "hospital":"Hospital",
     118  "mall":"Centre Comercial",
     119  "toylibrary":"Ludoteca",
     120  "assembly":"Assemblea"
    86121 
    87122}
  • classroom-assembly/trunk/fuentes/classroom-assembly/src/locale/en_US.UTF-8.json

    r6003 r6056  
    5858  "CreateAssembly.bt.cancel":"Cancel",
    5959  "classmates.frontend.tile":"Who is at school?",
    60  
    6160  "Select.Assembly.Components":"Select Assembly Components",
    6261  "Weather Selector":"Weather Selector",
     
    7473  "click_twice_to_open":"Click again to load assembly",
    7574  "error_on_import":"Has produced an error when importing. Check if it's an assembly file exported previously",
    76   "agenda.today":"Day Activities"
    77  
    78 
     75  "agenda.today":"Day Activities",
     76  "agenda.component.title":"What will we do today?",
     77  "language":"Language",
     78  "writing":"Writing",
     79  "reading":"Reading",
     80  "library":"Library",
     81  "logopedia":"Logopedia",
     82  "break":"Break",
     83  "games":"Games",
     84  "workshop":"Workshop",
     85  "physiotherapy":"Physiotherapy",
     86  "movie":"Movie",
     87  "party":"Party",
     88  "excursion":"Excursion",
     89  "medicinecabinet":"Medicine Cabinet",
     90  "agenda":"Agenda",
     91  "sport":"Sport",
     92  "physicaleducation":"Physical Education",
     93  "music":"Music",
     94  "dinningroom":"Dinning Room",
     95  "plastic":"Plastic",
     96  "maths":"Maths",
     97  "home":"Home",
     98  "park":"Park",
     99  "town":"Town",
     100  "cinema":"Cinema",
     101  "restaurant":"Restaurant",
     102  "pool":"Pool",
     103  "shopping":"Shopping",
     104  "cycling":"Cycling",
     105  "tv":"Watchinv TV",
     106  "play":"Play",
     107  "sleep":"Sleep",
     108  "shower":"Shower",
     109  "videogames":"Videogames",
     110  "computer":"Computer",
     111  "painting":"Painting",
     112  "homework":"Homework",
     113  "birthday":"Birthday",
     114  "travel":"Travel",
     115  "hospital":"Hospital",
     116  "mall":"Mall",
     117  "toylibrary":"ToyLibrary",
     118  "assembly":"Assembly"
    79119}
  • classroom-assembly/trunk/fuentes/classroom-assembly/src/locale/es_ES.UTF-8.json

    r6003 r6056  
    7575  "click_twice_to_open":"Vuelva a hacer click para abrir la asamblea",
    7676  "error_on_import":"Se produjo un error durante la importación. Compruebe que se trata de un fichero de asamblea exportado previamente.",
    77   "agenda.today":"Agenda del dia"
     77  "agenda.today":"Agenda del dia",
     78  "agenda.component.title":"¿Qué hacemos hoy?",
     79  "language":"Lengua",
     80  "writing":"Lectura",
     81  "reading":"Escritura",
     82  "library":"Biblioteca",
     83  "logopedia":"Logopedia",
     84  "break":"Recreo",
     85  "games":"Juegos",
     86  "workshop":"Taller",
     87  "physiotherapy":"Fisioterapia",
     88  "movie":"Película",
     89  "party":"Fiesta",
     90  "excursion":"Excursión",
     91  "medicinecabinet":"Enfermería",
     92  "agenda":"Agenda",
     93  "sport":"Deporte",
     94  "physicaleducation":"Educación física",
     95  "music":"Música",
     96  "dinningroom":"Comedor",
     97  "plastic":"Plástica",
     98  "maths":"Matemáticas",
     99  "home":"Casa",
     100  "park":"Parque",
     101  "town":"Pueblo",
     102  "cinema":"Cine",
     103  "restaurant":"Restaurante",
     104  "pool":"Piscina",
     105  "shopping":"Compras",
     106  "cycling":"Bicicleta",
     107  "tv":"Televisión",
     108  "play":"Jugar",
     109  "sleep":"Dormir",
     110  "shower":"Ducha",
     111  "videogames":"Videojuegos",
     112  "computer":"Ordenador",
     113  "painting":"Pintar",
     114  "homework":"Deberes",
     115  "birthday":"Cumpleaños",
     116  "travel":"Viaje",
     117  "hospital":"Hospital",
     118  "mall":"Centro Comercial",
     119  "toylibrary":"Ludoteca",
     120  "assembly":"Asamblea"
    78121 
    79122 
  • classroom-assembly/trunk/fuentes/classroom-assembly/src/package-lock.json

    r5858 r6056  
    473473      }
    474474    },
     475    "sortablejs": {
     476      "version": "1.6.1",
     477      "resolved": "https://registry.npmjs.org/sortablejs/-/sortablejs-1.6.1.tgz",
     478      "integrity": "sha1-0SDRA/u59gx9sngUoThAcubG4IM="
     479    },
    475480    "source-map": {
    476481      "version": "0.1.43",
  • classroom-assembly/trunk/fuentes/classroom-assembly/src/package.json

    r6003 r6056  
    2828    "file-type": "^6.1.0",
    2929    "fs-extra": "^4.0.2",
    30     "read-chunk": "^2.1.0"
     30    "read-chunk": "^2.1.0",
     31    "sortablejs": "^1.6.1"
    3132  }
    3233}
Note: See TracChangeset for help on using the changeset viewer.