gutenberg
6 years ago
admin.js
6 years ago
admin.min.js
6 years ago
editor.js
8 years ago
editor.min.js
6 years ago
evf-admin-email.js
6 years ago
evf-admin-email.min.js
6 years ago
evf-clipboard.js
8 years ago
evf-clipboard.min.js
8 years ago
evf-enhanced-select.js
7 years ago
evf-enhanced-select.min.js
7 years ago
evf-setup.js
6 years ago
evf-setup.min.js
6 years ago
extensions.js
6 years ago
extensions.min.js
6 years ago
form-builder.js
6 years ago
form-builder.min.js
6 years ago
form-template-controller.js
6 years ago
form-template-controller.min.js
6 years ago
plugins.js
7 years ago
plugins.min.js
7 years ago
settings.js
6 years ago
settings.min.js
6 years ago
upgrade.js
7 years ago
upgrade.min.js
7 years ago
form-template-controller.js
122 lines
| 1 | /* global evf_template_controller */ |
| 2 | jQuery( function( $ ) { |
| 3 | |
| 4 | /** |
| 5 | * Template actions. |
| 6 | */ |
| 7 | var evf_template_controller = { |
| 8 | all: '#evf-form-all', |
| 9 | basic: '#evf-form-basic', |
| 10 | pro: '#evf-form-pro', |
| 11 | results: evf_templates.evf_template_all, |
| 12 | init: function() { |
| 13 | evf_template_controller.latch_hooks(); |
| 14 | }, |
| 15 | latch_hooks: function() { |
| 16 | $( document.body ).ready( function() { |
| 17 | $( evf_template_controller.all ).click( function( e ) { |
| 18 | e.preventDefault(); |
| 19 | evf_template_controller.sort_all( this ); |
| 20 | } ); |
| 21 | $( evf_template_controller.basic ).click( function( e ) { |
| 22 | e.preventDefault(); |
| 23 | evf_template_controller.sort_basic( this ); |
| 24 | } ); |
| 25 | $( evf_template_controller.pro ).click( function( e ) { |
| 26 | e.preventDefault(); |
| 27 | evf_template_controller.sort_pro( this ); |
| 28 | } ); |
| 29 | $( '.page-title-action' ).click( function( e ) { |
| 30 | e.stopImmediatePropagation(); |
| 31 | |
| 32 | $( this ).html( evf_templates.template_refresh + ' <div class="evf-loading evf-loading-active"></div>' ); |
| 33 | } ); |
| 34 | } ); |
| 35 | }, |
| 36 | sort_all: function( el ) { |
| 37 | evf_template_controller.class_update( $(el) ); |
| 38 | evf_template_controller.render_results( evf_template_controller.results, 'all' ); |
| 39 | }, |
| 40 | sort_basic: function( el ) { |
| 41 | evf_template_controller.class_update( $(el) ); |
| 42 | evf_template_controller.render_results( evf_template_controller.results, 'free' ); |
| 43 | }, |
| 44 | sort_pro: function( el ) { |
| 45 | evf_template_controller.class_update( $(el) ); |
| 46 | evf_template_controller.render_results( evf_template_controller.results, 'pro' ); |
| 47 | }, |
| 48 | class_update: function( $el ) { |
| 49 | $( '.everest-forms-tab-nav' ).removeClass( 'active' ); |
| 50 | $el.parent().addClass( 'active' ); |
| 51 | }, |
| 52 | render_results: function( template, allow ) { |
| 53 | var el_to_append = $( '.evf-setup-templates' ), |
| 54 | error = '<div class="evf-loading evf-loading-active"></div>'; |
| 55 | |
| 56 | if ( ! template ) { |
| 57 | $( '#message' ).remove(); |
| 58 | el_to_append.html( error ); |
| 59 | |
| 60 | // Adds a loading screen so the async results is populated. |
| 61 | window.setTimeout( function() { |
| 62 | evf_template_controller.render_results( evf_template_controller.results, allow ); |
| 63 | }, 1000 ); |
| 64 | |
| 65 | return; |
| 66 | } |
| 67 | |
| 68 | $( '.everest-forms-form-template' ).html( '' ); |
| 69 | |
| 70 | template.forEach( function( tuple ) { |
| 71 | var toAppend = '', |
| 72 | plan = ( tuple.plan.includes('free') ) ? 'free' : 'pro', |
| 73 | data_plan = $( '.everest-forms-form-template' ).data( 'license-type' ); |
| 74 | |
| 75 | if ( 'all' === allow || 'blank' === tuple.slug ) { |
| 76 | toAppend = evf_template_controller.template_snippet( tuple, plan, data_plan ); |
| 77 | } else if ( plan === allow ) { |
| 78 | toAppend = evf_template_controller.template_snippet( tuple, plan, data_plan ); |
| 79 | } |
| 80 | |
| 81 | el_to_append.append( toAppend ); |
| 82 | } ); |
| 83 | }, |
| 84 | template_snippet: function( template, plan, data_plan ) { |
| 85 | var html = '', |
| 86 | modal = 'evf-template-select'; |
| 87 | data_plan = ( '' === data_plan ) ? 'free' : data_plan; |
| 88 | |
| 89 | if ( ! template.plan.includes( 'free' ) && ! template.plan.includes( data_plan ) ) { |
| 90 | modal = 'upgrade-modal'; |
| 91 | } |
| 92 | |
| 93 | html += '<div class="everest-forms-template-wrap evf-template" id="everest-forms-template-' + template.slug + '" data-plan="' + plan + '">'; |
| 94 | |
| 95 | if ( 'blank' !== template.slug ) { |
| 96 | html += '<figure class="everest-forms-screenshot" '; |
| 97 | } else { |
| 98 | html += '<figure class="everest-forms-screenshot evf-template-select" '; |
| 99 | } |
| 100 | |
| 101 | html += 'data-template-name-raw="' + template.title + '" data-template="' + template.slug + '" data-template-name="' + template.title + ' template">'; |
| 102 | html += '<img src=" ' + template.image +' ">'; |
| 103 | |
| 104 | if ( 'blank' !== template.slug ) { |
| 105 | html += '<div class="form-action"><a href="#" class="everest-forms-btn everest-forms-btn-primary ' + modal +'" data-licence-plan="' + data_plan + '" data-template-name-raw="' + template.title + '" data-template-name="' + template.title + ' template" data-template="' + template.slug + '">' + evf_templates.i18n_get_started + '</a>'; |
| 106 | html += '<a href="' + template.preview_link + '" target="_blank" class="everest-forms-btn everest-forms-btn-secondary">' + evf_templates.i18n_get_preview + '</a></div>'; |
| 107 | } |
| 108 | |
| 109 | if ( ! template.plan.includes( 'free' ) ) { |
| 110 | html += '<span class="everest-forms-badge everest-forms-badge-success">' + evf_templates.i18n_pro_feature + '</span>'; |
| 111 | } |
| 112 | |
| 113 | html += '</figure><div class="everest-forms-form-id-container">'; |
| 114 | html += '<a class="everest-forms-template-name ' + modal + '" href="#" data-template-name-raw="' + template.title + '" data-licence-plan="' + data_plan + '" data-template="' + template.slug + '" data-template-name="' + template.title + ' template">' + template.title + '</a></div>'; |
| 115 | |
| 116 | return html; |
| 117 | } |
| 118 | }; |
| 119 | |
| 120 | evf_template_controller.init(); |
| 121 | }); |
| 122 |