This commit is contained in:
2021-09-03 20:39:46 +00:00
parent 539d7d839a
commit 11f0970392
2 changed files with 123 additions and 122 deletions

View File

@@ -14,47 +14,47 @@ todo: document that emojis can be used in any text field and key combo on window
todo: WIKI controls
todo: DATA TABLES
(NOTE: stick to "Data table" terminology, previously was mixed use as "grid", not a grid anywhere, "Data table")
Need help page specific to DataTable usage, link to it from the top of all manual pages that are for DataList UI pages (e.g. Customers page)
Note: arbitrary 1024 max char text field length, truncates after that.
Note: Special note to indicate that filtering by a column then hiding that column is supported as a feature
User won't see the filtered column if they hid it but the filter still applies
User can tell it's still filtered by the prescence of the filter reset button (circle with X inside) to the right of the filter selection list
note: filtering system, column view system, saving filter, case sensitivity, tokens etc
hidden query-affecting columns: Data Table column selector button will change to larger and accented when this is the case and the column selector form will highlight these hidden columns that affect the view with raised elevation, accent color and filter+sort icon (both show, there is no distinction which type of way it's affecting)
Data table filtering on Duration / interval type columns:
Filters are limited to greater than or less than due to nature of this type of data which is very hard to match precisely due to millisecond differences
making equals or not equals useless for exact comparison. In addition these types of fields always have a value even if it's zero so they don't work with Has value / no Value either
Greater than and less than can be used to match any value desired by using two filters one greater one less and use of the OR or AND option as appropriate
Need help page specific to DataTable usage, link to it from the top of all manual pages that are for DataList UI pages (e.g. Customers page)
Note: arbitrary 1024 max char text field length, truncates after that.
Note: Special note to indicate that filtering by a column then hiding that column is supported as a feature
User won't see the filtered column if they hid it but the filter still applies
User can tell it's still filtered by the prescence of the filter reset button (circle with X inside) to the right of the filter selection list
note: filtering system, column view system, saving filter, case sensitivity, tokens etc
hidden query-affecting columns: Data Table column selector button will change to larger and accented when this is the case and the column selector form will highlight these hidden columns that affect the view with raised elevation, accent color and filter+sort icon (both show, there is no distinction which type of way it's affecting)
Data table filtering on Duration / interval type columns:
Filters are limited to greater than or less than due to nature of this type of data which is very hard to match precisely due to millisecond differences
making equals or not equals useless for exact comparison. In addition these types of fields always have a value even if it's zero so they don't work with Has value / no Value either
Greater than and less than can be used to match any value desired by using two filters one greater one less and use of the OR or AND option as appropriate
## Data Table TAG filters
All tags are lower case always, case is not relevant in Tag filters.
## Data Table TAG filters
Order is not relevant in Tag filters, so {green, red} is no different than {red, green} when filtering is applied
All tags are lower case always, case is not relevant in Tag filters.
### Filter types supported
Order is not relevant in Tag filters, so {green, red} is no different than {red, green} when filtering is applied
#### Equality
Exactly equal compare entire search term array to tag array in db - all terms in search exactly present and no others in db record
e.g. {red,green,blue} will return records with tags {green,red,blue} but *not* match {red,green,blue,orange}
### Filter types supported
#### Not equal
The opposite of Equality; specifically exclude rows that exactly match all the search terms
e.g. {red,green,blue} will return records with tags {red,green,blue,orange} but *not* match {green,red,blue}
#### Equality
Exactly equal compare entire search term array to tag array in db - all terms in search exactly present and no others in db record
e.g. {red,green,blue} will return records with tags {green,red,blue} but *not* match {red,green,blue,orange}
#### NO value
Will return records with no tags set at all
#### Not equal
The opposite of Equality; specifically exclude rows that exactly match all the search terms
e.g. {red,green,blue} will return records with tags {red,green,blue,orange} but *not* match {green,red,blue}
#### Has value
Will return records with any tag set
#### NO value
Will return records with no tags set at all
#### Contains
Returns records that contain the specified search tags. Records may have other additional tags but that's ok as long as it has the search term ones
e.g. {red,green,blue} will return records with tags {green,red,blue} and also {red,green,blue,orange}
#### Has value
Will return records with any tag set
#### Not contains
All terms in search query *NOT* present in db record, don't care what else is in db record as long as it's not the search terms (order insensitive)
e.g. {red,green,blue} will not return records with tags {green,red,blue} and also not return {red,green,blue,orange} but would return {red,green,black}
#### Contains
Returns records that contain the specified search tags. Records may have other additional tags but that's ok as long as it has the search term ones
e.g. {red,green,blue} will return records with tags {green,red,blue} and also {red,green,blue,orange}
#### Not contains
All terms in search query *NOT* present in db record, don't care what else is in db record as long as it's not the search terms (order insensitive)
e.g. {red,green,blue} will not return records with tags {green,red,blue} and also not return {red,green,blue,orange} but would return {red,green,black}