ginebra2/chrome/bedrockchrome/bookmarkview.superpage/bookmarkDialog.js
changeset 12 afcd8e6d025b
parent 3 0954f5dd2cd0
child 14 6aeb7a756187
equal deleted inserted replaced
11:786160610b4d 12:afcd8e6d025b
     1 var _dailogFlag = 0;
     1 var _dailogFlag = 0;
     2 var _OriginalTitle = 0;
     2 var _OriginalTitle = 0;
     3 
     3 
       
     4 document.getElementsByClassName = function(class_name) {
       
     5     var docList = this.all || this.getElementsByTagName('*');
       
     6     var matchArray = new Array();
       
     7 
       
     8     /*Create a regular expression object for class*/
       
     9     var re = new RegExp("(?:^|\\s)"+class_name+"(?:\\s|$)");
       
    10     for (var i = 0; i < docList.length; i++) {
       
    11         if (re.test(docList[i].className) ) {
       
    12             matchArray[matchArray.length] = docList[i];
       
    13         }
       
    14     }
       
    15 
       
    16 	return matchArray;
       
    17 }
       
    18 
     4 function bookmarkDialog()
    19 function bookmarkDialog()
     5 {
    20 {
     6    this.write = writeBookmarkDialog;
    21     this.write = writeBookmarkDialog;
     7 
    22 
     8    // do setup
    23     // do setup
     9     this.write();
    24     this.write();
       
    25 
       
    26     if (app.serviceFramework() == "mobility_service_framework")
       
    27     {
       
    28         document.getElementsByClassName("bookmarkCheckboxTextLabel")[0].style.display = "inline";
       
    29     }
       
    30     
    10 }
    31 }
    11 
    32 
    12 function writeBookmarkDialog()
    33 function writeBookmarkDialog()
    13 {
    34 {
    14     var html =
    35     var html =
    15                '<div class="top"></div>'+
    36                '<div class="top"></div>'+
    16                 '<div class="body">'+
    37                 '<div class="body">'+
    17                    '<div class="bookmarkTextLabel" id="bookmarkDialogTitle">Add Bookmark</div>'+
    38                    '<div class="bookmarkTextLabel" id="bookmarkDialogTitle">Add Bookmark</div>'+
    18                    '<div class="GinebraSnippet" id="BookmarkDialogTitleId" data-GinebraNativeClass="TextEditSnippet" data-GinebraVisible="true"></div>'+ 
    39                    '<div class="GinebraSnippet" id="BookmarkDialogTitleId" data-GinebraNativeClass="TextEditSnippet" data-GinebraVisible="true"></div>'+ 
    19                    '<div class="GinebraSnippet" id="BookmarkDialogUrlId" data-GinebraNativeClass="TextEditSnippet" data-GinebraVisible="true"></div>'+
    40                    '<div class="GinebraSnippet" id="BookmarkDialogUrlId" data-GinebraNativeClass="TextEditSnippet" data-GinebraVisible="true"></div>'+
       
    41                    '<div class="bookmarkCheckboxTextLabel"><input type="checkbox" id="bookmarkCheckboxId"/>Add shortcut to home screen</div>'+
       
    42                    '<div><input type="hidden" id="BookmarkDialogBookmarkId" name="BookmarkDialogBookmarkId" value=""/></div>'+
    20                    '<div class="controls">' +
    43                    '<div class="controls">' +
    21                       '<div type="button"  onmouseup="bookmarkOperation();" class="bookmarkDoneButton"></div>'+     
    44                       '<div type="button"  onmouseup="bookmarkOperation();" class="bookmarkDoneButton"></div>'+     
    22                        '<div type="button" onmouseup="bookmarkDialogIdHide();" class="bookmarkCancelButton"></div>'+  
    45                        '<div type="button" onmouseup="bookmarkDialogIdHide();" class="bookmarkCancelButton"></div>'+  
    23                     '</div>'+ /*controls*/
    46                     '</div>'+ /*controls*/
    24                 '</div>'+  /*body*/
    47                 '</div>'+  /*body*/
    28 
    51 
    29 function bookmarkDialogIdHide(){
    52 function bookmarkDialogIdHide(){
    30     window.snippets.BookmarkDialogId.hide();
    53     window.snippets.BookmarkDialogId.hide();
    31     snippets.BookmarkViewToolbarId.enabled = true;
    54     snippets.BookmarkViewToolbarId.enabled = true;
    32     snippets.WebViewToolbarId.enabled = true;
    55     snippets.WebViewToolbarId.enabled = true;
       
    56     
       
    57     if (app.serviceFramework() == "mobility_service_framework") 
       
    58     {
       
    59         if (document.getElementById("bookmarkCheckboxId").checked)
       
    60         {
       
    61             document.getElementById("bookmarkCheckboxId").checked = false;
       
    62         }
       
    63     }    
    33 }
    64 }
    34 
    65 
    35 function launchBookmarkDialog(bmtitle, bmurl, dialogFlag)
    66 function launchBookmarkDialog(bmtitle, bmurl, bmid, dialogFlag)
    36 {
    67 {
    37     try{
    68     try{
    38         snippets.BookmarkViewToolbarId.enabled = false;
    69         snippets.BookmarkViewToolbarId.enabled = false;
    39         snippets.WebViewToolbarId.enabled = false;
    70         snippets.WebViewToolbarId.enabled = false;
    40 
    71 
    64             window.snippets.BookmarkDialogTitleId.text = bmtitle;    
    95             window.snippets.BookmarkDialogTitleId.text = bmtitle;    
    65   
    96   
    66         if (bmurl == "")
    97         if (bmurl == "")
    67             window.snippets.BookmarkDialogUrlId.text = "Url";
    98             window.snippets.BookmarkDialogUrlId.text = "Url";
    68         else
    99         else
    69            window.snippets.BookmarkDialogUrlId.text = bmurl; 
   100            window.snippets.BookmarkDialogUrlId.text = bmurl;
       
   101         document.getElementById('BookmarkDialogBookmarkId').value = bmid;
    70 
   102 
    71         window.snippets.BookmarkDialogId.show(false);
   103         window.snippets.BookmarkDialogId.show(false);
    72 
   104 
    73         window.snippets.BookmarkDialogTitleId.selectAll();
   105         window.snippets.BookmarkDialogTitleId.selectAll();
    74         
   106         
    75        }catch(e){ alert(e); }
   107        }catch(e){ alert(e); }
    76 
   108 
    77 }
   109 }
    78 
       
    79 
   110 
    80 function bookmarkOperation()
   111 function bookmarkOperation()
    81 {
   112 {
    82     snippets.BookmarkViewToolbarId.enabled = true;
   113     snippets.BookmarkViewToolbarId.enabled = true;
    83     snippets.WebViewToolbarId.enabled = true;
   114     snippets.WebViewToolbarId.enabled = true;
    85     var bmtitle = window.snippets.BookmarkDialogTitleId.text;
   116     var bmtitle = window.snippets.BookmarkDialogTitleId.text;
    86     var bmurl = window.snippets.BookmarkDialogUrlId.text;
   117     var bmurl = window.snippets.BookmarkDialogUrlId.text;
    87     //Hide the dialog
   118     //Hide the dialog
    88     window.snippets.BookmarkDialogId.hide();
   119     window.snippets.BookmarkDialogId.hide();
    89     //Update the database
   120     //Update the database
    90     var errCode;
   121     var errCode = 0;
       
   122     
       
   123     if (app.serviceFramework() == "mobility_service_framework") 
       
   124     {
       
   125         if (document.getElementById("bookmarkCheckboxId").checked)
       
   126         {
       
   127             errCode = window.hsBookmarkPublishClient.addWidget(bmtitle, bmurl);
       
   128             document.getElementById("bookmarkCheckboxId").checked = false;
       
   129         }
       
   130     } 
    91 
   131 
    92     if (_dailogFlag == 0)
   132     if (_dailogFlag == 0) {
    93        errCode = window.bookmarksManager.addBookmark(bmtitle,bmurl);
   133         var bmid = window.bookmarksController.addBookmark(bmtitle,bmurl);
    94     else if (_dailogFlag == 1)
   134         if (bmid < 0) {
    95        errCode = window.bookmarksManager.modifyBookmark(_OriginalTitle,bmtitle,bmurl);
   135             alert("Unknown error adding bookmark");
    96     
   136             return;
       
   137         }
       
   138     }
       
   139     else if (_dailogFlag == 1) {
       
   140         var bmid = document.getElementById('BookmarkDialogBookmarkId').value;
       
   141         errCode = window.bookmarksController.modifyBookmark(bmid,bmtitle,bmurl);
       
   142     }
    97     
   143     
    98     if (errCode == -3){
   144     if (errCode == -3){
    99 	     alert("Bookmark Url Is Empty");
   145 	     alert("Bookmark Url Is Empty");
   100 	     return;
   146 	     return;
   101     }
   147     }
   131 {
   177 {
   132     window.snippets.BookmarkDialogTitleId.unselect();
   178     window.snippets.BookmarkDialogTitleId.unselect();
   133 }
   179 }
   134 
   180 
   135 
   181 
   136 function showBookmarkEditDialog(bmtitle,bmurl) {
   182 function showBookmarkEditDialog(bmtitle,bmurl,id) {
   137     launchBookmarkDialog(bmtitle,bmurl,1);
   183     launchBookmarkDialog(bmtitle,bmurl,id,1);
   138 }
   184 }