5. Cost Calculator Group

INTRODUCTION

JS pseudo code

JS pseudo code allows you to create calculation logic for your cost calculator instance

Cost Calculator Group is a container element. You can place calculator items within it.

Up until now, you have probably already noticed that the final calculation result is calculated by adding up the values of all calculator items. In fact it is calculated by adding up the values of all calculator items and calculator groups.

Just as a calculator item, cost calculator group returns one value which contributes to the total by being added with the rest.


http://documentation.bold-themes.com/cost-calculator/wp-content/uploads/sites/9/2018/05/cc-group.jpg

Each cost calculator group has a setting called Pseudo JS which allows you to define the calculation logic inside the group.

Pseudo JS is almost identical to ordinary JavaScript, so if you feel comfortable with basic JS structures and statements you should not have any problems implementing the desired functionality.

While writing the Pseudo JS you will have to follow some basic convention though.

Initialization of variables

First couple of lines in your code should be the lines which assign the current values of contained calculator items to your variables. You need to have one line for EACH calculator item within the calculator group.

For example for the cost calculator group from the image above, first lines of pseudo JS have to be:

var item_type = $1;
var num_of_items = $2;
var include_shipping = $3;

This means that variable item_type gets the value of the first item in the calculator group, num_of_items gets the value of the second item and so on…

REMEMBER, you have to have one line for each item.


Calculation logic

Then you can use JavaScript operators to create the logic for your calculation and assign it to the variable.

For example for the cost calculator group from the image above this could be:

var final_res = item_type * num_of_items + 20 * include_shipping;

Returning the value

Finally you have to return the final value to the calculator:

return final_res;

REMEMBER that the returned value will be added to the sum of values of other calculator groups or items in the calculator and contribute to the total.


EXAMPLE 01

Simple CC Group

This example illustrates the basic Pseudo JS calculation setup

The calculator has three items within one cost calculator group. Since there are no other elements within calculator, the result of the cost calculator group will be the total. The layout is illustrated below:


http://documentation.bold-themes.com/cost-calculator/wp-content/uploads/sites/9/2017/02/cc_group_example.jpg

JS pseudo code is the following:

var type = $1;
var number_items = $2;
var shipping = $3;

var result = type * number_items + shipping * number_items * 1.5;

return result;

If Item type is 50, Number of Items are 5 and Shipping is included (10) then Total will be:

 50 * 5 + 10 * 5 * 1.5 = 250 + 75 = 325

EXAMPLE 02

If/Else conditional

More complex calculation will be if JS pseudo code contains IF/Else conditions.
Based on the example from “Cost Calculator Group no VC“ Demo page with several changes:

var type = $1; // get first item value
var number_items = $2; // get second item value
var shipping = $3; // get third item value

if (type == 0) result = 0;
if (type == 50) result = type * number_items + shipping * number_items * 1.5;
if (type == 100) result = type * number_items + shipping * number_items * 3;
return result;

If the values are the following: Type is Type 1 (50), Number of items are 2 and Shipping is included (10) then the Total will be:

50 * 2 + 10 * 2 * 1.5 = 100 + 30 = 130

http://documentation.bold-themes.com/cost-calculator/wp-content/uploads/sites/9/2017/02/cc_group_02.jpg

EXAMPLE 02

If/Else conditional with >< signs

Based on the example from “Cost Calculator Group no VC“ Demo page with several changes:


var type = $1; // get first item value
var number_items = $2; // get second item value
var shipping = $3; // get third item value

if (number_items == 0) result = 0;
if (number_items >= 1) result = type * number_items + shipping * number_items * 0.5;
if ((number_items >= 5) && (number_items < 10)) result = type * number_items + shipping * number_items * 1.5;
if (type == 10) result = type * number_items + shipping * number_items * 3;
return result;

Let’s have a look at the following examples:
1) If the values are the following: Type is Type 1 (50), Number of items are 3 and Shipping is included (10) then the Total will be:

50 * 3 + 10 * 3 * 0.5 = 150 + 15 = 165


http://documentation.bold-themes.com/cost-calculator/wp-content/uploads/sites/9/2017/02/cc_group_example_03.jpg

2) If the values are the following: Type is Type 1 (50), Number of items are 5 and Shipping is included (10) then the Total will be:

50 * 5 + 10 * 5 * 1.5 = 250 + 45 = 325


http://documentation.bold-themes.com/cost-calculator/wp-content/uploads/sites/9/2017/02/cc_group_example_04.jpg

Troubleshooting

  • I can’t create CC Group? There are only shortcodes?
I can’t create CC Group? There are only shortcodes?
http://documentation.bold-themes.com/cost-calculator/wp-content/uploads/sites/9/2017/02/issue_jspseudo.jpg

Please change the sign   <   with:      & l t ;     and sign   >  with:      & g t ;    without separators.


http://documentation.bold-themes.com/cost-calculator/wp-content/uploads/sites/9/2018/05/cc-group-2.jpg