@chat21/chat21-ionic 3.0.83 → 3.0.86-rc.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (173) hide show
  1. package/CHANGELOG.md +124 -4
  2. package/README.md +2 -2
  3. package/deploy_amazon_beta.sh +29 -0
  4. package/deploy_amazon_prod.sh +30 -0
  5. package/package.json +4 -3
  6. package/src/app/app-routing.module.ts +7 -2
  7. package/src/app/app.component.html +7 -1
  8. package/src/app/app.component.scss +20 -2
  9. package/src/app/app.component.ts +231 -114
  10. package/src/app/app.module.ts +8 -3
  11. package/src/app/chatlib/conversation-detail/conversation-content/conversation-content.component.ts +8 -1
  12. package/src/app/chatlib/conversation-detail/ion-conversation-detail/ion-conversation-detail.component.html +86 -23
  13. package/src/app/chatlib/conversation-detail/ion-conversation-detail/ion-conversation-detail.component.scss +188 -88
  14. package/src/app/chatlib/conversation-detail/ion-conversation-detail/ion-conversation-detail.component.ts +42 -3
  15. package/src/app/chatlib/conversation-detail/message/bubble-message/bubble-message.component.html +11 -24
  16. package/src/app/chatlib/conversation-detail/message/bubble-message/bubble-message.component.scss +6 -10
  17. package/src/app/chatlib/conversation-detail/message/bubble-message/bubble-message.component.spec.ts +2 -2
  18. package/src/app/chatlib/conversation-detail/message/bubble-message/bubble-message.component.ts +16 -26
  19. package/src/app/chatlib/conversation-detail/message/buttons/action-button/action-button.component.html +5 -1
  20. package/src/app/chatlib/conversation-detail/message/buttons/action-button/action-button.component.scss +22 -15
  21. package/src/app/chatlib/conversation-detail/message/buttons/action-button/action-button.component.ts +25 -5
  22. package/src/app/chatlib/conversation-detail/message/buttons/link-button/link-button.component.html +2 -1
  23. package/src/app/chatlib/conversation-detail/message/buttons/link-button/link-button.component.scss +14 -15
  24. package/src/app/chatlib/conversation-detail/message/buttons/link-button/link-button.component.ts +24 -5
  25. package/src/app/chatlib/conversation-detail/message/buttons/text-button/text-button.component.html +6 -1
  26. package/src/app/chatlib/conversation-detail/message/buttons/text-button/text-button.component.scss +12 -13
  27. package/src/app/chatlib/conversation-detail/message/buttons/text-button/text-button.component.ts +26 -5
  28. package/src/app/chatlib/conversation-detail/message/frame/frame.component.html +8 -2
  29. package/src/app/chatlib/conversation-detail/message/frame/frame.component.scss +36 -0
  30. package/src/app/chatlib/conversation-detail/message/frame/frame.component.ts +2 -2
  31. package/src/app/chatlib/conversation-detail/message/html/html.component.ts +0 -1
  32. package/src/app/chatlib/conversation-detail/message/image/image.component.html +3 -2
  33. package/src/app/chatlib/conversation-detail/message/image/image.component.scss +17 -5
  34. package/src/app/chatlib/conversation-detail/message/image/image.component.ts +1 -1
  35. package/src/app/chatlib/conversation-detail/message/info-message/info-message.component.scss +3 -2
  36. package/src/app/chatlib/conversation-detail/message/message-attachment/message-attachment.component.html +16 -6
  37. package/src/app/chatlib/conversation-detail/message/message-attachment/message-attachment.component.scss +1 -3
  38. package/src/app/chatlib/conversation-detail/message/message-attachment/message-attachment.component.ts +2 -0
  39. package/src/app/chatlib/list-conversations-component/ion-list-conversations/ion-list-conversations.component.html +78 -52
  40. package/src/app/chatlib/list-conversations-component/ion-list-conversations/ion-list-conversations.component.scss +63 -20
  41. package/src/app/chatlib/list-conversations-component/ion-list-conversations/ion-list-conversations.component.ts +14 -10
  42. package/src/app/components/canned-response/canned-response.component.html +9 -9
  43. package/src/app/components/canned-response/canned-response.component.scss +14 -7
  44. package/src/app/components/canned-response/canned-response.component.ts +5 -4
  45. package/src/app/components/contacts-directory/contacts-directory.component.html +22 -26
  46. package/src/app/components/contacts-directory/contacts-directory.component.scss +8 -6
  47. package/src/app/components/conversation-detail/header-conversation-detail/header-conversation-detail.component.html +64 -47
  48. package/src/app/components/conversation-detail/header-conversation-detail/header-conversation-detail.component.scss +98 -61
  49. package/src/app/components/conversation-detail/header-conversation-detail/header-conversation-detail.component.ts +24 -40
  50. package/src/app/components/conversation-detail/header-conversation-detail/header-conversation-detail.component_2.html +116 -0
  51. package/src/app/components/conversation-detail/message-text-area/message-text-area.component.html +39 -42
  52. package/src/app/components/conversation-detail/message-text-area/message-text-area.component.scss +67 -4
  53. package/src/app/components/conversation-detail/message-text-area/message-text-area.component.ts +82 -152
  54. package/src/app/components/conversation-info/info-content/info-content.component.html +23 -2
  55. package/src/app/components/conversation-info/info-content/info-content.component.ts +3 -6
  56. package/src/app/components/conversation-info/info-direct/info-direct.component.html +7 -14
  57. package/src/app/components/conversation-info/info-direct/info-direct.component.scss +23 -0
  58. package/src/app/components/conversation-info/info-direct/info-direct.component.ts +1 -6
  59. package/src/app/components/conversation-info/info-group/info-group.component.html +44 -108
  60. package/src/app/components/conversation-info/info-group/info-group.component.scss +101 -61
  61. package/src/app/components/conversation-info/info-group/info-group.component.ts +1 -0
  62. package/src/app/components/conversation-info/info-support-group/info-support-group.component.html +2 -1
  63. package/src/app/components/conversation-info/info-support-group/info-support-group.component.ts +0 -1
  64. package/src/app/components/{ddp-header/ddp-header.component.html → conversations-list/header-conversations-list/header-conversations-list.component.html} +3 -3
  65. package/src/app/components/{ddp-header/ddp-header.component.scss → conversations-list/header-conversations-list/header-conversations-list.component.scss} +16 -4
  66. package/src/app/components/{conversation-detail/bubble-my-message/bubble-my-message.component.spec.ts → conversations-list/header-conversations-list/header-conversations-list.component.spec.ts} +6 -6
  67. package/src/app/components/{ddp-header/ddp-header.component.ts → conversations-list/header-conversations-list/header-conversations-list.component.ts} +7 -16
  68. package/src/app/components/conversations-list/header-conversations-list-archived/header-conversations-list-archived.component.html +12 -0
  69. package/src/app/components/conversations-list/header-conversations-list-archived/header-conversations-list-archived.component.scss +14 -0
  70. package/src/app/components/{conversation-detail/option-header/option-header.component.spec.ts → conversations-list/header-conversations-list-archived/header-conversations-list-archived.component.spec.ts} +5 -5
  71. package/src/app/components/{conversation-detail/option-header/option-header.component.ts → conversations-list/header-conversations-list-archived/header-conversations-list-archived.component.ts} +5 -4
  72. package/src/app/components/navbar/navbar.component.html +103 -0
  73. package/src/app/components/navbar/navbar.component.scss +249 -0
  74. package/src/app/components/{ddp-header/ddp-header.component.spec.ts → navbar/navbar.component.spec.ts} +6 -6
  75. package/src/app/components/navbar/navbar.component.ts +190 -0
  76. package/src/app/components/project-item/project-item.component.html +98 -149
  77. package/src/app/components/project-item/project-item.component.scss +43 -35
  78. package/src/app/components/project-item/project-item.component.ts +16 -4
  79. package/src/app/components/sidebar-user-details/sidebar-user-details.component.html +5 -5
  80. package/src/app/components/sidebar-user-details/sidebar-user-details.component.ts +24 -13
  81. package/src/app/components/utils/user-presence/user-presence.component.html +7 -2
  82. package/src/app/components/utils/user-presence/user-presence.component.scss +35 -18
  83. package/src/app/components/utils/user-presence/user-presence.component.ts +6 -10
  84. package/src/app/{pages → modals}/create-canned-response/create-canned-response-routing.module.ts +0 -0
  85. package/src/app/{pages → modals}/create-canned-response/create-canned-response.module.ts +0 -0
  86. package/src/app/{pages → modals}/create-canned-response/create-canned-response.page.html +0 -0
  87. package/src/app/{pages → modals}/create-canned-response/create-canned-response.page.scss +0 -0
  88. package/src/app/{pages → modals}/create-canned-response/create-canned-response.page.spec.ts +0 -0
  89. package/src/app/{pages → modals}/create-canned-response/create-canned-response.page.ts +13 -13
  90. package/src/app/{pages → modals}/loader-preview/loader-preview-routing.module.ts +0 -0
  91. package/src/app/{pages → modals}/loader-preview/loader-preview.module.ts +0 -0
  92. package/src/app/{pages → modals}/loader-preview/loader-preview.page.html +1 -1
  93. package/src/app/{pages → modals}/loader-preview/loader-preview.page.scss +4 -0
  94. package/src/app/{pages → modals}/loader-preview/loader-preview.page.spec.ts +0 -0
  95. package/src/app/{pages → modals}/loader-preview/loader-preview.page.ts +1 -2
  96. package/src/app/modals/send-email/send-email-routing.module.ts +17 -0
  97. package/src/app/modals/send-email/send-email.module.ts +31 -0
  98. package/src/app/modals/send-email/send-email.page.html +46 -0
  99. package/src/app/modals/send-email/send-email.page.scss +161 -0
  100. package/src/app/modals/send-email/send-email.page.spec.ts +24 -0
  101. package/src/app/modals/send-email/send-email.page.ts +89 -0
  102. package/src/app/pages/contacts-directory/contacts-directory.page.html +1 -1
  103. package/src/app/pages/contacts-directory/contacts-directory.page.scss +47 -0
  104. package/src/app/pages/contacts-directory/contacts-directory.page.ts +2 -0
  105. package/src/app/pages/conversation-detail/conversation-detail.module.ts +0 -8
  106. package/src/app/pages/conversation-detail/conversation-detail.page.html +48 -27
  107. package/src/app/pages/conversation-detail/conversation-detail.page.scss +45 -254
  108. package/src/app/pages/conversation-detail/conversation-detail.page.ts +361 -173
  109. package/src/app/pages/conversations-list/conversations-list.page.html +11 -8
  110. package/src/app/pages/conversations-list/conversations-list.page.scss +18 -2
  111. package/src/app/pages/conversations-list/conversations-list.page.ts +69 -65
  112. package/src/app/pages/profile-info/profile-info.page.html +2 -4
  113. package/src/app/pages/unassigned-conversations/unassigned-conversations.page.html +1 -1
  114. package/src/app/pages/unassigned-conversations/unassigned-conversations.page.scss +42 -0
  115. package/src/app/pages/unassigned-conversations/unassigned-conversations.page.ts +1 -0
  116. package/src/app/services/canned-responses/canned-responses.service.ts +26 -0
  117. package/src/app/services/projects/projects.service.spec.ts +12 -0
  118. package/src/app/services/projects/projects.service.ts +43 -0
  119. package/src/app/services/tiledesk/tiledesk.service.ts +33 -17
  120. package/src/app/services/websocket/websocket.service.ts +1 -1
  121. package/src/app/shared/shared.module.ts +24 -33
  122. package/src/app/utils/toast.spec.ts +7 -0
  123. package/src/app/utils/toast.ts +48 -0
  124. package/src/assets/i18n/ar.json +288 -265
  125. package/src/assets/i18n/az.json +24 -1
  126. package/src/assets/i18n/de.json +25 -2
  127. package/src/assets/i18n/en.json +25 -2
  128. package/src/assets/i18n/es.json +26 -3
  129. package/src/assets/i18n/fr.json +24 -1
  130. package/src/assets/i18n/it.json +24 -1
  131. package/src/assets/i18n/kk.json +25 -2
  132. package/src/assets/i18n/pt.json +25 -2
  133. package/src/assets/i18n/ru.json +24 -1
  134. package/src/assets/i18n/sr.json +287 -264
  135. package/src/assets/i18n/sv.json +25 -2
  136. package/src/assets/i18n/tr.json +25 -2
  137. package/src/assets/i18n/uk.json +25 -2
  138. package/src/assets/i18n/uz.json +24 -1
  139. package/src/assets/js/chat21client.js +175 -148
  140. package/src/assets/sounds/interface-start.mp3 +0 -0
  141. package/src/assets/sounds/wheep-wheep.mp3 +0 -0
  142. package/src/chat-config-mqtt-localhost.json +2 -2
  143. package/src/chat-config-native-mqtt.json +3 -0
  144. package/src/chat21-core/models/conversation.ts +0 -1
  145. package/src/chat21-core/models/projects.ts +27 -0
  146. package/src/chat21-core/providers/firebase/firebase-typing.service.ts +7 -9
  147. package/src/chat21-core/providers/mqtt/mqtt-auth-service.ts +7 -8
  148. package/src/chat21-core/utils/constants.ts +7 -1
  149. package/src/chat21-core/utils/convertRequestToConversation.ts +41 -0
  150. package/src/chat21-core/utils/user-typing/user-typing.component.html +8 -5
  151. package/src/chat21-core/utils/user-typing/user-typing.component.scss +87 -17
  152. package/src/chat21-core/utils/user-typing/user-typing.component.ts +12 -94
  153. package/src/chat21-core/utils/utils.ts +41 -11
  154. package/src/global.scss +59 -255
  155. package/src/index.html +0 -9
  156. package/src/variables.scss +30 -10
  157. package/src/app/components/conversation-detail/bubble-day-message/bubble-day-message.component.html +0 -3
  158. package/src/app/components/conversation-detail/bubble-day-message/bubble-day-message.component.scss +0 -21
  159. package/src/app/components/conversation-detail/bubble-day-message/bubble-day-message.component.spec.ts +0 -24
  160. package/src/app/components/conversation-detail/bubble-day-message/bubble-day-message.component.ts +0 -14
  161. package/src/app/components/conversation-detail/bubble-my-message/bubble-my-message.component.html +0 -54
  162. package/src/app/components/conversation-detail/bubble-my-message/bubble-my-message.component.scss +0 -98
  163. package/src/app/components/conversation-detail/bubble-my-message/bubble-my-message.component.ts +0 -84
  164. package/src/app/components/conversation-detail/bubble-others-message/bubble-others-message.component.html +0 -30
  165. package/src/app/components/conversation-detail/bubble-others-message/bubble-others-message.component.scss +0 -83
  166. package/src/app/components/conversation-detail/bubble-others-message/bubble-others-message.component.spec.ts +0 -24
  167. package/src/app/components/conversation-detail/bubble-others-message/bubble-others-message.component.ts +0 -68
  168. package/src/app/components/conversation-detail/bubble-system-message/bubble-system-message.component.html +0 -3
  169. package/src/app/components/conversation-detail/bubble-system-message/bubble-system-message.component.scss +0 -10
  170. package/src/app/components/conversation-detail/bubble-system-message/bubble-system-message.component.spec.ts +0 -24
  171. package/src/app/components/conversation-detail/bubble-system-message/bubble-system-message.component.ts +0 -14
  172. package/src/app/components/conversation-detail/option-header/option-header.component.html +0 -13
  173. package/src/app/components/conversation-detail/option-header/option-header.component.scss +0 -0
@@ -1,9 +1,9 @@
1
+ import { NavbarComponent } from './../components/navbar/navbar.component';
1
2
  import { FormsModule } from '@angular/forms';
2
3
  import { NgSelectModule } from '@ng-select/ng-select';
3
4
  import { NetworkOfflineComponent } from './../components/network-offline/network-offline.component';
4
5
  import { ContactsDirectoryComponent } from './../components/contacts-directory/contacts-directory.component';
5
6
  import { HtmlComponent } from './../chatlib/conversation-detail/message/html/html.component';
6
- import { BubbleOthersMessageComponent } from './../components/conversation-detail/bubble-others-message/bubble-others-message.component';
7
7
 
8
8
  import { TextComponent } from '../chatlib/conversation-detail/message/text/text.component';
9
9
  import { ReturnReceiptComponent } from '../chatlib/conversation-detail/message/return-receipt/return-receipt.component';
@@ -21,32 +21,29 @@ import { CommonModule } from '@angular/common';
21
21
  import { IonicModule } from '@ionic/angular';
22
22
 
23
23
  import { AvatarProfileComponent } from 'src/app/components/utils/avatar-profile/avatar-profile.component';
24
- import { DdpHeaderComponent } from 'src/app/components/ddp-header/ddp-header.component';
24
+ import { HeaderConversationsList } from 'src/app/components/conversations-list/header-conversations-list/header-conversations-list.component';
25
+ import { HeaderConversationsListArchived } from 'src/app/components/conversations-list/header-conversations-list-archived/header-conversations-list-archived.component';
25
26
 
26
27
  import { UserPresenceComponent } from 'src/app/components/utils/user-presence/user-presence.component';
27
28
  import { UserTypingComponent } from 'src/chat21-core/utils/user-typing/user-typing.component';
28
29
  import { ListConversationsComponent } from '../chatlib/list-conversations-component/list-conversations/list-conversations.component';
29
30
  import { MomentModule } from 'angular2-moment';
30
- import { AvatarComponent } from '../chatlib/conversation-detail/message/avatar/avatar.component';
31
- import { MarkedPipe } from '../directives/marked.pipe';
32
- import { AutofocusDirective } from '../directives/autofocus.directive';
33
- import { HtmlEntitiesEncodePipe } from '../directives/html-entities-encode.pipe';
34
- import { IonConversationDetailComponent } from '../chatlib/conversation-detail/ion-conversation-detail/ion-conversation-detail.component';
35
- import { BubbleMyMessageComponent } from '../components/conversation-detail/bubble-my-message/bubble-my-message.component';
36
- import { BubbleDayMessageComponent } from '../components/conversation-detail/bubble-day-message/bubble-day-message.component';
37
- import { BubbleSystemMessageComponent } from '../components/conversation-detail/bubble-system-message/bubble-system-message.component';
38
- import { InfoContentComponent } from '../components/conversation-info/info-content/info-content.component';
39
- import { InfoSupportGroupComponent } from '../components/conversation-info/info-support-group/info-support-group.component';
40
- import { InfoDirectComponent } from '../components/conversation-info/info-direct/info-direct.component';
41
- import { AdvancedInfoAccordionComponent } from '../components/conversation-info/advanced-info-accordion/advanced-info-accordion.component';
42
- import { InfoGroupComponent } from '../components/conversation-info/info-group/info-group.component';
31
+ import { AvatarComponent } from 'src/app/chatlib/conversation-detail/message/avatar/avatar.component';
32
+ import { MarkedPipe } from 'src/app/directives/marked.pipe';
33
+ import { AutofocusDirective } from 'src/app/directives/autofocus.directive';
34
+ import { HtmlEntitiesEncodePipe } from 'src/app/directives/html-entities-encode.pipe';
35
+ import { IonConversationDetailComponent } from 'src/app/chatlib/conversation-detail/ion-conversation-detail/ion-conversation-detail.component';
36
+ import { InfoContentComponent } from 'src/app/components/conversation-info/info-content/info-content.component';
37
+ import { InfoSupportGroupComponent } from 'src/app/components/conversation-info/info-support-group/info-support-group.component';
38
+ import { InfoDirectComponent } from 'src/app/components/conversation-info/info-direct/info-direct.component';
39
+ import { AdvancedInfoAccordionComponent } from 'src/app/components/conversation-info/advanced-info-accordion/advanced-info-accordion.component';
40
+ import { InfoGroupComponent } from 'src/app/components/conversation-info/info-group/info-group.component';
43
41
  import { TooltipModule, TooltipOptions } from 'ng2-tooltip-directive';
44
- import { OptionHeaderComponent } from '../components/conversation-detail/option-header/option-header.component';
45
- import { MessageAttachmentComponent } from '../chatlib/conversation-detail/message/message-attachment/message-attachment.component';
46
- import { ImageViewerComponent } from '../components/image-viewer/image-viewer.component';
47
- import { SidebarComponent } from '../components/sidebar/sidebar.component';
48
- import { SidebarUserDetailsComponent } from '../components/sidebar-user-details/sidebar-user-details.component';
49
- import { ProjectItemComponent } from '../components/project-item/project-item.component';
42
+ import { MessageAttachmentComponent } from 'src/app/chatlib/conversation-detail/message/message-attachment/message-attachment.component';
43
+ import { ImageViewerComponent } from 'src/app/components/image-viewer/image-viewer.component';
44
+ import { SidebarComponent } from 'src/app/components/sidebar/sidebar.component';
45
+ import { SidebarUserDetailsComponent } from 'src/app/components/sidebar-user-details/sidebar-user-details.component';
46
+ import { ProjectItemComponent } from 'src/app/components/project-item/project-item.component';
50
47
  import { DefaultTooltipOptions } from 'src/chat21-core/utils/utils';
51
48
  import { MatTooltipModule } from '@angular/material/tooltip';
52
49
  import { MatSnackBarModule } from '@angular/material/snack-bar';
@@ -59,12 +56,13 @@ import { SafeHtmlPipe } from '../directives/safe-html.pipe';
59
56
  declarations: [
60
57
  // MessageTextAreaComponent,
61
58
  AvatarProfileComponent,
62
- DdpHeaderComponent,
59
+ HeaderConversationsList,
63
60
  UserPresenceComponent,
64
61
  UserTypingComponent,
65
62
  ListConversationsComponent,
66
63
  IonListConversationsComponent,
67
64
  ImageViewerComponent,
65
+ NavbarComponent,
68
66
  SidebarComponent,
69
67
  SidebarUserDetailsComponent,
70
68
  ProjectItemComponent,
@@ -82,10 +80,6 @@ import { SafeHtmlPipe } from '../directives/safe-html.pipe';
82
80
  ReturnReceiptComponent,
83
81
  TextComponent,
84
82
  HtmlComponent,
85
- BubbleDayMessageComponent,
86
- BubbleSystemMessageComponent,
87
- BubbleMyMessageComponent,
88
- BubbleOthersMessageComponent,
89
83
  InfoContentComponent,
90
84
  InfoSupportGroupComponent,
91
85
  InfoDirectComponent,
@@ -95,15 +89,16 @@ import { SafeHtmlPipe } from '../directives/safe-html.pipe';
95
89
  AutofocusDirective,
96
90
  HtmlEntitiesEncodePipe,
97
91
  SafeHtmlPipe,
98
- OptionHeaderComponent,
92
+ HeaderConversationsListArchived,
99
93
  NetworkOfflineComponent
100
94
  ],
101
95
  exports: [
102
96
  // MessageTextAreaComponent,
103
97
  AutofocusDirective,
104
98
  AvatarProfileComponent,
105
- DdpHeaderComponent,
99
+ HeaderConversationsList,
106
100
  ImageViewerComponent,
101
+ NavbarComponent,
107
102
  SidebarComponent,
108
103
  SidebarUserDetailsComponent,
109
104
  ProjectItemComponent,
@@ -123,15 +118,11 @@ import { SafeHtmlPipe } from '../directives/safe-html.pipe';
123
118
  InfoMessageComponent,
124
119
  ReturnReceiptComponent,
125
120
  TextComponent,
126
- BubbleDayMessageComponent,
127
- BubbleSystemMessageComponent,
128
- BubbleMyMessageComponent,
129
- BubbleOthersMessageComponent,
130
121
  InfoContentComponent,
131
122
  InfoSupportGroupComponent,
132
123
  InfoDirectComponent,
133
124
  InfoGroupComponent,
134
- OptionHeaderComponent,
125
+ HeaderConversationsListArchived,
135
126
  NetworkOfflineComponent
136
127
 
137
128
  ],
@@ -0,0 +1,7 @@
1
+ import { Toast } from './toast';
2
+
3
+ describe('Toast', () => {
4
+ it('should create an instance', () => {
5
+ expect(new Toast()).toBeTruthy();
6
+ });
7
+ });
@@ -0,0 +1,48 @@
1
+ import { ToastController } from '@ionic/angular';
2
+
3
+ export class Toast {
4
+
5
+ public toastController: ToastController = new ToastController()
6
+
7
+ constructor() {}
8
+
9
+ async presentToast(message: string, color: string, cssClass: string, duration: number = 2000, position: 'top' | 'bottom' | 'middle'= 'bottom') {
10
+ const toast = await this.toastController.create({
11
+ message: message,
12
+ duration: duration,
13
+ color: color,
14
+ position: position,
15
+ cssClass: cssClass
16
+ });
17
+ toast.present();
18
+ }
19
+
20
+ async presentToastWithOptions() {
21
+ const toast = await this.toastController.create({
22
+ header: 'Toast header',
23
+ message: 'Click to Close',
24
+ position: 'top',
25
+ buttons: [
26
+ {
27
+ side: 'start',
28
+ icon: 'star',
29
+ text: 'Favorite',
30
+ handler: () => {
31
+ console.log('Favorite clicked');
32
+ },
33
+ },
34
+ {
35
+ text: 'Done',
36
+ role: 'cancel',
37
+ handler: () => {
38
+ console.log('Cancel clicked');
39
+ },
40
+ },
41
+ ],
42
+ });
43
+ await toast.present();
44
+
45
+ const { role } = await toast.onDidDismiss();
46
+ console.log('onDidDismiss resolved with role', role);
47
+ }
48
+ }