first commit

This commit is contained in:
2024-11-05 12:22:50 +01:00
commit e5682a3912
19641 changed files with 2948548 additions and 0 deletions

View File

@@ -0,0 +1,770 @@
{*
* @Module Name: AP Page Builder
* @Website: apollotheme.com - prestashop template provider
* @author Apollotheme <apollotheme@gmail.com>
* @copyright Apollotheme
* @description: ApPageBuilder is module help you can build content for your shop
*}
<!-- @file modules\appagebuilder\views\templates\admin\_configure\helpers\form\form -->
{extends file="helpers/form/form.tpl"}
{block name="field"}
{if $input.type == 'blockLink'}
<script>
function getMaxIndex()
{
if($('.link_group').length == 0)
{
return 1;
}
else
{
var list_index = [];
$('.link_group').each(function(){
list_index.push($(this).data('index'));
})
return Math.max.apply(Math,list_index) + 1;
}
}
function updateNewLink(total_link, scroll_to_new_e, current_index, allow_add_fieldname)
{
var array_id_lang = $.parseJSON(list_id_lang);
if(allow_add_fieldname){
$('.form-group.link_group.new .form-action').trigger("change"); // FIX show_hide input follow select_box
hideOtherLanguage(id_language); // FIX when add new link, only show input in current_lang
updateField('add','link_title_'+total_link,true);
updateField('add','link_url_'+total_link,true);
updateField('add','target_type_'+total_link, false);
updateField('add','link_type_'+total_link, false);
updateField('add','cmspage_id_'+total_link, false);
updateField('add','category_id_'+total_link, false);
updateField('add','product_id_'+total_link, false);
updateField('add','manufacture_id_'+total_link, false);
updateField('add','page_id_'+total_link, false);
updateField('add','page_param_'+total_link, false);
updateField('add','supplier_id_'+total_link, false);
}
$('.link_group.new .form-group .tmp').each(function(){
// RENAME INPUT
var e_obj = $(this);
if($(this).closest(".translatable-field").length)
{
// MULTI_LANG
$.each(array_id_lang, function( index, value ) {
if (current_index == 0)
{
// ADD NEW
switch(e_obj.attr('id'))
{
case 'link_title_'+value:
e_obj.attr('id','link_title_'+total_link+'_'+value);
e_obj.attr('name','link_title_'+total_link+'_'+value);
break;
case 'link_url_'+value:
e_obj.attr('id','link_url_'+total_link+'_'+value);
e_obj.attr('name','link_url_'+total_link+'_'+value);
break;
}
}
});
}else{
// ONE_LANG
switch(e_obj.attr('id'))
{
case 'link_title_'+id_language:
e_obj.attr('id','link_title_'+total_link+'_'+id_language);
e_obj.attr('name','link_title_'+total_link+'_'+id_language);
break;
case 'link_url_'+id_language:
e_obj.attr('id','link_url_'+total_link+'_'+id_language);
e_obj.attr('name','link_url_'+total_link+'_'+id_language);
break;
default:
var old_id = e_obj.attr('id');
var old_name = e_obj.attr('name');
e_obj.attr('id',old_id+'_'+total_link);
e_obj.attr('name',old_name+'_'+total_link);
break;
}
}
});
$("#total_link").val(total_link);
}
function updateField(action, value, is_lang)
{
if (action == 'add')
{
if (is_lang == true)
{
$('#list_field_lang').val($('#list_field_lang').val()+value+',');
}
else
{
$('#list_field').val($('#list_field').val()+value+',');
}
}
else
{
// REMOVE
if (is_lang == true)
{
var old_list_field_lang = $('#list_field_lang').val();
var new_list_field_lang = old_list_field_lang.replace(value+',','');
$('#list_field_lang').val(new_list_field_lang);
}
else
{
var old_list_field = $('#list_field').val();
var new_list_field = old_list_field.replace(value+',','');
$('#list_field').val(new_list_field);
}
}
// UPDATE INDEX FORM 2,3,4,5,
$('#list_id_link').val('');
$('.link_group').each(function(){
$('#list_id_link').val($('#list_id_link').val()+$(this).data('index')+',');
})
}
$(document).off("click", ".add-new-link");
$(document).on("click", ".add-new-link", function(e) {
e.preventDefault();
addLinkForm();
});
/**
* ACTION FOR BUTTON ADD NEW
* param : index for edit ajax_widget
*/
function addLinkForm( index ){
var maxIndex = getMaxIndex();
var allow_add_fieldname = true;
if(index){
maxIndex = index;
allow_add_fieldname = false;
}
var new_link_html = '';
new_link_html += '<div class="form-group link_group new">';
$('.parent-tmp').each(function(){
new_link_html += $(this).prop('outerHTML');
new_link_html = new_link_html.replace('parent-tmp hidden','');
new_link_html = new_link_html.replace('parent-tmp','');
new_link_html = new_link_html.replace('display: none;','');
});
new_link_html += "<div class='form-group'>";
new_link_html += "<div class='col-lg-3'></div>";
new_link_html += "<div class='col-lg-9'>";
new_link_html += "<button class='fr btn btn-warning remove_link'>"+remove_button_text+"</button>";
new_link_html += '</div>';
new_link_html += '</div>';
new_link_html += '</div>';
$(new_link_html).insertBefore('.form-group.frm-add-new-link').data('index', maxIndex);
updateNewLink(maxIndex, true , 0, allow_add_fieldname);
$('.link_group.new').removeClass('new');
}
$(document).off("click", ".remove_link");
$(document).on("click", ".remove_link", function(e) {
e.preventDefault();
$(this).closest('.link_group').find('.tmp').each(function(){
// REMOVE FORM list_field, list_field_lang
var name_val = $(this).attr('name');
if($(this).closest(".translatable-field").length)
{
name_val = name_val.substring(0, name_val.lastIndexOf('_'));
updateField('remove',name_val,true);
}
else
{
updateField('remove',name_val,false);
}
});
$(this).closest('.link_group').fadeOut(function(){
// REMOVE FORM
$(this).remove();
var total_link = parseInt($("#total_link").val())-1;
$("#total_link").val(total_link);
$('#list_id_link').val('');
$('.link_group').each(function(){
$('#list_id_link').val($('#list_id_link').val()+$(this).data('index')+',');
})
});
});
$(document).off("change", ".form-action");
$(".form-action").each(function(e) {
$(this).attr('data-name', $(this).attr('name') );
});
$(document).on("change", ".link_group .form-action", function(e) {
var elementName = $(this).attr('data-name');
$('.' + elementName + '_sub', $(this).closest('.form-group.link_group')).hide();
$('.' + elementName + '-' + $(this).val(), $(this).closest('.form-group.link_group')).show();
});
/**
* AJAX FOR EDIT BLOCKLINK WIDGET
*/
function editWidgetLink()
{
if ($('#list_id_link').length && $('#list_id_link').val() != '')
{
var list_id_link = $('#list_id_link').val().split(',');
$.each(list_id_link, function( index, value ) {
if (value != '')
{
// GENERATE FORM
addLinkForm(value);
}
});
$.each(listData, function( index, value ) {
// FILL DATA INTO FORM
$('#'+index).val(value);
$('#'+index).val(value).prop('selected', true);;
});
setTimeout(function(){
// SHOW_HIDE INPUT FOLLOW SELECT_BOX
$('.form-group.link_group .form-action').trigger("change");
}, 500);
}
}
editWidgetLink();
</script>
{/if}
{if $input.type == 'leoalert'}
{if $input.show}
<div class="alert alert-danger">
{if isset($input.href) && $input.href}
<a href="{$input.href}" target="_blank">
{/if}
{$input.html_text}
{if isset($input.href) && $input.href}
</a>
{/if}
</div>
{/if}
{/if}
{if $input.type == 'counterbox'}
<script>
function getMaxIndex()
{
if($('.link_group').length == 0)
{
return 1;
}
else
{
var list_index = [];
$('.link_group').each(function(){
list_index.push($(this).data('index'));
})
return Math.max.apply(Math,list_index) + 1;
}
}
function updateNewLink(total_link, scroll_to_new_e, current_index, allow_add_fieldname)
{
var array_id_lang = $.parseJSON(list_id_lang);
if(allow_add_fieldname){
$('.form-group.link_group.new .form-action').trigger("change"); // FIX show_hide input follow select_box
hideOtherLanguage(id_language); // FIX when add new link, only show input in current_lang
updateField('add','link_title_'+total_link,true);
updateField('add','bootom_html_'+total_link, true);
updateField('add','min_'+total_link,false);
updateField('add','max_'+total_link, false);
updateField('add','increment_'+total_link, false);
updateField('add','number_suffix_'+total_link, false);
updateField('add','delay_'+total_link, false);
updateField('add','counterclass_'+total_link, false);
}
$('.link_group.new .form-group .tmp').each(function(){
// RENAME INPUT
var e_obj = $(this);
if($(this).closest(".translatable-field").length)
{
// MULTI_LANG
$.each(array_id_lang, function( index, value ) {
if (current_index == 0)
{
// ADD NEW
switch(e_obj.attr('id'))
{
case 'link_title_'+value:
e_obj.attr('id','link_title_'+total_link+'_'+value);
e_obj.attr('name','link_title_'+total_link+'_'+value);
break;
case 'bootom_html_'+value:
e_obj.attr('id','bootom_html_'+total_link+'_'+value);
e_obj.attr('name','bootom_html_'+total_link+'_'+value);
break;
}
}
});
}else{
// ONE_LANG
switch(e_obj.attr('id'))
{
case 'link_title_'+id_language:
e_obj.attr('id','link_title_'+total_link+'_'+id_language);
e_obj.attr('name','link_title_'+total_link+'_'+id_language);
break;
case 'bootom_html_'+id_language:
e_obj.attr('id','bootom_html_'+total_link+'_'+id_language);
e_obj.attr('name','bootom_html_'+total_link+'_'+id_language);
break;
default:
var old_id = e_obj.attr('id');
var old_name = e_obj.attr('name');
e_obj.attr('id',old_id+'_'+total_link);
e_obj.attr('name',old_name+'_'+total_link);
break;
}
}
});
$("#total_link").val(total_link);
}
function updateField(action, value, is_lang)
{
if (action == 'add')
{
if (is_lang == true)
{
$('#list_field_lang').val($('#list_field_lang').val()+value+',');
}
else
{
$('#list_field').val($('#list_field').val()+value+',');
}
}
else
{
// REMOVE
if (is_lang == true)
{
var old_list_field_lang = $('#list_field_lang').val();
var new_list_field_lang = old_list_field_lang.replace(value+',','');
$('#list_field_lang').val(new_list_field_lang);
}
else
{
var old_list_field = $('#list_field').val();
var new_list_field = old_list_field.replace(value+',','');
$('#list_field').val(new_list_field);
}
}
// UPDATE INDEX FORM 2,3,4,5,
$('#list_id_link').val('');
$('.link_group').each(function(){
$('#list_id_link').val($('#list_id_link').val()+$(this).data('index')+',');
})
}
$(document).off("click", ".add-new-link");
$(document).on("click", ".add-new-link", function(e) {
e.preventDefault();
addLinkForm();
});
/**
* ACTION FOR BUTTON ADD NEW
* param : index for edit ajax_widget
*/
function addLinkForm( index ){
var maxIndex = getMaxIndex();
var allow_add_fieldname = true;
if(index){
maxIndex = index;
allow_add_fieldname = false;
}
var new_link_html = '';
new_link_html += '<div class="form-group link_group new">';
$('.parent-tmp').each(function(){
new_link_html += $(this).prop('outerHTML');
new_link_html = new_link_html.replace('parent-tmp hidden','');
new_link_html = new_link_html.replace('parent-tmp','');
new_link_html = new_link_html.replace('display: none;','');
});
new_link_html += "<div class='form-group'>";
new_link_html += "<div class='col-lg-3'></div>";
new_link_html += "<div class='col-lg-9'>";
new_link_html += "<button class='fr btn btn-warning remove_link'>"+remove_button_text+"</button>";
new_link_html += '</div>';
new_link_html += '</div>';
new_link_html += '</div>';
$(new_link_html).insertBefore('.form-group.frm-add-new-link').data('index', maxIndex);
updateNewLink(maxIndex, true , 0, allow_add_fieldname);
$('.link_group.new').removeClass('new');
}
$(document).off("click", ".remove_link");
$(document).on("click", ".remove_link", function(e) {
e.preventDefault();
$(this).closest('.link_group').find('.tmp').each(function(){
// REMOVE FORM list_field, list_field_lang
var name_val = $(this).attr('name');
if($(this).closest(".translatable-field").length)
{
name_val = name_val.substring(0, name_val.lastIndexOf('_'));
updateField('remove',name_val,true);
}
else
{
updateField('remove',name_val,false);
}
});
$(this).closest('.link_group').fadeOut(function(){
// REMOVE FORM
$(this).remove();
var total_link = parseInt($("#total_link").val())-1;
$("#total_link").val(total_link);
$('#list_id_link').val('');
$('.link_group').each(function(){
$('#list_id_link').val($('#list_id_link').val()+$(this).data('index')+',');
})
});
});
$(document).off("change", ".form-action");
$(".form-action").each(function(e) {
$(this).attr('data-name', $(this).attr('name') );
});
$(document).on("change", ".link_group .form-action", function(e) {
var elementName = $(this).attr('data-name');
$('.' + elementName + '_sub', $(this).closest('.form-group.link_group')).hide();
$('.' + elementName + '-' + $(this).val(), $(this).closest('.form-group.link_group')).show();
});
/**
* AJAX FOR EDIT BLOCKLINK WIDGET
*/
function editWidgetLink()
{
if ($('#list_id_link').length && $('#list_id_link').val() != '')
{
var list_id_link = $('#list_id_link').val().split(',');
$.each(list_id_link, function( index, value ) {
if (value != '')
{
// GENERATE FORM
addLinkForm(value);
}
});
$.each(listData, function( index, value ) {
// FILL DATA INTO FORM
$('#'+index).val(value);
$('#'+index).val(value).prop('selected', true);;
});
setTimeout(function(){
// SHOW_HIDE INPUT FOLLOW SELECT_BOX
$('.form-group.link_group .form-action').trigger("change");
}, 500);
}
}
editWidgetLink();
</script>
{/if}
{if $input.type == 'tabConfig'}
<div class="row">
{assign var=tabList value=$input.values}
<ul class="nav nav-tabs" role="tablist">
{foreach $tabList as $key => $value name="tabList"}
<li role="presentation" class="{if $smarty.foreach.tabList.first}active{/if}"><a href="#{$key|escape:'html':'UTF-8'}" class="aptab-config" role="tab" data-toggle="tab">{$value|escape:'html':'UTF-8'}</a></li>
{/foreach}
</ul>
</div>
{/if}
{if $input.type == 'image_url_360'}
<div class="col-lg-9">
<input type="text" value="" name="image_link_360"/>
<button type="button" class="btn btn-default btn-image_link_360">{l s='Use this image url' mod='appagebuilder'}</button>
</div>
{/if}
{if $input.type == 'selectImg'}
{if isset($input.lang) AND $input.lang}
<div class="row selectImg lang">
{foreach from=$languages item=language}
{if $languages|count > 1}
<div class="translatable-field lang-{$language.id_lang|escape:'html':'UTF-8'}" data-lang="{$language.id_lang|escape:'html':'UTF-8'}" {if $language.id_lang != $defaultFormLanguage}style="display:none"{/if}>
{/if}
<div class="col-lg-6">
{if isset($input.show_image) && $input.show_image != false}
{if isset($fields_value[$input.name][$language.id_lang]) && $fields_value[$input.name][$language.id_lang]}
<img src="{$path_image|escape:'html':'UTF-8'}{$fields_value[$input.name][$language.id_lang]|escape:'html':'UTF-8'}" class="img-thumbnail" data-img="">
{/if}
{/if}
<div style="margin-top: 10px; font-size: 13px;">
<a class="choose-img {if isset($input.class)}{$input.class|escape:'html':'UTF-8'}{/if}" data-fancybox-type="iframe" href="{$input.href|escape:'html':'UTF-8'}" data-for="#{$input.name|escape:'html':'UTF-8'}_{$language.id_lang|escape:'html':'UTF-8'}">{l s='Select image' mod='appagebuilder'}</a>
-
<a class="reset-img">{l s='Reset this image' mod='appagebuilder'}</a>
-
<a class="reset-allimg">{l s='Reset all image' mod='appagebuilder'}</a>
</div>
<input id="{$input.name|escape:'html':'UTF-8'}_{$language.id_lang|escape:'html':'UTF-8'}" type="text" name="{$input.name|escape:'html':'UTF-8'}_{$language.id_lang|escape:'html':'UTF-8'}" class="hide img-value{if isset($input.class)} {$input.class|escape:'html':'UTF-8'}{/if}" value="{if isset($fields_value[$input.name][$language.id_lang]) && ($fields_value[$input.name][$language.id_lang])}{$fields_value[$input.name][$language.id_lang]|escape:'html':'UTF-8'}{/if}"/>
</div>
{if isset($input.lang) AND $input.lang }
{if $languages|count > 1}
<div class="col-lg-2">
<button type="button" class="btn btn-default dropdown-toggle" tabindex="-1" data-toggle="dropdown">
{$language.iso_code|escape:'html':'UTF-8'}
<span class="caret"></span>
</button>
<ul class="dropdown-menu">
{foreach from=$languages item=lang}
<li><a href="javascript:hideOtherLanguage({$lang.id_lang|escape:'html':'UTF-8'});" tabindex="-1">{$lang.name|escape:'html':'UTF-8'}</a></li>
{/foreach}
</ul>
</div>
{/if}
{/if}
{if $languages|count > 1}
</div>
{/if}
<script type="text/javascript">
$(document).ready(function(){
$('#{$input.name|escape:'html':'UTF-8'}_{$language.id_lang|escape:'html':'UTF-8'}-selectbutton').click(function(e){
$('#{$input.name|escape:'html':'UTF-8'}_{$language.id_lang|escape:'html':'UTF-8'}').trigger('click');
});
$('#{$input.name|escape:'html':'UTF-8'}_{$language.id_lang|escape:'html':'UTF-8'}').change(function(e){
var val = $(this).val();
var file = val.split(/[\\/]/);
$('#{$input.name|escape:'html':'UTF-8'}_{$language.id_lang|escape:'html':'UTF-8'}-name').val(file[file.length-1]);
});
});
</script>
{/foreach}
</div>
{else}
<div class="row selectImg">
<div class="col-lg-6">
{if isset($input.show_image) && $input.show_image != false}
{if isset($fields_value[$input.name]) && $fields_value[$input.name]}
<img src="{$path_image|escape:'html':'UTF-8'}{$fields_value[$input.name]|escape:'html':'UTF-8'}" class="img-thumbnail" data-img="">
{/if}
{/if}
<div></div>
<a class="choose-img {if isset($input.class)}{$input.class|escape:'html':'UTF-8'}{/if}" data-fancybox-type="iframe" href="{$input.href|escape:'html':'UTF-8'}" data-for="#{$input.name|escape:'html':'UTF-8'}">{l s='Select image' mod='appagebuilder'}</a> -
<a href="javascript:void(0)" onclick="resetLeoImage();">{l s='Reset' mod='appagebuilder'}</a>
<input id="{$input.name|escape:'html':'UTF-8'}" type="text" name="{$input.name|escape:'html':'UTF-8'}" class="hide input-s-image" value="{if isset($fields_value[$input.name]) && ($fields_value[$input.name])}{$fields_value[$input.name]|escape:'html':'UTF-8'} {/if}"/>
<script type="text/javascript">
function resetLeoImage(){
// Reset img and hidden input
$(".img-thumbnail").hide();
$(".img-thumbnail").attr('src','');
$(".input-s-image").val('');
}
</script>
</div>
<script type="text/javascript">
$(document).ready(function(){
$('#{$input.name|escape:'html':'UTF-8'}-selectbutton').click(function(e){
$('#{$input.name|escape:'html':'UTF-8'}').trigger('click');
});
$('#{$input.name|escape:'html':'UTF-8'}').change(function(e){
var val = $(this).val();
var file = val.split(/[\\/]/);
$('#{$input.name|escape:'html':'UTF-8'}-name').val(file[file.length-1]);
});
});
</script>
</div>
{/if}
{/if}
{if $input.type == 'img_cat'}
{assign var=tree value=$input.tree}
{assign var=imageList value=$input.imageList}
{assign var=selected_images value=$input.selected_images}
<div class="form-group form-select-icon">
<label class="control-label col-lg-3 " for="categories"> {l s='Categories' mod='appagebuilder'} </label>
<div class="col-lg-9">
{$tree}{* HTML form , no escape necessary *}
</div>
<input type="hidden" name="category_img" id="category_img" value='{$selected_images|escape:'html':'UTF-8'}'/>
<div id="list_image_wrapper" style="display:none">
<div class="list-image">
<img id="apci" src="" class="hidden" path="{$input.path_image|escape:'html':'UTF-8'}" widget="ApCategoryImage"/>
<a data-for="#apci" href="{$input.href_image|escape:'html':'UTF-8'}" class="apcategoryimage field-link choose-img"> [{l s='Select image' mod='appagebuilder'}]</a>
<input type="text" class="image_link_cat" value="" placeholder="{l s='Image Link' mod='appagebuilder'}" style="width: 100px;display: inline-block;"/>
<a href="javascript:;" class="apcategoryimage field-link remove-img hidden"> [{l s='Remove image' mod='appagebuilder'}]</a>
</div>
</div>
<script type="text/javascript">
full_loaded = true;
intiForApCategoryImage();
</script>
</div>
{/if}
{if $input.type == 'categories'}
<script type="text/javascript">
var full_loaded = undefined;
</script>
{/if}
{if $input.type == 'bg_img'}
<div class="col-lg-9 ">
<input type="text" name="bg_img" id="bg_img" value="{$fields_value['bg_img']|escape:'html':'UTF-8'}" class="">
{if strpos($fields_value['bg_img'], "/") !== false}
<img id="s-image" src="{$fields_value['bg_img']|escape:'html':'UTF-8'}"/>
{else}
<img id="s-image"{if !$fields_value['bg_img']} class="hidden" src="" {else}src="{$input['img_link']|escape:'html':'UTF-8'}{$fields_value['bg_img']|escape:'html':'UTF-8'}"{/if}/>
{/if}
<div>
<a class="choose-img" data-fancybox-type="iframe" href="{$link->getAdminLink('AdminApPageBuilderImages')|escape:'html':'UTF-8'}&ajax=1&action=manageimage&imgDir=images" data-for="#bg_img">{l s='Select image' mod='appagebuilder'}</a> -
<a class="reset-img" href="javascript:void(0)" onclick="resetBgImage();">{l s='Reset' mod='appagebuilder'}</a>
<a class="reset-allimg" href="javascript:void(0)" onclick="resetAllBgImage();">{l s='Reset All Language' mod='appagebuilder'}</a>
</div>
<p class="help-block">{l s='Please put image link or select image' mod='appagebuilder'}</p>
</div>
<script type="text/javascript">
function resetBgImage(){
// Reset img and hidden input
$("#s-image").addClass('hiden');
$("#s-image").attr('src','');
$("#bg_img").val('');
}
</script>
{/if}
{if $input.type == 'apExceptions'}
<div class="well">
<div>
{l s='Please specify the files for which you do not want it to be displayed.' mod='appagebuilder'}<br />
{l s='Please input each filename, separated by a comma (",").' mod='appagebuilder'}<br />
{l s='You can also click the filename in the list below, and even make a multiple selection by keeping the Ctrl key pressed while clicking, or choose a whole range of filename by keeping the Shift key pressed while clicking.' mod='appagebuilder'}<br />
{$exception_list}{* HTML form , no escape necessary *}
</div>
</div>
{/if}
{if $input.type == 'ApColumnclass' || $input.type == 'ApRowclass'}
<div class="">
<div class="well">
<div class="row">
{if $input.type == 'ApRowclass'}
<label class="choise-class col-lg-12"><input type="checkbox" class="chk-row" data-value="row" value="1"> {l s='Use class row' mod='appagebuilder'}</label>
{/if}
<label class="control-label col-lg-1">{$input.leolabel}</label>
<div class="col-lg-11"><input type="text" class="element_class" value="{$fields_value['class']|escape:'html':'UTF-8'}" name="class"></div>
</div><br/>
<div class="desc-bottom">
{l s='Insert new or select classes for toggling content across viewport breakpoints' mod='appagebuilder'}<br>
<ul class="ap-col-class">
<li>
<label class="choise-class"><input class="select-class" name="hidden_from[]" type="radio" data-value="hidden-xl-down" value="1"> {l s='Hidden on All Devices' mod='appagebuilder'}</label>
</li>
<li>
<label class="choise-class"><input class="select-class" name="hidden_from[]" type="radio" data-value="hidden-lg-down" value="1"> {l s='Hidden from Large devices (screen < 1200px)' mod='appagebuilder'}</label>
</li>
<li>
<label class="choise-class"><input class="select-class" name="hidden_from[]" type="radio" data-value="hidden-md-down" value="1"> {l s='Hidden from Medium devices (screen < 992px)' mod='appagebuilder'}</label>
</li>
<li>
<label class="choise-class"><input class="select-class" name="hidden_from[]" type="radio" data-value="hidden-sm-down" value="1"> {l s='Hidden from Small devices (screen < 768px)' mod='appagebuilder'}</label>
</li>
<li>
<label class="choise-class"><input class="select-class" name="hidden_from[]" type="radio" data-value="hidden-xs-down" value="1"> {l s='Hidden from Extra small devices (screen < 576px)' mod='appagebuilder'}</label>
</li>
{*<li>
<label class="choise-class"><input class="select-class" name="hidden_from[]" type="checkbox" data-value="hidden-xs-up" value="1"> {l s='Hidden from Smart Phone' mod='appagebuilder'}</label>
</li>*}
</ul>
</div>
</div>
</div>
{/if}
{if $input.type == 'bg_select'}
{$image_uploader}{* HTML form , no escape necessary *}
{/if}
{if $input.type == 'column_width'}
<div class="panel panel-default">
<div class="panel-body">
<p>{l s='Responsive: You can config width for each Devices' mod='appagebuilder'}</p>
</div>
<table class="table">
<thead><tr>
<th>{l s='Devices' mod='appagebuilder'}</th>
<th>{l s='Width' mod='appagebuilder'}</th>
</tr></thead>
<tbody>
{foreach $input.columnGrids as $gridKey=>$gridValue}
<tr>
<td>
<span class="col-{$gridKey|escape:'html':'UTF-8'}"></span>
{$gridValue|escape:'html':'UTF-8'}
</td>
<td>
<div class="btn-group">
<input type='hidden' class="col-val" name='{$gridKey|escape:'html':'UTF-8'}' value="{$fields_value[$gridKey]|escape:'html':'UTF-8'}"/>
<button type="button" class="btn btn-default apbtn-width dropdown-toggle" tabindex="-1" data-toggle="dropdown">
<span class="width-val ap-w-{$fields_value[$gridKey]|replace:'.':'-'|escape:'html':'UTF-8'}">{$fields_value[$gridKey]|escape:'html':'UTF-8'}/12 - ( {math equation="x/y*100" x=$fields_value[$gridKey]|replace:'-':'.' y=12 format="%.2f"} % )</span><span class="caret"></span>
</button>
<ul class="dropdown-menu">
{foreach from=$widthList item=itemWidth}
<li>
<a class="width-select" href="javascript:void(0);" tabindex="-1">
<span data-width="{$itemWidth|replace:'.':'-'|escape:'html':'UTF-8'}" class="width-val ap-w-{if $itemWidth|strpos:"."|escape:'html':'UTF-8'}{$itemWidth|replace:'.':'-'|escape:'html':'UTF-8'}{else}{$itemWidth|escape:'html':'UTF-8'}{/if}">{$itemWidth|escape:'html':'UTF-8'}/12 - ( {math equation="x/y*100" x=$itemWidth|replace:'-':'.' y=12 format="%.2f"} % )</span>
</a>
</li>
{/foreach}
</ul>
</div>
</td>
</tr>
{/foreach}
</tbody>
</table>
</div>
{/if}
{if $input.type == 'reloadControler'}
<div class="col-lg-9 ">
<div style="margin-top: 5px; font-size: 13px;">
<a class="reload-controller-exception" href="javascript:void(0);">{l s='Reload' mod='appagebuilder'}</a>
</div>
</div>
<script>
$(document).off('click', '.reload-controller-exception').on('click', '.reload-controller-exception', function(){
$($globalthis.currentElement).data('form').reloadControllerException = '1';
var idFormApRow = $($globalthis.currentElement).data('form').form_id;
$('.'+idFormApRow+' .btn-edit').first().click();
$($globalthis.currentElement).data('form').reloadControllerException = '0';
});
</script>
{/if}
{$smarty.block.parent}
{/block}

View File

@@ -0,0 +1,35 @@
<?php
/*
* 2007-2014 PrestaShop
*
* NOTICE OF LICENSE
*
* This source file is subject to the Academic Free License (AFL 3.0)
* that is bundled with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://opensource.org/licenses/afl-3.0.php
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@prestashop.com so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please refer to http://www.prestashop.com for more information.
*
* @author PrestaShop SA <contact@prestashop.com>
* @copyright 2007-2019 PrestaShop SA
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
* International Registered Trademark & Property of PrestaShop SA
*/
header('Expires: Mon, 26 Jul 1997 05:00:00 GMT');
header('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT');
header('Cache-Control: no-store, no-cache, must-revalidate');
header('Cache-Control: post-check=0, pre-check=0', false);
header('Pragma: no-cache');
header('Location: ../');
exit;

View File

@@ -0,0 +1,35 @@
<?php
/*
* 2007-2014 PrestaShop
*
* NOTICE OF LICENSE
*
* This source file is subject to the Academic Free License (AFL 3.0)
* that is bundled with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://opensource.org/licenses/afl-3.0.php
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@prestashop.com so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please refer to http://www.prestashop.com for more information.
*
* @author PrestaShop SA <contact@prestashop.com>
* @copyright 2007-2019 PrestaShop SA
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
* International Registered Trademark & Property of PrestaShop SA
*/
header('Expires: Mon, 26 Jul 1997 05:00:00 GMT');
header('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT');
header('Cache-Control: no-store, no-cache, must-revalidate');
header('Cache-Control: post-check=0, pre-check=0', false);
header('Pragma: no-cache');
header('Location: ../');
exit;