|
79 | 79 | <div class="row"> |
80 | 80 |
|
81 | 81 | <div class="hidden_fields_primary" data-name = "{{ $primary_dependency['name'] }}"> |
82 | | - <input type="hidden" name="{{$primary_dependency['name']}}" value="" /> |
| 82 | + <input type="hidden" bp-field-name="{{$primary_dependency['name']}}" name="{{$primary_dependency['name']}}" value="" /> |
83 | 83 | @if(isset($field['value'])) |
84 | 84 | @if($old_primary_dependency) |
85 | 85 | @foreach($old_primary_dependency as $item ) |
@@ -130,7 +130,7 @@ class = 'primary_list' |
130 | 130 |
|
131 | 131 | <div class="row"> |
132 | 132 | <div class="hidden_fields_secondary" data-name="{{ $secondary_dependency['name'] }}"> |
133 | | - <input type="hidden" name="{{$secondary_dependency['name']}}" value="" /> |
| 133 | + <input type="hidden" bp-field-name="{{$secondary_dependency['name']}}" name="{{$secondary_dependency['name']}}" value="" /> |
134 | 134 | @if(isset($field['value'])) |
135 | 135 | @if($old_secondary_dependency) |
136 | 136 | @foreach($old_secondary_dependency as $item ) |
@@ -210,17 +210,44 @@ function bpFieldInitChecklistDependencyElement(element) { |
210 | 210 | let inputToAdd = $('<input type="hidden" class="primary_hidden" name="'+nameInput+'[]" value="'+idCurrent+'">'); |
211 | 211 |
|
212 | 212 | field.find('.hidden_fields_primary').append(inputToAdd); |
| 213 | + field.find('.hidden_fields_primary').find('input').first().val(idCurrent).trigger('change'); |
| 214 | + field.find('.hidden_fields_primary').find('input').first().val() |
213 | 215 |
|
214 | 216 | $.each(dependencyJson[idCurrent], function(key, value){ |
215 | 217 | //check and disable secondies checkbox |
216 | 218 | field.find('input.secondary_list[value="'+value+'"]').prop( "checked", true ); |
217 | 219 | field.find('input.secondary_list[value="'+value+'"]').prop( "disabled", true ); |
| 220 | + field.find('input.secondary_list[value="'+value+'"]').attr('forced-select', 'true'); |
218 | 221 | //remove hidden fields with secondary dependency if was set |
219 | 222 | var hidden = field.find('input.secondary_hidden[value="'+value+'"]'); |
220 | 223 | if(hidden) |
221 | 224 | hidden.remove(); |
222 | 225 | }); |
223 | 226 | }; |
| 227 | + |
| 228 | + thisField.find('div.hidden_fields_primary').children('input').first().on('CrudField:disable', function(e) { |
| 229 | + let input = $(e.target); |
| 230 | + input.parent().parent().find('input[type=checkbox]').attr('disabled', 'disabled'); |
| 231 | + input.siblings('input').attr('disabled','disabled'); |
| 232 | + }); |
| 233 | +
|
| 234 | + thisField.find('div.hidden_fields_primary').children('input').first().on('CrudField:enable', function(e) { |
| 235 | + let input = $(e.target); |
| 236 | + input.parent().parent().find('input[type=checkbox]').not('[forced-select]').removeAttr('disabled'); |
| 237 | + input.siblings('input').removeAttr('disabled'); |
| 238 | + }); |
| 239 | +
|
| 240 | + thisField.find('div.hidden_fields_secondary').children('input').first().on('CrudField:disable', function(e) { |
| 241 | + let input = $(e.target); |
| 242 | + input.parent().parent().find('input[type=checkbox]').attr('disabled', 'disabled'); |
| 243 | + input.siblings('input').attr('disabled','disabled'); |
| 244 | + }); |
| 245 | +
|
| 246 | + thisField.find('div.hidden_fields_secondary').children('input').first().on('CrudField:enable', function(e) { |
| 247 | + let input = $(e.target); |
| 248 | + input.parent().parent().find('input[type=checkbox]').not('[forced-select]').removeAttr('disabled'); |
| 249 | + input.siblings('input').removeAttr('disabled'); |
| 250 | + }); |
224 | 251 |
|
225 | 252 | thisField.find('.primary_list').each(function() { |
226 | 253 | var checkbox = $(this); |
@@ -257,6 +284,7 @@ function bpFieldInitChecklistDependencyElement(element) { |
257 | 284 | if(ok){ |
258 | 285 | thisField.find('input.secondary_list[value="'+secondaryItem+'"]').prop('checked', false); |
259 | 286 | thisField.find('input.secondary_list[value="'+secondaryItem+'"]').prop('disabled', false); |
| 287 | + thisField.find('input.secondary_list[value="'+secondaryItem+'"]').removeAttr('forced-select'); |
260 | 288 | } |
261 | 289 | }); |
262 | 290 |
|
|
0 commit comments