Skip to content

Commit

Permalink
Fixed issue #13151: Display issue? - Survey theme editor
Browse files Browse the repository at this point in the history
Dev: fixed a few minor errors in fruity options js
  • Loading branch information
lacrioque committed Jan 15, 2018
1 parent 2d7a77a commit 0b8fddc
Show file tree
Hide file tree
Showing 3 changed files with 60 additions and 40 deletions.
81 changes: 48 additions & 33 deletions themes/survey/fruity/options/options.js
Expand Up @@ -18,6 +18,13 @@ var prepare = function(){
$('#TemplateConfiguration_options').val(JSON.stringify(optionObject));
});
};
var writeToOptionsField = function(newOptionObject){
if($('#general_inherit_on').prop('checked')){
$('#TemplateConfiguration_options').val('inherit');
} else {
$('#TemplateConfiguration_options').val(JSON.stringify(newOptionObject));
}
}

//Un-/Hide everything on general inherit switch
if(generalInherit()){
Expand Down Expand Up @@ -132,7 +139,7 @@ var prepare = function(){
newOptionObject[$(item).attr('name')] = $(item).val();
});
//now write the newly created object to the correspondent field as a json string
$('#TemplateConfiguration_options').val(JSON.stringify(newOptionObject));
writeToOptionsField(newOptionObject);
//and submit the form
$('#template-options-form').find('button[type=submit]').trigger('click');
}
Expand All @@ -142,7 +149,6 @@ var prepare = function(){
$('#general_inherit_on').on('change', function(evt){
$('#TemplateConfiguration_options').val('inherit');
$('.action_hide_on_inherit').addClass('hidden');
updateFieldSettings();
});
$('#general_inherit_off').on('change', function(evt){
$('.action_hide_on_inherit').removeClass('hidden');
Expand Down Expand Up @@ -173,14 +179,14 @@ var prepare = function(){
optionObject[$(this).attr('name')] = $(this).prop('checked') ? 'on' : 'off';
}
//write the option object to json string
$('#TemplateConfiguration_options').val(JSON.stringify(optionObject));
writeToOptionsField(optionObject);
});

//hotswapping the radio fields
$('.action_update_options_string_form').find('.selector_option_radio_field').on('change', function(evt){
$(this).prop('checked',true);
optionObject[$(this).attr('name')] = $(this).val();
$('#TemplateConfiguration_options').val(JSON.stringify(optionObject));
writeToOptionsField(optionObject);
});

//hotswapping the colorpickers and adding the reset functionality
Expand All @@ -197,9 +203,45 @@ var prepare = function(){
$(this).closest('.input-group').find('.selector__show-inherit-value').css('background-color', colorField.data('inheritvalue'));
colorField.attr('type','text').val('inherit');
optionObject[colorField.attr('name')] = 'inherit';
$('#TemplateConfiguration_options').val(JSON.stringify(optionObject));
writeToOptionsField(optionObject);
});

// Fruity Fonts
if($('#simple_edit_font').length>0){
optionObject.font = optionObject.font || 'inherit';

var currentPackageLoad = JSON.parse($('#TemplateConfiguration_packages_to_load').val()),
currentFontPackage = currentPackageLoad.add.reduce(function(coll, it){
return coll = /^font-/.test(it) ? it : coll;
},'font-inherit'),
currentFont = optionObject.font;


if( currentFont !== 'inherit' ){
$('#simple_edit_font').val(currentFont);
}
$('#simple_edit_font').on('change', function(evt){
if($(this).val() === 'inherit'){
currentPackageLoad.add = currentPackageLoad.add.filter(function(val,idx){
return !(/^font-/.test(val));
});
optionObject.font = 'inherit';
writeToOptionsField(optionObject);
} else {
currentPackageLoad.add = currentPackageLoad.add.filter(function(val,idx){
return !(/^font-/.test(val));
});
var selectedFontPackage = $(this).find('option:selected').data('font-package');
var formatedPackageName = "font-"+selectedFontPackage;
currentPackageLoad.add.push(formatedPackageName);
optionObject.font = $(this).val();
writeToOptionsField(optionObject);
}

$('#TemplateConfiguration_packages_to_load').val(JSON.stringify(currentPackageLoad));
});
console.ls.groupEnd('FontChangeTestsEnd');
}

// Fruity Theming
if($('#simple_edit_add_css').length>0){
Expand Down Expand Up @@ -227,35 +269,8 @@ var prepare = function(){
}
})
}


// Fruity Fonts
if($('#simple_edit_font').length>0){
var currentFontObject = 'inherit';
optionObject.font = optionObject.font || (inheritPossible ? 'inherit' : 'roboto');

if( optionObject.font !== 'inherit' ){
$('#simple_edit_font').val(optionObject.font);
}

$('#simple_edit_font').on('change', function(evt){
if($('#simple_edit_font').val() === 'inherit'){
$('#TemplateConfiguration_packages_to_load').val('inherit');
} else {

currentFontObject = {};
var selectedFontPackage = $(this).find('option:selected');
var packageName = selectedFontPackage.data('font-package');
var formatedPackageName = "font-"+packageName;


currentFontObject.add = ["pjax", formatedPackageName ];

}
$('#TemplateConfiguration_packages_to_load').val(JSON.stringify(currentFontObject));
})
}
}

setTimeout(function(){deferred.resolve()},650);

return deferred.promise();
Expand Down
17 changes: 11 additions & 6 deletions themes/survey/fruity/options/options.twig
Expand Up @@ -845,13 +845,11 @@
</div>
</div>
</div>

<div class='row ls-space margin top-15 bottom-15 '>
<div class='row ls-space margin top-15 bottom-15 action_hide_on_inherit'>
<hr/>
</div>

<div class='row'>
<div class='col-sm-6'>
<div class='row action_hide_on_inherit'>
<div class='col-sm-12'>
<div class='panel panel-default'>
<div class='panel-heading'>{{ "Fruity fonts" | t }}</div>
<div class='panel-body'>
Expand All @@ -866,7 +864,14 @@
</div>
</div>
</div>
<div class='col-sm-6'>
</div>

<div class='row ls-space margin top-15 bottom-15 '>
<hr/>
</div>

<div class='row'>
<div class='col-sm-12'>
<div class='panel panel-default'>
<div class='panel-heading'>{{ "Fruity variations" | t }} </div>
<div class='panel-body'>
Expand Down
2 changes: 1 addition & 1 deletion themes/survey/vanilla/config.xml
Expand Up @@ -75,8 +75,8 @@
<!-- If bootstrap is registered as a css framework, it will be loaded first -->
<packages>
<add>pjax</add>
<add>font-noto</add>
<add>moment</add>
<add>font-noto</add>
</packages>

<!--
Expand Down

0 comments on commit 0b8fddc

Please sign in to comment.