Commit b75e7da0 authored by Rafael Ostertag's avatar Rafael Ostertag
Browse files

Merge branch 'documentation_rework' into raos_work

parents d457306b 2a55809d
/doc/*.pdf
/.doc_plantuml
/.support
/.support_plantuml
......
......@@ -72,107 +72,6 @@ DELETE
* HTML Code:
<button type="button" class="record-delete" data-sip={{SIP}} ><span class="glyphicon glyphicon-trash"></span></button>
USER INTERFACE
==============
Button status
-------------
* Form modified:
* Buttons enabled: Save, Close, New, Delete
* Button disable: -
* Form not modified:
* Buttons enabled: Close, New, Delete
* Button disabled: Save
Save Button
-----------
* User presses the button
* Reset all validation states
* Client validates HTML Form
* Form is submitted to server
* Success:
* Show message provided by server
* Current formelements and data will be reloaded.
* Process server reponse 'redirect':
* 'client': No redirect.
* 'no': No redirect.
* 'url': Redirect to URL
* Failure: Happens on communication errors, if data validation fails, form actions fails or saving data fails.
* Show error message.
* Client: Ignore server reponse 'redirect'. Client stays on current page.
Close Button
------------
* User presses the button
* Form not modified by user: Client redirects to previous page.
* Form modified by user: Ask User 'You have unsaved changes. Do you want to close?'
* Yes: Client redirects to previous page.
* No: Client stays on current page.
* Save & Close:
* Client reset all validation states
* Client validates HTML Form
* Client submits form to server.
* Success: Process server response 'redirect':
* 'client': Client shows previous page.
* 'no': No redirect.
* 'url': Redirect to URL
* Failure: Happens on communication errors, if data validation fails, form actions fails or saving data fails.
* Show error message.
* Client: No redirect. Ignore server reponse 'redirect'.
Delete Button: Main record
--------------------------
* User presses the button. Ask User 'Do you really want to delete the record?
* Yes:
* Delete record on server.
* Process server reponse 'redirect':
* 'client': Client redirects to previous page.
* 'no': Error message.
* 'url': Redirect to URL
* No:
* Client does not delete record on server.
* No redirect. Client stays on current page.
New Button
----------
* User presses the button
* Form not modified by user: Client redirects to href url.
* Form modified by user: Ask User 'You have unsaved changes. Do you want to save first?'
* Yes:
* Client reset all validation states
* Client validates HTML Form
* Form is submitted to server
* Success:
* Client: Ignore server reponse 'redirect'. Client redirects to href url.
* Failure: Happens on communication errors, if data validation fails, form actions fails or saving data fails.
* Show error message.
* Client: Ignore server reponse 'redirect'. Client stays on current page.
* No:
* Client does not save the modified record.
* Client redirects to href url.
* Cancel:
* Client does not save the modified record.
* Client stays on current page.
File Handling: Upload
---------------------
* No previous uploaded file present
1. User presses the Browse button
1. User selects file
1. File is uploaded to qfq immediately
1. Browse button gets disabled and hidden
1. File delete button is shown
1. User cancels file selection
1. no action
* Previous uploaded file present
1. User deletes file
1. File delete button gets disabled and hidden
1. Browse button gets enabled and displayed
Form Build (load)
.................
......@@ -314,4 +213,4 @@ Checkbox
</label>
</div>
\ No newline at end of file
# HTML
This document explains the HTML markup used by QFQ.
## Hooks
Hooks are used on by the Client to gather information required for
asynchronous requests and to add predefined event handlers to HTML Elements.
### form.data-toggle="validator"
Adding the attribute `data-toggle="validator"` to a `<form>` element,
enables the Bootstrap Validator on that HTML Form.
### .data-sip
Asynchronous requests require to pass a SID to the Server. Elements
triggering an asynchronous request, may gather the SIP from the
`data-sip` attribute assigned to the HTML Form Element.
### .class="record-delete"
HTML Form Buttons having the class `record-delete` set, will get an
`onclick` handler attached by `QfqNS.QfqRecordList`. Each `<button>`
also requires an `data-sip` attribute.
### .data-load=""
HTML Form Elements having the attribute `data-load`, will trigger a
call to `api/load.php` upon change.
### id="save-button"
### id="close-button"
### id="delete-button"
### id="form-new-button"
SOURCES = CODING.md HTML.md PROTOCOL.md UI.md LAYOUT.md
PDFDOCS = $(patsubst %.md,%.pdf,$(SOURCES))
all: $(PDFDOCS)
.md.pdf:
pandoc -o $@ $<
.SUFFIXES: .md .pdf
USER INTERFACE
==============
Button states
-------------
If the HTML Form has no modifications, the `Close`, `New` and `Delete`
buttons are enabled. The `Save` button is disabled.
If the HTML Form has modifications, the `Save`, `Close`, `New`, and
`Delete` button is enabled. No button is disabled.
Save Button
-----------
* User presses the Save button
1. Reset all validation states
1. Client validates HTML Form
1. Form is submitted to server
* Success:
1. Show message provided by server
1. Current formelements and data will be reloaded.
1. Process server reponse 'redirect':
* 'client': No redirect.
* 'no': No redirect.
* 'url': Redirect to URL
* Failure: Happens on communication errors, if data validation
fails, form actions fails or saving data fails.
1. Show error message.
1. Client: Ignore server reponse 'redirect'. Client stays on current page.
Close Button
------------
* User presses the Close button
1. Form not modified by user: Client redirects to previous page.
1. Form modified by user: Ask User 'You have unsaved changes. Do you want to close?'
* Yes: Client redirects to previous page.
* No: Client stays on current page.
* Save & Close:
1. Client reset all validation states
1. Client validates HTML Form
1. Client submits form to server.
* Success: Process server response 'redirect':
* 'client': Client shows previous page.
* 'no': No redirect.
* 'url': Redirect to URL
* Failure: Happens on communication errors, if data validation
fails, form actions fails or saving data fails.
* Show error message.
* Client: No redirect. Ignore server reponse 'redirect'.
Delete Button: Main record
--------------------------
* User presses the button. Ask User 'Do you really want to delete the record?
* Yes:
* Delete record on server.
* Process server reponse 'redirect':
* 'client': Client redirects to previous page.
* 'no': Error message.
* 'url': Redirect to URL
* No:
* Client does not delete record on server.
* No redirect. Client stays on current page.
New Button
----------
* User presses the button
* Form not modified by user: Client redirects to href url.
* Form modified by user: Ask User 'You have unsaved changes. Do you want to save first?'
* Yes:
* Client reset all validation states
* Client validates HTML Form
* Form is submitted to server
* Success:
* Client: Ignore server reponse 'redirect'. Client redirects to href url.
* Failure: Happens on communication errors, if data validation fails, form actions fails or saving data fails.
* Show error message.
* Client: Ignore server reponse 'redirect'. Client stays on current page.
* No:
* Client does not save the modified record.
* Client redirects to href url.
* Cancel:
* Client does not save the modified record.
* Client stays on current page.
File Handling: Upload
---------------------
* No previous uploaded file present
1. User presses the Browse button
1. User selects file
1. File is uploaded to qfq immediately
1. Browse button gets disabled and hidden
1. File delete button is shown
1. User cancels file selection
1. no action
* Previous uploaded file present
1. User deletes file
1. File delete button gets disabled and hidden
1. Browse button gets enabled and displayed
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment