waitingBox.append(waitingContent);
contentTransfer.append(waitingBox);
$('#content-start').trigger('create');
- $('#waitingBox').css("display", "table-cell");
this.app.countDown(10, $('#counter'));
+ this.verticalCenter($('#waitingBox'));
},
/**
/**
* @returns {string}
*/
+ showPopupWarning: function ui_showPopupWarning(){
+ setTimeout(function(){
+ $("#contact-nfc-error").popup("open",{"positionTo":"window"});
+ },500);
+ },
+
getTemporaryBoxContentHtml: function ui_getTemporaryBoxContentHtml() {
return '<p class="defaultText">'
+ 'Default card is not defined yet!<br/>'
* @param {string} lastName
* @returns {string}
*/
- getCommentHtml: function ui_getCommentHtml(firstName, lastName) {
- var html = '<div id="comment">'
+ getCommentHtml: function ui_getCommentHtml(data) {
+ return '<div id="comment">'
+ '<p class="comment">Your default contact</p>'
+ '<p class="comment" id="comment-name">'
- + (firstName || '') + ' ' + (lastName || '')
- + '</p>'
+ + data.caller + '</p>'
+ + '<p class="comment" id="comment-phone">'
+ + data.phoneNumber + '</p>'
+ '</div>';
- return html;
},
/**
*/
readFromCard: function ui_readFromCard(event) {
event.preventDefault();
- $('#transfer').data('option', 'read');
- $.mobile.changePage('#transfer');
+ if (tizen.nfc.getDefaultAdapter().powered) {
+ try {
+ $('#transfer').data('option', 'read');
+ $.mobile.changePage('#transfer');
+ } catch (e) {
+ console.error(e.message);
+ }
+ } else {
+ $.mobile.changePage('#start');
+ alert('Please turn on NFC adapter');
+ }
},
/**
*/
writeToCard: function ui_writeToCard(event) {
event.preventDefault();
- $('#transfer').data('option', 'write');
- $.mobile.changePage('#transfer');
+ if (tizen.nfc.getDefaultAdapter().powered) {
+ try {
+ $('#transfer').data('option', 'write');
+ $.mobile.changePage('#transfer');
+ } catch (e) {
+ console.error(e.message);
+ }
+ } else {
+ alert('Please turn on NFC adapter');
+ }
},
/**
*/
communicateWithOtherDevice: function ui_communicateWithOtherDevice(event) {
event.preventDefault();
- $('#transfer').data('option', 'communicate');
- $.mobile.changePage('#transfer');
+ if (tizen.nfc.getDefaultAdapter().powered) {
+ try {
+ $('#transfer').data('option', 'communicate');
+ $.mobile.changePage('#transfer');
+ } catch (e) {
+ console.error(e.message);
+ }
+ } else {
+ alert('Please turn on NFC adapter');
+ }
},
/**
contentStart = $('#content-start');
startBox = $('<div class="box" id="startBox"></div>');
gap = $('<div class="gap"></div>');
- comment = $(this.getCommentHtml(localStorage.firstName, localStorage.lastName));
+ comment = $(this.getCommentHtml(localStorage));
contentStart.empty();
startBox
} else {
this.loadStartContent();
}
+ $.mobile.activePage.page('refresh');
+ $('#start, #content-start').css("min-height", 0);
},
/**
*/
getContactsListElement: function ui_getContactsListElement(contact) {
var html =
- '<li class="ui-li-multiline" firstName="' + contact.firstName
- + '" lastName="' + contact.lastName +
- '" phoneNumber="' + contact.phoneNumber +
- '" id="' + contact.id +
- '" vCard="' + contact.vCard + '">'
+ '<li class="ui-li-multiline">'
+ '<a href="#">' + contact.caller
+ '<span class="ui-li-text-sub">' +
contact.phoneNumber
len,
listElement,
listElementTap,
- self = this;
+ self = this,
+ contact;
listElementTap = function (event) {
event.preventDefault();
};
for (i = 0, len = sortedContactList.length; i < len; i += 1) {
- listElement = $(this.getContactsListElement(sortedContactList[i]));
- if (localStorage.id === listElement.attr('id')) {
- listElement.addClass('selected');
+ contact = sortedContactList[i];
+ if (contact.phoneNumber !== '') {
+ listElement = $(this.getContactsListElement(contact));
+ listElement
+ .data('caller', contact.caller)
+ .data('firstName', contact.firstName)
+ .data('lastName', contact.lastName)
+ .data('phoneNumber', contact.phoneNumber)
+ .data('id', contact.id)
+ .data('vCard', contact.vCard);
+ if (localStorage.id === listElement.data('id')) {
+ listElement.addClass('selected');
+ }
+ ul.append(listElement);
}
- ul.append(listElement);
}
ul.on('tap taphold', 'li', listElementTap);
return ul;
$.mobile.changePage('#start');
},
+ isActivePage: function ui_isActivePage(id) {
+ return (id === $.mobile.activePage.attr("id"));
+ },
+
+ refreshIfActivePage: function ui_refreshIfActivePage(id) {
+ if (this.isActivePage(id)) {
+ $.mobile.activePage.trigger("pageshow");
+ }
+ },
+
moveToContactPage: function ui_moveToContactPage(obj) {
$('#start').data('monit', '');
$('#contact').data('contactsData', obj);
$.mobile.tizen.disableSelection(document);
},
+ verticalCenter: function (obj) {
+ var marginTop = ($(window).height()
+ - $('[data-role=header]:visible').height()
+ - $('[data-role=footer]:visible').height()
+ - obj.outerHeight())/2;
+ if (parseInt(obj.css('margin-top'), 10) !== marginTop) {
+ obj.hide().css('margin-top', marginTop).show();
+ }
+ },
+
defineEvents: function ui_defineEvents() {
var self = this;
self.app.nfc.stopNFC();
});
+ $('#header-start').on('click', '.ui-btn-back.ui-focus', function () {
+ return false;
+ });
+
$('#footer-contact').on('tap', '.ui-btn-back', function (event) {
event.preventDefault();
$.mobile.changePage('#start');
if (self.app.started) {
self.loadStartPage();
}
+ self.verticalCenter($('#startBox'));
});
$('#start').on('pageshow', function () {
- var monit, obj, contentStart, contentStartHeight;
- obj = $(this);
- monit = obj.data('monit');
+ var obj = $(this), monit = obj.data('monit');
if (monit !== '' && monit !== undefined) {
self.showPopup(obj.data('monit'), obj);
}
- contentStart = $('#content-start');
+ });
- if (contentStart.height() > $(window).height()) {
- contentStartHeight = $(window).height() - $('#header-start').height()
- - parseInt(contentStart.css('padding-top'), 10) - parseInt(contentStart.css('padding-bottom'), 10);
- } else {
- contentStartHeight = contentStart.height();
+ $('#start').one('pageshow', function () {
+ setTimeout(function () {
+ self.verticalCenter($('#startBox'));
+ }, 20);
+ });
+ $( "#contact-nfc-error" ).bind({
+ popupafterclose: function(){
+ tizen.application.getCurrentApplication().exit();
}
- setTimeout(function () { // workaround (setTimeout with 0 delay)
- contentStart
- .css('height', contentStartHeight + 'px')
- .css('min-height', 'auto')
- obj.css('min-height', 'auto');
- }, 0);
});
- $('#transfer').on('pageshow', function () {
- var contentTransfer = $('#content-transfer');
- contentTransfer.css('width', contentTransfer.width() + 'px');
- setTimeout(function () { // workaround (setTimeout with 0 delay)
- contentTransfer.css('height', contentTransfer.css('min-height'));
- }, 0);
+ document.addEventListener('tizenhwkey', function(e) {
+ if (e.keyName == "back") {
+ if ($.mobile.activePage.attr('id') === 'start') {
+ tizen.application.getCurrentApplication().exit();
+ } else {
+ self.app.nfc.timeExpired();
+ }
+ }
+ });
+
+ document.addEventListener('webkitvisibilitychange', function () {
+ if(document.webkitVisibilityState === "visible") {
+ if ($.mobile.activePage.attr('id') === "choose") {
+ $.mobile.activePage.trigger('pageshow');
+ }
+ }
});
$('#transfer').on('pageshow', function () {
try {
var option = $(this).data('option');
if (option === 'read') {
- self.prepareWaitingPage('Card to Device', 'PUT WIRELESS TAG<br>CLOSE TO<br>YOUR DEVICE');
+ self.prepareWaitingPage('Card to device', 'PUT WIRELESS TAG<br>CLOSE TO<br>YOUR DEVICE');
self.app.nfc.card.setTagDetectRead();
} else if (option === 'write') {
- self.prepareWaitingPage('Device to Card', 'PUT WIRELESS TAG<br>CLOSE TO<br>YOUR DEVICE');
+ self.prepareWaitingPage('Device to card', 'PUT WIRELESS TAG<br>CLOSE TO<br>YOUR DEVICE');
self.app.nfc.card.setTagDetectWrite();
} else {
- self.prepareWaitingPage('Device to Device', 'PUT YOUR DEVICE<br>CLOSE TO<br>OTHER DEVICE');
+ self.prepareWaitingPage('Device to device', 'PUT YOUR DEVICE<br>CLOSE TO<br>OTHER DEVICE');
self.app.nfc.peer.setTargetDetect();
}
} catch (e) {