From 6131e3d8e896321fc58c8065791f5e7823a95c07 Mon Sep 17 00:00:00 2001
From: avinashh
Date: Fri, 24 Mar 2023 15:41:04 +0530
Subject: [PATCH] NextJS Components Documentation
---
.env | 1 +
.gitignore | 33 +
Editor/Ckeditor.jsx | 42 +
README.md | 38 +-
jsconfig.json | 8 +
lib/Prisma.js | 14 +
next.config.js | 6 +
package-lock.json | 1580 ++++++++++++++
package.json | 37 +
pages/AutocompleteSearch.js | 46 +
pages/Components/AutoCompleteSearch.js | 168 ++
pages/Components/IndexedDB/Indexed.jsx | 351 +++
pages/Components/IndexedDB/data.js | 16 +
pages/Components/Prisma/CreateUser.js | 50 +
pages/Components/Prisma/Users.js | 49 +
pages/Components/TabulatorData.js | 234 ++
pages/Components/echarts/Barchart.js | 107 +
pages/Components/echarts/Bubblechart.js | 56 +
pages/Components/echarts/Pichart.js | 73 +
pages/Components/groupByHCP.js | 106 +
pages/Editor.jsx | 32 +
pages/_app.js | 23 +
pages/_document.js | 13 +
pages/api/DeleteUser.js | 12 +
pages/api/axios/instance.js | 19 +
pages/api/createuser.js | 14 +
pages/api/hello.js | 5 +
pages/api/users.js | 6 +
pages/index.js | 1892 +++++++++++++++++
pages/jqueryloader.js | 3 +
prisma/schema.prisma | 21 +
public/favicon.ico | Bin 0 -> 25931 bytes
public/images/Konectchat.png | Bin 0 -> 2609 bytes
public/images/Pluse.svg | 16 +
public/images/Tick.svg | 15 +
public/images/add_active.svg | 16 +
public/images/ajax-loader-round.gif | Bin 0 -> 23847 bytes
public/images/all_icons.png | Bin 0 -> 62921 bytes
public/images/all_icons.svg | 839 ++++++++
public/images/avatar.svg | 45 +
public/images/calender.svg | 23 +
public/images/comment.svg | 17 +
public/images/contacts/Address.svg | 27 +
public/images/contacts/Assign_profile.svg | 33 +
public/images/contacts/Email.svg | 14 +
public/images/contacts/Excel.svg | 20 +
public/images/contacts/List.svg | 31 +
public/images/contacts/New.svg | 18 +
public/images/contacts/PDF.svg | 28 +
public/images/contacts/add_hcp.svg | 9 +
public/images/contacts/assign_profile.svg | 20 +
public/images/contacts/change_view.svg | 31 +
public/images/contacts/change_view_list.svg | 60 +
public/images/contacts/create_list.svg | 19 +
public/images/contacts/email.svg | 14 +
public/images/contacts/email_profile.svg | 19 +
public/images/contacts/export_excel.svg | 9 +
public/images/contacts/export_pdf.svg | 10 +
public/images/contacts/fax.svg | 30 +
public/images/contacts/female_profile.svg | 78 +
public/images/contacts/license_number.svg | 28 +
public/images/contacts/male_profile.svg | 55 +
public/images/contacts/npi.svg | 28 +
public/images/contacts/organization_icon.svg | 749 +++++++
public/images/contacts/phone.svg | 23 +
public/images/cross_gray.svg | 15 +
public/images/cross_gray1.svg | 11 +
public/images/default_user.svg | 1 +
public/images/deny_red.svg | 13 +
public/images/discover/Chart.svg | 16 +
public/images/discover/Chart_old.svg | 16 +
public/images/discover/Pre-sets-ll.svg | 19 +
public/images/discover/Pre-sets.svg | 19 +
public/images/discover/Priority-l.svg | 15 +
public/images/discover/Priority-ll.svg | 15 +
public/images/discover/Top Speakers-lll.svg | 28 +
.../images/discover/Top_Practitioners-l.svg | 34 +
.../discover/Top_Practitioners-l_old.svg | 70 +
.../images/discover/Top_Practitioners-ll.svg | 70 +
public/images/discover/Top_Researchers-l.svg | 44 +
public/images/discover/Top_Researchers-ll.svg | 46 +
public/images/discover/Top_Speakers-l.svg | 40 +
public/images/discover/Top_Speakers-l_old.svg | 25 +
public/images/discover/Top_Speakers-ll.svg | 29 +
public/images/discover/Trends.svg | 23 +
public/images/discover/Trends_old.svg | 56 +
public/images/discover/chart_click.svg | 14 +
public/images/discover/chart_click_click.svg | 12 +
public/images/discover/chart_i.svg | 19 +
public/images/discover/chart_ii.svg | 14 +
public/images/discover/down_arrow.svg | 9 +
public/images/discover/no_change_blue.svg | 14 +
public/images/discover/rank.svg | 24 +
public/images/discover/rank_click.svg | 21 +
public/images/discover/rank_click_old.svg | 21 +
public/images/discover/rank_old.svg | 24 +
public/images/discover/ranking_report_i.svg | 19 +
public/images/discover/ranking_report_ii.svg | 21 +
public/images/discover/ref.svg | 61 +
public/images/discover/ref_click.svg | 36 +
public/images/discover/ref_click_old.svg | 24 +
public/images/discover/ref_old.svg | 45 +
public/images/discover/referral_report_i.svg | 74 +
public/images/discover/referral_report_ii.svg | 29 +
public/images/discover/reset.svg | 30 +
public/images/discover/save_active.svg | 16 +
public/images/discover/tier_report.svg | 35 +
public/images/discover/trends_click.svg | 34 +
public/images/discover/trends_click_old.svg | 48 +
public/images/discover/trends_i.svg | 36 +
public/images/discover/trends_ii.svg | 34 +
public/images/discover/up_arrow.svg | 10 +
public/images/document_management/Excel.svg | 20 +
.../images/document_management/add_folder.svg | 18 +
public/images/document_management/clock.svg | 45 +
.../document_management/closed_folder-old.svg | 1 +
.../document_management/closed_folder.svg | 13 +
.../document_management/document-old.svg | 1 +
.../images/document_management/document.svg | 23 +
public/images/document_management/excel.svg | 1 +
public/images/document_management/image.svg | 28 +
public/images/document_management/img.svg | 29 +
.../document_management/open_folder-old.svg | 1 +
.../document_management/open_folder.svg | 14 +
public/images/document_management/pdf.svg | 1 +
public/images/document_management/ppt-old.svg | 1 +
public/images/document_management/ppt.svg | 23 +
public/images/document_management/trash.svg | 1 +
.../images/document_management/trash_blue.svg | 1 +
.../images/document_management/trash_red.svg | 1 +
.../upload_document-old.svg | 1 +
.../document_management/upload_document.svg | 25 +
public/images/document_management/word.svg | 1 +
public/images/double-arrowmarks-up_down.png | Bin 0 -> 580 bytes
public/images/event_bio_location.svg | 8 +
public/images/export_excel.svg | 9 +
public/images/favicon.ico | Bin 0 -> 15086 bytes
.../favicons/android-chrome-144x144.png | Bin 0 -> 12086 bytes
.../favicons/android-chrome-192x192.png | Bin 0 -> 16926 bytes
.../images/favicons/android-chrome-36x36.png | Bin 0 -> 2672 bytes
.../images/favicons/android-chrome-48x48.png | Bin 0 -> 3586 bytes
.../images/favicons/android-chrome-72x72.png | Bin 0 -> 5617 bytes
.../images/favicons/android-chrome-96x96.png | Bin 0 -> 7563 bytes
.../favicons/apple-touch-icon-114x114.png | Bin 0 -> 9425 bytes
.../favicons/apple-touch-icon-120x120.png | Bin 0 -> 9871 bytes
.../favicons/apple-touch-icon-144x144.png | Bin 0 -> 12417 bytes
.../favicons/apple-touch-icon-152x152.png | Bin 0 -> 13230 bytes
.../favicons/apple-touch-icon-180x180.png | Bin 0 -> 16365 bytes
.../favicons/apple-touch-icon-57x57.png | Bin 0 -> 4454 bytes
.../favicons/apple-touch-icon-60x60.png | Bin 0 -> 4777 bytes
.../favicons/apple-touch-icon-72x72.png | Bin 0 -> 5768 bytes
.../favicons/apple-touch-icon-76x76.png | Bin 0 -> 5889 bytes
.../favicons/apple-touch-icon-precomposed.png | Bin 0 -> 18441 bytes
public/images/favicons/apple-touch-icon.png | Bin 0 -> 16365 bytes
public/images/favicons/browserconfig.xml | 12 +
public/images/favicons/favicon-16x16.png | Bin 0 -> 1149 bytes
public/images/favicons/favicon-194x194.png | Bin 0 -> 10037 bytes
public/images/favicons/favicon-32x32.png | Bin 0 -> 1540 bytes
public/images/favicons/favicon-96x96.png | Bin 0 -> 4465 bytes
public/images/favicons/favicon.ico | Bin 0 -> 15086 bytes
public/images/favicons/index.html | 10 +
public/images/favicons/manifest.json | 41 +
public/images/favicons/mstile-144x144.png | Bin 0 -> 4379 bytes
public/images/favicons/mstile-150x150.png | Bin 0 -> 4108 bytes
public/images/favicons/mstile-310x150.png | Bin 0 -> 4429 bytes
public/images/favicons/mstile-310x310.png | Bin 0 -> 11236 bytes
public/images/favicons/mstile-70x70.png | Bin 0 -> 2801 bytes
public/images/female_profile.svg | 78 +
public/images/five_stars.png | Bin 0 -> 4051 bytes
public/images/grid_inactive.svg | 6 +
public/images/icon_excel.png | Bin 0 -> 1150 bytes
public/images/industry.svg | 19 +
public/images/kolm-sprite-image.png | Bin 0 -> 75175 bytes
public/images/like.svg | 15 +
public/images/list_view_active.svg | 2 +
public/images/logo-mini.png | Bin 0 -> 3417 bytes
public/images/logo-mini.svg | 12 +
public/images/logo.png | Bin 0 -> 28839 bytes
public/images/logo.svg | 13 +
public/images/mailbox_icons/accounts.svg | 1 +
public/images/mailbox_icons/attach.svg | 1 +
public/images/mailbox_icons/draft.svg | 1 +
public/images/mailbox_icons/forward.svg | 12 +
public/images/mailbox_icons/inbox.svg | 1 +
public/images/mailbox_icons/inbox1.svg | 1 +
public/images/mailbox_icons/outbox.svg | 1 +
public/images/mailbox_icons/plus_dark.svg | 11 +
public/images/mailbox_icons/plus_white.svg | 11 +
public/images/mailbox_icons/reply.svg | 12 +
public/images/mailbox_icons/reply_all.svg | 13 +
public/images/mailbox_icons/sent.svg | 1 +
public/images/mailbox_icons/sort.svg | 1 +
public/images/mailbox_icons/templates.svg | 1 +
public/images/mailbox_icons/three_dots.png | Bin 0 -> 4462 bytes
public/images/mailbox_icons/three_dots.svg | 1 +
public/images/mailbox_icons/trash.svg | 17 +
public/images/mailbox_icons/trash_red.svg | 17 +
.../mailbox_icons/unsubscribed_users.svg | 1 +
public/images/male_kol_profile.svg | 18 +
public/images/male_kol_profile_maroon.svg | 18 +
public/images/male_profile.svg | 55 +
.../medintel/media_category_icons/Reset.svg | 12 +
.../medintel/media_category_icons/back.png | Bin 0 -> 1261 bytes
.../media_category_icons/back_active.png | Bin 0 -> 938 bytes
.../media_category_icons/companies.svg | 21 +
.../medintel/media_category_icons/contact.svg | 22 +
.../media_category_icons/delete_active.svg | 11 +
.../media_category_icons/do_not_show.svg | 15 +
.../medintel/media_category_icons/fav.svg | 13 +
.../media_category_icons/organization.svg | 20 +
.../medintel/media_category_icons/product.svg | 21 +
.../media_category_icons/reset_active.svg | 12 +
.../media_category_icons/settings-active.svg | 24 +
.../media_category_icons/settings.svg | 24 +
.../medintel/media_category_icons/source.svg | 22 +
.../media_category_icons/stethescope.svg | 19 +
.../media_category_icons/technology.svg | 23 +
.../unbookmark_active.png | Bin 0 -> 1240 bytes
.../medintel/media_category_icons/unfav.svg | 13 +
public/images/medintel/media_list_view.jpg | Bin 0 -> 26051 bytes
public/images/menu_icons/Analytics_Active.svg | 24 +
.../images/menu_icons/Analytics_Inactive.svg | 28 +
public/images/menu_icons/Analytics_i.svg | 28 +
public/images/menu_icons/Analytics_ia.svg | 24 +
public/images/menu_icons/Contacts_Active.svg | 32 +
.../images/menu_icons/Contacts_Inactive.svg | 34 +
public/images/menu_icons/Contacts_i.svg | 34 +
public/images/menu_icons/Contacts_ia.svg | 32 +
public/images/menu_icons/Disvover_Active.svg | 24 +
.../images/menu_icons/Disvover_Inactive.svg | 51 +
public/images/menu_icons/Disvover_i.svg | 51 +
public/images/menu_icons/Disvover_ia.svg | 24 +
.../menu_icons/Documentmanagement_Active.svg | 19 +
.../Documentmanagement_Inactive.svg | 23 +
.../menu_icons/Documentmanagement_i.svg | 23 +
.../menu_icons/Documentmanagement_ia.svg | 19 +
public/images/menu_icons/Events_Active.svg | 25 +
public/images/menu_icons/Events_Inactive.svg | 30 +
public/images/menu_icons/Events_i.svg | 30 +
public/images/menu_icons/Events_ia.svg | 25 +
public/images/menu_icons/Heatmap_Active.svg | 19 +
public/images/menu_icons/Heatmap_Inactive.svg | 44 +
public/images/menu_icons/Heatmap_i.svg | 44 +
public/images/menu_icons/Heatmap_ia.svg | 19 +
public/images/menu_icons/Home_Active.svg | 19 +
public/images/menu_icons/Home_Inactive.svg | 16 +
public/images/menu_icons/Home_i.svg | 16 +
public/images/menu_icons/Home_ia.svg | 19 +
public/images/menu_icons/Medintel_Active.svg | 20 +
.../images/menu_icons/Medintel_Inactive.svg | 18 +
public/images/menu_icons/Medintel_i.svg | 18 +
public/images/menu_icons/Medintel_ia.svg | 20 +
public/images/menu_icons/More_Active.svg | 26 +
public/images/menu_icons/More_Inactive.svg | 18 +
public/images/menu_icons/More_i.svg | 18 +
public/images/menu_icons/More_ia.svg | 26 +
public/images/menu_icons/Mylist_Active.svg | 46 +
public/images/menu_icons/Mylist_Inactive.svg | 26 +
public/images/menu_icons/Mylist_i.svg | 26 +
public/images/menu_icons/Mylist_ia.svg | 46 +
.../images/menu_icons/Network_Maps_Active.svg | 19 +
.../menu_icons/Network_Maps_Inactive.svg | 26 +
public/images/menu_icons/Network_Maps_i.svg | 26 +
public/images/menu_icons/Network_Maps_ia.svg | 19 +
.../images/menu_icons/Notification_Active.svg | 14 +
.../menu_icons/Notification_Inactive.svg | 18 +
public/images/menu_icons/Notification_i.svg | 18 +
public/images/menu_icons/Notification_ia.svg | 14 +
.../menu_icons/Org request_Inactive.svg | 42 +
public/images/menu_icons/Org request_i.svg | 42 +
.../images/menu_icons/Org_request_Active.svg | 55 +
public/images/menu_icons/Org_request_ia.svg | 55 +
.../images/menu_icons/Organization_Active.svg | 50 +
.../menu_icons/Organization_Inactive.svg | 37 +
public/images/menu_icons/Organization_i.svg | 50 +
public/images/menu_icons/Organization_ia.svg | 37 +
public/images/menu_icons/Payments_Active.svg | 38 +
.../images/menu_icons/Payments_Inactive.svg | 20 +
public/images/menu_icons/Payments_i.svg | 35 +
public/images/menu_icons/Payments_ia.svg | 38 +
.../menu_icons/Profilerequest_Active.svg | 14 +
.../menu_icons/Profilerequest_Inactive.svg | 49 +
public/images/menu_icons/Profilerequest_i.svg | 20 +
.../images/menu_icons/Profilerequest_ia.svg | 14 +
public/images/menu_icons/Recent_Active.svg | 11 +
public/images/menu_icons/Recent_Inactive.svg | 15 +
public/images/menu_icons/Recent_i.svg | 15 +
public/images/menu_icons/Recent_ia.svg | 11 +
.../images/menu_icons/SocialMedia_Active.svg | 24 +
.../menu_icons/SocialMedia_Inactive.svg | 49 +
public/images/menu_icons/SocialMedia_i.svg | 49 +
public/images/menu_icons/SocialMedia_ia.svg | 24 +
public/images/menu_icons/Survays_Active.svg | 31 +
public/images/menu_icons/Survays_Inactive.svg | 37 +
public/images/menu_icons/Survays_i.svg | 37 +
public/images/menu_icons/Survays_ia.svg | 31 +
public/images/menu_icons/Track_Active.svg | 25 +
public/images/menu_icons/Track_Inactive.svg | 29 +
public/images/menu_icons/Track_i.svg | 29 +
public/images/menu_icons/Track_ia.svg | 25 +
public/images/menu_icons/mailbox_Acitve.svg | 27 +
public/images/menu_icons/mailbox_Inactive.svg | 15 +
public/images/menu_icons/mailbox_i.svg | 15 +
public/images/menu_icons/mailbox_ia.svg | 27 +
public/images/micro_profile_view/address.svg | 27 +
public/images/micro_profile_view/email.svg | 14 +
public/images/micro_profile_view/fax.svg | 30 +
.../images/micro_profile_view/orgnization.svg | 20 +
public/images/micro_profile_view/phone.svg | 23 +
.../images/micro_profile_view/specialty.svg | 6 +
public/images/microview_active.svg | 18 +
public/images/mstile-144x144.png | Bin 0 -> 4379 bytes
.../new_menu_icons/Analytics_Active.svg | 24 +
.../new_menu_icons/Analytics_Inactive.svg | 32 +
.../images/new_menu_icons/Contacts_Active.svg | 32 +
.../new_menu_icons/Contacts_Inactive.svg | 35 +
.../images/new_menu_icons/Disvover_Active.svg | 33 +
.../new_menu_icons/Disvover_Inactive.svg | 45 +
public/images/new_menu_icons/Home_Active.svg | 17 +
.../images/new_menu_icons/Home_Inactive.svg | 19 +
public/images/new_menu_icons/More_Active.svg | 18 +
.../images/new_menu_icons/More_Inactive.svg | 26 +
.../new_menu_icons/Network_Maps_Active.svg | 19 +
.../new_menu_icons/Network_Maps_Inactive.svg | 29 +
.../new_menu_icons/Notification_Active.svg | 20 +
.../new_menu_icons/Notification_Inactive.svg | 22 +
public/images/new_menu_icons/Track_Active.svg | 30 +
.../images/new_menu_icons/Track_Inactive.svg | 34 +
public/images/plus_blue.svg | 11 +
public/images/primary_indication.svg | 18 +
public/images/refine_by_icons/City.svg | 27 +
public/images/refine_by_icons/Event.svg | 17 +
public/images/refine_by_icons/Orgnization.svg | 20 +
public/images/refine_by_icons/Refine By.svg | 7 +
public/images/refine_by_icons/State.svg | 18 +
public/images/refine_by_icons/country.svg | 50 +
public/images/refine_by_icons/edit.svg | 15 +
.../images/refine_by_icons/expand-arrow.svg | 7 +
.../images/refine_by_icons/expand-button.svg | 7 +
public/images/refine_by_icons/industry.svg | 29 +
.../refine_by_icons/optin_optout_inactive.svg | 43 +
.../refine_by_icons/organization_icon.svg | 749 +++++++
public/images/refine_by_icons/region.svg | 11 +
public/images/refine_by_icons/reset.svg | 21 +
public/images/refine_by_icons/specialty.svg | 6 +
public/images/refine_by_icons/title.svg | 11 +
.../images/refine_by_icons/view_similar.svg | 22 +
public/images/report_refine_by/Assigned.svg | 25 +
public/images/report_refine_by/Education.svg | 17 +
public/images/report_refine_by/Event.svg | 30 +
public/images/report_refine_by/Industry.svg | 12 +
public/images/report_refine_by/List.svg | 27 +
.../images/report_refine_by/Profile_Type.svg | 17 +
public/images/report_refine_by/Refine_by.svg | 15 +
.../images/report_refine_by/Saved_Filters.svg | 20 +
public/images/report_refine_by/Search.svg | 12 +
public/images/report_refine_by/Speciality.svg | 13 +
public/images/report_refine_by/city.svg | 56 +
.../images/report_refine_by/collapse_icon.svg | 7 +
.../images/report_refine_by/expand_icon.svg | 6 +
.../images/report_refine_by/organization.svg | 29 +
.../images/report_refine_by/profile_Type.svg | 11 +
.../images/report_refine_by/saved_Filters.svg | 11 +
public/images/report_refine_by/search.svg | 11 +
public/images/report_refine_by/state.svg | 223 ++
public/images/retweet.svg | 4 +
public/images/right_blue.svg | 12 +
public/images/search_plus_white.svg | 11 +
public/images/settings/Live Support.svg | 17 +
public/images/settings/Logout.svg | 17 +
public/images/settings/Logout_old.svg | 14 +
public/images/settings/Profile_Settings.svg | 15 +
.../images/settings/Profile_Settings_old.svg | 19 +
public/images/settings/Settings.svg | 25 +
public/images/settings/Settings_1.svg | 19 +
public/images/settings/doc.svg | 30 +
public/images/settings/support.svg | 17 +
public/images/settings/ticket.svg | 25 +
public/images/settings/user_image.svg | 15 +
public/images/share.svg | 20 +
public/images/social/Twitter.svg | 1 +
public/images/social/close_icon.svg | 1 +
public/images/social/companies.svg | 21 +
public/images/social/contact.svg | 22 +
public/images/social/drug&compound.svg | 1 +
public/images/social/fav.svg | 11 +
public/images/social/male_kol_profile.svg | 18 +
public/images/social/organization.svg | 20 +
public/images/social/product.png | Bin 0 -> 1633 bytes
public/images/social/product.svg | 21 +
public/images/social/social_media_profile.svg | 1 +
public/images/social/stethescope.svg | 19 +
public/images/social/technology.svg | 23 +
public/images/social/twitter.svg | 2 +
public/images/social/youtube.svg | 42 +
public/images/twitter_blue.svg | 49 +
public/images/user_pin.svg | 30 +
public/images/virtual_meeeting_icon.svg | 31 +
public/images/virtual_meeeting_icon_light.svg | 31 +
.../images/virtual_meeting_with_recording.svg | 31 +
public/images/warning-icon.png | Bin 0 -> 3387 bytes
public/images/wm857mVReOkouwtl.jpg | Bin 0 -> 71855 bytes
public/microview_active.svg | 18 +
public/next.svg | 1 +
public/thirteen.svg | 1 +
public/vercel.svg | 1 +
public/view_similar.svg | 22 +
styles/Home.module.css | 0
styles/globals.css | 94 +
styles/styles.css | 1214 +++++++++++
410 files changed, 16198 insertions(+), 1 deletion(-)
create mode 100644 .env
create mode 100644 .gitignore
create mode 100644 Editor/Ckeditor.jsx
create mode 100644 jsconfig.json
create mode 100644 lib/Prisma.js
create mode 100644 next.config.js
create mode 100644 package-lock.json
create mode 100644 package.json
create mode 100644 pages/AutocompleteSearch.js
create mode 100644 pages/Components/AutoCompleteSearch.js
create mode 100644 pages/Components/IndexedDB/Indexed.jsx
create mode 100644 pages/Components/IndexedDB/data.js
create mode 100644 pages/Components/Prisma/CreateUser.js
create mode 100644 pages/Components/Prisma/Users.js
create mode 100644 pages/Components/TabulatorData.js
create mode 100644 pages/Components/echarts/Barchart.js
create mode 100644 pages/Components/echarts/Bubblechart.js
create mode 100644 pages/Components/echarts/Pichart.js
create mode 100644 pages/Components/groupByHCP.js
create mode 100644 pages/Editor.jsx
create mode 100644 pages/_app.js
create mode 100644 pages/_document.js
create mode 100644 pages/api/DeleteUser.js
create mode 100644 pages/api/axios/instance.js
create mode 100644 pages/api/createuser.js
create mode 100644 pages/api/hello.js
create mode 100644 pages/api/users.js
create mode 100644 pages/index.js
create mode 100644 pages/jqueryloader.js
create mode 100644 prisma/schema.prisma
create mode 100644 public/favicon.ico
create mode 100644 public/images/Konectchat.png
create mode 100644 public/images/Pluse.svg
create mode 100644 public/images/Tick.svg
create mode 100755 public/images/add_active.svg
create mode 100755 public/images/ajax-loader-round.gif
create mode 100644 public/images/all_icons.png
create mode 100644 public/images/all_icons.svg
create mode 100644 public/images/avatar.svg
create mode 100644 public/images/calender.svg
create mode 100644 public/images/comment.svg
create mode 100644 public/images/contacts/Address.svg
create mode 100644 public/images/contacts/Assign_profile.svg
create mode 100644 public/images/contacts/Email.svg
create mode 100644 public/images/contacts/Excel.svg
create mode 100644 public/images/contacts/List.svg
create mode 100644 public/images/contacts/New.svg
create mode 100644 public/images/contacts/PDF.svg
create mode 100644 public/images/contacts/add_hcp.svg
create mode 100644 public/images/contacts/assign_profile.svg
create mode 100644 public/images/contacts/change_view.svg
create mode 100644 public/images/contacts/change_view_list.svg
create mode 100644 public/images/contacts/create_list.svg
create mode 100644 public/images/contacts/email.svg
create mode 100644 public/images/contacts/email_profile.svg
create mode 100644 public/images/contacts/export_excel.svg
create mode 100644 public/images/contacts/export_pdf.svg
create mode 100644 public/images/contacts/fax.svg
create mode 100644 public/images/contacts/female_profile.svg
create mode 100644 public/images/contacts/license_number.svg
create mode 100644 public/images/contacts/male_profile.svg
create mode 100644 public/images/contacts/npi.svg
create mode 100644 public/images/contacts/organization_icon.svg
create mode 100644 public/images/contacts/phone.svg
create mode 100755 public/images/cross_gray.svg
create mode 100755 public/images/cross_gray1.svg
create mode 100644 public/images/default_user.svg
create mode 100644 public/images/deny_red.svg
create mode 100755 public/images/discover/Chart.svg
create mode 100755 public/images/discover/Chart_old.svg
create mode 100755 public/images/discover/Pre-sets-ll.svg
create mode 100755 public/images/discover/Pre-sets.svg
create mode 100755 public/images/discover/Priority-l.svg
create mode 100755 public/images/discover/Priority-ll.svg
create mode 100755 public/images/discover/Top Speakers-lll.svg
create mode 100755 public/images/discover/Top_Practitioners-l.svg
create mode 100755 public/images/discover/Top_Practitioners-l_old.svg
create mode 100755 public/images/discover/Top_Practitioners-ll.svg
create mode 100755 public/images/discover/Top_Researchers-l.svg
create mode 100755 public/images/discover/Top_Researchers-ll.svg
create mode 100755 public/images/discover/Top_Speakers-l.svg
create mode 100755 public/images/discover/Top_Speakers-l_old.svg
create mode 100755 public/images/discover/Top_Speakers-ll.svg
create mode 100755 public/images/discover/Trends.svg
create mode 100755 public/images/discover/Trends_old.svg
create mode 100755 public/images/discover/chart_click.svg
create mode 100755 public/images/discover/chart_click_click.svg
create mode 100755 public/images/discover/chart_i.svg
create mode 100755 public/images/discover/chart_ii.svg
create mode 100755 public/images/discover/down_arrow.svg
create mode 100755 public/images/discover/no_change_blue.svg
create mode 100755 public/images/discover/rank.svg
create mode 100755 public/images/discover/rank_click.svg
create mode 100755 public/images/discover/rank_click_old.svg
create mode 100755 public/images/discover/rank_old.svg
create mode 100755 public/images/discover/ranking_report_i.svg
create mode 100755 public/images/discover/ranking_report_ii.svg
create mode 100755 public/images/discover/ref.svg
create mode 100755 public/images/discover/ref_click.svg
create mode 100755 public/images/discover/ref_click_old.svg
create mode 100755 public/images/discover/ref_old.svg
create mode 100755 public/images/discover/referral_report_i.svg
create mode 100755 public/images/discover/referral_report_ii.svg
create mode 100755 public/images/discover/reset.svg
create mode 100755 public/images/discover/save_active.svg
create mode 100644 public/images/discover/tier_report.svg
create mode 100755 public/images/discover/trends_click.svg
create mode 100755 public/images/discover/trends_click_old.svg
create mode 100755 public/images/discover/trends_i.svg
create mode 100755 public/images/discover/trends_ii.svg
create mode 100755 public/images/discover/up_arrow.svg
create mode 100644 public/images/document_management/Excel.svg
create mode 100644 public/images/document_management/add_folder.svg
create mode 100644 public/images/document_management/clock.svg
create mode 100644 public/images/document_management/closed_folder-old.svg
create mode 100644 public/images/document_management/closed_folder.svg
create mode 100644 public/images/document_management/document-old.svg
create mode 100644 public/images/document_management/document.svg
create mode 100644 public/images/document_management/excel.svg
create mode 100644 public/images/document_management/image.svg
create mode 100644 public/images/document_management/img.svg
create mode 100644 public/images/document_management/open_folder-old.svg
create mode 100644 public/images/document_management/open_folder.svg
create mode 100644 public/images/document_management/pdf.svg
create mode 100644 public/images/document_management/ppt-old.svg
create mode 100644 public/images/document_management/ppt.svg
create mode 100755 public/images/document_management/trash.svg
create mode 100755 public/images/document_management/trash_blue.svg
create mode 100755 public/images/document_management/trash_red.svg
create mode 100644 public/images/document_management/upload_document-old.svg
create mode 100644 public/images/document_management/upload_document.svg
create mode 100644 public/images/document_management/word.svg
create mode 100644 public/images/double-arrowmarks-up_down.png
create mode 100644 public/images/event_bio_location.svg
create mode 100644 public/images/export_excel.svg
create mode 100644 public/images/favicon.ico
create mode 100644 public/images/favicons/android-chrome-144x144.png
create mode 100644 public/images/favicons/android-chrome-192x192.png
create mode 100644 public/images/favicons/android-chrome-36x36.png
create mode 100644 public/images/favicons/android-chrome-48x48.png
create mode 100644 public/images/favicons/android-chrome-72x72.png
create mode 100644 public/images/favicons/android-chrome-96x96.png
create mode 100644 public/images/favicons/apple-touch-icon-114x114.png
create mode 100644 public/images/favicons/apple-touch-icon-120x120.png
create mode 100644 public/images/favicons/apple-touch-icon-144x144.png
create mode 100644 public/images/favicons/apple-touch-icon-152x152.png
create mode 100644 public/images/favicons/apple-touch-icon-180x180.png
create mode 100644 public/images/favicons/apple-touch-icon-57x57.png
create mode 100644 public/images/favicons/apple-touch-icon-60x60.png
create mode 100644 public/images/favicons/apple-touch-icon-72x72.png
create mode 100644 public/images/favicons/apple-touch-icon-76x76.png
create mode 100644 public/images/favicons/apple-touch-icon-precomposed.png
create mode 100644 public/images/favicons/apple-touch-icon.png
create mode 100644 public/images/favicons/browserconfig.xml
create mode 100644 public/images/favicons/favicon-16x16.png
create mode 100644 public/images/favicons/favicon-194x194.png
create mode 100644 public/images/favicons/favicon-32x32.png
create mode 100644 public/images/favicons/favicon-96x96.png
create mode 100644 public/images/favicons/favicon.ico
create mode 100644 public/images/favicons/index.html
create mode 100644 public/images/favicons/manifest.json
create mode 100644 public/images/favicons/mstile-144x144.png
create mode 100644 public/images/favicons/mstile-150x150.png
create mode 100644 public/images/favicons/mstile-310x150.png
create mode 100644 public/images/favicons/mstile-310x310.png
create mode 100644 public/images/favicons/mstile-70x70.png
create mode 100644 public/images/female_profile.svg
create mode 100644 public/images/five_stars.png
create mode 100644 public/images/grid_inactive.svg
create mode 100644 public/images/icon_excel.png
create mode 100755 public/images/industry.svg
create mode 100644 public/images/kolm-sprite-image.png
create mode 100644 public/images/like.svg
create mode 100644 public/images/list_view_active.svg
create mode 100644 public/images/logo-mini.png
create mode 100644 public/images/logo-mini.svg
create mode 100644 public/images/logo.png
create mode 100644 public/images/logo.svg
create mode 100755 public/images/mailbox_icons/accounts.svg
create mode 100755 public/images/mailbox_icons/attach.svg
create mode 100755 public/images/mailbox_icons/draft.svg
create mode 100755 public/images/mailbox_icons/forward.svg
create mode 100755 public/images/mailbox_icons/inbox.svg
create mode 100755 public/images/mailbox_icons/inbox1.svg
create mode 100755 public/images/mailbox_icons/outbox.svg
create mode 100755 public/images/mailbox_icons/plus_dark.svg
create mode 100755 public/images/mailbox_icons/plus_white.svg
create mode 100644 public/images/mailbox_icons/reply.svg
create mode 100644 public/images/mailbox_icons/reply_all.svg
create mode 100755 public/images/mailbox_icons/sent.svg
create mode 100755 public/images/mailbox_icons/sort.svg
create mode 100755 public/images/mailbox_icons/templates.svg
create mode 100755 public/images/mailbox_icons/three_dots.png
create mode 100755 public/images/mailbox_icons/three_dots.svg
create mode 100755 public/images/mailbox_icons/trash.svg
create mode 100755 public/images/mailbox_icons/trash_red.svg
create mode 100755 public/images/mailbox_icons/unsubscribed_users.svg
create mode 100644 public/images/male_kol_profile.svg
create mode 100644 public/images/male_kol_profile_maroon.svg
create mode 100644 public/images/male_profile.svg
create mode 100755 public/images/medintel/media_category_icons/Reset.svg
create mode 100755 public/images/medintel/media_category_icons/back.png
create mode 100755 public/images/medintel/media_category_icons/back_active.png
create mode 100644 public/images/medintel/media_category_icons/companies.svg
create mode 100644 public/images/medintel/media_category_icons/contact.svg
create mode 100755 public/images/medintel/media_category_icons/delete_active.svg
create mode 100644 public/images/medintel/media_category_icons/do_not_show.svg
create mode 100644 public/images/medintel/media_category_icons/fav.svg
create mode 100644 public/images/medintel/media_category_icons/organization.svg
create mode 100644 public/images/medintel/media_category_icons/product.svg
create mode 100755 public/images/medintel/media_category_icons/reset_active.svg
create mode 100755 public/images/medintel/media_category_icons/settings-active.svg
create mode 100755 public/images/medintel/media_category_icons/settings.svg
create mode 100644 public/images/medintel/media_category_icons/source.svg
create mode 100644 public/images/medintel/media_category_icons/stethescope.svg
create mode 100644 public/images/medintel/media_category_icons/technology.svg
create mode 100755 public/images/medintel/media_category_icons/unbookmark_active.png
create mode 100644 public/images/medintel/media_category_icons/unfav.svg
create mode 100644 public/images/medintel/media_list_view.jpg
create mode 100644 public/images/menu_icons/Analytics_Active.svg
create mode 100644 public/images/menu_icons/Analytics_Inactive.svg
create mode 100644 public/images/menu_icons/Analytics_i.svg
create mode 100644 public/images/menu_icons/Analytics_ia.svg
create mode 100644 public/images/menu_icons/Contacts_Active.svg
create mode 100644 public/images/menu_icons/Contacts_Inactive.svg
create mode 100644 public/images/menu_icons/Contacts_i.svg
create mode 100644 public/images/menu_icons/Contacts_ia.svg
create mode 100644 public/images/menu_icons/Disvover_Active.svg
create mode 100644 public/images/menu_icons/Disvover_Inactive.svg
create mode 100644 public/images/menu_icons/Disvover_i.svg
create mode 100644 public/images/menu_icons/Disvover_ia.svg
create mode 100644 public/images/menu_icons/Documentmanagement_Active.svg
create mode 100644 public/images/menu_icons/Documentmanagement_Inactive.svg
create mode 100644 public/images/menu_icons/Documentmanagement_i.svg
create mode 100644 public/images/menu_icons/Documentmanagement_ia.svg
create mode 100644 public/images/menu_icons/Events_Active.svg
create mode 100644 public/images/menu_icons/Events_Inactive.svg
create mode 100644 public/images/menu_icons/Events_i.svg
create mode 100644 public/images/menu_icons/Events_ia.svg
create mode 100644 public/images/menu_icons/Heatmap_Active.svg
create mode 100644 public/images/menu_icons/Heatmap_Inactive.svg
create mode 100644 public/images/menu_icons/Heatmap_i.svg
create mode 100644 public/images/menu_icons/Heatmap_ia.svg
create mode 100644 public/images/menu_icons/Home_Active.svg
create mode 100644 public/images/menu_icons/Home_Inactive.svg
create mode 100644 public/images/menu_icons/Home_i.svg
create mode 100644 public/images/menu_icons/Home_ia.svg
create mode 100644 public/images/menu_icons/Medintel_Active.svg
create mode 100644 public/images/menu_icons/Medintel_Inactive.svg
create mode 100644 public/images/menu_icons/Medintel_i.svg
create mode 100644 public/images/menu_icons/Medintel_ia.svg
create mode 100644 public/images/menu_icons/More_Active.svg
create mode 100644 public/images/menu_icons/More_Inactive.svg
create mode 100644 public/images/menu_icons/More_i.svg
create mode 100644 public/images/menu_icons/More_ia.svg
create mode 100644 public/images/menu_icons/Mylist_Active.svg
create mode 100644 public/images/menu_icons/Mylist_Inactive.svg
create mode 100644 public/images/menu_icons/Mylist_i.svg
create mode 100644 public/images/menu_icons/Mylist_ia.svg
create mode 100644 public/images/menu_icons/Network_Maps_Active.svg
create mode 100644 public/images/menu_icons/Network_Maps_Inactive.svg
create mode 100644 public/images/menu_icons/Network_Maps_i.svg
create mode 100644 public/images/menu_icons/Network_Maps_ia.svg
create mode 100644 public/images/menu_icons/Notification_Active.svg
create mode 100644 public/images/menu_icons/Notification_Inactive.svg
create mode 100644 public/images/menu_icons/Notification_i.svg
create mode 100644 public/images/menu_icons/Notification_ia.svg
create mode 100644 public/images/menu_icons/Org request_Inactive.svg
create mode 100644 public/images/menu_icons/Org request_i.svg
create mode 100644 public/images/menu_icons/Org_request_Active.svg
create mode 100644 public/images/menu_icons/Org_request_ia.svg
create mode 100644 public/images/menu_icons/Organization_Active.svg
create mode 100644 public/images/menu_icons/Organization_Inactive.svg
create mode 100644 public/images/menu_icons/Organization_i.svg
create mode 100644 public/images/menu_icons/Organization_ia.svg
create mode 100644 public/images/menu_icons/Payments_Active.svg
create mode 100644 public/images/menu_icons/Payments_Inactive.svg
create mode 100644 public/images/menu_icons/Payments_i.svg
create mode 100644 public/images/menu_icons/Payments_ia.svg
create mode 100644 public/images/menu_icons/Profilerequest_Active.svg
create mode 100644 public/images/menu_icons/Profilerequest_Inactive.svg
create mode 100644 public/images/menu_icons/Profilerequest_i.svg
create mode 100644 public/images/menu_icons/Profilerequest_ia.svg
create mode 100644 public/images/menu_icons/Recent_Active.svg
create mode 100644 public/images/menu_icons/Recent_Inactive.svg
create mode 100644 public/images/menu_icons/Recent_i.svg
create mode 100644 public/images/menu_icons/Recent_ia.svg
create mode 100644 public/images/menu_icons/SocialMedia_Active.svg
create mode 100644 public/images/menu_icons/SocialMedia_Inactive.svg
create mode 100644 public/images/menu_icons/SocialMedia_i.svg
create mode 100644 public/images/menu_icons/SocialMedia_ia.svg
create mode 100644 public/images/menu_icons/Survays_Active.svg
create mode 100644 public/images/menu_icons/Survays_Inactive.svg
create mode 100644 public/images/menu_icons/Survays_i.svg
create mode 100644 public/images/menu_icons/Survays_ia.svg
create mode 100644 public/images/menu_icons/Track_Active.svg
create mode 100644 public/images/menu_icons/Track_Inactive.svg
create mode 100644 public/images/menu_icons/Track_i.svg
create mode 100644 public/images/menu_icons/Track_ia.svg
create mode 100644 public/images/menu_icons/mailbox_Acitve.svg
create mode 100644 public/images/menu_icons/mailbox_Inactive.svg
create mode 100644 public/images/menu_icons/mailbox_i.svg
create mode 100644 public/images/menu_icons/mailbox_ia.svg
create mode 100644 public/images/micro_profile_view/address.svg
create mode 100644 public/images/micro_profile_view/email.svg
create mode 100644 public/images/micro_profile_view/fax.svg
create mode 100644 public/images/micro_profile_view/orgnization.svg
create mode 100644 public/images/micro_profile_view/phone.svg
create mode 100644 public/images/micro_profile_view/specialty.svg
create mode 100644 public/images/microview_active.svg
create mode 100644 public/images/mstile-144x144.png
create mode 100644 public/images/new_menu_icons/Analytics_Active.svg
create mode 100644 public/images/new_menu_icons/Analytics_Inactive.svg
create mode 100644 public/images/new_menu_icons/Contacts_Active.svg
create mode 100644 public/images/new_menu_icons/Contacts_Inactive.svg
create mode 100644 public/images/new_menu_icons/Disvover_Active.svg
create mode 100644 public/images/new_menu_icons/Disvover_Inactive.svg
create mode 100644 public/images/new_menu_icons/Home_Active.svg
create mode 100644 public/images/new_menu_icons/Home_Inactive.svg
create mode 100644 public/images/new_menu_icons/More_Active.svg
create mode 100644 public/images/new_menu_icons/More_Inactive.svg
create mode 100644 public/images/new_menu_icons/Network_Maps_Active.svg
create mode 100644 public/images/new_menu_icons/Network_Maps_Inactive.svg
create mode 100644 public/images/new_menu_icons/Notification_Active.svg
create mode 100644 public/images/new_menu_icons/Notification_Inactive.svg
create mode 100644 public/images/new_menu_icons/Track_Active.svg
create mode 100644 public/images/new_menu_icons/Track_Inactive.svg
create mode 100644 public/images/plus_blue.svg
create mode 100644 public/images/primary_indication.svg
create mode 100644 public/images/refine_by_icons/City.svg
create mode 100644 public/images/refine_by_icons/Event.svg
create mode 100644 public/images/refine_by_icons/Orgnization.svg
create mode 100644 public/images/refine_by_icons/Refine By.svg
create mode 100644 public/images/refine_by_icons/State.svg
create mode 100755 public/images/refine_by_icons/country.svg
create mode 100644 public/images/refine_by_icons/edit.svg
create mode 100644 public/images/refine_by_icons/expand-arrow.svg
create mode 100644 public/images/refine_by_icons/expand-button.svg
create mode 100644 public/images/refine_by_icons/industry.svg
create mode 100755 public/images/refine_by_icons/optin_optout_inactive.svg
create mode 100644 public/images/refine_by_icons/organization_icon.svg
create mode 100755 public/images/refine_by_icons/region.svg
create mode 100644 public/images/refine_by_icons/reset.svg
create mode 100644 public/images/refine_by_icons/specialty.svg
create mode 100755 public/images/refine_by_icons/title.svg
create mode 100644 public/images/refine_by_icons/view_similar.svg
create mode 100644 public/images/report_refine_by/Assigned.svg
create mode 100644 public/images/report_refine_by/Education.svg
create mode 100644 public/images/report_refine_by/Event.svg
create mode 100644 public/images/report_refine_by/Industry.svg
create mode 100644 public/images/report_refine_by/List.svg
create mode 100644 public/images/report_refine_by/Profile_Type.svg
create mode 100644 public/images/report_refine_by/Refine_by.svg
create mode 100644 public/images/report_refine_by/Saved_Filters.svg
create mode 100644 public/images/report_refine_by/Search.svg
create mode 100644 public/images/report_refine_by/Speciality.svg
create mode 100644 public/images/report_refine_by/city.svg
create mode 100644 public/images/report_refine_by/collapse_icon.svg
create mode 100644 public/images/report_refine_by/expand_icon.svg
create mode 100644 public/images/report_refine_by/organization.svg
create mode 100644 public/images/report_refine_by/profile_Type.svg
create mode 100644 public/images/report_refine_by/saved_Filters.svg
create mode 100644 public/images/report_refine_by/search.svg
create mode 100644 public/images/report_refine_by/state.svg
create mode 100644 public/images/retweet.svg
create mode 100644 public/images/right_blue.svg
create mode 100644 public/images/search_plus_white.svg
create mode 100644 public/images/settings/Live Support.svg
create mode 100644 public/images/settings/Logout.svg
create mode 100644 public/images/settings/Logout_old.svg
create mode 100644 public/images/settings/Profile_Settings.svg
create mode 100644 public/images/settings/Profile_Settings_old.svg
create mode 100644 public/images/settings/Settings.svg
create mode 100644 public/images/settings/Settings_1.svg
create mode 100644 public/images/settings/doc.svg
create mode 100644 public/images/settings/support.svg
create mode 100644 public/images/settings/ticket.svg
create mode 100644 public/images/settings/user_image.svg
create mode 100644 public/images/share.svg
create mode 100644 public/images/social/Twitter.svg
create mode 100644 public/images/social/close_icon.svg
create mode 100644 public/images/social/companies.svg
create mode 100644 public/images/social/contact.svg
create mode 100644 public/images/social/drug&compound.svg
create mode 100644 public/images/social/fav.svg
create mode 100644 public/images/social/male_kol_profile.svg
create mode 100644 public/images/social/organization.svg
create mode 100644 public/images/social/product.png
create mode 100644 public/images/social/product.svg
create mode 100644 public/images/social/social_media_profile.svg
create mode 100644 public/images/social/stethescope.svg
create mode 100644 public/images/social/technology.svg
create mode 100644 public/images/social/twitter.svg
create mode 100644 public/images/social/youtube.svg
create mode 100644 public/images/twitter_blue.svg
create mode 100644 public/images/user_pin.svg
create mode 100644 public/images/virtual_meeeting_icon.svg
create mode 100644 public/images/virtual_meeeting_icon_light.svg
create mode 100644 public/images/virtual_meeting_with_recording.svg
create mode 100644 public/images/warning-icon.png
create mode 100644 public/images/wm857mVReOkouwtl.jpg
create mode 100755 public/microview_active.svg
create mode 100644 public/next.svg
create mode 100644 public/thirteen.svg
create mode 100644 public/vercel.svg
create mode 100755 public/view_similar.svg
create mode 100644 styles/Home.module.css
create mode 100644 styles/globals.css
create mode 100644 styles/styles.css
diff --git a/.env b/.env
new file mode 100644
index 0000000..2569f66
--- /dev/null
+++ b/.env
@@ -0,0 +1 @@
+DATABASE_URL="mysql://root:Password@231@localhost:3306/UsersDetails"
\ No newline at end of file
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..6c9f3ed
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,33 @@
+# See https://help.github.com/articles/ignoring-files/ for more about ignoring files.
+
+# dependencies
+/node_modules
+/.pnp
+.pnp.js
+
+# testing
+/coverage
+
+# next.js
+/.next/
+/out/
+
+
+# production
+/build
+
+# misc
+.DS_Store
+*.pem
+
+# debug
+npm-debug.log*
+yarn-debug.log*
+yarn-error.log*
+.pnpm-debug.log*
+
+# local env files
+.env*.local
+
+# vercel
+.vercel
diff --git a/Editor/Ckeditor.jsx b/Editor/Ckeditor.jsx
new file mode 100644
index 0000000..051ef74
--- /dev/null
+++ b/Editor/Ckeditor.jsx
@@ -0,0 +1,42 @@
+import React, { useEffect, useRef } from "react";
+
+function Editor({ onChange, editorLoaded, name, value }) {
+ const editorRef = useRef();
+ const { CKEditor, ClassicEditor } = editorRef.current || {};
+
+ useEffect(() => {
+ editorRef.current = {
+ CKEditor: require("@ckeditor/ckeditor5-react").CKEditor, // v3+
+ ClassicEditor: require("@ckeditor/ckeditor5-build-classic")
+ };
+ }, []);
+
+ return (
+
+ {editorLoaded ? (
+
{
+ const data = editor.getData();
+ // console.log({ event, editor, data })
+ onChange(data);
+ }}
+ />
+ ) : (
+ Editor loading
+ )}
+
+ );
+}
+
+export default Editor;
\ No newline at end of file
diff --git a/README.md b/README.md
index 8e4d102..ca8a3a2 100644
--- a/README.md
+++ b/README.md
@@ -1,2 +1,38 @@
-# NextJS_DOC
+This is a [Next.js](https://nextjs.org/) project bootstrapped with [`create-next-app`](https://github.com/vercel/next.js/tree/canary/packages/create-next-app).
+## Getting Started
+
+First, run the development server:
+
+```bash
+npm run dev
+# or
+yarn dev
+# or
+pnpm dev
+```
+
+Open [http://localhost:3000](http://localhost:3000) with your browser to see the result.
+
+You can start editing the page by modifying `pages/index.js`. The page auto-updates as you edit the file.
+
+[API routes](https://nextjs.org/docs/api-routes/introduction) can be accessed on [http://localhost:3000/api/hello](http://localhost:3000/api/hello). This endpoint can be edited in `pages/api/hello.js`.
+
+The `pages/api` directory is mapped to `/api/*`. Files in this directory are treated as [API routes](https://nextjs.org/docs/api-routes/introduction) instead of React pages.
+
+This project uses [`next/font`](https://nextjs.org/docs/basic-features/font-optimization) to automatically optimize and load Inter, a custom Google Font.
+
+## Learn More
+
+To learn more about Next.js, take a look at the following resources:
+
+- [Next.js Documentation](https://nextjs.org/docs) - learn about Next.js features and API.
+- [Learn Next.js](https://nextjs.org/learn) - an interactive Next.js tutorial.
+
+You can check out [the Next.js GitHub repository](https://github.com/vercel/next.js/) - your feedback and contributions are welcome!
+
+## Deploy on Vercel
+
+The easiest way to deploy your Next.js app is to use the [Vercel Platform](https://vercel.com/new?utm_medium=default-template&filter=next.js&utm_source=create-next-app&utm_campaign=create-next-app-readme) from the creators of Next.js.
+
+Check out our [Next.js deployment documentation](https://nextjs.org/docs/deployment) for more details.
diff --git a/jsconfig.json b/jsconfig.json
new file mode 100644
index 0000000..9c33383
--- /dev/null
+++ b/jsconfig.json
@@ -0,0 +1,8 @@
+{
+ "compilerOptions": {
+ "baseUrl": ".",
+ "paths": {
+ "@/*": ["./*"]
+ }
+ }
+}
diff --git a/lib/Prisma.js b/lib/Prisma.js
new file mode 100644
index 0000000..8863e03
--- /dev/null
+++ b/lib/Prisma.js
@@ -0,0 +1,14 @@
+import { PrismaClient } from '@prisma/client';
+
+let prisma;
+
+if (process.env.NODE_ENV === 'production') {
+ prisma = new PrismaClient();
+} else {
+ if (!global.prisma) {
+ global.prisma = new PrismaClient();
+ }
+ prisma = global.prisma;
+}
+
+export default prisma;
\ No newline at end of file
diff --git a/next.config.js b/next.config.js
new file mode 100644
index 0000000..a843cbe
--- /dev/null
+++ b/next.config.js
@@ -0,0 +1,6 @@
+/** @type {import('next').NextConfig} */
+const nextConfig = {
+ reactStrictMode: true,
+}
+
+module.exports = nextConfig
diff --git a/package-lock.json b/package-lock.json
new file mode 100644
index 0000000..e03df21
--- /dev/null
+++ b/package-lock.json
@@ -0,0 +1,1580 @@
+{
+ "name": "test_doc",
+ "version": "0.1.0",
+ "lockfileVersion": 3,
+ "requires": true,
+ "packages": {
+ "": {
+ "name": "test_doc",
+ "version": "0.1.0",
+ "dependencies": {
+ "@ckeditor/ckeditor5-build-classic": "^36.0.1",
+ "@ckeditor/ckeditor5-react": "^5.1.0",
+ "@prisma/client": "^4.11.0",
+ "anychart": "^8.11.0",
+ "axios": "^1.3.4",
+ "bootstrap": "^5.2.3",
+ "bootstrap-icons": "^1.10.3",
+ "date-fns": "^2.29.3",
+ "echarts": "^5.4.1",
+ "echarts-for-react": "^3.0.2",
+ "jquery": "^3.6.3",
+ "next": "13.2.3",
+ "primeicons": "^6.0.1",
+ "react": "18.2.0",
+ "react-bootstrap": "^2.7.2",
+ "react-confirm-alert": "^3.0.6",
+ "react-dom": "18.2.0",
+ "react-hook-form": "^7.43.4",
+ "rsuite": "^5.28.1",
+ "swr": "^2.0.4",
+ "tabulator-tables": "^5.4.4"
+ },
+ "devDependencies": {
+ "prisma": "^4.11.0"
+ }
+ },
+ "node_modules/@babel/runtime": {
+ "version": "7.21.0",
+ "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.21.0.tgz",
+ "integrity": "sha512-xwII0//EObnq89Ji5AKYQaRYiW/nZ3llSv29d49IuxPhKbtJoLP+9QUUZ4nVragQVtaVGeZrpB+ZtG/Pdy/POw==",
+ "dependencies": {
+ "regenerator-runtime": "^0.13.11"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@ckeditor/ckeditor5-adapter-ckfinder": {
+ "version": "36.0.1",
+ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-adapter-ckfinder/-/ckeditor5-adapter-ckfinder-36.0.1.tgz",
+ "integrity": "sha512-kZUvaG0fpGavArn5Yl2eKkCfCelemRfPRVyPerliJUh/6xhDhwT2ds/stI4VyhE2tHRD9ohOywxAEcH2XJUthg==",
+ "dependencies": {
+ "ckeditor5": "^36.0.1"
+ },
+ "engines": {
+ "node": ">=14.0.0",
+ "npm": ">=5.7.1"
+ }
+ },
+ "node_modules/@ckeditor/ckeditor5-autoformat": {
+ "version": "36.0.1",
+ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-autoformat/-/ckeditor5-autoformat-36.0.1.tgz",
+ "integrity": "sha512-kve+Ergl40L6DzbtvyTMhbwfMZgpl0SJgsAzukQ72OyvJykQywworJ3zt/PgLCJKD+EKN80X9nR8kfBzXRG/vw==",
+ "dependencies": {
+ "ckeditor5": "^36.0.1"
+ },
+ "engines": {
+ "node": ">=14.0.0",
+ "npm": ">=5.7.1"
+ }
+ },
+ "node_modules/@ckeditor/ckeditor5-basic-styles": {
+ "version": "36.0.1",
+ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-basic-styles/-/ckeditor5-basic-styles-36.0.1.tgz",
+ "integrity": "sha512-5qbgzsgmJP7lecf78sy6QpqbsF2BLs7WxziMrJUXQytgq4S7o+Q/uqGF/itpkQMBBnLulRFJ8/x055iOBugreQ==",
+ "dependencies": {
+ "ckeditor5": "^36.0.1"
+ },
+ "engines": {
+ "node": ">=14.0.0",
+ "npm": ">=5.7.1"
+ }
+ },
+ "node_modules/@ckeditor/ckeditor5-block-quote": {
+ "version": "36.0.1",
+ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-block-quote/-/ckeditor5-block-quote-36.0.1.tgz",
+ "integrity": "sha512-kLvkHGiu5lAnPiUnRUc0M0Nlls179PmcOvX+YIIp62YBYTxG/R6oCC5clnnhodNiDQBEgwbxqoqTKNSkOX0VWw==",
+ "dependencies": {
+ "ckeditor5": "^36.0.1"
+ },
+ "engines": {
+ "node": ">=14.0.0",
+ "npm": ">=5.7.1"
+ }
+ },
+ "node_modules/@ckeditor/ckeditor5-build-classic": {
+ "version": "36.0.1",
+ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-build-classic/-/ckeditor5-build-classic-36.0.1.tgz",
+ "integrity": "sha512-noBqFM9rzf9WAn5JLqbmKbjarrrLzu0cNDX8LUaYPa/n/AYThL2ul4vy6zmHS7OS+PJLQaH+S/bTFLRflcVl3A==",
+ "dependencies": {
+ "@ckeditor/ckeditor5-adapter-ckfinder": "^36.0.1",
+ "@ckeditor/ckeditor5-autoformat": "^36.0.1",
+ "@ckeditor/ckeditor5-basic-styles": "^36.0.1",
+ "@ckeditor/ckeditor5-block-quote": "^36.0.1",
+ "@ckeditor/ckeditor5-ckbox": "^36.0.1",
+ "@ckeditor/ckeditor5-ckfinder": "^36.0.1",
+ "@ckeditor/ckeditor5-cloud-services": "^36.0.1",
+ "@ckeditor/ckeditor5-easy-image": "^36.0.1",
+ "@ckeditor/ckeditor5-editor-classic": "^36.0.1",
+ "@ckeditor/ckeditor5-essentials": "^36.0.1",
+ "@ckeditor/ckeditor5-heading": "^36.0.1",
+ "@ckeditor/ckeditor5-image": "^36.0.1",
+ "@ckeditor/ckeditor5-indent": "^36.0.1",
+ "@ckeditor/ckeditor5-link": "^36.0.1",
+ "@ckeditor/ckeditor5-list": "^36.0.1",
+ "@ckeditor/ckeditor5-media-embed": "^36.0.1",
+ "@ckeditor/ckeditor5-paragraph": "^36.0.1",
+ "@ckeditor/ckeditor5-paste-from-office": "^36.0.1",
+ "@ckeditor/ckeditor5-table": "^36.0.1",
+ "@ckeditor/ckeditor5-typing": "^36.0.1"
+ },
+ "engines": {
+ "node": ">=14.0.0",
+ "npm": ">=5.7.1"
+ }
+ },
+ "node_modules/@ckeditor/ckeditor5-ckbox": {
+ "version": "36.0.1",
+ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-ckbox/-/ckeditor5-ckbox-36.0.1.tgz",
+ "integrity": "sha512-QzrsGCj84Yd3wDIvFk/e/BJvjeQHhBDxJ/XUfkDw2rhFvJZ9V5Xx08JR+Hsamvc/wd/ES/SlJyDPRjzdfuq/gw==",
+ "dependencies": {
+ "ckeditor5": "^36.0.1"
+ },
+ "engines": {
+ "node": ">=14.0.0",
+ "npm": ">=5.7.1"
+ }
+ },
+ "node_modules/@ckeditor/ckeditor5-ckfinder": {
+ "version": "36.0.1",
+ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-ckfinder/-/ckeditor5-ckfinder-36.0.1.tgz",
+ "integrity": "sha512-2qdUHEDmBdyFMeiNSWgE/f1p3Tt9b1uuOsvAt+pXJHET9zT8TlpipbhzN3e9+Vqbiy7tv1ofK/gGGHLGoI25tg==",
+ "dependencies": {
+ "ckeditor5": "^36.0.1"
+ },
+ "engines": {
+ "node": ">=14.0.0",
+ "npm": ">=5.7.1"
+ }
+ },
+ "node_modules/@ckeditor/ckeditor5-clipboard": {
+ "version": "36.0.1",
+ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-clipboard/-/ckeditor5-clipboard-36.0.1.tgz",
+ "integrity": "sha512-CFh5oO29dUXwsUf/BPM8g5l8MV3hiG27/h6fpC1qRUTAVXDAj43j+cfYYs8MwNi3hv0c/1KyT1bLySqQ/LZctw==",
+ "dependencies": {
+ "@ckeditor/ckeditor5-core": "^36.0.1",
+ "@ckeditor/ckeditor5-engine": "^36.0.1",
+ "@ckeditor/ckeditor5-utils": "^36.0.1",
+ "@ckeditor/ckeditor5-widget": "^36.0.1",
+ "lodash-es": "^4.17.11"
+ },
+ "engines": {
+ "node": ">=14.0.0",
+ "npm": ">=5.7.1"
+ }
+ },
+ "node_modules/@ckeditor/ckeditor5-cloud-services": {
+ "version": "36.0.1",
+ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-cloud-services/-/ckeditor5-cloud-services-36.0.1.tgz",
+ "integrity": "sha512-o+Xp3mAWISx+LCHeV8wYN1v7ZA0XUtIOXPb6N+6lJcS9fDSdc/B4+0KnpHoDZQThgvs9UoNb6ty2f3H5Den/Bg==",
+ "dependencies": {
+ "ckeditor5": "^36.0.1"
+ },
+ "engines": {
+ "node": ">=14.0.0",
+ "npm": ">=5.7.1"
+ }
+ },
+ "node_modules/@ckeditor/ckeditor5-core": {
+ "version": "36.0.1",
+ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-core/-/ckeditor5-core-36.0.1.tgz",
+ "integrity": "sha512-50O+DYXtaf4dMOn+3mGUvfYiE2qsCgVn114WQj7Tj3pZl5w+pAIv/2P+9cBB2Kb7QxgPZqZ7bvsi9wHqIJ6KCw==",
+ "dependencies": {
+ "@ckeditor/ckeditor5-engine": "^36.0.1",
+ "@ckeditor/ckeditor5-utils": "^36.0.1",
+ "lodash-es": "^4.17.15"
+ },
+ "engines": {
+ "node": ">=14.0.0",
+ "npm": ">=5.7.1"
+ }
+ },
+ "node_modules/@ckeditor/ckeditor5-easy-image": {
+ "version": "36.0.1",
+ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-easy-image/-/ckeditor5-easy-image-36.0.1.tgz",
+ "integrity": "sha512-t74s840xNPaWibgI1YcC/lHcigCY4zUyXzpXhepWe9qw4zfg58H2wK6a0AwBN+yy8mXcotDUmjXkOXgnNkJp0Q==",
+ "dependencies": {
+ "ckeditor5": "^36.0.1"
+ },
+ "engines": {
+ "node": ">=14.0.0",
+ "npm": ">=5.7.1"
+ }
+ },
+ "node_modules/@ckeditor/ckeditor5-editor-classic": {
+ "version": "36.0.1",
+ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-editor-classic/-/ckeditor5-editor-classic-36.0.1.tgz",
+ "integrity": "sha512-/euO79HzgIxILgxbqpGaMxO3f2BSGazljAGTc+aGJQ4bs9YnkxpeCc2wxYXuUzMNev2vVqhaPTvRJzg2Bb2r9w==",
+ "dependencies": {
+ "ckeditor5": "^36.0.1",
+ "lodash-es": "^4.17.15"
+ },
+ "engines": {
+ "node": ">=14.0.0",
+ "npm": ">=5.7.1"
+ }
+ },
+ "node_modules/@ckeditor/ckeditor5-engine": {
+ "version": "36.0.1",
+ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-engine/-/ckeditor5-engine-36.0.1.tgz",
+ "integrity": "sha512-Ze2omTguUggwiL9vvLvPk+QpjEBbIOPS1Hi/ROYlsW8QSdnPbSTv+6rCIYThqJMFeonxLZWV5XwbcqpgSAs0MA==",
+ "dependencies": {
+ "@ckeditor/ckeditor5-utils": "^36.0.1",
+ "lodash-es": "^4.17.15"
+ },
+ "engines": {
+ "node": ">=14.0.0",
+ "npm": ">=5.7.1"
+ }
+ },
+ "node_modules/@ckeditor/ckeditor5-enter": {
+ "version": "36.0.1",
+ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-enter/-/ckeditor5-enter-36.0.1.tgz",
+ "integrity": "sha512-FHZ43bltDGFyihfBOTwBOgsS2mMU2ATR9xxFEKlDP+8+P1bq4e0YkC3t4PuwtHIZMvNHiFxqvmFtA2eznGS7sQ==",
+ "dependencies": {
+ "@ckeditor/ckeditor5-core": "^36.0.1",
+ "@ckeditor/ckeditor5-engine": "^36.0.1"
+ },
+ "engines": {
+ "node": ">=14.0.0",
+ "npm": ">=5.7.1"
+ }
+ },
+ "node_modules/@ckeditor/ckeditor5-essentials": {
+ "version": "36.0.1",
+ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-essentials/-/ckeditor5-essentials-36.0.1.tgz",
+ "integrity": "sha512-f6yEeSA75/hAqK+hZ09LnUj+2PSXFSTHFBzC32WKr+e2qlTx3/mArvwnnQcTj7lo7SuUmctpg7X5DD3/Rcg+HA==",
+ "dependencies": {
+ "ckeditor5": "^36.0.1"
+ },
+ "engines": {
+ "node": ">=14.0.0",
+ "npm": ">=5.7.1"
+ }
+ },
+ "node_modules/@ckeditor/ckeditor5-heading": {
+ "version": "36.0.1",
+ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-heading/-/ckeditor5-heading-36.0.1.tgz",
+ "integrity": "sha512-elVL6y8kFFB4wCjmVTYsbx5vFoNCsPn9fAJ4/T2tElb9wszs4BsbMjScUNwVomOxuSPy3x6Qt4HG1NFVoh1FKg==",
+ "dependencies": {
+ "ckeditor5": "^36.0.1"
+ },
+ "engines": {
+ "node": ">=14.0.0",
+ "npm": ">=5.7.1"
+ }
+ },
+ "node_modules/@ckeditor/ckeditor5-image": {
+ "version": "36.0.1",
+ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-image/-/ckeditor5-image-36.0.1.tgz",
+ "integrity": "sha512-HElSvvBXL4kmwtwrAw28oIuJN1gXMr0kOYnR+sLkJGlfeymOQ4RKEqW3vOPMmN6s2RMJVoNkpytPbhzalFn3Sg==",
+ "dependencies": {
+ "@ckeditor/ckeditor5-ui": "^36.0.1",
+ "ckeditor5": "^36.0.1",
+ "lodash-es": "^4.17.15"
+ },
+ "engines": {
+ "node": ">=14.0.0",
+ "npm": ">=5.7.1"
+ }
+ },
+ "node_modules/@ckeditor/ckeditor5-indent": {
+ "version": "36.0.1",
+ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-indent/-/ckeditor5-indent-36.0.1.tgz",
+ "integrity": "sha512-3E+3UCP9Krr41yP8g5a/QmJEJCChOFWdrLShi0YYODkJlhI/UUJFWVDTx54x1GnnDhXt8HhpOVGHCo14+KuRfA==",
+ "dependencies": {
+ "ckeditor5": "^36.0.1"
+ },
+ "engines": {
+ "node": ">=14.0.0",
+ "npm": ">=5.7.1"
+ }
+ },
+ "node_modules/@ckeditor/ckeditor5-link": {
+ "version": "36.0.1",
+ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-link/-/ckeditor5-link-36.0.1.tgz",
+ "integrity": "sha512-u0E22wCzgAWMlg5BemYAUHws6zausSek+tmI6VmTRibogsUsfso3JnWI0RXNiEd4i2w1wRspvb9S/D8iy7n4fA==",
+ "dependencies": {
+ "@ckeditor/ckeditor5-ui": "^36.0.1",
+ "ckeditor5": "^36.0.1",
+ "lodash-es": "^4.17.15"
+ },
+ "engines": {
+ "node": ">=14.0.0",
+ "npm": ">=5.7.1"
+ }
+ },
+ "node_modules/@ckeditor/ckeditor5-list": {
+ "version": "36.0.1",
+ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-list/-/ckeditor5-list-36.0.1.tgz",
+ "integrity": "sha512-v4h5iXCqbOpjaiQRZNp1SExU7BzKfcDU9VUGZpUzFLC0S1JKVO1DAJKMxhqgUCvgGrTOrYHZoGaqNWQZXXwZQg==",
+ "dependencies": {
+ "@ckeditor/ckeditor5-ui": "^36.0.1",
+ "ckeditor5": "^36.0.1"
+ },
+ "engines": {
+ "node": ">=14.0.0",
+ "npm": ">=5.7.1"
+ }
+ },
+ "node_modules/@ckeditor/ckeditor5-media-embed": {
+ "version": "36.0.1",
+ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-media-embed/-/ckeditor5-media-embed-36.0.1.tgz",
+ "integrity": "sha512-TBl9bh+wBndkHfjjULqTYdYjbwtpO0ug4QTE5PQuAXrfvNeTAGvpYRqnJtLlASzqvUcgc3uBCXI9sO90ZUnFWw==",
+ "dependencies": {
+ "@ckeditor/ckeditor5-ui": "^36.0.1",
+ "ckeditor5": "^36.0.1"
+ },
+ "engines": {
+ "node": ">=14.0.0",
+ "npm": ">=5.7.1"
+ }
+ },
+ "node_modules/@ckeditor/ckeditor5-paragraph": {
+ "version": "36.0.1",
+ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-paragraph/-/ckeditor5-paragraph-36.0.1.tgz",
+ "integrity": "sha512-NF1PH9WVfY81vkohj6GV1W/u1ogbZnfy60wrDy8Qp3iaFK1LJBsKNz3q1tf0WkBghaX/MUjR9E06l/OrTtaTZw==",
+ "dependencies": {
+ "@ckeditor/ckeditor5-core": "^36.0.1",
+ "@ckeditor/ckeditor5-ui": "^36.0.1",
+ "@ckeditor/ckeditor5-utils": "^36.0.1"
+ },
+ "engines": {
+ "node": ">=14.0.0",
+ "npm": ">=5.7.1"
+ }
+ },
+ "node_modules/@ckeditor/ckeditor5-paste-from-office": {
+ "version": "36.0.1",
+ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-paste-from-office/-/ckeditor5-paste-from-office-36.0.1.tgz",
+ "integrity": "sha512-JG3Ex/0mQ94E6coU16/CpnjikadCLebRLKXKYQyK/Wag7MbkKh8jgzpnZTC4Br4HvpQORfx7eC475BWF927FeQ==",
+ "dependencies": {
+ "ckeditor5": "^36.0.1"
+ },
+ "engines": {
+ "node": ">=14.0.0",
+ "npm": ">=5.7.1"
+ }
+ },
+ "node_modules/@ckeditor/ckeditor5-react": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-react/-/ckeditor5-react-5.1.0.tgz",
+ "integrity": "sha512-7+okLprneCOD/zXceiONstUjRQtMSnsYiW7C2uODgXpglYDANw9QbAoyA4+M0ZC2Sjxok56YPy46F7uXB+a6mA==",
+ "hasInstallScript": true,
+ "dependencies": {
+ "prop-types": "^15.7.2"
+ },
+ "engines": {
+ "node": ">=14.0.0",
+ "npm": ">=5.7.1"
+ },
+ "peerDependencies": {
+ "react": "^16.13.1 || ^17.0.0 || ^18.0.0"
+ }
+ },
+ "node_modules/@ckeditor/ckeditor5-select-all": {
+ "version": "36.0.1",
+ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-select-all/-/ckeditor5-select-all-36.0.1.tgz",
+ "integrity": "sha512-8rPxcenTAoqXy1gleZvfsc7VD0IltPFq8R+blD4JL+sSMMDUtKhPuok4TA9h6Yh0nP6LfRK2fBUKIWH3xRPABg==",
+ "dependencies": {
+ "@ckeditor/ckeditor5-core": "^36.0.1",
+ "@ckeditor/ckeditor5-ui": "^36.0.1",
+ "@ckeditor/ckeditor5-utils": "^36.0.1"
+ },
+ "engines": {
+ "node": ">=14.0.0",
+ "npm": ">=5.7.1"
+ }
+ },
+ "node_modules/@ckeditor/ckeditor5-table": {
+ "version": "36.0.1",
+ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-table/-/ckeditor5-table-36.0.1.tgz",
+ "integrity": "sha512-ishbq3Rp8n7aypswmbqAVWT5W0iYZfAfm6wS+dpSoFqzAPX6ko8+bnoTkq+Wbs1S4+JDaua7QOJw9A1L1cv17A==",
+ "dependencies": {
+ "ckeditor5": "^36.0.1",
+ "lodash-es": "^4.17.15"
+ },
+ "engines": {
+ "node": ">=14.0.0",
+ "npm": ">=5.7.1"
+ }
+ },
+ "node_modules/@ckeditor/ckeditor5-typing": {
+ "version": "36.0.1",
+ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-typing/-/ckeditor5-typing-36.0.1.tgz",
+ "integrity": "sha512-NwXQxNxf/LLANiiteEVaLr1ZzvJd7y6+O5a6x0Tv9Uuheu80aw2Axm3icneODt05G/XT+iJmCHzUYdEiCsHUaw==",
+ "dependencies": {
+ "@ckeditor/ckeditor5-core": "^36.0.1",
+ "@ckeditor/ckeditor5-engine": "^36.0.1",
+ "@ckeditor/ckeditor5-utils": "^36.0.1",
+ "lodash-es": "^4.17.15"
+ },
+ "engines": {
+ "node": ">=14.0.0",
+ "npm": ">=5.7.1"
+ }
+ },
+ "node_modules/@ckeditor/ckeditor5-ui": {
+ "version": "36.0.1",
+ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-ui/-/ckeditor5-ui-36.0.1.tgz",
+ "integrity": "sha512-wPqAdXUZnEAD3XPvS5vEGU2kxzTQah3wne3B1esdlbJ7dSLZDdx8r1dyKyp3/WCpCT8G+PqGvSUrlnqcy7WI5A==",
+ "dependencies": {
+ "@ckeditor/ckeditor5-core": "^36.0.1",
+ "@ckeditor/ckeditor5-utils": "^36.0.1",
+ "lodash-es": "^4.17.15"
+ },
+ "engines": {
+ "node": ">=14.0.0",
+ "npm": ">=5.7.1"
+ }
+ },
+ "node_modules/@ckeditor/ckeditor5-undo": {
+ "version": "36.0.1",
+ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-undo/-/ckeditor5-undo-36.0.1.tgz",
+ "integrity": "sha512-TBm6TAnur59f5hqlgUZ89NV3cPQw0xqqpSuVMFrvFruPmPiIay2E34Mapb5KRXr83AEPhNN8GAE2YM7HmMqKrQ==",
+ "dependencies": {
+ "@ckeditor/ckeditor5-core": "^36.0.1",
+ "@ckeditor/ckeditor5-engine": "^36.0.1",
+ "@ckeditor/ckeditor5-ui": "^36.0.1"
+ },
+ "engines": {
+ "node": ">=14.0.0",
+ "npm": ">=5.7.1"
+ }
+ },
+ "node_modules/@ckeditor/ckeditor5-upload": {
+ "version": "36.0.1",
+ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-upload/-/ckeditor5-upload-36.0.1.tgz",
+ "integrity": "sha512-932vnvO++SzfZ6EpNkOj6PPKN6vVgn5aW3gu0c1D51cF9KkCFiaMhBDsOzDRVvq/bbnDqUQ9v3j1cNo2UlC8oA==",
+ "dependencies": {
+ "@ckeditor/ckeditor5-core": "^36.0.1",
+ "@ckeditor/ckeditor5-ui": "^36.0.1",
+ "@ckeditor/ckeditor5-utils": "^36.0.1"
+ },
+ "engines": {
+ "node": ">=14.0.0",
+ "npm": ">=5.7.1"
+ }
+ },
+ "node_modules/@ckeditor/ckeditor5-utils": {
+ "version": "36.0.1",
+ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-utils/-/ckeditor5-utils-36.0.1.tgz",
+ "integrity": "sha512-TW/YRb0OQe88IyqRoq2xS02iXOG82NQybzMuFDnGyCaFV0hA/9ysOyWwFpxDLcPDhDgVJZIxuwvFaek9x+uCMA==",
+ "dependencies": {
+ "lodash-es": "^4.17.15"
+ },
+ "engines": {
+ "node": ">=14.0.0",
+ "npm": ">=5.7.1"
+ }
+ },
+ "node_modules/@ckeditor/ckeditor5-widget": {
+ "version": "36.0.1",
+ "resolved": "https://registry.npmjs.org/@ckeditor/ckeditor5-widget/-/ckeditor5-widget-36.0.1.tgz",
+ "integrity": "sha512-on92cCRYLWTfwrpnFi5z4FY7NDhY+X+p6yuYStnB9d9jM3FJi3/7y2q9ojr8fSMot4pQsXCiFXzaF6yez+77wA==",
+ "dependencies": {
+ "@ckeditor/ckeditor5-core": "^36.0.1",
+ "@ckeditor/ckeditor5-engine": "^36.0.1",
+ "@ckeditor/ckeditor5-enter": "^36.0.1",
+ "@ckeditor/ckeditor5-typing": "^36.0.1",
+ "@ckeditor/ckeditor5-ui": "^36.0.1",
+ "@ckeditor/ckeditor5-utils": "^36.0.1",
+ "lodash-es": "^4.17.15"
+ },
+ "engines": {
+ "node": ">=14.0.0",
+ "npm": ">=5.7.1"
+ }
+ },
+ "node_modules/@juggle/resize-observer": {
+ "version": "3.4.0",
+ "resolved": "https://registry.npmjs.org/@juggle/resize-observer/-/resize-observer-3.4.0.tgz",
+ "integrity": "sha512-dfLbk+PwWvFzSxwk3n5ySL0hfBog779o8h68wK/7/APo/7cgyWp5jcXockbxdk5kFRkbeXWm4Fbi9FrdN381sA=="
+ },
+ "node_modules/@next/env": {
+ "version": "13.2.3",
+ "resolved": "https://registry.npmjs.org/@next/env/-/env-13.2.3.tgz",
+ "integrity": "sha512-FN50r/E+b8wuqyRjmGaqvqNDuWBWYWQiigfZ50KnSFH0f+AMQQyaZl+Zm2+CIpKk0fL9QxhLxOpTVA3xFHgFow=="
+ },
+ "node_modules/@next/swc-android-arm-eabi": {
+ "version": "13.2.3",
+ "resolved": "https://registry.npmjs.org/@next/swc-android-arm-eabi/-/swc-android-arm-eabi-13.2.3.tgz",
+ "integrity": "sha512-mykdVaAXX/gm+eFO2kPeVjnOCKwanJ9mV2U0lsUGLrEdMUifPUjiXKc6qFAIs08PvmTMOLMNnUxqhGsJlWGKSw==",
+ "cpu": [
+ "arm"
+ ],
+ "optional": true,
+ "os": [
+ "android"
+ ],
+ "engines": {
+ "node": ">= 10"
+ }
+ },
+ "node_modules/@next/swc-android-arm64": {
+ "version": "13.2.3",
+ "resolved": "https://registry.npmjs.org/@next/swc-android-arm64/-/swc-android-arm64-13.2.3.tgz",
+ "integrity": "sha512-8XwHPpA12gdIFtope+n9xCtJZM3U4gH4vVTpUwJ2w1kfxFmCpwQ4xmeGSkR67uOg80yRMuF0h9V1ueo05sws5w==",
+ "cpu": [
+ "arm64"
+ ],
+ "optional": true,
+ "os": [
+ "android"
+ ],
+ "engines": {
+ "node": ">= 10"
+ }
+ },
+ "node_modules/@next/swc-darwin-arm64": {
+ "version": "13.2.3",
+ "resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-13.2.3.tgz",
+ "integrity": "sha512-TXOubiFdLpMfMtaRu1K5d1I9ipKbW5iS2BNbu8zJhoqrhk3Kp7aRKTxqFfWrbliAHhWVE/3fQZUYZOWSXVQi1w==",
+ "cpu": [
+ "arm64"
+ ],
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": ">= 10"
+ }
+ },
+ "node_modules/@next/swc-darwin-x64": {
+ "version": "13.2.3",
+ "resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-13.2.3.tgz",
+ "integrity": "sha512-GZctkN6bJbpjlFiS5pylgB2pifHvgkqLAPumJzxnxkf7kqNm6rOGuNjsROvOWVWXmKhrzQkREO/WPS2aWsr/yw==",
+ "cpu": [
+ "x64"
+ ],
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": ">= 10"
+ }
+ },
+ "node_modules/@next/swc-freebsd-x64": {
+ "version": "13.2.3",
+ "resolved": "https://registry.npmjs.org/@next/swc-freebsd-x64/-/swc-freebsd-x64-13.2.3.tgz",
+ "integrity": "sha512-rK6GpmMt/mU6MPuav0/M7hJ/3t8HbKPCELw/Uqhi4732xoq2hJ2zbo2FkYs56y6w0KiXrIp4IOwNB9K8L/q62g==",
+ "cpu": [
+ "x64"
+ ],
+ "optional": true,
+ "os": [
+ "freebsd"
+ ],
+ "engines": {
+ "node": ">= 10"
+ }
+ },
+ "node_modules/@next/swc-linux-arm-gnueabihf": {
+ "version": "13.2.3",
+ "resolved": "https://registry.npmjs.org/@next/swc-linux-arm-gnueabihf/-/swc-linux-arm-gnueabihf-13.2.3.tgz",
+ "integrity": "sha512-yeiCp/Odt1UJ4KUE89XkeaaboIDiVFqKP4esvoLKGJ0fcqJXMofj4ad3tuQxAMs3F+qqrz9MclqhAHkex1aPZA==",
+ "cpu": [
+ "arm"
+ ],
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">= 10"
+ }
+ },
+ "node_modules/@next/swc-linux-arm64-gnu": {
+ "version": "13.2.3",
+ "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-13.2.3.tgz",
+ "integrity": "sha512-/miIopDOUsuNlvjBjTipvoyjjaxgkOuvlz+cIbbPcm1eFvzX2ltSfgMgty15GuOiR8Hub4FeTSiq3g2dmCkzGA==",
+ "cpu": [
+ "arm64"
+ ],
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">= 10"
+ }
+ },
+ "node_modules/@next/swc-linux-arm64-musl": {
+ "version": "13.2.3",
+ "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-13.2.3.tgz",
+ "integrity": "sha512-sujxFDhMMDjqhruup8LLGV/y+nCPi6nm5DlFoThMJFvaaKr/imhkXuk8uCTq4YJDbtRxnjydFv2y8laBSJVC2g==",
+ "cpu": [
+ "arm64"
+ ],
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">= 10"
+ }
+ },
+ "node_modules/@next/swc-linux-x64-gnu": {
+ "version": "13.2.3",
+ "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-13.2.3.tgz",
+ "integrity": "sha512-w5MyxPknVvC9LVnMenAYMXMx4KxPwXuJRMQFvY71uXg68n7cvcas85U5zkdrbmuZ+JvsO5SIG8k36/6X3nUhmQ==",
+ "cpu": [
+ "x64"
+ ],
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">= 10"
+ }
+ },
+ "node_modules/@next/swc-linux-x64-musl": {
+ "version": "13.2.3",
+ "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-13.2.3.tgz",
+ "integrity": "sha512-CTeelh8OzSOVqpzMFMFnVRJIFAFQoTsI9RmVJWW/92S4xfECGcOzgsX37CZ8K982WHRzKU7exeh7vYdG/Eh4CA==",
+ "cpu": [
+ "x64"
+ ],
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">= 10"
+ }
+ },
+ "node_modules/@next/swc-win32-arm64-msvc": {
+ "version": "13.2.3",
+ "resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-13.2.3.tgz",
+ "integrity": "sha512-7N1KBQP5mo4xf52cFCHgMjzbc9jizIlkTepe9tMa2WFvEIlKDfdt38QYcr9mbtny17yuaIw02FXOVEytGzqdOQ==",
+ "cpu": [
+ "arm64"
+ ],
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">= 10"
+ }
+ },
+ "node_modules/@next/swc-win32-ia32-msvc": {
+ "version": "13.2.3",
+ "resolved": "https://registry.npmjs.org/@next/swc-win32-ia32-msvc/-/swc-win32-ia32-msvc-13.2.3.tgz",
+ "integrity": "sha512-LzWD5pTSipUXTEMRjtxES/NBYktuZdo7xExJqGDMnZU8WOI+v9mQzsmQgZS/q02eIv78JOCSemqVVKZBGCgUvA==",
+ "cpu": [
+ "ia32"
+ ],
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">= 10"
+ }
+ },
+ "node_modules/@next/swc-win32-x64-msvc": {
+ "version": "13.2.3",
+ "resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-13.2.3.tgz",
+ "integrity": "sha512-aLG2MaFs4y7IwaMTosz2r4mVbqRyCnMoFqOcmfTi7/mAS+G4IMH0vJp4oLdbshqiVoiVuKrAfqtXj55/m7Qu1Q==",
+ "cpu": [
+ "x64"
+ ],
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">= 10"
+ }
+ },
+ "node_modules/@popperjs/core": {
+ "version": "2.11.6",
+ "resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.11.6.tgz",
+ "integrity": "sha512-50/17A98tWUfQ176raKiOGXuYpLyyVMkxxG6oylzL3BPOlA6ADGdK7EYunSa4I064xerltq9TGXs8HmOk5E+vw==",
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/popperjs"
+ }
+ },
+ "node_modules/@prisma/client": {
+ "version": "4.11.0",
+ "resolved": "https://registry.npmjs.org/@prisma/client/-/client-4.11.0.tgz",
+ "integrity": "sha512-0INHYkQIqgAjrt7NzhYpeDQi8x3Nvylc2uDngKyFDDj1tTRQ4uV1HnVmd1sQEraeVAN63SOK0dgCKQHlvjL0KA==",
+ "hasInstallScript": true,
+ "dependencies": {
+ "@prisma/engines-version": "4.11.0-57.8fde8fef4033376662cad983758335009d522acb"
+ },
+ "engines": {
+ "node": ">=14.17"
+ },
+ "peerDependencies": {
+ "prisma": "*"
+ },
+ "peerDependenciesMeta": {
+ "prisma": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@prisma/engines": {
+ "version": "4.11.0",
+ "resolved": "https://registry.npmjs.org/@prisma/engines/-/engines-4.11.0.tgz",
+ "integrity": "sha512-0AEBi2HXGV02cf6ASsBPhfsVIbVSDC9nbQed4iiY5eHttW9ZtMxHThuKZE1pnESbr8HRdgmFSa/Kn4OSNYuibg==",
+ "devOptional": true,
+ "hasInstallScript": true
+ },
+ "node_modules/@prisma/engines-version": {
+ "version": "4.11.0-57.8fde8fef4033376662cad983758335009d522acb",
+ "resolved": "https://registry.npmjs.org/@prisma/engines-version/-/engines-version-4.11.0-57.8fde8fef4033376662cad983758335009d522acb.tgz",
+ "integrity": "sha512-3Vd8Qq06d5xD8Ch5WauWcUUrsVPdMC6Ge8ILji8RFfyhUpqon6qSyGM0apvr1O8n8qH8cKkEFqRPsYjuz5r83g=="
+ },
+ "node_modules/@react-aria/ssr": {
+ "version": "3.5.0",
+ "resolved": "https://registry.npmjs.org/@react-aria/ssr/-/ssr-3.5.0.tgz",
+ "integrity": "sha512-h0MJdSWOd1qObLnJ8mprU31wI8tmKFJMuwT22MpWq6psisOOZaga6Ml4u6Ee6M6duWWISjXvqO4Sb/J0PBA+nQ==",
+ "dependencies": {
+ "@swc/helpers": "^0.4.14"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0"
+ }
+ },
+ "node_modules/@restart/hooks": {
+ "version": "0.4.9",
+ "resolved": "https://registry.npmjs.org/@restart/hooks/-/hooks-0.4.9.tgz",
+ "integrity": "sha512-3BekqcwB6Umeya+16XPooARn4qEPW6vNvwYnlofIYe6h9qG1/VeD7UvShCWx11eFz5ELYmwIEshz+MkPX3wjcQ==",
+ "dependencies": {
+ "dequal": "^2.0.2"
+ },
+ "peerDependencies": {
+ "react": ">=16.8.0"
+ }
+ },
+ "node_modules/@restart/ui": {
+ "version": "1.6.1",
+ "resolved": "https://registry.npmjs.org/@restart/ui/-/ui-1.6.1.tgz",
+ "integrity": "sha512-cMI9DdqZV5VGEyANYM4alHK9/2Lh/mKZAMydztMl6PBLm6EetFbwE2RfYqliloR+EtEULlI4TiZk/XPhQAovxw==",
+ "dependencies": {
+ "@babel/runtime": "^7.20.7",
+ "@popperjs/core": "^2.11.6",
+ "@react-aria/ssr": "^3.4.1",
+ "@restart/hooks": "^0.4.7",
+ "@types/warning": "^3.0.0",
+ "dequal": "^2.0.3",
+ "dom-helpers": "^5.2.0",
+ "uncontrollable": "^7.2.1",
+ "warning": "^4.0.3"
+ },
+ "peerDependencies": {
+ "react": ">=16.14.0",
+ "react-dom": ">=16.14.0"
+ }
+ },
+ "node_modules/@rsuite/icon-font": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/@rsuite/icon-font/-/icon-font-4.0.0.tgz",
+ "integrity": "sha512-rZTgpTH3H3HLczCA2rnkWfoMKm0ZXoRzsrkVujfP/FfslnKUMvO6w56pa8pCvhWGpNEPUsLS2ULnFGpTEcup/Q=="
+ },
+ "node_modules/@rsuite/icons": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/@rsuite/icons/-/icons-1.0.2.tgz",
+ "integrity": "sha512-Y7vJNDQpJnFlyYSUXQ2iQ9Meg7+ZKcrIenhpYDdM3c7vYDE/L7pml+hrK28jk6QfV/QkVv5B504D+l7aM6AAJQ==",
+ "dependencies": {
+ "@rsuite/icon-font": "^4.0.0",
+ "classnames": "^2.2.5",
+ "insert-css": "^2.0.0",
+ "lodash": "^4.17.20"
+ },
+ "peerDependencies": {
+ "react": ">=16.8.0",
+ "react-dom": ">=16.8.0"
+ }
+ },
+ "node_modules/@swc/helpers": {
+ "version": "0.4.14",
+ "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.4.14.tgz",
+ "integrity": "sha512-4C7nX/dvpzB7za4Ql9K81xK3HPxCpHMgwTZVyf+9JQ6VUbn9jjZVN7/Nkdz/Ugzs2CSjqnL/UPXroiVBVHUWUw==",
+ "dependencies": {
+ "tslib": "^2.4.0"
+ }
+ },
+ "node_modules/@types/chai": {
+ "version": "4.3.4",
+ "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.3.4.tgz",
+ "integrity": "sha512-KnRanxnpfpjUTqTCXslZSEdLfXExwgNxYPdiO2WGUj8+HDjFi8R3k5RVKPeSCzLjCcshCAtVO2QBbVuAV4kTnw=="
+ },
+ "node_modules/@types/lodash": {
+ "version": "4.14.191",
+ "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.191.tgz",
+ "integrity": "sha512-BdZ5BCCvho3EIXw6wUCXHe7rS53AIDPLE+JzwgT+OsJk53oBfbSmZZ7CX4VaRoN78N+TJpFi9QPlfIVNmJYWxQ=="
+ },
+ "node_modules/@types/prop-types": {
+ "version": "15.7.5",
+ "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.5.tgz",
+ "integrity": "sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w=="
+ },
+ "node_modules/@types/react": {
+ "version": "18.0.28",
+ "resolved": "https://registry.npmjs.org/@types/react/-/react-18.0.28.tgz",
+ "integrity": "sha512-RD0ivG1kEztNBdoAK7lekI9M+azSnitIn85h4iOiaLjaTrMjzslhaqCGaI4IyCJ1RljWiLCEu4jyrLLgqxBTew==",
+ "dependencies": {
+ "@types/prop-types": "*",
+ "@types/scheduler": "*",
+ "csstype": "^3.0.2"
+ }
+ },
+ "node_modules/@types/react-transition-group": {
+ "version": "4.4.5",
+ "resolved": "https://registry.npmjs.org/@types/react-transition-group/-/react-transition-group-4.4.5.tgz",
+ "integrity": "sha512-juKD/eiSM3/xZYzjuzH6ZwpP+/lejltmiS3QEzV/vmb/Q8+HfDmxu+Baga8UEMGBqV88Nbg4l2hY/K2DkyaLLA==",
+ "dependencies": {
+ "@types/react": "*"
+ }
+ },
+ "node_modules/@types/react-window": {
+ "version": "1.8.5",
+ "resolved": "https://registry.npmjs.org/@types/react-window/-/react-window-1.8.5.tgz",
+ "integrity": "sha512-V9q3CvhC9Jk9bWBOysPGaWy/Z0lxYcTXLtLipkt2cnRj1JOSFNF7wqGpkScSXMgBwC+fnVRg/7shwgddBG5ICw==",
+ "dependencies": {
+ "@types/react": "*"
+ }
+ },
+ "node_modules/@types/scheduler": {
+ "version": "0.16.2",
+ "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.2.tgz",
+ "integrity": "sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew=="
+ },
+ "node_modules/@types/warning": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/@types/warning/-/warning-3.0.0.tgz",
+ "integrity": "sha512-t/Tvs5qR47OLOr+4E9ckN8AmP2Tf16gWq+/qA4iUGS/OOyHVO8wv2vjJuX8SNOUTJyWb+2t7wJm6cXILFnOROA=="
+ },
+ "node_modules/anychart": {
+ "version": "8.11.0",
+ "resolved": "https://registry.npmjs.org/anychart/-/anychart-8.11.0.tgz",
+ "integrity": "sha512-9QhPSG2mVndLJFsJxuZbtaq5M2jN9GOGNQ7MO2kZrg4cBeZJz0z0HG8HQwNvKDzuhClyOURiJg34pTTaDGyXaA=="
+ },
+ "node_modules/asynckit": {
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
+ "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q=="
+ },
+ "node_modules/axios": {
+ "version": "1.3.4",
+ "resolved": "https://registry.npmjs.org/axios/-/axios-1.3.4.tgz",
+ "integrity": "sha512-toYm+Bsyl6VC5wSkfkbbNB6ROv7KY93PEBBL6xyDczaIHasAiv4wPqQ/c4RjoQzipxRD2W5g21cOqQulZ7rHwQ==",
+ "dependencies": {
+ "follow-redirects": "^1.15.0",
+ "form-data": "^4.0.0",
+ "proxy-from-env": "^1.1.0"
+ }
+ },
+ "node_modules/bootstrap": {
+ "version": "5.2.3",
+ "resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-5.2.3.tgz",
+ "integrity": "sha512-cEKPM+fwb3cT8NzQZYEu4HilJ3anCrWqh3CHAok1p9jXqMPsPTBhU25fBckEJHJ/p+tTxTFTsFQGM+gaHpi3QQ==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/twbs"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/bootstrap"
+ }
+ ],
+ "peerDependencies": {
+ "@popperjs/core": "^2.11.6"
+ }
+ },
+ "node_modules/bootstrap-icons": {
+ "version": "1.10.3",
+ "resolved": "https://registry.npmjs.org/bootstrap-icons/-/bootstrap-icons-1.10.3.tgz",
+ "integrity": "sha512-7Qvj0j0idEm/DdX9Q0CpxAnJYqBCFCiUI6qzSPYfERMcokVuV9Mdm/AJiVZI8+Gawe4h/l6zFcOzvV7oXCZArw=="
+ },
+ "node_modules/caniuse-lite": {
+ "version": "1.0.30001460",
+ "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001460.tgz",
+ "integrity": "sha512-Bud7abqjvEjipUkpLs4D7gR0l8hBYBHoa+tGtKJHvT2AYzLp1z7EmVkUT4ERpVUfca8S2HGIVs883D8pUH1ZzQ==",
+ "funding": [
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/browserslist"
+ },
+ {
+ "type": "tidelift",
+ "url": "https://tidelift.com/funding/github/npm/caniuse-lite"
+ }
+ ]
+ },
+ "node_modules/ckeditor5": {
+ "version": "36.0.1",
+ "resolved": "https://registry.npmjs.org/ckeditor5/-/ckeditor5-36.0.1.tgz",
+ "integrity": "sha512-9zKX7WIRKSDviM0s41VvW8JtDiRtNrhwrzYj4XCjGpZyIXsUKttdJYHIP5iP1MdfZU/hCvpgSUn2fmRPxFbg+Q==",
+ "dependencies": {
+ "@ckeditor/ckeditor5-clipboard": "^36.0.1",
+ "@ckeditor/ckeditor5-core": "^36.0.1",
+ "@ckeditor/ckeditor5-engine": "^36.0.1",
+ "@ckeditor/ckeditor5-enter": "^36.0.1",
+ "@ckeditor/ckeditor5-paragraph": "^36.0.1",
+ "@ckeditor/ckeditor5-select-all": "^36.0.1",
+ "@ckeditor/ckeditor5-typing": "^36.0.1",
+ "@ckeditor/ckeditor5-ui": "^36.0.1",
+ "@ckeditor/ckeditor5-undo": "^36.0.1",
+ "@ckeditor/ckeditor5-upload": "^36.0.1",
+ "@ckeditor/ckeditor5-utils": "^36.0.1",
+ "@ckeditor/ckeditor5-widget": "^36.0.1"
+ },
+ "engines": {
+ "node": ">=14.0.0",
+ "npm": ">=5.7.1"
+ }
+ },
+ "node_modules/classnames": {
+ "version": "2.3.2",
+ "resolved": "https://registry.npmjs.org/classnames/-/classnames-2.3.2.tgz",
+ "integrity": "sha512-CSbhY4cFEJRe6/GQzIk5qXZ4Jeg5pcsP7b5peFSDpffpe1cqjASH/n9UTjBwOp6XpMSTwQ8Za2K5V02ueA7Tmw=="
+ },
+ "node_modules/client-only": {
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/client-only/-/client-only-0.0.1.tgz",
+ "integrity": "sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA=="
+ },
+ "node_modules/combined-stream": {
+ "version": "1.0.8",
+ "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
+ "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==",
+ "dependencies": {
+ "delayed-stream": "~1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/csstype": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.1.tgz",
+ "integrity": "sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw=="
+ },
+ "node_modules/date-fns": {
+ "version": "2.29.3",
+ "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-2.29.3.tgz",
+ "integrity": "sha512-dDCnyH2WnnKusqvZZ6+jA1O51Ibt8ZMRNkDZdyAyK4YfbDwa/cEmuztzG5pk6hqlp9aSBPYcjOlktquahGwGeA==",
+ "engines": {
+ "node": ">=0.11"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/date-fns"
+ }
+ },
+ "node_modules/delayed-stream": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
+ "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==",
+ "engines": {
+ "node": ">=0.4.0"
+ }
+ },
+ "node_modules/dequal": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz",
+ "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/dom-helpers": {
+ "version": "5.2.1",
+ "resolved": "https://registry.npmjs.org/dom-helpers/-/dom-helpers-5.2.1.tgz",
+ "integrity": "sha512-nRCa7CK3VTrM2NmGkIy4cbK7IZlgBE/PYMn55rrXefr5xXDP0LdtfPnblFDoVdcAfslJ7or6iqAUnx0CCGIWQA==",
+ "dependencies": {
+ "@babel/runtime": "^7.8.7",
+ "csstype": "^3.0.2"
+ }
+ },
+ "node_modules/dom-lib": {
+ "version": "3.1.6",
+ "resolved": "https://registry.npmjs.org/dom-lib/-/dom-lib-3.1.6.tgz",
+ "integrity": "sha512-xXEhStHDoAyfhnz8mqDwZ9rnqdqz/9BcrKd1UEw6BlA/l17emFb2dK7q8IX8ArU31pScSU9otEnL6wzvpoT5aw==",
+ "dependencies": {
+ "@babel/runtime": "^7.20.0"
+ }
+ },
+ "node_modules/echarts": {
+ "version": "5.4.1",
+ "resolved": "https://registry.npmjs.org/echarts/-/echarts-5.4.1.tgz",
+ "integrity": "sha512-9ltS3M2JB0w2EhcYjCdmtrJ+6haZcW6acBolMGIuf01Hql1yrIV01L1aRj7jsaaIULJslEP9Z3vKlEmnJaWJVQ==",
+ "dependencies": {
+ "tslib": "2.3.0",
+ "zrender": "5.4.1"
+ }
+ },
+ "node_modules/echarts-for-react": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/echarts-for-react/-/echarts-for-react-3.0.2.tgz",
+ "integrity": "sha512-DRwIiTzx8JfwPOVgGttDytBqdp5VzCSyMRIxubgU/g2n9y3VLUmF2FK7Icmg/sNVkv4+rktmrLN9w22U2yy3fA==",
+ "dependencies": {
+ "fast-deep-equal": "^3.1.3",
+ "size-sensor": "^1.0.1"
+ },
+ "peerDependencies": {
+ "echarts": "^3.0.0 || ^4.0.0 || ^5.0.0",
+ "react": "^15.0.0 || >=16.0.0"
+ }
+ },
+ "node_modules/echarts/node_modules/tslib": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.0.tgz",
+ "integrity": "sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg=="
+ },
+ "node_modules/fast-deep-equal": {
+ "version": "3.1.3",
+ "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
+ "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q=="
+ },
+ "node_modules/follow-redirects": {
+ "version": "1.15.2",
+ "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz",
+ "integrity": "sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==",
+ "funding": [
+ {
+ "type": "individual",
+ "url": "https://github.com/sponsors/RubenVerborgh"
+ }
+ ],
+ "engines": {
+ "node": ">=4.0"
+ },
+ "peerDependenciesMeta": {
+ "debug": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/form-data": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz",
+ "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==",
+ "dependencies": {
+ "asynckit": "^0.4.0",
+ "combined-stream": "^1.0.8",
+ "mime-types": "^2.1.12"
+ },
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/insert-css": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/insert-css/-/insert-css-2.0.0.tgz",
+ "integrity": "sha512-xGq5ISgcUP5cvGkS2MMFLtPDBtrtQPSFfC6gA6U8wHKqfjTIMZLZNxOItQnoSjdOzlXOLU/yD32RKC4SvjNbtA=="
+ },
+ "node_modules/invariant": {
+ "version": "2.2.4",
+ "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz",
+ "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==",
+ "dependencies": {
+ "loose-envify": "^1.0.0"
+ }
+ },
+ "node_modules/jquery": {
+ "version": "3.6.3",
+ "resolved": "https://registry.npmjs.org/jquery/-/jquery-3.6.3.tgz",
+ "integrity": "sha512-bZ5Sy3YzKo9Fyc8wH2iIQK4JImJ6R0GWI9kL1/k7Z91ZBNgkRXE6U0JfHIizZbort8ZunhSI3jw9I6253ahKfg=="
+ },
+ "node_modules/js-tokens": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
+ "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ=="
+ },
+ "node_modules/lodash": {
+ "version": "4.17.21",
+ "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
+ "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg=="
+ },
+ "node_modules/lodash-es": {
+ "version": "4.17.21",
+ "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.21.tgz",
+ "integrity": "sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw=="
+ },
+ "node_modules/loose-envify": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz",
+ "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==",
+ "dependencies": {
+ "js-tokens": "^3.0.0 || ^4.0.0"
+ },
+ "bin": {
+ "loose-envify": "cli.js"
+ }
+ },
+ "node_modules/mime-db": {
+ "version": "1.52.0",
+ "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz",
+ "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==",
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/mime-types": {
+ "version": "2.1.35",
+ "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz",
+ "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==",
+ "dependencies": {
+ "mime-db": "1.52.0"
+ },
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/nanoid": {
+ "version": "3.3.4",
+ "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz",
+ "integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==",
+ "bin": {
+ "nanoid": "bin/nanoid.cjs"
+ },
+ "engines": {
+ "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1"
+ }
+ },
+ "node_modules/next": {
+ "version": "13.2.3",
+ "resolved": "https://registry.npmjs.org/next/-/next-13.2.3.tgz",
+ "integrity": "sha512-nKFJC6upCPN7DWRx4+0S/1PIOT7vNlCT157w9AzbXEgKy6zkiPKEt5YyRUsRZkmpEqBVrGgOqNfwecTociyg+w==",
+ "dependencies": {
+ "@next/env": "13.2.3",
+ "@swc/helpers": "0.4.14",
+ "caniuse-lite": "^1.0.30001406",
+ "postcss": "8.4.14",
+ "styled-jsx": "5.1.1"
+ },
+ "bin": {
+ "next": "dist/bin/next"
+ },
+ "engines": {
+ "node": ">=14.6.0"
+ },
+ "optionalDependencies": {
+ "@next/swc-android-arm-eabi": "13.2.3",
+ "@next/swc-android-arm64": "13.2.3",
+ "@next/swc-darwin-arm64": "13.2.3",
+ "@next/swc-darwin-x64": "13.2.3",
+ "@next/swc-freebsd-x64": "13.2.3",
+ "@next/swc-linux-arm-gnueabihf": "13.2.3",
+ "@next/swc-linux-arm64-gnu": "13.2.3",
+ "@next/swc-linux-arm64-musl": "13.2.3",
+ "@next/swc-linux-x64-gnu": "13.2.3",
+ "@next/swc-linux-x64-musl": "13.2.3",
+ "@next/swc-win32-arm64-msvc": "13.2.3",
+ "@next/swc-win32-ia32-msvc": "13.2.3",
+ "@next/swc-win32-x64-msvc": "13.2.3"
+ },
+ "peerDependencies": {
+ "@opentelemetry/api": "^1.4.0",
+ "fibers": ">= 3.1.0",
+ "node-sass": "^6.0.0 || ^7.0.0",
+ "react": "^18.2.0",
+ "react-dom": "^18.2.0",
+ "sass": "^1.3.0"
+ },
+ "peerDependenciesMeta": {
+ "@opentelemetry/api": {
+ "optional": true
+ },
+ "fibers": {
+ "optional": true
+ },
+ "node-sass": {
+ "optional": true
+ },
+ "sass": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/object-assign": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
+ "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/picocolors": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz",
+ "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ=="
+ },
+ "node_modules/postcss": {
+ "version": "8.4.14",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.14.tgz",
+ "integrity": "sha512-E398TUmfAYFPBSdzgeieK2Y1+1cpdxJx8yXbK/m57nRhKSmk1GB2tO4lbLBtlkfPQTDKfe4Xqv1ASWPpayPEig==",
+ "funding": [
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/postcss/"
+ },
+ {
+ "type": "tidelift",
+ "url": "https://tidelift.com/funding/github/npm/postcss"
+ }
+ ],
+ "dependencies": {
+ "nanoid": "^3.3.4",
+ "picocolors": "^1.0.0",
+ "source-map-js": "^1.0.2"
+ },
+ "engines": {
+ "node": "^10 || ^12 || >=14"
+ }
+ },
+ "node_modules/primeicons": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/primeicons/-/primeicons-6.0.1.tgz",
+ "integrity": "sha512-KDeO94CbWI4pKsPnYpA1FPjo79EsY9I+M8ywoPBSf9XMXoe/0crjbUK7jcQEDHuc0ZMRIZsxH3TYLv4TUtHmAA=="
+ },
+ "node_modules/prisma": {
+ "version": "4.11.0",
+ "resolved": "https://registry.npmjs.org/prisma/-/prisma-4.11.0.tgz",
+ "integrity": "sha512-4zZmBXssPUEiX+GeL0MUq/Yyie4ltiKmGu7jCJFnYMamNrrulTBc+D+QwAQSJ01tyzeGHlD13kOnqPwRipnlNw==",
+ "devOptional": true,
+ "hasInstallScript": true,
+ "dependencies": {
+ "@prisma/engines": "4.11.0"
+ },
+ "bin": {
+ "prisma": "build/index.js",
+ "prisma2": "build/index.js"
+ },
+ "engines": {
+ "node": ">=14.17"
+ }
+ },
+ "node_modules/prop-types": {
+ "version": "15.8.1",
+ "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz",
+ "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==",
+ "dependencies": {
+ "loose-envify": "^1.4.0",
+ "object-assign": "^4.1.1",
+ "react-is": "^16.13.1"
+ }
+ },
+ "node_modules/prop-types-extra": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/prop-types-extra/-/prop-types-extra-1.1.1.tgz",
+ "integrity": "sha512-59+AHNnHYCdiC+vMwY52WmvP5dM3QLeoumYuEyceQDi9aEhtwN9zIQ2ZNo25sMyXnbh32h+P1ezDsUpUH3JAew==",
+ "dependencies": {
+ "react-is": "^16.3.2",
+ "warning": "^4.0.0"
+ },
+ "peerDependencies": {
+ "react": ">=0.14.0"
+ }
+ },
+ "node_modules/proxy-from-env": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz",
+ "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg=="
+ },
+ "node_modules/react": {
+ "version": "18.2.0",
+ "resolved": "https://registry.npmjs.org/react/-/react-18.2.0.tgz",
+ "integrity": "sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==",
+ "dependencies": {
+ "loose-envify": "^1.1.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/react-bootstrap": {
+ "version": "2.7.2",
+ "resolved": "https://registry.npmjs.org/react-bootstrap/-/react-bootstrap-2.7.2.tgz",
+ "integrity": "sha512-WDSln+mG4RLLFO01stkj2bEx/3MF4YihK9D/dWnHaSxOiQZLbhhlf95D2Jb20X3t2m7vMxRe888FVrfLJoGmmA==",
+ "dependencies": {
+ "@babel/runtime": "^7.17.2",
+ "@restart/hooks": "^0.4.6",
+ "@restart/ui": "^1.4.1",
+ "@types/react-transition-group": "^4.4.4",
+ "classnames": "^2.3.1",
+ "dom-helpers": "^5.2.1",
+ "invariant": "^2.2.4",
+ "prop-types": "^15.8.1",
+ "prop-types-extra": "^1.1.0",
+ "react-transition-group": "^4.4.2",
+ "uncontrollable": "^7.2.1",
+ "warning": "^4.0.3"
+ },
+ "peerDependencies": {
+ "@types/react": ">=16.14.8",
+ "react": ">=16.14.0",
+ "react-dom": ">=16.14.0"
+ },
+ "peerDependenciesMeta": {
+ "@types/react": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/react-confirm-alert": {
+ "version": "3.0.6",
+ "resolved": "https://registry.npmjs.org/react-confirm-alert/-/react-confirm-alert-3.0.6.tgz",
+ "integrity": "sha512-rplP6Ed9ZSNd0KFV5BUzk4EPQ77BxsrayllBXGFuA8xPXc7sbBjgU5KUrNpl7aWFmP7mXRlVXfuy1IT5DbffYw==",
+ "peerDependencies": {
+ "react": ">=18.0.0",
+ "react-dom": ">=10.0.0"
+ }
+ },
+ "node_modules/react-dom": {
+ "version": "18.2.0",
+ "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz",
+ "integrity": "sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==",
+ "dependencies": {
+ "loose-envify": "^1.1.0",
+ "scheduler": "^0.23.0"
+ },
+ "peerDependencies": {
+ "react": "^18.2.0"
+ }
+ },
+ "node_modules/react-hook-form": {
+ "version": "7.43.4",
+ "resolved": "https://registry.npmjs.org/react-hook-form/-/react-hook-form-7.43.4.tgz",
+ "integrity": "sha512-JZp05wvmuV8qr3NNDWwyhiQL05sh9E8x/2NoWtkdiyyiezmwOr5pKexlvbCEfBMa7ZYrvzk88G/uhLl47T9b7Q==",
+ "engines": {
+ "node": ">=12.22.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/react-hook-form"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17 || ^18"
+ }
+ },
+ "node_modules/react-is": {
+ "version": "16.13.1",
+ "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz",
+ "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ=="
+ },
+ "node_modules/react-lifecycles-compat": {
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz",
+ "integrity": "sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA=="
+ },
+ "node_modules/react-transition-group": {
+ "version": "4.4.5",
+ "resolved": "https://registry.npmjs.org/react-transition-group/-/react-transition-group-4.4.5.tgz",
+ "integrity": "sha512-pZcd1MCJoiKiBR2NRxeCRg13uCXbydPnmB4EOeRrY7480qNWO8IIgQG6zlDkm6uRMsURXPuKq0GWtiM59a5Q6g==",
+ "dependencies": {
+ "@babel/runtime": "^7.5.5",
+ "dom-helpers": "^5.0.1",
+ "loose-envify": "^1.4.0",
+ "prop-types": "^15.6.2"
+ },
+ "peerDependencies": {
+ "react": ">=16.6.0",
+ "react-dom": ">=16.6.0"
+ }
+ },
+ "node_modules/react-window": {
+ "version": "1.8.8",
+ "resolved": "https://registry.npmjs.org/react-window/-/react-window-1.8.8.tgz",
+ "integrity": "sha512-D4IiBeRtGXziZ1n0XklnFGu7h9gU684zepqyKzgPNzrsrk7xOCxni+TCckjg2Nr/DiaEEGVVmnhYSlT2rB47dQ==",
+ "dependencies": {
+ "@babel/runtime": "^7.0.0",
+ "memoize-one": ">=3.1.1 <6"
+ },
+ "engines": {
+ "node": ">8.0.0"
+ },
+ "peerDependencies": {
+ "react": "^15.0.0 || ^16.0.0 || ^17.0.0 || ^18.0.0",
+ "react-dom": "^15.0.0 || ^16.0.0 || ^17.0.0 || ^18.0.0"
+ }
+ },
+ "node_modules/react-window/node_modules/memoize-one": {
+ "version": "5.2.1",
+ "resolved": "https://registry.npmjs.org/memoize-one/-/memoize-one-5.2.1.tgz",
+ "integrity": "sha512-zYiwtZUcYyXKo/np96AGZAckk+FWWsUdJ3cHGGmld7+AhvcWmQyGCYUh1hc4Q/pkOhb65dQR/pqCyK0cOaHz4Q=="
+ },
+ "node_modules/regenerator-runtime": {
+ "version": "0.13.11",
+ "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz",
+ "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg=="
+ },
+ "node_modules/rsuite": {
+ "version": "5.28.1",
+ "resolved": "https://registry.npmjs.org/rsuite/-/rsuite-5.28.1.tgz",
+ "integrity": "sha512-jBPEJj0CowWYmGa1IOckxiiIWPXehJgIH8SKSKL6cs+NOLiW6Q5SlnqUEjsbX+MzmFKrbU7cR1+sxyL3iRD6Zg==",
+ "dependencies": {
+ "@babel/runtime": "^7.20.1",
+ "@juggle/resize-observer": "^3.4.0",
+ "@rsuite/icons": "^1.0.2",
+ "@types/chai": "^4.3.3",
+ "@types/lodash": "^4.14.184",
+ "@types/prop-types": "^15.7.5",
+ "@types/react-window": "^1.8.5",
+ "classnames": "^2.3.1",
+ "date-fns": "^2.29.3",
+ "dom-lib": "^3.1.3",
+ "lodash": "^4.17.11",
+ "prop-types": "^15.8.1",
+ "react-window": "^1.8.8",
+ "rsuite-table": "^5.9.0",
+ "schema-typed": "^2.1.0"
+ },
+ "peerDependencies": {
+ "react": ">=16.8.0",
+ "react-dom": ">=16.8.0"
+ }
+ },
+ "node_modules/rsuite-table": {
+ "version": "5.9.0",
+ "resolved": "https://registry.npmjs.org/rsuite-table/-/rsuite-table-5.9.0.tgz",
+ "integrity": "sha512-1zA7o9e2vEFbz1Z/2Ud5bGK73ixHE/A2BYA/WYxODc+QyzxiOxJvve1vw70Q7V7iDl7paQ0aIutUhOHKw1KcKw==",
+ "dependencies": {
+ "@babel/runtime": "^7.12.5",
+ "@juggle/resize-observer": "^3.3.1",
+ "@rsuite/icons": "^1.0.0",
+ "classnames": "^2.3.1",
+ "dom-lib": "^3.1.3",
+ "lodash": "^4.17.21",
+ "react-is": "^17.0.2"
+ },
+ "peerDependencies": {
+ "prop-types": "^15.7.2",
+ "react": ">=16.8.0",
+ "react-dom": ">=16.8.0"
+ }
+ },
+ "node_modules/rsuite-table/node_modules/react-is": {
+ "version": "17.0.2",
+ "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz",
+ "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w=="
+ },
+ "node_modules/scheduler": {
+ "version": "0.23.0",
+ "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz",
+ "integrity": "sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==",
+ "dependencies": {
+ "loose-envify": "^1.1.0"
+ }
+ },
+ "node_modules/schema-typed": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/schema-typed/-/schema-typed-2.1.0.tgz",
+ "integrity": "sha512-qKe33FDv1fckflGD97BrTjU9s2mvclTHM+f720DTOGhiloUMP5QfzuQi/U92KfahWZQUCsEJHmyzXVATTU3oVA=="
+ },
+ "node_modules/size-sensor": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/size-sensor/-/size-sensor-1.0.1.tgz",
+ "integrity": "sha512-QTy7MnuugCFXIedXRpUSk9gUnyNiaxIdxGfUjr8xxXOqIB3QvBUYP9+b51oCg2C4dnhaeNk/h57TxjbvoJrJUA=="
+ },
+ "node_modules/source-map-js": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz",
+ "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/styled-jsx": {
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/styled-jsx/-/styled-jsx-5.1.1.tgz",
+ "integrity": "sha512-pW7uC1l4mBZ8ugbiZrcIsiIvVx1UmTfw7UkC3Um2tmfUq9Bhk8IiyEIPl6F8agHgjzku6j0xQEZbfA5uSgSaCw==",
+ "dependencies": {
+ "client-only": "0.0.1"
+ },
+ "engines": {
+ "node": ">= 12.0.0"
+ },
+ "peerDependencies": {
+ "react": ">= 16.8.0 || 17.x.x || ^18.0.0-0"
+ },
+ "peerDependenciesMeta": {
+ "@babel/core": {
+ "optional": true
+ },
+ "babel-plugin-macros": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/swr": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/swr/-/swr-2.0.4.tgz",
+ "integrity": "sha512-4GUiTjknRUVuw4MWUHR7mzJ9G/DWL+yZz/TgWDfiA0OZ9tL6qyrTkN2wPeboBpL3OJTkej3pexh3mWCnv8cFkQ==",
+ "dependencies": {
+ "use-sync-external-store": "^1.2.0"
+ },
+ "engines": {
+ "pnpm": "7"
+ },
+ "peerDependencies": {
+ "react": "^16.11.0 || ^17.0.0 || ^18.0.0"
+ }
+ },
+ "node_modules/tabulator-tables": {
+ "version": "5.4.4",
+ "resolved": "https://registry.npmjs.org/tabulator-tables/-/tabulator-tables-5.4.4.tgz",
+ "integrity": "sha512-WqPWLRwrD8UMISUjQqZyj6y9k3ajQBs7eJtRosbt9q8RRkZlYCJYGxLt3L44jEXaQCE5q5EJFbGeDUEDJa1a3w=="
+ },
+ "node_modules/tslib": {
+ "version": "2.5.0",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz",
+ "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg=="
+ },
+ "node_modules/uncontrollable": {
+ "version": "7.2.1",
+ "resolved": "https://registry.npmjs.org/uncontrollable/-/uncontrollable-7.2.1.tgz",
+ "integrity": "sha512-svtcfoTADIB0nT9nltgjujTi7BzVmwjZClOmskKu/E8FW9BXzg9os8OLr4f8Dlnk0rYWJIWr4wv9eKUXiQvQwQ==",
+ "dependencies": {
+ "@babel/runtime": "^7.6.3",
+ "@types/react": ">=16.9.11",
+ "invariant": "^2.2.4",
+ "react-lifecycles-compat": "^3.0.4"
+ },
+ "peerDependencies": {
+ "react": ">=15.0.0"
+ }
+ },
+ "node_modules/use-sync-external-store": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.2.0.tgz",
+ "integrity": "sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA==",
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0 || ^18.0.0"
+ }
+ },
+ "node_modules/warning": {
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/warning/-/warning-4.0.3.tgz",
+ "integrity": "sha512-rpJyN222KWIvHJ/F53XSZv0Zl/accqHR8et1kpaMTD/fLCRxtV8iX8czMzY7sVZupTI3zcUTg8eycS2kNF9l6w==",
+ "dependencies": {
+ "loose-envify": "^1.0.0"
+ }
+ },
+ "node_modules/zrender": {
+ "version": "5.4.1",
+ "resolved": "https://registry.npmjs.org/zrender/-/zrender-5.4.1.tgz",
+ "integrity": "sha512-M4Z05BHWtajY2241EmMPHglDQAJ1UyHQcYsxDNzD9XLSkPDqMq4bB28v9Pb4mvHnVQ0GxyTklZ/69xCFP6RXBA==",
+ "dependencies": {
+ "tslib": "2.3.0"
+ }
+ },
+ "node_modules/zrender/node_modules/tslib": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.0.tgz",
+ "integrity": "sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg=="
+ }
+ }
+}
diff --git a/package.json b/package.json
new file mode 100644
index 0000000..22e5967
--- /dev/null
+++ b/package.json
@@ -0,0 +1,37 @@
+{
+ "name": "test_doc",
+ "version": "0.1.0",
+ "private": true,
+ "scripts": {
+ "dev": "next dev",
+ "build": "next build",
+ "start": "next start",
+ "lint": "next lint"
+ },
+ "dependencies": {
+ "@ckeditor/ckeditor5-build-classic": "^36.0.1",
+ "@ckeditor/ckeditor5-react": "^5.1.0",
+ "@prisma/client": "^4.11.0",
+ "anychart": "^8.11.0",
+ "axios": "^1.3.4",
+ "bootstrap": "^5.2.3",
+ "bootstrap-icons": "^1.10.3",
+ "date-fns": "^2.29.3",
+ "echarts": "^5.4.1",
+ "echarts-for-react": "^3.0.2",
+ "jquery": "^3.6.3",
+ "next": "13.2.3",
+ "primeicons": "^6.0.1",
+ "react": "18.2.0",
+ "react-bootstrap": "^2.7.2",
+ "react-confirm-alert": "^3.0.6",
+ "react-dom": "18.2.0",
+ "react-hook-form": "^7.43.4",
+ "rsuite": "^5.28.1",
+ "swr": "^2.0.4",
+ "tabulator-tables": "^5.4.4"
+ },
+ "devDependencies": {
+ "prisma": "^4.11.0"
+ }
+}
diff --git a/pages/AutocompleteSearch.js b/pages/AutocompleteSearch.js
new file mode 100644
index 0000000..eb93a62
--- /dev/null
+++ b/pages/AutocompleteSearch.js
@@ -0,0 +1,46 @@
+import React from 'react'
+import { AutoComplete } from 'rsuite';
+
+const data = [
+ 'Eugenia',
+ 'Bryan',
+ 'Linda',
+ 'Nancy',
+ 'Lloyd',
+ 'Alice',
+ 'Julia',
+ 'Albert',
+ 'Louisa',
+ 'Lester',
+ 'Lola',
+ 'Lydia',
+ 'Hal',
+ 'Hannah',
+ 'Harriet',
+ 'Hattie',
+ 'Hazel',
+ 'Hilda'
+];
+const suffixes = ['@gmail.com', '@sina.com.cn', '@163.com', '@qq.com'];
+const AutocompleteSearch = () => {
+ const [data, setData] = React.useState([]);
+
+ const handleChange = value => {
+ const at = value.match(/@[\S]*/);
+ const nextData = at
+ ? suffixes
+ .filter(item => item.indexOf(at[0]) >= 0)
+ .map(item => {
+ return `${value}${item.replace(at[0], '')}`;
+ })
+ : suffixes.map(item => `${value}${item}`);
+
+ setData(nextData);
+ };
+
+ return (
+
+ );
+}
+
+export default AutocompleteSearch
\ No newline at end of file
diff --git a/pages/Components/AutoCompleteSearch.js b/pages/Components/AutoCompleteSearch.js
new file mode 100644
index 0000000..1323fe6
--- /dev/null
+++ b/pages/Components/AutoCompleteSearch.js
@@ -0,0 +1,168 @@
+import React, { useState, useEffect } from 'react'
+import { Card } from 'react-bootstrap';
+import { getSearchResults } from './TabulatorData';
+import '../jqueryloader'
+
+const Search = () => {
+ const [searchTerm, updateSearchTerm] = useState('');
+ const [filteredResults, updateFilteredResults] = useState([]);
+ const [searchResults, updateSearchResults] = useState([]);
+ const [displayResults, updateDisplayResults] = useState(false);
+ const [focusIndex, updateFocusIndex] = useState(-1);
+ const linkRefs = [];
+ const keys = {
+ ENTER: 13,
+ UP: 38,
+ DOWN: 40
+ };
+
+ useEffect(() => {
+ const getSearchResult = () => {
+ // ⚠️ This is where you should pull data in from your server
+ const searchResultsResponse = getSearchResults();
+
+ updateSearchResults(searchResultsResponse);
+ };
+
+ getSearchResult();
+ }, []);
+
+ const updateSearch = e => {
+ var input = e.target?.value;
+ updateSearchTerm(e.target.value);
+ updateFilteredResults(searchResults.filter(result =>{
+ if(input?.length >= 3){
+ return result.title.match(new RegExp(e.target.value, 'gi'))
+ }
+ }))
+ };
+
+ const hideAutoSuggest = e => {
+ e.persist();
+
+ if (e.relatedTarget && e.relatedTarget.className === 'autosuggest-link') {
+ return false;
+ }
+ updateDisplayResults(true);
+ updateFocusIndex(-1);
+ };
+
+ const showAutoSuggest = () => {
+ updateDisplayResults(false);
+ };
+ const handleInput = (e) =>{
+ var input = e.target?.value;
+ $('.search-suggestions').css('display', 'block');
+ if(input?.length === 0){
+ $('.search-suggestions').css('display', 'none');
+ }
+ }
+ const handleNavigation = e => {
+ switch (e.keyCode) {
+ case keys.ENTER:
+ if (focusIndex !== -1) {
+ window.open(linkRefs[focusIndex].href);
+ }
+ hideAutoSuggest(e);
+ break;
+ case keys.UP:
+
+ if (focusIndex > -1) {
+ updateFocusIndex(focusIndex - 1);
+ }
+ break;
+ case keys.DOWN:
+
+ if (focusIndex < filteredResults.length - 1) {
+ updateFocusIndex(focusIndex + 1);
+ }
+ break;
+ }
+ };
+
+ const SearchResults = () => {
+ const Message = ({ text }) => (
+
+
{text}
+
+
+ );
+
+ if (!displayResults) {
+ return null;
+ }
+
+ if (!searchResults.length) {
+ return
+ }
+
+ if (!searchTerm) {
+ return
+ }
+
+ if (!filteredResults.length) {
+ return
+ }
+
+ return (
+
+ {filteredResults.map((article, index) => (
+ -
+ {/* ⚠️ You may want to outsource this part to make the component less heavy */}
+
+
+ ))}
+
+ );
+ }
+
+ return (
+
+ );
+}
+
+function Highlight({ children: text = "", tags }) {
+ if (!tags?.length) return text;
+ const matches = [...text.matchAll(new RegExp(tags, "ig"))];
+ const startText = text.slice(0, matches[0]?.index);
+ return (
+
+ {startText}
+ {matches.map((match, i) => {
+ const startIndex = match.index;
+ const currentText = match[0];
+ const endIndex = startIndex + currentText.length;
+ const nextIndex = matches[i + 1]?.index;
+ const untilNextText = text.slice(endIndex, nextIndex);
+ return (
+
+ {currentText}{untilNextText}
+
+ );
+ })}
+
+ );
+}
+export default Search;
\ No newline at end of file
diff --git a/pages/Components/IndexedDB/Indexed.jsx b/pages/Components/IndexedDB/Indexed.jsx
new file mode 100644
index 0000000..6e09b52
--- /dev/null
+++ b/pages/Components/IndexedDB/Indexed.jsx
@@ -0,0 +1,351 @@
+import React, { useEffect, useMemo, useState } from "react";
+import { USER_DATA } from "./data";
+
+var idb;
+
+const insertDataInIndexedDb = () => {
+
+if(typeof window !== 'undefined'){
+ idb = window.indexedDB ||
+ window.mozIndexedDB ||
+ window.webkitIndexedDB ||
+ window.msIndexedDB ||
+ window.shimIndexedDB;
+}
+ //check for support
+ if (!idb) {
+ console.log("This browser doesn't support IndexedDB");
+ return;
+ }
+
+ const request = idb.open("test-db", 1);
+
+ request.onerror = function (event) {
+ console.error("An error occurred with IndexedDB");
+ console.error(event);
+ };
+
+ request.onupgradeneeded = function (event) {
+ console.log(event);
+ const db = request.result;
+
+ if (!db.objectStoreNames.contains("userData")) {
+ const objectStore = db.createObjectStore("userData", { keyPath: "id" });
+
+ objectStore.createIndex("age", "age", {
+ unique: false,
+ });
+ }
+ };
+
+ request.onsuccess = function () {
+ console.log("Database opened successfully");
+
+ const db = request.result;
+
+ var tx = db.transaction("userData", "readwrite");
+ var userData = tx.objectStore("userData");
+
+ USER_DATA.forEach((item) => userData.add(item));
+
+ return tx.complete;
+ };
+};
+
+const App = () => {
+ const [allUsers, setAllUsers] = useState([]);
+ const [addUser, setAddUser] = useState(false);
+ const [editUser, setEditUser] = useState(false);
+ const [firstName, setFirstName] = useState("");
+ const [lastName, setLastName] = useState("");
+ const [email, setEmail] = useState("");
+ const [selectedUser, setSelectedUser] = useState({});
+ const [age, setAge] = useState('');
+ const [minAge, setMinAge] = useState('');
+ const [maxAge, setMaxAge] = useState('');
+
+
+ useEffect(() => {
+ insertDataInIndexedDb();
+ getAllData();
+ // getAgeWiseData();
+ }, []);
+
+ const getAgeWiseData = () => {
+ try {
+ const dbPromise = idb.open("test-db", 1);
+ const filteredRecords = []
+
+ // const keyRangeValue = IDBKeyRange.lowerBound(12);
+ // const keyRangeValue = IDBKeyRange.upperBound(12);
+ const keyRangeValue = IDBKeyRange.bound(parseInt(minAge), parseInt(maxAge), false, false);
+ // If true then these values are not included other wise these will be included.
+ dbPromise.onsuccess = function () {
+ const db = dbPromise.result;
+
+ if (db.objectStoreNames.contains('userData')) {
+ const transaction = db.transaction('userData', "readonly");
+ const objectStore = transaction.objectStore('userData');
+
+ const dataIdIndex = objectStore.index("age");
+ dataIdIndex.openCursor(keyRangeValue).onsuccess = function (event) {
+ const cursor = event.target.result;
+ if (cursor) {
+ if (cursor.value) {
+ if (parseInt(cursor.value.age) > 0) {
+ console.log(cursor.value);
+ filteredRecords.push(cursor.value)
+ }
+ }
+
+ cursor.continue();
+ }
+ };
+
+ transaction.oncomplete = function (event) {
+ setAllUsers(filteredRecords)
+ db.close();
+ };
+ }
+ };
+ } catch (error) {
+ console.log(error);
+ }
+}
+
+ const getAllData = () => {
+ const dbPromise = idb.open("test-db", 1);
+ dbPromise.onsuccess = () => {
+ const db = dbPromise.result;
+
+ var tx = db.transaction("userData", "readonly");
+ var userData = tx.objectStore("userData");
+ const users = userData.getAll();
+
+ users.onsuccess = (query) => {
+ setAllUsers(query.srcElement.result);
+ };
+
+ tx.oncomplete = function () {
+ db.close();
+ };
+ };
+ };
+
+ const handleSubmit = (event) => {
+ const dbPromise = idb.open("test-db", 1);
+ console.log(addUser, editUser);
+
+ if (firstName && lastName && email) {
+ dbPromise.onsuccess = () => {
+ const db = dbPromise.result;
+
+ var tx = db.transaction("userData", "readwrite");
+ var userData = tx.objectStore("userData");
+
+ console.log(addUser, editUser);
+ console.log(addUser, editUser);
+ if (addUser) {
+ const users = userData.put({
+ id: allUsers?.length + 1,
+ firstName,
+ lastName,
+ email,
+ age,
+ });
+
+ console.log("add");
+ users.onsuccess = (query) => {
+ tx.oncomplete = function () {
+ db.close();
+ };
+ alert("User added!");
+ setFirstName("");
+ setLastName("");
+ setEmail("");
+ setAge('')
+ setAddUser(false);
+ getAllData();
+ event.preventDefault();
+ };
+ } else {
+ const users = userData.put({
+ id: selectedUser?.id,
+ firstName,
+ lastName,
+ email,
+ age,
+ });
+ console.log("edit");
+
+ users.onsuccess = (query) => {
+ tx.oncomplete = function () {
+ db.close();
+ };
+ alert("User updated!");
+ setFirstName("");
+ setLastName("");
+ setEmail("");
+ setAge('')
+ setEditUser(false);
+ getAllData();
+ setSelectedUser({});
+ event.preventDefault();
+ };
+ }
+ };
+ } else {
+ alert("Please enter all details");
+ }
+ };
+
+ const deleteSelected = (user) => {
+ const dbPromise = idb.open("test-db", 1);
+
+ dbPromise.onsuccess = function () {
+ const db = dbPromise.result;
+ var tx = db.transaction("userData", "readwrite");
+ var userData = tx.objectStore("userData");
+ const deleteUser = userData.delete(user.id);
+
+ deleteUser.onsuccess = (query) => {
+ tx.oncomplete = function () {
+ db.close();
+ };
+ alert("User deleted!");
+ getAllData();
+ };
+ };
+ };
+
+ return (
+
+
+
+
+
+
+ First Name |
+ Last Name |
+ Age |
+ Email |
+ Actions |
+
+
+
+ {allUsers?.map((user) => {
+ return (
+
+ {user?.firstName} |
+ {user?.lastName} |
+ {user?.age} |
+ {user?.email} |
+
+ {" "}
+
+ |
+
+ );
+ })}
+
+
+
+
+ {editUser || addUser ? (
+
+
{editUser ? "Update User" : "Add User"}
+
+
+ setFirstName(e.target.value)}
+ value={firstName}
+ />
+
+
+
+ setLastName(e.target.value)}
+ value={lastName}
+ />
+
+
+
+ setAge(e.target.value)}
+ value={age}
+ />
+
+
+
+ setEmail(e.target.value)}
+ value={email}
+ />
+
+
+
+
+
+ ) : null}
+
+
+ );
+};
+
+export default App;
\ No newline at end of file
diff --git a/pages/Components/IndexedDB/data.js b/pages/Components/IndexedDB/data.js
new file mode 100644
index 0000000..1ac6f10
--- /dev/null
+++ b/pages/Components/IndexedDB/data.js
@@ -0,0 +1,16 @@
+export const USER_DATA = [
+ {
+ id: 1,
+ firstName: "Suman",
+ lastName: "Kumar",
+ email: "suman@test.com",
+ age: 10
+ },
+ {
+ id: 2,
+ firstName: "Rahul",
+ lastName: "Kumar",
+ email: "rahul@test.com",
+ age: 15
+ },
+];
\ No newline at end of file
diff --git a/pages/Components/Prisma/CreateUser.js b/pages/Components/Prisma/CreateUser.js
new file mode 100644
index 0000000..6a81bbf
--- /dev/null
+++ b/pages/Components/Prisma/CreateUser.js
@@ -0,0 +1,50 @@
+import prisma from '@/lib/Prisma';
+import React from 'react'
+import useSWR from 'swr'
+
+function CreateUser(props){
+ const data = props?.feed;
+ const [userinfo, setUserInfo] = React.useState();
+ const token = userinfo?.map((item)=>{
+ return item?.token;
+ })
+ // console.log(token);
+ const details = userinfo?.map((item)=>{
+ return item?.details;
+ })
+ const language = details?.map((item, index)=>{
+ return item[index]?.language;
+ })
+ // console.log(language);
+ const module_version = details?.map((item, index)=>{
+ return item[index]?.module_version;
+ })
+ // console.log(module_version);
+ React.useEffect(()=>{
+ setUserInfo(data)
+ },[])
+ return (
+ <>
+ {token && Token : {token}
}
+ {language && Language : {language}
}
+ {module_version && Module_Version : {module_version}
}
+ >
+ )
+}
+
+export const getStaticProps = async () => {
+ // Fetch data from external API
+ const feed = await prisma.users.findMany({
+ select: {
+ token: true,
+ details: true
+ }
+ })
+
+ // Pass data to the page via props
+ return {
+ props: { feed },
+ // revalidate: 10,
+ }
+}
+export default CreateUser
\ No newline at end of file
diff --git a/pages/Components/Prisma/Users.js b/pages/Components/Prisma/Users.js
new file mode 100644
index 0000000..4dba9d0
--- /dev/null
+++ b/pages/Components/Prisma/Users.js
@@ -0,0 +1,49 @@
+import axios from 'axios';
+import Router from 'next/router';
+import React, { useEffect } from 'react'
+import useSWR from 'swr'
+
+const Users = (props) => {
+ const address = `/api/users`;
+ const fetcher = async (address) => await axios.get(address).then(async (res)=>await res.data);
+ const {data, error} = useSWR(address, fetcher, { refreshInterval: 1000 });
+ if(error){
+ console.log('error in finding data');
+ }
+ const deletePost = async postID => {
+ await fetch(`/api/DeleteUser?id=${postID}`, {
+ method: "DELETE",
+ headers: {"Content-Type": "application/json"}
+ });
+ // await Router.reload()
+ }
+ useEffect((postID)=>{
+ deletePost(postID)
+ }, [])
+ return (
+ <>
+ Data :
+ {data?.map((item, index)=>{
+ return(
+
+ {item?.name}
+ {item?.email}
+ {item?.details?.map((item, index)=>{
+ return(
+ <>
+
{item?.unique_id}
+ {item?.module_version}
+ {item?.language}
+ >
+ )
+ })}
+
+
+ )
+ })}
+
+ >
+ )
+}
+
+export default Users;
\ No newline at end of file
diff --git a/pages/Components/TabulatorData.js b/pages/Components/TabulatorData.js
new file mode 100644
index 0000000..0d12600
--- /dev/null
+++ b/pages/Components/TabulatorData.js
@@ -0,0 +1,234 @@
+import subDays from 'date-fns/subDays';
+import startOfWeek from 'date-fns/startOfWeek';
+import endOfWeek from 'date-fns/endOfWeek';
+import addDays from 'date-fns/addDays';
+import startOfMonth from 'date-fns/startOfMonth';
+import endOfMonth from 'date-fns/endOfMonth';
+import addMonths from 'date-fns/addMonths';
+
+export const tableData = [
+ {id:1, name:"Billy Bob", age:"12", gender:"male", height:1, col:"red", dob:"", cheese:1},
+ {id:2, name:"Mary May", age:"1", gender:"female", height:2, col:"blue", dob:"14/05/1982", cheese:true},
+ {id:3, name:"Christine Lobowski", age:"42", height:0, col:"green", dob:"22/05/1982", cheese:"true"},
+ {id:4, name:"Brendon Philips", age:"125", gender:"male", height:1, col:"orange", dob:"01/08/1980"},
+ {id:5, name:"Margret Marmajuke", age:"16", gender:"female", height:5, col:"yellow", dob:"31/01/1999"},
+ {id:6, name:"Billy Bob", age:"12", gender:"male", height:1, col:"red", dob:"", cheese:1},
+ {id:7, name:"Mary May", age:"1", gender:"female", height:2, col:"blue", dob:"14/05/1982", cheese:true},
+ {id:8, name:"Christine Lobowski", age:"42", height:0, col:"green", dob:"22/05/1982", cheese:"true"},
+ {id:9, name:"Brendon Philips", age:"125", gender:"male", height:1, col:"orange", dob:"01/08/1980"},
+ {id:10, name:"Margret Marmajuke", age:"16", gender:"female", height:5, col:"yellow", dob:"31/01/1999"},
+ {id:11, name:"Margretuke", age:"16", gender:"female", height:5, col:"yellow", dob:"31/01/1999"},
+ {id:12, name:"Magretarmajuke", age:"16", gender:"female", height:5, col:"yellow", dob:"31/01/1999"},
+ {id:13, name:"MarMarmajuke", age:"16", gender:"female", height:5, col:"yellow", dob:"31/01/1999"},
+ {id:14, name:"Marmajuke", age:"16", gender:"female", height:5, col:"yellow", dob:"31/01/1999"},
+ {id:15, name:"Abcd", age:"16", gender:"female", height:5, col:"yellow", dob:"31/01/1999"},
+ {id:16, name:"Efgh", age:"16", gender:"female", height:5, col:"yellow", dob:"31/01/1999"},
+ {id:17, name:"Ijklm", age:"16", gender:"female", height:5, col:"yellow", dob:"31/01/1999"},
+ {id:18, name:"Nopqr", age:"16", gender:"female", height:5, col:"yellow", dob:"31/01/1999"},
+]
+export const tableData1 = [
+ {id:"1", micro:"", tier:"Tier 1", name:"Amma Aoddler Alayton", ct:"", rank:"1", score:"1", numevc:"1", numspc:"7", numocc:"5", numed:"7", numia:"5", numas:"3", numeb:"2", numec:"2", numgc:"4", nump:"4", leadc:"9", numma:"7", numsa:"6", numfa:"5", numla:"8", numtc:"6", numic:"5", ref:"1", kref:"3", oref:"2", profile_type:"test", my_kols:"test"},
+ {id:"2", micro:"", tier:"Tier 1", name:"Bmma Boddler Blayton ", ct:"", rank:"2", score:"2", numevc:"2", numspc:"7", numocc:"5", numed:"7", numia:"5", numas:"3", numeb:"2", numec:"2", numgc:"4", nump:"4", leadc:"9", numma:"7", numsa:"6", numfa:"5", numla:"8", numtc:"6", numic:"5", ref:"1", kref:"3", oref:"2", profile_type:"test", my_kols:"test"},
+ {id:"3", micro:"", tier:"Tier 1", name:"Cmma Coddler Clayton", ct:"", rank:"3", score:"3", numevc:"3", numspc:"7", numocc:"5", numed:"7", numia:"5", numas:"3", numeb:"2", numec:"2", numgc:"4", nump:"4", leadc:"9", numma:"7", numsa:"6", numfa:"5", numla:"8", numtc:"6", numic:"5", ref:"1", kref:"3", oref:"2", profile_type:"test", my_kols:"test"},
+ {id:"4", micro:"", tier:"Tier 1", name:"Dmma Doddler Dlayton", ct:"", rank:"4", score:"4", numevc:"4", numspc:"7", numocc:"5", numed:"7", numia:"5", numas:"3", numeb:"2", numec:"2", numgc:"4", nump:"4", leadc:"9", numma:"7", numsa:"6", numfa:"5", numla:"8", numtc:"6", numic:"5", ref:"1", kref:"3", oref:"2", profile_type:"test", my_kols:"test"},
+ {id:"5", micro:"", tier:"Tier 1", name:"Emma Eoddler Elayton", ct:"", rank:"5", score:"5", numevc:"5", numspc:"7", numocc:"5", numed:"7", numia:"5", numas:"3", numeb:"2", numec:"2", numgc:"4", nump:"4", leadc:"9", numma:"7", numsa:"6", numfa:"5", numla:"8", numtc:"6", numic:"5", ref:"1", kref:"3", oref:"2", profile_type:"test", my_kols:"test"},
+ {id:"6", micro:"", tier:"Tier 1", name:"Fmma Foddler Flayton", ct:"", rank:"6", score:"6", numevc:"6", numspc:"7", numocc:"5", numed:"7", numia:"5", numas:"3", numeb:"2", numec:"2", numgc:"4", nump:"4", leadc:"9", numma:"7", numsa:"6", numfa:"5", numla:"8", numtc:"6", numic:"5", ref:"1", kref:"3", oref:"2", profile_type:"test", my_kols:"test"},
+ {id:"7", micro:"", tier:"Tier 1", name:"Gmma Goddler Glayton", ct:"", rank:"7", score:"7", numevc:"7", numspc:"7", numocc:"5", numed:"7", numia:"5", numas:"3", numeb:"2", numec:"2", numgc:"4", nump:"4", leadc:"9", numma:"7", numsa:"6", numfa:"5", numla:"8", numtc:"6", numic:"5", ref:"1", kref:"3", oref:"2", profile_type:"test", my_kols:"test"},
+ {id:"8", micro:"", tier:"Tier 1", name:"Hmma Hoddler Hlayton", ct:"", rank:"8", score:"8", numevc:"8", numspc:"7", numocc:"5", numed:"7", numia:"5", numas:"3", numeb:"2", numec:"2", numgc:"4", nump:"4", leadc:"9", numma:"7", numsa:"6", numfa:"5", numla:"8", numtc:"6", numic:"5", ref:"1", kref:"3", oref:"2", profile_type:"test", my_kols:"test"},
+ {id:"9", micro:"", tier:"Tier 1", name:"Imma Ioddler Ilayton", ct:"", rank:"9", score:"9", numevc:"9", numspc:"7", numocc:"5", numed:"7", numia:"5", numas:"3", numeb:"2", numec:"2", numgc:"4", nump:"4", leadc:"9", numma:"7", numsa:"6", numfa:"5", numla:"8", numtc:"6", numic:"5", ref:"1", kref:"3", oref:"2", profile_type:"test", my_kols:"test"},
+ {id:"10", micro:"", tier:"Tier 1", name:"Jmma Joddler Jlayton", ct:"", rank:"10", score:"10", numevc:"10", numspc:"7", numocc:"5", numed:"7", numia:"5", numas:"3", numeb:"2", numec:"2", numgc:"4", nump:"4", leadc:"9", numma:"7", numsa:"6", numfa:"5", numla:"8", numtc:"6", numic:"5", ref:"1", kref:"3", oref:"2", profile_type:"test", my_kols:"test"},
+ {id:"11", micro:"", tier:"Tier 1", name:"Kmma Koddler Klayton", ct:"", rank:"11", score:"11", numevc:"11", numspc:"7", numocc:"5", numed:"7", numia:"5", numas:"3", numeb:"2", numec:"2", numgc:"4", nump:"4", leadc:"9", numma:"7", numsa:"6", numfa:"5", numla:"8", numtc:"6", numic:"5", ref:"1", kref:"3", oref:"2", profile_type:"test", my_kols:"test"},
+ {id:"12", micro:"", tier:"Tier 1", name:"Mmma Moddler Mlayton", ct:"", rank:"12", score:"12", numevc:"12", numspc:"7", numocc:"5", numed:"7", numia:"5", numas:"3", numeb:"2", numec:"2", numgc:"4", nump:"4", leadc:"9", numma:"7", numsa:"6", numfa:"5", numla:"8", numtc:"6", numic:"5", ref:"1", kref:"3", oref:"2", profile_type:"test", my_kols:"test"},
+ {id:"13", micro:"", tier:"Tier 1", name:"Nmma Noddler Nlayton", ct:"", rank:"13", score:"13", numevc:"13", numspc:"7", numocc:"5", numed:"7", numia:"5", numas:"3", numeb:"2", numec:"2", numgc:"4", nump:"4", leadc:"9", numma:"7", numsa:"6", numfa:"5", numla:"8", numtc:"6", numic:"5", ref:"1", kref:"3", oref:"2", profile_type:"test", my_kols:"test"},
+ {id:"14", micro:"", tier:"Tier 1", name:"Omma Ooddler Olayton", ct:"", rank:"14", score:"14", numevc:"14", numspc:"7", numocc:"5", numed:"7", numia:"5", numas:"3", numeb:"2", numec:"2", numgc:"4", nump:"4", leadc:"9", numma:"7", numsa:"6", numfa:"5", numla:"8", numtc:"6", numic:"5", ref:"1", kref:"3", oref:"2", profile_type:"test", my_kols:"test"},
+ {id:"15", micro:"", tier:"Tier 1", name:"Pmma Poddler Playton", ct:"", rank:"15", score:"15", numevc:"15", numspc:"7", numocc:"5", numed:"7", numia:"5", numas:"3", numeb:"2", numec:"2", numgc:"4", nump:"4", leadc:"9", numma:"7", numsa:"6", numfa:"5", numla:"8", numtc:"6", numic:"5", ref:"1", kref:"3", oref:"2", profile_type:"test", my_kols:"test"},
+]
+
+export const data = [
+ 'Eugenia',
+ 'Bryan',
+ 'Linda',
+ 'Nancy',
+ 'Lloyd',
+ 'Alice',
+ 'Julia',
+ 'Albert',
+ 'Louisa',
+ 'Lester',
+ 'Lola',
+ 'Lydia',
+ 'Hal',
+ 'Hannah',
+ 'Harriet',
+ 'Hattie',
+ 'Hazel',
+ 'Hilda'
+].map(item => ({ label: item, value: item }));
+
+export const predefinedRanges = [
+ {
+ label: 'Today',
+ value: [new Date(), new Date()],
+ placement: 'left'
+ },
+ {
+ label: 'Yesterday',
+ value: [addDays(new Date(), -1), addDays(new Date(), -1)],
+ placement: 'left'
+ },
+ {
+ label: 'This week',
+ value: [startOfWeek(new Date()), endOfWeek(new Date())],
+ placement: 'left'
+ },
+ {
+ label: 'Last 7 days',
+ value: [subDays(new Date(), 6), new Date()],
+ placement: 'left'
+ },
+ {
+ label: 'Last 30 days',
+ value: [subDays(new Date(), 29), new Date()],
+ placement: 'left'
+ },
+ {
+ label: 'This month',
+ value: [startOfMonth(new Date()), new Date()],
+ placement: 'left'
+ },
+ {
+ label: 'Last month',
+ value: [startOfMonth(addMonths(new Date(), -1)), endOfMonth(addMonths(new Date(), -1))],
+ placement: 'left'
+ },
+ {
+ label: 'This year',
+ value: [new Date(new Date().getFullYear(), 0, 1), new Date()],
+ placement: 'left'
+ },
+ {
+ label: 'Last year',
+ value: [new Date(new Date().getFullYear() - 1, 0, 1), new Date(new Date().getFullYear(), 0, 0)],
+ placement: 'left'
+ },
+ {
+ label: 'All time',
+ value: [new Date(new Date().getFullYear() - 1, 0, 1), new Date()],
+ placement: 'left'
+ },
+ {
+ label: 'Last week',
+ closeOverlay: false,
+ value: value => {
+ const [start = new Date()] = value || [];
+ return [
+ addDays(startOfWeek(start, { weekStartsOn: 0 }), -7),
+ addDays(endOfWeek(start, { weekStartsOn: 0 }), -7)
+ ];
+ },
+ appearance: 'default'
+ },
+ {
+ label: 'Next week',
+ closeOverlay: false,
+ value: value => {
+ const [start = new Date()] = value || [];
+ return [
+ addDays(startOfWeek(start, { weekStartsOn: 0 }), 7),
+ addDays(endOfWeek(start, { weekStartsOn: 0 }), 7)
+ ];
+ },
+ appearance: 'default'
+ }
+];
+export const getSearchResults = () => [
+ {
+ image: '',
+ link: 'webtips.dev/how-to-improve-data-fetching-in-react-with-suspense',
+ title: 'React msncjbdv'
+ },
+ {
+ image: '',
+ link: 'webtips.dev/how-to-improve-data-fetching-in-react-with-suspense',
+ title: 'Node smcnjknjsncj'
+ },
+ {
+ image: '',
+ link: 'webtips.dev/how-to-improve-data-fetching-in-react-with-suspense',
+ title: 'Next msnjcknsjkcjk'
+ },
+ {
+ image: 'url/to/img.jpg',
+ link: 'webtips.dev/how-to-improve-data-fetching-in-react-with-suspense',
+ title: 'Javascript s nc nscn '
+ },
+ {
+ image: 'url/to/img.jpg',
+ link: 'webtips.dev/how-to-improve-data-fetching-in-react-with-suspense',
+ title: 'NextJs ncndjnjnsdnscn '
+ },
+];
+
+export const getPieChartData = () =>[
+ {
+ value: 1,
+ title: 'ReactJs Library'
+ },
+ {
+ value: 2,
+ title: 'NodeJS package manager'
+ },
+ {
+ value: 3,
+ title: 'Next Framework'
+ },
+ {
+ value: 4,
+ title: 'Javascript library'
+ },
+ {
+ value: 5,
+ title: 'PHP Core'
+ },
+ {
+ value: 6,
+ title: 'Laravel Framework'
+ },
+]
+
+export const getBarchartData = () =>[
+ {
+ name : "Forest",
+ data : [320, 332, 301, 334, 390]
+ },
+ {
+ name : "Steppe",
+ data : [220, 182, 191, 234, 290]
+ },
+ {
+ name : 'Desert',
+ data : [150, 232, 240, 154, 190]
+ },
+ {
+ name : 'Wetland',
+ data : [98, 77, 101, 99, 40]
+ }
+]
+
+export const wordcloudData = () => [
+ {"x": "Mandarin chinese", "value": 1090000000, category: "Sino-Tibetan"},
+ {"x": "English", "value": 983000000, category: "Indo-European"},
+ {"x": "Hindustani", "value": 544000000, category: "Indo-European"},
+ {"x": "Spanish", "value": 527000000, category: "Indo-European"},
+ {"x": "Arabic", "value": 422000000, category: "Afro-Asiatic"},
+ {"x": "Malay", "value": 281000000, category: "Austronesian"},
+ {"x": "Russian", "value": 267000000, category: "Indo-European"},
+ {"x": "Bengali", "value": 261000000, category: "Indo-European"},
+ {"x": "Portuguese", "value": 229000000, category: "Indo-European"},
+ {"x": "French", "value": 229000000, category: "Indo-European"},
+ {"x": "Hausa", "value": 150000000, category: "Afro-Asiatic"},
+ {"x": "Punjabi", "value": 148000000, category: "Indo-European"},
+ {"x": "Japanese", "value": 129000000, category: "Japonic"},
+ {"x": "German", "value": 129000000, category: "Indo-European"},
+ {"x": "Persian", "value": 121000000, category: "Indo-European"}
+];
\ No newline at end of file
diff --git a/pages/Components/echarts/Barchart.js b/pages/Components/echarts/Barchart.js
new file mode 100644
index 0000000..6d2afba
--- /dev/null
+++ b/pages/Components/echarts/Barchart.js
@@ -0,0 +1,107 @@
+import React, { useEffect, useState } from 'react'
+import ReactEcharts from "echarts-for-react";
+import { Col, Container, Row } from 'react-bootstrap';
+import { getBarchartData } from '../TabulatorData';
+
+let option;
+var app = {};
+const Barchart = () => {
+ const [apiData1, setapiData1] = useState()
+ const series = apiData1?.map((item)=>({
+ name: item?.name,
+ data: item?.data,
+ }))
+ app.config = {
+ rotate: 67,
+ align: 'right',
+ verticalAlign: 'middle',
+ position: 'bottom',
+ distance: 6,
+ };
+ const labelOption = {
+ show: true,
+ position: app.config.position,
+ distance: app.config.distance,
+ align: app.config.align,
+ verticalAlign: app.config.verticalAlign,
+ rotate: app.config.rotate,
+ formatter: '{c} {name|{a}}',
+ fontSize: 12,
+ rich: {
+ name: {
+ color: 'red',
+ fontSize: 12,
+ },
+ }
+ };
+
+ option = {
+ tooltip: {
+ trigger: 'axis',
+ axisPointer: {
+ type: 'shadow'
+ }
+ },
+ legend: {
+ data: series?.map(item => item?.name),
+ top:"2%",
+ },
+ toolbox: {
+ show: true,
+ orient: 'vertical',
+ left: 'right',
+ top: 'center',
+ feature: {
+ mark: { show: true },
+ dataView: { show: true, readOnly: false },
+ magicType: { show: true, type: ['bar', 'line'] },
+ restore: { show: true },
+ saveAsImage: {
+ type: "svg"
+ }
+ }
+ },
+ xAxis: [
+ {
+ type: 'category',
+ axisTick: { show: false },
+ data: ['', '', '', '', ''],
+ boundaryGap: true,
+ triggerEvent : true
+ },
+ ],
+ yAxis: [
+ {
+ type: 'value',
+ }
+ ],
+ series: series?.map((item, index) => Object.assign(item, {
+ type: 'bar',
+ label: labelOption,
+ }))
+ };
+useEffect(()=>{
+ // Echarts Barchart
+ const getBarChartResult = () => {
+ // ⚠️ This is where you should pull data in from your server
+ const barchartResultsResponse = getBarchartData();
+ setapiData1(barchartResultsResponse);
+ };
+ getBarChartResult();
+ // Echarts Barchart end
+}, [])
+ return (
+ <>
+
+
+
+
+
+
+
+ >
+ )
+}
+
+export default Barchart
+
diff --git a/pages/Components/echarts/Bubblechart.js b/pages/Components/echarts/Bubblechart.js
new file mode 100644
index 0000000..59f77ac
--- /dev/null
+++ b/pages/Components/echarts/Bubblechart.js
@@ -0,0 +1,56 @@
+import React, { useEffect, useState } from 'react'
+import { Col, Container, Row } from 'react-bootstrap';
+import ReactEcharts from "echarts-for-react";
+import axios from 'axios';
+
+const bubblechart = () => {
+ const [apiData2, setapiData2] = useState()
+ const scatterData = apiData2?.map((item)=>({
+ name: item?.title,
+ value: [item?.id, item?.discountPercentage, item?.title],
+ itemStyle: 'blue'
+ }));
+ const option2 = {
+ xAxis: {},
+ yAxis: {},
+ tooltip: {
+ triggerOn: "mousemove",
+ alwaysShowContent: true,
+ position: 'top'
+ },
+ series: [
+ {
+ symbolSize: 20,
+ data: scatterData,
+ type: 'scatter'
+ }
+ ]
+ };
+ const onBubbleChartClick = (params) => {
+ console.log('Chart clicked', params);
+ };
+ const onEvents = {
+ click: onBubbleChartClick,
+ };
+ useEffect(()=>{
+ axios.get('https://dummyjson.com/products')
+ .then(res => {
+ const values = res?.data?.products;
+ setapiData2(values);
+ })
+
+ },[])
+ return (
+ <>
+
+
+
+
+
+
+
+ >
+ )
+}
+
+export default bubblechart
\ No newline at end of file
diff --git a/pages/Components/echarts/Pichart.js b/pages/Components/echarts/Pichart.js
new file mode 100644
index 0000000..41ba4a8
--- /dev/null
+++ b/pages/Components/echarts/Pichart.js
@@ -0,0 +1,73 @@
+import React, { useEffect, useState } from 'react';
+import ReactEcharts from "echarts-for-react";
+import { Col, Container, Row } from 'react-bootstrap';
+import axios from 'axios';
+import { getPieChartData } from '../TabulatorData';
+
+function pichart(){
+ const [apiData, setapiData] = useState()
+ const option = {
+ tooltip: {
+ trigger: 'item',
+ },
+ legend: {
+ type:'scroll',
+ orient: "horizontal",
+ bottom : "0%",
+ legendHoverLink: true,
+ },
+ series: [
+ {
+ type: 'pie',
+ data: apiData?.map((item, index)=>{
+ return(
+ { value: item?.value, name: item?.title }
+ )
+ }),
+ label: {
+ width: 64,
+ overflow: "break",
+ fontSize: 12,
+ fontWeight : 'normal'
+ },
+ labelLine: {
+ width : 1.5,
+ length2: 7,
+ length: 7
+ },
+ width: "100%",
+ height: "100%",
+ center : ['48%', '50%']
+ }
+ ]
+ };
+
+ const onChartClick = (params) => {
+ console.log('Chart clicked', params);
+ };
+ const onEvents = {
+ click: onChartClick,
+ };
+ useEffect(()=>{
+ const getPieChartResult = () => {
+ // ⚠️ This is where you should pull data in from your server
+ const piechartResultsResponse = getPieChartData();
+ setapiData(piechartResultsResponse);
+ };
+ getPieChartResult();
+},[])
+ return (
+ <>
+
+
+
+
+
+
+
+ >
+ )
+}
+
+export default pichart
+
diff --git a/pages/Components/groupByHCP.js b/pages/Components/groupByHCP.js
new file mode 100644
index 0000000..efbd722
--- /dev/null
+++ b/pages/Components/groupByHCP.js
@@ -0,0 +1,106 @@
+import React, { useEffect } from 'react'
+import { Button, Card, Col, Container, Row } from 'react-bootstrap';
+import { TabulatorFull as Tabulator } from 'tabulator-tables';
+import '../jqueryloader'
+
+const exportcsv = '/images/contacts/Excel.svg';
+const gridEditIcon = '/images/refine_by_icons/edit.svg';
+const gridDeleteIcon = '/images/cross_gray.svg';
+
+var tablePaymentsGrid = '';
+var toggleValue = '';
+const groupByHCP = () => {
+ function toggleKolGrouping(){
+ toggleValue = $("#toggleKolGrouping").text();
+ if(toggleValue == 'Remove Grouping'){
+ tablePaymentsGrid.setGroupBy(false);
+ $("#toggleKolGrouping").text("Group By HCP");
+ }else{
+ tablePaymentsGrid.setGroupStartOpen(false);
+ tablePaymentsGrid.setGroupBy("kol_name");
+ $("#toggleKolGrouping").text("Remove Grouping");
+ }
+ }
+ function listPayments(){
+ //Tabulator Grid parameters
+ var gridFor='payments';
+ var gridHeaderText= "Payments";
+ var gridId= gridFor+'-grid-table';
+
+
+ var actionLink = "";
+ actionLink += "";
+
+ //Data for grid to load
+ var tableData2 = [
+ {micro:'1',kol_name:'Aaron James Miller',date:"14/05/2020",type: "General",amount: "555.00",status: "Completed",act:''},
+ {micro:'2',kol_name:'Aaron James Miller',date:"20/05/2020",type: "General",amount: "550.00",status: "Completed",act:''},
+ {micro:'3',kol_name:'Aaron James',date:"14/05/2020",type: "General",amount: "555.00",status: "Completed",act:''},
+ {micro:'4',kol_name:'Aaron James',date:"20/05/2020",type: "General",amount: "550.00",status: "Completed",act:''},
+ ]
+ //Tabulator Gird initialisation
+ tablePaymentsGrid = new Tabulator("#"+gridId, {
+ //var tableData = ;
+ data:tableData2,
+ columns:[
+ {title:"#", formatter:'rownum',align:'center',headerSort:false,tooltip:false, width:"5%"},
+ {title:"", field:"micro",formatter:function(cell, formatterParams, onRendered){
+ return ""; //return the contents of the cell;
+ },headerFilter:false,headerSort:false,align:'center', width:"5%"},
+ {title:"HCP Name", field:"kol_name",formatter:function(cell, formatterParams, onRendered){
+ return "" + cell.getValue() + ""; //return the contents of the cell;
+ },headerFilter:true, headerFilterPlaceholder:'Search', align:'left', width:"42%"},
+ {title:"Date", field:"date",headerFilter:true, headerFilterPlaceholder:'Search', align:'left', width:"10%"},
+ {title:"Type", field:"type",headerFilter:true, headerFilterPlaceholder:'Search', align:'left', width:"10%"},
+ {title:"Amount", field:"amount",headerFilter:true, headerFilterPlaceholder:'Search', align:'left',bottomCalc:"sum", width:"10%"},
+ {title:"Status", field:"status",headerFilter:true, headerFilterPlaceholder:'Search', align:'left', width:"10%"},
+ {title:"Action", field:"act",formatter:function(cell, formatterParams){
+ return actionLink;
+ },headerFilter:false,headerSort:false,width:80,align:'center', width:"8%"}
+ ],
+ layout:"fitDataStretch",
+ tooltips:true,
+ ajaxSorting:false,
+ ajaxFiltering:false,
+ initialSort:[{column:"date", dir:"desc"}],
+ groupClosedShowCalcs:true,
+ paginationSize:10, // this option can take any positive integer value (default = 10),possible values 10,20,50,100
+ pagination:"local",
+ paginationSizeSelector:[10, 20, 50, 100],
+ tableBuilt:function(){
+ $("#"+gridFor+"-grid-header .grid-header-text").html(gridHeaderText);
+ }
+ });
+
+ var grid_options ='';
+ grid_options +='';
+ $("#"+gridFor+"-grid-header .grid-header-text").append(grid_options);
+}
+useEffect(()=>{
+ listPayments();
+}, [])
+ return (
+ <>
+
+
+
+
+
+ Custom Tabulator
+
+
+
+
+
+
+
+
+
+
+
+
+ >
+ )
+}
+
+export default groupByHCP
\ No newline at end of file
diff --git a/pages/Editor.jsx b/pages/Editor.jsx
new file mode 100644
index 0000000..e361a5d
--- /dev/null
+++ b/pages/Editor.jsx
@@ -0,0 +1,32 @@
+import Editor from "@/Editor/Ckeditor";
+import React, { useState, useEffect } from "react";
+import { Col, Container, Row } from "react-bootstrap";
+
+export default function App() {
+ const [editorLoaded, setEditorLoaded] = useState(false);
+ const [data, setData] = useState("");
+
+ useEffect(() => {
+ setEditorLoaded(true);
+ }, []);
+
+ return (
+ <>
+
+
+
+ {
+ setData(data);
+ }}
+ editorLoaded={editorLoaded}
+ />
+ {/* {JSON.stringify(data)} */}
+
+
+
+ >
+ );
+}
+
diff --git a/pages/_app.js b/pages/_app.js
new file mode 100644
index 0000000..531f3a5
--- /dev/null
+++ b/pages/_app.js
@@ -0,0 +1,23 @@
+import '@/styles/globals.css';
+import '@/styles/styles.css';
+import "primeicons/primeicons.css";
+import 'bootstrap/dist/css/bootstrap.css';
+import { useEffect } from 'react';
+import 'bootstrap-icons/font/bootstrap-icons.css'
+import 'react-confirm-alert/src/react-confirm-alert.css';
+import 'rsuite/dist/rsuite.min.css';
+
+export default function App({ Component, pageProps }) {
+
+ useEffect(() => {
+ import('bootstrap/dist/js/bootstrap');
+ import('rsuite/dist/rsuite.min.js')
+ import('./jqueryloader');
+ }, []);
+
+ return(
+ <>
+
+ >
+ )
+}
diff --git a/pages/_document.js b/pages/_document.js
new file mode 100644
index 0000000..54e8bf3
--- /dev/null
+++ b/pages/_document.js
@@ -0,0 +1,13 @@
+import { Html, Head, Main, NextScript } from 'next/document'
+
+export default function Document() {
+ return (
+
+
+
+
+
+
+
+ )
+}
diff --git a/pages/api/DeleteUser.js b/pages/api/DeleteUser.js
new file mode 100644
index 0000000..2ea1fcb
--- /dev/null
+++ b/pages/api/DeleteUser.js
@@ -0,0 +1,12 @@
+import prisma from '../../lib/Prisma'
+
+export default async function handle(req, res) {
+ console.log(req.query.id);
+ const id = req.query.id;
+ const result = await prisma.users.delete({
+ where: {
+ id: parseInt(id),
+ }
+ });
+ res.json(result);
+}
\ No newline at end of file
diff --git a/pages/api/axios/instance.js b/pages/api/axios/instance.js
new file mode 100644
index 0000000..39d140b
--- /dev/null
+++ b/pages/api/axios/instance.js
@@ -0,0 +1,19 @@
+import axios from 'axios';
+
+/* This is the base url for the backend server. */
+const baseUrl = 'http://192.168.2.134:8000/'
+
+/**
+* @description Creating an instance of axios with the base url and headers.
+* @author Avinash H
+*/
+const axiosInstance = axios.create({
+baseURL: baseUrl,
+headers: {
+'Content-Type': 'application/json',
+accept: 'application/json',
+}
+})
+
+/* Exporting the axiosInstance object so that it can be imported into other files. */
+export default axiosInstance;
\ No newline at end of file
diff --git a/pages/api/createuser.js b/pages/api/createuser.js
new file mode 100644
index 0000000..c13870b
--- /dev/null
+++ b/pages/api/createuser.js
@@ -0,0 +1,14 @@
+import prisma from '../../lib/Prisma'
+
+export default async function handle(req, res) {
+ const {email, name, token, details} = req.body;
+ const result = await prisma.users.create({
+ data : {
+ email: email,
+ name: name,
+ token: token,
+ details: details
+ }
+ });
+ res.json(result);
+}
\ No newline at end of file
diff --git a/pages/api/hello.js b/pages/api/hello.js
new file mode 100644
index 0000000..df63de8
--- /dev/null
+++ b/pages/api/hello.js
@@ -0,0 +1,5 @@
+// Next.js API route support: https://nextjs.org/docs/api-routes/introduction
+
+export default function handler(req, res) {
+ res.status(200).json({ name: 'John Doe' })
+}
diff --git a/pages/api/users.js b/pages/api/users.js
new file mode 100644
index 0000000..7b7a742
--- /dev/null
+++ b/pages/api/users.js
@@ -0,0 +1,6 @@
+import prisma from '../../lib/Prisma'
+
+export default async function handle(req, res) {
+ const feed = await prisma.users.findMany();
+ res.json(feed);
+}
diff --git a/pages/index.js b/pages/index.js
new file mode 100644
index 0000000..a346ee6
--- /dev/null
+++ b/pages/index.js
@@ -0,0 +1,1892 @@
+import React, { useEffect, useRef, useState } from 'react';
+import { Accordion, Button, Card, Col, Container, Dropdown, FloatingLabel, Form, ListGroup, Modal, Placeholder, Row, SSRProvider, Table } from 'react-bootstrap';
+import { useForm } from 'react-hook-form';
+import {TabulatorFull as Tabulator} from 'tabulator-tables';
+import {data, getBarchartData, getSearchResults, predefinedRanges, tableData, tableData1, wordcloudData} from "./Components/TabulatorData";
+import { DatePicker, RangeSlider, SelectPicker } from 'rsuite';
+import { CheckPicker } from 'rsuite';
+import './jqueryloader'
+import { DateRangePicker } from 'rsuite';
+import { Checkbox, CheckboxGroup } from 'rsuite';
+import { Radio, RadioGroup } from 'rsuite';
+import ReactEcharts from "echarts-for-react";
+import { getPieChartData } from './Components/TabulatorData';
+import axios from 'axios';
+import * as anychart from 'anychart'
+import Link from 'next/link';
+import { confirmAlert } from "react-confirm-alert";
+
+const data1 = ['A', 'B', 'C', 'D'];
+var table;
+let option1;
+var app = {};
+var tablePaymentsGrid = '';
+var toggleValue = '';
+// export svg
+const exportcsv = '/images/contacts/Excel.svg';
+const gridEditIcon = '/images/refine_by_icons/edit.svg';
+const gridDeleteIcon = '/images/cross_gray.svg';
+const microview = '/images/microview_active.svg';
+const key_icon = '/images/primary_indication.svg';
+
+export default function Home() {
+
+ // Custom tabulator start
+ function ActionFormatter(){
+ return(
+ `
+
+
+
+
+
`
+ );
+ }
+ function microViewFormat(){
+ return(
+ ``
+ )
+ }
+ function keyViewFormat(){
+ return(
+ ``
+ )
+ }
+ function idViewFormat(){
+ return(
+ `#`
+ )
+ }
+ const customTabulator = () =>{
+ var table = new Tabulator("#customTabulator", {
+ height:"311px",
+ data:tableData,
+ layout:window?.innerWidth > 800 ? "fitColumns" : "fitData",
+ resizableColumnFit:true,
+ addRowPos:"top",
+ initialSort:[
+ {column:"name", dir:"asc"},
+ ],
+ filterMode:"local",
+ pagination:true,
+ paginationMode:"local",
+ paginationSize:10,
+ paginationSizeSelector:[10, 25, 50, 75],
+ columns:[
+ {title:"#", field:"id", headerSort:false, titleFormatter:idViewFormat, width:50},
+ {title:" ", field:"id", headerSort:false, formatter:microViewFormat, width:50},
+ {title:" ", field:"id", headerSort:false, formatter:keyViewFormat, width:50},
+ {title:"Name", field:"name", headerFilter:true, headerFilterPlaceholder:'Search', tooltip:tooltipValue, width:200},
+ {title:"Age", field:"age", hozAlign:"left", sorter:"number", headerFilter:true, headerFilterPlaceholder:'Search', width:70},
+ {title:"Gender", field:"gender", headerFilter:true, headerFilterPlaceholder:'Search', width:90},
+ {title:"Height", field:"height", hozAlign:"left", headerFilter:true, headerFilterPlaceholder:'Search'},
+ {title:"Color", field:"col", headerFilter:true, headerFilterPlaceholder:'Search'},
+ {title:"Date Of Birth", field:"dob", hozAlign:"left", sorter:"date", headerFilter:true, headerFilterPlaceholder:'Search'},
+ {title:"Cheese", field:"cheese", hozAlign:"left", headerFilter:true, headerFilterPlaceholder:'Search'},
+ {title:"Action", field:"name", hozAlign:"left", formatter: ActionFormatter},
+ ],
+ ajaxResponse:function(url, params, response){
+ return response.data;
+ },
+ });
+ return table;
+ }
+ // Custom tabulator end
+
+ // Tabulator Collapse start
+ //Title Formatter
+ var titleCustomization = function(cell, formatterParams, onRendered){
+ var column_title = cell.getValue();
+ var response = checkBGforblock(column_title);
+ onRendered(function(){
+ var buttonFor = '';
+ switch(cell.getValue()){
+ case 'Events Total': buttonFor = 'eventsCollapse'; break;
+ case 'Affiliations Total': buttonFor = 'affiliationsCollapse'; break;
+ case 'Publications Total': buttonFor = 'publicationsCollapse'; break;
+ case 'Referral Total': buttonFor = 'referralCollapse'; break;
+ }
+ if(buttonFor != ""){
+ $(cell.getElement()).parent("div").parent("div").append('
');
+ }
+ $(cell.getElement()).parent("div").parent("div").parent("div").addClass(response);
+
+ switch(buttonFor){
+ case 'eventsCollapse':
+ $("#eventsCollapse").click(function(event){
+ table.toggleColumn('numspc');
+ table.toggleColumn('numocc');
+ var type = $(this).attr("toggle-type");
+ if(type == "" || type == "collapse"){
+ $(this).attr("toggle-type", "collapsed");
+ $(this).children("i").removeClass("bi-skip-backward").addClass("bi-skip-forward");
+ }else{
+ $(this).attr("toggle-type", "collapse");
+ $(this).children("i").removeClass("bi-skip-forward").addClass("bi-skip-backward");
+ }
+ event.stopPropagation();
+ });
+ break;
+ case 'affiliationsCollapse':
+ $("#affiliationsCollapse").click(function(event){
+ table.toggleColumn('numia');
+ table.toggleColumn('numas');
+ table.toggleColumn('numeb');
+ table.toggleColumn('numec');
+ table.toggleColumn('numgc');
+ var type = $(this).attr("toggle-type");
+ if(type == "" || type == "collapse"){
+ $(this).attr("toggle-type", "collapsed");
+ $(this).children("i").removeClass("bi-skip-backward").addClass("bi-skip-forward");
+ }else{
+ $(this).attr("toggle-type", "collapse");
+ $(this).children("i").removeClass("bi-skip-forward").addClass("bi-skip-backward");
+ }
+ event.stopPropagation();
+ });
+ break;
+ case 'publicationsCollapse':
+ $("#publicationsCollapse").click(function(event){
+ table.toggleColumn('leadc');
+ table.toggleColumn('numma');
+ table.toggleColumn('numsa');
+ table.toggleColumn('numfa');
+ table.toggleColumn('numla');
+ var type = $(this).attr("toggle-type");
+ if(type == "" || type == "collapse"){
+ $(this).attr("toggle-type", "collapsed");
+ $(this).children("i").removeClass("bi-skip-backward").addClass("bi-skip-forward");
+ }else{
+ $(this).attr("toggle-type", "collapse");
+ $(this).children("i").removeClass("bi-skip-forward").addClass("bi-skip-backward");
+ }
+ event.stopPropagation();
+ });
+ break;
+ case 'referralCollapse':
+ $("#referralCollapse").click(function(event){
+ table.toggleColumn('kref');
+ table.toggleColumn('oref');
+ var type = $(this).attr("toggle-type");
+ if(type == "" || type == "collapse"){
+ $(this).attr("toggle-type", "collapsed");
+ $(this).children("i").removeClass("bi-skip-backward").addClass("bi-skip-forward");
+ }else{
+ $(this).attr("toggle-type", "collapse");
+ $(this).children("i").removeClass("bi-skip-forward").addClass("bi-skip-backward");
+ }
+ event.stopPropagation();
+ });
+ break;
+ }
+ });
+ return cell.getValue();
+ };
+
+ //Cell Formatter
+ var cellCustomization = function(column, formatterParams, onRendered){
+ var column_field = column.getField();
+ var response = checkBGforblock(column_field);
+ $(column.getElement()).addClass(response);
+ return column.getValue();
+ };
+ function checkBGforblock(column_value){
+ switch(column_value){
+ case 'Events Total': case 'numevc': var class_name = 'eventsBgPrimary'; break;
+ case 'Speaking': case 'numspc': var class_name = 'eventsBgSecondary'; break;
+ case 'Organizing Committee': case 'numocc': var class_name = 'eventsBgTertiary'; break;
+ case 'Affiliations Total': case 'numed': var class_name = 'affiliationsBgPrimary'; break;
+ case 'Industry': case 'numia': var class_name = 'affiliationsBgSecondary'; break;
+ case 'Associations': case 'numas': var class_name = 'affiliationsBgSecondary'; break;
+ case 'Editorial Boards': case 'numeb': var class_name = 'affiliationsBgSecondary'; break;
+ case 'Univ/Hospital': case 'numec': var class_name = 'affiliationsBgTertiary'; break;
+ case 'Guidelines': case 'numgc': var class_name = 'affiliationsBgfourth'; break;
+ case 'Publications Total': case 'nump': var class_name = 'publicationsBgPrimary'; break;
+ case 'Lead Author': case 'leadc': var class_name = 'publicationsBgSecondary'; break;
+ case 'Contributng Author': case 'numma': var class_name = 'publicationsBgTertiary'; break;
+ case 'Single Author': case 'numsa': var class_name = 'publicationsBgTertiary'; break;
+ case 'First Author': case 'numfa': var class_name = 'publicationsBgTertiary'; break;
+ case 'Last Author': case 'numla': var class_name = 'publicationsBgTertiary'; break;
+ case 'Trails Total': case 'numtc': var class_name = 'trailBgPrimary'; break;
+ case 'Referral Total': case 'ref': var class_name = 'referralBgPrimary'; break;
+ case 'HCP': case 'kref': var class_name = 'referralBgSecondary'; break;
+ case 'HCO': case 'oref': var class_name = 'referralBgSecondary'; break;
+ case 'Previous Tier (2014-2018)': case 'prev_tier': var class_name = 'prev_tierBg'; break;
+ case 'Current Tier (2015-2019)': case 'current_tier': var class_name = 'current_tierBg'; break;
+ case 'Status': case 'status': var class_name = 'statusBg'; break;
+ }
+ return class_name;
+ }
+ var addSelectAllBox = function(cell, formatterParams, onRendered){
+ return '';
+ };
+ var nameCustomization = function(column, formatterParams, onRendered){
+ return ''+column.getValue()+''
+ };
+ var tooltipValue = function formatTooltip(e, cell, onRendered) {
+ let data = cell.getData()['name']
+ return data;
+ }
+ //microprofile view icon
+ var viewMicroIcon = function(cell, formatterParams){
+ return '';
+ };
+ const getData = () =>{
+ table = new Tabulator('#collapsibleTabulator', {
+ selectable:true,
+ height:475,
+ data:tableData1,
+ layout:"fitDataStretch",
+ addRowPos:"top",
+ initialSort:[
+ {column:"name", dir:"asc"},
+ ],
+ filterMode:"local",
+ pagination:true,
+ paginationMode:"local",
+ paginationSize:50,
+ paginationSizeSelector:[10, 25, 50, 75],
+ placeholder:"No Data Available",
+ columns:[
+ {title:"", formatter:'rownum',hozAlign:'center',headerSort:false,tooltip:false,frozen:true,width:10},
+ {formatter:"rowSelection", titleFormatter:"rowSelection", hozAlign:"center", headerSort:false, cellClick:function(e, cell){
+ cell.getRow().toggleSelect();
+ }},
+ // {title:"",formatter:viewMicroIcon, headerSort:false, hozhozAlign:"center",titleFormatter:addSelectAllBox, frozen:true,width:10},
+ {title:"Name", field:"name", headerFilter:true, headerFilterPlaceholder:'Search',hozAlign:"left", formatter:nameCustomization,frozen:true, tooltip:tooltipValue},
+ {title:"Tier", field:"tier", hozAlign:"center",width:70},
+ {title:"Rank", field:"rank", hozAlign:"center",width:70},
+ {title:"Score", field:"score",hozAlign:"center",width:70},
+ {title:"Events Total", field:"numevc",hozAlign:"center",titleFormatter:titleCustomization, formatter:cellCustomization, width:90},
+ {title:"Speaking", field:"numspc",hozAlign:"center", titleFormatter:titleCustomization, formatter:cellCustomization, width:90},
+ {title:"Organizing Committee", field:"numocc",hozAlign:"center", titleFormatter:titleCustomization, formatter:cellCustomization, width:100},
+ {title:"Affiliations Total", field:"numed",hozAlign:"center",titleFormatter:titleCustomization, formatter:cellCustomization, width:100},
+ {title:"Industry", field:"numia",hozAlign:"center", titleFormatter:titleCustomization, formatter:cellCustomization, width:90},
+ {title:"Associations", field:"numas",hozAlign:"center", titleFormatter:titleCustomization, formatter:cellCustomization, width:100},
+ {title:"Editorial Boards", field:"numeb",hozAlign:"center", titleFormatter:titleCustomization, formatter:cellCustomization, width:90},
+ {title:"Univ/Hospital", field:"numec",hozAlign:"center", titleFormatter:titleCustomization, formatter:cellCustomization, width:100},
+ {title:"Guidelines", field:"numgc",hozAlign:"center", titleFormatter:titleCustomization, formatter:cellCustomization, width:100},
+ {title:"Publications Total", field:"nump",hozAlign:"center",titleFormatter:titleCustomization, formatter:cellCustomization, width:100},
+ {title:"Lead Author", field:"leadc",hozAlign:"center", titleFormatter:titleCustomization, formatter:cellCustomization, width:90},
+ {title:"Contributng Author", field:"numma",hozAlign:"center", titleFormatter:titleCustomization, formatter:cellCustomization, width:100},
+ {title:"Single Author", field:"numsa",hozAlign:"center", titleFormatter:titleCustomization, formatter:cellCustomization, width:90},
+ {title:"First Author", field:"numfa",hozAlign:"center", titleFormatter:titleCustomization, formatter:cellCustomization, width:90},
+ {title:"Last Author", field:"numla",hozAlign:"center", titleFormatter:titleCustomization, formatter:cellCustomization, width:90},
+ {title:"Trails Total", field:"numtc",hozAlign:"center", titleFormatter:titleCustomization, formatter:cellCustomization, width:90},
+ {title:"Referral Total", field:"ref",hozAlign:"center",titleFormatter:titleCustomization, formatter:cellCustomization, width:90},
+ {title:"HCP", field:"kref",hozAlign:"center",titleFormatter:titleCustomization, formatter:cellCustomization, width:90},
+ {title:"HCO", field:"oref",hozAlign:"center", titleFormatter:titleCustomization, formatter:cellCustomization, width:90}
+ ],
+ ajaxResponse:function(url, params, response){
+ return response.data;
+ },
+ });
+ }
+ function addToMyContacts(){
+ alert("test");
+ }
+ // Tabulator Collapse end
+
+ // Forms validation start
+ /* Declaring a variable called pswdshow and setting it to false. */
+ const [pswdshow, setPswd] = useState(false);
+
+ /* Creating a state variable called confpswdshow and setting it to false. */
+ const [confpswdshow, setConfPswd] = useState(false);
+
+ /**
+ * If the password is shown, then hide it. If the password is hidden, then show it
+ */
+ const showPassword = () =>{
+ setPswd(pswdshow ? false : true);
+ }
+
+ /**
+ * If the value of confpswdshow is true, then setConfPswd(false) else setConfPswd(true)
+ */
+ const showConfirmPassword = () =>{
+ setConfPswd(confpswdshow ? false : true);
+ }
+ const {register, formState: { errors }, reset, watch, getValues, handleSubmit} = useForm();
+
+ const registerUser = (data) =>{
+ // console.log(data);
+ }
+ // Forms validation end
+ // fullscreen
+ const fullScreen = (e) =>{
+ e.preventDefault();
+ if (typeof window !== "undefined") {
+ var targetelement = document.getElementById("fullscreen");
+ const requestFullScreen = targetelement.requestFullscreen || targetelement.webkitRequestFullScreen || targetelement.mozRequestFullScreen || targetelement.msRequestFullScreen;
+ requestFullScreen.call(targetelement);
+ if (document.fullscreen) { document.exitFullscreen(); }
+ }
+ }
+ // fullscreen end
+
+ // rsuite selectpicker
+ const dataset = ['Eugenia', 'Bryan', 'Linda', 'Nancy', 'Lloyd', 'Alice', 'Julia', 'Albert'].map(
+ item => ({ label: item, value: item })
+ );
+ const [value4, setValue4] = React.useState(null);
+ const handleSelectPicker = (value) =>{
+ setValue4(value)
+ }
+ // rsuite selectpicker end
+
+ // rsuite check picker
+ const [value3, setValue3] = React.useState([]);
+ const handleCheckPicker = (value) =>{
+ setValue3(value)
+ }
+ // rsuite check picker end
+ // rsuite daterangepicker
+ const [value, setValue] = useState();
+ const handleDateChange = (data) =>{
+ setValue(data);
+ }
+ // rsuite daterangepicker end
+ // rsuite range slider
+ const [value1, setValue1] = React.useState([10, 50]);
+ // rsuite range slider end
+
+ // rsuite checkbox
+ const [value2, setValue2] = React.useState(['A', 'C']);
+ const handleCheckAll = (value, checked) => setValue2(checked ? data1 : []);
+ const handleChange = value => setValue2(value);
+ // rsuite checkbox end
+
+ // rsuite radio
+ const [value5, setValue5] = React.useState('A');
+ // rsuite radio
+
+ // autocomplete search
+ const [searchTerm, updateSearchTerm] = useState('');
+ const [filteredResults, updateFilteredResults] = useState([]);
+ const [searchResults, updateSearchResults] = useState([]);
+ const [displayResults, updateDisplayResults] = useState(false);
+ const [focusIndex, updateFocusIndex] = useState(-1);
+ const linkRefs = [];
+ const keys = {
+ ENTER: 13,
+ UP: 38,
+ DOWN: 40
+ };
+
+ const updateSearch = e => {
+ var input = e.target?.value;
+ updateSearchTerm(e.target.value);
+ updateFilteredResults(searchResults.filter(result =>{
+ if(input?.length >= 3){
+ return result.title.match(new RegExp(e.target.value, 'gi'))
+ }
+ }))
+ };
+
+ const hideAutoSuggest = e => {
+ e.persist();
+ var input = e.target?.value;
+ if (e.relatedTarget && e.relatedTarget.className === 'autosuggest-link') {
+ return false;
+ }
+ if(input?.length >= 0){
+ $('#search-card-results').css('border-color', 'transparent');
+ }
+ if(input?.length >= 3){
+ updateDisplayResults(false);
+ }else{
+ updateDisplayResults(true);
+ updateFocusIndex(-1);
+ }
+ };
+
+ const showAutoSuggest = (e) => {
+ updateDisplayResults(false);
+ };
+ const handleInput = (e) =>{
+ var input = e.target?.value;
+ if(input?.length < 3){
+ $('.search-suggestions').css('display', 'none');
+ }
+ if(input?.length >= 3){
+ $('.search-suggestions').removeClass('d-none');
+ $('.search-suggestions').css('display', 'block');
+ $('.search-suggestions').css('border-color', 'rgba(0, 0, 0, 0.175)')
+ }else{
+ $('.search-suggestions').css('border-color', 'transparent')
+ }
+ }
+ const handleNavigation = e => {
+ switch (e.keyCode) {
+ case keys.ENTER:
+ if (focusIndex !== -1) {
+ window.open(linkRefs[focusIndex].href);
+ }
+ hideAutoSuggest(e);
+ break;
+ case keys.UP:
+
+ if (focusIndex > -1) {
+ updateFocusIndex(focusIndex - 1);
+ }
+ break;
+ case keys.DOWN:
+
+ if (focusIndex < filteredResults.length - 1) {
+ updateFocusIndex(focusIndex + 1);
+ }
+ break;
+ }
+ };
+
+ const SearchResults = () => {
+ const Message = ({ text }) => (
+
+ );
+
+ if (!displayResults) {
+ return null;
+ }
+
+ if (!searchResults.length) {
+ return
+ }
+
+ if (!searchTerm) {
+ return
+ }
+
+ if (!filteredResults.length) {
+ return
+ }
+
+ return (
+
+ {filteredResults.map((article, index) => (
+ -
+ {/* ⚠️ You may want to outsource this part to make the component less heavy */}
+
+
+ ))}
+
+ );
+ }
+ // autocomplete seacrh end
+
+ // Echarts Pichart
+ const [apiData, setapiData] = useState()
+ const option = {
+ tooltip: {
+ trigger: 'item',
+ },
+ legend: {
+ type:'scroll',
+ orient: "horizontal",
+ bottom : "0%",
+ legendHoverLink: true,
+ },
+ series: [
+ {
+ type: 'pie',
+ data: apiData?.map((item, index)=>{
+ return(
+ { value: item?.value, name: item?.title }
+ )
+ }),
+ label: {
+ width: 64,
+ overflow: "break",
+ fontSize: 12,
+ fontWeight : 'normal'
+ },
+ labelLine: {
+ width : 1.5,
+ length2: 7,
+ length: 7
+ },
+ width: "100%",
+ height: "100%",
+ center : ['48%', '50%']
+ }
+ ]
+ };
+ const onChartClick = (params) => {
+ console.log('Chart clicked', params);
+ };
+ // Echarts Pichart end
+
+ // Echarts Barchart
+ const [apiData1, setapiData1] = useState();
+ const series = apiData1?.map((item)=>({
+ name: item?.name,
+ data: item?.data,
+ }))
+ app.config = {
+ rotate: 67,
+ align: 'right',
+ verticalAlign: 'middle',
+ position: 'bottom',
+ distance: 6,
+ };
+ const labelOption = {
+ show: true,
+ position: app.config.position,
+ distance: app.config.distance,
+ align: app.config.align,
+ verticalAlign: app.config.verticalAlign,
+ rotate: app.config.rotate,
+ formatter: '{c} {name|{a}}',
+ fontSize: 12,
+ rich: {
+ name: {
+ color: '#0066cc',
+ fontSize: 12,
+ },
+ }
+ };
+
+ option1 = {
+ tooltip: {
+ trigger: 'axis',
+ axisPointer: {
+ type: 'shadow'
+ }
+ },
+ legend: {
+ data: series?.map(item => item?.name),
+ top:"2%",
+ },
+ toolbox: {
+ show: true,
+ orient: 'vertical',
+ left: 'right',
+ top: 'center',
+ feature: {
+ mark: { show: true },
+ dataView: { show: true, readOnly: false },
+ magicType: { show: true, type: ['bar', 'line'] },
+ restore: { show: true },
+ saveAsImage: {
+ type: "png"
+ }
+ }
+ },
+ xAxis: [
+ {
+ type: 'category',
+ axisTick: { show: false },
+ data: ['', '', '', '', ''],
+ boundaryGap: true,
+ triggerEvent : true
+ },
+ ],
+ yAxis: [
+ {
+ type: 'value',
+ }
+ ],
+ series: series?.map((item, index) => Object.assign(item, {
+ type: 'bar',
+ label: labelOption,
+ }))
+ };
+ const onBarChartClick = (params) => {
+ console.log('BarChart clicked', params);
+ };
+ // Echart Barchart end
+
+ // Echarts Bubblechart
+ const [apiData2, setapiData2] = useState()
+ const scatterData = apiData2?.map((item)=>({
+ name: item?.title,
+ value: [item?.id, item?.discountPercentage, item?.title],
+ itemStyle: 'blue'
+ }));
+ const option2 = {
+ xAxis: {},
+ yAxis: {},
+ tooltip: {
+ triggerOn: "mousemove",
+ alwaysShowContent: true,
+ position: 'top'
+ },
+ series: [
+ {
+ symbolSize: 20,
+ data: scatterData,
+ type: 'scatter'
+ }
+ ]
+ };
+ const onBubbleChartClick = (params) => {
+ console.log('Chart clicked', params);
+ };
+ // Echarts Bubblechart end
+ // Echarts events
+ const onEvents = {
+ click: onChartClick,
+ click: onBarChartClick,
+ click: onBubbleChartClick,
+ };
+ // Echarts events end
+
+ // Filters datepicker
+ const [datevalue, setDateValue] = React.useState(new Date());
+ const [datevalue1, setDateValue1] = React.useState(new Date());
+ const [datevalue2, setDateValue2] = React.useState(new Date());
+ const [datevalue3, setDateValue3] = React.useState(new Date());
+ // Filters datepicker end
+
+ // Client form modal
+ const [show, setShow] = useState(false);
+
+ const handleClose = () => setShow(false);
+ const handleShow = () => setShow(true);
+ // Client form modal end
+
+ // Plan new record modal
+ const [show1, setShow1] = useState(false);
+
+ const [dateone, setDateOne] = React.useState(new Date());
+ const [datetwo, setDateTwo] = React.useState(new Date());
+ const [selectedOptions, setSelectedOptions] = useState();
+ const optionList = ['Eugenia', 'Bryan', 'Linda', 'Nancy', 'Lloyd', 'Alice', 'Julia', 'Albert'].map(
+ item => ({ label: item, value: item })
+ );
+ // Add Rows
+ const [assignProfiles, setAssignProfiles] = useState([{hcpname : "", assignto : "", status : ""}]);
+ const hcpnameref = useRef();
+ const assigntoref = useRef();
+ const statusref = useRef();
+
+ /* It takes the index of the key and the event object, and then it creates a copy of the keys array,
+ * changes the value of the key at the given index, and then sets the keys array to the new array
+ * @param index - the index of the key in the array
+ * @param event - The event that triggered the function.
+ */
+ const handleFormChange = (index, event) => {
+ let data = [...assignProfiles];
+ data[index][event.target.name] = event.target.value;
+ setAssignProfiles(data);
+ }
+ const addRow = (e) =>{
+ setAssignProfiles([...assignProfiles, {hcpname : "", assignto : "", status : ""}]);
+ }
+ const removeRow = (index) =>{
+ const list = [...assignProfiles];
+ list.splice(index, 1);
+ setAssignProfiles(list);
+ }
+ // Add Rows
+
+ function handleSelect(data) {
+ setSelectedOptions(data);
+ }
+
+ const handleClose1 = () => setShow1(false);
+ const handleShow1 = () => setShow1(true);
+ const registerPlan = (e) =>{
+ e.preventDefault();
+ console.log(assignProfiles);
+ }
+ // Plan new record modal end
+
+ // Accordions
+ const icon = '/microview_active.svg';
+ const viewsimilar = '/view_similar.svg';
+ //Accordions end
+
+ // confirm alert
+ const submit = () => {
+ confirmAlert({
+ title: 'Confirm to submit',
+ message: 'Are you sure to do this.',
+ buttons: [
+ {
+ label: 'Yes',
+ onClick: () => alert('Click Yes')
+ },
+ {
+ label: 'No',
+ onClick: () => alert('Click No')
+ }
+ ]
+ });
+ };
+ const submit1 = () => {
+ confirmAlert({
+ customUI: ({ onClose }) => {
+ return (
+
+
Are you sure?
+
You want to delete this file?
+
+
+
+ );
+ }
+ });
+ }
+ // confirm alert end
+
+ //group by HCP tabulator
+ function toggleKolGrouping(){
+ toggleValue = $("#toggleKolGrouping").text();
+ if(toggleValue == 'Remove Grouping'){
+ tablePaymentsGrid.setGroupBy(false);
+ $("#toggleKolGrouping").text("Group By HCP");
+ }else{
+ tablePaymentsGrid.setGroupStartOpen(false);
+ tablePaymentsGrid.setGroupBy("kol_name");
+ $("#toggleKolGrouping").text("Remove Grouping");
+ }
+ }
+ function listPayments(){
+ //Tabulator Grid parameters
+ var gridFor='payments';
+ var gridHeaderText= "Payments";
+ var gridId= gridFor+'-grid-table';
+
+ var actionLink = "";
+ actionLink += "";
+
+ //Data for grid to load
+ var tableData2 = [
+ {micro:'1',kol_name:'Aaron James Miller',date:"14/05/2020",type: "General",amount: "555.00",status: "Completed",act:''},
+ {micro:'2',kol_name:'Aaron James Miller',date:"20/05/2020",type: "General",amount: "550.00",status: "Completed",act:''},
+ {micro:'3',kol_name:'Aaron James',date:"14/05/2020",type: "General",amount: "555.00",status: "Completed",act:''},
+ {micro:'4',kol_name:'Aaron James',date:"20/05/2020",type: "General",amount: "550.00",status: "Completed",act:''},
+ ]
+ //Tabulator Gird initialisation
+ tablePaymentsGrid = new Tabulator("#"+gridId, {
+ //var tableData = ;
+ data:tableData2,
+ columns:[
+ {title:"#", formatter:'rownum',align:'center',headerSort:false,tooltip:false, width:"5%"},
+ {title:"", field:"micro",formatter:function(cell, formatterParams, onRendered){
+ return ""; //return the contents of the cell;
+ },headerFilter:false,headerSort:false,align:'center', width:"5%"},
+ {title:"HCP Name", field:"kol_name",formatter:function(cell, formatterParams, onRendered){
+ return "" + cell.getValue() + ""; //return the contents of the cell;
+ },headerFilter:true, headerFilterPlaceholder:'Search', align:'left', width:"42%"},
+ {title:"Date", field:"date",headerFilter:true, headerFilterPlaceholder:'Search', align:'left', width:"10%"},
+ {title:"Type", field:"type",headerFilter:true, headerFilterPlaceholder:'Search', align:'left', width:"10%"},
+ {title:"Amount", field:"amount",headerFilter:true, headerFilterPlaceholder:'Search', align:'left',bottomCalc:"sum", width:"10%"},
+ {title:"Status", field:"status",headerFilter:true, headerFilterPlaceholder:'Search', align:'left', width:"10%"},
+ {title:"Action", field:"act",formatter:function(cell, formatterParams){
+ return actionLink;
+ },headerFilter:false,headerSort:false,width:80,align:'center', width:"8%"}
+ ],
+ layout:"fitDataStretch",
+ tooltips:true,
+ ajaxSorting:false,
+ ajaxFiltering:false,
+ initialSort:[{column:"date", dir:"desc"}],
+ groupClosedShowCalcs:true,
+ paginationSize:10, // this option can take any positive integer value (default = 10),possible values 10,20,50,100
+ pagination:"local",
+ paginationSizeSelector:[10, 20, 50, 100],
+ tableBuilt:function(){
+ $("#"+gridFor+"-grid-header .grid-header-text").html(gridHeaderText);
+ }
+ });
+
+ var grid_options ='';
+ grid_options +='';
+ $("#"+gridFor+"-grid-header .grid-header-text").append(grid_options);
+ }
+ // group by HCP tabulator end
+
+ // training grid tabulator
+ var trainingData = [
+ {id:1, name:"Billy Bob", degree:"xyz", speciality:"ABC", frame:'NA-1991', type:"Education", },
+ {id:2, name:"Mary May", degree:"NOP", speciality:"DEF", frame:'NA-1991', type:"Teaching", },
+ {id:3, name:"Christine Lobowski", degree:"PAN", speciality:"GHI", frame:'NA-1991', type:"Educamp", },
+ {id:4, name:"Brendon Philips", degree:"BE", speciality:"PQR", frame:'NA-1991', type:"Education", },
+ {id:5, name:"Margret Marmajuke", degree:"BED", speciality:"MNO", frame:'NA-1991', type:"Technology", },
+ ]
+ const trainingGridTabulator = () =>{
+ var table = new Tabulator("#trainingGridTable", {
+ height:"311px",
+ data:trainingData,
+ layout:window?.innerWidth > 800 ? "fitColumns" : "fitData",
+ resizableColumnFit:true,
+ addRowPos:"top",
+ initialSort:[
+ {column:"name", dir:"asc"},
+ ],
+ filterMode:"local",
+ footerElement:"Show more",
+ columns:[
+ {title:"#", field:"id", headerSort:false, titleFormatter:idViewFormat, width:50},
+ {title:"Name", field:"name", headerFilter:true, headerFilterPlaceholder:'Search', tooltip:tooltipValue, width:200},
+ {title:"Degree", field:"degree", hozAlign:"left", sorter:"number", headerFilter:true, headerFilterPlaceholder:'Search'},
+ {title:"Speciality", field:"speciality", headerFilter:true, headerFilterPlaceholder:'Search'},
+ {title:"Frame", field:"frame", hozAlign:"left", headerFilter:true, headerFilterPlaceholder:'Search'},
+ {title:"Type", field:"type", headerFilter:true, headerFilterPlaceholder:'Search'},
+ {title:"Action", field:"name", hozAlign:"left", formatter: ActionFormatter},
+ ],
+ ajaxResponse:function(url, params, response){
+ return response.data;
+ },
+ });
+ return table;
+ }
+ // training grid tabulator end
+ /* useEffect hook */
+ useEffect(()=>{
+ customTabulator();
+ getData();
+
+ // autocomplete search
+ const getSearchResult = () => {
+ // ⚠️ This is where you should pull data in from your server
+ const searchResultsResponse = getSearchResults();
+ updateSearchResults(searchResultsResponse);
+ };
+ getSearchResult();
+ // autocomplete search end
+
+ // Echarts Pichart
+ const getPieChartResult = () => {
+ // ⚠️ This is where you should pull data in from your server
+ const piechartResultsResponse = getPieChartData();
+ setapiData(piechartResultsResponse);
+ };
+ getPieChartResult();
+ // Echarts Pichart end
+
+ // Echarts Barchart
+ const getBarChartResult = () => {
+ // ⚠️ This is where you should pull data in from your server
+ const barchartResultsResponse = getBarchartData();
+ setapiData1(barchartResultsResponse);
+ };
+ getBarChartResult();
+ // Echarts Barchart end
+
+ // Echarts Bubble chart
+ axios.get('https://dummyjson.com/products')
+ .then(res => {
+ const values = res?.data?.products;
+ setapiData2(values);
+ })
+ // Echarts Bubble chart end
+
+ // wordcloud anychart
+ const getWordCloudResult = () => {
+ const wordclouddatas = wordcloudData();
+ $('#anychart').empty();
+ // create a tag (word) cloud chart
+ var chart = anychart.tagCloud(wordclouddatas);
+ // set a chart title
+ chart.title('15 most spoken languages')
+ // display the word cloud chart
+ chart.container("anychart");
+ chart.draw();
+ }
+ getWordCloudResult();
+ // wordcloud anychart end
+ // groupby HCP tabulator
+ listPayments();
+ // groupby HCP tabulator end
+ // training grid tabulator
+ trainingGridTabulator();
+ // training grid tabulator end
+ }, [])
+ return (
+ <>
+
+
+
+
+
+
+ Custom Tabulator
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Custom Tabulator
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Training{' '}(Recent 5 of 10)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Collapsible Tabulator
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Record New User
+
+
+ User Details
+
+
+
+
+
+
+
+
+
+
+
+ Form Components
+
+
+ Components
+
+
+
+
+
+
+
+
+
+ Echarts Components
+
+
+
+
+
+ Pichart
+
+
+
+
+
+
+
+ Barchart
+
+
+
+
+
+
+
+ Bubblechart
+
+
+
+
+
+
+
+ WordCloud Chart
+
+
+
+
+
+
+
+
+ Text Colors
+
+
+ text orange- paragraph tag
+ text orange- header tag(h4)
+ text blue- anchor tag with text underline on hover
+
+
+ Placeholder component-(react-bootstrap) :
+
+
+
+
+
+
+
+
+ card component-(react-bootstrap) with border blue on top :
+
+
+ Users
+
+
+
+
+
+
+
+
+
+
+
+ Filters
+
+
+
+
+
+
+ setDateValue(value)} placement='auto'/>
+
+
+
+
+
+ setDateValue1(value)} placement='auto'/>
+
+
+
+
+
+
+
+
+
+
+
+
+ setDateValue2(value)} placement='auto'/>
+
+
+
+
+
+ setDateValue3(value)} placement='auto'/>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ View Interactions
+
+
+
+
+
+ Interaction Details
+
+
+
+
+
+
+
+
+ discussion type
+
+
+
+
+
+ attendees
+
+
+
+
+
+ {/* Client popup form modal */}
+
+ {/* Modal */}
+
+
+ Create Client
+
+
+
+
+
+ {/* Client popup form modal end */}
+
+ {/* Plan new record modal */}
+
+
+
+
+
+
+
+ Record New Plan
+
+
+
+
+ Plan Details
+
+
+ {/* */}
+
+
+
+
+
+ {/* Plan new record modal end */}
+
+
+
+ Button Types
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {/* Accordion */}
+
+
+
+ Accordion
+
+
+
+
+ View Similar
+
+
+
+
+
+ Similar HCPs who have published on same concepts
+
+
+
+ Adil Javed
+ Andrew Michael Miller
+ Brenda Louise Banwell
+ Bruce A. Cree
+ Daniel D Mikol
+
+
+
+
+
+ {/* Similar HCPs who received top referrals
*/}
+ Similar HCPs who received top referrals
+
+
+
+ Adil Javed
+ Andrew Michael Miller
+ Brenda Louise Banwell
+ Bruce A. Cree
+ Daniel D Mikol
+
+
+
+
+
+ {/* Co-authors of the HCP
*/}
+ Co-authors of the HCP
+
+
+
+ Adil Javed
+ Andrew Michael Miller
+ Brenda Louise Banwell
+ Bruce A. Cree
+ Daniel D Mikol
+
+
+
+
+
+
+
+
+
+ {/* Accordion end */}
+ {/* React Confirm Alert */}
+
+
+
+ React Confirm Alert Section
+
+
+
+
+
+
+
+
+
+ {/* React Confirm Alert end */}
+
+ >
+ )
+}
+
+function Highlight({ children: text = "", tags }) {
+ if (!tags?.length) return text;
+ const matches = [...text.matchAll(new RegExp(tags, "ig"))];
+ const startText = text.slice(0, matches[0]?.index);
+ return (
+
+ {startText}
+ {matches.map((match, i) => {
+ const startIndex = match.index;
+ const currentText = match[0];
+ const endIndex = startIndex + currentText.length;
+ const nextIndex = matches[i + 1]?.index;
+ const untilNextText = text.slice(endIndex, nextIndex);
+ return (
+
+ {currentText}{untilNextText}
+
+ );
+ })}
+
+ );
+}
diff --git a/pages/jqueryloader.js b/pages/jqueryloader.js
new file mode 100644
index 0000000..0e512b2
--- /dev/null
+++ b/pages/jqueryloader.js
@@ -0,0 +1,3 @@
+if (typeof window !== "undefined") {
+ window.$ = window.jQuery = require('jquery')
+}
\ No newline at end of file
diff --git a/prisma/schema.prisma b/prisma/schema.prisma
new file mode 100644
index 0000000..06dccdd
--- /dev/null
+++ b/prisma/schema.prisma
@@ -0,0 +1,21 @@
+// This is your Prisma schema file,
+// learn more about it in the docs: https://pris.ly/d/prisma-schema
+
+generator client {
+ provider = "prisma-client-js"
+}
+
+datasource db {
+ provider = "mysql"
+ url = env("DATABASE_URL")
+}
+
+model Users {
+ id Int @id @default(autoincrement())
+ email String @db.VarChar(255) @unique
+ name String @db.VarChar(255)
+ token String @db.VarChar(255)
+ details Json
+ createdAt DateTime @default(now())
+ updatedAt DateTime @default(now())
+}
\ No newline at end of file
diff --git a/public/favicon.ico b/public/favicon.ico
new file mode 100644
index 0000000000000000000000000000000000000000..718d6fea4835ec2d246af9800eddb7ffb276240c
GIT binary patch
literal 25931
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
LrJugUA?W`A8`#=m
literal 0
HcmV?d00001
diff --git a/public/images/Konectchat.png b/public/images/Konectchat.png
new file mode 100644
index 0000000000000000000000000000000000000000..347175f0ec8c0e2e3f3dc0d30c0b33a3515ab076
GIT binary patch
literal 2609
zcmV-13eNS3P);M92
zNCHM&bqO^~YkHO*gBGxmQZ!-7>68|C_tA@1V(ef-EAAYT8&1@&$&kxoC_NG6NEjwU
z?|za(8cR71@=zcUuSer6K+D*P&>~I{Dpv^NgUVc}gX^(56e_nLTUie>8`OpXh4cq<
zk_a?(HbBc#WIm`|HGozM0jh8~8oC0R$1}>vv-~g;VhczugdYOQw
zgdnjM3zF|))$e|&1JS_(B+r0C>H{eKBDbbMo&eR1FmrG;=^Q{I3&gnV3}6~|0HtHc
z4Sx%UROta~XIvfRMIJx^cC7yidb0pz@x3CMOPW|EK@J-^Zn4%B+avO~
zsSv$7PRt*F^G|ZWf3g=k5rW8IJsl<1Zd~`uNhRsJ<^x
zNF#Nzz)#kY+e{WD(;a;!#cja^^yzDJ9{}w>YQRa5yB43%0Noz6hWKgVcHXHDxTN6}
z)*YS`^1bc6qbsoUh*$@6`~u{`JCGeETR~eEl?SXckJUtuW9g1?5%@ZY`k2XFNSGUG
zYvK2eG#hhX14r*yz}^HKVNL~8I7wHiL_?vJShm!bX|zbKG>t&-O%$+2mJIan%vJ%N
z4k(<*J_KObijEV8VW@k@Cm&=3xg$=iUsqg#hq=2&P$_yVkfSn4
zqOFgRQhjp)W9J!nUqo>VXbLx%59%^EG7MLtc?pmj9k6o+Yg%I)4%{THpiQd<6_&=-
zB9Tf=qfVG)g0*c#+m&JgiL+QJ&VrwZssbUYsXw)6E+mnqJSsaofngSs-7`P6Ozqw}
zpkxdMnPAz9iDm#`?XfHdWT`BXERGf?g+E`*|!HC+)Nh@~gB022_AZ%-)x>LL;n{l%1)YOfC*7D=eQTTCsUXuyx>{OVFwO
z-B1-b966^dj(lQ%69~)!jYJ<$DnT&ExHGk2RC470N7)dm3%Rf<{QBsOE>y-u21-HA6z$)ej0{UtFWn`#6oFtlivbIiAWuXx
z)T*|nd`8<6mP>9ZWgm)bS%gDti1$qBWA(yeao8=*0J4Qk(7NoDE)kw%fE;{ii9qz#DCIPN?flgeQoj5DDa05Y_7Uw#~0flDdTYz@1;5v;M
zh>Dm~a)FC|<(>=fVBG=RfvF&&0z(A}*Id{R3>}aPvL#T$<|PG$AtU$<((Y;zX3d*_
zah|iXG^5ezOPU#l;-+Aub`uluY#7J}Q+DqPMQg}iQxN_CrO&yFTQO*bLJeA>Xo~K8
z87RCR?B8(}XX%sPHRx8j?z;t@hv?OABT|T-LLQmgZqW25va0c&9tzuI$V0vWz=t~f
zJo3{VCy|iR?%uHYJTx$nWpqm(dPC(V%>Mw3S}XkXk3Zi3!>T-r#)g`h!%dZQ7jq*Sv8`Sm@C(yIC`{>w{Bb$05
zCfkJ>d(pCam_b&z#iMT#H}H;mg>Fy!swrCr-?-vm-}j-=p;W1qlkHOk?-p$A>k>{$
z)kkL-0x7(HN3^vy4SGD5siR+?!P_6r?CFMhWk9C%~
zc8)hhm28cYw6GRRW*o8MCASvIwJaL8SxY;f*|SN$mV)6^xbzY|3LiYa3F?wY7~;en
zmu_;=p~M_gUB;I8(@!2J9Rx?bbBx8gV8mW_<)KF|ofW(jS)JLPgML5f-JtL+_AlHf
zJ?GAu+JbDo65UKqc``@zYrB}p&rlG>{ZGL25C`6KRxo_ab*+&&41V=8!-bgvR&3SYXLFQTO*B=iTlH
zTHzTd#Zse^8C=?ICk+>fOUC6s
+
+
diff --git a/public/images/Tick.svg b/public/images/Tick.svg
new file mode 100644
index 0000000..cfb675c
--- /dev/null
+++ b/public/images/Tick.svg
@@ -0,0 +1,15 @@
+
+
+
diff --git a/public/images/add_active.svg b/public/images/add_active.svg
new file mode 100755
index 0000000..d708db4
--- /dev/null
+++ b/public/images/add_active.svg
@@ -0,0 +1,16 @@
+
+
+
diff --git a/public/images/ajax-loader-round.gif b/public/images/ajax-loader-round.gif
new file mode 100755
index 0000000000000000000000000000000000000000..43d9734cca4661d3264109967f3873356fe1a43d
GIT binary patch
literal 23847
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 |