arena-plugin-compensation

A Redux plugin for compensation.

Usage no npm install needed!

<script type="module">
  import arenaPluginCompensation from 'https://cdn.skypack.dev/arena-plugin-compensation';
</script>

README

arena-plugin-compensation

Installation

npm i arena-plugin-compensation

Example

import Compensation from 'arena-plugin-compensation'
import {Form, Submit} from 'arena-components'
import {getResources, getSections} from './selectors'

return (
  <div>
    <Form name="MY_FORM">
      <Compensation
      change={change} // dispatch
        resources={resources}
        sections={sections}
        showResourcesByDefault={false}
      />
    </Form>
    <Submit name="MY_FORM">Submit</Submit>
  </div>
)

Components

arena-plugin-compensation consists of one component.

<Compensation />

formName: string

required

change: function

required

Provide the redux-form action creator change used by the bulk edit to update multiple resource fields at once.

delimiter: string

default: _

The string to be used as a delimiter for the field name. The options are either . to take advantage of the dot notation or something else such as _.

duration: number

default: 1

inlineResources: boolean

default: true

resources: object

default: {}

Example:

{
  "GrossNetIndicator": {
    "name": "Gross/net",
    "options": [
      {
        "label": "Gross",
        "value": "Gross"
      },
      {
        "label": "Net",
        "value": "Net"
      }
    ]
  },
  "SubjectToHypo": {
    "name": "Subject to hypo",
    "options": [
      {
        "label": "Hypo",
        "value": "Hypo"
      },
      {
        "label": "Non hypo",
        "value": "Non hypo"
      }
    ]
  }
}

sections: array

default: true

Example:

[
  {
    "code": "salaryComponents",
    "label": "Salary Components",
    "rows": [
      {
        "code": "Compensation_BaseSalary",
        "label": "Base Salary"
      },
      {
        "code": "Compensation_OtherSalary",
        "label": "Other salary"
      },
      {
        "code": "Compensation_EERetirement",
        "label": "Employee retirement contribution"
      },
      {
        "code": "Compensation_IncentiveAward",
        "label": "Incentive Award"
      }
    ]
  },
  {
    "code": "assignment",
    "label": "Assignment Allowances & Expenses",
    "rows": [
      {
        "code": "Compensation_ISP",
        "label": "International service premium"
      },
      {
        "code": "Compensation_Hardship",
        "label": "Hardship allowance"
      }
    ]
  }
]

showResourcesByDefault: boolean

default: false

showTitle: boolean

default: false

startYear: number|string

default: 2017

useAmountLabel: boolean

default: false

This sets duration to 1 and changed the label of the field amount to Amount.