Sanitation
PlatformDomainsAcademyDesign SystemFeedback
v1.3
v1.3
  • Introducing DIGIT Sanitation
    • Roadmap
    • Who can use DIGIT Sanitation?
      • Field Research
  • Platform
    • Features
    • Release Notes
      • MDMS Configuration & Service Build Updates
      • Localisation Changes
      • Workflow Configuration Changes
      • Migration Details
      • Test Cases
        • QA Test Cases
        • API Test Cases
          • API Test Cases for FSM System: Employee
          • API Test Cases for FSM System: FSTPO
          • Test Report
        • Test Closure Report
          • Backward Compatibility
        • Regression Test Case Report
      • Release Checklist
    • Architecture
    • Installation
    • Setup
      • On AWS
    • Operations Guide
    • Development Guide
      • Backend Developer Guide
      • UI Developer Guide
  • Products
    • Faecal Sludge Management (FSM)
      • Features
      • Sanitation Actors & Interactions
      • User Interface Design
      • FSM Core Service Configuration
        • FSM Implementation Configuration
        • FSM Calculator
        • FSM Vendor Registry
        • FSM Vehicle Registry
        • Legacy/Re-Indexing the FSM Data
        • FSM UI Docs
          • FSM Citizen UI
          • FSM Employee UI
          • FSM DSO UI
          • FSM FSTPO UI
        • FSM-DSS Technical Documentation
        • URC Release Notes
          • Steps to Configure URC
      • FSM User Manual
        • FSM Citizen User Manual
        • FSM Employee User Manual
          • Manage Vendor, Driver and Vehicle Details
        • DSO User Manual
        • Septage Treatment Plant Operator User Manual
      • Test Cases
      • FSM UI/UX Audit
      • FSM Functional Specification
      • FSM Technical Specification
        • Vehicle Technical Specification
        • Vendor Technical Specification
        • Calculator Technical Specification
      • FSM Release Notes
      • Training
  • Programme
    • Functional Customisation
      • Urban-Rural Convergence
    • Technical Customisation
    • Standard Operating Procedure (SOP)
    • Program Rollout Plan
    • Adoption Metrics
    • Implementation Plan
    • Implementation Guide
      • General FSM Implementation Activities
    • Implementation Checklist
  • COMMUNITY
    • Contribute
    • Source code
    • Issues
Powered by GitBook

All content on this page by eGov Foundation is licensed under a Creative Commons Attribution 4.0 International License.

On this page
  • DIGIT UI Implementaton: Guidelines & FAQs
  • Development Setup
  • Adding or modifying modules
  • Changing CS
  • Customising Fields in a Form
  • FSM UI Implementation: Guidelines & FAQs
  • Enable FSM
  • Changing CSS
  • Customising Fields in a Form
  • Customising Views
  • Customising Inbox Status Filter

Was this helpful?

Export as PDF
  1. Programme

Technical Customisation

Last updated 2 years ago

Was this helpful?

DIGIT UI Implementaton: Guidelines & FAQs

Development Setup

Repo:

Use the dev branch as the base branch for development.

Clone the repo and start using the following steps:

## install

yarn install

## start dev server

yarn start

Adding or modifying modules

  • Modules are enabled by the MDMS config at.

  • To add and enable any module in the new UI, src/App.js needs to be changed.

  • Till PGR, we used to export the Module and Links were added to the registry. Now, adding to the registry is part of the modules themselves. We export only the init function of the module to take care of all the initialisations. Going forward, these init functions will have to be called. We will create the init function of PGR as well. These init modules must be called after initLibraries.

Changing CS

CSS classes are published over CDN and can be seen at: https://unpkg.com/@egovernments/digit-ui-css/dist/index.css

Any class can be overwritten. Make changes in the src/index.css file.

Customising Fields in a Form

Add any new component created in the registry,

Digit.ComponentRegistryService.setupRegistry({

SelectName: SelectName

});

  • If API calls are failing, the do the following:

Check src/setupProxy.js for proxy url in dev mode.

  • If API calls are failing with no authorisation token, then do the following:

Create a .env file with following:

REACT_APP_USER_TYPE=

REACT_APP_CITIZEN_TOKEN=a3e5f0a2-4ff0-4680-855e-75051fb3e8f7

REACT_APP_EMPLOYEE_TOKEN=061bad07-c0d5-4200-a74f-ca5ed090cf30

REACT_APP_GRO_TOKEN=43af4c18-6418-4a35-8484-31f0700f465a

REACT_APP_LME_TOKEN=fa9f4184-dc64-495d-bded-31674c71b09e

FSM UI Implementation: Guidelines & FAQs

Enable FSM

It is done on dev via:

Create a new branch for the state if already doesn’t exist from the master of repo:

To add and enable any module in the new UI, src/App.js needs to be changed.

We only export the init function of the module to take care of all the initialisations:

import { initFSMComponents } from "@egovernments/digit-ui-module-fsm";

const enabledModules = ["FSM"];

initFSMComponents();

Changing CSS

CSS classes are published over CDN and can be seen at: https://unpkg.com/@egovernments/digit-ui-css/dist/index.css

Any class can be overwritten. Make changes in the src/index.css file.

Customising Fields in a Form

Add any new component created in the registry,

Digit.ComponentRegistryService.setupRegistry({

SelectName: SelectName});

The config has different items in the application form. The new config, if made, needs to be initialised at Digit.Customizations.FSM.applicationFormConfig

{
  label: "ES_NEW_APPLICATION_PROPERTY_TYPE",
  isMandatory: true,
  type: "component",
  route: "property-type",
  key: "propertyType",
  component: "SelectPropertyType",
  texts: {
    headerCaption: "",
    header: "CS_FILE_APPLICATION_PROPERTY_LABEL",
    cardText: "CS_FILE_APPLICATION_PROPERTY_TEXT",
    submitBarLabel: "CS_COMMON_NEXT",
  },
  nextStep: "property-subtype",
}
  • label: is the employee side label

  • texts: is used for citizen side step form

- t: translate function to be used to convert a key to localized text. e.g., t("CS_CREATECOMPLAINT_MOHALLA")

- config: current step config as shown above

- onSelect: on clicking of next or input, this handled to be called to save the data in the form state

- userType: employee or citizen

- formData: the current form state

Customising Views

Application details can be customised via defining: Digit.Customizations.FSM.getApplicationDetailsTableRows

The function will be passed following params:

  • id: application id

  • service: application response object

  • role: currently logged in user role CITIZEN or EMPLOYEE

  • t: function used for translation

getApplicationDetailsTableRows: ({ id, service, role, t }) => {
    if (role === "CITIZEN") {
      return {
        CS_FSM_APPLICATION_APPLICATION_NO: service.applicationNo,
        CS_FSM_APPLICATION_DETAIL_STATUS: t("CS_COMMON_" + service.applicationStatus),
        ...
      };
    }
    return {};
  }

Customising Inbox Status Filter

Following customisations are available:

  • userRole : Role of the logged in user for application of customisation.

  • statuses : List of statuses that needs to be shown for the specified user.

  • zeroCheck : Check if the total application count for any status is 0 to hide or rearrange the list.

  • fixed : Limits the status filter list to the specified list.

{
        "userRole": "FSM_EDITOR_EMP",
        "statuses": [
            "DSO_REJECTED",
            "ASSING_DSO",
            "CREATED"
        ],
        "zeroCheck" : true,
        "fixed": false
}

Modules are enabled by the MDMS config at: .

.

Application config: The default config can be found at.

component: the component that is to be rendered here. Any component can be created to show here; examples can be seen at, These components are passed following params:

Similarly, in case of Applicant Details, MDMS config is located at:

The Trip Details MDMS config is located at:

Status can be filtered and rendered by MDMS config located at:

https://github.com/egovernments/digit-ui
citymodule.json
https://github.com/egovernments/egov-mdms-data/blob/DEV/data/pb/tenant/citymodule.json
egov-mdms-data: added fsm in citymodule and stateinfo localization moduleCLOSED
egovernments/digit-ui
https://github.com/egovernments/egov-mdms-data/blob/DEV/data/pb/FSM/CommonFieldsConfig.json
pageComponents
https://github.com/egovernments/egov-mdms-data/blob/DEV/data/pb/FSM/PreFieldsConfig.json
https://github.com/egovernments/egov-mdms-data/blob/DEV/data/pb/FSM/PostFieldsConfig.json
https://github.com/egovernments/egov-mdms-data/blob/DEV/data/pb/DIGIT-UI/RoleStatusMapping.json