aq-fe-framework 0.1.156 → 0.1.157

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 (242) hide show
  1. package/dist/{chunk-JLT4BL7I.mjs → chunk-ZO7PLULO.mjs} +4 -4
  2. package/dist/{css.module-4ICLUKPO.module.css → components/index.css} +16 -29
  3. package/dist/components/index.mjs +2 -2
  4. package/dist/modules-features/index.css +100 -0
  5. package/dist/modules-features/index.mjs +5 -5
  6. package/package.json +1 -1
  7. package/dist/api/apiFactory.ts +0 -46
  8. package/dist/api/baseAxios.ts +0 -22
  9. package/dist/app/admin/(core)/core12196/page.tsx +0 -13
  10. package/dist/app/admin/(core)/core16209/page.tsx +0 -13
  11. package/dist/app/admin/(core)/core18256/page.tsx +0 -12
  12. package/dist/app/admin/(core)/core26965/page.tsx +0 -13
  13. package/dist/app/admin/(core)/core27311/page.tsx +0 -13
  14. package/dist/app/admin/(core)/core38677/page.tsx +0 -13
  15. package/dist/app/admin/(core)/core40207/page.tsx +0 -13
  16. package/dist/app/admin/(core)/core60524/page.tsx +0 -11
  17. package/dist/app/admin/(core)/core64229/page.tsx +0 -12
  18. package/dist/app/admin/(core)/core71678/page.tsx +0 -11
  19. package/dist/app/admin/(core)/core76318/page.tsx +0 -13
  20. package/dist/app/admin/(core)/core83092/page.tsx +0 -13
  21. package/dist/app/admin/[...slug]/page.tsx +0 -7
  22. package/dist/app/admin/error.tsx +0 -42
  23. package/dist/app/admin/layout.tsx +0 -21
  24. package/dist/app/admin/test/page.tsx +0 -44
  25. package/dist/app/auth/login/page.tsx +0 -14
  26. package/dist/app/globals.css +0 -59
  27. package/dist/app/layout.tsx +0 -39
  28. package/dist/app/page.tsx +0 -18
  29. package/dist/components/Aceternity/BoxesBackground/MyBoxes.tsx +0 -66
  30. package/dist/components/Aceternity/BoxesBackground/MyBoxesBackground.tsx +0 -31
  31. package/dist/components/ActionIcons/ActionIcon/MyActionIcon.tsx +0 -47
  32. package/dist/components/ActionIcons/ActionIconCRUD/MyActionIconDelete.tsx +0 -81
  33. package/dist/components/ActionIcons/ActionIconCRUD/MyActionIconUpdate.tsx +0 -68
  34. package/dist/components/ActionIcons/ActionIconCheck/MyActionIconCheck.tsx +0 -50
  35. package/dist/components/ActionIcons/ActionIconDownloadPDF/MyActionIconDownloadPDF.tsx +0 -13
  36. package/dist/components/ActionIcons/ActionIconModal/MyActionIconModal.tsx +0 -113
  37. package/dist/components/ActionIcons/ActionIconUpload/MyActionIconUpload.tsx +0 -19
  38. package/dist/components/ActionIcons/ActionIconViewPdf/MyActionIconViewPDF.tsx +0 -63
  39. package/dist/components/ActionIcons/SwitchTheme/MySwitchTheme.tsx +0 -36
  40. package/dist/components/AppSpotlight/MyAppSpotlight.tsx +0 -112
  41. package/dist/components/Buttons/Anchor/MyAnchorViewPDF.tsx +0 -46
  42. package/dist/components/Buttons/Button/MyButton.tsx +0 -90
  43. package/dist/components/Buttons/ButtonCRUD/AQButtonCreateByImportFile.tsx +0 -81
  44. package/dist/components/Buttons/ButtonCRUD/AQButtonExportData.tsx +0 -75
  45. package/dist/components/Buttons/ButtonCRUD/MyButtonCreate.tsx +0 -68
  46. package/dist/components/Buttons/ButtonImport/MyButtonImport.tsx +0 -29
  47. package/dist/components/Buttons/ButtonImport/SelectFieldModal.tsx +0 -100
  48. package/dist/components/Buttons/ButtonImport/SelectFileModal.tsx +0 -81
  49. package/dist/components/Buttons/ButtonImport/useS_ButtonImport.ts +0 -196
  50. package/dist/components/Buttons/ButtonModal/AQSelectTableByOpenModal.tsx +0 -71
  51. package/dist/components/Buttons/ButtonModal/MyButtonModal.tsx +0 -117
  52. package/dist/components/Buttons/ButtonPrintPDF/MyButtonPrintPDF.tsx +0 -37
  53. package/dist/components/Buttons/ButtonPrintPDFTable/MyButtonPrintTablePDF.tsx +0 -174
  54. package/dist/components/Buttons/ButtonRouterBack/MyButtonRouterBack.tsx +0 -29
  55. package/dist/components/Buttons/ButtonViewPDF/MyButtonViewPDF.tsx +0 -121
  56. package/dist/components/Calendar/MyCalendar.tsx +0 -118
  57. package/dist/components/CenterFull/MyCenterFull.tsx +0 -10
  58. package/dist/components/Checkbox/MyCheckbox.tsx +0 -9
  59. package/dist/components/Combobox/Select/MySelect.tsx +0 -12
  60. package/dist/components/DataDisplay/Card/AQCard.tsx +0 -49
  61. package/dist/components/DataDisplay/CardInformation/MyCardInformation.tsx +0 -77
  62. package/dist/components/DataDisplay/DataTable/MyDataTable.tsx +0 -184
  63. package/dist/components/DataDisplay/IconText/MyIconText.tsx +0 -17
  64. package/dist/components/DataDisplay/KeyLabel/MyKeyLabel.tsx +0 -15
  65. package/dist/components/DataDisplay/NumberFormatter/MyNumberFormatter.tsx +0 -9
  66. package/dist/components/DataDisplay/StatCard/AQStatCard1.tsx +0 -68
  67. package/dist/components/FaviconSetter/FaviconSetter.tsx +0 -33
  68. package/dist/components/Inputs/DateInput/MyDateInput.tsx +0 -11
  69. package/dist/components/Inputs/Fieldset/MyFieldset.tsx +0 -32
  70. package/dist/components/Inputs/FileInput/MyFileInput.tsx +0 -12
  71. package/dist/components/Inputs/NumberInput/MyNumberInput.tsx +0 -12
  72. package/dist/components/Inputs/TextArea/MyTextArea.tsx +0 -11
  73. package/dist/components/Inputs/TextEditor/MyTextEditor.tsx +0 -191
  74. package/dist/components/Inputs/TextInput/MyTextInput.tsx +0 -30
  75. package/dist/components/Layouts/BasicAppShell/BasicAppShell.tsx +0 -357
  76. package/dist/components/Layouts/BasicAppShell/css.module.css +0 -62
  77. package/dist/components/Layouts/BasicAppShell/useS_BasicAppShell.ts +0 -64
  78. package/dist/components/Layouts/Container/MyContainer.tsx +0 -16
  79. package/dist/components/Layouts/FlexColumn/MyFlexColumn.tsx +0 -14
  80. package/dist/components/Layouts/FlexEnd/MyFlexEnd.tsx +0 -14
  81. package/dist/components/Layouts/FlexRow/MyFlexRow.tsx +0 -14
  82. package/dist/components/Layouts/HeaderMegaMenu/HeaderMegaMenu.tsx +0 -147
  83. package/dist/components/Layouts/HeaderMegaMenu/HeaderMegaMenuStore.ts +0 -19
  84. package/dist/components/Layouts/HeaderMegaMenu/css.module.css +0 -50
  85. package/dist/components/Layouts/HtmlWrapper/MyHtmlWrapper.tsx +0 -29
  86. package/dist/components/Layouts/PageContent/MyPageContent.tsx +0 -67
  87. package/dist/components/Layouts/Tab/MyTab.tsx +0 -33
  88. package/dist/components/Loaders/MyCardioLoader.tsx +0 -12
  89. package/dist/components/RESTAPIComponents/DataTableSelect/MyDataTableSelect.tsx +0 -61
  90. package/dist/components/RESTAPIComponents/SelectAPIGet/MySelectAPIGet.tsx +0 -37
  91. package/dist/components/ScheduleX/MyScheduleX.tsx +0 -58
  92. package/dist/components/Skeletons/SkeletonTable/MySkeletonTable.tsx +0 -9
  93. package/dist/components/index.ts +0 -62
  94. package/dist/constants/array/daysOfWeek.ts +0 -9
  95. package/dist/constants/enum/ENUM_EMAILCONFIG.ts +0 -6
  96. package/dist/constants/enum/global.ts +0 -26
  97. package/dist/constants/object/color.ts +0 -5
  98. package/dist/constants/object/documentTypes.ts +0 -8
  99. package/dist/css.module-P45UW6UZ.module.css +0 -4
  100. package/dist/data/menuData.ts +0 -31
  101. package/dist/hooks/custom-hooks/useC_MutationAction.tsx +0 -36
  102. package/dist/hooks/index.ts +0 -2
  103. package/dist/hooks/query/AQ/useQ_AQ_GetAQModule.ts +0 -14
  104. package/dist/interfaces/EmailConfig.ts +0 -10
  105. package/dist/interfaces/IAQModule.ts +0 -21
  106. package/dist/interfaces/base.ts +0 -9
  107. package/dist/interfaces/global-interface/IAQSSO.ts +0 -15
  108. package/dist/interfaces/global-interface/IAQSyncData.ts +0 -9
  109. package/dist/interfaces/global-interface/IAcademicYear.ts +0 -12
  110. package/dist/interfaces/global-interface/IChangePassWord.ts +0 -8
  111. package/dist/interfaces/global-interface/IComplaintProccess.ts +0 -9
  112. package/dist/interfaces/global-interface/ICreateAccount.ts +0 -24
  113. package/dist/interfaces/global-interface/IDocument.ts +0 -25
  114. package/dist/interfaces/global-interface/IDocumentAttribute.ts +0 -12
  115. package/dist/interfaces/global-interface/IEvent.ts +0 -30
  116. package/dist/interfaces/global-interface/IEventComplaint.ts +0 -20
  117. package/dist/interfaces/global-interface/IEventFillter.ts +0 -14
  118. package/dist/interfaces/global-interface/IFile.ts +0 -8
  119. package/dist/interfaces/global-interface/IImportStudentPaticipation.ts +0 -8
  120. package/dist/interfaces/global-interface/IPagePermission.ts +0 -12
  121. package/dist/interfaces/global-interface/IRolePermission.ts +0 -7
  122. package/dist/interfaces/global-interface/ISRMUserinfo.ts +0 -35
  123. package/dist/interfaces/global-interface/IScientificProfileProjectUser.ts +0 -15
  124. package/dist/interfaces/global-interface/IScientificProfileResearchGroup.ts +0 -15
  125. package/dist/interfaces/global-interface/IScientificProfileResearchGroupUser.ts +0 -14
  126. package/dist/interfaces/global-interface/IScientificProfileResearchProject.ts +0 -21
  127. package/dist/interfaces/global-interface/ISignIn.ts +0 -7
  128. package/dist/interfaces/global-interface/ISystemCatalogAcademicYear.ts +0 -15
  129. package/dist/interfaces/global-interface/ISystemCatalogDomainCategory.ts +0 -11
  130. package/dist/interfaces/global-interface/ISystemCatalogProjectLevelCategory.ts +0 -11
  131. package/dist/interfaces/global-interface/ISystemCatalogProjectTypeCategory.ts +0 -11
  132. package/dist/interfaces/global-interface/ISystemCatalogRoleActivity.ts +0 -11
  133. package/dist/interfaces/global-interface/ISystemCatalogTaskCategory.ts +0 -11
  134. package/dist/interfaces/global-interface/ISystemManagementAcademicHistory.ts +0 -31
  135. package/dist/interfaces/global-interface/ISystemManagementProfessionalWorkHistory.ts +0 -14
  136. package/dist/interfaces/global-interface/ISystemManagementPublishedScientificWork.ts +0 -14
  137. package/dist/interfaces/global-interface/ISystemManagementRoleGroup.ts +0 -12
  138. package/dist/interfaces/global-interface/ISystemManagementRoleGroupMenuPermission.ts +0 -18
  139. package/dist/interfaces/global-interface/ISystemManagementScientificResearchProject.ts +0 -16
  140. package/dist/interfaces/global-interface/ISystemManagementUserMenuPermission.ts +0 -18
  141. package/dist/interfaces/global-interface/IUpdateAccount.ts +0 -15
  142. package/dist/interfaces/global-interface/IUser.ts +0 -21
  143. package/dist/interfaces/global-interface/IUserPermission.ts +0 -7
  144. package/dist/lib/utils.ts +0 -6
  145. package/dist/modules-features/admin/core/MainDashboard/BarChart_CourseStatus.tsx +0 -87
  146. package/dist/modules-features/admin/core/MainDashboard/BarChart_ExamStatus.tsx +0 -65
  147. package/dist/modules-features/admin/core/MainDashboard/BarChart_RevenueByAcademicYear.tsx +0 -82
  148. package/dist/modules-features/admin/core/MainDashboard/BarChart_StudentStatusIn30Days.tsx +0 -67
  149. package/dist/modules-features/admin/core/MainDashboard/HBarChart_CourseDropOutPercentage.tsx +0 -77
  150. package/dist/modules-features/admin/core/MainDashboard/HBarChart_CourseProgressPercentage.tsx +0 -77
  151. package/dist/modules-features/admin/core/MainDashboard/LineChart_RevenueIn12Months.tsx +0 -78
  152. package/dist/modules-features/admin/core/MainDashboard/LineChart_TotalRevenueByDiscountIn3Months.tsx +0 -69
  153. package/dist/modules-features/admin/core/MainDashboard/LineChart_TotalRevenueByVoucherIn3Months.tsx +0 -69
  154. package/dist/modules-features/admin/core/MainDashboard/LineChart_TotalStudentIn12Months.tsx +0 -64
  155. package/dist/modules-features/admin/core/MainDashboard/ViewDiscountStat.tsx +0 -311
  156. package/dist/modules-features/admin/core/MainDashboard/ViewVoucherStat.tsx +0 -311
  157. package/dist/modules-features/admin/core/core12196/F_core12196.tsx +0 -20
  158. package/dist/modules-features/admin/core/core12196/F_core12196_Create.tsx +0 -101
  159. package/dist/modules-features/admin/core/core12196/F_core12196_Delete.tsx +0 -19
  160. package/dist/modules-features/admin/core/core12196/F_core12196_Read.tsx +0 -165
  161. package/dist/modules-features/admin/core/core12196/F_core12196_Update.tsx +0 -112
  162. package/dist/modules-features/admin/core/core16209/F_core16209.tsx +0 -108
  163. package/dist/modules-features/admin/core/core16209/F_core16209_Create.tsx +0 -112
  164. package/dist/modules-features/admin/core/core16209/F_core16209_Delete.tsx +0 -17
  165. package/dist/modules-features/admin/core/core16209/F_core16209_Update.tsx +0 -114
  166. package/dist/modules-features/admin/core/core18256/F_core18256.tsx +0 -29
  167. package/dist/modules-features/admin/core/core18256/F_core18256_Create.tsx +0 -34
  168. package/dist/modules-features/admin/core/core18256/F_core18256_Delete.tsx +0 -14
  169. package/dist/modules-features/admin/core/core18256/F_core18256_Read.tsx +0 -59
  170. package/dist/modules-features/admin/core/core18256/F_core18256_Select.tsx +0 -40
  171. package/dist/modules-features/admin/core/core18256/F_core18256_Update.tsx +0 -22
  172. package/dist/modules-features/admin/core/core26965/F_core26965.tsx +0 -17
  173. package/dist/modules-features/admin/core/core26965/F_core26965_Create.tsx +0 -106
  174. package/dist/modules-features/admin/core/core26965/F_core26965_Delete.tsx +0 -19
  175. package/dist/modules-features/admin/core/core26965/F_core26965_Read.tsx +0 -165
  176. package/dist/modules-features/admin/core/core26965/F_core26965_Update.tsx +0 -112
  177. package/dist/modules-features/admin/core/core27311/F_core27311.tsx +0 -21
  178. package/dist/modules-features/admin/core/core27311/F_core27311_Create.tsx +0 -109
  179. package/dist/modules-features/admin/core/core27311/F_core27311_Delete.tsx +0 -19
  180. package/dist/modules-features/admin/core/core27311/F_core27311_Read.tsx +0 -165
  181. package/dist/modules-features/admin/core/core27311/F_core27311_Update.tsx +0 -113
  182. package/dist/modules-features/admin/core/core35923/F_core35923.tsx +0 -46
  183. package/dist/modules-features/admin/core/core38677/F_core38677.tsx +0 -28
  184. package/dist/modules-features/admin/core/core38677/F_core38677_ReadUser.tsx +0 -79
  185. package/dist/modules-features/admin/core/core38677/F_core38677_Save.tsx +0 -52
  186. package/dist/modules-features/admin/core/core38677/F_core38677_ViewMenuPermissions.tsx +0 -264
  187. package/dist/modules-features/admin/core/core40207/F_core40207.tsx +0 -9
  188. package/dist/modules-features/admin/core/core40207/F_core40207_Create.tsx +0 -81
  189. package/dist/modules-features/admin/core/core40207/F_core40207_Delete.tsx +0 -17
  190. package/dist/modules-features/admin/core/core40207/F_core40207_Read.tsx +0 -98
  191. package/dist/modules-features/admin/core/core40207/F_core40207_Update.tsx +0 -83
  192. package/dist/modules-features/admin/core/core47643/F_core47643.tsx +0 -10
  193. package/dist/modules-features/admin/core/core47643/F_core47643_Delete.tsx +0 -13
  194. package/dist/modules-features/admin/core/core47643/F_core47643_Form.tsx +0 -34
  195. package/dist/modules-features/admin/core/core47643/F_core47643_Read.tsx +0 -57
  196. package/dist/modules-features/admin/core/core60524/F_core60524.tsx +0 -13
  197. package/dist/modules-features/admin/core/core60524/F_core60524_Form.tsx +0 -111
  198. package/dist/modules-features/admin/core/core60524/F_core60524_Save.tsx +0 -56
  199. package/dist/modules-features/admin/core/core60524/useS_core60524.ts +0 -16
  200. package/dist/modules-features/admin/core/core64229/F_core64229.tsx +0 -7
  201. package/dist/modules-features/admin/core/core64229/F_core64229_Delete.tsx +0 -21
  202. package/dist/modules-features/admin/core/core64229/F_core64229_Form.tsx +0 -95
  203. package/dist/modules-features/admin/core/core64229/F_core64229_Read.tsx +0 -67
  204. package/dist/modules-features/admin/core/core71678/F_core71678.tsx +0 -8
  205. package/dist/modules-features/admin/core/core71678/F_core71678_ChangePermission.tsx +0 -117
  206. package/dist/modules-features/admin/core/core71678/F_core71678_Create.tsx +0 -61
  207. package/dist/modules-features/admin/core/core71678/F_core71678_Delete.tsx +0 -16
  208. package/dist/modules-features/admin/core/core71678/F_core71678_Read.tsx +0 -92
  209. package/dist/modules-features/admin/core/core71678/F_core71678_Update.tsx +0 -49
  210. package/dist/modules-features/admin/core/core76318/F_core76318.tsx +0 -9
  211. package/dist/modules-features/admin/core/core76318/F_core76318_Create.tsx +0 -89
  212. package/dist/modules-features/admin/core/core76318/F_core76318_Delete.tsx +0 -17
  213. package/dist/modules-features/admin/core/core76318/F_core76318_Read.tsx +0 -104
  214. package/dist/modules-features/admin/core/core76318/F_core76318_Update.tsx +0 -89
  215. package/dist/modules-features/admin/core/core83092/F_core83092.tsx +0 -27
  216. package/dist/modules-features/admin/core/core83092/F_core83092_ReadUser.tsx +0 -85
  217. package/dist/modules-features/admin/core/core83092/F_core83092_Save.tsx +0 -52
  218. package/dist/modules-features/admin/core/core83092/F_core83092_ViewMenuPermissions.tsx +0 -263
  219. package/dist/modules-features/admin/core/core83092/useS_core83092.tsx +0 -70
  220. package/dist/modules-features/authenticate/F_authenticate_Login/F_authenticate_Login.tsx +0 -154
  221. package/dist/modules-features/authenticate/F_authenticate_Login/css.module.css +0 -4
  222. package/dist/modules-features/authenticate/F_authenticate_Logout.tsx +0 -22
  223. package/dist/modules-features/authenticate/F_authenticate_SplashPage.tsx +0 -21
  224. package/dist/modules-features/authenticate/useS_authenticate.ts +0 -23
  225. package/dist/modules-features/index.ts +0 -79
  226. package/dist/providers/MyMantineProvider.tsx +0 -140
  227. package/dist/providers/MyReactQueryProvider.tsx +0 -24
  228. package/dist/providers/Provider.tsx +0 -13
  229. package/dist/providers/mantine.module.css +0 -21
  230. package/dist/stores/CreateGenericStore.ts +0 -23
  231. package/dist/stores/index.ts +0 -1
  232. package/dist/types/types.ts +0 -16
  233. package/dist/utils/index.ts +0 -9
  234. package/dist/utils/utils_converter.ts +0 -39
  235. package/dist/utils/utils_currency.ts +0 -5
  236. package/dist/utils/utils_date.ts +0 -34
  237. package/dist/utils/utils_excel.ts +0 -128
  238. package/dist/utils/utils_file.ts +0 -61
  239. package/dist/utils/utils_notification.ts +0 -46
  240. package/dist/utils/utils_pdf.ts +0 -21
  241. package/dist/utils/utils_time.ts +0 -15
  242. package/dist/utils/utils_validateForm.ts +0 -9
@@ -1,19 +0,0 @@
1
- import { createGenericStore } from "@/stores/CreateGenericStore";
2
-
3
- interface I {
4
- name?: string;
5
- }
6
-
7
- const useStore = createGenericStore<I>({
8
- initialState: { name: "Đăng ký khóa học" },
9
- storageKey: 'HeaderMegaMenuStore'
10
- });
11
-
12
-
13
-
14
- export function useHeaderMegaMenuStore() {
15
- const store = useStore()
16
- return {
17
- ...store
18
- }
19
- }
@@ -1,50 +0,0 @@
1
- .header {
2
- position: sticky; /* Giúp header dính trên cùng */
3
- top: 0;
4
- z-index: 1; /* Đảm bảo header nằm trên các thành phần khác */
5
- height: 60px;
6
- background-color: light-dark(var(--mantine-color-white), var(--mantine-color-dark));
7
- padding-left: var(--mantine-spacing-md);
8
- padding-right: var(--mantine-spacing-md);
9
- border-bottom: 1px solid light-dark(var(--mantine-color-gray-3), var(--mantine-color-dark-4));
10
- }
11
-
12
- .link {
13
- display: flex;
14
- align-items: center;
15
- height: 100%;
16
- padding-left: var(--mantine-spacing-md);
17
- padding-right: var(--mantine-spacing-md);
18
- text-decoration: none;
19
- color: light-dark(var(--mantine-color-black), var(--mantine-color-white));
20
- font-weight: 500;
21
- font-size: var(--mantine-font-size-sm);
22
-
23
- @media (max-width: $mantine-breakpoint-sm) {
24
- height: 42px;
25
- width: 100%;
26
- }
27
-
28
- @mixin hover {
29
- background-color: light-dark(var(--mantine-color-gray-0), var(--mantine-color-dark-6));
30
- }
31
- }
32
-
33
- .subLink {
34
- width: 100%;
35
- padding: var(--mantine-spacing-xs) var(--mantine-spacing-md);
36
- border-radius: var(--mantine-radius-md);
37
-
38
- @mixin hover {
39
- background-color: light-dark(var(--mantine-color-gray-0), var(--mantine-color-dark-7));
40
- }
41
- }
42
-
43
- .dropdownFooter {
44
- background-color: light-dark(var(--mantine-color-gray-0), var(--mantine-color-dark-7));
45
- margin: calc(var(--mantine-spacing-md) * -1);
46
- margin-top: var(--mantine-spacing-sm);
47
- padding: var(--mantine-spacing-md) calc(var(--mantine-spacing-md) * 2);
48
- padding-bottom: var(--mantine-spacing-xl);
49
- border-top: 1px solid light-dark(var(--mantine-color-gray-1), var(--mantine-color-dark-5));
50
- }
@@ -1,29 +0,0 @@
1
- import { ScrollArea, TypographyStylesProvider, TypographyStylesProviderProps } from "@mantine/core";
2
- import pako from "pako";
3
-
4
- interface HtmlWrapper extends TypographyStylesProviderProps {
5
- html: string;
6
- mah?: number | string;
7
- zip?: boolean
8
- }
9
-
10
- export function MyHtmlWrapper({ html, mah, zip = false, ...rest }: HtmlWrapper) {
11
- const extractHtmlFromZip = () => {
12
- const binaryString = Buffer.from(html, "base64");
13
- // Giải nén Gzip
14
- const decompressedData = pako.inflate(binaryString, { to: "string" });
15
- const cleanedHtml = decompressedData?.replaceAll(" font-family:'Times New Roman'; font-size:1em;", "");
16
- return cleanedHtml.replaceAll(" font-family:'Times New Roman'; font-size:1em;", "")
17
- }
18
- return (
19
- <ScrollArea.Autosize mah={mah}>
20
- <TypographyStylesProvider {...rest}>
21
- <div
22
- dangerouslySetInnerHTML={{
23
- __html: zip ? extractHtmlFromZip() : html
24
- }}
25
- />
26
- </TypographyStylesProvider>
27
- </ScrollArea.Autosize>
28
- );
29
- }
@@ -1,67 +0,0 @@
1
- "use client";
2
- import { MyButtonRouterBack } from "@/components/Buttons/ButtonRouterBack/MyButtonRouterBack";
3
- import { Code, Container, Divider, Group, Indicator, Title } from "@mantine/core";
4
- import { ReactNode } from "react";
5
- import { useS_BasicAppShell } from "../BasicAppShell/useS_BasicAppShell";
6
-
7
- interface IPageContent {
8
- title?: string;
9
- canBack?: boolean;
10
- rightTopBar?: ReactNode;
11
- children?: ReactNode;
12
- leftTopBar?: ReactNode;
13
- status?: "Prototype" | "Beta";
14
- }
15
-
16
- // Hàm helper để lấy màu sắc dựa trên trạng thái
17
- const getStatusColor = (status?: string) => {
18
- switch (status) {
19
- case "Prototype":
20
- return "blue";
21
- case "Beta":
22
- return "orange";
23
- default:
24
- return "gray";
25
- }
26
- };
27
-
28
- // Component riêng cho tiêu đề có trạng thái
29
- const PageTitle = ({ title, status }: { title: string; status?: string }) => {
30
- const color = getStatusColor(status);
31
- return (
32
- <Indicator label={status} size={16} inline color={color} disabled={!status} pt={6}>
33
- <Title order={4}>{title}</Title>
34
- </Indicator>
35
- );
36
- };
37
-
38
- export function MyPageContent({
39
- leftTopBar,
40
- title,
41
- canBack = false,
42
- rightTopBar,
43
- status,
44
- children,
45
- }: IPageContent) {
46
- const basicAppShellStore = useS_BasicAppShell();
47
- const finalTitle = title || basicAppShellStore.state.title;
48
- return (
49
- <Container p={0} fluid>
50
- <Group justify="space-between">
51
- <Group>
52
- {canBack && <MyButtonRouterBack />}
53
- <PageTitle title={finalTitle} status={status} />
54
- {leftTopBar}
55
- </Group>
56
- <Group>
57
- {rightTopBar}
58
- <Code color="var(--mantine-color-blue-light)">
59
- {basicAppShellStore.state.menuCode}
60
- </Code>
61
- </Group>
62
- </Group>
63
- <Divider my={"xs"} />
64
- {children}
65
- </Container>
66
- );
67
- }
@@ -1,33 +0,0 @@
1
- 'use client'
2
- import { rem, Space, Tabs, TabsProps } from '@mantine/core'
3
- import { Icon, IconProps } from '@tabler/icons-react'
4
- import React, { ReactNode } from 'react'
5
-
6
- interface ITab {
7
- label: string,
8
- icon?: React.ForwardRefExoticComponent<IconProps & React.RefAttributes<Icon>>
9
- }
10
-
11
- interface IMyTab extends TabsProps {
12
- tabList: ITab[],
13
- children?: ReactNode
14
- }
15
-
16
- export function MyTab({ tabList, children, ...rest }: IMyTab) {
17
- const iconStyle = { width: rem(20), height: rem(20) };
18
- return (
19
- <Tabs defaultValue={tabList[0].label} {...rest}>
20
- <Tabs.List>
21
- {tabList.map((item, idx) => {
22
- return (
23
- <Tabs.Tab key={idx} value={item.label} leftSection={item.icon && <item.icon style={iconStyle}></item.icon>}>
24
- {item.label}
25
- </Tabs.Tab>
26
- )
27
- })}
28
- </Tabs.List>
29
- <Space my={'md'} />
30
- {children}
31
- </Tabs>
32
- )
33
- }
@@ -1,12 +0,0 @@
1
- import { useEffect } from "react";
2
-
3
- export function MyCardioLoader() {
4
- useEffect(() => {
5
- async function getLoader() {
6
- const { cardio } = await import("ldrs");
7
- cardio.register();
8
- }
9
- getLoader();
10
- }, []);
11
- return <l-cardio color="var(--cyan-400)"></l-cardio>;
12
- }
@@ -1,61 +0,0 @@
1
- import { MyCenterFull } from "@/components/CenterFull/MyCenterFull";
2
- import { MyDataTable } from "@/components/DataDisplay/DataTable/MyDataTable";
3
- import { ActionIcon, Button, Fieldset, Group, MantineSize, Modal } from "@mantine/core";
4
- import { useDisclosure, useListState } from "@mantine/hooks";
5
- import { IconX } from "@tabler/icons-react";
6
- import { MRT_ColumnDef, MRT_RowData, MRT_TableInstance, MRT_TableOptions } from "mantine-react-table";
7
- import { ReactNode } from "react";
8
-
9
- interface IDataTable<TData extends MRT_RowData> extends Omit<MRT_TableOptions<TData>, "data"> {
10
- listLabel?: string;
11
- columns: MRT_ColumnDef<TData>[];
12
- data?: TData[];
13
- renderTopToolbarCustomActions?: ((props: {
14
- table: MRT_TableInstance<TData>;
15
- }) => ReactNode) | undefined,
16
- listState: ReturnType<typeof useListState<TData>>;
17
- selectButtonlabel?: string,
18
- modalSize?: MantineSize
19
- }
20
-
21
- export function MyDataTableSelect<TData extends MRT_RowData>({ modalSize, renderTopToolbarCustomActions, data, selectButtonlabel, listState, columns, listLabel, ...rest }: IDataTable<TData>) {
22
- const disc = useDisclosure(false)
23
- if (data == undefined) return "Đang tải..."
24
- return (
25
- <Fieldset legend={listLabel ? listLabel : "Danh sách"}>
26
- <MyDataTable
27
- renderTopToolbarCustomActions={({ table }) => {
28
- return (
29
- <Group>
30
- {renderTopToolbarCustomActions && renderTopToolbarCustomActions({ table: table })}
31
- <Button onClick={disc[1].open}>{selectButtonlabel || "Chọn từ danh sách"}</Button>
32
- </Group>
33
- )
34
- }}
35
- columns={columns}
36
- data={listState[0] as TData[]}
37
- renderRowActions={({ row }) => {
38
- return (
39
- <MyCenterFull>
40
- <ActionIcon color="red" onClick={() => listState[1].remove(row.index)}><IconX /></ActionIcon>
41
- </MyCenterFull>
42
- )
43
- }}
44
- {...rest} />
45
-
46
- <Modal opened={disc[0]} onClose={disc[1].close} size={modalSize || "80%"}>
47
- <MyDataTable
48
- renderTopToolbarCustomActions={({ table }) => {
49
- return <Button onClick={() => {
50
- table.getSelectedRowModel().rows.map(item => listState[1].append(item.original))
51
- disc[1].close()
52
- }}>Chọn</Button>
53
- }}
54
- enableRowSelection
55
- data={data!}
56
- columns={columns}
57
- {...rest} />
58
- </Modal>
59
- </Fieldset>
60
- )
61
- }
@@ -1,37 +0,0 @@
1
- import baseAxios from "@/api/baseAxios";
2
- import { Select, SelectProps } from "@mantine/core";
3
- import { useQuery } from "@tanstack/react-query";
4
-
5
- interface ISelect extends SelectProps {
6
- apiGet: string;
7
- label?: string;
8
- dataMapper?: (item: any) => { value: string; label: string }; // Hàm tùy chỉnh cách map dữ liệu
9
- }
10
-
11
- export function MySelectAPIGet({ apiGet, label = "", dataMapper, ...rest }: ISelect) {
12
- const query = useQuery({
13
- queryKey: [apiGet],
14
- queryFn: async () => {
15
- return (await baseAxios.get(apiGet)).data;
16
- },
17
- });
18
-
19
- if (query.isLoading) return "Loading...";
20
-
21
- const data = query.data?.map((item: any) => {
22
- if (dataMapper) return dataMapper(item)
23
- return {
24
- value: item.id?.toString()!,
25
- label: `${item.code}-${item.name}`,
26
- }
27
- });
28
-
29
- return (
30
- <Select
31
- label={label}
32
- placeholder={`Chọn ${label?.toLowerCase()}`}
33
- data={data}
34
- {...rest}
35
- />
36
- );
37
- }
@@ -1,58 +0,0 @@
1
- 'use client'
2
- // import '@schedule-x/theme-default/dist/index.css'
3
- import { useNextCalendarApp, ScheduleXCalendar } from '@schedule-x/react'
4
- import {
5
- CalendarEventExternal,
6
- createViewDay,
7
- createViewMonthAgenda,
8
- createViewMonthGrid,
9
- createViewWeek,
10
- } from '@schedule-x/calendar'
11
- import { createEventsServicePlugin } from '@schedule-x/events-service'
12
- import { useState } from "react";
13
- import { createEventModalPlugin } from '@schedule-x/event-modal'
14
-
15
- interface MyScheduleXProps<T extends CalendarEventExternal> {
16
- values?: T[]
17
- timeGridEvent?: (props: { calendarEvent: T }) => React.ReactNode
18
- eventModal?: (props: { calendarEvent: T }) => React.ReactNode,
19
- nDays?: number,
20
- startDayBoundaries?: string,
21
- endDayBoundaries?: string
22
- }
23
-
24
- export function MyScheduleX<T extends CalendarEventExternal>({
25
- values,
26
- timeGridEvent,
27
- eventModal,
28
- nDays,
29
- startDayBoundaries = "05:00",
30
- endDayBoundaries = "21:00"
31
- }: MyScheduleXProps<T>) {
32
- const eventsService = useState(() => createEventsServicePlugin())[0]
33
- const eventModalPlugin = useState(() => createEventModalPlugin())[0]
34
- const calendar = useNextCalendarApp({
35
- locale: "vi-VN",
36
- dayBoundaries: {
37
- start: startDayBoundaries,
38
- end: endDayBoundaries,
39
- },
40
- weekOptions: {
41
- nDays: nDays,
42
- gridHeight: 700
43
- },
44
- views: [createViewDay(), createViewWeek(), createViewMonthGrid(), createViewMonthAgenda()],
45
- events: values,
46
- plugins: [eventsService, eventModalPlugin],
47
- })
48
-
49
- return (
50
- <ScheduleXCalendar
51
- calendarApp={calendar}
52
- customComponents={{
53
- timeGridEvent: timeGridEvent,
54
- eventModal: eventModal
55
- }}
56
- />
57
- )
58
- }
@@ -1,9 +0,0 @@
1
- import { Skeleton, SkeletonProps } from '@mantine/core'
2
-
3
- interface IMySkeletonTable extends SkeletonProps { }
4
-
5
- export function MySkeletonTable({ h = 500 }: IMySkeletonTable) {
6
- return (
7
- <Skeleton h={h} />
8
- )
9
- }
@@ -1,62 +0,0 @@
1
- export * from './Aceternity/BoxesBackground/MyBoxes';
2
- export * from './Aceternity/BoxesBackground/MyBoxesBackground';
3
- export * from './ActionIcons/ActionIcon/MyActionIcon';
4
- export * from './ActionIcons/ActionIconCheck/MyActionIconCheck';
5
- export * from './ActionIcons/ActionIconCRUD/MyActionIconDelete';
6
- export * from './ActionIcons/ActionIconCRUD/MyActionIconUpdate';
7
- export * from './ActionIcons/ActionIconDownloadPDF/MyActionIconDownloadPDF';
8
- export * from './ActionIcons/ActionIconModal/MyActionIconModal';
9
- export * from './ActionIcons/ActionIconUpload/MyActionIconUpload';
10
- export * from './ActionIcons/ActionIconViewPdf/MyActionIconViewPDF';
11
- export * from './ActionIcons/SwitchTheme/MySwitchTheme';
12
- export * from './AppSpotlight/MyAppSpotlight';
13
- export * from './Buttons/Anchor/MyAnchorViewPDF';
14
- export * from './Buttons/Button/MyButton';
15
- export * from './Buttons/ButtonCRUD/AQButtonCreateByImportFile';
16
- export * from './Buttons/ButtonCRUD/AQButtonExportData';
17
- export * from './Buttons/ButtonCRUD/MyButtonCreate';
18
- export * from './Buttons/ButtonImport/MyButtonImport';
19
- export * from './Buttons/ButtonImport/SelectFieldModal';
20
- export * from './Buttons/ButtonImport/SelectFileModal';
21
- export * from './Buttons/ButtonImport/useS_ButtonImport';
22
- export * from './Buttons/ButtonModal/AQSelectTableByOpenModal';
23
- export * from './Buttons/ButtonModal/MyButtonModal';
24
- export * from './Buttons/ButtonPrintPDF/MyButtonPrintPDF';
25
- export * from './Buttons/ButtonPrintPDFTable/MyButtonPrintTablePDF';
26
- export * from './Buttons/ButtonRouterBack/MyButtonRouterBack';
27
- export * from './Buttons/ButtonViewPDF/MyButtonViewPDF';
28
- export * from './Calendar/MyCalendar';
29
- export * from './CenterFull/MyCenterFull';
30
- export * from './Checkbox/MyCheckbox';
31
- export * from './Combobox/Select/MySelect';
32
- export * from './DataDisplay/Card/AQCard';
33
- export * from './DataDisplay/CardInformation/MyCardInformation';
34
- export * from './DataDisplay/DataTable/MyDataTable';
35
- export * from './DataDisplay/IconText/MyIconText';
36
- export * from './DataDisplay/KeyLabel/MyKeyLabel';
37
- export * from './DataDisplay/NumberFormatter/MyNumberFormatter';
38
- export * from './DataDisplay/StatCard/AQStatCard1';
39
- export * from './FaviconSetter/FaviconSetter';
40
- export * from './Inputs/DateInput/MyDateInput';
41
- export * from './Inputs/Fieldset/MyFieldset';
42
- export * from './Inputs/FileInput/MyFileInput';
43
- export * from './Inputs/NumberInput/MyNumberInput';
44
- export * from './Inputs/TextArea/MyTextArea';
45
- export * from './Inputs/TextEditor/MyTextEditor';
46
- export * from './Inputs/TextInput/MyTextInput';
47
- export * from './Layouts/BasicAppShell/BasicAppShell';
48
- export * from './Layouts/BasicAppShell/useS_BasicAppShell';
49
- export * from './Layouts/Container/MyContainer';
50
- export * from './Layouts/FlexColumn/MyFlexColumn';
51
- export * from './Layouts/FlexEnd/MyFlexEnd';
52
- export * from './Layouts/FlexRow/MyFlexRow';
53
- export * from './Layouts/HeaderMegaMenu/HeaderMegaMenu';
54
- export * from './Layouts/HeaderMegaMenu/HeaderMegaMenuStore';
55
- export * from './Layouts/HtmlWrapper/MyHtmlWrapper';
56
- export * from './Layouts/PageContent/MyPageContent';
57
- export * from './Layouts/Tab/MyTab';
58
- export * from './Loaders/MyCardioLoader';
59
- export * from './RESTAPIComponents/DataTableSelect/MyDataTableSelect';
60
- export * from './RESTAPIComponents/SelectAPIGet/MySelectAPIGet';
61
- export * from './ScheduleX/MyScheduleX';
62
- export * from './Skeletons/SkeletonTable/MySkeletonTable';
@@ -1,9 +0,0 @@
1
- export const ARRAY_DAYS_OF_WEEK = [
2
- "Thứ Hai",
3
- "Thứ Ba",
4
- "Thứ Tư",
5
- "Thứ Năm",
6
- "Thứ Sáu",
7
- "Thứ Bảy",
8
- "Chủ Nhật"
9
- ]
@@ -1,6 +0,0 @@
1
- export enum ENUM_EMAILCONFIG_MODULE {
2
- "Đào tạo" = 1,
3
- "Tuyển sinh" = 2,
4
- "Sinh viên" = 3,
5
- "Khảo thí" = 4
6
- }
@@ -1,26 +0,0 @@
1
- export enum ENUM_DAYS_OF_WEEK {
2
- "Chủ Nhật" = 0,
3
- "Thứ Hai" = 1,
4
- "Thứ Ba" = 2,
5
- "Thứ Tư" = 3,
6
- "Thứ Năm" = 4,
7
- "Thứ Sáu" = 5,
8
- "Thứ Bảy" = 6
9
- }
10
-
11
- export enum ENUM_GENDER {
12
- "Nam" = 1,
13
- "Nữ" = 2,
14
- }
15
-
16
- export enum ENUM_QUESTION_TYPE {
17
- "Trắc nghiệm" = 1,
18
- "Tự luận" = 2,
19
- "Trắc nghiệm + Tự luận" = 3,
20
- "Tiểu luận" = 4,
21
- "Vấn đáp" = 5,
22
- }
23
-
24
- export enum ENUM_ASSESSMENT_TOOL {
25
- Rubrics = 1,
26
- }
@@ -1,5 +0,0 @@
1
- export const OBJECT_COlORS = {
2
- mantineBackgroundPrimary: "light-dark(var(--mantine-color-white), var(--mantine-color-dark))",
3
- mantineBackgroundSecondary: "light-dark(var(--mantine-color-gray-1), var(--mantine-color-dark-8))",
4
- mantineBackgroundBlueLight: "var(--mantine-color-blue-light)",
5
- };
@@ -1,8 +0,0 @@
1
- export const OBJECT_DOCUMENT_TYPES = {
2
- Security: 1,
3
- Refinement: 2,
4
- Guideline: 3,
5
- Regulations: 4,
6
- Workflow: 5,
7
- Form: 6,
8
- };
@@ -1,4 +0,0 @@
1
- .title {
2
- font-family: Greycliff CF, var(--mantine-font-family);
3
- font-weight: 900;
4
- }
@@ -1,31 +0,0 @@
1
- import { I_BasicAppShell_LinkItem } from "@/components/Layouts/BasicAppShell/BasicAppShell";
2
-
3
- export const menuData: I_BasicAppShell_LinkItem[] = [
4
- {
5
- label: "Quản lí hệ thống",
6
- links: [
7
- { pageId: 1, name: "Account management", label: "Quản lí tài khoản", link: "core71678" },
8
- { pageId: 2, name: "Access control level", label: "Phân quyền cấp đơn vị", link: "core38677" },
9
- { pageId: 3, name: "Access control", label: "Phân quyền sử dụng", link: "core83092" },
10
- { pageId: 4, name: "Security regulations", label: "Quy định an toàn/ bảo mật thông tin", link: "core76318", status: "Default" },
11
- { pageId: 5, name: "System updates", label: "Thông tin xây dựng, cải tiến, bảo trì hệ thống", link: "core16209", status: "Default" },
12
- { pageId: 6, name: "User guide", label: "Tài liệu hướng dẫn sử dụng", link: "core40207", status: "Default" },
13
- ],
14
- },
15
- {
16
- label: "Văn bản - Quy định",
17
- links: [
18
- { pageId: 7, name: "Organizational regulations", label: "Văn bản - Quy định tổ chức", link: "core26965", status: "Default" },
19
- { pageId: 8, name: "Workflow process", label: "Quy trình xử lý công việc", link: "core27311", status: "Default" },
20
- { pageId: 9, name: "Form templates", label: "Tài liệu biểu mẫu", link: "core12196", status: "Default" },
21
- ],
22
- },
23
- {
24
- label: "Danh mục hệ thống ",
25
- links: [
26
- { pageId: 0, name: "Document categories", label: "Danh mục loại văn bản", link: "core18256" },
27
- { pageId: 0, name: "", label: "Danh mục cấu hình mail", link: "core64229", status: "Default" },
28
- { pageId: 0, name: "", label: "Cấu hình thông tin chủ quản", link: "core60524", status: "Default" },
29
- ],
30
- },
31
- ];
@@ -1,36 +0,0 @@
1
- import { utils_notification_show } from "@/utils/utils_notification";
2
- import { useForm } from "@mantine/form";
3
- import { useDisclosure } from "@mantine/hooks";
4
- import { useQueryClient } from "@tanstack/react-query";
5
-
6
- interface I {
7
- disc?: ReturnType<typeof useDisclosure>
8
- form?: ReturnType<typeof useForm>,
9
- crudType?: "delete" | "update" | "create"
10
- manualNotification?: () => void
11
- }
12
- export default function useC_MutationAction({
13
- disc,
14
- form,
15
- crudType = "create",
16
- manualNotification
17
- }: I = {}) {
18
- const queryClient = useQueryClient()
19
-
20
- const Action = ({ manualCrudType }: { manualCrudType?: "delete" | "update" | "create" }) => {
21
- const finalCrudType = manualCrudType || crudType;
22
- form && form.reset();
23
- disc && disc[1].close();
24
- queryClient.invalidateQueries();
25
-
26
- if (manualNotification) {
27
- manualNotification();
28
- return;
29
- }
30
- utils_notification_show({ crudType: finalCrudType });
31
- };
32
- return {
33
- Action
34
- }
35
-
36
- }
@@ -1,2 +0,0 @@
1
- export * from './custom-hooks/useC_MutationAction';
2
- export * from './query/AQ/useQ_AQ_GetAQModule';
@@ -1,14 +0,0 @@
1
- import baseAxios from '@/api/baseAxios'
2
- import { IAQModule } from '@/interfaces/IAQModule'
3
- import { useQuery } from '@tanstack/react-query'
4
-
5
- export function useQ_AQ_GetAQModule() {
6
- const query = useQuery<IAQModule>({
7
- queryKey: ["/AQ/GetAQModule"],
8
- queryFn: async () => {
9
- const res = await baseAxios.get("/AQ/GetAQModule")
10
- return res.data.data
11
- }
12
- })
13
- return query
14
- }
@@ -1,10 +0,0 @@
1
- import { IBaseEntity } from "./base"
2
-
3
- export interface IEmailConfig extends IBaseEntity {
4
- emailModule?: number
5
- hostMailServer?: string
6
- outgoingPort?: number
7
- incomingPort?: number
8
- sll?: boolean
9
- userName?: string
10
- }
@@ -1,21 +0,0 @@
1
- import { IBaseEntity } from "./base";
2
-
3
- export interface IAQModule extends IBaseEntity {
4
- officelName?: string;
5
- phoneNumber?: string;
6
- email?: string;
7
- faviconPath?: string;
8
- logoPath?: string;
9
- registrationDate?: Date;
10
- limiteDate?: Date;
11
- faviconFileDetail?: {
12
- fileName?: string;
13
- fileExtension?: string;
14
- fileBase64String?: string;
15
- };
16
- logoFileDetail?: {
17
- fileName?: string;
18
- fileExtension?: string;
19
- fileBase64String?: string;
20
- };
21
- }
@@ -1,9 +0,0 @@
1
- export interface IBaseEntity {
2
- id?: number,
3
- code?: string,
4
- name?: string,
5
- concurrencyStamp?: string,
6
- isEnabled?: boolean,
7
- modifiedWhen?: Date,
8
- modifiedBy?: number
9
- }
@@ -1,15 +0,0 @@
1
-
2
-
3
- export interface IAQSSO {
4
- studentCode?: string | undefined;
5
- falcutyName?: string | undefined;
6
- falcutyId?: string | undefined;
7
- majorsName?: string | undefined;
8
- majorsId?: string | undefined;
9
- fullname?: string | undefined;
10
- dateOfBirth?: string | undefined;
11
- email?: string | undefined;
12
- classId?: string | undefined;
13
- className?: string | undefined;
14
-
15
- }