Version Description
- Decode html entities on model sync. Escape entities on output.
Download this release
Release Info
Developer | tlovett1 |
Plugin | Custom Contact Forms |
Version | 6.1.4 |
Comparing to | |
See all releases |
Code changes from version 6.1.2 to 6.1.4
- build/js/form-manager.js +59 -3
- build/js/form-manager.min.js +2 -2
- classes/class-ccf-api.php +20 -0
- classes/class-ccf-custom-contact-forms.php +9 -11
- classes/class-ccf-form-cpt.php +1 -1
- classes/class-ccf-form-handler.php +8 -6
- classes/class-ccf-form-manager.php +120 -120
- classes/class-ccf-form-renderer.php +1 -0
- classes/class-ccf-upgrader.php +1 -1
- custom-contact-forms.php +1 -1
- js/manager/models.js +59 -3
- readme.txt +7 -1
build/js/form-manager.js
CHANGED
@@ -234,6 +234,34 @@
|
|
234 |
return Backbone.Model.prototype.set.call( this, key, value, options );
|
235 |
};
|
236 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
237 |
wp.ccf.models.FieldChoice = wp.ccf.models.FieldChoice || Backbone.Model.extend(
|
238 |
{
|
239 |
defaults: {
|
@@ -242,6 +270,10 @@
|
|
242 |
selected: false
|
243 |
},
|
244 |
|
|
|
|
|
|
|
|
|
245 |
set: _modelSet
|
246 |
}
|
247 |
);
|
@@ -253,6 +285,10 @@
|
|
253 |
|
254 |
set: _modelSet,
|
255 |
|
|
|
|
|
|
|
|
|
256 |
defaults: function() {
|
257 |
var defaults = {
|
258 |
fields: new wp.ccf.collections.Fields(),
|
@@ -273,6 +309,13 @@
|
|
273 |
return defaults;
|
274 |
},
|
275 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
276 |
getFieldSlugs: function( mutableOnly ) {
|
277 |
var fields = wp.ccf.currentForm.get( 'fields' ),
|
278 |
columns = [];
|
@@ -310,7 +353,9 @@
|
|
310 |
|
311 |
if ( choices && choices.length > 0 ) {
|
312 |
for ( var z = 0; z < newField.choices; z++ ) {
|
313 |
-
choices.at( z )
|
|
|
|
|
314 |
}
|
315 |
}
|
316 |
|
@@ -318,6 +363,7 @@
|
|
318 |
}
|
319 |
|
320 |
field.set( newField );
|
|
|
321 |
}
|
322 |
}
|
323 |
|
@@ -326,7 +372,10 @@
|
|
326 |
var newFields = [];
|
327 |
|
328 |
_.each( response.fields, function( field ) {
|
329 |
-
|
|
|
|
|
|
|
330 |
});
|
331 |
|
332 |
response.fields = new wp.ccf.collections.Fields( newFields, { formId: response.ID } );
|
@@ -377,6 +426,10 @@
|
|
377 |
return [ 'slug' ];
|
378 |
},
|
379 |
|
|
|
|
|
|
|
|
|
380 |
hasRequiredAttributes: function() {
|
381 |
var SELF = this;
|
382 |
var reqsMet = true;
|
@@ -583,7 +636,10 @@
|
|
583 |
var choices = [];
|
584 |
|
585 |
_.each( attributes.choices, function( choice ) {
|
586 |
-
|
|
|
|
|
|
|
587 |
});
|
588 |
|
589 |
this.set( 'choices', new wp.ccf.collections.FieldChoices( choices ) );
|
234 |
return Backbone.Model.prototype.set.call( this, key, value, options );
|
235 |
};
|
236 |
|
237 |
+
/**
|
238 |
+
* We decode HTML entities after syncing then escape on output. The
|
239 |
+
* point of this is to prevent double escaping.
|
240 |
+
*/
|
241 |
+
var _modelDecode = function( excludeKeys ) {
|
242 |
+
for ( var key in this.attributes ) {
|
243 |
+
if ( excludeKeys.indexOf( key ) === -1 ) {
|
244 |
+
var value = this.get( key );
|
245 |
+
|
246 |
+
if ( typeof value === 'string' && value !== '' ) {
|
247 |
+
value = String( value )
|
248 |
+
.replace( /&/g, '&' )
|
249 |
+
.replace( /</g, '<' )
|
250 |
+
.replace( />/g, '>' )
|
251 |
+
.replace( /"/g, '"' )
|
252 |
+
.replace( /“/g, '”' )
|
253 |
+
.replace( /”/g, '”' )
|
254 |
+
.replace( /‘/g, "‘" )
|
255 |
+
.replace( /'/g, "'" );
|
256 |
+
|
257 |
+
this.set( key, value );
|
258 |
+
}
|
259 |
+
}
|
260 |
+
}
|
261 |
+
|
262 |
+
return this;
|
263 |
+
};
|
264 |
+
|
265 |
wp.ccf.models.FieldChoice = wp.ccf.models.FieldChoice || Backbone.Model.extend(
|
266 |
{
|
267 |
defaults: {
|
270 |
selected: false
|
271 |
},
|
272 |
|
273 |
+
decode: function() {
|
274 |
+
return _modelDecode.call( this, [] );
|
275 |
+
},
|
276 |
+
|
277 |
set: _modelSet
|
278 |
}
|
279 |
);
|
285 |
|
286 |
set: _modelSet,
|
287 |
|
288 |
+
initialize: function() {
|
289 |
+
this.on( 'sync', this.decode, this );
|
290 |
+
},
|
291 |
+
|
292 |
defaults: function() {
|
293 |
var defaults = {
|
294 |
fields: new wp.ccf.collections.Fields(),
|
309 |
return defaults;
|
310 |
},
|
311 |
|
312 |
+
decode: function() {
|
313 |
+
var keys = _.keys( wp.api.models.Post.prototype.defaults );
|
314 |
+
keys = _.without( keys, 'title' );
|
315 |
+
|
316 |
+
return _modelDecode.call( this, keys );
|
317 |
+
},
|
318 |
+
|
319 |
getFieldSlugs: function( mutableOnly ) {
|
320 |
var fields = wp.ccf.currentForm.get( 'fields' ),
|
321 |
columns = [];
|
353 |
|
354 |
if ( choices && choices.length > 0 ) {
|
355 |
for ( var z = 0; z < newField.choices; z++ ) {
|
356 |
+
var choice = choices.at( z );
|
357 |
+
choice.set( newField.choices[z] );
|
358 |
+
choice.decode();
|
359 |
}
|
360 |
}
|
361 |
|
363 |
}
|
364 |
|
365 |
field.set( newField );
|
366 |
+
field.decode();
|
367 |
}
|
368 |
}
|
369 |
|
372 |
var newFields = [];
|
373 |
|
374 |
_.each( response.fields, function( field ) {
|
375 |
+
var fieldModel = new wp.ccf.models.Fields[field.type]( field );
|
376 |
+
fieldModel.decode();
|
377 |
+
|
378 |
+
newFields.push( fieldModel );
|
379 |
});
|
380 |
|
381 |
response.fields = new wp.ccf.collections.Fields( newFields, { formId: response.ID } );
|
426 |
return [ 'slug' ];
|
427 |
},
|
428 |
|
429 |
+
decode: function() {
|
430 |
+
return _modelDecode.call( this, _.keys( wp.api.models.Post.prototype.defaults ) );
|
431 |
+
},
|
432 |
+
|
433 |
hasRequiredAttributes: function() {
|
434 |
var SELF = this;
|
435 |
var reqsMet = true;
|
636 |
var choices = [];
|
637 |
|
638 |
_.each( attributes.choices, function( choice ) {
|
639 |
+
var choiceModel = new wp.ccf.models.FieldChoice( choice );
|
640 |
+
choiceModel.decode();
|
641 |
+
|
642 |
+
choices.push( choiceModel );
|
643 |
});
|
644 |
|
645 |
this.set( 'choices', new wp.ccf.collections.FieldChoices( choices ) );
|
build/js/form-manager.min.js
CHANGED
@@ -1,2 +1,2 @@
|
|
1 |
-
(function(e,t,i,l){"use strict";window.wp=window.wp||{},wp.ccf=wp.ccf||{},wp.ccf.utils=wp.ccf.utils||{},wp.ccf.utils.cleanDateFields=function(e){delete e.date,delete e.date_gmt,delete e.modified,delete e.modified_gmt,delete e.date_tz,delete e.modified_tz},wp.ccf.utils.insertFormShortcode=function(e){var t=wp.ccf.forms.findWhere({ID:e.get("ID")});t||wp.ccf.forms.add(e);var i=tinymce.get(wpActiveEditor),l='[ccf_form id="'+e.get("ID")+'"]';i&&!i.isHidden()?tinymce.activeEditor.execCommand("mceInsertContent",!1,l):document.getElementById(wpActiveEditor).value+=l},wp.ccf.utils.getPrettyPostDate=function(e){return e=moment(e),e.format("h:mm a M/D/YYYY")},wp.ccf.utils.wordChop=function(e,t){var i=e.substr(0,t);return i.substr(0,Math.min(i.length,i.lastIndexOf(" "))),i.length<e.length&&(i+="..."),i},wp.ccf.utils.isFieldDate=function(e){return e.date!==void 0||e.hour!==void 0&&e.minute!==void 0&&e["am-pm"]!==void 0?!0:!1},wp.ccf.utils.isFieldName=function(e){return e.name!==void 0||e.last!==void 0?!0:!1},wp.ccf.utils.isFieldAddress=function(e){return e.street!==void 0&&e.city!==void 0&&e.zipcode!==void 0&&e.line_two!==void 0?!0:!1},wp.ccf.utils.getPrettyFieldDate=function(e){var t="",i="";if(e.hour&&e.minute&&e["am-pm"]&&(t+=e.hour+":"+e.minute+" "+e["am-pm"]),e.date&&(t+=" "+e.date),!t)return"-";var s=moment(t);return s.isValid()?(e.hour&&e.minute&&e["am-pm"]&&(i+=s.format("h:mm a")),e.date&&(i&&(i+=" "),i+=s.format("M/D/YYYY")),i):l.invalidDate},wp.ccf.utils.getPrettyFieldName=function(e){var t=e.first;return t.length>0&&(t+=" "),e.last&&(t+=e.last),t||(t="-"),t},wp.ccf.utils.getPrettyFieldAddress=function(e){if(!e.street||!e.city)return"-";var t=e.street;return e.line_two&&(t+=" "+e.line_two),t+=", "+e.city,e.state&&(t+=", "+e.state),e.zipcode&&(t+=" "+e.zipcode),e.country&&(t+=" "+e.country),t}})(jQuery,Backbone,_,ccfSettings),function(e,t,i){"use strict";wp.ccf.mixins=wp.ccf.mixins||{},wp.ccf.mixins.subViewable=wp.ccf.mixins.subViewable||{subViews:{},initRenderSubViews:function(e,t,l){this.renderedSubViews||(this.renderedSubViews={});for(var s in this.subViews){var c={el:this.$el.find(".ccf-"+s),parent:this};l&&i.extend(c,l),this.renderedSubViews[s]&&this.renderedSubViews[s].destroy&&this.renderedSubViews[s].destroy(),(t||!this.renderedSubViews[s])&&(this.renderedSubViews[s]=new this.subViews[s](c)),this.renderedSubViews[s].render(),e&&(this.renderedSubViews[s].el.style.display="block")}return this},showView:function(e,t,i){if(this.renderedSubViews!==void 0&&this.renderedSubViews[e]!==void 0){var l=this.renderedSubViews[e];i||l.render(t),l.el.style.display="block",this.currentView=e;for(var s in this.subViews)s!==e&&(this.renderedSubViews[s].el.style.display="none")}}}}(jQuery,Backbone,_,ccfSettings),function(e,t,i,l,s){"use strict";wp.ccf.models=wp.ccf.models||{},wp.ccf.models.Fields=wp.ccf.models.Fields||{};var c=function(e,i,l){return"object"!=typeof i&&""===i&&(i=""),t.Model.prototype.set.call(this,e,i,l)};wp.ccf.models.FieldChoice=wp.ccf.models.FieldChoice||t.Model.extend({defaults:{label:"",value:"",selected:!1},set:c}),wp.ccf.models.Form=wp.ccf.models.Form||wp.api.models.Post.extend({urlRoot:s.root+"/ccf/forms",set:c,defaults:function(){var e={fields:new wp.ccf.collections.Fields,type:"ccf_form",status:"publish",description:"",buttonText:"Submit Form",completionActionType:"text",completionRedirectUrl:"",completionMessage:"",sendEmailNotifications:!1,emailNotificationAddresses:l.adminEmail};return e=i.defaults(e,this.constructor.__super__.defaults),wp.ccf.utils.cleanDateFields(e),e},getFieldSlugs:function(e){var t=wp.ccf.currentForm.get("fields"),i=[];return t.each(function(t){e&&t.isImmutable||i.push(t.get("slug"))}),i},parse:function(e){var t=this;if(e.fields){var l=t.get("fields");if(l&&l.length>0){for(var s=0;e.fields.length>s;s++){var c=e.fields[s],n=l.findWhere({slug:c.slug});if(n){if(c.choices!==void 0){var r=t.get("choices");if(r&&r.length>0)for(var o=0;c.choices>o;o++)r.at(o).set(c.choices[o]);delete e.fields[s].choices}n.set(c)}}delete e.fields}else{var a=[];i.each(e.fields,function(e){a.push(new wp.ccf.models.Fields[e.type](e))}),e.fields=new wp.ccf.collections.Fields(a,{formId:e.ID})}}return this.constructor.__super__.parse.call(this,e)},toJSON:function(){var e=this.constructor.__super__.toJSON.call(this);return e.fields&&(e.fields=e.fields.toJSON()),e.author&&(e.author=e.author.toJSON()),e}}),wp.ccf.models.Submission=wp.api.models.Submission||wp.api.models.Post.extend({idAttribute:"ID",defaults:{ID:null,data:{}}}),wp.ccf.models.Field=wp.api.models.Field||wp.api.models.Post.extend({idAttribute:"ID",defaults:{ID:null},set:c,required:function(){return["slug"]},hasRequiredAttributes:function(){var e=this,t=!0;return i.each(this.required(),function(i){(e.get(i)===void 0||""===e.get(i))&&(t=!1)}),t}}),wp.ccf.models.StandardField=wp.ccf.models.StandardField||wp.ccf.models.Field.extend({idAttribute:"ID",defaults:function(){var e={label:"Field Label",value:"",placeholder:"",slug:"",type:"",required:!1,className:""};return i.defaults(e,this.constructor.__super__.defaults)}}),wp.ccf.models.Fields["single-line-text"]=wp.ccf.models.Fields["single-line-text"]||wp.ccf.models.StandardField.extend({defaults:function(){var e={type:"single-line-text"};return i.defaults(e,this.constructor.__super__.defaults())}}),wp.ccf.models.Fields["paragraph-text"]=wp.ccf.models.Fields["paragraph-text"]||wp.ccf.models.StandardField.extend({defaults:function(){var e={type:"paragraph-text"};return i.defaults(e,this.constructor.__super__.defaults())}}),wp.ccf.models.Fields.hidden=wp.ccf.models.Fields.hidden||wp.ccf.models.StandardField.extend({defaults:function(){var e={type:"hidden"};return i.defaults(e,this.constructor.__super__.defaults())}}),wp.ccf.models.Fields.email=wp.ccf.models.Fields.email||wp.ccf.models.StandardField.extend({defaults:function(){var e={type:"email",emailConfirmation:!1};return i.defaults(e,this.constructor.__super__.defaults())}}),wp.ccf.models.Fields.website=wp.ccf.models.Fields.website||wp.ccf.models.StandardField.extend({defaults:function(){var e={type:"website"};return i.defaults(e,this.constructor.__super__.defaults())}}),wp.ccf.models.Fields.phone=wp.ccf.models.Fields.phone||wp.ccf.models.StandardField.extend({defaults:function(){var e={type:"phone",phoneFormat:"us"};return i.defaults(e,this.constructor.__super__.defaults())}}),wp.ccf.models.Fields.date=wp.ccf.models.Fields.date||wp.ccf.models.StandardField.extend({defaults:function(){var e={type:"date",showDate:!0,showTime:!0};return i.defaults(e,this.constructor.__super__.defaults())}}),wp.ccf.models.Fields.name=wp.ccf.models.Fields.name||wp.ccf.models.StandardField.extend({defaults:function(){var e={type:"name"};return i.defaults(e,this.constructor.__super__.defaults())}}),wp.ccf.models.Fields.address=wp.ccf.models.Fields.address||wp.ccf.models.StandardField.extend({defaults:function(){var e={type:"address",addressType:"us"};return i.defaults(e,this.constructor.__super__.defaults())}}),wp.ccf.models.Fields["section-header"]=wp.ccf.models.Fields["section-header"]||wp.ccf.models.Field.extend({defaults:function(){var e={type:"section-header",slug:"",heading:"",subheading:"",className:""};return i.defaults(e,this.constructor.__super__.defaults)},required:function(){return[]},isImmutable:!0}),wp.ccf.models.Fields.html=wp.ccf.models.Fields.html||wp.ccf.models.Field.extend({defaults:function(){var e={type:"html",slug:"",html:"",className:""};return i.defaults(e,this.constructor.__super__.defaults)},required:function(){return[]},isImmutable:!0}),wp.ccf.models.ChoiceableField=wp.ccf.models.ChoiceableField||wp.ccf.models.StandardField.extend({defaults:function(){var e={choices:new wp.ccf.collections.FieldChoices};return i.defaults(e,this.constructor.__super__.defaults())},initialize:function(e){if("object"==typeof e&&e.choices){var t=[];i.each(e.choices,function(e){t.push(new wp.ccf.models.FieldChoice(e))}),this.set("choices",new wp.ccf.collections.FieldChoices(t))}}}),wp.ccf.models.Fields.radio=wp.ccf.models.Fields.radio||wp.ccf.models.ChoiceableField.extend({defaults:function(){var e={type:"radio"};return i.defaults(e,this.constructor.__super__.defaults())},initialize:function(){return this.constructor.__super__.initialize.apply(this,arguments)}}),wp.ccf.models.Fields.checkboxes=wp.ccf.models.Fields.checkboxes||wp.ccf.models.ChoiceableField.extend({defaults:function(){var e={type:"checkboxes"};return i.defaults(e,this.constructor.__super__.defaults())},initialize:function(){return this.constructor.__super__.initialize.apply(this,arguments)}}),wp.ccf.models.Fields.dropdown=wp.ccf.models.Fields.dropdown||wp.ccf.models.ChoiceableField.extend({defaults:function(){var e={type:"dropdown"};return i.defaults(e,this.constructor.__super__.defaults())},initialize:function(){return this.constructor.__super__.initialize.apply(this,arguments)}})}(jQuery,Backbone,_,ccfSettings,WP_API_Settings),function(e,t,i){"use strict";wp.ccf.collections=wp.ccf.collections||{},wp.ccf.collections.Forms=wp.ccf.collections.Forms||wp.api.collections.Posts.extend({model:wp.ccf.models.Form,url:WP_API_Settings.root+"/ccf/forms",formsFetching:{},initialize:function(){this.constructor.__super__.initialize(),this.formsFetching={}},remove:function(e,t){t=t||{};var l=this.constructor.__super__.remove.call(this,e,t);return t.destroy&&(e instanceof Array?i.each(e,function(e){e.destroy()}):e.destroy()),l}}),wp.ccf.collections.Fields=wp.ccf.collections.Fields||wp.api.collections.Posts.extend({model:wp.ccf.models.Field,url:function(){return WP_API_Settings.root+"/ccf/forms/"+this.formId+"/fields"},initialize:function(e,t){t&&t.formId&&(this.formId=t.formId)}}),wp.ccf.collections.Submissions=wp.ccf.collections.Submissions||wp.api.collections.Posts.extend({model:wp.ccf.models.Submission,url:function(){return WP_API_Settings.root+"/ccf/forms/"+this.formId+"/submissions"},initialize:function(e,t){this.constructor.__super__.initialize.apply(this,arguments),t&&t.formId&&(this.formId=t.formId)}}),wp.ccf.collections.FieldChoices=wp.ccf.collections.FieldChoices||t.Collection.extend({model:wp.ccf.models.FieldChoice})}(jQuery,Backbone,_,ccfSettings),function(e,t,i,l){"use strict";wp.ccf.views=wp.ccf.views||{},wp.ccf.views.Fields=wp.ccf.views.Fields||{},wp.ccf.views.FieldChoice=t.View.extend({template:i.template(document.getElementById("ccf-field-choice-template").innerHTML),className:"choice",events:{"click .add":"triggerAdd","click .delete":"triggerDelete","blur input":"saveChoice",saveChoice:"saveChoice",sorted:"triggerUpdateSort"},initialize:function(e){this.field=e.field},destroy:function(){wp.ccf.dispatcher.off("mainViewChange",this.saveChoice),this.unbind()},triggerUpdateSort:function(e,t){this.field.get("choices").remove(this.model,{silent:!0}),this.field.get("choices").add(this.model,{at:t,silent:!0})},saveChoice:function(){if(""!==this.el.innerHTML){var e=this.el.querySelectorAll(".choice-label")[0].value,t=this.el.querySelectorAll(".choice-value")[0].value;this.model.set("label",e),this.model.set("value",t);var i=this.el.querySelectorAll(".choice-selected")[0],l=i.checked?!0:!1;return this.model.set("selected",l),this}},render:function(){var e={};return this.model&&(e.choice=this.model.toJSON()),this.el.innerHTML=this.template(e),wp.ccf.dispatcher.on("mainViewChange",this.saveChoice,this),this},triggerAdd:function(){this.field.get("choices").add(new wp.ccf.models.FieldChoice)},triggerDelete:function(){var e=this.field.get("choices");if(e.length>1)e.remove(this.model),this.destroy(),this.remove();else{for(var t=this.el.querySelectorAll(".choice-label, .choice-value"),i=this.el.querySelectorAll(".choice-selected"),l=0;t.length>l;l++)t[l].value="";i[0].checked=!1}}}),wp.ccf.views.FieldBase=wp.ccf.views.FieldBase||t.View.extend({events:{"blur input":"saveField","blur input.field-slug":"checkSlug","blur textarea":"saveField","change select":"saveField",'change input[type="checkbox"]':"saveField"},checkSlug:function(){var e=this.el.querySelectorAll(".field-slug");if(e.length>0){var t=e[0];t.parentNode.className=t.value&&!t.value.match(/^[a-zA-Z0-9\-_]+$/)?t.parentNode.className.replace(/ field-error/i,"")+" field-error":t.parentNode.className.replace(/ field-error/i,"")}},destroy:function(){this.unbind()},render:function(){return this.el.innerHTML=this.template({field:this.model.toJSON()}),this.checkSlug(),this}}),wp.ccf.views.Fields["single-line-text"]=wp.ccf.views.Fields["single-line-text"]||wp.ccf.views.FieldBase.extend({template:i.template(document.getElementById("ccf-single-line-text-template").innerHTML),initialize:function(){},saveField:function(){return this.model.set("slug",this.el.querySelectorAll(".field-slug")[0].value),this.model.set("label",this.el.querySelectorAll(".field-label")[0].value),this.model.set("value",this.el.querySelectorAll(".field-value")[0].value),this.model.set("placeholder",this.el.querySelectorAll(".field-placeholder")[0].value),this.model.set("className",this.el.querySelectorAll(".field-class-name")[0].value),this.model.set("required",1==this.el.querySelectorAll(".field-required")[0].value?!0:!1),this}}),wp.ccf.views.Fields["section-header"]=wp.ccf.views.Fields["section-header"]||wp.ccf.views.FieldBase.extend({template:i.template(document.getElementById("ccf-section-header-template").innerHTML),initialize:function(){},saveField:function(){return this.model.set("heading",this.el.querySelectorAll(".field-heading")[0].value),this.model.set("subheading",this.el.querySelectorAll(".field-subheading")[0].value),this.model.set("className",this.el.querySelectorAll(".field-class-name")[0].value),this}}),wp.ccf.views.Fields.html=wp.ccf.views.Fields.html||wp.ccf.views.FieldBase.extend({template:i.template(document.getElementById("ccf-html-template").innerHTML),initialize:function(){},saveField:function(){return this.model.set("html",this.el.querySelectorAll(".field-html")[0].value),this.model.set("className",this.el.querySelectorAll(".field-class-name")[0].value),this}}),wp.ccf.views.Fields["paragraph-text"]=wp.ccf.views.Fields["paragraph-text"]||wp.ccf.views.FieldBase.extend({template:i.template(document.getElementById("ccf-paragraph-text-template").innerHTML),saveField:function(){return this.model.set("slug",this.el.querySelectorAll(".field-slug")[0].value),this.model.set("label",this.el.querySelectorAll(".field-label")[0].value),this.model.set("value",this.el.querySelectorAll(".field-value")[0].value),this.model.set("placeholder",this.el.querySelectorAll(".field-placeholder")[0].value),this.model.set("className",this.el.querySelectorAll(".field-class-name")[0].value),this.model.set("required",1==this.el.querySelectorAll(".field-required")[0].value?!0:!1),this}}),wp.ccf.views.Fields.hidden=wp.ccf.views.Fields.hidden||wp.ccf.views.FieldBase.extend({template:i.template(document.getElementById("ccf-hidden-template").innerHTML),saveField:function(){return this.model.set("slug",this.el.querySelectorAll(".field-slug")[0].value),this.model.set("value",this.el.querySelectorAll(".field-value")[0].value),this.model.set("className",this.el.querySelectorAll(".field-class-name")[0].value),this}}),wp.ccf.views.Fields.date=wp.ccf.views.Fields.date||wp.ccf.views.FieldBase.extend({template:i.template(document.getElementById("ccf-date-template").innerHTML),saveField:function(){this.model.set("slug",this.el.querySelectorAll(".field-slug")[0].value),this.model.set("label",this.el.querySelectorAll(".field-label")[0].value);var e=this.el.querySelectorAll(".field-value");e.length>0&&this.model.set("value",e[0].value),this.model.set("className",this.el.querySelectorAll(".field-class-name")[0].value),this.model.set("showDate",this.el.querySelectorAll(".field-show-date")[0].checked?!0:!1);var t=this.model.get("showTime"),i=this.el.querySelectorAll(".field-show-time")[0].checked?!0:!1;return this.model.set("showTime",i),this.model.set("required",1==this.el.querySelectorAll(".field-required")[0].value?!0:!1),i!=t&&this.render(),this}}),wp.ccf.views.Fields.name=wp.ccf.views.Fields.name||wp.ccf.views.FieldBase.extend({template:i.template(document.getElementById("ccf-name-template").innerHTML),saveField:function(){return this.model.set("slug",this.el.querySelectorAll(".field-slug")[0].value),this.model.set("label",this.el.querySelectorAll(".field-label")[0].value),this.model.set("className",this.el.querySelectorAll(".field-class-name")[0].value),this.model.set("required",1==this.el.querySelectorAll(".field-required")[0].value?!0:!1),this}}),wp.ccf.views.Fields.website=wp.ccf.views.Fields.website||wp.ccf.views.FieldBase.extend({template:i.template(document.getElementById("ccf-website-template").innerHTML),saveField:function(){return this.model.set("slug",this.el.querySelectorAll(".field-slug")[0].value),this.model.set("label",this.el.querySelectorAll(".field-label")[0].value),this.model.set("value",this.el.querySelectorAll(".field-value")[0].value),this.model.set("placeholder",this.el.querySelectorAll(".field-placeholder")[0].value),this.model.set("className",this.el.querySelectorAll(".field-class-name")[0].value),this.model.set("required",1==this.el.querySelectorAll(".field-required")[0].value?!0:!1),this}}),wp.ccf.views.Fields.phone=wp.ccf.views.Fields.phone||wp.ccf.views.FieldBase.extend({template:i.template(document.getElementById("ccf-phone-template").innerHTML),saveField:function(){return this.model.set("slug",this.el.querySelectorAll(".field-slug")[0].value),this.model.set("label",this.el.querySelectorAll(".field-label")[0].value),this.model.set("value",this.el.querySelectorAll(".field-value")[0].value),this.model.set("placeholder",this.el.querySelectorAll(".field-placeholder")[0].value),this.model.set("phoneFormat",this.el.querySelectorAll(".field-phone-format")[0].value),this.model.set("className",this.el.querySelectorAll(".field-class-name")[0].value),this.model.set("required",1==this.el.querySelectorAll(".field-required")[0].value?!0:!1),this}}),wp.ccf.views.Fields.address=wp.ccf.views.Fields.address||wp.ccf.views.FieldBase.extend({template:i.template(document.getElementById("ccf-address-template").innerHTML),saveField:function(){return this.model.set("slug",this.el.querySelectorAll(".field-slug")[0].value),this.model.set("label",this.el.querySelectorAll(".field-label")[0].value),this.model.set("addressType",this.el.querySelectorAll(".field-address-type")[0].value),this.model.set("className",this.el.querySelectorAll(".field-class-name")[0].value),this.model.set("required",1==this.el.querySelectorAll(".field-required")[0].value?!0:!1),this}}),wp.ccf.views.Fields.email=wp.ccf.views.Fields.email||wp.ccf.views.FieldBase.extend({template:i.template(document.getElementById("ccf-email-template").innerHTML),saveField:function(){this.model.set("slug",this.el.querySelectorAll(".field-slug")[0].value),this.model.set("label",this.el.querySelectorAll(".field-label")[0].value);var e=this.el.querySelectorAll(".field-value");e.length&&this.model.set("value",e[0].value);var t=this.el.querySelectorAll(".field-placeholder");t.length&&this.model.set("placeholder",t[0].value),this.model.set("className",this.el.querySelectorAll(".field-class-name")[0].value),this.model.set("required",1==this.el.querySelectorAll(".field-required")[0].value?!0:!1);var i=1==this.el.querySelectorAll(".field-email-confirmation")[0].value?!0:!1,l=this.model.get("emailConfirmation");return this.model.set("emailConfirmation",i),l!=i&&this.render(),this}}),wp.ccf.views.ChoiceableField=wp.ccf.views.ChoiceableField||wp.ccf.views.FieldBase.extend({template:i.template(document.getElementById("ccf-dropdown-template").innerHTML),initialize:function(){var e=this.model.get("choices");this.listenTo(e,"add",this.addChoice)},addChoice:function(e){var t=new wp.ccf.views.FieldChoice({model:e,field:this.model}).render(),i=this.el.querySelectorAll(".repeatable-choices")[0];i.appendChild(t.el)},saveField:function(){this.model.set("slug",this.el.querySelectorAll(".field-slug")[0].value),this.model.set("label",this.el.querySelectorAll(".field-label")[0].value),this.model.set("className",this.el.querySelectorAll(".field-class-name")[0].value),this.model.set("required",1==this.el.querySelectorAll(".field-required")[0].value?!0:!1);var t=this.el.querySelectorAll(".repeatable-choices")[0].querySelectorAll(".choice");return i.each(t,function(t){e(t).trigger("saveChoice")}),this},render:function(){var t=this;t.el.innerHTML=t.template({field:t.model.toJSON()});var i=t.model.get("choices"),l=this.el.querySelectorAll(".repeatable-choices")[0];if(i.length>=1)i.each(function(e){var i=new wp.ccf.views.FieldChoice({model:e,field:t.model}).render();l.appendChild(i.el)});else{var s=new wp.ccf.models.FieldChoice;i.add(s)}return l=this.el.querySelectorAll(".repeatable-choices")[0],e(l).sortable({handle:".move",axis:"y",stop:function(e,t){t.item.trigger("sorted",t.item.index())}}),t}}),wp.ccf.views.Fields.dropdown=wp.ccf.views.Fields.dropdown||wp.ccf.views.ChoiceableField.extend({template:i.template(document.getElementById("ccf-dropdown-template").innerHTML),events:function(){return this.constructor.__super__.events}}),wp.ccf.views.Fields.radio=wp.ccf.views.Fields.radio||wp.ccf.views.ChoiceableField.extend({template:i.template(document.getElementById("ccf-radio-template").innerHTML),events:function(){return this.constructor.__super__.events}}),wp.ccf.views.Fields.checkboxes=wp.ccf.views.Fields.checkboxes||wp.ccf.views.ChoiceableField.extend({template:i.template(document.getElementById("ccf-checkboxes-template").innerHTML),events:function(){return this.constructor.__super__.events}}),wp.ccf.views.FieldSidebar=wp.ccf.views.FieldSidebar||t.View.extend({initialize:function(e){this.currentFieldView=null,this.form=e.form},save:function(e){this.currentFieldView&&""!==this.currentFieldView.el.innerHTML&&this.currentFieldView.saveField(),e&&e instanceof Object&&e.resolve()},fieldRemoved:function(){this.currentFieldView&&(this.form.get("fields").get(this.currentFieldView.model)||this.render())},destroy:function(){wp.ccf.dispatcher.off("saveField",this.save),wp.ccf.dispatcher.off("mainViewChange",this.save),this.unbind()},render:function(e){var t={};if(e){var l=e.get("type");this.currentFieldView&&(this.currentFieldView.saveField(),this.currentFieldView.destroy&&this.currentFieldView.destroy()),this.currentFieldView=new wp.ccf.views.Fields[l]({model:e}),this.currentFieldView.render(),this.el.innerHTML="",this.el.appendChild(this.currentFieldView.el);var s=this.form.get("fields");this.listenTo(s,"remove",this.fieldRemoved)}else{var c=i.template(document.getElementById("ccf-empty-field-template").innerHTML);this.el.innerHTML=c(t)}return wp.ccf.dispatcher.on("saveField",this.save,this),wp.ccf.dispatcher.on("mainViewChange",this.save,this),this}}),wp.ccf.views.FieldRowPlaceholder=wp.ccf.views.FieldRowPlaceholder||t.View.extend({template:i.template(document.getElementById("ccf-field-row-template").innerHTML),tagName:"div",className:"field",initialize:function(e){this.type=e.type},render:function(){return this.el.innerHTML=this.template({label:l.allLabels[this.type]}),this.el.setAttribute("data-field-type",this.type),this.el.className+=" "+this.type,this}}),wp.ccf.views.FieldRow=wp.ccf.views.FieldRow||t.View.extend({template:i.template(document.getElementById("ccf-field-row-template").innerHTML),tagName:"div",className:"field",events:{"click .delete":"triggerDelete","click h4":"triggerEdit",sorted:"triggerUpdateSort"},initialize:function(e){i.bindAll(this,"triggerDelete"),this.form=e.form,this.listenTo(this.model,"change",this.handleChange,this),this.listenTo(this.model,"requirementsNotMet",this.requirementsNotMet,this),this.listenTo(this.model,"requirementsMet",this.requirementsMet,this),this.listenTo(this.model,"duplicateSlug",this.duplicateSlug,this),this.model.attributes.choices&&this.listenTo(this.model.attributes.choices,"change",this.handleChange,this)},duplicateSlug:function(){this.requirementsMet(),this.el.className+=" field-duplicate-slug"},requirementsNotMet:function(){this.requirementsMet(),this.el.className+=" field-incomplete"},requirementsMet:function(){this.el.className=this.el.className.replace(/(field-incomplete|field-duplicate-slug)/i,"")},triggerUpdateSort:function(e,t){this.form.get("fields").remove(this.model),this.form.get("fields").add(this.model,{at:t})},handleChange:function(){this.render()},triggerDelete:function(e){e.stopPropagation(),this.form.get("fields").remove(this.model),this.undelegateEvents(),this.remove()},triggerEdit:function(){var e=this.el.parentNode.querySelectorAll(".ccf-editing");i.each(e,function(e){e.className=e.className.replace(/ccf-editing/i,"")}),this.el.className=this.el.className.replace(/ccf-editing/i,"")+" ccf-editing",wp.ccf.dispatcher.trigger("openEditField",this.model)},render:function(e){this.el.innerHTML=this.template({label:l.allLabels[this.model.get("type")]}),this.el.setAttribute("data-field-type",this.model.get("type"));var t=RegExp(" "+this.model.get("type"),"i");this.el.className=this.el.className.replace(t,"")+" "+this.model.get("type"),e&&(this.el.className=this.el.className.replace(/ instantiated/i,"")+" instantiated");var s=document.getElementById("ccf-"+this.model.get("type")+"-preview-template");if(s){var c=this.el.querySelectorAll(".preview")[0];c.style.display="block",c.innerHTML=i.template(s.innerHTML)({field:this.model.toJSON()})}return this}}),wp.ccf.views.FormSettings=wp.ccf.views.FormSettings||t.View.extend({template:i.template(document.getElementById("ccf-form-settings-template").innerHTML),events:{"blur input":"save","change select":"save","change select.form-completion-action-type":"toggleCompletionFields","change select.form-send-email-notifications":"toggleNotificationFields"},initialize:function(e){this.model=e.form},destroy:function(){wp.ccf.dispatcher.off("saveFormSettings",this.save),wp.ccf.dispatcher.off("mainViewChange",this.save)},toggleCompletionFields:function(){var e=this.el.querySelectorAll(".form-completion-action-type")[0].value,t=this.el.querySelectorAll(".completion-message")[0],i=this.el.querySelectorAll(".completion-redirect-url")[0];"text"===e?(t.style.display="block",i.style.display="none"):(t.style.display="none",i.style.display="block")},toggleNotificationFields:function(){var e=this.el.querySelectorAll(".form-send-email-notifications")[0].value,t=this.el.querySelectorAll(".email-notification-addresses")[0];t.style.display=parseInt(e)?"block":"none"},save:function(e){if(""!==this.el.innerHTML){var t=this.el.querySelectorAll(".form-title")[0].value;this.model.set("title",t);var i=this.el.querySelectorAll(".form-description")[0].value;this.model.set("description",i);var l=this.el.querySelectorAll(".form-button-text")[0].value;this.model.set("buttonText",l);var s=this.el.querySelectorAll(".form-completion-message")[0].value;this.model.set("completionMessage",s);var c=this.el.querySelectorAll(".form-completion-redirect-url")[0].value;this.model.set("completionRedirectUrl",c);var n=this.el.querySelectorAll(".form-completion-action-type")[0].value;this.model.set("completionActionType",n);var r=this.el.querySelectorAll(".form-send-email-notifications")[0].value;this.model.set("sendEmailNotifications",parseInt(r)?!0:!1);var o=this.el.querySelectorAll(".form-email-notification-addresses")[0].value;this.model.set("emailNotificationAddresses",o),e!==void 0&&e.promise!==void 0&&e.resolve()}},render:function(){var e={form:this.model.toJSON()};return this.el.innerHTML=this.template(e),this.toggleCompletionFields(),this.toggleNotificationFields(),wp.ccf.dispatcher.on("saveFormSettings",this.save,this),wp.ccf.dispatcher.on("mainViewChange",this.save,this),this}}),wp.ccf.views.FormPane=wp.ccf.views.FormPane||t.View.extend(i.defaults({template:i.template(document.getElementById("ccf-form-pane-template").innerHTML),subViews:{"field-sidebar":wp.ccf.views.FieldSidebar,"form-settings":wp.ccf.views.FormSettings},events:{"click .save-button":"sync","click h2":"accordionClick","click .insert-form-button":"insertForm"},initialize:function(){wp.ccf.dispatcher.on("openEditField",this.openEditField,this)},insertForm:function(){wp.ccf.utils.insertFormShortcode(this.model),wp.ccf.toggle()},accordionClick:function(t){var l=e(t.currentTarget).parents(".accordion-container")[0],s=l.querySelectorAll(".accordion-section");t.currentTarget.parentNode.className.match(/expanded/i)?t.currentTarget.parentNode.className=t.currentTarget.parentNode.className.replace(/expanded/i,""):t.currentTarget.parentNode.className+=" expanded",i.each(s,function(e){e!=t.currentTarget.parentNode&&e.className.match(/expanded/i)&&(e.className=e.className.replace(/expanded/i,""))})},openEditField:function(e){this.renderedSubViews["field-sidebar"].render(e).el.style.display="block"},disable:function(){this.el.querySelectorAll(".save-button")[0].setAttribute("disabled","disabled"),this.el.querySelectorAll(".disabled-overlay")[0].style.display="block"},enable:function(){this.el.querySelectorAll(".save-button")[0].removeAttribute("disabled"),this.el.querySelectorAll(".disabled-overlay")[0].style.display="none"},sync:function(){var t=this,i=e(this.el.querySelectorAll(".spinner")[0]);i.fadeIn(),t.disable();var s=e.Deferred(),c=e.Deferred();wp.ccf.dispatcher.trigger("saveFormSettings",s),wp.ccf.dispatcher.trigger("saveField",c),e.when(s,c).then(function(){var e=t.model.get("fields"),s=!0,c={};e.each(function(e){var t=e.get("slug");e.hasRequiredAttributes()?t&&!t.match(/^[a-zA-Z0-9\-_]+$/)?(s=!1,e.trigger("requirementsNotMet")):c[e.get("slug")]!==void 0?(s=!1,e.trigger("duplicateSlug"),c[e.get("slug")].trigger("duplicateSlug")):e.trigger("requirementsMet"):(s=!1,e.trigger("requirementsNotMet")),e.get("slug")&&(c[e.get("slug")]=e)}),s?t.model.save({},{context:"edit"}).done(function(){l.single&&!l.postId&&(window.location=l.adminUrl+"post.php?post="+t.model.get("ID")+"&action=edit#ccf-form/"+t.model.get("ID"))}).complete(function(){i.fadeOut(),t.enable(),wp.ccf.dispatcher.trigger("saveFormComplete",t.model)}):(t.enable(),i.fadeOut())})},enableDisableInsert:function(){var e=this.el.querySelectorAll(".insert-form-button")[0];this.model.get("ID")?e.removeAttribute("disabled"):e.setAttribute("disabled","disabled")},render:function(t){var s=this;s.model=t?t:new wp.ccf.models.Form,this.listenTo(s.model,"change",this.enableDisableInsert,this);var c={labels:l.fieldLabels,form:s.model.toJSON()};window.form=s.model,s.el.innerHTML=this.template(c);var n=s.el.querySelectorAll(".fields")[0];i.each(l.fieldLabels,function(e,t){n.appendChild(new wp.ccf.views.FieldRowPlaceholder({type:t}).render().el)});var r=s.el.querySelectorAll(".structure-fields")[0];i.each(l.structureFieldLabels,function(e,t){r.appendChild(new wp.ccf.views.FieldRowPlaceholder({type:t}).render().el)});var o=s.el.querySelectorAll(".special-fields")[0];i.each(l.specialFieldLabels,function(e,t){o.appendChild(new wp.ccf.views.FieldRowPlaceholder({type:t}).render().el)}),e(s.el.querySelectorAll(".left-sidebar")[0].querySelectorAll(".field")).draggable({cursor:"move",zIndex:160001,scroll:!1,containment:".ccf-form-pane",appendTo:".ccf-main-modal",snap:!0,connectToSortable:".form-content",helper:function(t){var i=e(t.currentTarget),l=e('<div class="field" data-field-type="'+i.attr("data-field-type")+'"><h4>'+i.find(".label").html()+"</h4></div>");return l.css({width:i.width(),height:i.height()})}});var a=s.model.get("fields"),d=s.el.querySelectorAll(".form-content")[0];return a.length>=1&&(d.innerHTML="",a.each(function(e){var t=new wp.ccf.views.FieldRow({model:e,form:s.model}).render(!0).el;d.appendChild(t)})),e(d).sortable({axis:"y",handle:"h4",stop:function(e,t){if(!t.item.hasClass("instantiated")){var i=t.item.attr("data-field-type"),l={};if(wp.ccf.models.Fields[i].prototype.defaults().slug!==void 0){var c=s.model.get("fields").where({type:i}).length+1;l.slug=i+"-"+c}var n=new wp.ccf.models.Fields[i](l),r=s.model.get("fields");r.add(n),new wp.ccf.views.FieldRow({model:n,el:t.item,form:s.model}).render(!0),t.item.attr("style","")}t.item.trigger("sorted",t.item.index())}}),s.initRenderSubViews(!0,!0,{form:s.model}),s.enableDisableInsert(),s
|
2 |
-
}},wp.ccf.mixins.subViewable)),wp.ccf.views.ExistingFormTableRow=wp.ccf.views.ExistingFormTableRow||t.View.extend({tagName:"tr",template:i.template(document.getElementById("ccf-existing-form-table-row-template").innerHTML),events:{"click .edit":"triggerMainViewChange","click .delete":"triggerDelete","click .insert-form-button":"insertForm"},initialize:function(e){this.parent=e.parent},insertForm:function(){wp.ccf.utils.insertFormShortcode(this.model),wp.ccf.toggle()},triggerMainViewChange:function(){wp.ccf.switchToForm(this.model)},triggerDelete:function(){var e,t=this,i=t.parent.collection.state.currentPage;t.model.destroy().done(function(){e=i,e===t.parent.collection.state.totalPages&&e-1===(t.parent.collection.state.totalObjects-1)/l.postsPerPage&&e--,t.parent.showPage(e).done(function(){t.parent.renderPagination()})})},render:function(){return this.$el.html(this.template({form:this.model.toJSON(),utils:{getPrettyPostDate:wp.ccf.utils.getPrettyPostDate}})),this}}),wp.ccf.views.EmptyFormTableRow=wp.ccf.views.EmptyFormTableRow||t.View.extend({tagName:"tr",template:i.template(document.getElementById("ccf-empty-form-table-row-template").innerHTML),render:function(){return this.$el.html(this.template()),this}}),wp.ccf.views.ExistingFormTable=wp.ccf.views.ExistingFormTable||t.View.extend({template:i.template(document.getElementById("ccf-existing-form-table-template").innerHTML),initialize:function(){this.parent=arguments.parent,this.collection=new wp.ccf.collections.Forms,wp.ccf.dispatcher.on("changeFormTablePage",this.showPage,this),wp.ccf.dispatcher.on("saveFormComplete",this.render,this)},showPage:function(e){var t=this,i=this.collection.fetch({data:{page:e}});return i.done(function(){var e=t.el.querySelectorAll(".rows")[0],i=document.createElement("tbody");i.className="rows",t.collection.length>=1?t.collection.each(function(e){var l=new wp.ccf.views.ExistingFormTableRow({model:e,parent:t}).render();i.appendChild(l.el)},t):i.appendChild((new wp.ccf.views.EmptyFormTableRow).render().el),e.parentNode.replaceChild(i,e)}),i},renderPagination:function(){var e=this.el.querySelectorAll(".ccf-pagination")[0];e.innerHTML="",this.collection.state.totalPages>1&&e.appendChild(new wp.ccf.views.Pagination({parent:this}).render(this.collection.state.totalPages,this.collection.state.currentPage).el)},render:function(){var e=this;return this.el.innerHTML=this.template(),this.el.querySelectorAll(".ccf-pagination")[0],this.showPage(1).done(function(){e.renderPagination()}),this}}),wp.ccf.views.ExistingFormPane=wp.ccf.views.ExistingFormPane||t.View.extend(i.defaults({template:i.template(document.getElementById("ccf-existing-form-pane-template").innerHTML),subViews:{"existing-form-table":wp.ccf.views.ExistingFormTable},render:function(){return this.rendered?this:(this.rendered=!0,this.el.innerHTML=this.template(),this.initRenderSubViews(!0),this)}},wp.ccf.mixins.subViewable)),wp.ccf.views.MainModal=wp.ccf.views.MainModal||t.View.extend(i.defaults({tagName:"div",className:"ccf-main-modal",template:i.template(document.getElementById("ccf-main-modal-template").innerHTML),events:{"click .close-icon":"hide","click .main-menu a":"menuClick"},subViews:{"form-pane":wp.ccf.views.FormPane},initialize:function(){l.single||(this.subViews["existing-form-pane"]=wp.ccf.views.ExistingFormPane),wp.ccf.dispatcher.on("mainViewChange",this.toggleView,this)},toggleView:function(e){this.showView(e,wp.ccf.currentForm);var t=e;"form-pane"===e&&wp.ccf.currentForm&&(t="existing-form-pane");var l=this.el.querySelectorAll(".menu-item");i.each(l,function(e){var i=e.getAttribute("data-view");e.className=i===t?e.className.replace("selected","")+" selected":e.className.replace("selected","")})},menuClick:function(e){var t=e.target.getAttribute("data-view");"form-pane"===t&&(wp.ccf.currentForm=null),wp.ccf.dispatcher.trigger("mainViewChange",t),e.preventDefault()},render:function(e){return e=e||!1,this.overlay(),this.el.innerHTML=this.template({single:e}),this.initRenderSubViews(),this.showView("form-pane",wp.ccf.currentForm,!0),this},overlay:function(){return this.overlayEl===void 0&&(this.overlayEl=document.createElement("div"),this.overlayEl.className="ccf-main-modal-overlay",document.body.appendChild(this.overlayEl)),this.overlayEl},remove:function(){return document.body.removeChild(this.overlay()),this},show:function(){e(this.overlay()).show(),this.$el.show()},hide:function(){e(this.overlay()).hide(),this.$el.hide()}},wp.ccf.mixins.subViewable)),wp.ccf.views.SubmissionRow=wp.ccf.views.SubmissionRow||t.View.extend({tagName:"tr",template:i.template(document.getElementById("ccf-submission-row-template").innerHTML),events:{"click .view":"view","click .delete":"delete"},initialize:function(e){this.parent=e.parent},"delete":function(){var e,t=this,i=t.parent.collection.state.currentPage;t.model.destroy().done(function(){e=i,e===t.parent.collection.state.totalPages&&e-1===(t.parent.collection.state.totalObjects-1)/l.postsPerPage&&e--,t.parent.showPage(e).done(function(){t.parent.renderPagination()})})},view:function(e){var t=e.currentTarget.getAttribute("data-submission-id"),i=e.currentTarget.getAttribute("data-submission-date");tb_show(l.thickboxTitle+" - "+wp.ccf.utils.getPrettyPostDate(i),"#TB_inline?height=500&width=700&inlineId=ccf-submission-content-"+parseInt(t),null)},render:function(){return this.$el.html(this.template({submission:this.model.toJSON(),currentColumns:this.parent.columns,columns:wp.ccf.currentForm.getFieldSlugs(!0),utils:{getPrettyPostDate:wp.ccf.utils.getPrettyPostDate,wordChop:wp.ccf.utils.wordChop,isFieldDate:wp.ccf.utils.isFieldDate,isFieldName:wp.ccf.utils.isFieldName,isFieldAddress:wp.ccf.utils.isFieldAddress,getPrettyFieldDate:wp.ccf.utils.getPrettyFieldDate,getPrettyFieldAddress:wp.ccf.utils.getPrettyFieldAddress,getPrettyFieldName:wp.ccf.utils.getPrettyFieldName}})),this}}),wp.ccf.views.SubmissionsTable=wp.ccf.views.SubmissionsTable||t.View.extend({template:i.template(document.getElementById("ccf-submission-table-template").innerHTML),events:{"click .prev:not(.disabled)":"previousPage","click .next:not(.disabled)":"nextPage","click .first:not(.disabled)":"firstPage","click .last:not(.disabled)":"lastPage"},initialize:function(){this.collection=new wp.ccf.collections.Submissions({},{formId:l.postId}),wp.ccf.dispatcher.on("submissionTableRebuild",this.render,this)},showPage:function(e){var t=this,i=this.collection.fetch({data:{page:e}});return i.done(function(){var e=t.el.querySelectorAll(".submission-rows")[0],i=document.createElement("tbody");i.className="submission-rows",t.collection.length>=1?t.collection.each(function(e){var l=new wp.ccf.views.SubmissionRow({model:e,parent:t}).render();i.appendChild(l.el)},t):i.appendChild(new wp.ccf.views.EmptySubmissionTableRow({parent:t}).render(wp.ccf.currentForm.getFieldSlugs(!0).concat("date")).el),e.parentNode.replaceChild(i,e)}),i},renderPagination:function(){var e=this.el.querySelectorAll(".ccf-pagination")[0];e.innerHTML="",this.collection.state.totalPages>1&&e.appendChild(new wp.ccf.views.Pagination({parent:this}).render(this.collection.state.totalPages,this.collection.state.currentPage).el)},render:function(e){var t=this;return t.columns=e?e:wp.ccf.currentForm.getFieldSlugs(!0).slice(0,4).concat("date"),1>t.columns.length?t.el.innerHTML="":(t.el.innerHTML=t.template({columns:t.columns}),t.el.querySelectorAll(".ccf-pagination")[0],t.showPage(1).done(function(){t.renderPagination()})),t}}),wp.ccf.views.Pagination=wp.ccf.views.Pagination||t.View.extend({template:i.template(document.getElementById("ccf-pagination-template").innerHTML),events:{"click .prev:not(.disabled)":"previousPage","click .next:not(.disabled)":"nextPage","click .first:not(.disabled)":"firstPage","click .last:not(.disabled)":"lastPage"},initialize:function(e){this.parent=e.parent},previousPage:function(){var e=this;e.parent.showPage(e.parent.collection.state.currentPage-1).done(function(){e.render()})},nextPage:function(){var e=this;e.parent.showPage(e.parent.collection.state.currentPage+1).done(function(){e.render()})},firstPage:function(){var e=this;e.parent.showPage(1).done(function(){e.render()})},lastPage:function(){var e=this;e.parent.showPage(e.parent.collection.state.totalPages).done(function(){e.render()})},render:function(){return this.el.innerHTML=this.template({totalPages:this.parent.collection.state.totalPages,currentPage:this.parent.collection.state.currentPage,totalObjects:this.parent.collection.state.totalObjects}),this}}),wp.ccf.views.EmptySubmissionTableRow=wp.ccf.views.EmptySubmissionTableRow||t.View.extend({tagName:"tr",template:i.template(document.getElementById("ccf-no-submissions-row-template").innerHTML),initialize:function(e){this.parent=e.parent},render:function(){return this.el.innerHTML=this.template({columns:this.parent.columns}),this}}),wp.ccf.views.SubmissionColumnController=wp.ccf.views.SubmissionColumnController||t.View.extend({template:i.template(document.getElementById("ccf-submissions-controller-template").innerHTML),events:{"click input[type=checkbox]":"triggerTableRebuild"},render:function(){this.el.innerHTML=this.template({columns:wp.ccf.currentForm.getFieldSlugs(!0).concat("date")})},triggerTableRebuild:function(){var e=[],t=document.querySelectorAll(".submission-column-checkbox");if(t.length>=1)for(var i=0;t.length>i;i++)t[i].checked&&e.push(t[i].value);wp.ccf.dispatcher.trigger("submissionTableRebuild",e)}})}(jQuery,Backbone,_,ccfSettings),function(e,t){"use strict";wp.ccf.router=wp.ccf.router||t.Router.extend({routes:{"ccf-form":"open","ccf-form/:formId":"open"},open:function(e){wp.ccf.show(e)}})}(jQuery,Backbone,_,ccfSettings),function(e,t,i,l){"use strict";wp.ccf=i.defaults(wp.ccf,{forms:new wp.ccf.collections.Forms,currentForm:null,_currentFormDeferred:null,dispatcher:{},show:function(e){return this.switchToForm(e),this.instance.show(),this.instance},switchToForm:function(e){var t=this;if(+e===parseInt(e)){var i=parseInt(e);if(e=t.forms.findWhere({ID:parseInt(i)}),!e){var l;return t.forms.formsFetching[i]!==void 0?(l=t.forms.formsFetching[i],e=null):(e=new wp.ccf.models.Form({ID:i}),l=e.fetch(),t.forms.formsFetching[i]=l),l.done(function(){e?(delete t.forms.formsFetching[i],t.forms.add(e)):e=t.forms.findWhere({ID:i}),t.currentForm=e,wp.ccf.dispatcher.trigger("mainViewChange","form-pane")}),l}t.currentForm=e,wp.ccf.dispatcher.trigger("mainViewChange","form-pane")}else t.currentForm=e,wp.ccf.dispatcher.trigger("mainViewChange","form-pane");return!0},hide:function(){return this.instance.hide(),this.instance},toggle:function(e){return this.switchToForm(e),this.instance.$el.is(":visible")?this.instance.hide():this.instance.show(),this.instance},createSubmissionsTable:function(e){var t=document.querySelectorAll(".ccf-submission-column-controller"),i=new wp.ccf.views.SubmissionsTable({el:e});i.render(),t&&new wp.ccf.views.SubmissionColumnController({el:t}).render()},_setupMainModal:function(e){return this.instance=(new wp.ccf.views.MainModal).render(e),document.getElementsByTagName("body")[0].appendChild(this.instance.el),t.history.start(),this.instance},createManager:function(){var s=this;i.extend(this.dispatcher,t.Events),new wp.ccf.router;var c=!1,n=document.querySelectorAll(".ccf-open-form-manager")[0];if(l.single)if(c=!0,l.postId){var r=parseInt(l.postId);if(s.forms.formsFetching[r]===void 0){var o=new wp.ccf.models.Form({ID:r}),a=o.fetch();s.forms.formsFetching[r]=a,s._currentFormDeferred=a,a.done(function(){delete s.forms.formsFetching[r],s.forms.add(o),s.currentForm=o})}else s._currentFormDeferred=s.forms.formsFetching[r],s._currentFormDeferred.done(function(){s.currentForm=s.forms.findWhere({ID:r})});e.when(s._currentFormDeferred).then(function(){s._setupMainModal(!0),n.style.display="inline-block";var e=document.getElementById("ccf-submissions");if(e){var t=e.querySelectorAll(".inside")[0],i=document.createElement("div");i.className="ccf-submission-settings",i.setAttribute("data-icon","");var l=document.getElementById("show-settings-link");i.onclick=function(){l.click()},e.insertBefore(i,e.firstChild.nextSibling.nextSibling),wp.ccf.createSubmissionsTable(t)}})}else s._setupMainModal(!0),n.style.display="inline-block";else s._setupMainModal();var d=function(e){e=e||window.event;var t=e.currentTarget?e.currentTarget:e.srcElement,i=t.getAttribute("data-form-id");wp.ccf.toggle(i)};n.addEventListener?n.addEventListener("click",d,!1):n.attachEvent("onclick",d)}}),wp.ccf.createManager()}(jQuery,Backbone,_,ccfSettings);
|
1 |
+
(function(e,t,i,l){"use strict";window.wp=window.wp||{},wp.ccf=wp.ccf||{},wp.ccf.utils=wp.ccf.utils||{},wp.ccf.utils.cleanDateFields=function(e){delete e.date,delete e.date_gmt,delete e.modified,delete e.modified_gmt,delete e.date_tz,delete e.modified_tz},wp.ccf.utils.insertFormShortcode=function(e){var t=wp.ccf.forms.findWhere({ID:e.get("ID")});t||wp.ccf.forms.add(e);var i=tinymce.get(wpActiveEditor),l='[ccf_form id="'+e.get("ID")+'"]';i&&!i.isHidden()?tinymce.activeEditor.execCommand("mceInsertContent",!1,l):document.getElementById(wpActiveEditor).value+=l},wp.ccf.utils.getPrettyPostDate=function(e){return e=moment(e),e.format("h:mm a M/D/YYYY")},wp.ccf.utils.wordChop=function(e,t){var i=e.substr(0,t);return i.substr(0,Math.min(i.length,i.lastIndexOf(" "))),i.length<e.length&&(i+="..."),i},wp.ccf.utils.isFieldDate=function(e){return e.date!==void 0||e.hour!==void 0&&e.minute!==void 0&&e["am-pm"]!==void 0?!0:!1},wp.ccf.utils.isFieldName=function(e){return e.name!==void 0||e.last!==void 0?!0:!1},wp.ccf.utils.isFieldAddress=function(e){return e.street!==void 0&&e.city!==void 0&&e.zipcode!==void 0&&e.line_two!==void 0?!0:!1},wp.ccf.utils.getPrettyFieldDate=function(e){var t="",i="";if(e.hour&&e.minute&&e["am-pm"]&&(t+=e.hour+":"+e.minute+" "+e["am-pm"]),e.date&&(t+=" "+e.date),!t)return"-";var s=moment(t);return s.isValid()?(e.hour&&e.minute&&e["am-pm"]&&(i+=s.format("h:mm a")),e.date&&(i&&(i+=" "),i+=s.format("M/D/YYYY")),i):l.invalidDate},wp.ccf.utils.getPrettyFieldName=function(e){var t=e.first;return t.length>0&&(t+=" "),e.last&&(t+=e.last),t||(t="-"),t},wp.ccf.utils.getPrettyFieldAddress=function(e){if(!e.street||!e.city)return"-";var t=e.street;return e.line_two&&(t+=" "+e.line_two),t+=", "+e.city,e.state&&(t+=", "+e.state),e.zipcode&&(t+=" "+e.zipcode),e.country&&(t+=" "+e.country),t}})(jQuery,Backbone,_,ccfSettings),function(e,t,i){"use strict";wp.ccf.mixins=wp.ccf.mixins||{},wp.ccf.mixins.subViewable=wp.ccf.mixins.subViewable||{subViews:{},initRenderSubViews:function(e,t,l){this.renderedSubViews||(this.renderedSubViews={});for(var s in this.subViews){var c={el:this.$el.find(".ccf-"+s),parent:this};l&&i.extend(c,l),this.renderedSubViews[s]&&this.renderedSubViews[s].destroy&&this.renderedSubViews[s].destroy(),(t||!this.renderedSubViews[s])&&(this.renderedSubViews[s]=new this.subViews[s](c)),this.renderedSubViews[s].render(),e&&(this.renderedSubViews[s].el.style.display="block")}return this},showView:function(e,t,i){if(this.renderedSubViews!==void 0&&this.renderedSubViews[e]!==void 0){var l=this.renderedSubViews[e];i||l.render(t),l.el.style.display="block",this.currentView=e;for(var s in this.subViews)s!==e&&(this.renderedSubViews[s].el.style.display="none")}}}}(jQuery,Backbone,_,ccfSettings),function(e,t,i,l,s){"use strict";wp.ccf.models=wp.ccf.models||{},wp.ccf.models.Fields=wp.ccf.models.Fields||{};var c=function(e,i,l){return"object"!=typeof i&&""===i&&(i=""),t.Model.prototype.set.call(this,e,i,l)},n=function(e){for(var t in this.attributes)if(-1===e.indexOf(t)){var i=this.get(t);"string"==typeof i&&""!==i&&(i=(i+"").replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,'"').replace(/“/g,"”").replace(/”/g,"”").replace(/‘/g,"‘").replace(/'/g,"'"),this.set(t,i))}return this};wp.ccf.models.FieldChoice=wp.ccf.models.FieldChoice||t.Model.extend({defaults:{label:"",value:"",selected:!1},decode:function(){return n.call(this,[])},set:c}),wp.ccf.models.Form=wp.ccf.models.Form||wp.api.models.Post.extend({urlRoot:s.root+"/ccf/forms",set:c,initialize:function(){this.on("sync",this.decode,this)},defaults:function(){var e={fields:new wp.ccf.collections.Fields,type:"ccf_form",status:"publish",description:"",buttonText:"Submit Form",completionActionType:"text",completionRedirectUrl:"",completionMessage:"",sendEmailNotifications:!1,emailNotificationAddresses:l.adminEmail};return e=i.defaults(e,this.constructor.__super__.defaults),wp.ccf.utils.cleanDateFields(e),e},decode:function(){var e=i.keys(wp.api.models.Post.prototype.defaults);return e=i.without(e,"title"),n.call(this,e)},getFieldSlugs:function(e){var t=wp.ccf.currentForm.get("fields"),i=[];return t.each(function(t){e&&t.isImmutable||i.push(t.get("slug"))}),i},parse:function(e){var t=this;if(e.fields){var l=t.get("fields");if(l&&l.length>0){for(var s=0;e.fields.length>s;s++){var c=e.fields[s],n=l.findWhere({slug:c.slug});if(n){if(c.choices!==void 0){var r=t.get("choices");if(r&&r.length>0)for(var o=0;c.choices>o;o++){var a=r.at(o);a.set(c.choices[o]),a.decode()}delete e.fields[s].choices}n.set(c),n.decode()}}delete e.fields}else{var d=[];i.each(e.fields,function(e){var t=new wp.ccf.models.Fields[e.type](e);t.decode(),d.push(t)}),e.fields=new wp.ccf.collections.Fields(d,{formId:e.ID})}}return this.constructor.__super__.parse.call(this,e)},toJSON:function(){var e=this.constructor.__super__.toJSON.call(this);return e.fields&&(e.fields=e.fields.toJSON()),e.author&&(e.author=e.author.toJSON()),e}}),wp.ccf.models.Submission=wp.api.models.Submission||wp.api.models.Post.extend({idAttribute:"ID",defaults:{ID:null,data:{}}}),wp.ccf.models.Field=wp.api.models.Field||wp.api.models.Post.extend({idAttribute:"ID",defaults:{ID:null},set:c,required:function(){return["slug"]},decode:function(){return n.call(this,i.keys(wp.api.models.Post.prototype.defaults))},hasRequiredAttributes:function(){var e=this,t=!0;return i.each(this.required(),function(i){(e.get(i)===void 0||""===e.get(i))&&(t=!1)}),t}}),wp.ccf.models.StandardField=wp.ccf.models.StandardField||wp.ccf.models.Field.extend({idAttribute:"ID",defaults:function(){var e={label:"Field Label",value:"",placeholder:"",slug:"",type:"",required:!1,className:""};return i.defaults(e,this.constructor.__super__.defaults)}}),wp.ccf.models.Fields["single-line-text"]=wp.ccf.models.Fields["single-line-text"]||wp.ccf.models.StandardField.extend({defaults:function(){var e={type:"single-line-text"};return i.defaults(e,this.constructor.__super__.defaults())}}),wp.ccf.models.Fields["paragraph-text"]=wp.ccf.models.Fields["paragraph-text"]||wp.ccf.models.StandardField.extend({defaults:function(){var e={type:"paragraph-text"};return i.defaults(e,this.constructor.__super__.defaults())}}),wp.ccf.models.Fields.hidden=wp.ccf.models.Fields.hidden||wp.ccf.models.StandardField.extend({defaults:function(){var e={type:"hidden"};return i.defaults(e,this.constructor.__super__.defaults())}}),wp.ccf.models.Fields.email=wp.ccf.models.Fields.email||wp.ccf.models.StandardField.extend({defaults:function(){var e={type:"email",emailConfirmation:!1};return i.defaults(e,this.constructor.__super__.defaults())}}),wp.ccf.models.Fields.website=wp.ccf.models.Fields.website||wp.ccf.models.StandardField.extend({defaults:function(){var e={type:"website"};return i.defaults(e,this.constructor.__super__.defaults())}}),wp.ccf.models.Fields.phone=wp.ccf.models.Fields.phone||wp.ccf.models.StandardField.extend({defaults:function(){var e={type:"phone",phoneFormat:"us"};return i.defaults(e,this.constructor.__super__.defaults())}}),wp.ccf.models.Fields.date=wp.ccf.models.Fields.date||wp.ccf.models.StandardField.extend({defaults:function(){var e={type:"date",showDate:!0,showTime:!0};return i.defaults(e,this.constructor.__super__.defaults())}}),wp.ccf.models.Fields.name=wp.ccf.models.Fields.name||wp.ccf.models.StandardField.extend({defaults:function(){var e={type:"name"};return i.defaults(e,this.constructor.__super__.defaults())}}),wp.ccf.models.Fields.address=wp.ccf.models.Fields.address||wp.ccf.models.StandardField.extend({defaults:function(){var e={type:"address",addressType:"us"};return i.defaults(e,this.constructor.__super__.defaults())}}),wp.ccf.models.Fields["section-header"]=wp.ccf.models.Fields["section-header"]||wp.ccf.models.Field.extend({defaults:function(){var e={type:"section-header",slug:"",heading:"",subheading:"",className:""};return i.defaults(e,this.constructor.__super__.defaults)},required:function(){return[]},isImmutable:!0}),wp.ccf.models.Fields.html=wp.ccf.models.Fields.html||wp.ccf.models.Field.extend({defaults:function(){var e={type:"html",slug:"",html:"",className:""};return i.defaults(e,this.constructor.__super__.defaults)},required:function(){return[]},isImmutable:!0}),wp.ccf.models.ChoiceableField=wp.ccf.models.ChoiceableField||wp.ccf.models.StandardField.extend({defaults:function(){var e={choices:new wp.ccf.collections.FieldChoices};return i.defaults(e,this.constructor.__super__.defaults())},initialize:function(e){if("object"==typeof e&&e.choices){var t=[];i.each(e.choices,function(e){var i=new wp.ccf.models.FieldChoice(e);i.decode(),t.push(i)}),this.set("choices",new wp.ccf.collections.FieldChoices(t))}}}),wp.ccf.models.Fields.radio=wp.ccf.models.Fields.radio||wp.ccf.models.ChoiceableField.extend({defaults:function(){var e={type:"radio"};return i.defaults(e,this.constructor.__super__.defaults())},initialize:function(){return this.constructor.__super__.initialize.apply(this,arguments)}}),wp.ccf.models.Fields.checkboxes=wp.ccf.models.Fields.checkboxes||wp.ccf.models.ChoiceableField.extend({defaults:function(){var e={type:"checkboxes"};return i.defaults(e,this.constructor.__super__.defaults())},initialize:function(){return this.constructor.__super__.initialize.apply(this,arguments)}}),wp.ccf.models.Fields.dropdown=wp.ccf.models.Fields.dropdown||wp.ccf.models.ChoiceableField.extend({defaults:function(){var e={type:"dropdown"};return i.defaults(e,this.constructor.__super__.defaults())},initialize:function(){return this.constructor.__super__.initialize.apply(this,arguments)}})}(jQuery,Backbone,_,ccfSettings,WP_API_Settings),function(e,t,i){"use strict";wp.ccf.collections=wp.ccf.collections||{},wp.ccf.collections.Forms=wp.ccf.collections.Forms||wp.api.collections.Posts.extend({model:wp.ccf.models.Form,url:WP_API_Settings.root+"/ccf/forms",formsFetching:{},initialize:function(){this.constructor.__super__.initialize(),this.formsFetching={}},remove:function(e,t){t=t||{};var l=this.constructor.__super__.remove.call(this,e,t);return t.destroy&&(e instanceof Array?i.each(e,function(e){e.destroy()}):e.destroy()),l}}),wp.ccf.collections.Fields=wp.ccf.collections.Fields||wp.api.collections.Posts.extend({model:wp.ccf.models.Field,url:function(){return WP_API_Settings.root+"/ccf/forms/"+this.formId+"/fields"},initialize:function(e,t){t&&t.formId&&(this.formId=t.formId)}}),wp.ccf.collections.Submissions=wp.ccf.collections.Submissions||wp.api.collections.Posts.extend({model:wp.ccf.models.Submission,url:function(){return WP_API_Settings.root+"/ccf/forms/"+this.formId+"/submissions"},initialize:function(e,t){this.constructor.__super__.initialize.apply(this,arguments),t&&t.formId&&(this.formId=t.formId)}}),wp.ccf.collections.FieldChoices=wp.ccf.collections.FieldChoices||t.Collection.extend({model:wp.ccf.models.FieldChoice})}(jQuery,Backbone,_,ccfSettings),function(e,t,i,l){"use strict";wp.ccf.views=wp.ccf.views||{},wp.ccf.views.Fields=wp.ccf.views.Fields||{},wp.ccf.views.FieldChoice=t.View.extend({template:i.template(document.getElementById("ccf-field-choice-template").innerHTML),className:"choice",events:{"click .add":"triggerAdd","click .delete":"triggerDelete","blur input":"saveChoice",saveChoice:"saveChoice",sorted:"triggerUpdateSort"},initialize:function(e){this.field=e.field},destroy:function(){wp.ccf.dispatcher.off("mainViewChange",this.saveChoice),this.unbind()},triggerUpdateSort:function(e,t){this.field.get("choices").remove(this.model,{silent:!0}),this.field.get("choices").add(this.model,{at:t,silent:!0})},saveChoice:function(){if(""!==this.el.innerHTML){var e=this.el.querySelectorAll(".choice-label")[0].value,t=this.el.querySelectorAll(".choice-value")[0].value;this.model.set("label",e),this.model.set("value",t);var i=this.el.querySelectorAll(".choice-selected")[0],l=i.checked?!0:!1;return this.model.set("selected",l),this}},render:function(){var e={};return this.model&&(e.choice=this.model.toJSON()),this.el.innerHTML=this.template(e),wp.ccf.dispatcher.on("mainViewChange",this.saveChoice,this),this},triggerAdd:function(){this.field.get("choices").add(new wp.ccf.models.FieldChoice)},triggerDelete:function(){var e=this.field.get("choices");if(e.length>1)e.remove(this.model),this.destroy(),this.remove();else{for(var t=this.el.querySelectorAll(".choice-label, .choice-value"),i=this.el.querySelectorAll(".choice-selected"),l=0;t.length>l;l++)t[l].value="";i[0].checked=!1}}}),wp.ccf.views.FieldBase=wp.ccf.views.FieldBase||t.View.extend({events:{"blur input":"saveField","blur input.field-slug":"checkSlug","blur textarea":"saveField","change select":"saveField",'change input[type="checkbox"]':"saveField"},checkSlug:function(){var e=this.el.querySelectorAll(".field-slug");if(e.length>0){var t=e[0];t.parentNode.className=t.value&&!t.value.match(/^[a-zA-Z0-9\-_]+$/)?t.parentNode.className.replace(/ field-error/i,"")+" field-error":t.parentNode.className.replace(/ field-error/i,"")}},destroy:function(){this.unbind()},render:function(){return this.el.innerHTML=this.template({field:this.model.toJSON()}),this.checkSlug(),this}}),wp.ccf.views.Fields["single-line-text"]=wp.ccf.views.Fields["single-line-text"]||wp.ccf.views.FieldBase.extend({template:i.template(document.getElementById("ccf-single-line-text-template").innerHTML),initialize:function(){},saveField:function(){return this.model.set("slug",this.el.querySelectorAll(".field-slug")[0].value),this.model.set("label",this.el.querySelectorAll(".field-label")[0].value),this.model.set("value",this.el.querySelectorAll(".field-value")[0].value),this.model.set("placeholder",this.el.querySelectorAll(".field-placeholder")[0].value),this.model.set("className",this.el.querySelectorAll(".field-class-name")[0].value),this.model.set("required",1==this.el.querySelectorAll(".field-required")[0].value?!0:!1),this}}),wp.ccf.views.Fields["section-header"]=wp.ccf.views.Fields["section-header"]||wp.ccf.views.FieldBase.extend({template:i.template(document.getElementById("ccf-section-header-template").innerHTML),initialize:function(){},saveField:function(){return this.model.set("heading",this.el.querySelectorAll(".field-heading")[0].value),this.model.set("subheading",this.el.querySelectorAll(".field-subheading")[0].value),this.model.set("className",this.el.querySelectorAll(".field-class-name")[0].value),this}}),wp.ccf.views.Fields.html=wp.ccf.views.Fields.html||wp.ccf.views.FieldBase.extend({template:i.template(document.getElementById("ccf-html-template").innerHTML),initialize:function(){},saveField:function(){return this.model.set("html",this.el.querySelectorAll(".field-html")[0].value),this.model.set("className",this.el.querySelectorAll(".field-class-name")[0].value),this}}),wp.ccf.views.Fields["paragraph-text"]=wp.ccf.views.Fields["paragraph-text"]||wp.ccf.views.FieldBase.extend({template:i.template(document.getElementById("ccf-paragraph-text-template").innerHTML),saveField:function(){return this.model.set("slug",this.el.querySelectorAll(".field-slug")[0].value),this.model.set("label",this.el.querySelectorAll(".field-label")[0].value),this.model.set("value",this.el.querySelectorAll(".field-value")[0].value),this.model.set("placeholder",this.el.querySelectorAll(".field-placeholder")[0].value),this.model.set("className",this.el.querySelectorAll(".field-class-name")[0].value),this.model.set("required",1==this.el.querySelectorAll(".field-required")[0].value?!0:!1),this}}),wp.ccf.views.Fields.hidden=wp.ccf.views.Fields.hidden||wp.ccf.views.FieldBase.extend({template:i.template(document.getElementById("ccf-hidden-template").innerHTML),saveField:function(){return this.model.set("slug",this.el.querySelectorAll(".field-slug")[0].value),this.model.set("value",this.el.querySelectorAll(".field-value")[0].value),this.model.set("className",this.el.querySelectorAll(".field-class-name")[0].value),this}}),wp.ccf.views.Fields.date=wp.ccf.views.Fields.date||wp.ccf.views.FieldBase.extend({template:i.template(document.getElementById("ccf-date-template").innerHTML),saveField:function(){this.model.set("slug",this.el.querySelectorAll(".field-slug")[0].value),this.model.set("label",this.el.querySelectorAll(".field-label")[0].value);var e=this.el.querySelectorAll(".field-value");e.length>0&&this.model.set("value",e[0].value),this.model.set("className",this.el.querySelectorAll(".field-class-name")[0].value),this.model.set("showDate",this.el.querySelectorAll(".field-show-date")[0].checked?!0:!1);var t=this.model.get("showTime"),i=this.el.querySelectorAll(".field-show-time")[0].checked?!0:!1;return this.model.set("showTime",i),this.model.set("required",1==this.el.querySelectorAll(".field-required")[0].value?!0:!1),i!=t&&this.render(),this}}),wp.ccf.views.Fields.name=wp.ccf.views.Fields.name||wp.ccf.views.FieldBase.extend({template:i.template(document.getElementById("ccf-name-template").innerHTML),saveField:function(){return this.model.set("slug",this.el.querySelectorAll(".field-slug")[0].value),this.model.set("label",this.el.querySelectorAll(".field-label")[0].value),this.model.set("className",this.el.querySelectorAll(".field-class-name")[0].value),this.model.set("required",1==this.el.querySelectorAll(".field-required")[0].value?!0:!1),this}}),wp.ccf.views.Fields.website=wp.ccf.views.Fields.website||wp.ccf.views.FieldBase.extend({template:i.template(document.getElementById("ccf-website-template").innerHTML),saveField:function(){return this.model.set("slug",this.el.querySelectorAll(".field-slug")[0].value),this.model.set("label",this.el.querySelectorAll(".field-label")[0].value),this.model.set("value",this.el.querySelectorAll(".field-value")[0].value),this.model.set("placeholder",this.el.querySelectorAll(".field-placeholder")[0].value),this.model.set("className",this.el.querySelectorAll(".field-class-name")[0].value),this.model.set("required",1==this.el.querySelectorAll(".field-required")[0].value?!0:!1),this}}),wp.ccf.views.Fields.phone=wp.ccf.views.Fields.phone||wp.ccf.views.FieldBase.extend({template:i.template(document.getElementById("ccf-phone-template").innerHTML),saveField:function(){return this.model.set("slug",this.el.querySelectorAll(".field-slug")[0].value),this.model.set("label",this.el.querySelectorAll(".field-label")[0].value),this.model.set("value",this.el.querySelectorAll(".field-value")[0].value),this.model.set("placeholder",this.el.querySelectorAll(".field-placeholder")[0].value),this.model.set("phoneFormat",this.el.querySelectorAll(".field-phone-format")[0].value),this.model.set("className",this.el.querySelectorAll(".field-class-name")[0].value),this.model.set("required",1==this.el.querySelectorAll(".field-required")[0].value?!0:!1),this}}),wp.ccf.views.Fields.address=wp.ccf.views.Fields.address||wp.ccf.views.FieldBase.extend({template:i.template(document.getElementById("ccf-address-template").innerHTML),saveField:function(){return this.model.set("slug",this.el.querySelectorAll(".field-slug")[0].value),this.model.set("label",this.el.querySelectorAll(".field-label")[0].value),this.model.set("addressType",this.el.querySelectorAll(".field-address-type")[0].value),this.model.set("className",this.el.querySelectorAll(".field-class-name")[0].value),this.model.set("required",1==this.el.querySelectorAll(".field-required")[0].value?!0:!1),this}}),wp.ccf.views.Fields.email=wp.ccf.views.Fields.email||wp.ccf.views.FieldBase.extend({template:i.template(document.getElementById("ccf-email-template").innerHTML),saveField:function(){this.model.set("slug",this.el.querySelectorAll(".field-slug")[0].value),this.model.set("label",this.el.querySelectorAll(".field-label")[0].value);var e=this.el.querySelectorAll(".field-value");e.length&&this.model.set("value",e[0].value);var t=this.el.querySelectorAll(".field-placeholder");t.length&&this.model.set("placeholder",t[0].value),this.model.set("className",this.el.querySelectorAll(".field-class-name")[0].value),this.model.set("required",1==this.el.querySelectorAll(".field-required")[0].value?!0:!1);var i=1==this.el.querySelectorAll(".field-email-confirmation")[0].value?!0:!1,l=this.model.get("emailConfirmation");return this.model.set("emailConfirmation",i),l!=i&&this.render(),this}}),wp.ccf.views.ChoiceableField=wp.ccf.views.ChoiceableField||wp.ccf.views.FieldBase.extend({template:i.template(document.getElementById("ccf-dropdown-template").innerHTML),initialize:function(){var e=this.model.get("choices");this.listenTo(e,"add",this.addChoice)},addChoice:function(e){var t=new wp.ccf.views.FieldChoice({model:e,field:this.model}).render(),i=this.el.querySelectorAll(".repeatable-choices")[0];i.appendChild(t.el)},saveField:function(){this.model.set("slug",this.el.querySelectorAll(".field-slug")[0].value),this.model.set("label",this.el.querySelectorAll(".field-label")[0].value),this.model.set("className",this.el.querySelectorAll(".field-class-name")[0].value),this.model.set("required",1==this.el.querySelectorAll(".field-required")[0].value?!0:!1);var t=this.el.querySelectorAll(".repeatable-choices")[0].querySelectorAll(".choice");return i.each(t,function(t){e(t).trigger("saveChoice")}),this},render:function(){var t=this;t.el.innerHTML=t.template({field:t.model.toJSON()});var i=t.model.get("choices"),l=this.el.querySelectorAll(".repeatable-choices")[0];if(i.length>=1)i.each(function(e){var i=new wp.ccf.views.FieldChoice({model:e,field:t.model}).render();l.appendChild(i.el)});else{var s=new wp.ccf.models.FieldChoice;i.add(s)}return l=this.el.querySelectorAll(".repeatable-choices")[0],e(l).sortable({handle:".move",axis:"y",stop:function(e,t){t.item.trigger("sorted",t.item.index())}}),t}}),wp.ccf.views.Fields.dropdown=wp.ccf.views.Fields.dropdown||wp.ccf.views.ChoiceableField.extend({template:i.template(document.getElementById("ccf-dropdown-template").innerHTML),events:function(){return this.constructor.__super__.events}}),wp.ccf.views.Fields.radio=wp.ccf.views.Fields.radio||wp.ccf.views.ChoiceableField.extend({template:i.template(document.getElementById("ccf-radio-template").innerHTML),events:function(){return this.constructor.__super__.events}}),wp.ccf.views.Fields.checkboxes=wp.ccf.views.Fields.checkboxes||wp.ccf.views.ChoiceableField.extend({template:i.template(document.getElementById("ccf-checkboxes-template").innerHTML),events:function(){return this.constructor.__super__.events}}),wp.ccf.views.FieldSidebar=wp.ccf.views.FieldSidebar||t.View.extend({initialize:function(e){this.currentFieldView=null,this.form=e.form},save:function(e){this.currentFieldView&&""!==this.currentFieldView.el.innerHTML&&this.currentFieldView.saveField(),e&&e instanceof Object&&e.resolve()},fieldRemoved:function(){this.currentFieldView&&(this.form.get("fields").get(this.currentFieldView.model)||this.render())},destroy:function(){wp.ccf.dispatcher.off("saveField",this.save),wp.ccf.dispatcher.off("mainViewChange",this.save),this.unbind()},render:function(e){var t={};if(e){var l=e.get("type");this.currentFieldView&&(this.currentFieldView.saveField(),this.currentFieldView.destroy&&this.currentFieldView.destroy()),this.currentFieldView=new wp.ccf.views.Fields[l]({model:e}),this.currentFieldView.render(),this.el.innerHTML="",this.el.appendChild(this.currentFieldView.el);var s=this.form.get("fields");this.listenTo(s,"remove",this.fieldRemoved)}else{var c=i.template(document.getElementById("ccf-empty-field-template").innerHTML);this.el.innerHTML=c(t)}return wp.ccf.dispatcher.on("saveField",this.save,this),wp.ccf.dispatcher.on("mainViewChange",this.save,this),this}}),wp.ccf.views.FieldRowPlaceholder=wp.ccf.views.FieldRowPlaceholder||t.View.extend({template:i.template(document.getElementById("ccf-field-row-template").innerHTML),tagName:"div",className:"field",initialize:function(e){this.type=e.type},render:function(){return this.el.innerHTML=this.template({label:l.allLabels[this.type]}),this.el.setAttribute("data-field-type",this.type),this.el.className+=" "+this.type,this}}),wp.ccf.views.FieldRow=wp.ccf.views.FieldRow||t.View.extend({template:i.template(document.getElementById("ccf-field-row-template").innerHTML),tagName:"div",className:"field",events:{"click .delete":"triggerDelete","click h4":"triggerEdit",sorted:"triggerUpdateSort"},initialize:function(e){i.bindAll(this,"triggerDelete"),this.form=e.form,this.listenTo(this.model,"change",this.handleChange,this),this.listenTo(this.model,"requirementsNotMet",this.requirementsNotMet,this),this.listenTo(this.model,"requirementsMet",this.requirementsMet,this),this.listenTo(this.model,"duplicateSlug",this.duplicateSlug,this),this.model.attributes.choices&&this.listenTo(this.model.attributes.choices,"change",this.handleChange,this)},duplicateSlug:function(){this.requirementsMet(),this.el.className+=" field-duplicate-slug"},requirementsNotMet:function(){this.requirementsMet(),this.el.className+=" field-incomplete"},requirementsMet:function(){this.el.className=this.el.className.replace(/(field-incomplete|field-duplicate-slug)/i,"")},triggerUpdateSort:function(e,t){this.form.get("fields").remove(this.model),this.form.get("fields").add(this.model,{at:t})},handleChange:function(){this.render()},triggerDelete:function(e){e.stopPropagation(),this.form.get("fields").remove(this.model),this.undelegateEvents(),this.remove()},triggerEdit:function(){var e=this.el.parentNode.querySelectorAll(".ccf-editing");i.each(e,function(e){e.className=e.className.replace(/ccf-editing/i,"")}),this.el.className=this.el.className.replace(/ccf-editing/i,"")+" ccf-editing",wp.ccf.dispatcher.trigger("openEditField",this.model)},render:function(e){this.el.innerHTML=this.template({label:l.allLabels[this.model.get("type")]}),this.el.setAttribute("data-field-type",this.model.get("type"));var t=RegExp(" "+this.model.get("type"),"i");this.el.className=this.el.className.replace(t,"")+" "+this.model.get("type"),e&&(this.el.className=this.el.className.replace(/ instantiated/i,"")+" instantiated");var s=document.getElementById("ccf-"+this.model.get("type")+"-preview-template");if(s){var c=this.el.querySelectorAll(".preview")[0];c.style.display="block",c.innerHTML=i.template(s.innerHTML)({field:this.model.toJSON()})}return this}}),wp.ccf.views.FormSettings=wp.ccf.views.FormSettings||t.View.extend({template:i.template(document.getElementById("ccf-form-settings-template").innerHTML),events:{"blur input":"save","change select":"save","change select.form-completion-action-type":"toggleCompletionFields","change select.form-send-email-notifications":"toggleNotificationFields"},initialize:function(e){this.model=e.form},destroy:function(){wp.ccf.dispatcher.off("saveFormSettings",this.save),wp.ccf.dispatcher.off("mainViewChange",this.save)},toggleCompletionFields:function(){var e=this.el.querySelectorAll(".form-completion-action-type")[0].value,t=this.el.querySelectorAll(".completion-message")[0],i=this.el.querySelectorAll(".completion-redirect-url")[0];"text"===e?(t.style.display="block",i.style.display="none"):(t.style.display="none",i.style.display="block")},toggleNotificationFields:function(){var e=this.el.querySelectorAll(".form-send-email-notifications")[0].value,t=this.el.querySelectorAll(".email-notification-addresses")[0];t.style.display=parseInt(e)?"block":"none"},save:function(e){if(""!==this.el.innerHTML){var t=this.el.querySelectorAll(".form-title")[0].value;this.model.set("title",t);var i=this.el.querySelectorAll(".form-description")[0].value;this.model.set("description",i);var l=this.el.querySelectorAll(".form-button-text")[0].value;this.model.set("buttonText",l);var s=this.el.querySelectorAll(".form-completion-message")[0].value;this.model.set("completionMessage",s);var c=this.el.querySelectorAll(".form-completion-redirect-url")[0].value;this.model.set("completionRedirectUrl",c);var n=this.el.querySelectorAll(".form-completion-action-type")[0].value;this.model.set("completionActionType",n);var r=this.el.querySelectorAll(".form-send-email-notifications")[0].value;this.model.set("sendEmailNotifications",parseInt(r)?!0:!1);var o=this.el.querySelectorAll(".form-email-notification-addresses")[0].value;this.model.set("emailNotificationAddresses",o),e!==void 0&&e.promise!==void 0&&e.resolve()}},render:function(){var e={form:this.model.toJSON()};return this.el.innerHTML=this.template(e),this.toggleCompletionFields(),this.toggleNotificationFields(),wp.ccf.dispatcher.on("saveFormSettings",this.save,this),wp.ccf.dispatcher.on("mainViewChange",this.save,this),this}}),wp.ccf.views.FormPane=wp.ccf.views.FormPane||t.View.extend(i.defaults({template:i.template(document.getElementById("ccf-form-pane-template").innerHTML),subViews:{"field-sidebar":wp.ccf.views.FieldSidebar,"form-settings":wp.ccf.views.FormSettings},events:{"click .save-button":"sync","click h2":"accordionClick","click .insert-form-button":"insertForm"},initialize:function(){wp.ccf.dispatcher.on("openEditField",this.openEditField,this)},insertForm:function(){wp.ccf.utils.insertFormShortcode(this.model),wp.ccf.toggle()},accordionClick:function(t){var l=e(t.currentTarget).parents(".accordion-container")[0],s=l.querySelectorAll(".accordion-section");t.currentTarget.parentNode.className.match(/expanded/i)?t.currentTarget.parentNode.className=t.currentTarget.parentNode.className.replace(/expanded/i,""):t.currentTarget.parentNode.className+=" expanded",i.each(s,function(e){e!=t.currentTarget.parentNode&&e.className.match(/expanded/i)&&(e.className=e.className.replace(/expanded/i,""))})},openEditField:function(e){this.renderedSubViews["field-sidebar"].render(e).el.style.display="block"},disable:function(){this.el.querySelectorAll(".save-button")[0].setAttribute("disabled","disabled"),this.el.querySelectorAll(".disabled-overlay")[0].style.display="block"},enable:function(){this.el.querySelectorAll(".save-button")[0].removeAttribute("disabled"),this.el.querySelectorAll(".disabled-overlay")[0].style.display="none"},sync:function(){var t=this,i=e(this.el.querySelectorAll(".spinner")[0]);i.fadeIn(),t.disable();var s=e.Deferred(),c=e.Deferred();wp.ccf.dispatcher.trigger("saveFormSettings",s),wp.ccf.dispatcher.trigger("saveField",c),e.when(s,c).then(function(){var e=t.model.get("fields"),s=!0,c={};e.each(function(e){var t=e.get("slug");e.hasRequiredAttributes()?t&&!t.match(/^[a-zA-Z0-9\-_]+$/)?(s=!1,e.trigger("requirementsNotMet")):c[e.get("slug")]!==void 0?(s=!1,e.trigger("duplicateSlug"),c[e.get("slug")].trigger("duplicateSlug")):e.trigger("requirementsMet"):(s=!1,e.trigger("requirementsNotMet")),e.get("slug")&&(c[e.get("slug")]=e)}),s?t.model.save({},{context:"edit"}).done(function(){l.single&&!l.postId&&(window.location=l.adminUrl+"post.php?post="+t.model.get("ID")+"&action=edit#ccf-form/"+t.model.get("ID"))}).complete(function(){i.fadeOut(),t.enable(),wp.ccf.dispatcher.trigger("saveFormComplete",t.model)}):(t.enable(),i.fadeOut())})},enableDisableInsert:function(){var e=this.el.querySelectorAll(".insert-form-button")[0];this.model.get("ID")?e.removeAttribute("disabled"):e.setAttribute("disabled","disabled")},render:function(t){var s=this;s.model=t?t:new wp.ccf.models.Form,this.listenTo(s.model,"change",this.enableDisableInsert,this);var c={labels:l.fieldLabels,form:s.model.toJSON()};window.form=s.model,s.el.innerHTML=this.template(c);var n=s.el.querySelectorAll(".fields")[0];i.each(l.fieldLabels,function(e,t){n.appendChild(new wp.ccf.views.FieldRowPlaceholder({type:t}).render().el)});var r=s.el.querySelectorAll(".structure-fields")[0];i.each(l.structureFieldLabels,function(e,t){r.appendChild(new wp.ccf.views.FieldRowPlaceholder({type:t}).render().el)});var o=s.el.querySelectorAll(".special-fields")[0];i.each(l.specialFieldLabels,function(e,t){o.appendChild(new wp.ccf.views.FieldRowPlaceholder({type:t}).render().el)}),e(s.el.querySelectorAll(".left-sidebar")[0].querySelectorAll(".field")).draggable({cursor:"move",zIndex:160001,scroll:!1,containment:".ccf-form-pane",appendTo:".ccf-main-modal",snap:!0,connectToSortable:".form-content",helper:function(t){var i=e(t.currentTarget),l=e('<div class="field" data-field-type="'+i.attr("data-field-type")+'"><h4>'+i.find(".label").html()+"</h4></div>");return l.css({width:i.width(),height:i.height()})}});var a=s.model.get("fields"),d=s.el.querySelectorAll(".form-content")[0];
|
2 |
+
return a.length>=1&&(d.innerHTML="",a.each(function(e){var t=new wp.ccf.views.FieldRow({model:e,form:s.model}).render(!0).el;d.appendChild(t)})),e(d).sortable({axis:"y",handle:"h4",stop:function(e,t){if(!t.item.hasClass("instantiated")){var i=t.item.attr("data-field-type"),l={};if(wp.ccf.models.Fields[i].prototype.defaults().slug!==void 0){var c=s.model.get("fields").where({type:i}).length+1;l.slug=i+"-"+c}var n=new wp.ccf.models.Fields[i](l),r=s.model.get("fields");r.add(n),new wp.ccf.views.FieldRow({model:n,el:t.item,form:s.model}).render(!0),t.item.attr("style","")}t.item.trigger("sorted",t.item.index())}}),s.initRenderSubViews(!0,!0,{form:s.model}),s.enableDisableInsert(),s}},wp.ccf.mixins.subViewable)),wp.ccf.views.ExistingFormTableRow=wp.ccf.views.ExistingFormTableRow||t.View.extend({tagName:"tr",template:i.template(document.getElementById("ccf-existing-form-table-row-template").innerHTML),events:{"click .edit":"triggerMainViewChange","click .delete":"triggerDelete","click .insert-form-button":"insertForm"},initialize:function(e){this.parent=e.parent},insertForm:function(){wp.ccf.utils.insertFormShortcode(this.model),wp.ccf.toggle()},triggerMainViewChange:function(){wp.ccf.switchToForm(this.model)},triggerDelete:function(){var e,t=this,i=t.parent.collection.state.currentPage;t.model.destroy().done(function(){e=i,e===t.parent.collection.state.totalPages&&e-1===(t.parent.collection.state.totalObjects-1)/l.postsPerPage&&e--,t.parent.showPage(e).done(function(){t.parent.renderPagination()})})},render:function(){return this.$el.html(this.template({form:this.model.toJSON(),utils:{getPrettyPostDate:wp.ccf.utils.getPrettyPostDate}})),this}}),wp.ccf.views.EmptyFormTableRow=wp.ccf.views.EmptyFormTableRow||t.View.extend({tagName:"tr",template:i.template(document.getElementById("ccf-empty-form-table-row-template").innerHTML),render:function(){return this.$el.html(this.template()),this}}),wp.ccf.views.ExistingFormTable=wp.ccf.views.ExistingFormTable||t.View.extend({template:i.template(document.getElementById("ccf-existing-form-table-template").innerHTML),initialize:function(){this.parent=arguments.parent,this.collection=new wp.ccf.collections.Forms,wp.ccf.dispatcher.on("changeFormTablePage",this.showPage,this),wp.ccf.dispatcher.on("saveFormComplete",this.render,this)},showPage:function(e){var t=this,i=this.collection.fetch({data:{page:e}});return i.done(function(){var e=t.el.querySelectorAll(".rows")[0],i=document.createElement("tbody");i.className="rows",t.collection.length>=1?t.collection.each(function(e){var l=new wp.ccf.views.ExistingFormTableRow({model:e,parent:t}).render();i.appendChild(l.el)},t):i.appendChild((new wp.ccf.views.EmptyFormTableRow).render().el),e.parentNode.replaceChild(i,e)}),i},renderPagination:function(){var e=this.el.querySelectorAll(".ccf-pagination")[0];e.innerHTML="",this.collection.state.totalPages>1&&e.appendChild(new wp.ccf.views.Pagination({parent:this}).render(this.collection.state.totalPages,this.collection.state.currentPage).el)},render:function(){var e=this;return this.el.innerHTML=this.template(),this.el.querySelectorAll(".ccf-pagination")[0],this.showPage(1).done(function(){e.renderPagination()}),this}}),wp.ccf.views.ExistingFormPane=wp.ccf.views.ExistingFormPane||t.View.extend(i.defaults({template:i.template(document.getElementById("ccf-existing-form-pane-template").innerHTML),subViews:{"existing-form-table":wp.ccf.views.ExistingFormTable},render:function(){return this.rendered?this:(this.rendered=!0,this.el.innerHTML=this.template(),this.initRenderSubViews(!0),this)}},wp.ccf.mixins.subViewable)),wp.ccf.views.MainModal=wp.ccf.views.MainModal||t.View.extend(i.defaults({tagName:"div",className:"ccf-main-modal",template:i.template(document.getElementById("ccf-main-modal-template").innerHTML),events:{"click .close-icon":"hide","click .main-menu a":"menuClick"},subViews:{"form-pane":wp.ccf.views.FormPane},initialize:function(){l.single||(this.subViews["existing-form-pane"]=wp.ccf.views.ExistingFormPane),wp.ccf.dispatcher.on("mainViewChange",this.toggleView,this)},toggleView:function(e){this.showView(e,wp.ccf.currentForm);var t=e;"form-pane"===e&&wp.ccf.currentForm&&(t="existing-form-pane");var l=this.el.querySelectorAll(".menu-item");i.each(l,function(e){var i=e.getAttribute("data-view");e.className=i===t?e.className.replace("selected","")+" selected":e.className.replace("selected","")})},menuClick:function(e){var t=e.target.getAttribute("data-view");"form-pane"===t&&(wp.ccf.currentForm=null),wp.ccf.dispatcher.trigger("mainViewChange",t),e.preventDefault()},render:function(e){return e=e||!1,this.overlay(),this.el.innerHTML=this.template({single:e}),this.initRenderSubViews(),this.showView("form-pane",wp.ccf.currentForm,!0),this},overlay:function(){return this.overlayEl===void 0&&(this.overlayEl=document.createElement("div"),this.overlayEl.className="ccf-main-modal-overlay",document.body.appendChild(this.overlayEl)),this.overlayEl},remove:function(){return document.body.removeChild(this.overlay()),this},show:function(){e(this.overlay()).show(),this.$el.show()},hide:function(){e(this.overlay()).hide(),this.$el.hide()}},wp.ccf.mixins.subViewable)),wp.ccf.views.SubmissionRow=wp.ccf.views.SubmissionRow||t.View.extend({tagName:"tr",template:i.template(document.getElementById("ccf-submission-row-template").innerHTML),events:{"click .view":"view","click .delete":"delete"},initialize:function(e){this.parent=e.parent},"delete":function(){var e,t=this,i=t.parent.collection.state.currentPage;t.model.destroy().done(function(){e=i,e===t.parent.collection.state.totalPages&&e-1===(t.parent.collection.state.totalObjects-1)/l.postsPerPage&&e--,t.parent.showPage(e).done(function(){t.parent.renderPagination()})})},view:function(e){var t=e.currentTarget.getAttribute("data-submission-id"),i=e.currentTarget.getAttribute("data-submission-date");tb_show(l.thickboxTitle+" - "+wp.ccf.utils.getPrettyPostDate(i),"#TB_inline?height=500&width=700&inlineId=ccf-submission-content-"+parseInt(t),null)},render:function(){return this.$el.html(this.template({submission:this.model.toJSON(),currentColumns:this.parent.columns,columns:wp.ccf.currentForm.getFieldSlugs(!0),utils:{getPrettyPostDate:wp.ccf.utils.getPrettyPostDate,wordChop:wp.ccf.utils.wordChop,isFieldDate:wp.ccf.utils.isFieldDate,isFieldName:wp.ccf.utils.isFieldName,isFieldAddress:wp.ccf.utils.isFieldAddress,getPrettyFieldDate:wp.ccf.utils.getPrettyFieldDate,getPrettyFieldAddress:wp.ccf.utils.getPrettyFieldAddress,getPrettyFieldName:wp.ccf.utils.getPrettyFieldName}})),this}}),wp.ccf.views.SubmissionsTable=wp.ccf.views.SubmissionsTable||t.View.extend({template:i.template(document.getElementById("ccf-submission-table-template").innerHTML),events:{"click .prev:not(.disabled)":"previousPage","click .next:not(.disabled)":"nextPage","click .first:not(.disabled)":"firstPage","click .last:not(.disabled)":"lastPage"},initialize:function(){this.collection=new wp.ccf.collections.Submissions({},{formId:l.postId}),wp.ccf.dispatcher.on("submissionTableRebuild",this.render,this)},showPage:function(e){var t=this,i=this.collection.fetch({data:{page:e}});return i.done(function(){var e=t.el.querySelectorAll(".submission-rows")[0],i=document.createElement("tbody");i.className="submission-rows",t.collection.length>=1?t.collection.each(function(e){var l=new wp.ccf.views.SubmissionRow({model:e,parent:t}).render();i.appendChild(l.el)},t):i.appendChild(new wp.ccf.views.EmptySubmissionTableRow({parent:t}).render(wp.ccf.currentForm.getFieldSlugs(!0).concat("date")).el),e.parentNode.replaceChild(i,e)}),i},renderPagination:function(){var e=this.el.querySelectorAll(".ccf-pagination")[0];e.innerHTML="",this.collection.state.totalPages>1&&e.appendChild(new wp.ccf.views.Pagination({parent:this}).render(this.collection.state.totalPages,this.collection.state.currentPage).el)},render:function(e){var t=this;return t.columns=e?e:wp.ccf.currentForm.getFieldSlugs(!0).slice(0,4).concat("date"),1>t.columns.length?t.el.innerHTML="":(t.el.innerHTML=t.template({columns:t.columns}),t.el.querySelectorAll(".ccf-pagination")[0],t.showPage(1).done(function(){t.renderPagination()})),t}}),wp.ccf.views.Pagination=wp.ccf.views.Pagination||t.View.extend({template:i.template(document.getElementById("ccf-pagination-template").innerHTML),events:{"click .prev:not(.disabled)":"previousPage","click .next:not(.disabled)":"nextPage","click .first:not(.disabled)":"firstPage","click .last:not(.disabled)":"lastPage"},initialize:function(e){this.parent=e.parent},previousPage:function(){var e=this;e.parent.showPage(e.parent.collection.state.currentPage-1).done(function(){e.render()})},nextPage:function(){var e=this;e.parent.showPage(e.parent.collection.state.currentPage+1).done(function(){e.render()})},firstPage:function(){var e=this;e.parent.showPage(1).done(function(){e.render()})},lastPage:function(){var e=this;e.parent.showPage(e.parent.collection.state.totalPages).done(function(){e.render()})},render:function(){return this.el.innerHTML=this.template({totalPages:this.parent.collection.state.totalPages,currentPage:this.parent.collection.state.currentPage,totalObjects:this.parent.collection.state.totalObjects}),this}}),wp.ccf.views.EmptySubmissionTableRow=wp.ccf.views.EmptySubmissionTableRow||t.View.extend({tagName:"tr",template:i.template(document.getElementById("ccf-no-submissions-row-template").innerHTML),initialize:function(e){this.parent=e.parent},render:function(){return this.el.innerHTML=this.template({columns:this.parent.columns}),this}}),wp.ccf.views.SubmissionColumnController=wp.ccf.views.SubmissionColumnController||t.View.extend({template:i.template(document.getElementById("ccf-submissions-controller-template").innerHTML),events:{"click input[type=checkbox]":"triggerTableRebuild"},render:function(){this.el.innerHTML=this.template({columns:wp.ccf.currentForm.getFieldSlugs(!0).concat("date")})},triggerTableRebuild:function(){var e=[],t=document.querySelectorAll(".submission-column-checkbox");if(t.length>=1)for(var i=0;t.length>i;i++)t[i].checked&&e.push(t[i].value);wp.ccf.dispatcher.trigger("submissionTableRebuild",e)}})}(jQuery,Backbone,_,ccfSettings),function(e,t){"use strict";wp.ccf.router=wp.ccf.router||t.Router.extend({routes:{"ccf-form":"open","ccf-form/:formId":"open"},open:function(e){wp.ccf.show(e)}})}(jQuery,Backbone,_,ccfSettings),function(e,t,i,l){"use strict";wp.ccf=i.defaults(wp.ccf,{forms:new wp.ccf.collections.Forms,currentForm:null,_currentFormDeferred:null,dispatcher:{},show:function(e){return this.switchToForm(e),this.instance.show(),this.instance},switchToForm:function(e){var t=this;if(+e===parseInt(e)){var i=parseInt(e);if(e=t.forms.findWhere({ID:parseInt(i)}),!e){var l;return t.forms.formsFetching[i]!==void 0?(l=t.forms.formsFetching[i],e=null):(e=new wp.ccf.models.Form({ID:i}),l=e.fetch(),t.forms.formsFetching[i]=l),l.done(function(){e?(delete t.forms.formsFetching[i],t.forms.add(e)):e=t.forms.findWhere({ID:i}),t.currentForm=e,wp.ccf.dispatcher.trigger("mainViewChange","form-pane")}),l}t.currentForm=e,wp.ccf.dispatcher.trigger("mainViewChange","form-pane")}else t.currentForm=e,wp.ccf.dispatcher.trigger("mainViewChange","form-pane");return!0},hide:function(){return this.instance.hide(),this.instance},toggle:function(e){return this.switchToForm(e),this.instance.$el.is(":visible")?this.instance.hide():this.instance.show(),this.instance},createSubmissionsTable:function(e){var t=document.querySelectorAll(".ccf-submission-column-controller"),i=new wp.ccf.views.SubmissionsTable({el:e});i.render(),t&&new wp.ccf.views.SubmissionColumnController({el:t}).render()},_setupMainModal:function(e){return this.instance=(new wp.ccf.views.MainModal).render(e),document.getElementsByTagName("body")[0].appendChild(this.instance.el),t.history.start(),this.instance},createManager:function(){var s=this;i.extend(this.dispatcher,t.Events),new wp.ccf.router;var c=!1,n=document.querySelectorAll(".ccf-open-form-manager")[0];if(l.single)if(c=!0,l.postId){var r=parseInt(l.postId);if(s.forms.formsFetching[r]===void 0){var o=new wp.ccf.models.Form({ID:r}),a=o.fetch();s.forms.formsFetching[r]=a,s._currentFormDeferred=a,a.done(function(){delete s.forms.formsFetching[r],s.forms.add(o),s.currentForm=o})}else s._currentFormDeferred=s.forms.formsFetching[r],s._currentFormDeferred.done(function(){s.currentForm=s.forms.findWhere({ID:r})});e.when(s._currentFormDeferred).then(function(){s._setupMainModal(!0),n.style.display="inline-block";var e=document.getElementById("ccf-submissions");if(e){var t=e.querySelectorAll(".inside")[0],i=document.createElement("div");i.className="ccf-submission-settings",i.setAttribute("data-icon","");var l=document.getElementById("show-settings-link");i.onclick=function(){l.click()},e.insertBefore(i,e.firstChild.nextSibling.nextSibling),wp.ccf.createSubmissionsTable(t)}})}else s._setupMainModal(!0),n.style.display="inline-block";else s._setupMainModal();var d=function(e){e=e||window.event;var t=e.currentTarget?e.currentTarget:e.srcElement,i=t.getAttribute("data-form-id");wp.ccf.toggle(i)};n.addEventListener?n.addEventListener("click",d,!1):n.attachEvent("onclick",d)}}),wp.ccf.createManager()}(jQuery,Backbone,_,ccfSettings);
|
classes/class-ccf-api.php
CHANGED
@@ -326,6 +326,16 @@ class CCF_API extends WP_JSON_Posts {
|
|
326 |
unset( $data['author'] );
|
327 |
}
|
328 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
329 |
$result = $this->insert_post( $data );
|
330 |
if ( $result instanceof WP_Error ) {
|
331 |
return $result;
|
@@ -582,6 +592,16 @@ class CCF_API extends WP_JSON_Posts {
|
|
582 |
unset( $data['author'] );
|
583 |
}
|
584 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
585 |
$result = $this->insert_post( $data );
|
586 |
if ( $result instanceof WP_Error ) {
|
587 |
return $result;
|
326 |
unset( $data['author'] );
|
327 |
}
|
328 |
|
329 |
+
// @todo: remove hack. Needed for broken API
|
330 |
+
if ( isset( $data['date'] ) ) {
|
331 |
+
unset( $data['date'] );
|
332 |
+
}
|
333 |
+
|
334 |
+
// @todo: remove hack. Needed for broken API
|
335 |
+
if ( isset( $data['date_gmt'] ) ) {
|
336 |
+
unset( $data['date_gmt'] );
|
337 |
+
}
|
338 |
+
|
339 |
$result = $this->insert_post( $data );
|
340 |
if ( $result instanceof WP_Error ) {
|
341 |
return $result;
|
592 |
unset( $data['author'] );
|
593 |
}
|
594 |
|
595 |
+
// @todo: remove hack. Needed for broken API
|
596 |
+
if ( isset( $data['date'] ) ) {
|
597 |
+
unset( $data['date'] );
|
598 |
+
}
|
599 |
+
|
600 |
+
// @todo: remove hack. Needed for broken API
|
601 |
+
if ( isset( $data['date_gmt'] ) ) {
|
602 |
+
unset( $data['date_gmt'] );
|
603 |
+
}
|
604 |
+
|
605 |
$result = $this->insert_post( $data );
|
606 |
if ( $result instanceof WP_Error ) {
|
607 |
return $result;
|
classes/class-ccf-custom-contact-forms.php
CHANGED
@@ -17,7 +17,7 @@ class CCF_Custom_Contact_Forms {
|
|
17 |
public function setup() {
|
18 |
add_action( 'plugins_loaded', array( $this, 'manually_load_api' ), 100 );
|
19 |
add_action( 'plugins_loaded', array( $this, 'load_textdomain' ) );
|
20 |
-
add_filter( '
|
21 |
add_action( 'admin_notices', array( $this, 'permalink_warning' ) );
|
22 |
add_action( 'admin_init', array( $this, 'flush_rewrites' ), 10000 );
|
23 |
}
|
@@ -50,23 +50,21 @@ class CCF_Custom_Contact_Forms {
|
|
50 |
}
|
51 |
|
52 |
/**
|
53 |
-
* Add forms and form submissions link to
|
54 |
*
|
55 |
-
* @param array $
|
56 |
* @param string $plugin_file
|
57 |
-
* @
|
58 |
-
* @param string $status
|
59 |
-
* @since 6.0
|
60 |
* @return array
|
61 |
*/
|
62 |
-
public function
|
63 |
-
$
|
64 |
|
65 |
-
if ( '
|
66 |
-
$
|
67 |
}
|
68 |
|
69 |
-
return array_merge( $
|
70 |
}
|
71 |
|
72 |
/**
|
17 |
public function setup() {
|
18 |
add_action( 'plugins_loaded', array( $this, 'manually_load_api' ), 100 );
|
19 |
add_action( 'plugins_loaded', array( $this, 'load_textdomain' ) );
|
20 |
+
add_filter( 'plugin_action_links', array( $this, 'filter_plugin_action_links' ), 10, 2 );
|
21 |
add_action( 'admin_notices', array( $this, 'permalink_warning' ) );
|
22 |
add_action( 'admin_init', array( $this, 'flush_rewrites' ), 10000 );
|
23 |
}
|
50 |
}
|
51 |
|
52 |
/**
|
53 |
+
* Add forms and form submissions link to plugin actions
|
54 |
*
|
55 |
+
* @param array $plugin_actions
|
56 |
* @param string $plugin_file
|
57 |
+
* @since 6.1.4
|
|
|
|
|
58 |
* @return array
|
59 |
*/
|
60 |
+
public function filter_plugin_action_links( $plugin_actions, $plugin_file ) {
|
61 |
+
$new_actions = array();
|
62 |
|
63 |
+
if ( basename( plugin_dir_path( dirname( __FILE__ ) ) ) . '/custom-contact-forms.php' === $plugin_file ) {
|
64 |
+
$new_actions['ccf_forms'] = sprintf( __( '<a href="%s">Forms and Submissions</a>', 'custom-contact-forms' ), esc_url( admin_url( 'edit.php?post_type=ccf_form' ) ) );
|
65 |
}
|
66 |
|
67 |
+
return array_merge( $new_actions, $plugin_actions );
|
68 |
}
|
69 |
|
70 |
/**
|
classes/class-ccf-form-cpt.php
CHANGED
@@ -242,7 +242,7 @@ class CCF_Form_CPT {
|
|
242 |
<h1>
|
243 |
<span class="ccf-form-cpt-title">
|
244 |
<?php if ( ! empty( $title ) ) : ?>
|
245 |
-
<?php echo $title; ?>
|
246 |
<?php else: ?>
|
247 |
<?php esc_html_e( '(No title)', 'custom-contact-forms' ); ?>
|
248 |
<?php endif; ?>
|
242 |
<h1>
|
243 |
<span class="ccf-form-cpt-title">
|
244 |
<?php if ( ! empty( $title ) ) : ?>
|
245 |
+
<?php echo esc_html( $title ); ?>
|
246 |
<?php else: ?>
|
247 |
<?php esc_html_e( '(No title)', 'custom-contact-forms' ); ?>
|
248 |
<?php endif; ?>
|
classes/class-ccf-form-handler.php
CHANGED
@@ -563,12 +563,14 @@ class CCF_Form_Handler {
|
|
563 |
<?php
|
564 |
}
|
565 |
|
566 |
-
|
567 |
-
|
568 |
-
|
569 |
-
|
570 |
-
|
571 |
-
|
|
|
|
|
572 |
|
573 |
$message .= ob_get_clean();
|
574 |
|
563 |
<?php
|
564 |
}
|
565 |
|
566 |
+
if ( ! empty( $_POST['form_page'] ) ) {
|
567 |
+
?>
|
568 |
+
<div>
|
569 |
+
<?php esc_html_e( 'Form submitted from', 'custom-contact-forms' ); ?>:
|
570 |
+
<?php echo esc_url( $_POST['form_page'] ); ?>
|
571 |
+
</div>
|
572 |
+
<?php
|
573 |
+
}
|
574 |
|
575 |
$message .= ob_get_clean();
|
576 |
|
classes/class-ccf-form-manager.php
CHANGED
@@ -68,7 +68,7 @@ class CCF_Form_Manager {
|
|
68 |
<div class="right">
|
69 |
<a aria-hidden="true" data-icon="" class="delete"></a>
|
70 |
</div>
|
71 |
-
<span class="label"
|
72 |
</h4>
|
73 |
|
74 |
<div class="preview"></div>
|
@@ -118,17 +118,17 @@ class CCF_Form_Manager {
|
|
118 |
<div class="section-content">
|
119 |
<p>
|
120 |
<label for="ccf_form_title"><?php esc_html_e( 'Form Title:', 'custom-contact-forms' ); ?></label>
|
121 |
-
<input class="widefat form-title" id="ccf_form_title" name="title" type="text" value="
|
122 |
</p>
|
123 |
|
124 |
<p>
|
125 |
<label for="ccf_form_description"><?php esc_html_e( 'Form Description:', 'custom-contact-forms' ); ?></label>
|
126 |
-
<textarea class="widefat form-description" id="ccf_form_description" name="description"
|
127 |
</p>
|
128 |
|
129 |
<p>
|
130 |
<label for="ccf_form_button_text"><?php esc_html_e( 'Button Text:', 'custom-contact-forms' ); ?></label>
|
131 |
-
<input class="widefat form-button-text" id="ccf_form_button_text" name="text" type="text" value="
|
132 |
</p>
|
133 |
|
134 |
<p>
|
@@ -141,11 +141,11 @@ class CCF_Form_Manager {
|
|
141 |
</p>
|
142 |
<p class="completion-redirect-url">
|
143 |
<label for="ccf_form_completion_redirect_url"><?php esc_html_e( 'Redirect URL:', 'custom-contact-forms' ); ?></label>
|
144 |
-
<input class="widefat form-completion-redirect-url" id="ccf_form_completion_redirect_url" name="text" type="text" value="
|
145 |
</p>
|
146 |
<p class="completion-message">
|
147 |
<label for="ccf_form_completion_message"><?php esc_html_e( 'Completion Message:', 'custom-contact-forms' ); ?></label>
|
148 |
-
<textarea class="widefat form-completion-message" id="ccf_form_completion_message" name="completion-message"
|
149 |
</p>
|
150 |
|
151 |
<p>
|
@@ -158,7 +158,7 @@ class CCF_Form_Manager {
|
|
158 |
</p>
|
159 |
<p class="email-notification-addresses">
|
160 |
<label for="ccf_form_email_notification_addresses"><?php esc_html_e( 'Email Addresses (comma separated):', 'custom-contact-forms' ); ?></label>
|
161 |
-
<input class="widefat form-email-notification-addresses" id="ccf_form_email_notification_addresses" name="email-notification-addresses" value="
|
162 |
</p>
|
163 |
</div>
|
164 |
</script>
|
@@ -170,12 +170,12 @@ class CCF_Form_Manager {
|
|
170 |
</script>
|
171 |
|
172 |
<script type="text/html" id="ccf-pagination-template">
|
173 |
-
<span class="num-items"
|
174 |
|
175 |
<a class="first <% if ( currentPage <= 1 ) { %>disabled<% } %>">«</a>
|
176 |
<a class="prev <% if ( currentPage <= 1 ) { %>disabled<% } %>">‹</a>
|
177 |
|
178 |
-
<span class="pages"
|
179 |
|
180 |
<a class="next <% if ( currentPage >= totalPages ) { %>disabled<% } %>">›</a>
|
181 |
<a class="last <% if ( currentPage >= totalPages ) { %>disabled<% } %>">»</a>
|
@@ -223,15 +223,15 @@ class CCF_Form_Manager {
|
|
223 |
<div class="section-content">
|
224 |
<div>
|
225 |
<label for="ccf-field-slug"><span class="required">*</span> <?php esc_html_e( 'Internal Slug', 'custom-contact-forms' ); ?> (a-z, 0-9, -, _):</label>
|
226 |
-
<input id="ccf-field-slug" class="field-slug" type="text" value="
|
227 |
</div>
|
228 |
<div>
|
229 |
<label for="ccf-field-label"><?php esc_html_e( 'Label:', 'custom-contact-forms' ); ?></label>
|
230 |
-
<input id="ccf-field-label" class="field-label" type="text" value="
|
231 |
</div>
|
232 |
<div>
|
233 |
<label for="ccf-field-value"><?php esc_html_e( 'Initial Value:', 'custom-contact-forms' ); ?></label>
|
234 |
-
<input id="ccf-field-value" class="field-value" type="text" value="
|
235 |
</div>
|
236 |
<div>
|
237 |
<label for="ccf-field-required"><?php esc_html_e( 'Required:', 'custom-contact-forms' ); ?></label>
|
@@ -247,11 +247,11 @@ class CCF_Form_Manager {
|
|
247 |
<div class="section-content">
|
248 |
<div>
|
249 |
<label for="ccf-field-class-name"><?php esc_html_e( 'Class Name:', 'custom-contact-forms' ); ?></label>
|
250 |
-
<input id="ccf-field-class-name" class="field-class-name" type="text" value="
|
251 |
</div>
|
252 |
<div>
|
253 |
<label for="ccf-field-placeholder"><?php esc_html_e( 'Placeholder Text:', 'custom-contact-forms' ); ?></label>
|
254 |
-
<input id="ccf-field-placeholder" class="field-placeholder" type="text" value="
|
255 |
</div>
|
256 |
</div>
|
257 |
</div>
|
@@ -263,15 +263,15 @@ class CCF_Form_Manager {
|
|
263 |
<div class="section-content">
|
264 |
<div>
|
265 |
<label for="ccf-field-slug"><span class="required">*</span> <?php esc_html_e( 'Internal Slug', 'custom-contact-forms' ); ?> (a-z, 0-9, -, _):</label>
|
266 |
-
<input id="ccf-field-slug" class="field-slug" type="text" value="
|
267 |
</div>
|
268 |
<div>
|
269 |
<label for="ccf-field-label"><?php esc_html_e( 'Label:', 'custom-contact-forms' ); ?></label>
|
270 |
-
<input id="ccf-field-label" class="field-label" type="text" value="
|
271 |
</div>
|
272 |
<div>
|
273 |
<label for="ccf-field-value"><?php esc_html_e( 'Initial Value:', 'custom-contact-forms' ); ?></label>
|
274 |
-
<input id="ccf-field-value" class="field-value" type="text" value="
|
275 |
</div>
|
276 |
<div>
|
277 |
<label for="ccf-field-required"><?php esc_html_e( 'Required:', 'custom-contact-forms' ); ?></label>
|
@@ -287,11 +287,11 @@ class CCF_Form_Manager {
|
|
287 |
<div class="section-content">
|
288 |
<div>
|
289 |
<label for="ccf-field-class-name"><?php esc_html_e( 'Class Name:', 'custom-contact-forms' ); ?></label>
|
290 |
-
<input id="ccf-field-class-name" class="field-class-name" type="text" value="
|
291 |
</div>
|
292 |
<div>
|
293 |
<label for="ccf-field-placeholder"><?php esc_html_e( 'Placeholder Text:', 'custom-contact-forms' ); ?></label>
|
294 |
-
<input id="ccf-field-placeholder" class="field-placeholder" type="text" value="
|
295 |
</div>
|
296 |
</div>
|
297 |
</div>
|
@@ -303,7 +303,7 @@ class CCF_Form_Manager {
|
|
303 |
<div class="section-content">
|
304 |
<div>
|
305 |
<label for="ccf-field-html"><?php esc_html_e( 'HTML Content:', 'custom-contact-forms' ); ?></label>
|
306 |
-
<textarea id="ccf-field-html" class="field-html"
|
307 |
</div>
|
308 |
</div>
|
309 |
</div>
|
@@ -312,7 +312,7 @@ class CCF_Form_Manager {
|
|
312 |
<div class="section-content">
|
313 |
<div>
|
314 |
<label for="ccf-field-class-name"><?php esc_html_e( 'Class Name:', 'custom-contact-forms' ); ?></label>
|
315 |
-
<input id="ccf-field-class-name" class="field-class-name" type="text" value="
|
316 |
</div>
|
317 |
</div>
|
318 |
</div>
|
@@ -324,11 +324,11 @@ class CCF_Form_Manager {
|
|
324 |
<div class="section-content">
|
325 |
<div>
|
326 |
<label for="ccf-field-heading"><?php esc_html_e( 'Heading:', 'custom-contact-forms' ); ?></label>
|
327 |
-
<input id="ccf-field-heading" class="field-heading" type="text" value="
|
328 |
</div>
|
329 |
<div>
|
330 |
<label for="ccf-field-subheading"><?php esc_html_e( 'Sub Heading:', 'custom-contact-forms' ); ?></label>
|
331 |
-
<textarea id="ccf-field-subheading" class="field-subheading" type="text"
|
332 |
</div>
|
333 |
</div>
|
334 |
</div>
|
@@ -337,7 +337,7 @@ class CCF_Form_Manager {
|
|
337 |
<div class="section-content">
|
338 |
<div>
|
339 |
<label for="ccf-field-class-name"><?php esc_html_e( 'Class Name:', 'custom-contact-forms' ); ?></label>
|
340 |
-
<input id="ccf-field-class-name" class="field-class-name" type="text" value="
|
341 |
</div>
|
342 |
</div>
|
343 |
</div>
|
@@ -349,15 +349,15 @@ class CCF_Form_Manager {
|
|
349 |
<div class="section-content">
|
350 |
<div>
|
351 |
<label for="ccf-field-slug"><span class="required">*</span> <?php esc_html_e( 'Internal Slug', 'custom-contact-forms' ); ?> (a-z, 0-9, -, _):</label>
|
352 |
-
<input id="ccf-field-slug" class="field-slug" type="text" value="
|
353 |
</div>
|
354 |
<div>
|
355 |
<label for="ccf-field-label"><?php esc_html_e( 'Label:', 'custom-contact-forms' ); ?></label>
|
356 |
-
<input id="ccf-field-label" class="field-label" type="text" value="
|
357 |
</div>
|
358 |
<div>
|
359 |
<label for="ccf-field-value"><?php esc_html_e( 'Initial Value:', 'custom-contact-forms' ); ?></label>
|
360 |
-
<input id="ccf-field-value" class="field-value" type="text" value="
|
361 |
</div>
|
362 |
<div>
|
363 |
<label for="ccf-field-required"><?php esc_html_e( 'Required:', 'custom-contact-forms' ); ?></label>
|
@@ -373,11 +373,11 @@ class CCF_Form_Manager {
|
|
373 |
<div class="section-content">
|
374 |
<div>
|
375 |
<label for="ccf-field-class-name"><?php esc_html_e( 'Class Name:', 'custom-contact-forms' ); ?></label>
|
376 |
-
<input id="ccf-field-class-name" class="field-class-name" type="text" value="
|
377 |
</div>
|
378 |
<div>
|
379 |
<label for="ccf-field-placeholder"><?php esc_html_e( 'Placeholder Text:', 'custom-contact-forms' ); ?></label>
|
380 |
-
<input id="ccf-field-placeholder" class="field-placeholder" type="text" value="
|
381 |
</div>
|
382 |
</div>
|
383 |
</div>
|
@@ -389,11 +389,11 @@ class CCF_Form_Manager {
|
|
389 |
<div class="section-content">
|
390 |
<div>
|
391 |
<label for="ccf-field-slug"><span class="required">*</span> <?php esc_html_e( 'Internal Slug (a-z, 0-9, -, _):', 'custom-contact-forms' ); ?></label>
|
392 |
-
<input id="ccf-field-slug" class="field-slug" type="text" value="
|
393 |
</div>
|
394 |
<div>
|
395 |
<label for="ccf-field-value"><?php esc_html_e( 'Initial Value:', 'custom-contact-forms' ); ?></label>
|
396 |
-
<input id="ccf-field-value" class="field-value" type="text" value="
|
397 |
</div>
|
398 |
</div>
|
399 |
</div>
|
@@ -402,7 +402,7 @@ class CCF_Form_Manager {
|
|
402 |
<div class="section-content">
|
403 |
<div>
|
404 |
<label for="ccf-field-class-name"><?php esc_html_e( 'Class Name:', 'custom-contact-forms' ); ?></label>
|
405 |
-
<input id="ccf-field-class-name" class="field-class-name" type="text" value="
|
406 |
</div>
|
407 |
</div>
|
408 |
</div>
|
@@ -414,11 +414,11 @@ class CCF_Form_Manager {
|
|
414 |
<div class="section-content">
|
415 |
<div>
|
416 |
<label for="ccf-field-slug"><span class="required">*</span> <?php esc_html_e( 'Internal Slug (a-z, 0-9, -, _):', 'custom-contact-forms' ); ?></label>
|
417 |
-
<input id="ccf-field-slug" class="field-slug" type="text" value="
|
418 |
</div>
|
419 |
<div>
|
420 |
<label for="ccf-field-label"><?php esc_html_e( 'Label:', 'custom-contact-forms' ); ?></label>
|
421 |
-
<input id="ccf-field-label" class="field-label" type="text" value="
|
422 |
</div>
|
423 |
<div>
|
424 |
<label for="ccf-field-required"><?php esc_html_e( 'Required:', 'custom-contact-forms' ); ?></label>
|
@@ -434,7 +434,7 @@ class CCF_Form_Manager {
|
|
434 |
<div class="section-content">
|
435 |
<div>
|
436 |
<label for="ccf-field-class-name"><?php esc_html_e( 'Class Name:', 'custom-contact-forms' ); ?></label>
|
437 |
-
<input id="ccf-field-class-name" class="field-class-name" type="text" value="
|
438 |
</div>
|
439 |
</div>
|
440 |
</div>
|
@@ -446,16 +446,16 @@ class CCF_Form_Manager {
|
|
446 |
<div class="section-content">
|
447 |
<div>
|
448 |
<label for="ccf-field-slug"><span class="required">*</span> <?php esc_html_e( 'Internal Slug (a-z, 0-9, -, _):', 'custom-contact-forms' ); ?></label>
|
449 |
-
<input id="ccf-field-slug" class="field-slug" type="text" value="
|
450 |
</div>
|
451 |
<div>
|
452 |
<label for="ccf-field-label"><?php esc_html_e( 'Label:', 'custom-contact-forms' ); ?></label>
|
453 |
-
<input id="ccf-field-label" class="field-label" type="text" value="
|
454 |
</div>
|
455 |
<% if ( ! field.showTime ) { %>
|
456 |
<div>
|
457 |
<label for="ccf-field-value"><?php esc_html_e( 'Initial Value:', 'custom-contact-forms' ); ?></label>
|
458 |
-
<input id="ccf-field-value" class="field-value" type="text" value="
|
459 |
</div>
|
460 |
<% } %>
|
461 |
<div>
|
@@ -480,12 +480,12 @@ class CCF_Form_Manager {
|
|
480 |
<div class="section-content">
|
481 |
<div>
|
482 |
<label for="ccf-field-class-name"><?php esc_html_e( 'Class Name:', 'custom-contact-forms' ); ?></label>
|
483 |
-
<input id="ccf-field-class-name" class="field-class-name" type="text" value="
|
484 |
</div>
|
485 |
<% if ( ! ( field.showTime && field.showDate ) ) { %>
|
486 |
<div>
|
487 |
<label for="ccf-field-placeholder"><?php esc_html_e( 'Placeholder Text:', 'custom-contact-forms' ); ?></label>
|
488 |
-
<input id="ccf-field-placeholder" class="field-placeholder" type="text" value="
|
489 |
</div>
|
490 |
<% } %>
|
491 |
</div>
|
@@ -498,15 +498,15 @@ class CCF_Form_Manager {
|
|
498 |
<div class="section-content">
|
499 |
<div>
|
500 |
<label for="ccf-field-slug"><span class="required">*</span> <?php esc_html_e( 'Internal Slug (a-z, 0-9, -, _):', 'custom-contact-forms' ); ?></label>
|
501 |
-
<input id="ccf-field-slug" class="field-slug" type="text" value="
|
502 |
</div>
|
503 |
<div>
|
504 |
<label for="ccf-field-label"><?php esc_html_e( 'Label:', 'custom-contact-forms' ); ?></label>
|
505 |
-
<input id="ccf-field-label" class="field-label" type="text" value="
|
506 |
</div>
|
507 |
<div>
|
508 |
<label for="ccf-field-value"><?php esc_html_e( 'Initial Value:', 'custom-contact-forms' ); ?></label>
|
509 |
-
<input id="ccf-field-value" class="field-value" type="text" value="
|
510 |
</div>
|
511 |
<div>
|
512 |
<label for="ccf-field-phone-format"><?php esc_html_e( 'Format:', 'custom-contact-forms' ); ?></label>
|
@@ -529,11 +529,11 @@ class CCF_Form_Manager {
|
|
529 |
<div class="section-content">
|
530 |
<div>
|
531 |
<label for="ccf-field-class-name"><?php esc_html_e( 'Class Name:', 'custom-contact-forms' ); ?></label>
|
532 |
-
<input id="ccf-field-class-name" class="field-class-name" type="text" value="
|
533 |
</div>
|
534 |
<div>
|
535 |
<label for="ccf-field-placeholder"><?php esc_html_e( 'Placeholder Text:', 'custom-contact-forms' ); ?></label>
|
536 |
-
<input id="ccf-field-placeholder" class="field-placeholder" type="text" value="
|
537 |
</div>
|
538 |
</div>
|
539 |
</div>
|
@@ -545,11 +545,11 @@ class CCF_Form_Manager {
|
|
545 |
<div class="section-content">
|
546 |
<div>
|
547 |
<label for="ccf-field-slug"><span class="required">*</span> <?php esc_html_e( 'Internal Slug (a-z, 0-9, -, _):', 'custom-contact-forms' ); ?></label>
|
548 |
-
<input id="ccf-field-slug" class="field-slug" type="text" value="
|
549 |
</div>
|
550 |
<div>
|
551 |
<label for="ccf-field-label"><?php esc_html_e( 'Label:', 'custom-contact-forms' ); ?></label>
|
552 |
-
<input id="ccf-field-label" class="field-label" type="text" value="
|
553 |
</div>
|
554 |
<div>
|
555 |
<label for="ccf-field-address-type"><?php esc_html_e( 'Type:', 'custom-contact-forms' ); ?></label>
|
@@ -572,7 +572,7 @@ class CCF_Form_Manager {
|
|
572 |
<div class="section-content">
|
573 |
<div>
|
574 |
<label for="ccf-field-class-name"><?php esc_html_e( 'Class Name:', 'custom-contact-forms' ); ?></label>
|
575 |
-
<input id="ccf-field-class-name" class="field-class-name" type="text" value="
|
576 |
</div>
|
577 |
</div>
|
578 |
</div>
|
@@ -584,16 +584,16 @@ class CCF_Form_Manager {
|
|
584 |
<div class="section-content">
|
585 |
<div>
|
586 |
<label for="ccf-field-slug"><span class="required">*</span> <?php esc_html_e( 'Internal Slug (a-z, 0-9, -, _):', 'custom-contact-forms' ); ?></label>
|
587 |
-
<input id="ccf-field-slug" class="field-slug" type="text" value="
|
588 |
</div>
|
589 |
<div>
|
590 |
<label for="ccf-field-label"><?php esc_html_e( 'Label:', 'custom-contact-forms' ); ?></label>
|
591 |
-
<input id="ccf-field-label" class="field-label" type="text" value="
|
592 |
</div>
|
593 |
<% if ( ! field.emailConfirmation ) { %>
|
594 |
<div>
|
595 |
<label for="ccf-field-value"><?php esc_html_e( 'Initial Value:', 'custom-contact-forms' ); ?></label>
|
596 |
-
<input id="ccf-field-value" class="field-value" type="text" value="
|
597 |
</div>
|
598 |
<% } %>
|
599 |
<div>
|
@@ -617,12 +617,12 @@ class CCF_Form_Manager {
|
|
617 |
<div class="section-content">
|
618 |
<div>
|
619 |
<label for="ccf-field-class-name"><?php esc_html_e( 'Class Name:', 'custom-contact-forms' ); ?></label>
|
620 |
-
<input id="ccf-field-class-name" class="field-class-name" type="text" value="
|
621 |
</div>
|
622 |
<% if ( ! field.emailConfirmation ) { %>
|
623 |
<div>
|
624 |
<label for="ccf-field-placeholder"><?php esc_html_e( 'Placeholder Text:', 'custom-contact-forms' ); ?></label>
|
625 |
-
<input id="ccf-field-placeholder" class="field-placeholder" type="text" value="
|
626 |
</div>
|
627 |
<% } %>
|
628 |
</div>
|
@@ -632,8 +632,8 @@ class CCF_Form_Manager {
|
|
632 |
<script type="text/html" id="ccf-field-choice-template">
|
633 |
<a aria-hidden="true" data-icon="" class="move"></a>
|
634 |
<input class="choice-selected" <% if ( choice.selected ) { %>checked<% } %> name="selected" type="checkbox" value="1">
|
635 |
-
<input class="choice-label" type="text" placeholder="<?php esc_html_e( 'Label', 'custom-contact-forms' ); ?>" value="
|
636 |
-
<input class="choice-value" type="text" placeholder="<?php esc_html_e( 'Value', 'custom-contact-forms' ); ?>" value="
|
637 |
<a aria-hidden="true" data-icon="" class="add"></a>
|
638 |
<a aria-hidden="true" data-icon="" class="delete"></a>
|
639 |
</script>
|
@@ -644,11 +644,11 @@ class CCF_Form_Manager {
|
|
644 |
<div class="section-content">
|
645 |
<div>
|
646 |
<label for="ccf-field-slug"><span class="required">*</span> <?php esc_html_e( 'Internal Slug (a-z, 0-9, -, _):', 'custom-contact-forms' ); ?></label>
|
647 |
-
<input id="ccf-field-slug" class="field-slug" type="text" value="
|
648 |
</div>
|
649 |
<div>
|
650 |
<label for="ccf-field-label"><?php esc_html_e( 'Label:', 'custom-contact-forms' ); ?></label>
|
651 |
-
<input id="ccf-field-label" class="field-label" type="text" value="
|
652 |
</div>
|
653 |
<div>
|
654 |
<label for="ccf-field-required"><?php esc_html_e( 'Required:', 'custom-contact-forms' ); ?></label>
|
@@ -669,7 +669,7 @@ class CCF_Form_Manager {
|
|
669 |
<div class="section-content">
|
670 |
<div>
|
671 |
<label for="ccf-field-class-name"><?php esc_html_e( 'Class Name:', 'custom-contact-forms' ); ?></label>
|
672 |
-
<input id="ccf-field-class-name" class="field-class-name" type="text" value="
|
673 |
</div>
|
674 |
</div>
|
675 |
</div>
|
@@ -681,11 +681,11 @@ class CCF_Form_Manager {
|
|
681 |
<div class="section-content">
|
682 |
<div>
|
683 |
<label for="ccf-field-slug"><span class="required">*</span> <?php esc_html_e( 'Internal Slug (a-z, 0-9, -, _):', 'custom-contact-forms' ); ?></label>
|
684 |
-
<input id="ccf-field-slug" class="field-slug" type="text" value="
|
685 |
</div>
|
686 |
<div>
|
687 |
<label for="ccf-field-label"><?php esc_html_e( 'Label:', 'custom-contact-forms' ); ?></label>
|
688 |
-
<input id="ccf-field-label" class="field-label" type="text" value="
|
689 |
</div>
|
690 |
<div>
|
691 |
<label for="ccf-field-required"><?php esc_html_e( 'Required:', 'custom-contact-forms' ); ?></label>
|
@@ -706,7 +706,7 @@ class CCF_Form_Manager {
|
|
706 |
<div class="section-content">
|
707 |
<div>
|
708 |
<label for="ccf-field-class-name"><?php esc_html_e( 'Class Name:', 'custom-contact-forms' ); ?></label>
|
709 |
-
<input id="ccf-field-class-name" class="field-class-name" type="text" value="
|
710 |
</div>
|
711 |
</div>
|
712 |
</div>
|
@@ -718,11 +718,11 @@ class CCF_Form_Manager {
|
|
718 |
<div class="section-content">
|
719 |
<div>
|
720 |
<label for="ccf-field-slug"><span class="required">*</span> <?php esc_html_e( 'Internal Slug (a-z, 0-9, -, _):', 'custom-contact-forms' ); ?></label>
|
721 |
-
<input id="ccf-field-slug" class="field-slug" type="text" value="
|
722 |
</div>
|
723 |
<div>
|
724 |
<label for="ccf-field-label"><?php esc_html_e( 'Label:', 'custom-contact-forms' ); ?></label>
|
725 |
-
<input id="ccf-field-label" class="field-label" type="text" value="
|
726 |
</div>
|
727 |
<div>
|
728 |
<label for="ccf-field-required"><?php esc_html_e( 'Required:', 'custom-contact-forms' ); ?></label>
|
@@ -743,7 +743,7 @@ class CCF_Form_Manager {
|
|
743 |
<div class="section-content">
|
744 |
<div>
|
745 |
<label for="ccf-field-class-name"><?php esc_html_e( 'Class Name:', 'custom-contact-forms' ); ?></label>
|
746 |
-
<input id="ccf-field-class-name" class="field-class-name" type="text" value="
|
747 |
</div>
|
748 |
</div>
|
749 |
</div>
|
@@ -756,30 +756,30 @@ class CCF_Form_Manager {
|
|
756 |
</script>
|
757 |
|
758 |
<script type="text/html" id="ccf-single-line-text-preview-template">
|
759 |
-
<label
|
760 |
-
<input disabled type="text" placeholder="
|
761 |
</script>
|
762 |
|
763 |
<script type="text/html" id="ccf-paragraph-text-preview-template">
|
764 |
-
<label
|
765 |
-
<textarea placeholder="
|
766 |
</script>
|
767 |
|
768 |
<script type="text/html" id="ccf-dropdown-preview-template">
|
769 |
-
<label
|
770 |
<select>
|
771 |
<% if ( field.choices.length === 0 || ( field.choices.length === 1 && ! field.choices.at( 0 ).get( 'label' ) && ! field.choices.at( 0 ).get( 'value' ) ) ) { %>
|
772 |
<option><?php esc_html_e( 'An example choice', 'custom-contact-forms' ); ?></option>
|
773 |
<%} else { %>
|
774 |
<% field.choices.each( function( choice ) { %>
|
775 |
-
<option value="
|
776 |
<% }); %>
|
777 |
<% } %>
|
778 |
</select>
|
779 |
</script>
|
780 |
|
781 |
<script type="text/html" id="ccf-radio-preview-template">
|
782 |
-
<label
|
783 |
<% if ( field.choices.length === 0 || ( field.choices.length === 1 && ! field.choices.at( 0 ).get( 'label' ) && ! field.choices.at( 0 ).get( 'value' ) ) ) { %>
|
784 |
<div>
|
785 |
<input type="radio" value="1" checked="checked"> <label><?php esc_html_e( 'An example choice', 'custom-contact-forms' ); ?></label>
|
@@ -787,14 +787,14 @@ class CCF_Form_Manager {
|
|
787 |
<%} else { %>
|
788 |
<% field.choices.each( function( choice ) { %>
|
789 |
<div class="choice">
|
790 |
-
<input type="radio" value="
|
791 |
</div>
|
792 |
<% }); %>
|
793 |
<% } %>
|
794 |
</script>
|
795 |
|
796 |
<script type="text/html" id="ccf-checkboxes-preview-template">
|
797 |
-
<label
|
798 |
<% if ( field.choices.length === 0 || ( field.choices.length === 1 && ! field.choices.at( 0 ).get( 'label' ) && ! field.choices.at( 0 ).get( 'value' ) ) ) { %>
|
799 |
<div>
|
800 |
<input type="checkbox" value="1" checked="checked"> <label><?php esc_html_e( 'An example choice', 'custom-contact-forms' ); ?></label>
|
@@ -802,7 +802,7 @@ class CCF_Form_Manager {
|
|
802 |
<%} else { %>
|
803 |
<% field.choices.each( function( choice ) { %>
|
804 |
<div class="choice">
|
805 |
-
<input type="checkbox" value="
|
806 |
</div>
|
807 |
<% }); %>
|
808 |
<% } %>
|
@@ -818,13 +818,13 @@ class CCF_Form_Manager {
|
|
818 |
|
819 |
<script type="text/html" id="ccf-section-header-preview-template">
|
820 |
<div class="heading">
|
821 |
-
<% if ( field.heading ) {
|
822 |
</div>
|
823 |
-
<div class="subheading"><% if ( field.subheading ) {
|
824 |
</script>
|
825 |
|
826 |
<script type="text/html" id="ccf-name-preview-template">
|
827 |
-
<label
|
828 |
<div class="left">
|
829 |
<input type="text">
|
830 |
<label class="sub-label"><?php esc_html_e( 'First', 'custom-contact-forms' ); ?></label>
|
@@ -836,9 +836,9 @@ class CCF_Form_Manager {
|
|
836 |
</script>
|
837 |
|
838 |
<script type="text/html" id="ccf-date-preview-template">
|
839 |
-
<label
|
840 |
<% if ( field.showDate && ! field.showTime ) { %>
|
841 |
-
<input value="
|
842 |
<% } else if ( ! field.showDate && field.showTime ) { %>
|
843 |
<div class="full">
|
844 |
<div class="hour">
|
@@ -881,7 +881,7 @@ class CCF_Form_Manager {
|
|
881 |
</script>
|
882 |
|
883 |
<script type="text/html" id="ccf-address-preview-template">
|
884 |
-
<label
|
885 |
<% if ( field.addressType === 'us' ) { %>
|
886 |
<div class="full">
|
887 |
<input type="text">
|
@@ -940,9 +940,9 @@ class CCF_Form_Manager {
|
|
940 |
</script>
|
941 |
|
942 |
<script type="text/html" id="ccf-email-preview-template">
|
943 |
-
<label
|
944 |
<% if ( ! field.emailConfirmation ) { %>
|
945 |
-
<input placeholder="<% if ( field.placeholder ) {
|
946 |
<% } else { %>
|
947 |
<div class="left">
|
948 |
<input type="text">
|
@@ -956,34 +956,34 @@ class CCF_Form_Manager {
|
|
956 |
</script>
|
957 |
|
958 |
<script type="text/html" id="ccf-website-preview-template">
|
959 |
-
<label
|
960 |
-
<input placeholder="<% if ( field.placeholder ) {
|
961 |
</script>
|
962 |
|
963 |
<script type="text/html" id="ccf-phone-preview-template">
|
964 |
-
<label
|
965 |
-
<input placeholder="<% if ( field.placeholder ) {
|
966 |
</script>
|
967 |
|
968 |
<script type="text/html" id="ccf-existing-form-table-row-template">
|
969 |
|
970 |
-
<td
|
971 |
<td>
|
972 |
-
<a class="edit edit-form title" data-view="form-pane" data-form-id="
|
973 |
<div class="actions">
|
974 |
-
<a class="edit edit-form" data-view="form-pane" data-form-id="
|
975 |
<a class="insert-form-button"><?php esc_html_e( 'Insert into post', 'custom-contact-forms' ); ?></a> |
|
976 |
<a class="delete"><?php esc_html_e( 'Trash', 'custom-contact-forms' ); ?></a>
|
977 |
</div>
|
978 |
</td>
|
979 |
<td>
|
980 |
-
|
981 |
</td>
|
982 |
<td>
|
983 |
-
|
984 |
</td>
|
985 |
<td>
|
986 |
-
|
987 |
</td>
|
988 |
<td>
|
989 |
0
|
@@ -991,25 +991,25 @@ class CCF_Form_Manager {
|
|
991 |
</script>
|
992 |
|
993 |
<script type="text/html" id="ccf-form-mce-preview">
|
994 |
-
<div class="ccf-form-preview form-id
|
995 |
<% if ( form.title ) { %>
|
996 |
-
<h2
|
997 |
<% } %>
|
998 |
|
999 |
<% if ( form.description && form.description != '' ) { %>
|
1000 |
-
<p
|
1001 |
<% } %>
|
1002 |
|
1003 |
<% if ( form.fields ) { %>
|
1004 |
<% _.each( form.fields, function( field ) { %>
|
1005 |
-
<div class="field
|
1006 |
<%= field.preview %>
|
1007 |
</div>
|
1008 |
<% } ); %>
|
1009 |
<% } %>
|
1010 |
|
1011 |
<div class="field-submit">
|
1012 |
-
<input type="button" value="
|
1013 |
</div>
|
1014 |
</div>
|
1015 |
</script>
|
@@ -1025,11 +1025,11 @@ class CCF_Form_Manager {
|
|
1025 |
<thead>
|
1026 |
<tr>
|
1027 |
<% _.each( columns, function( column ) { %>
|
1028 |
-
<th scope="col" class="manage-column column
|
1029 |
<% if ( 'date' === column ) { %>
|
1030 |
<?php esc_html_e( 'Date', 'custom-contact-forms' ); ?>
|
1031 |
<% } else { %>
|
1032 |
-
|
1033 |
<% } %>
|
1034 |
</th>
|
1035 |
<% } ); %>
|
@@ -1039,11 +1039,11 @@ class CCF_Form_Manager {
|
|
1039 |
<tfoot>
|
1040 |
<tr>
|
1041 |
<% _.each( columns, function( column ) { %>
|
1042 |
-
<th scope="col" class="manage-column column
|
1043 |
<% if ( 'date' === column ) { %>
|
1044 |
<?php esc_html_e( 'Date', 'custom-contact-forms' ); ?>
|
1045 |
<% } else { %>
|
1046 |
-
|
1047 |
<% } %>
|
1048 |
</th>
|
1049 |
<% } ); %>
|
@@ -1053,7 +1053,7 @@ class CCF_Form_Manager {
|
|
1053 |
|
1054 |
<tbody class="submission-rows">
|
1055 |
<tr>
|
1056 |
-
<td colspan="
|
1057 |
<div class="spinner"></div>
|
1058 |
</td>
|
1059 |
</tr>
|
@@ -1065,17 +1065,17 @@ class CCF_Form_Manager {
|
|
1065 |
<script type="text/html" id="ccf-submission-row-template">
|
1066 |
<% _.each( currentColumns, function( column ) { %>
|
1067 |
<% if ( 'date' === column ) { %>
|
1068 |
-
<td colspan="1"
|
1069 |
<% } else { %>
|
1070 |
<td colspan="1">
|
1071 |
<% if ( submission.data[column] ) { %>
|
1072 |
<% if ( submission.data[column] instanceof Object ) { var output = '', i = 0; %>
|
1073 |
<% if ( utils.isFieldDate( submission.data[column] ) ) { %>
|
1074 |
-
|
1075 |
<% } else if ( utils.isFieldName( submission.data[column] ) ) { %>
|
1076 |
-
|
1077 |
<% } else if ( utils.isFieldAddress( submission.data[column] ) ) { %>
|
1078 |
-
|
1079 |
<% } else { %>
|
1080 |
<% for ( var key in submission.data[column] ) { if ( submission.data[column].hasOwnProperty( key ) ) {
|
1081 |
if ( i > 0 ) {
|
@@ -1085,10 +1085,10 @@ class CCF_Form_Manager {
|
|
1085 |
|
1086 |
i++;
|
1087 |
} } %>
|
1088 |
-
|
1089 |
<% } %>
|
1090 |
<% } else { %>
|
1091 |
-
|
1092 |
<% } %>
|
1093 |
<% } else { %>
|
1094 |
<span><?php esc_html_e( '-', 'custom-contact-forms' ); ?></span>
|
@@ -1097,31 +1097,31 @@ class CCF_Form_Manager {
|
|
1097 |
<% } %>
|
1098 |
<% } ); %>
|
1099 |
<td class="actions">
|
1100 |
-
<a href="#TB_inline?height=300&width=400&inlineId=submission-content" data-submission-date="
|
1101 |
<a class="delete" data-icon=""></a>
|
1102 |
|
1103 |
-
<div class="submission-wrapper" id="ccf-submission-content
|
1104 |
<div class="ccf-submission-content">
|
1105 |
<% for ( column in submission.data ) { %>
|
1106 |
<div class="field-slug">
|
1107 |
-
|
1108 |
</div>
|
1109 |
<div class="field-content">
|
1110 |
<% if ( submission.data[column] ) { %>
|
1111 |
<% if ( submission.data[column] instanceof Object ) { %>
|
1112 |
<% if ( utils.isFieldDate( submission.data[column] ) ) { %>
|
1113 |
-
|
1114 |
<% } else if ( utils.isFieldName( submission.data[column] ) ) { %>
|
1115 |
-
|
1116 |
<% } else if ( utils.isFieldAddress( submission.data[column] ) ) { %>
|
1117 |
-
|
1118 |
<% } else { %>
|
1119 |
<% for ( var key in submission.data[column] ) { if ( submission.data[column].hasOwnProperty( key ) ) { %>
|
1120 |
-
<% if ( isNaN( key ) ) { %><strong
|
1121 |
<% } } %>
|
1122 |
<% } %>
|
1123 |
<% } else { %>
|
1124 |
-
|
1125 |
<% } %>
|
1126 |
<% } else { %>
|
1127 |
<span>-</span>
|
@@ -1135,18 +1135,18 @@ class CCF_Form_Manager {
|
|
1135 |
|
1136 |
|
1137 |
<script type="text/html" id="ccf-no-submissions-row-template">
|
1138 |
-
<td colspan="
|
1139 |
</script>
|
1140 |
|
1141 |
<script type="text/html" id="ccf-submissions-controller-template">
|
1142 |
<% var i = 0; _.each( columns, function( column ) { %>
|
1143 |
|
1144 |
-
<label for="ccf-column
|
1145 |
-
<input class="submission-column-checkbox" type="checkbox" id="ccf-column
|
1146 |
<% if ( 'date' === column ) { %>
|
1147 |
<?php esc_html_e( 'Date', 'custom-contact-forms' ); ?>
|
1148 |
<% } else { %>
|
1149 |
-
|
1150 |
<% } %>
|
1151 |
</label>
|
1152 |
|
68 |
<div class="right">
|
69 |
<a aria-hidden="true" data-icon="" class="delete"></a>
|
70 |
</div>
|
71 |
+
<span class="label"><%- label %></span>
|
72 |
</h4>
|
73 |
|
74 |
<div class="preview"></div>
|
118 |
<div class="section-content">
|
119 |
<p>
|
120 |
<label for="ccf_form_title"><?php esc_html_e( 'Form Title:', 'custom-contact-forms' ); ?></label>
|
121 |
+
<input class="widefat form-title" id="ccf_form_title" name="title" type="text" value="<%- form.title %>">
|
122 |
</p>
|
123 |
|
124 |
<p>
|
125 |
<label for="ccf_form_description"><?php esc_html_e( 'Form Description:', 'custom-contact-forms' ); ?></label>
|
126 |
+
<textarea class="widefat form-description" id="ccf_form_description" name="description"><%- form.description %></textarea>
|
127 |
</p>
|
128 |
|
129 |
<p>
|
130 |
<label for="ccf_form_button_text"><?php esc_html_e( 'Button Text:', 'custom-contact-forms' ); ?></label>
|
131 |
+
<input class="widefat form-button-text" id="ccf_form_button_text" name="text" type="text" value="<%- form.buttonText %>">
|
132 |
</p>
|
133 |
|
134 |
<p>
|
141 |
</p>
|
142 |
<p class="completion-redirect-url">
|
143 |
<label for="ccf_form_completion_redirect_url"><?php esc_html_e( 'Redirect URL:', 'custom-contact-forms' ); ?></label>
|
144 |
+
<input class="widefat form-completion-redirect-url" id="ccf_form_completion_redirect_url" name="text" type="text" value="<%- form.completionRedirectUrl %>">
|
145 |
</p>
|
146 |
<p class="completion-message">
|
147 |
<label for="ccf_form_completion_message"><?php esc_html_e( 'Completion Message:', 'custom-contact-forms' ); ?></label>
|
148 |
+
<textarea class="widefat form-completion-message" id="ccf_form_completion_message" name="completion-message"><%- form.completionMessage %></textarea>
|
149 |
</p>
|
150 |
|
151 |
<p>
|
158 |
</p>
|
159 |
<p class="email-notification-addresses">
|
160 |
<label for="ccf_form_email_notification_addresses"><?php esc_html_e( 'Email Addresses (comma separated):', 'custom-contact-forms' ); ?></label>
|
161 |
+
<input class="widefat form-email-notification-addresses" id="ccf_form_email_notification_addresses" name="email-notification-addresses" value="<%- form.emailNotificationAddresses %>">
|
162 |
</p>
|
163 |
</div>
|
164 |
</script>
|
170 |
</script>
|
171 |
|
172 |
<script type="text/html" id="ccf-pagination-template">
|
173 |
+
<span class="num-items"><%- totalObjects %> <?php esc_html_e( 'items', 'custom-contact-forms' ); ?></span>
|
174 |
|
175 |
<a class="first <% if ( currentPage <= 1 ) { %>disabled<% } %>">«</a>
|
176 |
<a class="prev <% if ( currentPage <= 1 ) { %>disabled<% } %>">‹</a>
|
177 |
|
178 |
+
<span class="pages"><%- currentPage %> of <%- totalPages %></span>
|
179 |
|
180 |
<a class="next <% if ( currentPage >= totalPages ) { %>disabled<% } %>">›</a>
|
181 |
<a class="last <% if ( currentPage >= totalPages ) { %>disabled<% } %>">»</a>
|
223 |
<div class="section-content">
|
224 |
<div>
|
225 |
<label for="ccf-field-slug"><span class="required">*</span> <?php esc_html_e( 'Internal Slug', 'custom-contact-forms' ); ?> (a-z, 0-9, -, _):</label>
|
226 |
+
<input id="ccf-field-slug" class="field-slug" type="text" value="<%- field.slug %>">
|
227 |
</div>
|
228 |
<div>
|
229 |
<label for="ccf-field-label"><?php esc_html_e( 'Label:', 'custom-contact-forms' ); ?></label>
|
230 |
+
<input id="ccf-field-label" class="field-label" type="text" value="<%- field.label %>">
|
231 |
</div>
|
232 |
<div>
|
233 |
<label for="ccf-field-value"><?php esc_html_e( 'Initial Value:', 'custom-contact-forms' ); ?></label>
|
234 |
+
<input id="ccf-field-value" class="field-value" type="text" value="<%- field.value %>">
|
235 |
</div>
|
236 |
<div>
|
237 |
<label for="ccf-field-required"><?php esc_html_e( 'Required:', 'custom-contact-forms' ); ?></label>
|
247 |
<div class="section-content">
|
248 |
<div>
|
249 |
<label for="ccf-field-class-name"><?php esc_html_e( 'Class Name:', 'custom-contact-forms' ); ?></label>
|
250 |
+
<input id="ccf-field-class-name" class="field-class-name" type="text" value="<%- field.className %>">
|
251 |
</div>
|
252 |
<div>
|
253 |
<label for="ccf-field-placeholder"><?php esc_html_e( 'Placeholder Text:', 'custom-contact-forms' ); ?></label>
|
254 |
+
<input id="ccf-field-placeholder" class="field-placeholder" type="text" value="<%- field.placeholder %>">
|
255 |
</div>
|
256 |
</div>
|
257 |
</div>
|
263 |
<div class="section-content">
|
264 |
<div>
|
265 |
<label for="ccf-field-slug"><span class="required">*</span> <?php esc_html_e( 'Internal Slug', 'custom-contact-forms' ); ?> (a-z, 0-9, -, _):</label>
|
266 |
+
<input id="ccf-field-slug" class="field-slug" type="text" value="<%- field.slug %>">
|
267 |
</div>
|
268 |
<div>
|
269 |
<label for="ccf-field-label"><?php esc_html_e( 'Label:', 'custom-contact-forms' ); ?></label>
|
270 |
+
<input id="ccf-field-label" class="field-label" type="text" value="<%- field.label %>">
|
271 |
</div>
|
272 |
<div>
|
273 |
<label for="ccf-field-value"><?php esc_html_e( 'Initial Value:', 'custom-contact-forms' ); ?></label>
|
274 |
+
<input id="ccf-field-value" class="field-value" type="text" value="<%- field.value %>">
|
275 |
</div>
|
276 |
<div>
|
277 |
<label for="ccf-field-required"><?php esc_html_e( 'Required:', 'custom-contact-forms' ); ?></label>
|
287 |
<div class="section-content">
|
288 |
<div>
|
289 |
<label for="ccf-field-class-name"><?php esc_html_e( 'Class Name:', 'custom-contact-forms' ); ?></label>
|
290 |
+
<input id="ccf-field-class-name" class="field-class-name" type="text" value="<%- field.className %>">
|
291 |
</div>
|
292 |
<div>
|
293 |
<label for="ccf-field-placeholder"><?php esc_html_e( 'Placeholder Text:', 'custom-contact-forms' ); ?></label>
|
294 |
+
<input id="ccf-field-placeholder" class="field-placeholder" type="text" value="<%- field.placeholder %>">
|
295 |
</div>
|
296 |
</div>
|
297 |
</div>
|
303 |
<div class="section-content">
|
304 |
<div>
|
305 |
<label for="ccf-field-html"><?php esc_html_e( 'HTML Content:', 'custom-contact-forms' ); ?></label>
|
306 |
+
<textarea id="ccf-field-html" class="field-html"><%- field.html %></textarea>
|
307 |
</div>
|
308 |
</div>
|
309 |
</div>
|
312 |
<div class="section-content">
|
313 |
<div>
|
314 |
<label for="ccf-field-class-name"><?php esc_html_e( 'Class Name:', 'custom-contact-forms' ); ?></label>
|
315 |
+
<input id="ccf-field-class-name" class="field-class-name" type="text" value="<%- field.className %>">
|
316 |
</div>
|
317 |
</div>
|
318 |
</div>
|
324 |
<div class="section-content">
|
325 |
<div>
|
326 |
<label for="ccf-field-heading"><?php esc_html_e( 'Heading:', 'custom-contact-forms' ); ?></label>
|
327 |
+
<input id="ccf-field-heading" class="field-heading" type="text" value="<%- field.heading %>">
|
328 |
</div>
|
329 |
<div>
|
330 |
<label for="ccf-field-subheading"><?php esc_html_e( 'Sub Heading:', 'custom-contact-forms' ); ?></label>
|
331 |
+
<textarea id="ccf-field-subheading" class="field-subheading" type="text"><%- field.subheading %></textarea>
|
332 |
</div>
|
333 |
</div>
|
334 |
</div>
|
337 |
<div class="section-content">
|
338 |
<div>
|
339 |
<label for="ccf-field-class-name"><?php esc_html_e( 'Class Name:', 'custom-contact-forms' ); ?></label>
|
340 |
+
<input id="ccf-field-class-name" class="field-class-name" type="text" value="<%- field.className %>">
|
341 |
</div>
|
342 |
</div>
|
343 |
</div>
|
349 |
<div class="section-content">
|
350 |
<div>
|
351 |
<label for="ccf-field-slug"><span class="required">*</span> <?php esc_html_e( 'Internal Slug', 'custom-contact-forms' ); ?> (a-z, 0-9, -, _):</label>
|
352 |
+
<input id="ccf-field-slug" class="field-slug" type="text" value="<%- field.slug %>">
|
353 |
</div>
|
354 |
<div>
|
355 |
<label for="ccf-field-label"><?php esc_html_e( 'Label:', 'custom-contact-forms' ); ?></label>
|
356 |
+
<input id="ccf-field-label" class="field-label" type="text" value="<%- field.label %>">
|
357 |
</div>
|
358 |
<div>
|
359 |
<label for="ccf-field-value"><?php esc_html_e( 'Initial Value:', 'custom-contact-forms' ); ?></label>
|
360 |
+
<input id="ccf-field-value" class="field-value" type="text" value="<%- field.value %>">
|
361 |
</div>
|
362 |
<div>
|
363 |
<label for="ccf-field-required"><?php esc_html_e( 'Required:', 'custom-contact-forms' ); ?></label>
|
373 |
<div class="section-content">
|
374 |
<div>
|
375 |
<label for="ccf-field-class-name"><?php esc_html_e( 'Class Name:', 'custom-contact-forms' ); ?></label>
|
376 |
+
<input id="ccf-field-class-name" class="field-class-name" type="text" value="<%- field.className %>">
|
377 |
</div>
|
378 |
<div>
|
379 |
<label for="ccf-field-placeholder"><?php esc_html_e( 'Placeholder Text:', 'custom-contact-forms' ); ?></label>
|
380 |
+
<input id="ccf-field-placeholder" class="field-placeholder" type="text" value="<%- field.placeholder %>">
|
381 |
</div>
|
382 |
</div>
|
383 |
</div>
|
389 |
<div class="section-content">
|
390 |
<div>
|
391 |
<label for="ccf-field-slug"><span class="required">*</span> <?php esc_html_e( 'Internal Slug (a-z, 0-9, -, _):', 'custom-contact-forms' ); ?></label>
|
392 |
+
<input id="ccf-field-slug" class="field-slug" type="text" value="<%- field.slug %>">
|
393 |
</div>
|
394 |
<div>
|
395 |
<label for="ccf-field-value"><?php esc_html_e( 'Initial Value:', 'custom-contact-forms' ); ?></label>
|
396 |
+
<input id="ccf-field-value" class="field-value" type="text" value="<%- field.value %>">
|
397 |
</div>
|
398 |
</div>
|
399 |
</div>
|
402 |
<div class="section-content">
|
403 |
<div>
|
404 |
<label for="ccf-field-class-name"><?php esc_html_e( 'Class Name:', 'custom-contact-forms' ); ?></label>
|
405 |
+
<input id="ccf-field-class-name" class="field-class-name" type="text" value="<%- field.className %>">
|
406 |
</div>
|
407 |
</div>
|
408 |
</div>
|
414 |
<div class="section-content">
|
415 |
<div>
|
416 |
<label for="ccf-field-slug"><span class="required">*</span> <?php esc_html_e( 'Internal Slug (a-z, 0-9, -, _):', 'custom-contact-forms' ); ?></label>
|
417 |
+
<input id="ccf-field-slug" class="field-slug" type="text" value="<%- field.slug %>">
|
418 |
</div>
|
419 |
<div>
|
420 |
<label for="ccf-field-label"><?php esc_html_e( 'Label:', 'custom-contact-forms' ); ?></label>
|
421 |
+
<input id="ccf-field-label" class="field-label" type="text" value="<%- field.label %>">
|
422 |
</div>
|
423 |
<div>
|
424 |
<label for="ccf-field-required"><?php esc_html_e( 'Required:', 'custom-contact-forms' ); ?></label>
|
434 |
<div class="section-content">
|
435 |
<div>
|
436 |
<label for="ccf-field-class-name"><?php esc_html_e( 'Class Name:', 'custom-contact-forms' ); ?></label>
|
437 |
+
<input id="ccf-field-class-name" class="field-class-name" type="text" value="<%- field.className %>">
|
438 |
</div>
|
439 |
</div>
|
440 |
</div>
|
446 |
<div class="section-content">
|
447 |
<div>
|
448 |
<label for="ccf-field-slug"><span class="required">*</span> <?php esc_html_e( 'Internal Slug (a-z, 0-9, -, _):', 'custom-contact-forms' ); ?></label>
|
449 |
+
<input id="ccf-field-slug" class="field-slug" type="text" value="<%- field.slug %>">
|
450 |
</div>
|
451 |
<div>
|
452 |
<label for="ccf-field-label"><?php esc_html_e( 'Label:', 'custom-contact-forms' ); ?></label>
|
453 |
+
<input id="ccf-field-label" class="field-label" type="text" value="<%- field.label %>">
|
454 |
</div>
|
455 |
<% if ( ! field.showTime ) { %>
|
456 |
<div>
|
457 |
<label for="ccf-field-value"><?php esc_html_e( 'Initial Value:', 'custom-contact-forms' ); ?></label>
|
458 |
+
<input id="ccf-field-value" class="field-value" type="text" value="<%- field.value %>">
|
459 |
</div>
|
460 |
<% } %>
|
461 |
<div>
|
480 |
<div class="section-content">
|
481 |
<div>
|
482 |
<label for="ccf-field-class-name"><?php esc_html_e( 'Class Name:', 'custom-contact-forms' ); ?></label>
|
483 |
+
<input id="ccf-field-class-name" class="field-class-name" type="text" value="<%- field.className %>">
|
484 |
</div>
|
485 |
<% if ( ! ( field.showTime && field.showDate ) ) { %>
|
486 |
<div>
|
487 |
<label for="ccf-field-placeholder"><?php esc_html_e( 'Placeholder Text:', 'custom-contact-forms' ); ?></label>
|
488 |
+
<input id="ccf-field-placeholder" class="field-placeholder" type="text" value="<%- field.placeholder %>">
|
489 |
</div>
|
490 |
<% } %>
|
491 |
</div>
|
498 |
<div class="section-content">
|
499 |
<div>
|
500 |
<label for="ccf-field-slug"><span class="required">*</span> <?php esc_html_e( 'Internal Slug (a-z, 0-9, -, _):', 'custom-contact-forms' ); ?></label>
|
501 |
+
<input id="ccf-field-slug" class="field-slug" type="text" value="<%- field.slug %>">
|
502 |
</div>
|
503 |
<div>
|
504 |
<label for="ccf-field-label"><?php esc_html_e( 'Label:', 'custom-contact-forms' ); ?></label>
|
505 |
+
<input id="ccf-field-label" class="field-label" type="text" value="<%- field.label %>">
|
506 |
</div>
|
507 |
<div>
|
508 |
<label for="ccf-field-value"><?php esc_html_e( 'Initial Value:', 'custom-contact-forms' ); ?></label>
|
509 |
+
<input id="ccf-field-value" class="field-value" type="text" value="<%- field.value %>">
|
510 |
</div>
|
511 |
<div>
|
512 |
<label for="ccf-field-phone-format"><?php esc_html_e( 'Format:', 'custom-contact-forms' ); ?></label>
|
529 |
<div class="section-content">
|
530 |
<div>
|
531 |
<label for="ccf-field-class-name"><?php esc_html_e( 'Class Name:', 'custom-contact-forms' ); ?></label>
|
532 |
+
<input id="ccf-field-class-name" class="field-class-name" type="text" value="<%- field.className %>">
|
533 |
</div>
|
534 |
<div>
|
535 |
<label for="ccf-field-placeholder"><?php esc_html_e( 'Placeholder Text:', 'custom-contact-forms' ); ?></label>
|
536 |
+
<input id="ccf-field-placeholder" class="field-placeholder" type="text" value="<%- field.placeholder %>">
|
537 |
</div>
|
538 |
</div>
|
539 |
</div>
|
545 |
<div class="section-content">
|
546 |
<div>
|
547 |
<label for="ccf-field-slug"><span class="required">*</span> <?php esc_html_e( 'Internal Slug (a-z, 0-9, -, _):', 'custom-contact-forms' ); ?></label>
|
548 |
+
<input id="ccf-field-slug" class="field-slug" type="text" value="<%- field.slug %>">
|
549 |
</div>
|
550 |
<div>
|
551 |
<label for="ccf-field-label"><?php esc_html_e( 'Label:', 'custom-contact-forms' ); ?></label>
|
552 |
+
<input id="ccf-field-label" class="field-label" type="text" value="<%- field.label %>">
|
553 |
</div>
|
554 |
<div>
|
555 |
<label for="ccf-field-address-type"><?php esc_html_e( 'Type:', 'custom-contact-forms' ); ?></label>
|
572 |
<div class="section-content">
|
573 |
<div>
|
574 |
<label for="ccf-field-class-name"><?php esc_html_e( 'Class Name:', 'custom-contact-forms' ); ?></label>
|
575 |
+
<input id="ccf-field-class-name" class="field-class-name" type="text" value="<%- field.className %>">
|
576 |
</div>
|
577 |
</div>
|
578 |
</div>
|
584 |
<div class="section-content">
|
585 |
<div>
|
586 |
<label for="ccf-field-slug"><span class="required">*</span> <?php esc_html_e( 'Internal Slug (a-z, 0-9, -, _):', 'custom-contact-forms' ); ?></label>
|
587 |
+
<input id="ccf-field-slug" class="field-slug" type="text" value="<%- field.slug %>">
|
588 |
</div>
|
589 |
<div>
|
590 |
<label for="ccf-field-label"><?php esc_html_e( 'Label:', 'custom-contact-forms' ); ?></label>
|
591 |
+
<input id="ccf-field-label" class="field-label" type="text" value="<%- field.label %>">
|
592 |
</div>
|
593 |
<% if ( ! field.emailConfirmation ) { %>
|
594 |
<div>
|
595 |
<label for="ccf-field-value"><?php esc_html_e( 'Initial Value:', 'custom-contact-forms' ); ?></label>
|
596 |
+
<input id="ccf-field-value" class="field-value" type="text" value="<%- field.value %>">
|
597 |
</div>
|
598 |
<% } %>
|
599 |
<div>
|
617 |
<div class="section-content">
|
618 |
<div>
|
619 |
<label for="ccf-field-class-name"><?php esc_html_e( 'Class Name:', 'custom-contact-forms' ); ?></label>
|
620 |
+
<input id="ccf-field-class-name" class="field-class-name" type="text" value="<%- field.className %>">
|
621 |
</div>
|
622 |
<% if ( ! field.emailConfirmation ) { %>
|
623 |
<div>
|
624 |
<label for="ccf-field-placeholder"><?php esc_html_e( 'Placeholder Text:', 'custom-contact-forms' ); ?></label>
|
625 |
+
<input id="ccf-field-placeholder" class="field-placeholder" type="text" value="<%- field.placeholder %>">
|
626 |
</div>
|
627 |
<% } %>
|
628 |
</div>
|
632 |
<script type="text/html" id="ccf-field-choice-template">
|
633 |
<a aria-hidden="true" data-icon="" class="move"></a>
|
634 |
<input class="choice-selected" <% if ( choice.selected ) { %>checked<% } %> name="selected" type="checkbox" value="1">
|
635 |
+
<input class="choice-label" type="text" placeholder="<?php esc_html_e( 'Label', 'custom-contact-forms' ); ?>" value="<%- choice.label %>">
|
636 |
+
<input class="choice-value" type="text" placeholder="<?php esc_html_e( 'Value', 'custom-contact-forms' ); ?>" value="<%- choice.value %>">
|
637 |
<a aria-hidden="true" data-icon="" class="add"></a>
|
638 |
<a aria-hidden="true" data-icon="" class="delete"></a>
|
639 |
</script>
|
644 |
<div class="section-content">
|
645 |
<div>
|
646 |
<label for="ccf-field-slug"><span class="required">*</span> <?php esc_html_e( 'Internal Slug (a-z, 0-9, -, _):', 'custom-contact-forms' ); ?></label>
|
647 |
+
<input id="ccf-field-slug" class="field-slug" type="text" value="<%- field.slug %>">
|
648 |
</div>
|
649 |
<div>
|
650 |
<label for="ccf-field-label"><?php esc_html_e( 'Label:', 'custom-contact-forms' ); ?></label>
|
651 |
+
<input id="ccf-field-label" class="field-label" type="text" value="<%- field.label %>">
|
652 |
</div>
|
653 |
<div>
|
654 |
<label for="ccf-field-required"><?php esc_html_e( 'Required:', 'custom-contact-forms' ); ?></label>
|
669 |
<div class="section-content">
|
670 |
<div>
|
671 |
<label for="ccf-field-class-name"><?php esc_html_e( 'Class Name:', 'custom-contact-forms' ); ?></label>
|
672 |
+
<input id="ccf-field-class-name" class="field-class-name" type="text" value="<%- field.className %>">
|
673 |
</div>
|
674 |
</div>
|
675 |
</div>
|
681 |
<div class="section-content">
|
682 |
<div>
|
683 |
<label for="ccf-field-slug"><span class="required">*</span> <?php esc_html_e( 'Internal Slug (a-z, 0-9, -, _):', 'custom-contact-forms' ); ?></label>
|
684 |
+
<input id="ccf-field-slug" class="field-slug" type="text" value="<%- field.slug %>">
|
685 |
</div>
|
686 |
<div>
|
687 |
<label for="ccf-field-label"><?php esc_html_e( 'Label:', 'custom-contact-forms' ); ?></label>
|
688 |
+
<input id="ccf-field-label" class="field-label" type="text" value="<%- field.label %>">
|
689 |
</div>
|
690 |
<div>
|
691 |
<label for="ccf-field-required"><?php esc_html_e( 'Required:', 'custom-contact-forms' ); ?></label>
|
706 |
<div class="section-content">
|
707 |
<div>
|
708 |
<label for="ccf-field-class-name"><?php esc_html_e( 'Class Name:', 'custom-contact-forms' ); ?></label>
|
709 |
+
<input id="ccf-field-class-name" class="field-class-name" type="text" value="<%- field.className %>">
|
710 |
</div>
|
711 |
</div>
|
712 |
</div>
|
718 |
<div class="section-content">
|
719 |
<div>
|
720 |
<label for="ccf-field-slug"><span class="required">*</span> <?php esc_html_e( 'Internal Slug (a-z, 0-9, -, _):', 'custom-contact-forms' ); ?></label>
|
721 |
+
<input id="ccf-field-slug" class="field-slug" type="text" value="<%- field.slug %>">
|
722 |
</div>
|
723 |
<div>
|
724 |
<label for="ccf-field-label"><?php esc_html_e( 'Label:', 'custom-contact-forms' ); ?></label>
|
725 |
+
<input id="ccf-field-label" class="field-label" type="text" value="<%- field.label %>">
|
726 |
</div>
|
727 |
<div>
|
728 |
<label for="ccf-field-required"><?php esc_html_e( 'Required:', 'custom-contact-forms' ); ?></label>
|
743 |
<div class="section-content">
|
744 |
<div>
|
745 |
<label for="ccf-field-class-name"><?php esc_html_e( 'Class Name:', 'custom-contact-forms' ); ?></label>
|
746 |
+
<input id="ccf-field-class-name" class="field-class-name" type="text" value="<%- field.className %>">
|
747 |
</div>
|
748 |
</div>
|
749 |
</div>
|
756 |
</script>
|
757 |
|
758 |
<script type="text/html" id="ccf-single-line-text-preview-template">
|
759 |
+
<label><%- field.label %> <% if ( field.required ) { %><span>*</span><% } %></label>
|
760 |
+
<input disabled type="text" placeholder="<%- field.placeholder %>" value="<%- field.value %>">
|
761 |
</script>
|
762 |
|
763 |
<script type="text/html" id="ccf-paragraph-text-preview-template">
|
764 |
+
<label><%- field.label %> <% if ( field.required ) { %><span>*</span><% } %></label>
|
765 |
+
<textarea placeholder="<%- field.placeholder %>" disabled><%- field.value %></textarea>
|
766 |
</script>
|
767 |
|
768 |
<script type="text/html" id="ccf-dropdown-preview-template">
|
769 |
+
<label><%- field.label %> <% if ( field.required ) { %><span>*</span><% } %></label>
|
770 |
<select>
|
771 |
<% if ( field.choices.length === 0 || ( field.choices.length === 1 && ! field.choices.at( 0 ).get( 'label' ) && ! field.choices.at( 0 ).get( 'value' ) ) ) { %>
|
772 |
<option><?php esc_html_e( 'An example choice', 'custom-contact-forms' ); ?></option>
|
773 |
<%} else { %>
|
774 |
<% field.choices.each( function( choice ) { %>
|
775 |
+
<option value="<%- choice.get( 'value' ) %>"><%- choice.get( 'label' ) %></option>
|
776 |
<% }); %>
|
777 |
<% } %>
|
778 |
</select>
|
779 |
</script>
|
780 |
|
781 |
<script type="text/html" id="ccf-radio-preview-template">
|
782 |
+
<label><%- field.label %> <% if ( field.required ) { %><span>*</span><% } %></label>
|
783 |
<% if ( field.choices.length === 0 || ( field.choices.length === 1 && ! field.choices.at( 0 ).get( 'label' ) && ! field.choices.at( 0 ).get( 'value' ) ) ) { %>
|
784 |
<div>
|
785 |
<input type="radio" value="1" checked="checked"> <label><?php esc_html_e( 'An example choice', 'custom-contact-forms' ); ?></label>
|
787 |
<%} else { %>
|
788 |
<% field.choices.each( function( choice ) { %>
|
789 |
<div class="choice">
|
790 |
+
<input type="radio" value="<%- choice.get( 'value' ) %>" <% if ( choice.get( 'selected' ) ) { %>checked="checked"<% } %>> <label><%- choice.get( 'label' ) %></label>
|
791 |
</div>
|
792 |
<% }); %>
|
793 |
<% } %>
|
794 |
</script>
|
795 |
|
796 |
<script type="text/html" id="ccf-checkboxes-preview-template">
|
797 |
+
<label><%- field.label %> <% if ( field.required ) { %><span>*</span><% } %></label>
|
798 |
<% if ( field.choices.length === 0 || ( field.choices.length === 1 && ! field.choices.at( 0 ).get( 'label' ) && ! field.choices.at( 0 ).get( 'value' ) ) ) { %>
|
799 |
<div>
|
800 |
<input type="checkbox" value="1" checked="checked"> <label><?php esc_html_e( 'An example choice', 'custom-contact-forms' ); ?></label>
|
802 |
<%} else { %>
|
803 |
<% field.choices.each( function( choice ) { %>
|
804 |
<div class="choice">
|
805 |
+
<input type="checkbox" value="<%- choice.get( 'value' ) %>" <% if ( choice.get( 'selected' ) ) { %>checked="checked"<% } %>> <label><%- choice.get( 'label' ) %></label>
|
806 |
</div>
|
807 |
<% }); %>
|
808 |
<% } %>
|
818 |
|
819 |
<script type="text/html" id="ccf-section-header-preview-template">
|
820 |
<div class="heading">
|
821 |
+
<% if ( field.heading ) { %><%- field.heading %><% } else { %><?php esc_html_e( 'Section Heading', 'custom-contact-forms' ); ?><% } %>
|
822 |
</div>
|
823 |
+
<div class="subheading"><% if ( field.subheading ) { %><%- field.subheading %><% } else { %><?php esc_html_e( 'This is the sub-heading text.', 'custom-contact-forms' ); ?><% } %></div>
|
824 |
</script>
|
825 |
|
826 |
<script type="text/html" id="ccf-name-preview-template">
|
827 |
+
<label><%- field.label %> <% if ( field.required ) { %><span>*</span><% } %></label>
|
828 |
<div class="left">
|
829 |
<input type="text">
|
830 |
<label class="sub-label"><?php esc_html_e( 'First', 'custom-contact-forms' ); ?></label>
|
836 |
</script>
|
837 |
|
838 |
<script type="text/html" id="ccf-date-preview-template">
|
839 |
+
<label><%- field.label %> <% if ( field.required ) { %><span>*</span><% } %></label>
|
840 |
<% if ( field.showDate && ! field.showTime ) { %>
|
841 |
+
<input value="<%- field.value %>" class="ccf-datepicker" disabled type="text">
|
842 |
<% } else if ( ! field.showDate && field.showTime ) { %>
|
843 |
<div class="full">
|
844 |
<div class="hour">
|
881 |
</script>
|
882 |
|
883 |
<script type="text/html" id="ccf-address-preview-template">
|
884 |
+
<label><%- field.label %> <% if ( field.required ) { %><span>*</span><% } %></label>
|
885 |
<% if ( field.addressType === 'us' ) { %>
|
886 |
<div class="full">
|
887 |
<input type="text">
|
940 |
</script>
|
941 |
|
942 |
<script type="text/html" id="ccf-email-preview-template">
|
943 |
+
<label><%- field.label %> <% if ( field.required ) { %><span>*</span><% } %></label>
|
944 |
<% if ( ! field.emailConfirmation ) { %>
|
945 |
+
<input placeholder="<% if ( field.placeholder ) { %><%- field.placeholder %><% } else { %><?php esc_html_e( 'email@example.com', 'custom-contact-forms' ); ?><% } %>" disabled type="text" value="<%- field.value %>">
|
946 |
<% } else { %>
|
947 |
<div class="left">
|
948 |
<input type="text">
|
956 |
</script>
|
957 |
|
958 |
<script type="text/html" id="ccf-website-preview-template">
|
959 |
+
<label><%- field.label %> <% if ( field.required ) { %><span>*</span><% } %></label>
|
960 |
+
<input placeholder="<% if ( field.placeholder ) { %><%- field.placeholder %><% } else { %>http://<% } %>" disabled type="text" value="<%- field.value %>">
|
961 |
</script>
|
962 |
|
963 |
<script type="text/html" id="ccf-phone-preview-template">
|
964 |
+
<label><%- field.label %> <% if ( field.required ) { %><span>*</span><% } %></label>
|
965 |
+
<input placeholder="<% if ( field.placeholder ) { %><%- field.placeholder %><% } else { %>(301) 101-8976<% } %>" disabled type="text" value="<%- field.value %>">
|
966 |
</script>
|
967 |
|
968 |
<script type="text/html" id="ccf-existing-form-table-row-template">
|
969 |
|
970 |
+
<td><%- form.ID %></td>
|
971 |
<td>
|
972 |
+
<a class="edit edit-form title" data-view="form-pane" data-form-id="<%- form.ID %>" href="#form-pane-<%- form.ID %>"><% if ( form.title ) { %><%- form.title %><% } else { %><%- '<?php esc_html_e( '(No title)', 'custom-contact-forms' ); ?>' %><% } %></a>
|
973 |
<div class="actions">
|
974 |
+
<a class="edit edit-form" data-view="form-pane" data-form-id="<%- form.ID %>" href="#form-pane-<%- form.ID %>"><?php esc_html_e( 'Edit', 'custom-contact-forms' ); ?></a> |
|
975 |
<a class="insert-form-button"><?php esc_html_e( 'Insert into post', 'custom-contact-forms' ); ?></a> |
|
976 |
<a class="delete"><?php esc_html_e( 'Trash', 'custom-contact-forms' ); ?></a>
|
977 |
</div>
|
978 |
</td>
|
979 |
<td>
|
980 |
+
<%- utils.getPrettyPostDate( form.date ) %>
|
981 |
</td>
|
982 |
<td>
|
983 |
+
<%- form.author.username %>
|
984 |
</td>
|
985 |
<td>
|
986 |
+
<%- form.fields.length %>
|
987 |
</td>
|
988 |
<td>
|
989 |
0
|
991 |
</script>
|
992 |
|
993 |
<script type="text/html" id="ccf-form-mce-preview">
|
994 |
+
<div class="ccf-form-preview form-id-<%- form.ID %>">
|
995 |
<% if ( form.title ) { %>
|
996 |
+
<h2><%- form.title %></h2>
|
997 |
<% } %>
|
998 |
|
999 |
<% if ( form.description && form.description != '' ) { %>
|
1000 |
+
<p><%- form.description %></p>
|
1001 |
<% } %>
|
1002 |
|
1003 |
<% if ( form.fields ) { %>
|
1004 |
<% _.each( form.fields, function( field ) { %>
|
1005 |
+
<div class="field <%- field.type %> field-<%- field.ID %>">
|
1006 |
<%= field.preview %>
|
1007 |
</div>
|
1008 |
<% } ); %>
|
1009 |
<% } %>
|
1010 |
|
1011 |
<div class="field-submit">
|
1012 |
+
<input type="button" value="<%- form.buttonText %>">
|
1013 |
</div>
|
1014 |
</div>
|
1015 |
</script>
|
1025 |
<thead>
|
1026 |
<tr>
|
1027 |
<% _.each( columns, function( column ) { %>
|
1028 |
+
<th scope="col" class="manage-column column-<%- column %>">
|
1029 |
<% if ( 'date' === column ) { %>
|
1030 |
<?php esc_html_e( 'Date', 'custom-contact-forms' ); ?>
|
1031 |
<% } else { %>
|
1032 |
+
<%- column %>
|
1033 |
<% } %>
|
1034 |
</th>
|
1035 |
<% } ); %>
|
1039 |
<tfoot>
|
1040 |
<tr>
|
1041 |
<% _.each( columns, function( column ) { %>
|
1042 |
+
<th scope="col" class="manage-column column-<%- column %>">
|
1043 |
<% if ( 'date' === column ) { %>
|
1044 |
<?php esc_html_e( 'Date', 'custom-contact-forms' ); ?>
|
1045 |
<% } else { %>
|
1046 |
+
<%- column %>
|
1047 |
<% } %>
|
1048 |
</th>
|
1049 |
<% } ); %>
|
1053 |
|
1054 |
<tbody class="submission-rows">
|
1055 |
<tr>
|
1056 |
+
<td colspan="<%- columns.length + 1 %>">
|
1057 |
<div class="spinner"></div>
|
1058 |
</td>
|
1059 |
</tr>
|
1065 |
<script type="text/html" id="ccf-submission-row-template">
|
1066 |
<% _.each( currentColumns, function( column ) { %>
|
1067 |
<% if ( 'date' === column ) { %>
|
1068 |
+
<td colspan="1"><%- utils.getPrettyPostDate( submission.date ) %></td>
|
1069 |
<% } else { %>
|
1070 |
<td colspan="1">
|
1071 |
<% if ( submission.data[column] ) { %>
|
1072 |
<% if ( submission.data[column] instanceof Object ) { var output = '', i = 0; %>
|
1073 |
<% if ( utils.isFieldDate( submission.data[column] ) ) { %>
|
1074 |
+
<%- utils.getPrettyFieldDate( submission.data[column] ) %>
|
1075 |
<% } else if ( utils.isFieldName( submission.data[column] ) ) { %>
|
1076 |
+
<%- utils.getPrettyFieldName( submission.data[column] ) %>
|
1077 |
<% } else if ( utils.isFieldAddress( submission.data[column] ) ) { %>
|
1078 |
+
<%- utils.wordChop( utils.getPrettyFieldAddress( submission.data[column] ), 30 ) %>
|
1079 |
<% } else { %>
|
1080 |
<% for ( var key in submission.data[column] ) { if ( submission.data[column].hasOwnProperty( key ) ) {
|
1081 |
if ( i > 0 ) {
|
1085 |
|
1086 |
i++;
|
1087 |
} } %>
|
1088 |
+
<%- utils.wordChop( output, 30 ) %>
|
1089 |
<% } %>
|
1090 |
<% } else { %>
|
1091 |
+
<%- utils.wordChop( submission.data[column] ) %>
|
1092 |
<% } %>
|
1093 |
<% } else { %>
|
1094 |
<span><?php esc_html_e( '-', 'custom-contact-forms' ); ?></span>
|
1097 |
<% } %>
|
1098 |
<% } ); %>
|
1099 |
<td class="actions">
|
1100 |
+
<a href="#TB_inline?height=300&width=400&inlineId=submission-content" data-submission-date="<%- submission.date %>" data-submission-id="<%- submission.ID %>" class="view" data-icon=""></a>
|
1101 |
<a class="delete" data-icon=""></a>
|
1102 |
|
1103 |
+
<div class="submission-wrapper" id="ccf-submission-content-<%- submission.ID %>">
|
1104 |
<div class="ccf-submission-content">
|
1105 |
<% for ( column in submission.data ) { %>
|
1106 |
<div class="field-slug">
|
1107 |
+
<%- column %>
|
1108 |
</div>
|
1109 |
<div class="field-content">
|
1110 |
<% if ( submission.data[column] ) { %>
|
1111 |
<% if ( submission.data[column] instanceof Object ) { %>
|
1112 |
<% if ( utils.isFieldDate( submission.data[column] ) ) { %>
|
1113 |
+
<%- utils.getPrettyFieldDate( submission.data[column] ) %>
|
1114 |
<% } else if ( utils.isFieldName( submission.data[column] ) ) { %>
|
1115 |
+
<%- utils.getPrettyFieldName( submission.data[column] ) %>
|
1116 |
<% } else if ( utils.isFieldAddress( submission.data[column] ) ) { %>
|
1117 |
+
<%- utils.getPrettyFieldAddress( submission.data[column] ) %>
|
1118 |
<% } else { %>
|
1119 |
<% for ( var key in submission.data[column] ) { if ( submission.data[column].hasOwnProperty( key ) ) { %>
|
1120 |
+
<% if ( isNaN( key ) ) { %><strong><%- key %>:</strong> <% } %><%- submission.data[column][key] %><br>
|
1121 |
<% } } %>
|
1122 |
<% } %>
|
1123 |
<% } else { %>
|
1124 |
+
<%- submission.data[column] %>
|
1125 |
<% } %>
|
1126 |
<% } else { %>
|
1127 |
<span>-</span>
|
1135 |
|
1136 |
|
1137 |
<script type="text/html" id="ccf-no-submissions-row-template">
|
1138 |
+
<td colspan="<%- columns.length + 1 %>" class="no-submissions"><?php esc_html_e( 'There are no submissions.', 'custom-contact-forms' ); ?></td>
|
1139 |
</script>
|
1140 |
|
1141 |
<script type="text/html" id="ccf-submissions-controller-template">
|
1142 |
<% var i = 0; _.each( columns, function( column ) { %>
|
1143 |
|
1144 |
+
<label for="ccf-column-<%- column %>">
|
1145 |
+
<input class="submission-column-checkbox" type="checkbox" id="ccf-column-<%- column %>" <% if ( i < 4 || 'date' === column ) { %>checked<% } %> value="<%- column %>">
|
1146 |
<% if ( 'date' === column ) { %>
|
1147 |
<?php esc_html_e( 'Date', 'custom-contact-forms' ); ?>
|
1148 |
<% } else { %>
|
1149 |
+
<%- column %>
|
1150 |
<% } %>
|
1151 |
</label>
|
1152 |
|
classes/class-ccf-form-renderer.php
CHANGED
@@ -158,6 +158,7 @@ class CCF_Form_Renderer {
|
|
158 |
</div>
|
159 |
|
160 |
<input type="hidden" name="form_id" value="<?php echo (int) $form_id; ?>">
|
|
|
161 |
<input type="text" name="my_information" style="display: none;">
|
162 |
<input type="hidden" name="ccf_form" value="1">
|
163 |
<input type="hidden" name="form_nonce" value="<?php echo wp_create_nonce( 'ccf_form' ); ?>">
|
158 |
</div>
|
159 |
|
160 |
<input type="hidden" name="form_id" value="<?php echo (int) $form_id; ?>">
|
161 |
+
<input type="hidden" name="form_page" value="<?php echo esc_url( untrailingslashit( site_url() ) . $_SERVER['REQUEST_URI'] ); ?>">
|
162 |
<input type="text" name="my_information" style="display: none;">
|
163 |
<input type="hidden" name="ccf_form" value="1">
|
164 |
<input type="hidden" name="form_nonce" value="<?php echo wp_create_nonce( 'ccf_form' ); ?>">
|
classes/class-ccf-upgrader.php
CHANGED
@@ -34,7 +34,7 @@ class CCF_Upgrader {
|
|
34 |
?>
|
35 |
<div class="update-nag">
|
36 |
<p>
|
37 |
-
<?php esc_html_e( 'Did you just upgrade to a post 6.0 version of Custom Contact Forms? If so, you might need to upgrade your database to use your old forms.', 'custom-contact-forms' ); ?>
|
38 |
<a href="<?php echo esc_url( admin_url( '?ccf_upgrade=1&nonce=' . $nonce ) ); ?>" class="button"><?php esc_html_e( 'Upgrade', 'custom-contact-forms' ); ?></a>
|
39 |
<a href="<?php echo esc_url( admin_url( '?ccf_upgrade=0&nonce=' . $nonce ) ); ?>" class="button"><?php esc_html_e( 'Dismiss', 'custom-contact-forms' ); ?></a>
|
40 |
</p>
|
34 |
?>
|
35 |
<div class="update-nag">
|
36 |
<p>
|
37 |
+
<?php esc_html_e( 'Did you just upgrade to a post 6.0 version of Custom Contact Forms? If so, you might need to upgrade your database to use your old forms. Please backup your database before running the upgrade.', 'custom-contact-forms' ); ?>
|
38 |
<a href="<?php echo esc_url( admin_url( '?ccf_upgrade=1&nonce=' . $nonce ) ); ?>" class="button"><?php esc_html_e( 'Upgrade', 'custom-contact-forms' ); ?></a>
|
39 |
<a href="<?php echo esc_url( admin_url( '?ccf_upgrade=0&nonce=' . $nonce ) ); ?>" class="button"><?php esc_html_e( 'Dismiss', 'custom-contact-forms' ); ?></a>
|
40 |
</p>
|
custom-contact-forms.php
CHANGED
@@ -4,7 +4,7 @@
|
|
4 |
* Plugin URI: http://www.taylorlovett.com
|
5 |
* Description: Build beautiful custom forms the WordPress way. View live previews of your forms while you build them.
|
6 |
* Author: Taylor Lovett
|
7 |
-
* Version: 6.1.
|
8 |
* Author URI: http://www.taylorlovett.com
|
9 |
*/
|
10 |
|
4 |
* Plugin URI: http://www.taylorlovett.com
|
5 |
* Description: Build beautiful custom forms the WordPress way. View live previews of your forms while you build them.
|
6 |
* Author: Taylor Lovett
|
7 |
+
* Version: 6.1.4
|
8 |
* Author URI: http://www.taylorlovett.com
|
9 |
*/
|
10 |
|
js/manager/models.js
CHANGED
@@ -17,6 +17,34 @@
|
|
17 |
return Backbone.Model.prototype.set.call( this, key, value, options );
|
18 |
};
|
19 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
20 |
wp.ccf.models.FieldChoice = wp.ccf.models.FieldChoice || Backbone.Model.extend(
|
21 |
{
|
22 |
defaults: {
|
@@ -25,6 +53,10 @@
|
|
25 |
selected: false
|
26 |
},
|
27 |
|
|
|
|
|
|
|
|
|
28 |
set: _modelSet
|
29 |
}
|
30 |
);
|
@@ -36,6 +68,10 @@
|
|
36 |
|
37 |
set: _modelSet,
|
38 |
|
|
|
|
|
|
|
|
|
39 |
defaults: function() {
|
40 |
var defaults = {
|
41 |
fields: new wp.ccf.collections.Fields(),
|
@@ -56,6 +92,13 @@
|
|
56 |
return defaults;
|
57 |
},
|
58 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
59 |
getFieldSlugs: function( mutableOnly ) {
|
60 |
var fields = wp.ccf.currentForm.get( 'fields' ),
|
61 |
columns = [];
|
@@ -93,7 +136,9 @@
|
|
93 |
|
94 |
if ( choices && choices.length > 0 ) {
|
95 |
for ( var z = 0; z < newField.choices; z++ ) {
|
96 |
-
choices.at( z )
|
|
|
|
|
97 |
}
|
98 |
}
|
99 |
|
@@ -101,6 +146,7 @@
|
|
101 |
}
|
102 |
|
103 |
field.set( newField );
|
|
|
104 |
}
|
105 |
}
|
106 |
|
@@ -109,7 +155,10 @@
|
|
109 |
var newFields = [];
|
110 |
|
111 |
_.each( response.fields, function( field ) {
|
112 |
-
|
|
|
|
|
|
|
113 |
});
|
114 |
|
115 |
response.fields = new wp.ccf.collections.Fields( newFields, { formId: response.ID } );
|
@@ -160,6 +209,10 @@
|
|
160 |
return [ 'slug' ];
|
161 |
},
|
162 |
|
|
|
|
|
|
|
|
|
163 |
hasRequiredAttributes: function() {
|
164 |
var SELF = this;
|
165 |
var reqsMet = true;
|
@@ -366,7 +419,10 @@
|
|
366 |
var choices = [];
|
367 |
|
368 |
_.each( attributes.choices, function( choice ) {
|
369 |
-
|
|
|
|
|
|
|
370 |
});
|
371 |
|
372 |
this.set( 'choices', new wp.ccf.collections.FieldChoices( choices ) );
|
17 |
return Backbone.Model.prototype.set.call( this, key, value, options );
|
18 |
};
|
19 |
|
20 |
+
/**
|
21 |
+
* We decode HTML entities after syncing then escape on output. The
|
22 |
+
* point of this is to prevent double escaping.
|
23 |
+
*/
|
24 |
+
var _modelDecode = function( excludeKeys ) {
|
25 |
+
for ( var key in this.attributes ) {
|
26 |
+
if ( excludeKeys.indexOf( key ) === -1 ) {
|
27 |
+
var value = this.get( key );
|
28 |
+
|
29 |
+
if ( typeof value === 'string' && value !== '' ) {
|
30 |
+
value = String( value )
|
31 |
+
.replace( /&/g, '&' )
|
32 |
+
.replace( /</g, '<' )
|
33 |
+
.replace( />/g, '>' )
|
34 |
+
.replace( /"/g, '"' )
|
35 |
+
.replace( /“/g, '”' )
|
36 |
+
.replace( /”/g, '”' )
|
37 |
+
.replace( /‘/g, "‘" )
|
38 |
+
.replace( /'/g, "'" );
|
39 |
+
|
40 |
+
this.set( key, value );
|
41 |
+
}
|
42 |
+
}
|
43 |
+
}
|
44 |
+
|
45 |
+
return this;
|
46 |
+
};
|
47 |
+
|
48 |
wp.ccf.models.FieldChoice = wp.ccf.models.FieldChoice || Backbone.Model.extend(
|
49 |
{
|
50 |
defaults: {
|
53 |
selected: false
|
54 |
},
|
55 |
|
56 |
+
decode: function() {
|
57 |
+
return _modelDecode.call( this, [] );
|
58 |
+
},
|
59 |
+
|
60 |
set: _modelSet
|
61 |
}
|
62 |
);
|
68 |
|
69 |
set: _modelSet,
|
70 |
|
71 |
+
initialize: function() {
|
72 |
+
this.on( 'sync', this.decode, this );
|
73 |
+
},
|
74 |
+
|
75 |
defaults: function() {
|
76 |
var defaults = {
|
77 |
fields: new wp.ccf.collections.Fields(),
|
92 |
return defaults;
|
93 |
},
|
94 |
|
95 |
+
decode: function() {
|
96 |
+
var keys = _.keys( wp.api.models.Post.prototype.defaults );
|
97 |
+
keys = _.without( keys, 'title' );
|
98 |
+
|
99 |
+
return _modelDecode.call( this, keys );
|
100 |
+
},
|
101 |
+
|
102 |
getFieldSlugs: function( mutableOnly ) {
|
103 |
var fields = wp.ccf.currentForm.get( 'fields' ),
|
104 |
columns = [];
|
136 |
|
137 |
if ( choices && choices.length > 0 ) {
|
138 |
for ( var z = 0; z < newField.choices; z++ ) {
|
139 |
+
var choice = choices.at( z );
|
140 |
+
choice.set( newField.choices[z] );
|
141 |
+
choice.decode();
|
142 |
}
|
143 |
}
|
144 |
|
146 |
}
|
147 |
|
148 |
field.set( newField );
|
149 |
+
field.decode();
|
150 |
}
|
151 |
}
|
152 |
|
155 |
var newFields = [];
|
156 |
|
157 |
_.each( response.fields, function( field ) {
|
158 |
+
var fieldModel = new wp.ccf.models.Fields[field.type]( field );
|
159 |
+
fieldModel.decode();
|
160 |
+
|
161 |
+
newFields.push( fieldModel );
|
162 |
});
|
163 |
|
164 |
response.fields = new wp.ccf.collections.Fields( newFields, { formId: response.ID } );
|
209 |
return [ 'slug' ];
|
210 |
},
|
211 |
|
212 |
+
decode: function() {
|
213 |
+
return _modelDecode.call( this, _.keys( wp.api.models.Post.prototype.defaults ) );
|
214 |
+
},
|
215 |
+
|
216 |
hasRequiredAttributes: function() {
|
217 |
var SELF = this;
|
218 |
var reqsMet = true;
|
419 |
var choices = [];
|
420 |
|
421 |
_.each( attributes.choices, function( choice ) {
|
422 |
+
var choiceModel = new wp.ccf.models.FieldChoice( choice );
|
423 |
+
choiceModel.decode();
|
424 |
+
|
425 |
+
choices.push( choiceModel );
|
426 |
});
|
427 |
|
428 |
this.set( 'choices', new wp.ccf.collections.FieldChoices( choices ) );
|
readme.txt
CHANGED
@@ -4,7 +4,7 @@ Donate link: http://www.taylorlovett.com
|
|
4 |
Tags: contact form, web form, custom contact form, custom forms, captcha form, contact fields, form mailers, forms
|
5 |
Requires at least: 3.9
|
6 |
Tested up to: 4.1
|
7 |
-
Stable tag: 6.1.
|
8 |
|
9 |
Build beautiful custom forms the WordPress way. View live previews of your forms while you build them.
|
10 |
|
@@ -33,6 +33,12 @@ For questions, feature requests, and support concerning the Custom Contact Forms
|
|
33 |
|
34 |
= Changelog ==
|
35 |
|
|
|
|
|
|
|
|
|
|
|
|
|
36 |
= 6.1.2 =
|
37 |
* Force JSON url to obey current protocol
|
38 |
* Enqueue scripts earlier
|
4 |
Tags: contact form, web form, custom contact form, custom forms, captcha form, contact fields, form mailers, forms
|
5 |
Requires at least: 3.9
|
6 |
Tested up to: 4.1
|
7 |
+
Stable tag: 6.1.4
|
8 |
|
9 |
Build beautiful custom forms the WordPress way. View live previews of your forms while you build them.
|
10 |
|
33 |
|
34 |
= Changelog ==
|
35 |
|
36 |
+
= 6.1.4 =
|
37 |
+
* Decode html entities on model sync. Escape entities on output.
|
38 |
+
|
39 |
+
= 6.1.3 =
|
40 |
+
* Fix form page bug
|
41 |
+
|
42 |
= 6.1.2 =
|
43 |
* Force JSON url to obey current protocol
|
44 |
* Enqueue scripts earlier
|