Skip to content

Instantly share code, notes, and snippets.

View vfontjr's full-sized avatar

Victor M. Font Jr. vfontjr

View GitHub Profile
<script>
jQuery(document).ready(function($) {
"use strict";
/* add "display: grid" to field's div.frm_opt_container
* change frm_field_1142_container to the id of your field's container
*/
$('div#frm_field_1142_container > div.frm_opt_container').css('display', 'grid');
/* loop through each radio button to assign it to a grid column
* change wild card selector [id^="frm_radio_1142-"] to the id
<script>
jQuery(document).ready(function($) {
"use strict";
/* this script demonstrates a prototype integration for
* to display dynamic ChartJS graphs from Formidable Forms data.
*/
function masterminds_calc_fv( deposit_value, interest_rate, monthly_contribution ) {
const values = [deposit_value];
var chart_years = 30,
/* this code is a multi-selector variation of the example found
* in Formidable's knowledge base article:
* https://formidableforms.com/knowledgebase/javascript-examples/#kb-format-a-slider-field-value-as-a-currency
*
* it uses the Intl.NumberFormat function that's built into JavaScript. No external libraries required.
* to learn more about Intl.NumberFormat see:
* https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/NumberFormat
*/
$("#field_id1 ~ .frm_range_value, #field_id2 ~ .frm_range_value").on('DOMSubtreeModified' , function() {
var field_id = $(this)[0].previousSibling.id,
<?php
/* directory search form custom where filter */
add_filter('frm_view_order', 'masterminds_directory_search_filter', 10, 2);
/**
* masterminds_directory_search_filter() callback for frm_view_order filter
*
* this function is where you create custom SQL for any view
*
* @param array $query contains the SQL query created by Formidable
<?php
/*
Template Name: Developer Content
Template Post Type: post
*/
/**
* Genesis Framework.
*
*
*
<script>
/* disables copy and paste */
document.getElementById("field_conf_29yf4d2").addEventListener('paste', e => e.preventDefault());
/* disables drag and drop */
document.getElementById("field_conf_29yf4d2").addEventListener('drop', e => e.preventDefault());
/* disables browser autocomplete */
document.getElementById("field_conf_29yf4d2").addEventListener('autocomplete', e => e.preventDefault());
<script>
jQuery(document).ready(function($) {
"use strict";
/* Format link phone number */
$("#field_devdir_country_code, #field_devdir_primary_contact_phone").on("change", function() {
var link_number = $("#field_devdir_country_code").val() + $("#field_devdir_primary_contact_phone").val();
$("#field_devdir_link_phone_number").val( link_number.replace(/\D/g,'') );
});
});
</script>
@vfontjr
vfontjr / browser-storage.js
Created February 25, 2022 22:40
Broser Storage jQuery
/* functions to create a persistent form */
function browser_supports_storage() {
return ( typeof(Storage) !== "undefined" ) ? true : false;
}
function local_data_exists() {
return ( localStorage.getItem('data') ) ? true : false;
}
function cookie_is_used_for_persistence() {
<script>
jQuery(document).ready(function($) {
"use strict";
// populate primary contact name and email from registration credentials
$("#field_devdir_copy_name_and_email").on("change", function() {
if ( $(this).prop('checked') ) {
bindCurrent();
} else {
unbindCurrent();
<?php
/* use the frm_display_entry_content filter hook to conditionally display the relationship form for
* adding a new relationship record or relationship view for editing the relationship in place in the
* media contacts view
*/
add_filter('frm_display_entry_content', 'media_contact_relationships', 20, 7);
function media_contact_relationships($new_content, $entry, $shortcodes, $display, $show, $odd, $atts) {
if ( $display->ID == 14318 ) {
$results = masterminds_check_relationships( $entry->id );