-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Woo
committed
May 17, 2024
1 parent
6d3f879
commit c918cbe
Showing
15 changed files
with
1,426 additions
and
385 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,4 +1,44 @@ | ||
/* Helper for store front */ | ||
.single-product div.product form.cart .button.gform_button_select_files { | ||
float:none; | ||
} | ||
} | ||
|
||
form.cart .hidden-total { | ||
display: none !important; | ||
} | ||
|
||
/* Product Totals */ | ||
form.cart .product_totals { | ||
margin: 20px 0 40px 0; | ||
padding: 20px 0 0 0; | ||
border-top: 1px solid #eee; | ||
border-bottom: 1px solid #eee; | ||
overflow: hidden; | ||
} | ||
|
||
form.cart .product_totals ul { | ||
list-style: none; | ||
margin: 0; | ||
padding: 0; | ||
} | ||
|
||
form.cart .product_totals ul li { | ||
list-style: none; | ||
display: flex; | ||
justify-content: space-between; | ||
padding: 5px 0; | ||
} | ||
|
||
form.cart .product_totals ul li.wcgfpa_grand_total { | ||
justify-content: flex-end; | ||
border-top: 1px solid #eee; | ||
padding: 10px 0; | ||
margin-top: 20px; | ||
} | ||
|
||
form.cart .product_totals ul li.wcgfpa_grand_total p.price { | ||
margin: 0; | ||
} | ||
|
||
|
||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,75 @@ | ||
/* | ||
* Gravity Forms Product Add-Ons Admin | ||
*/ | ||
|
||
class GravityFormsProductAddonsAdmin { | ||
static instance; | ||
|
||
static register(settings) { | ||
if (!this.instance) { | ||
this.instance = new GravityFormsProductAddonsAdmin(settings); | ||
} | ||
|
||
return this.instance; | ||
} | ||
|
||
constructor(settings) { | ||
this.settings = settings; | ||
this.observeGFormAvailability(); | ||
} | ||
|
||
observeGFormAvailability() { | ||
const observer = new MutationObserver((mutations, obs) => { | ||
if (window.gform) { | ||
console.log('gform is now available'); | ||
this.init(); | ||
obs.disconnect(); // Disconnect observer once gform is available | ||
} | ||
}); | ||
|
||
observer.observe(document, { | ||
childList: true, | ||
subtree: true | ||
}); | ||
} | ||
|
||
init() { | ||
gform.addFilter('gform_merge_tags', this.addMergeTags.bind(this)); | ||
} | ||
|
||
addMergeTags(mergeTags, elementId, hideAllFields, excludeFieldTypes, isPrepop, option) { | ||
|
||
const groups = this.settings.merge_tags; | ||
// Loop though the groups and add the tags to the mergeTags | ||
for (const index in groups) { | ||
const key = groups[index].key; | ||
const tags = groups[index].tags; | ||
const label = groups[index].label; | ||
|
||
const filtered_tags = tags.filter(tag => { | ||
const tag_allowed_on = tag.allowed_on || []; | ||
// If the elementId starts with field_default_value check if allowed on is 'field_default_value_*' or matches the elementId exactly. | ||
if (elementId.startsWith('field_default_value')) { | ||
return tag_allowed_on.includes('field_default_value_*') || tag_allowed_on.includes(elementId); | ||
} | ||
|
||
// Otherwise check if the tag is allowed on the elementId or if it's allowed on all elements or if no allowed_on is set. | ||
if (tag_allowed_on.includes(elementId) || tag_allowed_on.includes('all') || tag_allowed_on.length === 0) { | ||
return true; | ||
} | ||
}); | ||
|
||
console.log('Filtered Tags: ', filtered_tags); | ||
|
||
mergeTags[key] = { | ||
label: label, | ||
tags: filtered_tags | ||
}; | ||
} | ||
|
||
return mergeTags; // Return the modified mergeTags | ||
} | ||
} | ||
|
||
// Instantiate the class to ensure the code is executed | ||
GravityFormsProductAddonsAdmin.register(wc_gf_addons); |
Oops, something went wrong.