Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

HBW-332 Dynamic delete_if and disable_if options for checkbox #561

Merged
merged 1 commit into from
May 27, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ v2.6.2 [unreleased]
- [#557](https://github.com/latera/homs/pull/557) Customize static fonts.
- [#558](https://github.com/latera/homs/pull/558) Add dynamic `disable_if` and `delete_if` options for radio button.
- [#559](https://github.com/latera/homs/pull/559) Customize checkboxes and radiobuttons.
- [#561](https://github.com/latera/homs/pull/561) Add dynamic `disable_if` and `delete_if` options for checkbox.

v2.6.1 [2021-05-17]
-------------------
Expand Down
5 changes: 3 additions & 2 deletions hbw/app/javascript/packs/hbw/components/form/checkbox.js.jsx
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import cx from 'classnames';
import compose from 'shared/utils/compose';
import { withConditions, withErrorBoundary } from 'shared/hoc';
import { withCallbacks, withConditions, withErrorBoundary } from 'shared/hoc';

modulejs.define('HBWFormCheckbox', ['React'], (React) => {
class HBWFormCheckbox extends React.Component {
Expand All @@ -17,6 +17,7 @@ modulejs.define('HBWFormCheckbox', ['React'], (React) => {
}

handleChange = () => {
this.props.fireFieldValueUpdate(this.props.name, !this.state.value);
this.setState(prevState => ({ value: !prevState.value }));
};

Expand Down Expand Up @@ -70,5 +71,5 @@ modulejs.define('HBWFormCheckbox', ['React'], (React) => {
};
}

return compose(withConditions, withErrorBoundary)(HBWFormCheckbox);
return compose(withCallbacks, withConditions, withErrorBoundary)(HBWFormCheckbox);
});
247 changes: 245 additions & 2 deletions hbw/config/yml_api.test.camunda.yml
Original file line number Diff line number Diff line change
Expand Up @@ -165,6 +165,9 @@ get:
- <<: *default_process-definition
id: "testProcess:37:37"
deploymentId: "37"
- <<: *default_process-definition
id: "testProcess:38:38"
deploymentId: "38"

# form definitions
task/816011/deployed-form: &form_with_everything
Expand Down Expand Up @@ -2292,6 +2295,198 @@ get:
condition: >
"$var" == "Hide fields"
task/111138/deployed-form:
"": |
form:
css_class: col-xs-12 col-sm-6 col-md-5 col-lg-4
fields:
- name: controlDeleteCheckbox
type: checkbox
label: Control delete checkbox
css_class: col-xs-6 col-sm-4 col-md-3
- name: controlDisableCheckbox
type: checkbox
label: Control disable checkbox
css_class: col-xs-6 col-sm-4 col-md-3
- name: group1
type: group
label: Some group
css_class: col-xs-12
fields:
- name: dependentStatic
type: static
css_class: col-xs-12 col-sm-6 col-md-4
html: "Dependent static"
dynamic: true
delete_if:
- variable: controlDeleteCheckbox
condition: >
$var == true
- name: dependentSelect
type: select
label: Dependent select
css_class: col-xs-12 col-sm-6 col-md-4 dependent-select
choices:
- Option 1
- Option 2
dynamic: true
disable_if:
- variable: controlDisableCheckbox
condition: >
$var == true
delete_if:
- variable: controlDeleteCheckbox
condition: >
$var == true
- name: dependentDatetime
type: datetime
label: Dependent datetime
css_class: col-xs-6 col-sm-4 col-md-3
dynamic: true
disable_if:
- variable: controlDisableCheckbox
condition: >
$var == true
delete_if:
- variable: controlDeleteCheckbox
condition: >
$var == true
- name: dependentString
type: string
label: Dependent string
css_class: col-xs-6 col-sm-4 col-md-3
dynamic: true
disable_if:
- variable: controlDisableCheckbox
condition: >
$var == true
delete_if:
- variable: controlDeleteCheckbox
condition: >
$var == true
- name: dependentCheckbox
type: checkbox
label: Dependent checkbox
css_class: col-xs-6 col-sm-4 col-md-3
dynamic: true
disable_if:
- variable: controlDisableCheckbox
condition: >
$var == true
delete_if:
- variable: controlDeleteCheckbox
condition: >
$var == true
- name: dependentText
type: text
label: Dependent text
css_class: col-xs-6 col-sm-4 col-md-3
dynamic: true
disable_if:
- variable: controlDisableCheckbox
condition: >
$var == true
delete_if:
- variable: controlDeleteCheckbox
condition: >
$var == true
- name: dependentSelectTable
type: select_table
label: Dependent select_table
css_class: col-xs-12 pre-scrollable dependent-select-table
nullable: false
rows:
- name: Name
type: string
alignment: right
- name: Code
- name: Arbitrary number
type: number
precision: 2
separator: "."
delimiter: ","
choices:
-
- 125342501
- My favourite region name
- My favourite region code
- 235234521
-
- 125342601
- My favourite region name2
- My favourite region code2
- 3252349284
dynamic: true
disable_if:
- variable: controlDisableCheckbox
condition: >
$var == true
delete_if:
- variable: controlDeleteCheckbox
condition: >
$var == true
- name: dependentUploadedFile
type: file_upload
label: Dependent file_upload
css_class: col-md-4 col-xs-4 col-lg-4
dynamic: true
disable_if:
- variable: controlDisableCheckbox
condition: >
$var == true
delete_if:
- variable: controlDeleteCheckbox
condition: >
$var == true
- name: homsOrderDataFileList
type: file_list
label: Dependent file_list
css_class: col-md-8 col-xs-8 col-lg-8
dynamic: true
disable_if:
- variable: controlDisableCheckbox
condition: >
$var == true
delete_if:
- variable: controlDeleteCheckbox
condition: >
$var == true
- name: dependentRadioButton
type: radio_button
label: Dependent radio button
css_class: col-xs-6 col-sm-4 col-md-3
variants:
- value: Dependent radio button
name: dependentRadioButton
label: Dependent radio button
dynamic: true
disable_if:
- variable: controlDisableCheckbox
condition: >
$var == true
delete_if:
- variable: controlDeleteCheckbox
condition: >
$var == true
- name: dependentGroup
type: group
label: Dependent group
css_class: col-xs-12
fields:
- name: stringInDependentGroup
type: string
label: Some string
css_class: col-xs-6 col-sm-4 col-md-3
dynamic: true
disable_if:
- variable: controlDisableCheckbox
condition: >
$var == true
delete_if:
- variable: controlDeleteCheckbox
condition: >
$var == true
# task variables
task/816011/variables:
"":
Expand Down Expand Up @@ -2865,6 +3060,32 @@ get:
dependentRadioButton:
type: "string"
value: ""
task/111138/variables:
"":
homsOrderCode:
type: "string"
value: "ORD-38"
dependentSelect:
type: "select"
value: "Option 1"
dependentDatetime:
type: "string"
value: "2016-09-30T14:52:20.000+03:00"
dependentString:
type: "string"
value: ""
dependentText:
type: "string"
value: ""
dependentSelectTable:
type: "select_table"
value: ""
dependentUploadedFile:
type: "file_upload"
value: null
dependentRadioButton:
type: "string"
value: ""

task/816011:
"": &default_tasks
Expand Down Expand Up @@ -3153,14 +3374,22 @@ get:
processInstanceId: 36
processDefinitionId: "testProcess:36:36"

task/111127:
task/111137:
"":
<<: *default_tasks
id: "111137"
formKey: "test_form_with_dynamic_conditions.yml"
processInstanceId: 37
processDefinitionId: "testProcess:37:37"

task/111138:
"":
<<: *default_tasks
id: "111138"
formKey: "test_form_with_dynamic_conditions.yml"
processInstanceId: 38
processDefinitionId: "testProcess:38:38"

put: {}
patch: {}
post:
Expand Down Expand Up @@ -3360,6 +3589,11 @@ post:
formKey: "test_form_with_dynamic_conditions.yml"
processInstanceId: 37
processDefinitionId: "testProcess:37:37"
- <<: *default_tasks
id: "111138"
formKey: "test_form_with_dynamic_conditions.yml"
processInstanceId: 38
processDefinitionId: "testProcess:38:38"
"active=true&candidateUser=demo&processVariables[][name]=homsOrderCode&processVariables[][operator]=like&processVariables[][value]=%":
- <<: *default_tasks
id: "111124"
Expand Down Expand Up @@ -3605,6 +3839,11 @@ post:
- <<: *default_process-instances
id: "111137"
processDefinitionId: "testProcess:37:37"
"active=true&variables[][name]=homsOrderCode&variables[][value]=ORD-38&variables[][operator]=eq":
data:
- <<: *default_process-instances
id: "111138"
processDefinitionId: "testProcess:38:38"

task/816011/submit-form:
"variables[homsOrderDataAddress][value]=test+address&variables[homsOrderDataBeginDate][value]=2016-09-30T11:52:20+00:00&variables[homsOrderDataEndDate][value]=2016-09-30T11:52:20+00:00&variables[homsOrderDataHomePlace][value]=test+home+place&variables[homsOrderDataRecommendation][value]=&variables[homsOrderDataSelect][value]=123456":
Expand Down Expand Up @@ -3645,7 +3884,7 @@ post:
"userId=demo": null

variable-instance:
"processInstanceIdIn[]=814972&processInstanceIdIn[]=2&processInstanceIdIn[]=3&processInstanceIdIn[]=4&processInstanceIdIn[]=5&processInstanceIdIn[]=6&processInstanceIdIn[]=7&processInstanceIdIn[]=8&processInstanceIdIn[]=9&processInstanceIdIn[]=10&processInstanceIdIn[]=11&processInstanceIdIn[]=12&processInstanceIdIn[]=13&processInstanceIdIn[]=14&processInstanceIdIn[]=15&processInstanceIdIn[]=16&processInstanceIdIn[]=17&processInstanceIdIn[]=18&processInstanceIdIn[]=19&processInstanceIdIn[]=20&processInstanceIdIn[]=21&processInstanceIdIn[]=22&processInstanceIdIn[]=23&processInstanceIdIn[]=24&processInstanceIdIn[]=25&processInstanceIdIn[]=26&processInstanceIdIn[]=27&processInstanceIdIn[]=28&processInstanceIdIn[]=29&processInstanceIdIn[]=30&processInstanceIdIn[]=31&processInstanceIdIn[]=32&processInstanceIdIn[]=33&processInstanceIdIn[]=34&processInstanceIdIn[]=35&processInstanceIdIn[]=36&processInstanceIdIn[]=37&variableName=homsOrderCode":
"processInstanceIdIn[]=814972&processInstanceIdIn[]=2&processInstanceIdIn[]=3&processInstanceIdIn[]=4&processInstanceIdIn[]=5&processInstanceIdIn[]=6&processInstanceIdIn[]=7&processInstanceIdIn[]=8&processInstanceIdIn[]=9&processInstanceIdIn[]=10&processInstanceIdIn[]=11&processInstanceIdIn[]=12&processInstanceIdIn[]=13&processInstanceIdIn[]=14&processInstanceIdIn[]=15&processInstanceIdIn[]=16&processInstanceIdIn[]=17&processInstanceIdIn[]=18&processInstanceIdIn[]=19&processInstanceIdIn[]=20&processInstanceIdIn[]=21&processInstanceIdIn[]=22&processInstanceIdIn[]=23&processInstanceIdIn[]=24&processInstanceIdIn[]=25&processInstanceIdIn[]=26&processInstanceIdIn[]=27&processInstanceIdIn[]=28&processInstanceIdIn[]=29&processInstanceIdIn[]=30&processInstanceIdIn[]=31&processInstanceIdIn[]=32&processInstanceIdIn[]=33&processInstanceIdIn[]=34&processInstanceIdIn[]=35&processInstanceIdIn[]=36&processInstanceIdIn[]=37&processInstanceIdIn[]=38&variableName=homsOrderCode":
- processInstanceId: 814972
type: string
name: homsOrderCode
Expand Down Expand Up @@ -3794,6 +4033,10 @@ post:
type: string
name: homsOrderCode
value: ORD-37
- processInstanceId: 38
type: string
name: homsOrderCode
value: ORD-38

variableName=homsOrderCode: []

Expand Down
Loading