initial checkin from subversion
This commit is contained in:
117
transfer.js
Normal file
117
transfer.js
Normal file
@@ -0,0 +1,117 @@
|
||||
var TransferJSRevision="$Revision: 58 $".split(' ')[1]
|
||||
|
||||
function callServerFunction(sFunctionName, ojData, cbSuccess, cbError) {
|
||||
ojData.action=sFunctionName;
|
||||
ojData.ShoppingListName=sGShoppingListName;
|
||||
ojData.BrowserId=sGBrowserId;
|
||||
|
||||
$.ajax
|
||||
({
|
||||
type: "POST",
|
||||
timeout: 120000,
|
||||
url: './shoppinglist.php',
|
||||
dataType: 'json',
|
||||
async: true,
|
||||
//json object to sent to the authentication url
|
||||
data: ojData}).done(cbSuccess).fail(cbError);
|
||||
}
|
||||
|
||||
|
||||
function OnError_callback(response,textstatus)
|
||||
{
|
||||
console.log('[OnError_callback] Error:', response, textstatus);
|
||||
}
|
||||
|
||||
function transferQDispatcher() {
|
||||
updateTransferQCounter();
|
||||
|
||||
db.objectStore("TransferQ").each(function(Qitem){
|
||||
if (Qitem.value.type=="SendEntry") {
|
||||
var EntryId=Qitem.value.data;
|
||||
var TransferQKey=Qitem.key;
|
||||
db.objectStore("Entry").get(Number(EntryId)).done(function(result,event){
|
||||
if (null != result) {
|
||||
var theEntry={"EntryId":EntryId, "TransferQKey":TransferQKey, "Description":result.Description, "shopGlobalId":result.shopGlobalId};
|
||||
callServerFunction("ReceiveEntry",theEntry,deleteQitem,OnError_callback)
|
||||
} else {
|
||||
// this entry no longer exists, maybe the user deleted it before it could be transferred
|
||||
deleteQitem({"TransferQKey":TransferQKey, "Result":"True"});
|
||||
console.log("[transferQDispatcher] Failed to find Q-record from Data :" , Qitem);
|
||||
}
|
||||
}
|
||||
)
|
||||
}
|
||||
|
||||
if (Qitem.value.type=="SendShop") {
|
||||
var ShopKey=Qitem.value.data;
|
||||
var TransferQKey=Qitem.key;
|
||||
db.objectStore("Shop").get(ShopKey).done(function(result,event){
|
||||
if (null != result) {
|
||||
var theShop={"GlobalId":result.GlobalId, "TransferQKey":TransferQKey, "Description":result.Description};
|
||||
callServerFunction("ReceiveShop",theShop,deleteQitem,OnError_callback)
|
||||
} else {
|
||||
// this entry no longer exists, maybe the user deleted it before it could be transferred
|
||||
deleteQitem({"TransferQKey":TransferQKey, "Result":"True"});
|
||||
console.log("[transferQDispatcher] Failed to find Q-record from Data :" , Qitem);
|
||||
}
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
if (Qitem.value.type=="ShopDeletion") {
|
||||
var GlobalId=Qitem.value.data;
|
||||
var TransferQKey=Qitem.key;
|
||||
|
||||
var oData={"TransferQKey":TransferQKey, "GlobalId":GlobalId};
|
||||
callServerFunction("DeleteShop",oData,deleteQitem,OnError_callback)
|
||||
}
|
||||
|
||||
if (Qitem.value.type=="BrandBrowser") {
|
||||
var TransferQKey=Qitem.key;
|
||||
var oData={ "ShoppingListName":Qitem.value.data, "TransferQKey":TransferQKey };
|
||||
callServerFunction("BrandBrowser",oData,deleteQitem,OnError_callback)
|
||||
}
|
||||
|
||||
if (Qitem.value.type=="DeleteEntry") {
|
||||
var TransferQKey=Qitem.key;
|
||||
var oData={"TransferQKey":TransferQKey, "Description":Qitem.value.data.Description, "shopGlobalId":Qitem.value.data.shopGlobalId};
|
||||
callServerFunction("DeleteEntry",oData,deleteQitem,OnError_callback)
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
function deleteQitem(response){
|
||||
if (response.Result == "True") {
|
||||
db.objectStore("TransferQ").delete(Number(response.TransferQKey)).done(function(){
|
||||
updateTransferQCounter();
|
||||
console.log("[deleteQitem] Done SendEntry (" + response.TransferQKey + "): ", response)
|
||||
}).fail(function(result,event){
|
||||
console.log("[deleteQitem] failed deleteQitem (" , response , "): ", response,event)
|
||||
});
|
||||
} else {
|
||||
console.log("[deleteQitem] Failed SendEntry (" + response.TransferQKey + "): " , response);
|
||||
}
|
||||
}
|
||||
|
||||
function addToQ(type,data,unique) {
|
||||
var isUnique=false || unique;
|
||||
var theItem = new Object();
|
||||
theItem.type=type;
|
||||
theItem.data=data;
|
||||
|
||||
if (isUnique) {
|
||||
db.objectStore("TransferQ").index("type").get("GetServerEntries").done(function(result){
|
||||
if (result==null) {
|
||||
db.objectStore("TransferQ").add(theItem).done(function (result){ transferQDispatcher(); });
|
||||
console.log("[addToQ] uniqueAdd added: " , theItem );
|
||||
} else {
|
||||
console.log("[addToQ] uniqueAdd item not added because such typed item already exists: " , theItem);
|
||||
}
|
||||
})
|
||||
} else {
|
||||
db.objectStore("TransferQ").add(theItem).done(function (result){ transferQDispatcher(); });
|
||||
console.log("[addToQ] non-unique Add added: " , theItem);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user