(function (){
var requirejs, require, define;
(function (undef){
var main, req, makeMap, handlers,
defined={},
waiting={},
config={},
defining={},
hasOwn=Object.prototype.hasOwnProperty,
aps=[].slice,
jsSuffixRegExp=/\.js$/;
function hasProp(obj, prop){
return hasOwn.call(obj, prop);
}
function normalize(name, baseName){
var nameParts, nameSegment, mapValue, foundMap, lastIndex,
foundI, foundStarMap, starI, i, j, part,
baseParts=baseName&&baseName.split("/"),
map=config.map,
starMap=(map&&map['*'])||{};
if(name&&name.charAt(0)==="."){
if(baseName){
name=name.split('/');
lastIndex=name.length - 1;
if(config.nodeIdCompat&&jsSuffixRegExp.test(name[lastIndex])){
name[lastIndex]=name[lastIndex].replace(jsSuffixRegExp, '');
}
name=baseParts.slice(0, baseParts.length - 1).concat(name);
for (i=0; i < name.length; i +=1){
part=name[i];
if(part==="."){
name.splice(i, 1);
i -=1;
}else if(part===".."){
if(i===1&&(name[2]==='..'||name[0]==='..')){
break;
}else if(i > 0){
name.splice(i - 1, 2);
i -=2;
}}
}
name=name.join("/");
}else if(name.indexOf('./')===0){
name=name.substring(2);
}}
if((baseParts||starMap)&&map){
nameParts=name.split('/');
for (i=nameParts.length; i > 0; i -=1){
nameSegment=nameParts.slice(0, i).join("/");
if(baseParts){
for (j=baseParts.length; j > 0; j -=1){
mapValue=map[baseParts.slice(0, j).join('/')];
if(mapValue){
mapValue=mapValue[nameSegment];
if(mapValue){
foundMap=mapValue;
foundI=i;
break;
}}
}}
if(foundMap){
break;
}
if(!foundStarMap&&starMap&&starMap[nameSegment]){
foundStarMap=starMap[nameSegment];
starI=i;
}}
if(!foundMap&&foundStarMap){
foundMap=foundStarMap;
foundI=starI;
}
if(foundMap){
nameParts.splice(0, foundI, foundMap);
name=nameParts.join('/');
}}
return name;
}
function makeRequire(relName, forceSync){
return function (){
var args=aps.call(arguments, 0);
if(typeof args[0]!=='string'&&args.length===1){
args.push(null);
}
return req.apply(undef, args.concat([relName, forceSync]));
};}
function makeNormalize(relName){
return function (name){
return normalize(name, relName);
};}
function makeLoad(depName){
return function (value){
defined[depName]=value;
};}
function callDep(name){
if(hasProp(waiting, name)){
var args=waiting[name];
delete waiting[name];
defining[name]=true;
main.apply(undef, args);
}
if(!hasProp(defined, name)&&!hasProp(defining, name)){
throw new Error('No ' + name);
}
return defined[name];
}
function splitPrefix(name){
var prefix,
index=name ? name.indexOf('!'):-1;
if(index > -1){
prefix=name.substring(0, index);
name=name.substring(index + 1, name.length);
}
return [prefix, name];
}
makeMap=function (name, relName){
var plugin,
parts=splitPrefix(name),
prefix=parts[0];
name=parts[1];
if(prefix){
prefix=normalize(prefix, relName);
plugin=callDep(prefix);
}
if(prefix){
if(plugin&&plugin.normalize){
name=plugin.normalize(name, makeNormalize(relName));
}else{
name=normalize(name, relName);
}}else{
name=normalize(name, relName);
parts=splitPrefix(name);
prefix=parts[0];
name=parts[1];
if(prefix){
plugin=callDep(prefix);
}}
return {
f: prefix ? prefix + '!' + name:name,
n: name,
pr: prefix,
p: plugin
};};
function makeConfig(name){
return function (){
return (config&&config.config&&config.config[name])||{};};
}
handlers={
require: function (name){
return makeRequire(name);
},
exports: function (name){
var e=defined[name];
if(typeof e!=='undefined'){
return e;
}else{
return (defined[name]={});
}},
module: function (name){
return {
id: name,
uri: '',
exports: defined[name],
config: makeConfig(name)
};}};
main=function (name, deps, callback, relName){
var cjsModule, depName, ret, map, i,
args=[],
callbackType=typeof callback,
usingExports;
relName=relName||name;
if(callbackType==='undefined'||callbackType==='function'){
deps = !deps.length&&callback.length ? ['require', 'exports', 'module']:deps;
for (i=0; i < deps.length; i +=1){
map=makeMap(deps[i], relName);
depName=map.f;
if(depName==="require"){
args[i]=handlers.require(name);
}else if(depName==="exports"){
args[i]=handlers.exports(name);
usingExports=true;
}else if(depName==="module"){
cjsModule=args[i]=handlers.module(name);
}else if(hasProp(defined, depName) ||
hasProp(waiting, depName) ||
hasProp(defining, depName)){
args[i]=callDep(depName);
}else if(map.p){
map.p.load(map.n, makeRequire(relName, true), makeLoad(depName), {});
args[i]=defined[depName];
}else{
throw new Error(name + ' missing ' + depName);
}}
ret=callback ? callback.apply(defined[name], args):undefined;
if(name){
if(cjsModule&&cjsModule.exports!==undef &&
cjsModule.exports!==defined[name]){
defined[name]=cjsModule.exports;
}else if(ret!==undef||!usingExports){
defined[name]=ret;
}}
}else if(name){
defined[name]=callback;
}};
requirejs=require=req=function (deps, callback, relName, forceSync, alt){
if(typeof deps==="string"){
if(handlers[deps]){
return handlers[deps](callback);
}
return callDep(makeMap(deps, callback).f);
}else if(!deps.splice){
config=deps;
if(config.deps){
req(config.deps, config.callback);
}
if(!callback){
return;
}
if(callback.splice){
deps=callback;
callback=relName;
relName=null;
}else{
deps=undef;
}}
callback=callback||function (){};
if(typeof relName==='function'){
relName=forceSync;
forceSync=alt;
}
if(forceSync){
main(undef, deps, callback, relName);
}else{
setTimeout(function (){
main(undef, deps, callback, relName);
}, 4);
}
return req;
};
req.config=function (cfg){
return req(cfg);
};
requirejs._defined=defined;
define=function (name, deps, callback){
if(typeof name!=='string'){
throw new Error('See almond README: incorrect module build, no module name');
}
if(!deps.splice){
callback=deps;
deps=[];
}
if(!hasProp(defined, name)&&!hasProp(waiting, name)){
waiting[name]=[name, deps, callback];
}};
define.amd={
jQuery: true
};}());
define("../lib/almond", function(){});
define('views/header',[], function(){
var view=Marionette.ItemView.extend({
template: "#tmpl-nf-mp-header",
fullProgressBar: false,
initialize: function(options){
this.listenTo(this.collection, 'change:part', this.reRender);
this.listenTo(this.collection, 'change:errors', this.reRender);
this.listenTo(nfRadio.channel('forms'), 'before:submit', this.fillProgressBar);
},
reRender: function(){
this.model=this.collection.getElement();
this.render();
},
templateHelpers: function(){
var that=this;
return {
renderPartTitle: function(){
if('undefined'==typeof that.collection.formModel.get('settings').mp_display_titles||0==that.collection.formModel.get('settings').mp_display_titles) return '';
var template=Backbone.Radio.channel('app').request('get:template', '#tmpl-nf-mp-part-title');
var parts=_.invoke(that.collection.getVisibleParts(), 'pick', [ 'title', 'errors', 'visible' ])
if(1 < parts.length){
return template( { title: this.title });
}else{
return '';
}},
renderBreadcrumbs: function(){
if('undefined'==typeof that.collection.formModel.get('settings').mp_breadcrumb||0==that.collection.formModel.get('settings').mp_breadcrumb) return '';
var template=Backbone.Radio.channel('app').request('get:template', '#tmpl-nf-mp-breadcrumbs');
var parts=_.invoke(that.collection.getVisibleParts(), 'pick', [ 'title', 'errors', 'visible' ])
if(1 < parts.length){
return template( { parts: parts, currentIndex: that.collection.getVisibleParts().indexOf(that.model) });
}else{
return '';
}},
renderProgressBar: function(){
if('undefined'==typeof that.collection.formModel.get('settings').mp_progress_bar||0==that.collection.formModel.get('settings').mp_progress_bar) return '';
var template=Backbone.Radio.channel('app').request('get:template', '#tmpl-nf-mp-progress-bar');
var currentIndex=that.collection.getVisibleParts().indexOf(that.model);
var percent=(that.fullProgressBar) ? 100:currentIndex / that.collection.getVisibleParts().length * 100;
if(1 < that.collection.getVisibleParts().length){
return template( { percent: percent });
}else{
return '';
}}
}},
events: {
'click .nf-breadcrumb': 'clickBreadcrumb'
},
clickBreadcrumb: function(e){
e.preventDefault();
this.collection.setElement(this.collection.getVisibleParts()[ jQuery(e.target).data('index') ]);
},
fillProgressBar: function(formModel){
this.fullProgressBar=true;
this.render();
this.fullProgressBar=false;
}});
return view;
});
define('views/footer',[], function(){
var view=Marionette.ItemView.extend({
template: "#tmpl-nf-mp-footer",
initialize: function(options){
this.listenTo(this.collection, 'change:part', this.reRender);
},
reRender: function(){
this.model=this.collection.getElement();
this.render();
},
templateHelpers: function(){
var that=this;
return {
renderNextPrevious: function(){
var template=Backbone.Radio.channel('app').request('get:template', '#tmpl-nf-mp-next-previous');
var showNext=false;
var showPrevious=false;
var visibleParts=that.collection.where({ visible: true });
if(visibleParts.indexOf(that.model)!=visibleParts.length - 1){
showNext=true;
}
if(visibleParts.indexOf(that.model)!=0){
showPrevious=true;
}
if(! showNext&&! showPrevious) return '';
var prevLabel=that.collection.formModel.get('mp_prev_label')||nfMPSettings.prevLabel;
var nextLabel=that.collection.formModel.get('mp_next_label')||nfMPSettings.nextLabel;
return template( { showNext: showNext, showPrevious: showPrevious, prevLabel: prevLabel, nextLabel: nextLabel });
},
}}
});
return view;
});
define('views/formContent',[ 'views/header', 'views/footer' ], function(HeaderView, FooterView){
var view=Marionette.LayoutView.extend({
template: "#tmpl-nf-mp-form-content",
regions: {
header: '.nf-mp-header',
body: '.nf-mp-body',
footer: '.nf-mp-footer'
},
initialize: function(options){
this.formModel=options.formModel;
this.collection=options.data;
this.listenTo(this.collection, 'change:part', this.changePart);
this.listenTo(this.collection, 'change:visible', this.renderHeaderFooter);
},
onRender: function(){
this.header.show(new HeaderView( { collection: this.collection, model: this.collection.getElement() }) );
var formContentViewFilters=nfRadio.channel('formContent').request('get:viewFilters');
var sortedArray=_.without(formContentViewFilters, undefined);
var callback=sortedArray[1];
this.formContentView=callback();
this.body.show(new this.formContentView({ collection: this.collection.getElement().get('formContentData') }) );
this.footer.show(new FooterView( { collection: this.collection, model: this.collection.getElement() }) );
},
renderHeaderFooter: function(){
this.header.show(new HeaderView( { collection: this.collection, model: this.collection.getElement() }) );
this.footer.show(new FooterView( { collection: this.collection, model: this.collection.getElement() }) );
},
changePart: function(){
this.body.show(new this.formContentView({ collection: this.collection.getElement().get('formContentData') }) );
var formTop=jQuery(this.body.el).closest('.nf-form-cont').offset().top;
if(jQuery(window).scrollTop() > formTop - 50){
jQuery(window).scrollTop(formTop - 50);
}},
events: {
'click .nf-next': 'clickNext',
'click .nf-previous': 'clickPrevious'
},
clickNext: function(e){
e.preventDefault();
this.collection.next();
},
clickPrevious: function(e){
e.preventDefault();
this.collection.previous();
}});
return view;
});
define('models/partModel',[], function(){
var model=Backbone.Model.extend({
fieldErrors: {},
defaults: {
errors: false,
visible: true,
title: ''
},
initialize: function(){
this.filterFormContentData();
this.listenTo(this.get('formContentData'), 'change:errors', this.maybeChangeActivePart);
this.fieldErrors[ this.cid ]=[];
this.on('change:visible', this.changeVisible, this);
this.set('order', Number(this.get('order') ));
},
filterFormContentData: function(){
if(! this.get('formContentData') ) return;
var formContentData=this.get('formContentData');
var formContentLoadFilters=nfRadio.channel('formContent').request('get:loadFilters');
var sortedArray=_.without(formContentLoadFilters, undefined);
var callback=sortedArray[ 1 ];
var empty=(0==formContentData.length) ? true:false;
if('undefined'==typeof formContentLoadFilters[4]&&_.isArray(formContentData)&&0!=formContentData.length&&'undefined'!=typeof formContentData[0].cells){
var partFields=[];
var cells=_.pluck(formContentData, 'cells');
_.each(cells, function(cell){
var fields=_.flatten(_.pluck(cell, 'fields') );
partFields=_.union(partFields, fields);
});
formContentData=partFields;
this.set('formContentData', formContentData);
}
this.set('formContentData', callback(formContentData, this.collection.formModel, empty, formContentData) );
},
maybeChangeActivePart: function(fieldModel){
if(0 < fieldModel.get('errors').length){
this.set('errors', true);
this.fieldErrors[ this.cid ].push(fieldModel.get('key') );
if(this.collection.getElement()!=this &&
this.collection.indexOf(this.collection.getElement()) > this.collection.indexOf(this)
){
this.collection.setElement(this);
}}else{
this.fieldErrors[ this.cid ]=_.without(this.fieldErrors[ this.cid ], fieldModel.get('key') );
if(0==this.fieldErrors[ this.cid ].length){
this.set('errors', false);
}}
},
validateFields: function(){
this.get('formContentData').validateFields();
},
changeVisible: function(){
if(this.get('visible') ){
this.get('formContentData').showFields();
}else{
this.get('formContentData').hideFields();
}}
});
return model;
});
define('models/partCollection',[ 'models/partModel' ], function(PartModel){
var collection=Backbone.Collection.extend({
model: PartModel,
currentElement: false,
initialize: function(models, options){
this.formModel=options.formModel;
},
getElement: function(){
if(! this.currentElement){
this.setElement(this.at(0), true);
}
return this.currentElement;
},
setElement: function(model, silent){
silent=silent||false;
if(! silent){
if(this.partErrors()) return;
}
this.currentElement=model;
if(! silent){
this.trigger('change:part', this);
nfRadio.channel('nfMP').trigger('change:part', this);
}},
setNextElement: function(model, silent){
silent=silent||false;
if(! silent){
if(this.partErrors()) return;
}
this.currentElement=model;
if(! silent){
this.trigger('change:part', this);
nfRadio.channel('nfMP').trigger('change:part', this);
}},
setPreviousElement: function(model, silent){
silent=silent||false;
this.currentElement=model;
if(! silent){
this.trigger('change:part', this);
nfRadio.channel('nfMP').trigger('change:part', this);
}},
next: function (){
if(this.getVisibleParts().length - 1!=this.getVisibleParts().indexOf(this.getElement()) ){
this.setNextElement(this.getVisibleParts()[ this.getVisibleParts().indexOf(this.getElement()) + 1 ]);
}
return this;
},
previous: function(){
if(0!=this.getVisibleParts().indexOf(this.getElement()) ){
this.setPreviousElement(this.getVisibleParts()[ this.getVisibleParts().indexOf(this.getElement()) - 1 ]);
}
return this;
},
partErrors: function(){
if('undefined'==typeof this.formModel.get('settings').mp_validate||0==this.formModel.get('settings').mp_validate) return false;
this.currentElement.validateFields();
return this.currentElement.get('errors');
},
validateFields: function(){
_.each(this.getVisibleParts(), function(partModel){ partModel.validateFields(); });
},
getVisibleParts: function(){
return this.where({ visible: true });
}});
return collection;
});
define('controllers/loadFilters',[ 'views/formContent', 'models/partCollection' ], function(FormContentView, PartCollection){
var controller=Marionette.Object.extend({
initialize: function(){
nfRadio.channel('formContent').request('add:viewFilter', this.getformContentView, 1);
nfRadio.channel('formContent').request('add:loadFilter', this.formContentLoad, 1);
},
getformContentView: function(formContentData){
return FormContentView;
},
formContentLoad: function(formContentData, formModel){
if(true===formContentData instanceof PartCollection) return formContentData;
if(_.isArray(formContentData)&&0!=_.isArray(formContentData).length&&'undefined'!=typeof _.first(formContentData)&&'part'==_.first(formContentData).type){
var partCollection=new PartCollection(formContentData, { formModel: formModel });
}else{
var partCollection=new PartCollection( { formContentData: formContentData }, { formModel: formModel });
}
return partCollection;
}});
return controller;
});
define('controllers/conditionalLogic',[], function(){
var controller=Marionette.Object.extend({
initialize: function(){
nfRadio.channel('condition:trigger').reply('show_part', this.showPart, this);
nfRadio.channel('condition:trigger').reply('hide_part', this.hidePart, this);
},
showPart: function(conditionModel, then){
conditionModel.set('alreadyTriggered', true);
this.changePartVisibility(conditionModel, then, true);
conditionModel.set('alreadyTriggered', false);
},
hidePart: function(conditionModel, then){
conditionModel.set('alreadyTriggered', true);
this.changePartVisibility(conditionModel, then, false);
conditionModel.set('alreadyTriggered', false);
},
changePartVisibility: function(conditionModel, then, visible){
var mpResetFlag=Date.now();
if(! conditionModel.collection.mpResetFlag){
conditionModel.collection.mpResetFlag=mpResetFlag;
}
var partCollection=conditionModel.collection.formModel.get('formContentData');
partCollection.findWhere({ key: then.key }).set('visible', visible);
conditionModel.collection.each(function(model){
if(model==conditionModel) return;
if(model.get('alreadyTriggered') ) return;
model.checkWhen();
model.set('alreadyTriggered', true);
});
if(mpResetFlag==conditionModel.collection.mpResetFlag){
conditionModel.collection.invoke('set', { 'alreadyTriggered': false });
conditionModel.collection.mpResetFlag=false;
}}
});
return controller;
});
define('controllers/renderRecaptcha',[], function(){
var controller=Marionette.Object.extend({
initialize: function(){
this.listenTo(nfRadio.channel('nfMP'), 'change:part', this.changePart, this);
},
changePart: function(conditionModel, then){
jQuery('.g-recaptcha').each(function(){
var callback=jQuery(this).data('callback');
var fieldID=jQuery(this).data('fieldid');
if(typeof window[ callback ]!=='function'){
window[ callback ]=function(response){
nfRadio.channel('recaptcha').request('update:response', response, fieldID);
};}
var opts={
theme: jQuery(this).data('theme'),
sitekey: jQuery(this).data('sitekey'),
callback: callback
};
grecaptcha.render(jQuery(this)[0], opts);
});
},
});
return controller;
});
define('controllers/renderTurnstile',[], function(){
var controller=Marionette.Object.extend({
initialize: function(){
this.listenTo(nfRadio.channel('nfMP'), 'change:part', this.changePart, this);
},
changePart: function(conditionModel, then){
setTimeout(function(){
jQuery('.cf-turnstile, .nf-cf-turnstile').each(function(){
var element=this;
var sitekey=jQuery(element).data('sitekey');
var fieldID=jQuery(element).data('fieldid');
if(! sitekey||jQuery(element).children().length > 0){
return;
}
if(typeof turnstile==='undefined'){
return;
}
try {
var callbackName='nfTurnstileCallback_' + fieldID;
window[ callbackName ]=function(token){
var input=document.getElementById('nf-field-' + fieldID);
if(input){
input.value=token;
jQuery(input).trigger('change');
jQuery(input).closest('.field-wrap').removeClass('nf-error');
jQuery(input).closest('.field-wrap').find('.nf-error-msg').remove();
}
if(typeof nfRadio!=='undefined'&&nfRadio.channel){
try {
nfRadio.channel('turnstile').request('update:response', token, fieldID);
} catch(e){
}}
};
turnstile.render(element, {
sitekey: sitekey,
theme: jQuery(element).data('theme')||'auto',
size: jQuery(element).data('size')||'normal',
callback: callbackName
});
} catch(e){
console.warn('Turnstile render error:', e);
}});
}, 100);
}});
return controller;
});
define('controllers/renderHelpText',[], function(){
var controller=Marionette.Object.extend({
initialize: function(){
this.listenTo(nfRadio.channel('nfMP'), 'change:part', this.changePart, this);
},
changePart: function(conditionModel, then){
jQuery('.nf-help').each(function(){
var jBox=jQuery(this).jBox('Tooltip', {
theme: 'TooltipBorder',
content: jQuery(this).data('text')
});
});
},
});
return controller;
});
define('controllers/fieldValuePreserver',[], function(){
var controller=Marionette.Object.extend({
fieldCache: {},
dateOnlyCache: {},
initialize: function(){
var self=this;
jQuery(document).on('change', '.hour, .minute, .ampm', function(e){
self.onTimeSelectChange(e);
});
jQuery(document).on('mousedown', '.nf-next, .nf-previous', function(e){
self.cacheAllVisibleTimeFields();
self.cacheDateOnlyFields();
});
this.listenTo(nfRadio.channel('forms'), 'before:submit', this.onBeforeSubmit);
},
cacheAllVisibleTimeFields: function(){
var self=this;
jQuery('.nf-field-container').each(function(){
var $container=jQuery(this);
var $hour=$container.find('.hour');
if(! $hour.length) return;
var fieldId=$container.data('id');
if(! fieldId){
var $input=$container.find('.nf-element').first();
if($input.length&&$input.attr('id') ){
fieldId=$input.attr('id').replace(/^nf-field-/, '');
}}
if(! fieldId) return;
var $minute=$container.find('.minute');
var $ampm=$container.find('.ampm');
var $dateInput=$container.find('input[type="hidden"], input.nf-element').first();
var dateValue=$dateInput.length ? $dateInput.val():'';
self.fieldCache[ fieldId ]={
date: dateValue,
hour: $hour.val()||null,
minute: $minute.val()||null,
ampm: $ampm.val()||null
};});
},
cacheDateOnlyFields: function(){
var self=this;
jQuery('.nf-field-container').each(function(){
var $container=jQuery(this);
var $hiddenInput=$container.find('input[type="hidden"].datepicker');
if(! $hiddenInput.length){
$hiddenInput=$container.find('input[type="hidden"].flatpickr-input');
}
if(! $hiddenInput.length) return;
if($container.find('.hour').length) return;
var fieldId=$container.data('id');
if(! fieldId){
var inputId=$hiddenInput.attr('id');
if(inputId){
fieldId=inputId.replace(/^nf-field-/, '');
}}
if(! fieldId) return;
var formattedDate=$hiddenInput.val();
if(formattedDate){
self.dateOnlyCache[ String(fieldId) ]=formattedDate;
}});
},
onTimeSelectChange: function(e){
var $select=jQuery(e.target);
var $container=$select.closest('.nf-field-container');
if(! $container.length) return;
var fieldId=$container.data('id');
if(! fieldId){
var $input=$container.find('.nf-element').first();
if($input.length&&$input.attr('id') ){
fieldId=$input.attr('id').replace(/^nf-field-/, '');
}}
if(! fieldId) return;
var $hour=$container.find('.hour');
var $minute=$container.find('.minute');
var $ampm=$container.find('.ampm');
var $dateInput=$container.find('input[type="hidden"], input.nf-element').first();
var dateValue=$dateInput.length ? $dateInput.val():'';
this.fieldCache[ fieldId ]={
date: dateValue,
hour: $hour.val()||null,
minute: $minute.val()||null,
ampm: $ampm.val()||null
};},
onBeforeSubmit: function(formModel){
var self=this;
var fields=formModel.get('fields');
if(! fields||! fields.models) return;
fields.models.forEach(function(fieldModel){
if('date'!==fieldModel.get('type') ) return;
var dateMode=fieldModel.get('date_mode');
var fieldId=fieldModel.get('id');
if('date_only'===dateMode){
var cachedDate=self.dateOnlyCache[ String(fieldId) ];
if(cachedDate){
fieldModel.set('value', cachedDate, { silent: true });
}
return;
}
var cached=self.fieldCache[ fieldId ];
if(! cached) return;
var el=fieldModel.get('el');
var $el=jQuery(el);
var domAvailable=$el.length&&$el.find('.hour').length&&$el.closest('body').length;
if(domAvailable){
return;
}
if('time_only'===dateMode){
var timeValue='';
if(cached.hour&&cached.minute){
timeValue=cached.hour + ':' + cached.minute;
if(cached.ampm){
timeValue +=' ' + cached.ampm;
}}
fieldModel.set('value', timeValue);
}else{
fieldModel.set('value', {
date: cached.date||'',
hour: cached.hour||'',
minute: cached.minute||'',
ampm: cached.ampm||''
});
}
var originalGetValue=fieldModel.getValue;
fieldModel.getValue=function(){
var val=this.get('value');
if(typeof val==='object'&&val!==null){
var result=val.date||'';
if(val.hour&&val.minute){
result +=' ' + val.hour + ':' + val.minute;
}
if(val.ampm){
result +=' ' + val.ampm;
}
return result;
}
return val;
};});
}});
return controller;
});
define(
'controllers/loadControllers',[
'controllers/conditionalLogic',
'controllers/renderRecaptcha',
'controllers/renderTurnstile',
'controllers/renderHelpText',
'controllers/fieldValuePreserver'
],
function
(
ConditionalLogic,
RenderRecaptcha,
RenderTurnstile,
RenderHelpText,
FieldValuePreserver
){
var controller=Marionette.Object.extend({
initialize: function(){
new ConditionalLogic();
new RenderRecaptcha();
new RenderTurnstile();
new RenderHelpText();
new FieldValuePreserver();
}});
return controller;
});
var nfRadio=Backbone.Radio;
require([ 'controllers/loadFilters', 'controllers/loadControllers' ], function(LoadFilters, LoadControllers){
var NFMultiPart=Marionette.Application.extend({
initialize: function(options){
this.listenTo(nfRadio.channel('form'), 'before:filterData', this.loadFilters);
this.listenTo(nfRadio.channel('form'), 'loaded', this.loadControllers);
},
loadFilters: function(formModel){
new LoadFilters();
},
loadControllers: function(formModel){
new LoadControllers();
},
onStart: function(){
}});
var nfMultiPart=new NFMultiPart();
nfMultiPart.start();
});
define("main", function(){});
}());