diff --git a/.obsidian/app.json b/.obsidian/app.json
new file mode 100644
index 0000000..bf21f23
--- /dev/null
+++ b/.obsidian/app.json
@@ -0,0 +1,4 @@
+{
+ "legacyEditor": false,
+ "livePreview": true
+}
\ No newline at end of file
diff --git a/.obsidian/appearance.json b/.obsidian/appearance.json
new file mode 100644
index 0000000..9e26dfe
--- /dev/null
+++ b/.obsidian/appearance.json
@@ -0,0 +1 @@
+{}
\ No newline at end of file
diff --git a/.obsidian/core-plugins.json b/.obsidian/core-plugins.json
new file mode 100644
index 0000000..ab1d511
--- /dev/null
+++ b/.obsidian/core-plugins.json
@@ -0,0 +1,15 @@
+[
+ "file-explorer",
+ "global-search",
+ "switcher",
+ "graph",
+ "backlink",
+ "page-preview",
+ "note-composer",
+ "command-palette",
+ "editor-status",
+ "markdown-importer",
+ "word-count",
+ "open-with-default-app",
+ "file-recovery"
+]
\ No newline at end of file
diff --git a/.obsidian/hotkeys.json b/.obsidian/hotkeys.json
new file mode 100644
index 0000000..9e26dfe
--- /dev/null
+++ b/.obsidian/hotkeys.json
@@ -0,0 +1 @@
+{}
\ No newline at end of file
diff --git a/.obsidian/workspace b/.obsidian/workspace
new file mode 100644
index 0000000..532009c
--- /dev/null
+++ b/.obsidian/workspace
@@ -0,0 +1,97 @@
+{
+ "main": {
+ "id": "36839c96192b8840",
+ "type": "split",
+ "children": [
+ {
+ "id": "8f73e522b82de672",
+ "type": "leaf",
+ "state": {
+ "type": "markdown",
+ "state": {
+ "file": "Project/Pilot1/Costs.md",
+ "mode": "source",
+ "source": false
+ }
+ }
+ }
+ ],
+ "direction": "vertical"
+ },
+ "left": {
+ "id": "db37bce5d93c4de8",
+ "type": "split",
+ "children": [
+ {
+ "id": "0d59aa8557971c88",
+ "type": "tabs",
+ "children": [
+ {
+ "id": "6911b67edda611ab",
+ "type": "leaf",
+ "state": {
+ "type": "file-explorer",
+ "state": {}
+ }
+ },
+ {
+ "id": "a3438aede50c771f",
+ "type": "leaf",
+ "state": {
+ "type": "search",
+ "state": {
+ "query": "",
+ "matchingCase": false,
+ "explainSearch": false,
+ "collapseAll": false,
+ "extraContext": false,
+ "sortOrder": "alphabetical"
+ }
+ }
+ }
+ ]
+ }
+ ],
+ "direction": "horizontal",
+ "width": 300
+ },
+ "right": {
+ "id": "67cc9914d87bad8c",
+ "type": "split",
+ "children": [
+ {
+ "id": "42a368a1f71131b3",
+ "type": "tabs",
+ "children": [
+ {
+ "id": "ff4b58e0df015702",
+ "type": "leaf",
+ "state": {
+ "type": "backlink",
+ "state": {
+ "file": "Project/Pilot1/Costs.md",
+ "collapseAll": false,
+ "extraContext": false,
+ "sortOrder": "alphabetical",
+ "showSearch": false,
+ "searchQuery": "",
+ "backlinkCollapsed": false,
+ "unlinkedCollapsed": true
+ }
+ }
+ }
+ ]
+ }
+ ],
+ "direction": "horizontal",
+ "width": 300,
+ "collapsed": true
+ },
+ "active": "8f73e522b82de672",
+ "lastOpenFiles": [
+ "Project/Pilot1/Costs.md",
+ "Project/Pilot1/Timeline.md",
+ "Project/PROJECT.md",
+ "Project/Module Features.md"
+ ]
+}
\ No newline at end of file
diff --git a/Project/PROJECT.md b/Project/PROJECT.md
index 39b5e4f..423fcac 100644
--- a/Project/PROJECT.md
+++ b/Project/PROJECT.md
@@ -1,8 +1,7 @@
# Project Status and Tasks
- [Summary](#summary)
-- [Most recent changelog](#most-recent-changelog)
-- [Milestones](#milestones)
+- [Latest changelog](#latest-changelog)
- [Key tasks](#key-tasks)
- [Todos](#todos)
- [Bugs](#bugs)
@@ -10,9 +9,9 @@
## Summary
-Last update of this file: 2022.04.23
+Last update of this file: 2022.05.30
-## Most recent changelog
+## Latest changelog
### April 2022
@@ -20,11 +19,25 @@ Last update of this file: 2022.04.23
##### Application
-*
+* Add default export scripts (no API calls implemented yet)
+
+
+
+* Create filter UI draft (text, number, select, radio, checkbox) (no API calls and frontend logic implemented)
+
+
##### Framework
-*
+* Form inline and external save, update, add implemented (no API calls implemented yet)
+
+
+
+
+
+* Allow users to edit table column visibility (e.g. hide information they are not interested in) (no API calls necessary)
+
+
#### Bug fixes
@@ -542,7 +555,26 @@ Steps:
Software:
1. Tesseract + OpenCV + above mentioned steps
-2. Some Api (e.g. google vision ai, amazon textract, amazon recognition)
+2. Some API (e.g. google vision ai, amazon textract, amazon recognition)
+
+### Search
+
+* page: {/base} (if search_type=page)
+ * search:
+ * &search={#search} (can be empty = normal list)
+ * &search_fields=id,module,action (can be empty = all fields)
+ * sort: (can be omitted)
+ * &sort_by=module
+ * &sort_order=desc
+ * filter1: (can be omitted)
+ * &filter1_type=text
+ * &filter1_value=myvalue
+ * filter2: (can be omitted)
+ * &filter2_type=number
+ * &filter2_value_1=12
+ * &filter2_value_2=33
+* global: {/root}search
+ * ...
### Workflow
@@ -572,7 +604,7 @@ Software:
* function from module
* function from static script
* function from workflow
- * simulate api call (internally populate request/response)
+ * simulate API call (internally populate request/response)
* Define variable names in order of function parameters
* Define response variable name
* Data definition (important for naming and defining values for follow up steps)
@@ -591,6 +623,8 @@ Software:
* This way workflow could be completely defined in a custom script if it is very complicated
* Response message population
* Create workflow diagram (see example below)
+* Main question: How to handle workflows during UI interaction instead of async?
+ * Solution 1: Define SYNC triggers which run the workflow runWorkflow command
```mermaid
flowchart LR
diff --git a/Project/Pilot1/Timeline.md b/Project/Pilot1/Timeline.md
index 75591f1..c9e7ceb 100644
--- a/Project/Pilot1/Timeline.md
+++ b/Project/Pilot1/Timeline.md
@@ -8,12 +8,11 @@ gantt
section Kick-Off
Planning :crit, a, 2022-09-01, 5d
section UI
- Inline form C/U/C :1a1, after a, 30d
Pull A/U/R/O :1a2, after a, 30d
Push A/U/R/O :1a3, after a, 30d
- Data filter (local/remote) :1b1, after 1a1, 30d
+ Data filter :1b1, after 1a1, 30d
Data actions (bulk) :1b2, after 1a1, 30d
- Data order (local/remote) :1b3, after 1a1, 30d
+ Data order :1b3, after 1a1, 30d
Data export :1b4, after 1a1, 30d
Tag selector :1c1, after 1b4, 10d
Drop down :1c2, after 1b4, 10d
diff --git a/Project/Pilot1/Workflows/Daily Sales Report.md b/Project/Pilot1/Workflows/Daily Sales Report.md
new file mode 100644
index 0000000..e69de29
diff --git a/Project/Pilot1/Workflows/Item Status Change.md b/Project/Pilot1/Workflows/Item Status Change.md
new file mode 100644
index 0000000..e69de29
diff --git a/Project/Pilot1/Workflows/Monthly Sales Report.md b/Project/Pilot1/Workflows/Monthly Sales Report.md
new file mode 100644
index 0000000..e69de29
diff --git a/Project/Pilot1/Workflows/New Bill.md b/Project/Pilot1/Workflows/New Bill.md
new file mode 100644
index 0000000..064fcd2
--- /dev/null
+++ b/Project/Pilot1/Workflows/New Bill.md
@@ -0,0 +1,31 @@
+```mermaid
+flowchart TB
+ CREATE_BILL[Create bill]-->LOCKED{Is locked?}
+ LOCKED-->|TRUE|CREATE_APPROVAL_TASK[Accounting approval task]
+ LOCKED-->|FALSE|PRINTABLE
+ CREATE_APPROVAL_TASK-->ACCOUNTING_APPROVAL{Is ok?}
+ ACCOUNTING_APPROVAL-->|FALSE|ACCOUNTING_NOT_APPROVED[Inform OP]
+ ACCOUNTING_APPROVAL-->|TRUE|PRINTABLE
+ CREATE_BILL-->CREATE_CHECK_TASK[Invoice validation task]
+ CREATE_CHECK_TASK-->BILL_CHECK{Is correct?}
+ BILL_CHECK-->|TRUE|CHECK_PRICES{High discounts?}
+ CHECK_PRICES-->|FALSE|PRINTABLE
+ BILL_CHECK-->|FALSE|INFO_WRITER[Inform OP]
+ CHECK_PRICES-->|TRUE|CREATE_SALES_APPROVAL_TASK[Sales approval task]
+ CREATE_SALES_APPROVAL_TASK-->SALES_APPROVAL{Is ok?}
+ SALES_APPROVAL-->|TRUE|CHECK_PRICES_ESCALATED{Over limit?}
+ SALES_APPROVAL-->|FALSE|SALES_NOT_APPROVED[Inform OP]
+ CHECK_PRICES_ESCALATED-->|TRUE|CREATE_CFO_PRICE_APPROVAL[CFO approval task]
+ CHECK_PRICES_ESCALATED-->|FALSE|PRINTABLE
+ CREATE_CFO_PRICE_APPROVAL-->CFO_APPROVAL{Is ok?}
+ CFO_APPROVAL-->|TRUE|PRINTABLE[Mark printable]
+ CFO_APPROVAL-->|FALSE|CFO_NOT_APPROVED[Inform OP + Sales]
+
+ CLICK_PRINT[Click print]-->IS_APPROVED{Is approved}
+ IS_APPROVED-->|TRUE|PRINT[Print]
+ IS_APPROVED-->|FALSE|PRINT_ERROR[Show print error]
+
+ UPDATE_BILL[Update bill]-->CHECK_THREASHOLDS{Change above threshold}
+ CHECK_THREASHOLDS-->|TRUE|OPEN_TASKS[Update & re-open tasks]
+```
+
diff --git a/Project/Pilot1/Workflows/New Customer.md b/Project/Pilot1/Workflows/New Customer.md
new file mode 100644
index 0000000..e69de29
diff --git a/Project/Pilot1/Workflows/New Item.md b/Project/Pilot1/Workflows/New Item.md
new file mode 100644
index 0000000..cea0c82
--- /dev/null
+++ b/Project/Pilot1/Workflows/New Item.md
@@ -0,0 +1,11 @@
+```mermaid
+flowchart TB
+ CREATE_PURCHASE[Create Purchase]-->FORWARD_SALES[Sales]
+ CREATE_SALES[Create Sales]-->FORWARD_PURCHASE[Purchase]
+ FORWARD_PURCHASE-->MANAGEMENT[Management]
+ FORWARD_SALES-->MANAGEMENT[Management]
+ MANAGEMENT-->QM[QM]
+```
+
+
+
diff --git a/Project/Pilot1/Workflows/Q-Case.md b/Project/Pilot1/Workflows/Q-Case.md
new file mode 100644
index 0000000..1fe7b9b
--- /dev/null
+++ b/Project/Pilot1/Workflows/Q-Case.md
@@ -0,0 +1,5 @@
+```mermaid
+flowchart TB
+ CREATE[Create]-->FORWARD[Forward]
+```
+
diff --git a/Project/Pilot1/Workflows/Travel Report.md b/Project/Pilot1/Workflows/Travel Report.md
new file mode 100644
index 0000000..e69de29
diff --git a/Project/img/todo/Column settings.gif b/Project/img/todo/Column settings.gif
new file mode 100644
index 0000000..9da619a
Binary files /dev/null and b/Project/img/todo/Column settings.gif differ
diff --git a/Project/img/todo/External add.gif b/Project/img/todo/External add.gif
new file mode 100644
index 0000000..0b88cda
Binary files /dev/null and b/Project/img/todo/External add.gif differ
diff --git a/Project/img/todo/External update.gif b/Project/img/todo/External update.gif
new file mode 100644
index 0000000..08d785a
Binary files /dev/null and b/Project/img/todo/External update.gif differ
diff --git a/Project/img/todo/Inline add.gif b/Project/img/todo/Inline add.gif
new file mode 100644
index 0000000..e04b486
Binary files /dev/null and b/Project/img/todo/Inline add.gif differ
diff --git a/Project/img/todo/Inline edit.gif b/Project/img/todo/Inline edit.gif
new file mode 100644
index 0000000..c0075a8
Binary files /dev/null and b/Project/img/todo/Inline edit.gif differ
diff --git a/Project/img/todo/export.png b/Project/img/todo/export.png
new file mode 100644
index 0000000..f25562e
Binary files /dev/null and b/Project/img/todo/export.png differ
diff --git a/Project/img/todo/filter_ui.png b/Project/img/todo/filter_ui.png
new file mode 100644
index 0000000..3b0690e
Binary files /dev/null and b/Project/img/todo/filter_ui.png differ