robbyson-frontend-library 0.0.1-rc10 → 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.
- package/dist/components/drawer/drawer.interface.js +1 -0
- package/dist/components/pages/base-app-page.styles.js +7 -1
- package/dist/components/range-date-picker/range-date-picker.interface.js +1 -0
- package/dist/components/tab/tab.interface.js +1 -0
- package/dist/components/terms-of-use/terms-of-use.interface.js +1 -0
- package/dist/components/time-picker/time-picker.interface.js +1 -0
- package/dist/components/tree-date-picker/tree-date-picker.interface.js +1 -0
- package/dist/constants/layout-dimensions.constants.js +3 -3
- package/dist/factories/response.factory.js +2 -1
- package/dist/index.js +3 -0
- package/dist/models/document.model.js +24 -0
- package/dist/models/humor-list.model.js +24 -0
- package/dist/models/humor-register.model.js +40 -0
- package/dist/models/theme-base.js +4 -0
- package/dist/repositories/document.repository.interface.js +1 -0
- package/dist/repositories/humor.repository.interface.js +1 -0
- package/dist/services/document.service.interface.js +1 -0
- package/dist/services/humor.service.interface.js +1 -0
- package/dist/utils/date.utils.js +30 -0
- package/dist/utils/index.js +1 -0
- package/dist/utils/layout.utils.js +10 -0
- package/index.d.ts +7 -1
- package/package.json +8 -6
- package/src/components/balloon/balloon.interface.ts +2 -2
- package/src/components/basic-button/basic-button.interface.ts +4 -1
- package/src/components/date-picker/date-picker.interface.ts +13 -0
- package/src/components/date-picker/date-picker.types.d.ts +10 -0
- package/src/components/date-picker/index.d.ts +1 -0
- package/src/components/{mobile-filter/mobile-filter.interface.ts → drawer/drawer.interface.ts} +3 -1
- package/src/components/drawer/drawer.types.d.ts +10 -0
- package/src/components/drawer/index.d.ts +1 -0
- package/src/components/filter/filter.interface.tsx +2 -0
- package/src/components/modal/modal.interface.ts +19 -10
- package/src/components/mood-button/mood-button.interface.ts +2 -2
- package/src/components/pages/base-app-page.styles.ts +14 -1
- package/src/components/range-date-picker/index.d.ts +1 -0
- package/src/components/range-date-picker/range-date-picker.interface.ts +16 -0
- package/src/components/range-date-picker/range-date-picker.types.d.ts +10 -0
- package/src/components/sidebar/sidebar.interface.ts +1 -0
- package/src/components/sort/sort.interface.ts +10 -3
- package/src/components/tab/index.d.ts +1 -0
- package/src/components/tab/tab.interface.ts +16 -0
- package/src/components/tab/tab.types.d.ts +9 -0
- package/src/components/terms-of-use/index.d.ts +1 -0
- package/src/components/terms-of-use/terms-of-use.interface.tsx +13 -0
- package/src/components/terms-of-use/terms-of-use.types.d.ts +11 -0
- package/src/components/text-field/text-field.interface.ts +21 -8
- package/src/components/time-picker/index.d.ts +1 -0
- package/src/components/time-picker/time-picker.interface.ts +15 -0
- package/src/components/time-picker/time-picker.types.d.ts +9 -0
- package/src/components/tree-date-picker/index.d.ts +1 -0
- package/src/components/tree-date-picker/tree-date-picker.interface.ts +30 -0
- package/src/components/tree-date-picker/tree-date-picker.types.d.ts +10 -0
- package/src/constants/layout-dimensions.constants.ts +3 -3
- package/src/factories/response.factory.ts +16 -11
- package/src/index.ts +5 -1
- package/src/models/document.model.ts +27 -0
- package/src/models/humor-list.model.ts +23 -0
- package/src/models/humor-register.model.ts +35 -0
- package/src/models/index.d.ts +3 -0
- package/src/models/theme-base.ts +13 -0
- package/src/repositories/document.repository.interface.ts +17 -0
- package/src/repositories/humor.repository.interface.ts +10 -0
- package/src/repositories/index.d.ts +3 -1
- package/src/services/document.service.interface.ts +20 -0
- package/src/services/humor.service.interface.ts +12 -0
- package/src/services/index.d.ts +2 -0
- package/src/services/theme.service.interface.ts +2 -1
- package/src/services/validations.service.interface.ts +3 -1
- package/src/states/main-container/root-app.state.interface.ts +9 -2
- package/src/utils/date.utils.ts +35 -0
- package/src/utils/index.ts +2 -1
- package/src/utils/layout.utils.ts +7 -0
- package/tsconfig.json +4 -1
- package/src/components/mobile-filter/index.d.ts +0 -1
- package/src/components/mobile-filter/mobile-filter.types.d.ts +0 -9
- /package/dist/components/{mobile-filter/mobile-filter.interface.js → date-picker/date-picker.interface.js} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -10,7 +10,13 @@ export var PageContainer = styled.div(templateObject_1 || (templateObject_1 = __
|
|
|
10
10
|
export var Header = styled.div(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n display: flex !important;\n flex-direction: row !important;\n justify-content: space-between !important;\n align-items: center !important;\n padding-bottom: 8px;\n gap: 16px !important;\n\n @media (max-width: ", "px) {\n flex-direction: column !important;\n align-items: flex-start !important;\n }\n\n & > div {\n display: flex;\n align-items: center;\n }\n\n svg {\n cursor: pointer;\n }\n"], ["\n display: flex !important;\n flex-direction: row !important;\n justify-content: space-between !important;\n align-items: center !important;\n padding-bottom: 8px;\n gap: 16px !important;\n\n @media (max-width: ", "px) {\n flex-direction: column !important;\n align-items: flex-start !important;\n }\n\n & > div {\n display: flex;\n align-items: center;\n }\n\n svg {\n cursor: pointer;\n }\n"])), LayoutDimensions.width.horizontalIpadMini);
|
|
11
11
|
export var ContextMenu = styled.div(templateObject_3 || (templateObject_3 = __makeTemplateObject(["\n -ms-overflow-style: none;\n scrollbar-width: none;\n overflow-y: scroll;\n &::-webkit-scrollbar {\n display: none;\n }\n @media (max-width: ", "px) {\n width: 100%;\n }\n"], ["\n -ms-overflow-style: none;\n scrollbar-width: none;\n overflow-y: scroll;\n &::-webkit-scrollbar {\n display: none;\n }\n @media (max-width: ", "px) {\n width: 100%;\n }\n"])), LayoutDimensions.width.horizontalIpadMini);
|
|
12
12
|
export var Title = styled.h4(templateObject_4 || (templateObject_4 = __makeTemplateObject(["\n margin-left: 12px;\n"], ["\n margin-left: 12px;\n"])));
|
|
13
|
-
|
|
13
|
+
var PADDING_TOP_DESKTOP = 32;
|
|
14
|
+
var PADDING_TOP_MOBILE = 32;
|
|
15
|
+
var PADDING_BOTTOM_DESKTOP = 47;
|
|
16
|
+
var PADDING_BOTTOM_MOBILE = 32;
|
|
17
|
+
var HEADER_HEIGHT_DESKTOP = 48;
|
|
18
|
+
var HEADER_HEIGHT_MOBILE = 99;
|
|
19
|
+
export var Content = styled.div(templateObject_5 || (templateObject_5 = __makeTemplateObject(["\n height: calc(100vh - ", "px);\n\n @media (max-width: ", "px) {\n height: calc(100vh - ", "px);\n }\n"], ["\n height: calc(100vh - ", "px);\n\n @media (max-width: ", "px) {\n height: calc(100vh - ", "px);\n }\n"])), PADDING_TOP_DESKTOP + PADDING_BOTTOM_DESKTOP + HEADER_HEIGHT_DESKTOP, LayoutDimensions.width.horizontalIpadMini, PADDING_TOP_MOBILE + PADDING_BOTTOM_MOBILE + HEADER_HEIGHT_MOBILE);
|
|
14
20
|
export var LeftArrowLarge = styled(SVG)(templateObject_6 || (templateObject_6 = __makeTemplateObject(["\n display: none;\n\n @media (min-width: ", "px) {\n display: block;\n }\n"], ["\n display: none;\n\n @media (min-width: ", "px) {\n display: block;\n }\n"])), LayoutDimensions.width.horizontalIpadMini + 1);
|
|
15
21
|
export var Block = styled.div(templateObject_7 || (templateObject_7 = __makeTemplateObject(["\n display: none;\n\n @media (max-width: ", "px) {\n display: block;\n width: 24px;\n height: 24px;\n }\n"], ["\n display: none;\n\n @media (max-width: ", "px) {\n display: block;\n width: 24px;\n height: 24px;\n }\n"])), LayoutDimensions.width.horizontalIpadMini);
|
|
16
22
|
var templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5, templateObject_6, templateObject_7;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -2,9 +2,9 @@ var LayoutDimensions = /** @class */ (function () {
|
|
|
2
2
|
function LayoutDimensions() {
|
|
3
3
|
}
|
|
4
4
|
LayoutDimensions.width = {
|
|
5
|
-
horizontalIpadMini:
|
|
6
|
-
verticalIpadMini:
|
|
7
|
-
mobile:
|
|
5
|
+
horizontalIpadMini: 1199,
|
|
6
|
+
verticalIpadMini: 767,
|
|
7
|
+
mobile: 575,
|
|
8
8
|
};
|
|
9
9
|
return LayoutDimensions;
|
|
10
10
|
}());
|
|
@@ -65,7 +65,8 @@ var ResponseFactory = /** @class */ (function () {
|
|
|
65
65
|
throw new RobbysonResponseError();
|
|
66
66
|
if (response.data.statusLog &&
|
|
67
67
|
response.data.statusLog.length &&
|
|
68
|
-
response.data.statusLog[0].type !==
|
|
68
|
+
response.data.statusLog[0].type !==
|
|
69
|
+
ResponseStatusLogType.SUCCESS_RESPONSE)
|
|
69
70
|
throw new RobbysonResponseError(response.data);
|
|
70
71
|
};
|
|
71
72
|
ResponseFactory.Create = function (response) {
|
package/dist/index.js
CHANGED
|
@@ -7,6 +7,7 @@ export * from "./models/user-mirror.model";
|
|
|
7
7
|
export * from "./models/user-session.model";
|
|
8
8
|
export * from "./models/send-user-to-login.model";
|
|
9
9
|
export * from "./models/angel-friend-status.model";
|
|
10
|
+
export * from './models/document.model';
|
|
10
11
|
export * from "./models/guidance-category.model";
|
|
11
12
|
export * from "./models/guidance.model";
|
|
12
13
|
export * from "./models/guidance-query.model";
|
|
@@ -21,3 +22,5 @@ export * from "./states";
|
|
|
21
22
|
export * from "./utils";
|
|
22
23
|
// Constants
|
|
23
24
|
export * from "./constants";
|
|
25
|
+
// DTOs
|
|
26
|
+
export * from "./services/dtos";
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
var __extends = (this && this.__extends) || (function () {
|
|
2
|
+
var extendStatics = function (d, b) {
|
|
3
|
+
extendStatics = Object.setPrototypeOf ||
|
|
4
|
+
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
5
|
+
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
|
|
6
|
+
return extendStatics(d, b);
|
|
7
|
+
};
|
|
8
|
+
return function (d, b) {
|
|
9
|
+
if (typeof b !== "function" && b !== null)
|
|
10
|
+
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
|
|
11
|
+
extendStatics(d, b);
|
|
12
|
+
function __() { this.constructor = d; }
|
|
13
|
+
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
14
|
+
};
|
|
15
|
+
})();
|
|
16
|
+
import { BaseRepositoryModel } from "./base.repository.model";
|
|
17
|
+
var DocumentModel = /** @class */ (function (_super) {
|
|
18
|
+
__extends(DocumentModel, _super);
|
|
19
|
+
function DocumentModel() {
|
|
20
|
+
return _super !== null && _super.apply(this, arguments) || this;
|
|
21
|
+
}
|
|
22
|
+
return DocumentModel;
|
|
23
|
+
}(BaseRepositoryModel));
|
|
24
|
+
export { DocumentModel };
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
var __extends = (this && this.__extends) || (function () {
|
|
2
|
+
var extendStatics = function (d, b) {
|
|
3
|
+
extendStatics = Object.setPrototypeOf ||
|
|
4
|
+
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
5
|
+
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
|
|
6
|
+
return extendStatics(d, b);
|
|
7
|
+
};
|
|
8
|
+
return function (d, b) {
|
|
9
|
+
if (typeof b !== "function" && b !== null)
|
|
10
|
+
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
|
|
11
|
+
extendStatics(d, b);
|
|
12
|
+
function __() { this.constructor = d; }
|
|
13
|
+
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
14
|
+
};
|
|
15
|
+
})();
|
|
16
|
+
import { BaseRepositoryModel } from "./base.repository.model";
|
|
17
|
+
var HumorListModel = /** @class */ (function (_super) {
|
|
18
|
+
__extends(HumorListModel, _super);
|
|
19
|
+
function HumorListModel() {
|
|
20
|
+
return _super !== null && _super.apply(this, arguments) || this;
|
|
21
|
+
}
|
|
22
|
+
return HumorListModel;
|
|
23
|
+
}(BaseRepositoryModel));
|
|
24
|
+
export { HumorListModel };
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
var __extends = (this && this.__extends) || (function () {
|
|
2
|
+
var extendStatics = function (d, b) {
|
|
3
|
+
extendStatics = Object.setPrototypeOf ||
|
|
4
|
+
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
5
|
+
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
|
|
6
|
+
return extendStatics(d, b);
|
|
7
|
+
};
|
|
8
|
+
return function (d, b) {
|
|
9
|
+
if (typeof b !== "function" && b !== null)
|
|
10
|
+
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
|
|
11
|
+
extendStatics(d, b);
|
|
12
|
+
function __() { this.constructor = d; }
|
|
13
|
+
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
14
|
+
};
|
|
15
|
+
})();
|
|
16
|
+
import { BaseRepositoryModel } from "./base.repository.model";
|
|
17
|
+
var HumorRegisterModel = /** @class */ (function (_super) {
|
|
18
|
+
__extends(HumorRegisterModel, _super);
|
|
19
|
+
function HumorRegisterModel() {
|
|
20
|
+
return _super !== null && _super.apply(this, arguments) || this;
|
|
21
|
+
}
|
|
22
|
+
return HumorRegisterModel;
|
|
23
|
+
}(BaseRepositoryModel));
|
|
24
|
+
export { HumorRegisterModel };
|
|
25
|
+
var HumorRegisterResponseModel = /** @class */ (function (_super) {
|
|
26
|
+
__extends(HumorRegisterResponseModel, _super);
|
|
27
|
+
function HumorRegisterResponseModel() {
|
|
28
|
+
return _super !== null && _super.apply(this, arguments) || this;
|
|
29
|
+
}
|
|
30
|
+
return HumorRegisterResponseModel;
|
|
31
|
+
}(BaseRepositoryModel));
|
|
32
|
+
export { HumorRegisterResponseModel };
|
|
33
|
+
var HumorLastModel = /** @class */ (function (_super) {
|
|
34
|
+
__extends(HumorLastModel, _super);
|
|
35
|
+
function HumorLastModel() {
|
|
36
|
+
return _super !== null && _super.apply(this, arguments) || this;
|
|
37
|
+
}
|
|
38
|
+
return HumorLastModel;
|
|
39
|
+
}(BaseRepositoryModel));
|
|
40
|
+
export { HumorLastModel };
|
|
@@ -34,6 +34,10 @@ var ThemeBase = /** @class */ (function () {
|
|
|
34
34
|
logoCompleteNegative: new ThemeAssets(),
|
|
35
35
|
logoIconNegative: new ThemeAssets(),
|
|
36
36
|
backgroundLogo: new ThemeAssets(),
|
|
37
|
+
humorAvatar: new ThemeAssets(),
|
|
38
|
+
humorImGoodCircle: new ThemeAssets(),
|
|
39
|
+
humorImTopCircle: new ThemeAssets(),
|
|
40
|
+
humorImbadCircle: new ThemeAssets(),
|
|
37
41
|
logoMobile: new ThemeAssets(),
|
|
38
42
|
loginRobbysonAvatar: new ThemeAssets(),
|
|
39
43
|
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import _ from "lodash";
|
|
2
|
+
import moment from "moment";
|
|
3
|
+
var DateUtils = /** @class */ (function () {
|
|
4
|
+
function DateUtils() {
|
|
5
|
+
}
|
|
6
|
+
DateUtils.isSameDateAsNow = function (date) {
|
|
7
|
+
return moment(date).isSame(moment(new Date()), "day");
|
|
8
|
+
};
|
|
9
|
+
DateUtils.isPastDateAsNow = function (date) {
|
|
10
|
+
return moment(date).isBefore(moment(new Date()));
|
|
11
|
+
};
|
|
12
|
+
DateUtils.getDateBetweenDates = function (start, end) {
|
|
13
|
+
var clonedStart = _.cloneDeep(start);
|
|
14
|
+
if (!start ||
|
|
15
|
+
!end ||
|
|
16
|
+
!(start instanceof Date) ||
|
|
17
|
+
!(end instanceof Date)) {
|
|
18
|
+
throw new Error("Invalid date");
|
|
19
|
+
}
|
|
20
|
+
var dates = [];
|
|
21
|
+
var currentDate = clonedStart;
|
|
22
|
+
while (currentDate <= end) {
|
|
23
|
+
dates.push(new Date(currentDate));
|
|
24
|
+
currentDate.setDate(currentDate.getDate() + 1);
|
|
25
|
+
}
|
|
26
|
+
return dates;
|
|
27
|
+
};
|
|
28
|
+
return DateUtils;
|
|
29
|
+
}());
|
|
30
|
+
export { DateUtils };
|
package/dist/utils/index.js
CHANGED
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { LayoutDimensions } from "../constants";
|
|
2
|
+
var LayoutUtils = /** @class */ (function () {
|
|
3
|
+
function LayoutUtils() {
|
|
4
|
+
}
|
|
5
|
+
LayoutUtils.isMobile = function () {
|
|
6
|
+
return window.innerWidth <= LayoutDimensions.width.horizontalIpadMini;
|
|
7
|
+
};
|
|
8
|
+
return LayoutUtils;
|
|
9
|
+
}());
|
|
10
|
+
export { LayoutUtils };
|
package/index.d.ts
CHANGED
|
@@ -42,9 +42,15 @@ export * from "./src/components/upload";
|
|
|
42
42
|
export * from "./src/components/balloon";
|
|
43
43
|
export * from "./src/components/pdf-viewer";
|
|
44
44
|
export * from "./src/components/toggle-icon-button";
|
|
45
|
+
export * from "./src/components/terms-of-use";
|
|
45
46
|
export * from "./src/components/overlay";
|
|
46
47
|
export * from "./src/components/header-context-menu";
|
|
47
48
|
export * from "./src/components/sort";
|
|
48
|
-
export * from "./src/components/
|
|
49
|
+
export * from "./src/components/drawer";
|
|
49
50
|
export * from "./src/components/loading";
|
|
51
|
+
export * from "./src/components/date-picker";
|
|
52
|
+
export * from "./src/components/range-date-picker";
|
|
53
|
+
export * from "./src/components/tree-date-picker";
|
|
54
|
+
export * from "./src/components/tab";
|
|
50
55
|
export * from "./src/components/filter";
|
|
56
|
+
export * from "./src/components/time-picker";
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "robbyson-frontend-library",
|
|
3
|
-
"version": "0.0.1-
|
|
3
|
+
"version": "0.0.1-rc11",
|
|
4
4
|
"description": "Robbyson frontend Library",
|
|
5
5
|
"main": "./dist/index.js",
|
|
6
6
|
"license": "MIT",
|
|
@@ -19,7 +19,8 @@
|
|
|
19
19
|
"devDependencies": {
|
|
20
20
|
"@types/axios": "^0.14.0",
|
|
21
21
|
"@types/crypto-js": "^4.1.1",
|
|
22
|
-
"@types/
|
|
22
|
+
"@types/lodash": "^4.14.199",
|
|
23
|
+
"@types/react": "~18.0.24",
|
|
23
24
|
"@types/styled-components": "^5.1.26",
|
|
24
25
|
"styled-components": "^5.3.9",
|
|
25
26
|
"typescript": "^4.9.5"
|
|
@@ -27,14 +28,15 @@
|
|
|
27
28
|
"dependencies": {
|
|
28
29
|
"axios": "^1.3.5",
|
|
29
30
|
"crypto-js": "^4.1.1",
|
|
31
|
+
"history": "^5.3.0",
|
|
30
32
|
"localforage": "^1.10.0",
|
|
33
|
+
"lodash": "^4.17.21",
|
|
31
34
|
"moment": "^2.29.4",
|
|
35
|
+
"query-string": "^8.1.0",
|
|
32
36
|
"react": "^18.2.0",
|
|
33
37
|
"react-inlinesvg": "^3.0.2",
|
|
34
|
-
"query-string": "^8.1.0",
|
|
35
38
|
"react-toastify": "^9.1.2",
|
|
36
39
|
"redux-micro-frontend": "^1.3.0",
|
|
37
|
-
"redux-persist": "^6.0.0"
|
|
38
|
-
"history": "^5.3.0"
|
|
40
|
+
"redux-persist": "^6.0.0"
|
|
39
41
|
}
|
|
40
|
-
}
|
|
42
|
+
}
|
|
@@ -1,10 +1,13 @@
|
|
|
1
1
|
import { IconHandle } from "../../models";
|
|
2
2
|
import { IBaseComponentProp } from "../base-component.prop.interface";
|
|
3
|
+
|
|
4
|
+
export type BasicButtonVariant = 'primary' | 'secondary' | 'tertiary';
|
|
5
|
+
|
|
3
6
|
export interface IBasicButtonProps<T> extends React.ButtonHTMLAttributes<T>, IBaseComponentProp {
|
|
4
7
|
iconAlign?: string;
|
|
5
8
|
hasIcon?: Boolean;
|
|
6
9
|
iconHandle?: IconHandle;
|
|
7
10
|
textLocaleHandle?: string;
|
|
8
|
-
variant:
|
|
11
|
+
variant: BasicButtonVariant
|
|
9
12
|
shape?: 'round' | 'square'
|
|
10
13
|
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { IBaseComponentProp } from "../base-component.prop.interface";
|
|
2
|
+
import { ITextFieldProps } from "../text-field";
|
|
3
|
+
|
|
4
|
+
export interface IDatePickerProps extends IBaseComponentProp {
|
|
5
|
+
onConfirm: (date: Date) => void;
|
|
6
|
+
selectedDate: Date | null;
|
|
7
|
+
customInputOptions?: Omit<ITextFieldProps, "value">;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
export interface IDatePickerState {
|
|
11
|
+
selectedDate: Date | null;
|
|
12
|
+
}
|
|
13
|
+
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
///<reference types="react" />
|
|
2
|
+
///<reference types="robbyson-frontend-library" />
|
|
3
|
+
|
|
4
|
+
declare module "styleguide/DatePicker" {
|
|
5
|
+
import { IDatePickerProps } from "robbyson-frontend-library";
|
|
6
|
+
|
|
7
|
+
const DatePicker: React.ComponentType<IDatePickerProps>;
|
|
8
|
+
|
|
9
|
+
export default DatePicker;
|
|
10
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./date-picker.interface"
|
package/src/components/{mobile-filter/mobile-filter.interface.ts → drawer/drawer.interface.ts}
RENAMED
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import { IBaseComponentProp } from "../base-component.prop.interface";
|
|
2
2
|
|
|
3
|
-
export interface
|
|
3
|
+
export interface IDrawerProps extends IBaseComponentProp {
|
|
4
4
|
showOverlay: boolean;
|
|
5
5
|
onClick(): void;
|
|
6
6
|
scrollBoxHeight: string;
|
|
7
7
|
children: React.ReactNode;
|
|
8
|
+
overlayZindex?: string;
|
|
9
|
+
titleLocaleHandle?: string;
|
|
8
10
|
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
///<reference types="react" />
|
|
2
|
+
///<reference types="robbyson-frontend-library" />
|
|
3
|
+
|
|
4
|
+
declare module "styleguide/Drawer" {
|
|
5
|
+
import { IDrawerProps } from "robbyson-frontend-library";
|
|
6
|
+
|
|
7
|
+
const Drawer: React.ComponentType<IDrawerProps>;
|
|
8
|
+
|
|
9
|
+
export default Drawer;
|
|
10
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './drawer.interface';
|
|
@@ -20,6 +20,7 @@ export interface IFilterState {
|
|
|
20
20
|
searchingFilter: number | undefined;
|
|
21
21
|
filterReturn: IFilterReturn;
|
|
22
22
|
openFilter: number | undefined;
|
|
23
|
+
oldFilters: Array<IFilter>
|
|
23
24
|
}
|
|
24
25
|
|
|
25
26
|
export interface IFilterProps extends IBaseComponentProp {
|
|
@@ -48,6 +49,7 @@ export interface IOption {
|
|
|
48
49
|
iconHandle?: IconHandle;
|
|
49
50
|
checked?: boolean;
|
|
50
51
|
category?: string;
|
|
52
|
+
bagdeValue?: number;
|
|
51
53
|
}
|
|
52
54
|
|
|
53
55
|
export interface IFilterReturn {
|
|
@@ -1,21 +1,30 @@
|
|
|
1
1
|
import { IBaseComponentProp } from "../base-component.prop.interface";
|
|
2
|
+
import { BasicButtonVariant } from "../basic-button";
|
|
2
3
|
|
|
3
4
|
type ActionButton = {
|
|
4
5
|
titleLocaleHandle: string;
|
|
5
6
|
action: any;
|
|
6
|
-
|
|
7
|
+
variant?: BasicButtonVariant;
|
|
8
|
+
};
|
|
7
9
|
|
|
8
10
|
export interface IModalState {
|
|
9
|
-
hidden:boolean;
|
|
11
|
+
hidden: boolean;
|
|
10
12
|
}
|
|
11
13
|
|
|
14
|
+
export interface IModalProps extends IBaseComponentProp {
|
|
15
|
+
children: any;
|
|
16
|
+
width?: number;
|
|
17
|
+
height?: number;
|
|
18
|
+
closeIcon?: boolean;
|
|
19
|
+
titleHandleLocale?: string;
|
|
20
|
+
actionButtons?: ActionButton[];
|
|
21
|
+
overlayZindex?: string;
|
|
22
|
+
onCloseModal?(): void;
|
|
23
|
+
isOpen?: boolean;
|
|
24
|
+
enableDrawer?: boolean;
|
|
25
|
+
}
|
|
12
26
|
|
|
13
|
-
export interface
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
height?: number;
|
|
17
|
-
closeIcon?: boolean;
|
|
18
|
-
titleHandleLocale?: string;
|
|
19
|
-
actionButtons?: ActionButton[];
|
|
20
|
-
overlayZindex?: string;
|
|
27
|
+
export interface IModalActions extends IBaseComponentProp {
|
|
28
|
+
actionButtons?: ActionButton[];
|
|
29
|
+
className?: string;
|
|
21
30
|
}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
|
|
2
|
+
import { IconHandle } from "../../models";
|
|
2
3
|
import { IBaseComponentProp } from "../base-component.prop.interface";
|
|
3
4
|
|
|
4
|
-
type IconHandleMoodButton = 'work-bold' | 'family-bold' | 'relationship-bold' | 'health-bold';
|
|
5
5
|
type SizeMoodButton = 'medium' | 'large';
|
|
6
6
|
|
|
7
7
|
export interface IMoodButtonProps<T> extends React.ButtonHTMLAttributes<T>, IBaseComponentProp {
|
|
8
|
-
iconHandle:
|
|
8
|
+
iconHandle: IconHandle;
|
|
9
9
|
size?: SizeMoodButton;
|
|
10
10
|
}
|
|
@@ -57,7 +57,20 @@ export const Title = styled.h4`
|
|
|
57
57
|
margin-left: 12px;
|
|
58
58
|
`;
|
|
59
59
|
|
|
60
|
-
|
|
60
|
+
const PADDING_TOP_DESKTOP = 32;
|
|
61
|
+
const PADDING_TOP_MOBILE = 32;
|
|
62
|
+
const PADDING_BOTTOM_DESKTOP = 47;
|
|
63
|
+
const PADDING_BOTTOM_MOBILE = 32;
|
|
64
|
+
const HEADER_HEIGHT_DESKTOP = 48;
|
|
65
|
+
const HEADER_HEIGHT_MOBILE = 99;
|
|
66
|
+
|
|
67
|
+
export const Content = styled.div`
|
|
68
|
+
height: calc(100vh - ${PADDING_TOP_DESKTOP + PADDING_BOTTOM_DESKTOP + HEADER_HEIGHT_DESKTOP}px);
|
|
69
|
+
|
|
70
|
+
@media (max-width: ${LayoutDimensions.width.horizontalIpadMini}px) {
|
|
71
|
+
height: calc(100vh - ${PADDING_TOP_MOBILE + PADDING_BOTTOM_MOBILE + HEADER_HEIGHT_MOBILE}px);
|
|
72
|
+
}
|
|
73
|
+
`;
|
|
61
74
|
|
|
62
75
|
export const LeftArrowLarge = styled(SVG)`
|
|
63
76
|
display: none;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './range-date-picker.interface';
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { IBaseComponentProp } from "../base-component.prop.interface";
|
|
2
|
+
import { ITextFieldProps } from "../text-field";
|
|
3
|
+
|
|
4
|
+
export interface IRangeDatePickerProps
|
|
5
|
+
extends IBaseComponentProp {
|
|
6
|
+
onConfirm: (startDate: Date, endDate: Date) => void;
|
|
7
|
+
startDate: Date | null;
|
|
8
|
+
endDate: Date | null;
|
|
9
|
+
customInputOptions?: Omit<ITextFieldProps, "value">,
|
|
10
|
+
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
export interface IRangeDatePickerState {
|
|
14
|
+
startDate: Date | null;
|
|
15
|
+
endDate: Date | null;
|
|
16
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
///<reference types="react" />
|
|
2
|
+
///<reference types="robbyson-frontend-library" />
|
|
3
|
+
|
|
4
|
+
declare module "styleguide/RangeDatePicker" {
|
|
5
|
+
import { IRangeDatePickerProps } from "robbyson-frontend-library";
|
|
6
|
+
|
|
7
|
+
const RangeDatePicker: React.ComponentType<IRangeDatePickerProps>;
|
|
8
|
+
|
|
9
|
+
export default RangeDatePicker;
|
|
10
|
+
}
|
|
@@ -3,8 +3,12 @@ import { IBaseComponentProp } from "../base-component.prop.interface";
|
|
|
3
3
|
|
|
4
4
|
export interface ISortProps extends IBaseComponentProp {
|
|
5
5
|
titleLocaleHandle?: string;
|
|
6
|
-
options: Array<{
|
|
7
|
-
|
|
6
|
+
options: Array<{
|
|
7
|
+
nameLocaleHandle: string;
|
|
8
|
+
value: string | number;
|
|
9
|
+
}>;
|
|
10
|
+
defaultOption?: string | number;
|
|
11
|
+
selectedKeys?: string[];
|
|
8
12
|
icon: IconHandle;
|
|
9
13
|
onChangeOption?(option: {
|
|
10
14
|
nameLocaleHandle: string;
|
|
@@ -13,9 +17,12 @@ export interface ISortProps extends IBaseComponentProp {
|
|
|
13
17
|
hideOnMouseOver?: boolean;
|
|
14
18
|
hideOnChangeOption?: boolean;
|
|
15
19
|
width?: string | number;
|
|
20
|
+
type?: "checkbox" | "default";
|
|
21
|
+
className?: string;
|
|
22
|
+
fillIcon?: string;
|
|
16
23
|
}
|
|
17
24
|
|
|
18
25
|
export interface ISortState {
|
|
19
26
|
showSort: boolean;
|
|
20
|
-
sortValue
|
|
27
|
+
sortValue?: string | number;
|
|
21
28
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './tab.interface';
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { IBaseComponentProp } from "../base-component.prop.interface";
|
|
2
|
+
|
|
3
|
+
export interface ITabProps<T> extends IBaseComponentProp {
|
|
4
|
+
onClickTab(tabKey: T): void;
|
|
5
|
+
tabOptions: TabOptions<T>[];
|
|
6
|
+
activeTab: T;
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
interface TabOptions<T> {
|
|
10
|
+
tabKey: T;
|
|
11
|
+
tabLocaleHandle: string;
|
|
12
|
+
suffix?: JSX.Element;
|
|
13
|
+
prefix?: JSX.Element;
|
|
14
|
+
content?: React.ReactNode;
|
|
15
|
+
disabled?: boolean;
|
|
16
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './terms-of-use.interface';
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { TermsOfUseModel } from "../../models";
|
|
2
|
+
import { IBaseComponentProp } from "../base-component.prop.interface";
|
|
3
|
+
|
|
4
|
+
export interface ITermsOfUseProps extends IBaseComponentProp {
|
|
5
|
+
termsOfUse: TermsOfUseModel;
|
|
6
|
+
onAccepted(): void;
|
|
7
|
+
buttonLocaleTitle?: string;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
export interface ITermsOfUseState {
|
|
11
|
+
isRead: boolean;
|
|
12
|
+
disableButton: boolean;
|
|
13
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
///<reference types="react" />
|
|
2
|
+
///<reference types="robbyson-frontend-library" />
|
|
3
|
+
|
|
4
|
+
declare module 'terms_of_use_application/TermsOfUse' {
|
|
5
|
+
|
|
6
|
+
import { ITermsOfUseProps } from "robbyson-frontend-library";
|
|
7
|
+
const TermsOfUse: React.ComponentType<ITermsOfUseProps<any>>;
|
|
8
|
+
|
|
9
|
+
export default TermsOfUse;
|
|
10
|
+
}
|
|
11
|
+
|
|
@@ -1,18 +1,17 @@
|
|
|
1
1
|
import { IconHandle } from "../../models";
|
|
2
2
|
import { IBaseComponentProp } from "../base-component.prop.interface";
|
|
3
|
+
import { IScrollBoxProps } from "../scroll-box";
|
|
3
4
|
|
|
4
5
|
export interface ITextFieldState {
|
|
5
|
-
|
|
6
|
-
active:boolean;
|
|
7
|
-
hasError:boolean;
|
|
8
|
-
empty:boolean;
|
|
9
|
-
text: string;
|
|
10
|
-
errorText:string;
|
|
6
|
+
isDropdownOpen: boolean;
|
|
11
7
|
}
|
|
12
8
|
|
|
13
|
-
export interface ITextFieldProps
|
|
9
|
+
export interface ITextFieldProps
|
|
10
|
+
extends React.InputHTMLAttributes<any>,
|
|
11
|
+
IBaseComponentProp {
|
|
14
12
|
placeholderLocaleHandle?: string;
|
|
15
13
|
prefixIconHandle?: IconHandle;
|
|
14
|
+
dropdownOptions?: DropdownOptions;
|
|
16
15
|
suffixIconHandle?: IconHandle;
|
|
17
16
|
helperTextLocaleHandle?: string;
|
|
18
17
|
errorTextLocaleHandle?: string;
|
|
@@ -25,4 +24,18 @@ export interface ITextFieldProps extends React.InputHTMLAttributes<any>, IBaseCo
|
|
|
25
24
|
hasError?: boolean;
|
|
26
25
|
fillPrefixIcon?: string;
|
|
27
26
|
fillSuffixIcon?: string;
|
|
28
|
-
|
|
27
|
+
pointerCursor?: boolean;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
type DropdownOptions = {
|
|
31
|
+
data: {
|
|
32
|
+
labelLocaleHandle: string;
|
|
33
|
+
key: string;
|
|
34
|
+
}[];
|
|
35
|
+
selectedKey?: string;
|
|
36
|
+
selectedKeys?: string[];
|
|
37
|
+
onClickItem( key: string): void;
|
|
38
|
+
scrollBoxProps: Omit<IScrollBoxProps, "children">;
|
|
39
|
+
dataTestId: string;
|
|
40
|
+
value?: string;
|
|
41
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './time-picker.interface';
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { IBaseComponentProp } from "../base-component.prop.interface";
|
|
2
|
+
import { ITextFieldProps } from "../text-field";
|
|
3
|
+
|
|
4
|
+
export interface ITimePickerProps extends IBaseComponentProp {
|
|
5
|
+
interval?: number;
|
|
6
|
+
startTime?: string;
|
|
7
|
+
endTime?: string;
|
|
8
|
+
onClickTime(hour: string, minutes: string): void;
|
|
9
|
+
timerPickerValue: string;
|
|
10
|
+
inputProps?: Omit<ITextFieldProps, "value" | "dataTestId">;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
export interface ITimePickerState {
|
|
14
|
+
isDropDownOpen: boolean;
|
|
15
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
///<reference types="react" />
|
|
2
|
+
///<reference types="robbyson-frontend-library" />
|
|
3
|
+
|
|
4
|
+
declare module "styleguide/TimePicker" {
|
|
5
|
+
import { ITimePickerProps } from "robbyson-frontend-library";
|
|
6
|
+
const TimePicker: React.ComponentType<ITimePickerProps<any>>;
|
|
7
|
+
|
|
8
|
+
export default TimePicker;
|
|
9
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './tree-date-picker.interface';
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { IBaseComponentProp } from "../base-component.prop.interface";
|
|
2
|
+
import { ITextFieldProps } from "../text-field";
|
|
3
|
+
|
|
4
|
+
export interface ITreeDatePickerProps extends IBaseComponentProp {
|
|
5
|
+
onConfirm(params: {
|
|
6
|
+
selectedDate?: Date;
|
|
7
|
+
selectedWeek?: Week;
|
|
8
|
+
selectedMonth?: Date;
|
|
9
|
+
}): void;
|
|
10
|
+
customInputOptions?: Omit<ITextFieldProps, "value">;
|
|
11
|
+
selectedDate: Date | null;
|
|
12
|
+
selectedWeek: Week | null;
|
|
13
|
+
selectedMonth: Date | null;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
export interface ITreeDatePickerState {
|
|
17
|
+
selectedDate: Date | null;
|
|
18
|
+
selectedWeek: Week | null;
|
|
19
|
+
selectedMonth: Date | null;
|
|
20
|
+
activeTab: TabKey;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
export type Week = {
|
|
24
|
+
from: Date;
|
|
25
|
+
until: Date;
|
|
26
|
+
};
|
|
27
|
+
|
|
28
|
+
export type Weeks = Week[];
|
|
29
|
+
|
|
30
|
+
type TabKey = "day" | "week" | "monthly";
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
///<reference types="react" />
|
|
2
|
+
///<reference types="robbyson-frontend-library" />
|
|
3
|
+
|
|
4
|
+
declare module "styleguide/TreeDatePicker" {
|
|
5
|
+
import { ITreeDatePickerProps } from "robbyson-frontend-library";
|
|
6
|
+
|
|
7
|
+
const TreeDatePicker: React.ComponentType<ITreeDatePickerProps>;
|
|
8
|
+
|
|
9
|
+
export default TreeDatePicker;
|
|
10
|
+
}
|
|
@@ -25,12 +25,12 @@ export class RobbysonResponse<T> {
|
|
|
25
25
|
|
|
26
26
|
export class RobbysonResponseError {
|
|
27
27
|
public data: ResponseStatusLogMessages[];
|
|
28
|
-
|
|
28
|
+
|
|
29
29
|
constructor(data?: RobbysonResponse<any>) {
|
|
30
|
-
if (data && this.isRobbysonError(data)) this.buildRobbysonError(data)
|
|
31
|
-
else this.buildGenericError()
|
|
30
|
+
if (data && this.isRobbysonError(data)) this.buildRobbysonError(data);
|
|
31
|
+
else this.buildGenericError();
|
|
32
32
|
}
|
|
33
|
-
|
|
33
|
+
|
|
34
34
|
private buildRobbysonError(data: RobbysonResponse<any>): void {
|
|
35
35
|
this.data = data.statusLog[0].messages.map((message: any) => {
|
|
36
36
|
if (typeof message === "string") {
|
|
@@ -39,7 +39,7 @@ export class RobbysonResponseError {
|
|
|
39
39
|
return message;
|
|
40
40
|
});
|
|
41
41
|
}
|
|
42
|
-
|
|
42
|
+
|
|
43
43
|
private buildGenericError(): void {
|
|
44
44
|
this.data = [
|
|
45
45
|
{
|
|
@@ -55,24 +55,29 @@ export class RobbysonResponseError {
|
|
|
55
55
|
data.statusLog.length &&
|
|
56
56
|
data.statusLog[0].messages?.length
|
|
57
57
|
) {
|
|
58
|
-
return true
|
|
58
|
+
return true;
|
|
59
59
|
}
|
|
60
|
-
return false
|
|
60
|
+
return false;
|
|
61
61
|
}
|
|
62
62
|
}
|
|
63
63
|
export class ResponseFactory implements BaseFactory {
|
|
64
|
-
private static checkResponseError<T>(
|
|
64
|
+
private static checkResponseError<T>(
|
|
65
|
+
response: AxiosResponse<any, any>
|
|
66
|
+
): void {
|
|
65
67
|
if (response instanceof Error) throw new RobbysonResponseError();
|
|
66
68
|
|
|
67
69
|
if (
|
|
68
70
|
response.data.statusLog &&
|
|
69
71
|
response.data.statusLog.length &&
|
|
70
|
-
response.data.statusLog[0].type !==
|
|
72
|
+
response.data.statusLog[0].type !==
|
|
73
|
+
ResponseStatusLogType.SUCCESS_RESPONSE
|
|
71
74
|
)
|
|
72
|
-
throw new RobbysonResponseError(
|
|
75
|
+
throw new RobbysonResponseError(
|
|
76
|
+
response.data as RobbysonResponse<T>
|
|
77
|
+
);
|
|
73
78
|
}
|
|
74
79
|
|
|
75
|
-
public static Create<T>(response: AxiosResponse<any, any>):T {
|
|
80
|
+
public static Create<T>(response: AxiosResponse<any, any>): T {
|
|
76
81
|
this.checkResponseError<T>(response);
|
|
77
82
|
return response.data as T;
|
|
78
83
|
}
|
package/src/index.ts
CHANGED
|
@@ -9,6 +9,7 @@ export * from "./models/user-mirror.model";
|
|
|
9
9
|
export * from "./models/user-session.model";
|
|
10
10
|
export * from "./models/send-user-to-login.model";
|
|
11
11
|
export * from "./models/angel-friend-status.model";
|
|
12
|
+
export * from './models/document.model';
|
|
12
13
|
export * from "./models/guidance-category.model";
|
|
13
14
|
export * from "./models/guidance.model";
|
|
14
15
|
export * from "./models/guidance-query.model";
|
|
@@ -27,4 +28,7 @@ export * from "./states";
|
|
|
27
28
|
export * from "./utils";
|
|
28
29
|
|
|
29
30
|
// Constants
|
|
30
|
-
export * from "./constants";
|
|
31
|
+
export * from "./constants";
|
|
32
|
+
|
|
33
|
+
// DTOs
|
|
34
|
+
export * from "./services/dtos";
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { BaseRepositoryModel } from "./base.repository.model";
|
|
2
|
+
|
|
3
|
+
export class DocumentModel extends BaseRepositoryModel {
|
|
4
|
+
_id: string;
|
|
5
|
+
identification: string;
|
|
6
|
+
document_id: string;
|
|
7
|
+
documentType: {
|
|
8
|
+
_id: string;
|
|
9
|
+
name: string;
|
|
10
|
+
};
|
|
11
|
+
fileUrl?: string;
|
|
12
|
+
sender: {
|
|
13
|
+
identification: string;
|
|
14
|
+
name: string;
|
|
15
|
+
};
|
|
16
|
+
createdAt?: Date;
|
|
17
|
+
publishedAt?: Date;
|
|
18
|
+
title: string;
|
|
19
|
+
text: string;
|
|
20
|
+
observation?: string;
|
|
21
|
+
viewed?: boolean;
|
|
22
|
+
viewedAt?: Date;
|
|
23
|
+
answered?: boolean;
|
|
24
|
+
answeredAt?: Date;
|
|
25
|
+
accepted?: boolean;
|
|
26
|
+
canceled?: boolean;
|
|
27
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { BaseRepositoryModel } from "./base.repository.model";
|
|
2
|
+
import { IconHandle } from "./theme-base";
|
|
3
|
+
|
|
4
|
+
export interface IHumorFrases {
|
|
5
|
+
_id: string,
|
|
6
|
+
texto: string
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
export interface IHumorMotives {
|
|
10
|
+
_id: string;
|
|
11
|
+
descricao: string;
|
|
12
|
+
icone: IconHandle;
|
|
13
|
+
frases: IHumorFrases[];
|
|
14
|
+
feedback: string[];
|
|
15
|
+
}
|
|
16
|
+
export class HumorListModel extends BaseRepositoryModel {
|
|
17
|
+
_id: string;
|
|
18
|
+
descricao: string;
|
|
19
|
+
frases: IHumorFrases[];
|
|
20
|
+
icone: IconHandle;
|
|
21
|
+
motivos: IHumorMotives[];
|
|
22
|
+
__v: number;
|
|
23
|
+
}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { BaseRepositoryModel } from "./base.repository.model";
|
|
2
|
+
|
|
3
|
+
export interface IRegistersHumor {
|
|
4
|
+
tipoHumor: number,
|
|
5
|
+
humor: {
|
|
6
|
+
_id: string,
|
|
7
|
+
descricao: string,
|
|
8
|
+
},
|
|
9
|
+
motivo: {
|
|
10
|
+
descricao: string
|
|
11
|
+
} | {}
|
|
12
|
+
dataHoraCriacao: Date,
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
export class HumorRegisterModel extends BaseRepositoryModel {
|
|
16
|
+
_id: string;
|
|
17
|
+
registros: IRegistersHumor[];
|
|
18
|
+
tz: string;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
export class HumorRegisterResponseModel extends BaseRepositoryModel {
|
|
22
|
+
_id?:string;
|
|
23
|
+
n: number;
|
|
24
|
+
nModified: number;
|
|
25
|
+
ok:number
|
|
26
|
+
}
|
|
27
|
+
export class HumorLastModel extends BaseRepositoryModel {
|
|
28
|
+
_id: string;
|
|
29
|
+
identification: string;
|
|
30
|
+
registros: IRegistersHumor[];
|
|
31
|
+
__v: number;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
|
package/src/models/index.d.ts
CHANGED
|
@@ -5,6 +5,9 @@ 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"
|
|
8
11
|
export * from "./guidance-category.model";
|
|
9
12
|
export * from "./guidance-query.model";
|
|
10
13
|
export * from "./guidance.model";
|
package/src/models/theme-base.ts
CHANGED
|
@@ -125,9 +125,14 @@ export class ThemeBase {
|
|
|
125
125
|
typography: {
|
|
126
126
|
h1: ThemeTypography,
|
|
127
127
|
h2: ThemeTypography,
|
|
128
|
+
h2Medium: ThemeTypography,
|
|
129
|
+
mobh2Medium: ThemeTypography,
|
|
128
130
|
h3: ThemeTypography,
|
|
131
|
+
mobh3Medium: ThemeTypography,
|
|
129
132
|
h4: ThemeTypography,
|
|
133
|
+
mobh4Medium: ThemeTypography,
|
|
130
134
|
h5: ThemeTypography,
|
|
135
|
+
mobh5Medium: ThemeTypography,
|
|
131
136
|
h6: ThemeTypography,
|
|
132
137
|
subtitle1: ThemeTypography,
|
|
133
138
|
subtitle2: ThemeTypography,
|
|
@@ -152,6 +157,10 @@ export class ThemeBase {
|
|
|
152
157
|
logoCompleteNegative: ThemeAssets;
|
|
153
158
|
logoIconNegative: ThemeAssets;
|
|
154
159
|
backgroundLogo: ThemeAssets;
|
|
160
|
+
humorAvatar: ThemeAssets,
|
|
161
|
+
humorImGoodCircle: ThemeAssets,
|
|
162
|
+
humorImTopCircle: ThemeAssets,
|
|
163
|
+
humorImbadCircle: ThemeAssets,
|
|
155
164
|
logoMobile: ThemeAssets;
|
|
156
165
|
loginRobbysonAvatar: ThemeAssets;
|
|
157
166
|
};
|
|
@@ -166,6 +175,10 @@ export class ThemeBase {
|
|
|
166
175
|
logoCompleteNegative: new ThemeAssets(),
|
|
167
176
|
logoIconNegative: new ThemeAssets(),
|
|
168
177
|
backgroundLogo: new ThemeAssets(),
|
|
178
|
+
humorAvatar: new ThemeAssets(),
|
|
179
|
+
humorImGoodCircle: new ThemeAssets(),
|
|
180
|
+
humorImTopCircle: new ThemeAssets(),
|
|
181
|
+
humorImbadCircle: new ThemeAssets(),
|
|
169
182
|
logoMobile: new ThemeAssets(),
|
|
170
183
|
loginRobbysonAvatar: new ThemeAssets(),
|
|
171
184
|
};
|
|
@@ -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,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
|
+
}
|
|
@@ -5,4 +5,6 @@ export * from './results.repository.interface';
|
|
|
5
5
|
export * from './angel-friend.repository.interface';
|
|
6
6
|
export * from './user.repository.interface';
|
|
7
7
|
export * from "./terms-of-use.repository.interface";
|
|
8
|
-
export * from "./guidance.repository.interface";
|
|
8
|
+
export * from "./guidance.repository.interface";
|
|
9
|
+
export * from "./humor.repository.interface";
|
|
10
|
+
export * from "./document.repository.interface";
|
|
@@ -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,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
|
+
}
|
package/src/services/index.d.ts
CHANGED
|
@@ -5,6 +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";
|
|
8
10
|
export * from "./guidance.service.interface";
|
|
9
11
|
export * from "./validations.service.interface";
|
|
10
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
|
}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import { UserSessionModel } from "../models";
|
|
2
2
|
|
|
3
3
|
export interface IValidationsService {
|
|
4
|
-
checkTermsOfUse(userSession: UserSessionModel | undefined):
|
|
4
|
+
checkTermsOfUse(userSession: UserSessionModel | undefined): boolean;
|
|
5
|
+
checkHumor(): Promise<void>;
|
|
6
|
+
checkDocuments(userSession: UserSessionModel | undefined): Promise<boolean>;
|
|
5
7
|
}
|
|
@@ -1,15 +1,22 @@
|
|
|
1
|
-
import { ThemeBase, UserSessionModel } from "../../models";
|
|
2
|
-
import { BrowserHistory } from "history"
|
|
1
|
+
import { HumorLastModel, HumorListModel, ThemeBase, UserSessionModel } from "../../models";
|
|
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
|
}
|
|
@@ -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
|
+
}
|
package/src/utils/index.ts
CHANGED
|
@@ -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";
|
package/tsconfig.json
CHANGED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from './mobile-filter.interface';
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
///<reference types="react" />
|
|
2
|
-
///<reference types="robbyson-frontend-library" />
|
|
3
|
-
|
|
4
|
-
declare module "styleguide/MobileFilter" {
|
|
5
|
-
import { IMobileFilterProps } from "robbyson-frontend-library";
|
|
6
|
-
const MobileFilter: React.ComponentType<IMobileFilterProps>;
|
|
7
|
-
|
|
8
|
-
export default MobileFilter;
|
|
9
|
-
}
|
|
File without changes
|