phx-react 1.3.800 → 1.3.804

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 (286) hide show
  1. package/README.md +7 -89
  2. package/dist/cjs/components/Checkbox/Checkbox.d.ts +1 -0
  3. package/dist/cjs/components/Checkbox/Checkbox.js +22 -12
  4. package/dist/cjs/components/Checkbox/Checkbox.js.map +1 -1
  5. package/dist/cjs/components/Checkbox/styles/StyleCheckbox.js +1 -1
  6. package/dist/cjs/components/Checkbox/styles/StyleCheckbox.js.map +1 -1
  7. package/dist/cjs/components/HeaderBar/HeaderBar.js +34 -34
  8. package/dist/cjs/components/HeaderBar/HeaderBar.js.map +1 -1
  9. package/dist/cjs/components/LoadingIndicator/loading-indicator.js +6 -1
  10. package/dist/cjs/components/LoadingIndicator/loading-indicator.js.map +1 -1
  11. package/dist/cjs/components/MainWrapV3/MainWrapV3.js +3 -3
  12. package/dist/cjs/components/MainWrapV3/MainWrapV3.js.map +1 -1
  13. package/dist/cjs/components/MainWrapV3/appearance/appearance-styled.js.map +1 -0
  14. package/dist/cjs/components/MainWrapV3/navigator/nav-mobile-content.js.map +1 -0
  15. package/dist/cjs/components/MainWrapV3/navigator/nav-mobile.js.map +1 -0
  16. package/dist/cjs/components/MainWrapV3/style/sub-menu-style.js.map +1 -0
  17. package/dist/cjs/components/MainWrapV3/types/appearance.js.map +1 -0
  18. package/dist/cjs/components/TableV3/ColumnInRowTable.js.map +1 -0
  19. package/dist/cjs/components/TableV3/EmptyRecord.js.map +1 -0
  20. package/dist/cjs/components/TableV3/EmptySearchResult.js.map +1 -0
  21. package/dist/cjs/components/TableV3/PaginaitonSelected.js.map +1 -0
  22. package/dist/cjs/components/TableV3/Pagination.js.map +1 -0
  23. package/dist/cjs/components/TableV3/RowTable.js.map +1 -0
  24. package/dist/cjs/components/TableV3/SelectSort.js.map +1 -0
  25. package/dist/cjs/components/TableV3/TableV3.js +5 -5
  26. package/dist/cjs/components/TableV3/TableV3.js.map +1 -1
  27. package/dist/cjs/components/TableV3/sort.js.map +1 -0
  28. package/dist/cjs/index.d.ts +1 -13
  29. package/dist/cjs/index.js +2 -26
  30. package/dist/cjs/index.js.map +1 -1
  31. package/dist/cjs/lib/apollo-wrapper.js +3 -12
  32. package/dist/cjs/lib/apollo-wrapper.js.map +1 -1
  33. package/dist/esm/components/Checkbox/Checkbox.d.ts +1 -0
  34. package/dist/esm/components/Checkbox/Checkbox.js +22 -12
  35. package/dist/esm/components/Checkbox/Checkbox.js.map +1 -1
  36. package/dist/esm/components/Checkbox/styles/StyleCheckbox.js +1 -1
  37. package/dist/esm/components/Checkbox/styles/StyleCheckbox.js.map +1 -1
  38. package/dist/esm/components/HeaderBar/HeaderBar.js +34 -34
  39. package/dist/esm/components/HeaderBar/HeaderBar.js.map +1 -1
  40. package/dist/esm/components/LoadingIndicator/loading-indicator.js +6 -1
  41. package/dist/esm/components/LoadingIndicator/loading-indicator.js.map +1 -1
  42. package/dist/esm/components/MainWrapV3/MainWrapV3.js +3 -3
  43. package/dist/esm/components/MainWrapV3/MainWrapV3.js.map +1 -1
  44. package/dist/esm/components/MainWrapV3/appearance/appearance-styled.js.map +1 -0
  45. package/dist/esm/components/MainWrapV3/navigator/nav-mobile-content.js.map +1 -0
  46. package/dist/esm/components/MainWrapV3/navigator/nav-mobile.js.map +1 -0
  47. package/dist/esm/components/MainWrapV3/style/sub-menu-style.js.map +1 -0
  48. package/dist/esm/components/MainWrapV3/types/appearance.js.map +1 -0
  49. package/dist/esm/components/TableV3/ColumnInRowTable.js.map +1 -0
  50. package/dist/esm/components/TableV3/EmptyRecord.js.map +1 -0
  51. package/dist/esm/components/TableV3/EmptySearchResult.js.map +1 -0
  52. package/dist/esm/components/TableV3/PaginaitonSelected.js.map +1 -0
  53. package/dist/esm/components/TableV3/Pagination.js.map +1 -0
  54. package/dist/esm/components/TableV3/RowTable.js.map +1 -0
  55. package/dist/esm/components/TableV3/SelectSort.js.map +1 -0
  56. package/dist/esm/components/TableV3/TableV3.js +5 -5
  57. package/dist/esm/components/TableV3/TableV3.js.map +1 -1
  58. package/dist/esm/components/TableV3/sort.js.map +1 -0
  59. package/dist/esm/index.d.ts +1 -13
  60. package/dist/esm/index.js +1 -13
  61. package/dist/esm/index.js.map +1 -1
  62. package/dist/esm/lib/apollo-wrapper.js +4 -13
  63. package/dist/esm/lib/apollo-wrapper.js.map +1 -1
  64. package/package.json +2 -2
  65. package/dist/cjs/components/FormTuition/FormTuition.d.ts +0 -11
  66. package/dist/cjs/components/FormTuition/FormTuition.js +0 -223
  67. package/dist/cjs/components/FormTuition/FormTuition.js.map +0 -1
  68. package/dist/cjs/components/FormTuition/index.d.ts +0 -1
  69. package/dist/cjs/components/FormTuition/index.js +0 -5
  70. package/dist/cjs/components/FormTuition/index.js.map +0 -1
  71. package/dist/cjs/components/Func/getActiveAndNextSchoolYear.d.ts +0 -3
  72. package/dist/cjs/components/Func/getActiveAndNextSchoolYear.js +0 -42
  73. package/dist/cjs/components/Func/getActiveAndNextSchoolYear.js.map +0 -1
  74. package/dist/cjs/components/Func/getHttpLinkConfig.d.ts +0 -2
  75. package/dist/cjs/components/Func/getHttpLinkConfig.js +0 -32
  76. package/dist/cjs/components/Func/getHttpLinkConfig.js.map +0 -1
  77. package/dist/cjs/components/Func/getSchoolYear.d.ts +0 -2
  78. package/dist/cjs/components/Func/getSchoolYear.js +0 -63
  79. package/dist/cjs/components/Func/getSchoolYear.js.map +0 -1
  80. package/dist/cjs/components/Func/getSchoolYearHocVu.d.ts +0 -2
  81. package/dist/cjs/components/Func/getSchoolYearHocVu.js +0 -63
  82. package/dist/cjs/components/Func/getSchoolYearHocVu.js.map +0 -1
  83. package/dist/cjs/components/Func/logUserActivity.d.ts +0 -6
  84. package/dist/cjs/components/Func/logUserActivity.js +0 -50
  85. package/dist/cjs/components/Func/logUserActivity.js.map +0 -1
  86. package/dist/cjs/components/LoginPn28/LoginPn28.d.ts +0 -9
  87. package/dist/cjs/components/LoginPn28/LoginPn28.js +0 -413
  88. package/dist/cjs/components/LoginPn28/LoginPn28.js.map +0 -1
  89. package/dist/cjs/components/LoginPn28/index.d.ts +0 -1
  90. package/dist/cjs/components/LoginPn28/index.js +0 -5
  91. package/dist/cjs/components/LoginPn28/index.js.map +0 -1
  92. package/dist/cjs/components/MainWrap/MainWrap.d.ts +0 -12
  93. package/dist/cjs/components/MainWrap/MainWrap.js +0 -800
  94. package/dist/cjs/components/MainWrap/MainWrap.js.map +0 -1
  95. package/dist/cjs/components/MainWrap/appearance/appearance-styled.js.map +0 -1
  96. package/dist/cjs/components/MainWrap/index.d.ts +0 -1
  97. package/dist/cjs/components/MainWrap/index.js +0 -5
  98. package/dist/cjs/components/MainWrap/index.js.map +0 -1
  99. package/dist/cjs/components/MainWrap/navigator/nav-mobile-content.js.map +0 -1
  100. package/dist/cjs/components/MainWrap/navigator/nav-mobile.js.map +0 -1
  101. package/dist/cjs/components/MainWrap/search/search-bar.d.ts +0 -2
  102. package/dist/cjs/components/MainWrap/search/search-bar.js +0 -151
  103. package/dist/cjs/components/MainWrap/search/search-bar.js.map +0 -1
  104. package/dist/cjs/components/MainWrap/style/sub-menu-style.js.map +0 -1
  105. package/dist/cjs/components/MainWrap/types/appearance.js.map +0 -1
  106. package/dist/cjs/components/PagePermission/PagePermission.d.ts +0 -6
  107. package/dist/cjs/components/PagePermission/PagePermission.js +0 -78
  108. package/dist/cjs/components/PagePermission/PagePermission.js.map +0 -1
  109. package/dist/cjs/components/PagePermission/index.d.ts +0 -1
  110. package/dist/cjs/components/PagePermission/index.js +0 -5
  111. package/dist/cjs/components/PagePermission/index.js.map +0 -1
  112. package/dist/cjs/components/SearchResultList/EmptySearchResult.d.ts +0 -2
  113. package/dist/cjs/components/SearchResultList/EmptySearchResult.js +0 -16
  114. package/dist/cjs/components/SearchResultList/EmptySearchResult.js.map +0 -1
  115. package/dist/cjs/components/SearchResultList/SearchResultList.d.ts +0 -36
  116. package/dist/cjs/components/SearchResultList/SearchResultList.js +0 -240
  117. package/dist/cjs/components/SearchResultList/SearchResultList.js.map +0 -1
  118. package/dist/cjs/components/SearchResultList/index.d.ts +0 -1
  119. package/dist/cjs/components/SearchResultList/index.js +0 -17
  120. package/dist/cjs/components/SearchResultList/index.js.map +0 -1
  121. package/dist/cjs/components/Table/ColumnInRowTable.js.map +0 -1
  122. package/dist/cjs/components/Table/EmptyRecord.js.map +0 -1
  123. package/dist/cjs/components/Table/EmptySearchResult.js.map +0 -1
  124. package/dist/cjs/components/Table/PaginaitonSelected.js.map +0 -1
  125. package/dist/cjs/components/Table/Pagination.js.map +0 -1
  126. package/dist/cjs/components/Table/RowTable.js.map +0 -1
  127. package/dist/cjs/components/Table/SelectSort.js.map +0 -1
  128. package/dist/cjs/components/Table/Table.d.ts +0 -69
  129. package/dist/cjs/components/Table/Table.js +0 -446
  130. package/dist/cjs/components/Table/Table.js.map +0 -1
  131. package/dist/cjs/components/Table/index.d.ts +0 -1
  132. package/dist/cjs/components/Table/index.js +0 -5
  133. package/dist/cjs/components/Table/index.js.map +0 -1
  134. package/dist/cjs/components/Table/sort.js.map +0 -1
  135. package/dist/cjs/components/TableLogImportExport/TableLogImportExport.d.ts +0 -6
  136. package/dist/cjs/components/TableLogImportExport/TableLogImportExport.js +0 -70
  137. package/dist/cjs/components/TableLogImportExport/TableLogImportExport.js.map +0 -1
  138. package/dist/cjs/components/TableLogImportExport/index.d.ts +0 -1
  139. package/dist/cjs/components/TableLogImportExport/index.js +0 -5
  140. package/dist/cjs/components/TableLogImportExport/index.js.map +0 -1
  141. package/dist/cjs/demo/ContentWrap.d.ts +0 -6
  142. package/dist/cjs/demo/ContentWrap.js +0 -14
  143. package/dist/cjs/demo/ContentWrap.js.map +0 -1
  144. package/dist/cjs/demo/FormTuitionDemo.d.ts +0 -3
  145. package/dist/cjs/demo/FormTuitionDemo.js +0 -12
  146. package/dist/cjs/demo/FormTuitionDemo.js.map +0 -1
  147. package/dist/cjs/demo/TableDemo.d.ts +0 -12
  148. package/dist/cjs/demo/TableDemo.js +0 -86
  149. package/dist/cjs/demo/TableDemo.js.map +0 -1
  150. package/dist/esm/components/FormTuition/FormTuition.d.ts +0 -11
  151. package/dist/esm/components/FormTuition/FormTuition.js +0 -219
  152. package/dist/esm/components/FormTuition/FormTuition.js.map +0 -1
  153. package/dist/esm/components/FormTuition/index.d.ts +0 -1
  154. package/dist/esm/components/FormTuition/index.js +0 -2
  155. package/dist/esm/components/FormTuition/index.js.map +0 -1
  156. package/dist/esm/components/Func/getActiveAndNextSchoolYear.d.ts +0 -3
  157. package/dist/esm/components/Func/getActiveAndNextSchoolYear.js +0 -39
  158. package/dist/esm/components/Func/getActiveAndNextSchoolYear.js.map +0 -1
  159. package/dist/esm/components/Func/getHttpLinkConfig.d.ts +0 -2
  160. package/dist/esm/components/Func/getHttpLinkConfig.js +0 -28
  161. package/dist/esm/components/Func/getHttpLinkConfig.js.map +0 -1
  162. package/dist/esm/components/Func/getSchoolYear.d.ts +0 -2
  163. package/dist/esm/components/Func/getSchoolYear.js +0 -61
  164. package/dist/esm/components/Func/getSchoolYear.js.map +0 -1
  165. package/dist/esm/components/Func/getSchoolYearHocVu.d.ts +0 -2
  166. package/dist/esm/components/Func/getSchoolYearHocVu.js +0 -61
  167. package/dist/esm/components/Func/getSchoolYearHocVu.js.map +0 -1
  168. package/dist/esm/components/Func/logUserActivity.d.ts +0 -6
  169. package/dist/esm/components/Func/logUserActivity.js +0 -46
  170. package/dist/esm/components/Func/logUserActivity.js.map +0 -1
  171. package/dist/esm/components/LoginPn28/LoginPn28.d.ts +0 -9
  172. package/dist/esm/components/LoginPn28/LoginPn28.js +0 -409
  173. package/dist/esm/components/LoginPn28/LoginPn28.js.map +0 -1
  174. package/dist/esm/components/LoginPn28/index.d.ts +0 -1
  175. package/dist/esm/components/LoginPn28/index.js +0 -2
  176. package/dist/esm/components/LoginPn28/index.js.map +0 -1
  177. package/dist/esm/components/MainWrap/MainWrap.d.ts +0 -12
  178. package/dist/esm/components/MainWrap/MainWrap.js +0 -796
  179. package/dist/esm/components/MainWrap/MainWrap.js.map +0 -1
  180. package/dist/esm/components/MainWrap/appearance/appearance-styled.js.map +0 -1
  181. package/dist/esm/components/MainWrap/index.d.ts +0 -1
  182. package/dist/esm/components/MainWrap/index.js +0 -2
  183. package/dist/esm/components/MainWrap/index.js.map +0 -1
  184. package/dist/esm/components/MainWrap/navigator/nav-mobile-content.js.map +0 -1
  185. package/dist/esm/components/MainWrap/navigator/nav-mobile.js.map +0 -1
  186. package/dist/esm/components/MainWrap/search/search-bar.d.ts +0 -2
  187. package/dist/esm/components/MainWrap/search/search-bar.js +0 -148
  188. package/dist/esm/components/MainWrap/search/search-bar.js.map +0 -1
  189. package/dist/esm/components/MainWrap/style/sub-menu-style.js.map +0 -1
  190. package/dist/esm/components/MainWrap/types/appearance.js.map +0 -1
  191. package/dist/esm/components/PagePermission/PagePermission.d.ts +0 -6
  192. package/dist/esm/components/PagePermission/PagePermission.js +0 -74
  193. package/dist/esm/components/PagePermission/PagePermission.js.map +0 -1
  194. package/dist/esm/components/PagePermission/index.d.ts +0 -1
  195. package/dist/esm/components/PagePermission/index.js +0 -2
  196. package/dist/esm/components/PagePermission/index.js.map +0 -1
  197. package/dist/esm/components/SearchResultList/EmptySearchResult.d.ts +0 -2
  198. package/dist/esm/components/SearchResultList/EmptySearchResult.js +0 -12
  199. package/dist/esm/components/SearchResultList/EmptySearchResult.js.map +0 -1
  200. package/dist/esm/components/SearchResultList/SearchResultList.d.ts +0 -36
  201. package/dist/esm/components/SearchResultList/SearchResultList.js +0 -236
  202. package/dist/esm/components/SearchResultList/SearchResultList.js.map +0 -1
  203. package/dist/esm/components/SearchResultList/index.d.ts +0 -1
  204. package/dist/esm/components/SearchResultList/index.js +0 -2
  205. package/dist/esm/components/SearchResultList/index.js.map +0 -1
  206. package/dist/esm/components/Table/ColumnInRowTable.js.map +0 -1
  207. package/dist/esm/components/Table/EmptyRecord.js.map +0 -1
  208. package/dist/esm/components/Table/EmptySearchResult.js.map +0 -1
  209. package/dist/esm/components/Table/PaginaitonSelected.js.map +0 -1
  210. package/dist/esm/components/Table/Pagination.js.map +0 -1
  211. package/dist/esm/components/Table/RowTable.js.map +0 -1
  212. package/dist/esm/components/Table/SelectSort.js.map +0 -1
  213. package/dist/esm/components/Table/Table.d.ts +0 -69
  214. package/dist/esm/components/Table/Table.js +0 -442
  215. package/dist/esm/components/Table/Table.js.map +0 -1
  216. package/dist/esm/components/Table/index.d.ts +0 -1
  217. package/dist/esm/components/Table/index.js +0 -2
  218. package/dist/esm/components/Table/index.js.map +0 -1
  219. package/dist/esm/components/Table/sort.js.map +0 -1
  220. package/dist/esm/components/TableLogImportExport/TableLogImportExport.d.ts +0 -6
  221. package/dist/esm/components/TableLogImportExport/TableLogImportExport.js +0 -65
  222. package/dist/esm/components/TableLogImportExport/TableLogImportExport.js.map +0 -1
  223. package/dist/esm/components/TableLogImportExport/index.d.ts +0 -1
  224. package/dist/esm/components/TableLogImportExport/index.js +0 -2
  225. package/dist/esm/components/TableLogImportExport/index.js.map +0 -1
  226. package/dist/esm/demo/ContentWrap.d.ts +0 -6
  227. package/dist/esm/demo/ContentWrap.js +0 -11
  228. package/dist/esm/demo/ContentWrap.js.map +0 -1
  229. package/dist/esm/demo/FormTuitionDemo.d.ts +0 -3
  230. package/dist/esm/demo/FormTuitionDemo.js +0 -9
  231. package/dist/esm/demo/FormTuitionDemo.js.map +0 -1
  232. package/dist/esm/demo/TableDemo.d.ts +0 -12
  233. package/dist/esm/demo/TableDemo.js +0 -80
  234. package/dist/esm/demo/TableDemo.js.map +0 -1
  235. /package/dist/cjs/components/{MainWrap → MainWrapV3}/appearance/appearance-styled.d.ts +0 -0
  236. /package/dist/cjs/components/{MainWrap → MainWrapV3}/appearance/appearance-styled.js +0 -0
  237. /package/dist/cjs/components/{MainWrap → MainWrapV3}/navigator/nav-mobile-content.d.ts +0 -0
  238. /package/dist/cjs/components/{MainWrap → MainWrapV3}/navigator/nav-mobile-content.js +0 -0
  239. /package/dist/cjs/components/{MainWrap → MainWrapV3}/navigator/nav-mobile.d.ts +0 -0
  240. /package/dist/cjs/components/{MainWrap → MainWrapV3}/navigator/nav-mobile.js +0 -0
  241. /package/dist/cjs/components/{MainWrap → MainWrapV3}/style/sub-menu-style.d.ts +0 -0
  242. /package/dist/cjs/components/{MainWrap → MainWrapV3}/style/sub-menu-style.js +0 -0
  243. /package/dist/cjs/components/{MainWrap → MainWrapV3}/types/appearance.d.ts +0 -0
  244. /package/dist/cjs/components/{MainWrap → MainWrapV3}/types/appearance.js +0 -0
  245. /package/dist/cjs/components/{Table → TableV3}/ColumnInRowTable.d.ts +0 -0
  246. /package/dist/cjs/components/{Table → TableV3}/ColumnInRowTable.js +0 -0
  247. /package/dist/cjs/components/{Table → TableV3}/EmptyRecord.d.ts +0 -0
  248. /package/dist/cjs/components/{Table → TableV3}/EmptyRecord.js +0 -0
  249. /package/dist/cjs/components/{Table → TableV3}/EmptySearchResult.d.ts +0 -0
  250. /package/dist/cjs/components/{Table → TableV3}/EmptySearchResult.js +0 -0
  251. /package/dist/cjs/components/{Table → TableV3}/PaginaitonSelected.d.ts +0 -0
  252. /package/dist/cjs/components/{Table → TableV3}/PaginaitonSelected.js +0 -0
  253. /package/dist/cjs/components/{Table → TableV3}/Pagination.d.ts +0 -0
  254. /package/dist/cjs/components/{Table → TableV3}/Pagination.js +0 -0
  255. /package/dist/cjs/components/{Table → TableV3}/RowTable.d.ts +0 -0
  256. /package/dist/cjs/components/{Table → TableV3}/RowTable.js +0 -0
  257. /package/dist/cjs/components/{Table → TableV3}/SelectSort.d.ts +0 -0
  258. /package/dist/cjs/components/{Table → TableV3}/SelectSort.js +0 -0
  259. /package/dist/cjs/components/{Table → TableV3}/sort.d.ts +0 -0
  260. /package/dist/cjs/components/{Table → TableV3}/sort.js +0 -0
  261. /package/dist/esm/components/{MainWrap → MainWrapV3}/appearance/appearance-styled.d.ts +0 -0
  262. /package/dist/esm/components/{MainWrap → MainWrapV3}/appearance/appearance-styled.js +0 -0
  263. /package/dist/esm/components/{MainWrap → MainWrapV3}/navigator/nav-mobile-content.d.ts +0 -0
  264. /package/dist/esm/components/{MainWrap → MainWrapV3}/navigator/nav-mobile-content.js +0 -0
  265. /package/dist/esm/components/{MainWrap → MainWrapV3}/navigator/nav-mobile.d.ts +0 -0
  266. /package/dist/esm/components/{MainWrap → MainWrapV3}/navigator/nav-mobile.js +0 -0
  267. /package/dist/esm/components/{MainWrap → MainWrapV3}/style/sub-menu-style.d.ts +0 -0
  268. /package/dist/esm/components/{MainWrap → MainWrapV3}/style/sub-menu-style.js +0 -0
  269. /package/dist/esm/components/{MainWrap → MainWrapV3}/types/appearance.d.ts +0 -0
  270. /package/dist/esm/components/{MainWrap → MainWrapV3}/types/appearance.js +0 -0
  271. /package/dist/esm/components/{Table → TableV3}/ColumnInRowTable.d.ts +0 -0
  272. /package/dist/esm/components/{Table → TableV3}/ColumnInRowTable.js +0 -0
  273. /package/dist/esm/components/{Table → TableV3}/EmptyRecord.d.ts +0 -0
  274. /package/dist/esm/components/{Table → TableV3}/EmptyRecord.js +0 -0
  275. /package/dist/esm/components/{Table → TableV3}/EmptySearchResult.d.ts +0 -0
  276. /package/dist/esm/components/{Table → TableV3}/EmptySearchResult.js +0 -0
  277. /package/dist/esm/components/{Table → TableV3}/PaginaitonSelected.d.ts +0 -0
  278. /package/dist/esm/components/{Table → TableV3}/PaginaitonSelected.js +0 -0
  279. /package/dist/esm/components/{Table → TableV3}/Pagination.d.ts +0 -0
  280. /package/dist/esm/components/{Table → TableV3}/Pagination.js +0 -0
  281. /package/dist/esm/components/{Table → TableV3}/RowTable.d.ts +0 -0
  282. /package/dist/esm/components/{Table → TableV3}/RowTable.js +0 -0
  283. /package/dist/esm/components/{Table → TableV3}/SelectSort.d.ts +0 -0
  284. /package/dist/esm/components/{Table → TableV3}/SelectSort.js +0 -0
  285. /package/dist/esm/components/{Table → TableV3}/sort.d.ts +0 -0
  286. /package/dist/esm/components/{Table → TableV3}/sort.js +0 -0
@@ -1,796 +0,0 @@
1
- import { __awaiter, __generator, __spreadArray } from "tslib";
2
- import { fas } from '@fortawesome/free-solid-svg-icons';
3
- import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
4
- import { Dialog, Menu, Transition } from '@headlessui/react';
5
- import { Bars3Icon, XMarkIcon } from '@heroicons/react/24/outline';
6
- import React, { Fragment, useEffect, useState } from 'react';
7
- import NavMobile from './navigator/nav-mobile';
8
- import { PHXModal } from '../Modal';
9
- import { useLazyQuery } from '@apollo/client';
10
- import { GET_PERMISSION_DETAIL_USER, GET_SCHOOL, getCampaignName, queryProfile } from '../../query/gql';
11
- import { PHXSkeleton } from '../Skeleton';
12
- import { getEnv } from '../../read-env-config';
13
- import Cookies from 'js-cookie';
14
- import { ACTION_PERMISSION, AUTH_TOKEN, DEFAULT_AVATAR, DEFAULT_LOGO_DASHBOARD, DEFAULT_LOGO_LOGIN, DF_HEADER_BG_COLOR, DF_MENU_BG_ACTIVE_COLOR, DF_MENU_BG_COLOR, DF_MENU_HOVER_BG_COLOR, DF_MENU_ICON_ACTICE_COLOR, DF_MENU_ICON_AND_TEXT_HOVER_COLOR, DF_MENU_ICON_COLOR, DF_MENU_ICON_HOVER_COLOR, DF_MENU_TEXT_COLOR, DF_SEARCH_BG_COLOR, DF_SEARCH_BORDER_COLOR, DF_SEARCH_BORDER_HOVER_COLOR, DF_SEARCH_ICON_COLOR, DF_SEARCH_TEXT_COLOR, DF_SKELETON_COLOR, isLoggedCookie, KEY_SETTING, switchSchool, } from '../../utils/constants';
15
- import { ArrowLeftIcon } from '@heroicons/react/20/solid';
16
- import { library } from '@fortawesome/fontawesome-svg-core';
17
- import SearchDetail from './search/search-bar';
18
- import { PHXBanner } from '../Banner';
19
- import PHXClientQuery from '../Func/clientQueryV2';
20
- import { styles } from './style/sub-menu-style';
21
- import StyledCustomeLayout from './appearance/appearance-styled';
22
- import { CheckIcon, LockClosedIcon } from '@heroicons/react/24/solid';
23
- import PHXFuncGetLoggedInfo from '../Func/getLoginInfo';
24
- import { PHXCard } from '../Card';
25
- import saveCookiesClient from '../Func/saveCookiesClient';
26
- import { encryptDataSync } from '../Func/getActionPermission';
27
- library.add(fas);
28
- function classNames() {
29
- var classes = [];
30
- for (var _i = 0; _i < arguments.length; _i++) {
31
- classes[_i] = arguments[_i];
32
- }
33
- return classes.filter(Boolean).join(' ');
34
- }
35
- export var PHXMainWrap = function (_a) {
36
- var _b, _c, _d, _e;
37
- var children = _a.children, params = _a.params, pathName = _a.pathName, router = _a.router, _f = _a.hiddenLeftMenu, hiddenLeftMenu = _f === void 0 ? false : _f, _g = _a.logoHeight, logoHeight = _g === void 0 ? '28px' : _g, getDataCookies = _a.getDataCookies, _h = _a.multipleMenu, multipleMenu = _h === void 0 ? false : _h;
38
- var pid = (params ? params : {}).pid;
39
- var _j = useState(false), modal = _j[0], setModal = _j[1];
40
- var _k = useState(true), openSubMenu = _k[0], setOpenSubMenu = _k[1];
41
- var _l = useState(''), campaignName = _l[0], setCampaignName = _l[1];
42
- var _m = useState(false), sidebarOpen = _m[0], setSidebarOpen = _m[1];
43
- var _o = useState([]), subNavigation = _o[0], setSubNavigation = _o[1];
44
- var _p = useState([]), navigation = _p[0], setNavigation = _p[1];
45
- var _q = useState([]), menu = _q[0], setMenu = _q[1];
46
- var _r = useState(true), loadingSchool = _r[0], setLoadingSchool = _r[1];
47
- var _s = useState(true), loadingMenu = _s[0], setLoadingMenu = _s[1];
48
- var _t = useState(false), modalSignOut = _t[0], setModalSignOut = _t[1];
49
- var _u = useState([]), infoSchool = _u[0], setInfoSchool = _u[1];
50
- var _v = useState([]), roleCode = _v[0], setRoleCode = _v[1];
51
- var _w = useState([]), perCode = _w[0], setPerCode = _w[1];
52
- var _x = useState(null), schoolId = _x[0], setSchoolId = _x[1];
53
- var _y = useState(true), showBanner = _y[0], setShowBanner = _y[1];
54
- var _z = useState({}), configLayout = _z[0], setConfigLayout = _z[1];
55
- var _0 = useState(true), isLoading = _0[0], setIsLoading = _0[1];
56
- var _1 = useState(true), isLoadingPermission = _1[0], setIsLoadingPermission = _1[1];
57
- var locationPathname = typeof window !== 'undefined' ? window.location.pathname : '';
58
- var pathArr = locationPathname.split('/');
59
- var pathNameWithBasePath = "/".concat(pathArr[1]).concat(pathName);
60
- function enablePer(code, arr) {
61
- if (!code)
62
- return true;
63
- return arr === null || arr === void 0 ? void 0 : arr.some(function (item) { return item === code; });
64
- }
65
- var _2 = useState({
66
- path: '',
67
- height: logoHeight
68
- }), logo = _2[0], setLogo = _2[1];
69
- var getCampaignById = useLazyQuery(getCampaignName, {
70
- variables: {}
71
- })[0];
72
- var _3 = useLazyQuery(GET_SCHOOL, {
73
- variables: {
74
- group_id: '',
75
- school_name_id: '',
76
- user_id: ''
77
- },
78
- fetchPolicy: 'network-only',
79
- notifyOnNetworkStatusChange: true
80
- }), getSchool = _3[0], data = _3[1].data;
81
- var getDataPermission = useLazyQuery(GET_PERMISSION_DETAIL_USER, {
82
- variables: {
83
- id: ''
84
- },
85
- fetchPolicy: 'network-only'
86
- })[0];
87
- var cookie = typeof window !== 'undefined' ? localStorage.getItem(isLoggedCookie) : null;
88
- var authen = Cookies.get(AUTH_TOKEN);
89
- function compareObjects(settingQuery, settingCookies) {
90
- var keysSettingQuery = Object.keys(settingQuery);
91
- if (keysSettingQuery.length !== Object.keys(settingCookies).length) {
92
- return false;
93
- }
94
- for (var _i = 0, keysSettingQuery_1 = keysSettingQuery; _i < keysSettingQuery_1.length; _i++) {
95
- var key = keysSettingQuery_1[_i];
96
- if (!Object.prototype.hasOwnProperty.call(settingCookies, key)) {
97
- return false;
98
- }
99
- if (settingQuery[key] !== settingCookies[key]) {
100
- return false;
101
- }
102
- }
103
- return true;
104
- }
105
- var getUser = PHXFuncGetLoggedInfo();
106
- var userEmail = getUser === null || getUser === void 0 ? void 0 : getUser.email;
107
- // xóa cookies với những tài khoản giáo viên, nhân viên đã nghỉ việc
108
- var GetProfile = useLazyQuery(queryProfile, {
109
- variables: {
110
- email: userEmail
111
- },
112
- fetchPolicy: 'network-only',
113
- notifyOnNetworkStatusChange: true
114
- })[0];
115
- // Lấy code phân quyền trong menu từ path hiện tại
116
- function getCodesByPath(dataMenu, currentPath) {
117
- var lastMatchingCode = null;
118
- var normalizedPath = currentPath.replace(/\/$/, '');
119
- function traverse(items, prefix) {
120
- for (var _i = 0, items_1 = items; _i < items_1.length; _i++) {
121
- var item = items_1[_i];
122
- var fullPath = item.path.startsWith('/') ? prefix + item.path : item.path;
123
- var normalizedFullPath = fullPath.replace(/\/$/, '');
124
- if (normalizedPath === normalizedFullPath || normalizedPath.startsWith(normalizedFullPath + '/')) {
125
- lastMatchingCode = item.code;
126
- }
127
- if (item.child) {
128
- traverse(item.child, prefix);
129
- }
130
- }
131
- }
132
- for (var _i = 0, dataMenu_1 = dataMenu; _i < dataMenu_1.length; _i++) {
133
- var rootItem = dataMenu_1[_i];
134
- var rootPath = rootItem.path;
135
- var prefix = rootPath.split('/').slice(0, 2).join('/');
136
- traverse([rootItem], prefix);
137
- }
138
- return lastMatchingCode ? lastMatchingCode : null;
139
- }
140
- // code phân quyền path hiện tại
141
- var currentCode = getCodesByPath(navigation, locationPathname);
142
- var getProfileData = function () { return __awaiter(void 0, void 0, void 0, function () {
143
- var response, profileStaff, profileTeacher, error_1;
144
- var _a, _b, _c, _d, _e, _f;
145
- return __generator(this, function (_g) {
146
- switch (_g.label) {
147
- case 0:
148
- _g.trys.push([0, 2, , 3]);
149
- return [4 /*yield*/, PHXClientQuery(GetProfile)];
150
- case 1:
151
- response = _g.sent();
152
- profileStaff = (_c = (_b = (_a = response.data) === null || _a === void 0 ? void 0 : _a.profile_staff) === null || _b === void 0 ? void 0 : _b[0]) === null || _c === void 0 ? void 0 : _c.is_quit_job;
153
- profileTeacher = (_f = (_e = (_d = response.data) === null || _d === void 0 ? void 0 : _d.profile_teacher) === null || _e === void 0 ? void 0 : _e[0]) === null || _f === void 0 ? void 0 : _f.is_quit_job;
154
- if (profileStaff || profileTeacher) {
155
- console.log('Phiên đăng nhập đã hết hạn');
156
- Object.keys(Cookies.get()).forEach(function (cookieName) {
157
- Cookies.remove(cookieName);
158
- });
159
- localStorage.removeItem(isLoggedCookie);
160
- }
161
- return [3 /*break*/, 3];
162
- case 2:
163
- error_1 = _g.sent();
164
- console.log(error_1);
165
- return [3 /*break*/, 3];
166
- case 3: return [2 /*return*/];
167
- }
168
- });
169
- }); };
170
- useEffect(function () {
171
- getProfileData();
172
- Cookies.remove(isLoggedCookie);
173
- }, []);
174
- useEffect(function () {
175
- var _a;
176
- if (!cookie || !authen) {
177
- // Require login if production mode
178
- requireLoginValidation();
179
- }
180
- else {
181
- var data_1 = JSON.parse(cookie);
182
- var allRoleCodes = (_a = data_1 === null || data_1 === void 0 ? void 0 : data_1.user_roles) === null || _a === void 0 ? void 0 : _a.map(function (userRole) { var _a; return (_a = userRole === null || userRole === void 0 ? void 0 : userRole.role) === null || _a === void 0 ? void 0 : _a.role_code; });
183
- var _b = data_1.school, group_id_1 = _b.school_name.group_id, school_name_id_1 = _b.school_name_id, school_id_1 = data_1.school_id, id_1 = data_1.id;
184
- setRoleCode(allRoleCodes);
185
- setSchoolId(data_1 === null || data_1 === void 0 ? void 0 : data_1.school_id);
186
- var fetchData = function () { return __awaiter(void 0, void 0, void 0, function () {
187
- var res, data_2, dataLength, settingFetchData, cleanedJsonString, jsonObjectSetting, getSeting, dataCompare, error_2;
188
- var _a, _b, _c, _d;
189
- return __generator(this, function (_e) {
190
- switch (_e.label) {
191
- case 0:
192
- setIsLoading(true);
193
- _e.label = 1;
194
- case 1:
195
- _e.trys.push([1, 3, , 4]);
196
- return [4 /*yield*/, PHXClientQuery(getSchool, { variables: { group_id: group_id_1, school_name_id: school_name_id_1, user_id: id_1 } }, false)];
197
- case 2:
198
- res = _e.sent();
199
- data_2 = (_b = (_a = res === null || res === void 0 ? void 0 : res.data) === null || _a === void 0 ? void 0 : _a.school_name[0]) === null || _b === void 0 ? void 0 : _b.schools;
200
- dataLength = data_2.length;
201
- if (data_2 && dataLength > 0) {
202
- setLoadingSchool(false);
203
- }
204
- setInfoSchool(data_2);
205
- setIsLoading(false);
206
- settingFetchData = (_d = (_c = res === null || res === void 0 ? void 0 : res.data) === null || _c === void 0 ? void 0 : _c.setting_site[0]) === null || _d === void 0 ? void 0 : _d.value_setting;
207
- if (settingFetchData) {
208
- cleanedJsonString = settingFetchData.replace(/^"(.*)"$/, '$1');
209
- jsonObjectSetting = JSON.parse(cleanedJsonString);
210
- setConfigLayout(jsonObjectSetting);
211
- getSeting = Cookies.get(KEY_SETTING);
212
- // Nếu chưa có cookeis
213
- if (!getSeting) {
214
- Cookies.set(KEY_SETTING, JSON.stringify(jsonObjectSetting));
215
- return [2 /*return*/];
216
- }
217
- dataCompare = compareObjects(jsonObjectSetting, JSON.parse(getSeting));
218
- if (dataCompare) {
219
- console.log('log debug database === cookies');
220
- return [2 /*return*/];
221
- }
222
- console.log('log debug database !== cookies');
223
- Cookies.set(KEY_SETTING, JSON.stringify(jsonObjectSetting));
224
- }
225
- return [3 /*break*/, 4];
226
- case 3:
227
- error_2 = _e.sent();
228
- setIsLoading(false);
229
- console.error('Error fetching school data:', error_2);
230
- return [3 /*break*/, 4];
231
- case 4: return [2 /*return*/];
232
- }
233
- });
234
- }); };
235
- fetchData()["catch"](function (err) {
236
- console.log(err);
237
- setIsLoading(false);
238
- });
239
- var allRoleCodesLength = allRoleCodes === null || allRoleCodes === void 0 ? void 0 : allRoleCodes.length;
240
- if (allRoleCodes && allRoleCodesLength > 0) {
241
- var fetchDataPer = function () { return __awaiter(void 0, void 0, void 0, function () {
242
- var res, userPermission, rolePermission, dataPermissionUser, permissionRouter, permissionAction, objPermissionAction, encryptedData, uniqueValues, error_3;
243
- var _a, _b, _c, _d;
244
- return __generator(this, function (_e) {
245
- switch (_e.label) {
246
- case 0:
247
- _e.trys.push([0, 3, 4, 5]);
248
- return [4 /*yield*/, getDataPermission({
249
- variables: { id: id_1, school_id: school_id_1 }
250
- })];
251
- case 1:
252
- res = _e.sent();
253
- userPermission = (_a = res === null || res === void 0 ? void 0 : res.data) === null || _a === void 0 ? void 0 : _a.permission_user;
254
- rolePermission = (_b = res === null || res === void 0 ? void 0 : res.data) === null || _b === void 0 ? void 0 : _b.permission_role;
255
- dataPermissionUser = __spreadArray(__spreadArray([], userPermission, true), rolePermission, true);
256
- permissionRouter = (_c = dataPermissionUser === null || dataPermissionUser === void 0 ? void 0 : dataPermissionUser.filter(function (value) { var _a; return !((_a = value === null || value === void 0 ? void 0 : value.permission) === null || _a === void 0 ? void 0 : _a.is_action); })) === null || _c === void 0 ? void 0 : _c.map(function (item) { var _a; return (_a = item === null || item === void 0 ? void 0 : item.permission) === null || _a === void 0 ? void 0 : _a.code; });
257
- permissionAction = (_d = dataPermissionUser === null || dataPermissionUser === void 0 ? void 0 : dataPermissionUser.filter(function (value) { var _a; return (_a = value === null || value === void 0 ? void 0 : value.permission) === null || _a === void 0 ? void 0 : _a.is_action; })) === null || _d === void 0 ? void 0 : _d.map(function (item) { var _a; return (_a = item === null || item === void 0 ? void 0 : item.permission) === null || _a === void 0 ? void 0 : _a.code; });
258
- objPermissionAction = Object.fromEntries(permissionAction.map(function (key) { return [key, true]; }));
259
- encryptedData = encryptDataSync(objPermissionAction);
260
- return [4 /*yield*/, saveCookiesClient(ACTION_PERMISSION, JSON.stringify(encryptedData), true)];
261
- case 2:
262
- _e.sent();
263
- uniqueValues = Array.from(new Set(permissionRouter));
264
- setPerCode(uniqueValues);
265
- return [3 /*break*/, 5];
266
- case 3:
267
- error_3 = _e.sent();
268
- console.error('Error fetching school data:', error_3);
269
- return [3 /*break*/, 5];
270
- case 4:
271
- setIsLoadingPermission(false);
272
- return [7 /*endfinally*/];
273
- case 5: return [2 /*return*/];
274
- }
275
- });
276
- }); };
277
- fetchDataPer()["catch"](console.error);
278
- }
279
- }
280
- }, [cookie, authen]);
281
- useEffect(function () {
282
- // Let load left menu data
283
- if (loadingMenu) {
284
- var fetchDataMenu = function (url) { return __awaiter(void 0, void 0, void 0, function () {
285
- var data, json;
286
- return __generator(this, function (_a) {
287
- switch (_a.label) {
288
- case 0: return [4 /*yield*/, fetch(url)];
289
- case 1:
290
- data = _a.sent();
291
- return [4 /*yield*/, data.json()];
292
- case 2:
293
- json = _a.sent();
294
- setMenu(json);
295
- setLoadingMenu(false);
296
- return [2 /*return*/];
297
- }
298
- });
299
- }); };
300
- var publicEnvSchoolMenu = getEnv('NEXT_PUBLIC_ENV_SCHOOL_MENU', process.env.NEXT_PUBLIC_ENV_SCHOOL_MENU);
301
- var publicEnvSchoolLogo = getEnv('NEXT_PUBLIC_ENV_SCHOOL_TOP_MENU_LOGO', process.env.NEXT_PUBLIC_ENV_SCHOOL_TOP_MENU_LOGO);
302
- if (!publicEnvSchoolMenu || !publicEnvSchoolLogo) {
303
- console.error('menu or logo not found');
304
- }
305
- fetchDataMenu(publicEnvSchoolMenu)["catch"](console.error);
306
- setLogo({ path: publicEnvSchoolLogo, height: logoHeight });
307
- }
308
- }, [loadingMenu, menu]);
309
- var requireLoginValidation = function () {
310
- var currentURL = window.location.href;
311
- var url = currentURL.split('/');
312
- var loginPush = "".concat(url[0], "//").concat(url[2], "/login-sso");
313
- window.location.replace(loginPush);
314
- };
315
- var isEqualUrl = function (parentHref, pathName) {
316
- if (!parentHref || !pathName) {
317
- return false;
318
- }
319
- var pathNameSplit = pathName.split('/');
320
- var hrefSplit = parentHref.split('/');
321
- if (!pathNameSplit || !hrefSplit) {
322
- return false;
323
- }
324
- var urlRouter;
325
- var currentMenu;
326
- if (multipleMenu) {
327
- urlRouter = pathNameSplit[1] + pathNameSplit[2];
328
- currentMenu = hrefSplit[1] + hrefSplit[2];
329
- }
330
- else {
331
- urlRouter = pathNameSplit[1];
332
- currentMenu = hrefSplit[1];
333
- }
334
- return urlRouter === currentMenu;
335
- };
336
- var isBelongParent = function (parentUrl, pathName) {
337
- var parentSplit = parentUrl.split('/');
338
- var pathNameSplit = pathName.split('/');
339
- if (parentSplit.length > 2 && !parentSplit.includes('list')) {
340
- return parentSplit[1] === pathNameSplit[2] && parentSplit[2] === pathNameSplit[3];
341
- }
342
- else {
343
- return parentSplit[1] === pathNameSplit[2];
344
- }
345
- };
346
- var checkAdmissions = function (path) {
347
- var pathNameSplit = path.split('/');
348
- return pathNameSplit[1] === 'admissions';
349
- };
350
- var loadParentNavigation = function (path) {
351
- var mainNavigation = menu;
352
- var naviSize = mainNavigation.length;
353
- for (var i = 0; i < naviSize; i++) {
354
- var item = mainNavigation[i];
355
- item.current = false;
356
- if (item.path === path || isEqualUrl(item.path, path)) {
357
- item.current = true;
358
- // Find sub modules
359
- var itemLength = item.child.length;
360
- var listChildren = [];
361
- for (var j = 0; j < itemLength; j++) {
362
- var childItem = item.child[j];
363
- // Active child item
364
- childItem.current = isBelongParent(childItem.path, path);
365
- if (childItem.child) {
366
- var childItemLength = childItem.child.length;
367
- var count = 0;
368
- for (var k = 0; k < childItemLength; k++) {
369
- var subChild = childItem.child[k];
370
- subChild.current = isBelongParent(subChild.path, path);
371
- if (isBelongParent(subChild.path, path) || isBelongParent(childItem.path, path)) {
372
- count++;
373
- }
374
- count > 0 ? (childItem.showChild = true) : (childItem.showChild = false);
375
- subChild.path === childItem.path ? (childItem.current = false) : null;
376
- }
377
- }
378
- listChildren.push(childItem);
379
- }
380
- setSubNavigation(listChildren);
381
- }
382
- }
383
- setNavigation(mainNavigation);
384
- };
385
- var loadChildrenCampaign = function (path) {
386
- var mainNavigation = menu;
387
- var naviSize = mainNavigation.length;
388
- for (var i = 0; i < naviSize; i++) {
389
- var item = mainNavigation[i];
390
- item.current = false;
391
- if (item.path === path || isEqualUrl(item.path, path)) {
392
- item.current = true;
393
- // Find sub modules
394
- // const itemLength = item.child.length;
395
- var campaign = item.child.filter(function (child) { return child.path === '/campaign/list'; });
396
- var listCampaign = campaign[0];
397
- var itemLength = listCampaign === null || listCampaign === void 0 ? void 0 : listCampaign.childrenByParentDetail.length;
398
- var listChildren = [];
399
- for (var j = 0; j < itemLength; j++) {
400
- var childItem = listCampaign === null || listCampaign === void 0 ? void 0 : listCampaign.childrenByParentDetail[j];
401
- // Active child item
402
- childItem.current = isBelongParent(childItem.path, path);
403
- if (childItem.child) {
404
- var childItemLength = childItem.child.length;
405
- for (var k = 0; k < childItemLength; k++) {
406
- var subChild = childItem.child[k];
407
- subChild.current = isBelongParent(subChild.path, path);
408
- if (isBelongParent(subChild.path, path) || isBelongParent(childItem.path, path))
409
- childItem.showChild = true;
410
- subChild.path === childItem.path ? (childItem.current = false) : null;
411
- }
412
- }
413
- listChildren.push(childItem);
414
- }
415
- setSubNavigation(listChildren);
416
- }
417
- }
418
- setNavigation(mainNavigation);
419
- };
420
- var checkChildrenCampaign = function (path) {
421
- var campaignMenu = menu === null || menu === void 0 ? void 0 : menu.find(function (item) { return item.path === '/admissions/campaign/list'; });
422
- var campaignChild = campaignMenu === null || campaignMenu === void 0 ? void 0 : campaignMenu.child;
423
- var listChild = campaignChild === null || campaignChild === void 0 ? void 0 : campaignChild.find(function (item) { return item.path === '/campaign/list'; });
424
- var isChild = listChild === null || listChild === void 0 ? void 0 : listChild.childrenByParentDetail.find(function (item) { return isBelongParent(item.path, path); });
425
- return isChild !== undefined;
426
- };
427
- useEffect(function () {
428
- var isAdmissions = checkAdmissions(pathNameWithBasePath);
429
- if (isAdmissions && checkChildrenCampaign(pathNameWithBasePath)) {
430
- if (pathNameWithBasePath.includes('/admissions/overview/list/') && pid) {
431
- getCampaignById({ variables: { id: pid } }).then(function (res) {
432
- var data = res.data.admissions_campaigns_by_pk;
433
- setCampaignName(data.campaign_name);
434
- Cookies.set('campaign_name', JSON.stringify(data.campaign_name));
435
- });
436
- loadChildrenCampaign(pathNameWithBasePath);
437
- }
438
- else if (pathNameWithBasePath === '/admissions/campaign/list') {
439
- loadParentNavigation(pathNameWithBasePath);
440
- }
441
- else {
442
- loadChildrenCampaign(pathNameWithBasePath);
443
- }
444
- }
445
- else {
446
- loadParentNavigation(pathNameWithBasePath);
447
- }
448
- // eslint-disable-next-line react-hooks/exhaustive-deps
449
- }, [menu, pid, pathNameWithBasePath]);
450
- useEffect(function () {
451
- var isAdmissions = checkAdmissions(pathNameWithBasePath);
452
- if (isAdmissions) {
453
- if (pathNameWithBasePath === '/admissions/campaign/list' || !checkChildrenCampaign(pathNameWithBasePath)) {
454
- setOpenSubMenu(true);
455
- }
456
- else {
457
- setOpenSubMenu(true);
458
- var campaign_name = Cookies.get('campaign_name');
459
- setCampaignName(campaign_name ? JSON.parse(campaign_name) : campaignName);
460
- loadChildrenCampaign(pathNameWithBasePath);
461
- }
462
- }
463
- else {
464
- setOpenSubMenu(true);
465
- }
466
- }, [pathNameWithBasePath, menu]);
467
- var loadSubNavigation = function (path, isChild, childPath) {
468
- var subLength = subNavigation.length;
469
- var newSub = [];
470
- for (var i = 0; i < subLength; i++) {
471
- var item = subNavigation[i];
472
- item.current = item.path === path && !isChild;
473
- if (item.child) {
474
- item.showChild = item.path === path;
475
- for (var j = 0; j < item.child.length; j++) {
476
- var child = item.child[j];
477
- child.current = child.path === childPath;
478
- if (child.path === item.path) {
479
- item.current = false;
480
- child.current = childPath ? child.path === childPath : child.path === path;
481
- }
482
- }
483
- }
484
- newSub.push(item);
485
- }
486
- setSubNavigation(newSub);
487
- };
488
- var triggerClicked = function (path) {
489
- loadParentNavigation(path);
490
- };
491
- var handleClicked = function (path) {
492
- triggerClicked(path);
493
- };
494
- var subNavigationTriggerClicked = function (item, parent) {
495
- parent ? loadSubNavigation(parent.path, true, item.path) : loadSubNavigation(item.path, false);
496
- var queryString = window.location.search;
497
- var urlParams = new URLSearchParams(queryString);
498
- var campaign = Number(urlParams.get('campaignId'));
499
- // handle for admissions
500
- if (campaign) {
501
- router.push("".concat(item.path, "?campaignId=").concat(campaign));
502
- }
503
- else {
504
- router.push(item.path);
505
- }
506
- };
507
- var path = logo.path, height = logo.height;
508
- var handleModalSignOut = function () { return setModalSignOut(true); };
509
- var handleRedirectRouter = function (path) {
510
- var currentURL = window.location.href;
511
- var url = currentURL.split('/');
512
- var pushPath = "".concat(url[0], "//").concat(url[2], "/").concat(path);
513
- window.location.replace(pushPath);
514
- };
515
- var handleSignOut = function () {
516
- setModalSignOut(false);
517
- Object.keys(Cookies.get()).forEach(function (cookieName) {
518
- Cookies.remove(cookieName);
519
- });
520
- localStorage.removeItem(isLoggedCookie);
521
- console.log('Đăng xuất tài khoản');
522
- handleRedirectRouter('login-sso');
523
- };
524
- var handleProfilePage = function () {
525
- handleRedirectRouter('profile');
526
- };
527
- var handleBackMenu = function () {
528
- router.push('/campaign/list');
529
- loadParentNavigation('/admissions/campaign/list');
530
- };
531
- var checkChildBefore = function (item, currentItem) {
532
- var currentIndexActive = item.find(function (s) { return s.current; });
533
- return currentIndexActive ? currentIndexActive.id > currentItem.id : false;
534
- };
535
- var _4 = useState(false), openNavName = _4[0], setOpenNavName = _4[1];
536
- var _5 = useState(false), showSearchBar = _5[0], setShowSearchBar = _5[1];
537
- var _6 = useState(null), selected = _6[0], setSelected = _6[1];
538
- var handleOpenModal = function (id) {
539
- setModal(id !== schoolId);
540
- setSelected(id);
541
- };
542
- var handlePrimaryModal = function () {
543
- if (cookie) {
544
- try {
545
- var data_3 = JSON.parse(cookie);
546
- if (data_3) {
547
- var newSchoolId = selected;
548
- if (newSchoolId && newSchoolId !== data_3.school_id) {
549
- data_3.school_id = newSchoolId;
550
- var updatedCookie = JSON.stringify(data_3);
551
- localStorage.setItem(isLoggedCookie, updatedCookie);
552
- window.location.replace('/');
553
- }
554
- }
555
- }
556
- catch (error) {
557
- console.error(error);
558
- }
559
- }
560
- setModal(false);
561
- };
562
- var avatar = (_b = data === null || data === void 0 ? void 0 : data.users[0]) === null || _b === void 0 ? void 0 : _b.avatar;
563
- var defaultAvatar = DEFAULT_AVATAR;
564
- var sourceAvatar = !avatar ? defaultAvatar : avatar;
565
- // settings page
566
- var isSettings = function () {
567
- var pathNameSplit = pathNameWithBasePath.split('/');
568
- return pathNameSplit[1] === 'setting';
569
- };
570
- var defaultSettingLayout = {
571
- df_header_bg_color: DF_HEADER_BG_COLOR,
572
- df_logo_login: DEFAULT_LOGO_LOGIN,
573
- df_logo_dashboard: DEFAULT_LOGO_DASHBOARD,
574
- df_color_loading_skeleton: DF_SKELETON_COLOR,
575
- df_search_icon_color: DF_SEARCH_ICON_COLOR,
576
- df_search_bg_color: DF_SEARCH_BG_COLOR,
577
- df_search_border_color: DF_SEARCH_BORDER_COLOR,
578
- df_search_border_hover_color: DF_SEARCH_BORDER_HOVER_COLOR,
579
- df_search_text_color: DF_SEARCH_TEXT_COLOR,
580
- df_menu_bg_color: DF_MENU_BG_COLOR,
581
- df_menu_text_color: DF_MENU_TEXT_COLOR,
582
- df_menu_bg_active: DF_MENU_BG_ACTIVE_COLOR,
583
- df_menu_icon_color: DF_MENU_ICON_COLOR,
584
- df_menu_icon_hover: DF_MENU_ICON_HOVER_COLOR,
585
- df_menu_text_and_icon_hover_color: DF_MENU_ICON_AND_TEXT_HOVER_COLOR,
586
- df_menu_icon_active: DF_MENU_ICON_ACTICE_COLOR,
587
- df_menu_hover_bg: DF_MENU_HOVER_BG_COLOR
588
- };
589
- var settingLength = (_d = (_c = data === null || data === void 0 ? void 0 : data.setting_site) === null || _c === void 0 ? void 0 : _c.length) !== null && _d !== void 0 ? _d : 0;
590
- var df_logo_dashboard = defaultSettingLayout === null || defaultSettingLayout === void 0 ? void 0 : defaultSettingLayout.df_logo_dashboard;
591
- var logo_dashboard = configLayout === null || configLayout === void 0 ? void 0 : configLayout.logo_dashboard;
592
- var checkLogoHeader = settingLength === 0 ? df_logo_dashboard : logo_dashboard || path;
593
- return (React.createElement(React.Fragment, null,
594
- React.createElement("div", { className: 'flex min-h-full flex-col' },
595
- React.createElement(StyledCustomeLayout, { defaultSettingLayout: defaultSettingLayout, data: data, configLayout: configLayout, settingLocal: getDataCookies }),
596
- React.createElement("header", { className: 'fixed top-0 z-50 min-w-full border-gray-200 bg-white header-color-styled' },
597
- React.createElement("div", { className: 'mx-auto flex h-14 items-center justify-between pr-4 bg-[#1a1a1a] header-styled' },
598
- React.createElement("div", { className: 'flex items-center lg:w-32 gap-x-3' },
599
- React.createElement("a", { href: '/', className: 'w-full flex items-center' }, path ? (React.createElement(React.Fragment, null, isLoading ? (React.createElement("div", { className: 'animate-pulse w-full h-8 ml-3 header-loading-logo' })) : (React.createElement("img", { alt: 'Logo', className: 'w-auto ml-3', src: checkLogoHeader, style: { height: height } })))) : (React.createElement(React.Fragment, null))),
600
- React.createElement("div", { className: 'lg:hidden flex items-center' },
601
- React.createElement("button", { className: 'bg-grey-100 mr-3 inline-flex p-1 items-center justify-center rounded-md text-gray-600 hover:bg-white focus:outline-none focus:ring-2 focus:ring-inset focus:ring-white', onClick: function () { return setSidebarOpen(true); }, type: 'button' },
602
- React.createElement("span", { className: 'sr-only' }, "Open sidebar"),
603
- React.createElement(Bars3Icon, { "aria-hidden": 'true', className: 'h-6 w-6' })))),
604
- React.createElement("div", { "aria-hidden": true, className: 'hidden sm:block w-[30%] h-8 bg-indigo-700 rounded-lg border border-indigo-500 relative hover:border-gray-200 cursor-pointer search-box-styled', onClick: function () { return setShowSearchBar(true); } },
605
- React.createElement("div", { className: 'relative text-indigo-400 flex items-center gap-x-3 text-xs top-1.5 left-2.5' },
606
- React.createElement("div", { className: 'flex items-center' },
607
- React.createElement("svg", { xmlns: 'http://www.w3.org/2000/svg', fill: 'none', viewBox: '0 0 24 24', strokeWidth: '1.5', stroke: 'currentColor', className: 'w-4 h-4' },
608
- React.createElement("path", { strokeLinecap: 'round', strokeLinejoin: 'round', d: 'M21 21l-5.197-5.197m0 0A7.5 7.5 0 105.196 5.196a7.5 7.5 0 0010.607 10.607z' })),
609
- React.createElement("p", { className: 'ml-2' }, "T\u00ECm ki\u1EBFm")))),
610
- React.createElement(SearchDetail, { open: showSearchBar, onClose: function () { return setShowSearchBar(false); } }),
611
- React.createElement("div", { className: 'flex items-center gap-x-8' },
612
- React.createElement("div", { className: '-m-1.5 p-1.5' },
613
- React.createElement(Menu, { as: 'div', className: 'relative ml-3' },
614
- React.createElement("div", null,
615
- React.createElement(Menu.Button, { className: 'flex max-w-xs items-center rounded-full bg-gray-800 text-sm focus:outline-none focus:ring-2 focus:ring-white focus:ring-offset-2 focus:ring-offset-gray-800' },
616
- React.createElement("span", { className: 'sr-only' }, "Open user menu"),
617
- isLoading ? (React.createElement("div", { className: 'animate-pulse flex' },
618
- React.createElement("div", { className: 'rounded-full h-8 w-8 header-loading-avatar' }))) : (React.createElement("img", { alt: '', className: 'h-8 w-8 rounded-full', src: sourceAvatar })))),
619
- React.createElement(Transition, { as: Fragment, enter: 'transition ease-out duration-100', enterFrom: 'transform opacity-0 scale-95', enterTo: 'transform opacity-100 scale-100', leave: 'transition ease-in duration-75', leaveFrom: 'transform opacity-100 scale-100', leaveTo: 'transform opacity-0 scale-95' },
620
- React.createElement(Menu.Items, { className: ' px-2 absolute right-0 z-10 mt-2 w-[340px] origin-top-right rounded-md bg-white shadow-lg ring-1 ring-black ring-opacity-5 focus:outline-none' },
621
- React.createElement(Menu.Item, null,
622
- React.createElement("div", { "aria-hidden": true, className: 'px-2 pt-4 pb-2 font-semibold text-gray-900 text-sm ' }, "Ch\u1ECDn tr\u01B0\u1EDDng")),
623
- !loadingSchool ? (React.createElement(React.Fragment, null, infoSchool
624
- .filter(function (val) {
625
- if (!enablePer(switchSchool, perCode)) {
626
- return val.id === schoolId;
627
- }
628
- else {
629
- return true;
630
- }
631
- })
632
- .map(function (item) { return (React.createElement(Menu.Item, { key: item.id },
633
- React.createElement("div", { "aria-hidden": true, className: "".concat(item.id === schoolId &&
634
- infoSchool.length > 1 &&
635
- !enablePer(switchSchool, perCode) === false
636
- ? 'rounded-lg bg-zinc-200 text-gray-900 font-semibold '
637
- : 'font-normal ', " \n ").concat(item.id !== schoolId &&
638
- (infoSchool.length === 1 || !enablePer(switchSchool, perCode)) === false
639
- ? 'hover:bg-gray-100 hover:rounded-lg cursor-pointer'
640
- : '', "\n py-1.5 relative px-2 mb-1 text-gray-900 text-sm flex justify-between items-center"), onClick: function () { return handleOpenModal(item.id); } },
641
- React.createElement("p", { className: 'truncate max-w-[95%]' }, item.name),
642
- item.id === schoolId &&
643
- infoSchool.length > 1 &&
644
- !enablePer(switchSchool, perCode) === false && (React.createElement(CheckIcon, { "aria-hidden": 'true', className: 'h-4 w-4' }))))); }))) : (React.createElement(PHXSkeleton, { className: 'flex-1 py-2 px-2', type: 'single' })),
645
- React.createElement("div", { className: 'border-b pt-1.5' }),
646
- React.createElement(Menu.Item, null,
647
- React.createElement("div", { "aria-hidden": true, className: 'pt-4 px-2 pb-2 font-semibold text-gray-900 text-sm' }, "T\u00F9y ch\u1ECDn")),
648
- React.createElement(Menu.Item, null,
649
- React.createElement("div", { "aria-hidden": true, className: 'py-1.5 px-2 cursor-pointer text-gray-900 text-sm hover:bg-gray-100 hover:rounded-lg', onClick: handleProfilePage }, "Th\u00F4ng tin c\u00E1 nh\u00E2n")),
650
- React.createElement(Menu.Item, null,
651
- React.createElement("div", { "aria-hidden": true, className: 'py-1.5 px-2 mb-2.5 cursor-pointer text-[#8e1f0c] text-sm hover:bg-gray-100 hover:rounded-lg', onClick: handleModalSignOut }, "\u0110\u0103ng xu\u1EA5t")))))))))),
652
- React.createElement("div", null,
653
- React.createElement(PHXModal, { dangerActionText: '\u0110\u0103ng xu\u1EA5t', onDangerClick: handleSignOut, onHide: function () { return setModalSignOut(false); }, primaryActionText: '', show: modalSignOut, title: '\u0110\u0103ng xu\u1EA5t' },
654
- React.createElement("div", { className: 'text-gray-700 text-sm' }, "Khi th\u1EF1c hi\u1EC7n thao t\u00E1c n\u00E0y b\u1EA1n s\u1EBD tho\u00E1t kh\u1ECFi trang qu\u1EA3n tr\u1ECB v\u00E0 tr\u1EDF v\u1EC1 trang \u0111\u0103ng nh\u1EADp"))),
655
- React.createElement(PHXModal, { onHide: function () { return setModal(false); }, primaryActionText: 'X\u00E1c nh\u1EADn', show: modal, onPrimaryClick: handlePrimaryModal, title: 'X\u00E1c nh\u1EADn thay \u0111\u1ED5i tr\u01B0\u1EDDng' },
656
- React.createElement(PHXBanner, { description: 'Khi thay \u0111\u1ED5i tr\u01B0\u1EDDng t\u1EA5t c\u1EA3 d\u1EEF li\u1EC7u s\u1EBD hi\u1EC3n th\u1ECB theo tr\u01B0\u1EDDng v\u1EEBa \u0111\u01B0\u1EE3c ch\u1ECDn', onClose: function () { return setShowBanner(false); }, show: showBanner, title: 'L\u01B0u \u00FD', type: 'warning' })),
657
- React.createElement("div", { className: 'relative flex min-h-screen bg-[#f1f1f1]' },
658
- React.createElement(Transition.Root, { as: Fragment, show: sidebarOpen },
659
- React.createElement(Dialog, { as: 'div', className: 'relative z-40 lg:hidden', onClose: setSidebarOpen },
660
- React.createElement(Transition.Child, { as: Fragment, enter: 'transition-opacity ease-linear duration-300', enterFrom: 'opacity-0', enterTo: 'opacity-100', leave: 'transition-opacity ease-linear duration-300', leaveFrom: 'opacity-100', leaveTo: 'opacity-0' },
661
- React.createElement("div", { className: 'fixed inset-0 bg-gray-600 bg-opacity-75' })),
662
- React.createElement("div", { className: 'fixed inset-0 z-40 flex' },
663
- React.createElement(Transition.Child, { as: Fragment, enter: 'transition ease-in-out duration-300 transform', enterFrom: '-translate-x-full', enterTo: 'translate-x-0', leave: 'transition ease-in-out duration-300 transform', leaveFrom: 'translate-x-0', leaveTo: '-translate-x-full' },
664
- React.createElement(Dialog.Panel, { className: 'relative flex w-full max-w-xs flex-1 flex-col bg-[#ebebeb]' },
665
- React.createElement(Transition.Child, { as: Fragment, enter: 'ease-in-out duration-300', enterFrom: 'opacity-0', enterTo: 'opacity-100', leave: 'ease-in-out duration-300', leaveFrom: 'opacity-100', leaveTo: 'opacity-0' },
666
- React.createElement("div", { className: 'absolute right-0 top-0 -mr-12 pt-2' },
667
- React.createElement("button", { className: 'ml-1 flex h-10 w-10 items-center justify-center rounded-full focus:outline-none focus:ring-2 focus:ring-inset focus:ring-white', onClick: function () { return setSidebarOpen(false); }, type: 'button' },
668
- React.createElement("span", { className: 'sr-only' }, "Close sidebar"),
669
- React.createElement(XMarkIcon, { "aria-hidden": 'true', className: 'h-6 w-6 text-white' })))),
670
- React.createElement("div", { className: 'mt-8 h-0 flex-1 overflow-y-auto pb-4 pt-5' },
671
- React.createElement(NavMobile, { setSideBarOpen: function () { return setSidebarOpen(false); }, permission: perCode, menu: menu, path: pathNameWithBasePath, router: router })))),
672
- React.createElement("div", { "aria-hidden": 'true', className: 'w-14 flex-shrink-0' })))),
673
- React.createElement("div", { className: 'hidden lg:flex lg:flex-shrink-0' },
674
- React.createElement("div", { className: 'flex' },
675
- React.createElement("div", { className: 'mt-14 flex lg:inset-y-0' },
676
- React.createElement("div", { "aria-hidden": true, className: "".concat(openNavName ? 'w-64' : 'w-14', " transition-all duration-300 z-10 flex h-full flex-col justify-between border-r bg-[#f1f1f1] lg:fixed menu-styled"), onMouseOver: function () { return setOpenNavName(true); }, onMouseOut: function () { return setOpenNavName(false); } },
677
- React.createElement("div", { className: classNames('#ebebeb flex flex-1 flex-col', openNavName ? 'overflow-y-auto' : 'overflow-y-hidden') },
678
- React.createElement("div", { className: 'flex-1 relative' },
679
- React.createElement("div", { "aria-label": 'Sidebar', className: 'hidden md:block md:flex-shrink-0 md:overflow-y-auto overflow-x-hidden' }, !hiddenLeftMenu && (React.createElement("div", { className: "space-y- flex ".concat(openNavName ? 'w-64' : 'w-12', " flex-col overflow-hidden p-3") }, navigation.map(function (item, index) { return (React.createElement("div", { key: index, className: 'w-full' }, (roleCode === null || roleCode === void 0 ? void 0 : roleCode.length) > 0 ? (React.createElement(React.Fragment, null, enablePer(item.code, perCode) && (React.createElement("a", { className: "".concat(classNames(item.current && !openNavName
680
- ? 'font-semibold menu-bg-color-icon-active-styled' // màu background của icon đang active của menu
681
- : 'font-medium menu-icon-color-styled', // màu icon của menu
682
- !openNavName
683
- ? 'mb-1.5 inline-flex h-8 w-8 flex-shrink-0 items-center justify-center rounded-lg'
684
- : 'mb-1.5 inline-flex h-8 flex-shrink-0 items-center rounded-lg min-w-full', openNavName && item.current
685
- ? 'rounded-lg menu-bg-color-icon-active-styled'
686
- : 'hover:rounded-lg hover:bg-opacity-50 menu-hover-bg')), href: item.path, onClick: function () { return handleClicked(item.path); }, onMouseOver: function () { return setOpenNavName(true); } },
687
- React.createElement("span", { className: 'sr-only' }, item.name),
688
- React.createElement("span", { className: classNames(!openNavName
689
- ? 'group cursor-pointer hover:fixed hover:z-10 focus-visible:outline-none mt-0.5'
690
- : "flex gap-x-2 ".concat(item.menuIconSL ? 'pl-[3px] pt-[2px]' : 'pl-[0.45rem]')) },
691
- item.menuIconSL ? (React.createElement("img", { src: item.menuIconSL, className: 'w-[1.6rem]', alt: 'icon' })) : (React.createElement(FontAwesomeIcon, { className: 'h-[1.125rem] w-[1.125rem] mt-1', icon: item.image })),
692
- openNavName && (React.createElement("div", { className: 'h-6' },
693
- React.createElement("p", { className: "transition-all h-full duration-300 text-[0.86rem] mt-0.5 ".concat(openNavName ? 'opacity-100' : 'opacity-0', " ").concat(item.current ? 'font-semibold' : '') }, item.name)))))))) : (React.createElement("a", { className: classNames(item.current && !openNavName
694
- ? 'text-indigo-900 font-semibold menu-bg-color-icon-active-styled' // màu background của icon đang active trong menu
695
- : 'text-gray-700 font-medium menu-icon-color-styled', // màu icon
696
- !openNavName
697
- ? 'mb-1.5 inline-flex h-8 w-8 flex-shrink-0 items-center justify-center rounded-lg'
698
- : 'mb-1.5 inline-flex h-8 flex-shrink-0 items-center rounded-lg min-w-full', openNavName && item.current
699
- ? 'rounded-lg text-indigo-900 menu-bg-color-icon-active-styled' // màu background của icon đang active
700
- : 'hover:rounded-lg hover:bg-opacity-50 menu-hover-bg'), href: item.path, onClick: function () { return handleClicked(item.path); }, onMouseOver: function () { return setOpenNavName(true); } },
701
- React.createElement("span", { className: classNames(!openNavName
702
- ? 'group cursor-pointer hover:fixed hover:z-10 focus-visible:outline-none mt-0.5'
703
- : "flex gap-x-2 ".concat(item.menuIconSL ? 'pl-[3px] pt-[2px]' : 'pl-[0.45rem]')) },
704
- item.menuIconSL ? (React.createElement("img", { src: item.menuIconSL, className: 'w-[1.6rem]', alt: 'icon' })) : (React.createElement(FontAwesomeIcon, { className: 'h-[1.125rem] w-[1.125rem] mt-1', icon: item.image })),
705
- openNavName && (React.createElement("div", { className: 'h-6' },
706
- React.createElement("p", { className: "transition-all h-full duration-300 text-[0.86rem] mt-0.5 ".concat(openNavName ? 'opacity-100' : 'opacity-0', " ").concat(item.current ? 'font-semibold' : '', " ") }, item.name)))))))); })))))),
707
- React.createElement("div", { className: classNames('border-t', navigation.length > 0 && ((_e = navigation[0]) === null || _e === void 0 ? void 0 : _e.isSchoolink) ? 'border-[#1c222b]' : 'border-indigo-100') },
708
- React.createElement("div", { className: "mb-14 space-y- flex ".concat(openNavName ? 'w-64' : 'w-12', " overflow-hidden p-3") },
709
- React.createElement("a", { className: classNames('text-gray-700 font-medium', !openNavName
710
- ? 'inline-flex h-8 w-8 flex-shrink-0 items-center justify-center rounded-lg'
711
- : 'inline-flex h-8 flex-shrink-0 items-center rounded-lg hover:rounded-lg hover:bg-opacity-50 min-w-full', isSettings() && !openNavName
712
- ? 'text-indigo-900 font-semibold setting-bg-icon-active' // màu background của icon đang active trong menu
713
- : 'text-gray-700 font-medium setting-icon-color', // màu icon
714
- openNavName && isSettings()
715
- ? 'rounded-lg text-indigo-900 setting-bg-icon-active' // màu background của icon đang active trong menu
716
- : 'hover:rounded-lg hover:bg-opacity-50 setting-hover-bg'), href: '/setting',
717
- // onClick={() => handleClicked(item.path)}
718
- onMouseOver: function () { return setOpenNavName(true); } },
719
- React.createElement("span", { className: 'sr-only' }, "setting"),
720
- React.createElement("span", { className: classNames(!openNavName
721
- ? 'group cursor-pointer p-4 hover:fixed hover:z-10 focus-visible:outline-none mt-0.5'
722
- : 'flex gap-x-2 pl-[0.45rem]') },
723
- React.createElement(FontAwesomeIcon, { className: 'h-[1.125rem] w-[1.125rem] mt-1', icon: 'fa-solid fa-gear' }),
724
- openNavName && (React.createElement("div", { className: 'h-6' },
725
- React.createElement("p", { className: "transition-all h-full duration-300 text-[0.86rem] setting-text-color mt-0.5 ".concat(openNavName ? 'opacity-100' : 'opacity-0', " ").concat(isSettings() ? 'font-semibold' : '', " ") }, "C\u00E0i \u0111\u1EB7t")))))))),
726
- !hiddenLeftMenu && (React.createElement(Transition, { as: Fragment, enter: 'transition ease-in-out duration-300 transform', enterFrom: '-translate-x-full', enterTo: 'translate-x-0', leave: 'transition ease-in-out duration-300 transform', leaveFrom: 'translate-x-0', leaveTo: '-translate-x-full', show: openSubMenu },
727
- React.createElement("aside", { className: 'z-9 fixed ml-[3.438rem] hidden h-full bg-[#ebebeb] lg:block lg:flex-shrink-0' },
728
- React.createElement("div", { className: 'relative flex h-full w-64 flex-col overflow-y-auto border-r border-gray-200 bg-[#ebebeb]' },
729
- checkAdmissions(pathNameWithBasePath) &&
730
- checkChildrenCampaign(pathNameWithBasePath) &&
731
- pathNameWithBasePath !== '/admissions/campaign/list' && (React.createElement("div", { className: 'mx-1 flex items-center p-2 pb-0' },
732
- React.createElement("button", { className: 'inline-flex items-center rounded-lg border-gray-300 bg-transparent mr-1 px-2 py-1 text-xs font-medium text-gray-700 hover:bg-gray-200 active:bg-gray-300 active:pb-[0.2rem] active:pt-[0.3rem] active:shadow-[0rem_0.125rem_0.1rem_0rem_#0004_inset]', onClick: function () { return handleBackMenu(); }, type: 'button' },
733
- React.createElement(ArrowLeftIcon, { className: 'h-5 w-5' })),
734
- React.createElement("p", { className: 'font-medium text-sm text-slate-600' }, campaignName))),
735
- React.createElement("div", { className: 'flex-1 overflow-y-auto pt-3' }, subNavigation.map(function (item, subNavIndex) { return (React.createElement("div", { key: subNavIndex }, (roleCode === null || roleCode === void 0 ? void 0 : roleCode.length) > 0 ? (React.createElement(React.Fragment, null, enablePer(item.code, perCode) ? (React.createElement(React.Fragment, null,
736
- React.createElement("div", { "aria-hidden": true, "aria-current": (item === null || item === void 0 ? void 0 : item.current) ? 'page' : undefined, className: classNames((item === null || item === void 0 ? void 0 : item.current)
737
- ? 'rounded-lg bg-white' // màu background menu cha khi active
738
- : 'hover:rounded-lg hover:bg-white hover:bg-opacity-50', // màu background khi hover vào menu cha
739
- 'mx-1 flex cursor-pointer border-slate-200 p-2'), onClick: function () { return subNavigationTriggerClicked(item); } }, !loadingMenu ? (React.createElement("div", { className: 'ml-1 text-[0.84rem] flex items-center' },
740
- React.createElement("div", { className: 'flex items-center gap-x-3' },
741
- React.createElement("p", { className: classNames('leading-5', (item === null || item === void 0 ? void 0 : item.current) ? 'font-semibold' : 'font-medium text-gray-800') }, item === null || item === void 0 ? void 0 : item.name)),
742
- React.createElement("p", { className: 'mt-1 text-slate-500' }, item === null || item === void 0 ? void 0 : item.description))) : (React.createElement(PHXSkeleton, { className: 'mr-3 flex-1', type: 'single' }))),
743
- item.showChild && item.child && (React.createElement(React.Fragment, null, item.child.map(function (children, childIndex) { return (React.createElement("div", { key: childIndex, className: classNames('relative') },
744
- React.createElement("div", { style: (children === null || children === void 0 ? void 0 : children.current)
745
- ? styles.childMenuActiveBefore
746
- : checkChildBefore(item.child, children)
747
- ? styles.childMenuBefBefore
748
- : {} }),
749
- React.createElement("div", { "aria-hidden": true, className: classNames('mx-1 flex cursor-pointer border-slate-200 p-2 text-[0.84rem]', (children === null || children === void 0 ? void 0 : children.current)
750
- ? 'rounded-lg bg-white text-gray-900' // màu chữ menu con khi active
751
- : 'hover:rounded-lg hover:bg-white hover:bg-opacity-50 hover:text-gray-900'), onClick: enablePer(children.code, perCode)
752
- ? function () { return subNavigationTriggerClicked(children, item); }
753
- : undefined },
754
- React.createElement("div", { className: 'flex items-center gap-x-3' },
755
- React.createElement("div", { className: 'w-3' }),
756
- React.createElement("p", { className: classNames('my-[0.05rem] ml-3 leading-5', !enablePer(children.code, perCode)
757
- ? 'font-normal text-gray-300'
758
- : (children === null || children === void 0 ? void 0 : children.current)
759
- ? 'font-semibold'
760
- : 'font-normal text-gray-500') }, children.name))),
761
- React.createElement("div", { style: (children === null || children === void 0 ? void 0 : children.current)
762
- ? styles.childMenuActiveAfter
763
- : checkChildBefore(item.child, children)
764
- ? styles.childMenuBefAfter
765
- : {} }))); }))))) : (React.createElement("div", { "aria-current": (item === null || item === void 0 ? void 0 : item.current) ? 'page' : undefined, className: classNames((item === null || item === void 0 ? void 0 : item.current)
766
- ? 'rounded-lg bg-white '
767
- : 'hover:rounded-lg hover:bg-white hover:bg-opacity-50', // hover:bg-white
768
- 'mx-1 flex cursor-pointer border-slate-200 p-2') }, !loadingMenu ? (React.createElement("div", { className: 'ml-1 text-[0.84rem] flex items-center' },
769
- React.createElement("div", { className: 'flex items-center gap-x-3 text-gray-700' },
770
- React.createElement("p", { className: classNames('leading-5 font-medium text-gray-300') }, item === null || item === void 0 ? void 0 : item.name)),
771
- React.createElement("p", { className: 'mt-1 text-slate-500' }, item === null || item === void 0 ? void 0 : item.description))) : (React.createElement(PHXSkeleton, { className: 'mr-3 flex-1', type: 'single' })))))) : (React.createElement(React.Fragment, null,
772
- React.createElement("div", { "aria-hidden": true, "aria-current": (item === null || item === void 0 ? void 0 : item.current) ? 'page' : undefined, className: classNames((item === null || item === void 0 ? void 0 : item.current)
773
- ? 'rounded-lg bg-white'
774
- : 'hover:rounded-lg hover:bg-white hover:bg-opacity-50', 'mx-1 flex cursor-pointer border-slate-200 p-2'), onClick: function () { return subNavigationTriggerClicked(item); } }, !loadingMenu ? (React.createElement("div", { className: 'ml-3 text-[0.84rem] flex items-center' },
775
- React.createElement("div", { className: 'flex items-center gap-x-3 text-gray-700' },
776
- React.createElement("p", { className: classNames('leading-5 font-normal text-gray-500') }, item === null || item === void 0 ? void 0 : item.name)),
777
- React.createElement("p", { className: 'mt-1 text-slate-500' }, item === null || item === void 0 ? void 0 : item.description))) : (React.createElement(PHXSkeleton, { className: 'mr-3 flex-1', type: 'single' }))),
778
- item.showChild && item.child && (React.createElement(React.Fragment, null, item.child.map(function (children, index) { return (React.createElement("div", { key: index, className: classNames('relative', (children === null || children === void 0 ? void 0 : children.current) && 'child-menu-active', checkChildBefore(item.child, children) && 'child-menu-bef') },
779
- React.createElement("div", { "aria-hidden": true, className: classNames('mx-1 flex cursor-pointer border-slate-200 p-2 text-[0.84rem]', (children === null || children === void 0 ? void 0 : children.current)
780
- ? 'rounded-lg bg-white text-gray-900 '
781
- : 'hover:rounded-lg hover:bg-white hover:bg-opacity-50 hover:text-gray-900'), onClick: function () { return subNavigationTriggerClicked(children, item); } },
782
- React.createElement("div", { className: 'flex items-center gap-x-3' },
783
- React.createElement("div", { className: 'w-3' }),
784
- React.createElement("p", { className: classNames('ml-3 leading-5 my-[0.05rem]', (children === null || children === void 0 ? void 0 : children.current) ? 'font-semibold' : 'text-gray-500 font-normal') }, children.name))))); }))))))); }))))))))),
785
- React.createElement("div", { className: 'flex min-w-0 flex-1 flex-col overflow-hidden' },
786
- React.createElement("main", { className: 'flex flex-1 overflow-hidden' },
787
- React.createElement("section", { "aria-labelledby": 'primary-heading', className: 'flex h-full min-w-0 flex-1 flex-col lg:order-last' },
788
- React.createElement("div", { className: 'bg-bgcl-50 sticky top-0 z-10 flex h-14 flex-shrink-0 border-b border-l px-4 sm:px-6 lg:px-4' }),
789
- React.createElement("div", { className: "".concat(openSubMenu ? 'lg:ml-[20.063rem]' : 'lg:ml-[5.063rem]', " bg-[#f1f1f1] px-6") },
790
- React.createElement("div", { className: 'py-4' }, isLoadingPermission ? ('') : enablePer(currentCode, perCode) ? (children) : (React.createElement(PHXCard, null,
791
- React.createElement("div", { className: 'mb-10 mt-10 sm:mb-20 sm:mt-20 lg:mb-32 lg:mt-32' },
792
- React.createElement("div", { className: 'flex items-center justify-center' },
793
- React.createElement(LockClosedIcon, { className: 'text-gray-400', height: 70, width: 70 })),
794
- React.createElement("div", { className: 'mt-5 flex select-none items-center justify-center text-base font-bold text-gray-800' }, "B\u1EA1n kh\u00F4ng c\u00F3 quy\u1EC1n truy c\u1EADp"))))))))))));
795
- };
796
- //# sourceMappingURL=MainWrap.js.map