Changeset 5857


Ignore:
Timestamp:
Sep 18, 2017, 2:01:23 PM (2 years ago)
Author:
joamuran
Message:

cleaning node_modules

Location:
classroom-assembly/trunk/fuentes/classroom-assembly/src
Files:
1 deleted
9 edited

Legend:

Unmodified
Added
Removed
  • classroom-assembly/trunk/fuentes/classroom-assembly/src/components/component.js

    r5777 r5857  
    126126                   
    127127                    var customConfigDir=self.configDir+"/.customCSS";
     128                   
     129                    // Create .customCSS dir if does not exists
     130                    if (!fs.existsSync(customConfigDir)){
     131                        fs.mkdirSync(customConfigDir);
     132                        fs.mkdirSync(customConfigDir+"/img");
     133                    }
     134                   
    128135                    //console.log("customConfigDir:"+customConfigDir);
    129136
  • classroom-assembly/trunk/fuentes/classroom-assembly/src/css/loadDialog.css

    r5035 r5857  
    9393    box-shadow: 0 6px 6px -6px black;
    9494    height: 90%;
     95    /*height: 120px;
     96    width: 100px;*/
    9597    padding: 5px;
    9698    transition: all ease 0.2s;
     
    99101    background-position: bottom;
    100102    background-origin: content-box;
     103    text-align:center;
    101104}
    102105
    103106.asItem.selected{
    104     background: #ffffef;
    105    
     107    background: #fac800;
     108    padding: 1px;
    106109    background-size: contain;
    107110    background-repeat: no-repeat;
    108111    background-position: bottom;
     112    background-origin: content-box;
    109113}
    110114
     
    140144    margin-top: 30px;
    141145}
     146
     147
     148.loadWinHelpMessage{
     149    position: fixed;
     150    bottom: 200px;
     151    width: 100%;
     152    text-align: center;
     153   
     154}
  • classroom-assembly/trunk/fuentes/classroom-assembly/src/css/main.css

    r5777 r5857  
    116116}
    117117
    118 
     118#exportDialog, #importDialog{
     119    display: none;
     120}
    119121
    120122#menuButton{
     
    138140
    139141#BtSave, #BtSaveConfig{ background-image: url(images/icons/save.png); z-index: 80;}
     142
    140143#BtSave{
    141144    top: 160px;
     
    147150    right: 0px;
    148151}
     152
     153
     154
     155
     156#BtExport, #BtExportConfig{ background-image: url(images/icons/export.png); z-index: 80;}
     157
     158#BtExport{
     159    top: 240px;
     160    right: 0px;
     161}
     162
     163#BtExportConfig.visible{
     164    top: 320px;
     165    right: 0px;
     166}
     167
     168
    149169
    150170#btOptions{ background-image: url(images/icons/options.png); z-index: 70;}
     
    157177#btQuit, #btQuitConfig{ background-image: url(images/icons/quit.png); z-index: 70;}
    158178#btQuit.visible{
    159     top: 240px;
     179    top: 320px;
    160180    right: 0px;
    161181}
    162182
    163183#btQuitConfig.visible{
    164     top: 320px;
     184    top: 400px;
    165185    right: 0px;
    166186}
  • classroom-assembly/trunk/fuentes/classroom-assembly/src/index.html

    r5777 r5857  
    2424                <script type="text/javascript" src="components/weekday/weekday.js"></script>
    2525                <script type="text/javascript" src="components/classmates/classmates.js"></script>
     26                <script type="text/javascript" src="components/agenda/agenda.js"></script>
    2627               
    2728                <!-- Loading main -->
     
    5152                <link rel="stylesheet" type="text/css" href="components/weekday/weekday.css">
    5253                <link rel="stylesheet" type="text/css" href="components/classmates/classmates.css">
     54                <link rel="stylesheet" type="text/css" href="components/agenda/agenda.css">
    5355               
    5456                <style id="customStyles"></style>
     
    6668                                        <div class="controlButton buttonhidden" id="btShowEditMode" title="Edit Mode"></div>
    6769                                        <div class="controlButton buttonhidden" id="btSave" title="Save"></div>
     70                                        <div class="controlButton buttonhidden" id="btExport" title="Export"></div>
    6871                                        <div class="controlButton buttonhidden" id="btQuit" title="Quit"></div>
     72                                        <input type="file" id="exportDialog" nwsaveas="assemblea.zip" />
     73                                        <input type="file" id="importDialog"/>
    6974                                        <!--div class="controlButton buttonhidden" id="btOptions" title="Options"></div-->
    7075                                </div>
     
    7378                                        <div class="controlButton buttonhidden" id="btShowPlayerMode" title="Player Mode"></div>
    7479                                        <div class="controlButton buttonhidden" id="btSaveConfig" title="Save Config"></div>
     80                                        <div class="controlButton buttonhidden" id="btExportConfig" title="Export"></div>
    7581                                        <div class="controlButton buttonhidden" id="btOptions" title="Options"></div>
    7682                                        <div class="controlButton buttonhidden" id="btQuitConfig" title="Quit"></div>
     
    8793        </div> <!-- DashBoard -->
    8894
    89         <div id="infoPanel"></div>
     95        <div id="infoPanel">hola</div>
    9096       
    9197
  • classroom-assembly/trunk/fuentes/classroom-assembly/src/js/main.js

    r5777 r5857  
    6363        "classmatesComponent":function(ref){
    6464            ref.components.classmatesComponent=new classmatesComponentClass();
     65        },
     66        "agendaComponent":function(ref){
     67            ref.components.agendaComponent=new agendaComponentClass();
    6568        }
    6669       
     
    149152}
    150153
     154UI.prototype.exportAssemblyClick=function exportAssemblyClick(){
     155  $("#exportDialog").val(""); // Clean value before send click event
     156  $("#exportDialog").click();
     157}
     158
     159UI.prototype.importAssemblyClick=function importAssemblyClick(){
     160    // console.log("CLIC ON IMPORT ASSEMBLY!!!");
     161    $("#importDialog").val(""); // Clean value before send click event
     162    $("#importDialog").click();
     163}
     164
     165
     166UI.prototype.exportAssembly=function exportAssembly(path){
     167    try{
     168        var self=this;
     169         //alert("Saving "+self.configDir+"to "+path);
     170       
     171        var fs= require('fs');
     172        var archiver = require('archiver');
     173        var fse=require('fs-extra');
     174       
     175        // Copyinf files to tmp
     176        var dirname=self.configDir.replace(self.configBaseDir, ""); // Stores assembly name
     177        var tmpdir="/tmp"+dirname;
     178        fse.emptyDir(tmpdir, function(){
     179            // When dir is empty let's copy files to tmp
     180            fse.copy(self.configDir, tmpdir, {overwrite: true}, function(){
     181                // And now let's zip it
     182       
     183            var output = fs.createWriteStream(path);
     184            var archive = archiver('zip', { zlib : { level: 9 } // Sets the compression level.
     185            });
     186       
     187               
     188            output.on('close', function () {
     189                console.log(archive.pointer() + ' total bytes');
     190                console.log('archiver has been finalized and the output file descriptor has closed.');
     191            });
     192           
     193            archive.on('error', function(err){
     194                throw err;
     195            });
     196           
     197            archive.pipe(output);
     198           
     199            archive.glob("/**/*", {root:tmpdir, dot:true, realpath:false}); //some glob pattern here
     200           
     201            archive.finalize();
     202             
     203             
     204            });
     205        });
     206       
     207    }
     208    catch (e){
     209        console.log("Exporting Error: "+e);
     210    }
     211   
     212}
     213
     214
     215
     216UI.prototype.importAssembly=function importAssembly(file){
     217    // console.log("on immport Assembly");
     218    var self=this;
     219    var fs = require('fs');
     220    var decompress = require('decompress');
     221    var fse=require('fs-extra');
     222    var tmpdir="/tmp/extractedImportedAssembly/";
     223    try{
     224        fse.emptyDir(tmpdir, function(){
     225            // When dir is empty let's extract
     226            decompress(file, tmpdir).then(files => {
     227            // And now move extracted files to configBaseDir
     228            var items=fs.readdirSync(tmpdir+"tmp");
     229            // items[0] contains dir name
     230           
     231            console.log(self.configBaseDir+"/"+items[0]);
     232            if (fs.existsSync(self.configBaseDir+"/"+items[0])) {
     233                //alert("ja existeix...");
     234                vex.dialog.confirm({
     235                    message: i18n.gettext('ask_overwrite_assembly'),
     236                    buttons: [
     237                    $.extend({}, vex.dialog.buttons.YES, {
     238                        className: 'vex-dialog-button-primary',
     239                        //text: i18n.gettext("confirm.save.msg.yes"),
     240                        text: i18n.gettext("overwrite_assembly"),
     241                        click: function() {
     242                            // If answers yes, overwrite
     243                            fse.copy(tmpdir+"tmp", self.configBaseDir, {overwrite: true}, function(){
     244                               chrome.runtime.reload();
     245                            });   
     246                        }}),
     247                    $.extend({}, vex.dialog.buttons.NO, {
     248                        className: 'vex-dialog-button',
     249                        //text: i18n.gettext("confirm.save.msg.cancel"),
     250                        text: i18n.gettext("cancel_overwrite_assembly"),
     251                        click: function() {
     252                            vex.close(this);
     253                        }})
     254                    ],
     255                    callback: function () {}
     256                });
     257            }
     258            else{
     259            // I el copiem al lloc
     260             fse.copy(tmpdir+"tmp", self.configBaseDir, {overwrite: true}, function(){
     261                chrome.runtime.reload();
     262                });   
     263            }
     264                       
     265           
     266            }).catch(
     267                     (reason) => {
     268                        vex.dialog.alert(i18n.gettext("error_on_import"));
     269                });
     270        });
     271   
     272   
     273   
     274    } catch(e){
     275        console.log("Exception "+e);
     276        };
     277   
     278   
     279       
     280}
     281
     282
    151283UI.prototype.showControlPanel=function showControlPanel(){
    152284    $("#controlPanel").fadeIn(100);
     
    173305   
    174306    $("#menuButton").on("click", function(event){
    175         console.log("self.menuHidden is "+self.menuHidden);
     307        //console.log("self.menuHidden is "+self.menuHidden);
    176308        event.stopPropagation();
    177309        if (self.menuHidden) {self.showControlPanel(); }
     
    238370        self.saveComponents();
    239371        });
    240 
     372   
     373    $("#btExport").on("click", function(event){
     374        event.stopPropagation();
     375        self.exportAssemblyClick();
     376    });
     377   
     378    $("#btExportConfig").on("click", function(event){
     379        event.stopPropagation();
     380        self.exportAssemblyClick();
     381    });
     382   
     383    $("#exportDialog").on("change", function(){
     384        var filePath = this.value;
     385        //
     386        //  Bug.. quan exportem dos vegades sembla que el change no va...
     387        //
     388        self.exportAssembly(filePath);
     389    });
     390   
    241391    $("#btOptions").on("click", function(){
    242392        self.ShowComponentsWindow();
     
    454604    // Fit text to its container
    455605    resizeFonts();
    456    
    457    
     606       
    458607}
    459608
     
    515664    var frame=$(document.createElement("div")).addClass("frame").attr("id", "frameFileSelector");
    516665    var slidee=$(document.createElement("ul")).addClass("slidee");
     666   
     667    var text=$(document.createElement("div")).html("").addClass("loadWinHelpMessage").attr("id","loadWinHelpMessage");
    517668       
    518669    var fs=require("fs");
     
    543694   
    544695    var new_li=$(document.createElement("li"));
    545     var content=$(document.createElement("div")).html("Nou").attr("id", "btNewAssembly").addClass("asItem");
     696    var content=$(document.createElement("div")).html("Nou").attr("id", "btNewAssembly").addClass("asItem").css("background-image", "url(css/images/icons/new_assembly.png)");
     697    var import_li=$(document.createElement("li"));
     698    var content_import=$(document.createElement("div")).html("Importa").attr("id", "btImportAssembly").addClass("asItem").css("background-image", "url(css/images/icons/import_assembly.png)");
    546699   
    547700    $(new_li).append(content);
     701    $(import_li).append(content_import);
    548702    $(slidee).append(new_li);
     703    $(slidee).append(import_li);
    549704   
    550705    $(frame).append(slidee);
     706   
     707   
     708    $(loadContainer).append(text);
    551709   
    552710    // Adjust FileSelector properties
     
    554712    // Fer el fileselector amb width=130*nº elements i amb un margin-left en funció del tamany de la finestra...
    555713    var width=(assembleaList.length+1)*130;
    556     $(fileSelector).css("width", width+"px").css("margin-left", ((window.innerWidth/2)-(width/2)-30)+"px");
     714    $(fileSelector).css("width", 1.5*width+"px").css("margin-left", ((window.innerWidth/2)-(width/2)-90)+"px");
    557715   
    558716    $(fileSelector).append(hrtop);
     
    607765    $(".asItem").on("click", function(){
    608766        if ($(this).hasClass("selected")){
     767            $("#loadWinHelpMessage").html("");
    609768            if ($(this).attr("id")=="btNewAssembly"){
    610769                // Show dialog (if is not shown!)
    611770                if($(".newAsDiv").length==0) self.createNewAssembly();
     771            }
     772            else if ($(this).attr("id")=="btImportAssembly"){
     773                // check if it's importing an assembly
     774                self.importAssemblyClick();
    612775            }
    613776            else self.LaunchAssembly($(this).attr("id"));
     
    626789            $(".asItem").removeClass("selected");
    627790            $(this).addClass("selected");
     791           
     792           
     793            // detect which button has been clicked to show helpe message
     794            var help_text="";
     795            if ($(this).attr("id")=="btNewAssembly") help_text="click_twice_to_new_assembly";
     796            else if ($(this).attr("id")=="btImportAssembly") help_text="click_twice_to_import_assembly";
     797            else help_text="click_twice_to_open";
     798            $("#loadWinHelpMessage").html(i18n.gettext(help_text));
     799           
    628800        }
    629801     });
     
    643815    var op=[];
    644816   
    645     console.log("123");
    646817    var avatarDir = 'css/images/avatars/';
    647818   
     
    768939    }, 100);
    769940};
     941
    770942
    771943UI.prototype.setCustomCSS=function setCustomCSS(){
     
    8281000   
    8291001    appGlobal=app;
    830    
    8311002    //app.speakPhrase("Welcome to Classroom Assembly");
     1003   
     1004    // Binding change event on import dialog
     1005    $("#importDialog").on("change", function(){
     1006        console.log("Detect change in importDialog");
     1007        var filePath = this.value;
     1008        app.importAssembly(filePath);
     1009    });
     1010   
    8321011    app.showLoadDialog(); // Shows load dialog and launches assembly
    8331012   
  • classroom-assembly/trunk/fuentes/classroom-assembly/src/locale/ca_ES.UTF-8.json

    r5777 r5857  
    6767 
    6868  "add.new.image":"Modifiqueu la imatge",
    69   "back.to.default.image": "Restaura la imatge per defecte"
     69  "back.to.default.image": "Restaura la imatge per defecte",
     70  "ask_overwrite_assembly":"Ja existeix una assemble amb aquest nom, la voleu sobreescriure?",
     71  "overwrite_assembly":"Si, sobreescriu-la.",
     72  "cancel_overwrite_assembly":"No",
     73  "click_twice_to_new_assembly":"Feu clic de nou per crear una assemblea",
     74  "click_twice_to_import_assembly":"Feu clic de nou per importar una assemblea",
     75  "click_twice_to_open":"Feu clic de nou per obrir l'assemblea",
     76  "error_on_import":"S'ha produït un error en la importació. Comproveu que es tracta d'un fitxer d'assemblea exportat prèviament."
    7077 
    7178 
  • classroom-assembly/trunk/fuentes/classroom-assembly/src/locale/en_US.UTF-8.json

    r5777 r5857  
    6666  "Classmates Selector":"Classmates Selector",
    6767  "add.new.image":"Modify picture",
    68   "back.to.default.image": "Restore default picture"
     68  "back.to.default.image": "Restore default picture",
     69  "ask_overwrite_assembly":"An assembly with this name already exists. Overwrite it?",
     70  "overwrite_assembly":"Yes, overwrite.",
     71  "cancel_overwrite_assembly":"No",
     72  "click_twice_to_new_assembly":"Click again to create a new assembly",
     73  "click_twice_to_import_assembly":"Click again to import an assembly",
     74  "click_twice_to_open":"Click again to load assembly",
     75  "error_on_import":"Has produced an error when importing. Check if it's an assembly file exported previously"
    6976 
    7077
  • classroom-assembly/trunk/fuentes/classroom-assembly/src/locale/es_ES.UTF-8.json

    r5777 r5857  
    6666  "Classmates Selector":"Compañeros de clase",
    6767 
    68   "add.new.image":"Modifiqueu la imatge",
    69   "back.to.default.image": "Restaura la imatge per defecte"
     68  "add.new.image":"Modifica la imatgen",
     69  "back.to.default.image": "Restaura la imagen por defecto",
     70  "ask_overwrite_assembly":"Ya existe una asamblea con este nombre, desea sobreescribirla?",
     71  "overwrite_assembly":"Si, sobreescríbela.",
     72  "cancel_overwrite_assembly":"No",
     73  "click_twice_to_new_assembly":"Vuelva a hacer click para crear una asamblea",
     74  "click_twice_to_import_assembly":"Vuelva a hacer click para importar una asemblea",
     75  "click_twice_to_open":"Vuelva a hacer click para abrir la asamblea",
     76  "error_on_import":"Se produjo un error durante la importación. Compruebe que se trata de un fichero de asamblea exportado previamente."
    7077 
    7178 
  • classroom-assembly/trunk/fuentes/classroom-assembly/src/package.json

    r5777 r5857  
    2323  "chromium-args": "--enable-speech-dispatcher",
    2424  "dependencies": {
    25     "css": "^2.2.1"
     25    "archiver": "^2.0.3",
     26    "css": "^2.2.1",
     27    "decompress": "^4.2.0",
     28    "file-type": "^6.1.0",
     29    "fs-extra": "^4.0.2",
     30    "read-chunk": "^2.1.0"
    2631  }
    2732}
Note: See TracChangeset for help on using the changeset viewer.