Challenge Overview
Challenge Overview
Challenge Objectives
-
Angular app UI prototype development
Project Background
-
We’re building a series of ‘calculator’ apps with similar workflow - input data, calculate, view results.
-
Our client has developed a specific method of calculating and visualizing Overburden values.
-
In this challenge we’ll update the UI for the overburden calculator.
Technology Stack
-
Angular
Code access
The base code and marvel app link are available in the forums. See the code style requirements also available in the forums.
Individual requirements
-
Job runs listing page
Screens in scope 59633259 - 59769806
To implement a job listing page for a new calculator, follow these guidelines:
-
use job-runs-list component to render the job listing page and implement the data fetching callbacks (updateParams, paramsChange, fetchJobRuns, visibilityChange)
-
update routing to follow similar structure as NCS: /calculatorName (job listing), /calculatorName/job (create new job), /calculatorName/job/id (view/edit existing job)
This page is common for all the calculator apps. Expected workflow is that the user would go into the dashboard, select an existing well (or enter custom well data) and then go to the individual calculator app where we’ll show a job runs listing for the selected well, with options to view a job run, update it, delete or copy. In case the user doesn’t select the well, we should display all the runs (ie, not filter by groupId).
When clicking the “New Job” button, use the “well-selection/well-selector/well-selector.component” component to show a dialog to select the well or use already selected one (see an example in ui\src\app\klinkenberg\pages\job-runs-page\job-runs-page.component.ts
2. Calculation page changes
-
Update data table for manual input to allow data updates (screen 59578318)
-
Update output charts so that all the data is visualized correctly (only two points are plotted now) - screen 59578320
-
Fix the data export and round the values to 4 decimal places
-
Add the input data template - a csv with 3 columns (Range From, Range To, Average Density)
-
Validate the input file is correct and can be parsed (show an error message if not)
General requirements
-
Unit/e2e tests are not required for now
-
Make sure to follow coding style requirements and guidelines provided in the wiki page
-
Place all shared code in src/app/shared directory (not src/app/utils)
-
Place all routing code in src/app/routing
What To Submit
-
Git patch
-
Verification guide