icon picker
Daily-Dev-Notes

Horizon (Next)

Form Sidebar Links
Reports
Charts

-

Short Term Objectives

Ability to do all of the basic Form-Customizer functionality
Configure Sidebar Links
Create Form
Edit Form Properties (Single & Multi-Rec)

-

Test Links

Add Field to the “Test Field Types Table”

-

Loose-Ends to Finish & Dependencies


Sidebar-Items - Programmatic Control & Built-In Options

Bug: Devs should be able to modify all of the fields on the "Field Properties"
https://localhost:7295/form/field/100/rec/100061
Options/Sidebar-Links Manager
Setup the Add/Edit Sidebar Form
Custom Gen Form OR We could try to do as a View
But the Selection of which Form, Report or Template is tricky
Setup the TableElement and DataTableElement Control
for showing the “List-Overview” style
since the List-Overview and Sidebar-Links Manager will be the same
(ideally with the Pagination so that only shows 100 items max)
Sidebar Links Service (Programmatic Control)
When we Navigate to a new page that is not a view, we need to have the Options (”SidebarLinks”) reset
otherwise it will just keep it from the last one
“Customizer” Built-In Sidebar links (as a sub-menu)
(Or do we have a “Customizer-View” where we show the field types instead since we could be doing it where we don’t have a record yet!)
“Add Section”
“Add Field” ?
“Form Properties”
“Sidebar-Links”
“Customizer Modification History”
Bug - “Add Field” to Section isn’t adding it in the right order
Also, its allowing duplicates
When we have the “view_id” then we should be able to get the existing ones for the view and exclude them
Gen-HTML - views.“hint” at the top of the form

Directory-Functionality

The Directory is “group” based, so we use their “default-group” if there isn’t a “group_id/key” passed in via the QS.
Permissions: The “directory-users” don’t have access into the main system, so when they login, it checks for this “is_directory_user” (or “user_type_id”) flag and if so then will redirect them to their “default_group_id” unless there is a “group_id” in the QS when they login, like when they are coming from an email about it (but in those cases, we should be sending them to the “group activity page” or their own profile page so that they can update it.)

Group Creation:
Groups are a “Contact” (since they have all of same social fields, just like an “Org”)
so we have to setup the “contact_type_id”
persons
orgs
groups (essentially an Org, so only separate type so we can make it easier to show different forms for each of them)
see #cover-page functionality which allows us to configure a different form to use per contact based on a filter (maybe just list-attribute for “contact_type” list)
Banner
so we have to allow regular people to have their banner image too
Requires that the user has the permission to “Create Groups”
since this is a premium/paid feature

“Groups”
(”Relationships” Table)
Invited-Date
Started-Date
Ended-Date
Why-Joined/Started
Why-Ended
is_active
(the main key to whether they can still access it)
General Memo
group_permission_id
Invite/Add User Form
(Main switch is between the “is_directory_user” vs internal users)
name
email
group
if the person is an admin of multiple groups
otherwise it default to the adding users “default-group”
(if they are adding )
“group_permission_id” permission level (when “is_directory_user”)
“Full-Admin”
“Regular User”
memo
ideally if it was completely private
like on the “user” table
so the user never sees it
like “why full-admin” or why was invited
Creates the “relationship” rec
with the invited-date and invited-by
User-Invite-Accept form
(Similar functionality as the Password-Reset)
Has to be custom form
to validate the invite code
unless we can have custom-validation injected
and the invite code is submitted like an input field but taken from the QS
but we can configure the redirect-form
like in the config
Terms of Service Agreement for the Group
View-Only-Textarea
Really just shows a “welcome message” and fields for
name
email
phone-number (for MFA)
password
[group_id]
The real checking for legit invite code is done in the API
so we don’t even really need to do it Onload
but we have to prefill the name and email fields ideally
User-Profile-Form
(Ideally we do the single-field at a time UX, to walk them through it the first time.)
so we would show all of the fields once they have entered all of them
Photo is required
Typical Bio
What is your “WHY”
Skills Mastered
Skills Learning
Skills Interested in Learning
Skills Teaching
How would they like to give back
Current Employer (Creates a Contact Rec)
(”Relationships” table to be able to provide employment history)
Has to include the City and/or State next to the name
since there can be similar named biz in each
If they create the Org rec then they are the “owner” (entered-by)
which allows them to update it
Ideal Role and Vision
What are their biggest challenges
What are their goals for the next 12 months
Religion or Spiritual-Journey
Textarea
so they feel inclined to elaborate
Single-Field-at-a-time Focus
like the Typeform style
so that the form doesn’t seem overwhelming
Photo Upload & Management
using the docs table
but create a sib-table just for “Photos”
with filter for the doc_type_id = key:photo
photo-management fields
name (”Title”)
memo
order
is_default
(or just have “ord” = 1 for default)

(Gets into Docs-Management)
“Dynamic/Flip-Photo” Functionality
When clicking/taping/hovering over a photo, it will change to a different
much more dynamic one
“Group Specific Photo” functionality
to be able to use a different photo for groups

“Group-Directory-Browser”

The Key is being able to lazy-load by scrolling down
or just simply page through
and to be able to search by name (like you just met someone)
and tags
like “mtb” (which has a vector that translates to cycling/mountain-biking”)
Directory-Cards Include
(Essentially just like LinkedIn style but with location)
Photo
Name
Location
Might be “Neighborhood” or even their actual address if its for an HOA
Title/Specialty/Profession (LinkedIn Tagline)
When part of multiple groups then it shows the shared/groups-in-common below the persons photo
% Compatiblity Match
For when there is a good chance that you should connect


Bulk-Emails Functionality

For group admins to be able to message the whole group.
Free plan only allows one blast per week. So have to keep up with metrics, or have a groups-next_bulk_email_allowed_datetime (to abstract this functionality)








DataTableElement for Single-Row Forms (View-Forms Only)
WHY: Needed for all sorts of places and to finish the FrmGen
since we are using a super simple way compared to the reports
“Viewing X of Y Records | View All” → Opens Report
Do we actually use a Handlebars Templates
So we generate the Card, Table, TH and a loop through the Data with the TRs
“No Recs” will be handled like all of the other forms.






List-Management
we should be able to pass in the rec_type_id to be able to view the disabled/deleted ones
Fields - Setup the Pre and Postfix for the View Forms
test with “$” for a currency field
Test for
Forms
Data-Explorer
Popup
Why is “Address Type” field using the wrong List
Rec-Saver - ensure that always encodes HTML
Data-Explorer
Error from the RecSaver should be showing up in the ValidationMessages
Have to be able to setup a “test-error” way
like passing in a special “IsTestError” param to the RecSaver
Should be showing at the top and bottom of the form
(again)
MyForm - (FormRender())
Test that ShowMajorError works when FormRender breaks
Both in regular Form.razor and in the Modal


Alerts
Add/Edit Alerts Form (View)
with the built-in “Delete Record” option
Uses the AlertBars Service
will have an async API call to get this per record when looking at a main rec or details of a multi-rec (or case rec)
Checklists
Should be able to enter “Linked-Fields” or “via Form” when entering a checklist completed date
User.IsAuthenticated
Is there a better way to check this in the code-behind so doesn’t load any of the HTML
if they aren’t logged in
Schema-Explorer Setup
Schema-Explorer-Details (not-data-explorer)
Add Comp for “Sub-Tables”
(Requires the “DataTableElement”)
including 1:1-Tables
with
id
name
table-type
memo
CurrentUser Check if Can Customize before allowing the Customizer Contextmenu options
/// TODO: Ensure that this will work properly from here instead instead of having to do it in each page /// Will auto-redirect if not logged in isUserAuthenticated = await UserSessionService.Init();
Bug: Field-Order for New Fields isn’t working properly
/api/views/fields/add
Want to print your doc?
This is not the way.
Try clicking the ⋯ next to your doc name or using a keyboard shortcut (
CtrlP
) instead.