Compare commits
18 Commits
main
...
poojak_dev
Author | SHA1 | Date |
---|---|---|
poojakhatawate | b636247585 | |
snehalathad | 5c908de83d | |
snehalathad@aissel.com | 7ddfe47058 | |
snehalathad | a56c33fdf5 | |
snehalathad@aissel.com | e46c5e3e1d | |
snehalathad | cef08de6b2 | |
snehalathad@aissel.com | 602230270b | |
snehalathad | 22ca98508f | |
snehalathad@aissel.com | cef857093e | |
snehalathad | 9337a17113 | |
snehalathad@aissel.com | 926210f74f | |
snehalathad | a3b23cbc06 | |
snehalathad@aissel.com | 68ad2823f0 | |
snehalathad@aissel.com | 624ee33537 | |
snehalathad | a1484c6d4f | |
snehalathad@aissel.com | 8893cc4740 | |
snehalathad@aissel.com | 7fadc0c64d | |
snehalathad@aissel.com | a362cbc773 |
|
@ -5,9 +5,11 @@
|
||||||
*.swp
|
*.swp
|
||||||
.DS_Store
|
.DS_Store
|
||||||
.atom/
|
.atom/
|
||||||
|
.build/
|
||||||
.buildlog/
|
.buildlog/
|
||||||
.history
|
.history
|
||||||
.svn/
|
.svn/
|
||||||
|
.swiftpm/
|
||||||
migrate_working_dir/
|
migrate_working_dir/
|
||||||
|
|
||||||
# IntelliJ related
|
# IntelliJ related
|
||||||
|
|
|
@ -48,7 +48,7 @@ android {
|
||||||
applicationId "com.example.konectar_events"
|
applicationId "com.example.konectar_events"
|
||||||
// You can update the following values to match your application needs.
|
// You can update the following values to match your application needs.
|
||||||
// For more information, see: https://docs.flutter.dev/deployment/android#reviewing-the-gradle-build-configuration.
|
// For more information, see: https://docs.flutter.dev/deployment/android#reviewing-the-gradle-build-configuration.
|
||||||
minSdkVersion flutter.minSdkVersion
|
minSdkVersion 21
|
||||||
targetSdkVersion flutter.targetSdkVersion
|
targetSdkVersion flutter.targetSdkVersion
|
||||||
versionCode flutterVersionCode.toInteger()
|
versionCode flutterVersionCode.toInteger()
|
||||||
versionName flutterVersionName
|
versionName flutterVersionName
|
||||||
|
|
|
@ -1,4 +1,11 @@
|
||||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
|
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
|
||||||
|
<uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
|
||||||
|
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
|
||||||
|
<uses-permission android:name="android.permission.WAKE_LOCK"/>
|
||||||
|
<uses-permission android:name="android.permission.SCHEDULE_EXACT_ALARM"/>
|
||||||
|
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
|
||||||
|
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"
|
||||||
|
android:maxSdkVersion="29" />
|
||||||
<application android:label="konectar_events" android:name="${applicationName}" android:icon="@mipmap/launcher_icon">
|
<application android:label="konectar_events" android:name="${applicationName}" android:icon="@mipmap/launcher_icon">
|
||||||
<activity android:name=".MainActivity" android:exported="true" android:launchMode="singleTop" android:theme="@style/LaunchTheme" android:configChanges="orientation|keyboardHidden|keyboard|screenSize|smallestScreenSize|locale|layoutDirection|fontScale|screenLayout|density|uiMode" android:hardwareAccelerated="true" android:windowSoftInputMode="adjustResize">
|
<activity android:name=".MainActivity" android:exported="true" android:launchMode="singleTop" android:theme="@style/LaunchTheme" android:configChanges="orientation|keyboardHidden|keyboard|screenSize|smallestScreenSize|locale|layoutDirection|fontScale|screenLayout|density|uiMode" android:hardwareAccelerated="true" android:windowSoftInputMode="adjustResize">
|
||||||
<!-- Specifies an Android theme to apply to this Activity as soon as
|
<!-- Specifies an Android theme to apply to this Activity as soon as
|
||||||
|
|
|
@ -0,0 +1,87 @@
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"api": "loadFutureEvents",
|
||||||
|
"interval": 0,
|
||||||
|
"method": "POST",
|
||||||
|
"module": "eventapis"
|
||||||
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
"api": "saveUserInterestedEvent",
|
||||||
|
"interval": 0,
|
||||||
|
"method": "POST",
|
||||||
|
"module": "eventapis"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"api": "saveUserAttendingEvent",
|
||||||
|
"interval": 0,
|
||||||
|
"method": "POST",
|
||||||
|
"module": "eventapis"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"api": "eventOverview",
|
||||||
|
"interval": 0,
|
||||||
|
"method": "POST",
|
||||||
|
"module": "eventapis"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"api": "getSpecialitiesDonutChart",
|
||||||
|
"interval": 0,
|
||||||
|
"method": "POST",
|
||||||
|
"module": "eventapis"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"api": "getTopicCloudChart",
|
||||||
|
"interval": 0,
|
||||||
|
"method": "POST",
|
||||||
|
"module": "eventapis"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"api": "getTopAffiliationBarChart",
|
||||||
|
"interval": 0,
|
||||||
|
"method": "POST",
|
||||||
|
"module": "eventapis"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"api": "eventSpeakers",
|
||||||
|
"interval": 0,
|
||||||
|
"method": "POST",
|
||||||
|
"module": "eventapis"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"api": "saveEventsTopicNote",
|
||||||
|
"interval": 5,
|
||||||
|
"method": "POST",
|
||||||
|
"module": "eventapis"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"api": "eventUserAnalytics",
|
||||||
|
"interval": 0,
|
||||||
|
"method": "POST",
|
||||||
|
"module": "eventapis"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"api": "saveEventOffline",
|
||||||
|
"interval": 0,
|
||||||
|
"method": "POST",
|
||||||
|
"module": "eventapis"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"api": "contactslistapi",
|
||||||
|
"interval": 5,
|
||||||
|
"method": "POST",
|
||||||
|
"module": "contactsapi"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"api": "saveContactsOffline",
|
||||||
|
"interval": 0,
|
||||||
|
"method": "POST",
|
||||||
|
"module": "contactsapi"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"api": "saveInteraction",
|
||||||
|
"interval": 0,
|
||||||
|
"method": "POST",
|
||||||
|
"module": "contactsapi"
|
||||||
|
}
|
||||||
|
]
|
|
@ -0,0 +1,231 @@
|
||||||
|
{
|
||||||
|
"data": [
|
||||||
|
{
|
||||||
|
"id": "CMSUMedInsight",
|
||||||
|
"name": "ADD CMSU INSIGHT(SHARED WITH SALESFORCE)",
|
||||||
|
"form-fields": [
|
||||||
|
{
|
||||||
|
"sectionName": "CMSU Insight",
|
||||||
|
"multiple": false,
|
||||||
|
"sectionList": [
|
||||||
|
{
|
||||||
|
"name": "HCP Name",
|
||||||
|
"id": "hcpname",
|
||||||
|
"depid": "",
|
||||||
|
"widget": "label",
|
||||||
|
"input": "label",
|
||||||
|
"validation": {
|
||||||
|
"isRequired": false
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Insight Open Date",
|
||||||
|
"id": "date",
|
||||||
|
"depid": "",
|
||||||
|
"widget": "text",
|
||||||
|
"input": "Date",
|
||||||
|
"validation": {
|
||||||
|
"isRequired": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Insight Modality",
|
||||||
|
"param": "insight_modality",
|
||||||
|
"id": "insight_modality",
|
||||||
|
"selectedValue": [],
|
||||||
|
"depid": "",
|
||||||
|
"widget": "dropdown",
|
||||||
|
"input": "dropdown",
|
||||||
|
"inputList": [
|
||||||
|
{
|
||||||
|
"id": "CT",
|
||||||
|
"name": "CT"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "HIT",
|
||||||
|
"name": "HIT"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "MI",
|
||||||
|
"name": "MI"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "MR",
|
||||||
|
"name": "MR"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "Postdoc",
|
||||||
|
"name": "Postdoc"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "UL",
|
||||||
|
"name": "UL"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "VL",
|
||||||
|
"name": "VL"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "XR",
|
||||||
|
"name": "XR"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"validation": {
|
||||||
|
"isRequired": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Discussion Type",
|
||||||
|
"id": "discussion_type",
|
||||||
|
"depid": "",
|
||||||
|
"widget": "dropdown",
|
||||||
|
"input": "dropdown",
|
||||||
|
"inputList": [
|
||||||
|
{
|
||||||
|
"id": "Proactive",
|
||||||
|
|
||||||
|
"name": "Proactive"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "Reactive",
|
||||||
|
|
||||||
|
"name": "Reactive"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"validation": {
|
||||||
|
"isRequired": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Insight Temperature",
|
||||||
|
"id": "insight_temperature",
|
||||||
|
"depid": "",
|
||||||
|
"widget": "dropdown",
|
||||||
|
"input": "dropdown",
|
||||||
|
"inputList": [
|
||||||
|
{
|
||||||
|
"id": "Green",
|
||||||
|
"name": "Green"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "Red",
|
||||||
|
"name": "Red"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "Yellow",
|
||||||
|
"name": "Yellow "
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"validation": {
|
||||||
|
"isRequired": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Insight Owners",
|
||||||
|
"id": "insight_owners",
|
||||||
|
"depid": "",
|
||||||
|
"widget": "dropdown",
|
||||||
|
"input": "dropdown",
|
||||||
|
"inputList": [
|
||||||
|
{
|
||||||
|
"id": "Applications",
|
||||||
|
|
||||||
|
"name": "Applications"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "BU",
|
||||||
|
|
||||||
|
"name": "BU"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "Commercial",
|
||||||
|
|
||||||
|
"name": "Commercial"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "Service",
|
||||||
|
|
||||||
|
"name": "Service"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"validation": {
|
||||||
|
"isRequired": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Initiate Alert",
|
||||||
|
"id": "initiate_alert",
|
||||||
|
"depid": "",
|
||||||
|
"widget": "dropdown",
|
||||||
|
"input": "dropdown",
|
||||||
|
"inputList": [
|
||||||
|
{
|
||||||
|
"id": "No",
|
||||||
|
|
||||||
|
"name": "No"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "Yes",
|
||||||
|
|
||||||
|
"name": "Yes"
|
||||||
|
}
|
||||||
|
|
||||||
|
],
|
||||||
|
"validation": {
|
||||||
|
"isRequired": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Status",
|
||||||
|
"id": "status",
|
||||||
|
"depid": "sourcetype",
|
||||||
|
"widget": "dropdown",
|
||||||
|
"input": "dropdown",
|
||||||
|
"inputList": [
|
||||||
|
{
|
||||||
|
"id": "Open",
|
||||||
|
|
||||||
|
"name": "Open"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "Closed",
|
||||||
|
|
||||||
|
"name": "Closed"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "Cancelled",
|
||||||
|
|
||||||
|
"name": "Cancelled"
|
||||||
|
}
|
||||||
|
|
||||||
|
],
|
||||||
|
"validation": {
|
||||||
|
"isRequired": true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
]
|
||||||
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
"sectionName": "Comments",
|
||||||
|
"multiple": false,
|
||||||
|
"sectionList": [
|
||||||
|
{
|
||||||
|
"name": "Insight Comments",
|
||||||
|
"id": "insight_comments",
|
||||||
|
"depid": "",
|
||||||
|
"widget": "text",
|
||||||
|
"input": "textArea",
|
||||||
|
"validation": {
|
||||||
|
"isRequired": true,
|
||||||
|
"maxchars": "300"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
|
@ -0,0 +1,300 @@
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"uid": 1,
|
||||||
|
"id": 1447203401,
|
||||||
|
"Salutation": "Dr.",
|
||||||
|
"First Name": "Roxana",
|
||||||
|
"Middle Name": "",
|
||||||
|
"Last Name": "Mehran",
|
||||||
|
"name": "Dr. Roxana Mehran",
|
||||||
|
"p_suffix": "MD,FACC,FACP,FCCP,FESC,FAHA,FSCAI",
|
||||||
|
"speciality": "Cardiovascular Disease (Cardiology)",
|
||||||
|
"sub_speciality": "",
|
||||||
|
"OrgName": "Icahn School of Medicine at Mount Sinai",
|
||||||
|
"Division": "",
|
||||||
|
"Title": "",
|
||||||
|
"License #": "NY: 185790",
|
||||||
|
"NPI Number": 1447203401,
|
||||||
|
"Profile Type": "Basic Profile",
|
||||||
|
"Url": "",
|
||||||
|
"Org ID": 256884,
|
||||||
|
"summarry": "• 41 Years of experience\n• Studied in New York University, St. George's University Medical School\n• Icahn School Of Medicine At Mount Sinai, Medstar Washington Hospital Center and 111 other affiliations\n• Speaker in 442 sessions in conferences\n• 909 Publications with 274 articles as lead author\n• Investigator in 23 clinical studies\n• Received payments from Abbott Laboratories, Amgen Inc., Astrazeneca Pharmaceuticals Lp and 23 other companies\n• Is Opioid Prescribing - No\n• Sanction(s): None",
|
||||||
|
"phone_no": "+12127317822",
|
||||||
|
"Fax": "+12127317822",
|
||||||
|
"email": "roxana.mehran@mountsinai.org",
|
||||||
|
"Address1": "1 Gustave L Levy Pl",
|
||||||
|
"Address2": "",
|
||||||
|
"City": "New York",
|
||||||
|
"State": "New York",
|
||||||
|
"PostalCode": 10029,
|
||||||
|
"Country": "United States",
|
||||||
|
"img_path": "",
|
||||||
|
"event_topics": "Heart Failure | Heart Diseases | Heart Failure, Systolic",
|
||||||
|
"pub_topics": "Heart Failure | Diabetes Mellitus, Type 2 | Cardiovascular Diseases",
|
||||||
|
"products_discussed": "VERQUVO | JARDIANCE | JARDIANCE",
|
||||||
|
"disease_conditions": "",
|
||||||
|
"drugs": "",
|
||||||
|
"topdata": [
|
||||||
|
{
|
||||||
|
"title": "Top Event Topics",
|
||||||
|
"name1": "Heart Failure",
|
||||||
|
"name2": "Heart Diseases",
|
||||||
|
"name3": "Heart Failure, Systolic"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "Top Publication Topics",
|
||||||
|
"name1": "Heart Failure",
|
||||||
|
"name2": "Diabetes Mellitus, Type 2",
|
||||||
|
"name3": "Cardiovascular Diseases"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "Top Products Discussed",
|
||||||
|
"name1": "VERQUVO",
|
||||||
|
"name2": "JARDIANCE",
|
||||||
|
"name3": "JARDIANCE"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"uid": 2,
|
||||||
|
"id": 1639100928,
|
||||||
|
"Salutation": "Dr.",
|
||||||
|
"First Name": "Javed",
|
||||||
|
"Middle Name": "",
|
||||||
|
"Last Name": "Butler",
|
||||||
|
"name": "Dr. Javed Butler",
|
||||||
|
"p_suffix": "MD,MPH,MBA,FACC,FAHA",
|
||||||
|
"speciality": "Cardiovascular Disease (Cardiology)",
|
||||||
|
"sub_speciality": "Advanced Heart Failure And Transplant Cardiology",
|
||||||
|
"OrgName": "Baylor Scott & White Health",
|
||||||
|
"Division": "",
|
||||||
|
"Title": "",
|
||||||
|
"License #": "MS: 26174,TN: 31361",
|
||||||
|
"NPI Number": 1639100928,
|
||||||
|
"Profile Type": "Basic Profile",
|
||||||
|
"Url": "",
|
||||||
|
"Org ID": 23726,
|
||||||
|
"summarry": "• 34 Years of experience\n• Studied in Emory University Goizueta Business School, Harvard T.h. Chan School Of Public Health\n• Baylor Scott & White Health, University Of Mississippi Medical Center and 38 other affiliations\n• Speaker in 209 sessions in conferences\n• 1087 Publications with 299 articles as lead author\n• Investigator in 10 clinical studies\n• Received payments from Abbott Laboratories, American Regent, Amgen Inc. and 61 other companies\n• Is Opioid Prescribing - No\n• Sanction(s): None\n• Patent(s): 1 Patents",
|
||||||
|
"phone_no": "+12148202687",
|
||||||
|
"Fax": "+16316384170",
|
||||||
|
"email": "javed.butler@bswhealth.org",
|
||||||
|
"Address1": "3434 Live Oak St",
|
||||||
|
"Address2": "",
|
||||||
|
"City": "Dallas",
|
||||||
|
"State": "Texas",
|
||||||
|
"PostalCode": 75204,
|
||||||
|
"Country": "United States",
|
||||||
|
"img_path": "https://cardio-staging.konectar.io/images/kol_images/resized/1639100928.jpeg",
|
||||||
|
"event_topics": "Atherosclerosis | Coronary Artery Disease | Computed Tomography Angiography",
|
||||||
|
"pub_topics": "Coronary Artery Disease | Atherosclerosis | Vascular Calcification",
|
||||||
|
"products_discussed": "VERQUVO | FARXIGA | Rybelsus",
|
||||||
|
"disease_conditions": "Angina Pectoris | Coronary Artery Disease | Heart Diseases",
|
||||||
|
"drugs": "Amlodipine Besylate | Metoprolol Succinate | Atorvastatin Calcium",
|
||||||
|
"topdata": [
|
||||||
|
{
|
||||||
|
"title": "Top Event Topics",
|
||||||
|
"name1": "Atherosclerosis",
|
||||||
|
"name2": "Coronary Artery Disease",
|
||||||
|
"name3": "Computed Tomography Angiography"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "Top Publication Topics",
|
||||||
|
"name1": "Coronary Artery Disease",
|
||||||
|
"name2": "Atherosclerosis",
|
||||||
|
"name3": "Vascular Calcification"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "Top Products Discussed",
|
||||||
|
"name1": "VERQUVO",
|
||||||
|
"name2": "FARXIGA",
|
||||||
|
"name3": "Rybelsus"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "Condition Treated",
|
||||||
|
"name1": "Angina Pectoris",
|
||||||
|
"name2": "Coronary Artery Disease",
|
||||||
|
"name3": "Heart Diseases"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "Drugs Prescribed",
|
||||||
|
"name1": "Amlodipine Besylate",
|
||||||
|
"name2": "Metoprolol Succinate",
|
||||||
|
"name3": "Atorvastatin Calcium"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"uid": 3,
|
||||||
|
"id": 1811967433,
|
||||||
|
"Salutation": "Dr.",
|
||||||
|
"First Name": "Matthew",
|
||||||
|
"Middle Name": "J",
|
||||||
|
"Last Name": "Budoff",
|
||||||
|
"name": "Dr. Matthew J Budoff",
|
||||||
|
"p_suffix": "MD,FACC,FAHA",
|
||||||
|
"speciality": "Cardiovascular Disease (Cardiology)",
|
||||||
|
"sub_speciality": "",
|
||||||
|
"OrgName": "UCLA Santa Monica Medical Center",
|
||||||
|
"Division": "",
|
||||||
|
"Title": "",
|
||||||
|
"License #": "CA: G72496",
|
||||||
|
"NPI Number": 1811967433,
|
||||||
|
"Profile Type": "Basic Profile",
|
||||||
|
"Url": "",
|
||||||
|
"Org ID": 20514,
|
||||||
|
"summarry": "• 34 Years of experience\n• Studied in George Washington University School Of Medicine And Health Sciences, University Of California, Riverside\n• UCLA Santa Monica Medical Center, Prairie Du Chien Memorial Hospital Association, Inc. and 32 other affiliations\n• Speaker in 179 sessions in conferences\n• 992 Publications with 306 articles as lead author\n• Investigator in 25 clinical studies\n• Received payments from Abbott Laboratories, Actelion Pharmaceuticals Us, Inc., Actelion Pharmaceuticals, Ltd and 44 other companies\n• Is Opioid Prescribing - No\n• Sanction(s): None\n• Patent(s): 1 Patents",
|
||||||
|
"phone_no": "+16083572000",
|
||||||
|
"Fax": "+13102224107",
|
||||||
|
"email": "Budoff@ucla.edu",
|
||||||
|
"Address1": "10833 Le Conte Ave",
|
||||||
|
"Address2": "",
|
||||||
|
"City": "Los Angeles",
|
||||||
|
"State": "California",
|
||||||
|
"PostalCode": 90095,
|
||||||
|
"Country": "United States",
|
||||||
|
"img_path": "https://cardio-staging.konectar.io/images/kol_images/resized/1811967433.jpeg",
|
||||||
|
"event_topics": "Tricuspid Valve Insufficiency | Transcatheter Aortic Valve Replacement | Tricuspid Valve",
|
||||||
|
"pub_topics": "Aortic Valve Stenosis | Tricuspid Valve Insufficiency | Mitral Valve Insufficiency",
|
||||||
|
"products_discussed": "(9520) IGT Devices Undivided | VersaCross Access Solution | MITRACLIP",
|
||||||
|
"disease_conditions": "",
|
||||||
|
"drugs": "",
|
||||||
|
"topdata": [
|
||||||
|
{
|
||||||
|
"title": "Top Event Topics",
|
||||||
|
"name1": "Tricuspid Valve Insufficiency",
|
||||||
|
"name2": "Transcatheter Aortic Valve Replacement",
|
||||||
|
"name3": "Tricuspid Valve"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "Top Publication Topics",
|
||||||
|
"name1": "Aortic Valve Stenosis",
|
||||||
|
"name2": "Tricuspid Valve Insufficiency",
|
||||||
|
"name3": "Mitral Valve Insufficiency"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "Top Products Discussed",
|
||||||
|
"name1": "(9520) IGT Devices Undivided",
|
||||||
|
"name2": "VersaCross Access Solution",
|
||||||
|
"name3": "MITRACLIP"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"uid": 4,
|
||||||
|
"id": 1497893077,
|
||||||
|
"Salutation": "Dr.",
|
||||||
|
"First Name": "Rebecca",
|
||||||
|
"Middle Name": "Tung",
|
||||||
|
"Last Name": "Hahn",
|
||||||
|
"name": "Dr. Rebecca Tung Hahn",
|
||||||
|
"p_suffix": "MD",
|
||||||
|
"speciality": "Cardiovascular Disease (Cardiology)",
|
||||||
|
"sub_speciality": "Internal Medicine",
|
||||||
|
"OrgName": "Columbia University Irving Medical Center",
|
||||||
|
"Division": "",
|
||||||
|
"Title": "",
|
||||||
|
"License #": "NY: 163707",
|
||||||
|
"NPI Number": 1497893077,
|
||||||
|
"Profile Type": "Basic Profile",
|
||||||
|
"Url": "",
|
||||||
|
"Org ID": 22909,
|
||||||
|
"summarry": "• 40 Years of experience\n• Studied in Washington University School Of Medicine In St. Louis, Harvard University\n• Columbia University Irving Medical Center, Newyork-presbyterian Queens Hospital and 23 other affiliations\n• Speaker in 549 sessions in conferences\n• 427 Publications with 136 articles as lead author\n• Investigator in 7 clinical studies\n• Received payments from Abbott Laboratories, Baylis Medical Company Inc, Boston Scientific Corporation and 5 other companies\n• Is Opioid Prescribing - No\n• Sanction(s): None",
|
||||||
|
"phone_no": "+12123420444",
|
||||||
|
"Fax": "",
|
||||||
|
"email": "rth2@cumc.columbia.edu",
|
||||||
|
"Address1": "161 Fort Washington Avenue",
|
||||||
|
"Address2": "",
|
||||||
|
"City": "New York",
|
||||||
|
"State": "New York",
|
||||||
|
"PostalCode": 10032,
|
||||||
|
"Country": "United States",
|
||||||
|
"img_path": "https://cardio-staging.konectar.io/images/kol_images/resized/1497893077.jpeg",
|
||||||
|
"event_topics": "",
|
||||||
|
"pub_topics": "",
|
||||||
|
"products_discussed": "",
|
||||||
|
"disease_conditions": "",
|
||||||
|
"drugs": "",
|
||||||
|
"topdata": [
|
||||||
|
{
|
||||||
|
"title": "Top Event Topics",
|
||||||
|
"name1": "Tricuspid Valve Insufficiency",
|
||||||
|
"name2": "Transcatheter Aortic Valve Replacement",
|
||||||
|
"name3": "Tricuspid Valve"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "Top Publication Topics",
|
||||||
|
"name1": "Aortic Valve Stenosis",
|
||||||
|
"name2": "Tricuspid Valve Insufficiency",
|
||||||
|
"name3": "Mitral Valve Insufficiency"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"uid": 5,
|
||||||
|
"id": 1841382421,
|
||||||
|
"Salutation": "Dr.",
|
||||||
|
"First Name": "Andrea",
|
||||||
|
"Middle Name": "",
|
||||||
|
"Last Name": "Natale",
|
||||||
|
"name": "Dr. Andrea Natale",
|
||||||
|
"p_suffix": "MD",
|
||||||
|
"speciality": "Clinical Cardiac Electrophysiology",
|
||||||
|
"sub_speciality": "Cardiovascular Disease (Cardiology), Internal Medicine",
|
||||||
|
"OrgName": "Texas Cardiac Arrhythmia Institute",
|
||||||
|
"Division": "",
|
||||||
|
"Title": "",
|
||||||
|
"License #": "CA: C50726,TX: M9533,OH: 35076775N",
|
||||||
|
"NPI Number": 1841382421,
|
||||||
|
"Profile Type": "Basic Profile",
|
||||||
|
"Url": "",
|
||||||
|
"Org ID": 24328,
|
||||||
|
"summarry": "• 39 Years of experience\n• Studied in Università Degli Studi Di Firenze Facoltà Di Medicina E Chirurgia\n• Texas Cardiac Arrhythmia Institute, Golden State Providers, A Medical Corporation and 110 other affiliations\n• Speaker in 1091 sessions in conferences\n• 542 Publications with 213 articles as lead author\n• Investigator in 80 clinical studies\n• Received payments from Abbott Laboratories, Acclarent, Inc, Acutus Medical, Inc. and 32 other companies\n• Is Opioid Prescribing - No\n• Sanction(s): None\n• Patent(s): 1 Patents",
|
||||||
|
"phone_no": "+15128073150",
|
||||||
|
"Fax": "+15124587879",
|
||||||
|
"email": "andrea.natale@hcahealthcare.com",
|
||||||
|
"Address1": "3000 N. IH-35",
|
||||||
|
"Address2": "Suite 720",
|
||||||
|
"City": "Austin",
|
||||||
|
"State": "Texas",
|
||||||
|
"PostalCode": 78705,
|
||||||
|
"Country": "United States",
|
||||||
|
"img_path": "",
|
||||||
|
"event_topics": "Ablation Techniques | Atrial Fibrillation | Catheter Ablation",
|
||||||
|
"pub_topics": "Atrial Fibrillation | Recurrence | Tachycardia, Ventricular",
|
||||||
|
"products_discussed": "CARTO 3 | WATCHMAN Access System | ENSITE PRECISION",
|
||||||
|
"disease_conditions": "Angina Pectoris | Coronary Artery Disease | Hypertension",
|
||||||
|
"drugs": "Eliquis | Xarelto | Furosemide",
|
||||||
|
"topdata": [
|
||||||
|
{
|
||||||
|
"title": "Top Event Topics",
|
||||||
|
"name1": "Ablation Techniques",
|
||||||
|
"name2": "Atrial Fibrillation",
|
||||||
|
"name3": "Catheter Ablation"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "Top Publication Topics",
|
||||||
|
"name1": "CARTO 3",
|
||||||
|
"name2": "WATCHMAN Access System",
|
||||||
|
"name3": "ENSITE PRECISION"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "Top Products Discussed",
|
||||||
|
"name1": "CARTO 3",
|
||||||
|
"name2": "WATCHMAN Access System",
|
||||||
|
"name3": "RybeENSITE PRECISIONlsus"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "Condition Treated",
|
||||||
|
"name1": "Angina Pectoris",
|
||||||
|
"name2": "Coronary Artery Disease",
|
||||||
|
"name3": "Hypertension"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "Drugs Prescribed",
|
||||||
|
"name1": "Eliquis",
|
||||||
|
"name2": "Xarelto",
|
||||||
|
"name3": "Furosemide"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
21438
assets/ed128202.json
4909
assets/ed129314.json
157912
assets/ed129934.json
5430
assets/ed130546.json
|
@ -1,444 +0,0 @@
|
||||||
{
|
|
||||||
"data": {
|
|
||||||
"eventsdetail": [
|
|
||||||
|
|
||||||
{
|
|
||||||
"proj_kol_id": true,
|
|
||||||
"eid": "140846",
|
|
||||||
"event_topics": "Hematologic Neoplasms",
|
|
||||||
"npi_num": "1518014307",
|
|
||||||
"hcp_pin_alias": "862156",
|
|
||||||
"session_name": "Hematological Malignancies",
|
|
||||||
"name": "2024 Total Health Best of ASCO Memphis Conference (ASCO)",
|
|
||||||
"kol_id": "862156",
|
|
||||||
"first_name": "Leonard",
|
|
||||||
"middle_name": "Jefferson",
|
|
||||||
"last_name": "Harris",
|
|
||||||
"org_name": "The University of Tennessee Medical Center",
|
|
||||||
"Country": "United States",
|
|
||||||
"Region": "Tennessee",
|
|
||||||
"City": "Memphis",
|
|
||||||
"num_sess": "1",
|
|
||||||
"opt_in_out_status": null,
|
|
||||||
"url1": "https://www.totalhealthoncology.com/upcoming-oncology-conferences/asco-memphis-2024",
|
|
||||||
"session_note": null,
|
|
||||||
"events_session": "Hematological Malignancies",
|
|
||||||
"rest_events_session_count": 0,
|
|
||||||
"rest_events_session": "",
|
|
||||||
"events_topic": "Hematologic Neoplasms",
|
|
||||||
"rest_events_topic_count": 0,
|
|
||||||
"rest_events_topic": "",
|
|
||||||
"kol_name": "<a class='link' target='new' href='https://cardio.konectar.io/kols/view/862156'>Leonard Jefferson Harris</a>",
|
|
||||||
"kol_full_name": "Leonard Jefferson Harris"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"proj_kol_id": true,
|
|
||||||
"eid": "140846",
|
|
||||||
"event_topics": "Gastrointestinal Neoplasms",
|
|
||||||
"npi_num": "1043576952",
|
|
||||||
"hcp_pin_alias": "636750",
|
|
||||||
"session_name": "Gastrointestinal Cancer",
|
|
||||||
"name": "2024 Total Health Best of ASCO Memphis Conference (ASCO)",
|
|
||||||
"kol_id": "636750",
|
|
||||||
"first_name": "Saurin",
|
|
||||||
"middle_name": "Akshay",
|
|
||||||
"last_name": "Chokshi",
|
|
||||||
"org_name": "UT Regional One Physicians Inc",
|
|
||||||
"Country": "United States",
|
|
||||||
"Region": "Tennessee",
|
|
||||||
"City": "Memphis",
|
|
||||||
"num_sess": "1",
|
|
||||||
"opt_in_out_status": null,
|
|
||||||
"url1": "https://www.totalhealthoncology.com/upcoming-oncology-conferences/asco-memphis-2024",
|
|
||||||
"session_note": null,
|
|
||||||
"events_session": "Gastrointestinal Cancer",
|
|
||||||
"rest_events_session_count": 0,
|
|
||||||
"rest_events_session": "",
|
|
||||||
"events_topic": "Gastrointestinal Neoplasms",
|
|
||||||
"rest_events_topic_count": 0,
|
|
||||||
"rest_events_topic": "",
|
|
||||||
"kol_name": "<a class='link' target='new' href='https://cardio.konectar.io/kols/view/636750'>Saurin Akshay Chokshi</a>",
|
|
||||||
"kol_full_name": "Saurin Akshay Chokshi"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"proj_kol_id": true,
|
|
||||||
"eid": "140846",
|
|
||||||
"event_topics": "Admin. & Management | Diversity, Equity, Inclusion | Research",
|
|
||||||
"npi_num": "1992879456",
|
|
||||||
"hcp_pin_alias": "632325",
|
|
||||||
"session_name": "The Intersection of Research Practice and DE&I,Program Committee",
|
|
||||||
"name": "2024 Total Health Best of ASCO Memphis Conference (ASCO)",
|
|
||||||
"kol_id": "632325",
|
|
||||||
"first_name": "Karen",
|
|
||||||
"middle_name": "Marie",
|
|
||||||
"last_name": "Winkfield",
|
|
||||||
"org_name": "Vanderbilt University Medical Center",
|
|
||||||
"Country": "United States",
|
|
||||||
"Region": "Tennessee",
|
|
||||||
"City": "Nashville",
|
|
||||||
"num_sess": "2",
|
|
||||||
"opt_in_out_status": null,
|
|
||||||
"url1": "https://www.totalhealthoncology.com/upcoming-oncology-conferences/asco-memphis-2024",
|
|
||||||
"session_note": null,
|
|
||||||
"events_session": "The Intersection of Research",
|
|
||||||
"rest_events_session_count": 3,
|
|
||||||
"rest_events_session": " Practice, and DE&I,Program Committee",
|
|
||||||
"events_topic": "Admin. & Management | Diversity, Equity, Inclusion ",
|
|
||||||
"rest_events_topic_count": 1,
|
|
||||||
"rest_events_topic": " Research",
|
|
||||||
"kol_name": "<a class='link' target='new' href='https://cardio.konectar.io/kols/view/632325'>Karen Marie Winkfield</a>",
|
|
||||||
"kol_full_name": "Karen Marie Winkfield"
|
|
||||||
},
|
|
||||||
|
|
||||||
{
|
|
||||||
"proj_kol_id": true,
|
|
||||||
"eid": "140846",
|
|
||||||
"event_topics": "Health Status Disparities | Palliative Care",
|
|
||||||
"npi_num": "1801076138",
|
|
||||||
"hcp_pin_alias": "623091",
|
|
||||||
"session_name": "Reducing Disparities in Palliative Care and End of Life",
|
|
||||||
"name": "2024 Total Health Best of ASCO Memphis Conference (ASCO)",
|
|
||||||
"kol_id": "623091",
|
|
||||||
"first_name": "Manali",
|
|
||||||
"middle_name": "Indravadan",
|
|
||||||
"last_name": "Patel",
|
|
||||||
"org_name": "Stanford Health Care",
|
|
||||||
"Country": "United States",
|
|
||||||
"Region": "California",
|
|
||||||
"City": "Stanford",
|
|
||||||
"num_sess": "1",
|
|
||||||
"opt_in_out_status": null,
|
|
||||||
"url1": "https://www.totalhealthoncology.com/upcoming-oncology-conferences/asco-memphis-2024",
|
|
||||||
"session_note": null,
|
|
||||||
"events_session": "Reducing Disparities in Palliative Care and End of Life",
|
|
||||||
"rest_events_session_count": 0,
|
|
||||||
"rest_events_session": "",
|
|
||||||
"events_topic": "Health Status Disparities | Palliative Care",
|
|
||||||
"rest_events_topic_count": 0,
|
|
||||||
"rest_events_topic": "",
|
|
||||||
"kol_name": "<a class='link' target='new' href='https://cardio.konectar.io/kols/view/623091'>Manali Indravadan Patel</a>",
|
|
||||||
"kol_full_name": "Manali Indravadan Patel"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"proj_kol_id": true,
|
|
||||||
"eid": "140846",
|
|
||||||
"event_topics": "Lung Neoplasms",
|
|
||||||
"npi_num": "1134485410",
|
|
||||||
"hcp_pin_alias": "577804",
|
|
||||||
"session_name": "Lung Cancer Updates",
|
|
||||||
"name": "2024 Total Health Best of ASCO Memphis Conference (ASCO)",
|
|
||||||
"kol_id": "577804",
|
|
||||||
"first_name": "Wade",
|
|
||||||
"middle_name": "Thomas",
|
|
||||||
"last_name": "Iams",
|
|
||||||
"org_name": "Vanderbilt University Medical Center",
|
|
||||||
"Country": "United States",
|
|
||||||
"Region": "Tennessee",
|
|
||||||
"City": "Nashville",
|
|
||||||
"num_sess": "1",
|
|
||||||
"opt_in_out_status": null,
|
|
||||||
"url1": "https://www.totalhealthoncology.com/upcoming-oncology-conferences/asco-memphis-2024",
|
|
||||||
"session_note": null,
|
|
||||||
"events_session": "Lung Cancer Updates",
|
|
||||||
"rest_events_session_count": 0,
|
|
||||||
"rest_events_session": "",
|
|
||||||
"events_topic": "Lung Neoplasms",
|
|
||||||
"rest_events_topic_count": 0,
|
|
||||||
"rest_events_topic": "",
|
|
||||||
"kol_name": "<a class='link' target='new' href='https://cardio.konectar.io/kols/view/577804'>Wade Thomas Iams</a>",
|
|
||||||
"kol_full_name": "Wade Thomas Iams"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"proj_kol_id": true,
|
|
||||||
"eid": "140846",
|
|
||||||
"event_topics": "Admin. & Management | Prostatic Neoplasms",
|
|
||||||
"npi_num": "1851320691",
|
|
||||||
"hcp_pin_alias": "570492",
|
|
||||||
"session_name": "Prostate Cancer,Program Committee",
|
|
||||||
"name": "2024 Total Health Best of ASCO Memphis Conference (ASCO)",
|
|
||||||
"kol_id": "570492",
|
|
||||||
"first_name": "Bradley",
|
|
||||||
"middle_name": "G",
|
|
||||||
"last_name": "Somer",
|
|
||||||
"org_name": "West Cancer Center",
|
|
||||||
"Country": "United States",
|
|
||||||
"Region": "Mississippi",
|
|
||||||
"City": "Southaven",
|
|
||||||
"num_sess": "2",
|
|
||||||
"opt_in_out_status": null,
|
|
||||||
"url1": "https://www.totalhealthoncology.com/upcoming-oncology-conferences/asco-memphis-2024",
|
|
||||||
"session_note": null,
|
|
||||||
"events_session": "Prostate Cancer",
|
|
||||||
"rest_events_session_count": 1,
|
|
||||||
"rest_events_session": "Program Committee",
|
|
||||||
"events_topic": "Admin. & Management | Prostatic Neoplasms",
|
|
||||||
"rest_events_topic_count": 0,
|
|
||||||
"rest_events_topic": "",
|
|
||||||
"kol_name": "<a class='link' target='new' href='https://cardio.konectar.io/kols/view/570492'>Bradley G Somer</a>",
|
|
||||||
"kol_full_name": "Bradley G Somer"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"proj_kol_id": true,
|
|
||||||
"eid": "140846",
|
|
||||||
"event_topics": "Melanoma",
|
|
||||||
"npi_num": "1619075207",
|
|
||||||
"hcp_pin_alias": "559030",
|
|
||||||
"session_name": "Melanomas",
|
|
||||||
"name": "2024 Total Health Best of ASCO Memphis Conference (ASCO)",
|
|
||||||
"kol_id": "559030",
|
|
||||||
"first_name": "Kent",
|
|
||||||
"middle_name": "C",
|
|
||||||
"last_name": "Shih",
|
|
||||||
"org_name": "Tennessee Oncology Pllc",
|
|
||||||
"Country": "United States",
|
|
||||||
"Region": "Tennessee",
|
|
||||||
"City": "Nashville",
|
|
||||||
"num_sess": "1",
|
|
||||||
"opt_in_out_status": null,
|
|
||||||
"url1": "https://www.totalhealthoncology.com/upcoming-oncology-conferences/asco-memphis-2024",
|
|
||||||
"session_note": null,
|
|
||||||
"events_session": "Melanomas",
|
|
||||||
"rest_events_session_count": 0,
|
|
||||||
"rest_events_session": "",
|
|
||||||
"events_topic": "Melanoma",
|
|
||||||
"rest_events_topic_count": 0,
|
|
||||||
"rest_events_topic": "",
|
|
||||||
"kol_name": "<a class='link' target='new' href='https://cardio.konectar.io/kols/view/559030'>Kent C Shih</a>",
|
|
||||||
"kol_full_name": "Kent C Shih"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"proj_kol_id": true,
|
|
||||||
"eid": "140846",
|
|
||||||
"event_topics": "Breast Neoplasms",
|
|
||||||
"npi_num": "1306878228",
|
|
||||||
"hcp_pin_alias": "556254",
|
|
||||||
"session_name": "Early and Metastatic Breast Cancer",
|
|
||||||
"name": "2024 Total Health Best of ASCO Memphis Conference (ASCO)",
|
|
||||||
"kol_id": "556254",
|
|
||||||
"first_name": "Lee",
|
|
||||||
"middle_name": "S",
|
|
||||||
"last_name": "Schwartzberg",
|
|
||||||
"org_name": "William N. Pennington Cancer Institute at Renown Health",
|
|
||||||
"Country": "United States",
|
|
||||||
"Region": "Nevada",
|
|
||||||
"City": "Reno",
|
|
||||||
"num_sess": "1",
|
|
||||||
"opt_in_out_status": null,
|
|
||||||
"url1": "https://www.totalhealthoncology.com/upcoming-oncology-conferences/asco-memphis-2024",
|
|
||||||
"session_note": null,
|
|
||||||
"events_session": "Early and Metastatic Breast Cancer",
|
|
||||||
"rest_events_session_count": 0,
|
|
||||||
"rest_events_session": "",
|
|
||||||
"events_topic": "Breast Neoplasms",
|
|
||||||
"rest_events_topic_count": 0,
|
|
||||||
"rest_events_topic": "",
|
|
||||||
"kol_name": "<a class='link' target='new' href='https://cardio.konectar.io/kols/view/556254'>Lee S Schwartzberg</a>",
|
|
||||||
"kol_full_name": "Lee S Schwartzberg"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"proj_kol_id": true,
|
|
||||||
"eid": "140846",
|
|
||||||
"event_topics": "Multiple Myeloma",
|
|
||||||
"npi_num": "1033491642",
|
|
||||||
"hcp_pin_alias": "528288",
|
|
||||||
"session_name": "Multiple Myeloma",
|
|
||||||
"name": "2024 Total Health Best of ASCO Memphis Conference (ASCO)",
|
|
||||||
"kol_id": "528288",
|
|
||||||
"first_name": "Bhagirathbhai",
|
|
||||||
"middle_name": "Ravjibhai",
|
|
||||||
"last_name": "Dholaria",
|
|
||||||
"org_name": "Vanderbilt University Medical Center",
|
|
||||||
"Country": "United States",
|
|
||||||
"Region": "Tennessee",
|
|
||||||
"City": "Nashville",
|
|
||||||
"num_sess": "1",
|
|
||||||
"opt_in_out_status": null,
|
|
||||||
"url1": "https://www.totalhealthoncology.com/upcoming-oncology-conferences/asco-memphis-2024",
|
|
||||||
"session_note": null,
|
|
||||||
"events_session": "Multiple Myeloma",
|
|
||||||
"rest_events_session_count": 0,
|
|
||||||
"rest_events_session": "",
|
|
||||||
"events_topic": "Multiple Myeloma",
|
|
||||||
"rest_events_topic_count": 0,
|
|
||||||
"rest_events_topic": "",
|
|
||||||
"kol_name": "<a class='link' target='new' href='https://cardio.konectar.io/kols/view/528288'>Bhagirathbhai Ravjibhai Dholaria</a>",
|
|
||||||
"kol_full_name": "Bhagirathbhai Ravjibhai Dholaria"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"proj_kol_id": true,
|
|
||||||
"eid": "140846",
|
|
||||||
"event_topics": "Prostatic Neoplasms",
|
|
||||||
"npi_num": "1003349440",
|
|
||||||
"hcp_pin_alias": "364462",
|
|
||||||
"session_name": "Non-Prostate Cancer",
|
|
||||||
"name": "2024 Total Health Best of ASCO Memphis Conference (ASCO)",
|
|
||||||
"kol_id": "364462",
|
|
||||||
"first_name": "Ruchika",
|
|
||||||
"middle_name": "",
|
|
||||||
"last_name": "Talwar",
|
|
||||||
"org_name": "Vanderbilt University Medical Center",
|
|
||||||
"Country": "United States",
|
|
||||||
"Region": "Tennessee",
|
|
||||||
"City": "Nashville",
|
|
||||||
"num_sess": "1",
|
|
||||||
"opt_in_out_status": null,
|
|
||||||
"url1": "https://www.totalhealthoncology.com/upcoming-oncology-conferences/asco-memphis-2024",
|
|
||||||
"session_note": null,
|
|
||||||
"events_session": "Non-Prostate Cancer",
|
|
||||||
"rest_events_session_count": 0,
|
|
||||||
"rest_events_session": "",
|
|
||||||
"events_topic": "Prostatic Neoplasms",
|
|
||||||
"rest_events_topic_count": 0,
|
|
||||||
"rest_events_topic": "",
|
|
||||||
"kol_name": "<a class='link' target='new' href='https://cardio.konectar.io/kols/view/364462'>Ruchika Talwar</a>",
|
|
||||||
"kol_full_name": "Ruchika Talwar"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"proj_kol_id": true,
|
|
||||||
"eid": "140846",
|
|
||||||
"event_topics": "Head And Neck Neoplasms",
|
|
||||||
"npi_num": "1558479188",
|
|
||||||
"hcp_pin_alias": "219696",
|
|
||||||
"session_name": "Head and Neck Cancer",
|
|
||||||
"name": "2024 Total Health Best of ASCO Memphis Conference (ASCO)",
|
|
||||||
"kol_id": "219696",
|
|
||||||
"first_name": "Nabil",
|
|
||||||
"middle_name": "F",
|
|
||||||
"last_name": "Saba",
|
|
||||||
"org_name": "Emory University Hospital",
|
|
||||||
"Country": "United States",
|
|
||||||
"Region": "Georgia",
|
|
||||||
"City": "Atlanta",
|
|
||||||
"num_sess": "1",
|
|
||||||
"opt_in_out_status": null,
|
|
||||||
"url1": "https://www.totalhealthoncology.com/upcoming-oncology-conferences/asco-memphis-2024",
|
|
||||||
"session_note": null,
|
|
||||||
"events_session": "Head and Neck Cancer",
|
|
||||||
"rest_events_session_count": 0,
|
|
||||||
"rest_events_session": "",
|
|
||||||
"events_topic": "Head And Neck Neoplasms",
|
|
||||||
"rest_events_topic_count": 0,
|
|
||||||
"rest_events_topic": "",
|
|
||||||
"kol_name": "<a class='link' target='new' href='https://cardio.konectar.io/kols/view/219696'>Nabil F Saba</a>",
|
|
||||||
"kol_full_name": "Nabil F Saba"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"proj_kol_id": false,
|
|
||||||
"eid": "140846",
|
|
||||||
"event_topics": "Diversity, Equity, Inclusion",
|
|
||||||
"npi_num": "1871866830",
|
|
||||||
"hcp_pin_alias": "FU_HCP_5441541",
|
|
||||||
"session_name": "DEI from a Nurse Perspective",
|
|
||||||
"name": "2024 Total Health Best of ASCO Memphis Conference (ASCO)",
|
|
||||||
"kol_id": "0",
|
|
||||||
"first_name": "Clesheree Stepter",
|
|
||||||
"middle_name": null,
|
|
||||||
"last_name": null,
|
|
||||||
"org_name": "Baptist Cancer Center",
|
|
||||||
"Country": null,
|
|
||||||
"Region": null,
|
|
||||||
"City": null,
|
|
||||||
"num_sess": "1",
|
|
||||||
"opt_in_out_status": null,
|
|
||||||
"url1": "https://www.totalhealthoncology.com/upcoming-oncology-conferences/asco-memphis-2024",
|
|
||||||
"session_note": null,
|
|
||||||
"events_session": "DEI from a Nurse Perspective",
|
|
||||||
"rest_events_session_count": 0,
|
|
||||||
"rest_events_session": "",
|
|
||||||
"events_topic": "Diversity, Equity, Inclusion",
|
|
||||||
"rest_events_topic_count": 0,
|
|
||||||
"rest_events_topic": "",
|
|
||||||
"kol_name": "<div class=\"sprite_iconSet newIconSet\">\n\t\t\t\t\t<a class=\"requestProfileIcon \" href=\"#\" onclick=\"requestProfile(1871866830,'FU_HCP_5441541');return false;\" rel=\"tooltip\" data-original-title=\"Request Profile\"> </a>\n\t\t\t\t\t</div>Clesheree Stepter ",
|
|
||||||
"kol_full_name": "Clesheree Stepter "
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"proj_kol_id": false,
|
|
||||||
"eid": "140846",
|
|
||||||
"event_topics": "Patient Care",
|
|
||||||
"npi_num": "0",
|
|
||||||
"hcp_pin_alias": "FU_HCP_5441539",
|
|
||||||
"session_name": "Listening to Patients (Advocacy Corner)",
|
|
||||||
"name": "2024 Total Health Best of ASCO Memphis Conference (ASCO)",
|
|
||||||
"kol_id": "0",
|
|
||||||
"first_name": "Doretha Burrell",
|
|
||||||
"middle_name": null,
|
|
||||||
"last_name": null,
|
|
||||||
"org_name": "Dee Burrell Coaching",
|
|
||||||
"Country": "United States",
|
|
||||||
"Region": "District of Columbia",
|
|
||||||
"City": "Washington",
|
|
||||||
"num_sess": "1",
|
|
||||||
"opt_in_out_status": null,
|
|
||||||
"url1": "https://www.totalhealthoncology.com/upcoming-oncology-conferences/asco-memphis-2024",
|
|
||||||
"session_note": null,
|
|
||||||
"events_session": "Listening to Patients (Advocacy Corner)",
|
|
||||||
"rest_events_session_count": 0,
|
|
||||||
"rest_events_session": "",
|
|
||||||
"events_topic": "Patient Care",
|
|
||||||
"rest_events_topic_count": 0,
|
|
||||||
"rest_events_topic": "",
|
|
||||||
"kol_name": "<div class=\"sprite_iconSet newIconSet\">\n\t\t\t\t\t<a class=\"requestProfileIcon \" href=\"#\" onclick=\"requestProfile(0,'FU_HCP_5441539');return false;\" rel=\"tooltip\" data-original-title=\"Request Profile\"> </a>\n\t\t\t\t\t</div>Doretha Burrell ",
|
|
||||||
"kol_full_name": "Doretha Burrell "
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"proj_kol_id": false,
|
|
||||||
"eid": "140846",
|
|
||||||
"event_topics": "Healthy Lifestyle",
|
|
||||||
"npi_num": "0",
|
|
||||||
"hcp_pin_alias": "FU_HCP_5441535",
|
|
||||||
"session_name": "Lifestyle Tips and Strategies",
|
|
||||||
"name": "2024 Total Health Best of ASCO Memphis Conference (ASCO)",
|
|
||||||
"kol_id": "0",
|
|
||||||
"first_name": "Sami Mansfield",
|
|
||||||
"middle_name": null,
|
|
||||||
"last_name": null,
|
|
||||||
"org_name": "Cancer Wellness for Life",
|
|
||||||
"Country": "United States",
|
|
||||||
"Region": "Kansas",
|
|
||||||
"City": "Lenexa",
|
|
||||||
"num_sess": "1",
|
|
||||||
"opt_in_out_status": null,
|
|
||||||
"url1": "https://www.totalhealthoncology.com/upcoming-oncology-conferences/asco-memphis-2024",
|
|
||||||
"session_note": null,
|
|
||||||
"events_session": "Lifestyle Tips and Strategies",
|
|
||||||
"rest_events_session_count": 0,
|
|
||||||
"rest_events_session": "",
|
|
||||||
"events_topic": "Healthy Lifestyle",
|
|
||||||
"rest_events_topic_count": 0,
|
|
||||||
"rest_events_topic": "",
|
|
||||||
"kol_name": "<div class=\"sprite_iconSet newIconSet\">\n\t\t\t\t\t<a class=\"requestProfileIcon \" href=\"#\" onclick=\"requestProfile(0,'FU_HCP_5441535');return false;\" rel=\"tooltip\" data-original-title=\"Request Profile\"> </a>\n\t\t\t\t\t</div>Sami Mansfield ",
|
|
||||||
"kol_full_name": "Sami Mansfield "
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"proj_kol_id": false,
|
|
||||||
"eid": "140846",
|
|
||||||
"event_topics": "State Health Plans",
|
|
||||||
"npi_num": "0",
|
|
||||||
"hcp_pin_alias": "FU_HCP_5441536",
|
|
||||||
"session_name": "Memphis Tennessee: State of Health",
|
|
||||||
"name": "2024 Total Health Best of ASCO Memphis Conference (ASCO)",
|
|
||||||
"kol_id": "0",
|
|
||||||
"first_name": "Shalini Parekh",
|
|
||||||
"middle_name": null,
|
|
||||||
"last_name": null,
|
|
||||||
"org_name": "Tennessee Department of Health",
|
|
||||||
"Country": "United States",
|
|
||||||
"Region": "Tennessee",
|
|
||||||
"City": "Nashville",
|
|
||||||
"num_sess": "1",
|
|
||||||
"opt_in_out_status": null,
|
|
||||||
"url1": "https://www.totalhealthoncology.com/upcoming-oncology-conferences/asco-memphis-2024",
|
|
||||||
"session_note": null,
|
|
||||||
"events_session": "Memphis Tennessee: State of Health",
|
|
||||||
"rest_events_session_count": 0,
|
|
||||||
"rest_events_session": "",
|
|
||||||
"events_topic": "State Health Plans",
|
|
||||||
"rest_events_topic_count": 0,
|
|
||||||
"rest_events_topic": "",
|
|
||||||
"kol_name": "<div class=\"sprite_iconSet newIconSet\">\n\t\t\t\t\t<a class=\"requestProfileIcon \" href=\"#\" onclick=\"requestProfile(0,'FU_HCP_5441536');return false;\" rel=\"tooltip\" data-original-title=\"Request Profile\"> </a>\n\t\t\t\t\t</div>Shalini Parekh ",
|
|
||||||
"kol_full_name": "Shalini Parekh "
|
|
||||||
}
|
|
||||||
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
12506
assets/ed142682.json
1026
assets/events.json
|
@ -1,385 +0,0 @@
|
||||||
{
|
|
||||||
"data": {
|
|
||||||
"events": [
|
|
||||||
|
|
||||||
{
|
|
||||||
"therapeutic_area": "Oncology | Pediatrics",
|
|
||||||
"hcp_pin": "FU_HCP_5455134",
|
|
||||||
"cnt": "431",
|
|
||||||
"id": "2394176",
|
|
||||||
"kol_id": "0",
|
|
||||||
"type": "conference",
|
|
||||||
"event_type": "Congress",
|
|
||||||
"event_id": "142682",
|
|
||||||
"session_type": "CME",
|
|
||||||
"session_name": "Scientific Committee",
|
|
||||||
"role": "Chair",
|
|
||||||
"topic": "",
|
|
||||||
"start": "10/17/2024",
|
|
||||||
"end": "10/20/2024",
|
|
||||||
"organizer": "International Society of Paediatric Oncology (SIOP)",
|
|
||||||
"sponsor_type": "1",
|
|
||||||
"session_sponsor": "International Society of Paediatric Oncology (SIOP)",
|
|
||||||
"organizer_type": "1",
|
|
||||||
"location": "Hawaii Convention Center",
|
|
||||||
"address": "1801 Kalākaua Avenue",
|
|
||||||
"city_id": "1221",
|
|
||||||
"state_id": "133",
|
|
||||||
"country_id": "254",
|
|
||||||
"postal_code": "96815",
|
|
||||||
"subject": null,
|
|
||||||
"url1": "https://cslide.ctimeetingtech.com/siop24/attendee/confcal/session/list",
|
|
||||||
"url2": null,
|
|
||||||
"notes": null,
|
|
||||||
"created_by": "1304",
|
|
||||||
"created_on": "08/14/2024",
|
|
||||||
"modified_by": null,
|
|
||||||
"modified_on": "2024-08-14 09:15:28",
|
|
||||||
"client_id": "1",
|
|
||||||
"project_id": null,
|
|
||||||
"activity_type": "Organizing Committee",
|
|
||||||
"profile_type": "1",
|
|
||||||
"global_event_id": null,
|
|
||||||
"event_unique_id": "_2394176",
|
|
||||||
"old_kol_event_id": null,
|
|
||||||
"stype": "Association",
|
|
||||||
"otype": "Association",
|
|
||||||
"name1": "2024 International Society of Paediatric Oncology Annual Congress (SIOP)",
|
|
||||||
"partially_released_event": "1",
|
|
||||||
"Country": "United States",
|
|
||||||
"Region": "Hawaii",
|
|
||||||
"City": "Honolulu",
|
|
||||||
"topic_name": "Admin. & Management",
|
|
||||||
"eventLat": "21.3084",
|
|
||||||
"eventLong": "-157.846",
|
|
||||||
"user_count": "1",
|
|
||||||
"partialcount": "431",
|
|
||||||
"session_note1": null,
|
|
||||||
"session_note": null,
|
|
||||||
"organizerAlias": "ISPO",
|
|
||||||
"eAllowed": true,
|
|
||||||
"dAllowed": true,
|
|
||||||
"updated": true,
|
|
||||||
"speakerscount":"431",
|
|
||||||
"topTopics":"1. Neoplasms \n2. Solid Tumors \n3. Wilms Tumor",
|
|
||||||
"topSpeakers":"1. Marilyn Hockenberry \n2. Rob Pieters \n3. Avram Denburg",
|
|
||||||
"sponsors":"1. LES LABORATOIRES SERVIER, SERB \n2. International Society of Paediatric Oncology (SIOP)"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"therapeutic_area": "Medical Imaging",
|
|
||||||
"hcp_pin": "",
|
|
||||||
"cnt": "187",
|
|
||||||
"id": "2096326",
|
|
||||||
"kol_id": "0",
|
|
||||||
"type": "conference",
|
|
||||||
"event_type": "Annual Meeting",
|
|
||||||
"event_id": "130546",
|
|
||||||
"session_type": "",
|
|
||||||
"session_name": "",
|
|
||||||
"role": "",
|
|
||||||
"topic": "",
|
|
||||||
"start": "09/21/2024",
|
|
||||||
"end": "09/24/2024",
|
|
||||||
"organizer": "North American Society for Cardiovascular Imaging (NASCI)",
|
|
||||||
"sponsor_type": "11",
|
|
||||||
"session_sponsor": "",
|
|
||||||
"organizer_type": "1",
|
|
||||||
"location": "The Westin Boston Seaport District",
|
|
||||||
"address": "425 Summer Street",
|
|
||||||
"city_id": "8816",
|
|
||||||
"state_id": "143",
|
|
||||||
"country_id": "254",
|
|
||||||
"postal_code": "02210",
|
|
||||||
"subject": null,
|
|
||||||
"url1": "https://nasci.org/annual-meeting/",
|
|
||||||
"url2": null,
|
|
||||||
"notes": null,
|
|
||||||
"created_by": "663",
|
|
||||||
"created_on": "01/25/2024",
|
|
||||||
"modified_by": null,
|
|
||||||
"modified_on": "2024-01-25 10:09:44",
|
|
||||||
"client_id": "1",
|
|
||||||
"project_id": null,
|
|
||||||
"activity_type": "Speaking",
|
|
||||||
"profile_type": "1",
|
|
||||||
"global_event_id": null,
|
|
||||||
"event_unique_id": "_2096326",
|
|
||||||
"old_kol_event_id": null,
|
|
||||||
"stype": "",
|
|
||||||
"otype": "Association",
|
|
||||||
"name1": "2024 North American Society for Cardiovascular Imaging Annual Meeting (NASCI)",
|
|
||||||
"partially_released_event": "1",
|
|
||||||
"Country": "United States",
|
|
||||||
"Region": "Massachusetts",
|
|
||||||
"City": "Boston",
|
|
||||||
"topic_name": null,
|
|
||||||
"eventLat": "42.3535",
|
|
||||||
"eventLong": "-71.0627",
|
|
||||||
"user_count": "1",
|
|
||||||
"partialcount": "188",
|
|
||||||
"session_note1": null,
|
|
||||||
"session_note": null,
|
|
||||||
"organizerAlias": "NASFCI",
|
|
||||||
"eAllowed": true,
|
|
||||||
"dAllowed": true,
|
|
||||||
"updated": false,
|
|
||||||
"speakerscount":"187",
|
|
||||||
"topTopics":"1. Cardiac Imaging Techniques \n2. Admin. & Management \n3. Diagnostic Imaging",
|
|
||||||
"topSpeakers":"1. Monesha L Gupta \n2. Seyed Ali Nabipoorashrafi \n3. Yuval Liberman",
|
|
||||||
"sponsors":"1. North American Society for Cardiovascular Imaging (NASCI)"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"therapeutic_area": "Precision Oncology | Oncology | Oncology Syros | Cancer Screening | Oncology_Puma",
|
|
||||||
"hcp_pin": "FU_HCP_5454224",
|
|
||||||
"cnt": "739",
|
|
||||||
"id": "2392698",
|
|
||||||
"kol_id": "0",
|
|
||||||
"type": "conference",
|
|
||||||
"event_type": "Congress",
|
|
||||||
"event_id": "128202",
|
|
||||||
"session_type": "CME",
|
|
||||||
"session_name": "Clinics and research in LMIC",
|
|
||||||
"role": "Speaker",
|
|
||||||
"topic": "",
|
|
||||||
"start": "09/13/2024",
|
|
||||||
"end": "09/17/2024",
|
|
||||||
"organizer": "European Society for Medical Oncology (ESMO)",
|
|
||||||
"sponsor_type": "1",
|
|
||||||
"session_sponsor": "European Society for Medical Oncology (ESMO)",
|
|
||||||
"organizer_type": "1",
|
|
||||||
"location": "Fira Barcelona Gran Via",
|
|
||||||
"address": "Av. Joan Carles I, 64, L'Hospitalet de Llobregat",
|
|
||||||
"city_id": null,
|
|
||||||
"state_id": null,
|
|
||||||
"country_id": "226",
|
|
||||||
"postal_code": "08908",
|
|
||||||
"subject": null,
|
|
||||||
"url1": "https://cslide.ctimeetingtech.com/esmo2024/attendee/confcal/session",
|
|
||||||
"url2": null,
|
|
||||||
"notes": null,
|
|
||||||
"created_by": "1304",
|
|
||||||
"created_on": "08/12/2024",
|
|
||||||
"modified_by": null,
|
|
||||||
"modified_on": "2024-08-12 11:53:46",
|
|
||||||
"client_id": "1",
|
|
||||||
"project_id": null,
|
|
||||||
"activity_type": "Speaking",
|
|
||||||
"profile_type": "1",
|
|
||||||
"global_event_id": null,
|
|
||||||
"event_unique_id": "_2392698",
|
|
||||||
"old_kol_event_id": null,
|
|
||||||
"stype": "Association",
|
|
||||||
"otype": "Association",
|
|
||||||
"name1": "2024 European Society for Medical Oncology Congress (ESMO)",
|
|
||||||
"partially_released_event": "0",
|
|
||||||
"Country": "Spain",
|
|
||||||
"Region": null,
|
|
||||||
"City": null,
|
|
||||||
"topic_name": "Clinical Research",
|
|
||||||
"eventLat": null,
|
|
||||||
"eventLong": null,
|
|
||||||
"user_count": "1",
|
|
||||||
"partialcount": "739",
|
|
||||||
"session_note1": null,
|
|
||||||
"session_note": null,
|
|
||||||
"organizerAlias": "ESFMO",
|
|
||||||
"eAllowed": true,
|
|
||||||
"dAllowed": true,
|
|
||||||
"updated": true,
|
|
||||||
"speakerscount":"739",
|
|
||||||
"topTopics":"1. Breast Neoplasms \n2. Solid Tumors \n3. Carcinoma, Non-Small-Cell Lung",
|
|
||||||
"topSpeakers":"1. Elena Garralda \n2. Jarushka Naidoo \n3. Matthew N. Fowler",
|
|
||||||
"sponsors":"1. F. Hoffmann-La Roche Ltd \n2. Eli Lilly and Company \n3. Novocure GmbH"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"therapeutic_area": "Oncology",
|
|
||||||
"hcp_pin": "FU_HCP_100356",
|
|
||||||
"cnt": "15",
|
|
||||||
"id": "2360942",
|
|
||||||
"kol_id": "570492",
|
|
||||||
"type": "conference",
|
|
||||||
"event_type": "Conference",
|
|
||||||
"event_id": "140846",
|
|
||||||
"session_type": "CME",
|
|
||||||
"session_name": "Program Committee",
|
|
||||||
"role": "Chair",
|
|
||||||
"topic": "",
|
|
||||||
"start": "09/07/2024",
|
|
||||||
"end": "09/08/2024",
|
|
||||||
"organizer": "Total Health Information Services, LLC (THISL)",
|
|
||||||
"sponsor_type": "4",
|
|
||||||
"session_sponsor": "Total Health Information Services, LLC",
|
|
||||||
"organizer_type": "5",
|
|
||||||
"location": "Hilton Memphis",
|
|
||||||
"address": "939 Ridge Lake Boulevard",
|
|
||||||
"city_id": "10913",
|
|
||||||
"state_id": "164",
|
|
||||||
"country_id": "254",
|
|
||||||
"postal_code": "38120",
|
|
||||||
"subject": null,
|
|
||||||
"url1": "https://www.totalhealthoncology.com/upcoming-oncology-conferences/asco-memphis-2024",
|
|
||||||
"url2": null,
|
|
||||||
"notes": null,
|
|
||||||
"created_by": "663",
|
|
||||||
"created_on": "07/05/2024",
|
|
||||||
"modified_by": null,
|
|
||||||
"modified_on": "2024-07-05 12:57:49",
|
|
||||||
"client_id": "1",
|
|
||||||
"project_id": null,
|
|
||||||
"activity_type": "Organizing Committee",
|
|
||||||
"profile_type": "1",
|
|
||||||
"global_event_id": null,
|
|
||||||
"event_unique_id": "_2360942",
|
|
||||||
"old_kol_event_id": null,
|
|
||||||
"stype": "Other",
|
|
||||||
"otype": "Other",
|
|
||||||
"name1": "2024 Total Health Best of ASCO Memphis Conference (ASCO)",
|
|
||||||
"partially_released_event": "1",
|
|
||||||
"Country": "United States",
|
|
||||||
"Region": "Tennessee",
|
|
||||||
"City": "Memphis",
|
|
||||||
"topic_name": "Admin. & Management",
|
|
||||||
"eventLat": "35.1292",
|
|
||||||
"eventLong": "-89.9892",
|
|
||||||
"user_count": "1",
|
|
||||||
"partialcount": "15",
|
|
||||||
"session_note1": null,
|
|
||||||
"session_note": null,
|
|
||||||
"organizerAlias": "THISL",
|
|
||||||
"eAllowed": true,
|
|
||||||
"dAllowed": true,
|
|
||||||
"updated": false,
|
|
||||||
"speakerscount":"15",
|
|
||||||
"topTopics":"1. Admin. & Management \n2. Breast Neoplasms \n3. Prostatic Neoplasms",
|
|
||||||
"topSpeakers":"1. Bradley G Somer \n2. Karen Marie Winkfield \n3. Bhagirathbhai Ravjibhai Dholaria",
|
|
||||||
"sponsors":"1. Total Health Information Services, LLC"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"therapeutic_area": "Oncology_Syros",
|
|
||||||
"hcp_pin": "",
|
|
||||||
"cnt": "169",
|
|
||||||
"id": "2062445",
|
|
||||||
"kol_id": "0",
|
|
||||||
"type": "conference",
|
|
||||||
"event_type": "Annual Meeting",
|
|
||||||
"event_id": "129314",
|
|
||||||
"session_type": "",
|
|
||||||
"session_name": "",
|
|
||||||
"role": "",
|
|
||||||
"topic": "",
|
|
||||||
"start": "09/04/2024",
|
|
||||||
"end": "09/07/2024",
|
|
||||||
"organizer": "Society of Hematologic Oncology (SOHO)",
|
|
||||||
"sponsor_type": "11",
|
|
||||||
"session_sponsor": "",
|
|
||||||
"organizer_type": "1",
|
|
||||||
"location": "George R. Brown Convention Center",
|
|
||||||
"address": "1001 Avenida De Las Americas",
|
|
||||||
"city_id": "11109",
|
|
||||||
"state_id": "165",
|
|
||||||
"country_id": "254",
|
|
||||||
"postal_code": "77010",
|
|
||||||
"subject": null,
|
|
||||||
"url1": "https://sohoonline.org/SOHO/iCore/Events/Event_display.aspx?EventKey=SOHO24",
|
|
||||||
"url2": null,
|
|
||||||
"notes": null,
|
|
||||||
"created_by": "490",
|
|
||||||
"created_on": "12/18/2023",
|
|
||||||
"modified_by": null,
|
|
||||||
"modified_on": "2023-12-18 12:53:20",
|
|
||||||
"client_id": "1",
|
|
||||||
"project_id": null,
|
|
||||||
"activity_type": "Speaking",
|
|
||||||
"profile_type": "1",
|
|
||||||
"global_event_id": null,
|
|
||||||
"event_unique_id": "_2062445",
|
|
||||||
"old_kol_event_id": null,
|
|
||||||
"stype": "",
|
|
||||||
"otype": "Association",
|
|
||||||
"name1": "2024 Society of Hematologic Oncology Annual Meeting (SOHO)",
|
|
||||||
"partially_released_event": "1",
|
|
||||||
"Country": "United States",
|
|
||||||
"Region": "Texas",
|
|
||||||
"City": "Houston",
|
|
||||||
"topic_name": null,
|
|
||||||
"eventLat": "29.7716",
|
|
||||||
"eventLong": "-95.393",
|
|
||||||
"user_count": "1",
|
|
||||||
"partialcount": "170",
|
|
||||||
"session_note1": null,
|
|
||||||
"session_note": null,
|
|
||||||
"organizerAlias": "SHO",
|
|
||||||
"eAllowed": true,
|
|
||||||
"dAllowed": true,
|
|
||||||
"updated": false,
|
|
||||||
"speakerscount":"169",
|
|
||||||
"topTopics":"1. Myelodysplastic Syndromes \n2. Leukemia, Myeloid, Acute \n3. Precursor Cell Lymphoblastic Leukemia-Lymphoma",
|
|
||||||
"topSpeakers":"1. Angela Dispenzieri \n2. Elias J Jabbour \n3. Grzegorz Stanislaw Nowakowski",
|
|
||||||
"sponsors":"1. Medical Learning Institute Inc, ADC Therapeutics SA, Genentech Inc, F. Hoffmann-La Roche Ltd, Genmab A/S \n2. Medical Learning Institute Inc, Haymarket Media Inc, Bristol-Myers Squibb Company, Janssen Global Services, LLC \n3. Medical Learning Institute Inc, Medscape LLC, Novartis AG, Enliven Therapeutics"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"therapeutic_area": "Cardiology | Cardiology_Abbott | Critical Care | Chiesi_GMA | Cardiac_Imaging | Medical Imaging",
|
|
||||||
"hcp_pin": "FU_HCP_5455877",
|
|
||||||
"cnt": "5445",
|
|
||||||
"id": "2395349",
|
|
||||||
"kol_id": "906494",
|
|
||||||
"type": "conference",
|
|
||||||
"event_type": "Congress",
|
|
||||||
"event_id": "129934",
|
|
||||||
"session_type": "CME",
|
|
||||||
"session_name": "Infections and the heart: all we need to know given new migration patterns",
|
|
||||||
"role": "Chair",
|
|
||||||
"topic": "",
|
|
||||||
"start": "08/30/2024",
|
|
||||||
"end": "09/02/2024",
|
|
||||||
"organizer": "European Society of Cardiology Congress (ESC)",
|
|
||||||
"sponsor_type": "1",
|
|
||||||
"session_sponsor": "InterAmerican Society of Cardiology (IASC), European Society of Cardiology (ESC)",
|
|
||||||
"organizer_type": "1",
|
|
||||||
"location": "ExCeL London",
|
|
||||||
"address": "Royal Victoria Dock, 1 Western Gateway",
|
|
||||||
"city_id": "12008",
|
|
||||||
"state_id": "5392",
|
|
||||||
"country_id": "253",
|
|
||||||
"postal_code": "E16 1XL",
|
|
||||||
"subject": null,
|
|
||||||
"url1": "https://esc365.escardio.org/ESC-Congress/programme?text=&docType=DigitalSession&page=1",
|
|
||||||
"url2": null,
|
|
||||||
"notes": null,
|
|
||||||
"created_by": "1304",
|
|
||||||
"created_on": "08/14/2024",
|
|
||||||
"modified_by": null,
|
|
||||||
"modified_on": "2024-08-14 09:15:58",
|
|
||||||
"client_id": "1",
|
|
||||||
"project_id": null,
|
|
||||||
"activity_type": "Speaking",
|
|
||||||
"profile_type": "1",
|
|
||||||
"global_event_id": null,
|
|
||||||
"event_unique_id": "_2395349",
|
|
||||||
"old_kol_event_id": null,
|
|
||||||
"stype": "Association",
|
|
||||||
"otype": "Association",
|
|
||||||
"name1": "2024 European Society of Cardiology Congress (ESC)",
|
|
||||||
"partially_released_event": "1",
|
|
||||||
"Country": "United Kingdom",
|
|
||||||
"Region": "England",
|
|
||||||
"City": "London",
|
|
||||||
"topic_name": "Heart Diseases",
|
|
||||||
"eventLat": "51.517",
|
|
||||||
"eventLong": "-0.105",
|
|
||||||
"user_count": "1",
|
|
||||||
"partialcount": "5445",
|
|
||||||
"session_note1": null,
|
|
||||||
"session_note": null,
|
|
||||||
"organizerAlias": "ESCC",
|
|
||||||
"eAllowed": true,
|
|
||||||
"dAllowed": true,
|
|
||||||
"updated": true,
|
|
||||||
"speakerscount":"5445",
|
|
||||||
"topTopics":"1. Heart Failure \n2. Atrial Fibrillation \n3. Cardiovascular Diseases",
|
|
||||||
"topSpeakers":"1. Kang-Yin Chen \n2. Kausik Ray \n3. Mohamed Abouzid",
|
|
||||||
"sponsors":"1. Radcliffe Medical Education, AstraZeneca \n2. Radcliffe Medical Education, AtriCure Inc \n3. Great Wall International Congress of Cardiology (GW-ICC), European Society of Cardiology (ESC)"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -0,0 +1,17 @@
|
||||||
|
<svg width="412" height="917" viewBox="0 0 412 917" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<g clip-path="url(#clip0_3978_4162)">
|
||||||
|
<rect width="412" height="917" fill="white"/>
|
||||||
|
<rect opacity="0.35" x="359.173" y="10.8333" width="21" height="10.3333" rx="2.16667" stroke="white" stroke-opacity="0.6"/>
|
||||||
|
<path opacity="0.4" d="M381.673 14V18C382.478 17.6612 383.001 16.8731 383.001 16C383.001 15.1269 382.478 14.3388 381.673 14" fill="white" fill-opacity="0.6"/>
|
||||||
|
<rect x="360.673" y="12.3333" width="18" height="7.33333" rx="1.33333" fill="white"/>
|
||||||
|
<path fill-rule="evenodd" clip-rule="evenodd" d="M346.007 12.615C348.232 12.6151 350.371 13.4693 351.984 15.0008C352.105 15.1191 352.299 15.1176 352.419 14.9975L353.579 13.8272C353.64 13.7663 353.674 13.6837 353.673 13.5979C353.673 13.5121 353.638 13.4299 353.577 13.3697C349.345 9.31751 342.668 9.31751 338.437 13.3697C338.375 13.4299 338.34 13.512 338.34 13.5978C338.339 13.6837 338.373 13.7662 338.433 13.8272L339.594 14.9975C339.714 15.1178 339.908 15.1193 340.029 15.0008C341.642 13.4692 343.782 12.615 346.007 12.615ZM346.007 16.4226C347.229 16.4226 348.408 16.8765 349.314 17.6963C349.437 17.8126 349.63 17.8101 349.749 17.6906L350.908 16.5203C350.969 16.4589 351.003 16.3756 351.002 16.2891C351.002 16.2025 350.966 16.12 350.904 16.0598C348.145 13.4954 343.872 13.4954 341.112 16.0598C341.05 16.12 341.015 16.2026 341.014 16.2891C341.013 16.3757 341.047 16.459 341.108 16.5203L342.267 17.6906C342.387 17.8101 342.58 17.8126 342.702 17.6963C343.608 16.877 344.785 16.4231 346.007 16.4226ZM348.329 18.9845C348.331 19.0712 348.297 19.1549 348.235 19.2157L346.229 21.2377C346.171 21.2971 346.091 21.3306 346.007 21.3306C345.923 21.3306 345.843 21.2971 345.784 21.2377L343.779 19.2157C343.717 19.1549 343.683 19.0712 343.685 18.9844C343.686 18.8976 343.724 18.8154 343.788 18.7573C345.069 17.675 346.945 17.675 348.225 18.7573C348.29 18.8155 348.327 18.8977 348.329 18.9845Z" fill="white"/>
|
||||||
|
<path fill-rule="evenodd" clip-rule="evenodd" d="M332.34 10.6665H331.34C330.788 10.6665 330.34 11.1142 330.34 11.6665V20.3332C330.34 20.8855 330.788 21.3332 331.34 21.3332H332.34C332.892 21.3332 333.34 20.8855 333.34 20.3332V11.6665C333.34 11.1142 332.892 10.6665 332.34 10.6665ZM326.673 12.9998H327.673C328.225 12.9998 328.673 13.4476 328.673 13.9998V20.3332C328.673 20.8855 328.225 21.3332 327.673 21.3332H326.673C326.121 21.3332 325.673 20.8855 325.673 20.3332V13.9998C325.673 13.4476 326.121 12.9998 326.673 12.9998ZM323.007 15.3332H322.007C321.454 15.3332 321.007 15.7809 321.007 16.3332V20.3332C321.007 20.8855 321.454 21.3332 322.007 21.3332H323.007C323.559 21.3332 324.007 20.8855 324.007 20.3332V16.3332C324.007 15.7809 323.559 15.3332 323.007 15.3332ZM318.34 17.3332H317.34C316.788 17.3332 316.34 17.7809 316.34 18.3332V20.3332C316.34 20.8855 316.788 21.3332 317.34 21.3332H318.34C318.892 21.3332 319.34 20.8855 319.34 20.3332V18.3332C319.34 17.7809 318.892 17.3332 318.34 17.3332Z" fill="white"/>
|
||||||
|
<path d="M37.1696 8.35C36.2096 8.35 35.3946 8.555 34.7246 8.965C34.0446 9.365 33.5246 9.95 33.1645 10.72C32.8046 11.49 32.6246 12.44 32.6246 13.57C32.6246 14.77 32.8446 15.785 33.2846 16.615C33.7146 17.445 34.3146 18.075 35.0846 18.505C35.8546 18.935 36.7496 19.15 37.7696 19.15C38.2996 19.15 38.8046 19.095 39.2846 18.985C39.7646 18.875 40.1796 18.705 40.5296 18.475L39.8096 17.005C39.5196 17.195 39.2046 17.33 38.8646 17.41C38.5246 17.48 38.1746 17.515 37.8146 17.515C36.8246 17.515 36.0396 17.21 35.4596 16.6C34.8796 15.99 34.5896 15.09 34.5896 13.9C34.5896 13.71 34.5946 13.49 34.6046 13.24C34.6146 12.98 34.6496 12.72 34.7096 12.46L34.1096 13.12C34.2796 13.53 34.5246 13.875 34.8446 14.155C35.1646 14.425 35.5396 14.63 35.9696 14.77C36.3996 14.91 36.8746 14.98 37.3946 14.98C38.0746 14.98 38.6896 14.85 39.2396 14.59C39.7796 14.32 40.2096 13.945 40.5296 13.465C40.8496 12.975 41.0096 12.405 41.0096 11.755C41.0096 11.055 40.8396 10.455 40.4996 9.955C40.1596 9.445 39.6996 9.05 39.1196 8.77C38.5296 8.49 37.8796 8.35 37.1696 8.35ZM37.0646 9.88C37.4646 9.88 37.8196 9.955 38.1296 10.105C38.4396 10.245 38.6846 10.45 38.8646 10.72C39.0346 10.98 39.1196 11.295 39.1196 11.665C39.1196 12.215 38.9296 12.65 38.5496 12.97C38.1696 13.29 37.6596 13.45 37.0196 13.45C36.5996 13.45 36.2296 13.375 35.9096 13.225C35.5896 13.065 35.3396 12.85 35.1596 12.58C34.9796 12.3 34.8896 11.99 34.8896 11.65C34.8896 11.32 34.9746 11.025 35.1446 10.765C35.3146 10.495 35.5596 10.28 35.8796 10.12C36.1996 9.96 36.5946 9.88 37.0646 9.88ZM30.4153 13.39C30.7553 13.39 31.0453 13.275 31.2853 13.045C31.5253 12.805 31.6453 12.505 31.6453 12.145C31.6453 11.765 31.5253 11.465 31.2853 11.245C31.0453 11.015 30.7553 10.9 30.4153 10.9C30.0753 10.9 29.7853 11.015 29.5453 11.245C29.3053 11.465 29.1853 11.765 29.1853 12.145C29.1853 12.505 29.3053 12.805 29.5453 13.045C29.7853 13.275 30.0753 13.39 30.4153 13.39ZM30.4153 19.105C30.7553 19.105 31.0453 18.99 31.2853 18.76C31.5253 18.52 31.6453 18.22 31.6453 17.86C31.6453 17.48 31.5253 17.18 31.2853 16.96C31.0453 16.73 30.7553 16.615 30.4153 16.615C30.0753 16.615 29.7853 16.73 29.5453 16.96C29.3053 17.18 29.1853 17.48 29.1853 17.86C29.1853 18.22 29.3053 18.52 29.5453 18.76C29.7853 18.99 30.0753 19.105 30.4153 19.105ZM28.3531 16.615V15.265L23.1781 8.5H21.0931L26.1931 15.265L27.1681 14.965H18.8431V16.615H28.3531ZM22.5931 19V16.615L22.5331 14.965V12.85H20.7031V19H22.5931ZM17.0033 19V9.25L16.1483 10.135H19.2233V8.5H15.0533V19H17.0033Z" fill="white"/>
|
||||||
|
<circle cx="297.5" cy="458.5" r="257.5" fill="#E7F4FF"/>
|
||||||
|
</g>
|
||||||
|
<defs>
|
||||||
|
<clipPath id="clip0_3978_4162">
|
||||||
|
<rect width="412" height="917" fill="white"/>
|
||||||
|
</clipPath>
|
||||||
|
</defs>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 5.5 KiB |
After Width: | Height: | Size: 31 KiB |
Before Width: | Height: | Size: 2.3 KiB |
|
@ -0,0 +1,5 @@
|
||||||
|
<svg width="78" height="79" viewBox="0 0 78 79" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<path fill-rule="evenodd" clip-rule="evenodd" d="M48.5 10.6623C48.5 13.562 47.2853 16.1722 45.347 17.9913C54.403 20.7722 61 29.3503 61 39.5012C61 49.6522 54.403 58.2302 45.347 61.0111C47.2853 62.8303 48.5 65.4404 48.5 68.3402C48.5 70.627 47.7445 72.7337 46.4745 74.4143C62.2132 70.9192 74 56.6154 74 39.5012C74 22.3871 62.2132 8.08329 46.4745 4.58813C47.7445 6.2688 48.5 8.37548 48.5 10.6623ZM30.9217 74.2745C15.4863 70.5517 4 56.3958 4 39.5012C4 22.6066 15.4863 8.45076 30.9217 4.72797C29.7144 6.38499 29 8.43847 29 10.6623C29 13.6253 30.2683 16.286 32.281 18.1093C23.4169 21.0084 17 29.4898 17 39.5012C17 49.5126 23.4169 57.9941 32.281 60.8932C30.2683 62.7165 29 65.3771 29 68.3402C29 70.564 29.7144 72.6175 30.9217 74.2745Z" fill="#4B93CF"/>
|
||||||
|
<path d="M46.9535 10.9348C46.9535 15.3171 43.3922 18.8696 38.999 18.8696C34.6058 18.8696 31.0444 15.3171 31.0444 10.9348C31.0444 6.55253 34.6058 3 38.999 3C43.3922 3 46.9535 6.55253 46.9535 10.9348Z" fill="#F26635"/>
|
||||||
|
<path d="M46.9535 68.0647C46.9535 72.4469 43.3922 75.9995 38.999 75.9995C34.6058 75.9995 31.0444 72.4469 31.0444 68.0647C31.0444 63.6824 34.6058 60.1299 38.999 60.1299C43.3922 60.1299 46.9535 63.6824 46.9535 68.0647Z" fill="#F26635"/>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 1.3 KiB |
After Width: | Height: | Size: 14 KiB |
|
@ -0,0 +1,17 @@
|
||||||
|
<svg width="412" height="917" viewBox="0 0 412 917" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<g clip-path="url(#clip0_3978_4219)">
|
||||||
|
<rect width="412" height="917" transform="matrix(-1 0 0 1 412 0)" fill="white"/>
|
||||||
|
<circle cx="257.5" cy="257.5" r="257.5" transform="matrix(-1 0 0 1 554 201)" fill="#E7F4FF"/>
|
||||||
|
<rect opacity="0.35" x="-0.5" y="0.5" width="21" height="10.3333" rx="2.16667" transform="matrix(-1 0 0 1 52.3267 10.3334)" stroke="white" stroke-opacity="0.6"/>
|
||||||
|
<path opacity="0.4" d="M30.3267 14V18C29.5219 17.6612 28.9986 16.8731 28.9986 16C28.9986 15.1269 29.5219 14.3388 30.3267 14" fill="white" fill-opacity="0.6"/>
|
||||||
|
<rect width="18" height="7.33333" rx="1.33333" transform="matrix(-1 0 0 1 51.3267 12.3334)" fill="white"/>
|
||||||
|
<path fill-rule="evenodd" clip-rule="evenodd" d="M65.9931 12.6152C63.7684 12.6153 61.6287 13.4694 60.0163 15.001C59.8949 15.1192 59.7009 15.1177 59.5813 14.9976L58.4207 13.8273C58.3601 13.7664 58.3264 13.6839 58.3269 13.598C58.3274 13.5122 58.3621 13.4301 58.4233 13.3699C62.6553 9.31763 69.3316 9.31763 73.5635 13.3699C73.6248 13.43 73.6596 13.5121 73.6601 13.598C73.6607 13.6838 73.627 13.7663 73.5665 13.8273L72.4056 14.9976C72.2861 15.1179 72.0918 15.1194 71.9705 15.001C70.3579 13.4693 68.218 12.6152 65.9931 12.6152ZM65.9931 16.4227C64.7707 16.4227 63.592 16.8766 62.6859 17.6964C62.5634 17.8127 62.3703 17.8102 62.2509 17.6907L61.0916 16.5204C61.0306 16.459 60.9967 16.3757 60.9976 16.2892C60.9984 16.2027 61.034 16.1201 61.0963 16.0599C63.8555 13.4955 68.1284 13.4955 70.8875 16.0599C70.9499 16.1201 70.9854 16.2027 70.9862 16.2893C70.9871 16.3758 70.9531 16.4591 70.8919 16.5204L69.7329 17.6907C69.6135 17.8102 69.4204 17.8127 69.2979 17.6964C68.3924 16.8772 67.2146 16.4233 65.9931 16.4227ZM63.6709 18.9846C63.6691 19.0714 63.7032 19.155 63.7652 19.2158L65.7705 21.2378C65.8293 21.2972 65.9095 21.3307 65.9931 21.3307C66.0767 21.3307 66.1569 21.2972 66.2156 21.2378L68.2213 19.2158C68.2832 19.155 68.3173 19.0713 68.3155 18.9845C68.3136 18.8977 68.276 18.8156 68.2116 18.7574C66.9309 17.6751 65.0553 17.6751 63.7746 18.7574C63.7102 18.8156 63.6726 18.8978 63.6709 18.9846Z" fill="white"/>
|
||||||
|
<path fill-rule="evenodd" clip-rule="evenodd" d="M79.6602 10.6667H80.6602C81.2124 10.6667 81.6602 11.1145 81.6602 11.6667V20.3334C81.6602 20.8857 81.2124 21.3334 80.6602 21.3334H79.6602C79.1079 21.3334 78.6602 20.8857 78.6602 20.3334V11.6667C78.6602 11.1145 79.1079 10.6667 79.6602 10.6667ZM85.3268 13.0001H84.3268C83.7745 13.0001 83.3268 13.4478 83.3268 14.0001V20.3334C83.3268 20.8857 83.7745 21.3334 84.3268 21.3334H85.3268C85.8791 21.3334 86.3268 20.8857 86.3268 20.3334V14.0001C86.3268 13.4478 85.8791 13.0001 85.3268 13.0001ZM88.9935 15.3334H89.9935C90.5458 15.3334 90.9935 15.7811 90.9935 16.3334V20.3334C90.9935 20.8857 90.5458 21.3334 89.9935 21.3334H88.9935C88.4412 21.3334 87.9935 20.8857 87.9935 20.3334V16.3334C87.9935 15.7811 88.4412 15.3334 88.9935 15.3334ZM93.6602 17.3334H94.6602C95.2124 17.3334 95.6602 17.7811 95.6602 18.3334V20.3334C95.6602 20.8857 95.2124 21.3334 94.6602 21.3334H93.6602C93.1079 21.3334 92.6602 20.8857 92.6602 20.3334V18.3334C92.6602 17.7811 93.1079 17.3334 93.6602 17.3334Z" fill="white"/>
|
||||||
|
<path d="M375.33 8.35C376.29 8.35 377.105 8.555 377.775 8.965C378.455 9.365 378.975 9.95 379.335 10.72C379.695 11.49 379.875 12.44 379.875 13.57C379.875 14.77 379.655 15.785 379.215 16.615C378.785 17.445 378.185 18.075 377.415 18.505C376.645 18.935 375.75 19.15 374.73 19.15C374.2 19.15 373.695 19.095 373.215 18.985C372.735 18.875 372.32 18.705 371.97 18.475L372.69 17.005C372.98 17.195 373.295 17.33 373.635 17.41C373.975 17.48 374.325 17.515 374.685 17.515C375.675 17.515 376.46 17.21 377.04 16.6C377.62 15.99 377.91 15.09 377.91 13.9C377.91 13.71 377.905 13.49 377.895 13.24C377.885 12.98 377.85 12.72 377.79 12.46L378.39 13.12C378.22 13.53 377.975 13.875 377.655 14.155C377.335 14.425 376.96 14.63 376.53 14.77C376.1 14.91 375.625 14.98 375.105 14.98C374.425 14.98 373.81 14.85 373.26 14.59C372.72 14.32 372.29 13.945 371.97 13.465C371.65 12.975 371.49 12.405 371.49 11.755C371.49 11.055 371.66 10.455 372 9.955C372.34 9.445 372.8 9.05 373.38 8.77C373.97 8.49 374.62 8.35 375.33 8.35ZM375.435 9.88C375.035 9.88 374.68 9.955 374.37 10.105C374.06 10.245 373.815 10.45 373.635 10.72C373.465 10.98 373.38 11.295 373.38 11.665C373.38 12.215 373.57 12.65 373.95 12.97C374.33 13.29 374.84 13.45 375.48 13.45C375.9 13.45 376.27 13.375 376.59 13.225C376.91 13.065 377.16 12.85 377.34 12.58C377.52 12.3 377.61 11.99 377.61 11.65C377.61 11.32 377.525 11.025 377.355 10.765C377.185 10.495 376.94 10.28 376.62 10.12C376.3 9.96 375.905 9.88 375.435 9.88ZM382.085 13.39C381.745 13.39 381.455 13.275 381.215 13.045C380.975 12.805 380.855 12.505 380.855 12.145C380.855 11.765 380.975 11.465 381.215 11.245C381.455 11.015 381.745 10.9 382.085 10.9C382.425 10.9 382.715 11.015 382.955 11.245C383.195 11.465 383.315 11.765 383.315 12.145C383.315 12.505 383.195 12.805 382.955 13.045C382.715 13.275 382.425 13.39 382.085 13.39ZM382.085 19.105C381.745 19.105 381.455 18.99 381.215 18.76C380.975 18.52 380.855 18.22 380.855 17.86C380.855 17.48 380.975 17.18 381.215 16.96C381.455 16.73 381.745 16.615 382.085 16.615C382.425 16.615 382.715 16.73 382.955 16.96C383.195 17.18 383.315 17.48 383.315 17.86C383.315 18.22 383.195 18.52 382.955 18.76C382.715 18.99 382.425 19.105 382.085 19.105ZM384.147 16.615V15.265L389.322 8.5H391.407L386.307 15.265L385.332 14.965H393.657V16.615H384.147ZM389.907 19V16.615L389.967 14.965V12.85H391.797V19H389.907ZM395.497 19V9.25L396.352 10.135H393.277V8.5H397.447V19H395.497Z" fill="white"/>
|
||||||
|
</g>
|
||||||
|
<defs>
|
||||||
|
<clipPath id="clip0_3978_4219">
|
||||||
|
<rect width="412" height="917" fill="white" transform="matrix(-1 0 0 1 412 0)"/>
|
||||||
|
</clipPath>
|
||||||
|
</defs>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 5.6 KiB |
After Width: | Height: | Size: 8.9 MiB |
|
@ -0,0 +1,16 @@
|
||||||
|
<svg width="375" height="812" viewBox="0 0 375 812" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<g clip-path="url(#clip0_3978_4255)">
|
||||||
|
<rect width="375" height="812" transform="matrix(-1 0 0 1 375 0)" fill="white"/>
|
||||||
|
<circle cx="240.5" cy="240.5" r="240.5" transform="matrix(-1 0 0 1 521 208)" fill="#E7F4FF"/>
|
||||||
|
<rect opacity="0.35" x="-0.5" y="0.5" width="21" height="10.3333" rx="2.16667" transform="matrix(-1 0 0 1 52.3267 10.3333)" stroke="white" stroke-opacity="0.6"/>
|
||||||
|
<path opacity="0.4" d="M30.3267 14V18C29.5219 17.6612 28.9986 16.8731 28.9986 16C28.9986 15.1269 29.5219 14.3388 30.3267 14" fill="white" fill-opacity="0.6"/>
|
||||||
|
<rect width="18" height="7.33333" rx="1.33333" transform="matrix(-1 0 0 1 51.3267 12.3333)" fill="white"/>
|
||||||
|
<path fill-rule="evenodd" clip-rule="evenodd" d="M65.9931 12.615C63.7684 12.6151 61.6287 13.4693 60.0163 15.0008C59.8949 15.1191 59.7009 15.1176 59.5813 14.9975L58.4207 13.8272C58.3601 13.7663 58.3264 13.6837 58.3269 13.5979C58.3274 13.5121 58.3621 13.4299 58.4233 13.3697C62.6553 9.31751 69.3316 9.31751 73.5635 13.3697C73.6248 13.4299 73.6596 13.512 73.6601 13.5978C73.6607 13.6837 73.627 13.7662 73.5665 13.8272L72.4056 14.9975C72.2861 15.1178 72.0918 15.1193 71.9705 15.0008C70.3579 13.4692 68.218 12.615 65.9931 12.615ZM65.9931 16.4226C64.7707 16.4226 63.592 16.8765 62.6859 17.6963C62.5634 17.8126 62.3703 17.8101 62.2509 17.6906L61.0916 16.5203C61.0306 16.4589 60.9967 16.3756 60.9976 16.2891C60.9984 16.2025 61.034 16.12 61.0963 16.0598C63.8555 13.4954 68.1284 13.4954 70.8875 16.0598C70.9499 16.12 70.9854 16.2026 70.9862 16.2891C70.9871 16.3757 70.9531 16.459 70.8919 16.5203L69.7329 17.6906C69.6135 17.8101 69.4204 17.8126 69.2979 17.6963C68.3924 16.877 67.2146 16.4231 65.9931 16.4226ZM63.6709 18.9845C63.6691 19.0712 63.7032 19.1549 63.7652 19.2157L65.7705 21.2377C65.8293 21.2971 65.9095 21.3306 65.9931 21.3306C66.0767 21.3306 66.1569 21.2971 66.2156 21.2377L68.2213 19.2157C68.2832 19.1549 68.3173 19.0712 68.3155 18.9844C68.3136 18.8976 68.276 18.8154 68.2116 18.7573C66.9309 17.675 65.0553 17.675 63.7746 18.7573C63.7102 18.8155 63.6726 18.8977 63.6709 18.9845Z" fill="white"/>
|
||||||
|
<path fill-rule="evenodd" clip-rule="evenodd" d="M79.6602 10.6665H80.6602C81.2124 10.6665 81.6602 11.1142 81.6602 11.6665V20.3332C81.6602 20.8855 81.2124 21.3332 80.6602 21.3332H79.6602C79.1079 21.3332 78.6602 20.8855 78.6602 20.3332V11.6665C78.6602 11.1142 79.1079 10.6665 79.6602 10.6665ZM85.3268 12.9998H84.3268C83.7745 12.9998 83.3268 13.4476 83.3268 13.9998V20.3332C83.3268 20.8855 83.7745 21.3332 84.3268 21.3332H85.3268C85.8791 21.3332 86.3268 20.8855 86.3268 20.3332V13.9998C86.3268 13.4476 85.8791 12.9998 85.3268 12.9998ZM88.9935 15.3332H89.9935C90.5458 15.3332 90.9935 15.7809 90.9935 16.3332V20.3332C90.9935 20.8855 90.5458 21.3332 89.9935 21.3332H88.9935C88.4412 21.3332 87.9935 20.8855 87.9935 20.3332V16.3332C87.9935 15.7809 88.4412 15.3332 88.9935 15.3332ZM93.6602 17.3332H94.6602C95.2124 17.3332 95.6602 17.7809 95.6602 18.3332V20.3332C95.6602 20.8855 95.2124 21.3332 94.6602 21.3332H93.6602C93.1079 21.3332 92.6602 20.8855 92.6602 20.3332V18.3332C92.6602 17.7809 93.1079 17.3332 93.6602 17.3332Z" fill="white"/>
|
||||||
|
</g>
|
||||||
|
<defs>
|
||||||
|
<clipPath id="clip0_3978_4255">
|
||||||
|
<rect width="375" height="812" fill="white" transform="matrix(-1 0 0 1 375 0)"/>
|
||||||
|
</clipPath>
|
||||||
|
</defs>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 3.2 KiB |
|
@ -0,0 +1,17 @@
|
||||||
|
<svg width="375" height="812" viewBox="0 0 375 812" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<g clip-path="url(#clip0_3861_6297)">
|
||||||
|
<rect width="375" height="812" rx="20" fill="white"/>
|
||||||
|
<circle cx="94.5" cy="448.5" r="240.5" fill="#E7F4FF"/>
|
||||||
|
<rect opacity="0.35" x="322.173" y="10.8333" width="21" height="10.3333" rx="2.16667" stroke="white" stroke-opacity="0.6"/>
|
||||||
|
<path opacity="0.4" d="M344.673 14V18C345.478 17.6612 346.001 16.8731 346.001 16C346.001 15.1269 345.478 14.3388 344.673 14Z" fill="white" fill-opacity="0.6"/>
|
||||||
|
<rect x="323.673" y="12.3333" width="18" height="7.33333" rx="1.33333" fill="white"/>
|
||||||
|
<path fill-rule="evenodd" clip-rule="evenodd" d="M309.007 12.615C311.232 12.6151 313.371 13.4693 314.984 15.0008C315.105 15.1191 315.299 15.1176 315.419 14.9975L316.579 13.8272C316.64 13.7663 316.674 13.6837 316.673 13.5979C316.673 13.5121 316.638 13.4299 316.577 13.3697C312.345 9.31751 305.668 9.31751 301.437 13.3697C301.375 13.4299 301.34 13.512 301.34 13.5978C301.339 13.6837 301.373 13.7662 301.433 13.8272L302.594 14.9975C302.714 15.1178 302.908 15.1193 303.029 15.0008C304.642 13.4692 306.782 12.615 309.007 12.615ZM309.007 16.4226C310.229 16.4226 311.408 16.8765 312.314 17.6963C312.437 17.8126 312.63 17.8101 312.749 17.6906L313.908 16.5203C313.969 16.4589 314.003 16.3756 314.002 16.2891C314.002 16.2025 313.966 16.12 313.904 16.0598C311.145 13.4954 306.872 13.4954 304.112 16.0598C304.05 16.12 304.015 16.2026 304.014 16.2891C304.013 16.3757 304.047 16.459 304.108 16.5203L305.267 17.6906C305.387 17.8101 305.58 17.8126 305.702 17.6963C306.608 16.877 307.785 16.4231 309.007 16.4226ZM311.329 18.9845C311.331 19.0712 311.297 19.1549 311.235 19.2157L309.229 21.2377C309.171 21.2971 309.091 21.3306 309.007 21.3306C308.923 21.3306 308.843 21.2971 308.784 21.2377L306.779 19.2157C306.717 19.1549 306.683 19.0712 306.685 18.9844C306.686 18.8976 306.724 18.8154 306.788 18.7573C308.069 17.675 309.945 17.675 311.225 18.7573C311.29 18.8155 311.327 18.8977 311.329 18.9845Z" fill="white"/>
|
||||||
|
<path fill-rule="evenodd" clip-rule="evenodd" d="M295.34 10.6665H294.34C293.788 10.6665 293.34 11.1142 293.34 11.6665V20.3332C293.34 20.8855 293.788 21.3332 294.34 21.3332H295.34C295.892 21.3332 296.34 20.8855 296.34 20.3332V11.6665C296.34 11.1142 295.892 10.6665 295.34 10.6665ZM289.673 12.9998H290.673C291.225 12.9998 291.673 13.4476 291.673 13.9998V20.3332C291.673 20.8855 291.225 21.3332 290.673 21.3332H289.673C289.121 21.3332 288.673 20.8855 288.673 20.3332V13.9998C288.673 13.4476 289.121 12.9998 289.673 12.9998ZM286.007 15.3332H285.007C284.454 15.3332 284.007 15.7809 284.007 16.3332V20.3332C284.007 20.8855 284.454 21.3332 285.007 21.3332H286.007C286.559 21.3332 287.007 20.8855 287.007 20.3332V16.3332C287.007 15.7809 286.559 15.3332 286.007 15.3332ZM281.34 17.3332H280.34C279.788 17.3332 279.34 17.7809 279.34 18.3332V20.3332C279.34 20.8855 279.788 21.3332 280.34 21.3332H281.34C281.892 21.3332 282.34 20.8855 282.34 20.3332V18.3332C282.34 17.7809 281.892 17.3332 281.34 17.3332Z" fill="white"/>
|
||||||
|
</g>
|
||||||
|
<rect x="0.5" y="0.5" width="374" height="811" rx="19.5" stroke="black"/>
|
||||||
|
<defs>
|
||||||
|
<clipPath id="clip0_3861_6297">
|
||||||
|
<rect width="375" height="812" rx="20" fill="white"/>
|
||||||
|
</clipPath>
|
||||||
|
</defs>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 3.1 KiB |
|
@ -0,0 +1,17 @@
|
||||||
|
<svg width="500" height="917" viewBox="0 0 500 917" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<g clip-path="url(#clip0_3978_4273)">
|
||||||
|
<rect width="500" height="917" fill="white"/>
|
||||||
|
<circle cx="144" cy="458" r="290" fill="#E7F4FF"/>
|
||||||
|
<rect opacity="0.35" x="447.173" y="10.8333" width="21" height="10.3333" rx="2.16667" stroke="white" stroke-opacity="0.6"/>
|
||||||
|
<path opacity="0.4" d="M469.673 14V18C470.478 17.6612 471.001 16.8731 471.001 16C471.001 15.1269 470.478 14.3388 469.673 14" fill="white" fill-opacity="0.6"/>
|
||||||
|
<rect x="448.673" y="12.3333" width="18" height="7.33333" rx="1.33333" fill="white"/>
|
||||||
|
<path fill-rule="evenodd" clip-rule="evenodd" d="M434.007 12.615C436.232 12.6151 438.371 13.4693 439.984 15.0008C440.105 15.1191 440.299 15.1176 440.419 14.9975L441.579 13.8272C441.64 13.7663 441.674 13.6837 441.673 13.5979C441.673 13.5121 441.638 13.4299 441.577 13.3697C437.345 9.31751 430.668 9.31751 426.437 13.3697C426.375 13.4299 426.34 13.512 426.34 13.5978C426.339 13.6837 426.373 13.7662 426.433 13.8272L427.594 14.9975C427.714 15.1178 427.908 15.1193 428.029 15.0008C429.642 13.4692 431.782 12.615 434.007 12.615ZM434.007 16.4226C435.229 16.4226 436.408 16.8765 437.314 17.6963C437.437 17.8126 437.63 17.8101 437.749 17.6906L438.908 16.5203C438.969 16.4589 439.003 16.3756 439.002 16.2891C439.002 16.2025 438.966 16.12 438.904 16.0598C436.145 13.4954 431.872 13.4954 429.112 16.0598C429.05 16.12 429.015 16.2026 429.014 16.2891C429.013 16.3757 429.047 16.459 429.108 16.5203L430.267 17.6906C430.387 17.8101 430.58 17.8126 430.702 17.6963C431.608 16.877 432.785 16.4231 434.007 16.4226ZM436.329 18.9845C436.331 19.0712 436.297 19.1549 436.235 19.2157L434.229 21.2377C434.171 21.2971 434.091 21.3306 434.007 21.3306C433.923 21.3306 433.843 21.2971 433.784 21.2377L431.779 19.2157C431.717 19.1549 431.683 19.0712 431.685 18.9844C431.686 18.8976 431.724 18.8154 431.788 18.7573C433.069 17.675 434.945 17.675 436.225 18.7573C436.29 18.8155 436.327 18.8977 436.329 18.9845Z" fill="white"/>
|
||||||
|
<path fill-rule="evenodd" clip-rule="evenodd" d="M420.34 10.6665H419.34C418.788 10.6665 418.34 11.1142 418.34 11.6665V20.3332C418.34 20.8855 418.788 21.3332 419.34 21.3332H420.34C420.892 21.3332 421.34 20.8855 421.34 20.3332V11.6665C421.34 11.1142 420.892 10.6665 420.34 10.6665ZM414.673 12.9998H415.673C416.225 12.9998 416.673 13.4476 416.673 13.9998V20.3332C416.673 20.8855 416.225 21.3332 415.673 21.3332H414.673C414.121 21.3332 413.673 20.8855 413.673 20.3332V13.9998C413.673 13.4476 414.121 12.9998 414.673 12.9998ZM411.007 15.3332H410.007C409.454 15.3332 409.007 15.7809 409.007 16.3332V20.3332C409.007 20.8855 409.454 21.3332 410.007 21.3332H411.007C411.559 21.3332 412.007 20.8855 412.007 20.3332V16.3332C412.007 15.7809 411.559 15.3332 411.007 15.3332ZM406.34 17.3332H405.34C404.788 17.3332 404.34 17.7809 404.34 18.3332V20.3332C404.34 20.8855 404.788 21.3332 405.34 21.3332H406.34C406.892 21.3332 407.34 20.8855 407.34 20.3332V18.3332C407.34 17.7809 406.892 17.3332 406.34 17.3332Z" fill="white"/>
|
||||||
|
<path d="M80.6696 8.35C79.7096 8.35 78.8946 8.555 78.2246 8.965C77.5446 9.365 77.0246 9.95 76.6646 10.72C76.3046 11.49 76.1246 12.44 76.1246 13.57C76.1246 14.77 76.3446 15.785 76.7846 16.615C77.2146 17.445 77.8146 18.075 78.5846 18.505C79.3546 18.935 80.2496 19.15 81.2696 19.15C81.7996 19.15 82.3046 19.095 82.7846 18.985C83.2646 18.875 83.6796 18.705 84.0296 18.475L83.3096 17.005C83.0196 17.195 82.7046 17.33 82.3646 17.41C82.0246 17.48 81.6746 17.515 81.3146 17.515C80.3246 17.515 79.5396 17.21 78.9596 16.6C78.3796 15.99 78.0896 15.09 78.0896 13.9C78.0896 13.71 78.0946 13.49 78.1046 13.24C78.1146 12.98 78.1496 12.72 78.2096 12.46L77.6096 13.12C77.7796 13.53 78.0246 13.875 78.3446 14.155C78.6646 14.425 79.0396 14.63 79.4696 14.77C79.8996 14.91 80.3746 14.98 80.8946 14.98C81.5746 14.98 82.1896 14.85 82.7396 14.59C83.2796 14.32 83.7096 13.945 84.0296 13.465C84.3496 12.975 84.5096 12.405 84.5096 11.755C84.5096 11.055 84.3396 10.455 83.9996 9.955C83.6596 9.445 83.1996 9.05 82.6196 8.77C82.0296 8.49 81.3796 8.35 80.6696 8.35ZM80.5646 9.88C80.9646 9.88 81.3196 9.955 81.6296 10.105C81.9396 10.245 82.1846 10.45 82.3646 10.72C82.5346 10.98 82.6196 11.295 82.6196 11.665C82.6196 12.215 82.4296 12.65 82.0496 12.97C81.6696 13.29 81.1596 13.45 80.5196 13.45C80.0996 13.45 79.7296 13.375 79.4096 13.225C79.0896 13.065 78.8396 12.85 78.6596 12.58C78.4796 12.3 78.3896 11.99 78.3896 11.65C78.3896 11.32 78.4746 11.025 78.6446 10.765C78.8146 10.495 79.0596 10.28 79.3796 10.12C79.6996 9.96 80.0946 9.88 80.5646 9.88ZM73.9153 13.39C74.2553 13.39 74.5453 13.275 74.7853 13.045C75.0253 12.805 75.1453 12.505 75.1453 12.145C75.1453 11.765 75.0253 11.465 74.7853 11.245C74.5453 11.015 74.2553 10.9 73.9153 10.9C73.5753 10.9 73.2853 11.015 73.0453 11.245C72.8053 11.465 72.6853 11.765 72.6853 12.145C72.6853 12.505 72.8053 12.805 73.0453 13.045C73.2853 13.275 73.5753 13.39 73.9153 13.39ZM73.9153 19.105C74.2553 19.105 74.5453 18.99 74.7853 18.76C75.0253 18.52 75.1453 18.22 75.1453 17.86C75.1453 17.48 75.0253 17.18 74.7853 16.96C74.5453 16.73 74.2553 16.615 73.9153 16.615C73.5753 16.615 73.2853 16.73 73.0453 16.96C72.8053 17.18 72.6853 17.48 72.6853 17.86C72.6853 18.22 72.8053 18.52 73.0453 18.76C73.2853 18.99 73.5753 19.105 73.9153 19.105ZM71.8531 16.615V15.265L66.6781 8.5H64.5931L69.6931 15.265L70.6681 14.965H62.3431V16.615H71.8531ZM66.0931 19V16.615L66.0331 14.965V12.85H64.2031V19H66.0931ZM60.5033 19V9.25L59.6483 10.135H62.7233V8.5H58.5533V19H60.5033Z" fill="white"/>
|
||||||
|
</g>
|
||||||
|
<defs>
|
||||||
|
<clipPath id="clip0_3978_4273">
|
||||||
|
<rect width="500" height="917" fill="white"/>
|
||||||
|
</clipPath>
|
||||||
|
</defs>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 5.5 KiB |
After Width: | Height: | Size: 155 KiB |
After Width: | Height: | Size: 1.1 MiB |
After Width: | Height: | Size: 155 KiB |
|
@ -0,0 +1,17 @@
|
||||||
|
<svg width="500" height="917" viewBox="0 0 500 917" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<g clip-path="url(#clip0_3978_4291)">
|
||||||
|
<rect width="500" height="917" fill="white"/>
|
||||||
|
<circle cx="356" cy="458" r="290" fill="#E7F4FF"/>
|
||||||
|
<rect opacity="0.35" x="447.173" y="10.8334" width="21" height="10.3333" rx="2.16667" stroke="white" stroke-opacity="0.6"/>
|
||||||
|
<path opacity="0.4" d="M469.673 14V18C470.478 17.6612 471.001 16.8731 471.001 16C471.001 15.1269 470.478 14.3388 469.673 14" fill="white" fill-opacity="0.6"/>
|
||||||
|
<rect x="448.673" y="12.3334" width="18" height="7.33333" rx="1.33333" fill="white"/>
|
||||||
|
<path fill-rule="evenodd" clip-rule="evenodd" d="M434.007 12.6152C436.232 12.6153 438.371 13.4694 439.984 15.001C440.105 15.1192 440.299 15.1177 440.419 14.9976L441.579 13.8273C441.64 13.7664 441.674 13.6839 441.673 13.598C441.673 13.5122 441.638 13.4301 441.577 13.3699C437.345 9.31763 430.668 9.31763 426.437 13.3699C426.375 13.43 426.34 13.5121 426.34 13.598C426.339 13.6838 426.373 13.7663 426.433 13.8273L427.594 14.9976C427.714 15.1179 427.908 15.1194 428.029 15.001C429.642 13.4693 431.782 12.6152 434.007 12.6152ZM434.007 16.4227C435.229 16.4227 436.408 16.8766 437.314 17.6964C437.437 17.8127 437.63 17.8102 437.749 17.6907L438.908 16.5204C438.969 16.459 439.003 16.3757 439.002 16.2892C439.002 16.2027 438.966 16.1201 438.904 16.0599C436.145 13.4955 431.872 13.4955 429.112 16.0599C429.05 16.1201 429.015 16.2027 429.014 16.2893C429.013 16.3758 429.047 16.4591 429.108 16.5204L430.267 17.6907C430.387 17.8102 430.58 17.8127 430.702 17.6964C431.608 16.8772 432.785 16.4233 434.007 16.4227ZM436.329 18.9846C436.331 19.0714 436.297 19.155 436.235 19.2158L434.229 21.2378C434.171 21.2972 434.091 21.3307 434.007 21.3307C433.923 21.3307 433.843 21.2972 433.784 21.2378L431.779 19.2158C431.717 19.155 431.683 19.0713 431.685 18.9845C431.686 18.8977 431.724 18.8156 431.788 18.7574C433.069 17.6751 434.945 17.6751 436.225 18.7574C436.29 18.8156 436.327 18.8978 436.329 18.9846Z" fill="white"/>
|
||||||
|
<path fill-rule="evenodd" clip-rule="evenodd" d="M420.34 10.6667H419.34C418.788 10.6667 418.34 11.1145 418.34 11.6667V20.3334C418.34 20.8857 418.788 21.3334 419.34 21.3334H420.34C420.892 21.3334 421.34 20.8857 421.34 20.3334V11.6667C421.34 11.1145 420.892 10.6667 420.34 10.6667ZM414.673 13.0001H415.673C416.225 13.0001 416.673 13.4478 416.673 14.0001V20.3334C416.673 20.8857 416.225 21.3334 415.673 21.3334H414.673C414.121 21.3334 413.673 20.8857 413.673 20.3334V14.0001C413.673 13.4478 414.121 13.0001 414.673 13.0001ZM411.007 15.3334H410.007C409.454 15.3334 409.007 15.7811 409.007 16.3334V20.3334C409.007 20.8857 409.454 21.3334 410.007 21.3334H411.007C411.559 21.3334 412.007 20.8857 412.007 20.3334V16.3334C412.007 15.7811 411.559 15.3334 411.007 15.3334ZM406.34 17.3334H405.34C404.788 17.3334 404.34 17.7811 404.34 18.3334V20.3334C404.34 20.8857 404.788 21.3334 405.34 21.3334H406.34C406.892 21.3334 407.34 20.8857 407.34 20.3334V18.3334C407.34 17.7811 406.892 17.3334 406.34 17.3334Z" fill="white"/>
|
||||||
|
<path d="M80.6696 8.35C79.7096 8.35 78.8946 8.555 78.2246 8.965C77.5446 9.365 77.0246 9.95 76.6646 10.72C76.3046 11.49 76.1246 12.44 76.1246 13.57C76.1246 14.77 76.3446 15.785 76.7846 16.615C77.2146 17.445 77.8146 18.075 78.5846 18.505C79.3546 18.935 80.2496 19.15 81.2696 19.15C81.7996 19.15 82.3046 19.095 82.7846 18.985C83.2646 18.875 83.6796 18.705 84.0296 18.475L83.3096 17.005C83.0196 17.195 82.7046 17.33 82.3646 17.41C82.0246 17.48 81.6746 17.515 81.3146 17.515C80.3246 17.515 79.5396 17.21 78.9596 16.6C78.3796 15.99 78.0896 15.09 78.0896 13.9C78.0896 13.71 78.0946 13.49 78.1046 13.24C78.1146 12.98 78.1496 12.72 78.2096 12.46L77.6096 13.12C77.7796 13.53 78.0246 13.875 78.3446 14.155C78.6646 14.425 79.0396 14.63 79.4696 14.77C79.8996 14.91 80.3746 14.98 80.8946 14.98C81.5746 14.98 82.1896 14.85 82.7396 14.59C83.2796 14.32 83.7096 13.945 84.0296 13.465C84.3496 12.975 84.5096 12.405 84.5096 11.755C84.5096 11.055 84.3396 10.455 83.9996 9.955C83.6596 9.445 83.1996 9.05 82.6196 8.77C82.0296 8.49 81.3796 8.35 80.6696 8.35ZM80.5646 9.88C80.9646 9.88 81.3196 9.955 81.6296 10.105C81.9396 10.245 82.1846 10.45 82.3646 10.72C82.5346 10.98 82.6196 11.295 82.6196 11.665C82.6196 12.215 82.4296 12.65 82.0496 12.97C81.6696 13.29 81.1596 13.45 80.5196 13.45C80.0996 13.45 79.7296 13.375 79.4096 13.225C79.0896 13.065 78.8396 12.85 78.6596 12.58C78.4796 12.3 78.3896 11.99 78.3896 11.65C78.3896 11.32 78.4746 11.025 78.6446 10.765C78.8146 10.495 79.0596 10.28 79.3796 10.12C79.6996 9.96 80.0946 9.88 80.5646 9.88ZM73.9153 13.39C74.2553 13.39 74.5453 13.275 74.7853 13.045C75.0253 12.805 75.1453 12.505 75.1453 12.145C75.1453 11.765 75.0253 11.465 74.7853 11.245C74.5453 11.015 74.2553 10.9 73.9153 10.9C73.5753 10.9 73.2853 11.015 73.0453 11.245C72.8053 11.465 72.6853 11.765 72.6853 12.145C72.6853 12.505 72.8053 12.805 73.0453 13.045C73.2853 13.275 73.5753 13.39 73.9153 13.39ZM73.9153 19.105C74.2553 19.105 74.5453 18.99 74.7853 18.76C75.0253 18.52 75.1453 18.22 75.1453 17.86C75.1453 17.48 75.0253 17.18 74.7853 16.96C74.5453 16.73 74.2553 16.615 73.9153 16.615C73.5753 16.615 73.2853 16.73 73.0453 16.96C72.8053 17.18 72.6853 17.48 72.6853 17.86C72.6853 18.22 72.8053 18.52 73.0453 18.76C73.2853 18.99 73.5753 19.105 73.9153 19.105ZM71.8531 16.615V15.265L66.6781 8.5H64.5931L69.6931 15.265L70.6681 14.965H62.3431V16.615H71.8531ZM66.0931 19V16.615L66.0331 14.965V12.85H64.2031V19H66.0931ZM60.5033 19V9.25L59.6483 10.135H62.7233V8.5H58.5533V19H60.5033Z" fill="white"/>
|
||||||
|
</g>
|
||||||
|
<defs>
|
||||||
|
<clipPath id="clip0_3978_4291">
|
||||||
|
<rect width="500" height="917" fill="white"/>
|
||||||
|
</clipPath>
|
||||||
|
</defs>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 5.5 KiB |
After Width: | Height: | Size: 8.9 MiB |
After Width: | Height: | Size: 229 KiB |
After Width: | Height: | Size: 228 KiB |
|
@ -0,0 +1,16 @@
|
||||||
|
<svg width="375" height="812" viewBox="0 0 375 812" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<g clip-path="url(#clip0_3861_6297)">
|
||||||
|
<rect width="375" height="812" fill="white"/>
|
||||||
|
<circle cx="94.5" cy="448.5" r="240.5" fill="#E7F4FF"/>
|
||||||
|
<rect opacity="0.35" x="322.173" y="10.8333" width="21" height="10.3333" rx="2.16667" stroke="white" stroke-opacity="0.6"/>
|
||||||
|
<path opacity="0.4" d="M344.673 14V18C345.478 17.6612 346.001 16.8731 346.001 16C346.001 15.1269 345.478 14.3388 344.673 14Z" fill="white" fill-opacity="0.6"/>
|
||||||
|
<rect x="323.673" y="12.3333" width="18" height="7.33333" rx="1.33333" fill="white"/>
|
||||||
|
<path fill-rule="evenodd" clip-rule="evenodd" d="M309.007 12.615C311.232 12.6151 313.371 13.4693 314.984 15.0008C315.105 15.1191 315.299 15.1176 315.419 14.9975L316.579 13.8272C316.64 13.7663 316.674 13.6837 316.673 13.5979C316.673 13.5121 316.638 13.4299 316.577 13.3697C312.345 9.31751 305.668 9.31751 301.437 13.3697C301.375 13.4299 301.34 13.512 301.34 13.5978C301.339 13.6837 301.373 13.7662 301.433 13.8272L302.594 14.9975C302.714 15.1178 302.908 15.1193 303.029 15.0008C304.642 13.4692 306.782 12.615 309.007 12.615ZM309.007 16.4226C310.229 16.4226 311.408 16.8765 312.314 17.6963C312.437 17.8126 312.63 17.8101 312.749 17.6906L313.908 16.5203C313.969 16.4589 314.003 16.3756 314.002 16.2891C314.002 16.2025 313.966 16.12 313.904 16.0598C311.145 13.4954 306.872 13.4954 304.112 16.0598C304.05 16.12 304.015 16.2026 304.014 16.2891C304.013 16.3757 304.047 16.459 304.108 16.5203L305.267 17.6906C305.387 17.8101 305.58 17.8126 305.702 17.6963C306.608 16.877 307.785 16.4231 309.007 16.4226ZM311.329 18.9845C311.331 19.0712 311.297 19.1549 311.235 19.2157L309.229 21.2377C309.171 21.2971 309.091 21.3306 309.007 21.3306C308.923 21.3306 308.843 21.2971 308.784 21.2377L306.779 19.2157C306.717 19.1549 306.683 19.0712 306.685 18.9844C306.686 18.8976 306.724 18.8154 306.788 18.7573C308.069 17.675 309.945 17.675 311.225 18.7573C311.29 18.8155 311.327 18.8977 311.329 18.9845Z" fill="white"/>
|
||||||
|
<path fill-rule="evenodd" clip-rule="evenodd" d="M295.34 10.6665H294.34C293.788 10.6665 293.34 11.1142 293.34 11.6665V20.3332C293.34 20.8855 293.788 21.3332 294.34 21.3332H295.34C295.892 21.3332 296.34 20.8855 296.34 20.3332V11.6665C296.34 11.1142 295.892 10.6665 295.34 10.6665ZM289.673 12.9998H290.673C291.225 12.9998 291.673 13.4476 291.673 13.9998V20.3332C291.673 20.8855 291.225 21.3332 290.673 21.3332H289.673C289.121 21.3332 288.673 20.8855 288.673 20.3332V13.9998C288.673 13.4476 289.121 12.9998 289.673 12.9998ZM286.007 15.3332H285.007C284.454 15.3332 284.007 15.7809 284.007 16.3332V20.3332C284.007 20.8855 284.454 21.3332 285.007 21.3332H286.007C286.559 21.3332 287.007 20.8855 287.007 20.3332V16.3332C287.007 15.7809 286.559 15.3332 286.007 15.3332ZM281.34 17.3332H280.34C279.788 17.3332 279.34 17.7809 279.34 18.3332V20.3332C279.34 20.8855 279.788 21.3332 280.34 21.3332H281.34C281.892 21.3332 282.34 20.8855 282.34 20.3332V18.3332C282.34 17.7809 281.892 17.3332 281.34 17.3332Z" fill="white"/>
|
||||||
|
</g>
|
||||||
|
<defs>
|
||||||
|
<clipPath id="clip0_3861_6297">
|
||||||
|
<rect width="375" height="812" fill="white"/>
|
||||||
|
</clipPath>
|
||||||
|
</defs>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 3.1 KiB |
|
@ -0,0 +1,18 @@
|
||||||
|
<svg width="428" height="926" viewBox="0 0 428 926" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<g clip-path="url(#clip0_3861_6208)">
|
||||||
|
<rect width="428" height="926" rx="20" fill="white"/>
|
||||||
|
<circle cx="320" cy="449" r="270" fill="#E7F4FF"/>
|
||||||
|
<rect opacity="0.35" x="375.173" y="10.8333" width="21" height="10.3333" rx="2.16667" stroke="white" stroke-opacity="0.6"/>
|
||||||
|
<path opacity="0.4" d="M397.673 14V18C398.478 17.6612 399.001 16.8731 399.001 16C399.001 15.1269 398.478 14.3388 397.673 14" fill="white" fill-opacity="0.6"/>
|
||||||
|
<rect x="376.673" y="12.3333" width="18" height="7.33333" rx="1.33333" fill="white"/>
|
||||||
|
<path fill-rule="evenodd" clip-rule="evenodd" d="M362.007 12.615C364.232 12.6151 366.371 13.4693 367.984 15.0008C368.105 15.1191 368.299 15.1176 368.419 14.9975L369.579 13.8272C369.64 13.7663 369.674 13.6837 369.673 13.5979C369.673 13.5121 369.638 13.4299 369.577 13.3697C365.345 9.31751 358.668 9.31751 354.437 13.3697C354.375 13.4299 354.34 13.512 354.34 13.5978C354.339 13.6837 354.373 13.7662 354.433 13.8272L355.594 14.9975C355.714 15.1178 355.908 15.1193 356.029 15.0008C357.642 13.4692 359.782 12.615 362.007 12.615ZM362.007 16.4226C363.229 16.4226 364.408 16.8765 365.314 17.6963C365.437 17.8126 365.63 17.8101 365.749 17.6906L366.908 16.5203C366.969 16.4589 367.003 16.3756 367.002 16.2891C367.002 16.2025 366.966 16.12 366.904 16.0598C364.145 13.4954 359.872 13.4954 357.112 16.0598C357.05 16.12 357.015 16.2026 357.014 16.2891C357.013 16.3757 357.047 16.459 357.108 16.5203L358.267 17.6906C358.387 17.8101 358.58 17.8126 358.702 17.6963C359.608 16.877 360.785 16.4231 362.007 16.4226ZM364.329 18.9845C364.331 19.0712 364.297 19.1549 364.235 19.2157L362.229 21.2377C362.171 21.2971 362.091 21.3306 362.007 21.3306C361.923 21.3306 361.843 21.2971 361.784 21.2377L359.779 19.2157C359.717 19.1549 359.683 19.0712 359.685 18.9844C359.686 18.8976 359.724 18.8154 359.788 18.7573C361.069 17.675 362.945 17.675 364.225 18.7573C364.29 18.8155 364.327 18.8977 364.329 18.9845Z" fill="white"/>
|
||||||
|
<path fill-rule="evenodd" clip-rule="evenodd" d="M348.34 10.6665H347.34C346.788 10.6665 346.34 11.1142 346.34 11.6665V20.3332C346.34 20.8855 346.788 21.3332 347.34 21.3332H348.34C348.892 21.3332 349.34 20.8855 349.34 20.3332V11.6665C349.34 11.1142 348.892 10.6665 348.34 10.6665ZM342.673 12.9998H343.673C344.225 12.9998 344.673 13.4476 344.673 13.9998V20.3332C344.673 20.8855 344.225 21.3332 343.673 21.3332H342.673C342.121 21.3332 341.673 20.8855 341.673 20.3332V13.9998C341.673 13.4476 342.121 12.9998 342.673 12.9998ZM339.007 15.3332H338.007C337.454 15.3332 337.007 15.7809 337.007 16.3332V20.3332C337.007 20.8855 337.454 21.3332 338.007 21.3332H339.007C339.559 21.3332 340.007 20.8855 340.007 20.3332V16.3332C340.007 15.7809 339.559 15.3332 339.007 15.3332ZM334.34 17.3332H333.34C332.788 17.3332 332.34 17.7809 332.34 18.3332V20.3332C332.34 20.8855 332.788 21.3332 333.34 21.3332H334.34C334.892 21.3332 335.34 20.8855 335.34 20.3332V18.3332C335.34 17.7809 334.892 17.3332 334.34 17.3332Z" fill="white"/>
|
||||||
|
<path d="M25.64 12.35C27.08 12.35 28.195 12.8 28.985 13.7C29.785 14.6 30.185 15.89 30.185 17.57C30.185 18.75 29.97 19.76 29.54 20.6C29.11 21.43 28.505 22.065 27.725 22.505C26.955 22.935 26.06 23.15 25.04 23.15C24.5 23.15 23.99 23.095 23.51 22.985C23.04 22.865 22.63 22.695 22.28 22.475L23 21.005C23.52 21.345 24.185 21.515 24.995 21.515C26.005 21.515 26.795 21.205 27.365 20.585C27.935 19.965 28.22 19.07 28.22 17.9V17.885C27.91 18.245 27.515 18.52 27.035 18.71C26.555 18.89 26.015 18.98 25.415 18.98C24.725 18.98 24.105 18.85 23.555 18.59C23.005 18.32 22.575 17.94 22.265 17.45C21.955 16.96 21.8 16.395 21.8 15.755C21.8 15.075 21.97 14.48 22.31 13.97C22.65 13.45 23.11 13.05 23.69 12.77C24.27 12.49 24.92 12.35 25.64 12.35ZM25.79 17.45C26.42 17.45 26.93 17.28 27.32 16.94C27.72 16.6 27.92 16.17 27.92 15.65C27.92 15.14 27.725 14.72 27.335 14.39C26.955 14.05 26.425 13.88 25.745 13.88C25.135 13.88 24.64 14.045 24.26 14.375C23.88 14.695 23.69 15.125 23.69 15.665C23.69 16.215 23.88 16.65 24.26 16.97C24.64 17.29 25.15 17.45 25.79 17.45ZM32.3943 17.39C32.0543 17.39 31.7643 17.275 31.5243 17.045C31.2843 16.805 31.1643 16.505 31.1643 16.145C31.1643 15.775 31.2793 15.475 31.5093 15.245C31.7493 15.015 32.0443 14.9 32.3943 14.9C32.7443 14.9 33.0343 15.015 33.2643 15.245C33.5043 15.475 33.6243 15.775 33.6243 16.145C33.6243 16.505 33.5043 16.805 33.2643 17.045C33.0243 17.275 32.7343 17.39 32.3943 17.39ZM32.3943 23.105C32.0543 23.105 31.7643 22.99 31.5243 22.76C31.2843 22.52 31.1643 22.22 31.1643 21.86C31.1643 21.49 31.2793 21.19 31.5093 20.96C31.7493 20.73 32.0443 20.615 32.3943 20.615C32.7443 20.615 33.0343 20.73 33.2643 20.96C33.5043 21.19 33.6243 21.49 33.6243 21.86C33.6243 22.22 33.5043 22.52 33.2643 22.76C33.0243 22.99 32.7343 23.105 32.3943 23.105ZM43.9664 20.615H42.1064V23H40.2164V20.615H34.4564V19.265L39.6314 12.5H41.7164L36.8414 18.965H40.2764V16.85H42.1064V18.965H43.9664V20.615ZM48.1371 12.5V23H46.1871V14.135H43.9671V12.5H48.1371Z" fill="white"/>
|
||||||
|
</g>
|
||||||
|
<rect x="0.5" y="0.5" width="427" height="925" rx="19.5" stroke="black"/>
|
||||||
|
<defs>
|
||||||
|
<clipPath id="clip0_3861_6208">
|
||||||
|
<rect width="428" height="926" rx="20" fill="white"/>
|
||||||
|
</clipPath>
|
||||||
|
</defs>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 5.1 KiB |
|
@ -0,0 +1,16 @@
|
||||||
|
<svg width="375" height="812" viewBox="0 0 375 812" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<g clip-path="url(#clip0_3861_6208)">
|
||||||
|
<rect width="375" height="812" fill="white"/>
|
||||||
|
<rect opacity="0.35" x="322.173" y="10.8333" width="21" height="10.3333" rx="2.16667" stroke="white" stroke-opacity="0.6"/>
|
||||||
|
<path opacity="0.4" d="M344.673 14V18C345.478 17.6612 346.001 16.8731 346.001 16C346.001 15.1269 345.478 14.3388 344.673 14Z" fill="white" fill-opacity="0.6"/>
|
||||||
|
<rect x="323.673" y="12.3333" width="18" height="7.33333" rx="1.33333" fill="white"/>
|
||||||
|
<path fill-rule="evenodd" clip-rule="evenodd" d="M309.007 12.615C311.232 12.6151 313.371 13.4693 314.984 15.0008C315.105 15.1191 315.299 15.1176 315.419 14.9975L316.579 13.8272C316.64 13.7663 316.674 13.6837 316.673 13.5979C316.673 13.5121 316.638 13.4299 316.577 13.3697C312.345 9.31751 305.668 9.31751 301.437 13.3697C301.375 13.4299 301.34 13.512 301.34 13.5978C301.339 13.6837 301.373 13.7662 301.433 13.8272L302.594 14.9975C302.714 15.1178 302.908 15.1193 303.029 15.0008C304.642 13.4692 306.782 12.615 309.007 12.615ZM309.007 16.4226C310.229 16.4226 311.408 16.8765 312.314 17.6963C312.437 17.8126 312.63 17.8101 312.749 17.6906L313.908 16.5203C313.969 16.4589 314.003 16.3756 314.002 16.2891C314.002 16.2025 313.966 16.12 313.904 16.0598C311.145 13.4954 306.872 13.4954 304.112 16.0598C304.05 16.12 304.015 16.2026 304.014 16.2891C304.013 16.3757 304.047 16.459 304.108 16.5203L305.267 17.6906C305.387 17.8101 305.58 17.8126 305.702 17.6963C306.608 16.877 307.785 16.4231 309.007 16.4226ZM311.329 18.9845C311.331 19.0712 311.297 19.1549 311.235 19.2157L309.229 21.2377C309.171 21.2971 309.091 21.3306 309.007 21.3306C308.923 21.3306 308.843 21.2971 308.784 21.2377L306.779 19.2157C306.717 19.1549 306.683 19.0712 306.685 18.9844C306.686 18.8976 306.724 18.8154 306.788 18.7573C308.069 17.675 309.945 17.675 311.225 18.7573C311.29 18.8155 311.327 18.8977 311.329 18.9845Z" fill="white"/>
|
||||||
|
<path fill-rule="evenodd" clip-rule="evenodd" d="M295.34 10.6665H294.34C293.788 10.6665 293.34 11.1142 293.34 11.6665V20.3332C293.34 20.8855 293.788 21.3332 294.34 21.3332H295.34C295.892 21.3332 296.34 20.8855 296.34 20.3332V11.6665C296.34 11.1142 295.892 10.6665 295.34 10.6665ZM289.673 12.9998H290.673C291.225 12.9998 291.673 13.4476 291.673 13.9998V20.3332C291.673 20.8855 291.225 21.3332 290.673 21.3332H289.673C289.121 21.3332 288.673 20.8855 288.673 20.3332V13.9998C288.673 13.4476 289.121 12.9998 289.673 12.9998ZM286.007 15.3332H285.007C284.454 15.3332 284.007 15.7809 284.007 16.3332V20.3332C284.007 20.8855 284.454 21.3332 285.007 21.3332H286.007C286.559 21.3332 287.007 20.8855 287.007 20.3332V16.3332C287.007 15.7809 286.559 15.3332 286.007 15.3332ZM281.34 17.3332H280.34C279.788 17.3332 279.34 17.7809 279.34 18.3332V20.3332C279.34 20.8855 279.788 21.3332 280.34 21.3332H281.34C281.892 21.3332 282.34 20.8855 282.34 20.3332V18.3332C282.34 17.7809 281.892 17.3332 281.34 17.3332Z" fill="white"/>
|
||||||
|
<circle cx="280.5" cy="448.5" r="240.5" fill="#E7F4FF"/>
|
||||||
|
</g>
|
||||||
|
<defs>
|
||||||
|
<clipPath id="clip0_3861_6208">
|
||||||
|
<rect width="375" height="812" fill="white"/>
|
||||||
|
</clipPath>
|
||||||
|
</defs>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 3.1 KiB |
|
@ -0,0 +1,512 @@
|
||||||
|
{
|
||||||
|
"data": [
|
||||||
|
{
|
||||||
|
"id": "Form1",
|
||||||
|
"name": "Interaction Form",
|
||||||
|
|
||||||
|
"form-fields": [
|
||||||
|
{
|
||||||
|
"sectionName": "Interaction Details",
|
||||||
|
"multiple": false,
|
||||||
|
"sectionList": [
|
||||||
|
{
|
||||||
|
"name": "Interaction Date",
|
||||||
|
"id": "intdate_1",
|
||||||
|
"depid": "",
|
||||||
|
"widget": "text",
|
||||||
|
"input": "Date",
|
||||||
|
"validation": {
|
||||||
|
"isRequired": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Interaction Location",
|
||||||
|
"param": "interactionLocation",
|
||||||
|
"id": "intlocation_1",
|
||||||
|
"selectedValue": [],
|
||||||
|
"depid": "",
|
||||||
|
"widget": "dropdown",
|
||||||
|
"input": "dropdown",
|
||||||
|
"inputList": [
|
||||||
|
{
|
||||||
|
"id": "1",
|
||||||
|
"name": "In office"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "2",
|
||||||
|
"name": "some"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "3",
|
||||||
|
"name": "Internal meetings"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "4",
|
||||||
|
"name": "Internal meetings2"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "5",
|
||||||
|
"name": "Out of Office"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "6",
|
||||||
|
"name": "Virtual"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"validation": {
|
||||||
|
"isRequired": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Interaction Type",
|
||||||
|
"id": "inttype_11",
|
||||||
|
"depid": "",
|
||||||
|
"widget": "dropdown",
|
||||||
|
"input": "dropdown",
|
||||||
|
"inputList": [
|
||||||
|
{
|
||||||
|
"id": "11",
|
||||||
|
"name": "Face to Face"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "12",
|
||||||
|
"name": "Lecture"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "13",
|
||||||
|
"name": "Mailing"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "14",
|
||||||
|
"name": "Other"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "15",
|
||||||
|
"name": "Phone"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"validation": {
|
||||||
|
"isRequired": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Interaction Category",
|
||||||
|
"id": "intcategory_21",
|
||||||
|
"depid": "",
|
||||||
|
"widget": "radio",
|
||||||
|
"input": "radio",
|
||||||
|
"inputList": [
|
||||||
|
{
|
||||||
|
"id": "21",
|
||||||
|
"name": "One to One"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "22",
|
||||||
|
"name": "Group"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"validation": {
|
||||||
|
"isRequired": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Number of Attendees",
|
||||||
|
"id": "intattendees_2",
|
||||||
|
"depid": "",
|
||||||
|
"widget": "text",
|
||||||
|
"input": "number",
|
||||||
|
"validation": {
|
||||||
|
"isRequired": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Employee name",
|
||||||
|
"id": "intempname_31",
|
||||||
|
"depid": "",
|
||||||
|
"widget": "dropdown",
|
||||||
|
"input": "dropdown",
|
||||||
|
"inputList": [
|
||||||
|
{
|
||||||
|
"id": "31",
|
||||||
|
"name": "Sarepta Manager"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "32",
|
||||||
|
"name": "Todd Truesdale"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"validation": {
|
||||||
|
"isRequired": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Interaction ",
|
||||||
|
"id": "intcheck_121",
|
||||||
|
"depid": "",
|
||||||
|
"widget": "checkbox",
|
||||||
|
"input": "checkbox",
|
||||||
|
"inputList": [
|
||||||
|
{
|
||||||
|
"id": "121",
|
||||||
|
"name": "One to One"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "122",
|
||||||
|
"name": "Group"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"validation": {
|
||||||
|
"isRequired": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Number of Attendees",
|
||||||
|
"id": "intrange_122",
|
||||||
|
"depid": "",
|
||||||
|
"widget": "rangeslider",
|
||||||
|
"max": "100",
|
||||||
|
"min": "20",
|
||||||
|
"validation": {
|
||||||
|
"isRequired": true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"sectionName": "Discussion Topic",
|
||||||
|
"multiple": true,
|
||||||
|
"sectionList": [
|
||||||
|
{
|
||||||
|
"name": "Product",
|
||||||
|
"id": "discproduct_41",
|
||||||
|
"depid": "",
|
||||||
|
"param": "product",
|
||||||
|
"widget": "dropdown",
|
||||||
|
"input": "dropdown",
|
||||||
|
"inputList": [
|
||||||
|
{
|
||||||
|
"id": "41",
|
||||||
|
"name": "Product1"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "42",
|
||||||
|
"name": "Product2"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"validation": {
|
||||||
|
"isRequired": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Discussion Type",
|
||||||
|
"id": "disctype_51",
|
||||||
|
"depid": "",
|
||||||
|
"widget": "autocomplete",
|
||||||
|
"input": "autocomplete",
|
||||||
|
"inputList": [
|
||||||
|
{
|
||||||
|
"id": "51",
|
||||||
|
"name": "Face to Face"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "52",
|
||||||
|
"name": "Lecture"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "53",
|
||||||
|
"name": "Mailing"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "54",
|
||||||
|
"name": "Other"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "55",
|
||||||
|
"name": "Phone"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"validation": {
|
||||||
|
"isRequired": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Discussion Topic",
|
||||||
|
"id": "disctopic_61",
|
||||||
|
"depid": "",
|
||||||
|
"widget": "multiselect",
|
||||||
|
"input": "multiselect",
|
||||||
|
"inputList": [
|
||||||
|
{
|
||||||
|
"id": "61",
|
||||||
|
"name": "Face to Face"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "62",
|
||||||
|
"name": "Lecture"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "63",
|
||||||
|
"name": "Mailing"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "64",
|
||||||
|
"name": "Other"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "65",
|
||||||
|
"name": "Phone"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"validation": {
|
||||||
|
"isRequired": true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"sectionName": "Attendees",
|
||||||
|
"multiple": true,
|
||||||
|
"sectionList": [
|
||||||
|
{
|
||||||
|
"name": "HCP Name",
|
||||||
|
"id": "attendeeshcpname_3",
|
||||||
|
"depid": "",
|
||||||
|
"widget": "text",
|
||||||
|
"input": "text",
|
||||||
|
"validation": {
|
||||||
|
"isRequired": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Speciality",
|
||||||
|
"id": "attendeeshcpspeciality_4",
|
||||||
|
"depid": "",
|
||||||
|
"widget": "text",
|
||||||
|
"input": "text",
|
||||||
|
"validation": {
|
||||||
|
"isRequired": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Title",
|
||||||
|
"id": "attendeestitle_5",
|
||||||
|
"depid": "",
|
||||||
|
"widget": "text",
|
||||||
|
"input": "text",
|
||||||
|
"validation": {
|
||||||
|
"isRequired": true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"sectionName": "Other",
|
||||||
|
"multiple": false,
|
||||||
|
"sectionList": [
|
||||||
|
{
|
||||||
|
"name": "Address1",
|
||||||
|
"id": "otheraddress1_12",
|
||||||
|
"depid": "",
|
||||||
|
"widget": "text",
|
||||||
|
"input": "primary",
|
||||||
|
"validation": {
|
||||||
|
"isRequired": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Address2",
|
||||||
|
"id": "otheraddress2_13",
|
||||||
|
"depid": "",
|
||||||
|
"widget": "text",
|
||||||
|
"input": "Hubli",
|
||||||
|
"validation": {
|
||||||
|
"isRequired": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Postal code",
|
||||||
|
"id": "otherpostal_14",
|
||||||
|
"depid": "",
|
||||||
|
"widget": "text",
|
||||||
|
"input": "number",
|
||||||
|
"validation": {
|
||||||
|
"isRequired": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Country",
|
||||||
|
"id": "othercountry_15",
|
||||||
|
"depid": "",
|
||||||
|
"widget": "dropdown",
|
||||||
|
"inputList": [
|
||||||
|
{
|
||||||
|
"name": "India",
|
||||||
|
"id": "1"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "USA",
|
||||||
|
"id": "2"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Nepal",
|
||||||
|
"id": "3"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"validation": {
|
||||||
|
"isRequired": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "State",
|
||||||
|
"id": "otherstate_16",
|
||||||
|
"depid": "othercountry_15",
|
||||||
|
"widget": "dropdown",
|
||||||
|
"inputList": [
|
||||||
|
{
|
||||||
|
"name": "Karnataka",
|
||||||
|
"id": "1",
|
||||||
|
"pid": "1"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Maharashtra",
|
||||||
|
"id": "2",
|
||||||
|
"pid": "1"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Andhra Pradesh",
|
||||||
|
"id": "3",
|
||||||
|
"pid": "1"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Karnataka",
|
||||||
|
"id": "4",
|
||||||
|
"pid": "1"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"validation": {
|
||||||
|
"isRequired": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "City",
|
||||||
|
"widget": "dropdown",
|
||||||
|
"id": "othercity_17",
|
||||||
|
"depid": "otherstate_16",
|
||||||
|
"inputList": [
|
||||||
|
{
|
||||||
|
"name": "Hubli",
|
||||||
|
"id": "1",
|
||||||
|
"pid": "1"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Bangalore",
|
||||||
|
"id": "2",
|
||||||
|
"pid": "1"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Belgavi",
|
||||||
|
"id": "3",
|
||||||
|
"pid": "1"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"validation": {
|
||||||
|
"isRequired": true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"sectionName": "Other Attendees",
|
||||||
|
"multiple": false,
|
||||||
|
"sectionList": [
|
||||||
|
{
|
||||||
|
"name": "Attendee Name",
|
||||||
|
"id": "otherattendeename_18",
|
||||||
|
"depid": "",
|
||||||
|
"widget": "text",
|
||||||
|
"input": "text",
|
||||||
|
"validation": {
|
||||||
|
"isRequired": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Speciality",
|
||||||
|
"id": "otherattendeespeciality_19",
|
||||||
|
"depid": "",
|
||||||
|
"widget": "text",
|
||||||
|
"input": "text",
|
||||||
|
"validation": {
|
||||||
|
"isRequired": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Comments",
|
||||||
|
"id": "otherattendeecom_20",
|
||||||
|
"depid": "",
|
||||||
|
"widget": "text",
|
||||||
|
"input": "text",
|
||||||
|
"validation": {
|
||||||
|
"isRequired": true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"sectionName": "Attach Document(s)",
|
||||||
|
"multiple": true,
|
||||||
|
"sectionList": [
|
||||||
|
{
|
||||||
|
"name": "Document Name",
|
||||||
|
"id": "documentName_21",
|
||||||
|
"depid": "",
|
||||||
|
"widget": "text",
|
||||||
|
"input": "text",
|
||||||
|
"validation": {
|
||||||
|
"isRequired": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Description",
|
||||||
|
"id": "documentDescription_21",
|
||||||
|
"depid": "",
|
||||||
|
"widget": "text",
|
||||||
|
"input": "text",
|
||||||
|
"validation": {
|
||||||
|
"isRequired": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Choose file",
|
||||||
|
"id": "chooseFile_22",
|
||||||
|
"depid": "",
|
||||||
|
"widget": "button",
|
||||||
|
"input": "chooseFile",
|
||||||
|
"validation": {
|
||||||
|
"isRequired": true,
|
||||||
|
"multipleFiles": true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"sectionName": "Notes",
|
||||||
|
"multiple": false,
|
||||||
|
"sectionList": [
|
||||||
|
{
|
||||||
|
"name": "Comments",
|
||||||
|
"id": "notescomments_22",
|
||||||
|
"depid": "",
|
||||||
|
"widget": "text",
|
||||||
|
"input": "textArea",
|
||||||
|
"validation": {
|
||||||
|
"type": "maxchars",
|
||||||
|
"chars": "500",
|
||||||
|
"isRequired": true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
After Width: | Height: | Size: 42 KiB |
Before Width: | Height: | Size: 73 KiB After Width: | Height: | Size: 73 KiB |
After Width: | Height: | Size: 411 KiB |
After Width: | Height: | Size: 59 KiB |
After Width: | Height: | Size: 14 KiB |
After Width: | Height: | Size: 62 KiB |
After Width: | Height: | Size: 64 KiB |
After Width: | Height: | Size: 68 KiB |
|
@ -0,0 +1,186 @@
|
||||||
|
{
|
||||||
|
"data": [
|
||||||
|
{
|
||||||
|
"id": "MedInsight",
|
||||||
|
"name": "Medical Insights Form",
|
||||||
|
|
||||||
|
"form-fields": [
|
||||||
|
|
||||||
|
{
|
||||||
|
"sectionName": "Medical Insight",
|
||||||
|
"multiple": false,
|
||||||
|
"sectionList": [
|
||||||
|
{
|
||||||
|
"name": "HCP Name",
|
||||||
|
"id": "hcpname",
|
||||||
|
"depid": "",
|
||||||
|
"widget": "label",
|
||||||
|
"input": "label",
|
||||||
|
"validation": {
|
||||||
|
"isRequired": false
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Date",
|
||||||
|
"id": "date",
|
||||||
|
"depid": "",
|
||||||
|
"widget": "text",
|
||||||
|
"input": "Date",
|
||||||
|
"validation": {
|
||||||
|
"isRequired": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Therapeutic Area",
|
||||||
|
"param": "therapeutic_area",
|
||||||
|
"id": "therapeutic",
|
||||||
|
"selectedValue": [],
|
||||||
|
"depid": "",
|
||||||
|
"widget": "dropdown",
|
||||||
|
"input": "dropdown",
|
||||||
|
"inputList": [
|
||||||
|
{
|
||||||
|
"id": "Acute Neurology1",
|
||||||
|
"name": "Acute Neurology1"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "Cystic Fibrosis",
|
||||||
|
"name": "Cystic Fibrosis"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"validation": {
|
||||||
|
"isRequired": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Product",
|
||||||
|
"id": "product",
|
||||||
|
"depid": "therapeutic",
|
||||||
|
"widget": "dropdown",
|
||||||
|
"input": "dropdown",
|
||||||
|
"inputList": [
|
||||||
|
{
|
||||||
|
"id": "Prometra Pump",
|
||||||
|
"pid": "Acute Neurology1",
|
||||||
|
"name": "Prometra Pump"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "Prometra Pump",
|
||||||
|
"pid": "Cystic Fibrosis",
|
||||||
|
"name": "Prometra Pump"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "Prometra Catheter",
|
||||||
|
"pid": "Cystic Fibrosis",
|
||||||
|
"name": "Prometra Catheter"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"validation": {
|
||||||
|
"isRequired": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Source Type",
|
||||||
|
"id": "sourcetype",
|
||||||
|
"depid": "",
|
||||||
|
"widget": "dropdown",
|
||||||
|
"input": "dropdown",
|
||||||
|
"inputList": [
|
||||||
|
{
|
||||||
|
"id": "Advisory Board/Expert Committee",
|
||||||
|
"name": "Advisory Board/Expert Committee"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "Congress",
|
||||||
|
"name": "Congress"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "Industry professional direct knowledge ",
|
||||||
|
"name": "Industry professional direct knowledge "
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"validation": {
|
||||||
|
"isRequired": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Congress Source",
|
||||||
|
"id": "congresssource",
|
||||||
|
"depid": "sourcetype",
|
||||||
|
"widget": "dropdown",
|
||||||
|
"input": "dropdown",
|
||||||
|
"inputList": [
|
||||||
|
{
|
||||||
|
"id": "Industry professional",
|
||||||
|
"pid": "Congress",
|
||||||
|
"name": "Industry professional"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "Symposium",
|
||||||
|
"pid": "Congress",
|
||||||
|
"name": "Symposium"
|
||||||
|
}
|
||||||
|
|
||||||
|
],
|
||||||
|
"validation": {
|
||||||
|
"isRequired": false
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Congress Name",
|
||||||
|
"id": "congressName",
|
||||||
|
"depid": "sourcetype",
|
||||||
|
"widget": "text",
|
||||||
|
"input": "text",
|
||||||
|
"validation": {
|
||||||
|
"isRequired": false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"sectionName": "Key Insight Topics",
|
||||||
|
"multiple": false,
|
||||||
|
"sectionList": [
|
||||||
|
{
|
||||||
|
"name": "Key Insight Topics",
|
||||||
|
"id": "keyinsighttopics",
|
||||||
|
"depid": "",
|
||||||
|
"param": "keyinsighttopics",
|
||||||
|
"widget": "dropdown",
|
||||||
|
"input": "dropdown",
|
||||||
|
"inputList": [
|
||||||
|
{
|
||||||
|
"id": "Data Gap",
|
||||||
|
"name": "Data Gap"
|
||||||
|
}
|
||||||
|
|
||||||
|
],
|
||||||
|
"validation": {
|
||||||
|
"isRequired": true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"sectionName": "Medical Insights Details",
|
||||||
|
"multiple": false,
|
||||||
|
"sectionList": [
|
||||||
|
{
|
||||||
|
"name": "Medical Insight Summary",
|
||||||
|
"id": "summary",
|
||||||
|
"depid": "",
|
||||||
|
"widget": "text",
|
||||||
|
"input": "textArea",
|
||||||
|
"validation": {
|
||||||
|
"isRequired": true,
|
||||||
|
"maxchars": "300"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
|
@ -0,0 +1,216 @@
|
||||||
|
{
|
||||||
|
"data": [
|
||||||
|
{
|
||||||
|
"id": "MedInsight",
|
||||||
|
"name": "Medical Insights Form",
|
||||||
|
"form-fields": [
|
||||||
|
{
|
||||||
|
"sectionName": "Medical Insight",
|
||||||
|
"multiple": false,
|
||||||
|
"sectionList": [
|
||||||
|
{
|
||||||
|
"name": "HCP Name",
|
||||||
|
"id": "hcpname",
|
||||||
|
"depid": "",
|
||||||
|
"widget": "label",
|
||||||
|
"input": "label",
|
||||||
|
"validation": {
|
||||||
|
"isRequired": false
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Date",
|
||||||
|
"id": "date",
|
||||||
|
"depid": "",
|
||||||
|
"widget": "text",
|
||||||
|
"input": "Date",
|
||||||
|
"validation": {
|
||||||
|
"isRequired": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Therapeutic Area",
|
||||||
|
"param": "therapeutic_area",
|
||||||
|
"id": "therapeutic",
|
||||||
|
"selectedValue": [],
|
||||||
|
"depid": "",
|
||||||
|
"widget": "dropdown",
|
||||||
|
"input": "dropdown",
|
||||||
|
"inputList": [
|
||||||
|
{
|
||||||
|
"id": "Acute Neurology1",
|
||||||
|
"name": "Acute Neurology1"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "Cystic Fibrosis",
|
||||||
|
"name": "Cystic Fibrosis"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"validation": {
|
||||||
|
"isRequired": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Product",
|
||||||
|
"id": "product",
|
||||||
|
"depid": "therapeutic",
|
||||||
|
"widget": "dropdown",
|
||||||
|
"input": "dropdown",
|
||||||
|
"inputList": [
|
||||||
|
{
|
||||||
|
"id": "Prometra Pump",
|
||||||
|
"pid": "Acute Neurology1",
|
||||||
|
"name": "Prometra Pump"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "Prometra Pump",
|
||||||
|
"pid": "Cystic Fibrosis",
|
||||||
|
"name": "Prometra Pump"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "Prometra Catheter",
|
||||||
|
"pid": "Cystic Fibrosis",
|
||||||
|
"name": "Prometra Catheter"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"validation": {
|
||||||
|
"isRequired": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Source Type",
|
||||||
|
"id": "sourcetype",
|
||||||
|
"depid": "",
|
||||||
|
"widget": "dropdown",
|
||||||
|
"input": "dropdown",
|
||||||
|
"inputList": [
|
||||||
|
{
|
||||||
|
"id": "Advisory Board/Expert Committee",
|
||||||
|
"name": "Advisory Board/Expert Committee"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "Congress",
|
||||||
|
"name": "Congress"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "Industry professional direct knowledge ",
|
||||||
|
"name": "Industry professional direct knowledge "
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"validation": {
|
||||||
|
"isRequired": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Congress Source",
|
||||||
|
"id": "congresssource",
|
||||||
|
"depid": "sourcetype",
|
||||||
|
"widget": "dropdown",
|
||||||
|
"input": "dropdown",
|
||||||
|
"inputList": [
|
||||||
|
{
|
||||||
|
"id": "Industry professional",
|
||||||
|
"pid": "Congress",
|
||||||
|
"name": "Industry professional"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "Symposium",
|
||||||
|
"pid": "Congress",
|
||||||
|
"name": "Symposium"
|
||||||
|
}
|
||||||
|
|
||||||
|
],
|
||||||
|
"validation": {
|
||||||
|
"isRequired": false
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Congress Name",
|
||||||
|
"id": "congressName",
|
||||||
|
"depid": "sourcetype",
|
||||||
|
"widget": "text",
|
||||||
|
"input": "text",
|
||||||
|
"validation": {
|
||||||
|
"isRequired": false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
"sectionName": "Medical Insights Details",
|
||||||
|
"multiple": false,
|
||||||
|
"sectionList": [
|
||||||
|
{
|
||||||
|
"name": "Key Insight Topics",
|
||||||
|
"id": "keyinsighttopics",
|
||||||
|
"depid": "",
|
||||||
|
"param": "keyinsighttopics",
|
||||||
|
"widget": "multiselect",
|
||||||
|
"input": "multiselect",
|
||||||
|
"inputList": [
|
||||||
|
{
|
||||||
|
"id": "Data Gap",
|
||||||
|
"name": "Data Gap"
|
||||||
|
}
|
||||||
|
|
||||||
|
],
|
||||||
|
"validation": {
|
||||||
|
"isRequired": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Medical Insight Summary",
|
||||||
|
"id": "summary",
|
||||||
|
"depid": "",
|
||||||
|
"widget": "text",
|
||||||
|
"input": "textArea",
|
||||||
|
"validation": {
|
||||||
|
"isRequired": true,
|
||||||
|
"maxchars": "300"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"sectionName": "Attach Document(s)",
|
||||||
|
"multiple": true,
|
||||||
|
"sectionList": [
|
||||||
|
{
|
||||||
|
"name": "Document Name",
|
||||||
|
"id": "documentName_21",
|
||||||
|
"depid": "",
|
||||||
|
"widget": "text",
|
||||||
|
"input": "text",
|
||||||
|
"validation": {
|
||||||
|
"isRequired": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Description",
|
||||||
|
"id": "documentDescription_21",
|
||||||
|
"depid": "",
|
||||||
|
"widget": "text",
|
||||||
|
"input": "text",
|
||||||
|
"validation": {
|
||||||
|
"isRequired": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Choose file",
|
||||||
|
"id": "chooseFile_22",
|
||||||
|
"depid": "",
|
||||||
|
"widget": "button",
|
||||||
|
"input": "chooseFile",
|
||||||
|
"validation": {
|
||||||
|
"isRequired": true,
|
||||||
|
"multipleFiles": true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
|
@ -3,9 +3,7 @@ PODS:
|
||||||
- Flutter
|
- Flutter
|
||||||
- connectivity_plus (0.0.1):
|
- connectivity_plus (0.0.1):
|
||||||
- Flutter
|
- Flutter
|
||||||
- ReachabilitySwift
|
- FlutterMacOS
|
||||||
- device_info_plus (0.0.1):
|
|
||||||
- Flutter
|
|
||||||
- DKImagePickerController/Core (4.3.4):
|
- DKImagePickerController/Core (4.3.4):
|
||||||
- DKImagePickerController/ImageDataManager
|
- DKImagePickerController/ImageDataManager
|
||||||
- DKImagePickerController/Resource
|
- DKImagePickerController/Resource
|
||||||
|
@ -90,7 +88,11 @@ PODS:
|
||||||
- GoogleUtilities/Privacy
|
- GoogleUtilities/Privacy
|
||||||
- image_picker_ios (0.0.1):
|
- image_picker_ios (0.0.1):
|
||||||
- Flutter
|
- Flutter
|
||||||
- package_info_plus (0.4.5):
|
- JNKeychain (0.1.4)
|
||||||
|
- mobile_device_identifier (0.0.1):
|
||||||
|
- Flutter
|
||||||
|
- JNKeychain
|
||||||
|
- open_file (0.0.1):
|
||||||
- Flutter
|
- Flutter
|
||||||
- path_provider_foundation (0.0.1):
|
- path_provider_foundation (0.0.1):
|
||||||
- Flutter
|
- Flutter
|
||||||
|
@ -98,30 +100,33 @@ PODS:
|
||||||
- permission_handler_apple (9.3.0):
|
- permission_handler_apple (9.3.0):
|
||||||
- Flutter
|
- Flutter
|
||||||
- PromisesObjC (2.4.0)
|
- PromisesObjC (2.4.0)
|
||||||
- ReachabilitySwift (5.0.0)
|
|
||||||
- SDWebImage (5.18.10):
|
- SDWebImage (5.18.10):
|
||||||
- SDWebImage/Core (= 5.18.10)
|
- SDWebImage/Core (= 5.18.10)
|
||||||
- SDWebImage/Core (5.18.10)
|
- SDWebImage/Core (5.18.10)
|
||||||
- shared_preferences_foundation (0.0.1):
|
- shared_preferences_foundation (0.0.1):
|
||||||
- Flutter
|
- Flutter
|
||||||
- FlutterMacOS
|
- FlutterMacOS
|
||||||
|
- sqflite (0.0.3):
|
||||||
|
- Flutter
|
||||||
|
- FlutterMacOS
|
||||||
- SwiftyGif (5.4.4)
|
- SwiftyGif (5.4.4)
|
||||||
- url_launcher_ios (0.0.1):
|
- url_launcher_ios (0.0.1):
|
||||||
- Flutter
|
- Flutter
|
||||||
|
|
||||||
DEPENDENCIES:
|
DEPENDENCIES:
|
||||||
- add_2_calendar (from `.symlinks/plugins/add_2_calendar/ios`)
|
- add_2_calendar (from `.symlinks/plugins/add_2_calendar/ios`)
|
||||||
- connectivity_plus (from `.symlinks/plugins/connectivity_plus/ios`)
|
- connectivity_plus (from `.symlinks/plugins/connectivity_plus/darwin`)
|
||||||
- device_info_plus (from `.symlinks/plugins/device_info_plus/ios`)
|
|
||||||
- file_picker (from `.symlinks/plugins/file_picker/ios`)
|
- file_picker (from `.symlinks/plugins/file_picker/ios`)
|
||||||
- firebase_core (from `.symlinks/plugins/firebase_core/ios`)
|
- firebase_core (from `.symlinks/plugins/firebase_core/ios`)
|
||||||
- firebase_remote_config (from `.symlinks/plugins/firebase_remote_config/ios`)
|
- firebase_remote_config (from `.symlinks/plugins/firebase_remote_config/ios`)
|
||||||
- Flutter (from `Flutter`)
|
- Flutter (from `Flutter`)
|
||||||
- image_picker_ios (from `.symlinks/plugins/image_picker_ios/ios`)
|
- image_picker_ios (from `.symlinks/plugins/image_picker_ios/ios`)
|
||||||
- package_info_plus (from `.symlinks/plugins/package_info_plus/ios`)
|
- mobile_device_identifier (from `.symlinks/plugins/mobile_device_identifier/ios`)
|
||||||
|
- open_file (from `.symlinks/plugins/open_file/ios`)
|
||||||
- path_provider_foundation (from `.symlinks/plugins/path_provider_foundation/darwin`)
|
- path_provider_foundation (from `.symlinks/plugins/path_provider_foundation/darwin`)
|
||||||
- permission_handler_apple (from `.symlinks/plugins/permission_handler_apple/ios`)
|
- permission_handler_apple (from `.symlinks/plugins/permission_handler_apple/ios`)
|
||||||
- shared_preferences_foundation (from `.symlinks/plugins/shared_preferences_foundation/darwin`)
|
- shared_preferences_foundation (from `.symlinks/plugins/shared_preferences_foundation/darwin`)
|
||||||
|
- sqflite (from `.symlinks/plugins/sqflite/darwin`)
|
||||||
- url_launcher_ios (from `.symlinks/plugins/url_launcher_ios/ios`)
|
- url_launcher_ios (from `.symlinks/plugins/url_launcher_ios/ios`)
|
||||||
|
|
||||||
SPEC REPOS:
|
SPEC REPOS:
|
||||||
|
@ -137,8 +142,8 @@ SPEC REPOS:
|
||||||
- FirebaseRemoteConfigInterop
|
- FirebaseRemoteConfigInterop
|
||||||
- FirebaseSharedSwift
|
- FirebaseSharedSwift
|
||||||
- GoogleUtilities
|
- GoogleUtilities
|
||||||
|
- JNKeychain
|
||||||
- PromisesObjC
|
- PromisesObjC
|
||||||
- ReachabilitySwift
|
|
||||||
- SDWebImage
|
- SDWebImage
|
||||||
- SwiftyGif
|
- SwiftyGif
|
||||||
|
|
||||||
|
@ -146,9 +151,7 @@ EXTERNAL SOURCES:
|
||||||
add_2_calendar:
|
add_2_calendar:
|
||||||
:path: ".symlinks/plugins/add_2_calendar/ios"
|
:path: ".symlinks/plugins/add_2_calendar/ios"
|
||||||
connectivity_plus:
|
connectivity_plus:
|
||||||
:path: ".symlinks/plugins/connectivity_plus/ios"
|
:path: ".symlinks/plugins/connectivity_plus/darwin"
|
||||||
device_info_plus:
|
|
||||||
:path: ".symlinks/plugins/device_info_plus/ios"
|
|
||||||
file_picker:
|
file_picker:
|
||||||
:path: ".symlinks/plugins/file_picker/ios"
|
:path: ".symlinks/plugins/file_picker/ios"
|
||||||
firebase_core:
|
firebase_core:
|
||||||
|
@ -159,24 +162,27 @@ EXTERNAL SOURCES:
|
||||||
:path: Flutter
|
:path: Flutter
|
||||||
image_picker_ios:
|
image_picker_ios:
|
||||||
:path: ".symlinks/plugins/image_picker_ios/ios"
|
:path: ".symlinks/plugins/image_picker_ios/ios"
|
||||||
package_info_plus:
|
mobile_device_identifier:
|
||||||
:path: ".symlinks/plugins/package_info_plus/ios"
|
:path: ".symlinks/plugins/mobile_device_identifier/ios"
|
||||||
|
open_file:
|
||||||
|
:path: ".symlinks/plugins/open_file/ios"
|
||||||
path_provider_foundation:
|
path_provider_foundation:
|
||||||
:path: ".symlinks/plugins/path_provider_foundation/darwin"
|
:path: ".symlinks/plugins/path_provider_foundation/darwin"
|
||||||
permission_handler_apple:
|
permission_handler_apple:
|
||||||
:path: ".symlinks/plugins/permission_handler_apple/ios"
|
:path: ".symlinks/plugins/permission_handler_apple/ios"
|
||||||
shared_preferences_foundation:
|
shared_preferences_foundation:
|
||||||
:path: ".symlinks/plugins/shared_preferences_foundation/darwin"
|
:path: ".symlinks/plugins/shared_preferences_foundation/darwin"
|
||||||
|
sqflite:
|
||||||
|
:path: ".symlinks/plugins/sqflite/darwin"
|
||||||
url_launcher_ios:
|
url_launcher_ios:
|
||||||
:path: ".symlinks/plugins/url_launcher_ios/ios"
|
:path: ".symlinks/plugins/url_launcher_ios/ios"
|
||||||
|
|
||||||
SPEC CHECKSUMS:
|
SPEC CHECKSUMS:
|
||||||
add_2_calendar: 5eee66d5a3b99cd5e1487a7e03abd4e3ac4aff11
|
add_2_calendar: 5eee66d5a3b99cd5e1487a7e03abd4e3ac4aff11
|
||||||
connectivity_plus: 413a8857dd5d9f1c399a39130850d02fe0feaf7e
|
connectivity_plus: ddd7f30999e1faaef5967c23d5b6d503d10434db
|
||||||
device_info_plus: c6fb39579d0f423935b0c9ce7ee2f44b71b9fce6
|
|
||||||
DKImagePickerController: b512c28220a2b8ac7419f21c491fc8534b7601ac
|
DKImagePickerController: b512c28220a2b8ac7419f21c491fc8534b7601ac
|
||||||
DKPhotoGallery: fdfad5125a9fdda9cc57df834d49df790dbb4179
|
DKPhotoGallery: fdfad5125a9fdda9cc57df834d49df790dbb4179
|
||||||
file_picker: 15fd9539e4eb735dc54bae8c0534a7a9511a03de
|
file_picker: 09aa5ec1ab24135ccd7a1621c46c84134bfd6655
|
||||||
Firebase: 0312a2352584f782ea56f66d91606891d4607f06
|
Firebase: 0312a2352584f782ea56f66d91606891d4607f06
|
||||||
firebase_core: 0b39f4f424e02eecabb2356ddf331fa07b772af8
|
firebase_core: 0b39f4f424e02eecabb2356ddf331fa07b772af8
|
||||||
firebase_remote_config: f57c28ff78d1d933bbe1b2cc11659cc82f9978e8
|
firebase_remote_config: f57c28ff78d1d933bbe1b2cc11659cc82f9978e8
|
||||||
|
@ -190,13 +196,15 @@ SPEC CHECKSUMS:
|
||||||
Flutter: e0871f40cf51350855a761d2e70bf5af5b9b5de7
|
Flutter: e0871f40cf51350855a761d2e70bf5af5b9b5de7
|
||||||
GoogleUtilities: ea963c370a38a8069cc5f7ba4ca849a60b6d7d15
|
GoogleUtilities: ea963c370a38a8069cc5f7ba4ca849a60b6d7d15
|
||||||
image_picker_ios: b545a5f16c0fa88e3ecbbce3ed4de45567a8ec18
|
image_picker_ios: b545a5f16c0fa88e3ecbbce3ed4de45567a8ec18
|
||||||
package_info_plus: 115f4ad11e0698c8c1c5d8a689390df880f47e85
|
JNKeychain: fb6cc9ec95959ba46cd95d0ee6f7a05e41da9f42
|
||||||
|
mobile_device_identifier: 34f80c8985bb1506880c2ae10cb24cfb9918f1a7
|
||||||
|
open_file: 02eb5cb6b21264bd3a696876f5afbfb7ca4f4b7d
|
||||||
path_provider_foundation: 3784922295ac71e43754bd15e0653ccfd36a147c
|
path_provider_foundation: 3784922295ac71e43754bd15e0653ccfd36a147c
|
||||||
permission_handler_apple: 9878588469a2b0d0fc1e048d9f43605f92e6cec2
|
permission_handler_apple: 9878588469a2b0d0fc1e048d9f43605f92e6cec2
|
||||||
PromisesObjC: f5707f49cb48b9636751c5b2e7d227e43fba9f47
|
PromisesObjC: f5707f49cb48b9636751c5b2e7d227e43fba9f47
|
||||||
ReachabilitySwift: 985039c6f7b23a1da463388634119492ff86c825
|
|
||||||
SDWebImage: fc8f2d48bbfd72ef39d70e981bd24a3f3be53fec
|
SDWebImage: fc8f2d48bbfd72ef39d70e981bd24a3f3be53fec
|
||||||
shared_preferences_foundation: b4c3b4cddf1c21f02770737f147a3f5da9d39695
|
shared_preferences_foundation: b4c3b4cddf1c21f02770737f147a3f5da9d39695
|
||||||
|
sqflite: 673a0e54cc04b7d6dba8d24fb8095b31c3a99eec
|
||||||
SwiftyGif: 93a1cc87bf3a51916001cf8f3d63835fb64c819f
|
SwiftyGif: 93a1cc87bf3a51916001cf8f3d63835fb64c819f
|
||||||
url_launcher_ios: 6116280ddcfe98ab8820085d8d76ae7449447586
|
url_launcher_ios: 6116280ddcfe98ab8820085d8d76ae7449447586
|
||||||
|
|
||||||
|
|
|
@ -668,6 +668,8 @@
|
||||||
buildSettings = {
|
buildSettings = {
|
||||||
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
||||||
CLANG_ENABLE_MODULES = YES;
|
CLANG_ENABLE_MODULES = YES;
|
||||||
|
CODE_SIGN_IDENTITY = "Apple Development";
|
||||||
|
CODE_SIGN_STYLE = Automatic;
|
||||||
CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)";
|
CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)";
|
||||||
DEVELOPMENT_TEAM = 69ERN967NS;
|
DEVELOPMENT_TEAM = 69ERN967NS;
|
||||||
ENABLE_BITCODE = NO;
|
ENABLE_BITCODE = NO;
|
||||||
|
@ -678,6 +680,7 @@
|
||||||
);
|
);
|
||||||
PRODUCT_BUNDLE_IDENTIFIER = com.example.konectarEvents;
|
PRODUCT_BUNDLE_IDENTIFIER = com.example.konectarEvents;
|
||||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||||
|
PROVISIONING_PROFILE_SPECIFIER = "";
|
||||||
SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h";
|
SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h";
|
||||||
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
|
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
|
||||||
SWIFT_VERSION = 5.0;
|
SWIFT_VERSION = 5.0;
|
||||||
|
|
|
@ -0,0 +1,230 @@
|
||||||
|
// import 'package:flutter/material.dart';
|
||||||
|
|
||||||
|
// class ModalBottomSheetDemo extends StatelessWidget {
|
||||||
|
// const ModalBottomSheetDemo({Key? key}) : super(key: key);
|
||||||
|
|
||||||
|
// @override
|
||||||
|
// Widget build(BuildContext context) {
|
||||||
|
// return Center(
|
||||||
|
// child: ElevatedButton(
|
||||||
|
// child: const Text('showModalBottomSheet'),
|
||||||
|
// onPressed: () {
|
||||||
|
// // when raised button is pressed
|
||||||
|
// // we display showModalBottomSheet
|
||||||
|
// showModalBottomSheet<dynamic>(
|
||||||
|
// isScrollControlled: true,
|
||||||
|
// // context and builder are
|
||||||
|
// // required properties in this widget
|
||||||
|
// context: context,
|
||||||
|
// builder: (BuildContext context) {
|
||||||
|
// // we set up a container inside which
|
||||||
|
// // we create center column and display text
|
||||||
|
|
||||||
|
// // Returning SizedBox instead of a Container
|
||||||
|
// return Container(
|
||||||
|
// width: double.infinity,
|
||||||
|
// child: Wrap(
|
||||||
|
// // mainAxisSize: MainAxisSize.max,
|
||||||
|
// children: [
|
||||||
|
// Expanded(
|
||||||
|
// child: SingleChildScrollView(
|
||||||
|
// child: Column(
|
||||||
|
// //mainAxisAlignment: MainAxisAlignment.center,
|
||||||
|
// children: <Widget>[
|
||||||
|
// Text('GeeksforGeeks'),
|
||||||
|
// Text('GeeksforGeeks'),
|
||||||
|
// Text('GeeksforGeeks'),
|
||||||
|
// Text('GeeksforGeeks'),
|
||||||
|
// Text('GeeksforGeeks'),
|
||||||
|
// Text('GeeksforGeeks'),
|
||||||
|
// Text('GeeksforGeeks'),
|
||||||
|
// Text('GeeksforGeeks'),
|
||||||
|
// Text('GeeksforGeeks'),
|
||||||
|
// Text('GeeksforGeeks'),
|
||||||
|
// Text('GeeksforGeeks'),
|
||||||
|
// Text('GeeksforGeeks'),
|
||||||
|
// Text('GeeksforGeeks'),
|
||||||
|
// Text('GeeksforGeeks'),
|
||||||
|
// Text('GeeksforGeeks'),
|
||||||
|
// Text('GeeksforGeeks'),
|
||||||
|
// Text('GeeksforGeeks'),
|
||||||
|
// Text('GeeksforGeeks'),
|
||||||
|
// Text('GeeksforGeeks'),
|
||||||
|
// Text('GeeksforGeeks'),
|
||||||
|
// Text('GeeksforGeeks'),
|
||||||
|
// Text('GeeksforGeeks'),
|
||||||
|
// Text('GeeksforGeeks'),
|
||||||
|
// Text('GeeksforGeeks'),
|
||||||
|
// Text('GeeksforGeeks'),
|
||||||
|
// Text('GeeksforGeeks'),
|
||||||
|
// Text('GeeksforGeeks'),
|
||||||
|
// Text('GeeksforGeeks'),
|
||||||
|
// Text('GeeksforGeeks'),
|
||||||
|
// Text('GeeksforGeeks'),
|
||||||
|
// Text('GeeksforGeeks'),
|
||||||
|
// Text('GeeksforGeeks'),
|
||||||
|
// Text('GeeksforGeeks'),
|
||||||
|
// Text('GeeksforGeeks'),
|
||||||
|
// Text('GeeksforGeeks'),
|
||||||
|
// Text('GeeksforGeeks'),
|
||||||
|
// Text('GeeksforGeeks'),
|
||||||
|
// Text('GeeksforGeeks'),
|
||||||
|
// Text('GeeksforGeeks'),
|
||||||
|
// Text('GeeksforGeeks'),
|
||||||
|
// Text('GeeksforGeeks'),
|
||||||
|
// Text('GeeksforGeeks'),
|
||||||
|
// Text('GeeksforGeeks'),
|
||||||
|
// Text('GeeksforGeeks'),
|
||||||
|
// Text('GeeksforGeeks'),
|
||||||
|
// Text('GeeksforGeeks'),
|
||||||
|
// Text('GeeksforGeeks'),
|
||||||
|
// Text('GeeksforGeeks'),
|
||||||
|
// Text('GeeksforGeeks'),
|
||||||
|
// Text('GeeksforGeeks'),
|
||||||
|
// Text('GeeksforGeeks'),
|
||||||
|
// Text('GeeksforGeeks'),
|
||||||
|
|
||||||
|
// // ListView(
|
||||||
|
// // children: [
|
||||||
|
// // ...List.generate(
|
||||||
|
// // 10,
|
||||||
|
// // (index) => Text('GeeksforGeeks'),
|
||||||
|
// // )
|
||||||
|
// // ],
|
||||||
|
// // )
|
||||||
|
// ],
|
||||||
|
// ),
|
||||||
|
// ),
|
||||||
|
// ),
|
||||||
|
// ],
|
||||||
|
// ),
|
||||||
|
// );
|
||||||
|
// },
|
||||||
|
// );
|
||||||
|
// },
|
||||||
|
// ),
|
||||||
|
// );
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
// import 'package:flutter/material.dart';
|
||||||
|
|
||||||
|
// // Define your number of items
|
||||||
|
// const int numberOfItems = 5; // Replace with the desired number
|
||||||
|
|
||||||
|
// class MyCarousel extends StatelessWidget {
|
||||||
|
// @override
|
||||||
|
// Widget build(BuildContext context) {
|
||||||
|
// return Scaffold(
|
||||||
|
// body: ExpandableCarousel(
|
||||||
|
// options: CarouselOptions(
|
||||||
|
// showIndicator: false,
|
||||||
|
// slideIndicator: CircularWaveSlideIndicator(
|
||||||
|
// alignment: Alignment.bottomCenter,
|
||||||
|
// currentIndicatorColor: Colors.blue, // Replace with your color
|
||||||
|
// indicatorBackgroundColor: Colors.grey,
|
||||||
|
// ),
|
||||||
|
// autoPlay: true,
|
||||||
|
// autoPlayInterval: const Duration(seconds: 2),
|
||||||
|
// ),
|
||||||
|
// items: List.generate(numberOfItems, (index) {
|
||||||
|
// return Builder(
|
||||||
|
// builder: (BuildContext context) {
|
||||||
|
// return Center(
|
||||||
|
// child: Padding(
|
||||||
|
// padding: const EdgeInsets.all(8.0),
|
||||||
|
// child: Card(
|
||||||
|
// margin: EdgeInsets.all(1.0),
|
||||||
|
// shape: RoundedRectangleBorder(
|
||||||
|
// borderRadius: BorderRadius.circular(10),
|
||||||
|
// ),
|
||||||
|
// child: Container(
|
||||||
|
// decoration: BoxDecoration(
|
||||||
|
// color: Colors.blueAccent, // Replace with your gradient or color
|
||||||
|
// borderRadius: BorderRadius.circular(10),
|
||||||
|
// ),
|
||||||
|
// child: Padding(
|
||||||
|
// padding: EdgeInsets.all(10.0),
|
||||||
|
// child: Column(
|
||||||
|
// mainAxisSize: MainAxisSize.min,
|
||||||
|
// crossAxisAlignment: CrossAxisAlignment.start,
|
||||||
|
// children: [
|
||||||
|
// Text(
|
||||||
|
// index == 0
|
||||||
|
// ? "Top Event Topics"
|
||||||
|
// : index == 1
|
||||||
|
// ? "Top Publication Topics"
|
||||||
|
// : index == 2
|
||||||
|
// ? "Top Products Discussed"
|
||||||
|
// : index == 3
|
||||||
|
// ? "Drugs Prescribed"
|
||||||
|
// : "Condition Treated",
|
||||||
|
// style: TextStyle(
|
||||||
|
// fontSize: 16.0,
|
||||||
|
// fontWeight: FontWeight.bold,
|
||||||
|
// color: Colors.white,
|
||||||
|
// ),
|
||||||
|
// ),
|
||||||
|
// const SizedBox(height: 10.0),
|
||||||
|
// // Example content, you can replace this with your dynamic data
|
||||||
|
// Row(
|
||||||
|
// children: [
|
||||||
|
// Container(
|
||||||
|
// decoration: BoxDecoration(
|
||||||
|
// color: Colors.grey[800], // Replace with your color
|
||||||
|
// borderRadius: BorderRadius.circular(10),
|
||||||
|
// ),
|
||||||
|
// child: Padding(
|
||||||
|
// padding: const EdgeInsets.all(5.0),
|
||||||
|
// child: Row(
|
||||||
|
// children: [
|
||||||
|
// Icon(
|
||||||
|
// Icons.circle,
|
||||||
|
// color: Colors.white,
|
||||||
|
// size: 13.0,
|
||||||
|
// ),
|
||||||
|
// SizedBox(width: 5.0),
|
||||||
|
// Text(
|
||||||
|
// "Item $index",
|
||||||
|
// style: TextStyle(
|
||||||
|
// fontSize: 14.0,
|
||||||
|
// color: Colors.white,
|
||||||
|
// ),
|
||||||
|
// ),
|
||||||
|
// SizedBox(width: 5.0),
|
||||||
|
// Container(
|
||||||
|
// decoration: BoxDecoration(
|
||||||
|
// color: Colors.black, // Replace with your color
|
||||||
|
// borderRadius: BorderRadius.circular(5),
|
||||||
|
// ),
|
||||||
|
// child: Padding(
|
||||||
|
// padding: const EdgeInsets.all(1.0),
|
||||||
|
// child: Text(
|
||||||
|
// "(378)",
|
||||||
|
// style: TextStyle(
|
||||||
|
// fontSize: 14.0,
|
||||||
|
// color: Colors.white,
|
||||||
|
// ),
|
||||||
|
// ),
|
||||||
|
// ),
|
||||||
|
// ),
|
||||||
|
// ],
|
||||||
|
// ),
|
||||||
|
// ),
|
||||||
|
// ),
|
||||||
|
// ],
|
||||||
|
// ),
|
||||||
|
// ],
|
||||||
|
// ),
|
||||||
|
// ),
|
||||||
|
// ),
|
||||||
|
// ),
|
||||||
|
// ),
|
||||||
|
// );
|
||||||
|
// },
|
||||||
|
// );
|
||||||
|
// }).toList(),
|
||||||
|
// ),
|
||||||
|
// );
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
|
|
@ -0,0 +1,33 @@
|
||||||
|
import 'dart:async';
|
||||||
|
import 'dart:io';
|
||||||
|
|
||||||
|
import 'package:connectivity_plus/connectivity_plus.dart';
|
||||||
|
import 'package:dio/dio.dart';
|
||||||
|
|
||||||
|
class NetworkConnectivity {
|
||||||
|
// Future<bool> isInternetAvailable() async {
|
||||||
|
// var connectivityResult = await (Connectivity().checkConnectivity());
|
||||||
|
// return connectivityResult != ConnectivityResult.none;
|
||||||
|
// }
|
||||||
|
Future<bool> isInternetAvailable() async {
|
||||||
|
var connectivityResult = await Connectivity().checkConnectivity();
|
||||||
|
if (connectivityResult == ConnectivityResult.none) {
|
||||||
|
return false;
|
||||||
|
} else {
|
||||||
|
try {
|
||||||
|
// final result = await InternetAddress.lookup('google.com');
|
||||||
|
// return true;
|
||||||
|
final result = await Dio().get('www.google.com');
|
||||||
|
|
||||||
|
if (result.statusCode == 200) {
|
||||||
|
// if (result.isNotEmpty && result[0].rawAddress.isNotEmpty) {
|
||||||
|
return true;
|
||||||
|
//}
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
} on SocketException catch (_) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,61 @@
|
||||||
|
import 'dart:ui';
|
||||||
|
|
||||||
|
import 'package:flutter/material.dart';
|
||||||
|
import 'package:flutter/services.dart';
|
||||||
|
|
||||||
|
class Constants {
|
||||||
|
// static Color k2color = Color.fromARGB(255, 0, 71, 132);
|
||||||
|
// static Color k2color1 = Color.fromARGB(255, 0, 71, 132);
|
||||||
|
// static const Color profilecard = Color.fromARGB(255, 4, 104, 198);
|
||||||
|
// static const Color btmcard = Color.fromARGB(2255, 251, 242, 242);
|
||||||
|
|
||||||
|
// static Color cardtext = Colors.transparent;
|
||||||
|
|
||||||
|
// static Color cardtextdark = Colors.transparent;
|
||||||
|
|
||||||
|
// static const Color bgcolor = Color(0xFFF2F3F8);
|
||||||
|
// static const Color bgwhitecolor = Colors.white;
|
||||||
|
|
||||||
|
// static Color bgcolor2 = const Color.fromARGB(255, 0, 112, 184);
|
||||||
|
|
||||||
|
// static Color k2color11 = Colors.white;
|
||||||
|
|
||||||
|
static final Future<String> response =
|
||||||
|
rootBundle.loadString('assets/section.json');
|
||||||
|
// static const Color tabbgColor = Color.fromARGB(255, 0, 112, 184);
|
||||||
|
|
||||||
|
//static const url = "http://192.168.2.143:8000/api";
|
||||||
|
//static const url = "http://192.168.53.50:8000/api";
|
||||||
|
static const url = "http://192.168.2.170:8000/api";
|
||||||
|
|
||||||
|
// static const url = "http://192.168.21.50:8000/api";
|
||||||
|
|
||||||
|
//static const url = 'http://192.168.2.143:8085/api';http://127.0.0.1:8001
|
||||||
|
//static const url = 'http://192.168.153.50:8082/api';192.168.21.50:8000
|
||||||
|
|
||||||
|
static const k2url = "http://192.168.2.130:8888/api";
|
||||||
|
|
||||||
|
static const notes = "http://192.168.2.170:8001/api/all-routes";
|
||||||
|
|
||||||
|
// static const Map<String, int> apiIntervals1 = {
|
||||||
|
// k2url: 1, // Interval in minutes
|
||||||
|
// 'http://192.168.2.170:8001/api/all-routes': 2,
|
||||||
|
// };
|
||||||
|
|
||||||
|
static const Map<String, Map<String, dynamic>> apiIntervals1 = {
|
||||||
|
'api1': {
|
||||||
|
'url': 'http://192.168.2.170:8000/api/receive-data',
|
||||||
|
'intervals': 1,
|
||||||
|
'hivename': 'InteractionDataBox',
|
||||||
|
'hivetype': 'SaveInteraction'
|
||||||
|
},
|
||||||
|
'api2': {
|
||||||
|
'url': 'http://192.168.2.170:8000/api/receive-data',
|
||||||
|
'intervals': 2,
|
||||||
|
'hivename': 'notehive',
|
||||||
|
'hivetype': 'String'
|
||||||
|
},
|
||||||
|
};
|
||||||
|
|
||||||
|
static const get_api_list = "http://192.168.2.170:8002/api/all-routes";
|
||||||
|
}
|
|
@ -0,0 +1,42 @@
|
||||||
|
import 'package:flutter/cupertino.dart';
|
||||||
|
import 'package:flutter/material.dart';
|
||||||
|
import 'package:konectar_events/contacts_module/custom_widget/text.dart';
|
||||||
|
|
||||||
|
class ClickRow extends StatefulWidget {
|
||||||
|
final IconData? icon;
|
||||||
|
final String? text;
|
||||||
|
final VoidCallback? onTap;
|
||||||
|
const ClickRow({super.key, this.icon, this.text, this.onTap});
|
||||||
|
|
||||||
|
@override
|
||||||
|
State<ClickRow> createState() => _ClickRowState();
|
||||||
|
}
|
||||||
|
|
||||||
|
class _ClickRowState extends State<ClickRow> {
|
||||||
|
@override
|
||||||
|
Widget build(BuildContext context) {
|
||||||
|
return Padding(
|
||||||
|
padding: const EdgeInsets.only(left: 15.0),
|
||||||
|
child: InkWell(
|
||||||
|
onTap: widget.onTap,
|
||||||
|
child: Row(
|
||||||
|
children: [
|
||||||
|
Icon(
|
||||||
|
size: 16,
|
||||||
|
widget.icon,
|
||||||
|
color: Colors.white,
|
||||||
|
),
|
||||||
|
const SizedBox(width: 3.0),
|
||||||
|
Expanded(
|
||||||
|
child: Text1(
|
||||||
|
title: widget.text!,
|
||||||
|
txtcolor: Colors.white,
|
||||||
|
fontweight: FontWeight.normal,
|
||||||
|
txtfont: 14.0),
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,38 @@
|
||||||
|
import 'package:cached_network_image/cached_network_image.dart';
|
||||||
|
import 'package:flutter/cupertino.dart';
|
||||||
|
import 'package:flutter_profile_picture/flutter_profile_picture.dart';
|
||||||
|
|
||||||
|
class CustomProfile extends StatelessWidget {
|
||||||
|
final String? imgstring;
|
||||||
|
final double? radius;
|
||||||
|
final double? fontsize;
|
||||||
|
final String? name;
|
||||||
|
const CustomProfile(
|
||||||
|
{super.key, this.imgstring, this.fontsize, this.radius, this.name});
|
||||||
|
|
||||||
|
@override
|
||||||
|
Widget build(BuildContext context) {
|
||||||
|
return imgstring == ""
|
||||||
|
? ProfilePicture(
|
||||||
|
name: name ?? "",
|
||||||
|
radius: radius!,
|
||||||
|
fontsize: fontsize!,
|
||||||
|
)
|
||||||
|
: ClipOval(
|
||||||
|
child: SizedBox.fromSize(
|
||||||
|
size: Size.fromRadius(radius!),
|
||||||
|
child: CachedNetworkImage(
|
||||||
|
imageUrl: imgstring!,
|
||||||
|
imageBuilder: (context, imageProvider) => Container(
|
||||||
|
decoration: BoxDecoration(
|
||||||
|
image: DecorationImage(
|
||||||
|
image: imageProvider,
|
||||||
|
fit: BoxFit.fill,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,33 @@
|
||||||
|
import 'package:flutter/material.dart';
|
||||||
|
import 'package:konectar_events/contacts_module/constants.dart';
|
||||||
|
import 'package:konectar_events/contacts_module/custom_widget/text.dart';
|
||||||
|
import 'package:konectar_events/utils/appcolors.dart';
|
||||||
|
|
||||||
|
class CustomAppbar extends StatefulWidget {
|
||||||
|
final String title;
|
||||||
|
const CustomAppbar({super.key, required this.title});
|
||||||
|
|
||||||
|
@override
|
||||||
|
State<CustomAppbar> createState() => _CustomAppbarState();
|
||||||
|
}
|
||||||
|
|
||||||
|
class _CustomAppbarState extends State<CustomAppbar> {
|
||||||
|
@override
|
||||||
|
Widget build(BuildContext context) {
|
||||||
|
return AppBar(
|
||||||
|
backgroundColor: AppColors.blueColor,
|
||||||
|
leading: IconButton(
|
||||||
|
icon: const Icon(
|
||||||
|
Icons.arrow_back_ios_new,
|
||||||
|
color: AppColors.contentColorWhite,
|
||||||
|
),
|
||||||
|
onPressed: () => Navigator.of(context).pop(false),
|
||||||
|
),
|
||||||
|
title: Text1(
|
||||||
|
title: widget.title,
|
||||||
|
txtcolor: AppColors.contentColorWhite,
|
||||||
|
),
|
||||||
|
actions: <Widget>[],
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,141 @@
|
||||||
|
import 'package:flutter/material.dart';
|
||||||
|
|
||||||
|
class CustomLongPressContainer extends StatelessWidget {
|
||||||
|
final bool? switchValue;
|
||||||
|
final List<String>? selectedIndices;
|
||||||
|
final List<int>? selectedRemoveIndices;
|
||||||
|
final void Function()? onAddToContacts;
|
||||||
|
final void Function()? onRemoveFromContacts;
|
||||||
|
final void Function()? onDownload;
|
||||||
|
final void Function()? onCancel;
|
||||||
|
final void Function()? onSaveOffline;
|
||||||
|
|
||||||
|
CustomLongPressContainer({
|
||||||
|
this.switchValue,
|
||||||
|
this.selectedIndices,
|
||||||
|
this.selectedRemoveIndices,
|
||||||
|
this.onAddToContacts,
|
||||||
|
this.onRemoveFromContacts,
|
||||||
|
this.onDownload,
|
||||||
|
this.onCancel,
|
||||||
|
this.onSaveOffline,
|
||||||
|
});
|
||||||
|
|
||||||
|
@override
|
||||||
|
Widget build(BuildContext context) {
|
||||||
|
return Container(
|
||||||
|
color: Colors.grey[200], // Example color, you can change it
|
||||||
|
width: MediaQuery.of(context).size.width,
|
||||||
|
height: 220.0,
|
||||||
|
child: Column(
|
||||||
|
mainAxisAlignment: MainAxisAlignment.center,
|
||||||
|
children: [
|
||||||
|
// Add to Contacts Section
|
||||||
|
switchValue!
|
||||||
|
? GestureDetector(
|
||||||
|
onTap: onRemoveFromContacts,
|
||||||
|
child: Row(
|
||||||
|
children: [
|
||||||
|
const Padding(
|
||||||
|
padding: EdgeInsets.all(15.0),
|
||||||
|
child: Icon(
|
||||||
|
Icons.remove,
|
||||||
|
color: Colors.green,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
Text(
|
||||||
|
'Remove from My Contacts',
|
||||||
|
style: TextStyle(color: Colors.black),
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
)
|
||||||
|
: GestureDetector(
|
||||||
|
onTap: onAddToContacts,
|
||||||
|
child: Row(
|
||||||
|
children: [
|
||||||
|
const Padding(
|
||||||
|
padding: EdgeInsets.all(15.0),
|
||||||
|
child: Icon(
|
||||||
|
Icons.add,
|
||||||
|
color: Colors.green,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
Text(
|
||||||
|
'Add to My Contacts',
|
||||||
|
style: TextStyle(color: Colors.black),
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
),
|
||||||
|
|
||||||
|
// Download Section
|
||||||
|
GestureDetector(
|
||||||
|
onTap: onDownload,
|
||||||
|
child: Row(
|
||||||
|
children: [
|
||||||
|
const Padding(
|
||||||
|
padding: EdgeInsets.all(15.0),
|
||||||
|
child: Icon(
|
||||||
|
Icons.download,
|
||||||
|
color: Colors.blue,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
Text(
|
||||||
|
'Download',
|
||||||
|
style: TextStyle(color: Colors.black),
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
),
|
||||||
|
|
||||||
|
// Cancel Section
|
||||||
|
GestureDetector(
|
||||||
|
onTap: onCancel,
|
||||||
|
child: Row(
|
||||||
|
children: [
|
||||||
|
const Padding(
|
||||||
|
padding: EdgeInsets.all(15.0),
|
||||||
|
child: Icon(
|
||||||
|
Icons.close,
|
||||||
|
color: Colors.red,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
Text(
|
||||||
|
'Cancel',
|
||||||
|
style: TextStyle(color: Colors.black),
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
),
|
||||||
|
|
||||||
|
// Save Offline Section (Only if switchValue is false)
|
||||||
|
Visibility(
|
||||||
|
visible: !switchValue!,
|
||||||
|
child: GestureDetector(
|
||||||
|
onTap: onSaveOffline,
|
||||||
|
child: Row(
|
||||||
|
children: [
|
||||||
|
const Padding(
|
||||||
|
padding: EdgeInsets.all(15.0),
|
||||||
|
child: Icon(
|
||||||
|
Icons.save,
|
||||||
|
color: Colors.deepOrange,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
Padding(
|
||||||
|
padding: EdgeInsets.only(top: 5.0),
|
||||||
|
child: Text(
|
||||||
|
'Save Offline',
|
||||||
|
style: TextStyle(color: Colors.black),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,34 @@
|
||||||
|
import 'package:flutter/cupertino.dart';
|
||||||
|
import 'package:flutter/material.dart';
|
||||||
|
|
||||||
|
class CustomCard extends StatefulWidget {
|
||||||
|
final double? elevation;
|
||||||
|
final Color? color;
|
||||||
|
final Color? tintcolor;
|
||||||
|
final Widget? child;
|
||||||
|
|
||||||
|
final double? bradius;
|
||||||
|
const CustomCard(
|
||||||
|
{super.key,
|
||||||
|
this.elevation,
|
||||||
|
this.color,
|
||||||
|
this.bradius,
|
||||||
|
this.tintcolor,
|
||||||
|
this.child});
|
||||||
|
|
||||||
|
@override
|
||||||
|
State<CustomCard> createState() => _CustomCardState();
|
||||||
|
}
|
||||||
|
|
||||||
|
class _CustomCardState extends State<CustomCard> {
|
||||||
|
@override
|
||||||
|
Widget build(BuildContext context) {
|
||||||
|
return Card(
|
||||||
|
elevation: widget.elevation!,
|
||||||
|
color: widget.color,
|
||||||
|
shape: RoundedRectangleBorder(
|
||||||
|
borderRadius: BorderRadius.circular(widget.bradius!)),
|
||||||
|
child: widget.child,
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,224 @@
|
||||||
|
import 'package:flutter/material.dart';
|
||||||
|
import 'package:flutter/widgets.dart';
|
||||||
|
import 'package:konectar_events/contacts_module/constants.dart';
|
||||||
|
import 'package:konectar_events/contacts_module/custom_widget/text.dart';
|
||||||
|
import 'package:konectar_events/contacts_module/model_class/k2_api_model/kol_Certificate_k2.dart';
|
||||||
|
import 'package:konectar_events/contacts_module/model_class/k2_api_model/kol_aff_k2.dart';
|
||||||
|
import 'package:konectar_events/contacts_module/model_class/k2_api_model/kol_awards_k2.dart';
|
||||||
|
import 'package:konectar_events/contacts_module/model_class/k2_api_model/kol_education_k2.dart';
|
||||||
|
import 'package:konectar_events/contacts_module/model_class/k2_api_model/kol_email_k2.dart';
|
||||||
|
import 'package:konectar_events/contacts_module/model_class/k2_api_model/kol_event_k2.dart';
|
||||||
|
import 'package:konectar_events/contacts_module/model_class/k2_api_model/kol_location_k2.dart';
|
||||||
|
import 'package:konectar_events/contacts_module/model_class/k2_api_model/kol_pno_k2.dart';
|
||||||
|
import 'package:konectar_events/contacts_module/model_class/k2_api_model/kol_training_k2.dart';
|
||||||
|
import 'package:konectar_events/utils/appcolors.dart';
|
||||||
|
|
||||||
|
class CustomExpansionTile<T> extends StatefulWidget {
|
||||||
|
final String title;
|
||||||
|
final List<T>? itemList;
|
||||||
|
final String buttonText;
|
||||||
|
final String field1;
|
||||||
|
final String field2;
|
||||||
|
bool? noexpand;
|
||||||
|
final VoidCallback? onButtonPressed; // Add this parameter for button callback
|
||||||
|
|
||||||
|
final Function(T) onItemSelected;
|
||||||
|
|
||||||
|
CustomExpansionTile({
|
||||||
|
Key? key,
|
||||||
|
required this.title,
|
||||||
|
this.itemList,
|
||||||
|
required this.buttonText,
|
||||||
|
required this.onItemSelected,
|
||||||
|
required this.field1,
|
||||||
|
required this.field2,
|
||||||
|
this.noexpand,
|
||||||
|
this.onButtonPressed, // Initialize it
|
||||||
|
}) : super(key: key);
|
||||||
|
|
||||||
|
@override
|
||||||
|
_CustomExpansionTileState createState() => _CustomExpansionTileState<T>();
|
||||||
|
}
|
||||||
|
|
||||||
|
class _CustomExpansionTileState<T> extends State<CustomExpansionTile<T>> {
|
||||||
|
bool _isExpanded = false;
|
||||||
|
|
||||||
|
//var noexpand;
|
||||||
|
|
||||||
|
@override
|
||||||
|
Widget build(BuildContext context) {
|
||||||
|
print("Chekingg_Field_one: ${widget.field1}");
|
||||||
|
|
||||||
|
return ListTileTheme(
|
||||||
|
dense: true,
|
||||||
|
child: Padding(
|
||||||
|
padding: const EdgeInsets.symmetric(horizontal: 8.0),
|
||||||
|
child: Container(
|
||||||
|
child: Card(
|
||||||
|
margin: EdgeInsets.all(1.0),
|
||||||
|
shape: RoundedRectangleBorder(
|
||||||
|
borderRadius: BorderRadius.circular(0.0),
|
||||||
|
),
|
||||||
|
color: AppColors.contentColorWhite,
|
||||||
|
child: ExpansionTile(
|
||||||
|
backgroundColor: AppColors.contentColorWhite,
|
||||||
|
initiallyExpanded: false,
|
||||||
|
maintainState: true,
|
||||||
|
onExpansionChanged: (bool expanded) {
|
||||||
|
setState(() {
|
||||||
|
_isExpanded = expanded;
|
||||||
|
});
|
||||||
|
},
|
||||||
|
trailing: Icon(
|
||||||
|
_isExpanded
|
||||||
|
? Icons.keyboard_arrow_up
|
||||||
|
: Icons.keyboard_arrow_down,
|
||||||
|
color: Colors.black,
|
||||||
|
),
|
||||||
|
title: Row(
|
||||||
|
mainAxisAlignment: MainAxisAlignment.start,
|
||||||
|
children: [
|
||||||
|
Text1(
|
||||||
|
title: widget.title,
|
||||||
|
txtcolor: Colors.black,
|
||||||
|
fontweight: FontWeight.normal,
|
||||||
|
txtfont: 16.0,
|
||||||
|
),
|
||||||
|
const SizedBox(width: 8.0),
|
||||||
|
Text1(
|
||||||
|
title: "(${widget.itemList!.length})",
|
||||||
|
txtcolor: Colors.black,
|
||||||
|
fontweight: FontWeight.normal,
|
||||||
|
txtfont: 16.0,
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
children: [
|
||||||
|
Visibility(
|
||||||
|
visible: widget.noexpand!,
|
||||||
|
child: Scrollbar(
|
||||||
|
child: SingleChildScrollView(
|
||||||
|
scrollDirection: Axis.horizontal,
|
||||||
|
child: Container(
|
||||||
|
constraints: BoxConstraints(
|
||||||
|
minWidth: MediaQuery.of(context).size.width,
|
||||||
|
),
|
||||||
|
color: Colors.white,
|
||||||
|
child: DataTable(
|
||||||
|
showCheckboxColumn: false,
|
||||||
|
columns: [
|
||||||
|
DataColumn(
|
||||||
|
label: Expanded(
|
||||||
|
child: Text(
|
||||||
|
widget.field1 ?? 'Item',
|
||||||
|
style: TextStyle(fontWeight: FontWeight.w600),
|
||||||
|
softWrap: true,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
DataColumn(
|
||||||
|
label: Expanded(
|
||||||
|
child: Text(
|
||||||
|
widget.field2 ?? 'Details',
|
||||||
|
style: TextStyle(fontWeight: FontWeight.w600),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
],
|
||||||
|
rows: List.generate(widget.itemList!.take(2).length,
|
||||||
|
(index) {
|
||||||
|
final item = widget.itemList![index];
|
||||||
|
|
||||||
|
return DataRow(
|
||||||
|
onSelectChanged: (value) {
|
||||||
|
widget.onItemSelected(widget.itemList![index]);
|
||||||
|
},
|
||||||
|
cells: [
|
||||||
|
DataCell(getdatacel1(item)),
|
||||||
|
DataCell(
|
||||||
|
getdatacel2(item),
|
||||||
|
),
|
||||||
|
],
|
||||||
|
);
|
||||||
|
}),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
Visibility(
|
||||||
|
visible: widget.noexpand!,
|
||||||
|
child: Container(
|
||||||
|
color: Colors.white,
|
||||||
|
child: Align(
|
||||||
|
alignment: Alignment.center,
|
||||||
|
child: Padding(
|
||||||
|
padding: const EdgeInsets.all(8.0),
|
||||||
|
child: OutlinedButton(
|
||||||
|
onPressed: widget.onButtonPressed,
|
||||||
|
child: Text(
|
||||||
|
widget.buttonText,
|
||||||
|
style: TextStyle(color: AppColors.blueColor),
|
||||||
|
),
|
||||||
|
style: OutlinedButton.styleFrom(
|
||||||
|
shape: RoundedRectangleBorder(
|
||||||
|
borderRadius: BorderRadius.circular(12),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
getdatacel1(T location) {
|
||||||
|
if (location is Data) {
|
||||||
|
return Text1(title: "${location.address1}");
|
||||||
|
} else if (location is DataPhno) {
|
||||||
|
return Text1(title: "${location.phoneTypeName}");
|
||||||
|
} else if (location is EmailData) {
|
||||||
|
return Text1(title: "${location.emailTypeName}");
|
||||||
|
} else if (location is TrainingList) {
|
||||||
|
return Text1(title: "${location.organizationId}");
|
||||||
|
} else if (location is EducationList) {
|
||||||
|
return Text1(title: "${location.organizationId}");
|
||||||
|
} else if (location is AwardsList) {
|
||||||
|
return Text1(title: "${location.name}");
|
||||||
|
} else if (location is CertificateList) {
|
||||||
|
return Text1(title: "${location.organizationId}");
|
||||||
|
} else if (location is AffList) {
|
||||||
|
return Text1(title: "${location.title}");
|
||||||
|
} else if (location is EventList) {
|
||||||
|
return Text1(title: "${location.name}");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
getdatacel2(T location) {
|
||||||
|
if (location is Data) {
|
||||||
|
return Text1(title: "${location.postalCode}");
|
||||||
|
} else if (location is DataPhno) {
|
||||||
|
return Text1(title: "${location.number}");
|
||||||
|
} else if (location is EmailData) {
|
||||||
|
return Text1(title: "${location.email}");
|
||||||
|
} else if (location is TrainingList) {
|
||||||
|
return Text1(title: "${location.degree}");
|
||||||
|
} else if (location is EducationList) {
|
||||||
|
return Text1(title: "${location.degree}");
|
||||||
|
} else if (location is AwardsList) {
|
||||||
|
return Text1(title: "${location.startDate} ${location.endDate}");
|
||||||
|
} else if (location is CertificateList) {
|
||||||
|
return Text1(title: "${location.specialty}");
|
||||||
|
} else if (location is AffList) {
|
||||||
|
return Text1(title: "${location.role}");
|
||||||
|
} else if (location is EventList) {
|
||||||
|
return Text1(title: "${location.notes}");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,78 @@
|
||||||
|
import 'package:flutter/material.dart';
|
||||||
|
import 'package:konectar_events/contacts_module/ui_screen/newformlist.dart';
|
||||||
|
|
||||||
|
class CustomFloatingBtn extends StatefulWidget {
|
||||||
|
final double? height;
|
||||||
|
final double? width;
|
||||||
|
final Color? color;
|
||||||
|
final double? borderWidth;
|
||||||
|
final double? borderRadius;
|
||||||
|
final IconData? icon;
|
||||||
|
final Color? iconColor;
|
||||||
|
final double? iconsize;
|
||||||
|
final VoidCallbackAction? ontap;
|
||||||
|
|
||||||
|
const CustomFloatingBtn(
|
||||||
|
{super.key,
|
||||||
|
this.height,
|
||||||
|
this.width,
|
||||||
|
this.color,
|
||||||
|
this.borderRadius,
|
||||||
|
this.borderWidth,
|
||||||
|
this.ontap,
|
||||||
|
this.icon,
|
||||||
|
this.iconColor,
|
||||||
|
this.iconsize});
|
||||||
|
|
||||||
|
@override
|
||||||
|
State<CustomFloatingBtn> createState() => _CustomFloatingBtnState();
|
||||||
|
}
|
||||||
|
|
||||||
|
class _CustomFloatingBtnState extends State<CustomFloatingBtn> {
|
||||||
|
@override
|
||||||
|
Widget build(BuildContext context) {
|
||||||
|
return Container(
|
||||||
|
width: widget.width,
|
||||||
|
height: widget.height,
|
||||||
|
decoration: BoxDecoration(
|
||||||
|
border: Border.all(
|
||||||
|
color: widget.color!, // Outer border color
|
||||||
|
width: 1.8,
|
||||||
|
),
|
||||||
|
borderRadius:
|
||||||
|
BorderRadius.circular(widget.borderRadius!), // Rounded border
|
||||||
|
boxShadow: [
|
||||||
|
BoxShadow(
|
||||||
|
color: widget.color!.withOpacity(0.2), // Shadow color with opacity
|
||||||
|
blurRadius: 5, // Shadow blur radius
|
||||||
|
spreadRadius: 2, // Spread of the shadow
|
||||||
|
offset: Offset(2, 2), // Shadow offset
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
child: FloatingActionButton(
|
||||||
|
// shape: CircleBorder(),
|
||||||
|
shape: RoundedRectangleBorder(
|
||||||
|
side: BorderSide(width: 7, color: widget.iconColor!),
|
||||||
|
borderRadius: BorderRadius.circular(widget.borderRadius!)),
|
||||||
|
|
||||||
|
onPressed: () async {
|
||||||
|
Navigator.push(
|
||||||
|
context, MaterialPageRoute(builder: (context) => FormList()));
|
||||||
|
},
|
||||||
|
foregroundColor: widget.iconColor,
|
||||||
|
backgroundColor: widget.color,
|
||||||
|
child: Text(
|
||||||
|
String.fromCharCode(widget.icon!.codePoint),
|
||||||
|
style: TextStyle(
|
||||||
|
color: widget.iconColor,
|
||||||
|
inherit: false,
|
||||||
|
fontSize: widget.iconsize,
|
||||||
|
fontWeight: FontWeight.w800,
|
||||||
|
fontFamily: Icons.space_dashboard_outlined.fontFamily,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,16 @@
|
||||||
|
import 'package:flutter/material.dart';
|
||||||
|
|
||||||
|
class CustomSizedBox extends StatelessWidget {
|
||||||
|
final double? height;
|
||||||
|
final double? width;
|
||||||
|
|
||||||
|
const CustomSizedBox({this.height, this.width});
|
||||||
|
|
||||||
|
@override
|
||||||
|
Widget build(BuildContext context) {
|
||||||
|
return SizedBox(
|
||||||
|
height: height,
|
||||||
|
width: width,
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,28 @@
|
||||||
|
import 'package:flutter/cupertino.dart';
|
||||||
|
|
||||||
|
class CustomSwitch extends StatefulWidget {
|
||||||
|
final Color? activeclor;
|
||||||
|
final bool? switchvalue;
|
||||||
|
final ValueChanged<bool>? onchanged;
|
||||||
|
const CustomSwitch(
|
||||||
|
{super.key, this.activeclor, this.switchvalue, this.onchanged});
|
||||||
|
|
||||||
|
@override
|
||||||
|
State<CustomSwitch> createState() => _CustomSwitchState();
|
||||||
|
}
|
||||||
|
|
||||||
|
class _CustomSwitchState extends State<CustomSwitch> {
|
||||||
|
@override
|
||||||
|
Widget build(BuildContext context) {
|
||||||
|
return CupertinoSwitch(
|
||||||
|
activeColor: widget.activeclor,
|
||||||
|
value: widget.switchvalue!,
|
||||||
|
onChanged: widget.onchanged
|
||||||
|
// (value) {
|
||||||
|
// setState(() {
|
||||||
|
// _switchValue = value;
|
||||||
|
// });
|
||||||
|
// },
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,31 @@
|
||||||
|
import 'package:flutter/cupertino.dart';
|
||||||
|
import 'package:flutter/material.dart';
|
||||||
|
|
||||||
|
// ignore: must_be_immutable
|
||||||
|
class ElevationBtn extends StatefulWidget {
|
||||||
|
ElevationBtn(
|
||||||
|
{this.text, this.color, required this.onPressed, this.textcolor});
|
||||||
|
String? text;
|
||||||
|
Color? color;
|
||||||
|
final VoidCallback onPressed;
|
||||||
|
Color? textcolor;
|
||||||
|
|
||||||
|
@override
|
||||||
|
State<ElevationBtn> createState() => _ElevationBtnState();
|
||||||
|
}
|
||||||
|
|
||||||
|
class _ElevationBtnState extends State<ElevationBtn> {
|
||||||
|
@override
|
||||||
|
Widget build(BuildContext context) {
|
||||||
|
return ElevatedButton(
|
||||||
|
onPressed: widget.onPressed,
|
||||||
|
style: ElevatedButton.styleFrom(
|
||||||
|
backgroundColor: widget.color?.withOpacity(0.9),
|
||||||
|
),
|
||||||
|
child: Text(
|
||||||
|
widget.text!,
|
||||||
|
style: TextStyle(color: widget.textcolor),
|
||||||
|
),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,33 @@
|
||||||
|
import 'package:flutter/cupertino.dart';
|
||||||
|
import 'package:flutter/material.dart';
|
||||||
|
import 'package:flutter/widgets.dart';
|
||||||
|
|
||||||
|
// ignore: must_be_immutable
|
||||||
|
class FloatingBtn extends StatefulWidget {
|
||||||
|
FloatingBtn({
|
||||||
|
this.height,
|
||||||
|
this.width,
|
||||||
|
required this.title,
|
||||||
|
this.onTap,
|
||||||
|
required this.icon,
|
||||||
|
});
|
||||||
|
|
||||||
|
double? height;
|
||||||
|
double? width;
|
||||||
|
String title;
|
||||||
|
VoidCallback? onTap;
|
||||||
|
IconData? icon;
|
||||||
|
|
||||||
|
@override
|
||||||
|
State<FloatingBtn> createState() => _FloatingBtnState();
|
||||||
|
}
|
||||||
|
|
||||||
|
class _FloatingBtnState extends State<FloatingBtn> {
|
||||||
|
@override
|
||||||
|
Widget build(BuildContext context) {
|
||||||
|
return FloatingActionButton(
|
||||||
|
onPressed: widget.onTap,
|
||||||
|
child: Icon(Icons.add),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,37 @@
|
||||||
|
import 'package:flutter/material.dart';
|
||||||
|
|
||||||
|
class IconTextRow extends StatelessWidget {
|
||||||
|
final IconData? icon;
|
||||||
|
final String? text;
|
||||||
|
final double iconSize;
|
||||||
|
final Color iconColor;
|
||||||
|
final double fontSize;
|
||||||
|
|
||||||
|
const IconTextRow({
|
||||||
|
Key? key,
|
||||||
|
this.icon,
|
||||||
|
required this.text,
|
||||||
|
this.iconSize = 20.0,
|
||||||
|
this.iconColor = Colors
|
||||||
|
.blue, // Default color, replace with your Constants.k2color if needed
|
||||||
|
this.fontSize = 16.0,
|
||||||
|
}) : super(key: key);
|
||||||
|
|
||||||
|
@override
|
||||||
|
Widget build(BuildContext context) {
|
||||||
|
return Row(
|
||||||
|
children: [
|
||||||
|
// Icon(
|
||||||
|
// icon,
|
||||||
|
// size: iconSize,
|
||||||
|
// color: iconColor,
|
||||||
|
// ),
|
||||||
|
SizedBox(width: 8.0),
|
||||||
|
Text(
|
||||||
|
text ?? '', // Show empty string if text is null
|
||||||
|
style: TextStyle(fontSize: fontSize),
|
||||||
|
),
|
||||||
|
],
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,161 @@
|
||||||
|
import 'package:flutter/material.dart';
|
||||||
|
import 'package:konectar_events/contacts_module/custom_widget/clickable_row.dart';
|
||||||
|
import 'package:konectar_events/contacts_module/custom_widget/custiom_profilepic.dart';
|
||||||
|
import 'package:konectar_events/contacts_module/custom_widget/custom_card.dart';
|
||||||
|
import 'package:konectar_events/contacts_module/custom_widget/text.dart';
|
||||||
|
import 'package:konectar_events/utils/appcolors.dart';
|
||||||
|
import 'package:url_launcher/url_launcher.dart';
|
||||||
|
|
||||||
|
import '../constants.dart';
|
||||||
|
|
||||||
|
class ProfileCard extends StatefulWidget {
|
||||||
|
final String? name;
|
||||||
|
final String? spl;
|
||||||
|
final String? imgurl;
|
||||||
|
final String? email;
|
||||||
|
final String? pno;
|
||||||
|
final String? address;
|
||||||
|
const ProfileCard(
|
||||||
|
{super.key,
|
||||||
|
this.name,
|
||||||
|
this.spl,
|
||||||
|
this.imgurl,
|
||||||
|
this.email,
|
||||||
|
this.pno,
|
||||||
|
this.address});
|
||||||
|
|
||||||
|
@override
|
||||||
|
State<ProfileCard> createState() => _ProfileCardState();
|
||||||
|
}
|
||||||
|
|
||||||
|
class _ProfileCardState extends State<ProfileCard> {
|
||||||
|
@override
|
||||||
|
Widget build(BuildContext context) {
|
||||||
|
return CustomCard(
|
||||||
|
elevation: 6,
|
||||||
|
color: AppColors.profilecard,
|
||||||
|
bradius: 28,
|
||||||
|
child: Column(
|
||||||
|
children: [
|
||||||
|
Padding(
|
||||||
|
padding: const EdgeInsets.only(
|
||||||
|
left: 15.0, right: 15.0, top: 15.0, bottom: 15.0),
|
||||||
|
child: Row(
|
||||||
|
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
||||||
|
children: [
|
||||||
|
Flexible(
|
||||||
|
flex: 7,
|
||||||
|
child: Column(
|
||||||
|
mainAxisAlignment: MainAxisAlignment.start,
|
||||||
|
crossAxisAlignment: CrossAxisAlignment.start,
|
||||||
|
children: [
|
||||||
|
Text1(
|
||||||
|
title: widget.name ?? " ",
|
||||||
|
txtcolor: Colors.white,
|
||||||
|
fontweight: FontWeight.bold,
|
||||||
|
txtfont: 18.0),
|
||||||
|
Text1(
|
||||||
|
title: widget.spl ?? "",
|
||||||
|
txtcolor: Colors.white,
|
||||||
|
fontweight: FontWeight.normal,
|
||||||
|
txtfont: 14.0),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
),
|
||||||
|
Flexible(
|
||||||
|
flex: 3,
|
||||||
|
child: Container(
|
||||||
|
child: CustomProfile(
|
||||||
|
imgstring: widget.imgurl,
|
||||||
|
fontsize: 12.0,
|
||||||
|
radius: 32,
|
||||||
|
name: widget.name,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
),
|
||||||
|
ClickRow(
|
||||||
|
icon: Icons.email,
|
||||||
|
text: widget.email ?? "",
|
||||||
|
onTap: () async {
|
||||||
|
await emailSend(widget.email);
|
||||||
|
},
|
||||||
|
),
|
||||||
|
SizedBox(
|
||||||
|
height: 8.0,
|
||||||
|
),
|
||||||
|
ClickRow(
|
||||||
|
icon: Icons.phone,
|
||||||
|
text: widget.pno ?? "",
|
||||||
|
onTap: () async {
|
||||||
|
await callinfo(widget.pno);
|
||||||
|
},
|
||||||
|
),
|
||||||
|
SizedBox(
|
||||||
|
height: 8.0,
|
||||||
|
),
|
||||||
|
ClickRow(
|
||||||
|
icon: Icons.location_pin,
|
||||||
|
text: widget.address ??
|
||||||
|
"Icahn School of Medicine at mount sinai, United States 580047",
|
||||||
|
onTap: _openMapsByAddress,
|
||||||
|
),
|
||||||
|
SizedBox(
|
||||||
|
height: 8.0,
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Future<void> _openMapsByAddress() async {
|
||||||
|
final address = 'Italy';
|
||||||
|
final Uri mapsUri = Uri(
|
||||||
|
scheme: 'https',
|
||||||
|
host: 'www.google.com',
|
||||||
|
path: 'maps/search/',
|
||||||
|
query: address,
|
||||||
|
);
|
||||||
|
|
||||||
|
if (!await launchUrl(mapsUri)) {
|
||||||
|
throw 'Could not launch $mapsUri';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Future<void> emailSend(email) async {
|
||||||
|
String? encodeQueryParameters(Map<String, String> params) {
|
||||||
|
return params.entries
|
||||||
|
.map((MapEntry<String, String> entry) =>
|
||||||
|
Uri.encodeComponent(entry.key) +
|
||||||
|
'=' +
|
||||||
|
Uri.encodeComponent(entry.value))
|
||||||
|
.join('&');
|
||||||
|
}
|
||||||
|
|
||||||
|
final Uri emailLaunchUri = Uri(
|
||||||
|
scheme: 'mailto',
|
||||||
|
path: email,
|
||||||
|
query: encodeQueryParameters(<String, String>{
|
||||||
|
'subject': 'Example Subject',
|
||||||
|
'body': 'Hello, this is a sample body text.',
|
||||||
|
}),
|
||||||
|
);
|
||||||
|
|
||||||
|
if (await launchUrl(emailLaunchUri)) {
|
||||||
|
launchUrl(emailLaunchUri);
|
||||||
|
} else {
|
||||||
|
throw 'Could not launch $emailLaunchUri';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Future<void> callinfo(pno) async {
|
||||||
|
final call = Uri.parse('tel:$pno');
|
||||||
|
if (await canLaunchUrl(call)) {
|
||||||
|
launchUrl(call);
|
||||||
|
} else {
|
||||||
|
throw 'Could not launch $call';
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,161 @@
|
||||||
|
import 'package:flutter/material.dart';
|
||||||
|
import 'package:konectar_events/contacts_module/custom_widget/clickable_row.dart';
|
||||||
|
import 'package:konectar_events/contacts_module/custom_widget/custiom_profilepic.dart';
|
||||||
|
import 'package:konectar_events/contacts_module/custom_widget/custom_card.dart';
|
||||||
|
import 'package:konectar_events/contacts_module/custom_widget/text.dart';
|
||||||
|
import 'package:konectar_events/utils/appcolors.dart';
|
||||||
|
import 'package:url_launcher/url_launcher.dart';
|
||||||
|
|
||||||
|
import '../constants.dart';
|
||||||
|
|
||||||
|
class ProfileCard extends StatefulWidget {
|
||||||
|
final String? name;
|
||||||
|
final String? spl;
|
||||||
|
final String? imgurl;
|
||||||
|
final String? email;
|
||||||
|
final String? pno;
|
||||||
|
final String? address;
|
||||||
|
const ProfileCard(
|
||||||
|
{super.key,
|
||||||
|
this.name,
|
||||||
|
this.spl,
|
||||||
|
this.imgurl,
|
||||||
|
this.email,
|
||||||
|
this.pno,
|
||||||
|
this.address});
|
||||||
|
|
||||||
|
@override
|
||||||
|
State<ProfileCard> createState() => _ProfileCardState();
|
||||||
|
}
|
||||||
|
|
||||||
|
class _ProfileCardState extends State<ProfileCard> {
|
||||||
|
@override
|
||||||
|
Widget build(BuildContext context) {
|
||||||
|
return CustomCard(
|
||||||
|
elevation: 6,
|
||||||
|
color: AppColors.profilecard,
|
||||||
|
bradius: 28,
|
||||||
|
child: Column(
|
||||||
|
children: [
|
||||||
|
Padding(
|
||||||
|
padding: const EdgeInsets.only(
|
||||||
|
left: 15.0, right: 15.0, top: 15.0, bottom: 15.0),
|
||||||
|
child: Row(
|
||||||
|
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
||||||
|
children: [
|
||||||
|
Flexible(
|
||||||
|
flex: 7,
|
||||||
|
child: Column(
|
||||||
|
mainAxisAlignment: MainAxisAlignment.start,
|
||||||
|
crossAxisAlignment: CrossAxisAlignment.start,
|
||||||
|
children: [
|
||||||
|
Text1(
|
||||||
|
title: widget.name ?? " ",
|
||||||
|
txtcolor: Colors.white,
|
||||||
|
fontweight: FontWeight.bold,
|
||||||
|
txtfont: 18.0),
|
||||||
|
Text1(
|
||||||
|
title: widget.spl ?? "",
|
||||||
|
txtcolor: Colors.white,
|
||||||
|
fontweight: FontWeight.normal,
|
||||||
|
txtfont: 14.0),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
),
|
||||||
|
Flexible(
|
||||||
|
flex: 3,
|
||||||
|
child: Container(
|
||||||
|
child: CustomProfile(
|
||||||
|
imgstring: widget.imgurl,
|
||||||
|
fontsize: 12.0,
|
||||||
|
radius: 32,
|
||||||
|
name: widget.name,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
),
|
||||||
|
ClickRow(
|
||||||
|
icon: Icons.email,
|
||||||
|
text: widget.email ?? "",
|
||||||
|
onTap: () async {
|
||||||
|
await emailSend(widget.email);
|
||||||
|
},
|
||||||
|
),
|
||||||
|
SizedBox(
|
||||||
|
height: 8.0,
|
||||||
|
),
|
||||||
|
ClickRow(
|
||||||
|
icon: Icons.phone,
|
||||||
|
text: widget.pno ?? "",
|
||||||
|
onTap: () async {
|
||||||
|
await callinfo(widget.pno);
|
||||||
|
},
|
||||||
|
),
|
||||||
|
SizedBox(
|
||||||
|
height: 8.0,
|
||||||
|
),
|
||||||
|
ClickRow(
|
||||||
|
icon: Icons.location_pin,
|
||||||
|
text: widget.address ??
|
||||||
|
"Icahn School of Medicine at mount sinai, United States 580047",
|
||||||
|
onTap: _openMapsByAddress,
|
||||||
|
),
|
||||||
|
SizedBox(
|
||||||
|
height: 8.0,
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Future<void> _openMapsByAddress() async {
|
||||||
|
final address = 'Italy';
|
||||||
|
final Uri mapsUri = Uri(
|
||||||
|
scheme: 'https',
|
||||||
|
host: 'www.google.com',
|
||||||
|
path: 'maps/search/',
|
||||||
|
query: address,
|
||||||
|
);
|
||||||
|
|
||||||
|
if (!await launchUrl(mapsUri)) {
|
||||||
|
throw 'Could not launch $mapsUri';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Future<void> emailSend(email) async {
|
||||||
|
String? encodeQueryParameters(Map<String, String> params) {
|
||||||
|
return params.entries
|
||||||
|
.map((MapEntry<String, String> entry) =>
|
||||||
|
Uri.encodeComponent(entry.key) +
|
||||||
|
'=' +
|
||||||
|
Uri.encodeComponent(entry.value))
|
||||||
|
.join('&');
|
||||||
|
}
|
||||||
|
|
||||||
|
final Uri emailLaunchUri = Uri(
|
||||||
|
scheme: 'mailto',
|
||||||
|
path: email,
|
||||||
|
query: encodeQueryParameters(<String, String>{
|
||||||
|
'subject': 'Example Subject',
|
||||||
|
'body': 'Hello, this is a sample body text.',
|
||||||
|
}),
|
||||||
|
);
|
||||||
|
|
||||||
|
if (await launchUrl(emailLaunchUri)) {
|
||||||
|
launchUrl(emailLaunchUri);
|
||||||
|
} else {
|
||||||
|
throw 'Could not launch $emailLaunchUri';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Future<void> callinfo(pno) async {
|
||||||
|
final call = Uri.parse('tel:$pno');
|
||||||
|
if (await canLaunchUrl(call)) {
|
||||||
|
launchUrl(call);
|
||||||
|
} else {
|
||||||
|
throw 'Could not launch $call';
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,25 @@
|
||||||
|
import 'package:konectar_events/contacts_module/custom_widget/text.dart';
|
||||||
|
import 'package:flutter/material.dart';
|
||||||
|
import 'package:http_mock_adapter/http_mock_adapter.dart';
|
||||||
|
|
||||||
|
class Alert extends StatelessWidget {
|
||||||
|
Alert({super.key, required this.data, required this.onPressed});
|
||||||
|
String? data;
|
||||||
|
VoidCallbackAction? oidCallbackAction;
|
||||||
|
final void Function() onPressed;
|
||||||
|
|
||||||
|
@override
|
||||||
|
Widget build(BuildContext context) {
|
||||||
|
return AlertDialog(
|
||||||
|
title: Text1(
|
||||||
|
title: "Alert",
|
||||||
|
txtfont: 22.0,
|
||||||
|
),
|
||||||
|
content: Text1(
|
||||||
|
title: data!,
|
||||||
|
txtfont: 18.0,
|
||||||
|
),
|
||||||
|
actions: [TextButton(onPressed: onPressed, child: Text("Ok"))],
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,33 @@
|
||||||
|
import 'package:flutter/material.dart';
|
||||||
|
|
||||||
|
// ignore: must_be_immutable
|
||||||
|
class Text1 extends StatefulWidget {
|
||||||
|
Text1({
|
||||||
|
super.key,
|
||||||
|
required this.title,
|
||||||
|
this.txtcolor,
|
||||||
|
this.txtfont,
|
||||||
|
this.fontweight,
|
||||||
|
});
|
||||||
|
final String title;
|
||||||
|
Color? txtcolor;
|
||||||
|
double? txtfont;
|
||||||
|
FontWeight? fontweight;
|
||||||
|
|
||||||
|
@override
|
||||||
|
State<Text1> createState() => _Text1State();
|
||||||
|
}
|
||||||
|
|
||||||
|
class _Text1State extends State<Text1> {
|
||||||
|
@override
|
||||||
|
Widget build(BuildContext context) {
|
||||||
|
return Text(
|
||||||
|
widget.title,
|
||||||
|
softWrap: true,
|
||||||
|
style: TextStyle(
|
||||||
|
color: widget.txtcolor,
|
||||||
|
fontSize: widget.txtfont,
|
||||||
|
fontWeight: widget.fontweight),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,31 @@
|
||||||
|
import 'package:flutter/cupertino.dart';
|
||||||
|
import 'package:flutter/material.dart';
|
||||||
|
|
||||||
|
// ignore: must_be_immutable
|
||||||
|
class TxtField extends StatefulWidget {
|
||||||
|
TxtField(
|
||||||
|
{super.key,
|
||||||
|
required this.text,
|
||||||
|
this.voidCallback,
|
||||||
|
this.contentPadding,
|
||||||
|
this.icon,
|
||||||
|
this.border,
|
||||||
|
this.decoration});
|
||||||
|
|
||||||
|
final String? text;
|
||||||
|
final VoidCallback? voidCallback;
|
||||||
|
final Padding? contentPadding;
|
||||||
|
Icon? icon;
|
||||||
|
Border? border;
|
||||||
|
Decoration? decoration;
|
||||||
|
|
||||||
|
@override
|
||||||
|
State<TxtField> createState() => _TxtFieldState();
|
||||||
|
}
|
||||||
|
|
||||||
|
class _TxtFieldState extends State<TxtField> {
|
||||||
|
@override
|
||||||
|
Widget build(BuildContext context) {
|
||||||
|
return TextField();
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,390 @@
|
||||||
|
// import 'package:discover_module/storage_hive/kol_info/kol_info_model_hive.dart';
|
||||||
|
import 'package:hive_flutter/hive_flutter.dart';
|
||||||
|
|
||||||
|
class HiveFunctions {
|
||||||
|
// String userHiveBox="User Box";
|
||||||
|
// Box which will use to store the things
|
||||||
|
static final _contactbox = Hive.box("mycontact");
|
||||||
|
static var box1 = Hive.box('checkvalue');
|
||||||
|
|
||||||
|
static final apihcpdata = Hive.box("hcpdata");
|
||||||
|
|
||||||
|
static final apihcpdata123 = Hive.box('kolshive');
|
||||||
|
|
||||||
|
static createUser(Map data) {
|
||||||
|
_contactbox.add(data);
|
||||||
|
}
|
||||||
|
|
||||||
|
static List getAllUsers11() {
|
||||||
|
final data = _contactbox.keys.map((key) {
|
||||||
|
final value = _contactbox.get(key);
|
||||||
|
print("Checking_Name : $value");
|
||||||
|
return {
|
||||||
|
"inid": value["inid"],
|
||||||
|
"id": value["id"],
|
||||||
|
"name": value["name"],
|
||||||
|
"org": value["org"],
|
||||||
|
"addr": value["addr"],
|
||||||
|
"phone": value["phone"],
|
||||||
|
"phone_no": value["phone_no"],
|
||||||
|
"email": value["email"],
|
||||||
|
"summarry": value["summarry"],
|
||||||
|
"speciality": value["speciality"],
|
||||||
|
"sub_speciality": value["sub_speciality"],
|
||||||
|
"img_path": value["img_path"]
|
||||||
|
};
|
||||||
|
}).toList();
|
||||||
|
|
||||||
|
return data.reversed.toList();
|
||||||
|
}
|
||||||
|
|
||||||
|
static List getAllUsers() {
|
||||||
|
final data = _contactbox.keys.map((key) {
|
||||||
|
final value = _contactbox.get(key);
|
||||||
|
print("Checking_Name : $value");
|
||||||
|
return {
|
||||||
|
"id": value["id"],
|
||||||
|
"name": value["name"],
|
||||||
|
"org": value["org"],
|
||||||
|
"addr": value["addr"],
|
||||||
|
"phone": value["phone"],
|
||||||
|
"phone_no": value["phone_no"],
|
||||||
|
"email": value["email"],
|
||||||
|
"affiliations_count": value["affiliations_count"],
|
||||||
|
"events_count": value["events_count"],
|
||||||
|
"publications_count": value["publications_count"],
|
||||||
|
"trail_count": value["trail_count"],
|
||||||
|
"summarry": value["summarry"],
|
||||||
|
"license_no": value["license_no"],
|
||||||
|
"p_suffix": value["p_suffix"],
|
||||||
|
"speciality": value["speciality"],
|
||||||
|
"sub_speciality": value["sub_speciality"],
|
||||||
|
"img_path": value["img_path"]
|
||||||
|
};
|
||||||
|
}).toList();
|
||||||
|
|
||||||
|
return data;
|
||||||
|
}
|
||||||
|
|
||||||
|
static List getindexUsers() {
|
||||||
|
final data = _contactbox.keys.map((key) {
|
||||||
|
final value = _contactbox.get(key);
|
||||||
|
print("Checking_Name : $value");
|
||||||
|
return {
|
||||||
|
"name": value["name"],
|
||||||
|
"org": value["org"],
|
||||||
|
"adrr": value["adrr"],
|
||||||
|
"phone": value["phone"],
|
||||||
|
"Pphone": value["Pphone"],
|
||||||
|
"email": value["email"],
|
||||||
|
"affno": value["affno"],
|
||||||
|
"eveno": value["eveno"],
|
||||||
|
"pubno": value["pubno"],
|
||||||
|
"trailno": value["trailno"]
|
||||||
|
};
|
||||||
|
}).toList();
|
||||||
|
|
||||||
|
return data.reversed.toList();
|
||||||
|
}
|
||||||
|
//static deleteUser112(row) {}
|
||||||
|
|
||||||
|
static deleteUser11(id) async {
|
||||||
|
print("Hive_id: $id");
|
||||||
|
|
||||||
|
for (var entry in _contactbox.toMap().entries) {
|
||||||
|
var contactData = entry.value;
|
||||||
|
|
||||||
|
print("Selected_del_value: $contactData");
|
||||||
|
|
||||||
|
if (contactData['id'] == id) {
|
||||||
|
print("entry.keyentry.key: ${entry.key}.");
|
||||||
|
|
||||||
|
// Found the contact with the matching id
|
||||||
|
await _contactbox.delete(entry.key); // Delete by key
|
||||||
|
print("Record with id $id has been deleted.");
|
||||||
|
return; // Exit the function after deletion
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
static Future<void> deleteUser(int selectedremoveIndic) async {
|
||||||
|
print("storeddelData_id: ${selectedremoveIndic}");
|
||||||
|
|
||||||
|
// final userId = "some_user_id"; // Replace with the actual ID you want to query
|
||||||
|
final value = _contactbox.get(selectedremoveIndic - 1);
|
||||||
|
print("ValueeeGet: $value");
|
||||||
|
if (value == null) {
|
||||||
|
final value1 = _contactbox.get(selectedremoveIndic);
|
||||||
|
print("Valueee11Get: $value1");
|
||||||
|
print("UniqueId11 : ${value["inid"]}");
|
||||||
|
} else {
|
||||||
|
final value1 = _contactbox.get(2);
|
||||||
|
print("Valueee11Get: $value1");
|
||||||
|
print("UniqueId111 : ${value["inid"]}");
|
||||||
|
}
|
||||||
|
|
||||||
|
// print(await _contactbox.getAt(selectedremoveIndic));
|
||||||
|
|
||||||
|
// int data = selectedremoveIndic;
|
||||||
|
|
||||||
|
// final storeddelData = _contactbox.get(data);
|
||||||
|
// print("storeddelData_iss: $storeddelData");
|
||||||
|
|
||||||
|
// if (storeddelData != null) {
|
||||||
|
// print("I_amNotnull ${storeddelData["id"]}");
|
||||||
|
// _contactbox.deleteAt(storeddelData["id"]);
|
||||||
|
//}
|
||||||
|
// _hiveBox.delete(dataDel.id);
|
||||||
|
// _contactbox.deleteAt(selectedremoveIndic);
|
||||||
|
// final data = _contactbox.keys.map((_contactbox) {
|
||||||
|
// final value = _contactbox.get(selectedremoveIndic);
|
||||||
|
|
||||||
|
// print("Del_valuee_is: ${value}");
|
||||||
|
|
||||||
|
// });
|
||||||
|
}
|
||||||
|
|
||||||
|
// void deleteUser(String userId) {
|
||||||
|
// var _contactbox = Hive.box('contactBox');
|
||||||
|
|
||||||
|
// // Find the key corresponding to the userId
|
||||||
|
// for (var key in _contactbox.keys) {
|
||||||
|
// final value = _contactbox.get(key);
|
||||||
|
// if (value["id"] == userId) {
|
||||||
|
// _contactbox.delete(key);
|
||||||
|
// print("Deleted user with id: $userId");
|
||||||
|
// break; // Exit the loop once the item is deleted
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
|
||||||
|
// static void deleteUser(int selectedremoveIndic) {
|
||||||
|
// print("I_Am: selectedremoveIndic: ${selectedremoveIndic}");
|
||||||
|
// // final data = _contactbox.keys.map((key) {
|
||||||
|
// final value = _contactbox.get(selectedremoveIndic);
|
||||||
|
|
||||||
|
// _contactbox.deleteAt(selectedremoveIndic);
|
||||||
|
|
||||||
|
// // if (value["id"] == selectedremoveIndic) {
|
||||||
|
// // print("I_Am: selectedremoveIndicnew: ${value["name"]}");
|
||||||
|
// // }
|
||||||
|
// // });
|
||||||
|
// }
|
||||||
|
|
||||||
|
// static addno(int selectedRowId) {
|
||||||
|
// // final box1 = Hive.box("mycontact");
|
||||||
|
|
||||||
|
// print("SelectedStoredvaluessss: $selectedRowId");
|
||||||
|
|
||||||
|
// box1.add(selectedRowId);
|
||||||
|
// }
|
||||||
|
|
||||||
|
// static removeno(int selectedRowId) {
|
||||||
|
// // final box1 = Hive.box("mycontact");
|
||||||
|
|
||||||
|
// print("SelectedStoredvaluessss: $selectedRowId");
|
||||||
|
|
||||||
|
// box1.deleteAt(selectedRowId);
|
||||||
|
// }
|
||||||
|
|
||||||
|
// static getno() {
|
||||||
|
// // final box1 = Hive.box("mycontact");
|
||||||
|
|
||||||
|
// return box1.values;
|
||||||
|
// }
|
||||||
|
|
||||||
|
static storehcpdata(Map data) {
|
||||||
|
apihcpdata.add(data);
|
||||||
|
}
|
||||||
|
|
||||||
|
static gethcpdata() {
|
||||||
|
return apihcpdata.values.toList();
|
||||||
|
}
|
||||||
|
|
||||||
|
static List getindexUser(String query) {
|
||||||
|
//static getindexUser(String text) async {
|
||||||
|
print("Text_issssssS: $query");
|
||||||
|
|
||||||
|
final value = _contactbox.values.toList();
|
||||||
|
print("Checking_Name_Offline_Searchh : ${value}");
|
||||||
|
|
||||||
|
// final offlinesearch1 = value.map((e) => e["name"].toString()).toList();
|
||||||
|
|
||||||
|
// print("Checking_offlinesearch1 : ${offlinesearch1}");
|
||||||
|
|
||||||
|
List data = value
|
||||||
|
.where((hcp) =>
|
||||||
|
hcp['name'].toLowerCase().contains(query.toLowerCase()) ||
|
||||||
|
hcp['speciality'].toLowerCase().contains(query.toLowerCase()) ||
|
||||||
|
hcp['addr'].toLowerCase().contains(query.toLowerCase()))
|
||||||
|
.toList();
|
||||||
|
|
||||||
|
print("Checking_Name_data : ${data}");
|
||||||
|
|
||||||
|
// print("Checking_Name : ${value.contains(text)}");
|
||||||
|
// final dataa = value.get(text);
|
||||||
|
|
||||||
|
// return {
|
||||||
|
// "name": value["name"],
|
||||||
|
// "org": value["org"],
|
||||||
|
// "adrr": value["adrr"],
|
||||||
|
// "phone": value["phone"],
|
||||||
|
// "Pphone": value["Pphone"],
|
||||||
|
// "email": value["email"],
|
||||||
|
// "affno": value["affno"],
|
||||||
|
// "eveno": value["eveno"],
|
||||||
|
// "pubno": value["pubno"],
|
||||||
|
// "trailno": value["trailno"]
|
||||||
|
// };
|
||||||
|
// }).toList();
|
||||||
|
|
||||||
|
// print("Check_data_is: $data");
|
||||||
|
return data.toList();
|
||||||
|
}
|
||||||
|
|
||||||
|
static getuser(int selectedremoveIndic) {
|
||||||
|
final data = _contactbox.keys.map((selectedremoveIndic) {
|
||||||
|
final value = _contactbox.get(selectedremoveIndic);
|
||||||
|
print("Checking_Name111 : $value");
|
||||||
|
return {
|
||||||
|
"inid": value["inid"],
|
||||||
|
"id": value["id"],
|
||||||
|
"name": value["name"],
|
||||||
|
"org": value["org"],
|
||||||
|
"addr": value["addr"],
|
||||||
|
"phone": value["phone"],
|
||||||
|
"phone_no": value["phone_no"],
|
||||||
|
"email": value["email"],
|
||||||
|
"summarry": value["summarry"],
|
||||||
|
"speciality": value["speciality"],
|
||||||
|
"sub_speciality": value["sub_speciality"],
|
||||||
|
"img_path": value["img_path"]
|
||||||
|
};
|
||||||
|
}).toList();
|
||||||
|
|
||||||
|
return data;
|
||||||
|
}
|
||||||
|
|
||||||
|
static getAllhcpdata(String? option) {
|
||||||
|
List myhcpname = _contactbox.values.toList();
|
||||||
|
|
||||||
|
if (option == "HCP Name") {
|
||||||
|
return myhcpname.map((e) => e["name"].toString()).toList();
|
||||||
|
} else {
|
||||||
|
return myhcpname.map((e) => e["speciality"].toString()).toList();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
static List OfflineStored_getindexUser(String query) {
|
||||||
|
//static getindexUser(String text) async {
|
||||||
|
|
||||||
|
print("Text_issssssS: $query");
|
||||||
|
|
||||||
|
final value = apihcpdata123.values.toList();
|
||||||
|
print("Checking_Name_Offline_Searchh : ${value}");
|
||||||
|
|
||||||
|
// final offlinesearch1 = value.map((e) => e["name"].toString()).toList();
|
||||||
|
|
||||||
|
// print("Checking_offlinesearch1 : ${offlinesearch1}");
|
||||||
|
|
||||||
|
List data = value
|
||||||
|
.where((hcp) =>
|
||||||
|
hcp['name'].toLowerCase().contains(query.toLowerCase()) ||
|
||||||
|
// (hcp['speciality'].toLowerCase().contains(query.toLowerCase()) ??
|
||||||
|
// hcp['spl'].toLowerCase().contains(query.toLowerCase())) ||
|
||||||
|
|
||||||
|
hcp['speciality'].toLowerCase().contains(query.toLowerCase()) ||
|
||||||
|
hcp['addr'].toLowerCase().contains(query.toLowerCase()))
|
||||||
|
.toList();
|
||||||
|
|
||||||
|
print("Checking_Name_data : ${data}");
|
||||||
|
|
||||||
|
// print("Checking_Name : ${value.contains(text)}");
|
||||||
|
// final dataa = value.get(text);
|
||||||
|
|
||||||
|
// return {
|
||||||
|
// "name": value["name"],
|
||||||
|
// "org": value["org"],
|
||||||
|
// "adrr": value["adrr"],
|
||||||
|
// "phone": value["phone"],
|
||||||
|
// "Pphone": value["Pphone"],
|
||||||
|
// "email": value["email"],
|
||||||
|
// "affno": value["affno"],
|
||||||
|
// "eveno": value["eveno"],
|
||||||
|
// "pubno": value["pubno"],
|
||||||
|
// "trailno": value["trailno"]
|
||||||
|
// };
|
||||||
|
// }).toList();
|
||||||
|
|
||||||
|
// print("Check_data_is: $data");
|
||||||
|
return data.toList();
|
||||||
|
}
|
||||||
|
|
||||||
|
// static void savemyContact(List<String> selectedIndices, [List displayedHCPList]) async {
|
||||||
|
// print("Iam selectedd $selectedIndices");
|
||||||
|
|
||||||
|
// for (int i = 0; i < selectedIndices.length; i++) {
|
||||||
|
// Map<String, dynamic>? row = await findRecordById1(selectedIndices[i]);
|
||||||
|
|
||||||
|
// print("StoringgggMyContactneww_isss_isss:Row $row");
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
|
||||||
|
// Map<String, dynamic> findRecordById(String selectedIndic) {
|
||||||
|
// final list = _contactbox.values.toList();
|
||||||
|
// }
|
||||||
|
|
||||||
|
static Map<String, dynamic>? findRecordById1(String selectedIndic) {
|
||||||
|
final list = _contactbox.values.toList();
|
||||||
|
return list
|
||||||
|
.firstWhere((element) => element['id'] == int.parse(selectedIndic));
|
||||||
|
}
|
||||||
|
|
||||||
|
static savemyContact(Map<String, dynamic> row) async {
|
||||||
|
print("CheckingRowww ${row!["email"]}");
|
||||||
|
|
||||||
|
final value1 = await _contactbox.values.toList();
|
||||||
|
|
||||||
|
List value11 = await value1
|
||||||
|
.where((element) => element["email"] == row["email"])
|
||||||
|
.toList();
|
||||||
|
|
||||||
|
print("Getted_valueee: ${value11}");
|
||||||
|
if (value11.isEmpty) {
|
||||||
|
print("Getted_valueee_imaEmpty");
|
||||||
|
|
||||||
|
Map<String, dynamic> data = await {
|
||||||
|
"id": row["id"],
|
||||||
|
"name": row["name"],
|
||||||
|
"org": row["org"],
|
||||||
|
"addr": row["addr"],
|
||||||
|
"phone": row["phone"],
|
||||||
|
"phone_no": row["phone_no"],
|
||||||
|
"email": row["email"],
|
||||||
|
"summarry": row["summarry"],
|
||||||
|
"speciality": row["speciality"],
|
||||||
|
"sub_speciality": row["sub_speciality"],
|
||||||
|
"img_path": row["img_path"]
|
||||||
|
};
|
||||||
|
print("Inserting_data_is: $data");
|
||||||
|
|
||||||
|
await _contactbox.put(await getNextAutoIncrementValue(), data);
|
||||||
|
|
||||||
|
// await _contactbox.add(row);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
static Future<int> getNextAutoIncrementValue() async {
|
||||||
|
var counterBox = await Hive.openBox<int>('counterBox');
|
||||||
|
if (!counterBox.containsKey('counter')) {
|
||||||
|
counterBox.put('counter', 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
int? counter = counterBox.get('counter');
|
||||||
|
counterBox.put('counter', counter! + 1);
|
||||||
|
|
||||||
|
await counterBox.close();
|
||||||
|
|
||||||
|
return counter;
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,63 @@
|
||||||
|
// To parse this JSON data, do
|
||||||
|
//
|
||||||
|
// final affiliations = affiliationsFromJson(jsonString);
|
||||||
|
|
||||||
|
import 'dart:convert';
|
||||||
|
|
||||||
|
List<Affiliations> affiliationsFromJson(String str) => List<Affiliations>.from(
|
||||||
|
json.decode(str).map((x) => Affiliations.fromJson(x)));
|
||||||
|
|
||||||
|
String affiliationsToJson(List<Affiliations> data) =>
|
||||||
|
json.encode(List<dynamic>.from(data.map((x) => x.toJson())));
|
||||||
|
|
||||||
|
class Affiliations {
|
||||||
|
int id;
|
||||||
|
int userId;
|
||||||
|
String orgName;
|
||||||
|
String dept;
|
||||||
|
String role;
|
||||||
|
String timeFrame;
|
||||||
|
String orgType;
|
||||||
|
String emgType;
|
||||||
|
dynamic createdAt;
|
||||||
|
dynamic updatedAt;
|
||||||
|
|
||||||
|
Affiliations({
|
||||||
|
required this.id,
|
||||||
|
required this.userId,
|
||||||
|
required this.orgName,
|
||||||
|
required this.dept,
|
||||||
|
required this.role,
|
||||||
|
required this.timeFrame,
|
||||||
|
required this.orgType,
|
||||||
|
required this.emgType,
|
||||||
|
required this.createdAt,
|
||||||
|
required this.updatedAt,
|
||||||
|
});
|
||||||
|
|
||||||
|
factory Affiliations.fromJson(Map<String, dynamic> json) => Affiliations(
|
||||||
|
id: json["id"],
|
||||||
|
userId: json["user_id"],
|
||||||
|
orgName: json["org_name"],
|
||||||
|
dept: json["dept"],
|
||||||
|
role: json["role"],
|
||||||
|
timeFrame: json["time_frame"],
|
||||||
|
orgType: json["org_type"],
|
||||||
|
emgType: json["emg_type"],
|
||||||
|
createdAt: json["created_at"],
|
||||||
|
updatedAt: json["updated_at"],
|
||||||
|
);
|
||||||
|
|
||||||
|
Map<String, dynamic> toJson() => {
|
||||||
|
"id": id,
|
||||||
|
"user_id": userId,
|
||||||
|
"org_name": orgName,
|
||||||
|
"dept": dept,
|
||||||
|
"role": role,
|
||||||
|
"time_frame": timeFrame,
|
||||||
|
"org_type": orgType,
|
||||||
|
"emg_type": emgType,
|
||||||
|
"created_at": createdAt,
|
||||||
|
"updated_at": updatedAt,
|
||||||
|
};
|
||||||
|
}
|
|
@ -0,0 +1,59 @@
|
||||||
|
// To parse this JSON data, do
|
||||||
|
//
|
||||||
|
// final awa = awaFromJson(jsonString);
|
||||||
|
|
||||||
|
import 'dart:convert';
|
||||||
|
|
||||||
|
List<Awa> awaFromJson(String str) =>
|
||||||
|
List<Awa>.from(json.decode(str).map((x) => Awa.fromJson(x)));
|
||||||
|
|
||||||
|
String awaToJson(List<Awa> data) =>
|
||||||
|
json.encode(List<dynamic>.from(data.map((x) => x.toJson())));
|
||||||
|
|
||||||
|
class Awa {
|
||||||
|
int id;
|
||||||
|
int userId;
|
||||||
|
String educationType;
|
||||||
|
String institutionName;
|
||||||
|
String degree;
|
||||||
|
String specialty;
|
||||||
|
String timeFrame;
|
||||||
|
String url1;
|
||||||
|
String url2;
|
||||||
|
|
||||||
|
Awa({
|
||||||
|
required this.id,
|
||||||
|
required this.userId,
|
||||||
|
required this.educationType,
|
||||||
|
required this.institutionName,
|
||||||
|
required this.degree,
|
||||||
|
required this.specialty,
|
||||||
|
required this.timeFrame,
|
||||||
|
required this.url1,
|
||||||
|
required this.url2,
|
||||||
|
});
|
||||||
|
|
||||||
|
factory Awa.fromJson(Map<String, dynamic> json) => Awa(
|
||||||
|
id: json["id"],
|
||||||
|
userId: json["user_id"],
|
||||||
|
educationType: json["Education Type"],
|
||||||
|
institutionName: json["Institution Name"],
|
||||||
|
degree: json["Degree"],
|
||||||
|
specialty: json["Specialty"],
|
||||||
|
timeFrame: json["Time Frame"],
|
||||||
|
url1: json["Url1"],
|
||||||
|
url2: json["Url2"],
|
||||||
|
);
|
||||||
|
|
||||||
|
Map<String, dynamic> toJson() => {
|
||||||
|
"id": id,
|
||||||
|
"user_id": userId,
|
||||||
|
"Education Type": educationType,
|
||||||
|
"Institution Name": institutionName,
|
||||||
|
"Degree": degree,
|
||||||
|
"Specialty": specialty,
|
||||||
|
"Time Frame": timeFrame,
|
||||||
|
"Url1": url1,
|
||||||
|
"Url2": url2,
|
||||||
|
};
|
||||||
|
}
|
|
@ -0,0 +1,59 @@
|
||||||
|
// To parse this JSON data, do
|
||||||
|
//
|
||||||
|
// final cer = cerFromJson(jsonString);
|
||||||
|
|
||||||
|
import 'dart:convert';
|
||||||
|
|
||||||
|
List<Cer> cerFromJson(String str) =>
|
||||||
|
List<Cer>.from(json.decode(str).map((x) => Cer.fromJson(x)));
|
||||||
|
|
||||||
|
String cerToJson(List<Cer> data) =>
|
||||||
|
json.encode(List<dynamic>.from(data.map((x) => x.toJson())));
|
||||||
|
|
||||||
|
class Cer {
|
||||||
|
int id;
|
||||||
|
int userId;
|
||||||
|
String educationType;
|
||||||
|
String institutionName;
|
||||||
|
String degree;
|
||||||
|
String specialty;
|
||||||
|
int timeFrame;
|
||||||
|
String url1;
|
||||||
|
String url2;
|
||||||
|
|
||||||
|
Cer({
|
||||||
|
required this.id,
|
||||||
|
required this.userId,
|
||||||
|
required this.educationType,
|
||||||
|
required this.institutionName,
|
||||||
|
required this.degree,
|
||||||
|
required this.specialty,
|
||||||
|
required this.timeFrame,
|
||||||
|
required this.url1,
|
||||||
|
required this.url2,
|
||||||
|
});
|
||||||
|
|
||||||
|
factory Cer.fromJson(Map<String, dynamic> json) => Cer(
|
||||||
|
id: json["id"],
|
||||||
|
userId: json["user_id"],
|
||||||
|
educationType: json["Education Type"],
|
||||||
|
institutionName: json["Institution Name"],
|
||||||
|
degree: json["Degree"],
|
||||||
|
specialty: json["Specialty"],
|
||||||
|
timeFrame: json["Time Frame"],
|
||||||
|
url1: json["Url1"],
|
||||||
|
url2: json["Url2"],
|
||||||
|
);
|
||||||
|
|
||||||
|
Map<String, dynamic> toJson() => {
|
||||||
|
"id": id,
|
||||||
|
"user_id": userId,
|
||||||
|
"Education Type": educationType,
|
||||||
|
"Institution Name": institutionName,
|
||||||
|
"Degree": degree,
|
||||||
|
"Specialty": specialty,
|
||||||
|
"Time Frame": timeFrame,
|
||||||
|
"Url1": url1,
|
||||||
|
"Url2": url2,
|
||||||
|
};
|
||||||
|
}
|
|
@ -0,0 +1,51 @@
|
||||||
|
// To parse this JSON data, do
|
||||||
|
//
|
||||||
|
// final edu = eduFromJson(jsonString);
|
||||||
|
|
||||||
|
import 'dart:convert';
|
||||||
|
|
||||||
|
List<Edu> eduFromJson(String str) =>
|
||||||
|
List<Edu>.from(json.decode(str).map((x) => Edu.fromJson(x)));
|
||||||
|
|
||||||
|
String eduToJson(List<Edu> data) =>
|
||||||
|
json.encode(List<dynamic>.from(data.map((x) => x.toJson())));
|
||||||
|
|
||||||
|
class Edu {
|
||||||
|
int id;
|
||||||
|
int userId;
|
||||||
|
String educationType;
|
||||||
|
String institutionName;
|
||||||
|
String degree;
|
||||||
|
String specialty;
|
||||||
|
int timeFrame;
|
||||||
|
|
||||||
|
Edu({
|
||||||
|
required this.id,
|
||||||
|
required this.userId,
|
||||||
|
required this.educationType,
|
||||||
|
required this.institutionName,
|
||||||
|
required this.degree,
|
||||||
|
required this.specialty,
|
||||||
|
required this.timeFrame,
|
||||||
|
});
|
||||||
|
|
||||||
|
factory Edu.fromJson(Map<String, dynamic> json) => Edu(
|
||||||
|
id: json["id"],
|
||||||
|
userId: json["user_id"],
|
||||||
|
educationType: json["Education Type"],
|
||||||
|
institutionName: json["Institution Name"],
|
||||||
|
degree: json["Degree"],
|
||||||
|
specialty: json["Specialty"],
|
||||||
|
timeFrame: json["Time Frame"],
|
||||||
|
);
|
||||||
|
|
||||||
|
Map<String, dynamic> toJson() => {
|
||||||
|
"id": id,
|
||||||
|
"user_id": userId,
|
||||||
|
"Education Type": educationType,
|
||||||
|
"Institution Name": institutionName,
|
||||||
|
"Degree": degree,
|
||||||
|
"Specialty": specialty,
|
||||||
|
"Time Frame": timeFrame,
|
||||||
|
};
|
||||||
|
}
|
|
@ -0,0 +1,39 @@
|
||||||
|
// To parse this JSON data, do
|
||||||
|
//
|
||||||
|
// final email = emailFromJson(jsonString);
|
||||||
|
|
||||||
|
import 'dart:convert';
|
||||||
|
|
||||||
|
List<Email> emailFromJson(String str) =>
|
||||||
|
List<Email>.from(json.decode(str).map((x) => Email.fromJson(x)));
|
||||||
|
|
||||||
|
String emailToJson(List<Email> data) =>
|
||||||
|
json.encode(List<dynamic>.from(data.map((x) => x.toJson())));
|
||||||
|
|
||||||
|
class Email {
|
||||||
|
int id;
|
||||||
|
int userId;
|
||||||
|
String emailType;
|
||||||
|
String email;
|
||||||
|
|
||||||
|
Email({
|
||||||
|
required this.id,
|
||||||
|
required this.userId,
|
||||||
|
required this.emailType,
|
||||||
|
required this.email,
|
||||||
|
});
|
||||||
|
|
||||||
|
factory Email.fromJson(Map<String, dynamic> json) => Email(
|
||||||
|
id: json["id"],
|
||||||
|
userId: json["user_id"],
|
||||||
|
emailType: json["Email Type"],
|
||||||
|
email: json["Email"],
|
||||||
|
);
|
||||||
|
|
||||||
|
Map<String, dynamic> toJson() => {
|
||||||
|
"id": id,
|
||||||
|
"user_id": userId,
|
||||||
|
"Email Type": emailType,
|
||||||
|
"Email": email,
|
||||||
|
};
|
||||||
|
}
|
|
@ -0,0 +1,59 @@
|
||||||
|
// To parse this JSON data, do
|
||||||
|
//
|
||||||
|
// final events = eventsFromJson(jsonString);
|
||||||
|
|
||||||
|
import 'dart:convert';
|
||||||
|
|
||||||
|
List<Events> eventsFromJson(String str) =>
|
||||||
|
List<Events>.from(json.decode(str).map((x) => Events.fromJson(x)));
|
||||||
|
|
||||||
|
String eventsToJson(List<Events> data) =>
|
||||||
|
json.encode(List<dynamic>.from(data.map((x) => x.toJson())));
|
||||||
|
|
||||||
|
class Events {
|
||||||
|
int id;
|
||||||
|
int userId;
|
||||||
|
String eventName;
|
||||||
|
String sessionType;
|
||||||
|
String topic;
|
||||||
|
String role;
|
||||||
|
DateTime? createdAt;
|
||||||
|
DateTime? updatedAt;
|
||||||
|
|
||||||
|
Events({
|
||||||
|
required this.id,
|
||||||
|
required this.userId,
|
||||||
|
required this.eventName,
|
||||||
|
required this.sessionType,
|
||||||
|
required this.topic,
|
||||||
|
required this.role,
|
||||||
|
required this.createdAt,
|
||||||
|
required this.updatedAt,
|
||||||
|
});
|
||||||
|
|
||||||
|
factory Events.fromJson(Map<String, dynamic> json) => Events(
|
||||||
|
id: json["id"],
|
||||||
|
userId: json["user_id"],
|
||||||
|
eventName: json["event_name"],
|
||||||
|
sessionType: json["session_type"],
|
||||||
|
topic: json["topic"],
|
||||||
|
role: json["role"],
|
||||||
|
createdAt: json["created_at"] == null
|
||||||
|
? null
|
||||||
|
: DateTime.parse(json["created_at"]),
|
||||||
|
updatedAt: json["updated_at"] == null
|
||||||
|
? null
|
||||||
|
: DateTime.parse(json["updated_at"]),
|
||||||
|
);
|
||||||
|
|
||||||
|
Map<String, dynamic> toJson() => {
|
||||||
|
"id": id,
|
||||||
|
"user_id": userId,
|
||||||
|
"event_name": eventName,
|
||||||
|
"session_type": sessionType,
|
||||||
|
"topic": topic,
|
||||||
|
"role": role,
|
||||||
|
"created_at": createdAt?.toIso8601String(),
|
||||||
|
"updated_at": updatedAt?.toIso8601String(),
|
||||||
|
};
|
||||||
|
}
|
|
@ -0,0 +1,99 @@
|
||||||
|
// To parse this JSON data, do
|
||||||
|
//
|
||||||
|
// final table = tableFromJson(jsonString);
|
||||||
|
|
||||||
|
import 'dart:convert';
|
||||||
|
|
||||||
|
List<Table> tableFromJson(String str) =>
|
||||||
|
List<Table>.from(json.decode(str).map((x) => Table.fromJson(x)));
|
||||||
|
|
||||||
|
String tableToJson(List<Table> data) =>
|
||||||
|
json.encode(List<dynamic>.from(data.map((x) => x.toJson())));
|
||||||
|
|
||||||
|
class Table {
|
||||||
|
int id;
|
||||||
|
String name;
|
||||||
|
String email;
|
||||||
|
DateTime emailVerifiedAt;
|
||||||
|
String summarry;
|
||||||
|
String addr;
|
||||||
|
int licenseNo;
|
||||||
|
String pSuffix;
|
||||||
|
String speciality;
|
||||||
|
String subSpeciality;
|
||||||
|
int phoneNo;
|
||||||
|
int rank;
|
||||||
|
int score;
|
||||||
|
DateTime? createdAt;
|
||||||
|
DateTime? updatedAt;
|
||||||
|
int eventsCount;
|
||||||
|
int affiliationsCount;
|
||||||
|
int publicationsCount;
|
||||||
|
|
||||||
|
Table({
|
||||||
|
required this.id,
|
||||||
|
required this.name,
|
||||||
|
required this.email,
|
||||||
|
required this.emailVerifiedAt,
|
||||||
|
required this.summarry,
|
||||||
|
required this.addr,
|
||||||
|
required this.licenseNo,
|
||||||
|
required this.pSuffix,
|
||||||
|
required this.speciality,
|
||||||
|
required this.subSpeciality,
|
||||||
|
required this.phoneNo,
|
||||||
|
required this.rank,
|
||||||
|
required this.score,
|
||||||
|
required this.createdAt,
|
||||||
|
required this.updatedAt,
|
||||||
|
required this.eventsCount,
|
||||||
|
required this.affiliationsCount,
|
||||||
|
required this.publicationsCount,
|
||||||
|
});
|
||||||
|
|
||||||
|
factory Table.fromJson(Map<String, dynamic> json) => Table(
|
||||||
|
id: json["id"],
|
||||||
|
name: json["name"],
|
||||||
|
email: json["email"],
|
||||||
|
emailVerifiedAt: DateTime.parse(json["email_verified_at"]),
|
||||||
|
summarry: json["summarry"],
|
||||||
|
addr: json["addr"],
|
||||||
|
licenseNo: json["license_no"],
|
||||||
|
pSuffix: json["p_suffix"],
|
||||||
|
speciality: json["speciality"],
|
||||||
|
subSpeciality: json["sub_speciality"],
|
||||||
|
phoneNo: json["phone_no"],
|
||||||
|
rank: json["rank"],
|
||||||
|
score: json["score"],
|
||||||
|
createdAt: json["created_at"] == null
|
||||||
|
? null
|
||||||
|
: DateTime.parse(json["created_at"]),
|
||||||
|
updatedAt: json["updated_at"] == null
|
||||||
|
? null
|
||||||
|
: DateTime.parse(json["updated_at"]),
|
||||||
|
eventsCount: json["events_count"],
|
||||||
|
affiliationsCount: json["affiliations_count"],
|
||||||
|
publicationsCount: json["publications_count"],
|
||||||
|
);
|
||||||
|
|
||||||
|
Map<String, dynamic> toJson() => {
|
||||||
|
"id": id,
|
||||||
|
"name": name,
|
||||||
|
"email": email,
|
||||||
|
"email_verified_at": emailVerifiedAt.toIso8601String(),
|
||||||
|
"summarry": summarry,
|
||||||
|
"addr": addr,
|
||||||
|
"license_no": licenseNo,
|
||||||
|
"p_suffix": pSuffix,
|
||||||
|
"speciality": speciality,
|
||||||
|
"sub_speciality": subSpeciality,
|
||||||
|
"phone_no": phoneNo,
|
||||||
|
"rank": rank,
|
||||||
|
"score": score,
|
||||||
|
"created_at": createdAt?.toIso8601String(),
|
||||||
|
"updated_at": updatedAt?.toIso8601String(),
|
||||||
|
"events_count": eventsCount,
|
||||||
|
"affiliations_count": affiliationsCount,
|
||||||
|
"publications_count": publicationsCount,
|
||||||
|
};
|
||||||
|
}
|
|
@ -0,0 +1,122 @@
|
||||||
|
// To parse this JSON data, do
|
||||||
|
//
|
||||||
|
// final dataCertificate = dataCertificateFromJson(jsonString);
|
||||||
|
|
||||||
|
import 'dart:convert';
|
||||||
|
|
||||||
|
DataCertificate dataCertificateFromJson(String str) =>
|
||||||
|
DataCertificate.fromJson(json.decode(str));
|
||||||
|
|
||||||
|
String dataCertificateToJson(DataCertificate data) =>
|
||||||
|
json.encode(data.toJson());
|
||||||
|
|
||||||
|
class DataCertificate {
|
||||||
|
int? code;
|
||||||
|
String? message;
|
||||||
|
List<CertificateList>? data;
|
||||||
|
int? lastPage;
|
||||||
|
int? lastRow;
|
||||||
|
int? count;
|
||||||
|
|
||||||
|
DataCertificate({
|
||||||
|
this.code,
|
||||||
|
this.message,
|
||||||
|
this.data,
|
||||||
|
this.lastPage,
|
||||||
|
this.lastRow,
|
||||||
|
this.count,
|
||||||
|
});
|
||||||
|
|
||||||
|
factory DataCertificate.fromJson(Map<String, dynamic> json) =>
|
||||||
|
DataCertificate(
|
||||||
|
code: json["code"],
|
||||||
|
message: json["message"],
|
||||||
|
data: json["data"] == null
|
||||||
|
? []
|
||||||
|
: List<CertificateList>.from(
|
||||||
|
json["data"]!.map((x) => CertificateList.fromJson(x))),
|
||||||
|
lastPage: json["last_page"],
|
||||||
|
lastRow: json["last_row"],
|
||||||
|
count: json["count"],
|
||||||
|
);
|
||||||
|
|
||||||
|
Map<String, dynamic> toJson() => {
|
||||||
|
"code": code,
|
||||||
|
"message": message,
|
||||||
|
"data": data == null
|
||||||
|
? []
|
||||||
|
: List<dynamic>.from(data!.map((x) => x.toJson())),
|
||||||
|
"last_page": lastPage,
|
||||||
|
"last_row": lastRow,
|
||||||
|
"count": count,
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
class CertificateList {
|
||||||
|
String? uniqueId;
|
||||||
|
int? kolId;
|
||||||
|
int? clientId;
|
||||||
|
int? organizationId;
|
||||||
|
dynamic specialty;
|
||||||
|
String? startDate;
|
||||||
|
String? endDate;
|
||||||
|
String? url;
|
||||||
|
dynamic switchedUserId;
|
||||||
|
String? createdByUser;
|
||||||
|
String? updatedByUser;
|
||||||
|
DateTime? formattedCreatedAt;
|
||||||
|
DateTime? formattedUpdatedAt;
|
||||||
|
|
||||||
|
CertificateList({
|
||||||
|
this.uniqueId,
|
||||||
|
this.kolId,
|
||||||
|
this.clientId,
|
||||||
|
this.organizationId,
|
||||||
|
this.specialty,
|
||||||
|
this.startDate,
|
||||||
|
this.endDate,
|
||||||
|
this.url,
|
||||||
|
this.switchedUserId,
|
||||||
|
this.createdByUser,
|
||||||
|
this.updatedByUser,
|
||||||
|
this.formattedCreatedAt,
|
||||||
|
this.formattedUpdatedAt,
|
||||||
|
});
|
||||||
|
|
||||||
|
factory CertificateList.fromJson(Map<String, dynamic> json) =>
|
||||||
|
CertificateList(
|
||||||
|
uniqueId: json["unique_id"],
|
||||||
|
kolId: json["kol_id"],
|
||||||
|
clientId: json["client_id"],
|
||||||
|
organizationId: json["organization_id"],
|
||||||
|
specialty: json["specialty"],
|
||||||
|
startDate: json["start_date"],
|
||||||
|
endDate: json["end_date"],
|
||||||
|
url: json["url"],
|
||||||
|
switchedUserId: json["switched_user_id"],
|
||||||
|
createdByUser: json["created_by_user"],
|
||||||
|
updatedByUser: json["updated_by_user"],
|
||||||
|
formattedCreatedAt: json["formatted_created_at"] == null
|
||||||
|
? null
|
||||||
|
: DateTime.parse(json["formatted_created_at"]),
|
||||||
|
formattedUpdatedAt: json["formatted_updated_at"] == null
|
||||||
|
? null
|
||||||
|
: DateTime.parse(json["formatted_updated_at"]),
|
||||||
|
);
|
||||||
|
|
||||||
|
Map<String, dynamic> toJson() => {
|
||||||
|
"unique_id": uniqueId,
|
||||||
|
"kol_id": kolId,
|
||||||
|
"client_id": clientId,
|
||||||
|
"organization_id": organizationId,
|
||||||
|
"specialty": specialty,
|
||||||
|
"start_date": startDate,
|
||||||
|
"end_date": endDate,
|
||||||
|
"url": url,
|
||||||
|
"switched_user_id": switchedUserId,
|
||||||
|
"created_by_user": createdByUser,
|
||||||
|
"updated_by_user": updatedByUser,
|
||||||
|
"formatted_created_at": formattedCreatedAt?.toIso8601String(),
|
||||||
|
"formatted_updated_at": formattedUpdatedAt?.toIso8601String(),
|
||||||
|
};
|
||||||
|
}
|
|
@ -0,0 +1,144 @@
|
||||||
|
// To parse this JSON data, do
|
||||||
|
//
|
||||||
|
// final dataAffiliations = dataAffiliationsFromJson(jsonString);
|
||||||
|
|
||||||
|
import 'dart:convert';
|
||||||
|
|
||||||
|
DataAffiliations dataAffiliationsFromJson(String str) =>
|
||||||
|
DataAffiliations.fromJson(json.decode(str));
|
||||||
|
|
||||||
|
String dataAffiliationsToJson(DataAffiliations data) =>
|
||||||
|
json.encode(data.toJson());
|
||||||
|
|
||||||
|
class DataAffiliations {
|
||||||
|
int? code;
|
||||||
|
String? message;
|
||||||
|
List<AffList>? data;
|
||||||
|
int? lastPage;
|
||||||
|
int? lastRow;
|
||||||
|
int? count;
|
||||||
|
|
||||||
|
DataAffiliations({
|
||||||
|
this.code,
|
||||||
|
this.message,
|
||||||
|
this.data,
|
||||||
|
this.lastPage,
|
||||||
|
this.lastRow,
|
||||||
|
this.count,
|
||||||
|
});
|
||||||
|
|
||||||
|
factory DataAffiliations.fromJson(Map<String, dynamic> json) =>
|
||||||
|
DataAffiliations(
|
||||||
|
code: json["code"],
|
||||||
|
message: json["message"],
|
||||||
|
data: json["data"] == null
|
||||||
|
? []
|
||||||
|
: List<AffList>.from(json["data"]!.map((x) => AffList.fromJson(x))),
|
||||||
|
lastPage: json["last_page"],
|
||||||
|
lastRow: json["last_row"],
|
||||||
|
count: json["count"],
|
||||||
|
);
|
||||||
|
|
||||||
|
Map<String, dynamic> toJson() => {
|
||||||
|
"code": code,
|
||||||
|
"message": message,
|
||||||
|
"data": data == null
|
||||||
|
? []
|
||||||
|
: List<dynamic>.from(data!.map((x) => x.toJson())),
|
||||||
|
"last_page": lastPage,
|
||||||
|
"last_row": lastRow,
|
||||||
|
"count": count,
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
class AffList {
|
||||||
|
String? uniqueId;
|
||||||
|
String? department;
|
||||||
|
String? title;
|
||||||
|
String? startYear;
|
||||||
|
String? endYear;
|
||||||
|
String? role;
|
||||||
|
dynamic switchedUserId;
|
||||||
|
dynamic kolOrganizationUniqueId;
|
||||||
|
dynamic kolOrganizationName;
|
||||||
|
String? kolOrganizationType;
|
||||||
|
String? kolEngagementType;
|
||||||
|
String? kolEngagementTypeUniqueId;
|
||||||
|
String? startAndEndYear;
|
||||||
|
String? createdByUser;
|
||||||
|
String? updatedByUser;
|
||||||
|
dynamic deletedByUser;
|
||||||
|
DateTime? formattedCreatedAt;
|
||||||
|
DateTime? formattedUpdatedAt;
|
||||||
|
dynamic formattedDeletedAt;
|
||||||
|
|
||||||
|
AffList({
|
||||||
|
this.uniqueId,
|
||||||
|
this.department,
|
||||||
|
this.title,
|
||||||
|
this.startYear,
|
||||||
|
this.endYear,
|
||||||
|
this.role,
|
||||||
|
this.switchedUserId,
|
||||||
|
this.kolOrganizationUniqueId,
|
||||||
|
this.kolOrganizationName,
|
||||||
|
this.kolOrganizationType,
|
||||||
|
this.kolEngagementType,
|
||||||
|
this.kolEngagementTypeUniqueId,
|
||||||
|
this.startAndEndYear,
|
||||||
|
this.createdByUser,
|
||||||
|
this.updatedByUser,
|
||||||
|
this.deletedByUser,
|
||||||
|
this.formattedCreatedAt,
|
||||||
|
this.formattedUpdatedAt,
|
||||||
|
this.formattedDeletedAt,
|
||||||
|
});
|
||||||
|
|
||||||
|
factory AffList.fromJson(Map<String, dynamic> json) => AffList(
|
||||||
|
uniqueId: json["unique_id"],
|
||||||
|
department: json["department"],
|
||||||
|
title: json["title"],
|
||||||
|
startYear: json["start_year"],
|
||||||
|
endYear: json["end_year"],
|
||||||
|
role: json["role"],
|
||||||
|
switchedUserId: json["switched_user_id"],
|
||||||
|
kolOrganizationUniqueId: json["kol_organization_unique_id"],
|
||||||
|
kolOrganizationName: json["kol_organization_name"],
|
||||||
|
kolOrganizationType: json["kol_organization_type"],
|
||||||
|
kolEngagementType: json["kol_engagement_type"],
|
||||||
|
kolEngagementTypeUniqueId: json["kol_engagement_type_unique_id"],
|
||||||
|
startAndEndYear: json["start_and_end_year"],
|
||||||
|
createdByUser: json["created_by_user"],
|
||||||
|
updatedByUser: json["updated_by_user"],
|
||||||
|
deletedByUser: json["deleted_by_user"],
|
||||||
|
formattedCreatedAt: json["formatted_created_at"] == null
|
||||||
|
? null
|
||||||
|
: DateTime.parse(json["formatted_created_at"]),
|
||||||
|
formattedUpdatedAt: json["formatted_updated_at"] == null
|
||||||
|
? null
|
||||||
|
: DateTime.parse(json["formatted_updated_at"]),
|
||||||
|
formattedDeletedAt: json["formatted_deleted_at"],
|
||||||
|
);
|
||||||
|
|
||||||
|
Map<String, dynamic> toJson() => {
|
||||||
|
"unique_id": uniqueId,
|
||||||
|
"department": department,
|
||||||
|
"title": title,
|
||||||
|
"start_year": startYear,
|
||||||
|
"end_year": endYear,
|
||||||
|
"role": role,
|
||||||
|
"switched_user_id": switchedUserId,
|
||||||
|
"kol_organization_unique_id": kolOrganizationUniqueId,
|
||||||
|
"kol_organization_name": kolOrganizationName,
|
||||||
|
"kol_organization_type": kolOrganizationType,
|
||||||
|
"kol_engagement_type": kolEngagementType,
|
||||||
|
"kol_engagement_type_unique_id": kolEngagementTypeUniqueId,
|
||||||
|
"start_and_end_year": startAndEndYear,
|
||||||
|
"created_by_user": createdByUser,
|
||||||
|
"updated_by_user": updatedByUser,
|
||||||
|
"deleted_by_user": deletedByUser,
|
||||||
|
"formatted_created_at": formattedCreatedAt?.toIso8601String(),
|
||||||
|
"formatted_updated_at": formattedUpdatedAt?.toIso8601String(),
|
||||||
|
"formatted_deleted_at": formattedDeletedAt,
|
||||||
|
};
|
||||||
|
}
|
|
@ -0,0 +1,115 @@
|
||||||
|
// To parse this JSON data, do
|
||||||
|
//
|
||||||
|
// final dataAwards = dataAwardsFromJson(jsonString);
|
||||||
|
|
||||||
|
import 'dart:convert';
|
||||||
|
|
||||||
|
DataAwards dataAwardsFromJson(String str) =>
|
||||||
|
DataAwards.fromJson(json.decode(str));
|
||||||
|
|
||||||
|
String dataAwardsToJson(DataAwards data) => json.encode(data.toJson());
|
||||||
|
|
||||||
|
class DataAwards {
|
||||||
|
int? code;
|
||||||
|
String? message;
|
||||||
|
List<AwardsList>? data;
|
||||||
|
int? lastPage;
|
||||||
|
int? lastRow;
|
||||||
|
int? count;
|
||||||
|
|
||||||
|
DataAwards({
|
||||||
|
this.code,
|
||||||
|
this.message,
|
||||||
|
this.data,
|
||||||
|
this.lastPage,
|
||||||
|
this.lastRow,
|
||||||
|
this.count,
|
||||||
|
});
|
||||||
|
|
||||||
|
factory DataAwards.fromJson(Map<String, dynamic> json) => DataAwards(
|
||||||
|
code: json["code"],
|
||||||
|
message: json["message"],
|
||||||
|
data: json["data"] == null
|
||||||
|
? []
|
||||||
|
: List<AwardsList>.from(
|
||||||
|
json["data"]!.map((x) => AwardsList.fromJson(x))),
|
||||||
|
lastPage: json["last_page"],
|
||||||
|
lastRow: json["last_row"],
|
||||||
|
count: json["count"],
|
||||||
|
);
|
||||||
|
|
||||||
|
Map<String, dynamic> toJson() => {
|
||||||
|
"code": code,
|
||||||
|
"message": message,
|
||||||
|
"data": data == null
|
||||||
|
? []
|
||||||
|
: List<dynamic>.from(data!.map((x) => x.toJson())),
|
||||||
|
"last_page": lastPage,
|
||||||
|
"last_row": lastRow,
|
||||||
|
"count": count,
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
class AwardsList {
|
||||||
|
String? uniqueId;
|
||||||
|
int? kolId;
|
||||||
|
int? clientId;
|
||||||
|
String? name;
|
||||||
|
String? startDate;
|
||||||
|
String? endDate;
|
||||||
|
String? url;
|
||||||
|
dynamic switchedUserId;
|
||||||
|
String? createdByUser;
|
||||||
|
String? updatedByUser;
|
||||||
|
DateTime? formattedCreatedAt;
|
||||||
|
DateTime? formattedUpdatedAt;
|
||||||
|
|
||||||
|
AwardsList({
|
||||||
|
this.uniqueId,
|
||||||
|
this.kolId,
|
||||||
|
this.clientId,
|
||||||
|
this.name,
|
||||||
|
this.startDate,
|
||||||
|
this.endDate,
|
||||||
|
this.url,
|
||||||
|
this.switchedUserId,
|
||||||
|
this.createdByUser,
|
||||||
|
this.updatedByUser,
|
||||||
|
this.formattedCreatedAt,
|
||||||
|
this.formattedUpdatedAt,
|
||||||
|
});
|
||||||
|
|
||||||
|
factory AwardsList.fromJson(Map<String, dynamic> json) => AwardsList(
|
||||||
|
uniqueId: json["unique_id"],
|
||||||
|
kolId: json["kol_id"],
|
||||||
|
clientId: json["client_id"],
|
||||||
|
name: json["name"],
|
||||||
|
startDate: json["start_date"],
|
||||||
|
endDate: json["end_date"],
|
||||||
|
url: json["url"],
|
||||||
|
switchedUserId: json["switched_user_id"],
|
||||||
|
createdByUser: json["created_by_user"],
|
||||||
|
updatedByUser: json["updated_by_user"],
|
||||||
|
formattedCreatedAt: json["formatted_created_at"] == null
|
||||||
|
? null
|
||||||
|
: DateTime.parse(json["formatted_created_at"]),
|
||||||
|
formattedUpdatedAt: json["formatted_updated_at"] == null
|
||||||
|
? null
|
||||||
|
: DateTime.parse(json["formatted_updated_at"]),
|
||||||
|
);
|
||||||
|
|
||||||
|
Map<String, dynamic> toJson() => {
|
||||||
|
"unique_id": uniqueId,
|
||||||
|
"kol_id": kolId,
|
||||||
|
"client_id": clientId,
|
||||||
|
"name": name,
|
||||||
|
"start_date": startDate,
|
||||||
|
"end_date": endDate,
|
||||||
|
"url": url,
|
||||||
|
"switched_user_id": switchedUserId,
|
||||||
|
"created_by_user": createdByUser,
|
||||||
|
"updated_by_user": updatedByUser,
|
||||||
|
"formatted_created_at": formattedCreatedAt?.toIso8601String(),
|
||||||
|
"formatted_updated_at": formattedUpdatedAt?.toIso8601String(),
|
||||||
|
};
|
||||||
|
}
|
|
@ -0,0 +1,123 @@
|
||||||
|
// To parse this JSON data, do
|
||||||
|
//
|
||||||
|
// final dataEducation = dataEducationFromJson(jsonString);
|
||||||
|
|
||||||
|
import 'dart:convert';
|
||||||
|
|
||||||
|
DataEducation dataEducationFromJson(String str) =>
|
||||||
|
DataEducation.fromJson(json.decode(str));
|
||||||
|
|
||||||
|
String dataEducationToJson(DataEducation data) => json.encode(data.toJson());
|
||||||
|
|
||||||
|
class DataEducation {
|
||||||
|
int? code;
|
||||||
|
String? message;
|
||||||
|
List<EducationList>? data;
|
||||||
|
int? lastPage;
|
||||||
|
int? lastRow;
|
||||||
|
int? count;
|
||||||
|
|
||||||
|
DataEducation({
|
||||||
|
this.code,
|
||||||
|
this.message,
|
||||||
|
this.data,
|
||||||
|
this.lastPage,
|
||||||
|
this.lastRow,
|
||||||
|
this.count,
|
||||||
|
});
|
||||||
|
|
||||||
|
factory DataEducation.fromJson(Map<String, dynamic> json) => DataEducation(
|
||||||
|
code: json["code"],
|
||||||
|
message: json["message"],
|
||||||
|
data: json["data"] == null
|
||||||
|
? []
|
||||||
|
: List<EducationList>.from(
|
||||||
|
json["data"]!.map((x) => EducationList.fromJson(x))),
|
||||||
|
lastPage: json["last_page"],
|
||||||
|
lastRow: json["last_row"],
|
||||||
|
count: json["count"],
|
||||||
|
);
|
||||||
|
|
||||||
|
Map<String, dynamic> toJson() => {
|
||||||
|
"code": code,
|
||||||
|
"message": message,
|
||||||
|
"data": data == null
|
||||||
|
? []
|
||||||
|
: List<dynamic>.from(data!.map((x) => x.toJson())),
|
||||||
|
"last_page": lastPage,
|
||||||
|
"last_row": lastRow,
|
||||||
|
"count": count,
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
class EducationList {
|
||||||
|
String? uniqueId;
|
||||||
|
int? kolId;
|
||||||
|
int? clientId;
|
||||||
|
dynamic organizationId;
|
||||||
|
dynamic degree;
|
||||||
|
dynamic specialty;
|
||||||
|
String? startDate;
|
||||||
|
String? endDate;
|
||||||
|
String? url;
|
||||||
|
dynamic switchedUserId;
|
||||||
|
String? createdByUser;
|
||||||
|
String? updatedByUser;
|
||||||
|
DateTime? formattedCreatedAt;
|
||||||
|
DateTime? formattedUpdatedAt;
|
||||||
|
|
||||||
|
EducationList({
|
||||||
|
this.uniqueId,
|
||||||
|
this.kolId,
|
||||||
|
this.clientId,
|
||||||
|
this.organizationId,
|
||||||
|
this.degree,
|
||||||
|
this.specialty,
|
||||||
|
this.startDate,
|
||||||
|
this.endDate,
|
||||||
|
this.url,
|
||||||
|
this.switchedUserId,
|
||||||
|
this.createdByUser,
|
||||||
|
this.updatedByUser,
|
||||||
|
this.formattedCreatedAt,
|
||||||
|
this.formattedUpdatedAt,
|
||||||
|
});
|
||||||
|
|
||||||
|
factory EducationList.fromJson(Map<String, dynamic> json) => EducationList(
|
||||||
|
uniqueId: json["unique_id"],
|
||||||
|
kolId: json["kol_id"],
|
||||||
|
clientId: json["client_id"],
|
||||||
|
organizationId: json["organization_id"],
|
||||||
|
degree: json["degree"],
|
||||||
|
specialty: json["specialty"],
|
||||||
|
startDate: json["start_date"],
|
||||||
|
endDate: json["end_date"],
|
||||||
|
url: json["url"],
|
||||||
|
switchedUserId: json["switched_user_id"],
|
||||||
|
createdByUser: json["created_by_user"],
|
||||||
|
updatedByUser: json["updated_by_user"],
|
||||||
|
formattedCreatedAt: json["formatted_created_at"] == null
|
||||||
|
? null
|
||||||
|
: DateTime.parse(json["formatted_created_at"]),
|
||||||
|
formattedUpdatedAt: json["formatted_updated_at"] == null
|
||||||
|
? null
|
||||||
|
: DateTime.parse(json["formatted_updated_at"]),
|
||||||
|
);
|
||||||
|
|
||||||
|
Map<String, dynamic> toJson() => {
|
||||||
|
"unique_id": uniqueId,
|
||||||
|
"kol_id": kolId,
|
||||||
|
"client_id": clientId,
|
||||||
|
"organization_id": organizationId,
|
||||||
|
"degree": degree,
|
||||||
|
"specialty": specialty,
|
||||||
|
"start_date": startDate,
|
||||||
|
"end_date": endDate,
|
||||||
|
"url": url,
|
||||||
|
"switched_user_id": switchedUserId,
|
||||||
|
"created_by_user": createdByUser,
|
||||||
|
"updated_by_user": updatedByUser,
|
||||||
|
"formatted_created_at": formattedCreatedAt?.toIso8601String(),
|
||||||
|
"formatted_updated_at": formattedUpdatedAt?.toIso8601String(),
|
||||||
|
};
|
||||||
|
}
|
|
@ -0,0 +1,102 @@
|
||||||
|
// To parse this JSON data, do
|
||||||
|
//
|
||||||
|
// final dataEmail = dataEmailFromJson(jsonString);
|
||||||
|
|
||||||
|
import 'dart:convert';
|
||||||
|
|
||||||
|
DataEmail dataEmailFromJson(String str) => DataEmail.fromJson(json.decode(str));
|
||||||
|
|
||||||
|
String dataEmailToJson(DataEmail data) => json.encode(data.toJson());
|
||||||
|
|
||||||
|
class DataEmail {
|
||||||
|
int? code;
|
||||||
|
String? message;
|
||||||
|
List<EmailData>? data;
|
||||||
|
int? lastPage;
|
||||||
|
int? lastRow;
|
||||||
|
int? count;
|
||||||
|
|
||||||
|
DataEmail({
|
||||||
|
this.code,
|
||||||
|
this.message,
|
||||||
|
this.data,
|
||||||
|
this.lastPage,
|
||||||
|
this.lastRow,
|
||||||
|
this.count,
|
||||||
|
});
|
||||||
|
|
||||||
|
factory DataEmail.fromJson(Map<String, dynamic> json) => DataEmail(
|
||||||
|
code: json["code"],
|
||||||
|
message: json["message"],
|
||||||
|
data: json["data"] == null
|
||||||
|
? []
|
||||||
|
: List<EmailData>.from(
|
||||||
|
json["data"]!.map((x) => EmailData.fromJson(x))),
|
||||||
|
lastPage: json["last_page"],
|
||||||
|
lastRow: json["last_row"],
|
||||||
|
count: json["count"],
|
||||||
|
);
|
||||||
|
|
||||||
|
Map<String, dynamic> toJson() => {
|
||||||
|
"code": code,
|
||||||
|
"message": message,
|
||||||
|
"data": data == null
|
||||||
|
? []
|
||||||
|
: List<dynamic>.from(data!.map((x) => x.toJson())),
|
||||||
|
"last_page": lastPage,
|
||||||
|
"last_row": lastRow,
|
||||||
|
"count": count,
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
class EmailData {
|
||||||
|
String? uniqueId;
|
||||||
|
String? email;
|
||||||
|
String? kolUniqueId;
|
||||||
|
String? emailTypeName;
|
||||||
|
String? formattedIsPrimary;
|
||||||
|
String? createdByUser;
|
||||||
|
String? updatedByUser;
|
||||||
|
DateTime? formattedCreatedAt;
|
||||||
|
DateTime? formattedUpdatedAt;
|
||||||
|
|
||||||
|
EmailData({
|
||||||
|
this.uniqueId,
|
||||||
|
this.email,
|
||||||
|
this.kolUniqueId,
|
||||||
|
this.emailTypeName,
|
||||||
|
this.formattedIsPrimary,
|
||||||
|
this.createdByUser,
|
||||||
|
this.updatedByUser,
|
||||||
|
this.formattedCreatedAt,
|
||||||
|
this.formattedUpdatedAt,
|
||||||
|
});
|
||||||
|
|
||||||
|
factory EmailData.fromJson(Map<String, dynamic> json) => EmailData(
|
||||||
|
uniqueId: json["unique_id"],
|
||||||
|
email: json["email"],
|
||||||
|
kolUniqueId: json["kol_unique_id"],
|
||||||
|
emailTypeName: json["email_type_name"],
|
||||||
|
formattedIsPrimary: json["formatted_is_primary"],
|
||||||
|
createdByUser: json["created_by_user"],
|
||||||
|
updatedByUser: json["updated_by_user"],
|
||||||
|
formattedCreatedAt: json["formatted_created_at"] == null
|
||||||
|
? null
|
||||||
|
: DateTime.parse(json["formatted_created_at"]),
|
||||||
|
formattedUpdatedAt: json["formatted_updated_at"] == null
|
||||||
|
? null
|
||||||
|
: DateTime.parse(json["formatted_updated_at"]),
|
||||||
|
);
|
||||||
|
|
||||||
|
Map<String, dynamic> toJson() => {
|
||||||
|
"unique_id": uniqueId,
|
||||||
|
"email": email,
|
||||||
|
"kol_unique_id": kolUniqueId,
|
||||||
|
"email_type_name": emailTypeName,
|
||||||
|
"formatted_is_primary": formattedIsPrimary,
|
||||||
|
"created_by_user": createdByUser,
|
||||||
|
"updated_by_user": updatedByUser,
|
||||||
|
"formatted_created_at": formattedCreatedAt?.toIso8601String(),
|
||||||
|
"formatted_updated_at": formattedUpdatedAt?.toIso8601String(),
|
||||||
|
};
|
||||||
|
}
|
|
@ -0,0 +1,98 @@
|
||||||
|
// To parse this JSON data, do
|
||||||
|
//
|
||||||
|
// final dataEvent = dataEventFromJson(jsonString);
|
||||||
|
|
||||||
|
import 'dart:convert';
|
||||||
|
|
||||||
|
DataEvent dataEventFromJson(String str) => DataEvent.fromJson(json.decode(str));
|
||||||
|
|
||||||
|
String dataEventToJson(DataEvent data) => json.encode(data.toJson());
|
||||||
|
|
||||||
|
class DataEvent {
|
||||||
|
int? code;
|
||||||
|
String? message;
|
||||||
|
List<EventList>? data;
|
||||||
|
int? lastPage;
|
||||||
|
int? lastRow;
|
||||||
|
int? count;
|
||||||
|
|
||||||
|
DataEvent({
|
||||||
|
this.code,
|
||||||
|
this.message,
|
||||||
|
this.data,
|
||||||
|
this.lastPage,
|
||||||
|
this.lastRow,
|
||||||
|
this.count,
|
||||||
|
});
|
||||||
|
|
||||||
|
factory DataEvent.fromJson(Map<String, dynamic> json) => DataEvent(
|
||||||
|
code: json["code"],
|
||||||
|
message: json["message"],
|
||||||
|
data: json["data"] == null
|
||||||
|
? []
|
||||||
|
: List<EventList>.from(
|
||||||
|
json["data"]!.map((x) => EventList.fromJson(x))),
|
||||||
|
lastPage: json["last_page"],
|
||||||
|
lastRow: json["last_row"],
|
||||||
|
count: json["count"],
|
||||||
|
);
|
||||||
|
|
||||||
|
Map<String, dynamic> toJson() => {
|
||||||
|
"code": code,
|
||||||
|
"message": message,
|
||||||
|
"data": data == null
|
||||||
|
? []
|
||||||
|
: List<dynamic>.from(data!.map((x) => x.toJson())),
|
||||||
|
"last_page": lastPage,
|
||||||
|
"last_row": lastRow,
|
||||||
|
"count": count,
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
class EventList {
|
||||||
|
String? uniqueId;
|
||||||
|
String? name;
|
||||||
|
dynamic notes;
|
||||||
|
int? partiallyReleasedEvent;
|
||||||
|
String? createdByUser;
|
||||||
|
String? updatedByUser;
|
||||||
|
DateTime? formattedCreatedAt;
|
||||||
|
DateTime? formattedUpdatedAt;
|
||||||
|
|
||||||
|
EventList({
|
||||||
|
this.uniqueId,
|
||||||
|
this.name,
|
||||||
|
this.notes,
|
||||||
|
this.partiallyReleasedEvent,
|
||||||
|
this.createdByUser,
|
||||||
|
this.updatedByUser,
|
||||||
|
this.formattedCreatedAt,
|
||||||
|
this.formattedUpdatedAt,
|
||||||
|
});
|
||||||
|
|
||||||
|
factory EventList.fromJson(Map<String, dynamic> json) => EventList(
|
||||||
|
uniqueId: json["unique_id"],
|
||||||
|
name: json["name"],
|
||||||
|
notes: json["notes"],
|
||||||
|
partiallyReleasedEvent: json["partially_released_event"],
|
||||||
|
createdByUser: json["created_by_user"],
|
||||||
|
updatedByUser: json["updated_by_user"],
|
||||||
|
formattedCreatedAt: json["formatted_created_at"] == null
|
||||||
|
? null
|
||||||
|
: DateTime.parse(json["formatted_created_at"]),
|
||||||
|
formattedUpdatedAt: json["formatted_updated_at"] == null
|
||||||
|
? null
|
||||||
|
: DateTime.parse(json["formatted_updated_at"]),
|
||||||
|
);
|
||||||
|
|
||||||
|
Map<String, dynamic> toJson() => {
|
||||||
|
"unique_id": uniqueId,
|
||||||
|
"name": name,
|
||||||
|
"notes": notes,
|
||||||
|
"partially_released_event": partiallyReleasedEvent,
|
||||||
|
"created_by_user": createdByUser,
|
||||||
|
"updated_by_user": updatedByUser,
|
||||||
|
"formatted_created_at": formattedCreatedAt?.toIso8601String(),
|
||||||
|
"formatted_updated_at": formattedUpdatedAt?.toIso8601String(),
|
||||||
|
};
|
||||||
|
}
|
|
@ -0,0 +1,103 @@
|
||||||
|
// To parse this JSON data, do
|
||||||
|
//
|
||||||
|
// final fetchNotes = fetchNotesFromJson(jsonString);
|
||||||
|
|
||||||
|
import 'dart:convert';
|
||||||
|
|
||||||
|
FetchNotes fetchNotesFromJson(String str) =>
|
||||||
|
FetchNotes.fromJson(json.decode(str));
|
||||||
|
|
||||||
|
String fetchNotesToJson(FetchNotes data) => json.encode(data.toJson());
|
||||||
|
|
||||||
|
class FetchNotes {
|
||||||
|
int? code;
|
||||||
|
String? message;
|
||||||
|
List<HcpNotes>? data;
|
||||||
|
int? lastPage;
|
||||||
|
int? lastRow;
|
||||||
|
int? count;
|
||||||
|
|
||||||
|
FetchNotes({
|
||||||
|
this.code,
|
||||||
|
this.message,
|
||||||
|
this.data,
|
||||||
|
this.lastPage,
|
||||||
|
this.lastRow,
|
||||||
|
this.count,
|
||||||
|
});
|
||||||
|
|
||||||
|
factory FetchNotes.fromJson(Map<String, dynamic> json) => FetchNotes(
|
||||||
|
code: json["code"],
|
||||||
|
message: json["message"],
|
||||||
|
data: json["data"] == null
|
||||||
|
? []
|
||||||
|
: List<HcpNotes>.from(
|
||||||
|
json["data"]!.map((x) => HcpNotes.fromJson(x))),
|
||||||
|
lastPage: json["last_page"],
|
||||||
|
lastRow: json["last_row"],
|
||||||
|
count: json["count"],
|
||||||
|
);
|
||||||
|
|
||||||
|
Map<String, dynamic> toJson() => {
|
||||||
|
"code": code,
|
||||||
|
"message": message,
|
||||||
|
"data": data == null
|
||||||
|
? []
|
||||||
|
: List<dynamic>.from(data!.map((x) => x.toJson())),
|
||||||
|
"last_page": lastPage,
|
||||||
|
"last_row": lastRow,
|
||||||
|
"count": count,
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
class HcpNotes {
|
||||||
|
String? uniqueId;
|
||||||
|
String? userNote;
|
||||||
|
dynamic fileName;
|
||||||
|
dynamic documentUrl;
|
||||||
|
String? kolUniqueId;
|
||||||
|
String? createdByUser;
|
||||||
|
String? updatedByUser;
|
||||||
|
DateTime? formattedCreatedAt;
|
||||||
|
DateTime? formattedUpdatedAt;
|
||||||
|
|
||||||
|
HcpNotes({
|
||||||
|
this.uniqueId,
|
||||||
|
this.userNote,
|
||||||
|
this.fileName,
|
||||||
|
this.documentUrl,
|
||||||
|
this.kolUniqueId,
|
||||||
|
this.createdByUser,
|
||||||
|
this.updatedByUser,
|
||||||
|
this.formattedCreatedAt,
|
||||||
|
this.formattedUpdatedAt,
|
||||||
|
});
|
||||||
|
|
||||||
|
factory HcpNotes.fromJson(Map<String, dynamic> json) => HcpNotes(
|
||||||
|
uniqueId: json["unique_id"],
|
||||||
|
userNote: json["user_note"],
|
||||||
|
fileName: json["file_name"],
|
||||||
|
documentUrl: json["document_url"],
|
||||||
|
kolUniqueId: json["kol_unique_id"],
|
||||||
|
createdByUser: json["created_by_user"],
|
||||||
|
updatedByUser: json["updated_by_user"],
|
||||||
|
formattedCreatedAt: json["formatted_created_at"] == null
|
||||||
|
? null
|
||||||
|
: DateTime.parse(json["formatted_created_at"]),
|
||||||
|
formattedUpdatedAt: json["formatted_updated_at"] == null
|
||||||
|
? null
|
||||||
|
: DateTime.parse(json["formatted_updated_at"]),
|
||||||
|
);
|
||||||
|
|
||||||
|
Map<String, dynamic> toJson() => {
|
||||||
|
"unique_id": uniqueId,
|
||||||
|
"user_note": userNote,
|
||||||
|
"file_name": fileName,
|
||||||
|
"document_url": documentUrl,
|
||||||
|
"kol_unique_id": kolUniqueId,
|
||||||
|
"created_by_user": createdByUser,
|
||||||
|
"updated_by_user": updatedByUser,
|
||||||
|
"formatted_created_at": formattedCreatedAt?.toIso8601String(),
|
||||||
|
"formatted_updated_at": formattedUpdatedAt?.toIso8601String(),
|
||||||
|
};
|
||||||
|
}
|
|
@ -0,0 +1,128 @@
|
||||||
|
class KolLocation {
|
||||||
|
int? code;
|
||||||
|
String? message;
|
||||||
|
List<Data>? data;
|
||||||
|
int? lastPage;
|
||||||
|
int? lastRow;
|
||||||
|
int? count;
|
||||||
|
|
||||||
|
KolLocation(
|
||||||
|
{this.code,
|
||||||
|
this.message,
|
||||||
|
this.data,
|
||||||
|
this.lastPage,
|
||||||
|
this.lastRow,
|
||||||
|
this.count});
|
||||||
|
|
||||||
|
KolLocation.fromJson(Map<String, dynamic> json) {
|
||||||
|
code = json['code'];
|
||||||
|
message = json['message'];
|
||||||
|
if (json['data'] != null) {
|
||||||
|
data = <Data>[];
|
||||||
|
json['data'].forEach((v) {
|
||||||
|
data!.add(new Data.fromJson(v));
|
||||||
|
});
|
||||||
|
}
|
||||||
|
lastPage = json['last_page'];
|
||||||
|
lastRow = json['last_row'];
|
||||||
|
count = json['count'];
|
||||||
|
}
|
||||||
|
|
||||||
|
Map<String, dynamic> toJson() {
|
||||||
|
final Map<String, dynamic> data = new Map<String, dynamic>();
|
||||||
|
data['code'] = this.code;
|
||||||
|
data['message'] = this.message;
|
||||||
|
if (this.data != null) {
|
||||||
|
data['data'] = this.data!.map((v) => v.toJson()).toList();
|
||||||
|
}
|
||||||
|
data['last_page'] = this.lastPage;
|
||||||
|
data['last_row'] = this.lastRow;
|
||||||
|
data['count'] = this.count;
|
||||||
|
return data;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
class Data {
|
||||||
|
String? uniqueId;
|
||||||
|
Null? orgInstitutionId;
|
||||||
|
String? address1;
|
||||||
|
String? postalCode;
|
||||||
|
String? kolUniqueId;
|
||||||
|
String? formattedIsPrimary;
|
||||||
|
Null? organizationUniqueId;
|
||||||
|
Null? organizationName;
|
||||||
|
String? countryUniqueId;
|
||||||
|
String? countryName;
|
||||||
|
String? stateUniqueId;
|
||||||
|
String? stateName;
|
||||||
|
String? cityUniqueId;
|
||||||
|
String? cityName;
|
||||||
|
String? createdByUser;
|
||||||
|
String? updatedByUser;
|
||||||
|
String? formattedCreatedAt;
|
||||||
|
String? formattedUpdatedAt;
|
||||||
|
|
||||||
|
Data(
|
||||||
|
{this.uniqueId,
|
||||||
|
this.orgInstitutionId,
|
||||||
|
this.address1,
|
||||||
|
this.postalCode,
|
||||||
|
this.kolUniqueId,
|
||||||
|
this.formattedIsPrimary,
|
||||||
|
this.organizationUniqueId,
|
||||||
|
this.organizationName,
|
||||||
|
this.countryUniqueId,
|
||||||
|
this.countryName,
|
||||||
|
this.stateUniqueId,
|
||||||
|
this.stateName,
|
||||||
|
this.cityUniqueId,
|
||||||
|
this.cityName,
|
||||||
|
this.createdByUser,
|
||||||
|
this.updatedByUser,
|
||||||
|
this.formattedCreatedAt,
|
||||||
|
this.formattedUpdatedAt});
|
||||||
|
|
||||||
|
Data.fromJson(Map<String, dynamic> json) {
|
||||||
|
uniqueId = json['unique_id'];
|
||||||
|
orgInstitutionId = json['org_institution_id'];
|
||||||
|
address1 = json['address1'];
|
||||||
|
postalCode = json['postal_code'];
|
||||||
|
kolUniqueId = json['kol_unique_id'];
|
||||||
|
formattedIsPrimary = json['formatted_is_primary'];
|
||||||
|
organizationUniqueId = json['organization_unique_id'];
|
||||||
|
organizationName = json['organization_name'];
|
||||||
|
countryUniqueId = json['country_unique_id'];
|
||||||
|
countryName = json['country_name'];
|
||||||
|
stateUniqueId = json['state_unique_id'];
|
||||||
|
stateName = json['state_name'];
|
||||||
|
cityUniqueId = json['city_unique_id'];
|
||||||
|
cityName = json['city_name'];
|
||||||
|
createdByUser = json['created_by_user'];
|
||||||
|
updatedByUser = json['updated_by_user'];
|
||||||
|
formattedCreatedAt = json['formatted_created_at'];
|
||||||
|
formattedUpdatedAt = json['formatted_updated_at'];
|
||||||
|
}
|
||||||
|
|
||||||
|
Map<String, dynamic> toJson() {
|
||||||
|
final Map<String, dynamic> data = new Map<String, dynamic>();
|
||||||
|
data['unique_id'] = this.uniqueId;
|
||||||
|
data['org_institution_id'] = this.orgInstitutionId;
|
||||||
|
data['address1'] = this.address1;
|
||||||
|
data['postal_code'] = this.postalCode;
|
||||||
|
data['kol_unique_id'] = this.kolUniqueId;
|
||||||
|
data['formatted_is_primary'] = this.formattedIsPrimary;
|
||||||
|
data['organization_unique_id'] = this.organizationUniqueId;
|
||||||
|
data['organization_name'] = this.organizationName;
|
||||||
|
data['country_unique_id'] = this.countryUniqueId;
|
||||||
|
data['country_name'] = this.countryName;
|
||||||
|
data['state_unique_id'] = this.stateUniqueId;
|
||||||
|
data['state_name'] = this.stateName;
|
||||||
|
data['city_unique_id'] = this.cityUniqueId;
|
||||||
|
data['city_name'] = this.cityName;
|
||||||
|
data['created_by_user'] = this.createdByUser;
|
||||||
|
data['updated_by_user'] = this.updatedByUser;
|
||||||
|
data['formatted_created_at'] = this.formattedCreatedAt;
|
||||||
|
data['formatted_updated_at'] = this.formattedUpdatedAt;
|
||||||
|
return data;
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,116 @@
|
||||||
|
// To parse this JSON data, do
|
||||||
|
//
|
||||||
|
// final dataPno = dataPnoFromJson(jsonString);
|
||||||
|
|
||||||
|
import 'dart:convert';
|
||||||
|
|
||||||
|
DataaPnoresponse dataPnoFromJson(String str) =>
|
||||||
|
DataaPnoresponse.fromJson(json.decode(str));
|
||||||
|
|
||||||
|
String dataPnoToJson(DataaPnoresponse data) => json.encode(data.toJson());
|
||||||
|
|
||||||
|
class DataaPnoresponse {
|
||||||
|
int? code;
|
||||||
|
String? message;
|
||||||
|
List<DataPhno>? data;
|
||||||
|
int? lastPage;
|
||||||
|
int? lastRow;
|
||||||
|
int? count;
|
||||||
|
|
||||||
|
DataaPnoresponse({
|
||||||
|
this.code,
|
||||||
|
this.message,
|
||||||
|
this.data,
|
||||||
|
this.lastPage,
|
||||||
|
this.lastRow,
|
||||||
|
this.count,
|
||||||
|
});
|
||||||
|
|
||||||
|
factory DataaPnoresponse.fromJson(Map<String, dynamic> json) =>
|
||||||
|
DataaPnoresponse(
|
||||||
|
code: json["code"],
|
||||||
|
message: json["message"],
|
||||||
|
data: json["data"] == null
|
||||||
|
? []
|
||||||
|
: List<DataPhno>.from(
|
||||||
|
json["data"]!.map((x) => DataPhno.fromJson(x))),
|
||||||
|
lastPage: json["last_page"],
|
||||||
|
lastRow: json["last_row"],
|
||||||
|
count: json["count"],
|
||||||
|
);
|
||||||
|
|
||||||
|
Map<String, dynamic> toJson() => {
|
||||||
|
"code": code,
|
||||||
|
"message": message,
|
||||||
|
"data": data == null
|
||||||
|
? []
|
||||||
|
: List<dynamic>.from(data!.map((x) => x.toJson())),
|
||||||
|
"last_page": lastPage,
|
||||||
|
"last_row": lastRow,
|
||||||
|
"count": count,
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
class DataPhno {
|
||||||
|
String? uniqueId;
|
||||||
|
int? number;
|
||||||
|
String? kolUniqueId;
|
||||||
|
String? phoneTypeName;
|
||||||
|
String? phoneTypeUniqueId;
|
||||||
|
String? formattedIsPrimary;
|
||||||
|
dynamic organizationUniqueId;
|
||||||
|
dynamic organizationName;
|
||||||
|
String? createdByUser;
|
||||||
|
String? updatedByUser;
|
||||||
|
DateTime? formattedCreatedAt;
|
||||||
|
DateTime? formattedUpdatedAt;
|
||||||
|
|
||||||
|
DataPhno({
|
||||||
|
this.uniqueId,
|
||||||
|
this.number,
|
||||||
|
this.kolUniqueId,
|
||||||
|
this.phoneTypeName,
|
||||||
|
this.phoneTypeUniqueId,
|
||||||
|
this.formattedIsPrimary,
|
||||||
|
this.organizationUniqueId,
|
||||||
|
this.organizationName,
|
||||||
|
this.createdByUser,
|
||||||
|
this.updatedByUser,
|
||||||
|
this.formattedCreatedAt,
|
||||||
|
this.formattedUpdatedAt,
|
||||||
|
});
|
||||||
|
|
||||||
|
factory DataPhno.fromJson(Map<String, dynamic> json) => DataPhno(
|
||||||
|
uniqueId: json["unique_id"],
|
||||||
|
number: json["number"],
|
||||||
|
kolUniqueId: json["kol_unique_id"],
|
||||||
|
phoneTypeName: json["phone_type_name"],
|
||||||
|
phoneTypeUniqueId: json["phone_type_unique_id"],
|
||||||
|
formattedIsPrimary: json["formatted_is_primary"],
|
||||||
|
organizationUniqueId: json["organization_unique_id"],
|
||||||
|
organizationName: json["organization_name"],
|
||||||
|
createdByUser: json["created_by_user"],
|
||||||
|
updatedByUser: json["updated_by_user"],
|
||||||
|
formattedCreatedAt: json["formatted_created_at"] == null
|
||||||
|
? null
|
||||||
|
: DateTime.parse(json["formatted_created_at"]),
|
||||||
|
formattedUpdatedAt: json["formatted_updated_at"] == null
|
||||||
|
? null
|
||||||
|
: DateTime.parse(json["formatted_updated_at"]),
|
||||||
|
);
|
||||||
|
|
||||||
|
Map<String, dynamic> toJson() => {
|
||||||
|
"unique_id": uniqueId,
|
||||||
|
"number": number,
|
||||||
|
"kol_unique_id": kolUniqueId,
|
||||||
|
"phone_type_name": phoneTypeName,
|
||||||
|
"phone_type_unique_id": phoneTypeUniqueId,
|
||||||
|
"formatted_is_primary": formattedIsPrimary,
|
||||||
|
"organization_unique_id": organizationUniqueId,
|
||||||
|
"organization_name": organizationName,
|
||||||
|
"created_by_user": createdByUser,
|
||||||
|
"updated_by_user": updatedByUser,
|
||||||
|
"formatted_created_at": formattedCreatedAt?.toIso8601String(),
|
||||||
|
"formatted_updated_at": formattedUpdatedAt?.toIso8601String(),
|
||||||
|
};
|
||||||
|
}
|
|
@ -0,0 +1,127 @@
|
||||||
|
// To parse this JSON data, do
|
||||||
|
//
|
||||||
|
// final dataTraining = dataTrainingFromJson(jsonString);
|
||||||
|
|
||||||
|
import 'dart:convert';
|
||||||
|
|
||||||
|
DataTraining dataTrainingFromJson(String str) =>
|
||||||
|
DataTraining.fromJson(json.decode(str));
|
||||||
|
|
||||||
|
String dataTrainingToJson(DataTraining data) => json.encode(data.toJson());
|
||||||
|
|
||||||
|
class DataTraining {
|
||||||
|
int? code;
|
||||||
|
String? message;
|
||||||
|
List<TrainingList>? data;
|
||||||
|
int? lastPage;
|
||||||
|
int? lastRow;
|
||||||
|
int? count;
|
||||||
|
|
||||||
|
DataTraining({
|
||||||
|
this.code,
|
||||||
|
this.message,
|
||||||
|
this.data,
|
||||||
|
this.lastPage,
|
||||||
|
this.lastRow,
|
||||||
|
this.count,
|
||||||
|
});
|
||||||
|
|
||||||
|
factory DataTraining.fromJson(Map<String, dynamic> json) => DataTraining(
|
||||||
|
code: json["code"],
|
||||||
|
message: json["message"],
|
||||||
|
data: json["data"] == null
|
||||||
|
? []
|
||||||
|
: List<TrainingList>.from(
|
||||||
|
json["data"]!.map((x) => TrainingList.fromJson(x))),
|
||||||
|
lastPage: json["last_page"],
|
||||||
|
lastRow: json["last_row"],
|
||||||
|
count: json["count"],
|
||||||
|
);
|
||||||
|
|
||||||
|
Map<String, dynamic> toJson() => {
|
||||||
|
"code": code,
|
||||||
|
"message": message,
|
||||||
|
"data": data == null
|
||||||
|
? []
|
||||||
|
: List<dynamic>.from(data!.map((x) => x.toJson())),
|
||||||
|
"last_page": lastPage,
|
||||||
|
"last_row": lastRow,
|
||||||
|
"count": count,
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
class TrainingList {
|
||||||
|
String? uniqueId;
|
||||||
|
int? kolId;
|
||||||
|
int? orgId;
|
||||||
|
int? clientId;
|
||||||
|
dynamic organizationId;
|
||||||
|
dynamic degree;
|
||||||
|
dynamic specialty;
|
||||||
|
String? startDate;
|
||||||
|
String? endDate;
|
||||||
|
String? url;
|
||||||
|
dynamic switchedUserId;
|
||||||
|
String? createdByUser;
|
||||||
|
String? updatedByUser;
|
||||||
|
DateTime? formattedCreatedAt;
|
||||||
|
DateTime? formattedUpdatedAt;
|
||||||
|
|
||||||
|
TrainingList({
|
||||||
|
this.uniqueId,
|
||||||
|
this.kolId,
|
||||||
|
this.orgId,
|
||||||
|
this.clientId,
|
||||||
|
this.organizationId,
|
||||||
|
this.degree,
|
||||||
|
this.specialty,
|
||||||
|
this.startDate,
|
||||||
|
this.endDate,
|
||||||
|
this.url,
|
||||||
|
this.switchedUserId,
|
||||||
|
this.createdByUser,
|
||||||
|
this.updatedByUser,
|
||||||
|
this.formattedCreatedAt,
|
||||||
|
this.formattedUpdatedAt,
|
||||||
|
});
|
||||||
|
|
||||||
|
factory TrainingList.fromJson(Map<String, dynamic> json) => TrainingList(
|
||||||
|
uniqueId: json["unique_id"],
|
||||||
|
kolId: json["kol_id"],
|
||||||
|
orgId: json["org_id"],
|
||||||
|
clientId: json["client_id"],
|
||||||
|
organizationId: json["organization_id"],
|
||||||
|
degree: json["degree"],
|
||||||
|
specialty: json["specialty"],
|
||||||
|
startDate: json["start_date"],
|
||||||
|
endDate: json["end_date"],
|
||||||
|
url: json["url"],
|
||||||
|
switchedUserId: json["switched_user_id"],
|
||||||
|
createdByUser: json["created_by_user"],
|
||||||
|
updatedByUser: json["updated_by_user"],
|
||||||
|
formattedCreatedAt: json["formatted_created_at"] == null
|
||||||
|
? null
|
||||||
|
: DateTime.parse(json["formatted_created_at"]),
|
||||||
|
formattedUpdatedAt: json["formatted_updated_at"] == null
|
||||||
|
? null
|
||||||
|
: DateTime.parse(json["formatted_updated_at"]),
|
||||||
|
);
|
||||||
|
|
||||||
|
Map<String, dynamic> toJson() => {
|
||||||
|
"unique_id": uniqueId,
|
||||||
|
"kol_id": kolId,
|
||||||
|
"org_id": orgId,
|
||||||
|
"client_id": clientId,
|
||||||
|
"organization_id": organizationId,
|
||||||
|
"degree": degree,
|
||||||
|
"specialty": specialty,
|
||||||
|
"start_date": startDate,
|
||||||
|
"end_date": endDate,
|
||||||
|
"url": url,
|
||||||
|
"switched_user_id": switchedUserId,
|
||||||
|
"created_by_user": createdByUser,
|
||||||
|
"updated_by_user": updatedByUser,
|
||||||
|
"formatted_created_at": formattedCreatedAt?.toIso8601String(),
|
||||||
|
"formatted_updated_at": formattedUpdatedAt?.toIso8601String(),
|
||||||
|
};
|
||||||
|
}
|
|
@ -0,0 +1,272 @@
|
||||||
|
// To parse this JSON data, do
|
||||||
|
//
|
||||||
|
// final kolcontact = kolcontactFromJson(jsonString);
|
||||||
|
|
||||||
|
import 'dart:convert';
|
||||||
|
|
||||||
|
Kolcontact kolcontactFromJson(String str) =>
|
||||||
|
Kolcontact.fromJson(json.decode(str));
|
||||||
|
|
||||||
|
String kolcontactToJson(Kolcontact data) => json.encode(data.toJson());
|
||||||
|
|
||||||
|
class Kolcontact {
|
||||||
|
int code;
|
||||||
|
String message;
|
||||||
|
List<Datum> data;
|
||||||
|
int lastPage;
|
||||||
|
int lastRow;
|
||||||
|
int count;
|
||||||
|
|
||||||
|
Kolcontact({
|
||||||
|
required this.code,
|
||||||
|
required this.message,
|
||||||
|
required this.data,
|
||||||
|
required this.lastPage,
|
||||||
|
required this.lastRow,
|
||||||
|
required this.count,
|
||||||
|
});
|
||||||
|
|
||||||
|
factory Kolcontact.fromJson(Map<String, dynamic> json) => Kolcontact(
|
||||||
|
code: json["code"],
|
||||||
|
message: json["message"],
|
||||||
|
data: List<Datum>.from(json["data"].map((x) => Datum.fromJson(x))),
|
||||||
|
lastPage: json["last_page"],
|
||||||
|
lastRow: json["last_row"],
|
||||||
|
count: json["count"],
|
||||||
|
);
|
||||||
|
|
||||||
|
Map<String, dynamic> toJson() => {
|
||||||
|
"code": code,
|
||||||
|
"message": message,
|
||||||
|
"data": List<dynamic>.from(data.map((x) => x.toJson())),
|
||||||
|
"last_page": lastPage,
|
||||||
|
"last_row": lastRow,
|
||||||
|
"count": count,
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
class Datum {
|
||||||
|
String uniqueId;
|
||||||
|
dynamic profileImage;
|
||||||
|
String? npiNum;
|
||||||
|
String fullName;
|
||||||
|
String? specialityName;
|
||||||
|
List<dynamic> subSpecialities;
|
||||||
|
dynamic primaryOrganization;
|
||||||
|
String? primaryEmail;
|
||||||
|
int? primaryPhoneNumber;
|
||||||
|
dynamic primaryFax;
|
||||||
|
dynamic primaryCountry;
|
||||||
|
dynamic primaryState;
|
||||||
|
dynamic primaryCity;
|
||||||
|
dynamic primaryPostalCode;
|
||||||
|
dynamic profileDocumentUniqueId;
|
||||||
|
dynamic profileDocumentImage;
|
||||||
|
dynamic latitude;
|
||||||
|
dynamic longitude;
|
||||||
|
List<dynamic> organizations;
|
||||||
|
List<Email> emails;
|
||||||
|
List<Address> address;
|
||||||
|
List<StateLicense> stateLicense;
|
||||||
|
String createdByUser;
|
||||||
|
String updatedByUser;
|
||||||
|
dynamic deletedByUser;
|
||||||
|
DateTime formattedCreatedAt;
|
||||||
|
DateTime formattedUpdatedAt;
|
||||||
|
dynamic formattedDeletedAt;
|
||||||
|
dynamic profile;
|
||||||
|
|
||||||
|
Datum({
|
||||||
|
required this.uniqueId,
|
||||||
|
required this.profileImage,
|
||||||
|
required this.npiNum,
|
||||||
|
required this.fullName,
|
||||||
|
required this.specialityName,
|
||||||
|
required this.subSpecialities,
|
||||||
|
required this.primaryOrganization,
|
||||||
|
required this.primaryEmail,
|
||||||
|
required this.primaryPhoneNumber,
|
||||||
|
required this.primaryFax,
|
||||||
|
required this.primaryCountry,
|
||||||
|
required this.primaryState,
|
||||||
|
required this.primaryCity,
|
||||||
|
required this.primaryPostalCode,
|
||||||
|
required this.profileDocumentUniqueId,
|
||||||
|
required this.profileDocumentImage,
|
||||||
|
required this.latitude,
|
||||||
|
required this.longitude,
|
||||||
|
required this.organizations,
|
||||||
|
required this.emails,
|
||||||
|
required this.address,
|
||||||
|
required this.stateLicense,
|
||||||
|
required this.createdByUser,
|
||||||
|
required this.updatedByUser,
|
||||||
|
required this.deletedByUser,
|
||||||
|
required this.formattedCreatedAt,
|
||||||
|
required this.formattedUpdatedAt,
|
||||||
|
required this.formattedDeletedAt,
|
||||||
|
required this.profile,
|
||||||
|
});
|
||||||
|
|
||||||
|
factory Datum.fromJson(Map<String, dynamic> json) => Datum(
|
||||||
|
uniqueId: json["unique_id"],
|
||||||
|
profileImage: json["profile_image"],
|
||||||
|
npiNum: json["npi_num"],
|
||||||
|
fullName: json["full_name"],
|
||||||
|
specialityName: json["speciality_name"],
|
||||||
|
subSpecialities:
|
||||||
|
List<dynamic>.from(json["sub_specialities"].map((x) => x)),
|
||||||
|
primaryOrganization: json["primary_organization"],
|
||||||
|
primaryEmail: json["primary_email"],
|
||||||
|
primaryPhoneNumber: json["primary_phone_number"],
|
||||||
|
primaryFax: json["primary_fax"],
|
||||||
|
primaryCountry: json["primary_country"],
|
||||||
|
primaryState: json["primary_state"],
|
||||||
|
primaryCity: json["primary_city"],
|
||||||
|
primaryPostalCode: json["primary_postal_code"],
|
||||||
|
profileDocumentUniqueId: json["profile_document_unique_id"],
|
||||||
|
profileDocumentImage: json["profile_document_image"],
|
||||||
|
latitude: json["latitude"],
|
||||||
|
longitude: json["longitude"],
|
||||||
|
organizations: List<dynamic>.from(json["organizations"].map((x) => x)),
|
||||||
|
emails: List<Email>.from(json["emails"].map((x) => Email.fromJson(x))),
|
||||||
|
address:
|
||||||
|
List<Address>.from(json["address"].map((x) => Address.fromJson(x))),
|
||||||
|
stateLicense: List<StateLicense>.from(
|
||||||
|
json["state_license"].map((x) => StateLicense.fromJson(x))),
|
||||||
|
createdByUser: json["created_by_user"],
|
||||||
|
updatedByUser: json["updated_by_user"],
|
||||||
|
deletedByUser: json["deleted_by_user"],
|
||||||
|
formattedCreatedAt: DateTime.parse(json["formatted_created_at"]),
|
||||||
|
formattedUpdatedAt: DateTime.parse(json["formatted_updated_at"]),
|
||||||
|
formattedDeletedAt: json["formatted_deleted_at"],
|
||||||
|
profile: json["profile"],
|
||||||
|
);
|
||||||
|
|
||||||
|
Map<String, dynamic> toJson() => {
|
||||||
|
"unique_id": uniqueId,
|
||||||
|
"profile_image": profileImage,
|
||||||
|
"npi_num": npiNum,
|
||||||
|
"full_name": fullName,
|
||||||
|
"speciality_name": specialityName,
|
||||||
|
"sub_specialities": List<dynamic>.from(subSpecialities.map((x) => x)),
|
||||||
|
"primary_organization": primaryOrganization,
|
||||||
|
"primary_email": primaryEmail,
|
||||||
|
"primary_phone_number": primaryPhoneNumber,
|
||||||
|
"primary_fax": primaryFax,
|
||||||
|
"primary_country": primaryCountry,
|
||||||
|
"primary_state": primaryState,
|
||||||
|
"primary_city": primaryCity,
|
||||||
|
"primary_postal_code": primaryPostalCode,
|
||||||
|
"profile_document_unique_id": profileDocumentUniqueId,
|
||||||
|
"profile_document_image": profileDocumentImage,
|
||||||
|
"latitude": latitude,
|
||||||
|
"longitude": longitude,
|
||||||
|
"organizations": List<dynamic>.from(organizations.map((x) => x)),
|
||||||
|
"emails": List<dynamic>.from(emails.map((x) => x.toJson())),
|
||||||
|
"address": List<dynamic>.from(address.map((x) => x.toJson())),
|
||||||
|
"state_license":
|
||||||
|
List<dynamic>.from(stateLicense.map((x) => x.toJson())),
|
||||||
|
"created_by_user": createdByUser,
|
||||||
|
"updated_by_user": updatedByUser,
|
||||||
|
"deleted_by_user": deletedByUser,
|
||||||
|
"formatted_created_at": formattedCreatedAt.toIso8601String(),
|
||||||
|
"formatted_updated_at": formattedUpdatedAt.toIso8601String(),
|
||||||
|
"formatted_deleted_at": formattedDeletedAt,
|
||||||
|
"profile": profile,
|
||||||
|
};
|
||||||
|
|
||||||
|
// @override
|
||||||
|
// String toString() {
|
||||||
|
// // TODO: implement toString
|
||||||
|
// return profileImage.toString();
|
||||||
|
// }
|
||||||
|
}
|
||||||
|
|
||||||
|
class Address {
|
||||||
|
String address1;
|
||||||
|
String? address2;
|
||||||
|
String country;
|
||||||
|
String? state;
|
||||||
|
City city;
|
||||||
|
|
||||||
|
Address({
|
||||||
|
required this.address1,
|
||||||
|
required this.address2,
|
||||||
|
required this.country,
|
||||||
|
required this.state,
|
||||||
|
required this.city,
|
||||||
|
});
|
||||||
|
|
||||||
|
factory Address.fromJson(Map<String, dynamic> json) => Address(
|
||||||
|
address1: json["address1"],
|
||||||
|
address2: json["address2"],
|
||||||
|
country: json["country"],
|
||||||
|
state: json["state"],
|
||||||
|
city: cityValues.map[json["city"]]!,
|
||||||
|
);
|
||||||
|
|
||||||
|
Map<String, dynamic> toJson() => {
|
||||||
|
"address1": address1,
|
||||||
|
"address2": address2,
|
||||||
|
"country": country,
|
||||||
|
"state": state,
|
||||||
|
"city": cityValues.reverse[city],
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
enum City { ONTARIO }
|
||||||
|
|
||||||
|
final cityValues = EnumValues({"Ontario": City.ONTARIO});
|
||||||
|
|
||||||
|
class Email {
|
||||||
|
dynamic type;
|
||||||
|
String phoneNo;
|
||||||
|
|
||||||
|
Email({
|
||||||
|
required this.type,
|
||||||
|
required this.phoneNo,
|
||||||
|
});
|
||||||
|
|
||||||
|
factory Email.fromJson(Map<String, dynamic> json) => Email(
|
||||||
|
type: json["type"],
|
||||||
|
phoneNo: json["phone_no"],
|
||||||
|
);
|
||||||
|
|
||||||
|
Map<String, dynamic> toJson() => {
|
||||||
|
"type": type,
|
||||||
|
"phone_no": phoneNo,
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
class StateLicense {
|
||||||
|
String licenseNumber;
|
||||||
|
dynamic stateCode;
|
||||||
|
|
||||||
|
StateLicense({
|
||||||
|
required this.licenseNumber,
|
||||||
|
required this.stateCode,
|
||||||
|
});
|
||||||
|
|
||||||
|
factory StateLicense.fromJson(Map<String, dynamic> json) => StateLicense(
|
||||||
|
licenseNumber: json["license_number"],
|
||||||
|
stateCode: json["state_code"],
|
||||||
|
);
|
||||||
|
|
||||||
|
Map<String, dynamic> toJson() => {
|
||||||
|
"license_number": licenseNumber,
|
||||||
|
"state_code": stateCode,
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
class EnumValues<T> {
|
||||||
|
Map<String, T> map;
|
||||||
|
late Map<T, String> reverseMap;
|
||||||
|
|
||||||
|
EnumValues(this.map);
|
||||||
|
|
||||||
|
Map<T, String> get reverse {
|
||||||
|
reverseMap = map.map((k, v) => MapEntry(v, k));
|
||||||
|
return reverseMap;
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,51 @@
|
||||||
|
// To parse this JSON data, do
|
||||||
|
//
|
||||||
|
// final loc = locFromJson(jsonString);
|
||||||
|
|
||||||
|
import 'dart:convert';
|
||||||
|
|
||||||
|
List<Loc> locFromJson(String str) =>
|
||||||
|
List<Loc>.from(json.decode(str).map((x) => Loc.fromJson(x)));
|
||||||
|
|
||||||
|
String locToJson(List<Loc> data) =>
|
||||||
|
json.encode(List<dynamic>.from(data.map((x) => x.toJson())));
|
||||||
|
|
||||||
|
class Loc {
|
||||||
|
int id;
|
||||||
|
int userId;
|
||||||
|
String institution;
|
||||||
|
String address;
|
||||||
|
String city;
|
||||||
|
String state;
|
||||||
|
int postalCode;
|
||||||
|
|
||||||
|
Loc({
|
||||||
|
required this.id,
|
||||||
|
required this.userId,
|
||||||
|
required this.institution,
|
||||||
|
required this.address,
|
||||||
|
required this.city,
|
||||||
|
required this.state,
|
||||||
|
required this.postalCode,
|
||||||
|
});
|
||||||
|
|
||||||
|
factory Loc.fromJson(Map<String, dynamic> json) => Loc(
|
||||||
|
id: json["id"],
|
||||||
|
userId: json["user_id"],
|
||||||
|
institution: json["Institution"],
|
||||||
|
address: json["Address"],
|
||||||
|
city: json["City"],
|
||||||
|
state: json["State"],
|
||||||
|
postalCode: json["Postal_code"],
|
||||||
|
);
|
||||||
|
|
||||||
|
Map<String, dynamic> toJson() => {
|
||||||
|
"id": id,
|
||||||
|
"user_id": userId,
|
||||||
|
"Institution": institution,
|
||||||
|
"Address": address,
|
||||||
|
"City": city,
|
||||||
|
"State": state,
|
||||||
|
"Postal_code": postalCode,
|
||||||
|
};
|
||||||
|
}
|
|
@ -0,0 +1,100 @@
|
||||||
|
// To parse this JSON data, do
|
||||||
|
//
|
||||||
|
// final nih = nihFromJson(jsonString);
|
||||||
|
|
||||||
|
import 'dart:convert';
|
||||||
|
|
||||||
|
List<Nih> nihFromJson(String str) =>
|
||||||
|
List<Nih>.from(json.decode(str).map((x) => Nih.fromJson(x)));
|
||||||
|
|
||||||
|
String nihToJson(List<Nih> data) =>
|
||||||
|
json.encode(List<dynamic>.from(data.map((x) => x.toJson())));
|
||||||
|
|
||||||
|
class Nih {
|
||||||
|
int id;
|
||||||
|
int userId;
|
||||||
|
|
||||||
|
String piNames;
|
||||||
|
String firstName;
|
||||||
|
String middleName;
|
||||||
|
String lastName;
|
||||||
|
String organizationName;
|
||||||
|
String departmentName;
|
||||||
|
String orgCity;
|
||||||
|
String orgState;
|
||||||
|
String purpose;
|
||||||
|
String institute;
|
||||||
|
String totalCost;
|
||||||
|
String projectStart;
|
||||||
|
String projectEnd;
|
||||||
|
String budgetStart;
|
||||||
|
String budgetEnd;
|
||||||
|
String createdOn;
|
||||||
|
int piId;
|
||||||
|
|
||||||
|
Nih({
|
||||||
|
required this.id,
|
||||||
|
required this.userId,
|
||||||
|
required this.piNames,
|
||||||
|
required this.firstName,
|
||||||
|
required this.middleName,
|
||||||
|
required this.lastName,
|
||||||
|
required this.organizationName,
|
||||||
|
required this.departmentName,
|
||||||
|
required this.orgCity,
|
||||||
|
required this.orgState,
|
||||||
|
required this.purpose,
|
||||||
|
required this.institute,
|
||||||
|
required this.totalCost,
|
||||||
|
required this.projectStart,
|
||||||
|
required this.projectEnd,
|
||||||
|
required this.budgetStart,
|
||||||
|
required this.budgetEnd,
|
||||||
|
required this.createdOn,
|
||||||
|
required this.piId,
|
||||||
|
});
|
||||||
|
|
||||||
|
factory Nih.fromJson(Map<String, dynamic> json) => Nih(
|
||||||
|
id: json["id"],
|
||||||
|
userId: json["user_id"],
|
||||||
|
piNames: json["pi_names"],
|
||||||
|
firstName: json["first_name"],
|
||||||
|
middleName: json["middle_name"],
|
||||||
|
lastName: json["last_name"],
|
||||||
|
organizationName: json["organizationName"],
|
||||||
|
departmentName: json["departmentName"],
|
||||||
|
orgCity: json["org_city"],
|
||||||
|
orgState: json["org_state"],
|
||||||
|
purpose: json["purpose"],
|
||||||
|
institute: json["institute"],
|
||||||
|
totalCost: json["total_cost"],
|
||||||
|
projectStart: json["project_start"],
|
||||||
|
projectEnd: json["project_end"],
|
||||||
|
budgetStart: json["budget_start"],
|
||||||
|
budgetEnd: json["budget_end"],
|
||||||
|
createdOn: json["created_on"],
|
||||||
|
piId: json["pi_id"],
|
||||||
|
);
|
||||||
|
|
||||||
|
Map<String, dynamic> toJson() => {
|
||||||
|
"id": id,
|
||||||
|
"user_id": userId,
|
||||||
|
"pi_names": piNames,
|
||||||
|
"first_name": firstName,
|
||||||
|
"middle_name": middleName,
|
||||||
|
"last_name": lastName,
|
||||||
|
"organizationName": organizationName,
|
||||||
|
"departmentName": departmentName,
|
||||||
|
"org_city": orgCity,
|
||||||
|
"org_state": orgState,
|
||||||
|
"purpose": purpose,
|
||||||
|
"institute": institute,
|
||||||
|
"total_cost": totalCost,
|
||||||
|
"project_start": projectStart,
|
||||||
|
"project_end": projectEnd,
|
||||||
|
"budget_start": budgetStart,
|
||||||
|
"budget_end": budgetEnd,
|
||||||
|
"created_on": createdOn,
|
||||||
|
"pi_id": piId,
|
||||||
|
};
|
||||||
|
}
|
|
@ -0,0 +1,39 @@
|
||||||
|
// To parse this JSON data, do
|
||||||
|
//
|
||||||
|
// final patent = patentFromJson(jsonString);
|
||||||
|
|
||||||
|
import 'dart:convert';
|
||||||
|
|
||||||
|
List<Patent> patentFromJson(String str) =>
|
||||||
|
List<Patent>.from(json.decode(str).map((x) => Patent.fromJson(x)));
|
||||||
|
|
||||||
|
String patentToJson(List<Patent> data) =>
|
||||||
|
json.encode(List<dynamic>.from(data.map((x) => x.toJson())));
|
||||||
|
|
||||||
|
class Patent {
|
||||||
|
int id;
|
||||||
|
int userId;
|
||||||
|
String patentTitle;
|
||||||
|
String status;
|
||||||
|
|
||||||
|
Patent({
|
||||||
|
required this.id,
|
||||||
|
required this.userId,
|
||||||
|
required this.patentTitle,
|
||||||
|
required this.status,
|
||||||
|
});
|
||||||
|
|
||||||
|
factory Patent.fromJson(Map<String, dynamic> json) => Patent(
|
||||||
|
id: json["id"],
|
||||||
|
userId: json["user_id"],
|
||||||
|
patentTitle: json["Patent Title"],
|
||||||
|
status: json["Status"],
|
||||||
|
);
|
||||||
|
|
||||||
|
Map<String, dynamic> toJson() => {
|
||||||
|
"id": id,
|
||||||
|
"user_id": userId,
|
||||||
|
"Patent Title": patentTitle,
|
||||||
|
"Status": status,
|
||||||
|
};
|
||||||
|
}
|
|
@ -0,0 +1,43 @@
|
||||||
|
// To parse this JSON data, do
|
||||||
|
//
|
||||||
|
// final phoneno = phonenoFromJson(jsonString);
|
||||||
|
|
||||||
|
import 'dart:convert';
|
||||||
|
|
||||||
|
List<Phoneno> phonenoFromJson(String str) =>
|
||||||
|
List<Phoneno>.from(json.decode(str).map((x) => Phoneno.fromJson(x)));
|
||||||
|
|
||||||
|
String phonenoToJson(List<Phoneno> data) =>
|
||||||
|
json.encode(List<dynamic>.from(data.map((x) => x.toJson())));
|
||||||
|
|
||||||
|
class Phoneno {
|
||||||
|
int id;
|
||||||
|
int userId;
|
||||||
|
String phoneType;
|
||||||
|
String locations;
|
||||||
|
String phoneNumber;
|
||||||
|
|
||||||
|
Phoneno({
|
||||||
|
required this.id,
|
||||||
|
required this.userId,
|
||||||
|
required this.phoneType,
|
||||||
|
required this.locations,
|
||||||
|
required this.phoneNumber,
|
||||||
|
});
|
||||||
|
|
||||||
|
factory Phoneno.fromJson(Map<String, dynamic> json) => Phoneno(
|
||||||
|
id: json["id"],
|
||||||
|
userId: json["user_id"],
|
||||||
|
phoneType: json["Phone type"],
|
||||||
|
locations: json["Locations"],
|
||||||
|
phoneNumber: json["phone Number"],
|
||||||
|
);
|
||||||
|
|
||||||
|
Map<String, dynamic> toJson() => {
|
||||||
|
"id": id,
|
||||||
|
"user_id": userId,
|
||||||
|
"Phone type": phoneType,
|
||||||
|
"Locations": locations,
|
||||||
|
"phone Number": phoneNumber,
|
||||||
|
};
|
||||||
|
}
|
|
@ -0,0 +1,59 @@
|
||||||
|
// To parse this JSON data, do
|
||||||
|
//
|
||||||
|
// final pro = proFromJson(jsonString);
|
||||||
|
|
||||||
|
import 'dart:convert';
|
||||||
|
|
||||||
|
List<Pro> proFromJson(String str) =>
|
||||||
|
List<Pro>.from(json.decode(str).map((x) => Pro.fromJson(x)));
|
||||||
|
|
||||||
|
String proToJson(List<Pro> data) =>
|
||||||
|
json.encode(List<dynamic>.from(data.map((x) => x.toJson())));
|
||||||
|
|
||||||
|
class Pro {
|
||||||
|
int id;
|
||||||
|
int userId;
|
||||||
|
int procedureCode;
|
||||||
|
String procedure;
|
||||||
|
String placeOfService;
|
||||||
|
int totalBeneficiaries;
|
||||||
|
int totalServices;
|
||||||
|
int totalBeneDayServices;
|
||||||
|
int programYear;
|
||||||
|
|
||||||
|
Pro({
|
||||||
|
required this.id,
|
||||||
|
required this.userId,
|
||||||
|
required this.procedureCode,
|
||||||
|
required this.procedure,
|
||||||
|
required this.placeOfService,
|
||||||
|
required this.totalBeneficiaries,
|
||||||
|
required this.totalServices,
|
||||||
|
required this.totalBeneDayServices,
|
||||||
|
required this.programYear,
|
||||||
|
});
|
||||||
|
|
||||||
|
factory Pro.fromJson(Map<String, dynamic> json) => Pro(
|
||||||
|
id: json["id"],
|
||||||
|
userId: json["user_id"],
|
||||||
|
procedureCode: json["Procedure code"],
|
||||||
|
procedure: json["Procedure"],
|
||||||
|
placeOfService: json["Place of Service"],
|
||||||
|
totalBeneficiaries: json["Total Beneficiaries"],
|
||||||
|
totalServices: json["Total Services"],
|
||||||
|
totalBeneDayServices: json["Total_bene_day_services"],
|
||||||
|
programYear: json["Program year"],
|
||||||
|
);
|
||||||
|
|
||||||
|
Map<String, dynamic> toJson() => {
|
||||||
|
"id": id,
|
||||||
|
"user_id": userId,
|
||||||
|
"Procedure code": procedureCode,
|
||||||
|
"Procedure": procedure,
|
||||||
|
"Place of Service": placeOfService,
|
||||||
|
"Total Beneficiaries": totalBeneficiaries,
|
||||||
|
"Total Services": totalServices,
|
||||||
|
"Total_bene_day_services": totalBeneDayServices,
|
||||||
|
"Program year": programYear,
|
||||||
|
};
|
||||||
|
}
|
|
@ -0,0 +1,55 @@
|
||||||
|
// To parse this JSON data, do
|
||||||
|
//
|
||||||
|
// final publications = publicationsFromJson(jsonString);
|
||||||
|
|
||||||
|
import 'dart:convert';
|
||||||
|
|
||||||
|
List<Publications> publicationsFromJson(String str) => List<Publications>.from(
|
||||||
|
json.decode(str).map((x) => Publications.fromJson(x)));
|
||||||
|
|
||||||
|
String publicationsToJson(List<Publications> data) =>
|
||||||
|
json.encode(List<dynamic>.from(data.map((x) => x.toJson())));
|
||||||
|
|
||||||
|
class Publications {
|
||||||
|
int id;
|
||||||
|
int userId;
|
||||||
|
String articalTitle;
|
||||||
|
String journalName;
|
||||||
|
DateTime date;
|
||||||
|
String author;
|
||||||
|
dynamic createdAt;
|
||||||
|
dynamic updatedAt;
|
||||||
|
|
||||||
|
Publications({
|
||||||
|
required this.id,
|
||||||
|
required this.userId,
|
||||||
|
required this.articalTitle,
|
||||||
|
required this.journalName,
|
||||||
|
required this.date,
|
||||||
|
required this.author,
|
||||||
|
required this.createdAt,
|
||||||
|
required this.updatedAt,
|
||||||
|
});
|
||||||
|
|
||||||
|
factory Publications.fromJson(Map<String, dynamic> json) => Publications(
|
||||||
|
id: json["id"],
|
||||||
|
userId: json["user_id"],
|
||||||
|
articalTitle: json["artical_title"],
|
||||||
|
journalName: json["journal_name"],
|
||||||
|
date: DateTime.parse(json["date"]),
|
||||||
|
author: json["author"],
|
||||||
|
createdAt: json["created_at"],
|
||||||
|
updatedAt: json["updated_at"],
|
||||||
|
);
|
||||||
|
|
||||||
|
Map<String, dynamic> toJson() => {
|
||||||
|
"id": id,
|
||||||
|
"user_id": userId,
|
||||||
|
"artical_title": articalTitle,
|
||||||
|
"journal_name": journalName,
|
||||||
|
"date": date.toIso8601String(),
|
||||||
|
"author": author,
|
||||||
|
"created_at": createdAt,
|
||||||
|
"updated_at": updatedAt,
|
||||||
|
};
|
||||||
|
}
|
|
@ -0,0 +1,103 @@
|
||||||
|
class Publication {
|
||||||
|
int id;
|
||||||
|
int userId;
|
||||||
|
String articleTitle;
|
||||||
|
String journalName;
|
||||||
|
DateTime date;
|
||||||
|
String author;
|
||||||
|
DateTime? createdAt;
|
||||||
|
DateTime? updatedAt;
|
||||||
|
|
||||||
|
Publication({
|
||||||
|
required this.id,
|
||||||
|
required this.userId,
|
||||||
|
required this.articleTitle,
|
||||||
|
required this.journalName,
|
||||||
|
required this.date,
|
||||||
|
required this.author,
|
||||||
|
this.createdAt,
|
||||||
|
this.updatedAt,
|
||||||
|
});
|
||||||
|
|
||||||
|
// Convert a Publication to a Map
|
||||||
|
Map<String, dynamic> toMap() {
|
||||||
|
return {
|
||||||
|
'id': id,
|
||||||
|
'user_id': userId,
|
||||||
|
'article_title': articleTitle,
|
||||||
|
'journal_name': journalName,
|
||||||
|
'date': date.toIso8601String(),
|
||||||
|
'author': author,
|
||||||
|
'created_at': createdAt?.toIso8601String(),
|
||||||
|
'updated_at': updatedAt?.toIso8601String(),
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
// Create a Publication from a Map
|
||||||
|
factory Publication.fromMap(Map<String, dynamic> map) {
|
||||||
|
return Publication(
|
||||||
|
id: map['id'],
|
||||||
|
userId: map['user_id'],
|
||||||
|
articleTitle: map['article_title'],
|
||||||
|
journalName: map['journal_name'],
|
||||||
|
date: DateTime.parse(map['date']),
|
||||||
|
author: map['author'],
|
||||||
|
createdAt:
|
||||||
|
map['created_at'] != null ? DateTime.parse(map['created_at']) : null,
|
||||||
|
updatedAt:
|
||||||
|
map['updated_at'] != null ? DateTime.parse(map['updated_at']) : null,
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
class Affiliation {
|
||||||
|
int id;
|
||||||
|
int userId;
|
||||||
|
String articleTitle;
|
||||||
|
String journalName;
|
||||||
|
DateTime date;
|
||||||
|
String author;
|
||||||
|
DateTime? createdAt;
|
||||||
|
DateTime? updatedAt;
|
||||||
|
|
||||||
|
Affiliation({
|
||||||
|
required this.id,
|
||||||
|
required this.userId,
|
||||||
|
required this.articleTitle,
|
||||||
|
required this.journalName,
|
||||||
|
required this.date,
|
||||||
|
required this.author,
|
||||||
|
this.createdAt,
|
||||||
|
this.updatedAt,
|
||||||
|
});
|
||||||
|
|
||||||
|
// Convert an Affiliation to a Map
|
||||||
|
Map<String, dynamic> toMap() {
|
||||||
|
return {
|
||||||
|
'id': id,
|
||||||
|
'user_id': userId,
|
||||||
|
'article_title': articleTitle,
|
||||||
|
'journal_name': journalName,
|
||||||
|
'date': date.toIso8601String(),
|
||||||
|
'author': author,
|
||||||
|
'created_at': createdAt?.toIso8601String(),
|
||||||
|
'updated_at': updatedAt?.toIso8601String(),
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
// Create an Affiliation from a Map
|
||||||
|
factory Affiliation.fromMap(Map<String, dynamic> map) {
|
||||||
|
return Affiliation(
|
||||||
|
id: map['id'],
|
||||||
|
userId: map['user_id'],
|
||||||
|
articleTitle: map['article_title'],
|
||||||
|
journalName: map['journal_name'],
|
||||||
|
date: DateTime.parse(map['date']),
|
||||||
|
author: map['author'],
|
||||||
|
createdAt:
|
||||||
|
map['created_at'] != null ? DateTime.parse(map['created_at']) : null,
|
||||||
|
updatedAt:
|
||||||
|
map['updated_at'] != null ? DateTime.parse(map['updated_at']) : null,
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,82 @@
|
||||||
|
// To parse this JSON data, do
|
||||||
|
//
|
||||||
|
// final userdetails = userdetailsFromJson(jsonString);
|
||||||
|
|
||||||
|
import 'dart:convert';
|
||||||
|
|
||||||
|
Userdetails userdetailsFromJson(String str) =>
|
||||||
|
Userdetails.fromJson(json.decode(str));
|
||||||
|
|
||||||
|
String userdetailsToJson(Userdetails data) => json.encode(data.toJson());
|
||||||
|
|
||||||
|
class Userdetails {
|
||||||
|
int id;
|
||||||
|
String name;
|
||||||
|
String email;
|
||||||
|
DateTime emailVerifiedAt;
|
||||||
|
String summarry;
|
||||||
|
String addr;
|
||||||
|
int licenseNo;
|
||||||
|
String pSuffix;
|
||||||
|
String speciality;
|
||||||
|
String subSpeciality;
|
||||||
|
int phoneNo;
|
||||||
|
int rank;
|
||||||
|
int score;
|
||||||
|
dynamic createdAt;
|
||||||
|
dynamic updatedAt;
|
||||||
|
|
||||||
|
Userdetails({
|
||||||
|
required this.id,
|
||||||
|
required this.name,
|
||||||
|
required this.email,
|
||||||
|
required this.emailVerifiedAt,
|
||||||
|
required this.summarry,
|
||||||
|
required this.addr,
|
||||||
|
required this.licenseNo,
|
||||||
|
required this.pSuffix,
|
||||||
|
required this.speciality,
|
||||||
|
required this.subSpeciality,
|
||||||
|
required this.phoneNo,
|
||||||
|
required this.rank,
|
||||||
|
required this.score,
|
||||||
|
required this.createdAt,
|
||||||
|
required this.updatedAt,
|
||||||
|
});
|
||||||
|
|
||||||
|
factory Userdetails.fromJson(Map<String, dynamic> json) => Userdetails(
|
||||||
|
id: json["id"],
|
||||||
|
name: json["name"],
|
||||||
|
email: json["email"],
|
||||||
|
emailVerifiedAt: DateTime.parse(json["email_verified_at"]),
|
||||||
|
summarry: json["summarry"],
|
||||||
|
addr: json["addr"],
|
||||||
|
licenseNo: json["license_no"],
|
||||||
|
pSuffix: json["p_suffix"],
|
||||||
|
speciality: json["speciality"],
|
||||||
|
subSpeciality: json["sub_speciality"],
|
||||||
|
phoneNo: json["phone_no"],
|
||||||
|
rank: json["rank"],
|
||||||
|
score: json["score"],
|
||||||
|
createdAt: json["created_at"],
|
||||||
|
updatedAt: json["updated_at"],
|
||||||
|
);
|
||||||
|
|
||||||
|
Map<String, dynamic> toJson() => {
|
||||||
|
"id": id,
|
||||||
|
"name": name,
|
||||||
|
"email": email,
|
||||||
|
"email_verified_at": emailVerifiedAt.toIso8601String(),
|
||||||
|
"summarry": summarry,
|
||||||
|
"addr": addr,
|
||||||
|
"license_no": licenseNo,
|
||||||
|
"p_suffix": pSuffix,
|
||||||
|
"speciality": speciality,
|
||||||
|
"sub_speciality": subSpeciality,
|
||||||
|
"phone_no": phoneNo,
|
||||||
|
"rank": rank,
|
||||||
|
"score": score,
|
||||||
|
"created_at": createdAt,
|
||||||
|
"updated_at": updatedAt,
|
||||||
|
};
|
||||||
|
}
|
|
@ -0,0 +1,55 @@
|
||||||
|
// To parse this JSON data, do
|
||||||
|
//
|
||||||
|
// final speaker = speakerFromJson(jsonString);
|
||||||
|
|
||||||
|
import 'dart:convert';
|
||||||
|
|
||||||
|
List<Speaker> speakerFromJson(String str) =>
|
||||||
|
List<Speaker>.from(json.decode(str).map((x) => Speaker.fromJson(x)));
|
||||||
|
|
||||||
|
String speakerToJson(List<Speaker> data) =>
|
||||||
|
json.encode(List<dynamic>.from(data.map((x) => x.toJson())));
|
||||||
|
|
||||||
|
class Speaker {
|
||||||
|
int id;
|
||||||
|
String programtopic;
|
||||||
|
String speakername;
|
||||||
|
String role;
|
||||||
|
String evaluatorname;
|
||||||
|
String programdate;
|
||||||
|
DateTime createdAt;
|
||||||
|
DateTime updatedAt;
|
||||||
|
|
||||||
|
Speaker({
|
||||||
|
required this.id,
|
||||||
|
required this.programtopic,
|
||||||
|
required this.speakername,
|
||||||
|
required this.role,
|
||||||
|
required this.evaluatorname,
|
||||||
|
required this.programdate,
|
||||||
|
required this.createdAt,
|
||||||
|
required this.updatedAt,
|
||||||
|
});
|
||||||
|
|
||||||
|
factory Speaker.fromJson(Map<String, dynamic> json) => Speaker(
|
||||||
|
id: json["id"],
|
||||||
|
programtopic: json["programtopic"],
|
||||||
|
speakername: json["speakername"],
|
||||||
|
role: json["role"],
|
||||||
|
evaluatorname: json["evaluatorname"],
|
||||||
|
programdate: json["programdate"],
|
||||||
|
createdAt: DateTime.parse(json["created_at"]),
|
||||||
|
updatedAt: DateTime.parse(json["updated_at"]),
|
||||||
|
);
|
||||||
|
|
||||||
|
Map<String, dynamic> toJson() => {
|
||||||
|
"id": id,
|
||||||
|
"programtopic": programtopic,
|
||||||
|
"speakername": speakername,
|
||||||
|
"role": role,
|
||||||
|
"evaluatorname": evaluatorname,
|
||||||
|
"programdate": programdate,
|
||||||
|
"created_at": createdAt.toIso8601String(),
|
||||||
|
"updated_at": updatedAt.toIso8601String(),
|
||||||
|
};
|
||||||
|
}
|
|
@ -0,0 +1,51 @@
|
||||||
|
// To parse this JSON data, do
|
||||||
|
//
|
||||||
|
// final traning = traningFromJson(jsonString);
|
||||||
|
|
||||||
|
import 'dart:convert';
|
||||||
|
|
||||||
|
List<Traning> traningFromJson(String str) =>
|
||||||
|
List<Traning>.from(json.decode(str).map((x) => Traning.fromJson(x)));
|
||||||
|
|
||||||
|
String traningToJson(List<Traning> data) =>
|
||||||
|
json.encode(List<dynamic>.from(data.map((x) => x.toJson())));
|
||||||
|
|
||||||
|
class Traning {
|
||||||
|
int id;
|
||||||
|
int userId;
|
||||||
|
String educationType;
|
||||||
|
String institutionName;
|
||||||
|
String degree;
|
||||||
|
String specialty;
|
||||||
|
String timeFrame;
|
||||||
|
|
||||||
|
Traning({
|
||||||
|
required this.id,
|
||||||
|
required this.userId,
|
||||||
|
required this.educationType,
|
||||||
|
required this.institutionName,
|
||||||
|
required this.degree,
|
||||||
|
required this.specialty,
|
||||||
|
required this.timeFrame,
|
||||||
|
});
|
||||||
|
|
||||||
|
factory Traning.fromJson(Map<String, dynamic> json) => Traning(
|
||||||
|
id: json["id"],
|
||||||
|
userId: json["user_id"],
|
||||||
|
educationType: json["Education Type"],
|
||||||
|
institutionName: json["Institution Name"],
|
||||||
|
degree: json["Degree"],
|
||||||
|
specialty: json["Specialty"],
|
||||||
|
timeFrame: json["Time Frame"],
|
||||||
|
);
|
||||||
|
|
||||||
|
Map<String, dynamic> toJson() => {
|
||||||
|
"id": id,
|
||||||
|
"user_id": userId,
|
||||||
|
"Education Type": educationType,
|
||||||
|
"Institution Name": institutionName,
|
||||||
|
"Degree": degree,
|
||||||
|
"Specialty": specialty,
|
||||||
|
"Time Frame": timeFrame,
|
||||||
|
};
|
||||||
|
}
|
|
@ -0,0 +1,67 @@
|
||||||
|
// To parse this JSON data, do
|
||||||
|
//
|
||||||
|
// final trials = trialsFromJson(jsonString);
|
||||||
|
|
||||||
|
import 'dart:convert';
|
||||||
|
|
||||||
|
List<Trials> trialsFromJson(String str) =>
|
||||||
|
List<Trials>.from(json.decode(str).map((x) => Trials.fromJson(x)));
|
||||||
|
|
||||||
|
String trialsToJson(List<Trials> data) =>
|
||||||
|
json.encode(List<dynamic>.from(data.map((x) => x.toJson())));
|
||||||
|
|
||||||
|
class Trials {
|
||||||
|
int id;
|
||||||
|
int userId;
|
||||||
|
String ctId;
|
||||||
|
String trialName;
|
||||||
|
String status;
|
||||||
|
String sponsors;
|
||||||
|
String condition;
|
||||||
|
String intervention;
|
||||||
|
String phase;
|
||||||
|
dynamic createdAt;
|
||||||
|
dynamic updatedAt;
|
||||||
|
|
||||||
|
Trials({
|
||||||
|
required this.id,
|
||||||
|
required this.userId,
|
||||||
|
required this.ctId,
|
||||||
|
required this.trialName,
|
||||||
|
required this.status,
|
||||||
|
required this.sponsors,
|
||||||
|
required this.condition,
|
||||||
|
required this.intervention,
|
||||||
|
required this.phase,
|
||||||
|
required this.createdAt,
|
||||||
|
required this.updatedAt,
|
||||||
|
});
|
||||||
|
|
||||||
|
factory Trials.fromJson(Map<String, dynamic> json) => Trials(
|
||||||
|
id: json["id"],
|
||||||
|
userId: json["user_id"],
|
||||||
|
ctId: json["ct_id"],
|
||||||
|
trialName: json["trial_name"],
|
||||||
|
status: json["status"],
|
||||||
|
sponsors: json["sponsors"],
|
||||||
|
condition: json["condition"],
|
||||||
|
intervention: json["intervention"],
|
||||||
|
phase: json["phase"],
|
||||||
|
createdAt: json["created_at"],
|
||||||
|
updatedAt: json["updated_at"],
|
||||||
|
);
|
||||||
|
|
||||||
|
Map<String, dynamic> toJson() => {
|
||||||
|
"id": id,
|
||||||
|
"user_id": userId,
|
||||||
|
"ct_id": ctId,
|
||||||
|
"trial_name": trialName,
|
||||||
|
"status": status,
|
||||||
|
"sponsors": sponsors,
|
||||||
|
"condition": condition,
|
||||||
|
"intervention": intervention,
|
||||||
|
"phase": phase,
|
||||||
|
"created_at": createdAt,
|
||||||
|
"updated_at": updatedAt,
|
||||||
|
};
|
||||||
|
}
|
|
@ -0,0 +1,10 @@
|
||||||
|
import 'dart:async';
|
||||||
|
|
||||||
|
import 'package:connectivity_plus/connectivity_plus.dart';
|
||||||
|
|
||||||
|
class NetworkConnectivity {
|
||||||
|
Future<bool> isInternetAvailable() async {
|
||||||
|
var connectivityResult = await (Connectivity().checkConnectivity());
|
||||||
|
return connectivityResult != ConnectivityResult.none;
|
||||||
|
}
|
||||||
|
}
|