Skip to content

Commit

Permalink
Fix for images in repeat groups.
Browse files Browse the repository at this point in the history
  • Loading branch information
cheesegrits committed Jul 2, 2019
1 parent 912e127 commit c45f057
Show file tree
Hide file tree
Showing 3 changed files with 46 additions and 11 deletions.
2 changes: 1 addition & 1 deletion plugins/fabrik_element/image/image-min.js

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

44 changes: 36 additions & 8 deletions plugins/fabrik_element/image/image.js
Expand Up @@ -16,21 +16,24 @@ define(['jquery', 'fab/fileelement'], function (jQuery, FbFileElement) {
if (options.editable) {
this.getMyElements();
this.imageFolderList = [];

this.selectedImage = '';

if (this.options.canSelect === true) {
this.ajaxFolder();
this.element = this.hiddenField;
this.selectedFolder = this.getFolderPath();
}

if (this.imageDir) {
if (this.imageDir.options.length !== 0) {
this.selectedImage = this.imageDir.get('value');
this.showImage();
}
this.imageDir.addEvent('change', function (e) {
this.showImage(e);
}.bind(this));
}
if (this.options.canSelect === true) {
this.ajaxFolder();
this.element = this.hiddenField;
this.selectedFolder = this.getFolderPath();
}

}
},

Expand All @@ -47,8 +50,26 @@ define(['jquery', 'fab/fileelement'], function (jQuery, FbFileElement) {
},

cloned: function (c) {
var select = this.element.getElement('select');

if (select) {
select.id = this.origId + '_image' + c;
select.name = this.origId + '_image[' + c + ']';
}

this.getMyElements();
this.ajaxFolder();

if (this.imageDir) {
if (this.imageDir.options.length !== 0) {
this.selectedImage = this.imageDir.get('value');
this.showImage();
}
this.imageDir.addEvent('change', function (e) {
this.showImage(e);
}.bind(this));
}

this.parent(c);
},

Expand Down Expand Up @@ -103,8 +124,15 @@ define(['jquery', 'fab/fileelement'], function (jQuery, FbFileElement) {
this.selectedImage = this.imageDir.get('value');
this.image.src = Fabrik.liveSite + this.selectedFolder + '/' + this.selectedImage;
}
//this.hiddenField.value = this.get('value');//this.selectedImage;
this.hiddenField.value = this.getValue();

if (!this.hiddenField) {
var el = this.element.getParent('.fabrikElement');
this.hiddenField = el.getElement('.folderpath');
}

if (this.hiddenField) {
this.hiddenField.value = this.getValue();
}
}
},

Expand Down
11 changes: 9 additions & 2 deletions plugins/fabrik_element/image/image.php
Expand Up @@ -332,8 +332,15 @@ public function render($data, $repeatCounter = 0)
}

// $$$rob not sure about his name since we are adding $repeatCounter to getHTMLName();
$layoutData->imageName = $this->getGroupModel()->canRepeat() ? FabrikString::rtrimWord($name, "][$repeatCounter]") . "_image][$repeatCounter]"
: $id . '_image';
if ($this->getGroupModel()->canRepeat())
{
$layoutData->imageName = FabrikString::rtrimWord($name, "[$repeatCounter]") . "_image[$repeatCounter]";
}
else
{
$layoutData->imageName = $id . '_image';
}

$bits = explode('/', $value);
$image = array_pop($bits);

Expand Down

0 comments on commit c45f057

Please sign in to comment.