@leavittsoftware/web 9.9.0 → 10.0.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 (223) hide show
  1. package/.ncurc.js +1 -1
  2. package/CLAUDE.md +1320 -0
  3. package/LICENSE.md +1 -1
  4. package/leavitt/api-service/api-service.js +3 -2
  5. package/leavitt/api-service/api-service.js.map +1 -1
  6. package/leavitt/api-service/blob-response.js +1 -0
  7. package/leavitt/api-service/blob-response.js.map +1 -1
  8. package/leavitt/app/app-logo.js +1 -1
  9. package/leavitt/app/app-logo.js.map +1 -1
  10. package/leavitt/app/app-main-content-container.js +5 -0
  11. package/leavitt/app/app-main-content-container.js.map +1 -1
  12. package/leavitt/app/app-navigation-header.js +10 -10
  13. package/leavitt/app/app-navigation-header.js.map +1 -1
  14. package/leavitt/company-select/company-select.js +2 -2
  15. package/leavitt/company-select/company-select.js.map +1 -1
  16. package/leavitt/email-history-viewer/email-history-viewer-filled-filter-dialog.d.ts +3 -369
  17. package/leavitt/email-history-viewer/email-history-viewer-filled-filter-dialog.js +15 -9
  18. package/leavitt/email-history-viewer/email-history-viewer-filled-filter-dialog.js.map +1 -1
  19. package/leavitt/email-history-viewer/email-history-viewer-filled.d.ts +3 -374
  20. package/leavitt/email-history-viewer/email-history-viewer-filled.js +15 -33
  21. package/leavitt/email-history-viewer/email-history-viewer-filled.js.map +1 -1
  22. package/leavitt/email-history-viewer/view-email-template-info-dialog.d.ts +3 -369
  23. package/leavitt/email-history-viewer/view-email-template-info-dialog.js +12 -5
  24. package/leavitt/email-history-viewer/view-email-template-info-dialog.js.map +1 -1
  25. package/leavitt/email-history-viewer/view-sent-email-dialog.d.ts +3 -369
  26. package/leavitt/email-history-viewer/view-sent-email-dialog.js +13 -6
  27. package/leavitt/email-history-viewer/view-sent-email-dialog.js.map +1 -1
  28. package/leavitt/error-page/error-page.d.ts +5 -2
  29. package/leavitt/error-page/error-page.js +136 -37
  30. package/leavitt/error-page/error-page.js.map +1 -1
  31. package/leavitt/file-explorer/add-folder-modal.d.ts +3 -369
  32. package/leavitt/file-explorer/add-folder-modal.js +13 -6
  33. package/leavitt/file-explorer/add-folder-modal.js.map +1 -1
  34. package/leavitt/file-explorer/file-explorer-image.js.map +1 -1
  35. package/leavitt/file-explorer/file-explorer.d.ts +5 -371
  36. package/leavitt/file-explorer/file-explorer.js +35 -30
  37. package/leavitt/file-explorer/file-explorer.js.map +1 -1
  38. package/leavitt/file-explorer/file-list-item.js.map +1 -1
  39. package/leavitt/file-explorer/file-modal.d.ts +3 -369
  40. package/leavitt/file-explorer/file-modal.js +12 -5
  41. package/leavitt/file-explorer/file-modal.js.map +1 -1
  42. package/leavitt/file-explorer/folder-list-item.js.map +1 -1
  43. package/leavitt/file-explorer/folder-modal.d.ts +3 -369
  44. package/leavitt/file-explorer/folder-modal.js +12 -5
  45. package/leavitt/file-explorer/folder-modal.js.map +1 -1
  46. package/leavitt/person-company-select/person-company-select.js +5 -3
  47. package/leavitt/person-company-select/person-company-select.js.map +1 -1
  48. package/leavitt/person-group-select/person-group-select.js +5 -3
  49. package/leavitt/person-group-select/person-group-select.js.map +1 -1
  50. package/leavitt/person-select/person-select.js +3 -2
  51. package/leavitt/person-select/person-select.js.map +1 -1
  52. package/leavitt/profile-picture/profile-picture-menu.js +2 -0
  53. package/leavitt/profile-picture/profile-picture-menu.js.map +1 -1
  54. package/leavitt/profile-picture/profile-picture.js +4 -4
  55. package/leavitt/profile-picture/profile-picture.js.map +1 -1
  56. package/leavitt/service-worker-notifier/service-worker-notifier.js.map +1 -1
  57. package/leavitt/theme/theme-preference.js +4 -0
  58. package/leavitt/theme/theme-preference.js.map +1 -1
  59. package/leavitt/user-feedback/provide-feedback-dialog.d.ts +3 -369
  60. package/leavitt/user-feedback/provide-feedback-dialog.js +11 -4
  61. package/leavitt/user-feedback/provide-feedback-dialog.js.map +1 -1
  62. package/leavitt/user-feedback/report-a-problem-dialog.d.ts +3 -369
  63. package/leavitt/user-feedback/report-a-problem-dialog.js +11 -4
  64. package/leavitt/user-feedback/report-a-problem-dialog.js.map +1 -1
  65. package/leavitt/user-manager/auth-zero-lg-user-manager.js +5 -5
  66. package/leavitt/user-manager/auth-zero-lg-user-manager.js.map +1 -1
  67. package/package.json +8 -10
  68. package/titanium/address-input/address-input.js +0 -2
  69. package/titanium/address-input/address-input.js.map +1 -1
  70. package/titanium/address-input/google-address-input.d.ts +1 -0
  71. package/titanium/address-input/google-address-input.js +62 -45
  72. package/titanium/address-input/google-address-input.js.map +1 -1
  73. package/titanium/address-input/google-maps-process-shim.d.ts +2 -0
  74. package/titanium/address-input/google-maps-process-shim.js +12 -0
  75. package/titanium/address-input/google-maps-process-shim.js.map +1 -0
  76. package/titanium/address-input/manual-address-dialog.d.ts +2 -7
  77. package/titanium/address-input/manual-address-dialog.js +21 -34
  78. package/titanium/address-input/manual-address-dialog.js.map +1 -1
  79. package/titanium/address-input/utils/place-result-to-address.d.ts +1 -1
  80. package/titanium/address-input/utils/place-result-to-address.js +31 -30
  81. package/titanium/address-input/utils/place-result-to-address.js.map +1 -1
  82. package/titanium/chip/chip.d.ts +0 -1
  83. package/titanium/chip/chip.js +7 -17
  84. package/titanium/chip/chip.js.map +1 -1
  85. package/titanium/chip-multi-select/chip-multi-select.d.ts +3 -8
  86. package/titanium/chip-multi-select/chip-multi-select.js +41 -62
  87. package/titanium/chip-multi-select/chip-multi-select.js.map +1 -1
  88. package/titanium/circle-loading-indicator/circle-loading-indicator.js +5 -5
  89. package/titanium/circle-loading-indicator/circle-loading-indicator.js.map +1 -1
  90. package/titanium/confirmation-dialog/confirmation-dialog.js +2 -0
  91. package/titanium/confirmation-dialog/confirmation-dialog.js.map +1 -1
  92. package/titanium/data-table/data-table-action-bar.js +1 -5
  93. package/titanium/data-table/data-table-action-bar.js.map +1 -1
  94. package/titanium/data-table/data-table-core-reorder-dialog.d.ts +3 -369
  95. package/titanium/data-table/data-table-core-reorder-dialog.js +10 -3
  96. package/titanium/data-table/data-table-core-reorder-dialog.js.map +1 -1
  97. package/titanium/data-table/data-table-core-reorder-item.js.map +1 -1
  98. package/titanium/data-table/data-table-core-settings-choose-columns-dialog.js.map +1 -1
  99. package/titanium/data-table/data-table-core-settings-choose-columns-item.js +3 -3
  100. package/titanium/data-table/data-table-core-settings-choose-columns-item.js.map +1 -1
  101. package/titanium/data-table/data-table-core-settings-sort-dialog.js.map +1 -1
  102. package/titanium/data-table/data-table-core-settings-sort-item.js +3 -3
  103. package/titanium/data-table/data-table-core-settings-sort-item.js.map +1 -1
  104. package/titanium/data-table/data-table-core.d.ts +5 -369
  105. package/titanium/data-table/data-table-core.js +13 -2
  106. package/titanium/data-table/data-table-core.js.map +1 -1
  107. package/titanium/data-table/draggable-item-base.js +6 -0
  108. package/titanium/data-table/draggable-item-base.js.map +1 -1
  109. package/titanium/data-table/filter-controller.js.map +1 -1
  110. package/titanium/data-table/page-control.d.ts +3 -8
  111. package/titanium/data-table/page-control.js +13 -33
  112. package/titanium/data-table/page-control.js.map +1 -1
  113. package/titanium/date-input/date-input.d.ts +1 -6
  114. package/titanium/date-input/date-input.js +8 -44
  115. package/titanium/date-input/date-input.js.map +1 -1
  116. package/titanium/date-range-selector/date-range-selector.d.ts +1 -6
  117. package/titanium/date-range-selector/date-range-selector.js +15 -35
  118. package/titanium/date-range-selector/date-range-selector.js.map +1 -1
  119. package/titanium/drawer/drawer.d.ts +1 -6
  120. package/titanium/drawer/drawer.js +4 -23
  121. package/titanium/drawer/drawer.js.map +1 -1
  122. package/titanium/event-bus/event-bus.js.map +1 -1
  123. package/titanium/helpers/debouncer.js.map +1 -1
  124. package/titanium/helpers/helpers.d.ts +0 -1
  125. package/titanium/helpers/helpers.js +0 -1
  126. package/titanium/helpers/helpers.js.map +1 -1
  127. package/titanium/helpers/pending-state-catcher.d.ts +7 -406
  128. package/titanium/helpers/pending-state-catcher.js +85 -82
  129. package/titanium/helpers/pending-state-catcher.js.map +1 -1
  130. package/titanium/input-validator/filled-input-validator.js.map +1 -1
  131. package/titanium/profile-picture-stack/profile-picture-stack.js +2 -2
  132. package/titanium/profile-picture-stack/profile-picture-stack.js.map +1 -1
  133. package/titanium/search-input/filled-search-input.js.map +1 -1
  134. package/titanium/show-hide/show-hide.d.ts +1 -6
  135. package/titanium/show-hide/show-hide.js +2 -18
  136. package/titanium/show-hide/show-hide.js.map +1 -1
  137. package/titanium/single-select-base/single-select-base.d.ts +11 -381
  138. package/titanium/single-select-base/single-select-base.js +43 -50
  139. package/titanium/single-select-base/single-select-base.js.map +1 -1
  140. package/titanium/smart-attachment-input/crop-and-save-image-dialog.d.ts +3 -369
  141. package/titanium/smart-attachment-input/crop-and-save-image-dialog.js +21 -16
  142. package/titanium/smart-attachment-input/crop-and-save-image-dialog.js.map +1 -1
  143. package/titanium/smart-attachment-input/image-preview-dialog.js.map +1 -1
  144. package/titanium/smart-attachment-input/smart-attachment-input.d.ts +1 -6
  145. package/titanium/smart-attachment-input/smart-attachment-input.js +5 -18
  146. package/titanium/smart-attachment-input/smart-attachment-input.js.map +1 -1
  147. package/titanium/snackbar/snackbar-stack.js +2 -2
  148. package/titanium/snackbar/snackbar-stack.js.map +1 -1
  149. package/titanium/snackbar/snackbars/http-error-snackbar.js +1 -1
  150. package/titanium/snackbar/snackbars/http-error-snackbar.js.map +1 -1
  151. package/titanium/snackbar/snackbars/simple-snackbar.js +3 -3
  152. package/titanium/snackbar/snackbars/simple-snackbar.js.map +1 -1
  153. package/titanium/toolbar/toolbar.js +1 -1
  154. package/titanium/toolbar/toolbar.js.map +1 -1
  155. package/leavitt/api-service/object-to-form-data.test.d.ts +0 -2
  156. package/leavitt/api-service/object-to-form-data.test.js +0 -229
  157. package/leavitt/api-service/object-to-form-data.test.js.map +0 -1
  158. package/leavitt/email-history-viewer/email-history-view-list-filter-dialog.d.ts +0 -394
  159. package/leavitt/email-history-viewer/email-history-view-list-filter-dialog.js +0 -233
  160. package/leavitt/email-history-viewer/email-history-view-list-filter-dialog.js.map +0 -1
  161. package/leavitt/email-history-viewer/email-history-viewer.d.ts +0 -413
  162. package/leavitt/email-history-viewer/email-history-viewer.js +0 -403
  163. package/leavitt/email-history-viewer/email-history-viewer.js.map +0 -1
  164. package/leavitt/user-feedback/user-feedback.d.ts +0 -390
  165. package/leavitt/user-feedback/user-feedback.js +0 -221
  166. package/leavitt/user-feedback/user-feedback.js.map +0 -1
  167. package/titanium/access-denied-page/access-denied-page.d.ts +0 -16
  168. package/titanium/access-denied-page/access-denied-page.js +0 -359
  169. package/titanium/access-denied-page/access-denied-page.js.map +0 -1
  170. package/titanium/card/card.d.ts +0 -24
  171. package/titanium/card/card.js +0 -188
  172. package/titanium/card/card.js.map +0 -1
  173. package/titanium/confirm-dialog/confirm-dialog-open-event.d.ts +0 -10
  174. package/titanium/confirm-dialog/confirm-dialog-open-event.js +0 -12
  175. package/titanium/confirm-dialog/confirm-dialog-open-event.js.map +0 -1
  176. package/titanium/confirm-dialog/confirm-dialog.d.ts +0 -25
  177. package/titanium/confirm-dialog/confirm-dialog.js +0 -104
  178. package/titanium/confirm-dialog/confirm-dialog.js.map +0 -1
  179. package/titanium/data-table/data-table-header.d.ts +0 -68
  180. package/titanium/data-table/data-table-header.js +0 -295
  181. package/titanium/data-table/data-table-header.js.map +0 -1
  182. package/titanium/data-table/data-table-item.d.ts +0 -99
  183. package/titanium/data-table/data-table-item.js +0 -561
  184. package/titanium/data-table/data-table-item.js.map +0 -1
  185. package/titanium/data-table/data-table.d.ts +0 -127
  186. package/titanium/data-table/data-table.js +0 -688
  187. package/titanium/data-table/data-table.js.map +0 -1
  188. package/titanium/duration-input/duration-input.d.ts +0 -31
  189. package/titanium/duration-input/duration-input.js +0 -126
  190. package/titanium/duration-input/duration-input.js.map +0 -1
  191. package/titanium/duration-input/outlined-duration-input.d.ts +0 -30
  192. package/titanium/duration-input/outlined-duration-input.js +0 -109
  193. package/titanium/duration-input/outlined-duration-input.js.map +0 -1
  194. package/titanium/error-page/error-page.d.ts +0 -16
  195. package/titanium/error-page/error-page.js +0 -95
  196. package/titanium/error-page/error-page.js.map +0 -1
  197. package/titanium/extendable-outlined-text-field/extendable-outlined-text-field.d.ts +0 -168
  198. package/titanium/extendable-outlined-text-field/extendable-outlined-text-field.js +0 -373
  199. package/titanium/extendable-outlined-text-field/extendable-outlined-text-field.js.map +0 -1
  200. package/titanium/full-page-loading-indicator/full-page-loading-indicator.d.ts +0 -17
  201. package/titanium/full-page-loading-indicator/full-page-loading-indicator.js +0 -121
  202. package/titanium/full-page-loading-indicator/full-page-loading-indicator.js.map +0 -1
  203. package/titanium/header/header.d.ts +0 -39
  204. package/titanium/header/header.js +0 -167
  205. package/titanium/header/header.js.map +0 -1
  206. package/titanium/helpers/load-while.d.ts +0 -374
  207. package/titanium/helpers/load-while.js +0 -28
  208. package/titanium/helpers/load-while.js.map +0 -1
  209. package/titanium/input-validator/input-validator.d.ts +0 -20
  210. package/titanium/input-validator/input-validator.js +0 -48
  211. package/titanium/input-validator/input-validator.js.map +0 -1
  212. package/titanium/input-validator/outlined-input-validator.d.ts +0 -20
  213. package/titanium/input-validator/outlined-input-validator.js +0 -48
  214. package/titanium/input-validator/outlined-input-validator.js.map +0 -1
  215. package/titanium/search-input/search-input.d.ts +0 -29
  216. package/titanium/search-input/search-input.js +0 -123
  217. package/titanium/search-input/search-input.js.map +0 -1
  218. package/titanium/service-worker-notifier/service-worker-notifier.d.ts +0 -9
  219. package/titanium/service-worker-notifier/service-worker-notifier.js +0 -58
  220. package/titanium/service-worker-notifier/service-worker-notifier.js.map +0 -1
  221. package/titanium/youtube-input/youtube-input.d.ts +0 -20
  222. package/titanium/youtube-input/youtube-input.js +0 -72
  223. package/titanium/youtube-input/youtube-input.js.map +0 -1
@@ -1,403 +0,0 @@
1
- import { __decorate } from "tslib";
2
- import '../../titanium/data-table/data-table';
3
- import '../../titanium/data-table/data-table-item';
4
- import '../../titanium/data-table/data-table-header';
5
- import '../../titanium/header/header';
6
- import '../../titanium/search-input/search-input';
7
- import './email-history-view-list-filter-dialog';
8
- import './view-sent-email-dialog';
9
- import './view-email-template-info-dialog';
10
- import '@material/web/icon/icon';
11
- import '@material/web/iconbutton/icon-button';
12
- import '@material/web/iconbutton/filled-tonal-icon-button';
13
- import dayjs from 'dayjs/esm';
14
- import { customElement, property, query, state } from 'lit/decorators.js';
15
- import { FilterController } from '../../titanium/data-table/filter-controller';
16
- import { DateRanges } from '../../titanium/date-range-selector/types/date-ranges';
17
- import { Debouncer } from '../../titanium/helpers/debouncer';
18
- import { getSearchTokens } from '../../titanium/helpers/get-search-token';
19
- import { LoadWhile } from '../../titanium/helpers/load-while';
20
- import { ShowSnackbarEvent } from '../../titanium/snackbar/show-snackbar-event';
21
- import { a } from '../../titanium/styles/a';
22
- import { ellipsis } from '../../titanium/styles/ellipsis';
23
- import { LitElement, css, html, nothing } from 'lit';
24
- import { repeat } from 'lit/directives/repeat.js';
25
- import { isDevelopment } from '@leavittsoftware/web/titanium/helpers/is-development';
26
- /**
27
- * @element leavitt-email-history-viewer
28
-
29
- * @description A component that displays a list of email history for embedding in Leavitt's specific applications.
30
- * @property isActive - Whether the component is active / in view
31
- * @property apiService - The API service to use. This is required to fetch the email history.
32
- * @property path - the route that this component will be available at
33
- */
34
- let LeavittEmailHistoryViewer = class LeavittEmailHistoryViewer extends LoadWhile(LitElement) {
35
- #isActive_accessor_storage;
36
- get isActive() { return this.#isActive_accessor_storage; }
37
- set isActive(value) { this.#isActive_accessor_storage = value; }
38
- #apiService_accessor_storage;
39
- get apiService() { return this.#apiService_accessor_storage; }
40
- set apiService(value) { this.#apiService_accessor_storage = value; }
41
- #path_accessor_storage;
42
- get path() { return this.#path_accessor_storage; }
43
- set path(value) { this.#path_accessor_storage = value; }
44
- #apiControllerName_accessor_storage = 'EmailTemplateLogs';
45
- get apiControllerName() { return this.#apiControllerName_accessor_storage; }
46
- set apiControllerName(value) { this.#apiControllerName_accessor_storage = value; }
47
- #logs_accessor_storage = [];
48
- // Data table props
49
- get logs() { return this.#logs_accessor_storage; }
50
- set logs(value) { this.#logs_accessor_storage = value; }
51
- #selected_accessor_storage = [];
52
- get selected() { return this.#selected_accessor_storage; }
53
- set selected(value) { this.#selected_accessor_storage = value; }
54
- #searchTerm_accessor_storage = '';
55
- get searchTerm() { return this.#searchTerm_accessor_storage; }
56
- set searchTerm(value) { this.#searchTerm_accessor_storage = value; }
57
- #resultTotal_accessor_storage = 0;
58
- get resultTotal() { return this.#resultTotal_accessor_storage; }
59
- set resultTotal(value) { this.#resultTotal_accessor_storage = value; }
60
- #sortDirection_accessor_storage = 'desc';
61
- get sortDirection() { return this.#sortDirection_accessor_storage; }
62
- set sortDirection(value) { this.#sortDirection_accessor_storage = value; }
63
- #sortBy_accessor_storage = 'SentDate';
64
- get sortBy() { return this.#sortBy_accessor_storage; }
65
- set sortBy(value) { this.#sortBy_accessor_storage = value; }
66
- #filterController_accessor_storage;
67
- get filterController() { return this.#filterController_accessor_storage; }
68
- set filterController(value) { this.#filterController_accessor_storage = value; }
69
- #dataTable_accessor_storage;
70
- get dataTable() { return this.#dataTable_accessor_storage; }
71
- set dataTable(value) { this.#dataTable_accessor_storage = value; }
72
- #viewDialog_accessor_storage;
73
- get viewDialog() { return this.#viewDialog_accessor_storage; }
74
- set viewDialog(value) { this.#viewDialog_accessor_storage = value; }
75
- #filterModal_accessor_storage;
76
- get filterModal() { return this.#filterModal_accessor_storage; }
77
- set filterModal(value) { this.#filterModal_accessor_storage = value; }
78
- #viewEmailTemplateInfoDialog_accessor_storage;
79
- get viewEmailTemplateInfoDialog() { return this.#viewEmailTemplateInfoDialog_accessor_storage; }
80
- set viewEmailTemplateInfoDialog(value) { this.#viewEmailTemplateInfoDialog_accessor_storage = value; }
81
- #isDirty = true;
82
- constructor() {
83
- super();
84
- this.filterController = new FilterController('');
85
- this.filterController.setFilter('dateRange', () => '');
86
- this.filterController.setFilter('startDate', () => '');
87
- this.filterController.setFilter('endDate', () => '');
88
- this.filterController.setFilter('template', (val) => `EmailTemplateId eq ${val}`);
89
- this.filterController.subscribeToFilterChange(async () => {
90
- if (this.isActive) {
91
- this.dataTable.resetPage();
92
- this.#reload();
93
- }
94
- else {
95
- this.#isDirty = true;
96
- }
97
- });
98
- this.filterController.loadFromQueryString();
99
- }
100
- updated(changedProps) {
101
- if (this.isActive && (changedProps.has('isActive') || changedProps.has('apiControllerName') || this.#isDirty)) {
102
- this.#reload();
103
- }
104
- if (changedProps.has('path')) {
105
- this.filterController.path = this.path;
106
- }
107
- }
108
- #reload() {
109
- this.#getLogsAsync(this.searchTerm);
110
- }
111
- #onSortDirectionChange(e) {
112
- this.sortDirection = e.detail;
113
- this.dataTable.resetPage();
114
- this.#reload();
115
- }
116
- #onSortByChange(e) {
117
- this.sortBy = e.detail;
118
- this.dataTable.resetPage();
119
- this.#reload();
120
- }
121
- #doSearchDebouncer = new Debouncer((searchTerm) => this.#getLogsAsync(searchTerm));
122
- renderRecipients(recipients, maxRecipients = 1) {
123
- const recipientsList = recipients
124
- ?.split(',')
125
- .filter((o) => !!o)
126
- .map((o) => o.trim())
127
- .reverse() ?? [];
128
- if (recipientsList?.length > maxRecipients) {
129
- return html `${repeat(recipientsList.slice(0, maxRecipients), (o) => o, (o) => html `${o} <br />`)} <span more> ${recipientsList.length - maxRecipients} more... </span>`;
130
- }
131
- return repeat(recipientsList, (o) => o, (o) => html `${o} <br />`);
132
- }
133
- async #getLogsAsync(searchTerm) {
134
- if (!this.apiService) {
135
- console.warn('No api service provided');
136
- return;
137
- }
138
- let filterParts = [];
139
- const searchTokens = getSearchTokens(searchTerm);
140
- const searchFilter = searchTokens.map((token) => `(contains(Subject, '${token}') or contains(Recipients, '${token}'))`).join(' and ');
141
- if (searchTokens.length > 0) {
142
- filterParts.push(`${searchFilter}`);
143
- }
144
- //Date filters
145
- const dateRange = this.filterController.getValue('dateRange');
146
- const startDate = dateRange === 'custom' ? this.filterController.getValue('startDate') : DateRanges.get(dateRange)?.startDate();
147
- const endDate = dateRange === 'custom' ? this.filterController.getValue('endDate') : DateRanges.get(dateRange)?.endDate();
148
- if (startDate) {
149
- filterParts.push(`SentDate ge ${dayjs(startDate).format('YYYY-MM-DD')}`);
150
- }
151
- if (endDate) {
152
- filterParts.push(`SentDate le ${dayjs(endDate).format('YYYY-MM-DD')}`);
153
- }
154
- if (!isDevelopment) {
155
- filterParts.push('IsTestMessage eq false');
156
- }
157
- filterParts = [...filterParts, ...this.filterController.getActiveFilterOdata()];
158
- const odataParts = [
159
- `select=Id,Recipients,SentDate,Subject${isDevelopment ? ',IsTestMessage' : ''}`,
160
- 'expand=EmailTemplate(select=Id,Name,IsExpired)',
161
- `top=${await this.dataTable.getTake()}`,
162
- `orderby=${this.sortBy} ${this.sortDirection}`,
163
- `skip=${(await this.dataTable.getTake()) * (await this.dataTable.getPage())}`,
164
- 'count=true',
165
- ];
166
- if (filterParts.length > 0) {
167
- odataParts.push(`filter=${filterParts.join(' and ')}`);
168
- }
169
- try {
170
- const get = this.apiService.getAsync(`${this.apiControllerName}/?${odataParts.join('&')}`);
171
- this.dataTable.loadWhile(get);
172
- this.loadWhile(get);
173
- const result = await get;
174
- this.resultTotal = result.odataCount;
175
- this.logs = result.toList();
176
- }
177
- catch (error) {
178
- this.dispatchEvent(new ShowSnackbarEvent(error));
179
- }
180
- finally {
181
- this.#isDirty = false;
182
- }
183
- }
184
- static { this.styles = [
185
- ellipsis,
186
- a,
187
- css `
188
- :host {
189
- display: grid;
190
- grid-template-columns: minmax(0, 1fr);
191
- gap: 24px;
192
- }
193
-
194
- header {
195
- display: grid;
196
- gap: 12px;
197
- md-text-button {
198
- justify-self: center;
199
- }
200
- }
201
-
202
- [inactive],
203
- span[time],
204
- span[more] {
205
- font-size: 12px;
206
- line-height: 14px;
207
- opacity: 0.8;
208
- }
209
-
210
- md-filled-tonal-icon-button {
211
- --md-filled-tonal-icon-button-container-height: 32px;
212
- --md-filled-tonal-icon-button-icon-size: 21px;
213
- }
214
-
215
- md-text-button {
216
- text-wrap: auto;
217
- }
218
-
219
- [hidden] {
220
- display: none !important;
221
- }
222
- `,
223
- ]; }
224
- render() {
225
- return html `
226
- <header>
227
- <titanium-header header="Email history" subHeader="A comprehensive record of email correspondence originating from this tool" no-nav></titanium-header>
228
-
229
- <md-text-button @click=${() => this.viewEmailTemplateInfoDialog.open()}>
230
- <md-icon slot="icon">chat_info</md-icon>
231
- <span>What emails does this tool send?</span>
232
- </md-text-button>
233
- </header>
234
- <titanium-data-table
235
- header="Emails"
236
- disable-select
237
- @selected-changed=${(e) => {
238
- this.selected = [...e.detail];
239
- }}
240
- @paging-changed=${() => this.#reload()}
241
- .count=${this.resultTotal}
242
- .items=${this.logs}
243
- .searchTerm=${this.searchTerm}
244
- >
245
- <titanium-search-input
246
- slot="search-button"
247
- title="Search by recipients or subject"
248
- placeholder="Recipients or subject"
249
- .value=${this.searchTerm}
250
- @input=${(e) => {
251
- this.searchTerm = e.target.value;
252
- this.dataTable.resetPage();
253
- this.#doSearchDebouncer.debounce(this.searchTerm);
254
- }}
255
- ></titanium-search-input>
256
-
257
- <leavitt-email-history-view-list-filter-dialog
258
- .isActive=${this.isActive}
259
- slot="filters"
260
- .filterController=${this.filterController}
261
- .apiService=${this.apiService}
262
- ></leavitt-email-history-view-list-filter-dialog>
263
-
264
- <md-icon-button slot="filter-button" @click=${async () => this.filterModal.open()}>
265
- <md-icon>filter_list</md-icon>
266
- </md-icon-button>
267
-
268
- <titanium-data-table-header
269
- width="150px"
270
- slot="table-headers"
271
- title="Sent"
272
- column-name="SentDate"
273
- @sort-by-changed=${this.#onSortByChange}
274
- .sortBy=${this.sortBy}
275
- .sortDirection=${this.sortDirection}
276
- @sort-direction-changed=${this.#onSortDirectionChange}
277
- ></titanium-data-table-header>
278
-
279
- <titanium-data-table-header
280
- large
281
- slot="table-headers"
282
- column-name="Subject"
283
- title="Subject"
284
- @sort-by-changed=${this.#onSortByChange}
285
- .sortBy=${this.sortBy}
286
- .sortDirection=${this.sortDirection}
287
- @sort-direction-changed=${this.#onSortDirectionChange}
288
- ></titanium-data-table-header>
289
-
290
- <titanium-data-table-header
291
- desktop
292
- slot="table-headers"
293
- width="150px"
294
- column-name="Recipients"
295
- title="Recipients"
296
- @sort-by-changed=${this.#onSortByChange}
297
- .sortBy=${this.sortBy}
298
- .sortDirection=${this.sortDirection}
299
- @sort-direction-changed=${this.#onSortDirectionChange}
300
- ></titanium-data-table-header>
301
-
302
- <titanium-data-table-header
303
- desktop
304
- width="150px"
305
- slot="table-headers"
306
- column-name="EmailTemplate/Name"
307
- title="Email template"
308
- @sort-by-changed=${this.#onSortByChange}
309
- .sortBy=${this.sortBy}
310
- .sortDirection=${this.sortDirection}
311
- @sort-direction-changed=${this.#onSortDirectionChange}
312
- ></titanium-data-table-header>
313
-
314
- ${isDevelopment
315
- ? html `<titanium-data-table-header
316
- width="50px"
317
- desktop
318
- slot="table-headers"
319
- column-name="IsTestMessage"
320
- title="Test"
321
- @sort-by-changed=${this.#onSortByChange}
322
- .sortBy=${this.sortBy}
323
- .sortDirection=${this.sortDirection}
324
- @sort-direction-changed=${this.#onSortDirectionChange}
325
- ></titanium-data-table-header>`
326
- : nothing}
327
-
328
- <titanium-data-table-header width="50px" no-sort slot="table-headers"></titanium-data-table-header>
329
- ${repeat(this.logs ?? [], (item) => item.Id, (item) => html `
330
- <titanium-data-table-item disable-select .item=${item} slot="items">
331
- <row-item width="150px" ellipsis date
332
- >${item.SentDate
333
- ? html `${dayjs(item.SentDate).format('MMM DD, YY')}<br /><span time>${dayjs(item.SentDate).format('h:mm A')}</span>`
334
- : '-'}</row-item
335
- >
336
- <row-item large ellipsis>${item.Subject ?? '-'}</row-item>
337
- <row-item desktop width="150px" title=${item.Recipients ?? ''}>${this.renderRecipients(item.Recipients ?? null)}</row-item>
338
- <row-item desktop width="150px">
339
- <div>${item.EmailTemplate?.Name}</div>
340
- ${item.EmailTemplate?.IsExpired ? html `<div inactive>Inactive</div>` : ''}</row-item
341
- >
342
- ${isDevelopment ? html `<row-item width="50px" desktop title="Test Message"><div>${item.IsTestMessage ? 'Yes' : 'No'}</div></row-item>` : nothing}
343
- <row-item width="50px"
344
- ><md-filled-tonal-icon-button @click=${() => this.viewDialog.open(item.Id ?? 0)}><md-icon>pageview</md-icon></md-filled-tonal-icon-button>
345
- </row-item>
346
- </titanium-data-table-item>
347
- `)}
348
- </titanium-data-table>
349
- <leavitt-view-sent-email-dialog .apiService=${this.apiService}></leavitt-view-sent-email-dialog>
350
- <leavitt-view-email-template-info-dialog .apiService=${this.apiService}></leavitt-view-email-template-info-dialog>
351
- `;
352
- }
353
- };
354
- __decorate([
355
- property({ type: Boolean })
356
- ], LeavittEmailHistoryViewer.prototype, "isActive", null);
357
- __decorate([
358
- property({ type: Object })
359
- ], LeavittEmailHistoryViewer.prototype, "apiService", null);
360
- __decorate([
361
- property({ type: String })
362
- ], LeavittEmailHistoryViewer.prototype, "path", null);
363
- __decorate([
364
- property({ type: String })
365
- ], LeavittEmailHistoryViewer.prototype, "apiControllerName", null);
366
- __decorate([
367
- state()
368
- ], LeavittEmailHistoryViewer.prototype, "logs", null);
369
- __decorate([
370
- state()
371
- ], LeavittEmailHistoryViewer.prototype, "selected", null);
372
- __decorate([
373
- state()
374
- ], LeavittEmailHistoryViewer.prototype, "searchTerm", null);
375
- __decorate([
376
- state()
377
- ], LeavittEmailHistoryViewer.prototype, "resultTotal", null);
378
- __decorate([
379
- state()
380
- ], LeavittEmailHistoryViewer.prototype, "sortDirection", null);
381
- __decorate([
382
- state()
383
- ], LeavittEmailHistoryViewer.prototype, "sortBy", null);
384
- __decorate([
385
- state()
386
- ], LeavittEmailHistoryViewer.prototype, "filterController", null);
387
- __decorate([
388
- query('titanium-data-table')
389
- ], LeavittEmailHistoryViewer.prototype, "dataTable", null);
390
- __decorate([
391
- query('leavitt-view-sent-email-dialog')
392
- ], LeavittEmailHistoryViewer.prototype, "viewDialog", null);
393
- __decorate([
394
- query('leavitt-email-history-view-list-filter-dialog')
395
- ], LeavittEmailHistoryViewer.prototype, "filterModal", null);
396
- __decorate([
397
- query('leavitt-view-email-template-info-dialog')
398
- ], LeavittEmailHistoryViewer.prototype, "viewEmailTemplateInfoDialog", null);
399
- LeavittEmailHistoryViewer = __decorate([
400
- customElement('leavitt-email-history-viewer')
401
- ], LeavittEmailHistoryViewer);
402
- export default LeavittEmailHistoryViewer;
403
- //# sourceMappingURL=email-history-viewer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"email-history-viewer.js","sourceRoot":"","sources":["email-history-viewer.ts"],"names":[],"mappings":"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"}