cagartner
1/30/2014 - 4:55 PM

/view/Despertador.js

/view/Despertador.js

/**
 * @class Santista.view.Despertador
 * @extends Ext.Panel
 * @author Daniel Salvagni
 */

Ext.define('Santista.view.Despertador', {
    extend: 'Ext.Panel',
    alias: 'widget.despertador',
    config: {  	
        title: 'Despertador',
        layout: 'vbox',
        cls : 'transparent',
        html: ['<div id="Despertador">'+
                '<table>'+
                    '<tr>'+
                        '<td>'+
                            '<div class="horasBack"><span id="horasDespertador">12</span><div class="minutesTop"></div></div>'+
                        '</td>'+
                        '<td>'+
                            '<div class="plus" id="moreHoras">+</div>'+
                            '<div class="minus" id="minusHoras">-</div>'+
                        '</td>'+
                        '<td>'+
                            '<div class="minutesBack"><span id="minutosDespertador">30</span><div class="minutesTop"></div></div>'+
                        '</td>'+
                        '<td>'+
                            '<div class="plus" id="moreMinutos">+</div>'+
                            '<div class="minus" id="minusMinutos">-</div>'+
                        '</td>'+
                    '</tr>'+
                    '<tr>'+
                        '<td colspan="4" id="textoDefinido" style="font-size:0.95;text-align:center;"></td>'+
                    '</tr>'+
                '</table>'+
            '</div>'].join(),
    styleHtmlContent: false,
    items: [
            {
                xtype:'button',
                id:'despertadorDefinir',
                text: 'Definir Despertador',
                docked:'bottom',
                height:70,
                padding:0,
                //cls:'boxPlayer',
                styleHtmlContent: false,
                handler: function(){ 
                    if (Santista.Despertador.setAlarm(Santista.Despertador.despertadorHora,Santista.Despertador.despertadorMinuto)){
                        Ext.getCmp('despertadorDefinir').hide();
                        Ext.getCmp('despertadorCancelar').show();
                        document.getElementById('textoDefinido').innerHTML = 'Despertador definido para: '+Santista.Despertador.despertadorHora+'h '+Santista.Despertador.despertadorMinuto+'min';
                        //tx.executeSql('INSERT INTO config (id, key, value) VALUES (?, ?, ?)', [4,'despertadorMin','']);
                        Santista.Config.db.transaction(function(tx){
                            tx.executeSql('UPDATE config SET value = ?WHERE id = ?;', [ 'ativado' , 2]);
                            tx.executeSql('UPDATE config SET value = ?WHERE id = ?;', [ Santista.Despertador.despertadorHora , 3]);
                            tx.executeSql('UPDATE config SET value = ?WHERE id = ?;', [ Santista.Despertador.despertadorMinuto , 4]);
                        });
                    }
                }
            },
            {
                xtype:'button',
                id:'despertadorCancelar',
                text: 'Desligar Despertador',
                docked:'bottom',
                height:70,
                padding:0,
                hidden:true,
                ui:'decline',
                styleHtmlContent: false,
                handler:function(){
                    // if(Santista.Despertador.alarm)
                    //     Santista.Despertador.alarm.stop();

                    // Santista.Despertador.plugins.localNotification.cancelAll();

                    window.plugin.notification.local.cancelAll();
                    
                    Ext.getCmp('despertadorCancelar').hide();
                    Ext.getCmp('despertadorDefinir').show();
                    document.getElementById('textoDefinido').innerHTML = '';
                    Santista.Config.db.transaction(function(tx){
                        tx.executeSql('UPDATE config SET value = ?WHERE id = ?;', [ 'desativado' , 2]);
                    });
                }
            }
        ],
        listeners: {
            show: function(panel) {
                Santista.Config.db.transaction(function(tx){
                    tx.executeSql('SELECT * FROM config WHERE id = 2;', [], function(tx,rs){
                        itemTemp = rs.rows.item(0).value;
                        if(itemTemp == 'ativado'){
                            Ext.getCmp('despertadorDefinir').hide();
                            Ext.getCmp('despertadorCancelar').show();
                            tx.executeSql('SELECT * FROM config WHERE id = 3;', [], function(tx,rs2){
                                Santista.Despertador.despertadorHora = rs2.rows.item(0).value
                                
                                tx.executeSql('SELECT * FROM config WHERE id = 4;', [], function(tx,rs3){
                                    Santista.Despertador.despertadorMinuto = rs3.rows.item(0).value
                                    document.getElementById('textoDefinido').innerHTML = 'Despertador definido para: '+Santista.Despertador.despertadorHora+'h '+Santista.Despertador.despertadorMinuto+'min';
                                });
                                
                            });
                            
                        }
                    });
                });
            },
            tap: {
                fn: function(el) {
                    elementID = el.target.id
                    switch(elementID){
                        case 'moreHoras':
                            if(Santista.Despertador.despertadorHora==23)
                                Santista.Despertador.despertadorHora = 0;
                            else
                                Santista.Despertador.despertadorHora +=1;
                            if(this.hora < 10)
                                document.getElementById('horasDespertador').innerHTML = '0'+Santista.Despertador.despertadorHora;
                            else
                                document.getElementById('horasDespertador').innerHTML = Santista.Despertador.despertadorHora;
                        break
                        case 'minusHoras':
                            if(Santista.Despertador.despertadorHora==0)
                                Santista.Despertador.despertadorHora = 23;
                            else
                               Santista.Despertador.despertadorHora -=1;
                            if(Santista.Despertador.despertadorHora < 10)
                                document.getElementById('horasDespertador').innerHTML = '0'+Santista.Despertador.despertadorHora;
                            else
                                document.getElementById('horasDespertador').innerHTML = Santista.Despertador.despertadorHora;
                        break
                        case 'moreMinutos':
                            if(Santista.Despertador.despertadorMinuto==59)
                                Santista.Despertador.despertadorMinuto = 0;
                            else
                                Santista.Despertador.despertadorMinuto +=1;
                            if(Santista.Despertador.despertadorMinuto < 10)
                                document.getElementById('minutosDespertador').innerHTML = '0'+Santista.Despertador.despertadorMinuto;
                            else
                                document.getElementById('minutosDespertador').innerHTML = Santista.Despertador.despertadorMinuto;
                        break
                        case 'minusMinutos':
                            if(Santista.Despertador.despertadorMinuto==0)
                                Santista.Despertador.despertadorMinuto = 59;
                            else
                                Santista.Despertador.despertadorMinuto -=1;
                            if(Santista.Despertador.despertadorMinuto < 10)
                                document.getElementById('minutosDespertador').innerHTML = '0'+Santista.Despertador.despertadorMinuto;
                            else
                                document.getElementById('minutosDespertador').innerHTML = Santista.Despertador.despertadorMinuto;
                        break
                    }
                },
                element: 'innerElement'
            }
        }
    }
});