Hi All,
I have this application that have call a function pickerView which have to return a date on format [dd][mm][yyyy] after selected.
The problem is, the function does not wait for a button to be clicked to return. It pass trrough the function and returns to the main function with no data.
What do I do to it still waiting for button click event ? :
------------------------------------
Main window:
------------------------------------
Ti.App.Mag = 0;
Ti.App.Manager = 0;
Ti.App.Width = Ti.Platform.displayCaps.platformWidth;
Ti.App.Height = Ti.Platform.displayCaps.platformHeight;
var dbReadConf = require ('db/dbReadConf');
var dbReadVote = require ('db/dbReadVote');
var crChart = require ('crChart');
var config = require ('config');
var pickerView = require('ui/common/pickerView');
var myPickerDate = [];
var applic = require ('applic');
var myArray = [];
var win = Ti.UI.createWindow(
{
backgroundColor: 'white'
});
win.orientationModes = [Ti.UI.LANDSCAPE_LEFT];
var appView = Ti.UI.createView({
backgroundColor: 'D6DDE5',
width: 480,
height:300,
top: 0,
alignment: 'center'
});
var halfAppHeight = Ti.App.Height/4;
var myImage = Ti.UI.createImageView({
width: 480,
height: 150,
top: 10,
alignment: 'center',
image: 'images/Logo.png'
});
appView.add(myImage);
var btnConf = Ti.UI.createButton({
backgroundColor: 'transparent',
borderColor: 'black',
width: 100,
height: 50,
title: 'Config',
left: 80,
bottom:40,
borderRadius: 15
});
appView.add(btnConf);
var btnApplic = Ti.UI.createButton({
backgroundColor: 'transparent',
borderColor: 'black',
width: 100,
height: 50,
title: 'Aplication',
alignment: 'center',
bottom:40,
borderRadius: 15
});
appView.add(btnAplic);
var btnEstat = Ti.UI.createButton({
backgroundColor: 'transparent',
borderColor: 'black',
width: 100,
height: 50,
title: 'Statistic',
right: 80,
bottom:40,
borderRadius: 15
});
appView.add(btnStat);
win.add(appView);
var votes = [];
btnConf.addEventListener('click', function()
{
config();
});
btnAplic.addEventListener('click', function()
{
applic();
});
btnStat.addEventListener('click', function()
{
myPickerDate = pickerView();
votos = dbReadVoto();
crChart(votes);
});
win.addEventListener('open', function(e)
{
win.activity.actionBar.hide();
});
win.open();
------------------------------------------------------
Function :
------------------------------------------------------
function pickerView()
{
var minYear = 2000;
var maxYear = 2025;
var myDateNow = [];
var pickerDate = [];
myDate = getDate();
dd = myDateNow[0];
mm = myDateNow[1];
yyyy = myDateNow[2];
var btn1 = Ti.UI.createButton(
{
height: 40,
width: 60,
font: {fontSize: 12},
title : 'Done !',
borderRadius: 10,
shadowOffset: 3,
top : 120,
});
var date = 0;
var myDate = 0;
var win = Ti.UI.createWindow({
backgroundColor: 'white'
});
win.open();
var dateView = Ti.UI.createView(
{
height : '170',
width : '180',
top: 70,
borderColor: 'black'
});
btn1.addEventListener('click', function()
{
Ti.App.dataPick = pickerDate;
win.close();
});
var picker = Ti.UI.createPicker({
top: 10,
useSpinner: true,
value: new Date()
});
picker.selectionIndicator = true;
picker.addEventListener('change', function(e)
{
pickerDate[0] = e.selectedValue[0];
pickerDate[1] = e.selectedValue[1];
pickerDate[2] = e.selectedValue[2];
});
dateView.add(picker);
dateView.add(btn1);
win.add(dateView);
var days = [ '01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12', '13', '14', '15', '16', '17', '18', '19', '20', '21', '22', '23', '24', '25', '26', '27', '28', '29', '30', '31'];
var months = [ 'Jan', 'Fev', 'Mar', 'Abr', 'Mai', 'Jun', 'Jul', 'Ago', 'Set', 'Out', 'Nov', 'Dez'];
var column1 = Ti.UI.createPickerColumn();
for(var i=0, ilenDays=days.length; i<ilenDays; i++){
var row = Ti.UI.createPickerRow({
title: days[i]
});
column1.addRow(row);
}
var column2 = Ti.UI.createPickerColumn();
for(var i=0, ilenMon=months.length; i<ilenMon; i++){
var row = Ti.UI.createPickerRow({ title: months[i] });
column2.addRow(row);
}
var column3 = Ti.UI.createPickerColumn();
for(var i = minYear; i < maxYear; i++)
{
var row = Ti.UI.createPickerRow({ title: minYear - 2000 + i});
column3.addRow(row);
}
picker.add([column1,column2, column3]);
picker.setSelectedRow(0, dd, false);
picker.setSelectedRow(1, mm, false);
picker.setSelectedRow(2, 15, false);
picker.addEventListener('change', function(e)
{
pickerData[0] = e.selectedValue[0];
pickerData[1] = e.selectedValue[1];
pickerData[2] = e.selectedValue[2];
});
function getDate()
{
var dtHoje = [];
date = new Date();
var dd = date.getDate();
var mm = date.getMonth();
var yyyy = date.getFullYear();
dtHoje[0] = dd;
dtHoje[1] = mm;
dtHoje[2] = yyyy;
return dtHoje;
}
win.addEventListener('load', function(e)
{
picker.setSelectedRow(0, dd, false);
picker.setSelectedRow(1, mm, false);
picker.setSelectedRow(2, 15, false);
});
};
module.exports = pickerView;
Thanks in advance !
↧