Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Info

This is a page to show how to use ConfiForms Filters by example

ConfiForms filters is the core component of the app and is used absolutely everywhere where you need to describe a condition, filter the dataset or setup the behaviour (field and IFTTT rules)

In this example we will be more focused on filtering the data, but will also touch the basics of a conditionally applied rules

Let's consider these forms that will, logically, build the bookshelf. Each book can be taken for reading and returned when ready. We will have a form for storing this state and couple of forms to store the data about the book and the author(s)


ConfiForms Form Definition
formNamebookshelf
registrationFormTitleBookshelf

bookBook[52626037|books|title|true||]smartselect2

statusStatusfalse[avail=Available|taken=Taken|lost=Lost|]select

takeBookTake bookstatus=taken&takenBy=[entry._user]action_buttonPlease dont forget to return the book after you read it

returnBookReturn bookstatus=avail&takenBy=action_buttonThank you for returning the book

takenByTaken Byuser

*takenByHide field

bookshelfstatus=availRegister book at bookshelfINLINE


ConfiForms Form Definition
formNamebooks

titleTitletexttrue

authorsAuthors[52626037|author|lastName|true|false|[entry.lastName], [entry.firstName]]smartmultiselect

booksRegister bookINLINE


Create ConfiForms EntryonCreatedbook=[entry.id]&status=availbookshelf:@self


ConfiForms Form Definition
formNameauthor
registrationFormTitleAuthors

firstNameFirst nametexttrue

lastNameLast nametexttrue

dobDate of Birthsimpledatetrue

authorRegister authorINLINE






All books

ConfiForms TableView
messageToShowWhenEmptyNo books registered yet
formNamebookshelf
showRecordsCountLabelBooks registered in the bookshelf:

book

book.authors

status


Available books

ConfiForms TableView
filterstatus:avail
messageToShowWhenEmptyYou have not took any books yet
formNamebookshelf

book

status

takeBook

Code Block
No filter, showing all books in the bookshelf

Taken by me

ConfiForms TableView
filtertakenBy:[entry._user]
messageToShowWhenEmptyYou have not took any books yet
formNamebookshelf

book

status

returnBook



Code Block
takenBy:[entry._user]

The* - Will match the record(s) where the field "title" value starts with "The" text

ConfiForms TableView
filterbook.title:The*
messageToShowWhenEmptyNo books found
formNamebookshelf
showRecordsCountLabelBooks found:

book

status



Code Block
book.title:The*

Bridget* - Will match the record(s) where the field value starts with "Bridget" text

ConfiForms TableView
enhanceFreeTextSearchtrue
filterBridget*
messageToShowWhenEmptyNo books found
formNamebookshelf
showRecordsCountLabelBooks found:

book

Authorsbook.authors.transform(lastName.append([entry.firstName.prepend(, )]))true

status



Code Block
Bridget*

Transformation of authors:  book.authors.transform(lastName.append([entry.firstName.prepend(, )]))

*love - Will match the record(s) where the field value ends with "love" textTo find books which title ends with word "love", we should use for filter expression: *love

ConfiForms TableView
filter*love
messageToShowWhenEmptyNo books found
formNamebookshelf
showRecordsCountLabelBooks found:

book

status



Code Block
*love



To find books which title contains word "and", we should use for filter expression: *and* - Will match the record(s) where the field value has "and" anywhere 

ConfiForms TableView
filter*and*
messageToShowWhenEmptyNo books found
formNamebookshelf
showRecordsCountLabelBooks found:

book

status



Code Block
*and*

Match the record(s) where the field "author.dob" formatted value less than formatted date 01.01.1950To find books which authors born before 01.01.1950, we should use for filter expression: book.authors.dob.formatDate(yyyyMMdd):<19500101 , where book. is the bookshelf form's field of Smart Dropdown type, which is reference to books form record and authors. in its turn is the books form's field of Smart Multiselect type, which is reference to author form record and dob is the field name of author form, which is transformed by virtual function formatDate.

ConfiForms TableView
filterbook.authors.dob.formatDate(yyyyMMdd):<19500101
messageToShowWhenEmptyNo books found
formNamebookshelf
showRecordsCountLabelBooks found:

book

status



Code Block
book.authors.dob.formatDate(yyyyMMdd):<19500101