robbyson-frontend-library 0.0.1-rc1 → 0.0.1-rc11

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 (151) hide show
  1. package/dist/components/drawer/drawer.interface.js +1 -0
  2. package/dist/components/filter/filter.interface.js +1 -0
  3. package/dist/components/header-context-menu/header-context-menu.interface.js +1 -0
  4. package/dist/components/loading/loading.interface.js +1 -0
  5. package/dist/components/overlay/overlay.interface.js +1 -0
  6. package/dist/components/pages/base-app-page.component.js +20 -5
  7. package/dist/components/pages/base-app-page.styles.js +14 -5
  8. package/dist/components/pdf-viewer/pdf-viewer.interface.js +1 -0
  9. package/dist/components/range-date-picker/range-date-picker.interface.js +1 -0
  10. package/dist/components/sort/sort.interface.js +1 -0
  11. package/dist/components/tab/tab.interface.js +1 -0
  12. package/dist/components/terms-of-use/terms-of-use.interface.js +1 -0
  13. package/dist/components/time-picker/time-picker.interface.js +1 -0
  14. package/dist/components/tree-date-picker/tree-date-picker.interface.js +1 -0
  15. package/dist/constants/layout-dimensions.constants.js +4 -3
  16. package/dist/factories/index.js +1 -0
  17. package/dist/factories/query-params.factory.js +52 -0
  18. package/dist/factories/response.factory.js +3 -2
  19. package/dist/index.js +7 -0
  20. package/dist/models/document.model.js +24 -0
  21. package/dist/models/guidance-category.model.js +24 -0
  22. package/dist/models/guidance-query.model.js +24 -0
  23. package/dist/models/guidance.model.js +40 -0
  24. package/dist/models/http-response.model.js +11 -0
  25. package/dist/models/humor-list.model.js +24 -0
  26. package/dist/models/humor-register.model.js +40 -0
  27. package/dist/models/theme-base.js +4 -0
  28. package/dist/repositories/base.repository.js +9 -0
  29. package/dist/repositories/document.repository.interface.js +1 -0
  30. package/dist/repositories/guidance.repository.interface.js +1 -0
  31. package/dist/repositories/humor.repository.interface.js +1 -0
  32. package/dist/services/document.service.interface.js +1 -0
  33. package/dist/services/dtos/example.dto.js +1 -0
  34. package/dist/services/dtos/index.js +1 -0
  35. package/dist/services/guidance.service.interface.js +1 -0
  36. package/dist/services/humor.service.interface.js +1 -0
  37. package/dist/services/validations.service.interface.js +1 -0
  38. package/dist/utils/build-error/buildError.util.js +1 -1
  39. package/dist/utils/date.utils.js +30 -0
  40. package/dist/utils/index.js +1 -0
  41. package/dist/utils/layout.utils.js +10 -0
  42. package/dist/utils/robbyson-navigate.js +34 -1
  43. package/index.d.ts +18 -5
  44. package/package.json +7 -5
  45. package/src/components/accordion/accordion.interface.ts +2 -1
  46. package/src/components/badge/badge.interface.ts +3 -2
  47. package/src/components/balloon/balloon.interface.ts +2 -2
  48. package/src/components/base-component.prop.interface.ts +2 -0
  49. package/src/components/{base-page.prop.interface.tsx → base-page.prop.interface.ts} +1 -2
  50. package/src/components/basic-button/{basic-button.interface.tsx → basic-button.interface.ts} +4 -1
  51. package/src/components/date-picker/date-picker.interface.ts +13 -0
  52. package/src/components/date-picker/date-picker.types.d.ts +10 -0
  53. package/src/components/date-picker/index.d.ts +1 -0
  54. package/src/components/drawer/drawer.interface.ts +10 -0
  55. package/src/components/drawer/drawer.types.d.ts +10 -0
  56. package/src/components/drawer/index.d.ts +1 -0
  57. package/src/components/filter/basic-button.types.d.ts +9 -0
  58. package/src/components/filter/filter.interface.tsx +61 -0
  59. package/src/components/filter/index.d.ts +1 -0
  60. package/src/components/header-context-menu/header-context-menu.interface.ts +13 -0
  61. package/src/components/header-context-menu/header-context-menu.types.d.ts +9 -0
  62. package/src/components/header-context-menu/index.d.ts +1 -0
  63. package/src/components/loading/index.d.ts +1 -0
  64. package/src/components/loading/loading.interface.ts +10 -0
  65. package/src/components/loading/loading.types.d.ts +9 -0
  66. package/src/components/{menu.interface.tsx → menu.interface.ts} +6 -0
  67. package/src/components/modal/modal.interface.ts +19 -9
  68. package/src/components/mood-button/mood-button.interface.ts +2 -2
  69. package/src/components/overlay/index.d.ts +1 -0
  70. package/src/components/overlay/overlay.interface.ts +7 -0
  71. package/src/components/overlay/overlay.types.d.ts +9 -0
  72. package/src/components/pages/base-app-page.component.tsx +15 -13
  73. package/src/components/pages/base-app-page.styles.ts +53 -7
  74. package/src/components/pagination/pagination.interface.ts +2 -2
  75. package/src/components/pdf-viewer/index.d.ts +1 -0
  76. package/src/components/pdf-viewer/pdf-viewer.interface.ts +5 -0
  77. package/src/components/pdf-viewer/pdf-viewer.types.d.ts +10 -0
  78. package/src/components/range-date-picker/index.d.ts +1 -0
  79. package/src/components/range-date-picker/range-date-picker.interface.ts +16 -0
  80. package/src/components/range-date-picker/range-date-picker.types.d.ts +10 -0
  81. package/src/components/scroll-box/scroll-box.interface.ts +2 -1
  82. package/src/components/sidebar/sidebar.interface.ts +13 -9
  83. package/src/components/sort/index.d.ts +1 -0
  84. package/src/components/sort/sort.interface.ts +28 -0
  85. package/src/components/sort/sort.types.d.ts +9 -0
  86. package/src/components/tab/index.d.ts +1 -0
  87. package/src/components/tab/tab.interface.ts +16 -0
  88. package/src/components/tab/tab.types.d.ts +9 -0
  89. package/src/components/tags/tags.interface.ts +2 -1
  90. package/src/components/terms-of-use/index.d.ts +1 -0
  91. package/src/components/terms-of-use/terms-of-use.interface.tsx +13 -0
  92. package/src/components/terms-of-use/terms-of-use.types.d.ts +11 -0
  93. package/src/components/text-field/text-field.interface.ts +41 -0
  94. package/src/components/time-picker/index.d.ts +1 -0
  95. package/src/components/time-picker/time-picker.interface.ts +15 -0
  96. package/src/components/time-picker/time-picker.types.d.ts +9 -0
  97. package/src/components/toggle-icon-button/toggle-icon-button.interface.ts +1 -1
  98. package/src/components/tree-date-picker/index.d.ts +1 -0
  99. package/src/components/tree-date-picker/tree-date-picker.interface.ts +30 -0
  100. package/src/components/tree-date-picker/tree-date-picker.types.d.ts +10 -0
  101. package/src/constants/layout-dimensions.constants.ts +4 -3
  102. package/src/factories/index.ts +2 -1
  103. package/src/factories/query-params.factory.ts +82 -0
  104. package/src/factories/response.factory.ts +17 -12
  105. package/src/index.ts +9 -1
  106. package/src/models/document.model.ts +27 -0
  107. package/src/models/guidance-category.model.ts +8 -0
  108. package/src/models/guidance-query.model.ts +11 -0
  109. package/src/models/guidance.model.ts +58 -0
  110. package/src/models/http-response.model.ts +14 -0
  111. package/src/models/humor-list.model.ts +23 -0
  112. package/src/models/humor-register.model.ts +35 -0
  113. package/src/models/index.d.ts +7 -0
  114. package/src/models/theme-base.ts +16 -1
  115. package/src/repositories/{base.repository.tsx → base.repository.ts} +11 -0
  116. package/src/repositories/document.repository.interface.ts +17 -0
  117. package/src/repositories/guidance.repository.interface.ts +11 -0
  118. package/src/repositories/humor.repository.interface.ts +10 -0
  119. package/src/repositories/index.d.ts +4 -1
  120. package/src/services/authentication.service.interface.ts +2 -0
  121. package/src/services/document.service.interface.ts +20 -0
  122. package/src/services/dtos/example.dto.ts +1 -0
  123. package/src/services/dtos/index.ts +1 -0
  124. package/src/services/guidance.service.interface.ts +27 -0
  125. package/src/services/humor.service.interface.ts +12 -0
  126. package/src/services/index.d.ts +5 -0
  127. package/src/services/theme.service.interface.ts +2 -1
  128. package/src/services/validations.service.interface.ts +7 -0
  129. package/src/states/main-container/root-app.state.interface.ts +8 -1
  130. package/src/utils/build-error/buildError.util.ts +1 -1
  131. package/src/utils/date.utils.ts +35 -0
  132. package/src/utils/index.ts +2 -1
  133. package/src/utils/layout.utils.ts +7 -0
  134. package/src/utils/robbyson-navigate.ts +45 -2
  135. package/tsconfig.json +4 -1
  136. package/src/components/base-component.prop.interface.tsx +0 -4
  137. package/src/components/snackbar/index.d.ts +0 -1
  138. package/src/components/snackbar/snackbar.interface.ts +0 -16
  139. package/src/components/snackbar/snackbar.types.d.ts +0 -9
  140. package/src/components/text-field/text-field.interface.tsx +0 -27
  141. /package/dist/components/{snackbar/snackbar.interface.js → date-picker/date-picker.interface.js} +0 -0
  142. /package/src/components/assets/{assets.interfaces.tsx → assets.interfaces.ts} +0 -0
  143. /package/src/components/{base-test.prop.interface.tsx → base-test.prop.interface.ts} +0 -0
  144. /package/src/components/colors/{colors.interfaces.tsx → colors.interfaces.ts} +0 -0
  145. /package/src/components/divider/{divider.interface.tsx → divider.interface.ts} +0 -0
  146. /package/src/components/{index.tsx → index.ts} +0 -0
  147. /package/src/components/progress-bar/{progress-bar.interface.tsx → progress-bar.interface.ts} +0 -0
  148. /package/src/components/progress-tracker/{progress-tracker.interface.tsx → progress-tracker.interface.ts} +0 -0
  149. /package/src/components/select/{select.interface.tsx → select.interface.ts} +0 -0
  150. /package/src/components/typography/{typography.interfaces.tsx → typography.interfaces.ts} +0 -0
  151. /package/src/components/upload/{upload.interface.tsx → upload.interface.ts} +0 -0
@@ -5,3 +5,10 @@ export * from "./result-level.model";
5
5
  export * from "./angel-friend-status.model";
6
6
  export * from "./send-user-to-login.model";
7
7
  export * from "./term-of-use.model";
8
+ export * from "./humor-list.model";
9
+ export * from "./humor-register.model";
10
+ export * from "./document.model"
11
+ export * from "./guidance-category.model";
12
+ export * from "./guidance-query.model";
13
+ export * from "./guidance.model";
14
+ export * from "./http-response.model";
@@ -79,11 +79,13 @@ class ThemeBaseColors {
79
79
  };
80
80
  complementary: {
81
81
  agendaReminder: string;
82
+ angelGodson: string;
83
+ angelGodfather: string;
82
84
  };
83
85
 
84
86
  }
85
87
 
86
- export type IconHandle = 'active-bold' | 'active-thin' | 'add-challenge-bold' | 'avatar-login' | 'add-challenge-thin' | 'add-notification-bold' | 'add-notification-thin' | 'add-quiz-bold' | 'add-quiz-thin' | 'angel-friend-add-bold' | 'angel-friend-add-thin' | 'angel-friend-bold' | 'angel-friend-thin' | 'attachment-bold' | 'attachment-thin' | 'auction-bold' | 'auction-thin' | 'available-bold' | 'available-thin' | 'broadcast-bold' | 'broadcast-thin' | 'calendar-bold' | 'calendar-thin' | 'camera-bold' | 'camera-thin' | 'cancel-bold' | 'cancel-thin' | 'challenge-bold' | 'challenge-thin' | 'chat-bold' | 'chatbot-bold' | 'chatbot-thin' | 'chat-fil-bold' | 'chat-fill-thin' | 'chat-smile-bold' | 'chat-smile-thin' | 'chat-thin' | 'check-bold' | 'check-thin' | 'chocolate-menu' | 'chronometer-bold' | 'chronometer-thin' | 'clock-bold' | 'clock-thin' | 'close-bold' | 'close-thin' | 'cloud-bold' | 'cloud-thin' | 'coin-bold' | 'coin-thin' | 'column-view-active-bold' | 'column-view-active-thin' | 'column-view-bold' | 'column-view-thin' | 'contacts-bold' | 'contacts-thin' | 'delete-bold' | 'delete-thin' | 'documents-bold' | 'documents-thin' | 'down-arrow' | 'download-bold' | 'download-thin' | 'downward-arrow-bold' | 'downward-arrow-thin' | 'duplicate-bold' | 'duplicate-thin' | 'eagle-bold' | 'eagle-thin' | 'edit-bold' | 'edit-thin' | 'emoji-bold' | 'emoji-thin' | 'family-bold' | 'family-thin' | 'filter-active-bold' | 'filter-active-thin' | 'filter-inactive-bold' | 'filter-inactive-thin' | 'filter' | 'forward-bold' | 'forward-thin' | 'goal-bold' | 'goal-thin' | 'grid-view-active-bold' | 'grid-view-active-thin' | 'grid-view-bold' | 'grid-view-thin' | 'group-bold' | 'group-brackets-bold' | 'group-brackets-thin' | 'group-fill-bold' | 'group-fill-thin' | 'group-thin' | 'guide-bold' | 'guide-thin' | 'health-bold' | 'health-thin' | 'heart-bold' | 'heart-fill-bold' | 'heart-fill-thin' | 'heart-thin' | 'humor-bold' | 'humor-thin' | 'inactive-bold' | 'inactive-thin' | 'indicator-bold' | 'indicator-thin' | 'info-bold' | 'info-thin' | 'integration-bold' | 'integration-thin' | 'learning-bold' | 'learning-thin' | 'leave-bold' | 'leave-thin' | 'left-arrow-large' | 'left-arrow-small' | 'like-bold' | 'like-fill-bold' | 'like-fill-thin' | 'like-thin' | 'magnifying-glass-bold' | 'magnifying-glass-thin' | 'minus' | 'more-vert' | 'mountain-bold' | 'mountain-thin' | 'new-document-bold' | 'new-document-thin' | 'new-tip-thin-1' | 'new-tip-thin' | 'notification-bold' | 'notification-thin' | 'objetive-bold' | 'objetive-thin' | 'order-bold-1' | 'order-bold' | 'order-thin-1' | 'order-thin' | 'performance-bold' | 'performance-thin' | 'phone-bold' | 'phone-thin' | 'plus' | 'quiz-bold' | 'quiz-thin' | 'raffle-bold' | 'raffle-draw-bold' | 'raffle-draw-thin' | 'raffle-thin' | 'relationship-bold' | 'relationship-thin' | 'reports-bold' | 'reports-thin' | 'right-arrow-large' | 'right-arrow-small' | 'send-bold' | 'send-thin' | 'settings-bold' | 'settings-thin' | 'star-bold' | 'star-thin' | 'store-bold' | 'store-item-bold' | 'store-item-thin' | 'store-thin' | 'tag-bold' | 'tag-thin' | 'test-bold' | 'test-thin' | 'tips-bold' | 'tips-thin' | 'tree-bold' | 'tree-thin' | 'trophy-bold' | 'trophy-thin' | 'up-arrow' | 'upload-bold' | 'upload-thin' | 'upward-arrow-bold' | 'upward-arrow-thin' | 'user-bold' | 'user-thin' | 'variable-pay-bold' | 'variable-pay-thin' | 'view-bold' | 'view-thin' | 'not-view-thin' | 'not-view-bold' | 'work-bold' | 'working' | 'work-thin';
88
+ export type IconHandle = 'active-bold' | 'active-thin' | 'add-challenge-bold' | 'avatar-login' | 'add-challenge-thin' | 'add-notification-bold' | 'add-notification-thin' | 'add-quiz-bold' | 'add-quiz-thin' | 'angel-friend-add-bold' | 'angel-friend-add-thin' | 'angel-friend-bold' | 'angel-friend-thin' | 'attachment-bold' | 'attachment-thin' | 'auction-bold' | 'auction-thin' | 'available-bold' | 'available-thin' | 'broadcast-bold' | 'broadcast-thin' | 'calendar-bold' | 'calendar-thin' | 'camera-bold' | 'camera-thin' | 'cancel-bold' | 'cancel-thin' | 'challenge-bold' | 'challenge-thin' | 'chat-bold' | 'chatbot-bold' | 'chatbot-thin' | 'chat-fil-bold' | 'chat-fill-thin' | 'chat-smile-bold' | 'chat-smile-thin' | 'chat-thin' | 'check-bold' | 'check-thin' | 'chocolate-menu' | 'chronometer-bold' | 'chronometer-thin' | 'clock-bold' | 'clock-thin' | 'close-bold' | 'close-thin' | 'cloud-bold' | 'cloud-thin' | 'coin-bold' | 'coin-thin' | 'column-view-active-bold' | 'column-view-active-thin' | 'column-view-bold' | 'column-view-thin' | 'contacts-bold' | 'contacts-thin' | 'delete-bold' | 'delete-thin' | 'documents-bold' | 'documents-thin' | 'down-arrow' | 'download-bold' | 'download-thin' | 'downward-arrow-bold' | 'downward-arrow-thin' | 'duplicate-bold' | 'duplicate-thin' | 'eagle-bold' | 'eagle-thin' | 'edit-bold' | 'edit-thin' | 'emoji-bold' | 'emoji-thin' | 'family-bold' | 'family-thin' | 'filter-active-bold' | 'filter-active-thin' | 'filter-inactive-bold' | 'filter-inactive-thin' | 'filter' | 'forward-bold' | 'forward-thin' | 'goal-bold' | 'goal-thin' | 'grid-view-active-bold' | 'grid-view-active-thin' | 'grid-view-bold' | 'grid-view-thin' | 'group-bold' | 'group-brackets-bold' | 'group-brackets-thin' | 'group-fill-bold' | 'group-fill-thin' | 'group-thin' | 'guide-bold' | 'guide-thin' | 'health-bold' | 'health-thin' | 'heart-bold' | 'heart-fill-bold' | 'heart-fill-thin' | 'heart-thin' | 'humor-bold' | 'humor-thin' | 'inactive-bold' | 'inactive-thin' | 'indicator-bold' | 'indicator-thin' | 'info-bold' | 'info-thin' | 'integration-bold' | 'integration-thin' | 'learning-bold' | 'learning-thin' | 'leave-bold' | 'leave-thin' | 'left-arrow-large' | 'left-arrow-small' | 'like-bold' | 'like-fill-bold' | 'like-fill-thin' | 'like-thin' | 'magnifying-glass-bold' | 'magnifying-glass-thin' | 'minus' | 'more-vert' | 'mountain-bold' | 'mountain-thin' | 'new-document-bold' | 'new-document-thin' | 'new-tip-thin-1' | 'new-tip-thin' | 'notification-bold' | 'notification-thin' | 'objetive-bold' | 'objetive-thin' | 'order-bold-1' | 'order-bold' | 'order-thin-1' | 'order-thin' | 'performance-bold' | 'performance-thin' | 'phone-bold' | 'phone-thin' | 'plus' | 'quiz-bold' | 'quiz-thin' | 'raffle-bold' | 'raffle-draw-bold' | 'raffle-draw-thin' | 'raffle-thin' | 'relationship-bold' | 'relationship-thin' | 'reports-bold' | 'reports-thin' | 'right-arrow-large' | 'right-arrow-small' | 'send-bold' | 'send-thin' | 'settings-bold' | 'settings-thin' | 'star-bold' | 'star-thin' | 'store-bold' | 'store-item-bold' | 'store-item-thin' | 'store-thin' | 'tag-bold' | 'tag-thin' | 'test-bold' | 'test-thin' | 'tips-bold' | 'tips-thin' | 'tree-bold' | 'tree-thin' | 'trophy-bold' | 'trophy-thin' | 'up-arrow' | 'upload-bold' | 'upload-thin' | 'upward-arrow-bold' | 'upward-arrow-thin' | 'user-bold' | 'user-thin' | 'variable-pay-bold' | 'variable-pay-thin' | 'view-bold' | 'view-thin' | 'not-view-thin' | 'not-view-bold' | 'work-bold' | 'working' | 'work-thin' | 'no-results-found' | 'not-found-bold' | 'hamburger-menu';
87
89
 
88
90
  class ThemeBaseRect {
89
91
  top: string;
@@ -123,9 +125,14 @@ export class ThemeBase {
123
125
  typography: {
124
126
  h1: ThemeTypography,
125
127
  h2: ThemeTypography,
128
+ h2Medium: ThemeTypography,
129
+ mobh2Medium: ThemeTypography,
126
130
  h3: ThemeTypography,
131
+ mobh3Medium: ThemeTypography,
127
132
  h4: ThemeTypography,
133
+ mobh4Medium: ThemeTypography,
128
134
  h5: ThemeTypography,
135
+ mobh5Medium: ThemeTypography,
129
136
  h6: ThemeTypography,
130
137
  subtitle1: ThemeTypography,
131
138
  subtitle2: ThemeTypography,
@@ -150,6 +157,10 @@ export class ThemeBase {
150
157
  logoCompleteNegative: ThemeAssets;
151
158
  logoIconNegative: ThemeAssets;
152
159
  backgroundLogo: ThemeAssets;
160
+ humorAvatar: ThemeAssets,
161
+ humorImGoodCircle: ThemeAssets,
162
+ humorImTopCircle: ThemeAssets,
163
+ humorImbadCircle: ThemeAssets,
153
164
  logoMobile: ThemeAssets;
154
165
  loginRobbysonAvatar: ThemeAssets;
155
166
  };
@@ -164,6 +175,10 @@ export class ThemeBase {
164
175
  logoCompleteNegative: new ThemeAssets(),
165
176
  logoIconNegative: new ThemeAssets(),
166
177
  backgroundLogo: new ThemeAssets(),
178
+ humorAvatar: new ThemeAssets(),
179
+ humorImGoodCircle: new ThemeAssets(),
180
+ humorImTopCircle: new ThemeAssets(),
181
+ humorImbadCircle: new ThemeAssets(),
167
182
  logoMobile: new ThemeAssets(),
168
183
  loginRobbysonAvatar: new ThemeAssets(),
169
184
  };
@@ -125,4 +125,15 @@ export class BaseRepository {
125
125
 
126
126
  return config;
127
127
  }
128
+
129
+ protected createAxiosCancelationContext(): void {
130
+ BaseRepository._source = axios.CancelToken.source();
131
+ }
132
+
133
+ protected cancelAxiosRequest(): void {
134
+ if (BaseRepository._source) {
135
+ BaseRepository._source.cancel();
136
+ BaseRepository._source = null;
137
+ }
138
+ }
128
139
  }
@@ -0,0 +1,17 @@
1
+ import { DocumentModel } from "../models";
2
+
3
+ export interface IDocumentRepository {
4
+ getUnansweredDocuments(): Promise<{
5
+ items: Array<DocumentModel>;
6
+ numTotalItems: number;
7
+ }>;
8
+ updateDocument(
9
+ id: string,
10
+ data: {
11
+ answered?: boolean;
12
+ accepted?: boolean;
13
+ observation?: string;
14
+ viewed?: boolean;
15
+ }
16
+ ): Promise<void>;
17
+ }
@@ -0,0 +1,11 @@
1
+ import { GuidanceCategoryModel, GuidanceModel, GuidanceQueryListModel, HttpListResponse } from "../models";
2
+
3
+ export interface IGuidanceRepository {
4
+ getCategories(): Promise<GuidanceCategoryModel[]>;
5
+ getUserFiles(params: GuidanceQueryListModel): Promise<HttpListResponse<GuidanceModel[]>>;
6
+ toggleFavorite(id: string): Promise<void>;
7
+ getFavoriteUserFiles(params: GuidanceQueryListModel): Promise<HttpListResponse<GuidanceModel[]>>;
8
+ getUserFile(id: string): Promise<GuidanceModel>;
9
+ registerFileAccessToUser(guidanceId: string, fileId: string, imageToken: string): Promise<void>;
10
+ registerFileDownloadToUser(guidanceId: string, fileId: string, imageToken: string): Promise<void>;
11
+ }
@@ -0,0 +1,10 @@
1
+ import { HumorLastModel, HumorListModel, HumorRegisterModel, HumorRegisterResponseModel } from "../models";
2
+
3
+ export interface IHumorRepository {
4
+ getLastHumor(id : number): Promise<HumorLastModel[]>;
5
+ getListHumor(): Promise<HumorListModel[]>;
6
+ registerHumor({ humor }: {
7
+ humor: HumorRegisterModel;
8
+ }): Promise<HumorRegisterResponseModel>;
9
+ answeredHumorToday(id: number, timezone: string): Promise<boolean>;
10
+ }
@@ -4,4 +4,7 @@ export * from './theme.repository.interface';
4
4
  export * from './results.repository.interface';
5
5
  export * from './angel-friend.repository.interface';
6
6
  export * from './user.repository.interface';
7
- export * from "./terms-of-use.repository.interface";
7
+ export * from "./terms-of-use.repository.interface";
8
+ export * from "./guidance.repository.interface";
9
+ export * from "./humor.repository.interface";
10
+ export * from "./document.repository.interface";
@@ -13,5 +13,7 @@ export interface IAuthenticationService {
13
13
  getUserSession(): UserSessionModel | undefined
14
14
  clearSession(): void;
15
15
  ipWhiteList(): boolean;
16
+ clearIpWhiteList(): void;
17
+ logout(): void;
16
18
  getRecaptchaWhiteListed(): Promise<void>;
17
19
  }
@@ -0,0 +1,20 @@
1
+ import { DocumentModel } from "../models";
2
+
3
+ export interface IDocumentService {
4
+ getUnansweredDocuments(): Promise<{
5
+ items: Array<DocumentModel>;
6
+ numTotalItems: number;
7
+ }>;
8
+ updateDocument(
9
+ id: string,
10
+ data: {
11
+ answered?: boolean;
12
+ accepted?: boolean;
13
+ observation?: string;
14
+ viewed?: boolean;
15
+ }
16
+ ): Promise<void>;
17
+
18
+ setDocumentsToAnswer(data: boolean): void;
19
+ hasDocumentsToAnswer(): boolean | undefined;
20
+ }
@@ -0,0 +1 @@
1
+ export interface ExempleDTO {}
@@ -0,0 +1 @@
1
+ export * as ExampleDTO from "./example.dto";
@@ -0,0 +1,27 @@
1
+ import {
2
+ GuidanceFileObject,
3
+ GuidanceCategoryModel,
4
+ GuidanceModel,
5
+ GuidanceQueryListModel,
6
+ HttpListResponse,
7
+ } from "../models";
8
+
9
+ export interface IGuidanceService {
10
+ getUserFiles(
11
+ params?: GuidanceQueryListModel
12
+ ): Promise<HttpListResponse<GuidanceModel[]>>;
13
+ getCategories(): Promise<GuidanceCategoryModel[]>;
14
+ toggleFavorite(id: string): Promise<void>;
15
+ getFavoriteUserFiles(
16
+ params?: GuidanceQueryListModel
17
+ ): Promise<HttpListResponse<GuidanceModel[]>>;
18
+ getUserFile(id: string): Promise<GuidanceModel>;
19
+ registerFileAccessToUser(
20
+ guidanceId: string,
21
+ file: GuidanceFileObject
22
+ ): Promise<void>;
23
+ registerFileDownloadToUser(
24
+ guidanceId: string,
25
+ file: GuidanceFileObject
26
+ ): Promise<void>;
27
+ }
@@ -0,0 +1,12 @@
1
+ import { HumorLastModel, HumorListModel, HumorRegisterModel } from "../models";
2
+
3
+ export interface IHumorService {
4
+ getLastHumor(id : number): Promise<HumorLastModel[]>;
5
+ getLastHumorUser(): HumorLastModel[] | undefined;
6
+ hasRegisterHumor(): boolean | undefined;
7
+ getListHumor(): Promise<HumorListModel[]>;
8
+ registerHumor({ humor }: {
9
+ humor: HumorRegisterModel;
10
+ }): Promise<boolean>;
11
+ answeredHumorToday(id: number, timezone: string): Promise<boolean>;
12
+ }
@@ -5,3 +5,8 @@ export * from "./results.service.interface";
5
5
  export * from "./angel-friend.service.interface";
6
6
  export * from "./user.service.interface";
7
7
  export * from "./terms-of-use.service.interface";
8
+ export * from "./humor.service.interface";
9
+ export * from "./document.service.interface";
10
+ export * from "./guidance.service.interface";
11
+ export * from "./validations.service.interface";
12
+ export * from "./dtos";
@@ -1,8 +1,9 @@
1
- import { IconHandle } from "../models";
1
+ import { IconHandle, ThemeBase } from "../models";
2
2
 
3
3
  export interface IThemeService {
4
4
  setApplicationTheme(contractorId?: number): Promise<Boolean>;
5
5
  getIconAssetUrl(iconHandle: IconHandle): string;
6
6
  getIconsList(): readonly IconHandle[];
7
7
  getIconsPath(): string;
8
+ getApplicationTheme(): ThemeBase| undefined;
8
9
  }
@@ -0,0 +1,7 @@
1
+ import { UserSessionModel } from "../models";
2
+
3
+ export interface IValidationsService {
4
+ checkTermsOfUse(userSession: UserSessionModel | undefined): boolean;
5
+ checkHumor(): Promise<void>;
6
+ checkDocuments(userSession: UserSessionModel | undefined): Promise<boolean>;
7
+ }
@@ -1,15 +1,22 @@
1
- import { ThemeBase, UserSessionModel } from "../../models";
1
+ import { HumorLastModel, HumorListModel, ThemeBase, UserSessionModel } from "../../models";
2
2
  import { BrowserHistory } from "history"
3
3
 
4
4
  export interface IRootApp {
5
5
  userSession?: UserSessionModel,
6
6
  angelFriendData?: any,
7
7
  ipWhiteList: boolean,
8
+ isTabletOrMobile: boolean,
8
9
  currentLocale?: any,
9
10
  currentTheme: ThemeBase,
10
11
  apisUrls: {
11
12
  private: string
12
13
  },
14
+ hasDocumentsToAnswer: boolean | undefined,
13
15
  history: BrowserHistory,
16
+ humor?: {
17
+ listHumor : HumorListModel[],
18
+ lastHumor : HumorLastModel[],
19
+ hasRegisterMood: boolean,
20
+ }
14
21
  createGlobalImplementations: () => void,
15
22
  }
@@ -4,7 +4,7 @@ import { ResponseStatusLogMessages, RobbysonResponseError } from "../../factorie
4
4
  export class BuildError {
5
5
 
6
6
  public static buildError(error: RobbysonResponseError): RobbysonResponseError {
7
- error.data.map((err: ResponseStatusLogMessages) => {
7
+ error.data.forEach((err: ResponseStatusLogMessages) => {
8
8
  return toast.error(err.text);
9
9
  });
10
10
 
@@ -0,0 +1,35 @@
1
+ import _ from "lodash";
2
+ import moment from "moment";
3
+
4
+ export class DateUtils {
5
+ static isSameDateAsNow(date: Date): boolean {
6
+ return moment(date).isSame(moment(new Date()), "day");
7
+ }
8
+
9
+ static isPastDateAsNow(date: Date): boolean {
10
+ return moment(date).isBefore(moment(new Date()));
11
+ }
12
+
13
+ static getDateBetweenDates(start: Date, end: Date): Date[] {
14
+ const clonedStart = _.cloneDeep(start);
15
+
16
+ if (
17
+ !start ||
18
+ !end ||
19
+ !(start instanceof Date) ||
20
+ !(end instanceof Date)
21
+ ) {
22
+ throw new Error("Invalid date");
23
+ }
24
+
25
+ const dates = [];
26
+ let currentDate = clonedStart;
27
+
28
+ while (currentDate <= end) {
29
+ dates.push(new Date(currentDate));
30
+ currentDate.setDate(currentDate.getDate() + 1);
31
+ }
32
+
33
+ return dates;
34
+ }
35
+ }
@@ -2,4 +2,5 @@ export * from './build-error/buildError.util.interface';
2
2
  export * from './build-error/buildError.util';
3
3
  export * from './query-params'
4
4
  export * from './cache-control'
5
- export * from "./robbyson-navigate";
5
+ export * from "./robbyson-navigate";
6
+ export * from "./layout.utils";
@@ -0,0 +1,7 @@
1
+ import { LayoutDimensions } from "../constants";
2
+
3
+ export class LayoutUtils {
4
+ static isMobile(): boolean {
5
+ return window.innerWidth <= LayoutDimensions.width.horizontalIpadMini;
6
+ }
7
+ }
@@ -17,7 +17,15 @@ export class RobbysonNavigate {
17
17
  // TODO: Usar a LIB PATH para concatenar a URL
18
18
  history.push(`/operacao${url}`);
19
19
  }
20
+ static go(delta: number) {
21
+ RobbysonNavigate._globalStore = GlobalStore.Get();
22
+ RobbysonNavigate._globalState =
23
+ RobbysonNavigate._globalStore.GetGlobalState();
20
24
 
25
+ const { history } = RobbysonNavigate._globalState.Global.RootApp;
26
+
27
+ history.go(delta);
28
+ }
21
29
  static back() {
22
30
  RobbysonNavigate._globalStore = GlobalStore.Get();
23
31
  RobbysonNavigate._globalState =
@@ -38,6 +46,33 @@ export class RobbysonNavigate {
38
46
  history.replace(replace, state);
39
47
  }
40
48
 
49
+ static getRouteId(): string {
50
+ RobbysonNavigate._globalStore = GlobalStore.Get();
51
+ RobbysonNavigate._globalState =
52
+ RobbysonNavigate._globalStore.GetGlobalState();
53
+
54
+ const { history } = RobbysonNavigate._globalState.Global.RootApp;
55
+
56
+ const routeParams = history.location.pathname.split("/");
57
+ const id = routeParams[routeParams.length - 1];
58
+
59
+ return id;
60
+ }
61
+
62
+ static getPathname(): string {
63
+ RobbysonNavigate._globalStore = GlobalStore.Get();
64
+ RobbysonNavigate._globalState =
65
+ RobbysonNavigate._globalStore.GetGlobalState();
66
+
67
+ const { history } = RobbysonNavigate._globalState.Global.RootApp;
68
+
69
+ return history.location.pathname;
70
+ }
71
+
72
+ static matchPath(path: string): boolean {
73
+ return RobbysonNavigate.getPathname().includes(path)
74
+ }
75
+
41
76
  static getQueryParams<T>(): T {
42
77
  RobbysonNavigate._globalStore = GlobalStore.Get();
43
78
  RobbysonNavigate._globalState =
@@ -45,17 +80,25 @@ export class RobbysonNavigate {
45
80
 
46
81
  const { history } = RobbysonNavigate._globalState.Global.RootApp;
47
82
 
83
+
48
84
  return queryString.parse(history.location.search, {
49
85
  sort: false,
50
86
  }) as T;
51
87
  }
52
88
 
53
- static setQueryParams(key: string, value: string): void {
89
+ static setQueryParams(key: string | string[], value: string | number | (string|number)[]): void {
54
90
  const queryString = new URLSearchParams(
55
91
  RobbysonNavigate.getQueryParams<URLSearchParams>()
56
92
  );
57
93
 
58
- queryString.set(key, value);
94
+ if (Array.isArray(key) && Array.isArray(value)) {
95
+ key.forEach((k, index) => {
96
+ queryString.set(k, value[index].toString());
97
+ });
98
+ } else {
99
+ queryString.set(key as string, value as string);
100
+ }
101
+
59
102
 
60
103
  RobbysonNavigate.replace({
61
104
  search: queryString.toString(),
package/tsconfig.json CHANGED
@@ -21,7 +21,10 @@
21
21
  "noEmit": false,
22
22
  "strictPropertyInitialization": false,
23
23
  "outDir": "./dist",
24
- "jsx": "react"
24
+ "jsx": "react",
25
+ "paths": {
26
+ "react": ["./node_modules/@types/react"]
27
+ }
25
28
  },
26
29
  "include": [
27
30
  "src",
@@ -1,4 +0,0 @@
1
- import { IBaseTestProp } from "./base-test.prop.interface";
2
- export interface IBaseComponentProp extends IBaseTestProp {
3
-
4
- }
@@ -1 +0,0 @@
1
- export * from "./snackbar.interface";
@@ -1,16 +0,0 @@
1
- import { IconHandle } from "../../models";
2
- import { IBaseComponentProp } from "../base-component.prop.interface";
3
-
4
- export interface ISnackbarProps<T> extends React.HTMLAttributes<T>, IBaseComponentProp {
5
- iconHandle?: IconHandle;
6
- show: boolean;
7
- autoClose? : boolean;
8
- timeAutoClose?: number;
9
- textLocaleHandle?: string;
10
- position: 'top-left' | 'top-right' | 'bottom-left' | 'bottom-right';
11
- }
12
-
13
- export interface ISnackbarState {
14
- show : boolean
15
- }
16
-
@@ -1,9 +0,0 @@
1
- ///<reference types="react" />
2
- ///<reference types="robbyson-frontend-library" />
3
-
4
- declare module "styleguide/Snackbar" {
5
- import { ISnackbarProps } from "robbyson-frontend-library";
6
- const Snackbar: React.ComponentType<ISnackbarProps<any>>;
7
-
8
- export default Snackbar;
9
- }
@@ -1,27 +0,0 @@
1
- import { IconHandle } from "../../models";
2
- import { IBaseComponentProp } from "../base-component.prop.interface";
3
-
4
- export interface ITextFieldState {
5
- disabled:boolean;
6
- active:boolean;
7
- hasError:boolean;
8
- empty:boolean;
9
- text: string;
10
- errorText:string;
11
- }
12
-
13
- export interface ITextFieldProps extends React.InputHTMLAttributes<any>, IBaseComponentProp {
14
- placeholderLocaleHandle?: string;
15
- prefixIconHandle?: IconHandle;
16
- suffixIconHandle?: IconHandle;
17
- helperTextLocaleHandle?: string;
18
- errorTextLocaleHandle?: string;
19
- onPrefixIconPressed?: () => void;
20
- onSuffixIconPressed?: () => void;
21
- width?: number;
22
- value: string;
23
- mask?: string;
24
- hasError?: boolean;
25
- fillPrefixIcon?: string;
26
- fillSuffixIcon?: string;
27
- }
File without changes