Skip to content

Instantly share code, notes, and snippets.

@mks-d
Last active May 10, 2021 16:25
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save mks-d/81fc8a40b83cf07a02955031b16bb021 to your computer and use it in GitHub Desktop.
Save mks-d/81fc8a40b83cf07a02955031b16bb021 to your computer and use it in GitHub Desktop.
Estimates for Carbonising AMPATH forms

Estimate

Evaluation for the work on carbonizing the AMPATH form engine (user-facing only, i.e., the formentry module, written in Angular 6).

Main Renderer

File: form-renderer.component.html Time: 12h Work: Convert classes, e.g., going from btn btn-default to Carbon counterparts, potentially swap out components or create intermediate stubs such as mat-tab-group, etc.

Components

We have (directly used):

  • mat-tab-group (external: @angular/material)
  • mat-tab (external: @angular/material)
  • remote-select (custom)
  • app-file-upload (custom)
  • ngx-date-time-picker (custom)
  • ng-select (custom)
  • checkbox (custom)
  • appointments-overview (custom) We have (indirectly used):
  • select-dropdown (custom)
  • mat-datepicker (external: @angular/material)
  • mat-datepicker-toggle (external: @angular/material)
  • mat-select (external: @angular/material)
  • mat-option (external: @angular/material)
  • date-time-picker (custom) [seems unused, skip]
  • time-picker (custom)
  • date-picker (custom) [seems unused, skip]
  • picker-modal (custom) [seems unused, skip]
  • lib-file-uploader (external: ngx-file-uploader)

Material UI Conversions

Components:

  • mat-tab-group (external: @angular/material)
  • mat-tab (external: @angular/material)
  • mat-datepicker (external: @angular/material)
  • mat-datepicker-toggle (external: @angular/material)
  • mat-select (external: @angular/material)
  • mat-option (external: @angular/material) Time: 14h Work: Mostly research which ones to take and partially using custom combinations to achieve the same result.

Other External Conversions

Components:

  • lib-file-uploader (external: ngx-file-uploader) Time: 1h Work: Applying CSS classes that fit. The functionality of the lib should be reusable.

Custom Component Conversions

Components:

  • remote-select (custom), see remote-select.component.html
  • app-file-upload (custom), see file-upload.component.html
  • ngx-date-time-picker (custom), see ngx-date-time-picker.component.html
  • ng-select (custom), see select.component.html
  • checkbox (custom), see checkbox.component.html
  • appointments-overview (custom), see appointments-overview.component.html
  • date-time-picker (custom), see date-time-picker.component.html
  • select-dropdown (custom), see select-dropdown.component.html
  • time-picker (custom), see time-picker.component.html
  • date-picker (custom), see date-picker.component.html
  • picker-modal (custom), see modal.component.html Time: 8h Work: Finding the right CSS classes or counterparts. These components partially already exist in carbon, but of course the controller API should remain stable. Note: The unused components have not been considered. Apparently, the date-time-picker was replaced by the ngx-date-time-picker. Of its internals, only the time-picker is still in use.

Conclusion

About 35h are estimated for this. Additional testing (40%) is necessary. In total about 49h, i.e., around 7 MD are estimated for this task.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment