Guest User

Untitled

a guest
May 21st, 2018
135
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.51 KB | None | 0 0
  1. public with sharing class ContactController {
  2.  
  3. @AuraEnabled
  4. public static List<Contact> getList() {
  5. return [SELECT id, name, phone FROM Contact LIMIT 50];
  6. }
  7.  
  8. <aura:component controller="ContactController">
  9.  
  10. <aura:attribute name="contacts" type="Contact[]"/>
  11. <aura:handler name="init" value="{!this}" action="{!c.doInit}" />
  12.  
  13. <ul>
  14. <aura:iteration items="{!v.contacts}" var="contact">
  15. <li>
  16. <a href="javascript:void(0)" data-contactId="{!contact.Id}" onclick="{!c.customRedirect}">{!contact.Name}</a>
  17. </li>
  18. </aura:iteration>
  19. </ul>
  20.  
  21. ({
  22. doInit : function(component, event) {
  23. var action = component.get("c.getList");
  24. action.setCallback(this, function(a) {
  25. component.set("v.contacts", a.getReturnValue());
  26. });
  27. $A.enqueueAction(action);
  28. },
  29. customRedirect : function (component, event){
  30.  
  31. var selectedItem = event.currentTarget;
  32. var selectedId = selectedItem.dataset.contactId;
  33.  
  34. console.log("selected ID = "+selectedId);
  35.  
  36. var navEvt = $A.get("e.force:navigateToSObject");
  37. navEvt.setParams({
  38.  
  39. "recordId": selectedId,
  40.  
  41. "slideDevName": "detail"
  42.  
  43. });
  44.  
  45. navEvt.fire();
  46.  
  47. },
  48. })
  49.  
  50. <li>
  51. <a href="javascript:void(0)" onmouseover="{!c.openPop}" onmouseout="{!c.closePop}">Contact Record</a></li>
  52. <section aura:id="pop" class="slds-popover slds-nubbin_top slds-hide" role="dialog" aria-labelledby="dialog-heading-id-1" aria-describedby="dialog-body-id-6">
  53. <button class="slds-button slds-button_icon slds-button_icon-small slds-float_right slds-popover__close slds-button_icon-inverse" title="Close dialog" onclick="{!c.closePop}">
  54. X
  55. <span class="slds-assistive-text">Close dialog</span>
  56. </button>
  57. <header class="slds-popover__header slds-p-vertical_medium">
  58. <h2 id="dialog-heading-id-1" class="slds-text-heading_medium">Your Card Header</h2>
  59. </header>
  60. <div class="slds-popover__body" id="dialog-body-id-6">
  61. <p>Your card body</p>
  62. </div>
  63. <footer class="slds-popover__footer">
  64. </footer>
  65. </section>
  66.  
  67. openPop : function(component, event, helper) {
  68. var cmpTarget = component.find('pop');
  69. $A.util.addClass(cmpTarget, 'slds-show');
  70. $A.util.removeClass(cmpTarget, 'slds-hide');
  71.  
  72. },
  73.  
  74. closePop : function(component, event, helper) {
  75. var cmpTarget = component.find('pop');
  76. $A.util.addClass(cmpTarget, 'slds-hide');
  77. $A.util.removeClass(cmpTarget, 'slds-show');
  78.  
  79. }
Add Comment
Please, Sign In to add comment