/
ClassificationsModule

ClassificationsModule

 

Dependencies

  • ClassificationService

  • ClassificationCategoriesService

  • ClassificationDefinitionService

  • BackendService

  • DomainGuard

  • ImportExportService

  • FormsValidatorService

  • NotificationService

  • ClassificationOverviewComponent

  • ClassificationListComponent

  • ClassificationDetailsComponent

  • ClassificationTypesSelectorComponent

  • TaskanaImportExportComponent

  • TaskanaTreeComponent

  • TaskanaSpinnerComponent

  • TaskanaFieldErrorDisplayCOmponent

  • ClassificationResource

  • Classification

  • ClassificationDefinition

  • ClassificationState

Interface structure

Navigation

GLOBAL HEADER

DomainSelection

Add|Import|Export

TaskTitle

Save|Delete|Revert

TypeFilter

CategoryFilter

NameFilter

 

 

 

DetailView

 

 

List view tree

 

 

 

Ui description

Browse classifications

Given: A user wants get informed about the existing classifications

When: The user opens the classification administrative page

Then: the classification tree structure is displayed and the user can open and collapse classification subtrees. The tree is filtered by default by type but not by category or name.


Show classification details

Given: A user wants to see all details of a specific classification

When: The selects the specific classification in the tree view

Then: the details of the classification are fetched from the backend, are shown and the classification is selected in the tree view

 

Given: A user wants to see all details of a specific classification while unsaved changed to a different classification exist.

When: The user selects a new classification in the tree view.

Then: A popup should occur asking the user if the unsaved changes should be persistet. If no, discard changes. If yes, save changes.


Change classification parent

Given: A user wants to reorder the classification hierarchy

When: She drags and drops list-items

Then: The list item will be updated on the server and the list-view will be updated. The classification list will not be fetched again.


Edit classification details

Given: A user wants to edit a classification which details he is currently viewing.

When: She changes the details (all but Key and Domain) and saves the changes. Specific fields are not editable: domain, key.

Then: The specified classification will be persisted in the backend. If all validation criteria apply (from the backend) the classification-tree will be updated and the user will receive a “save-succesfully” notification.


Add classification

Given: A user wants to add a single classification

When: She clicks on the add-button

Then: A template opens in the detail-view with all relevant fields to create a new classification. The classification will be persistet upon saving. If a different classification has unsaved changes a popup appears asking if the user wants to persist those changes.


Revert changes to a classification

Given: A user wants to revert changes made while editing or creating a classification. The given classification is open in the detail view.

When: She clicks the revert button

Then: The application resets all changes and additions made to the form


Delete classification

Given: A user wants to delete a selected classification which is open in the detail view.

When: She clicks the delete button

Then: A confirmation dialogue opens and asks for permission to delete the current classification. On confirmation the classification will be deleted in the backend and the list view is updated. On rejecting the dialogue closes without further actions.


Filter classifications

Given: A user wants to filter the classification list by type

When: She uses the category-type-selection

Then: All available categories should appear on the dropdown and on selection of a category-type the list view should be updated accordingly. The detail-view will NOT be reset and all changes will stay in the detail-view – even if the classification is not selectable on the list-view anymore. The other filter parameters will not change and will be applied aswell. This is a client side filter. No new request is sent to the backend.

 

Given: A user wants to filter the classification list by category

When: She uses the category-selection

Then: All available categories should appear on the dropdown and on selection of a category the list view should be updated accordingly. The detail-view will NOT be reset and all changes will stay in the detail-view – even if the classification is not selectable on the list-view anymore. The other filter parameters will not change and will be applied aswell. This is a client side filter. No new request is sent to the backend.

 

Given: A user wants to filter the classification list by name

When: She uses the text-filter

Then: The list-view should update on every key-event and only display items matching the filter. The detail-view will NOT be reset and all changes will stay in the detail-view – even if the classification is not selectable on the list-view anymore. The other filter parameters will not change and will be applied aswell. This is a client side filter. No new request is sent to the backend.

 

Related content