-
Notifications
You must be signed in to change notification settings - Fork 9
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Process List: Sorting, Columns, One-Click Link #259
Comments
@iaktern I think adding a drag and drop symbol would make the process list too cluttered, what do you think? |
@iaktern I think the selection of Elements in the list via the checkbox should not be tested, as it is part of the antdesign table. |
yes, you're right: we should only test logic coming from our code. But in your case, isn't the selection logic coming from us? e.g., if someone clicks an icon within the row. |
While the selection logic can be set from outside, I still think, it should not be tested as part of the selection of elements within the list. The selection of an element in the list is given through AntDesign, we just pass it some callback for further functionality - which, currently, is just saving the selection in a state, as well as saving the last clicked element.. I think further added functionality should definitely be tested, however, this should come from the user's perspective, i.e. not checking state changes but rather gui changes associated with it. These test should then test the further functionality that follows / results from the selection. However, they should not test the selection itself, as it is given. Functionality inside some nested elements such as buttons / icons can and should be tested - I agree - but they are not part of the selection either, but rather doing something else, such as copying or exporting. As of for the way it is implemented currently, the only way to select an element, is via the 'Select all' shortcut, which has some tests on this branch (WIP), via the checkbox click (handled by AntDesign), or if starting some custom logic that then sets the selection from outside (e.g. exporting a process - which has, and should have its own tests). The latter - I think - should then be tested in tests for the respective functionality rather than a way of selection; otherwise the tests are overlapping. |
@MaxiLein We don't need to test implementation details of AntDesign, but we need to test that we use them correctly (e..g the correct props). For example, we don't need to test the DatePicker component, that it displays the days of a month in the correct order - that is up to AntDesign. But we need to test that it is configured correctly (for example a max range of dates, show only months, also show day time, etc.). If, for example, we accidentally delete a prop or the name or type of a prop changes in AntDesign and we don't update it, it would be an error on our side that the E2E tests should catch. For this selection case, AntDesign handles the drawing of the checkboxes, but only if we set the props correctly and store the selection. If we ever have a bug, that overrides the selection state, that needs to be caught by E2E tests. We don't need to test the checkboxes themselves, but we need to test that the selection as a whole works. But as you said, since we should test user stories in Playwright, it should be enough to test the derived functionality of the modals etc. working with the selected processes, so that should be enough. Because that inherently also covers the selection of processes - it's just important that they are included in the tests somehow. |
|
Your right with old dates. But if they are new, the exact time is often quite interesting. The important point is, it must be consistent with "Last Edited". Lets make is similar to MS Teams (implement logic in frontend):
The hovering tooltip should always contain the full date and time. |
Some things not only relevant for the process list table:
Automatically add creator infos: during the creation of a new process, automatically add the information about the creator in the BPMN (see PROCEED schema file: https://docs.proceed-labs.org/xsd/XSD-PROCEED.xsd)
creatorId, creatorName, creatorUsername, creatorSpaceId, creatorSpaceName
). This should be a one-time operation: a user should normally not be able to change the creator-values afterwards. (Can we also block the changing in the XML-Editor?)Change title of "Edit Process" modal to "Process Meta Data"
Add "Responsibility" column in the table
Add a new user-defined input field "ID" for creating a process (max 50 chars), e.g. Proc001 (additional to "Name" (max 100 chars) and "Description" (max 1000 chars)). Show it in "New Process" and "Meta Data" modal, in the meta+property panel and add a new table column. Extend the BPMN in the
definitions
element with the attributeproceed:userDefinedId
(See: https://github.com/PROCEED-Labs/docs/blob/main/public/xsd/XSD-PROCEED.xsd)Rename the versioning modal to "Release the latest Process Changes", rename the button to "Release" and add some explaining content under the heading ("A process is released to publish a specific state for documentation or automation. Releasing a process means that a new version of the current process is created. All process versions can be reloaded and further developed at any time. ")
Some minor changes in the BPMN Editor and some of the functionality:
Just for the table (and related elements):
Default Sorting mode: Creation Date
Delete "File Size" column
Value in the "Created on" column should include the time (not just the date). The important point is, it must be consistent with "Last Edited". Lets make is similar to MS Teams (implement logic in frontend):
In the top action bar if a process is selected, show the following icons in this order (and name it like this): View Process Documentation, Open Editor, Open Editor in new Tab, Change Meta Data, Release Process, Vertical Bar, Move to Folder, Copy, Delete, Vertical Bar, Share, Download
in row action bar if the mouse is hovering over an row, show the following icons in this order: View Process Documentation, Open Editor, Change Meta Data, Release Process, Share
in in the right click menu, show the following icons and names in this order: Process Name, View Process Documentation, Open Editor, Open Editor in new Tab, Change Meta Data, Release Process, Share, Download, Move to Folder, Copy, Delete, Horizontal Bar, Create Process, Create Folder, Import Process (not anymore: Copy Process Link)
Change Icon Symbols in right click and top and row action bars (of course, only if the icon appears there):
import { GrDocumentUser } from "react-icons/gr";
import { PiNotePencil } from "react-icons/pi";
import { IoOpenOutline } from "react-icons/io5";
import { LuNotebookPen } from "react-icons/lu";
import { BsFileEarmarkCheck } from "react-icons/bs";
import { PiDownloadSimple } from "react-icons/pi";
import { RiFolderTransferLine } from "react-icons/ri";
import { IoMdCopy } from "react-icons/io";
import { AiOutlinePartition } from "react-icons/ai";
import { PiFolderOpen } from "react-icons/pi";
delete the file icon in front of the Name of every process -> no icon anymore
Modal for "Move to Folder" action, if a process should be moved to another Folder. Either a nice Tree Structure or an Drop-Down Input Menu, showing all Folders a User is allowed to access
Rename "Import Process" to just "Import"
Use a click to open the drop down menu for "Create Process" (not hovering like it is now). (Also for the User Profile Symbol on the top right corner.)
Row Behaviour:
Sorting on all Columns should be possible, execept from "Description"
Columns adding and deselecting Bug: should work again
Process-List: 'Name' column should not be de-selectable
Selecting of processes only on the checkbox column => had to remove shift-selection, as some browsers dont emit events, when shift+clicking inputs of type checkbox, as soon as one checkbox is checked => Adjustable List-Column-Width #278
Column Size should be adaptable (width) => Adjustable List-Column-Width #278
Make the column blocks clickable with left click (also good for opening a process in a browser tab):
all but Select Column and Star Column=> Name and Description are clickable links, as soon as drag is changed, text selectable => Adjustable List-Column-Width #278Right Click Context Menu: Open, Open in New Tab, Copy Process Link, Make a Copy
Button for Creating a new Folder
store every User setting of the process list in the localstorage
make the process list component abstract and reusable for usage in other view
The text was updated successfully, but these errors were encountered: