1.2.2 • Published 1 month ago

@synerise/ds-condition v1.2.2

Weekly downloads
144
License
ISC
Repository
github
Last release
1 month ago

id: condition

title: Condition

Condition UI Component

Installation

npm i @synerise/ds-condition
or
yarn add @synerise/ds-condition

Usage

import Condition from '@synerise/ds-condition'

<Condition
    texts={{
      stepNamePlaceholder: 'Step name',
      removeConditionRowTooltip: 'Remove',
      addConditionRowButton: 'and where',
    }}
    addCondition={() => {}}
    removeCondition={(stepId, conditionId) => {}}
    updateStepName={(stepId, name) => {}}
    minConditionsLength={1}
    maxConditionsLength={1}
    onChangeContext={(stepId, contextItem) => {}}
    onChangeSubject={(stepId, subjectItem) => {}}
    onChangeParameter={(stepId, conditionId, value) => {}}
    onChangeOperator={(stepId, conditionId, operator) => {}}
    onChangeFactorValue={(stepId, conditionId, factorValue) => {}
    onChangeFactorType={(stepId, conditionId, factorType) => {}
    steps={
      [{
        id: 1,
        stepName: 'Step #1',
        subject: {
          type: 'event',
          placeholder: 'Choose event',
          showPreview: false,
          iconPlaceholder: <NotificationsM />,
          selectedItem: undefined,
          items: SUBJECT_ITEMS,
          texts: SUBJECT_TEXTS,
        },
        context: {
          texts: CONTEXT_TEXTS,
          selectedItem: step.subject.selectedItem,
          items: CONTEXT_ITEMS,
          groups: CONTEXT_GROUPS,
        }
        conditions: [{
          id: 0,
          parameter: {
            availableFactorTypes: ['parameter'],
            selectedFactorType: 'parameter',
            defaultFactorType: 'parameter',
            setSelectedFactorType: () => {},
            value: undefined,
            parameters: {
              buttonLabel: 'Parameter',
              buttonIcon: <VarTypeStringM />,
              groups: PARAMETER_GROUPS,
              items: PARAMETER_ITEMS
            },
            withoutTypeSelector: true,
            texts: FACTORS_TEXTS,
          },
          operator: {
            value: value,
            items: OPERATORS_ITEMS,
            groups: OPERATORS_GROUPS,
            texts: OPERATORS_TEXTS,
          },
          factor: {
            selectedFactorType: 'text',
            defaultFactorType: 'text',
            textType: 'default',
            value: condition.factor.value,
            formulaEditor: <div>Formula editor</div>,
            parameters: {
              buttonLabel: 'Parameter',
              buttonIcon: <VarTypeStringM />,
              groups: PARAMETER_GROUPS,
              items: PARAMETER_ITEMS
            },
            texts: FACTORS_TEXTS,
          },
        }))
      }))
    } />

Demo

API

PropertyDescriptionTypeDefault
addConditionCallback called when user adds new row of conditions(stepId: React.ReactText) => void-
removeConditionCallback called when user clicks on remove row of condtions(stepId: React.ReactText, conditionRowId: React.ReactText) => void-
stepsArray contains all steps of conditionConditionStep[]-
textsTranslations objectTexts-
updateStepNameCallback called when user change the name of step(stepId: React.ReactText, value: string) => void-
addStepCallback called when user clicks on add step button() => void-
duplicateStepCallback called when user clicks on duplicate step button(stepId: React.ReactText) => void-
removeStepCallback called when user clicks on remove step button(stepId: React.ReactText) => void-
onChangeOrderCallback called when user change order of steps(order: ConditionStep[]) => void-
autoClearConditionAutomatically fires clearing values of dependent elementsBooleanfalse
minConditionsLengthMinimal length of conditions in stepnumber-
maxConditionsLengthMaximal length of conditions in stepnumber \ undefined-
onChangeContextCallback called when user change value of step context(stepId: React.ReactText, value: ContextItem \ ContextGroup \ undefined) => void-
onChangeSubjectCallback called when user change value of step subject(stepId: React.ReactText, value: SubjectItem \ undefined) => void-
onChangeParameterCallback called when user change value of condition parameter(stepId: React.ReactText, conditionId: React.ReactText, value: ParameterValue)-
onChangeOperatorCallback called when user change value of condition operator(stepId: React.ReactText, conditionId: React.ReactText, value: OperatorsItem \ undefined) => void-
onChangeFactorValueCallback called when user change value of condition factor(stepId: React.ReactText, conditionId: React.ReactText, value: OperatorsType \ undefined) => void-
onChangeFactorTypeCallback called when user change type of condition factor(stepId: React.ReactText, conditionId: React.ReactText, value: FactorType \ undefined) => void-
onUpdateStepNameCallback called when user change the name of step condition(stepId: React.ReactText, value: string) => void-
onDeactivateCallback called when user blur on of the condition inputs(stepId: React.ReactText, conditionId: string) => void-
getPopupContainerOverridePopup container function for child tooltips and dropdowns(trigger: HTMLElementnull) => HTMLElement;-
defaultOpenedComponentComponent which should be opened after render'subject' \ 'operator' \ 'factor' \ 'parameter' \ 'context'-
inputPropsgroup of props from ds-factors typesInputProps-

ConditionStep

PropertyDescriptionTypeDefault
conditionsRows of conditionsStepConditions[]-
idId of condition stepReact.ReactText-
stepNameThe name of stepstring-
subjectSubject optionsSubjectProps-
contextContextSelector optionsContextSelectorProps-
getPopupContainerOverridePopup container function for child tooltips and dropdowns(trigger: HTMLElementnull) => HTMLElement;-

StepConditions

PropertyDescriptionTypeDefault
factor?Factors selector optionsFactorsProps-
idId condition rowReact.ReactText-
operator?Operators selector optionsOperatorsProps-
parameter?Parameter selector optionsFactorsProps-

Selectors appereance rules

  • Parameter appers when parameter prop is provided
  • Operator appears without Parameter when operator prop is provided and parameter prop is not provided
  • Operator with Parameter appers when operator and parameter pros are provided and parameter.value is set
  • Factor appears only when operator prop and operator.value are provided

See Condition.spec.tsx for code examples

Texts

PropertyDescriptionTypeDefault
addConditionRowButtonLabel of add conditions row buttonstring-
removeConditionRowTooltipTooltip on remove conditions row buttonstring-
stepNamePlaceholderPlaceholder of step namestring-
addStepLabel of add step buttonstring-
duplicateTooltipTooltip on duplicate step buttonstring-
moveTooltipTooltip on move step buttonstring-
removeTooltipTooltip on remove step buttonstring-
dropLabelLabel on drop zonestring-
1.1.10

1 month ago

1.2.0

1 month ago

1.2.2

1 month ago

1.2.1

1 month ago

1.1.1

3 months ago

1.1.0

3 months ago

1.1.9

1 month ago

1.1.8

2 months ago

1.1.7

2 months ago

1.1.6

2 months ago

1.1.5

2 months ago

1.1.4

3 months ago

1.1.3

3 months ago

1.1.2

3 months ago

1.0.2

4 months ago

1.0.1

4 months ago

1.0.0

4 months ago

1.0.5

3 months ago

1.0.4

3 months ago

1.0.3

4 months ago

0.27.14

4 months ago

0.27.13

4 months ago

0.27.12

4 months ago

0.27.11

5 months ago

0.27.10

5 months ago

0.27.9

5 months ago

0.27.8

5 months ago

0.27.7

5 months ago

0.27.6

5 months ago

0.27.5

5 months ago

0.27.4

5 months ago

0.27.2

5 months ago

0.27.1

5 months ago

0.27.0

6 months ago

0.27.3

5 months ago

0.26.4

6 months ago

0.26.3

6 months ago

0.25.4

8 months ago

0.25.3

8 months ago

0.25.2

8 months ago

0.25.1

8 months ago

0.25.0

8 months ago

0.25.7

7 months ago

0.25.6

7 months ago

0.25.5

8 months ago

0.26.2

7 months ago

0.26.1

7 months ago

0.26.0

7 months ago

0.24.14

9 months ago

0.24.13

9 months ago

0.24.12

9 months ago

0.24.11

9 months ago

0.24.10

9 months ago

0.24.9

9 months ago

0.24.8

9 months ago

0.24.5

10 months ago

0.24.7

10 months ago

0.24.6

10 months ago

0.22.27

1 year ago

0.22.26

1 year ago

0.22.29

1 year ago

0.22.28

1 year ago

0.22.23

1 year ago

0.22.22

1 year ago

0.22.25

1 year ago

0.22.24

1 year ago

0.22.40

11 months ago

0.22.38

11 months ago

0.22.37

12 months ago

0.22.39

11 months ago

0.22.34

12 months ago

0.22.33

1 year ago

0.22.36

12 months ago

0.22.35

12 months ago

0.22.30

1 year ago

0.22.32

1 year ago

0.22.31

1 year ago

0.23.0

11 months ago

0.24.4

10 months ago

0.24.3

10 months ago

0.24.2

10 months ago

0.24.1

10 months ago

0.24.0

10 months ago

0.22.21

1 year ago

0.22.20

1 year ago

0.22.19

1 year ago

0.22.18

1 year ago

0.22.17

1 year ago

0.22.16

1 year ago

0.22.15

1 year ago

0.22.14

1 year ago

0.22.13

1 year ago

0.22.12

1 year ago

0.22.11

1 year ago

0.22.10

1 year ago

0.22.9

1 year ago

0.22.8

1 year ago

0.22.7

1 year ago

0.22.6

1 year ago

0.22.5

1 year ago

0.22.4

1 year ago

0.22.3

1 year ago

0.22.2

1 year ago

0.22.1

1 year ago

0.22.0

1 year ago

0.21.11

1 year ago

0.21.10

1 year ago

0.21.9

1 year ago

0.21.8

1 year ago

0.21.7

1 year ago

0.21.6

1 year ago

0.21.5

1 year ago

0.21.4

1 year ago

0.21.3

1 year ago

0.21.2

1 year ago

0.21.1

1 year ago

0.21.0

2 years ago

0.20.65

2 years ago

0.20.64

2 years ago

0.20.63

2 years ago

0.20.62

2 years ago

0.20.60

2 years ago

0.20.61

2 years ago

0.20.59

2 years ago

0.20.57

2 years ago

0.20.58

2 years ago

0.20.55

2 years ago

0.20.56

2 years ago

0.20.53

2 years ago

0.20.54

2 years ago

0.20.51

2 years ago

0.20.52

2 years ago

0.20.50

2 years ago

0.20.48

2 years ago

0.20.49

2 years ago

0.20.46

2 years ago

0.20.47

2 years ago

0.20.44

2 years ago

0.20.45

2 years ago

0.20.42

2 years ago

0.20.43

2 years ago

0.20.40

2 years ago

0.20.41

2 years ago

0.20.39

2 years ago

0.20.37

2 years ago

0.20.38

2 years ago

0.20.35

2 years ago

0.20.36

2 years ago

0.20.33

2 years ago

0.20.34

2 years ago

0.20.32

2 years ago

0.20.30

2 years ago

0.20.28

2 years ago

0.20.29

2 years ago

0.20.27

2 years ago

0.20.26

2 years ago

0.20.24

2 years ago

0.20.25

2 years ago

0.20.22

2 years ago

0.20.23

2 years ago

0.20.21

2 years ago

0.20.9

2 years ago

0.20.8

2 years ago

0.20.7

2 years ago

0.20.6

2 years ago

0.20.5

2 years ago

0.20.4

2 years ago

0.20.3

2 years ago

0.20.2

2 years ago

0.20.20

2 years ago

0.20.19

2 years ago

0.20.17

2 years ago

0.20.18

2 years ago

0.20.16

2 years ago

0.20.13

2 years ago

0.20.14

2 years ago

0.20.11

2 years ago

0.20.12

2 years ago

0.20.10

2 years ago

0.20.1

2 years ago

0.20.0

2 years ago

0.19.15

2 years ago

0.19.16

2 years ago

0.19.13

2 years ago

0.19.12

2 years ago

0.19.9

2 years ago

0.19.11

2 years ago

0.19.10

2 years ago

0.19.8

2 years ago

0.19.6

2 years ago

0.19.7

2 years ago

0.18.11

3 years ago

0.18.10

3 years ago

0.19.0

3 years ago

0.19.1

3 years ago

0.19.2

3 years ago

0.19.3

3 years ago

0.19.4

2 years ago

0.18.9

3 years ago

0.18.1

3 years ago

0.18.2

3 years ago

0.18.3

3 years ago

0.18.4

3 years ago

0.18.5

3 years ago

0.18.6

3 years ago

0.18.7

3 years ago

0.18.8

3 years ago

0.17.20

3 years ago

0.17.23

3 years ago

0.17.25

3 years ago

0.17.24

3 years ago

0.17.26

3 years ago

0.17.29

3 years ago

0.17.28

3 years ago

0.18.0

3 years ago

0.17.32

3 years ago

0.17.31

3 years ago

0.17.34

3 years ago

0.17.33

3 years ago

0.17.36

3 years ago

0.17.35

3 years ago

0.17.38

3 years ago

0.17.37

3 years ago

0.17.30

3 years ago

0.17.39

3 years ago

0.17.6

3 years ago

0.17.7

3 years ago

0.17.8

3 years ago

0.17.9

3 years ago

0.17.10

3 years ago

0.17.12

3 years ago

0.17.11

3 years ago

0.17.14

3 years ago

0.17.13

3 years ago

0.17.18

3 years ago

0.17.17

3 years ago

0.17.19

3 years ago

0.17.2

3 years ago

0.17.3

3 years ago

0.17.4

3 years ago

0.17.5

3 years ago

0.17.0

3 years ago

0.17.1

3 years ago

0.16.0

3 years ago

0.14.0

3 years ago

0.14.3

3 years ago

0.15.0

3 years ago

0.15.1

3 years ago

0.13.9

3 years ago

0.13.10

3 years ago

0.13.6

3 years ago

0.13.7

3 years ago

0.13.8

3 years ago

0.13.5

3 years ago

0.13.0

4 years ago

0.13.1

3 years ago

0.13.2

3 years ago

0.13.3

3 years ago

0.13.4

3 years ago

0.12.10

4 years ago

0.12.9

4 years ago

0.12.7

4 years ago

0.12.8

4 years ago

0.12.0

4 years ago

0.12.1

4 years ago

0.12.2

4 years ago

0.12.3

4 years ago

0.12.4

4 years ago

0.12.5

4 years ago

0.12.6

4 years ago

0.11.0

4 years ago

0.11.1

4 years ago

0.10.2

4 years ago

0.10.1

4 years ago

0.10.0

4 years ago

0.9.1

4 years ago

0.9.0

4 years ago

0.8.13

4 years ago

0.8.12

4 years ago

0.8.11

4 years ago

0.8.9

4 years ago

0.8.10

4 years ago

0.8.8

4 years ago

0.8.7

4 years ago

0.8.6

4 years ago

0.8.5

4 years ago

0.8.4

4 years ago

0.8.3

4 years ago

0.8.1

4 years ago

0.8.2

4 years ago

0.8.0

4 years ago

0.7.26

4 years ago

0.7.25

4 years ago

0.7.24

4 years ago

0.7.22

4 years ago

0.7.23

4 years ago

0.7.21

4 years ago

0.7.20

4 years ago

0.7.19

4 years ago

0.7.18

4 years ago

0.7.17

4 years ago

0.7.16

4 years ago

0.7.15

4 years ago

0.7.13

4 years ago

0.7.14

4 years ago

0.7.12

4 years ago

0.7.11

4 years ago

0.7.8

4 years ago

0.7.7

4 years ago

0.7.6

4 years ago

0.7.2

4 years ago

0.7.1

4 years ago

0.7.3

4 years ago

0.7.0

4 years ago

0.6.21

4 years ago

0.6.20

4 years ago

0.6.19

4 years ago

0.6.18

4 years ago

0.6.17

4 years ago

0.6.16

4 years ago

0.6.15

4 years ago

0.6.14

4 years ago

0.6.10

4 years ago

0.6.12

4 years ago

0.6.11

4 years ago

0.6.13

4 years ago

0.6.9

4 years ago

0.6.8

4 years ago

0.6.7

4 years ago

0.6.6

4 years ago

0.6.5

4 years ago

0.6.3

4 years ago

0.6.4

4 years ago

0.6.2

4 years ago

0.6.1

4 years ago

0.5.2

4 years ago

0.6.0

4 years ago

0.5.1

4 years ago

0.5.0

4 years ago

0.4.4

4 years ago

0.4.3

4 years ago

0.4.1

4 years ago

0.4.0

4 years ago

0.3.3

4 years ago

0.3.2

4 years ago

0.3.1

4 years ago

0.3.0

5 years ago

0.2.13

5 years ago

0.2.12

5 years ago

0.2.11

5 years ago

0.2.10

5 years ago

0.2.9

5 years ago

0.2.8

5 years ago

0.2.7

5 years ago

0.2.6

5 years ago

0.2.3

5 years ago

0.2.5

5 years ago

0.2.4

5 years ago

0.2.2

5 years ago

0.2.1

5 years ago

0.2.0

5 years ago

0.1.33

5 years ago

0.1.32

5 years ago

0.1.31

5 years ago

0.1.30

5 years ago

0.1.29

5 years ago

0.1.27

5 years ago

0.1.28

5 years ago

0.1.26

5 years ago

0.1.25

5 years ago

0.1.24

5 years ago

0.1.23

5 years ago

0.1.21

5 years ago

0.1.22

5 years ago

0.1.19

5 years ago

0.1.18

5 years ago

0.1.15

5 years ago

0.1.16

5 years ago

0.1.17

5 years ago

0.1.14

5 years ago

0.1.13

5 years ago

0.1.11

5 years ago

0.1.10

5 years ago

0.1.9

5 years ago

0.1.8

5 years ago

0.1.7

5 years ago

0.1.6

5 years ago

0.1.5

5 years ago

0.1.4

5 years ago

0.1.3

5 years ago

0.1.2

5 years ago

0.1.1

5 years ago

0.1.0

5 years ago

0.0.1

5 years ago