Guest User

Untitled

a guest
Apr 19th, 2018
228
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.80 KB | None | 0 0
  1. <aura:application extends="force:slds">
  2.  
  3. <aura:attribute name="renderLtngDataTable" type="Boolean" default="false"/>
  4. <aura:attribute name="selectedRecords" type="List" default="[]" />
  5. <aura:attribute name="mydata" type="Object"/>
  6. <aura:attribute name="mycolumns" type="List"/>
  7. <aura:handler name="init" value="{! this }" action="{! c.init }"/>
  8.  
  9.  
  10. <aura:if isTrue="{!v.renderLtngDataTable}">
  11. <lightning:card title="Demo">
  12. <aura:set attribute="actions">
  13. <lightning:button label="cancel" variant="brand" onclick="{!c.cancel}"/>
  14. </aura:set>
  15. <lightning:datatable aura:id="ltngCmp" data="{! v.mydata }"
  16. columns="{! v.mycolumns }"
  17. keyField="Id"
  18.  
  19. onrowselection="{! c.getSelectedName }"/>
  20. </lightning:card>
  21.  
  22. <aura:set attribute="else">
  23.  
  24. <lightning:button label="RenderLtng" variant="netural" onclick="{!c.showLtng}"/>
  25.  
  26. </aura:set>
  27.  
  28. </aura:if>
  29.  
  30.  
  31. </aura:application>
  32.  
  33. ({
  34. init: function (cmp, event, helper) {
  35. cmp.set('v.mycolumns', [
  36. {label: 'Name', fieldName: 'LastName', type: 'text'},
  37. {label: 'Email', fieldName: 'Email', type: 'email'}
  38. ]);
  39.  
  40. var dataRecords = [];
  41. for(var i = 0; i < 5; i++){
  42. var dataRecordObj = {};
  43. dataRecordObj.Id = 'a' + i;
  44. dataRecordObj.LastName = 'kk' + i;
  45. dataRecordObj.Email = 'test'+ i +'@test.com';
  46. dataRecords.push(dataRecordObj);
  47. }
  48. cmp.set('v.mydata', dataRecords);
  49. },
  50. getSelectedName: function (cmp, event) {
  51. var selectedRecords = [];
  52. var selectedRows = event.getParam('selectedRows');
  53. // Display that fieldName of the selected rows
  54. selectedRows.forEach(function(selectedRow){
  55. selectedRecords.push(selectedRow);
  56. })
  57. cmp.set("v.selectedRecords", selectedRecords);
  58. },
  59. showLtng : function(cmp, event, helper){
  60. cmp.set("v.renderLtngDataTable", true);
  61. },
  62. cancel : function(cmp, event, helper){
  63. var ltngCmp = cmp.find("ltngCmp");
  64. if(ltngCmp){
  65. var selectedRows = ltngCmp.get("v.selectedRows");
  66. selectedRows.length = 0;
  67. ltngCmp.set("v.selectedRows", selectedRows);
  68. }
  69. cmp.set("v.renderLtngDataTable", false);
  70. }
  71. })
  72.  
  73. showLtng : function(cmp, event, helper){
  74. var selectedRowsIds = [];
  75. cmp.set("v.selectedRecords", selectedRowsIds);
  76. cmp.set("v.renderLtngDataTable", true);
  77. var ltngCmp = cmp.find("ltngCmp");
  78. if(ltngCmp){
  79. ltngCmp.set("v.selectedRows", selectedRowsIds);
  80. }
  81. },
  82. cancel : function(cmp, event, helper){
  83. cmp.set("v.renderLtngDataTable", false);
  84. }
Add Comment
Please, Sign In to add comment