+.bunchmultiple {
+ width: 100%;
+ margin: 0 15px;
+}
.bunchmultiple .bunchmultiple__wrapper {
padding: 15px;
border: 1px solid #eee;
-{"version":3,"sources":["bunchmultiple.less"],"names":[],"mappings":"AAAA,cACI;EACI,aAAA;EACA,sBAAA;EACA,mBAAA;EACA,mBAAA;;AALR,cACI,wBAMI;EACI,UAAA;;AARZ,cACI,wBAMI,cAGI;EACI,gBAAA;EACA,mBAAA;;AAZhB,cACI,wBAeI;EACI,mBAAA;;AAEA,cAlBR,wBAeI,MAGK;EACG,uBAAA;EACA,sBAAA;;AAFJ,cAlBR,wBAeI,MAGK,MAIG;EACI,UAAA;;AALR,cAlBR,wBAeI,MAGK,MAQG;EACI,UAAA;;AA5BpB,cACI,wBAeI,MAgBI;EACI,yBAAA;EACA,iBAAA;EACA,gBAAA;EACA,kBAAA;;AApChB,cACI,wBAeI,MAgBI,QAMI,EAAC;EACG,WAAA;EACA,gBAAA;;AAEA,cAzChB,wBAeI,MAgBI,QAMI,EAAC,OAII;EACG,mBAAA;;AAGJ,cA7ChB,wBAeI,MAgBI,QAMI,EAAC,OAQI;EACG,kBAAA;EACA,WAAA;;AAhDxB,cACI,wBAeI,MAqCI;EACI,gBAAA;EACA,iEAAA;EACA,yBAAA;EACA,eAAA;;AAGJ,cA3DR,wBAeI,MA4CK;EACG,aAAA;;AAGJ,cA/DR,wBAeI,MAgDK,UACG;EACI,oBAAA;EACA,UAAA","file":"bunchmultiple.css"}
\ No newline at end of file
+{"version":3,"sources":["bunchmultiple.less"],"names":[],"mappings":"AAAA;EACI,WAAA;EACA,cAAA;;AAFJ,cAGI;EACI,aAAA;EACA,sBAAA;EACA,mBAAA;EACA,mBAAA;;AAPR,cAGI,wBAMI;EACI,UAAA;;AAVZ,cAGI,wBAMI,cAGI;EACI,gBAAA;EACA,mBAAA;;AAdhB,cAGI,wBAeI;EACI,mBAAA;;AAEA,cAlBR,wBAeI,MAGK;EACG,uBAAA;EACA,sBAAA;;AAFJ,cAlBR,wBAeI,MAGK,MAIG;EACI,UAAA;;AALR,cAlBR,wBAeI,MAGK,MAQG;EACI,UAAA;;AA9BpB,cAGI,wBAeI,MAgBI;EACI,yBAAA;EACA,iBAAA;EACA,gBAAA;EACA,kBAAA;;AAtChB,cAGI,wBAeI,MAgBI,QAMI,EAAC;EACG,WAAA;EACA,gBAAA;;AAEA,cAzChB,wBAeI,MAgBI,QAMI,EAAC,OAII;EACG,mBAAA;;AAGJ,cA7ChB,wBAeI,MAgBI,QAMI,EAAC,OAQI;EACG,kBAAA;EACA,WAAA;;AAlDxB,cAGI,wBAeI,MAqCI;EACI,gBAAA;EACA,iEAAA;EACA,yBAAA;EACA,eAAA;;AAGJ,cA3DR,wBAeI,MA4CK;EACG,aAAA;;AAGJ,cA/DR,wBAeI,MAgDK,UACG;EACI,oBAAA;EACA,UAAA","file":"bunchmultiple.css"}
\ No newline at end of file
JQbunchmultiple.prototype = {
init: function () {
var $this = this;
+ this.id = $(this.element).attr('id');
+ this.bmidselector = '[data-bmid="' + this.id + '"]';
var initValues = this.element.data('values');
$.each(initValues, function (k, v) {
this.initItem();
}
- this.element.on('click', '.additem', function () {
+ this.element.on('click', '.additem' + this.bmidselector, function () {
$this.initItem();
return false;
});
- this.element.on('click', '.remove', function () {
+ this.element.on('click', '.remove' + this.bmidselector, function () {
$this.removeItem($(this).closest('.item'));
return false;
});
- this.element.on('click', '.legend', function () {
+ this.element.on('click', '.legend' + this.bmidselector, function () {
var item = $(this).closest('.item');
- var subform = item.find('.subform');
+ var subform = item.find('.subform' + this.bmidselector);
if (!item.hasClass('collapsed')) {
subform.css('height', subform.outerHeight());
setTimeout(function () {
this.initSort();
- this.element.on('change', 'input,select,textarea,.dropzone', function () {
+ this.element.on('change', 'input' + this.bmidselector +
+ ',select' + this.bmidselector +
+ ',textarea' + this.bmidselector +
+ ',.dropzone' + this.bmidselector, function () {
$this.update();
return true;
});
var val = [];
var $this = this;
var id = this.element.attr('id');
- $.each(this.element.find('.item:not(.sample) .subform'), function () {
+ $.each(this.element.find('.item' + this.bmidselector + ':not(.sample) .subform'), function () {
var data = $(this).find(':input').serializeArray();
var filteredData = {};
$.each(data, function (k, v) {
val.push(filteredData);
});
- this.element.find('.hiddenfield').val(JSON.stringify(val));
+ this.element.find('.hiddenfield' + this.bmidselector).val(JSON.stringify(val));
},
updateLegends: function () {
- $('[data-legend]').each(function () {
+ $('[data-legend]' + this.bmidselector).each(function () {
var item = $(this).closest('.item');
var form = item.find('.subform');
var txt = $(this).data('legend').replace(/\%([a-zA-Z0-9_]+)/gm, function (match, varname) {
initSort: function () {
var $this = this;
- new Sortable(this.element.find('.bunchmultiple__items').get(0), {
+ new Sortable(this.element.find('.bunchmultiple__items' + this.bmidselector).get(0), {
handle: '.sort-handle',
ghostClass: 'ghost',
onSort: function (evt) {
removeItem: function (item) {
$(item).remove();
- if (this.element.find('.item:not(.sample)').length === 0) {
+ if (this.element.find('.item' + this.bmidselector + ':not(.sample)').length === 0) {
this.initItem();
}
this.update();
collapsed = false;
isNew = true;
}
- var item = this.element.find('.sample').clone(false);
+ var item = this.element.find('.sample' + this.bmidselector).clone(false);
if (isNew) {
$(item).find('[data-reset-value]').val('');
}
if (collapsed) {
$(item).addClass('collapsed');
}
- $(this.element).find(".bunchmultiple__items").append($(item));
+ $(this.element).find(".bunchmultiple__items" + this.bmidselector).append($(item));
this.setValues(item, values);
+ $(item).find('.form-group').find('input, select, .dropzone, textarea').attr('data-bmid', this.id);
+
$(document).trigger('cubist.bunchmultiple.added');
},
.bunchmultiple {
+ width: 100%;
+ margin: 0 15px;
.bunchmultiple__wrapper {
padding: 15px;
border: 1px solid #eee;
$value = json_encode($value);
}
-
?>
<div class="bunchmultiple col-xs-12" id="{!! $field['rand'] !!}" data-values="{{ $value }}">
- <input type="hidden" class="hiddenfield" name="{{$field['name']}}" value="{{ $value }}"/>
- <div class="bunchmultiple__wrapper col-xs-12">
+ <input type="hidden" class="hiddenfield" name="{{$field['name']}}" value="{{ $value }}" data-bmid="{!! $field['rand'] !!}"/>
+ <div class="bunchmultiple__wrapper col-xs-12" data-bmid="{!! $field['rand'] !!}">
<div @include('crud::inc.field_wrapper_attributes') >
<label>{!! $field['label'] !!}</label>
@include('crud::inc.field_translatable_icon')
<div class="clearfix"></div>
- <div class="bunchmultiple__items">
- <div class="item sample">
- <div class="legend">
- <a href="#" class="action sort-handle"><i class="fa fa-sort" role="presentation"
- aria-hidden="true"></i></a>
- <span data-legend="{{$field['edit_label']}}"></span>
- <a href="#" class="action remove"><i class="fa fa-trash" role="presentation"
- aria-hidden="true"></i></a>
+ <div class="bunchmultiple__items" data-bmid="{!! $field['rand'] !!}">
+ <div class="item sample" data-bmid="{!! $field['rand'] !!}">
+ <div class="legend" data-bmid="{!! $field['rand'] !!}">
+ <a href="#" class="action sort-handle" data-bmid="{!! $field['rand'] !!}"><i class="fa fa-sort"
+ role="presentation"
+ aria-hidden="true"></i></a>
+ <span data-legend="{{$field['edit_label']}}" data-bmid="{!! $field['rand'] !!}"></span>
+ <a href="#" class="action remove" data-bmid="{!! $field['rand'] !!}"><i class="fa fa-trash"
+ role="presentation"
+ aria-hidden="true"></i></a>
</div>
- <div class="subform">
- @include('cubist_back::inc.show_bunch_fields', array('bunchfields'=>$field['bunchfields']))
+ <div class="subform" data-bmid="{!! $field['rand'] !!}">
+ @include('cubist_back::inc.show_bunch_fields', array('bunchfields'=>$field['bunchfields'],'bmid'=>$field['rand']))
</div>
</div>
</div>
<div class="btn-group m-t-10">
- <button class="btn btn-sm btn-default additem" type="button"><i
+ <button class="btn btn-sm btn-default additem" data-bmid="{!! $field['rand'] !!}" type="button"><i
class="fa fa-plus"></i> {{$field['add_label']}}</button>
</div>