[Coffee] [PATCH mt-apps v4] Added list of scripts

Tomas Tomas.Prochazka at cvut.cz
Thu Sep 6 10:33:34 CEST 2018



On 6.9.2018 09:55, Michal Sojka wrote:
> On Thu, Sep 06 2018, Tomas Prochazka wrote:
>> This scripts are needed to create Dialog window with calendar
> Když tak o tom přemýšlím, tak načítání těchto skriptů se nemusí dělat
> z mt-apps, ale stačilo by to z main.js v coffee-flask. V mt-apps zůstane jen
> načítání main.js (http://localhost:5000/js). Tím se celá funkcionalita
> kalendáře zjednoduší, protože vše bude jen v jednom repozitáři.
>
> Nech to jako jako samostatný patch, ale v coffee-flask repu.
>
>> ---
>>   html/index.html | 27 ++++++++++++++++++++-------
>>   1 file changed, 20 insertions(+), 7 deletions(-)
>>
>> diff --git a/html/index.html b/html/index.html
>> index 06f8fbf..db039db 100644
>> --- a/html/index.html
>> +++ b/html/index.html
>> @@ -5,13 +5,26 @@
>>   <title>IID Coffee Terminal</title>
>>   <script>
>>       function loadServerScript() {
>> -        let script = document.createElement('script');
>> -        script.src = "http://localhost:5000/js";
>> -        document.head.append(script);
>> -        script.onerror = function() {
>> -            this.parentElement.removeChild(this);
>> -            setTimeout(loadServerScript, 10000);
>> -        };
>> +        <!--name of script, which I need -->
>> +        var scriptName= ["js",
>> +        "bower_components/moment/min/moment.min.js",
>> +        "bower_components/jquery/dist/jquery.min.js",
>> +        "bower_components/bootstrap/dist/js/bootstrap.min.js",
>> +        "bower_components/bootstrap3-dialog/dist/js/bootstrap-dialog.min.js",
>> +        "bower_components/fullcalendar/dist/fullcalendar.min.js"];
>> +        for(var i=0;i<scriptName.length;i++){
>> +            const scriptPromise = new Promise((resolve, reject) => {
>> +                const script = document.createElement('script');
>> +                document.head.appendChild(script);
> Z původního kódy jsi vyhodil removeChild v případě neúspěchu. To tam
> bylo kvůli tomu, že když server není k dispozici, tak by se pořád
> přidávaly nové elementy a pokud nebude server dostupný dlouho, může díky
> tomu třeba dojít paměť, nebo bude výsledná stránka mnohem pomalejší,
> protože bude obsahovat tisíce elementů "script".
doplnim
>> +                script.onload = resolve;
>> +                script.onerror = () => {
>> +                    setTimeout(loadServerScript, 10000);
>> +                    reject;
>> +                };
>> +                script.async = false;
> Není to default?
pokud to neuvedu, tak skripty se neprovedou ve spravnem poradi a 
nefunguji zavisloti
>> +                script.src = "http://localhost:5000/"+scriptName[i];
> Neměl by se .src nastavit před tím, než se zavolá appendChild? Nevím,
> jestli je při opačném pořadí garantováno, že se skript načte.
funguje to ale pro prehlednost kodu to nastavim pred funkci
>> +            });
>> +        }
>>       }
>>   
>>       loadServerScript();
>> -- 
>> 2.11.0
>>
>>
>> _______________________________________________
>> Coffee mailing list
>> Coffee at rtime.felk.cvut.cz
>> https://rtime.felk.cvut.cz/mailman/listinfo/coffee




More information about the Coffee mailing list