diff -r 786160610b4d -r afcd8e6d025b ginebra2/chrome/bedrockchrome/bookmarkview.superpage/bookmarkDialog.js --- a/ginebra2/chrome/bedrockchrome/bookmarkview.superpage/bookmarkDialog.js Wed Sep 01 13:56:21 2010 -0400 +++ b/ginebra2/chrome/bedrockchrome/bookmarkview.superpage/bookmarkDialog.js Fri Sep 17 12:11:40 2010 -0400 @@ -1,12 +1,33 @@ var _dailogFlag = 0; var _OriginalTitle = 0; +document.getElementsByClassName = function(class_name) { + var docList = this.all || this.getElementsByTagName('*'); + var matchArray = new Array(); + + /*Create a regular expression object for class*/ + var re = new RegExp("(?:^|\\s)"+class_name+"(?:\\s|$)"); + for (var i = 0; i < docList.length; i++) { + if (re.test(docList[i].className) ) { + matchArray[matchArray.length] = docList[i]; + } + } + + return matchArray; +} + function bookmarkDialog() { - this.write = writeBookmarkDialog; + this.write = writeBookmarkDialog; + + // do setup + this.write(); - // do setup - this.write(); + if (app.serviceFramework() == "mobility_service_framework") + { + document.getElementsByClassName("bookmarkCheckboxTextLabel")[0].style.display = "inline"; + } + } function writeBookmarkDialog() @@ -17,6 +38,8 @@ '
Add Bookmark
'+ '
'+ '
'+ + '
Add shortcut to home screen
'+ + '
'+ '
' + '
'+ '
'+ @@ -30,9 +53,17 @@ window.snippets.BookmarkDialogId.hide(); snippets.BookmarkViewToolbarId.enabled = true; snippets.WebViewToolbarId.enabled = true; + + if (app.serviceFramework() == "mobility_service_framework") + { + if (document.getElementById("bookmarkCheckboxId").checked) + { + document.getElementById("bookmarkCheckboxId").checked = false; + } + } } -function launchBookmarkDialog(bmtitle, bmurl, dialogFlag) +function launchBookmarkDialog(bmtitle, bmurl, bmid, dialogFlag) { try{ snippets.BookmarkViewToolbarId.enabled = false; @@ -66,7 +97,8 @@ if (bmurl == "") window.snippets.BookmarkDialogUrlId.text = "Url"; else - window.snippets.BookmarkDialogUrlId.text = bmurl; + window.snippets.BookmarkDialogUrlId.text = bmurl; + document.getElementById('BookmarkDialogBookmarkId').value = bmid; window.snippets.BookmarkDialogId.show(false); @@ -76,7 +108,6 @@ } - function bookmarkOperation() { snippets.BookmarkViewToolbarId.enabled = true; @@ -87,13 +118,28 @@ //Hide the dialog window.snippets.BookmarkDialogId.hide(); //Update the database - var errCode; + var errCode = 0; + + if (app.serviceFramework() == "mobility_service_framework") + { + if (document.getElementById("bookmarkCheckboxId").checked) + { + errCode = window.hsBookmarkPublishClient.addWidget(bmtitle, bmurl); + document.getElementById("bookmarkCheckboxId").checked = false; + } + } - if (_dailogFlag == 0) - errCode = window.bookmarksManager.addBookmark(bmtitle,bmurl); - else if (_dailogFlag == 1) - errCode = window.bookmarksManager.modifyBookmark(_OriginalTitle,bmtitle,bmurl); - + if (_dailogFlag == 0) { + var bmid = window.bookmarksController.addBookmark(bmtitle,bmurl); + if (bmid < 0) { + alert("Unknown error adding bookmark"); + return; + } + } + else if (_dailogFlag == 1) { + var bmid = document.getElementById('BookmarkDialogBookmarkId').value; + errCode = window.bookmarksController.modifyBookmark(bmid,bmtitle,bmurl); + } if (errCode == -3){ alert("Bookmark Url Is Empty"); @@ -133,6 +179,6 @@ } -function showBookmarkEditDialog(bmtitle,bmurl) { - launchBookmarkDialog(bmtitle,bmurl,1); +function showBookmarkEditDialog(bmtitle,bmurl,id) { + launchBookmarkDialog(bmtitle,bmurl,id,1); }