From 43dbf88d2f5467c6c40dcff935606fb870c72c0b Mon Sep 17 00:00:00 2001 From: whitesnowx Date: Fri, 12 Apr 2024 02:24:07 +0800 Subject: [PATCH 01/19] update title and repolink --- docs/team/whitesnowx.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/team/whitesnowx.md b/docs/team/whitesnowx.md index fb5c1ec6f36..347aee48251 100644 --- a/docs/team/whitesnowx.md +++ b/docs/team/whitesnowx.md @@ -17,7 +17,7 @@ Given below are my contributions to the project. * **New Feature**: Added a history command that allows the user to navigate to previous commands using up/down keys. -* **Code contributed**: [RepoSense link]() +* **Code contributed**: [RepoSense link](https://nus-cs2103-ay2324s2.github.io/tp-dashboard/?search=whitesnowx&sort=groupTitle&sortWithin=title&timeframe=commit&mergegroup=&groupSelect=groupByRepos&breakdown=true&checkedFileTypes=docs~functional-code~test-code~other&since=2024-02-23&tabOpen=true&tabType=authorship&tabAuthor=whitesnowx&tabRepo=AY2324S2-CS2103-F08-3%2Ftp%5Bmaster%5D&authorshipIsMergeGroup=false&authorshipFileTypes=docs~functional-code~test-code~other&authorshipIsBinaryFileTypeChecked=false&authorshipIsIgnoredFilesChecked=false) * **Project management**: * Managed releases `v1.3` - `v1.5rc` (3 releases) on GitHub From 25dd2c6767bc06e00d2cb70530eabaaa05867e2d Mon Sep 17 00:00:00 2001 From: whitesnowx Date: Fri, 12 Apr 2024 02:56:38 +0800 Subject: [PATCH 02/19] update ppp a little bit --- docs/team/whitesnowx.md | 32 +++++++++----------------------- 1 file changed, 9 insertions(+), 23 deletions(-) diff --git a/docs/team/whitesnowx.md b/docs/team/whitesnowx.md index 347aee48251..79d0e5f8ad5 100644 --- a/docs/team/whitesnowx.md +++ b/docs/team/whitesnowx.md @@ -1,6 +1,6 @@ --- layout: page -title: Wong's Project Portfolio Page +title: Calista Wong's Project Portfolio Page --- ### Project: StaffConnect @@ -9,38 +9,24 @@ StaffConnect offers convenience and peace of mind to a struggling student with m Given below are my contributions to the project. -* **New Feature**: Added the ability to undo/redo previous commands. - * What it does: allows the user to undo all previous commands one at a time. Preceding undo commands can be reversed by using the redo command. - * Justification: This feature improves the product significantly because a user can make mistakes in commands and the app should provide a convenient way to rectify them. +* **New Feature**: Added the ability to sort person in staffBook. + * What it does: allows user to view the persons in a sorted order by a specified attribute. Sort command allows for multiple attribute with specified weightage. + * Justification: This feature improves the product significantly because a user can prioritise and efficiently obtain information in a large dataset. * Highlights: This enhancement affects existing commands and commands to be added in future. It required an in-depth analysis of design alternatives. The implementation too was challenging as it required changes to existing commands. - * Credits: *{mention here if you reused any code/ideas from elsewhere or if a third-party library is heavily used in the feature so that a reader can make a more accurate judgement of how much effort went into the feature}* - -* **New Feature**: Added a history command that allows the user to navigate to previous commands using up/down keys. * **Code contributed**: [RepoSense link](https://nus-cs2103-ay2324s2.github.io/tp-dashboard/?search=whitesnowx&sort=groupTitle&sortWithin=title&timeframe=commit&mergegroup=&groupSelect=groupByRepos&breakdown=true&checkedFileTypes=docs~functional-code~test-code~other&since=2024-02-23&tabOpen=true&tabType=authorship&tabAuthor=whitesnowx&tabRepo=AY2324S2-CS2103-F08-3%2Ftp%5Bmaster%5D&authorshipIsMergeGroup=false&authorshipFileTypes=docs~functional-code~test-code~other&authorshipIsBinaryFileTypeChecked=false&authorshipIsIgnoredFilesChecked=false) * **Project management**: - * Managed releases `v1.3` - `v1.5rc` (3 releases) on GitHub - -* **Enhancements to existing features**: - * Updated the GUI color scheme (Pull requests [\#33](), [\#34]()) - * Wrote additional tests for existing features to increase coverage from 88% to 92% (Pull requests [\#36](), [\#38]()) + * Managed releases `v1.1` - `v1.5rc` (3 releases) on GitHub * **Documentation**: * User Guide: - * Added documentation for the features `delete` and `find` [\#72]() - * Did cosmetic tweaks to existing documentation of features `clear`, `exit`: [\#74]() + * Added documentation for the features `sort` [\#149](https://github.com/AY2324S2-CS2103-F08-3/tp/pull/149) * Developer Guide: - * Added implementation details of the `delete` feature. + * Added implementation details the `sort` feature. [\#149](https://github.com/AY2324S2-CS2103-F08-3/tp/pull/149) * **Community**: - * PRs reviewed (with non-trivial review comments): [\#12](), [\#32](), [\#19](), [\#42]() - * Contributed to forum discussions (examples: [1](), [2](), [3](), [4]()) - * Reported bugs and suggestions for other teams in the class (examples: [1](), [2](), [3]()) - * Some parts of the history feature I added was adopted by several other class mates ([1](), [2]()) - -* **Tools**: - * Integrated a third party library (Natty) to the project ([\#42]()) - * Integrated a new Github plugin (CircleCI) to the team repo + * PRs reviewed (with non-trivial review comments): [\#130](https://github.com/AY2324S2-CS2103-F08-3/tp/pull/130), + * Reported bugs and suggestions for other teams in the class (examples: [1](https://github.com/AY2324S2-CS2103T-T11-3/tp/issues/119)) * _{you can add/remove categories in the list above}_ From 0ee17776ce15979a9c461e0371bb6690a96e07e1 Mon Sep 17 00:00:00 2001 From: iynixil Date: Fri, 12 Apr 2024 08:04:29 +0800 Subject: [PATCH 03/19] Add attribute summary in UG --- docs/UserGuide.md | 39 ++++++++++++++++++++++++++++++++++++++- 1 file changed, 38 insertions(+), 1 deletion(-) diff --git a/docs/UserGuide.md b/docs/UserGuide.md index 1a36feef1f9..aab5deee443 100644 --- a/docs/UserGuide.md +++ b/docs/UserGuide.md @@ -159,7 +159,7 @@ Examples:
**After editing the second person:**
![After editing the second person](images/AfterEditCommand.png) -### Filtering persons by attribute: `filter` +### Filtering persons: `filter` Filters persons whose module, faculty, tags or availabilities match the given filtering criteria. @@ -459,6 +459,43 @@ Furthermore, certain edits can cause the StaffConnect to behave in unexpected wa - Yale-NUS College; Yale-NUS +-------------------------------------------------------------------------------------------------------------------- + +## Attribute summary + +Attribute | Prefix | Restrictions | Examples +----------|--------|--------------|--------------------- +Name | n/ | Case-sensitive.
Only alphanumeric characters allowed. | `alex yeoh`, `Bernice Yu`, `test1` +Phone Number | p/ | Numeric digits only, no special characters, at least 3 digits long. | `123`, `88888888, 12345678` +Email | e/ | Valid email of the format `local-part@domain`.
1. `local-part` should only contain alphanumeric characters and the special characters `+_.-`
2. `local-part` may not start or end with any special characters.
3. `local-part` must be followed by exactly one `@` and then a `domain` name.
4. `domain` must be made up of at least 2 `domain` labels separated by periods.
5. Each `domain` name must be at least 2 alphanumeric characters long.
6. Each `domain` name must start and end with alphanumeric characters.
7. Each `domain` name can only consist of alphanumeric characters, separated by hyphens, if any. | `e@123.com`, `hello@h-h.com`, `one+two@h-h.hh`, `hello@e-h.e-hh` +Module | m/ | Case-insensitive.
Valid module consisting of 2-4 letters, followed by exactly 4 numeric digits, with a suffix that is at most 1 character long. | `gess1025`, `hsi1000`, `cs2103t` +Faculty | f/ | Case-insensitive.
Restricted set of values (see table `Valid faculty values` below). | `soc`, `biz`, `School of Business` +Venue | v/ | Only alphanumeric characters allowed. | `belobog avenue`, `COM4-02-33`, `LT21`, `Kent Ridge Vale, Tulip Street, #12-34` +Tag | t/ | Only alphanumeric characters allowed. | `tutor`, `professor`, `BestProf`, `Number1TA` +Availability | a/ | Valid format of `day start-time end-time`.
1. `day` should be a valid day of week: `Monday`, `mon`, `Tuesday`, `tues`, `Wednesday`, `wed`, `Thursday`, `thurs`, `Friday`, `fri`, `Saturday`, `sat`, `Sunday`, `sun`.
2. `day` is case-insensitive.
3. `start-time` and `end-time` should be in the time format of `HH:mm` where `HH` is in 24 hours and `mm` are minutes 00-60. | `mon 13:00 14:00`, `monday 13:00 14:00`, `tues 14:00 21:00` +Meeting Description | d/ | Only alphanumeric characters allowed. | `Meet for finals`, `Midterm revision` +Meeting Start Time | s/ | Valid date and time format.
1. Valid date formats: `yyyy-MM-dd`, `yyyy-M-d`, `dd-MM-yyyy`, `yyyy-MM-d`, `d-MM-yyyy`, `d-M-yyyy`, `dd-M-yyyy`, `d/MM/yyyy`, `d-M-yyyy`, `dd-M-yyyy`, `dd/MM/yyyy`, `yyyy/MM/dd`, `yyyy/MM/d`, `yyyy/M/dd`, `yyyy/M/d`
2. Valid time formats: `HH:mm`, `H:mm`, `HHmm` | `2002-11-02 19:00`, `1-12-2022 9:00`, `2024/1/1 0000` + +Faculty | Other names +--------|------ +Faculty of Arts of Social Sciences | Arts and Social Sciences, FASS +Business School | Business, Biz School, Biz +School of Computing | Computing, SoC +School of Continuing and Lifelong Education | Continuing and Lifelong Education, SCALE +Faculty of Dentistry | Dentistry +School of Design and Environment | Design and Environment, SDE +Duke-NUS Medical School | Duke-NUS +Faculty of Engineering, Engineering | FoE +Integrative Sciences and Engineering | ISEP +Faculty of Law | Law +Yong Loo Lin School of Medicine | Medicine +Yong Siew Toh Conservatory of Music | Music, TST Conservatory of Music +Saw Swee Hock School of Public Health | Public Health +Lee Kuan Yew School of Public Policy | Public Policy, LKY School of Public Policy +Faculty of Science | Science, FoS +University Scholars Programme | USP +Yale-NUS College | Yale-NUS + -------------------------------------------------------------------------------------------------------------------- ## Command summary From ee79f9bbb3bc7a920961e0516a0531603dcdc034 Mon Sep 17 00:00:00 2001 From: iynixil Date: Fri, 12 Apr 2024 08:05:58 +0800 Subject: [PATCH 04/19] Remove bullet point on faculty values in Known Issues of UG --- docs/UserGuide.md | 19 ------------------- 1 file changed, 19 deletions(-) diff --git a/docs/UserGuide.md b/docs/UserGuide.md index aab5deee443..89871874850 100644 --- a/docs/UserGuide.md +++ b/docs/UserGuide.md @@ -439,25 +439,6 @@ Furthermore, certain edits can cause the StaffConnect to behave in unexpected wa ## Known issues 1. **When using multiple screens**, if you move the application to a secondary screen, and later switch to using only the primary screen, the GUI will open off-screen. The remedy is to delete the `preferences.json` file created by the application before running the application again. -2. **Restrictions on the valid user input of `Faculty` values**: For the current version, a valid user input for `Faculty` with prefix `f/` can only match exactly the same string as suggested below. Cases can be ignored though. - - Faculty of Arts of Social Sciences; Arts and Social Sciences; FASS - - Business School; Business; Biz School; Biz - - School of Computing; Computing; SoC - - School of Continuing and Lifelong Education; Continuing and Lifelong Education; SCALE - - Faculty of Dentistry; Dentistry - - School of Design and Environment; Design and Environment; SDE - - Duke-NUS Medical School; Duke-NUS - - Faculty of Engineering; Engineering; FoE - - Integrative Sciences and Engineering; ISEP - - Faculty of Law; Law - - Yong Loo Lin School of Medicine; Medicine - - Yong Siew Toh Conservatory of Music; Music; TST Conservatory of Music - - Saw Swee Hock School of Public Health; Public Health - - Lee Kuan Yew School of Public Policy; Public Policy; LKY School of Public Policy - - Faculty of Science; Science; FoS - - University Scholars Programme; USP - - Yale-NUS College; Yale-NUS - -------------------------------------------------------------------------------------------------------------------- From 1a555031aad61b63cd1b6edbbcd79d2864273f76 Mon Sep 17 00:00:00 2001 From: whitesnowx Date: Fri, 12 Apr 2024 08:23:32 +0800 Subject: [PATCH 05/19] update module error message --- src/main/java/staffconnect/model/person/Module.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/staffconnect/model/person/Module.java b/src/main/java/staffconnect/model/person/Module.java index 44dafc0cc90..a2b86e90869 100644 --- a/src/main/java/staffconnect/model/person/Module.java +++ b/src/main/java/staffconnect/model/person/Module.java @@ -11,8 +11,8 @@ public class Module { public static final String MESSAGE_CONSTRAINTS = - "Module code should contain 2-4 capital letters followed by 4 digits long and at most 1 capitalised suffix"; - public static final String VALIDATION_REGEX = "[a-zA-Z]{2,4}\\d{4}[a-zA-Z]{0,1}"; + "Module code should contain 2-4 letters followed by 4 digits long and at most 2 capitalised suffix"; + public static final String VALIDATION_REGEX = "[a-zA-Z]{2,4}\\d{4}[a-zA-Z]{0,2}"; public final String value; From e773dbf475e0f9c2b1e6c0765b744cb461cc2f1f Mon Sep 17 00:00:00 2001 From: whitesnowx Date: Fri, 12 Apr 2024 08:28:04 +0800 Subject: [PATCH 06/19] update testcases for module --- src/test/java/staffconnect/model/person/ModuleTest.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/test/java/staffconnect/model/person/ModuleTest.java b/src/test/java/staffconnect/model/person/ModuleTest.java index 01e61eab002..73eff9f4758 100644 --- a/src/test/java/staffconnect/model/person/ModuleTest.java +++ b/src/test/java/staffconnect/model/person/ModuleTest.java @@ -31,7 +31,7 @@ public void isValidModule() { assertFalse(Module.isValidModule("1234")); // numbers only assertFalse(Module.isValidModule("2103T")); // missing prefix assertFalse(Module.isValidModule("C2103T")); // only 1 prefix - assertFalse(Module.isValidModule("CS2103TT")); // too many suffix + assertFalse(Module.isValidModule("CS2103TTT")); // too many suffix assertFalse(Module.isValidModule("CSCSC2103T")); // too many prefix assertFalse(Module.isValidModule("CS210310101010T")); // too many numbers assertFalse(Module.isValidModule("CS21T")); // too little numbers @@ -39,6 +39,7 @@ public void isValidModule() { // valid module code assertTrue(Module.isValidModule("CS2103")); // 2 prefix, 4 letters without 1 optional suffix assertTrue(Module.isValidModule("CS2103T")); // 2 prefix, 4 letters with 1 optional suffix + assertTrue(Module.isValidModule("CS2103TT")); // 2 prefix, 4 letters with 2 optional suffix assertTrue(Module.isValidModule("GEN2050")); // 3 prefix, 4 letters without 1 optional suffix assertTrue(Module.isValidModule("GEN2050Y")); // 3 prefix, 4 letters with 1 optional suffix assertTrue(Module.isValidModule("GESS1035")); // 4 prefix, 4 letters without 1 optional suffix From a1078f3624b860fc1a83b1f4137f0dfb7f53d246 Mon Sep 17 00:00:00 2001 From: tsulim Date: Fri, 12 Apr 2024 08:40:31 +0800 Subject: [PATCH 07/19] Update user guide on behaviour of `edit` --- docs/UserGuide.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/docs/UserGuide.md b/docs/UserGuide.md index e1f7c604c7d..70a18cb6a1c 100644 --- a/docs/UserGuide.md +++ b/docs/UserGuide.md @@ -137,6 +137,12 @@ Format: `list` Edits an existing person in the contacts. +
:information_source: **Note:** +The displayed view in StaffConnect will reset to the default view after the `edit` command is called. + +The changes made are displayed in the result display above the command box. +
+ Format: `edit INDEX [n/NAME] [p/PHONE] [e/EMAIL] [m/MODULE] [f/FACULTY] [v/VENUE] [t/TAG]…​ [a/AVAILABILITY]…​` * Edits the person at the specified `INDEX`. The index refers to the index number shown in the displayed person list. The index **must be a positive integer** 1, 2, 3, …​ From 0df68424a5bc985f814f78fda942c981c0001f26 Mon Sep 17 00:00:00 2001 From: whitesnowx Date: Fri, 12 Apr 2024 08:45:46 +0800 Subject: [PATCH 08/19] Update availability help message --- src/main/java/staffconnect/model/availability/Availability.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/staffconnect/model/availability/Availability.java b/src/main/java/staffconnect/model/availability/Availability.java index fb1f2707650..2b7d26bf78a 100644 --- a/src/main/java/staffconnect/model/availability/Availability.java +++ b/src/main/java/staffconnect/model/availability/Availability.java @@ -16,7 +16,7 @@ public class Availability { public static final String MESSAGE_CONSTRAINTS = "[DAY_OF_THE_WEEK] [START_TIME] [END_TIME] E.g. mon 09:00 13:00\n" - + "[DAY_OF_THE_WEEK] Should be a week of the day, the full word or the first syllable of the word\n" + + "[DAY_OF_THE_WEEK] Should be a day of the week, the full word or the first syllable of the word\n" + "[START_TIME], [END_TIME] Using a 24H digital time format HH:mm\n"; public static final String VALIDATION_REGEX_DAY = "(?i)((mon|tue(s)?|wed(nes)?|thu(r)?(rs)?|fri|sat(ur)?|sun)" + "(day)?)"; From 45c7ee59c30d55e8c177f410b5ff79d6787f3370 Mon Sep 17 00:00:00 2001 From: tsulim Date: Fri, 12 Apr 2024 08:47:10 +0800 Subject: [PATCH 09/19] Modify styling of `edit` notes segment --- docs/UserGuide.md | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/docs/UserGuide.md b/docs/UserGuide.md index 70a18cb6a1c..a2c424175ff 100644 --- a/docs/UserGuide.md +++ b/docs/UserGuide.md @@ -137,10 +137,13 @@ Format: `list` Edits an existing person in the contacts. -
:information_source: **Note:** -The displayed view in StaffConnect will reset to the default view after the `edit` command is called. +
+ +**:information_source: Notes:**
+ +* The displayed view in StaffConnect will reset to the default view after the `edit` command is called. -The changes made are displayed in the result display above the command box. +* The changes made are displayed in the result display above the command box.
Format: `edit INDEX [n/NAME] [p/PHONE] [e/EMAIL] [m/MODULE] [f/FACULTY] [v/VENUE] [t/TAG]…​ [a/AVAILABILITY]…​` From c8f60c856bfa5eefbba28246ab791beebdbeb40a Mon Sep 17 00:00:00 2001 From: iynixil Date: Fri, 12 Apr 2024 09:04:24 +0800 Subject: [PATCH 10/19] Update availability day values --- docs/UserGuide.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/UserGuide.md b/docs/UserGuide.md index 89871874850..281664a9abf 100644 --- a/docs/UserGuide.md +++ b/docs/UserGuide.md @@ -453,7 +453,7 @@ Module | m/ | Case-insensitive.
Valid module consisting of 2-4 letters, follo Faculty | f/ | Case-insensitive.
Restricted set of values (see table `Valid faculty values` below). | `soc`, `biz`, `School of Business` Venue | v/ | Only alphanumeric characters allowed. | `belobog avenue`, `COM4-02-33`, `LT21`, `Kent Ridge Vale, Tulip Street, #12-34` Tag | t/ | Only alphanumeric characters allowed. | `tutor`, `professor`, `BestProf`, `Number1TA` -Availability | a/ | Valid format of `day start-time end-time`.
1. `day` should be a valid day of week: `Monday`, `mon`, `Tuesday`, `tues`, `Wednesday`, `wed`, `Thursday`, `thurs`, `Friday`, `fri`, `Saturday`, `sat`, `Sunday`, `sun`.
2. `day` is case-insensitive.
3. `start-time` and `end-time` should be in the time format of `HH:mm` where `HH` is in 24 hours and `mm` are minutes 00-60. | `mon 13:00 14:00`, `monday 13:00 14:00`, `tues 14:00 21:00` +Availability | a/ | Valid format of `day start-time end-time`.
1. `day` should be a valid day of week: `Monday`, `mon`, `Tuesday`, `tue`, `tues`, `Wednesday`, `wednes`, `wed`, `Thursday`, `thurs`, `thur`, `thu`, `Friday`, `fri`, `Saturday`, `satur`, `sat`, `Sunday`, `sun`.
2. `day` is case-insensitive.
3. `start-time` and `end-time` should be in the time format of `HH:mm` where `HH` is in 24 hours and `mm` are minutes 00-60. | `mon 13:00 14:00`, `monday 13:00 14:00`, `tues 14:00 21:00` Meeting Description | d/ | Only alphanumeric characters allowed. | `Meet for finals`, `Midterm revision` Meeting Start Time | s/ | Valid date and time format.
1. Valid date formats: `yyyy-MM-dd`, `yyyy-M-d`, `dd-MM-yyyy`, `yyyy-MM-d`, `d-MM-yyyy`, `d-M-yyyy`, `dd-M-yyyy`, `d/MM/yyyy`, `d-M-yyyy`, `dd-M-yyyy`, `dd/MM/yyyy`, `yyyy/MM/dd`, `yyyy/MM/d`, `yyyy/M/dd`, `yyyy/M/d`
2. Valid time formats: `HH:mm`, `H:mm`, `HHmm` | `2002-11-02 19:00`, `1-12-2022 9:00`, `2024/1/1 0000` From f9a0e1c13d8815906165534cd5a6fd3b0dd52361 Mon Sep 17 00:00:00 2001 From: whitesnowx Date: Fri, 12 Apr 2024 09:04:30 +0800 Subject: [PATCH 11/19] fix availability error message and inaccurate test comments --- .../java/staffconnect/model/person/Module.java | 2 +- .../java/staffconnect/model/person/ModuleTest.java | 14 +++++++------- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/src/main/java/staffconnect/model/person/Module.java b/src/main/java/staffconnect/model/person/Module.java index a2b86e90869..d04b17431ec 100644 --- a/src/main/java/staffconnect/model/person/Module.java +++ b/src/main/java/staffconnect/model/person/Module.java @@ -11,7 +11,7 @@ public class Module { public static final String MESSAGE_CONSTRAINTS = - "Module code should contain 2-4 letters followed by 4 digits long and at most 2 capitalised suffix"; + "Module code should contain 2-4 letters followed by 4 digits long and at most 2 characters"; public static final String VALIDATION_REGEX = "[a-zA-Z]{2,4}\\d{4}[a-zA-Z]{0,2}"; public final String value; diff --git a/src/test/java/staffconnect/model/person/ModuleTest.java b/src/test/java/staffconnect/model/person/ModuleTest.java index 73eff9f4758..aa230fe90cd 100644 --- a/src/test/java/staffconnect/model/person/ModuleTest.java +++ b/src/test/java/staffconnect/model/person/ModuleTest.java @@ -37,13 +37,13 @@ public void isValidModule() { assertFalse(Module.isValidModule("CS21T")); // too little numbers // valid module code - assertTrue(Module.isValidModule("CS2103")); // 2 prefix, 4 letters without 1 optional suffix - assertTrue(Module.isValidModule("CS2103T")); // 2 prefix, 4 letters with 1 optional suffix - assertTrue(Module.isValidModule("CS2103TT")); // 2 prefix, 4 letters with 2 optional suffix - assertTrue(Module.isValidModule("GEN2050")); // 3 prefix, 4 letters without 1 optional suffix - assertTrue(Module.isValidModule("GEN2050Y")); // 3 prefix, 4 letters with 1 optional suffix - assertTrue(Module.isValidModule("GESS1035")); // 4 prefix, 4 letters without 1 optional suffix - assertTrue(Module.isValidModule("GESS1035X")); // 4 prefix, 4 letters with 1 optional suffix + assertTrue(Module.isValidModule("CS2103")); // 2 prefix, 4 numbers without 1 optional suffix + assertTrue(Module.isValidModule("CS2103T")); // 2 prefix, 4 numbers with 1 optional suffix + assertTrue(Module.isValidModule("CS2103TT")); // 2 prefix, 4 numbers with 2 optional suffix + assertTrue(Module.isValidModule("GEN2050")); // 3 prefix, 4 numbers without 1 optional suffix + assertTrue(Module.isValidModule("GEN2050Y")); // 3 prefix, 4 numbers with 1 optional suffix + assertTrue(Module.isValidModule("GESS1035")); // 4 prefix, 4 numbers without 1 optional suffix + assertTrue(Module.isValidModule("GESS1035X")); // 4 prefix, 4 numbers with 1 optional suffix assertTrue(Module.isValidModule("cs2103t")); // suffix not capitalised assertTrue(Module.isValidModule("cs2103T")); // prefix not capitalised assertTrue(Module.isValidModule("cS2103t")); // prefix partial not capitalised From d37932bc6f250e4a68ed111f02a23165489a3ddf Mon Sep 17 00:00:00 2001 From: iynixil Date: Fri, 12 Apr 2024 09:28:03 +0800 Subject: [PATCH 12/19] Link faculty values table to subheading --- docs/UserGuide.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/docs/UserGuide.md b/docs/UserGuide.md index 281664a9abf..d147a4ea36d 100644 --- a/docs/UserGuide.md +++ b/docs/UserGuide.md @@ -450,13 +450,15 @@ Name | n/ | Case-sensitive.
Only alphanumeric characters allowed. | `alex yeo Phone Number | p/ | Numeric digits only, no special characters, at least 3 digits long. | `123`, `88888888, 12345678` Email | e/ | Valid email of the format `local-part@domain`.
1. `local-part` should only contain alphanumeric characters and the special characters `+_.-`
2. `local-part` may not start or end with any special characters.
3. `local-part` must be followed by exactly one `@` and then a `domain` name.
4. `domain` must be made up of at least 2 `domain` labels separated by periods.
5. Each `domain` name must be at least 2 alphanumeric characters long.
6. Each `domain` name must start and end with alphanumeric characters.
7. Each `domain` name can only consist of alphanumeric characters, separated by hyphens, if any. | `e@123.com`, `hello@h-h.com`, `one+two@h-h.hh`, `hello@e-h.e-hh` Module | m/ | Case-insensitive.
Valid module consisting of 2-4 letters, followed by exactly 4 numeric digits, with a suffix that is at most 1 character long. | `gess1025`, `hsi1000`, `cs2103t` -Faculty | f/ | Case-insensitive.
Restricted set of values (see table `Valid faculty values` below). | `soc`, `biz`, `School of Business` +Faculty | f/ | Case-insensitive.
Restricted set of values (refer to [valid faculty values](#valid-faculty-values) below). | `soc`, `biz`, `School of Business` Venue | v/ | Only alphanumeric characters allowed. | `belobog avenue`, `COM4-02-33`, `LT21`, `Kent Ridge Vale, Tulip Street, #12-34` Tag | t/ | Only alphanumeric characters allowed. | `tutor`, `professor`, `BestProf`, `Number1TA` Availability | a/ | Valid format of `day start-time end-time`.
1. `day` should be a valid day of week: `Monday`, `mon`, `Tuesday`, `tue`, `tues`, `Wednesday`, `wednes`, `wed`, `Thursday`, `thurs`, `thur`, `thu`, `Friday`, `fri`, `Saturday`, `satur`, `sat`, `Sunday`, `sun`.
2. `day` is case-insensitive.
3. `start-time` and `end-time` should be in the time format of `HH:mm` where `HH` is in 24 hours and `mm` are minutes 00-60. | `mon 13:00 14:00`, `monday 13:00 14:00`, `tues 14:00 21:00` Meeting Description | d/ | Only alphanumeric characters allowed. | `Meet for finals`, `Midterm revision` Meeting Start Time | s/ | Valid date and time format.
1. Valid date formats: `yyyy-MM-dd`, `yyyy-M-d`, `dd-MM-yyyy`, `yyyy-MM-d`, `d-MM-yyyy`, `d-M-yyyy`, `dd-M-yyyy`, `d/MM/yyyy`, `d-M-yyyy`, `dd-M-yyyy`, `dd/MM/yyyy`, `yyyy/MM/dd`, `yyyy/MM/d`, `yyyy/M/dd`, `yyyy/M/d`
2. Valid time formats: `HH:mm`, `H:mm`, `HHmm` | `2002-11-02 19:00`, `1-12-2022 9:00`, `2024/1/1 0000` +### Valid `Faculty` values + Faculty | Other names --------|------ Faculty of Arts of Social Sciences | Arts and Social Sciences, FASS From ef02ad084467703ca617264456a9b2f7dd540f89 Mon Sep 17 00:00:00 2001 From: iynixil Date: Fri, 12 Apr 2024 09:48:57 +0800 Subject: [PATCH 13/19] Update valid values for names and venues --- docs/UserGuide.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/UserGuide.md b/docs/UserGuide.md index d147a4ea36d..77a8c978cb1 100644 --- a/docs/UserGuide.md +++ b/docs/UserGuide.md @@ -446,12 +446,12 @@ Furthermore, certain edits can cause the StaffConnect to behave in unexpected wa Attribute | Prefix | Restrictions | Examples ----------|--------|--------------|--------------------- -Name | n/ | Case-sensitive.
Only alphanumeric characters allowed. | `alex yeoh`, `Bernice Yu`, `test1` +Name | n/ | Case-sensitive.
Only alphanumeric characters allowed. Spaces are only allowed between alphanumeric characters. | `alex yeoh`, `Bernice Yu`, `test1` Phone Number | p/ | Numeric digits only, no special characters, at least 3 digits long. | `123`, `88888888, 12345678` Email | e/ | Valid email of the format `local-part@domain`.
1. `local-part` should only contain alphanumeric characters and the special characters `+_.-`
2. `local-part` may not start or end with any special characters.
3. `local-part` must be followed by exactly one `@` and then a `domain` name.
4. `domain` must be made up of at least 2 `domain` labels separated by periods.
5. Each `domain` name must be at least 2 alphanumeric characters long.
6. Each `domain` name must start and end with alphanumeric characters.
7. Each `domain` name can only consist of alphanumeric characters, separated by hyphens, if any. | `e@123.com`, `hello@h-h.com`, `one+two@h-h.hh`, `hello@e-h.e-hh` Module | m/ | Case-insensitive.
Valid module consisting of 2-4 letters, followed by exactly 4 numeric digits, with a suffix that is at most 1 character long. | `gess1025`, `hsi1000`, `cs2103t` Faculty | f/ | Case-insensitive.
Restricted set of values (refer to [valid faculty values](#valid-faculty-values) below). | `soc`, `biz`, `School of Business` -Venue | v/ | Only alphanumeric characters allowed. | `belobog avenue`, `COM4-02-33`, `LT21`, `Kent Ridge Vale, Tulip Street, #12-34` +Venue | v/ | Any characters allowed, cannot be empty. | `belobog avenue`, `COM4-02-33`, `LT21`, `Kent Ridge Vale, Tulip Street, #12-34` Tag | t/ | Only alphanumeric characters allowed. | `tutor`, `professor`, `BestProf`, `Number1TA` Availability | a/ | Valid format of `day start-time end-time`.
1. `day` should be a valid day of week: `Monday`, `mon`, `Tuesday`, `tue`, `tues`, `Wednesday`, `wednes`, `wed`, `Thursday`, `thurs`, `thur`, `thu`, `Friday`, `fri`, `Saturday`, `satur`, `sat`, `Sunday`, `sun`.
2. `day` is case-insensitive.
3. `start-time` and `end-time` should be in the time format of `HH:mm` where `HH` is in 24 hours and `mm` are minutes 00-60. | `mon 13:00 14:00`, `monday 13:00 14:00`, `tues 14:00 21:00` Meeting Description | d/ | Only alphanumeric characters allowed. | `Meet for finals`, `Midterm revision` From f0367f56fc1947e847e2b2df4c119d66725b1683 Mon Sep 17 00:00:00 2001 From: iynixil Date: Fri, 12 Apr 2024 10:07:58 +0800 Subject: [PATCH 14/19] Update valid values for time --- docs/UserGuide.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/UserGuide.md b/docs/UserGuide.md index 77a8c978cb1..a26c4b3be39 100644 --- a/docs/UserGuide.md +++ b/docs/UserGuide.md @@ -453,9 +453,9 @@ Module | m/ | Case-insensitive.
Valid module consisting of 2-4 letters, follo Faculty | f/ | Case-insensitive.
Restricted set of values (refer to [valid faculty values](#valid-faculty-values) below). | `soc`, `biz`, `School of Business` Venue | v/ | Any characters allowed, cannot be empty. | `belobog avenue`, `COM4-02-33`, `LT21`, `Kent Ridge Vale, Tulip Street, #12-34` Tag | t/ | Only alphanumeric characters allowed. | `tutor`, `professor`, `BestProf`, `Number1TA` -Availability | a/ | Valid format of `day start-time end-time`.
1. `day` should be a valid day of week: `Monday`, `mon`, `Tuesday`, `tue`, `tues`, `Wednesday`, `wednes`, `wed`, `Thursday`, `thurs`, `thur`, `thu`, `Friday`, `fri`, `Saturday`, `satur`, `sat`, `Sunday`, `sun`.
2. `day` is case-insensitive.
3. `start-time` and `end-time` should be in the time format of `HH:mm` where `HH` is in 24 hours and `mm` are minutes 00-60. | `mon 13:00 14:00`, `monday 13:00 14:00`, `tues 14:00 21:00` -Meeting Description | d/ | Only alphanumeric characters allowed. | `Meet for finals`, `Midterm revision` -Meeting Start Time | s/ | Valid date and time format.
1. Valid date formats: `yyyy-MM-dd`, `yyyy-M-d`, `dd-MM-yyyy`, `yyyy-MM-d`, `d-MM-yyyy`, `d-M-yyyy`, `dd-M-yyyy`, `d/MM/yyyy`, `d-M-yyyy`, `dd-M-yyyy`, `dd/MM/yyyy`, `yyyy/MM/dd`, `yyyy/MM/d`, `yyyy/M/dd`, `yyyy/M/d`
2. Valid time formats: `HH:mm`, `H:mm`, `HHmm` | `2002-11-02 19:00`, `1-12-2022 9:00`, `2024/1/1 0000` +Availability | a/ | Valid format of `day start-time end-time`.
1. `day` should be a valid day of week: `Monday`, `mon`, `Tuesday`, `tue`, `tues`, `Wednesday`, `wednes`, `wed`, `Thursday`, `thurs`, `thur`, `thu`, `Friday`, `fri`, `Saturday`, `satur`, `sat`, `Sunday`, `sun`.
2. `day` is case-insensitive.
3. `start-time` and `end-time` should be in the time format of `HH:mm` where `HH` is in 24 hours and `mm` are valid minutes (00-59). | `mon 13:00 14:00`, `monday 13:00 14:00`, `tues 14:00 21:00` +Meeting Description | d/ | Only alphanumeric characters allowed. Spaces are only allowed between alphanumeric characters. | `Meet for finals`, `Midterm revision` +Meeting Start Time | s/ | Valid date and time format.
1. Valid date formats: `yyyy-MM-dd`, `yyyy-M-d`, `dd-MM-yyyy`, `yyyy-MM-d`, `d-MM-yyyy`, `d-M-yyyy`, `dd-M-yyyy`, `d/MM/yyyy`, `d-M-yyyy`, `dd-M-yyyy`, `dd/MM/yyyy`, `yyyy/MM/dd`, `yyyy/MM/d`, `yyyy/M/dd`, `yyyy/M/d`
where `yyyy` is a 4-digit year (0000-9999), `M` is a single digit month (1-9), `MM` is a valid month (1-12), `d` is a single digit day, `dd` is a valid day (1-31)
2. Valid time formats: `HH:mm`, `H:mm`, `HHmm`
where `H` is a single digit hour (1-9), `HH` is a valid 24-hour (00-23), `mm` are valid minutes (00-59). | `2002-11-02 19:00`, `1-12-2022 9:00`, `2024/1/1 0000` ### Valid `Faculty` values From c304b6b9ae5b94dbe97c4645cd1029eeba02bc39 Mon Sep 17 00:00:00 2001 From: iynixil Date: Fri, 12 Apr 2024 10:17:18 +0800 Subject: [PATCH 15/19] Update time values --- docs/UserGuide.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/UserGuide.md b/docs/UserGuide.md index a26c4b3be39..72d36f78be4 100644 --- a/docs/UserGuide.md +++ b/docs/UserGuide.md @@ -455,7 +455,7 @@ Venue | v/ | Any characters allowed, cannot be empty. | `belobog avenue`, `COM4- Tag | t/ | Only alphanumeric characters allowed. | `tutor`, `professor`, `BestProf`, `Number1TA` Availability | a/ | Valid format of `day start-time end-time`.
1. `day` should be a valid day of week: `Monday`, `mon`, `Tuesday`, `tue`, `tues`, `Wednesday`, `wednes`, `wed`, `Thursday`, `thurs`, `thur`, `thu`, `Friday`, `fri`, `Saturday`, `satur`, `sat`, `Sunday`, `sun`.
2. `day` is case-insensitive.
3. `start-time` and `end-time` should be in the time format of `HH:mm` where `HH` is in 24 hours and `mm` are valid minutes (00-59). | `mon 13:00 14:00`, `monday 13:00 14:00`, `tues 14:00 21:00` Meeting Description | d/ | Only alphanumeric characters allowed. Spaces are only allowed between alphanumeric characters. | `Meet for finals`, `Midterm revision` -Meeting Start Time | s/ | Valid date and time format.
1. Valid date formats: `yyyy-MM-dd`, `yyyy-M-d`, `dd-MM-yyyy`, `yyyy-MM-d`, `d-MM-yyyy`, `d-M-yyyy`, `dd-M-yyyy`, `d/MM/yyyy`, `d-M-yyyy`, `dd-M-yyyy`, `dd/MM/yyyy`, `yyyy/MM/dd`, `yyyy/MM/d`, `yyyy/M/dd`, `yyyy/M/d`
where `yyyy` is a 4-digit year (0000-9999), `M` is a single digit month (1-9), `MM` is a valid month (1-12), `d` is a single digit day, `dd` is a valid day (1-31)
2. Valid time formats: `HH:mm`, `H:mm`, `HHmm`
where `H` is a single digit hour (1-9), `HH` is a valid 24-hour (00-23), `mm` are valid minutes (00-59). | `2002-11-02 19:00`, `1-12-2022 9:00`, `2024/1/1 0000` +Meeting Start Time | s/ | Valid date and time format.
1. Valid date formats: `yyyy-MM-dd`, `yyyy-M-d`, `dd-MM-yyyy`, `yyyy-MM-d`, `d-MM-yyyy`, `d-M-yyyy`, `dd-M-yyyy`, `d/MM/yyyy`, `d-M-yyyy`, `dd-M-yyyy`, `dd/MM/yyyy`, `yyyy/MM/dd`, `yyyy/MM/d`, `yyyy/M/dd`, `yyyy/M/d`
where `yyyy` is a 4-digit year (0000-9999), `M` is a single digit month (1-9), `MM` is a valid month (01-12), `d` is a single digit day, `dd` is a valid day (01-31)
2. Valid time formats: `HH:mm`, `H:mm`, `HHmm`
where `H` is a single digit hour (1-9), `HH` is a valid 24-hour (00-23), `mm` are valid minutes (00-59). | `2002-11-02 19:00`, `1-12-2022 9:00`, `2024/1/1 0000` ### Valid `Faculty` values From 1757e733756c3ca71f8983e910bfe31e397c44ff Mon Sep 17 00:00:00 2001 From: iynixil Date: Fri, 12 Apr 2024 10:35:09 +0800 Subject: [PATCH 16/19] Update time values --- docs/UserGuide.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/UserGuide.md b/docs/UserGuide.md index 72d36f78be4..e68548805ab 100644 --- a/docs/UserGuide.md +++ b/docs/UserGuide.md @@ -452,10 +452,10 @@ Email | e/ | Valid email of the format `local-part@domain`.
1. `local-part` s Module | m/ | Case-insensitive.
Valid module consisting of 2-4 letters, followed by exactly 4 numeric digits, with a suffix that is at most 1 character long. | `gess1025`, `hsi1000`, `cs2103t` Faculty | f/ | Case-insensitive.
Restricted set of values (refer to [valid faculty values](#valid-faculty-values) below). | `soc`, `biz`, `School of Business` Venue | v/ | Any characters allowed, cannot be empty. | `belobog avenue`, `COM4-02-33`, `LT21`, `Kent Ridge Vale, Tulip Street, #12-34` -Tag | t/ | Only alphanumeric characters allowed. | `tutor`, `professor`, `BestProf`, `Number1TA` -Availability | a/ | Valid format of `day start-time end-time`.
1. `day` should be a valid day of week: `Monday`, `mon`, `Tuesday`, `tue`, `tues`, `Wednesday`, `wednes`, `wed`, `Thursday`, `thurs`, `thur`, `thu`, `Friday`, `fri`, `Saturday`, `satur`, `sat`, `Sunday`, `sun`.
2. `day` is case-insensitive.
3. `start-time` and `end-time` should be in the time format of `HH:mm` where `HH` is in 24 hours and `mm` are valid minutes (00-59). | `mon 13:00 14:00`, `monday 13:00 14:00`, `tues 14:00 21:00` -Meeting Description | d/ | Only alphanumeric characters allowed. Spaces are only allowed between alphanumeric characters. | `Meet for finals`, `Midterm revision` -Meeting Start Time | s/ | Valid date and time format.
1. Valid date formats: `yyyy-MM-dd`, `yyyy-M-d`, `dd-MM-yyyy`, `yyyy-MM-d`, `d-MM-yyyy`, `d-M-yyyy`, `dd-M-yyyy`, `d/MM/yyyy`, `d-M-yyyy`, `dd-M-yyyy`, `dd/MM/yyyy`, `yyyy/MM/dd`, `yyyy/MM/d`, `yyyy/M/dd`, `yyyy/M/d`
where `yyyy` is a 4-digit year (0000-9999), `M` is a single digit month (1-9), `MM` is a valid month (01-12), `d` is a single digit day, `dd` is a valid day (01-31)
2. Valid time formats: `HH:mm`, `H:mm`, `HHmm`
where `H` is a single digit hour (1-9), `HH` is a valid 24-hour (00-23), `mm` are valid minutes (00-59). | `2002-11-02 19:00`, `1-12-2022 9:00`, `2024/1/1 0000` +Tag | t/ | Case-sensitive.
Only alphanumeric characters allowed. | `tutor`, `professor`, `BestProf`, `Number1TA` +Availability | a/ | Valid format of `day start-time end-time`.
1. `day` should be a valid day of week: `Monday`, `mon`, `Tuesday`, `tue`, `tues`, `Wednesday`, `wednes`, `wed`, `Thursday`, `thurs`, `thur`, `thu`, `Friday`, `fri`, `Saturday`, `satur`, `sat`, `Sunday`, `sun`.
2. `day` is case-insensitive.
3. `start-time` and `end-time` should be in the time format of `HH:mm` where `HH` is in 24 hours (00-23) and `mm` are valid minutes (00-59). | `mon 13:00 14:00`, `monday 13:00 14:00`, `tues 14:00 21:00` +Meeting Description | d/ | Case-sensitive.
Only alphanumeric characters allowed. Spaces are only allowed between alphanumeric characters. | `Meet for finals`, `Midterm revision` +Meeting Start Time | s/ | Valid date and time format.
1. Valid date formats: `yyyy-MM-dd`, `yyyy-M-d`, `dd-MM-yyyy`, `yyyy-MM-d`, `d-MM-yyyy`, `d-M-yyyy`, `dd-M-yyyy`, `d/MM/yyyy`, `d-M-yyyy`, `dd-M-yyyy`, `dd/MM/yyyy`, `yyyy/MM/dd`, `yyyy/MM/d`, `yyyy/M/dd`, `yyyy/M/d`
where `yyyy` is a 4-digit year (0000-9999), `M` is a single digit month (1-9), `MM` is a valid month (01-12), `d` is a single digit day (1-9), `dd` is a valid day (01-31)
2. Valid time formats: `HH:mm`, `H:mm`, `HHmm`
where `H` is a single digit hour (1-9), `HH` is a valid 24-hour (00-23), `mm` are valid minutes (00-59). | `2002-11-02 19:00`, `1-12-2022 9:00`, `2024/1/1 0000` ### Valid `Faculty` values From a1673872971519892bda8c55093e7ab20f9cff78 Mon Sep 17 00:00:00 2001 From: Pluiexo Date: Fri, 12 Apr 2024 10:50:52 +0800 Subject: [PATCH 17/19] Update Navigability details --- docs/UserGuide.md | 24 +++++++++++++++++++----- docs/images/OverallLayout.png | Bin 0 -> 112220 bytes 2 files changed, 19 insertions(+), 5 deletions(-) create mode 100644 docs/images/OverallLayout.png diff --git a/docs/UserGuide.md b/docs/UserGuide.md index 1a36feef1f9..ed33ef089a2 100644 --- a/docs/UserGuide.md +++ b/docs/UserGuide.md @@ -42,23 +42,37 @@ StaffConnect (SC) is a **desktop app for managing contacts of Professors and Tut ## Navigability +### Overall UI layout +
![Overall Layout](images/OverallLayout.png) + + ### Mouse and Keyboard controls Before we get started StaffConnect offers a unique suite of UI controls for users to customise their own unique experience! -1. Clicking any items on the left panel will allow you to select the person contact to display. -
Alternatively, clicking anywhere in the list panel then using your arrow keys to navigate and hitting enter to select would give the same result. +1. Clicking any items on the left contacts panel will allow you to select the person contact to display. +
Alternatively, clicking anywhere in the contacts panel then using your arrow keys to navigate and hitting enter to select would give the same result.
![Region to select the person](images/personPanelRegion.png) 2. There is a divider that is draggable up and down to hide and show details on the right side and to customise the look of your application.
![Region to select the divider](images/detailsDividerRegion.png) -3. Each of the 3 display panes of information they are able to pan in all four directions to view the content: +3. Each of the 2 detail panels on the right are able to pan in all four directions to view the content: - For mouse pad users, dragging around with two fingers the around would pan around the pane. - - For mouse users, __[mouse wheel]__ will scroll up and down while __[shift + mouse wheel]__ will scroll left and right. - - __[Left click + drag]__ would pan around in the details pane as well. + - For mouse users, __[Mouse Wheel]__ will scroll up and down while __[Shift + Mouse wheel]__ will scroll left and right. + - __[Left click + Drag Mouse]__ would pan around in the details pane as well. - Keyboard arrow keys are able to pan around as well, but the scroll speed may differ on different systems. - There are scroll bars at the vertical and horizontal dividers of the window pane, dragging them in the respective direction will pan around as well. + +4. The result display: + The scroll bars can only be scrolled by two ways: + 1. For mouse pad users, dragging around with two fingers the around would pan around the pane. + 2. For mouse users, __[Mouse Wheel]__ will scroll up and down while __[Shift + Mouse Wheel]__ will scroll left and right. +
**Scrolling by arrow keys is not fully supported in the result display** + +5. The command box: + The input can only be scrolled by __[Holding Left Click + Drag Mouse]__ to the edge in the direction to scroll. This is to allow making adjustments on very long commands. +

diff --git a/docs/images/OverallLayout.png b/docs/images/OverallLayout.png new file mode 100644 index 0000000000000000000000000000000000000000..a1a8491bfcda8e551793beecb6996e44bdbe91af GIT binary patch literal 112220 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

g~W7 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 X*Umz3R?15#^9qL2HP*@2z8Ll&(l*G1 literal 0 HcmV?d00001 From 09d8c9e299c31d332c0701dc7be6ebe43ff673d5 Mon Sep 17 00:00:00 2001 From: Pluiexo Date: Fri, 12 Apr 2024 10:53:11 +0800 Subject: [PATCH 18/19] Fix formatting --- docs/UserGuide.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/UserGuide.md b/docs/UserGuide.md index ed33ef089a2..33b927d4455 100644 --- a/docs/UserGuide.md +++ b/docs/UserGuide.md @@ -64,13 +64,13 @@ Before we get started StaffConnect offers a unique suite of UI controls for user - Keyboard arrow keys are able to pan around as well, but the scroll speed may differ on different systems. - There are scroll bars at the vertical and horizontal dividers of the window pane, dragging them in the respective direction will pan around as well. -4. The result display: +4. The Result display:
The scroll bars can only be scrolled by two ways: 1. For mouse pad users, dragging around with two fingers the around would pan around the pane. 2. For mouse users, __[Mouse Wheel]__ will scroll up and down while __[Shift + Mouse Wheel]__ will scroll left and right.
**Scrolling by arrow keys is not fully supported in the result display** -5. The command box: +5. The Command box:
The input can only be scrolled by __[Holding Left Click + Drag Mouse]__ to the edge in the direction to scroll. This is to allow making adjustments on very long commands. From eabb0fc33d12795f8ce5e755f933fba691582077 Mon Sep 17 00:00:00 2001 From: Pluiexo Date: Fri, 12 Apr 2024 11:09:04 +0800 Subject: [PATCH 19/19] Add details on hovering --- docs/UserGuide.md | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/docs/UserGuide.md b/docs/UserGuide.md index 33b927d4455..f9696bec2cc 100644 --- a/docs/UserGuide.md +++ b/docs/UserGuide.md @@ -52,7 +52,10 @@ Before we get started StaffConnect offers a unique suite of UI controls for user 1. Clicking any items on the left contacts panel will allow you to select the person contact to display.
Alternatively, clicking anywhere in the contacts panel then using your arrow keys to navigate and hitting enter to select would give the same result. +
**Intended Behaviour:** +
Hovering the selection with mouse or arrow keys would not cause the details panel to switch to the selected person. This is to allow users to browse the contacts panel without switching.
![Region to select the person](images/personPanelRegion.png) + 2. There is a divider that is draggable up and down to hide and show details on the right side and to customise the look of your application.
![Region to select the divider](images/detailsDividerRegion.png) @@ -68,12 +71,12 @@ Before we get started StaffConnect offers a unique suite of UI controls for user The scroll bars can only be scrolled by two ways: 1. For mouse pad users, dragging around with two fingers the around would pan around the pane. 2. For mouse users, __[Mouse Wheel]__ will scroll up and down while __[Shift + Mouse Wheel]__ will scroll left and right. + 3. Simply dragging the scroll bar with a left mouse click.
**Scrolling by arrow keys is not fully supported in the result display** 5. The Command box:
The input can only be scrolled by __[Holding Left Click + Drag Mouse]__ to the edge in the direction to scroll. This is to allow making adjustments on very long commands. -

### Alternative UI arrangements @@ -83,7 +86,7 @@ Before we get started StaffConnect offers a unique suite of UI controls for user **Intended Limitations** 1. The divider position is not controllable by keyboard input, hence the only way to customise the look is mostly by mouse input. -2. Pane switching by keyboard input, like a terminal is not supported. +2. Panel switching by keyboard input, like a terminal is not supported. 3. Font sizes does not automatically resize in this application, scroll bars will appear in smaller window variants of this application to help with the viewing of details. 4. The UI will do a soft reset on its divider position every time the application is relaunched, as this is to allow users who wish to fall back to the default layout settings.