@hedhog/admin 0.51.16 → 0.51.21

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 (61) hide show
  1. package/dist/admin.module.d.ts.map +1 -1
  2. package/dist/admin.module.js +5 -0
  3. package/dist/admin.module.js.map +1 -1
  4. package/dist/auth/auth.controller.d.ts +12 -6
  5. package/dist/auth/auth.controller.d.ts.map +1 -1
  6. package/dist/auth/auth.controller.js +57 -24
  7. package/dist/auth/auth.controller.js.map +1 -1
  8. package/dist/auth/auth.module.d.ts.map +1 -1
  9. package/dist/auth/auth.module.js +4 -0
  10. package/dist/auth/auth.module.js.map +1 -1
  11. package/dist/auth/auth.service.d.ts +19 -10
  12. package/dist/auth/auth.service.d.ts.map +1 -1
  13. package/dist/auth/auth.service.js +104 -45
  14. package/dist/auth/auth.service.js.map +1 -1
  15. package/dist/dashboard/dashboard-core/dashboard-core.controller.d.ts +11 -11
  16. package/dist/dashboard/dashboard-core/dashboard-core.service.d.ts +11 -11
  17. package/dist/dashboard/dashboard-user/dashboard-user.controller.d.ts +3 -3
  18. package/dist/dashboard/dashboard-user/dashboard-user.service.d.ts +3 -3
  19. package/dist/menu/menu.controller.d.ts +3 -3
  20. package/dist/menu/menu.service.d.ts +3 -3
  21. package/dist/setting/setting.service.d.ts.map +1 -1
  22. package/dist/setting/setting.service.js +17 -11
  23. package/dist/setting/setting.service.js.map +1 -1
  24. package/frontend/dashboard/components/create-panel.tsx.ejs +63 -63
  25. package/frontend/dashboard/components/dashboard.screen.tsx.ejs +116 -116
  26. package/frontend/dashboard/components/update-panel.tsx.ejs +80 -80
  27. package/frontend/dashboard/locales/en/dashboard.dashboard.json +11 -11
  28. package/frontend/dashboard/locales/pt/dashboard.dashboard.json +11 -11
  29. package/frontend/dashboard/react-query/handlers.ts.ejs +28 -28
  30. package/frontend/dashboard/react-query/requests.ts.ejs +56 -56
  31. package/frontend/dashboard-component/components/create-panel.tsx.ejs +130 -130
  32. package/frontend/dashboard-component/components/update-panel.tsx.ejs +164 -164
  33. package/frontend/dashboard-component/locales/en/dashboard.dashboard-component.json +11 -11
  34. package/frontend/dashboard-component/locales/pt/dashboard.dashboard-component.json +11 -11
  35. package/frontend/dashboard-component/react-query/handlers.ts.ejs +28 -28
  36. package/frontend/dashboard-component/react-query/requests.ts.ejs +61 -61
  37. package/frontend/dashboard-item/components/create-panel.tsx.ejs +108 -108
  38. package/frontend/dashboard-item/components/update-panel.tsx.ejs +141 -141
  39. package/frontend/dashboard-item/locales/en/dashboard.dashboard-item.json +11 -11
  40. package/frontend/dashboard-item/locales/pt/dashboard.dashboard-item.json +11 -11
  41. package/frontend/dashboard-item/react-query/handlers.ts.ejs +28 -28
  42. package/frontend/dashboard-item/react-query/requests.ts.ejs +58 -58
  43. package/frontend/dashboard-user/components/create-panel.tsx.ejs +108 -108
  44. package/frontend/dashboard-user/components/update-panel.tsx.ejs +137 -137
  45. package/frontend/dashboard-user/locales/en/dashboard.dashboard-user.json +11 -11
  46. package/frontend/dashboard-user/locales/pt/dashboard.dashboard-user.json +11 -11
  47. package/frontend/dashboard-user/react-query/handlers.ts.ejs +28 -28
  48. package/frontend/dashboard-user/react-query/requests.ts.ejs +58 -58
  49. package/hedhog.yaml +2 -2
  50. package/package.json +7 -6
  51. package/src/admin.module.ts +5 -0
  52. package/src/auth/auth.controller.ts +37 -11
  53. package/src/auth/auth.module.ts +4 -0
  54. package/src/auth/auth.service.ts +154 -63
  55. package/src/dashboard/dashboard-component/dashboard-component.controller.ts +55 -55
  56. package/src/dashboard/dashboard-component/dto/create.dto.ts +36 -36
  57. package/src/dashboard/dashboard-component/dto/update.dto.ts +4 -4
  58. package/src/dashboard/dashboard-item/dto/update.dto.ts +4 -4
  59. package/src/dashboard/dashboard-user/dto/update.dto.ts +4 -4
  60. package/src/dashboard/index.ts +1 -1
  61. package/src/setting/setting.service.ts +16 -11
@@ -1 +1 @@
1
- {"version":3,"file":"setting.service.js","sourceRoot":"","sources":["../../src/setting/setting.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"setting.service.js","sourceRoot":"","sources":["../../src/setting/setting.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AACA,uCAAgD;AAChD,mDAAsE;AACtE,2CAA+C;AAC/C,2CAKwB;AAOjB,IAAM,cAAc,GAApB,MAAM,cAAc;IACzB,YAEmB,aAA4B,EAE5B,iBAAoC;QAFpC,kBAAa,GAAb,aAAa,CAAe;QAE5B,sBAAiB,GAAjB,iBAAiB,CAAmB;IACpD,CAAC;IAEJ,KAAK,CAAC,eAAe,CAAC,IAAgB;QACpC,MAAM,WAAW,GAAG,EAAE,CAAC;QAEvB,KAAK,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YAC3C,WAAW,CAAC,IAAI,CACd,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,UAAU,CAAC;gBACpC,KAAK,EAAE;oBACL,IAAI;iBACL;gBACD,IAAI,EAAE;oBACJ,KAAK;iBACN;aACF,CAAC,CACH,CAAC;QACJ,CAAC;QAED,MAAM,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;QACnD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAC3B,CAAC;IAED,KAAK,CAAC,mBAAmB,CAAC,MAAW,EAAE,gBAAqB,EAAE,IAAY;QACxE,MAAM,MAAM,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAEjC,gBAAgB,CAAC,QAAQ,GAAG,GAAG,CAAC;QAEhC,MAAM,EAAE,GAAU,IAAI,CAAC,aAAa,CAAC,uBAAuB,CAC1D,MAAM,EACN,gBAAgB,CACjB,CAAC;QAEF,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAClD,IAAI,CAAC,aAAa,CAAC,OAAO,EAC1B,gBAAgB,EAChB;YACE,KAAK,EAAE;gBACL,GAAG,EAAE;oBACH,aAAa,EAAE;wBACb,IAAI;qBACL;oBACD,EAAE;iBACH;aACF;YACD,OAAO,EAAE;gBACP,aAAa,EAAE;oBACb,OAAO,EAAE;wBACP,oBAAoB,EAAE;4BACpB,KAAK,EAAE;gCACL,MAAM,EAAE;oCACN,IAAI,EAAE,MAAM;iCACb;6BACF;4BACD,MAAM,EAAE;gCACN,IAAI,EAAE,IAAI;gCACV,WAAW,EAAE,IAAI;6BAClB;yBACF;qBACF;iBACF;gBACD,cAAc,EAAE;oBACd,KAAK,EAAE;wBACL,MAAM,EAAE;4BACN,IAAI,EAAE,MAAM;yBACb;qBACF;oBACD,MAAM,EAAE;wBACN,IAAI,EAAE,IAAI;wBACV,WAAW,EAAE,IAAI;qBAClB;iBACF;aACF;SACF,EACD,gBAAgB,CACjB,CAAC;QAEF,MAAM,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,OAAY,EAAE,EAAE;YAC7C,OAAO,CAAC,aAAa,GAAG,IAAA,uBAAgB,EACtC,sBAAsB,EACtB,OAAO,CAAC,aAAa,CACtB,CAAC;YACF,OAAO,OAAO,CAAC;QACjB,CAAC,CAAC,CAAC;QAEH,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,MAAc,EAAE,gBAA+B;QACrE,MAAM,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAEhC,gBAAgB,CAAC,QAAQ,GAAG,GAAG,CAAC;QAEhC,MAAM,EAAE,GAAU,IAAI,CAAC,aAAa,CAAC,uBAAuB,CAC1D,MAAM,EACN,gBAAgB,CACjB,CAAC;QAEF,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAClD,IAAI,CAAC,aAAa,CAAC,aAAa,EAChC,gBAAgB,EAChB;YACE,KAAK,EAAE;gBACL,EAAE;aACH;YACD,OAAO,EAAE;gBACP,oBAAoB,EAAE;oBACpB,KAAK,EAAE;wBACL,MAAM,EAAE;4BACN,IAAI,EAAE,MAAM;yBACb;qBACF;oBACD,MAAM,EAAE;wBACN,IAAI,EAAE,IAAI;wBACV,WAAW,EAAE,IAAI;qBAClB;iBACF;aACF;SACF,EACD,sBAAsB,CACvB,CAAC;QAEF,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,MAAc,EAAE,gBAA+B;QAChE,MAAM,MAAM,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAEjC,MAAM,EAAE,GAAU,IAAI,CAAC,aAAa,CAAC,uBAAuB,CAC1D,MAAM,EACN,gBAAgB,CACjB,CAAC;QAEF,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAClD,IAAI,CAAC,aAAa,CAAC,OAAO,EAC1B,gBAAgB,EAChB;YACE,KAAK,EAAE;gBACL,EAAE;aACH;YACD,OAAO,EAAE;gBACP,aAAa,EAAE;oBACb,OAAO,EAAE;wBACP,oBAAoB,EAAE;4BACpB,KAAK,EAAE;gCACL,MAAM,EAAE;oCACN,IAAI,EAAE,MAAM;iCACb;6BACF;4BACD,MAAM,EAAE;gCACN,IAAI,EAAE,IAAI;gCACV,WAAW,EAAE,IAAI;6BAClB;yBACF;qBACF;iBACF;gBACD,cAAc,EAAE;oBACd,KAAK,EAAE;wBACL,MAAM,EAAE;4BACN,IAAI,EAAE,MAAM;yBACb;qBACF;oBACD,MAAM,EAAE;wBACN,IAAI,EAAE,IAAI;wBACV,WAAW,EAAE,IAAI;qBAClB;iBACF;aACF;SACF,EACD,gBAAgB,CACjB,CAAC;QAEF,MAAM,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,OAAY,EAAE,EAAE;YAC7C,OAAO,CAAC,aAAa,GAAG,IAAA,uBAAgB,EACtC,sBAAsB,EACtB,OAAO,CAAC,aAAa,CACtB,CAAC;YACF,OAAO,OAAO,CAAC;QACjB,CAAC,CAAC,CAAC;QAEH,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,SAAiB;QACzB,OAAO,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,UAAU,CAAC;YAC3C,KAAK,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE;SACzB,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,IAAe;QAC1B,OAAO,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,MAAM,CAAC;YACvC,IAAI,EAAE;gBACJ,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,IAAI,EAAE,IAAI,CAAC,IAAW;gBACtB,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,aAAa,EAAE,IAAI,CAAC,aAAa;gBACjC,aAAa,EAAE;oBACb,OAAO,EAAE;wBACP,EAAE,EAAE,IAAI,CAAC,QAAQ;qBAClB;iBACF;aACF;SACF,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,IAAI,EAAmC;QACxD,OAAO,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,MAAM,CAAC;YACvC,KAAK,EAAE,EAAE,EAAE,EAAE;YACb,IAAI,EAAE;gBACJ,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,IAAI,EAAE,IAAI,CAAC,IAAW;gBACtB,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,aAAa,EAAE,IAAI,CAAC,aAAa;gBACjC,aAAa,EAAE;oBACb,OAAO,EAAE;wBACP,EAAE,EAAE,IAAI,CAAC,QAAQ;qBAClB;iBACF;aACF;SACF,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,IAAY,EAAE,IAAe;QAChD,MAAM,EAAE,EAAE,EAAE,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,SAAS,CAAC;YACxD,KAAK,EAAE;gBACL,IAAI;aACL;SACF,CAAC,CAAC;QAEH,IAAI,CAAC,EAAE,EAAE,CAAC;YACR,MAAM,IAAI,4BAAmB,CAAC,qBAAqB,IAAI,aAAa,CAAC,CAAC;QACxE,CAAC;QAED,OAAO,IAAI,CAAC,MAAM,CAAC;YACjB,EAAE;YACF,IAAI;SACL,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,EAAE,GAAG,EAAa;QAC7B,IAAI,GAAG,IAAI,SAAS,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;YACpC,MAAM,IAAI,4BAAmB,CAC3B,iDAAiD,CAClD,CAAC;QACJ,CAAC;QAED,OAAO,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,UAAU,CAAC;YAC3C,KAAK,EAAE;gBACL,EAAE,EAAE;oBACF,EAAE,EAAE,GAAG;iBACR;aACF;SACF,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,mBAAmB,CAAC,OAAe,EAAE,IAAY,EAAE,KAAa;QACpE,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC;YACpD,KAAK,EAAE;gBACL,EAAE,EAAE,OAAO;aACZ;YACD,MAAM,EAAE;gBACN,EAAE,EAAE,IAAI;aACT;SACF,CAAC,CAAC;QAEH,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,MAAM,IAAI,4BAAmB,CAAC,gBAAgB,OAAO,aAAa,CAAC,CAAC;QACtE,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,SAAS,CAAC;YACzD,KAAK,EAAE;gBACL,IAAI;gBACJ,aAAa,EAAE,IAAI;aACpB;SACF,CAAC,CAAC;QAEH,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,4BAAmB,CAC3B,qBAAqB,IAAI,sCAAsC,CAChE,CAAC;QACJ,CAAC;QAED,OAAO,MAAM,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,MAAM,CAAC;YAClD,KAAK,EAAE;gBACL,kBAAkB,EAAE;oBAClB,UAAU,EAAE,OAAO,CAAC,EAAE;oBACtB,OAAO,EAAE,IAAI,CAAC,EAAE;iBACjB;aACF;YACD,MAAM,EAAE;gBACN,UAAU,EAAE,OAAO,CAAC,EAAE;gBACtB,KAAK;gBACL,OAAO,EAAE,IAAI,CAAC,EAAE;aACjB;YACD,MAAM,EAAE;gBACN,KAAK;aACN;YACD,MAAM,EAAE;gBACN,UAAU,EAAE,IAAI;gBAChB,OAAO,EAAE,IAAI;gBACb,KAAK,EAAE,IAAI;aACZ;SACF,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,gBAAgB,CACpB,IAAuB;QAEvB,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAE3C,IAAI,OAAO,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,QAAQ,CAAC;YACtD,KAAK,EAAE;gBACL,IAAI,EAAE;oBACJ,EAAE,EAAE,IAAI;iBACT;aACF;YACD,MAAM,EAAE;gBACN,EAAE,EAAE,IAAI;gBACR,KAAK,EAAE,IAAI;gBACX,IAAI,EAAE,IAAI;gBACV,IAAI,EAAE,IAAI;gBACV,aAAa,EAAE,IAAI;aACpB;SACF,CAAC,CAAC;QAEH,MAAM,gBAAgB,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC;QAEhE,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,QAAQ,CAAC;YACjE,KAAK,EAAE;gBACL,UAAU,EAAE;oBACV,EAAE,EAAE,gBAAgB,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,EAAE,CAAC;iBACnD;aACF;YACD,MAAM,EAAE;gBACN,KAAK,EAAE,IAAI;gBACX,UAAU,EAAE,IAAI;aACjB;SACF,CAAC,CAAC;QAEH,MAAM,IAAI,GAAwB,EAAE,CAAC;QAErC,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;YACxB,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC;gBACf,KAAK,SAAS;oBACZ,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,KAAK,MAAM,CAAC;oBAClC,MAAM;gBACR,KAAK,QAAQ;oBACX,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;oBAC/B,MAAM;gBACR,KAAK,OAAO,CAAC;gBACb,KAAK,MAAM;oBACT,IAAI,CAAC;wBACH,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;oBACrC,CAAC;oBAAC,OAAO,GAAG,EAAE,CAAC;wBACb,OAAO,CAAC,KAAK,CAAC,oBAAoB,EAAE,CAAC,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;wBAClD,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC;oBACzB,CAAC;oBACD,MAAM;gBACR;oBACE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC;YAC3B,CAAC;QACH,CAAC;QAED,WAAW,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE;YACzB,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC;gBAC7D,EAAE,CAAC,KAAK,CAAC;QACb,CAAC,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,OAAe;QACnC,OAAO,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,QAAQ,CAAC;YAC9C,KAAK,EAAE;gBACL,OAAO;aACR;YACD,OAAO,EAAE;gBACP,OAAO,EAAE;oBACP,MAAM,EAAE;wBACN,IAAI,EAAE,IAAI;qBACX;iBACF;aACF;SACF,CAAC,CAAC;IACL,CAAC;CACF,CAAA;AAtYY,wCAAc;yBAAd,cAAc;IAD1B,IAAA,mBAAU,GAAE;IAGR,WAAA,IAAA,eAAM,EAAC,IAAA,mBAAU,EAAC,GAAG,EAAE,CAAC,sBAAa,CAAC,CAAC,CAAA;IAEvC,WAAA,IAAA,eAAM,EAAC,IAAA,mBAAU,EAAC,GAAG,EAAE,CAAC,8BAAiB,CAAC,CAAC,CAAA;qCADZ,sBAAa;QAET,8BAAiB;GAL5C,cAAc,CAsY1B"}
@@ -1,63 +1,63 @@
1
- import FormPanel, {
2
- FormPanelRef,
3
- getFieldsLocale,
4
- } from '@/components/panels/form-panel'
5
- import { EnumFieldType } from '@/enums/EnumFieldType'
6
- import { useDashboardCreate } from '@/features/admin/dashboard'
7
- import { Dashboard } from '@/types/models'
8
- import { forwardRef, useImperativeHandle, useRef } from 'react'
9
- import { useTranslation } from 'react-i18next'
10
-
11
- export type DashboardCreatePanelRef = {
12
- submit: () => void
13
- }
14
-
15
- export type DashboardCreatePanelProps = {
16
- onCreated?: (data: Dashboard) => void
17
- }
18
-
19
- const DashboardCreatePanel = forwardRef(
20
- ({ onCreated }: DashboardCreatePanelProps, ref) => {
21
- const formRef = useRef<FormPanelRef>(null)
22
- const { t } = useTranslation(['actions', 'fields', 'translations'])
23
- const { mutateAsync: createDashboard } = useDashboardCreate()
24
-
25
- useImperativeHandle(
26
- ref,
27
- () => ({
28
- submit: () => {
29
- formRef.current?.submit()
30
- },
31
- }),
32
- [formRef]
33
- )
34
-
35
- return (
36
- <FormPanel
37
- ref={formRef}
38
- fields={[
39
- {
40
- name: 'slug',
41
- label: { text: t('dashboard.slug', { ns: 'fields' }) },
42
- type: EnumFieldType.TEXT,
43
- required: true,
44
- },
45
- ...getFieldsLocale([{ name: 'name' }]),
46
- ]}
47
- button={{ text: t('create', { ns: 'actions' }) }}
48
- onSubmit={async (data) => {
49
- const createdData = await createDashboard({
50
- data,
51
- })
52
- if (typeof onCreated === 'function') {
53
- onCreated(createdData as any)
54
- }
55
- }}
56
- />
57
- )
58
- }
59
- )
60
-
61
- DashboardCreatePanel.displayName = 'DashboardCreatePanel'
62
-
63
- export default DashboardCreatePanel
1
+ import FormPanel, {
2
+ FormPanelRef,
3
+ getFieldsLocale,
4
+ } from '@/components/panels/form-panel'
5
+ import { EnumFieldType } from '@/enums/EnumFieldType'
6
+ import { useDashboardCreate } from '@/features/admin/dashboard'
7
+ import { Dashboard } from '@/types/models'
8
+ import { forwardRef, useImperativeHandle, useRef } from 'react'
9
+ import { useTranslation } from 'react-i18next'
10
+
11
+ export type DashboardCreatePanelRef = {
12
+ submit: () => void
13
+ }
14
+
15
+ export type DashboardCreatePanelProps = {
16
+ onCreated?: (data: Dashboard) => void
17
+ }
18
+
19
+ const DashboardCreatePanel = forwardRef(
20
+ ({ onCreated }: DashboardCreatePanelProps, ref) => {
21
+ const formRef = useRef<FormPanelRef>(null)
22
+ const { t } = useTranslation(['actions', 'fields', 'translations'])
23
+ const { mutateAsync: createDashboard } = useDashboardCreate()
24
+
25
+ useImperativeHandle(
26
+ ref,
27
+ () => ({
28
+ submit: () => {
29
+ formRef.current?.submit()
30
+ },
31
+ }),
32
+ [formRef]
33
+ )
34
+
35
+ return (
36
+ <FormPanel
37
+ ref={formRef}
38
+ fields={[
39
+ {
40
+ name: 'slug',
41
+ label: { text: t('dashboard.slug', { ns: 'fields' }) },
42
+ type: EnumFieldType.TEXT,
43
+ required: true,
44
+ },
45
+ ...getFieldsLocale([{ name: 'name' }]),
46
+ ]}
47
+ button={{ text: t('create', { ns: 'actions' }) }}
48
+ onSubmit={async (data) => {
49
+ const createdData = await createDashboard({
50
+ data,
51
+ })
52
+ if (typeof onCreated === 'function') {
53
+ onCreated(createdData as any)
54
+ }
55
+ }}
56
+ />
57
+ )
58
+ }
59
+ )
60
+
61
+ DashboardCreatePanel.displayName = 'DashboardCreatePanel'
62
+
63
+ export default DashboardCreatePanel
@@ -1,116 +1,116 @@
1
- import { PageTitle } from '@/components/custom/page-title'
2
- import DataPanel from '@/components/panels/data-panel'
3
- import { useDashboardDelete } from '@/features/admin/dashboard'
4
- import { useApp } from '@/hooks/use-app'
5
- import { isPlural } from '@/lib/utils'
6
- import { Dashboard } from '@/types/models'
7
- import { IconEdit, IconPlus, IconTrash } from '@tabler/icons-react'
8
- import { useState } from 'react'
9
- import { useTranslation } from 'react-i18next'
10
- import DashboardCreatePanel from './components/dashboard-create-panel'
11
- import DashboardUpdatePanel from './components/dashboard-update-panel'
12
- import DashboardCard from '@/components/cards/dashboard-card'
13
-
14
- export default function Page() {
15
- const [selectedItems, setSelectedItems] = useState<Dashboard[]>([])
16
- const { mutate: deleteDashboard } = useDashboardDelete()
17
- const { openSheet, confirm, closeSheet } = useApp()
18
- const { t } = useTranslation([
19
- 'dashboard.dashboard',
20
- 'modules',
21
- 'actions',
22
- 'fields',
23
- ])
24
-
25
- const openCreate = () => {
26
- const id = openSheet({
27
- title: t('create', { ns: 'dashboard.dashboard' }),
28
- description: t('createText', { ns: 'dashboard.dashboard' }),
29
- children: () => <DashboardCreatePanel onCreated={() => closeSheet(id)} />,
30
- })
31
-
32
- return id
33
- }
34
-
35
- const openDelete = (items: Dashboard[]) => {
36
- return confirm({
37
- title: `${t('delete', { ns: 'dashboard.dashboard' })} ${items.length} ${isPlural(items.length) ? t('items', { ns: 'actions' }) : t('item', { ns: 'actions' })}`,
38
- description: t('deleteText', { ns: 'dashboard.dashboard' }),
39
- })
40
- .then(() =>
41
- deleteDashboard(
42
- items
43
- .map((item) => (item as any).dashboard_id)
44
- .filter((id) => id !== undefined)
45
- )
46
- )
47
- .catch(() => setSelectedItems(items))
48
- }
49
-
50
- const openUpdate = (item: Dashboard) => {
51
- const id = openSheet({
52
- children: () => (
53
- <DashboardUpdatePanel data={item} onUpdated={() => closeSheet(id)} />
54
- ),
55
- title: t('edit', { ns: 'dashboard.dashboard' }),
56
- description: t('editText', { ns: 'dashboard.dashboard' }),
57
- })
58
-
59
- return id
60
- }
61
-
62
- return (
63
- <>
64
- <PageTitle title={t('dashboard', { ns: 'modules' })} />
65
- <DataPanel
66
- url='/dashboard'
67
- layout='grid'
68
- id='dashboard'
69
- selectable
70
- render={(item: Dashboard) => <DashboardCard item={item} />}
71
- responsiveColumns={{
72
- default: 1,
73
- sm: 2,
74
- md: 1,
75
- lg: 2,
76
- xl: 3,
77
- }}
78
- selected={selectedItems as Dashboard[]}
79
- multiple
80
- hasSearch
81
- onItemDoubleClick={(item) => openUpdate(item)}
82
- menuActions={[
83
- {
84
- icon: <IconEdit className='mr-1 w-8 cursor-pointer' />,
85
- label: t('edit', { ns: 'actions' }),
86
- tooltip: t('editTooltip', { ns: 'contact.dashboard' }),
87
- handler: (items: Dashboard[]) => {
88
- if (items.length === 1) openUpdate(items[0])
89
- },
90
- show: 'once',
91
- },
92
- {
93
- icon: <IconTrash className='mr-1 w-8 cursor-pointer' />,
94
- label: t('delete', { ns: 'actions' }),
95
- tooltip: t('deleteTooltip', { ns: 'contact.dashboard' }),
96
- variant: 'destructive',
97
- handler: (items: Dashboard[]) => {
98
- openDelete(items)
99
- },
100
- show: 'some',
101
- },
102
- {
103
- icon: <IconPlus className='mr-1 w-8 cursor-pointer' />,
104
- label: t('create', { ns: 'actions' }),
105
- tooltip: t('createTooltip', { ns: 'contact.dashboard' }),
106
- variant: 'default',
107
- handler: () => {
108
- openCreate()
109
- },
110
- show: 'none',
111
- },
112
- ]}
113
- />
114
- </>
115
- )
116
- }
1
+ import { PageTitle } from '@/components/custom/page-title'
2
+ import DataPanel from '@/components/panels/data-panel'
3
+ import { useDashboardDelete } from '@/features/admin/dashboard'
4
+ import { useApp } from '@/hooks/use-app'
5
+ import { isPlural } from '@/lib/utils'
6
+ import { Dashboard } from '@/types/models'
7
+ import { IconEdit, IconPlus, IconTrash } from '@tabler/icons-react'
8
+ import { useState } from 'react'
9
+ import { useTranslation } from 'react-i18next'
10
+ import DashboardCreatePanel from './components/dashboard-create-panel'
11
+ import DashboardUpdatePanel from './components/dashboard-update-panel'
12
+ import DashboardCard from '@/components/cards/dashboard-card'
13
+
14
+ export default function Page() {
15
+ const [selectedItems, setSelectedItems] = useState<Dashboard[]>([])
16
+ const { mutate: deleteDashboard } = useDashboardDelete()
17
+ const { openSheet, confirm, closeSheet } = useApp()
18
+ const { t } = useTranslation([
19
+ 'dashboard.dashboard',
20
+ 'modules',
21
+ 'actions',
22
+ 'fields',
23
+ ])
24
+
25
+ const openCreate = () => {
26
+ const id = openSheet({
27
+ title: t('create', { ns: 'dashboard.dashboard' }),
28
+ description: t('createText', { ns: 'dashboard.dashboard' }),
29
+ children: () => <DashboardCreatePanel onCreated={() => closeSheet(id)} />,
30
+ })
31
+
32
+ return id
33
+ }
34
+
35
+ const openDelete = (items: Dashboard[]) => {
36
+ return confirm({
37
+ title: `${t('delete', { ns: 'dashboard.dashboard' })} ${items.length} ${isPlural(items.length) ? t('items', { ns: 'actions' }) : t('item', { ns: 'actions' })}`,
38
+ description: t('deleteText', { ns: 'dashboard.dashboard' }),
39
+ })
40
+ .then(() =>
41
+ deleteDashboard(
42
+ items
43
+ .map((item) => (item as any).dashboard_id)
44
+ .filter((id) => id !== undefined)
45
+ )
46
+ )
47
+ .catch(() => setSelectedItems(items))
48
+ }
49
+
50
+ const openUpdate = (item: Dashboard) => {
51
+ const id = openSheet({
52
+ children: () => (
53
+ <DashboardUpdatePanel data={item} onUpdated={() => closeSheet(id)} />
54
+ ),
55
+ title: t('edit', { ns: 'dashboard.dashboard' }),
56
+ description: t('editText', { ns: 'dashboard.dashboard' }),
57
+ })
58
+
59
+ return id
60
+ }
61
+
62
+ return (
63
+ <>
64
+ <PageTitle title={t('dashboard', { ns: 'modules' })} />
65
+ <DataPanel
66
+ url='/dashboard'
67
+ layout='grid'
68
+ id='dashboard'
69
+ selectable
70
+ render={(item: Dashboard) => <DashboardCard item={item} />}
71
+ responsiveColumns={{
72
+ default: 1,
73
+ sm: 2,
74
+ md: 1,
75
+ lg: 2,
76
+ xl: 3,
77
+ }}
78
+ selected={selectedItems as Dashboard[]}
79
+ multiple
80
+ hasSearch
81
+ onItemDoubleClick={(item) => openUpdate(item)}
82
+ menuActions={[
83
+ {
84
+ icon: <IconEdit className='mr-1 w-8 cursor-pointer' />,
85
+ label: t('edit', { ns: 'actions' }),
86
+ tooltip: t('editTooltip', { ns: 'contact.dashboard' }),
87
+ handler: (items: Dashboard[]) => {
88
+ if (items.length === 1) openUpdate(items[0])
89
+ },
90
+ show: 'once',
91
+ },
92
+ {
93
+ icon: <IconTrash className='mr-1 w-8 cursor-pointer' />,
94
+ label: t('delete', { ns: 'actions' }),
95
+ tooltip: t('deleteTooltip', { ns: 'contact.dashboard' }),
96
+ variant: 'destructive',
97
+ handler: (items: Dashboard[]) => {
98
+ openDelete(items)
99
+ },
100
+ show: 'some',
101
+ },
102
+ {
103
+ icon: <IconPlus className='mr-1 w-8 cursor-pointer' />,
104
+ label: t('create', { ns: 'actions' }),
105
+ tooltip: t('createTooltip', { ns: 'contact.dashboard' }),
106
+ variant: 'default',
107
+ handler: () => {
108
+ openCreate()
109
+ },
110
+ show: 'none',
111
+ },
112
+ ]}
113
+ />
114
+ </>
115
+ )
116
+ }
@@ -1,80 +1,80 @@
1
- import FormPanel, {
2
- FormPanelRef,
3
- getFieldsLocale,
4
- } from '@/components/panels/form-panel'
5
- import { Overlay } from '@/components/custom/overlay'
6
- import { TabPanel } from '@/components/panels/tab-panel'
7
- import {
8
- useDashboardGet,
9
- useDashboardUpdate,
10
- } from '@/features/admin/dashboard'
11
- import useEffectAfterFirstUpdate from '@/hooks/use-effect-after-first-update'
12
- import { Dashboard } from '@/types/models'
13
- import { forwardRef, useImperativeHandle, useRef } from 'react'
14
- import { useTranslation } from 'react-i18next'
15
- import { EnumFieldType } from '@/enums/EnumFieldType'
16
-
17
- export type DashboardUpdatePanelProps = {
18
- data: Dashboard
19
- onUpdated?: (data: Dashboard) => void
20
- }
21
-
22
- const DashboardUpdatePanel = forwardRef(
23
- ({ data, onUpdated }: DashboardUpdatePanelProps, ref) => {
24
- const { t } = useTranslation(['actions', 'fields', 'translations'])
25
- const { data: item, isLoading } = useDashboardGet(
26
- (data as any).dashboard_id as number
27
- )
28
- const { mutate: dashboardUpdate } = useDashboardUpdate()
29
- const formRef = useRef<FormPanelRef>(null)
30
-
31
- useEffectAfterFirstUpdate(() => {
32
- if (item && formRef.current) {
33
- formRef.current.setValuesFromItem(item)
34
- }
35
- }, [item])
36
-
37
- useImperativeHandle(ref, () => ({}))
38
-
39
- return (
40
- <TabPanel
41
- activeTabIndex={0}
42
- tabs={[
43
- {
44
- title: t('details', { ns: 'actions' }),
45
- children: (
46
- <Overlay loading={isLoading}>
47
- <FormPanel
48
- ref={formRef}
49
- fields={[
50
- {
51
- name: 'slug',
52
- label: { text: t('dashboard.slug', { ns: 'fields' }) },
53
- type: EnumFieldType.TEXT,
54
- required: true,
55
- },
56
- ...getFieldsLocale([{ name: 'name' }], item),
57
- ]}
58
- button={{ text: t('save', { ns: 'actions' }) }}
59
- onSubmit={(data) => {
60
- dashboardUpdate({
61
- id: data.id,
62
- data,
63
- })
64
- if (typeof onUpdated === 'function') {
65
- onUpdated(data)
66
- }
67
- }}
68
- />
69
- </Overlay>
70
- ),
71
- },
72
- ]}
73
- />
74
- )
75
- }
76
- )
77
-
78
- DashboardUpdatePanel.displayName = 'DashboardUpdatePanel'
79
-
80
- export default DashboardUpdatePanel
1
+ import FormPanel, {
2
+ FormPanelRef,
3
+ getFieldsLocale,
4
+ } from '@/components/panels/form-panel'
5
+ import { Overlay } from '@/components/custom/overlay'
6
+ import { TabPanel } from '@/components/panels/tab-panel'
7
+ import {
8
+ useDashboardGet,
9
+ useDashboardUpdate,
10
+ } from '@/features/admin/dashboard'
11
+ import useEffectAfterFirstUpdate from '@/hooks/use-effect-after-first-update'
12
+ import { Dashboard } from '@/types/models'
13
+ import { forwardRef, useImperativeHandle, useRef } from 'react'
14
+ import { useTranslation } from 'react-i18next'
15
+ import { EnumFieldType } from '@/enums/EnumFieldType'
16
+
17
+ export type DashboardUpdatePanelProps = {
18
+ data: Dashboard
19
+ onUpdated?: (data: Dashboard) => void
20
+ }
21
+
22
+ const DashboardUpdatePanel = forwardRef(
23
+ ({ data, onUpdated }: DashboardUpdatePanelProps, ref) => {
24
+ const { t } = useTranslation(['actions', 'fields', 'translations'])
25
+ const { data: item, isLoading } = useDashboardGet(
26
+ (data as any).dashboard_id as number
27
+ )
28
+ const { mutate: dashboardUpdate } = useDashboardUpdate()
29
+ const formRef = useRef<FormPanelRef>(null)
30
+
31
+ useEffectAfterFirstUpdate(() => {
32
+ if (item && formRef.current) {
33
+ formRef.current.setValuesFromItem(item)
34
+ }
35
+ }, [item])
36
+
37
+ useImperativeHandle(ref, () => ({}))
38
+
39
+ return (
40
+ <TabPanel
41
+ activeTabIndex={0}
42
+ tabs={[
43
+ {
44
+ title: t('details', { ns: 'actions' }),
45
+ children: (
46
+ <Overlay loading={isLoading}>
47
+ <FormPanel
48
+ ref={formRef}
49
+ fields={[
50
+ {
51
+ name: 'slug',
52
+ label: { text: t('dashboard.slug', { ns: 'fields' }) },
53
+ type: EnumFieldType.TEXT,
54
+ required: true,
55
+ },
56
+ ...getFieldsLocale([{ name: 'name' }], item),
57
+ ]}
58
+ button={{ text: t('save', { ns: 'actions' }) }}
59
+ onSubmit={(data) => {
60
+ dashboardUpdate({
61
+ id: data.id,
62
+ data,
63
+ })
64
+ if (typeof onUpdated === 'function') {
65
+ onUpdated(data)
66
+ }
67
+ }}
68
+ />
69
+ </Overlay>
70
+ ),
71
+ },
72
+ ]}
73
+ />
74
+ )
75
+ }
76
+ )
77
+
78
+ DashboardUpdatePanel.displayName = 'DashboardUpdatePanel'
79
+
80
+ export default DashboardUpdatePanel
@@ -1,11 +1,11 @@
1
- {
2
- "create": "Create dashboard",
3
- "createText": "Fill the dashboard informations.",
4
- "createTooltip": "Create new dashboard",
5
- "delete": "Delete dashboard",
6
- "deleteText": "Are you sure to delete these dashboard?",
7
- "deleteTooltip": "Delete the selected dashboard",
8
- "edit": "Edit dashboard",
9
- "editText": "View and edit dashboard information.",
10
- "editTooltip": "Edit the selected dashboard"
11
- }
1
+ {
2
+ "create": "Create dashboard",
3
+ "createText": "Fill the dashboard informations.",
4
+ "createTooltip": "Create new dashboard",
5
+ "delete": "Delete dashboard",
6
+ "deleteText": "Are you sure to delete these dashboard?",
7
+ "deleteTooltip": "Delete the selected dashboard",
8
+ "edit": "Edit dashboard",
9
+ "editText": "View and edit dashboard information.",
10
+ "editTooltip": "Edit the selected dashboard"
11
+ }
@@ -1,11 +1,11 @@
1
- {
2
- "create": "Criar dashboard",
3
- "createText": "Preencha as informações do dashboard.",
4
- "createTooltip": "Criar novo dashboard",
5
- "delete": "Excluir dashboard",
6
- "deleteText": "Você tem certeza de que deseja excluir estes dashboards?",
7
- "deleteTooltip": "Excluir o dashboard selecionado",
8
- "edit": "Editar dashboard",
9
- "editText": "Visualizar e editar informações do dashboard.",
10
- "editTooltip": "Editar o dashboard selecionado"
11
- }
1
+ {
2
+ "create": "Criar dashboard",
3
+ "createText": "Preencha as informações do dashboard.",
4
+ "createTooltip": "Criar novo dashboard",
5
+ "delete": "Excluir dashboard",
6
+ "deleteText": "Você tem certeza de que deseja excluir estes dashboards?",
7
+ "deleteTooltip": "Excluir o dashboard selecionado",
8
+ "edit": "Editar dashboard",
9
+ "editText": "Visualizar e editar informações do dashboard.",
10
+ "editTooltip": "Editar o dashboard selecionado"
11
+ }