747. Araxis Merge File Comparison Report

Produced by Araxis Merge on 2/1/2017 2:57:01 PM Eastern Standard Time. See www.araxis.com for information about Merge. This report uses XHTML and CSS2, and is best viewed with a modern standards-compliant browser. For optimum results when printing this report, use landscape orientation and enable printing of background images and colours in your browser.

747.1 Files compared

# Location File Last Modified
1 C:\Araxis_Merge_Comprasion\Pub_un\BTSSS_CIF_122016.zip\BTSSS_CIF_12_20_16\clean\CRM\trunk\SDK\SampleCode\JS\RESTEndpoint\RESTJQueryContactEditor\RESTJQueryContactEditor RESTJQueryContactEditor.htm Tue Dec 20 19:51:48 2016 UTC
2 Wed Feb 1 19:57:01 2017 UTC

747.2 Comparison summary

Description Between
Files 1 and 2
Text Blocks Lines
Unchanged 0 0
Changed 0 0
Inserted 0 0
Removed 1 489

747.3 Comparison options

Whitespace
Character case Differences in character case are significant
Line endings Differences in line endings (CR and LF characters) are ignored
CR/LF characters Not shown in the comparison detail

747.4 Active regular expressions

No regular expressions were active.

747.5 Comparison detail

1   <!DOCTYPE  html>        
2   <!--        
3   // ======= ========== ========== ========== ========== ========== ========== ==        
4   //  This f ile is par t of the M icrosoft D ynamics CR M SDK code  samples.        
5   //        
6   //  Copyri ght (C) Mi crosoft Co rporation.   All righ ts reserve d.        
7   //        
8   //  This s ource code  is intend ed only as  a supplem ent to Mic rosoft        
9   //  Develo pment Tool s and/or o n-line doc umentation .  See the se other        
10   //  materi als for de tailed inf ormation r egarding M icrosoft c ode sample s.        
11   //        
12   //  THIS C ODE AND IN FORMATION  ARE PROVID ED "AS IS"  WITHOUT W ARRANTY OF  ANY        
13   //  KIND,  EITHER EXP RESSED OR  IMPLIED, I NCLUDING B UT NOT LIM ITED TO TH E        
14   //  IMPLIE D WARRANTI ES OF MERC HANTABILIT Y AND/OR F ITNESS FOR  A        
15   //  PARTIC ULAR PURPO SE.        
16   // ======= ========== ========== ========== ========== ========== ========== ==        
17   -->        
18   <html lang ="en-us">        
19   <head>        
20       <title >REST JQue ry Contact  Editor</t itle>        
21    <meta htt p-equiv="X -UA-Compat ible" cont ent="IE=ed ge" />        
22       <!-- / WebResourc es/ClientG lobalConte xt.js.aspx  is access ed using a  relative  path        
23          bec ause the n ame of the  Web Resou rce create d from thi s file is  "sample_/R ESTJQueryC ontactEdit or.htm".        
24          The  use of th e backslas h within t he name cr eates a vi rtual fold er that mu st be cons idered        
25          in  relative l inks betwe en Web Res ources.        
26          -->        
27       <scrip t type="te xt/javascr ipt" src=" ../ClientG lobalConte xt.js.aspx "></script >        
28       <scrip t src="Scr ipts/jquer y_1.9.1.mi n.js"></sc ript>        
29       <scrip t src="Scr ipts/RESTJ QueryConta ctEditor.j s" type="t ext/javasc ript"></sc ript>        
30       <scrip t language ="javascri pt" type=" text/javas cript">        
31          
32           //  <![CDATA[        
33          
34           // Variable t o hold ref erence to  a table ro w between  ajax call  and callba ck        
35           va r TMP_ROW  = null;        
36          
37           // Clicks the  search bu tton when  the docume nt loads s o that the  first set  of        
38           //  up to 50  records is  retrieved .        
39           $( document). ready(Sear chButton_o nclick);        
40          
41           // ********** ********** ******* EV ENT HANDLE RS ******* ********** ********** ***        
42          
43           // Search But ton Event  Handler        
44           fu nction Sea rchButton_ onclick()        
45           {        
46          
47                var sear chValue =  $("#txtSea rch").val( );        
48          
49                //Search  where Ful lName cont ains searc h text        
50                if (sear chValue !=  "")        
51                {        
52          
53                    retr ieveMultip le("Contac tSet", "su bstringof( '" +        
54                                      searchVa lue + "',F ullName)",  SearchCom pleted, nu ll);        
55                }        
56                    //Re trieve all  Contacts        
57                else        
58                {        
59          
60                    retr ieveMultip le("Contac tSet", nul l, SearchC ompleted,  null);        
61                }        
62           }        
63           // New Button  Event Han dler        
64           fu nction New Button_onc lick()        
65           {        
66          
67                //Create  a new Con tact objec t        
68                var cont act = Crea teNewConta ct();        
69          
70                //Add a  new row to  the table  using thi s Contact.        
71                CreateNe wRow(conta ct, true);        
72           }        
73          
74           // ********** ********** ******* CA LLBACK FUN CTIONS *** ********** ********** *******        
75          
76           // Callback -  Search Su ccess        
77           fu nction Sea rchComplet ed(data, t extStatus,  XmlHttpRe quest)        
78           {        
79          
80                //Clear  out all Co ntacts in  the grid.        
81                EmptyTab le();        
82          
83                //Re-pop ulate the  grid with  results, i f any        
84                if (data  && data.l ength > 0)        
85                {        
86          
87                    //Hi de the emp ty message        
88                    Hide EmptyRow() ;        
89          
90                    for  (var i = 0 ; i < data .length; i ++)        
91                    {        
92          
93                         //Generate s all the  HTML for a  new row a nd populat es        
94                         //it with  data based  on the Co ntact obje ct        
95                         CreateNewR ow(data[i] );        
96                    }        
97                    aler t(data.len gth + " Co ntact reco rd(s) retr ieved.");        
98                }        
99                    //Or  display t he empty t able messa ge if no r esults        
100                else        
101                {        
102          
103                    Show EmptyRow() ;        
104                    aler t("No Cont act record (s) retrie ved.");        
105                }        
106           }        
107           // Callback -  Delete Su ccess        
108           fu nction Del eteContact Completed( data, text Status, Xm lHttpReque st)        
109           {        
110                alert("C ontact del eted.");        
111           }        
112           // Callback -  Delete Fa ilure        
113           fu nction Del eteContact Errored(da ta, textSt atus, erro rThrown)        
114           {        
115                alert("F ailed to d elete Cont act.");        
116           }        
117           // Callback -  Update Su ccess        
118           fu nction Con tactUpdate Completed( data, text Status, Xm lHttpReque st)        
119           {        
120          
121                TMP_ROW  = null;        
122          
123                //Enable  all butto ns        
124            / /$(":butto n").attr(' disabled',  '');        
125                $(":butt on").remov eAttr("dis abled");        
126          
127                alert("U pdate comp lete.");        
128           }        
129           // Callback -  Create Su ccess        
130           fu nction Con tactCreate Completed( data, text Status, Xm lHttpReque st)        
131           {        
132          
133                //Update  the Conta ct row wit h the Cont actId so f uture user  actions        
134                //on thi s row oper ate correc tly. (Upda te vs. Cre ate)        
135                if (TMP_ ROW && dat a && data. ContactId)        
136                {        
137          
138                    //Se t the Cont actId        
139                    $(TM P_ROW).fin d("#Contac tId").attr ("value",  data.Conta ctId);        
140          
141                    //Se t the Link  column        
142                    $(TM P_ROW).fin d("#Record Link").htm l("<a targ et=\"_blan k\" href=\ "" +        
143                                          clie ntUrl + "/ main.aspx? etn=contac t&id=%7b"  + data.Con tactId +        
144                                          "%7d &pagetype= entityreco rd\">View< /a>");        
145                }        
146          
147                //Enable  all butto ns        
148                //$(":bu tton").att r('disable d', '');        
149                $(":butt on").remov eAttr("dis abled");        
150          
151                TMP_ROW  = null;        
152          
153                alert("C reate comp lete.");        
154           }        
155           // Callback -  Create Fa ilure        
156           fu nction Con tactCreate Failed(dat a, textSta tus, error Thrown)        
157           {        
158          
159                //Enable  all butto ns        
160                $(":butt on").remov eAttr("dis abled");        
161          
162                TMP_ROW  = null;        
163          
164                alert("F ailed to c reate Cont act...");        
165           }        
166          
167           // ********** ********** ******* HE LPER FUNCT IONS ***** ********** ********** *****        
168          
169           // Accepts a  contact ob ject, gene rates a ne w row in t he table,        
170           // and wires  up event h andlers fo r buttons  in the row        
171           fu nction Cre ateNewRow( contact, f romNewButt on)        
172           {        
173          
174                if (cont act)        
175                {        
176                    //Hi de the "Em pty Messag e" row        
177                    $("T R.EmptyRow ").hide();        
178          
179                    //Ge nerate a n ew row        
180                    ;        
181          
182                    var  row = $("< tr class=' RecordRow'  />");        
183                    row. append($(" <td><span  id='Record Link'>N/A< /span></td >"));        
184                    row. append($(" <td><input  type='tex t' id='Fir stName' st yle='width : 100px;'  /></td>")) ;        
185                    row. append($(" <td><input  type='tex t' id='Las tName' sty le='width:  100px;' / ></td>"));        
186                    row. append($(" <td><input  type='tex t' id='Tel ephone1' s tyle='widt h: 70px;'  /></td>")) ;        
187                    row. append($(" <td><input  type='tex t' id='EMa ilAddress1 ' style='w idth: 100p x;' /></td >"));        
188                    row. append($(" <td><input  type='tex t' id='Add ress1_Line 1' style=' width: 100 px;' /></t d>"));        
189                    row. append($(" <td><input  type='tex t' id='Add ress1_City ' style='w idth: 70px ;' /></td> "));        
190                    row. append($(" <td><input  type='tex t' id='Add ress1_Stat eOrProvinc e' style=' width: 60p x;' /></td >"));        
191                    row. append($(" <td><input  type='tex t' id='Add ress1_Post alCode' st yle='width : 50px;' / ></td>"));        
192                    row. append($(" <td><input  type='but ton' id='S aveButton'  title='Cl ick to sav e changes  to the rec ord.' styl e='width:  50px; marg in-left: 5 px;' value ='Save' /> </td>"));        
193                    row. append($(" <td><input  type='but ton' id='D eleteButto n' title=' Click to r emove the  record fro m the syst em.' style ='width: 5 0px; margi n-left: 5p x;' value= 'Delete' / ></td>"));        
194                    row. append($(" <td  style ='display:  none'><in put type=' text' id=' ContactId'   /></td>" ));        
195          
196                    if ( fromNewBut ton && $(" #ContactTa bleBody"). children() .first())        
197                    {        
198                         //Add it t o the top        
199                         $("#Contac tTableBody ").childre n().first( ).before(r ow);        
200          
201                    }        
202                    else        
203                    {        
204                         //Add it t o the bott om        
205                         $("#Contac tTableBody ").append( row);        
206                    }        
207          
208                    //Se t table fi elds from  contact        
209                    if ( contact.Co ntactId)        
210                    {        
211                         row.find(" #ContactId ").attr("v alue", con tact.Conta ctId);        
212                         //Set the  Link colum n        
213                         row.find(" #RecordLin k").html(" <a target= \"_blank\"  href=\""  +        
214                                             c lientUrl +  "/main.as px?etn=con tact&id=%7 b" + conta ct.Contact Id +        
215                                             " %7d&pagety pe=entityr ecord\">Vi ew</a>");        
216                    }        
217                    if ( contact.Fi rstName)        
218                         row.find(" #FirstName ").attr("v alue", con tact.First Name);        
219                    if ( contact.La stName)        
220                         row.find(" #LastName" ).attr("va lue", cont act.LastNa me);        
221                    if ( contact.Te lephone1)        
222                         row.find(" #Telephone 1").attr(" value", co ntact.Tele phone1);        
223                    if ( contact.EM ailAddress 1)        
224                         row.find(" #EMailAddr ess1").att r("value",  contact.E MailAddres s1);        
225                    if ( contact.Ad dress1_Lin e1)        
226                         row.find(" #Address1_ Line1").at tr("value" , contact. Address1_L ine1);        
227                    if ( contact.Ad dress1_Cit y)        
228                         row.find(" #Address1_ City").att r("value",  contact.A ddress1_Ci ty);        
229                    if ( contact.Ad dress1_Sta teOrProvin ce)        
230                         row.find(" #Address1_ StateOrPro vince").at tr("value" , contact. Address1_S tateOrProv ince);        
231                    if ( contact.Ad dress1_Pos talCode)        
232                         row.find(" #Address1_ PostalCode ").attr("v alue", con tact.Addre ss1_Postal Code);        
233          
234          
235                    //Wi re up the  SaveButton  event han dler        
236                    row. find("#Sav eButton"). click(func tion ()        
237                    {        
238          
239                         //Figure o ut what ro w the Save Button bel ongs to        
240                         var contac tRow = $(t his).paren t().parent ();        
241          
242                         //Store th e row in a  temporary  buffer so  we know w hich to up date in th e callback  method.        
243                         TMP_ROW =  contactRow ;        
244          
245                         //Disable  all button s so the u ser can't  invoke oth er actions        
246                         $(":button ").prop('d isabled',  true);        
247          
248                         //Create a  new Conta ct object  by extract ing data f rom the ro w        
249                         var contac tObject =  ExtractCon tactFromRo w(contactR ow);        
250          
251                         //The cont actObject  won't have  a Contact Id unless  its stored  in CRM al ready        
252                         if (contac tObject.Co ntactId &&  contactOb ject.Conta ctId != nu ll)        
253                         {        
254          
255                             //Upda te the CRM  record        
256                             update Record(con tactObject .ContactId , contactO bject, "Co ntactSet",  ContactUp dateComple ted, null) ;        
257                         }        
258                         else        
259                         {        
260          
261                             //Crea te the CRM  record        
262                             create Record(con tactObject , "Contact Set", Cont actCreateC ompleted,  ContactCre ateFailed) ;        
263                         }        
264                    });        
265          
266                    //Wi re up the  DeleteButt on event h andler        
267                    row. find("#Del eteButton" ).click(fu nction ()        
268                    {        
269          
270                         var confir mAnswer =  confirm("A re you sur e you want  to delete  this cont act?");        
271          
272                         if (confir mAnswer)        
273                         {        
274                             var co ntactRow =  $(this).p arent().pa rent();        
275          
276                             //Stor e the row  in a tempo rary buffe r so we kn ow which t o update i n the call back metho d.        
277                             TMP_RO W = contac tRow;        
278          
279                             //Crea te a new C ontact obj ect by ext racting da ta from th e row.        
280                             var co ntactObjec t = Extrac tContactFr omRow(cont actRow);        
281          
282                             //If t he Contact  has a Con tactId, De lete it fr om CRM and  delete th e row        
283                             if (co ntactObjec t.ContactI d && conta ctObject.C ontactId ! = null)        
284                             {        
285          
286                                 // Delete the  record fr om CRM        
287                                 de leteRecord (contactOb ject.Conta ctId, "Con tactSet",  DeleteCont actComplet ed, null);        
288          
289                                 // Delete the  Row        
290                                 co ntactRow.r emove();        
291                             }        
292                                 // If no Cont actId, onl y delete t he row.        
293                             else        
294                             {        
295          
296                                 // Delete the  Row        
297                                 co ntactRow.r emove();        
298                             }        
299                         }        
300                    });        
301                }        
302           }        
303           // Accepts a  row and re turns a Co ntact obje ct        
304           fu nction Ext ractContac tFromRow(r ow)        
305           {        
306                var cont act = new  Object();        
307          
308                //This ' if' statem ent is nec essary bec ause witho ut it, if  the Contac t        
309                //is pas sed to the  createRec ord functi on, the fu nction wil l try to p arse        
310                //an emp ty Guid an d fail upo n Create        
311                if (row. find("#Con tactId").v al())        
312                {        
313          
314                    cont act.Contac tId = row. find("#Con tactId").v al();        
315                }        
316          
317                contact. FirstName  = row.find ("#FirstNa me").val() ;        
318                contact. LastName =  row.find( "#LastName ").val();        
319                contact. Telephone1  = row.fin d("#Teleph one1").val ();        
320                contact. EMailAddre ss1 = row. find("#EMa ilAddress1 ").val();        
321                contact. Address1_L ine1 = row .find("#Ad dress1_Lin e1").val() ;        
322                contact. Address1_C ity = row. find("#Add ress1_City ").val();        
323                contact. Address1_S tateOrProv ince = row .find("#Ad dress1_Sta teOrProvin ce").val() ;        
324                contact. Address1_P ostalCode  = row.find ("#Address 1_PostalCo de").val() ;        
325          
326                return c ontact;        
327           }        
328           // Instantiat es and ret urns an em pty contac t object        
329           fu nction Cre ateNewCont act()        
330           {        
331          
332                //Each o f these co ntact fiel ds are nam ed as they  appear in  the Odata  metadata.        
333                var cont act = new  Object();        
334          
335                contact. FirstName  = "Firstna me";        
336                contact. LastName =  "Lastname ";        
337                contact. Telephone1  = null;        
338                contact. EMailAddre ss1 = null ;        
339                contact. Address1_L ine1 = nul l;        
340                contact. Address1_C ity = null ;        
341                contact. Address1_S tateOrProv ince = nul l;        
342                contact. Address1_P ostalCode  = null;        
343                contact. ContactId  = null;        
344          
345                return c ontact;        
346           }        
347           // Hides the  row with t he empty m essage in  Contacts t able        
348           fu nction Hid eEmptyRow( )        
349           {        
350          
351                if ($("T R.EmptyRow ")[0])        
352                {        
353                    $("T R.EmptyRow ").hide();        
354                }        
355           }        
356          
357           // Shows the  row with t he empty m essage in  Contacts t able        
358           fu nction Sho wEmptyRow( )        
359           {        
360                if ($("T R.EmptyRow ")[0])        
361                {        
362                    $("T R.EmptyRow ").show();        
363                }        
364                else        
365                {        
366                    var  emptyRow =  $("<tr id ='EmptyRow ' class='E mptyRow'>< td colspan ='12' styl e='text-al ign:center ;'><span>N o Contact  records ar e availabl e in this  view.</spa n></td></t r>")        
367                    $("# ContactTab leBody").a ppend(empt yRow);        
368          
369                }        
370          
371           }        
372          
373           // Removes al l the Cont act rows f rom the ta ble        
374           fu nction Emp tyTable()        
375           {        
376          
377                //Clear  out the Co ntact tabl e's rows t hat have a ttribute c lass=Recor dRow        
378                //These  are the on es that co ntain Cont act record  data.        
379                $("TR.Re cordRow"). remove();        
380           }        
381          
382           //  ]]>        
383          
384       </scri pt>        
385       <style  type="tex t/css">        
386           #C ontactTabl e {        
387                border:  none;        
388                border-s pacing: 0p x;        
389                border-w idth: 0px;        
390                font-fam ily: Arial ;        
391                font-siz e: 10;        
392                margin-t op: 10px;        
393                border-c ollapse: c ollapse;        
394                table-la yout: auto ;        
395           }        
396          
397                #Contact Table td {        
398                    bord er-width:  1px;        
399                    bord er-style:  none;        
400                    marg in: 1px;        
401                }        
402          
403                #Contact Table th {        
404                    bord er-width:  1px;        
405                    padd ing: 1px;        
406                    bord er-style:  none;        
407                    marg in: 1px;        
408                    font -family: A rial;        
409                }        
410          
411                #Contact Table INPU T[type="te xt"] {        
412                    bord er-width:  1px;        
413                    padd ing: 1px;        
414                    bord er-style:  none;        
415                    marg in: 0;        
416                }        
417          
418                #Contact Table INPU T[type="bu tton"] {        
419                    bord er-width:  1px;        
420                    bord er-style:  outset;        
421                }        
422          
423           bo dy {        
424                backgrou nd: lightb lue;        
425                font-fam ily: Segoe  UI;        
426           }        
427       </styl e>        
428   </head>        
429   <body>        
430       <h1>RE ST JQuery  Contact Ed itor Sampl e</h1>        
431       <p>        
432           Th is page re quires Jav aScript an d will upd ate dynami cally.        
433       </p>        
434       <h3 st yle="font- family: Ar ial;">        
435           Se arch for C ontacts by  Name        
436       </h3>        
437       <div>        
438           <l abel for=" txtSearch"  style="fo nt-family:  Arial;">        
439                Name:        
440           </ label>        
441           <i nput type= "text" sty le="width:  200px;" i d="txtSear ch" />        
442           <i nput type= "button" i d="SearchB utton" val ue="Search " title="C lick to se arch conta cts by nam e" style=" width: 80p x;" onclic k="return  SearchButt on_onclick ()" />        
443           <i nput type= "button" i d="NewButt on" value= "New Conta ct" title= "Click to  create new  contact r ecord" sty le="width:  90px;" on click="ret urn NewBut ton_onclic k()" />        
444       </div>        
445       <div>        
446           <t able id="C ontactTabl e" summary ="This tab le display s contact  records wi th respect ive action s to view,  update, d elete each  record.">        
447                <thead>        
448                    <tr>        
449                         <th></th>        
450                         <th scope= "col">        
451                             First  Name        
452                         </th>        
453                         <th scope= "col">        
454                             Last N ame        
455                         </th>        
456                         <th scope= "col">        
457                             Phone        
458                         </th>        
459                         <th scope= "col">        
460                             Email        
461                         </th>        
462                         <th scope= "col">        
463                             Street        
464                         </th>        
465                         <th scope= "col">        
466                             City        
467                         </th>        
468                         <th scope= "col">        
469                             State        
470                         </th>        
471                         <th scope= "col">        
472                             ZIP        
473                         </th>        
474                         <th scope= "col">        
475                             Save        
476                         </th>        
477                         <th scope= "col">        
478                             Delete        
479                         </th>        
480                         <th style= "display:  none" scop e="col">        
481                             Contac tId        
482                         </th>        
483                    </tr >        
484                </thead>        
485                <tbody i d="Contact TableBody" ></tbody>        
486           </ table>        
487       </div>        
488   </body>        
489   </html>