Guest User

Controller

a guest
Jun 10th, 2013
203
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. // When a specific timer of a socket is tapped the view TimerEdit will show up
  2.     onTimerListItemTap: function(view, index, target, record, event){
  3.         if(!MINUTES){
  4.             MINUTES = [];
  5.             for (var j = 0; j < 60; j++) {
  6.                 var text;
  7.                 text = (j < 10) ? ('0' + j) : j; //Add leading zero
  8.                 MINUTES.push({text:text, value:j});
  9.             }
  10.         }
  11.        
  12.         if(!HOURS){
  13.             HOURS = [];
  14.             for (var j = 0; j < 24; j++) {
  15.                 var text;
  16.                 text = (j < 10) ? ('0' + j) : j; //Add leading zero
  17.                 HOURS.push({text:text, value:j});
  18.             }
  19.         }
  20.        
  21.         editForm = Ext.create('Ext.picker.Picker',{
  22.                 name: 'timerEditPanel',
  23.                 doneButton: {
  24.                     docked: 'right',
  25.                     text: 'ok',
  26.                     cls: 'annehmen'
  27.                  },
  28.                 cancelButton: false,
  29.                 modal: true,
  30.                 hideOnMaskTap: true,
  31.                 scrollable:false,
  32.                 draggable: false,
  33.                 scroll: false,
  34.                 indicators: false,
  35.                 slots: [
  36.                     {
  37.                         xtype: 'pickerslot',
  38.                         name: 'startTimeHours',
  39.                         itemId: 'startTimeHours',
  40.                         align: 'right',
  41.                         title: 'H',
  42.                         data: HOURS
  43.                     },
  44.                     {
  45.                         xtype: 'pickerslot',
  46.                         name: 'seperator',
  47.                         align: 'center',
  48.                         title: ' ',
  49.                         data: [
  50.                             {
  51.                                 text: ':',
  52.                                 value: ':'
  53.                             }
  54.                         ]
  55.                     },
  56.                     {
  57.                         xtype: 'pickerslot',
  58.                         name: 'startTimeMinutes',
  59.                         itemId: 'startTimeMinutes',
  60.                         align: 'left',
  61.                         title: 'm',
  62.                         data: MINUTES
  63.                     },
  64.                     {
  65.                         xtype: 'pickerslot',
  66.                         name: 'endTimeHours',
  67.                         align: 'right',
  68.                         title: 'H',
  69.                         data: HOURS
  70.                     },
  71.                     {
  72.                         xtype: 'pickerslot',
  73.                         name: 'seperator',
  74.                         align: 'center',
  75.                         title: ' ',
  76.                         data: [
  77.                             {
  78.                                 text: ':',
  79.                                 value: ':'
  80.                             }
  81.                         ]
  82.                     },
  83.                     {
  84.                         xtype: 'pickerslot',
  85.                         name: 'endTimeMinutes',
  86.                         itemId: 'endTimeMinutes',
  87.                         align: 'left',
  88.                         title: 'm',
  89.                         data: MINUTES
  90.                     }                                      
  91.                 ],
  92.                 toolbar: {
  93.                     xtype: 'toolbar',
  94.                     docked: 'bottom',
  95.                     items: [
  96.                         {
  97.                             xtype: 'container',
  98.                             docked: 'bottom',
  99.                             layout: {
  100.                                 type: 'hbox',
  101.                                 pack: 'justify'
  102.                             },
  103.                             defaults: {
  104.                                 xtype: 'checkboxfield',
  105.                                 labelAlign:'top',
  106.                                 flex:1,
  107.                             },
  108.                             items: [  
  109.                                 {label:'Mo', itemId:'Mo'},{label:'Di', itemId:'Di'},{label:'Mi', itemId:'Mi'},{label:'Do', itemId:'Do'},{label:'Fr', itemId:'Fr'},{label:'Sa', itemId:'Sa'},{label:'So', itemId:'So'}                
  110.                             ]
  111.                         },
  112.                         {
  113.                             xtype: 'checkboxfield',
  114.                             labelAlign: 'left',
  115.                             label: 'aktiv',
  116.                             itemId: 'aktiv',
  117.                             docked: 'left'
  118.                         }
  119.                     ]
  120.                 }
  121.         });
  122.        
  123.         editForm.on('change', function(picker, button){
  124.             var startTimeHours = picker.getValue()['startTimeHours'];
  125.             var startTimeMinutes = picker.getValue()['startTimeMinutes'];
  126.            
  127.             var endTimeHours = picker.getValue()['endTimeHours'];
  128.             var endTimeMinutes = picker.getValue()['endTimeMinutes'];
  129.            
  130.             var startTime = ((startTimeHours < 10) ? ('0' + startTimeHours) : startTimeHours) +':'+ ((startTimeMinutes < 10) ? ('0' + startTimeMinutes): startTimeMinutes); //Add leading zero
  131.             var endTime = ((endTimeHours < 10) ? ('0' + endTimeHours) : endTimeHours) +':'+ ((endTimeMinutes < 10) ? ('0' + endTimeMinutes): endTimeMinutes); //Add leading zero
  132.        
  133.             record.set({startTime:startTime});
  134.             record.set({endTime:endTime});
  135.            
  136.             var days = record.data.days;
  137.  
  138.             if(!picker.down('#Mo').isChecked()){
  139.                 record.set({MO:'noWdhDay'});
  140.                 days = days.replace('1','');
  141.             }else{
  142.                 record.set({MO:'wdhDay'});
  143.                 days = days.replace('1','');
  144.                 days = days + '1';
  145.             }
  146.            
  147.             if(!picker.down('#Di').isChecked()){
  148.                 record.set({DI:'noWdhDay'});
  149.                 days = days.replace('2','');
  150.             }else{
  151.                 record.set({DI:'wdhDay'});
  152.                 days = days.replace('2','');
  153.                 days = days + '2';
  154.             }
  155.            
  156.             if(!picker.down('#Mi').isChecked()){
  157.                 record.set({MI:'noWdhDay'});
  158.                 days = days.replace('3','');
  159.             }else{
  160.                 record.set({MI:'wdhDay'});
  161.                 days = days.replace('3','');
  162.                 days = days + '3';
  163.             }
  164.            
  165.             if(!picker.down('#Do').isChecked()){
  166.                 record.set({DO:'noWdhDay'});
  167.                 days = days.replace('4','');
  168.             }else{
  169.                 record.set({DO:'wdhDay'});
  170.                 days = days.replace('4','');
  171.                 days = days + '4';
  172.             }
  173.            
  174.             if(!picker.down('#Fr').isChecked()){
  175.                 record.set({FR:'noWdhDay'});
  176.                 days = days.replace('5','');
  177.             }else{
  178.                 record.set({FR:'wdhDay'});
  179.                 days = days.replace('5','');
  180.                 days = days + '5';
  181.             }
  182.            
  183.             if(!picker.down('#Sa').isChecked()){
  184.                 record.set({SA:'noWdhDay'});
  185.                 days = days.replace('6','');
  186.             }else{
  187.                 record.set({SA:'wdhDay'});
  188.                 days = days.replace('6','');
  189.                 days = days + '6';
  190.             }
  191.            
  192.             if(!picker.down('#So').isChecked()){
  193.                 record.set({SO:'noWdhDay'});
  194.                 days = days.replace('7','');
  195.             }else{
  196.                 record.set({SO:'wdhDay'});
  197.                 days = days.replace('7','');
  198.                 days = days + '7';
  199.             }
  200.             record.set({days:days});
  201.            
  202.             if(!picker.down('#aktiv').isChecked()){
  203.                 record.set({checked:'unchecked'});
  204.             }else{
  205.                 record.set({checked:'checked'});
  206.             }
  207.            
  208.             Ext.getStore(steckdosenIndex+"D"+dosenId).sync();
  209.         });
  210.         var startTime = (record.data.startTime).split(':');
  211.         var endTime = (record.data.endTime).split(':');
  212.         editForm.setValue({startTimeHours:parseInt(startTime[0])});
  213.         editForm.setValue({startTimeMinutes:parseInt(startTime[1])});
  214.         editForm.setValue({endTimeHours:parseInt(endTime[0])});
  215.         editForm.setValue({endTimeMinutes:parseInt(endTime[1])});
  216.        
  217.         editForm.down('#Mo').setChecked(false);
  218.         editForm.down('#Di').setChecked(false);
  219.         editForm.down('#Mi').setChecked(false);
  220.         editForm.down('#Do').setChecked(false);
  221.         editForm.down('#Fr').setChecked(false);
  222.         editForm.down('#Sa').setChecked(false);
  223.         editForm.down('#So').setChecked(false);
  224.        
  225.         var days = (record.data.days).split('');   
  226.         for(var i in days){
  227.             var day = days[i];
  228.             switch(day){
  229.                 case "1":
  230.                     editForm.down('#Mo').setChecked(true);
  231.                     break;
  232.                 case "2":
  233.                     editForm.down('#Di').setChecked(true);
  234.                     break;
  235.                 case "3":
  236.                     editForm.down('#Mi').setChecked(true);
  237.                     break;
  238.                 case "4":
  239.                     editForm.down('#Do').setChecked(true);
  240.                     break;
  241.                 case "5":
  242.                     editForm.down('#Fr').setChecked(true);
  243.                     break;
  244.                 case "6":
  245.                     editForm.down('#Sa').setChecked(true);
  246.                     break;
  247.                 case "7":
  248.                     editForm.down('#So').setChecked(true);
  249.                     break;
  250.             }
  251.         }
  252.         // Apply checkbox status from list into selection
  253.         if(record.data.checked == 'checked'){
  254.             editForm.down('#aktiv').setChecked(true);
  255.         }else{
  256.             editForm.down('#aktiv').setChecked(false);
  257.         }
  258.        
  259.         // Show selection
  260.         editForm.show();
  261.     },
Advertisement
Add Comment
Please, Sign In to add comment