Ninja Forms – The Easy and Powerful Forms Builder - Version 3.2.23

Version Description

(26 April 2018) =

Bugs:

  • Resolved an issue that was causing an error in the console while using Safari.
  • Fixed a bug that sometimes caused fields to not display properly when their labels contained non-ASCII characters.
  • Resolved an issue that caused an error message to appear in the dashboard on older PHP versions.

Changes:

  • New form templates are here!

=

Download this release

Release Info

Developer krmoorhouse
Plugin Icon 128x128 Ninja Forms – The Easy and Powerful Forms Builder
Version 3.2.23
Comparing to
See all releases

Code changes from version 3.2.22 to 3.2.23

assets/css/builder.css CHANGED
@@ -1,2 +1,2 @@
1
- html{overflow:hidden;width:100%;float:left;left:0}#wp-auth-check-wrap #wp-auth-check{z-index:1000000000000}.ninja-forms-app{height:0}.ninja-forms-app #adminmenumain,.ninja-forms-app #wpfooter{display:none}.ninja-forms-app #wpwrap{height:0;min-height:0}.ninja-forms-app #wpcontent #wpbody{font-size:16px}.ninja-forms-app #wpcontent *{box-sizing:border-box}.ninja-forms-app #wpcontent .wp-editor-tabs button{box-sizing:initial}.ninja-forms-app .grey #nf-drawer .nf-button{padding:15px 30px}.media-modal{z-index:100000000}#nf-builder{background:#fff;padding:30px 40px;overflow:hidden;padding-top:80px;position:fixed;top:0;bottom:0;left:0;right:0;z-index:10000000;box-shadow:0 5px 15px rgba(0,0,0,.7)}.product-content article>:not(img){padding-left:30px;padding-right:30px}#nf-header{height:100px;transition:margin 0.5s ease}#nf-header #nf-logo{background-image:url(../img/ninja-forms-app-header-logo.png);float:left;width:80px;height:30px;opacity:1.0;filter:alpha(opacity=100);transition:all 1.0s ease}@media (-webkit-min-device-pixel-ratio:2),(min--moz-device-pixel-ratio:2),(min-device-pixel-ratio:2),(min-resolution:2dppx),(min-resolution:192dpi){#nf-header #nf-logo{background-image:url(../img/ninja-forms-app-header-logo@2x.png);background-size:80px 30px}}#nf-header ul{display:inline-block;margin:0}#nf-header ul li{float:left}#nf-header ul li.nf-mobile-menu{display:none}#nf-header ul li a{color:#424242;display:block;margin:16px 20px;padding-bottom:8px;text-decoration:none}#nf-header ul li a.active{border-bottom:2px solid #424242}#nf-header ul li a.preview{color:#bbb;transition:all 1.0s ease}#nf-header ul li a.preview .dashicons{display:inline-block;margin-left:10px}#nf-header ul li:first-child a{margin-left:0}#nf-header ul:after{clear:both;content:"";display:block}#nf-header input[type=submit]{float:right}#nf-header .nf-cancel{float:right;margin-right:30px;padding:8px 0}#nf-header .nf-cancel .dashicons{font-size:30px}#nf-header:after{clear:both;content:"";display:block}#nf-app-header{height:50px}#nf-app-header:after{clear:both;content:"";display:block}#nf-app-sub-header{height:50px;padding:0}#nf-app-sub-header h2{display:inline-block;margin:0;padding:10px 0;transition:all 1.0s ease 0s}#nf-app-sub-header:after{clear:both;content:"";display:block}.nf-app-buttons,.nf-app-buttons .publish{float:right}#nf-app-form-title h2{margin:15px 0}#nf-main{border:4px solid #fff;width:100%;position:absolute;top:190px;overflow:auto;overflow-x:visible;bottom:0;left:0;-webkit-overflow-scrolling:touch;transition:left 0.5s ease}#nf-main .nf-field-type-button{width:400px}.nf-main-test{width:100%;transition:width 0.5s ease}#nf-main-content,#nf-main-header{margin:0 auto;max-width:860px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;padding:0 80px;position:relative}#nf-main-header .nf-button{float:right}#nf-main-header h2{display:inline-block}#nf-main-header:after{clear:both;content:"";display:block}#the-list tr.flagged th:first-child{border-left:5px solid #ff0}#nf-main-gutter-left,#nf-main-gutter-right{position:absolute;top:0;width:80px;height:450px}#nf-main-gutter-left .fa-chevron-circle-left,#nf-main-gutter-left .fa-chevron-circle-right,#nf-main-gutter-left .fa-plus-circle,#nf-main-gutter-right .fa-chevron-circle-left,#nf-main-gutter-right .fa-chevron-circle-right,#nf-main-gutter-right .fa-plus-circle{color:#eee;font-size:86px;position:absolute;top:50%;transform:translateY(-50%)}#nf-main-gutter-left .fa-chevron-circle-left:hover,#nf-main-gutter-left .fa-chevron-circle-right:hover,#nf-main-gutter-left .fa-plus-circle:hover,#nf-main-gutter-right .fa-chevron-circle-left:hover,#nf-main-gutter-right .fa-chevron-circle-right:hover,#nf-main-gutter-right .fa-plus-circle:hover{color:#1ea9ea;cursor:pointer}#nf-main-gutter-left{left:0;padding-left:6px}#nf-main-gutter-right{right:0;padding-right:6px}.nf-fields-empty{padding:0 40px}.nf-fields-empty h3{font-size:30px;line-height:32px}.nf-fields-empty p{font-size:18px}.nf-fields-empty a{text-decoration:none}.nf-field-label{display:inline-block;margin-left:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;width:80%}.nf-drawer-opened .nf-field-label{width:60%}.template-box{text-decoration:none}.template-box .template-box-inside{background:#ebedee;color:#424242;min-height:160px;padding:10px;text-decoration:none;transition:all 0.2s ease-in-out 0.1s,box-shadow 0.2s ease-in-out 0.1s}.template-box .template-box-inside h4{margin:0 0 10px;min-height:35px}.template-box .template-box-inside p{font-size:12px;margin:0}.template-box:hover .template-box-inside{background:#fff;box-shadow:0 0 20px #1ea9ea;color:#1ea9ea;transition:all 0.2s ease-in-out 0.1s,box-shadow 0.2s ease-in-out 0.1s}.nf-drawer-opened .template-box{width:50%}@media only screen and (max-width:1400px){.nf-drawer-opened .template-box{width:100%}}.nf-setting-wrap{cursor:pointer;float:left;margin-bottom:30px;padding:0 2%;width:33.33%}.nf-setting-wrap:after{clear:both;content:"";display:block}.nf-setting-wrap span{background:#fff;border:1px solid #ccc;border-radius:4px;display:table-cell;height:85px;width:400px;text-align:center;vertical-align:middle}.nf-setting-wrap.active span{border:2px solid #84cc1e;font-weight:700}.nf-item-controls{height:30px;width:30px;float:right;margin:0;position:absolute;top:9px;right:10px}.nf-item-controls .nf-item-control{visibility:hidden;margin:0;opacity:0;text-align:center;width:40px;height:30px;position:absolute;right:0;transition:all 0.5s ease}.nf-item-controls .nf-item-control a{background:#fff;border:1px solid #fff;border-radius:50px;color:#1ea9ea;display:block;text-decoration:none;padding:3px;position:relative;width:32px}.nf-item-controls .nf-item-control a:hover{background:#fff;border:1px solid #1ea9ea;color:#1ea9ea}.nf-item-controls .nf-item-control .fa{font-size:18px;line-height:24px;text-align:center}.nf-item-controls .nf-item-control.nf-item-edit{opacity:100;visibility:visible;z-index:auto}.nf-item-controls:hover a{background:#1ea9ea;color:#fff}.nf-item-controls:hover .nf-item-duplicate{visibility:visible;opacity:100;right:80px;transition:all 0.5s ease}.nf-item-controls:hover .nf-item-delete{visibility:visible;opacity:100;right:40px;transition:all 0.5s ease}#nf-table-display .nf-item-controls{float:right}.nf-field-wrap{background:#fff;border:1px solid #ccc;border-radius:4px;color:#888;cursor:pointer;margin-bottom:20px;padding:15px 20px;position:relative}.nf-field-wrap.active{border:2px solid #84cc1e;color:#424242;font-weight:700}.nf-field-wrap.active .nf-item-controls{font-weight:400}.nf-field-wrap.active .nf-item-controls a{background:#fff;color:#84cc1e}.nf-field-wrap.active .nf-item-controls a:hover{border-color:#fff}.nf-field-wrap.active .nf-item-controls .nf-item-delete,.nf-field-wrap.active .nf-item-controls .nf-item-duplicate{display:none}.nf-field-wrap.active .nf-item-controls .nf-item-editing{display:inline}.nf-field-wrap.active .nf-item-controls .nf-item-edit .dashicons{margin-right:12px}.nf-group-wrap{background:#fff;border:2px solid #ccc;border-radius:4px;color:#888;margin:0 -10px 20px;padding:15px 30px;position:relative}.nf-group-wrap .nf-item-controls{width:128px}.nf-group-wrap .nf-item-expand{display:inline!important}.nf-group-wrap .nf-field-wrap{margin-left:-20px;margin-right:-20px;visibility:hidden;opacity:0.0;filter:alpha(opacity=0);position:absolute;top:0;left:0;right:0}.nf-group-wrap.expanded{border-color:#84cc1e;color:#84cc1e}.nf-group-wrap.expanded .nf-item-expand .dashicons{transform:rotate(90deg)}.nf-group-wrap.expanded .nf-field-wrap{opacity:1.0;visibility:visible;filter:alpha(opacity=100);position:relative;top:0;left:0;right:0;transition:all 1.0s ease}.nf-group-wrap.expanded .nf-field-wrap:nth-child(2){margin-top:20px}.nf-group-wrap.expanded .nf-field-wrap:last-child{margin-bottom:0}.nf-group-wrap.expanded .nf-field-wrap .nf-item-controls{width:96px}.nf-group-wrap.expanded .nf-field-wrap .nf-item-controls .nf-item-expand{display:none!important}#nf-drawer{background:#ebedee;padding:40px;width:50%;position:absolute;top:0;bottom:0;right:-1400px;overflow:hidden;z-index:auto;transition:width 0.75s ease;-webkit-overflow-scrolling:touch}#nf-drawer.nf-drawer-expand{width:100%}.nf-drawer-opened .nf-main-test{width:50%;transition:all 0.50s ease}.nf-drawer-opened .nf-main-test .nf-button{display:none}.nf-drawer-opened #nf-drawer{right:0;transition:all 0.50s ease}.nf-drawer-opened #nf-drawer.nf-drawer-expand{width:100%;transition:all 0.50s ease}.nf-drawer-opened #nf-drawer.nf-drawer-expand .nf-toggle-drawer .dashicons{transform:rotate(180deg);transition:all 0.50s ease}.nf-drawer-opened #nf-drawer.nf-drawer-expand .nf-toggle-drawer .nf-expand-off{display:none}.nf-drawer-opened #nf-drawer.nf-drawer-expand .nf-toggle-drawer .nf-expand-on{display:inline}.nf-drawer-opened .preview,.nf-drawer-opened .preview.active,.nf-drawer-opened .preview:active,.nf-drawer-opened .preview:hover{opacity:0.0;visibility:hidden;filter:alpha(opacity=0);transition:all 0.50s ease}.nf-drawer-opened #nf-main-content,.nf-drawer-opened #nf-main-header{margin:0 auto;transition:all 0.50s ease}@media only screen and (min-width:901px){.nf-drawer-opened #nf-app-sub-header .nf-add-new{top:139px!important;text-indent:-99999px}}.nf-drawer-opened .nf-setting-wrap{width:50%;transition:width 0.50s ease}.nf-drawer-opened .nf-toggle-drawer{display:block}.nf-drawer-closed #nf-main{width:100%;left:0;transition:width 0.50s ease,left 0.50s ease}.nf-drawer-closed #nf-drawer{right:-1400px;transition:right 0.50s ease}.nf-drawer-closed .nf-add-new{opacity:1.0;visibility:visible;filter:alpha(opacity=100);transition:all 0.50s ease}.nf-drawer-closed .nf-setting-wrap{width:33%;transition:width 0.50s ease}.nf-drawer-closed .nf-toggle-drawer{display:none}.nf-drawer-header{margin-bottom:20px;padding:0 10px}.nf-drawer-header:after{clear:both;content:"";display:block}.nf-drawer-header h2{color:#666;float:left;font-size:20px;line-height:22px}.nf-drawer-header h2 .dashicons{margin-right:10px}.nf-drawer-header .nf-button{float:right}.nf-drawer-error{background-color:#ffbaba;border:1px solid #ffbaba;border-radius:5px;color:#d8000c;font-size:12px;margin:10px 0px;padding:10px}.nf-settings h3{color:#424242;font-size:14px;padding:10px 10px 0;text-transform:uppercase}.nf-settings h3 .dashicons{color:#bbb;font-size:28px;margin:-4px 10px 0 -30px}.nf-settings:after{clear:both;content:"";display:block}.nf-full{clear:both}.nf-full.toggle-row{border-bottom:1px solid #ccc;margin:0;position:relative}.nf-full.toggle-row:first-child{border-top:1px solid #ccc}.nf-full.toggle-row label{display:inline-block;padding:15px 60px 15px 0}.nf-full.toggle-row .nf-toggle{float:right;margin:15px 0;position:absolute;top:0;right:10px}.nf-one-half,.nf-one-third{float:left}.nf-one-half{width:50%}.nf-one-third{width:33.33%}.nf-first{clear:both;margin-left:0}.nf-full,.nf-one-half,.nf-one-third{margin-bottom:15px;padding:0 2%}.nf-full:after,.nf-one-half:after,.nf-one-third:after{clear:both;content:"";display:block}.nf-toggle-drawer{color:#aaa;cursor:pointer;display:none;float:right;margin-top:40px;text-decoration:none;padding:10px 20px;position:fixed;bottom:0;right:0}.nf-toggle-drawer .dashicons{margin-right:5px;transition:all 0.50s ease}.nf-toggle-drawer .nf-expand-off{display:inline}.nf-toggle-drawer .nf-expand-on{display:none}#nf-menu-drawer{background:#ebedee;box-shadow:inset 1px 4px 9px -6px;width:250px;position:absolute;top:0;bottom:0;right:-250px;z-index:999;transition:right 0.50s ease}#nf-menu-drawer ul{margin:0}#nf-menu-drawer ul li a{border-bottom:1px solid #ccc;color:#424242;display:block;padding:10px 20px;text-decoration:none}#nf-menu-drawer ul li a .dashicons{color:#1ea9ea;margin-right:15px}#nf-menu-drawer .nf-publish{background:#1ea9ea;color:#fff;padding:20px;text-align:center;text-transform:uppercase;cursor:pointer}#nf-menu-drawer .nf-publish.disabled{background:#ccc;border:1px solid #ccc;cursor:default}.nf-menu-expand #nf-menu-drawer{right:0;transition:right 0.50s ease}.nf-menu-expand #nf-header{margin-right:250px;margin-left:-250px;transition:margin 0.50s ease}.nf-menu-expand #nf-main{left:-250px;transition:left 0.50s ease}.nf-div-table .nf-table-row.nf-error textarea{border:1px solid red}.nf-div-table .nf-table-row.nf-error span.nf-option-error{background:red;color:#fff;display:block;padding:5px 0;width:100%}.nf-div-table .nf-table-row.nf-error span.nf-option-error div.nf-error{display:block;width:100%!important;text-align:center}.ninja-forms-app .jBox-Notice .jBox-container{background:#84cc1e;font-size:18px}.nf-button{border:0;border-radius:4px;cursor:pointer;display:inline-block;font-size:17px;padding:10px 30px;text-align:center;text-decoration:none;text-transform:uppercase;-webkit-appearance:none;-moz-appearance:none;appearance:none}.nf-button.primary{background:#1ea9ea;border:1px solid #1ea9ea;color:#fff}.nf-button.secondary{background:#fff;border:1px solid #1ea9ea;color:#1ea9ea}.nf-button.disabled{background:#ccc;border:1px solid #ccc;cursor:default}.nf-button.publish{float:right}.nf-cancel{color:#999;font-size:15px}.nf-mobile-menu{background:#1ea9ea;border-radius:4px;color:#fff;display:none;float:right;padding:5px 7px 5px 5px;text-decoration:none;transition:margin 0.5s ease}.nf-mobile-menu .dashicons{font-size:30px;width:32px;height:30px}.nf-mobile-menu:hover{color:#fff}.ninja-forms-app fieldset{border:1px solid #ccc;clear:both;display:block;margin-bottom:20px}.ninja-forms-app label{position:relative}.ninja-forms-app label:after{clear:both;content:"";display:block}.ninja-forms-app legend{margin:0 3px 10px;padding:0 10px}.ninja-forms-app .nf-setting-label,.ninja-forms-app label,.ninja-forms-app legend{color:#424242;display:block;font-size:13px;text-transform:uppercase}.ninja-forms-app .nf-setting-label .open-media-manager,.ninja-forms-app label .open-media-manager,.ninja-forms-app legend .open-media-manager{position:absolute;color:#ccc;right:15px;top:5px;text-decoration:none}.ninja-forms-app input[type=number],.ninja-forms-app input[type=text],.ninja-forms-app textarea{background:#f9f9f9;border:0;margin-top:7px;padding:12px 15px;width:100%;height:41px;text-transform:default}.ninja-forms-app textarea{height:200px}.ninja-forms-app input[type=checkbox].nf-checkbox{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#f9f9f9;border:0;height:25px;width:25px;padding:2px 1px 0px!important;margin:-3px -5px}.ninja-forms-app input[type=checkbox].nf-checkbox:checked:before{content:"\f147";font:400 30px/1 dashicons}.ninja-forms-app .jBox-wrapper.import-options{padding:12px 20px 0px!important}.ninja-forms-app .jBox-wrapper.import-options.jBox-pointerPosition-top.jBox-closeButton-box:before{right:10px}.ninja-forms-app .nf-list-options{padding-bottom:20px}.ninja-forms-app .nf-list-options .nf-add-new{margin-left:20px}.ninja-forms-app .nf-list-options .nf-div-table .nf-table-row>div{display:table-cell;padding:5px}.ninja-forms-app .nf-list-options .nf-div-table .nf-table-row>div:first-child,.ninja-forms-app .nf-list-options .nf-div-table .nf-table-row>div:nth-child(6){padding:0 15px;width:20px}.ninja-forms-app .nf-list-options .nf-div-table .nf-table-row>div:nth-child(2),.ninja-forms-app .nf-list-options .nf-div-table .nf-table-row>div:nth-child(3){width:45%}.ninja-forms-app .nf-list-options .nf-div-table .nf-table-row>div:nth-child(4){min-width:100px}.ninja-forms-app .nf-list-options .nf-div-table .nf-table-row>div input{margin:0}.ninja-forms-app .nf-list-options .nf-div-table .nf-table-row.nf-table-header div{font-size:12px;padding:20px 5px 5px}.ninja-forms-app .nf-list-options .nf-div-table .nf-table-row.nf-table-header div:first-child,.ninja-forms-app .nf-list-options .nf-div-table .nf-table-row.nf-table-header div:nth-child(6){padding:0 25px}.ninja-forms-app .nf-list-options.calculations .nf-div-table .nf-table-header div:nth-child(4){display:none}.ninja-forms-app .nf-list-options.calculations .nf-div-table .nf-table-row div{vertical-align:top;position:relative}.ninja-forms-app .nf-list-options.calculations .nf-div-table .nf-table-row div:first-child,.ninja-forms-app .nf-list-options.calculations .nf-div-table .nf-table-row div:nth-child(4){padding:0 15px;width:20px;min-width:20px}.ninja-forms-app .nf-list-options.calculations .nf-div-table .nf-table-row div:nth-child(2){width:30%}.ninja-forms-app .nf-list-options.calculations .nf-div-table .nf-table-row div:nth-child(3){width:70%}.ninja-forms-app .nf-list-options.calculations .nf-div-table .nf-table-row div textarea{margin:0;height:100px;padding-right:40px}.ninja-forms-app .nf-list-options.calculations .nf-div-table .nf-table-row div .merge-tags{color:#999;position:absolute;right:15px;top:5px}.ninja-forms-app .nf-list-options.calculations .nf-div-table .nf-table-row div .dashicons{color:#999;margin-top:10px}.ninja-forms-app .nf-list-options.calculations .nf-div-table .nf-table-row .calc-left div{display:inline-block}.ninja-forms-app .nf-list-options.calculations .nf-div-table .nf-table-row .calc-left div:first-child{width:100%;padding:0px}.ninja-forms-app .nf-list-options.calculations .nf-div-table .nf-table-row .calc-left div:nth-child(2){width:60%;text-align:right;font-size:12px;float:left;padding-top:20px;padding-right:10px}.ninja-forms-app .nf-list-options.calculations .nf-div-table .nf-table-row .calc-left div:nth-child(3){width:50px;float:left;padding-top:10px}.ninja-forms-app .options{position:relative}.ninja-forms-app .options legend .nf-open-import-tooltip{background:#ebedee;color:#1ea9ea;font-size:16px;padding:6px 15px;text-decoration:none;position:absolute;right:15px;top:0}.nf-drawer-buttons{display:none;margin:0 -20px;padding:0}.nf-drawer-buttons li{background:#424242;border-right:1px solid #f1f1f1;float:left;margin:0;padding:15px;text-align:center;width:50%}.nf-drawer-buttons li:last-child{border:0}.nf-drawer-buttons li.nf-drawer-delete{color:red}.nf-drawer-buttons li.nf-drawer-duplicate{color:#84cc1e}.nf-drawer-buttons li .dashicons{margin-right:10px}.nf-drawer-buttons:after{clear:both;content:"";display:block}.dashicons.spin{animation:dashicons-spin 1s infinite;animation-timing-function:linear}@keyframes dashicons-spin{0%{transform:rotate(0deg)}to{transform:rotate(360deg)}}.nf-search{display:inline;position:relative}.nf-search input[type=search]{background:transparent;box-shadow:0 0 0;border:0;margin-bottom:3px;padding:12px 0 12px 50px;width:60%}.nf-search:before{content:"\f179";color:#aaa;font-family:Dashicons;font-size:30px;width:30px;height:30px;position:absolute;top:4px;left:10px}.nf-stage{position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.nf-stage .nf-stage-controls{background:#f8f8f9;padding:5px;position:absolute;top:-20px;right:10px}.nf-reservoir:after{clear:both;content:"";display:block}.nf-reservoir.nf-droppable-active,.nf-reservoir.nf-staged-fields-active{background:#f8f8f9;border:4px solid #f8f8f9;border-radius:4px;margin:30px 2% 20px;min-height:52px;padding:6px;transition:all 1.0s ease}.nf-reservoir .nf-item-dock{background:#fff;border-radius:4px;color:#999;display:inline-block;float:left;margin:0 4px 3px;padding:5px 10px;position:relative}.nf-reservoir .nf-item-dock .dashicons{font-size:14px;margin:2px 0 -4px 5px}.nf-reservoir .nf-item-dock .fa{margin-right:10px}.nf-item{background:#3b454d;border-radius:4px;color:#a2a5a8;font-size:14px;padding:10px;position:relative;text-align:center}.nf-item.active{background:#1ea9ea;color:#fff}.nf-item .fa{background:#30373e;border-top-left-radius:4px;border-bottom-left-radius:4px;padding:9px;position:absolute;top:0;left:0;bottom:0;width:34px;line-height:20px}.nf-saved .nf-item{position:relative}.nf-saved .nf-item:after{background:#30373e;border-top-left-radius:4px;border-bottom-left-radius:4px;content:"\f155";font-family:Dashicons;padding:9px;position:absolute;top:0;left:0;bottom:0;width:16px;height:20px}.nf-action-items .nf-item{height:100px;line-height:75px;cursor:pointer}.nf-action-items .nf-item.nf-has-img{background-position:50%;text-indent:-99999px}.nf-action-items.available .nf-item.nf-has-img{filter:grayscale(100%);opacity:0.6}.nf-action-items.available .nf-item.nf-has-img:hover{filter:grayscale(0);opacity:1.0}.nf-field-type-button{float:left;margin-bottom:15px;padding:0 2%;width:33.33%}table.nf-changes tr td{border-bottom:1px solid #ccc}table.nf-changes tr.disabled-row td{color:#bbb}table.nf-changes tr:nth-child(2n) td{background:#e5e7e8!important}table.nf-changes tr:hover td{background:#fff!important}.nf-button.undoChanges .dashicons{font-size:18px;height:18px;width:18px;margin-right:5px}.nf-setting-error{color:red;font-size:14px;padding:5px 10px}.nf-setting-error a{color:red}.nf-add-new{color:#1ea9ea;padding:0 0 0 46px;text-decoration:none;line-height:32px;position:relative;height:32px;z-index:98;text-indent:0px;overflow:hidden}.nf-add-new:after{background:#1ea9ea;border:2px solid #1ea9ea;border-radius:40px;color:#fff;content:"+";font-size:22px;padding:8px;position:absolute;left:0;width:12px;height:12px;line-height:10px;text-indent:0px;transition:all 0.5s ease 0s}.nf-add-new.active,.nf-add-new:active,.nf-add-new:hover{color:#1ea9ea;transition:width 0.5s ease 0s,height 0.5s ease 0s,text-indent 0.5s ease,top 0.5s ease,left 0.5s ease}.nf-add-new.active:after,.nf-add-new:active:after,.nf-add-new:hover:after{background:#fff;color:#1ea9ea;transform:rotate(180deg);transition:all 0.5s ease}.nf-add-new.nf-open-drawer{position:absolute;top:185px;left:40px}.nf-add-new.disabled{display:none}.nf-master-control{background:#1ea9ea;border:2px solid #1ea9ea;border-radius:40px;cursor:pointer;position:absolute;height:60px;width:60px;top:auto;left:auto;bottom:20px;right:30px;transition:all 0.5s ease;z-index:98}.nf-master-control span{display:block;text-indent:-9999px}.nf-master-control .fa{color:#fff;cursor:pointer;font-size:28px;line-height:28px;margin:15px 0 0 16px;transition:all 0.5s ease}.nf-master-control.active,.nf-master-control:active,.nf-master-control:hover{background:#fff;color:#1ea9ea;transition:all 0.5s ease}.nf-master-control.active .fa,.nf-master-control:active .fa,.nf-master-control:hover .fa{color:#1ea9ea;margin:12px 0 0 16px;transform:rotate(180deg);transition:all 0.5s ease}input[type=checkbox].nf-toggle{display:none}input[type=checkbox].nf-toggle+label{text-indent:-99999px;background:transparent;border:0;box-shadow:0 0 0;display:block;margin:19px 5px 11px;-webkit-appearance:none;-moz-appearance:none;appearance:none;position:relative;width:40px;height:20px;cursor:pointer}input[type=checkbox].nf-toggle+label:after{background:#bcbdbf;border:2px solid #bcbdbf;border-radius:20px;content:"";position:absolute;top:-4px;left:-4px;width:40px;height:20px;transition:all 0.3s ease}input[type=checkbox].nf-toggle+label:before{background:#fff;border-radius:20px;content:"";position:absolute;top:-1px;left:0;width:18px;height:18px;z-index:99;transition:all 0.3s ease}input[type=checkbox].nf-toggle:checked+label:after{background:#84cc1e;border:2px solid #84cc1e;transition:all 0.3s ease}input[type=checkbox].nf-toggle:checked+label:before{content:"";left:18px;transition:all 0.3s ease}.nf-full{position:relative}.nf-full input[type=checkbox].nf-toggle+label{margin:-18px 0 0;padding:12px 0 20px;position:absolute;top:24px;right:10px}.nf-full input[type=checkbox].nf-toggle+label:before{left:auto;right:22px;transition:right 0.3s ease}.nf-full input[type=checkbox].nf-toggle+label:after{left:auto;right:0}.nf-full input[type=checkbox].nf-toggle:checked+label:before{left:auto;right:4px;transition:right 0.3s ease}.nf-full .nf-setting-label{border-bottom:1px solid #ccc;padding:5px 0 20px}.ninja-forms-app .nf-select{display:block;position:relative}.ninja-forms-app .nf-select select{background:transparent;border:0;margin-top:7px;height:41px!important;padding:0 30px 0 15px;position:relative;width:100%;text-transform:capitalize;-webkit-appearance:none;-moz-appearance:none;appearance:none;z-index:2}.ninja-forms-app .nf-select div{background:#f9f9f9;height:41px;position:absolute;bottom:1px;width:100%;z-index:1}.ninja-forms-app .nf-select div:after{color:#666;content:"\f347";font-family:Dashicons;font-size:20px;position:absolute;width:30px;height:30px;right:5px;bottom:0}.ninja-forms-app div.nf-select div{bottom:7px;width:95%}.ninja-forms-app div.nf-select select{margin-top:0}.nf-actions-table,.nf-table-display{border-collapse:collapse;width:100%}.nf-actions-table td,.nf-actions-table th,.nf-table-display td,.nf-table-display th{border-bottom:1px solid #ecedee;font-size:14px;padding:15px;vertical-align:top;position:relative}.nf-actions-table th,.nf-table-display th{color:#666;text-align:left;text-transform:uppercase}.nf-actions-table td,.nf-table-display td{color:#676f75;position:relative}.nf-actions-table td:nth-child(2),.nf-table-display td:nth-child(2){width:90%}.nf-actions-table .deactivated td,.nf-table-display .deactivated td{color:#bcbdbf}.nf-actions-table .deactivated td a,.nf-table-display .deactivated td a{color:#ddd}.nf-actions-table input[type=checkbox].nf-toggle+label,.nf-table-display input[type=checkbox].nf-toggle+label{z-index:0;margin:2px 0 0}.nf-actions-table .active td,.nf-table-display .active td{color:#84cc1e;font-weight:700}.nf-actions-table .active .nf-item-controls,.nf-table-display .active .nf-item-controls{font-weight:400;float:right}.nf-actions-table .active .nf-item-controls a,.nf-table-display .active .nf-item-controls a{color:#84cc1e}.nf-actions-table .active .nf-item-controls .nf-item-delete,.nf-actions-table .active .nf-item-controls .nf-item-duplicate,.nf-table-display .active .nf-item-controls .nf-item-delete,.nf-table-display .active .nf-item-controls .nf-item-duplicate{display:none}.nf-actions-table .active .nf-item-controls .nf-item-editing,.nf-table-display .active .nf-item-controls .nf-item-editing{display:inline!important}.nf-actions-table .active .nf-item-controls .nf-item-edit .dashicons,.nf-table-display .active .nf-item-controls .nf-item-edit .dashicons{margin-right:12px}.ui-droppable{border:4px solid #fff}.nf-actions-empty thead{display:none}.nf-actions-empty td{border:4px solid #fff!important;display:block;padding:40px 20%!important;white-space:normal!important}.nf-actions-empty h3{font-size:30px}.nf-actions-empty p{font-size:18px}.nf-actions-table td{cursor:pointer}.nf-actions-table .nf-item-controls{top:12px}.ps-container{-ms-touch-action:none;overflow:hidden!important}.ps-container.ps-active-x>.ps-scrollbar-x-rail,.ps-container.ps-active-y>.ps-scrollbar-y-rail{display:block}.ps-container.ps-in-scrolling{pointer-events:none}.ps-container.ps-in-scrolling.ps-x>.ps-scrollbar-x-rail{background-color:#eee;opacity:0.9}.ps-container.ps-in-scrolling.ps-x>.ps-scrollbar-x-rail>.ps-scrollbar-x{background-color:#999}.ps-container.ps-in-scrolling.ps-y>.ps-scrollbar-y-rail{background-color:#eee;opacity:0.9}.ps-container.ps-in-scrolling.ps-y>.ps-scrollbar-y-rail>.ps-scrollbar-y{background-color:#999}.ps-container>.ps-scrollbar-x-rail{display:none;position:absolute;border-radius:4px;opacity:0;transition:background-color 0.2s linear,opacity 0.2s linear;bottom:3px;height:8px}.ps-container>.ps-scrollbar-x-rail>.ps-scrollbar-x{position:absolute;background-color:#aaa;border-radius:4px;transition:background-color 0.2s linear;bottom:0;height:8px}.ps-container>.ps-scrollbar-y-rail{display:none;position:absolute;border-radius:4px;opacity:0;transition:background-color 0.2s linear,opacity 0.2s linear;right:3px;width:8px}.ps-container>.ps-scrollbar-y-rail>.ps-scrollbar-y{position:absolute;background-color:#aaa;border-radius:4px;transition:background-color 0.2s linear;right:0;width:8px}.ps-container:hover.ps-in-scrolling{pointer-events:none}.ps-container:hover.ps-in-scrolling.ps-x>.ps-scrollbar-x-rail{background-color:#eee;opacity:0.9}.ps-container:hover.ps-in-scrolling.ps-x>.ps-scrollbar-x-rail>.ps-scrollbar-x{background-color:#999}.ps-container:hover.ps-in-scrolling.ps-y>.ps-scrollbar-y-rail{background-color:#eee;opacity:0.9}.ps-container:hover.ps-in-scrolling.ps-y>.ps-scrollbar-y-rail>.ps-scrollbar-y{background-color:#999}.ps-container:hover>.ps-scrollbar-x-rail,.ps-container:hover>.ps-scrollbar-y-rail{opacity:0.6}.ps-container:hover>.ps-scrollbar-x-rail:hover{background-color:#eee;opacity:0.9}.ps-container:hover>.ps-scrollbar-x-rail:hover>.ps-scrollbar-x{background-color:#999}.ps-container:hover>.ps-scrollbar-y-rail:hover{background-color:#eee;opacity:0.9}.ps-container:hover>.ps-scrollbar-y-rail:hover>.ps-scrollbar-y{background-color:#999}#nf-drawer.ps-container,#nf-main.ps-container{overflow:auto!important;overflow-y:hidden!important}.ui-draggable-dragging .nf-item,.ui-sortable-helper.nf-field-wrap{box-shadow:3px 3px 5px rgba(0,0,0,.4)}.ui-draggable-handle{cursor:pointer}.ui-draggable-dragging{z-index:99}#nf-builder .nf-droppable-active{border:4px solid #1ea9ea;transition:all 1.0s ease}#nf-builder .nf-droppable-hover{border:4px solid #84cc1e;transition:all 1.0s ease}.nf-fields-sortable{border:4px solid #fff;padding:25px 15px 6px}.nf-fields-sortable-placeholder{margin-top:-14px;margin-bottom:6px;border:4px solid #84cc1e}.nf-staged-fields-drag{position:relative;display:block;height:80px}.nf-staged-fields-drag:after{clear:both;content:"";display:block}.nf-staged-fields-drag .nf-staged-fields-drag-wrap{position:absolute;width:500px}.nf-staged-fields-drag #drag-item-1,.nf-staged-fields-drag #drag-item-2,.nf-staged-fields-drag #drag-item-3{box-shadow:3px 3px 5px rgba(0,0,0,.4)}.nf-staged-fields-drag #drag-item-1{bottom:0px;left:0px;z-index:3}.nf-staged-fields-drag #drag-item-2{bottom:5px;left:5px;z-index:2}.nf-staged-fields-drag #drag-item-3{bottom:10px;left:10px;z-index:1}.nf-staged-fields-drag-wrap{background:#fff;border:1px solid #ccc;border-radius:4px;color:#888;cursor:pointer;margin-bottom:20px;padding:15px 20px}.nf-staged-fields-drag-wrap.active{border:2px solid #84cc1e;color:#424242;font-weight:700}.nf-staged-fields-drag-wrap.active .nf-item-controls{font-weight:400}.nf-staged-fields-drag-wrap.active .nf-item-controls a{color:#424242}.nf-staged-fields-drag-wrap.active .nf-item-controls .nf-item-delete,.nf-staged-fields-drag-wrap.active .nf-item-controls .nf-item-duplicate{display:none}.nf-staged-fields-drag-wrap.active .nf-item-controls .nf-item-editing{display:inline}.nf-staged-fields-drag-wrap.active .nf-item-controls .nf-item-edit .dashicons{margin-right:12px}.nf-staged-fields-sortable-placeholder{float:left;height:28px;border-right:8px solid #84cc1e;margin-right:-4px;margin-left:-4px}.nf-list-options-sortable-placeholder{border:4px solid #84cc1e;height:8px!important;margin:-4px 0}.nf-fields-empty-droppable{border:4px solid #fff}.nf-fields-empty-droppable:after{clear:both;content:"";display:block}.nf-settings .toggle{cursor:pointer}.nf-loading{background:#1ea9ea;border-radius:4px;width:40px;margin:0 auto;position:relative}.nf-loading ul{list-style:none;margin:0;padding:0;position:relative;top:-10px;left:0;font-size:0}.nf-loading ul li{height:0;position:absolute;top:50%;left:0;width:0;margin:0;height:10px;width:10px;border:3px solid #fff;border-radius:100%;transform:transformZ(0);animation:LOADING 2s infinite}.nf-loading ul li:nth-child(1n){left:0;animation-delay:0s}.nf-loading ul li:nth-child(2n){left:15px;animation-delay:0.2s}.nf-loading ul li:nth-child(3n){left:30px;animation-delay:0.4s}@keyframes LOADING{0%{transform:scale(0.5);background:#fff}50%{transform:scale(1);background:#fff}to{transform:scale(0.5);background:#fff}}.nf-help-text{display:none}.ninja-forms-app .nf-help{color:#ccc;margin-left:5px;text-decoration:none}.ninja-forms-app .nf-help .dashicons{font-size:16px;height:16px;width:16px}.ninja-forms-app .qtip-default{background-color:#424242;border:1px solid #424242;border-radius:4px;box-shadow:0 5px 6px rgba(0,0,0,.3);color:#fff;font-size:14px;line-height:18px;padding:10px}.ninja-forms-app .qtip-default:after{content:"";position:absolute;left:143px;bottom:-12px;width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent;border-top:12px solid #424242}.has-merge-tags{position:relative}.has-merge-tags input[type=text],.has-merge-tags textarea{padding-right:40px}.has-merge-tags.rte{display:block}.has-merge-tags.rte .wp-editor-tabs{margin-right:40px}.has-merge-tags.rte .merge-tags{color:#999;z-index:100;top:26px}.has-merge-tags .merge-tags{color:#ccc;pointer:cursor;position:absolute}.has-merge-tags .nf-list-options input[type=text]+.merge-tags{top:12px}div.has-merge-tags .merge-tags{top:16px;right:12px}label.has-merge-tags .merge-tags{top:33px;right:12px}.nf-list-options label.has-merge-tags .merge-tags{top:12px}.jBox-Tooltip{z-index:100000000!important}.jBox-TooltipBorder .jBox-container{border-radius:5px;border:2px solid #1ea9ea}.jBox-TooltipBorder .jBox-container h4{background:#f1f1f1;padding:5px;margin:0 0 5px}.jBox-TooltipBorder .jBox-container ul{margin:0}.jBox-TooltipBorder .jBox-container ul li a{color:#1ea9ea;margin:0;padding:0 5px;display:block;text-decoration:none}.jBox-TooltipBorder .jBox-container ul a.active{background:#f1f1f1}.jBox-TooltipBorder .jBox-pointer:after{border:2px solid #1ea9ea}.jBox-TooltipBorder .jBox-pointer-bottom,.jBox-TooltipBorder .jBox-pointer-top{width:34px;height:12px}.jBox-TooltipBorder .jBox-pointer-left,.jBox-TooltipBorder .jBox-pointer-right{width:12px;height:34px}.jBox-TooltipBorder.jBox-closeButton-box:before{width:28px;height:28px;background:#1ea9ea}#merge-tags-box{display:none;background-color:#dbdddd;max-height:360px;z-index:1001;position:absolute;top:-1px;left:12px;right:10px}#merge-tags-box .merge-tag-container{display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between}#merge-tags-box .merge-tag-list,#merge-tags-box .merge-tag-sections{float:left;font-size:14px;background-color:#fff;height:300px;overflow-y:auto}#merge-tags-box .merge-tag-sections{background-color:#dbdddd}#merge-tags-box .merge-tag-sections ul{margin:0}#merge-tags-box .merge-tag-sections ul li{background:#dbdddd;border-bottom:1px solid #fff;cursor:pointer;font-size:14px;margin:0;padding:8px 26px 8px 16px}#merge-tags-box .merge-tag-sections ul li:hover{background:#f6f6f6}#merge-tags-box .merge-tag-sections ul li.active{position:relative}#merge-tags-box .merge-tag-sections ul li.active:after{clear:both;content:"";display:block;width:0;height:0;border-top:17px solid transparent;border-bottom:17px solid transparent;border-right:24px solid #fff;position:absolute;top:0;right:0}#merge-tags-box .merge-tag-sections ul li:hover{color:#1ea9ea}#merge-tags-box .merge-tag-list{-ms-flex-positive:1;flex-grow:1;padding-top:10px}#merge-tags-box .merge-tag-list div div{line-height:22px}#merge-tags-box .merge-tag-list:hover li{color:#000!important}#merge-tags-box .merge-tag-list:hover li:hover{color:#1ea9ea!important}#merge-tags-box .merge-tag-list ul{margin:0}#merge-tags-box .merge-tag-list li{cursor:pointer;margin-bottom:0}#merge-tags-box .merge-tag-list li span{padding:4px 16px;display:block}#merge-tags-box .merge-tag-list li span small{font-family:Courier New,Courier,monospace,sans-serif}#merge-tags-box .merge-tag-list li:first-of-type{color:#1ea9ea}#merge-tags-box .merge-tag-filter{border-bottom:2px solid #dbdddd;margin:3px 10px 10px;clear:both}.merge-tag-focus{position:relative;z-index:1000}.merge-tag-focus-overlay:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;background-color:rgba(0,0,0,.5);z-index:100}.merge-tag-focus-overlay.note-editor:before{z-index:0}#merge-tags-box.one-half--first{width:538px;left:12px}#merge-tags-box.one-half--second{width:538px;right:10px;left:auto}.setting+.merge-tags{color:hsla(0,0%,80%,.3)}.merge-tag-focus-overlay .merge-tags,.setting:focus+.merge-tags{color:#ccc}.merge-tag-focus-overlay .merge-tags{z-index:1000}.note-popover{display:none!important}.ninja-forms-app .note-editor{border:0!important}.ninja-forms-app .note-editor .note-toolbar:after{clear:both;content:"";display:block}.ninja-forms-app .note-editor .note-editable{background:#f9f9f9;display:block}.ninja-forms-app .note-editor .note-editable p{font-size:16px}.ninja-forms-app .note-editor .note-editable ul{list-style-type:disc;margin-left:2em}.ninja-forms-app .note-editor .note-editable table td{border:1px solid #ccc;width:auto}.ninja-forms-app .note-editor .modal{display:none}.ninja-forms-app .note-editor .btn-group{float:left}.ninja-forms-app .note-editor .btn-group.note-tools{float:right}.ninja-forms-app .note-editor .btn{background:#f9f9f9;border:0;border-radius:4px;color:#666;cursor:pointer;margin-right:2px;padding-top:4px}.ninja-forms-app .note-editor .btn.disabled{background:transparent;color:#aaa}.ninja-forms-app .note-editor .btn.disabled .merge-tags{background:#f9f9f9;color:#666}.ninja-forms-app .tooltip{position:absolute;z-index:1070;display:block;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-size:12px;font-style:normal;font-weight:400;line-height:1.42857143;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;filter:alpha(opacity=0);opacity:0;line-break:auto}.ninja-forms-app .tooltip.in{filter:alpha(opacity=90);opacity:.9}.ninja-forms-app .tooltip.top{padding:5px 0;margin-top:-3px}.ninja-forms-app .tooltip.right{padding:0 5px;margin-left:3px}.ninja-forms-app .tooltip.bottom{padding:5px 0;margin-top:3px}.ninja-forms-app .tooltip.left{padding:0 5px;margin-left:-3px}.ninja-forms-app .tooltip-inner{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:4px}.ninja-forms-app .tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.ninja-forms-app .tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.ninja-forms-app .tooltip.top-left .tooltip-arrow{right:5px;bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.ninja-forms-app .tooltip.top-right .tooltip-arrow{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.ninja-forms-app .tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.ninja-forms-app .tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.ninja-forms-app .tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.ninja-forms-app .tooltip.bottom-left .tooltip-arrow{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.ninja-forms-app .tooltip.bottom-right .tooltip-arrow{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.ninja-forms-app .dropdown-menu{position:absolute;z-index:1000;display:none;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;font-size:14px;text-align:left;list-style:none;background-color:#fff;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,.15);border-radius:4px;box-shadow:0 6px 12px rgba(0,0,0,.175)}.ninja-forms-app .dropdown-menu.pull-right{right:0;left:auto}.ninja-forms-app .dropdown-menu .divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.ninja-forms-app .dropdown-menu>li>a{display:block;padding:3px 20px;clear:both;font-weight:400;line-height:1.42857143;color:#333;white-space:nowrap}.ninja-forms-app .dropdown-menu>li>a:focus,.ninja-forms-app .dropdown-menu>li>a:hover{color:#262626;text-decoration:none;background-color:#f5f5f5}.ninja-forms-app .dropdown-menu>.active>a,.ninja-forms-app .dropdown-menu>.active>a:focus,.ninja-forms-app .dropdown-menu>.active>a:hover{color:#fff;text-decoration:none;background-color:#337ab7;outline:0}.ninja-forms-app .dropdown-menu>.disabled>a,.ninja-forms-app .dropdown-menu>.disabled>a:focus,.ninja-forms-app .dropdown-menu>.disabled>a:hover{color:#777}.ninja-forms-app .dropdown-menu>.disabled>a:focus,.ninja-forms-app .dropdown-menu>.disabled>a:hover{text-decoration:none;cursor:not-allowed;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false)}.ninja-forms-app .open>.dropdown-menu{display:block}.ninja-forms-app .open>a{outline:0}.ninja-forms-app .dropdown-menu-right{right:0;left:auto}.ninja-forms-app .dropdown-menu-left{right:auto;left:0}.ninja-forms-app .dropdown-header{display:block;padding:3px 20px;font-size:12px;line-height:1.42857143;color:#777;white-space:nowrap}.ninja-forms-app .dropdown-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:990}.ninja-forms-app .pull-right>.dropdown-menu{right:0;left:auto}.ninja-forms-app .dropup .caret,.ninja-forms-app .navbar-fixed-bottom .dropdown .caret{content:"";border-top:0;border-bottom:4px dashed;border-bottom:4px solid\9}.ninja-forms-app .dropup .dropdown-menu,.ninja-forms-app .navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:2px}@media (min-width:768px){.ninja-forms-app .navbar-right .dropdown-menu{right:0;left:auto}.ninja-forms-app .navbar-right .dropdown-menu-left{right:auto;left:0}}.ninja-forms-app .btn-group-justified>.btn-group .dropdown-menu{left:auto}.ninja-forms-app .nav-justified>.dropdown .dropdown-menu,.ninja-forms-app .nav-tabs.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}.ninja-forms-app .nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}@media (max-width:767px){.ninja-forms-app .navbar-nav .open .dropdown-menu{position:static;float:none;width:auto;margin-top:0;background-color:transparent;border:0;box-shadow:none}.ninja-forms-app .navbar-nav .open .dropdown-menu .dropdown-header,.ninja-forms-app .navbar-nav .open .dropdown-menu>li>a{padding:5px 15px 5px 25px}.ninja-forms-app .navbar-nav .open .dropdown-menu>li>a{line-height:20px}.ninja-forms-app .navbar-nav .open .dropdown-menu>li>a:focus,.ninja-forms-app .navbar-nav .open .dropdown-menu>li>a:hover{background-image:none}}.ninja-forms-app .navbar-nav>li>.dropdown-menu{margin-top:0;border-top-left-radius:0;border-top-right-radius:0}.ninja-forms-app .navbar-fixed-bottom .navbar-nav>li>.dropdown-menu{margin-bottom:0;border-top-left-radius:4px;border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}@media (max-width:767px){.ninja-forms-app .navbar-default .navbar-nav .open .dropdown-menu>li>a{color:#777}.ninja-forms-app .navbar-default .navbar-nav .open .dropdown-menu>li>a:focus,.ninja-forms-app .navbar-default .navbar-nav .open .dropdown-menu>li>a:hover{color:#333;background-color:transparent}.ninja-forms-app .navbar-default .navbar-nav .open .dropdown-menu>.active>a,.ninja-forms-app .navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus,.ninja-forms-app .navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover{color:#555;background-color:#e7e7e7}.ninja-forms-app .navbar-default .navbar-nav .open .dropdown-menu>.disabled>a,.ninja-forms-app .navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus,.ninja-forms-app .navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:#ccc;background-color:transparent}}@media (max-width:767px){.ninja-forms-app .navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#080808}.ninja-forms-app .navbar-inverse .navbar-nav .open .dropdown-menu .divider{background-color:#080808}.ninja-forms-app .navbar-inverse .navbar-nav .open .dropdown-menu>li>a{color:#9d9d9d}.ninja-forms-app .navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus,.ninja-forms-app .navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover{color:#fff;background-color:transparent}.ninja-forms-app .navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.ninja-forms-app .navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus,.ninja-forms-app .navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover{color:#fff;background-color:#080808}.ninja-forms-app .navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a,.ninja-forms-app .navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:focus,.ninja-forms-app .navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:#444;background-color:transparent}}.ninja-forms-app #wpcontent .wp-picker-holder{position:absolute;z-index:9001}.ninja-forms-app #wpcontent .wp-picker-holder *{box-sizing:content-box}.wp-picker-container{width:100%}.wp-color-result,.wp-picker-input-wrap{margin-top:5px}.wp-color-result{border:0;box-shadow:none;margin:5px 0 0;height:41px;width:100%;padding-left:60px}.wp-color-result:after{font-size:16px;line-height:41px}.wp-color-result.wp-picker-open{display:none}.wp-color-picker,.wp-picker-input-wrap{width:100%!important}.wp-picker-input-wrap>.button.wp-picker-default{display:none}@keyframes color_change{0%{background-color:#1ea9ea;color:#fff}to{background-color:#3b454d;color:#a2a5a8}}.nf-item.clicked{animation-name:color_change;animation-duration:2s;animation-iteration-count:1;animation-direction:alternate}@media only screen and (max-width:1400px){.nf-field-type-button{width:50%}}@media only screen and (max-width:1065px){.nf-app-menu .preview .app-menu-text{text-indent:-9999px;display:inline-block;width:0}.nf-drawer-opened .nf-actions-table td:nth-child(3),.nf-drawer-opened .nf-actions-table th:nth-child(3){display:none}}@media only screen and (max-width:900px){#nf-header .nf-button.primary,#nf-header ul{display:none}.nf-mobile-menu{display:inline-block}#nf-app-sub-header h2{padding-left:0;transition:all 1.0s ease 0s}.nf-add-new.nf-open-drawer{position:fixed;text-indent:-9999px;height:54px;width:54px;top:auto;left:auto;bottom:20px;right:20px}.nf-add-new.nf-open-drawer:after{background:#84cc1e;border:2px solid #84cc1e;border-radius:40px;color:#fff;content:"+";font-size:50px;padding:8px;position:absolute;left:0;width:28px;height:28px;line-height:24px;text-indent:0px}#nf-main-header .nf-button{display:none}.nf-one-half,.nf-one-third{float:none;width:100%}.nf-drawer-expand .nf-one-half{float:left;width:50%}.nf-drawer-expand .nf-on-third{float:left;width:33%}#nf-app-form-title{margin-top:-55px}#nf-main{top:120px}#nf-table-display .nf-item-controls{width:auto}}@media only screen and (max-width:1023px){.ninja-forms-app.folded #wpcontent{margin-left:36px;padding:0;position:absolute;top:0;left:0;bottom:0;right:0}.ninja-forms-app.folded #wpcontent #wpbody{left:0}.nf-setting-wrap{width:50%}#nf-drawer,.nf-drawer-opened #nf-main{width:100%}.nf-drawer-closed .nf-setting-wrap,.nf-drawer-opened .nf-setting-wrap{width:50%}.nf-toggle-drawer{display:none}}@media only screen and (max-width:960px){.ninja-forms-app.auto-fold #wpcontent{margin-left:36px;padding:0;position:absolute;top:0;left:0;bottom:0;right:0}.ninja-forms-app.auto-fold #wpcontent #wpbody{left:0}.nf-drawer-opened .nf-toggle-drawer{display:none}}@media only screen and (max-width:782px){.ninja-forms-app.auto-fold #wpcontent,.ninja-forms-app.folded #wpcontent{margin-left:0}#nf-builder{padding:80px 20px 10px}#nf-builder .nf-cta-bubble{display:none!important}#nf-main{padding:20px 0 80px}#nf-drawer{padding:20px}#nf-main-content{width:100%;max-width:100%}#nf-main{border:0}}@media only screen and (max-width:660px){.nf-one-half,.nf-one-third{width:100%}.nf-actions-table td:nth-child(3),.nf-actions-table th:nth-child(3){display:none}.nf-drawer-buttons{display:block}.nf-item{padding:15px}.nf-item .fa{padding:14px;width:48px}.nf-saved .nf-item:after{padding:14px}}#nf-app-admin-header{background:#ebedee;height:60px;position:absolute;top:0;left:0;right:0}#nf-app-admin-header .fa-times{background:#424242;color:#fff;font-size:30px;position:absolute;text-align:center;text-decoration:none;line-height:56px;right:0;height:60px;width:60px}#nf-app-admin-header #nf-logo{background-image:url(../img/ninja-forms-app-header-logo@2x.png);background-size:130px 50px;background-position:bottom;background-repeat:no-repeat;float:left;width:160px;height:60px;opacity:1.0;filter:alpha(opacity=100);transition:all 1.0s ease}#nf-app-admin-header .nf-cta-bubble{background:#1ea9ea;border:1px solid #1ea9ea;border-radius:6px;color:#fff;display:block;float:left;font-size:14px;margin:6px 0 0 20px;padding:5px 10px;position:relative;text-decoration:none;width:360px}#nf-app-admin-header .nf-cta-bubble:after{display:block;content:"";width:0;height:0;border-top:10px solid transparent;border-bottom:10px solid transparent;border-right:10px solid #1ea9ea;position:absolute;left:-10px;top:13px}#nf-app-admin-header .nf-cta-bubble:hover{background:#fff;color:#1ea9ea}.scrollWrap{overflow:hidden;z-index:1}.scrollContent,.scrollWrap{height:100%;position:relative}.scrollContent{width:100%;padding:0 32px 0 0;right:-18px;overflow:auto;box-sizing:border-box}.fakeScrollBar{position:absolute;background:hsla(0,0%,100%,.5);width:9px;border-radius:4px;right:-15px;top:0;z-index:0;cursor:-webkit-grab}.fakeScroll:hover .fakeScrollBar.fakescroll-grabbed{cursor:-webkit-grabbing;background:#fff}body.fakescroll-grabbed{cursor:-webkit-grabbing}.rtl.ninja-forms-app #wpcontent{margin-right:140px}.rtl.ninja-forms-app #wpcontent #wpbody{right:160px;left:0}.rtl.ninja-forms-app.folded #wpcontent{margin-right:16px}.rtl.ninja-forms-app.folded #wpcontent #wpbody{right:36px;left:0}.rtl #nf-app-admin-header #nf-logo{float:right}.rtl #nf-app-admin-header .fa-times{right:auto;left:0}.rtl .nf-app-buttons{float:left}.rtl #nf-app-header .nf-app-menu li{float:right}.rtl #nf-app-header .nf-app-menu li a.preview .dashicons{margin-right:10px}.rtl .nf-master-control{right:auto;left:30px}.rtl .nf-master-control .fa{margin:15px 16px 0 0}.rtl input[type=submit]{float:left}.rtl .nf-cancel{float:left;margin-left:20px}.rtl .nf-add-new{margin:0;padding:0}.rtl .nf-add-new:after{right:0;left:auto;line-height:14px}.rtl #nf-main{right:0;left:auto}.rtl #nf-main-header .nf-button{float:left}.rtl .nf-field-label{margin-left:0;margin-right:16px}.rtl .nf-item-controls,.rtl .nf-item-controls .nf-item-control{right:auto;left:0}.rtl .nf-item-controls:hover .nf-item-duplicate{right:auto;left:80px}.rtl .nf-item-controls:hover .nf-item-delete{right:auto;left:40px}.rtl #nf-drawer{right:auto;left:-1400px}.rtl #nf-drawer.nf-drawer-expand{width:100%}.rtl .nf-drawer-header h2{float:right}.rtl .nf-drawer-header h2 .dashicons{margin-left:10px}.rtl .nf-drawer-header .nf-button{float:left}.rtl .nf-search input[type=search]{padding:12px 50px 12px 0}.rtl .nf-search:before{right:10px;left:0}.rtl .nf-drawer-opened #nf-drawer{left:0;right:auto}.rtl .nf-drawer-opened #nf-app-sub-header h2{padding-right:0}.rtl .nf-settings h3 .dashicons{margin:-4px -30px 0 10px}.rtl .nf-settings h3 .dashicons.dashicons-arrow-right:before{content:"\f141"}.rtl .nf-item .fa{left:auto;right:0}.rtl .nf-one-fourth,.rtl .nf-one-half,.rtl .nf-one-third{float:right}
2
  /*# sourceMappingURL=builder.css.map */
1
+ html{overflow:hidden;width:100%;float:left;left:0}#wp-auth-check-wrap #wp-auth-check{z-index:1000000000000}.ninja-forms-app{height:0}.ninja-forms-app #adminmenumain,.ninja-forms-app #wpfooter{display:none}.ninja-forms-app #wpwrap{height:0;min-height:0}.ninja-forms-app #wpcontent #wpbody{font-size:16px}.ninja-forms-app #wpcontent *{box-sizing:border-box}.ninja-forms-app #wpcontent .wp-editor-tabs button{box-sizing:initial}.ninja-forms-app .grey #nf-drawer .nf-button{padding:15px 30px}.media-modal{z-index:100000000}#nf-builder{background:#fff;padding:30px 40px;overflow:hidden;padding-top:80px;position:fixed;top:0;bottom:0;left:0;right:0;z-index:10000000;box-shadow:0 5px 15px rgba(0,0,0,.7)}.product-content article>:not(img){padding-left:30px;padding-right:30px}#nf-header{height:100px;transition:margin 0.5s ease}#nf-header #nf-logo{background-image:url(../img/ninja-forms-app-header-logo.png);float:left;width:80px;height:30px;opacity:1.0;filter:alpha(opacity=100);transition:all 1.0s ease}@media (-webkit-min-device-pixel-ratio:2),(min--moz-device-pixel-ratio:2),(min-device-pixel-ratio:2),(min-resolution:2dppx),(min-resolution:192dpi){#nf-header #nf-logo{background-image:url(../img/ninja-forms-app-header-logo@2x.png);background-size:80px 30px}}#nf-header ul{display:inline-block;margin:0}#nf-header ul li{float:left}#nf-header ul li.nf-mobile-menu{display:none}#nf-header ul li a{color:#424242;display:block;margin:16px 20px;padding-bottom:8px;text-decoration:none}#nf-header ul li a.active{border-bottom:2px solid #424242}#nf-header ul li a.preview{color:#bbb;transition:all 1.0s ease}#nf-header ul li a.preview .dashicons{display:inline-block;margin-left:10px}#nf-header ul li:first-child a{margin-left:0}#nf-header ul:after{clear:both;content:"";display:block}#nf-header input[type=submit]{float:right}#nf-header .nf-cancel{float:right;margin-right:30px;padding:8px 0}#nf-header .nf-cancel .dashicons{font-size:30px}#nf-header:after{clear:both;content:"";display:block}#nf-app-header{height:50px}#nf-app-header:after{clear:both;content:"";display:block}#nf-app-sub-header{height:50px;padding:0}#nf-app-sub-header h2{display:inline-block;margin:0;padding:10px 0;transition:all 1.0s ease 0s}#nf-app-sub-header:after{clear:both;content:"";display:block}.nf-app-buttons,.nf-app-buttons .publish{float:right}#nf-app-form-title h2{margin:15px 0}#nf-main{border:4px solid #fff;width:100%;position:absolute;top:190px;overflow:auto;overflow-x:visible;bottom:0;left:0;-webkit-overflow-scrolling:touch;transition:left 0.5s ease}#nf-main .nf-field-type-button{width:400px}.nf-main-test{width:100%;transition:width 0.5s ease}#nf-main-content,#nf-main-header{margin:0 auto;max-width:860px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;padding:0 80px;position:relative}#nf-main-header .nf-button{float:right}#nf-main-header h2{display:inline-block}#nf-main-header:after{clear:both;content:"";display:block}#the-list tr.flagged th:first-child{border-left:5px solid #ff0}#nf-main-gutter-left,#nf-main-gutter-right{position:absolute;top:0;width:80px;height:450px}#nf-main-gutter-left .fa-chevron-circle-left,#nf-main-gutter-left .fa-chevron-circle-right,#nf-main-gutter-left .fa-plus-circle,#nf-main-gutter-right .fa-chevron-circle-left,#nf-main-gutter-right .fa-chevron-circle-right,#nf-main-gutter-right .fa-plus-circle{color:#eee;font-size:86px;position:absolute;top:50%;transform:translateY(-50%)}#nf-main-gutter-left .fa-chevron-circle-left:hover,#nf-main-gutter-left .fa-chevron-circle-right:hover,#nf-main-gutter-left .fa-plus-circle:hover,#nf-main-gutter-right .fa-chevron-circle-left:hover,#nf-main-gutter-right .fa-chevron-circle-right:hover,#nf-main-gutter-right .fa-plus-circle:hover{color:#1ea9ea;cursor:pointer}#nf-main-gutter-left{left:0;padding-left:6px}#nf-main-gutter-right{right:0;padding-right:6px}.nf-fields-empty{padding:0 40px}.nf-fields-empty h3{font-size:30px;line-height:32px}.nf-fields-empty p{font-size:18px}.nf-fields-empty a{text-decoration:none}.nf-field-label{display:inline-block;margin-left:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;width:80%}.nf-drawer-opened .nf-field-label{width:60%}.template-box{text-decoration:none}.template-box .template-box-inside{background:#ebedee;color:#424242;min-height:160px;padding:10px;text-decoration:none;transition:all 0.2s ease-in-out 0.1s,box-shadow 0.2s ease-in-out 0.1s}.template-box .template-box-inside h4{margin:0 0 10px;min-height:35px}.template-box .template-box-inside p{font-size:12px;margin:0}.template-box:hover .template-box-inside{background:#fff;box-shadow:0 0 20px #1ea9ea;color:#1ea9ea;transition:all 0.2s ease-in-out 0.1s,box-shadow 0.2s ease-in-out 0.1s}.nf-drawer-opened .template-box{width:50%}@media only screen and (max-width:1400px){.nf-drawer-opened .template-box{width:100%}}.nf-setting-wrap{cursor:pointer;float:left;margin-bottom:30px;padding:0 2%;width:33.33%}.nf-setting-wrap:after{clear:both;content:"";display:block}.nf-setting-wrap span{background:#fff;border:1px solid #ccc;border-radius:4px;display:table-cell;height:85px;width:400px;text-align:center;vertical-align:middle}.nf-setting-wrap.active span{border:2px solid #84cc1e;font-weight:700}.nf-item-controls{height:30px;width:30px;float:right;margin:0;position:absolute;top:9px;right:10px}.nf-item-controls .nf-item-control{visibility:hidden;margin:0;opacity:0;text-align:center;width:40px;height:30px;position:absolute;right:0;transition:all 0.5s ease}.nf-item-controls .nf-item-control a{background:#fff;border:1px solid #fff;border-radius:50px;color:#1ea9ea;display:block;text-decoration:none;padding:3px;position:relative;width:32px}.nf-item-controls .nf-item-control a:hover{background:#fff;border:1px solid #1ea9ea;color:#1ea9ea}.nf-item-controls .nf-item-control .fa{font-size:18px;line-height:24px;text-align:center}.nf-item-controls .nf-item-control.nf-item-edit{opacity:100;visibility:visible;z-index:auto}.nf-item-controls:hover a{background:#1ea9ea;color:#fff}.nf-item-controls:hover .nf-item-duplicate{visibility:visible;opacity:100;right:80px;transition:all 0.5s ease}.nf-item-controls:hover .nf-item-delete{visibility:visible;opacity:100;right:40px;transition:all 0.5s ease}#nf-table-display .nf-item-controls{float:right}.nf-field-wrap{background:#fff;border:1px solid #ccc;border-radius:4px;color:#888;cursor:pointer;margin-bottom:20px;padding:15px 20px;position:relative}.nf-field-wrap.active{border:2px solid #84cc1e;color:#424242;font-weight:700}.nf-field-wrap.active .nf-item-controls{font-weight:400}.nf-field-wrap.active .nf-item-controls a{background:#fff;color:#84cc1e}.nf-field-wrap.active .nf-item-controls a:hover{border-color:#fff}.nf-field-wrap.active .nf-item-controls .nf-item-delete,.nf-field-wrap.active .nf-item-controls .nf-item-duplicate{display:none}.nf-field-wrap.active .nf-item-controls .nf-item-editing{display:inline}.nf-field-wrap.active .nf-item-controls .nf-item-edit .dashicons{margin-right:12px}.nf-field-wrap.note{background:#ffe}.nf-group-wrap{background:#fff;border:2px solid #ccc;border-radius:4px;color:#888;margin:0 -10px 20px;padding:15px 30px;position:relative}.nf-group-wrap .nf-item-controls{width:128px}.nf-group-wrap .nf-item-expand{display:inline!important}.nf-group-wrap .nf-field-wrap{margin-left:-20px;margin-right:-20px;visibility:hidden;opacity:0.0;filter:alpha(opacity=0);position:absolute;top:0;left:0;right:0}.nf-group-wrap.expanded{border-color:#84cc1e;color:#84cc1e}.nf-group-wrap.expanded .nf-item-expand .dashicons{transform:rotate(90deg)}.nf-group-wrap.expanded .nf-field-wrap{opacity:1.0;visibility:visible;filter:alpha(opacity=100);position:relative;top:0;left:0;right:0;transition:all 1.0s ease}.nf-group-wrap.expanded .nf-field-wrap:nth-child(2){margin-top:20px}.nf-group-wrap.expanded .nf-field-wrap:last-child{margin-bottom:0}.nf-group-wrap.expanded .nf-field-wrap .nf-item-controls{width:96px}.nf-group-wrap.expanded .nf-field-wrap .nf-item-controls .nf-item-expand{display:none!important}#nf-drawer{background:#ebedee;padding:40px;width:50%;position:absolute;top:0;bottom:0;right:-1400px;overflow:hidden;z-index:auto;transition:width 0.75s ease;-webkit-overflow-scrolling:touch}#nf-drawer.nf-drawer-expand{width:100%}.nf-drawer-opened .nf-main-test{width:50%;transition:all 0.50s ease}.nf-drawer-opened .nf-main-test .nf-button{display:none}.nf-drawer-opened #nf-drawer{right:0;transition:all 0.50s ease}.nf-drawer-opened #nf-drawer.nf-drawer-expand{width:100%;transition:all 0.50s ease}.nf-drawer-opened #nf-drawer.nf-drawer-expand .nf-toggle-drawer .dashicons{transform:rotate(180deg);transition:all 0.50s ease}.nf-drawer-opened #nf-drawer.nf-drawer-expand .nf-toggle-drawer .nf-expand-off{display:none}.nf-drawer-opened #nf-drawer.nf-drawer-expand .nf-toggle-drawer .nf-expand-on{display:inline}.nf-drawer-opened .preview,.nf-drawer-opened .preview.active,.nf-drawer-opened .preview:active,.nf-drawer-opened .preview:hover{opacity:0.0;visibility:hidden;filter:alpha(opacity=0);transition:all 0.50s ease}.nf-drawer-opened #nf-main-content,.nf-drawer-opened #nf-main-header{margin:0 auto;transition:all 0.50s ease}@media only screen and (min-width:901px){.nf-drawer-opened #nf-app-sub-header .nf-add-new{top:139px!important;text-indent:-99999px}}.nf-drawer-opened .nf-setting-wrap{width:50%;transition:width 0.50s ease}.nf-drawer-opened .nf-toggle-drawer{display:block}.nf-drawer-closed #nf-main{width:100%;left:0;transition:width 0.50s ease,left 0.50s ease}.nf-drawer-closed #nf-drawer{right:-1400px;transition:right 0.50s ease}.nf-drawer-closed .nf-add-new{opacity:1.0;visibility:visible;filter:alpha(opacity=100);transition:all 0.50s ease}.nf-drawer-closed .nf-setting-wrap{width:33%;transition:width 0.50s ease}.nf-drawer-closed .nf-toggle-drawer{display:none}.nf-drawer-header{margin-bottom:20px;padding:0 10px}.nf-drawer-header:after{clear:both;content:"";display:block}.nf-drawer-header h2{color:#666;float:left;font-size:20px;line-height:22px}.nf-drawer-header h2 .dashicons{margin-right:10px}.nf-drawer-header .nf-button{float:right}.nf-drawer-error{background-color:#ffbaba;border:1px solid #ffbaba;border-radius:5px;color:#d8000c;font-size:12px;margin:10px 0px;padding:10px}.nf-settings h3{color:#424242;font-size:14px;padding:10px 10px 0;text-transform:uppercase}.nf-settings h3 .dashicons{color:#bbb;font-size:28px;margin:-4px 10px 0 -30px}.nf-settings:after{clear:both;content:"";display:block}.nf-full{clear:both}.nf-full.toggle-row{border-bottom:1px solid #ccc;margin:0;position:relative}.nf-full.toggle-row:first-child{border-top:1px solid #ccc}.nf-full.toggle-row label{display:inline-block;padding:15px 60px 15px 0}.nf-full.toggle-row .nf-toggle{float:right;margin:15px 0;position:absolute;top:0;right:10px}.nf-one-half,.nf-one-third{float:left}.nf-one-half{width:50%}.nf-one-third{width:33.33%}.nf-first{clear:both;margin-left:0}.nf-full,.nf-one-half,.nf-one-third{margin-bottom:15px;padding:0 2%}.nf-full:after,.nf-one-half:after,.nf-one-third:after{clear:both;content:"";display:block}.nf-toggle-drawer{color:#aaa;cursor:pointer;display:none;float:right;margin-top:40px;text-decoration:none;padding:10px 20px;position:fixed;bottom:0;right:0}.nf-toggle-drawer .dashicons{margin-right:5px;transition:all 0.50s ease}.nf-toggle-drawer .nf-expand-off{display:inline}.nf-toggle-drawer .nf-expand-on{display:none}#nf-menu-drawer{background:#ebedee;box-shadow:inset 1px 4px 9px -6px;width:250px;position:absolute;top:0;bottom:0;right:-250px;z-index:999;transition:right 0.50s ease}#nf-menu-drawer ul{margin:0}#nf-menu-drawer ul li a{border-bottom:1px solid #ccc;color:#424242;display:block;padding:10px 20px;text-decoration:none}#nf-menu-drawer ul li a .dashicons{color:#1ea9ea;margin-right:15px}#nf-menu-drawer .nf-publish{background:#1ea9ea;color:#fff;padding:20px;text-align:center;text-transform:uppercase;cursor:pointer}#nf-menu-drawer .nf-publish.disabled{background:#ccc;border:1px solid #ccc;cursor:default}.nf-menu-expand #nf-menu-drawer{right:0;transition:right 0.50s ease}.nf-menu-expand #nf-header{margin-right:250px;margin-left:-250px;transition:margin 0.50s ease}.nf-menu-expand #nf-main{left:-250px;transition:left 0.50s ease}.nf-div-table .nf-table-row.nf-error textarea{border:1px solid red}.nf-div-table .nf-table-row.nf-error span.nf-option-error{background:red;color:#fff;display:block;padding:5px 0;width:100%}.nf-div-table .nf-table-row.nf-error span.nf-option-error div.nf-error{display:block;width:100%!important;text-align:center}.ninja-forms-app .jBox-Notice .jBox-container{background:#84cc1e;font-size:18px}.nf-button{border:0;border-radius:4px;cursor:pointer;display:inline-block;font-size:17px;padding:10px 30px;text-align:center;text-decoration:none;text-transform:uppercase;-webkit-appearance:none;-moz-appearance:none;appearance:none}.nf-button.primary{background:#1ea9ea;border:1px solid #1ea9ea;color:#fff}.nf-button.secondary{background:#fff;border:1px solid #1ea9ea;color:#1ea9ea}.nf-button.disabled{background:#ccc;border:1px solid #ccc;cursor:default}.nf-button.publish{float:right}.nf-cancel{color:#999;font-size:15px}.nf-mobile-menu{background:#1ea9ea;border-radius:4px;color:#fff;display:none;float:right;padding:5px 7px 5px 5px;text-decoration:none;transition:margin 0.5s ease}.nf-mobile-menu .dashicons{font-size:30px;width:32px;height:30px}.nf-mobile-menu:hover{color:#fff}.ninja-forms-app fieldset{border:1px solid #ccc;clear:both;display:block;margin-bottom:20px}.ninja-forms-app label{position:relative}.ninja-forms-app label:after{clear:both;content:"";display:block}.ninja-forms-app legend{margin:0 3px 10px;padding:0 10px}.ninja-forms-app .nf-setting-label,.ninja-forms-app label,.ninja-forms-app legend{color:#424242;display:block;font-size:13px;text-transform:uppercase}.ninja-forms-app .nf-setting-label .open-media-manager,.ninja-forms-app label .open-media-manager,.ninja-forms-app legend .open-media-manager{position:absolute;color:#ccc;right:15px;top:5px;text-decoration:none}.ninja-forms-app input[type=number],.ninja-forms-app input[type=text],.ninja-forms-app textarea{background:#f9f9f9;border:0;margin-top:7px;padding:12px 15px;width:100%;height:41px;text-transform:default}.ninja-forms-app textarea{height:200px}.ninja-forms-app input[type=checkbox].nf-checkbox{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#f9f9f9;border:0;height:25px;width:25px;padding:2px 1px 0px!important;margin:-3px -5px}.ninja-forms-app input[type=checkbox].nf-checkbox:checked:before{content:"\f147";font:400 30px/1 dashicons}.ninja-forms-app .jBox-wrapper.import-options{padding:12px 20px 0px!important}.ninja-forms-app .jBox-wrapper.import-options.jBox-pointerPosition-top.jBox-closeButton-box:before{right:10px}.ninja-forms-app .nf-list-options{padding-bottom:20px}.ninja-forms-app .nf-list-options .nf-add-new{margin-left:20px}.ninja-forms-app .nf-list-options .nf-div-table .nf-table-row>div{display:table-cell;padding:5px}.ninja-forms-app .nf-list-options .nf-div-table .nf-table-row>div:first-child,.ninja-forms-app .nf-list-options .nf-div-table .nf-table-row>div:nth-child(6){padding:0 15px;width:20px}.ninja-forms-app .nf-list-options .nf-div-table .nf-table-row>div:nth-child(2),.ninja-forms-app .nf-list-options .nf-div-table .nf-table-row>div:nth-child(3){width:45%}.ninja-forms-app .nf-list-options .nf-div-table .nf-table-row>div:nth-child(4){min-width:100px}.ninja-forms-app .nf-list-options .nf-div-table .nf-table-row>div input{margin:0}.ninja-forms-app .nf-list-options .nf-div-table .nf-table-row.nf-table-header div{font-size:12px;padding:20px 5px 5px}.ninja-forms-app .nf-list-options .nf-div-table .nf-table-row.nf-table-header div:first-child,.ninja-forms-app .nf-list-options .nf-div-table .nf-table-row.nf-table-header div:nth-child(6){padding:0 25px}.ninja-forms-app .nf-list-options.calculations .nf-div-table .nf-table-header div:nth-child(4){display:none}.ninja-forms-app .nf-list-options.calculations .nf-div-table .nf-table-row div{vertical-align:top;position:relative}.ninja-forms-app .nf-list-options.calculations .nf-div-table .nf-table-row div:first-child,.ninja-forms-app .nf-list-options.calculations .nf-div-table .nf-table-row div:nth-child(4){padding:0 15px;width:20px;min-width:20px}.ninja-forms-app .nf-list-options.calculations .nf-div-table .nf-table-row div:nth-child(2){width:30%}.ninja-forms-app .nf-list-options.calculations .nf-div-table .nf-table-row div:nth-child(3){width:70%}.ninja-forms-app .nf-list-options.calculations .nf-div-table .nf-table-row div textarea{margin:0;height:100px;padding-right:40px}.ninja-forms-app .nf-list-options.calculations .nf-div-table .nf-table-row div .merge-tags{color:#999;position:absolute;right:15px;top:5px}.ninja-forms-app .nf-list-options.calculations .nf-div-table .nf-table-row div .dashicons{color:#999;margin-top:10px}.ninja-forms-app .nf-list-options.calculations .nf-div-table .nf-table-row .calc-left div{display:inline-block}.ninja-forms-app .nf-list-options.calculations .nf-div-table .nf-table-row .calc-left div:first-child{width:100%;padding:0px}.ninja-forms-app .nf-list-options.calculations .nf-div-table .nf-table-row .calc-left div:nth-child(2){width:60%;text-align:right;font-size:12px;float:left;padding-top:20px;padding-right:10px}.ninja-forms-app .nf-list-options.calculations .nf-div-table .nf-table-row .calc-left div:nth-child(3){width:50px;float:left;padding-top:10px}.ninja-forms-app .options{position:relative}.ninja-forms-app .options legend .nf-open-import-tooltip{background:#ebedee;color:#1ea9ea;font-size:16px;padding:6px 15px;text-decoration:none;position:absolute;right:15px;top:0}.nf-drawer-buttons{display:none;margin:0 -20px;padding:0}.nf-drawer-buttons li{background:#424242;border-right:1px solid #f1f1f1;float:left;margin:0;padding:15px;text-align:center;width:50%}.nf-drawer-buttons li:last-child{border:0}.nf-drawer-buttons li.nf-drawer-delete{color:red}.nf-drawer-buttons li.nf-drawer-duplicate{color:#84cc1e}.nf-drawer-buttons li .dashicons{margin-right:10px}.nf-drawer-buttons:after{clear:both;content:"";display:block}.dashicons.spin{animation:dashicons-spin 1s infinite;animation-timing-function:linear}@keyframes dashicons-spin{0%{transform:rotate(0deg)}to{transform:rotate(360deg)}}.nf-search{display:inline;position:relative}.nf-search input[type=search]{background:transparent;box-shadow:0 0 0;border:0;margin-bottom:3px;padding:12px 0 12px 50px;width:60%}.nf-search:before{content:"\f179";color:#aaa;font-family:Dashicons;font-size:30px;width:30px;height:30px;position:absolute;top:4px;left:10px}.nf-stage{position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.nf-stage .nf-stage-controls{background:#f8f8f9;padding:5px;position:absolute;top:-20px;right:10px}.nf-reservoir:after{clear:both;content:"";display:block}.nf-reservoir.nf-droppable-active,.nf-reservoir.nf-staged-fields-active{background:#f8f8f9;border:4px solid #f8f8f9;border-radius:4px;margin:30px 2% 20px;min-height:52px;padding:6px;transition:all 1.0s ease}.nf-reservoir .nf-item-dock{background:#fff;border-radius:4px;color:#999;display:inline-block;float:left;margin:0 4px 3px;padding:5px 10px;position:relative}.nf-reservoir .nf-item-dock .dashicons{font-size:14px;margin:2px 0 -4px 5px}.nf-reservoir .nf-item-dock .fa{margin-right:10px}.nf-item{background:#3b454d;border-radius:4px;color:#a2a5a8;font-size:14px;padding:10px;position:relative;text-align:center}.nf-item.active{background:#1ea9ea;color:#fff}.nf-item .fa{background:#30373e;border-top-left-radius:4px;border-bottom-left-radius:4px;padding:9px;position:absolute;top:0;left:0;bottom:0;width:34px;line-height:20px}.nf-saved .nf-item{position:relative}.nf-saved .nf-item:after{background:#30373e;border-top-left-radius:4px;border-bottom-left-radius:4px;content:"\f155";font-family:Dashicons;padding:9px;position:absolute;top:0;left:0;bottom:0;width:16px;height:20px}.nf-action-items .nf-item{height:100px;line-height:75px;cursor:pointer}.nf-action-items .nf-item.nf-has-img{background-position:50%;text-indent:-99999px}.nf-action-items.available .nf-item.nf-has-img{filter:grayscale(100%);opacity:0.6}.nf-action-items.available .nf-item.nf-has-img:hover{filter:grayscale(0);opacity:1.0}.nf-field-type-button{float:left;margin-bottom:15px;padding:0 2%;width:33.33%}table.nf-changes tr td{border-bottom:1px solid #ccc}table.nf-changes tr.disabled-row td{color:#bbb}table.nf-changes tr:nth-child(2n) td{background:#e5e7e8!important}table.nf-changes tr:hover td{background:#fff!important}.nf-button.undoChanges .dashicons{font-size:18px;height:18px;width:18px;margin-right:5px}.nf-setting-error{color:red;font-size:14px;padding:5px 10px}.nf-setting-error a{color:red}.nf-add-new{color:#1ea9ea;padding:0 0 0 46px;text-decoration:none;line-height:32px;position:relative;height:32px;z-index:98;text-indent:0px;overflow:hidden}.nf-add-new:after{background:#1ea9ea;border:2px solid #1ea9ea;border-radius:40px;color:#fff;content:"+";font-size:22px;padding:8px;position:absolute;left:0;width:12px;height:12px;line-height:10px;text-indent:0px;transition:all 0.5s ease 0s}.nf-add-new.active,.nf-add-new:active,.nf-add-new:hover{color:#1ea9ea;transition:width 0.5s ease 0s,height 0.5s ease 0s,text-indent 0.5s ease,top 0.5s ease,left 0.5s ease}.nf-add-new.active:after,.nf-add-new:active:after,.nf-add-new:hover:after{background:#fff;color:#1ea9ea;transform:rotate(180deg);transition:all 0.5s ease}.nf-add-new.nf-open-drawer{position:absolute;top:185px;left:40px}.nf-add-new.disabled{display:none}.nf-master-control{background:#1ea9ea;border:2px solid #1ea9ea;border-radius:40px;cursor:pointer;position:absolute;height:60px;width:60px;top:auto;left:auto;bottom:20px;right:30px;transition:all 0.5s ease;z-index:98}.nf-master-control span{display:block;text-indent:-9999px}.nf-master-control .fa{color:#fff;cursor:pointer;font-size:28px;line-height:28px;margin:15px 0 0 16px;transition:all 0.5s ease}.nf-master-control.active,.nf-master-control:active,.nf-master-control:hover{background:#fff;color:#1ea9ea;transition:all 0.5s ease}.nf-master-control.active .fa,.nf-master-control:active .fa,.nf-master-control:hover .fa{color:#1ea9ea;margin:12px 0 0 16px;transform:rotate(180deg);transition:all 0.5s ease}input[type=checkbox].nf-toggle{display:none}input[type=checkbox].nf-toggle+label{text-indent:-99999px;background:transparent;border:0;box-shadow:0 0 0;display:block;margin:19px 5px 11px;-webkit-appearance:none;-moz-appearance:none;appearance:none;position:relative;width:40px;height:20px;cursor:pointer}input[type=checkbox].nf-toggle+label:after{background:#bcbdbf;border:2px solid #bcbdbf;border-radius:20px;content:"";position:absolute;top:-4px;left:-4px;width:40px;height:20px;transition:all 0.3s ease}input[type=checkbox].nf-toggle+label:before{background:#fff;border-radius:20px;content:"";position:absolute;top:-1px;left:0;width:18px;height:18px;z-index:99;transition:all 0.3s ease}input[type=checkbox].nf-toggle:checked+label:after{background:#84cc1e;border:2px solid #84cc1e;transition:all 0.3s ease}input[type=checkbox].nf-toggle:checked+label:before{content:"";left:18px;transition:all 0.3s ease}.nf-full{position:relative}.nf-full input[type=checkbox].nf-toggle+label{margin:-18px 0 0;padding:12px 0 20px;position:absolute;top:24px;right:10px}.nf-full input[type=checkbox].nf-toggle+label:before{left:auto;right:22px;transition:right 0.3s ease}.nf-full input[type=checkbox].nf-toggle+label:after{left:auto;right:0}.nf-full input[type=checkbox].nf-toggle:checked+label:before{left:auto;right:4px;transition:right 0.3s ease}.nf-full .nf-setting-label{border-bottom:1px solid #ccc;padding:5px 0 20px}.ninja-forms-app .nf-select{display:block;position:relative}.ninja-forms-app .nf-select select{background:transparent;border:0;margin-top:7px;height:41px!important;padding:0 30px 0 15px;position:relative;width:100%;text-transform:capitalize;-webkit-appearance:none;-moz-appearance:none;appearance:none;z-index:2}.ninja-forms-app .nf-select div{background:#f9f9f9;height:41px;position:absolute;bottom:1px;width:100%;z-index:1}.ninja-forms-app .nf-select div:after{color:#666;content:"\f347";font-family:Dashicons;font-size:20px;position:absolute;width:30px;height:30px;right:5px;bottom:0}.ninja-forms-app div.nf-select div{bottom:7px;width:95%}.ninja-forms-app div.nf-select select{margin-top:0}.nf-actions-table,.nf-table-display{border-collapse:collapse;width:100%}.nf-actions-table td,.nf-actions-table th,.nf-table-display td,.nf-table-display th{border-bottom:1px solid #ecedee;font-size:14px;padding:15px;vertical-align:top;position:relative}.nf-actions-table th,.nf-table-display th{color:#666;text-align:left;text-transform:uppercase}.nf-actions-table td,.nf-table-display td{color:#676f75;position:relative}.nf-actions-table td:nth-child(2),.nf-table-display td:nth-child(2){width:90%}.nf-actions-table .deactivated td,.nf-table-display .deactivated td{color:#bcbdbf}.nf-actions-table .deactivated td a,.nf-table-display .deactivated td a{color:#ddd}.nf-actions-table input[type=checkbox].nf-toggle+label,.nf-table-display input[type=checkbox].nf-toggle+label{z-index:0;margin:2px 0 0}.nf-actions-table .active td,.nf-table-display .active td{color:#84cc1e;font-weight:700}.nf-actions-table .active .nf-item-controls,.nf-table-display .active .nf-item-controls{font-weight:400;float:right}.nf-actions-table .active .nf-item-controls a,.nf-table-display .active .nf-item-controls a{color:#84cc1e}.nf-actions-table .active .nf-item-controls .nf-item-delete,.nf-actions-table .active .nf-item-controls .nf-item-duplicate,.nf-table-display .active .nf-item-controls .nf-item-delete,.nf-table-display .active .nf-item-controls .nf-item-duplicate{display:none}.nf-actions-table .active .nf-item-controls .nf-item-editing,.nf-table-display .active .nf-item-controls .nf-item-editing{display:inline!important}.nf-actions-table .active .nf-item-controls .nf-item-edit .dashicons,.nf-table-display .active .nf-item-controls .nf-item-edit .dashicons{margin-right:12px}.ui-droppable{border:4px solid #fff}.nf-actions-empty thead{display:none}.nf-actions-empty td{border:4px solid #fff!important;display:block;padding:40px 20%!important;white-space:normal!important}.nf-actions-empty h3{font-size:30px}.nf-actions-empty p{font-size:18px}.nf-actions-table td{cursor:pointer}.nf-actions-table .nf-item-controls{top:12px}.ps-container{-ms-touch-action:none;overflow:hidden!important}.ps-container.ps-active-x>.ps-scrollbar-x-rail,.ps-container.ps-active-y>.ps-scrollbar-y-rail{display:block}.ps-container.ps-in-scrolling{pointer-events:none}.ps-container.ps-in-scrolling.ps-x>.ps-scrollbar-x-rail{background-color:#eee;opacity:0.9}.ps-container.ps-in-scrolling.ps-x>.ps-scrollbar-x-rail>.ps-scrollbar-x{background-color:#999}.ps-container.ps-in-scrolling.ps-y>.ps-scrollbar-y-rail{background-color:#eee;opacity:0.9}.ps-container.ps-in-scrolling.ps-y>.ps-scrollbar-y-rail>.ps-scrollbar-y{background-color:#999}.ps-container>.ps-scrollbar-x-rail{display:none;position:absolute;border-radius:4px;opacity:0;transition:background-color 0.2s linear,opacity 0.2s linear;bottom:3px;height:8px}.ps-container>.ps-scrollbar-x-rail>.ps-scrollbar-x{position:absolute;background-color:#aaa;border-radius:4px;transition:background-color 0.2s linear;bottom:0;height:8px}.ps-container>.ps-scrollbar-y-rail{display:none;position:absolute;border-radius:4px;opacity:0;transition:background-color 0.2s linear,opacity 0.2s linear;right:3px;width:8px}.ps-container>.ps-scrollbar-y-rail>.ps-scrollbar-y{position:absolute;background-color:#aaa;border-radius:4px;transition:background-color 0.2s linear;right:0;width:8px}.ps-container:hover.ps-in-scrolling{pointer-events:none}.ps-container:hover.ps-in-scrolling.ps-x>.ps-scrollbar-x-rail{background-color:#eee;opacity:0.9}.ps-container:hover.ps-in-scrolling.ps-x>.ps-scrollbar-x-rail>.ps-scrollbar-x{background-color:#999}.ps-container:hover.ps-in-scrolling.ps-y>.ps-scrollbar-y-rail{background-color:#eee;opacity:0.9}.ps-container:hover.ps-in-scrolling.ps-y>.ps-scrollbar-y-rail>.ps-scrollbar-y{background-color:#999}.ps-container:hover>.ps-scrollbar-x-rail,.ps-container:hover>.ps-scrollbar-y-rail{opacity:0.6}.ps-container:hover>.ps-scrollbar-x-rail:hover{background-color:#eee;opacity:0.9}.ps-container:hover>.ps-scrollbar-x-rail:hover>.ps-scrollbar-x{background-color:#999}.ps-container:hover>.ps-scrollbar-y-rail:hover{background-color:#eee;opacity:0.9}.ps-container:hover>.ps-scrollbar-y-rail:hover>.ps-scrollbar-y{background-color:#999}#nf-drawer.ps-container,#nf-main.ps-container{overflow:auto!important;overflow-y:hidden!important}.ui-draggable-dragging .nf-item,.ui-sortable-helper.nf-field-wrap{box-shadow:3px 3px 5px rgba(0,0,0,.4)}.ui-draggable-handle{cursor:pointer}.ui-draggable-dragging{z-index:99}#nf-builder .nf-droppable-active{border:4px solid #1ea9ea;transition:all 1.0s ease}#nf-builder .nf-droppable-hover{border:4px solid #84cc1e;transition:all 1.0s ease}.nf-fields-sortable{border:4px solid #fff;padding:25px 15px 6px}.nf-fields-sortable-placeholder{margin-top:-14px;margin-bottom:6px;border:4px solid #84cc1e}.nf-staged-fields-drag{position:relative;display:block;height:80px}.nf-staged-fields-drag:after{clear:both;content:"";display:block}.nf-staged-fields-drag .nf-staged-fields-drag-wrap{position:absolute;width:500px}.nf-staged-fields-drag #drag-item-1,.nf-staged-fields-drag #drag-item-2,.nf-staged-fields-drag #drag-item-3{box-shadow:3px 3px 5px rgba(0,0,0,.4)}.nf-staged-fields-drag #drag-item-1{bottom:0px;left:0px;z-index:3}.nf-staged-fields-drag #drag-item-2{bottom:5px;left:5px;z-index:2}.nf-staged-fields-drag #drag-item-3{bottom:10px;left:10px;z-index:1}.nf-staged-fields-drag-wrap{background:#fff;border:1px solid #ccc;border-radius:4px;color:#888;cursor:pointer;margin-bottom:20px;padding:15px 20px}.nf-staged-fields-drag-wrap.active{border:2px solid #84cc1e;color:#424242;font-weight:700}.nf-staged-fields-drag-wrap.active .nf-item-controls{font-weight:400}.nf-staged-fields-drag-wrap.active .nf-item-controls a{color:#424242}.nf-staged-fields-drag-wrap.active .nf-item-controls .nf-item-delete,.nf-staged-fields-drag-wrap.active .nf-item-controls .nf-item-duplicate{display:none}.nf-staged-fields-drag-wrap.active .nf-item-controls .nf-item-editing{display:inline}.nf-staged-fields-drag-wrap.active .nf-item-controls .nf-item-edit .dashicons{margin-right:12px}.nf-staged-fields-sortable-placeholder{float:left;height:28px;border-right:8px solid #84cc1e;margin-right:-4px;margin-left:-4px}.nf-list-options-sortable-placeholder{border:4px solid #84cc1e;height:8px!important;margin:-4px 0}.nf-fields-empty-droppable{border:4px solid #fff}.nf-fields-empty-droppable:after{clear:both;content:"";display:block}.nf-settings .toggle{cursor:pointer}.nf-loading{background:#1ea9ea;border-radius:4px;width:40px;margin:0 auto;position:relative}.nf-loading ul{list-style:none;margin:0;padding:0;position:relative;top:-10px;left:0;font-size:0}.nf-loading ul li{height:0;position:absolute;top:50%;left:0;width:0;margin:0;height:10px;width:10px;border:3px solid #fff;border-radius:100%;transform:transformZ(0);animation:LOADING 2s infinite}.nf-loading ul li:nth-child(1n){left:0;animation-delay:0s}.nf-loading ul li:nth-child(2n){left:15px;animation-delay:0.2s}.nf-loading ul li:nth-child(3n){left:30px;animation-delay:0.4s}@keyframes LOADING{0%{transform:scale(0.5);background:#fff}50%{transform:scale(1);background:#fff}to{transform:scale(0.5);background:#fff}}.nf-help-text{display:none}.ninja-forms-app .nf-help{color:#ccc;margin-left:5px;text-decoration:none}.ninja-forms-app .nf-help .dashicons{font-size:16px;height:16px;width:16px}.ninja-forms-app .qtip-default{background-color:#424242;border:1px solid #424242;border-radius:4px;box-shadow:0 5px 6px rgba(0,0,0,.3);color:#fff;font-size:14px;line-height:18px;padding:10px}.ninja-forms-app .qtip-default:after{content:"";position:absolute;left:143px;bottom:-12px;width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent;border-top:12px solid #424242}.has-merge-tags{position:relative}.has-merge-tags input[type=text],.has-merge-tags textarea{padding-right:40px}.has-merge-tags.rte{display:block}.has-merge-tags.rte .wp-editor-tabs{margin-right:40px}.has-merge-tags.rte .merge-tags{color:#999;z-index:100;top:26px}.has-merge-tags .merge-tags{color:#ccc;pointer:cursor;position:absolute}.has-merge-tags .nf-list-options input[type=text]+.merge-tags{top:12px}div.has-merge-tags .merge-tags{top:16px;right:12px}label.has-merge-tags .merge-tags{top:33px;right:12px}.nf-list-options label.has-merge-tags .merge-tags{top:12px}.jBox-Tooltip{z-index:100000000!important}.jBox-TooltipBorder .jBox-container{border-radius:5px;border:2px solid #1ea9ea}.jBox-TooltipBorder .jBox-container h4{background:#f1f1f1;padding:5px;margin:0 0 5px}.jBox-TooltipBorder .jBox-container ul{margin:0}.jBox-TooltipBorder .jBox-container ul li a{color:#1ea9ea;margin:0;padding:0 5px;display:block;text-decoration:none}.jBox-TooltipBorder .jBox-container ul a.active{background:#f1f1f1}.jBox-TooltipBorder .jBox-pointer:after{border:2px solid #1ea9ea}.jBox-TooltipBorder .jBox-pointer-bottom,.jBox-TooltipBorder .jBox-pointer-top{width:34px;height:12px}.jBox-TooltipBorder .jBox-pointer-left,.jBox-TooltipBorder .jBox-pointer-right{width:12px;height:34px}.jBox-TooltipBorder.jBox-closeButton-box:before{width:28px;height:28px;background:#1ea9ea}#merge-tags-box{display:none;background-color:#dbdddd;max-height:360px;z-index:1001;position:absolute;top:-1px;left:12px;right:10px}#merge-tags-box .merge-tag-container{display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between}#merge-tags-box .merge-tag-list,#merge-tags-box .merge-tag-sections{float:left;font-size:14px;background-color:#fff;height:300px;overflow-y:auto}#merge-tags-box .merge-tag-sections{background-color:#dbdddd}#merge-tags-box .merge-tag-sections ul{margin:0}#merge-tags-box .merge-tag-sections ul li{background:#dbdddd;border-bottom:1px solid #fff;cursor:pointer;font-size:14px;margin:0;padding:8px 26px 8px 16px}#merge-tags-box .merge-tag-sections ul li:hover{background:#f6f6f6}#merge-tags-box .merge-tag-sections ul li.active{position:relative}#merge-tags-box .merge-tag-sections ul li.active:after{clear:both;content:"";display:block;width:0;height:0;border-top:17px solid transparent;border-bottom:17px solid transparent;border-right:24px solid #fff;position:absolute;top:0;right:0}#merge-tags-box .merge-tag-sections ul li:hover{color:#1ea9ea}#merge-tags-box .merge-tag-list{-ms-flex-positive:1;flex-grow:1;padding-top:10px}#merge-tags-box .merge-tag-list div div{line-height:22px}#merge-tags-box .merge-tag-list:hover li{color:#000!important}#merge-tags-box .merge-tag-list:hover li:hover{color:#1ea9ea!important}#merge-tags-box .merge-tag-list ul{margin:0}#merge-tags-box .merge-tag-list li{cursor:pointer;margin-bottom:0}#merge-tags-box .merge-tag-list li span{padding:4px 16px;display:block}#merge-tags-box .merge-tag-list li span small{font-family:Courier New,Courier,monospace,sans-serif}#merge-tags-box .merge-tag-list li:first-of-type{color:#1ea9ea}#merge-tags-box .merge-tag-filter{border-bottom:2px solid #dbdddd;margin:3px 10px 10px;clear:both}.merge-tag-focus{position:relative;z-index:1000}.merge-tag-focus-overlay:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;background-color:rgba(0,0,0,.5);z-index:100}.merge-tag-focus-overlay.note-editor:before{z-index:0}#merge-tags-box.one-half--first{width:538px;left:12px}#merge-tags-box.one-half--second{width:538px;right:10px;left:auto}.setting+.merge-tags{color:hsla(0,0%,80%,.3)}.merge-tag-focus-overlay .merge-tags,.setting:focus+.merge-tags{color:#ccc}.merge-tag-focus-overlay .merge-tags{z-index:1000}.note-popover{display:none!important}.ninja-forms-app .note-editor{border:0!important}.ninja-forms-app .note-editor .note-toolbar:after{clear:both;content:"";display:block}.ninja-forms-app .note-editor .note-editable{background:#f9f9f9;display:block}.ninja-forms-app .note-editor .note-editable p{font-size:16px}.ninja-forms-app .note-editor .note-editable ul{list-style-type:disc;margin-left:2em}.ninja-forms-app .note-editor .note-editable table td{border:1px solid #ccc;width:auto}.ninja-forms-app .note-editor .modal{display:none}.ninja-forms-app .note-editor .btn-group{float:left}.ninja-forms-app .note-editor .btn-group.note-tools{float:right}.ninja-forms-app .note-editor .btn{background:#f9f9f9;border:0;border-radius:4px;color:#666;cursor:pointer;margin-right:2px;padding-top:4px}.ninja-forms-app .note-editor .btn.disabled{background:transparent;color:#aaa}.ninja-forms-app .note-editor .btn.disabled .merge-tags{background:#f9f9f9;color:#666}.ninja-forms-app .tooltip{position:absolute;z-index:1070;display:block;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-size:12px;font-style:normal;font-weight:400;line-height:1.42857143;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;filter:alpha(opacity=0);opacity:0;line-break:auto}.ninja-forms-app .tooltip.in{filter:alpha(opacity=90);opacity:.9}.ninja-forms-app .tooltip.top{padding:5px 0;margin-top:-3px}.ninja-forms-app .tooltip.right{padding:0 5px;margin-left:3px}.ninja-forms-app .tooltip.bottom{padding:5px 0;margin-top:3px}.ninja-forms-app .tooltip.left{padding:0 5px;margin-left:-3px}.ninja-forms-app .tooltip-inner{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:4px}.ninja-forms-app .tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.ninja-forms-app .tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.ninja-forms-app .tooltip.top-left .tooltip-arrow{right:5px;bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.ninja-forms-app .tooltip.top-right .tooltip-arrow{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.ninja-forms-app .tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.ninja-forms-app .tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.ninja-forms-app .tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.ninja-forms-app .tooltip.bottom-left .tooltip-arrow{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.ninja-forms-app .tooltip.bottom-right .tooltip-arrow{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.ninja-forms-app .dropdown-menu{position:absolute;z-index:1000;display:none;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;font-size:14px;text-align:left;list-style:none;background-color:#fff;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,.15);border-radius:4px;box-shadow:0 6px 12px rgba(0,0,0,.175)}.ninja-forms-app .dropdown-menu.pull-right{right:0;left:auto}.ninja-forms-app .dropdown-menu .divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.ninja-forms-app .dropdown-menu>li>a{display:block;padding:3px 20px;clear:both;font-weight:400;line-height:1.42857143;color:#333;white-space:nowrap}.ninja-forms-app .dropdown-menu>li>a:focus,.ninja-forms-app .dropdown-menu>li>a:hover{color:#262626;text-decoration:none;background-color:#f5f5f5}.ninja-forms-app .dropdown-menu>.active>a,.ninja-forms-app .dropdown-menu>.active>a:focus,.ninja-forms-app .dropdown-menu>.active>a:hover{color:#fff;text-decoration:none;background-color:#337ab7;outline:0}.ninja-forms-app .dropdown-menu>.disabled>a,.ninja-forms-app .dropdown-menu>.disabled>a:focus,.ninja-forms-app .dropdown-menu>.disabled>a:hover{color:#777}.ninja-forms-app .dropdown-menu>.disabled>a:focus,.ninja-forms-app .dropdown-menu>.disabled>a:hover{text-decoration:none;cursor:not-allowed;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false)}.ninja-forms-app .open>.dropdown-menu{display:block}.ninja-forms-app .open>a{outline:0}.ninja-forms-app .dropdown-menu-right{right:0;left:auto}.ninja-forms-app .dropdown-menu-left{right:auto;left:0}.ninja-forms-app .dropdown-header{display:block;padding:3px 20px;font-size:12px;line-height:1.42857143;color:#777;white-space:nowrap}.ninja-forms-app .dropdown-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:990}.ninja-forms-app .pull-right>.dropdown-menu{right:0;left:auto}.ninja-forms-app .dropup .caret,.ninja-forms-app .navbar-fixed-bottom .dropdown .caret{content:"";border-top:0;border-bottom:4px dashed;border-bottom:4px solid\9}.ninja-forms-app .dropup .dropdown-menu,.ninja-forms-app .navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:2px}@media (min-width:768px){.ninja-forms-app .navbar-right .dropdown-menu{right:0;left:auto}.ninja-forms-app .navbar-right .dropdown-menu-left{right:auto;left:0}}.ninja-forms-app .btn-group-justified>.btn-group .dropdown-menu{left:auto}.ninja-forms-app .nav-justified>.dropdown .dropdown-menu,.ninja-forms-app .nav-tabs.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}.ninja-forms-app .nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}@media (max-width:767px){.ninja-forms-app .navbar-nav .open .dropdown-menu{position:static;float:none;width:auto;margin-top:0;background-color:transparent;border:0;box-shadow:none}.ninja-forms-app .navbar-nav .open .dropdown-menu .dropdown-header,.ninja-forms-app .navbar-nav .open .dropdown-menu>li>a{padding:5px 15px 5px 25px}.ninja-forms-app .navbar-nav .open .dropdown-menu>li>a{line-height:20px}.ninja-forms-app .navbar-nav .open .dropdown-menu>li>a:focus,.ninja-forms-app .navbar-nav .open .dropdown-menu>li>a:hover{background-image:none}}.ninja-forms-app .navbar-nav>li>.dropdown-menu{margin-top:0;border-top-left-radius:0;border-top-right-radius:0}.ninja-forms-app .navbar-fixed-bottom .navbar-nav>li>.dropdown-menu{margin-bottom:0;border-top-left-radius:4px;border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}@media (max-width:767px){.ninja-forms-app .navbar-default .navbar-nav .open .dropdown-menu>li>a{color:#777}.ninja-forms-app .navbar-default .navbar-nav .open .dropdown-menu>li>a:focus,.ninja-forms-app .navbar-default .navbar-nav .open .dropdown-menu>li>a:hover{color:#333;background-color:transparent}.ninja-forms-app .navbar-default .navbar-nav .open .dropdown-menu>.active>a,.ninja-forms-app .navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus,.ninja-forms-app .navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover{color:#555;background-color:#e7e7e7}.ninja-forms-app .navbar-default .navbar-nav .open .dropdown-menu>.disabled>a,.ninja-forms-app .navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus,.ninja-forms-app .navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:#ccc;background-color:transparent}}@media (max-width:767px){.ninja-forms-app .navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#080808}.ninja-forms-app .navbar-inverse .navbar-nav .open .dropdown-menu .divider{background-color:#080808}.ninja-forms-app .navbar-inverse .navbar-nav .open .dropdown-menu>li>a{color:#9d9d9d}.ninja-forms-app .navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus,.ninja-forms-app .navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover{color:#fff;background-color:transparent}.ninja-forms-app .navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.ninja-forms-app .navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus,.ninja-forms-app .navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover{color:#fff;background-color:#080808}.ninja-forms-app .navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a,.ninja-forms-app .navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:focus,.ninja-forms-app .navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:#444;background-color:transparent}}.ninja-forms-app #wpcontent .wp-picker-holder{position:absolute;z-index:9001}.ninja-forms-app #wpcontent .wp-picker-holder *{box-sizing:content-box}.wp-picker-container{width:100%}.wp-color-result,.wp-picker-input-wrap{margin-top:5px}.wp-color-result{border:0;box-shadow:none;margin:5px 0 0;height:41px;width:100%;padding-left:60px}.wp-color-result:after{font-size:16px;line-height:41px}.wp-color-result.wp-picker-open{display:none}.wp-color-picker,.wp-picker-input-wrap{width:100%!important}.wp-picker-input-wrap>.button.wp-picker-default{display:none}@keyframes color_change{0%{background-color:#1ea9ea;color:#fff}to{background-color:#3b454d;color:#a2a5a8}}.nf-item.clicked{animation-name:color_change;animation-duration:2s;animation-iteration-count:1;animation-direction:alternate}@media only screen and (max-width:1400px){.nf-field-type-button{width:50%}}@media only screen and (max-width:1065px){.nf-app-menu .preview .app-menu-text{text-indent:-9999px;display:inline-block;width:0}.nf-drawer-opened .nf-actions-table td:nth-child(3),.nf-drawer-opened .nf-actions-table th:nth-child(3){display:none}}@media only screen and (max-width:900px){#nf-header .nf-button.primary,#nf-header ul{display:none}.nf-mobile-menu{display:inline-block}#nf-app-sub-header h2{padding-left:0;transition:all 1.0s ease 0s}.nf-add-new.nf-open-drawer{position:fixed;text-indent:-9999px;height:54px;width:54px;top:auto;left:auto;bottom:20px;right:20px}.nf-add-new.nf-open-drawer:after{background:#84cc1e;border:2px solid #84cc1e;border-radius:40px;color:#fff;content:"+";font-size:50px;padding:8px;position:absolute;left:0;width:28px;height:28px;line-height:24px;text-indent:0px}#nf-main-header .nf-button{display:none}.nf-one-half,.nf-one-third{float:none;width:100%}.nf-drawer-expand .nf-one-half{float:left;width:50%}.nf-drawer-expand .nf-on-third{float:left;width:33%}#nf-app-form-title{margin-top:-55px}#nf-main{top:120px}#nf-table-display .nf-item-controls{width:auto}}@media only screen and (max-width:1023px){.ninja-forms-app.folded #wpcontent{margin-left:36px;padding:0;position:absolute;top:0;left:0;bottom:0;right:0}.ninja-forms-app.folded #wpcontent #wpbody{left:0}.nf-setting-wrap{width:50%}#nf-drawer,.nf-drawer-opened #nf-main{width:100%}.nf-drawer-closed .nf-setting-wrap,.nf-drawer-opened .nf-setting-wrap{width:50%}.nf-toggle-drawer{display:none}}@media only screen and (max-width:960px){.ninja-forms-app.auto-fold #wpcontent{margin-left:36px;padding:0;position:absolute;top:0;left:0;bottom:0;right:0}.ninja-forms-app.auto-fold #wpcontent #wpbody{left:0}.nf-drawer-opened .nf-toggle-drawer{display:none}}@media only screen and (max-width:782px){.ninja-forms-app.auto-fold #wpcontent,.ninja-forms-app.folded #wpcontent{margin-left:0}#nf-builder{padding:80px 20px 10px}#nf-builder .nf-cta-bubble{display:none!important}#nf-main{padding:20px 0 80px}#nf-drawer{padding:20px}#nf-main-content{width:100%;max-width:100%}#nf-main{border:0}}@media only screen and (max-width:660px){.nf-one-half,.nf-one-third{width:100%}.nf-actions-table td:nth-child(3),.nf-actions-table th:nth-child(3){display:none}.nf-drawer-buttons{display:block}.nf-item{padding:15px}.nf-item .fa{padding:14px;width:48px}.nf-saved .nf-item:after{padding:14px}}#nf-app-admin-header{background:#ebedee;height:60px;position:absolute;top:0;left:0;right:0}#nf-app-admin-header .fa-times{background:#424242;color:#fff;font-size:30px;position:absolute;text-align:center;text-decoration:none;line-height:56px;right:0;height:60px;width:60px}#nf-app-admin-header #nf-logo{background-image:url(../img/ninja-forms-app-header-logo@2x.png);background-size:130px 50px;background-position:bottom;background-repeat:no-repeat;float:left;width:160px;height:60px;opacity:1.0;filter:alpha(opacity=100);transition:all 1.0s ease}#nf-app-admin-header .nf-cta-bubble{background:#1ea9ea;border:1px solid #1ea9ea;border-radius:6px;color:#fff;display:block;float:left;font-size:14px;margin:6px 0 0 20px;padding:5px 10px;position:relative;text-decoration:none;width:360px}#nf-app-admin-header .nf-cta-bubble:after{display:block;content:"";width:0;height:0;border-top:10px solid transparent;border-bottom:10px solid transparent;border-right:10px solid #1ea9ea;position:absolute;left:-10px;top:13px}#nf-app-admin-header .nf-cta-bubble:hover{background:#fff;color:#1ea9ea}.scrollWrap{overflow:hidden;z-index:1}.scrollContent,.scrollWrap{height:100%;position:relative}.scrollContent{width:100%;padding:0 32px 0 0;right:-18px;overflow:auto;box-sizing:border-box}.fakeScrollBar{position:absolute;background:hsla(0,0%,100%,.5);width:9px;border-radius:4px;right:-15px;top:0;z-index:0;cursor:-webkit-grab}.fakeScroll:hover .fakeScrollBar.fakescroll-grabbed{cursor:-webkit-grabbing;background:#fff}body.fakescroll-grabbed{cursor:-webkit-grabbing}.rtl.ninja-forms-app #wpcontent{margin-right:140px}.rtl.ninja-forms-app #wpcontent #wpbody{right:160px;left:0}.rtl.ninja-forms-app.folded #wpcontent{margin-right:16px}.rtl.ninja-forms-app.folded #wpcontent #wpbody{right:36px;left:0}.rtl #nf-app-admin-header #nf-logo{float:right}.rtl #nf-app-admin-header .fa-times{right:auto;left:0}.rtl .nf-app-buttons{float:left}.rtl #nf-app-header .nf-app-menu li{float:right}.rtl #nf-app-header .nf-app-menu li a.preview .dashicons{margin-right:10px}.rtl .nf-master-control{right:auto;left:30px}.rtl .nf-master-control .fa{margin:15px 16px 0 0}.rtl input[type=submit]{float:left}.rtl .nf-cancel{float:left;margin-left:20px}.rtl .nf-add-new{margin:0;padding:0}.rtl .nf-add-new:after{right:0;left:auto;line-height:14px}.rtl #nf-main{right:0;left:auto}.rtl #nf-main-header .nf-button{float:left}.rtl .nf-field-label{margin-left:0;margin-right:16px}.rtl .nf-item-controls,.rtl .nf-item-controls .nf-item-control{right:auto;left:0}.rtl .nf-item-controls:hover .nf-item-duplicate{right:auto;left:80px}.rtl .nf-item-controls:hover .nf-item-delete{right:auto;left:40px}.rtl #nf-drawer{right:auto;left:-1400px}.rtl #nf-drawer.nf-drawer-expand{width:100%}.rtl .nf-drawer-header h2{float:right}.rtl .nf-drawer-header h2 .dashicons{margin-left:10px}.rtl .nf-drawer-header .nf-button{float:left}.rtl .nf-search input[type=search]{padding:12px 50px 12px 0}.rtl .nf-search:before{right:10px;left:0}.rtl .nf-drawer-opened #nf-drawer{left:0;right:auto}.rtl .nf-drawer-opened #nf-app-sub-header h2{padding-right:0}.rtl .nf-settings h3 .dashicons{margin:-4px -30px 0 10px}.rtl .nf-settings h3 .dashicons.dashicons-arrow-right:before{content:"\f141"}.rtl .nf-item .fa{left:auto;right:0}.rtl .nf-one-fourth,.rtl .nf-one-half,.rtl .nf-one-third{float:right}
2
  /*# sourceMappingURL=builder.css.map */
assets/css/builder.css.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["normalize.scss","header.scss","main.scss","builder.scss","main-fields.scss","main-settings.scss","item-controls.scss","builder-fields.scss","drawer.scss","drawer-settings.scss","drawer-add.scss","drawer-changes.scss","errors.scss","add-new.scss","toggle.scss","dropdown.scss","tables.scss","scrollbar.scss","drag-drop.scss","loading.scss","tooltip.scss","merge-tags-tooltip.scss","editor.scss","color-picker.scss","media-queries.scss","rtl.scss"],"names":[],"mappings":"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","file":"builder.css","sourcesContent":["html {\n overflow: hidden;\n width: 100%;\n float: left;\n left: 0;\n}\n#wp-auth-check-wrap #wp-auth-check {\n z-index: 1000000000000;\n}\n.ninja-forms-app {\n height: 0;\n #adminmenumain,\n #wpfooter {\n display: none;\n }\n #wpwrap {\n height: 0;\n min-height: 0;\n }\n #wpcontent {\n #wpbody {\n font-size: 16px;\n }\n * {\n -webkit-box-sizing: border-box;\n -moz-box-sizing: border-box;\n box-sizing: border-box;\n }\n .wp-editor-tabs button {\n box-sizing: initial;\n }\n }\n .grey {\n #nf-drawer {\n .nf-button {\n padding: 15px 30px;\n }\n }\n }\n}\n.media-modal {\n z-index: 100000000;\n}\n#nf-builder {\n background: #fff;\n padding: 30px 40px;\n overflow: hidden;\n padding-top: 80px;\n position: fixed;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n z-index: 10000000;\n box-shadow: 0 5px 15px rgba(0, 0, 0, .7);\n}\n\n.product-content article>*:not(img) {\n padding-left: 30px;\n padding-right: 30px;\n}\n","#nf-header {\n //background: red;\n height: 100px;\n transition: margin 0.5s ease;\n #nf-logo {\n background-image: url( '../img/ninja-forms-app-header-logo.png' );\n float: left;\n width: 80px;\n height: 30px;\n @media (min-resolution: 192dpi), (-webkit-min-device-pixel-ratio: 2), (min--moz-device-pixel-ratio: 2), (-o-min-device-pixel-ratio: 2/1), (min-device-pixel-ratio: 2), (min-resolution: 2dppx) {\n background-image: url( '../img/ninja-forms-app-header-logo@2x.png' );\n background-size: 80px 30px;\n }\n opacity: 1.0;\n filter: alpha(opacity=100);\n transition: all 1.0s ease;\n }\n ul {\n display: inline-block;\n margin: 0;\n li {\n float: left;\n &.nf-mobile-menu {\n display: none;\n }\n a {\n color: #424242;\n display: block;\n margin: 16px 20px;\n padding-bottom: 8px;\n text-decoration: none;\n &.active {\n border-bottom: 2px solid #424242;\n }\n &.preview {\n color: #bbb;\n transition: all 1.0s ease;\n .dashicons {\n display: inline-block;\n margin-left: 10px;\n }\n }\n }\n &:first-child {\n a {\n margin-left: 0;\n }\n }\n }\n &:after {\n clear: both;\n content: \"\";\n display: block;\n }\n }\n input[type=submit] {\n float: right;\n }\n .nf-cancel {\n float: right;\n margin-right: 30px;\n padding: 8px 0;\n .dashicons {\n font-size: 30px;\n }\n }\n &:after {\n clear: both;\n content: \"\";\n display: block;\n }\n}\n#nf-app-header {\n height: 50px;\n &:after {\n clear: both;\n content: \"\";\n display: block;\n }\n}\n#nf-app-sub-header {\n height: 50px;\n padding: 0;\n h2 {\n display: inline-block;\n margin: 0;\n padding: 10px 0;\n transition: all 1.0s ease 0s\n }\n &:after {\n clear: both;\n content: \"\";\n display: block;\n }\n}\n.nf-app-buttons {\n float: right;\n .publish {\n float: right;\n }\n}\n#nf-app-form-title {\n h2 {\n margin: 15px 0;\n }\n}\n","#nf-main {\n border: 4px solid #fff;\n //padding: 20px 40px 40px;\n width: 100%;\n position: absolute;\n top: 190px;\n overflow: auto;\n overflow-x: visible;\n bottom: 0;\n left: 0;\n -webkit-overflow-scrolling: touch;\n transition: left 0.5s ease;\n .nf-field-type-button {\n width: 400px;\n }\n}\n.nf-main-test {\n width: 100%;\n transition: width 0.5s ease;\n}\n#nf-main-content,\n#nf-main-header {\n margin: 0 auto;\n max-width: 860px;\n user-select: none;\n padding: 0 80px;\n position: relative;\n}\n#nf-main-header {\n //padding: 0 0 20px;\n .nf-button {\n float: right;\n }\n h2 {\n display: inline-block;\n }\n &:after {\n clear: both;\n content: \"\";\n display: block;\n }\n}\n\n#the-list tr.flagged th:first-child {\n border-left: 5px solid yellow;\n}\n\n#nf-main-gutter-left,\n#nf-main-gutter-right {\n //background: red;\n position: absolute;\n top: 0;\n width: 80px;\n height: 450px;\n .fa-chevron-circle-left,\n .fa-chevron-circle-right,\n .fa-plus-circle {\n color: #eee;\n font-size: 86px;\n position: absolute;\n top: 50%;\n transform: translateY(-50%);\n &:hover {\n color: $cta_color;\n cursor: pointer;\n }\n }\n}\n#nf-main-gutter-left {\n left: 0;\n padding-left: 6px;\n}\n#nf-main-gutter-right {\n right: 0;\n padding-right: 6px;\n}\n","$accent_color: #84CC1E;\n$cta_color: #1EA9EA;\n\n/*\nNormalize WordPress admin for Ninja Forms App\n---------------------------------------------*/\n\n@import \"normalize\";\n\n/*\nHeader and Nav for Ninja Forms App\n---------------------------------- */\n\n@import \"header\";\n@import \"main\";\n@import \"main-fields\";\n@import \"main-settings\";\n\n/*\nForm field placeholders for the fields a user has added to their form\n----------------------------------------------------------------------- */\n@import \"item-controls\";\n@import \"builder-fields\";\n\n/*\nAll styles used within the drawer\n--------------------------------- */\n\n@import \"drawer\";\n@import \"drawer-settings\";\n@import \"drawer-add\";\n@import \"drawer-changes\";\n@import \"errors\";\n/*\nVarious custom field styles\n--------------------------------- */\n\n@import \"add-new\";\n@import \"toggle\";\n@import \"dropdown\";\n\n/*\nAll styles used for displaying table content\n-------------------------------------------- */\n\n@import \"tables\";\n\n@import \"scrollbar\";\n@import \"drag-drop\";\n@import \"loading\";\n@import \"tooltip\";\n@import \"merge-tags-tooltip\";\n@import \"editor\";\n@import \"color-picker\";\n\n@import \"media-queries\";\n\n#nf-app-admin-header {\n background: #EBEDEE;\n height: 60px;\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n .fa-times {\n background: #424242;\n color: #fff;\n font-size: 30px;\n position: absolute;\n text-align: center;\n text-decoration: none;\n line-height: 56px;\n right: 0;\n height: 60px;\n width: 60px;\n }\n #nf-logo {\n background-image: url(\"../img/ninja-forms-app-header-logo@2x.png\");\n background-size: 130px 50px;\n background-position: center bottom;\n background-repeat: no-repeat;\n float: left;\n width: 160px;\n height: 60px;\n opacity: 1.0;\n filter: alpha(opacity=100);\n -webkit-transition: all 1.0s ease;\n transition: all 1.0s ease;\n }\n .nf-cta-bubble {\n background: $cta_color;\n border: 1px solid $cta_color;\n border-radius: 6px;\n color: #fff;\n display: block;\n float: left;\n font-size: 14px;\n margin: 6px 0 0 20px;\n padding: 5px 10px;\n position: relative;\n text-decoration: none;\n width: 360px;\n &::after {\n display: block;\n content: \"\";\n width: 0;\n height: 0;\n border-top: 10px solid transparent;\n border-bottom: 10px solid transparent;\n border-right: 10px solid $cta_color;\n position: absolute;\n left: -10px;\n top: 13px;\n }\n &:hover {\n background: #fff;\n color: $cta-color;\n }\n }\n}\n\n.scrollWrap{\n overflow : hidden;\n height : 100%;\n position : relative;\n z-index : 1;\n}\n.scrollContent{\n height : 100%;\n width : 100%;\n padding : 0 32px 0 0;\n position : relative;\n right : -18px;\n overflow : auto;\n -moz-box-sizing : border-box;\n box-sizing : border-box;\n}\n\n.fakeScrollBar{\n position : absolute;\n background : rgba(255,255,255,.5);\n width : 9px;\n border-radius : 4px;\n right : -15px;\n top : 0;\n z-index : 0;\n cursor : -moz-grab;\n cursor : -webkit-grab;\n}\n\n.fakeScroll:hover .fakeScrollBar.fakescroll-grabbed{\n cursor : -moz-grabbing;\n cursor : -webkit-grabbing;\n background : #FFF;\n}\n\nbody.fakescroll-grabbed{\n cursor : -moz-grabbing;\n cursor : -webkit-grabbing;\n}\n\n@import \"rtl\";\n\n",".nf-fields-empty {\n padding: 0 40px;\n h3 {\n font-size: 30px;\n line-height: 32px;\n }\n p {\n font-size: 18px;\n }\n a {\n text-decoration: none;\n }\n}\n\n.nf-field-label {\n display: inline-block;\n margin-left: 16px;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n width: 80%;\n .nf-drawer-opened & {\n width: 60%;\n }\n}\n\n.nf-field-wrap {\n .fa {\n // margin-right: 10px;\n // width: 24px;\n }\n}\n.template-box {\n text-decoration: none;\n .template-box-inside {\n background: #EBEDEE;\n color: #424242;\n min-height: 160px;\n padding: 10px;\n text-decoration: none;\n transition: all 0.2s ease-in-out 0.1s, box-shadow 0.2s ease-in-out 0.1s;\n h4 {\n margin: 0 0 10px;\n min-height: 35px;\n }\n p {\n font-size: 12px;\n margin: 0;\n }\n }\n &:hover {\n .template-box-inside {\n background: #fff;\n box-shadow: 0 0 20px $cta_color;\n color: $cta_color;\n transition: all 0.2s ease-in-out 0.1s, box-shadow 0.2s ease-in-out 0.1s;\n }\n }\n .nf-drawer-opened & {\n width: 50%;\n }\n}\n@media only screen and (max-width: 1400px) {\n .nf-drawer-opened {\n .template-box {\n width: 100%;\n }\n }\n}\n",".nf-setting-wrap {\n cursor: pointer;\n float: left;\n margin-bottom: 30px;\n padding: 0 2%;\n width: 33.33%;\n &::after {\n clear: both;\n content: \"\";\n display: block;\n }\n span {\n background: #fff;\n border: 1px solid #ccc;\n border-radius: 4px;\n display: table-cell;\n height: 85px;\n width: 400px;\n text-align: center;\n vertical-align: middle;\n }\n &.active {\n span {\n border: 2px solid $accent_color;\n font-weight: bold;\n }\n }\n}\n",".nf-item-controls {\n height: 30px;\n width: 30px;\n float: right;\n margin: 0;\n position: absolute;\n top: 9px;\n right: 10px;\n .nf-item-control {\n visibility: hidden;\n margin: 0;\n opacity: 0;\n text-align: center;\n width: 40px;\n height: 30px;\n position: absolute;\n right: 0;\n transition: all 0.5s ease;\n a {\n background: #fff;\n border: 1px solid #fff;\n border-radius: 50px;\n color: $cta_color;\n display: block;\n text-decoration: none;\n padding: 3px;\n position: relative;\n width: 32px;\n &:hover {\n background: #fff;\n border: 1px solid $cta_color;\n color: $cta_color;\n }\n }\n .fa {\n font-size: 18px;\n line-height: 24px;\n text-align: center;\n }\n &.nf-item-edit {\n opacity: 100;\n visibility: visible;\n z-index: auto;\n }\n }\n &:hover {\n a {\n background: $cta_color;\n color: #fff;\n }\n .nf-item-duplicate {\n visibility: visible;\n opacity: 100;\n right: 80px;\n transition: all 0.5s ease;\n }\n .nf-item-delete {\n visibility: visible;\n opacity: 100;\n right: 40px;\n transition: all 0.5s ease;\n }\n }\n}\n#nf-table-display {\n .nf-item-controls {\n float: right;\n }\n}\n",".nf-field-wrap {\n background: #fff;\n border: 1px solid #ccc;\n border-radius: 4px;\n color: #888;\n cursor: pointer;\n margin-bottom: 20px;\n padding: 15px 20px;\n position: relative;\n &.active {\n //background: #fafafa;\n border: 2px solid #84CC1E;\n color: #424242;\n font-weight: bold;\n .nf-item-controls {\n font-weight: normal;\n a {\n background: #fff;\n color: $accent_color;\n &:hover {\n border-color: #fff;\n }\n }\n .nf-item-delete,\n .nf-item-duplicate {\n display: none;\n }\n .nf-item-editing {\n display: inline;\n }\n .nf-item-edit {\n .dashicons {\n margin-right: 12px\n }\n }\n }\n }\n}\n\n.nf-group-wrap {\n background: #fff;\n border: 2px solid #ccc;\n border-radius: 4px;\n color: #888;\n margin: 0 -10px 20px;\n padding: 15px 30px;\n position: relative;\n //transition: all 1.0s ease;\n .nf-item-controls {\n width: 128px;\n }\n .nf-item-expand {\n display: inline !important;\n }\n .nf-field-wrap {\n margin-left: -20px;\n margin-right: -20px;\n visibility: hidden;\n opacity: 0.0;\n filter: alpha(opacity=0);\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n //transition: all 1.0s ease;\n }\n &.expanded {\n border-color: $accent_color;\n color: $accent_color;\n //transition: all 1.0s ease;\n .nf-item-expand {\n .dashicons {\n transform: rotate(90deg);\n }\n }\n .nf-field-wrap {\n opacity: 1.0;\n visibility: visible;\n filter: alpha(opacity=100);\n position: relative;\n top: 0;\n left: 0;\n right: 0;\n transition: all 1.0s ease;\n &:nth-child(2) {\n margin-top: 20px;\n }\n &:last-child {\n margin-bottom: 0;\n }\n .nf-item-controls {\n width: 96px;\n .nf-item-expand {\n display: none !important;\n }\n }\n }\n }\n}\n","#nf-drawer {\n background: #EBEDEE;\n padding: 40px 40px;\n width: 50%;\n position: absolute;\n top: 0;\n bottom: 0;\n right: -1400px;\n overflow: hidden;\n z-index: auto; // Changed from 101 to Auto to fix a bug with the merge tag overlay in Safari.\n transition: width 0.75s ease;\n -webkit-overflow-scrolling: touch;\n &.nf-drawer-expand {\n width: 100%;\n }\n}\n.nf-drawer-opened {\n .nf-main-test {\n width: 50%;\n transition: all 0.50s ease;\n .nf-button {\n display: none;\n }\n }\n #nf-drawer {\n right: 0;\n transition: all 0.50s ease;\n &.nf-drawer-expand {\n width: 100%;\n transition: all 0.50s ease;\n .nf-toggle-drawer {\n .dashicons {\n transform: rotate(180deg);\n transition: all 0.50s ease;\n }\n .nf-expand-off {\n display: none;\n }\n .nf-expand-on {\n display: inline;\n }\n }\n }\n }\n .preview {\n opacity: 0.0;\n visibility:hidden;\n filter: alpha(opacity=0);\n transition: all 0.50s ease;\n &:hover, &:active, &.active {\n opacity: 0.0;\n visibility:hidden;\n filter: alpha(opacity=0);\n transition: all 0.50s ease;\n }\n }\n #nf-main-content,\n #nf-main-header {\n margin: 0 auto;\n //padding-left: 60px;\n transition: all 0.50s ease;\n }\n @media only screen and (min-width: 901px) {\n #nf-app-sub-header {\n .nf-add-new {\n top: 139px !important;\n text-indent: -99999px;\n &:after {\n }\n }\n }\n }\n .nf-setting-wrap {\n width: 50%;\n transition: width 0.50s ease;\n }\n .nf-toggle-drawer {\n display: block;\n }\n}\n.nf-drawer-closed {\n #nf-main {\n width: 100%;\n left: 0;\n transition: width 0.50s ease, left 0.50s ease;\n }\n #nf-drawer {\n right: -1400px;\n transition: right 0.50s ease;\n }\n .nf-add-new {\n opacity: 1.0;\n visibility: visible;\n filter: alpha(opacity=100);\n transition: all 0.50s ease;\n }\n .nf-setting-wrap {\n width: 33%;\n transition: width 0.50s ease;\n }\n .nf-toggle-drawer {\n display: none;\n }\n}\n.nf-drawer-header {\n margin-bottom: 20px;\n padding: 0 10px;\n &::after {\n clear: both;\n content: \"\";\n display: block;\n }\n h2 {\n color: #666;\n float: left;\n font-size: 20px;\n line-height: 22px;\n .dashicons {\n margin-right: 10px;\n }\n }\n .nf-button {\n float: right;\n }\n}\n.nf-drawer-error {\n background-color: #FFBABA;\n border: 1px solid #FFBABA;\n border-radius: 5px;\n color: #D8000C;\n font-size: 12px;\n margin: 10px 0px;\n padding: 10px 10px;\n}\n.nf-settings {\n h3 {\n color: #424242;\n font-size: 14px;\n padding: 10px 10px 0;\n text-transform: uppercase;\n .dashicons {\n color: #bbb;\n font-size: 28px;\n margin: -4px 10px 0 -30px;\n }\n }\n &::after {\n clear: both;\n content: \"\";\n display: block;\n }\n}\n.nf-full {\n clear: both;\n &.toggle-row {\n border-bottom: 1px solid #ccc;\n margin: 0;\n position: relative;\n &:first-child {\n border-top: 1px solid #ccc;\n }\n label {\n display: inline-block;\n padding: 15px 60px 15px 0;\n //margin: 15px -40px 12px 0;\n }\n .nf-toggle {\n float: right;\n margin: 15px 0;\n position: absolute;\n top: 0;\n right: 10px;\n }\n }\n}\n.nf-one-half,\n.nf-one-third {\n float: left;\n}\n.nf-one-half {\n width: 50%;\n}\n.nf-one-third {\n width: 33.33%;\n}\n.nf-first {\n clear: both;\n margin-left: 0;\n}\n.nf-full,\n.nf-one-half,\n.nf-one-third {\n margin-bottom: 15px;\n padding: 0 2%;\n}\n.nf-full::after,\n.nf-one-half::after,\n.nf-one-third::after {\n clear: both;\n content: \"\";\n display: block;\n}\n.nf-toggle-drawer {\n color: #aaa;\n cursor: pointer;\n display: none;\n float: right;\n margin-top: 40px;\n text-decoration: none;\n padding: 10px 20px;\n position: fixed;\n bottom: 0;\n right: 0;\n .dashicons {\n margin-right: 5px;\n transition: all 0.50s ease;\n }\n .nf-expand-off {\n display: inline;\n }\n .nf-expand-on {\n display: none;\n }\n}\n\n\n#nf-menu-drawer {\n background: #EBEDEE;\n box-shadow: inset 1px 4px 9px -6px;\n width: 250px;\n position: absolute;\n top: 0;\n bottom: 0;\n right: -250px;\n z-index: 999;\n transition: right 0.50s ease;\n ul {\n margin: 0;\n li {\n a {\n border-bottom: 1px solid #ccc;\n color: #424242;\n display: block;\n padding: 10px 20px;\n text-decoration: none;\n .dashicons {\n color: $cta_color;\n margin-right: 15px;\n }\n }\n }\n }\n .nf-publish {\n background: $cta_color;\n color: #fff;\n padding: 20px;\n text-align: center;\n text-transform: uppercase;\n cursor:pointer;\n\n &.disabled {\n background: #ccc;\n border: 1px solid #ccc;\n cursor: default;\n }\n }\n\n}\n\n\n\n.nf-menu-expand {\n #nf-menu-drawer {\n right: 0;\n transition: right 0.50s ease;\n }\n #nf-header {\n margin-right: 250px;\n margin-left: -250px;\n transition: margin 0.50s ease;\n }\n #nf-main {\n left: -250px;\n transition: left 0.50s ease;\n }\n}\n\n.nf-div-table {\n .nf-table-row {\n &.nf-error {\n textarea {\n border: 1px solid red;\n }\n span.nf-option-error {\n background: red;\n color: #fff;\n display: block;\n padding: 5px 0;\n width: 100%;\n div.nf-error {\n display: block;\n width: 100% !important;\n text-align: center;\n }\n }\n }\n }\n}\n.ninja-forms-app {\n .jBox-Notice {\n .jBox-container {\n background: $accent_color;\n font-size: 18px;\n }\n }\n}\n",".nf-button {\n border: 0;\n border-radius: 4px;\n cursor: pointer;\n display: inline-block;\n font-size: 17px;\n padding: 10px 30px;\n text-align: center;\n text-decoration: none;\n text-transform: uppercase;\n appearance: none;\n &.primary {\n background: $cta_color;\n border: 1px solid #1EA9EA;\n color: #fff;\n }\n &.secondary {\n background: #fff;\n border: 1px solid $cta_color;\n color: $cta_color;\n }\n &.disabled {\n background: #ccc;\n border: 1px solid #ccc;\n cursor: default;\n }\n &.publish {\n float: right;\n }\n}\n.nf-cancel {\n color: #999;\n font-size: 15px;\n}\n.nf-mobile-menu {\n background: $cta_color;\n border-radius: 4px;\n color: #fff;\n display: none;\n float: right;\n padding: 5px 7px 5px 5px;\n text-decoration: none;\n transition: margin 0.5s ease;\n .dashicons {\n font-size: 30px;\n width: 32px;\n height: 30px;\n }\n &:hover {\n color: #fff;\n }\n}\n\n.ninja-forms-app {\n fieldset {\n border: 1px solid #ccc;\n clear: both;\n display: block;\n margin-bottom: 20px;\n }\n label {\n position: relative;\n &::after {\n clear: both;\n content: \"\";\n display: block;\n }\n }\n legend {\n margin: 0 3px 10px;\n padding: 0 10px;\n }\n .nf-setting-label, label, legend {\n color: #424242;\n display: block;\n font-size: 13px;\n text-transform: uppercase;\n .open-media-manager {\n position: absolute;\n color: #ccc;\n right: 15px;\n top: 5px;\n text-decoration: none;\n }\n }\n input[type=text],\n input[type=number],\n textarea {\n background: #f9f9f9;\n border: 0;\n margin-top: 7px;\n padding: 12px 15px;\n width: 100%;\n height: 41px;\n text-transform: default;\n }\n textarea {\n height: 200px;\n }\n input[type=checkbox].nf-checkbox {\n appearance: none;\n background: #f9f9f9;\n border: 0;\n height: 25px;\n width: 25px;\n padding: 2px 1px 0px !important;\n margin: -3px -5px;\n &:checked {\n &::before {\n content: \"\\f147\";\n font: 400 30px/1 dashicons;\n }\n }\n }\n}\n.ninja-forms-app {\n .jBox-wrapper.import-options {\n padding: 12px 20px 0px !important;\n }\n .jBox-wrapper.import-options.jBox-pointerPosition-top.jBox-closeButton-box:before {\n right: 10px;\n }\n .nf-list-options {\n padding-bottom: 20px;\n .nf-add-new {\n margin-left: 20px;\n }\n .nf-div-table {\n .nf-table-row {\n > div {\n //border-top: 16px solid red;\n display: table-cell;\n padding: 5px;\n &:nth-child(1), &:nth-child(6) {\n padding: 0 15px;\n width: 20px;\n }\n &:nth-child(2), &:nth-child(3) {\n width: 45%;\n }\n &:nth-child(4) {\n min-width: 100px;\n }\n input {\n margin: 0;\n }\n }\n &.nf-table-header {\n div {\n font-size: 12px;\n padding: 20px 5px 5px;\n &:nth-child(1), &:nth-child(6) {\n padding: 0 25px;\n }\n }\n }\n }\n }\n &.calculations {\n .nf-div-table {\n .nf-table-header{\n div{\n &:nth-child(4) {\n display: none;\n }\n }\n }\n .nf-table-row {\n div {\n vertical-align: top;\n position: relative;\n &:nth-child(1), &:nth-child(4) {\n padding: 0 15px;\n width: 20px;\n min-width: 20px;\n }\n &:nth-child(2) {\n width: 30%;\n }\n &:nth-child(3) {\n width: 70%;\n }\n textarea {\n margin: 0;\n height: 100px;\n padding-right: 40px;\n }\n .merge-tags {\n color: #999;\n position: absolute;\n right: 15px;\n top: 5px;\n }\n .dashicons {\n color: #999;\n margin-top: 10px;\n }\n }\n .calc-left {\n div {\n display: inline-block;\n &:nth-child(1) {\n width: 100%;\n padding: 0px;\n }\n &:nth-child(2) {\n width: 60%;\n text-align: right;\n font-size: 12px;\n float: left;\n padding-top: 20px;\n padding-right: 10px;\n }\n &:nth-child(3) {\n width: 50px;\n float: left;\n padding-top: 10px;\n }\n }\n }\n }\n }\n }\n }\n .options {\n position: relative;\n legend {\n .nf-open-import-tooltip {\n background: #EBEDEE;\n color: $cta_color;\n font-size: 16px;\n padding: 6px 15px;\n text-decoration: none;\n position: absolute;\n right: 15px;\n top: 0;\n }\n }\n }\n}\n.nf-drawer-buttons {\n display: none;\n margin: 0 -20px;\n padding: 0;\n li {\n background: #424242;\n border-right: 1px solid #f1f1f1;\n float: left;\n margin: 0;\n padding: 15px;\n text-align: center;\n width: 50%;\n &:last-child {\n border: 0;\n }\n &.nf-drawer-delete {\n color: red;\n }\n &.nf-drawer-duplicate {\n color: $accent_color;\n }\n .dashicons {\n margin-right: 10px;\n }\n }\n &::after {\n clear: both;\n content: \"\";\n display: block;\n }\n}\n\n.dashicons.spin {\n animation: dashicons-spin 1s infinite;\n animation-timing-function: linear;\n}\n@keyframes dashicons-spin {\n 0% { transform: rotate( 0deg ); }\n 100% { transform: rotate( 360deg ); }\n}\n\n",".nf-search {\n display: inline;\n position: relative;\n input[type=search] {\n background: transparent;\n box-shadow: 0 0 0;\n border: 0;\n margin-bottom:3px;\n padding: 12px 0 12px 50px;\n width: 60%;\n }\n &::before {\n content: \"\\f179\";\n color: #aaa;\n font-family: \"Dashicons\";\n font-size: 30px;\n width: 30px;\n height: 30px;\n position: absolute;\n top: 4px;\n left: 10px;\n }\n}\n.nf-stage {\n position: relative;\n -webkit-user-select: none;\n -khtml-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n .nf-stage-controls {\n background: #F8F8F9;\n padding: 5px;\n position: absolute;\n top: -20px;\n right: 10px;\n }\n}\n.nf-reservoir {\n &::after {\n clear: both;\n content: \"\";\n display: block;\n }\n &.nf-droppable-active,\n &.nf-staged-fields-active {\n background: #F8F8F9;\n border: 4px solid #F8F8F9;\n border-radius: 4px;\n margin: 30px 2% 20px;\n //padding: 10px;\n min-height: 52px;\n padding: 6px;\n transition: all 1.0s ease;\n }\n .nf-item-dock {\n background: #fff;\n border-radius: 4px;\n color: #999;\n display: inline-block;\n float: left;\n margin: 0 4px 3px 4px;\n padding: 5px 10px;\n position: relative;\n .dashicons {\n font-size: 14px;\n margin: 2px 0 -4px 5px;\n }\n .fa {\n margin-right: 10px;\n }\n }\n\n}\n.nf-item {\n background: #3B454D;\n border-radius: 4px;\n color: #A2A5A8;\n font-size: 14px;\n padding: 10px;\n position: relative;\n text-align: center;\n &.active {\n background: $cta_color;\n color: #fff;\n }\n .fa {\n background: #30373E;\n border-top-left-radius: 4px;\n border-bottom-left-radius: 4px;\n padding: 9px;\n position: absolute;\n top: 0;\n left: 0;\n bottom: 0;\n width: 34px;\n line-height: 20px;\n }\n}\n.nf-saved {\n .nf-item {\n position: relative;\n &::after {\n background: #30373E;\n border-top-left-radius: 4px;\n border-bottom-left-radius: 4px;\n content: \"\\f155\";\n font-family: \"Dashicons\";\n padding: 9px;\n position: absolute;\n top: 0;\n left: 0;\n bottom: 0;\n width: 16px;\n height: 20px;\n }\n }\n}\n.nf-action-items {\n .nf-item {\n height: 100px;\n line-height: 75px;\n cursor: pointer;\n &.nf-has-img {\n background-position: center center;\n text-indent: -99999px;\n }\n }\n &.available {\n .nf-item {\n &.nf-has-img {\n filter: grayscale(100%);\n opacity: 0.6;\n &:hover {\n filter: grayscale(0);\n opacity: 1.0;\n }\n }\n }\n }\n}\n\n.nf-field-type-button {\n float: left;\n margin-bottom: 15px;\n padding: 0 2%;\n width: 33.33%;\n}\n","table.nf-changes {\n tr {\n td {\n border-bottom: 1px solid #ccc;\n }\n &.disabled-row {\n td {\n color: #bbb;\n }\n }\n &:nth-child(even) {\n td {\n background: #e5e7e8 !important;\n }\n }\n &:hover {\n td {\n background: #fff !important;\n }\n }\n }\n}\n.nf-button {\n &.undoChanges {\n .dashicons {\n font-size: 18px;\n height: 18px;\n width: 18px;\n margin-right: 5px;\n }\n }\n}\n",".nf-setting-error {\n color: red;\n font-size: 14px;\n padding: 5px 10px;\n a {\n color: red;\n }\n}\n",".nf-add-new {\n // background: red;\n color: $cta_color;\n padding: 0 0 0 46px;\n text-decoration: none;\n line-height: 32px;\n position: relative;\n height: 32px;\n z-index: 98;\n text-indent: 0px;\n overflow: hidden;\n &:after {\n background: $cta_color;\n border: 2px solid $cta_color;\n border-radius: 40px;\n color: #fff;\n content: \"+\";\n font-size: 22px;\n padding: 8px;\n position: absolute;\n left: 0;\n width: 12px;\n height: 12px;\n line-height: 10px;\n text-indent: 0px;\n transition: all 0.5s ease 0s\n }\n &:hover, &:active, &.active {\n color: $cta_color;\n transition: width 0.5s ease 0s,height 0.5s ease 0s, text-indent 0.5s ease,top 0.5s ease,left 0.5s ease;\n &:after {\n background: #fff;\n color: $cta_color;\n transform: rotate(180deg);\n transition: all 0.5s ease;\n }\n }\n &.nf-open-drawer {\n position: absolute;\n top: 185px;\n left: 40px;\n }\n}\n.nf-add-new.disabled {\n display: none;\n}\n.ninja-forms-app {\n &.folded {\n .nf-add-new {\n }\n }\n}\n\n.nf-master-control {\n background: $cta_color;\n border: 2px solid $cta_color;\n border-radius: 40px;\n cursor: pointer;\n position: absolute;\n //text-indent: -9999px;\n height: 60px;\n width: 60px;\n top: auto;\n left: auto;\n bottom: 20px;\n right: 30px;\n transition: all 0.5s ease;\n z-index: 98;\n span {\n display: block;\n text-indent: -9999px;\n }\n .fa {\n color: #fff;\n cursor: pointer;\n font-size: 28px;\n line-height: 28px;\n margin: 15px 0 0 16px;\n transition: all 0.5s ease;\n }\n &:hover, &:active, &.active {\n background: #fff;\n color: $cta_color;\n transition: all 0.5s ease;\n .fa {\n color: $cta_color;\n margin: 12px 0 0 16px;\n transform: rotate(180deg);\n transition: all 0.5s ease;\n }\n }\n}\n","input[type=checkbox].nf-toggle {\n display: none;\n + label {\n text-indent: -99999px;\n background: transparent;\n border: 0;\n box-shadow: 0 0 0;\n display: block;\n margin: 19px 5px 11px;\n appearance: none;\n position: relative;\n width: 40px;\n height: 20px;\n cursor: pointer;\n &::after {\n background: #BCBDBF;\n border: 2px solid #BCBDBF;\n border-radius: 20px;\n content: \"\";\n position: absolute;\n top: -4px;\n left: -4px;\n width: 40px;\n height: 20px;\n transition: all 0.3s ease;\n }\n &::before {\n background: #fff;\n border-radius: 20px;\n content: \"\";\n position: absolute;\n top: -1px;\n left: 0;\n width: 18px;\n height: 18px;\n z-index: 99;\n transition: all 0.3s ease;\n }\n }\n &:checked {\n + label {\n &::after {\n background: $accent_color;\n border: 2px solid $accent_color;\n transition: all 0.3s ease;\n }\n &::before {\n content: \"\";\n //top: 2px;\n left: 18px;\n transition: all 0.3s ease;\n }\n }\n }\n}\n\n.nf-full {\n position: relative;\n input[type=checkbox].nf-toggle {\n + label {\n margin: -18px 0 0;\n padding: 12px 0 20px;\n position: absolute;\n top: 24px;\n right: 10px;\n &::before {\n left: auto;\n right: 22px;\n transition: right 0.3s ease;\n }\n &::after {\n left: auto;\n right: 0;\n }\n }\n &:checked {\n + label {\n &::before {\n left: auto;\n right: 4px;\n transition: right 0.3s ease;\n }\n }\n }\n }\n .nf-setting-label {\n border-bottom: 1px solid #ccc;\n padding: 5px 0 20px;\n }\n}\n",".ninja-forms-app {\n .nf-select {\n display: block;\n position: relative;\n select {\n //background: #f9f9f9;\n background: transparent;\n border: 0;\n margin-top: 7px;\n height: 41px !important;\n padding: 0 30px 0 15px;\n position: relative;\n width: 100%;\n text-transform: capitalize;\n appearance: none;\n z-index: 2\n }\n div {\n background: #f9f9f9;\n height: 41px;\n position: absolute;\n bottom: 1px;\n width: 100%;\n z-index: 1;\n }\n div::after {\n color: #666;\n content: \"\\f347\";\n font-family: 'Dashicons';\n font-size: 20px;\n position: absolute;\n width: 30px;\n height: 30px;\n right: 5px;\n bottom: 0;\n }\n }\n div.nf-select {\n div {\n bottom: 7px;\n width: 95%;\n }\n select {\n margin-top: 0;\n }\n }\n}\n",".nf-actions-table,\n.nf-table-display {\n border-collapse: collapse;\n width: 100%;\n td, th {\n border-bottom: 1px solid #ECEDEE;\n font-size: 14px;\n padding: 15px;\n vertical-align: top;\n position: relative;\n //max-width: 500px;\n }\n th {\n color: #666;\n text-align: left;\n text-transform: uppercase;\n }\n td {\n color: #676F75;\n //white-space:nowrap;\n position: relative;\n &:nth-child(2) {\n width: 90%;\n }\n }\n .deactivated {\n td {\n color: #BCBDBF;\n a {\n color: #ddd;\n }\n }\n }\n input[type=checkbox].nf-toggle + label {\n z-index: 0; // Set to fix a bug with the merge tag box overlay with RTEs.\n margin: 2px 0 0;\n // &::after {\n // border-radius: 20px;\n // top: 2px;\n // left: -4px;\n // width: 30px;\n // height: 14px;\n // }\n // &::before {\n // border-radius: 20px;\n // top: 4px;\n // left: -1px;\n // width: 14px;\n // height: 14px;\n // }\n // &:checked {\n // &::before {\n // top: 7px;\n // left: 17px;\n // }\n // }\n }\n .active {\n td {\n color: $accent_color;\n font-weight: bold;\n }\n a {\n //color: $accent_color;\n }\n .nf-item-controls {\n font-weight: normal;\n float: right;\n a {\n color: $accent_color;\n }\n .nf-item-delete,\n .nf-item-duplicate {\n display: none;\n }\n .nf-item-editing {\n display: inline !important;\n }\n .nf-item-edit {\n .dashicons {\n margin-right: 12px\n }\n }\n }\n }\n}\n\n.ui-droppable {\n border: 4px solid #fff;\n}\n.nf-actions-empty {\n thead {\n display: none;\n }\n td {\n border: 4px solid #fff !important;\n display: block;\n padding: 40px 20% !important;\n white-space: normal !important;\n }\n h3 {\n font-size: 30px;\n }\n p {\n font-size: 18px;\n }\n}\n.nf-actions-table {\n td {\n cursor: pointer;\n }\n .nf-item-controls {\n top: 12px;\n }\n}","/* perfect-scrollbar v0.6.7 */\n.ps-container {\n -ms-touch-action: none;\n overflow: hidden !important; }\n .ps-container.ps-active-x > .ps-scrollbar-x-rail,\n .ps-container.ps-active-y > .ps-scrollbar-y-rail {\n display: block; }\n .ps-container.ps-in-scrolling {\n pointer-events: none; }\n .ps-container.ps-in-scrolling.ps-x > .ps-scrollbar-x-rail {\n background-color: #eee;\n opacity: 0.9; }\n .ps-container.ps-in-scrolling.ps-x > .ps-scrollbar-x-rail > .ps-scrollbar-x {\n background-color: #999; }\n .ps-container.ps-in-scrolling.ps-y > .ps-scrollbar-y-rail {\n background-color: #eee;\n opacity: 0.9; }\n .ps-container.ps-in-scrolling.ps-y > .ps-scrollbar-y-rail > .ps-scrollbar-y {\n background-color: #999; }\n .ps-container > .ps-scrollbar-x-rail {\n display: none;\n position: absolute;\n /* please don't change 'position' */\n -webkit-border-radius: 4px;\n -moz-border-radius: 4px;\n -ms-border-radius: 4px;\n border-radius: 4px;\n opacity: 0;\n -webkit-transition: background-color 0.2s linear, opacity 0.2s linear;\n -moz-transition: background-color 0.2s linear, opacity 0.2s linear;\n -o-transition: background-color 0.2s linear, opacity 0.2s linear;\n transition: background-color 0.2s linear, opacity 0.2s linear;\n bottom: 3px;\n /* there must be 'bottom' for ps-scrollbar-x-rail */\n height: 8px; }\n .ps-container > .ps-scrollbar-x-rail > .ps-scrollbar-x {\n position: absolute;\n /* please don't change 'position' */\n background-color: #aaa;\n -webkit-border-radius: 4px;\n -moz-border-radius: 4px;\n -ms-border-radius: 4px;\n border-radius: 4px;\n -webkit-transition: background-color 0.2s linear;\n -moz-transition: background-color 0.2s linear;\n -o-transition: background-color 0.2s linear;\n transition: background-color 0.2s linear;\n bottom: 0;\n /* there must be 'bottom' for ps-scrollbar-x */\n height: 8px; }\n .ps-container > .ps-scrollbar-y-rail {\n display: none;\n position: absolute;\n /* please don't change 'position' */\n -webkit-border-radius: 4px;\n -moz-border-radius: 4px;\n -ms-border-radius: 4px;\n border-radius: 4px;\n opacity: 0;\n -webkit-transition: background-color 0.2s linear, opacity 0.2s linear;\n -moz-transition: background-color 0.2s linear, opacity 0.2s linear;\n -o-transition: background-color 0.2s linear, opacity 0.2s linear;\n transition: background-color 0.2s linear, opacity 0.2s linear;\n right: 3px;\n /* there must be 'right' for ps-scrollbar-y-rail */\n width: 8px; }\n .ps-container > .ps-scrollbar-y-rail > .ps-scrollbar-y {\n position: absolute;\n /* please don't change 'position' */\n background-color: #aaa;\n -webkit-border-radius: 4px;\n -moz-border-radius: 4px;\n -ms-border-radius: 4px;\n border-radius: 4px;\n -webkit-transition: background-color 0.2s linear;\n -moz-transition: background-color 0.2s linear;\n -o-transition: background-color 0.2s linear;\n transition: background-color 0.2s linear;\n right: 0;\n /* there must be 'right' for ps-scrollbar-y */\n width: 8px; }\n .ps-container:hover.ps-in-scrolling {\n pointer-events: none; }\n .ps-container:hover.ps-in-scrolling.ps-x > .ps-scrollbar-x-rail {\n background-color: #eee;\n opacity: 0.9; }\n .ps-container:hover.ps-in-scrolling.ps-x > .ps-scrollbar-x-rail > .ps-scrollbar-x {\n background-color: #999; }\n .ps-container:hover.ps-in-scrolling.ps-y > .ps-scrollbar-y-rail {\n background-color: #eee;\n opacity: 0.9; }\n .ps-container:hover.ps-in-scrolling.ps-y > .ps-scrollbar-y-rail > .ps-scrollbar-y {\n background-color: #999; }\n .ps-container:hover > .ps-scrollbar-x-rail,\n .ps-container:hover > .ps-scrollbar-y-rail {\n opacity: 0.6; }\n .ps-container:hover > .ps-scrollbar-x-rail:hover {\n background-color: #eee;\n opacity: 0.9; }\n .ps-container:hover > .ps-scrollbar-x-rail:hover > .ps-scrollbar-x {\n background-color: #999; }\n .ps-container:hover > .ps-scrollbar-y-rail:hover {\n background-color: #eee;\n opacity: 0.9; }\n .ps-container:hover > .ps-scrollbar-y-rail:hover > .ps-scrollbar-y {\n background-color: #999; }\n\n/* END DEFAULT PERFECT SCROLLBAR CSS */\n\n/*\n * Custom perfect scrollbar css\n */\n\n#nf-main.ps-container {\n overflow:auto !important;\n overflow-y:hidden !important;\n}\n\n#nf-drawer.ps-container {\n overflow:auto !important;\n overflow-y:hidden !important;\n}",".ui-sortable-helper {\n &.nf-field-wrap\n //&.nf-item-dock\n {\n box-shadow: 3px 3px 5px rgba( 0, 0, 0, 0.4 );\n }\n}\n\n.ui-draggable-dragging {\n .nf-item {\n box-shadow: 3px 3px 5px rgba( 0, 0, 0, 0.4 );\n }\n}\n\n.ui-draggable-handle {\n cursor: pointer;\n}\n.ui-draggable-dragging {\n z-index: 99;\n}\n#nf-builder {\n .nf-droppable-active {\n border: 4px solid $cta_color;\n //padding: 6px;\n transition: all 1.0s ease;\n }\n .nf-droppable-hover {\n border: 4px solid $accent_color;\n //padding: 6px;\n transition: all 1.0s ease;\n }\n}\n\n.nf-fields-sortable {\n border: 4px solid #FFF;\n padding: 25px 15px 6px;\n}\n.nf-fields-sortable-placeholder { margin-top: -14px; margin-bottom: 6px; border: 4px solid #84CC1E }\n\n.nf-staged-fields-drag {\n position: relative;\n display: block;\n height: 80px;\n &::after {\n clear: both;\n content: '';\n display: block;\n }\n .nf-staged-fields-drag-wrap {\n position: absolute;\n width: 500px;\n }\n #drag-item-1,\n #drag-item-2,\n #drag-item-3 {\n box-shadow: 3px 3px 5px rgba( 0, 0, 0, 0.4 );\n }\n #drag-item-1 {\n bottom: 0px;\n left: 0px;\n z-index: 3;\n }\n #drag-item-2 {\n bottom: 5px;\n left: 5px;\n z-index: 2;\n }\n #drag-item-3 {\n bottom: 10px;\n left: 10px;\n z-index: 1;\n }\n}\n\n.nf-staged-fields-drag-wrap {\n background: #fff;\n border: 1px solid #ccc;\n border-radius: 4px;\n color: #888;\n cursor: pointer;\n margin-bottom: 20px;\n padding: 15px 20px;\n &.active {\n //background: #fafafa;\n border: 2px solid #84CC1E;\n color: #424242;\n font-weight: bold;\n .nf-item-controls {\n font-weight: normal;\n a {\n color: #424242;\n }\n .nf-item-delete,\n .nf-item-duplicate {\n display: none;\n }\n .nf-item-editing {\n display: inline;\n }\n .nf-item-edit {\n .dashicons {\n margin-right: 12px\n }\n }\n }\n }\n}\n\n\n\n.nf-staged-fields-sortable-placeholder { float: left; height: 28px; border-right: 8px solid #84CC1E; margin-right: -4px; margin-left: -4px; }\n\n.nf-list-options-sortable-placeholder {\n border: 4px solid #84CC1E;\n height: 8px !important;\n margin: -4px 0 -4px 0;\n}\n\n.nf-fields-empty-droppable {\n border: 4px solid #FFF;\n &::after {\n clear: both;\n content: \"\";\n display: block;\n }\n}\n\n.nf-settings .toggle { cursor: pointer; }\n",".nf-loading {\n background: #1EA9EA;\n border-radius: 4px;\n width: 40px;\n margin: 0 auto;\n position: relative;\n ul {\n list-style: none;\n margin: 0;\n padding: 0;\n position: relative;\n top: -10px;\n left: 0;\n font-size: 0;\n li {\n height: 0;\n position: absolute;\n top: 50%;\n left: 0;\n width: 0;\n margin: 0;\n height: 10px;\n width: 10px;\n border: 3px solid #fff;\n border-radius: 100%;\n transform: transformZ(0);\n animation: LOADING 2s infinite;\n &:nth-child(1n) {\n left: 0;\n animation-delay: 0s;\n }\n &:nth-child(2n) {\n left: 15px;\n animation-delay: 0.2s;\n }\n &:nth-child(3n) {\n left: 30px;\n animation-delay: 0.4s;\n }\n }\n }\n}\n\n@keyframes LOADING {\n 0% {\n transform: scale(0.5);\n background: #fff;\n }\n 50% {\n transform: scale(1);\n background: #fff;\n }\n 100% {\n transform: scale(0.5);\n background: #fff;\n }\n}\n",".nf-help-text {\n display: none;\n}\n.ninja-forms-app {\n .nf-help {\n color: #ccc;\n margin-left: 5px;\n text-decoration: none;\n .dashicons {\n font-size: 16px;\n height: 16px;\n width: 16px;\n }\n }\n .qtip-default {\n background-color: #424242;\n border: 1px solid #424242;\n border-radius: 4px;\n box-shadow: 0 5px 6px rgba( 0, 0, 0, 0.3 );\n color: #fff;\n font-size: 14px;\n line-height: 18px;\n padding: 10px;\n //position: relative;\n &::after {\n content: \"\";\n position: absolute;\n left: 143px;\n bottom: -12px;\n width: 0;\n height: 0;\n border-left: 6px solid transparent;\n border-right: 6px solid transparent;\n border-top: 12px solid #424242;\n }\n }\n}",".has-merge-tags {\n position: relative;\n input[type=text],\n textarea {\n padding-right: 40px;\n }\n &.rte {\n display: block;\n .wp-editor-tabs {\n margin-right: 40px;\n }\n .merge-tags {\n color: #999;\n z-index: 100;\n top: 26px;\n }\n }\n .merge-tags {\n color: #ccc;\n pointer: cursor;\n position: absolute;\n }\n .nf-list-options {\n input[type=text] {\n + .merge-tags {\n top: 12px;\n }\n }\n }\n}\ndiv.has-merge-tags {\n .merge-tags {\n top: 16px;\n right: 12px;\n }\n}\nlabel.has-merge-tags {\n .merge-tags {\n top: 33px;\n right: 12px;\n }\n}\n.nf-list-options {\n label.has-merge-tags {\n .merge-tags {\n top: 12px;\n }\n }\n}\n\n.jBox-Tooltip {\n z-index: 100000000 !important;\n}\n\n.jBox-TooltipBorder {\n .jBox-container {\n border-radius: 5px;\n border: 2px solid $cta_color;\n /*background: #EBEDEE;*/\n h4 {\n background: #f1f1f1;\n padding: 5px;\n margin: 0 0 5px;\n }\n ul {\n margin: 0;\n li {\n &:nth-child(even) {\n a {\n //background: #f1f1f1;\n }\n }\n a {\n color: $cta_color;\n margin: 0;\n padding: 0 5px;\n display: block;\n text-decoration: none;\n }\n }\n a.active {\n background: #f1f1f1;\n }\n }\n }\n .jBox-pointer {\n &::after {\n border: 2px solid $cta_color;\n /*background: #EBEDEE;*/\n }\n }\n .jBox-pointer-top,\n .jBox-pointer-bottom {\n width: 34px;\n height: 12px;\n }\n .jBox-pointer-left,\n .jBox-pointer-right {\n width: 12px;\n height: 34px;\n }\n &.jBox-closeButton-box {\n &::before {\n width: 28px;\n height: 28px;\n background: $cta_color;\n }\n }\n}\n\n/* MERGE TAG BOX STYLES */\n#merge-tags-box {\n display: none;\n background-color: #DBDDDD;\n max-height: 360px;\n z-index: 1001;\n position: absolute;\n top: -1px;\n left:12px;\n right: 10px;\n\n .merge-tag-container {\n display: flex;\n justify-content: space-between;\n }\n\n .merge-tag-sections,\n .merge-tag-list {\n float: left;\n font-size: 14px;\n background-color: #fff;\n height: 300px;\n overflow-y: auto;\n }\n\n .merge-tag-sections {\n background-color: #DBDDDD;\n ul {\n margin: 0;\n li {\n background: #DBDDDD;\n border-bottom: 1px solid #fff;\n cursor: pointer;\n font-size: 14px;\n margin: 0;\n padding: 8px 26px 8px 16px;\n &:hover {\n background: #f6f6f6;\n }\n &.active {\n position: relative;\n }\n &.active::after {\n clear: both;\n content: \"\";\n display: block;\n width: 0;\n height: 0;\n border-top: 17px solid transparent;\n border-bottom: 17px solid transparent;\n border-right: 24px solid #fff;\n position: absolute;\n top: 0;\n right: 0;\n }\n &:hover {\n color: #1EA9EA;\n }\n }\n }\n }\n\n .merge-tag-list {\n flex-grow: 1;\n padding-top: 10px;\n div {\n div {\n line-height: 22px;\n }\n }\n &:hover li { // Uses !important to override first-of-type selector.\n &:hover {\n color: #1EA9EA !important;\n }\n color: black !important;\n }\n ul {\n margin: 0;\n }\n li {\n cursor: pointer;\n margin-bottom: 0;\n span {\n padding: 4px 16px;\n display: block;\n small {\n font-family: \"Courier New\", Courier, monospace, sans-serif;\n }\n }\n &:first-of-type {\n color: #1EA9EA;\n }\n }\n }\n\n .merge-tag-filter {\n border-bottom: 2px solid #DBDDDD;\n margin: 3px 10px 10px 10px;\n clear: both;\n }\n}\n.merge-tag-focus {\n position: relative;\n z-index: 1000;\n}\n.merge-tag-focus-overlay {\n &:before {\n content: '';\n position: fixed;\n top: 0; right: 0; bottom: 0; left: 0;\n background-color: rgba( 0, 0, 0, .5 );\n z-index: 100;\n }\n &.note-editor:before { // Summernote RTE Support\n z-index: 0;\n }\n}\n\n#merge-tags-box.one-half--first {\n width: 538px;\n left: 12px;\n}\n#merge-tags-box.one-half--second {\n width: 538px;\n right: 10px;\n left: auto;\n}\n\n.setting + .merge-tags {\n color: rgba( 204, 204, 204, .3 );\n}\n.setting:focus + .merge-tags,\n.merge-tag-focus-overlay .merge-tags {\n color: rgba( 204, 204, 204, 1 );\n}\n.merge-tag-focus-overlay .merge-tags {\n z-index: 1000;\n}\n",".note-popover {\n display: none !important;\n}\n.ninja-forms-app {\n .note-editor {\n border: 0 !important;\n .note-toolbar {\n &::after {\n clear: both;\n content: \"\";\n display: block;\n }\n }\n .note-editable {\n background: #f9f9f9;\n display: block;\n p {\n font-size: 16px;\n }\n ul {\n list-style-type: disc;\n margin-left: 2em;\n }\n table {\n td {\n border: 1px solid #ccc;\n width: auto;\n }\n }\n }\n .modal {\n display: none;\n }\n .btn-group {\n float: left;\n &.note-tools, {\n float: right;\n }\n }\n .btn {\n background: #f9f9f9;\n border: 0;\n border-radius: 4px;\n color: #666;\n cursor: pointer;\n margin-right: 2px;\n padding-top: 4px;\n &.disabled {\n background: transparent;\n color: #aaa;\n .merge-tags {\n background: #f9f9f9;\n color: #666;\n }\n }\n }\n }\n .tooltip {\n position: absolute;\n z-index: 1070;\n display: block;\n font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif;\n font-size: 12px;\n font-style: normal;\n font-weight: normal;\n line-height: 1.42857143;\n text-align: left;\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n letter-spacing: normal;\n word-break: normal;\n word-spacing: normal;\n word-wrap: normal;\n white-space: normal;\n filter: alpha(opacity=0);\n opacity: 0;\n\n line-break: auto;\n }\n .tooltip.in {\n filter: alpha(opacity=90);\n opacity: .9;\n }\n .tooltip.top {\n padding: 5px 0;\n margin-top: -3px;\n }\n .tooltip.right {\n padding: 0 5px;\n margin-left: 3px;\n }\n .tooltip.bottom {\n padding: 5px 0;\n margin-top: 3px;\n }\n .tooltip.left {\n padding: 0 5px;\n margin-left: -3px;\n }\n .tooltip-inner {\n max-width: 200px;\n padding: 3px 8px;\n color: #fff;\n text-align: center;\n background-color: #000;\n border-radius: 4px;\n }\n .tooltip-arrow {\n position: absolute;\n width: 0;\n height: 0;\n border-color: transparent;\n border-style: solid;\n }\n .tooltip.top .tooltip-arrow {\n bottom: 0;\n left: 50%;\n margin-left: -5px;\n border-width: 5px 5px 0;\n border-top-color: #000;\n }\n .tooltip.top-left .tooltip-arrow {\n right: 5px;\n bottom: 0;\n margin-bottom: -5px;\n border-width: 5px 5px 0;\n border-top-color: #000;\n }\n .tooltip.top-right .tooltip-arrow {\n bottom: 0;\n left: 5px;\n margin-bottom: -5px;\n border-width: 5px 5px 0;\n border-top-color: #000;\n }\n .tooltip.right .tooltip-arrow {\n top: 50%;\n left: 0;\n margin-top: -5px;\n border-width: 5px 5px 5px 0;\n border-right-color: #000;\n }\n .tooltip.left .tooltip-arrow {\n top: 50%;\n right: 0;\n margin-top: -5px;\n border-width: 5px 0 5px 5px;\n border-left-color: #000;\n }\n .tooltip.bottom .tooltip-arrow {\n top: 0;\n left: 50%;\n margin-left: -5px;\n border-width: 0 5px 5px;\n border-bottom-color: #000;\n }\n .tooltip.bottom-left .tooltip-arrow {\n top: 0;\n right: 5px;\n margin-top: -5px;\n border-width: 0 5px 5px;\n border-bottom-color: #000;\n }\n .tooltip.bottom-right .tooltip-arrow {\n top: 0;\n left: 5px;\n margin-top: -5px;\n border-width: 0 5px 5px;\n border-bottom-color: #000;\n }\n .dropdown-menu {\n position: absolute;\n // top: 100%;\n // left: 0;\n z-index: 1000;\n display: none;\n float: left;\n min-width: 160px;\n padding: 5px 0;\n margin: 2px 0 0;\n font-size: 14px;\n text-align: left;\n list-style: none;\n background-color: #fff;\n -webkit-background-clip: padding-box;\n background-clip: padding-box;\n border: 1px solid #ccc;\n border: 1px solid rgba(0, 0, 0, .15);\n border-radius: 4px;\n -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, .175);\n box-shadow: 0 6px 12px rgba(0, 0, 0, .175);\n }\n .dropdown-menu.pull-right {\n right: 0;\n left: auto;\n }\n .dropdown-menu .divider {\n height: 1px;\n margin: 9px 0;\n overflow: hidden;\n background-color: #e5e5e5;\n }\n .dropdown-menu > li > a {\n display: block;\n padding: 3px 20px;\n clear: both;\n font-weight: normal;\n line-height: 1.42857143;\n color: #333;\n white-space: nowrap;\n }\n .dropdown-menu > li > a:hover,\n .dropdown-menu > li > a:focus {\n color: #262626;\n text-decoration: none;\n background-color: #f5f5f5;\n }\n .dropdown-menu > .active > a,\n .dropdown-menu > .active > a:hover,\n .dropdown-menu > .active > a:focus {\n color: #fff;\n text-decoration: none;\n background-color: #337ab7;\n outline: 0;\n }\n .dropdown-menu > .disabled > a,\n .dropdown-menu > .disabled > a:hover,\n .dropdown-menu > .disabled > a:focus {\n color: #777;\n }\n .dropdown-menu > .disabled > a:hover,\n .dropdown-menu > .disabled > a:focus {\n text-decoration: none;\n cursor: not-allowed;\n background-color: transparent;\n background-image: none;\n filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n }\n .open > .dropdown-menu {\n display: block;\n }\n .open > a {\n outline: 0;\n }\n .dropdown-menu-right {\n right: 0;\n left: auto;\n }\n .dropdown-menu-left {\n right: auto;\n left: 0;\n }\n .dropdown-header {\n display: block;\n padding: 3px 20px;\n font-size: 12px;\n line-height: 1.42857143;\n color: #777;\n white-space: nowrap;\n }\n .dropdown-backdrop {\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 990;\n }\n .pull-right > .dropdown-menu {\n right: 0;\n left: auto;\n }\n .dropup .caret,\n .navbar-fixed-bottom .dropdown .caret {\n content: \"\";\n border-top: 0;\n border-bottom: 4px dashed;\n border-bottom: 4px solid \\9;\n }\n .dropup .dropdown-menu,\n .navbar-fixed-bottom .dropdown .dropdown-menu {\n top: auto;\n bottom: 100%;\n margin-bottom: 2px;\n }\n @media (min-width: 768px) {\n .navbar-right .dropdown-menu {\n right: 0;\n left: auto;\n }\n .navbar-right .dropdown-menu-left {\n right: auto;\n left: 0;\n }\n }\n .btn-group-justified > .btn-group .dropdown-menu {\n left: auto;\n }\n .nav-tabs.nav-justified > .dropdown .dropdown-menu {\n top: auto;\n left: auto;\n }\n .nav-justified > .dropdown .dropdown-menu {\n top: auto;\n left: auto;\n }\n .nav-tabs .dropdown-menu {\n margin-top: -1px;\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n }\n @media (max-width: 767px) {\n .navbar-nav .open .dropdown-menu {\n position: static;\n float: none;\n width: auto;\n margin-top: 0;\n background-color: transparent;\n border: 0;\n -webkit-box-shadow: none;\n box-shadow: none;\n }\n .navbar-nav .open .dropdown-menu > li > a,\n .navbar-nav .open .dropdown-menu .dropdown-header {\n padding: 5px 15px 5px 25px;\n }\n .navbar-nav .open .dropdown-menu > li > a {\n line-height: 20px;\n }\n .navbar-nav .open .dropdown-menu > li > a:hover,\n .navbar-nav .open .dropdown-menu > li > a:focus {\n background-image: none;\n }\n }\n .navbar-nav > li > .dropdown-menu {\n margin-top: 0;\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n }\n .navbar-fixed-bottom .navbar-nav > li > .dropdown-menu {\n margin-bottom: 0;\n border-top-left-radius: 4px;\n border-top-right-radius: 4px;\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n }\n @media (max-width: 767px) {\n .navbar-default .navbar-nav .open .dropdown-menu > li > a {\n color: #777;\n }\n .navbar-default .navbar-nav .open .dropdown-menu > li > a:hover,\n .navbar-default .navbar-nav .open .dropdown-menu > li > a:focus {\n color: #333;\n background-color: transparent;\n }\n .navbar-default .navbar-nav .open .dropdown-menu > .active > a,\n .navbar-default .navbar-nav .open .dropdown-menu > .active > a:hover,\n .navbar-default .navbar-nav .open .dropdown-menu > .active > a:focus {\n color: #555;\n background-color: #e7e7e7;\n }\n .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a,\n .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:hover,\n .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:focus {\n color: #ccc;\n background-color: transparent;\n }\n }\n @media (max-width: 767px) {\n .navbar-inverse .navbar-nav .open .dropdown-menu > .dropdown-header {\n border-color: #080808;\n }\n .navbar-inverse .navbar-nav .open .dropdown-menu .divider {\n background-color: #080808;\n }\n .navbar-inverse .navbar-nav .open .dropdown-menu > li > a {\n color: #9d9d9d;\n }\n .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:hover,\n .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:focus {\n color: #fff;\n background-color: transparent;\n }\n .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a,\n .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:hover,\n .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:focus {\n color: #fff;\n background-color: #080808;\n }\n .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a,\n .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:hover,\n .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:focus {\n color: #444;\n background-color: transparent;\n }\n }\n}\n","/*\nWP Color Picker (Iris) Styles\n---------------------------------------------*/\n\n.ninja-forms-app #wpcontent .wp-picker-holder {\n position: absolute;\n z-index: 9001;\n}\n.ninja-forms-app #wpcontent .wp-picker-holder * {\n box-sizing: content-box;\n}\n.wp-picker-container {\n width: 100%;\n}\n.wp-color-result,\n.wp-picker-input-wrap {\n margin-top: 5px;\n}\n.wp-color-result {\n border: 0;\n box-shadow: none;\n margin: 5px 0 0;\n height: 41px;\n width: 100%;\n padding-left: 60px;\n}\n.wp-color-result:after {\n font-size: 16px;\n line-height: 41px;\n}\n.wp-color-result.wp-picker-open {\n display: none;\n}\n.wp-color-picker,\n.wp-picker-input-wrap {\n width: 100% !important;\n}\n\n.wp-picker-input-wrap > .button.wp-picker-default {\n display: none;\n}\n","\n@-webkit-keyframes color_change {\n from { background-color: $cta_color; color: #fff }\n to { background-color: #3B454D; color: #A2A5A8 }\n}\n@-moz-keyframes color_change {\n from { background-color: $cta_color; color: #fff }\n to { background-color: #3B454D; color: #A2A5A8 }\n}\n@-ms-keyframes color_change {\n from { background-color: $cta_color; color: #fff }\n to { background-color: #3B454D; color: #A2A5A8 }\n}\n@-o-keyframes color_change {\n from { background-color: $cta_color; color: #fff }\n to { background-color: #3B454D; color: #A2A5A8 }\n}\n@keyframes color_change {\n from { background-color: $cta_color; color: #fff }\n to { background-color: #3B454D; color: #A2A5A8 }\n}\n.nf-item.clicked {\n //background: #1EA9EA;\n animation-name: color_change;\n animation-duration: 2s;\n animation-iteration-count: 1;\n animation-direction: alternate;\n}\n@media only screen and (max-width: 1400px) {\n .nf-field-type-button {\n width: 50%;\n }\n}\n@media only screen and (max-width: 1065px) {\n .nf-app-menu {\n .preview {\n .app-menu-text {\n text-indent: -9999px;\n display: inline-block;\n width: 0;\n }\n }\n }\n .nf-drawer-opened {\n .nf-actions-table {\n th, td {\n &:nth-child(3) {\n display: none;\n }\n }\n }\n }\n}\n@media only screen and (max-width: 900px) {\n #nf-header {\n ul {\n display: none;\n }\n .nf-button.primary {\n display: none;\n }\n }\n\n .nf-mobile-menu {\n display: inline-block;\n }\n #nf-app-sub-header {\n h2 {\n padding-left: 0;\n transition: all 1.0s ease 0s\n }\n }\n\n .nf-add-new.nf-open-drawer {\n position: fixed;\n text-indent: -9999px;\n height: 54px;\n width: 54px;\n top: auto;\n left: auto;\n bottom: 20px;\n right: 20px;\n &:after {\n background: $accent_color;\n border: 2px solid $accent_color;\n border-radius: 40px;\n color: #fff;\n content: \"+\";\n font-size: 50px;\n padding: 8px;\n position: absolute;\n left: 0;\n width: 28px;\n height: 28px;\n line-height: 24px;\n text-indent: 0px;\n }\n }\n\n #nf-main-header {\n .nf-button {\n display: none;\n }\n }\n // .nf-item-controls {\n // li {\n // margin: -4px 15px 0;\n // height: 26px;\n // a {\n // width: 30px;\n // height: 30px;\n // &:hover {\n // .nf-tooltip {\n // top: -45px;\n // visibility:visible;\n // opacity: 1.0;\n // filter: alpha(opacity=100);\n // transition: all 1.0s ease;\n // transition-delay: 1.4s;\n // }\n // }\n // .dashicons {\n // font-size: 26px;\n // padding-top: 1px;\n // }\n // }\n // &.nf-item-duplicate {\n // .nf-tooltip {\n // left: -32px;\n // &:after {\n // left: 36px;\n // }\n // }\n // }\n // &.nf-item-edit {\n // .nf-tooltip {\n // left: -16px;\n // &:after {\n // left: 20px;\n // }\n // }\n // }\n // &.nf-item-delete {\n // margin-top: -4px;\n // }\n // &.nf-item-expand {\n // display: none;\n // .dashicons {\n // transform: rotate(-90deg);\n // }\n // }\n // .nf-item-editing {\n // display: none;\n // }\n // }\n // &.nf-editing {\n // font-weight: normal;\n // a {\n // color: #424242;\n // }\n // .nf-item-delete,\n // .nf-item-duplicate {\n // display: none;\n // }\n // .nf-item-editing {\n // display: inline;\n // line-height: 26px;\n // }\n // }\n // }\n .nf-one-half, .nf-one-third {\n float: none;\n width: 100%;\n }\n .nf-drawer-expand {\n .nf-one-half {\n float: left;\n width: 50%;\n }\n .nf-on-third {\n float: left;\n width: 33%;\n }\n }\n\n #nf-app-form-title {\n margin-top: -55px;\n }\n #nf-main {\n top: 120px;\n }\n\n #nf-table-display {\n .nf-item-controls {\n width: auto;\n }\n }\n}\n@media only screen and (max-width: 1023px) {\n .ninja-forms-app {\n &.folded {\n #wpcontent {\n margin-left: 36px;\n padding: 0;\n position: absolute;\n top: 0;\n left: 0;\n bottom: 0;\n right: 0;\n #wpbody {\n left: 0;\n }\n }\n }\n }\n\n .nf-setting-wrap {\n width: 50%;\n }\n #nf-drawer {\n width: 100%;\n }\n .nf-drawer-opened {\n #nf-main {\n width: 100%;\n }\n .nf-setting-wrap {\n width: 50%;\n }\n }\n .nf-drawer-closed {\n .nf-setting-wrap {\n width: 50%;\n }\n }\n .nf-toggle-drawer {\n display: none;\n }\n\n}\n@media only screen and (max-width: 960px) {\n .ninja-forms-app {\n &.auto-fold {\n #wpcontent {\n margin-left: 36px;\n padding: 0;\n position: absolute;\n top: 0;\n left: 0;\n bottom: 0;\n right: 0;\n #wpbody {\n left: 0;\n }\n }\n }\n }\n .nf-drawer-opened .nf-toggle-drawer {\n display: none;\n }\n\n\n\n}\n\n@media only screen and (max-width: 782px) {\n .ninja-forms-app {\n &.folded, &.auto-fold {\n #wpcontent {\n margin-left: 0;\n }\n }\n }\n // .nf-item-controls {\n // top: 15px;\n // }\n #nf-builder {\n padding: 80px 20px 10px;\n .nf-cta-bubble {\n display: none !important;\n }\n }\n #nf-main {\n padding: 20px 0 80px;\n }\n #nf-drawer {\n padding: 20px;\n }\n\n\n #nf-main-content {\n width: 100%;\n max-width: 100%;\n }\n #nf-main {\n border: 0;\n }\n // .nf-field-wrap {\n // border: 0;\n // border-top: 8px solid #f1f1f1;\n // border-radius: 0;\n // margin: 0;\n // padding: 20px;\n // &:first-child {\n // border-top: 8px solid #fff;\n // }\n // }\n // .nf-fields-sortable-placeholder { margin-top: 0; margin-bottom: 0; border: 4px solid #84CC1E }\n // .nf-fields-sortable-placeholder + .nf-field-wrap {\n // border: 0;\n // }\n // .nf-fields-sortable {\n // border: 0;\n // padding: 0;\n // }\n // .nf-field-wrap.ui-sortable-helper {\n // background: transparent;\n // border: 2px solid $accent_color;\n // }\n\n}\n@media only screen and (max-width: 660px) {\n\n #nf-builder {\n //margin-top: 46px;\n }\n .nf-one-half, .nf-one-third {\n width: 100%;\n }\n // .nf-field-wrap {\n // border: 0;\n // border-bottom: 1px solid #ccc;\n // border-radius: 0;\n // margin: 0;\n // padding: 20px;\n // &:first-child {\n // border-top: 1px solid #ccc;\n // }\n // }\n .nf-actions-table {\n td:nth-child(3),th:nth-child(3) {\n display: none;\n }\n }\n // display: block;\n // table, thead, tbody, th, td, tr {\n // display: block;\n // }\n // thead tr {\n // position: absolute;\n // top: -9999px;\n // left: -9999px;\n // }\n // tr { border: 1px solid #ccc; }\n // td {\n // /* Behave like a \"row\" */\n // border: none;\n // border-bottom: 1px solid #eee;\n // position: relative;\n // padding-left: 50%;\n // text-align: right;\n // width: auto !important;\n // &::before {\n // /* Now like a table header */\n // line-height: 36px;\n // position: absolute;\n // /* Top/left values mimic padding */\n // top: 6px;\n // left: 6px;\n // width: 45%;\n // padding-right: 10px;\n // text-align: left;\n // white-space: nowrap;\n // }\n // &:last-child {\n // height: 50px;\n // }\n // }\n // td:nth-of-type(1):before { content: \"\"; }\n // td:nth-of-type(2):before { content: \"Name\"; }\n // td:nth-of-type(3):before { content: \"Type\"; }\n // td:nth-of-type(4):before { content: \"Actions\"; }\n // }\n\n .nf-drawer-buttons {\n display: block;\n }\n // .nf-drawer-header {\n // background: #fff;\n // margin: -20px -20px 20px;\n // //padding: 0;\n // h2 {\n // font-size: 16px;\n // line-height: 46px;\n // margin: 0;\n // .dashicons {\n // background: #fff;\n // font-size: 30px;\n // padding-top: 7px;\n // width: 45px;\n // height: 45px;\n // }\n // }\n // .nf-button {\n // border-radius: 0;\n // }\n // }\n .nf-item {\n padding: 15px;\n .fa {\n padding: 14px;\n width: 48px;\n }\n }\n .nf-saved .nf-item::after {\n padding: 14px;\n }\n}\n\n@media only screen and (max-width: 600px) {\n // #nf-builder {\n // margin-top: 46px;\n // }\n\n\n}\n",".rtl.ninja-forms-app {\n #wpcontent {\n margin-right: 140px;\n #wpbody {\n right: 160px;\n left: 0;\n }\n }\n &.folded {\n #wpcontent {\n margin-right: 16px;\n #wpbody {\n right: 36px;\n left: 0;\n }\n }\n }\n}\n\n.rtl {\n #nf-app-admin-header {\n #nf-logo {\n float: right;\n }\n .fa-times {\n right: auto;\n left: 0;\n }\n }\n\n .nf-app-buttons {\n float: left;\n }\n\n #nf-app-header {\n .nf-app-menu {\n li {\n float: right;\n a {\n &.preview {\n .dashicons {\n margin-right: 10px;\n }\n }\n }\n }\n }\n }\n\n .nf-master-control {\n right: auto;\n left: 30px;\n .fa {\n margin: 15px 16px 0 0;\n }\n }\n\n input[type=submit] {\n float: left;\n }\n .nf-cancel {\n float: left;\n margin-left: 20px;\n }\n\n .nf-add-new {\n margin: 0;\n padding: 0;\n //padding: 0 46px 0 0;\n &:after {\n right: 0;\n left: auto;\n line-height: 14px;\n }\n }\n\n #nf-main {\n right: 0;\n left: auto;\n }\n #nf-main-header {\n .nf-button {\n float: left;\n }\n }\n .nf-field-label {\n margin-left: 0;\n margin-right: 16px;\n }\n .nf-item-controls {\n right: auto;\n left: 0;\n .nf-item-control {\n right: auto;\n left: 0;\n }\n &:hover {\n .nf-item-duplicate {\n right: auto;\n left: 80px;\n }\n .nf-item-delete {\n right: auto;\n left: 40px;\n }\n }\n }\n\n #nf-drawer {\n right: auto;\n left: -1400px;\n &.nf-drawer-expand {\n width: 100%;\n }\n }\n\n .nf-drawer-header {\n h2 {\n float: right;\n .dashicons {\n margin-left: 10px;\n }\n }\n .nf-button {\n float: left;\n }\n }\n\n .nf-search {\n input[type=search] {\n padding: 12px 50px 12px 0;\n }\n &::before {\n right: 10px;\n left: 0;\n }\n }\n\n .nf-drawer-opened {\n #nf-drawer {\n left: 0;\n right: auto;\n }\n #nf-app-sub-header {\n h2 {\n padding-right: 0;\n }\n }\n }\n\n .nf-settings {\n h3 {\n .dashicons {\n margin: -4px -30px 0 10px;\n &.dashicons-arrow-right::before {\n content: \"\\f141\";\n }\n }\n }\n }\n\n .nf-item {\n .fa {\n left: auto;\n right: 0;\n }\n }\n\n .nf-one-half,\n .nf-one-third,\n .nf-one-fourth {\n float: right;\n }\n}\n"]}
1
+ {"version":3,"sources":["normalize.scss","header.scss","main.scss","builder.scss","main-fields.scss","main-settings.scss","item-controls.scss","builder-fields.scss","drawer.scss","drawer-settings.scss","drawer-add.scss","drawer-changes.scss","errors.scss","add-new.scss","toggle.scss","dropdown.scss","tables.scss","scrollbar.scss","drag-drop.scss","loading.scss","tooltip.scss","merge-tags-tooltip.scss","editor.scss","color-picker.scss","media-queries.scss","rtl.scss"],"names":[],"mappings":"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","file":"builder.css","sourcesContent":["html {\n overflow: hidden;\n width: 100%;\n float: left;\n left: 0;\n}\n#wp-auth-check-wrap #wp-auth-check {\n z-index: 1000000000000;\n}\n.ninja-forms-app {\n height: 0;\n #adminmenumain,\n #wpfooter {\n display: none;\n }\n #wpwrap {\n height: 0;\n min-height: 0;\n }\n #wpcontent {\n #wpbody {\n font-size: 16px;\n }\n * {\n -webkit-box-sizing: border-box;\n -moz-box-sizing: border-box;\n box-sizing: border-box;\n }\n .wp-editor-tabs button {\n box-sizing: initial;\n }\n }\n .grey {\n #nf-drawer {\n .nf-button {\n padding: 15px 30px;\n }\n }\n }\n}\n.media-modal {\n z-index: 100000000;\n}\n#nf-builder {\n background: #fff;\n padding: 30px 40px;\n overflow: hidden;\n padding-top: 80px;\n position: fixed;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n z-index: 10000000;\n box-shadow: 0 5px 15px rgba(0, 0, 0, .7);\n}\n\n.product-content article>*:not(img) {\n padding-left: 30px;\n padding-right: 30px;\n}\n","#nf-header {\n //background: red;\n height: 100px;\n transition: margin 0.5s ease;\n #nf-logo {\n background-image: url( '../img/ninja-forms-app-header-logo.png' );\n float: left;\n width: 80px;\n height: 30px;\n @media (min-resolution: 192dpi), (-webkit-min-device-pixel-ratio: 2), (min--moz-device-pixel-ratio: 2), (-o-min-device-pixel-ratio: 2/1), (min-device-pixel-ratio: 2), (min-resolution: 2dppx) {\n background-image: url( '../img/ninja-forms-app-header-logo@2x.png' );\n background-size: 80px 30px;\n }\n opacity: 1.0;\n filter: alpha(opacity=100);\n transition: all 1.0s ease;\n }\n ul {\n display: inline-block;\n margin: 0;\n li {\n float: left;\n &.nf-mobile-menu {\n display: none;\n }\n a {\n color: #424242;\n display: block;\n margin: 16px 20px;\n padding-bottom: 8px;\n text-decoration: none;\n &.active {\n border-bottom: 2px solid #424242;\n }\n &.preview {\n color: #bbb;\n transition: all 1.0s ease;\n .dashicons {\n display: inline-block;\n margin-left: 10px;\n }\n }\n }\n &:first-child {\n a {\n margin-left: 0;\n }\n }\n }\n &:after {\n clear: both;\n content: \"\";\n display: block;\n }\n }\n input[type=submit] {\n float: right;\n }\n .nf-cancel {\n float: right;\n margin-right: 30px;\n padding: 8px 0;\n .dashicons {\n font-size: 30px;\n }\n }\n &:after {\n clear: both;\n content: \"\";\n display: block;\n }\n}\n#nf-app-header {\n height: 50px;\n &:after {\n clear: both;\n content: \"\";\n display: block;\n }\n}\n#nf-app-sub-header {\n height: 50px;\n padding: 0;\n h2 {\n display: inline-block;\n margin: 0;\n padding: 10px 0;\n transition: all 1.0s ease 0s\n }\n &:after {\n clear: both;\n content: \"\";\n display: block;\n }\n}\n.nf-app-buttons {\n float: right;\n .publish {\n float: right;\n }\n}\n#nf-app-form-title {\n h2 {\n margin: 15px 0;\n }\n}\n","#nf-main {\n border: 4px solid #fff;\n //padding: 20px 40px 40px;\n width: 100%;\n position: absolute;\n top: 190px;\n overflow: auto;\n overflow-x: visible;\n bottom: 0;\n left: 0;\n -webkit-overflow-scrolling: touch;\n transition: left 0.5s ease;\n .nf-field-type-button {\n width: 400px;\n }\n}\n.nf-main-test {\n width: 100%;\n transition: width 0.5s ease;\n}\n#nf-main-content,\n#nf-main-header {\n margin: 0 auto;\n max-width: 860px;\n user-select: none;\n padding: 0 80px;\n position: relative;\n}\n#nf-main-header {\n //padding: 0 0 20px;\n .nf-button {\n float: right;\n }\n h2 {\n display: inline-block;\n }\n &:after {\n clear: both;\n content: \"\";\n display: block;\n }\n}\n\n#the-list tr.flagged th:first-child {\n border-left: 5px solid yellow;\n}\n\n#nf-main-gutter-left,\n#nf-main-gutter-right {\n //background: red;\n position: absolute;\n top: 0;\n width: 80px;\n height: 450px;\n .fa-chevron-circle-left,\n .fa-chevron-circle-right,\n .fa-plus-circle {\n color: #eee;\n font-size: 86px;\n position: absolute;\n top: 50%;\n transform: translateY(-50%);\n &:hover {\n color: $cta_color;\n cursor: pointer;\n }\n }\n}\n#nf-main-gutter-left {\n left: 0;\n padding-left: 6px;\n}\n#nf-main-gutter-right {\n right: 0;\n padding-right: 6px;\n}\n","$accent_color: #84CC1E;\n$cta_color: #1EA9EA;\n\n/*\nNormalize WordPress admin for Ninja Forms App\n---------------------------------------------*/\n\n@import \"normalize\";\n\n/*\nHeader and Nav for Ninja Forms App\n---------------------------------- */\n\n@import \"header\";\n@import \"main\";\n@import \"main-fields\";\n@import \"main-settings\";\n\n/*\nForm field placeholders for the fields a user has added to their form\n----------------------------------------------------------------------- */\n@import \"item-controls\";\n@import \"builder-fields\";\n\n/*\nAll styles used within the drawer\n--------------------------------- */\n\n@import \"drawer\";\n@import \"drawer-settings\";\n@import \"drawer-add\";\n@import \"drawer-changes\";\n@import \"errors\";\n/*\nVarious custom field styles\n--------------------------------- */\n\n@import \"add-new\";\n@import \"toggle\";\n@import \"dropdown\";\n\n/*\nAll styles used for displaying table content\n-------------------------------------------- */\n\n@import \"tables\";\n\n@import \"scrollbar\";\n@import \"drag-drop\";\n@import \"loading\";\n@import \"tooltip\";\n@import \"merge-tags-tooltip\";\n@import \"editor\";\n@import \"color-picker\";\n\n@import \"media-queries\";\n\n#nf-app-admin-header {\n background: #EBEDEE;\n height: 60px;\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n .fa-times {\n background: #424242;\n color: #fff;\n font-size: 30px;\n position: absolute;\n text-align: center;\n text-decoration: none;\n line-height: 56px;\n right: 0;\n height: 60px;\n width: 60px;\n }\n #nf-logo {\n background-image: url(\"../img/ninja-forms-app-header-logo@2x.png\");\n background-size: 130px 50px;\n background-position: center bottom;\n background-repeat: no-repeat;\n float: left;\n width: 160px;\n height: 60px;\n opacity: 1.0;\n filter: alpha(opacity=100);\n -webkit-transition: all 1.0s ease;\n transition: all 1.0s ease;\n }\n .nf-cta-bubble {\n background: $cta_color;\n border: 1px solid $cta_color;\n border-radius: 6px;\n color: #fff;\n display: block;\n float: left;\n font-size: 14px;\n margin: 6px 0 0 20px;\n padding: 5px 10px;\n position: relative;\n text-decoration: none;\n width: 360px;\n &::after {\n display: block;\n content: \"\";\n width: 0;\n height: 0;\n border-top: 10px solid transparent;\n border-bottom: 10px solid transparent;\n border-right: 10px solid $cta_color;\n position: absolute;\n left: -10px;\n top: 13px;\n }\n &:hover {\n background: #fff;\n color: $cta-color;\n }\n }\n}\n\n.scrollWrap{\n overflow : hidden;\n height : 100%;\n position : relative;\n z-index : 1;\n}\n.scrollContent{\n height : 100%;\n width : 100%;\n padding : 0 32px 0 0;\n position : relative;\n right : -18px;\n overflow : auto;\n -moz-box-sizing : border-box;\n box-sizing : border-box;\n}\n\n.fakeScrollBar{\n position : absolute;\n background : rgba(255,255,255,.5);\n width : 9px;\n border-radius : 4px;\n right : -15px;\n top : 0;\n z-index : 0;\n cursor : -moz-grab;\n cursor : -webkit-grab;\n}\n\n.fakeScroll:hover .fakeScrollBar.fakescroll-grabbed{\n cursor : -moz-grabbing;\n cursor : -webkit-grabbing;\n background : #FFF;\n}\n\nbody.fakescroll-grabbed{\n cursor : -moz-grabbing;\n cursor : -webkit-grabbing;\n}\n\n@import \"rtl\";\n\n",".nf-fields-empty {\n padding: 0 40px;\n h3 {\n font-size: 30px;\n line-height: 32px;\n }\n p {\n font-size: 18px;\n }\n a {\n text-decoration: none;\n }\n}\n\n.nf-field-label {\n display: inline-block;\n margin-left: 16px;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n width: 80%;\n .nf-drawer-opened & {\n width: 60%;\n }\n}\n\n.nf-field-wrap {\n .fa {\n // margin-right: 10px;\n // width: 24px;\n }\n}\n.template-box {\n text-decoration: none;\n .template-box-inside {\n background: #EBEDEE;\n color: #424242;\n min-height: 160px;\n padding: 10px;\n text-decoration: none;\n transition: all 0.2s ease-in-out 0.1s, box-shadow 0.2s ease-in-out 0.1s;\n h4 {\n margin: 0 0 10px;\n min-height: 35px;\n }\n p {\n font-size: 12px;\n margin: 0;\n }\n }\n &:hover {\n .template-box-inside {\n background: #fff;\n box-shadow: 0 0 20px $cta_color;\n color: $cta_color;\n transition: all 0.2s ease-in-out 0.1s, box-shadow 0.2s ease-in-out 0.1s;\n }\n }\n .nf-drawer-opened & {\n width: 50%;\n }\n}\n@media only screen and (max-width: 1400px) {\n .nf-drawer-opened {\n .template-box {\n width: 100%;\n }\n }\n}\n",".nf-setting-wrap {\n cursor: pointer;\n float: left;\n margin-bottom: 30px;\n padding: 0 2%;\n width: 33.33%;\n &::after {\n clear: both;\n content: \"\";\n display: block;\n }\n span {\n background: #fff;\n border: 1px solid #ccc;\n border-radius: 4px;\n display: table-cell;\n height: 85px;\n width: 400px;\n text-align: center;\n vertical-align: middle;\n }\n &.active {\n span {\n border: 2px solid $accent_color;\n font-weight: bold;\n }\n }\n}\n",".nf-item-controls {\n height: 30px;\n width: 30px;\n float: right;\n margin: 0;\n position: absolute;\n top: 9px;\n right: 10px;\n .nf-item-control {\n visibility: hidden;\n margin: 0;\n opacity: 0;\n text-align: center;\n width: 40px;\n height: 30px;\n position: absolute;\n right: 0;\n transition: all 0.5s ease;\n a {\n background: #fff;\n border: 1px solid #fff;\n border-radius: 50px;\n color: $cta_color;\n display: block;\n text-decoration: none;\n padding: 3px;\n position: relative;\n width: 32px;\n &:hover {\n background: #fff;\n border: 1px solid $cta_color;\n color: $cta_color;\n }\n }\n .fa {\n font-size: 18px;\n line-height: 24px;\n text-align: center;\n }\n &.nf-item-edit {\n opacity: 100;\n visibility: visible;\n z-index: auto;\n }\n }\n &:hover {\n a {\n background: $cta_color;\n color: #fff;\n }\n .nf-item-duplicate {\n visibility: visible;\n opacity: 100;\n right: 80px;\n transition: all 0.5s ease;\n }\n .nf-item-delete {\n visibility: visible;\n opacity: 100;\n right: 40px;\n transition: all 0.5s ease;\n }\n }\n}\n#nf-table-display {\n .nf-item-controls {\n float: right;\n }\n}\n",".nf-field-wrap {\n background: #fff;\n border: 1px solid #ccc;\n border-radius: 4px;\n color: #888;\n cursor: pointer;\n margin-bottom: 20px;\n padding: 15px 20px;\n position: relative;\n &.active {\n //background: #fafafa;\n border: 2px solid #84CC1E;\n color: #424242;\n font-weight: bold;\n .nf-item-controls {\n font-weight: normal;\n a {\n background: #fff;\n color: $accent_color;\n &:hover {\n border-color: #fff;\n }\n }\n .nf-item-delete,\n .nf-item-duplicate {\n display: none;\n }\n .nf-item-editing {\n display: inline;\n }\n .nf-item-edit {\n .dashicons {\n margin-right: 12px\n }\n }\n }\n }\n &.note {\n background: #ffffee;\n }\n}\n\n.nf-group-wrap {\n background: #fff;\n border: 2px solid #ccc;\n border-radius: 4px;\n color: #888;\n margin: 0 -10px 20px;\n padding: 15px 30px;\n position: relative;\n //transition: all 1.0s ease;\n .nf-item-controls {\n width: 128px;\n }\n .nf-item-expand {\n display: inline !important;\n }\n .nf-field-wrap {\n margin-left: -20px;\n margin-right: -20px;\n visibility: hidden;\n opacity: 0.0;\n filter: alpha(opacity=0);\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n //transition: all 1.0s ease;\n }\n &.expanded {\n border-color: $accent_color;\n color: $accent_color;\n //transition: all 1.0s ease;\n .nf-item-expand {\n .dashicons {\n transform: rotate(90deg);\n }\n }\n .nf-field-wrap {\n opacity: 1.0;\n visibility: visible;\n filter: alpha(opacity=100);\n position: relative;\n top: 0;\n left: 0;\n right: 0;\n transition: all 1.0s ease;\n &:nth-child(2) {\n margin-top: 20px;\n }\n &:last-child {\n margin-bottom: 0;\n }\n .nf-item-controls {\n width: 96px;\n .nf-item-expand {\n display: none !important;\n }\n }\n }\n }\n}\n","#nf-drawer {\n background: #EBEDEE;\n padding: 40px 40px;\n width: 50%;\n position: absolute;\n top: 0;\n bottom: 0;\n right: -1400px;\n overflow: hidden;\n z-index: auto; // Changed from 101 to Auto to fix a bug with the merge tag overlay in Safari.\n transition: width 0.75s ease;\n -webkit-overflow-scrolling: touch;\n &.nf-drawer-expand {\n width: 100%;\n }\n}\n.nf-drawer-opened {\n .nf-main-test {\n width: 50%;\n transition: all 0.50s ease;\n .nf-button {\n display: none;\n }\n }\n #nf-drawer {\n right: 0;\n transition: all 0.50s ease;\n &.nf-drawer-expand {\n width: 100%;\n transition: all 0.50s ease;\n .nf-toggle-drawer {\n .dashicons {\n transform: rotate(180deg);\n transition: all 0.50s ease;\n }\n .nf-expand-off {\n display: none;\n }\n .nf-expand-on {\n display: inline;\n }\n }\n }\n }\n .preview {\n opacity: 0.0;\n visibility:hidden;\n filter: alpha(opacity=0);\n transition: all 0.50s ease;\n &:hover, &:active, &.active {\n opacity: 0.0;\n visibility:hidden;\n filter: alpha(opacity=0);\n transition: all 0.50s ease;\n }\n }\n #nf-main-content,\n #nf-main-header {\n margin: 0 auto;\n //padding-left: 60px;\n transition: all 0.50s ease;\n }\n @media only screen and (min-width: 901px) {\n #nf-app-sub-header {\n .nf-add-new {\n top: 139px !important;\n text-indent: -99999px;\n &:after {\n }\n }\n }\n }\n .nf-setting-wrap {\n width: 50%;\n transition: width 0.50s ease;\n }\n .nf-toggle-drawer {\n display: block;\n }\n}\n.nf-drawer-closed {\n #nf-main {\n width: 100%;\n left: 0;\n transition: width 0.50s ease, left 0.50s ease;\n }\n #nf-drawer {\n right: -1400px;\n transition: right 0.50s ease;\n }\n .nf-add-new {\n opacity: 1.0;\n visibility: visible;\n filter: alpha(opacity=100);\n transition: all 0.50s ease;\n }\n .nf-setting-wrap {\n width: 33%;\n transition: width 0.50s ease;\n }\n .nf-toggle-drawer {\n display: none;\n }\n}\n.nf-drawer-header {\n margin-bottom: 20px;\n padding: 0 10px;\n &::after {\n clear: both;\n content: \"\";\n display: block;\n }\n h2 {\n color: #666;\n float: left;\n font-size: 20px;\n line-height: 22px;\n .dashicons {\n margin-right: 10px;\n }\n }\n .nf-button {\n float: right;\n }\n}\n.nf-drawer-error {\n background-color: #FFBABA;\n border: 1px solid #FFBABA;\n border-radius: 5px;\n color: #D8000C;\n font-size: 12px;\n margin: 10px 0px;\n padding: 10px 10px;\n}\n.nf-settings {\n h3 {\n color: #424242;\n font-size: 14px;\n padding: 10px 10px 0;\n text-transform: uppercase;\n .dashicons {\n color: #bbb;\n font-size: 28px;\n margin: -4px 10px 0 -30px;\n }\n }\n &::after {\n clear: both;\n content: \"\";\n display: block;\n }\n}\n.nf-full {\n clear: both;\n &.toggle-row {\n border-bottom: 1px solid #ccc;\n margin: 0;\n position: relative;\n &:first-child {\n border-top: 1px solid #ccc;\n }\n label {\n display: inline-block;\n padding: 15px 60px 15px 0;\n //margin: 15px -40px 12px 0;\n }\n .nf-toggle {\n float: right;\n margin: 15px 0;\n position: absolute;\n top: 0;\n right: 10px;\n }\n }\n}\n.nf-one-half,\n.nf-one-third {\n float: left;\n}\n.nf-one-half {\n width: 50%;\n}\n.nf-one-third {\n width: 33.33%;\n}\n.nf-first {\n clear: both;\n margin-left: 0;\n}\n.nf-full,\n.nf-one-half,\n.nf-one-third {\n margin-bottom: 15px;\n padding: 0 2%;\n}\n.nf-full::after,\n.nf-one-half::after,\n.nf-one-third::after {\n clear: both;\n content: \"\";\n display: block;\n}\n.nf-toggle-drawer {\n color: #aaa;\n cursor: pointer;\n display: none;\n float: right;\n margin-top: 40px;\n text-decoration: none;\n padding: 10px 20px;\n position: fixed;\n bottom: 0;\n right: 0;\n .dashicons {\n margin-right: 5px;\n transition: all 0.50s ease;\n }\n .nf-expand-off {\n display: inline;\n }\n .nf-expand-on {\n display: none;\n }\n}\n\n\n#nf-menu-drawer {\n background: #EBEDEE;\n box-shadow: inset 1px 4px 9px -6px;\n width: 250px;\n position: absolute;\n top: 0;\n bottom: 0;\n right: -250px;\n z-index: 999;\n transition: right 0.50s ease;\n ul {\n margin: 0;\n li {\n a {\n border-bottom: 1px solid #ccc;\n color: #424242;\n display: block;\n padding: 10px 20px;\n text-decoration: none;\n .dashicons {\n color: $cta_color;\n margin-right: 15px;\n }\n }\n }\n }\n .nf-publish {\n background: $cta_color;\n color: #fff;\n padding: 20px;\n text-align: center;\n text-transform: uppercase;\n cursor:pointer;\n\n &.disabled {\n background: #ccc;\n border: 1px solid #ccc;\n cursor: default;\n }\n }\n\n}\n\n\n\n.nf-menu-expand {\n #nf-menu-drawer {\n right: 0;\n transition: right 0.50s ease;\n }\n #nf-header {\n margin-right: 250px;\n margin-left: -250px;\n transition: margin 0.50s ease;\n }\n #nf-main {\n left: -250px;\n transition: left 0.50s ease;\n }\n}\n\n.nf-div-table {\n .nf-table-row {\n &.nf-error {\n textarea {\n border: 1px solid red;\n }\n span.nf-option-error {\n background: red;\n color: #fff;\n display: block;\n padding: 5px 0;\n width: 100%;\n div.nf-error {\n display: block;\n width: 100% !important;\n text-align: center;\n }\n }\n }\n }\n}\n.ninja-forms-app {\n .jBox-Notice {\n .jBox-container {\n background: $accent_color;\n font-size: 18px;\n }\n }\n}\n",".nf-button {\n border: 0;\n border-radius: 4px;\n cursor: pointer;\n display: inline-block;\n font-size: 17px;\n padding: 10px 30px;\n text-align: center;\n text-decoration: none;\n text-transform: uppercase;\n appearance: none;\n &.primary {\n background: $cta_color;\n border: 1px solid #1EA9EA;\n color: #fff;\n }\n &.secondary {\n background: #fff;\n border: 1px solid $cta_color;\n color: $cta_color;\n }\n &.disabled {\n background: #ccc;\n border: 1px solid #ccc;\n cursor: default;\n }\n &.publish {\n float: right;\n }\n}\n.nf-cancel {\n color: #999;\n font-size: 15px;\n}\n.nf-mobile-menu {\n background: $cta_color;\n border-radius: 4px;\n color: #fff;\n display: none;\n float: right;\n padding: 5px 7px 5px 5px;\n text-decoration: none;\n transition: margin 0.5s ease;\n .dashicons {\n font-size: 30px;\n width: 32px;\n height: 30px;\n }\n &:hover {\n color: #fff;\n }\n}\n\n.ninja-forms-app {\n fieldset {\n border: 1px solid #ccc;\n clear: both;\n display: block;\n margin-bottom: 20px;\n }\n label {\n position: relative;\n &::after {\n clear: both;\n content: \"\";\n display: block;\n }\n }\n legend {\n margin: 0 3px 10px;\n padding: 0 10px;\n }\n .nf-setting-label, label, legend {\n color: #424242;\n display: block;\n font-size: 13px;\n text-transform: uppercase;\n .open-media-manager {\n position: absolute;\n color: #ccc;\n right: 15px;\n top: 5px;\n text-decoration: none;\n }\n }\n input[type=text],\n input[type=number],\n textarea {\n background: #f9f9f9;\n border: 0;\n margin-top: 7px;\n padding: 12px 15px;\n width: 100%;\n height: 41px;\n text-transform: default;\n }\n textarea {\n height: 200px;\n }\n input[type=checkbox].nf-checkbox {\n appearance: none;\n background: #f9f9f9;\n border: 0;\n height: 25px;\n width: 25px;\n padding: 2px 1px 0px !important;\n margin: -3px -5px;\n &:checked {\n &::before {\n content: \"\\f147\";\n font: 400 30px/1 dashicons;\n }\n }\n }\n}\n.ninja-forms-app {\n .jBox-wrapper.import-options {\n padding: 12px 20px 0px !important;\n }\n .jBox-wrapper.import-options.jBox-pointerPosition-top.jBox-closeButton-box:before {\n right: 10px;\n }\n .nf-list-options {\n padding-bottom: 20px;\n .nf-add-new {\n margin-left: 20px;\n }\n .nf-div-table {\n .nf-table-row {\n > div {\n //border-top: 16px solid red;\n display: table-cell;\n padding: 5px;\n &:nth-child(1), &:nth-child(6) {\n padding: 0 15px;\n width: 20px;\n }\n &:nth-child(2), &:nth-child(3) {\n width: 45%;\n }\n &:nth-child(4) {\n min-width: 100px;\n }\n input {\n margin: 0;\n }\n }\n &.nf-table-header {\n div {\n font-size: 12px;\n padding: 20px 5px 5px;\n &:nth-child(1), &:nth-child(6) {\n padding: 0 25px;\n }\n }\n }\n }\n }\n &.calculations {\n .nf-div-table {\n .nf-table-header{\n div{\n &:nth-child(4) {\n display: none;\n }\n }\n }\n .nf-table-row {\n div {\n vertical-align: top;\n position: relative;\n &:nth-child(1), &:nth-child(4) {\n padding: 0 15px;\n width: 20px;\n min-width: 20px;\n }\n &:nth-child(2) {\n width: 30%;\n }\n &:nth-child(3) {\n width: 70%;\n }\n textarea {\n margin: 0;\n height: 100px;\n padding-right: 40px;\n }\n .merge-tags {\n color: #999;\n position: absolute;\n right: 15px;\n top: 5px;\n }\n .dashicons {\n color: #999;\n margin-top: 10px;\n }\n }\n .calc-left {\n div {\n display: inline-block;\n &:nth-child(1) {\n width: 100%;\n padding: 0px;\n }\n &:nth-child(2) {\n width: 60%;\n text-align: right;\n font-size: 12px;\n float: left;\n padding-top: 20px;\n padding-right: 10px;\n }\n &:nth-child(3) {\n width: 50px;\n float: left;\n padding-top: 10px;\n }\n }\n }\n }\n }\n }\n }\n .options {\n position: relative;\n legend {\n .nf-open-import-tooltip {\n background: #EBEDEE;\n color: $cta_color;\n font-size: 16px;\n padding: 6px 15px;\n text-decoration: none;\n position: absolute;\n right: 15px;\n top: 0;\n }\n }\n }\n}\n.nf-drawer-buttons {\n display: none;\n margin: 0 -20px;\n padding: 0;\n li {\n background: #424242;\n border-right: 1px solid #f1f1f1;\n float: left;\n margin: 0;\n padding: 15px;\n text-align: center;\n width: 50%;\n &:last-child {\n border: 0;\n }\n &.nf-drawer-delete {\n color: red;\n }\n &.nf-drawer-duplicate {\n color: $accent_color;\n }\n .dashicons {\n margin-right: 10px;\n }\n }\n &::after {\n clear: both;\n content: \"\";\n display: block;\n }\n}\n\n.dashicons.spin {\n animation: dashicons-spin 1s infinite;\n animation-timing-function: linear;\n}\n@keyframes dashicons-spin {\n 0% { transform: rotate( 0deg ); }\n 100% { transform: rotate( 360deg ); }\n}\n\n",".nf-search {\n display: inline;\n position: relative;\n input[type=search] {\n background: transparent;\n box-shadow: 0 0 0;\n border: 0;\n margin-bottom:3px;\n padding: 12px 0 12px 50px;\n width: 60%;\n }\n &::before {\n content: \"\\f179\";\n color: #aaa;\n font-family: \"Dashicons\";\n font-size: 30px;\n width: 30px;\n height: 30px;\n position: absolute;\n top: 4px;\n left: 10px;\n }\n}\n.nf-stage {\n position: relative;\n -webkit-user-select: none;\n -khtml-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n .nf-stage-controls {\n background: #F8F8F9;\n padding: 5px;\n position: absolute;\n top: -20px;\n right: 10px;\n }\n}\n.nf-reservoir {\n &::after {\n clear: both;\n content: \"\";\n display: block;\n }\n &.nf-droppable-active,\n &.nf-staged-fields-active {\n background: #F8F8F9;\n border: 4px solid #F8F8F9;\n border-radius: 4px;\n margin: 30px 2% 20px;\n //padding: 10px;\n min-height: 52px;\n padding: 6px;\n transition: all 1.0s ease;\n }\n .nf-item-dock {\n background: #fff;\n border-radius: 4px;\n color: #999;\n display: inline-block;\n float: left;\n margin: 0 4px 3px 4px;\n padding: 5px 10px;\n position: relative;\n .dashicons {\n font-size: 14px;\n margin: 2px 0 -4px 5px;\n }\n .fa {\n margin-right: 10px;\n }\n }\n\n}\n.nf-item {\n background: #3B454D;\n border-radius: 4px;\n color: #A2A5A8;\n font-size: 14px;\n padding: 10px;\n position: relative;\n text-align: center;\n &.active {\n background: $cta_color;\n color: #fff;\n }\n .fa {\n background: #30373E;\n border-top-left-radius: 4px;\n border-bottom-left-radius: 4px;\n padding: 9px;\n position: absolute;\n top: 0;\n left: 0;\n bottom: 0;\n width: 34px;\n line-height: 20px;\n }\n}\n.nf-saved {\n .nf-item {\n position: relative;\n &::after {\n background: #30373E;\n border-top-left-radius: 4px;\n border-bottom-left-radius: 4px;\n content: \"\\f155\";\n font-family: \"Dashicons\";\n padding: 9px;\n position: absolute;\n top: 0;\n left: 0;\n bottom: 0;\n width: 16px;\n height: 20px;\n }\n }\n}\n.nf-action-items {\n .nf-item {\n height: 100px;\n line-height: 75px;\n cursor: pointer;\n &.nf-has-img {\n background-position: center center;\n text-indent: -99999px;\n }\n }\n &.available {\n .nf-item {\n &.nf-has-img {\n filter: grayscale(100%);\n opacity: 0.6;\n &:hover {\n filter: grayscale(0);\n opacity: 1.0;\n }\n }\n }\n }\n}\n\n.nf-field-type-button {\n float: left;\n margin-bottom: 15px;\n padding: 0 2%;\n width: 33.33%;\n}\n","table.nf-changes {\n tr {\n td {\n border-bottom: 1px solid #ccc;\n }\n &.disabled-row {\n td {\n color: #bbb;\n }\n }\n &:nth-child(even) {\n td {\n background: #e5e7e8 !important;\n }\n }\n &:hover {\n td {\n background: #fff !important;\n }\n }\n }\n}\n.nf-button {\n &.undoChanges {\n .dashicons {\n font-size: 18px;\n height: 18px;\n width: 18px;\n margin-right: 5px;\n }\n }\n}\n",".nf-setting-error {\n color: red;\n font-size: 14px;\n padding: 5px 10px;\n a {\n color: red;\n }\n}\n",".nf-add-new {\n // background: red;\n color: $cta_color;\n padding: 0 0 0 46px;\n text-decoration: none;\n line-height: 32px;\n position: relative;\n height: 32px;\n z-index: 98;\n text-indent: 0px;\n overflow: hidden;\n &:after {\n background: $cta_color;\n border: 2px solid $cta_color;\n border-radius: 40px;\n color: #fff;\n content: \"+\";\n font-size: 22px;\n padding: 8px;\n position: absolute;\n left: 0;\n width: 12px;\n height: 12px;\n line-height: 10px;\n text-indent: 0px;\n transition: all 0.5s ease 0s\n }\n &:hover, &:active, &.active {\n color: $cta_color;\n transition: width 0.5s ease 0s,height 0.5s ease 0s, text-indent 0.5s ease,top 0.5s ease,left 0.5s ease;\n &:after {\n background: #fff;\n color: $cta_color;\n transform: rotate(180deg);\n transition: all 0.5s ease;\n }\n }\n &.nf-open-drawer {\n position: absolute;\n top: 185px;\n left: 40px;\n }\n}\n.nf-add-new.disabled {\n display: none;\n}\n.ninja-forms-app {\n &.folded {\n .nf-add-new {\n }\n }\n}\n\n.nf-master-control {\n background: $cta_color;\n border: 2px solid $cta_color;\n border-radius: 40px;\n cursor: pointer;\n position: absolute;\n //text-indent: -9999px;\n height: 60px;\n width: 60px;\n top: auto;\n left: auto;\n bottom: 20px;\n right: 30px;\n transition: all 0.5s ease;\n z-index: 98;\n span {\n display: block;\n text-indent: -9999px;\n }\n .fa {\n color: #fff;\n cursor: pointer;\n font-size: 28px;\n line-height: 28px;\n margin: 15px 0 0 16px;\n transition: all 0.5s ease;\n }\n &:hover, &:active, &.active {\n background: #fff;\n color: $cta_color;\n transition: all 0.5s ease;\n .fa {\n color: $cta_color;\n margin: 12px 0 0 16px;\n transform: rotate(180deg);\n transition: all 0.5s ease;\n }\n }\n}\n","input[type=checkbox].nf-toggle {\n display: none;\n + label {\n text-indent: -99999px;\n background: transparent;\n border: 0;\n box-shadow: 0 0 0;\n display: block;\n margin: 19px 5px 11px;\n appearance: none;\n position: relative;\n width: 40px;\n height: 20px;\n cursor: pointer;\n &::after {\n background: #BCBDBF;\n border: 2px solid #BCBDBF;\n border-radius: 20px;\n content: \"\";\n position: absolute;\n top: -4px;\n left: -4px;\n width: 40px;\n height: 20px;\n transition: all 0.3s ease;\n }\n &::before {\n background: #fff;\n border-radius: 20px;\n content: \"\";\n position: absolute;\n top: -1px;\n left: 0;\n width: 18px;\n height: 18px;\n z-index: 99;\n transition: all 0.3s ease;\n }\n }\n &:checked {\n + label {\n &::after {\n background: $accent_color;\n border: 2px solid $accent_color;\n transition: all 0.3s ease;\n }\n &::before {\n content: \"\";\n //top: 2px;\n left: 18px;\n transition: all 0.3s ease;\n }\n }\n }\n}\n\n.nf-full {\n position: relative;\n input[type=checkbox].nf-toggle {\n + label {\n margin: -18px 0 0;\n padding: 12px 0 20px;\n position: absolute;\n top: 24px;\n right: 10px;\n &::before {\n left: auto;\n right: 22px;\n transition: right 0.3s ease;\n }\n &::after {\n left: auto;\n right: 0;\n }\n }\n &:checked {\n + label {\n &::before {\n left: auto;\n right: 4px;\n transition: right 0.3s ease;\n }\n }\n }\n }\n .nf-setting-label {\n border-bottom: 1px solid #ccc;\n padding: 5px 0 20px;\n }\n}\n",".ninja-forms-app {\n .nf-select {\n display: block;\n position: relative;\n select {\n //background: #f9f9f9;\n background: transparent;\n border: 0;\n margin-top: 7px;\n height: 41px !important;\n padding: 0 30px 0 15px;\n position: relative;\n width: 100%;\n text-transform: capitalize;\n appearance: none;\n z-index: 2\n }\n div {\n background: #f9f9f9;\n height: 41px;\n position: absolute;\n bottom: 1px;\n width: 100%;\n z-index: 1;\n }\n div::after {\n color: #666;\n content: \"\\f347\";\n font-family: 'Dashicons';\n font-size: 20px;\n position: absolute;\n width: 30px;\n height: 30px;\n right: 5px;\n bottom: 0;\n }\n }\n div.nf-select {\n div {\n bottom: 7px;\n width: 95%;\n }\n select {\n margin-top: 0;\n }\n }\n}\n",".nf-actions-table,\n.nf-table-display {\n border-collapse: collapse;\n width: 100%;\n td, th {\n border-bottom: 1px solid #ECEDEE;\n font-size: 14px;\n padding: 15px;\n vertical-align: top;\n position: relative;\n //max-width: 500px;\n }\n th {\n color: #666;\n text-align: left;\n text-transform: uppercase;\n }\n td {\n color: #676F75;\n //white-space:nowrap;\n position: relative;\n &:nth-child(2) {\n width: 90%;\n }\n }\n .deactivated {\n td {\n color: #BCBDBF;\n a {\n color: #ddd;\n }\n }\n }\n input[type=checkbox].nf-toggle + label {\n z-index: 0; // Set to fix a bug with the merge tag box overlay with RTEs.\n margin: 2px 0 0;\n // &::after {\n // border-radius: 20px;\n // top: 2px;\n // left: -4px;\n // width: 30px;\n // height: 14px;\n // }\n // &::before {\n // border-radius: 20px;\n // top: 4px;\n // left: -1px;\n // width: 14px;\n // height: 14px;\n // }\n // &:checked {\n // &::before {\n // top: 7px;\n // left: 17px;\n // }\n // }\n }\n .active {\n td {\n color: $accent_color;\n font-weight: bold;\n }\n a {\n //color: $accent_color;\n }\n .nf-item-controls {\n font-weight: normal;\n float: right;\n a {\n color: $accent_color;\n }\n .nf-item-delete,\n .nf-item-duplicate {\n display: none;\n }\n .nf-item-editing {\n display: inline !important;\n }\n .nf-item-edit {\n .dashicons {\n margin-right: 12px\n }\n }\n }\n }\n}\n\n.ui-droppable {\n border: 4px solid #fff;\n}\n.nf-actions-empty {\n thead {\n display: none;\n }\n td {\n border: 4px solid #fff !important;\n display: block;\n padding: 40px 20% !important;\n white-space: normal !important;\n }\n h3 {\n font-size: 30px;\n }\n p {\n font-size: 18px;\n }\n}\n.nf-actions-table {\n td {\n cursor: pointer;\n }\n .nf-item-controls {\n top: 12px;\n }\n}","/* perfect-scrollbar v0.6.7 */\n.ps-container {\n -ms-touch-action: none;\n overflow: hidden !important; }\n .ps-container.ps-active-x > .ps-scrollbar-x-rail,\n .ps-container.ps-active-y > .ps-scrollbar-y-rail {\n display: block; }\n .ps-container.ps-in-scrolling {\n pointer-events: none; }\n .ps-container.ps-in-scrolling.ps-x > .ps-scrollbar-x-rail {\n background-color: #eee;\n opacity: 0.9; }\n .ps-container.ps-in-scrolling.ps-x > .ps-scrollbar-x-rail > .ps-scrollbar-x {\n background-color: #999; }\n .ps-container.ps-in-scrolling.ps-y > .ps-scrollbar-y-rail {\n background-color: #eee;\n opacity: 0.9; }\n .ps-container.ps-in-scrolling.ps-y > .ps-scrollbar-y-rail > .ps-scrollbar-y {\n background-color: #999; }\n .ps-container > .ps-scrollbar-x-rail {\n display: none;\n position: absolute;\n /* please don't change 'position' */\n -webkit-border-radius: 4px;\n -moz-border-radius: 4px;\n -ms-border-radius: 4px;\n border-radius: 4px;\n opacity: 0;\n -webkit-transition: background-color 0.2s linear, opacity 0.2s linear;\n -moz-transition: background-color 0.2s linear, opacity 0.2s linear;\n -o-transition: background-color 0.2s linear, opacity 0.2s linear;\n transition: background-color 0.2s linear, opacity 0.2s linear;\n bottom: 3px;\n /* there must be 'bottom' for ps-scrollbar-x-rail */\n height: 8px; }\n .ps-container > .ps-scrollbar-x-rail > .ps-scrollbar-x {\n position: absolute;\n /* please don't change 'position' */\n background-color: #aaa;\n -webkit-border-radius: 4px;\n -moz-border-radius: 4px;\n -ms-border-radius: 4px;\n border-radius: 4px;\n -webkit-transition: background-color 0.2s linear;\n -moz-transition: background-color 0.2s linear;\n -o-transition: background-color 0.2s linear;\n transition: background-color 0.2s linear;\n bottom: 0;\n /* there must be 'bottom' for ps-scrollbar-x */\n height: 8px; }\n .ps-container > .ps-scrollbar-y-rail {\n display: none;\n position: absolute;\n /* please don't change 'position' */\n -webkit-border-radius: 4px;\n -moz-border-radius: 4px;\n -ms-border-radius: 4px;\n border-radius: 4px;\n opacity: 0;\n -webkit-transition: background-color 0.2s linear, opacity 0.2s linear;\n -moz-transition: background-color 0.2s linear, opacity 0.2s linear;\n -o-transition: background-color 0.2s linear, opacity 0.2s linear;\n transition: background-color 0.2s linear, opacity 0.2s linear;\n right: 3px;\n /* there must be 'right' for ps-scrollbar-y-rail */\n width: 8px; }\n .ps-container > .ps-scrollbar-y-rail > .ps-scrollbar-y {\n position: absolute;\n /* please don't change 'position' */\n background-color: #aaa;\n -webkit-border-radius: 4px;\n -moz-border-radius: 4px;\n -ms-border-radius: 4px;\n border-radius: 4px;\n -webkit-transition: background-color 0.2s linear;\n -moz-transition: background-color 0.2s linear;\n -o-transition: background-color 0.2s linear;\n transition: background-color 0.2s linear;\n right: 0;\n /* there must be 'right' for ps-scrollbar-y */\n width: 8px; }\n .ps-container:hover.ps-in-scrolling {\n pointer-events: none; }\n .ps-container:hover.ps-in-scrolling.ps-x > .ps-scrollbar-x-rail {\n background-color: #eee;\n opacity: 0.9; }\n .ps-container:hover.ps-in-scrolling.ps-x > .ps-scrollbar-x-rail > .ps-scrollbar-x {\n background-color: #999; }\n .ps-container:hover.ps-in-scrolling.ps-y > .ps-scrollbar-y-rail {\n background-color: #eee;\n opacity: 0.9; }\n .ps-container:hover.ps-in-scrolling.ps-y > .ps-scrollbar-y-rail > .ps-scrollbar-y {\n background-color: #999; }\n .ps-container:hover > .ps-scrollbar-x-rail,\n .ps-container:hover > .ps-scrollbar-y-rail {\n opacity: 0.6; }\n .ps-container:hover > .ps-scrollbar-x-rail:hover {\n background-color: #eee;\n opacity: 0.9; }\n .ps-container:hover > .ps-scrollbar-x-rail:hover > .ps-scrollbar-x {\n background-color: #999; }\n .ps-container:hover > .ps-scrollbar-y-rail:hover {\n background-color: #eee;\n opacity: 0.9; }\n .ps-container:hover > .ps-scrollbar-y-rail:hover > .ps-scrollbar-y {\n background-color: #999; }\n\n/* END DEFAULT PERFECT SCROLLBAR CSS */\n\n/*\n * Custom perfect scrollbar css\n */\n\n#nf-main.ps-container {\n overflow:auto !important;\n overflow-y:hidden !important;\n}\n\n#nf-drawer.ps-container {\n overflow:auto !important;\n overflow-y:hidden !important;\n}",".ui-sortable-helper {\n &.nf-field-wrap\n //&.nf-item-dock\n {\n box-shadow: 3px 3px 5px rgba( 0, 0, 0, 0.4 );\n }\n}\n\n.ui-draggable-dragging {\n .nf-item {\n box-shadow: 3px 3px 5px rgba( 0, 0, 0, 0.4 );\n }\n}\n\n.ui-draggable-handle {\n cursor: pointer;\n}\n.ui-draggable-dragging {\n z-index: 99;\n}\n#nf-builder {\n .nf-droppable-active {\n border: 4px solid $cta_color;\n //padding: 6px;\n transition: all 1.0s ease;\n }\n .nf-droppable-hover {\n border: 4px solid $accent_color;\n //padding: 6px;\n transition: all 1.0s ease;\n }\n}\n\n.nf-fields-sortable {\n border: 4px solid #FFF;\n padding: 25px 15px 6px;\n}\n.nf-fields-sortable-placeholder { margin-top: -14px; margin-bottom: 6px; border: 4px solid #84CC1E }\n\n.nf-staged-fields-drag {\n position: relative;\n display: block;\n height: 80px;\n &::after {\n clear: both;\n content: '';\n display: block;\n }\n .nf-staged-fields-drag-wrap {\n position: absolute;\n width: 500px;\n }\n #drag-item-1,\n #drag-item-2,\n #drag-item-3 {\n box-shadow: 3px 3px 5px rgba( 0, 0, 0, 0.4 );\n }\n #drag-item-1 {\n bottom: 0px;\n left: 0px;\n z-index: 3;\n }\n #drag-item-2 {\n bottom: 5px;\n left: 5px;\n z-index: 2;\n }\n #drag-item-3 {\n bottom: 10px;\n left: 10px;\n z-index: 1;\n }\n}\n\n.nf-staged-fields-drag-wrap {\n background: #fff;\n border: 1px solid #ccc;\n border-radius: 4px;\n color: #888;\n cursor: pointer;\n margin-bottom: 20px;\n padding: 15px 20px;\n &.active {\n //background: #fafafa;\n border: 2px solid #84CC1E;\n color: #424242;\n font-weight: bold;\n .nf-item-controls {\n font-weight: normal;\n a {\n color: #424242;\n }\n .nf-item-delete,\n .nf-item-duplicate {\n display: none;\n }\n .nf-item-editing {\n display: inline;\n }\n .nf-item-edit {\n .dashicons {\n margin-right: 12px\n }\n }\n }\n }\n}\n\n\n\n.nf-staged-fields-sortable-placeholder { float: left; height: 28px; border-right: 8px solid #84CC1E; margin-right: -4px; margin-left: -4px; }\n\n.nf-list-options-sortable-placeholder {\n border: 4px solid #84CC1E;\n height: 8px !important;\n margin: -4px 0 -4px 0;\n}\n\n.nf-fields-empty-droppable {\n border: 4px solid #FFF;\n &::after {\n clear: both;\n content: \"\";\n display: block;\n }\n}\n\n.nf-settings .toggle { cursor: pointer; }\n",".nf-loading {\n background: #1EA9EA;\n border-radius: 4px;\n width: 40px;\n margin: 0 auto;\n position: relative;\n ul {\n list-style: none;\n margin: 0;\n padding: 0;\n position: relative;\n top: -10px;\n left: 0;\n font-size: 0;\n li {\n height: 0;\n position: absolute;\n top: 50%;\n left: 0;\n width: 0;\n margin: 0;\n height: 10px;\n width: 10px;\n border: 3px solid #fff;\n border-radius: 100%;\n transform: transformZ(0);\n animation: LOADING 2s infinite;\n &:nth-child(1n) {\n left: 0;\n animation-delay: 0s;\n }\n &:nth-child(2n) {\n left: 15px;\n animation-delay: 0.2s;\n }\n &:nth-child(3n) {\n left: 30px;\n animation-delay: 0.4s;\n }\n }\n }\n}\n\n@keyframes LOADING {\n 0% {\n transform: scale(0.5);\n background: #fff;\n }\n 50% {\n transform: scale(1);\n background: #fff;\n }\n 100% {\n transform: scale(0.5);\n background: #fff;\n }\n}\n",".nf-help-text {\n display: none;\n}\n.ninja-forms-app {\n .nf-help {\n color: #ccc;\n margin-left: 5px;\n text-decoration: none;\n .dashicons {\n font-size: 16px;\n height: 16px;\n width: 16px;\n }\n }\n .qtip-default {\n background-color: #424242;\n border: 1px solid #424242;\n border-radius: 4px;\n box-shadow: 0 5px 6px rgba( 0, 0, 0, 0.3 );\n color: #fff;\n font-size: 14px;\n line-height: 18px;\n padding: 10px;\n //position: relative;\n &::after {\n content: \"\";\n position: absolute;\n left: 143px;\n bottom: -12px;\n width: 0;\n height: 0;\n border-left: 6px solid transparent;\n border-right: 6px solid transparent;\n border-top: 12px solid #424242;\n }\n }\n}",".has-merge-tags {\n position: relative;\n input[type=text],\n textarea {\n padding-right: 40px;\n }\n &.rte {\n display: block;\n .wp-editor-tabs {\n margin-right: 40px;\n }\n .merge-tags {\n color: #999;\n z-index: 100;\n top: 26px;\n }\n }\n .merge-tags {\n color: #ccc;\n pointer: cursor;\n position: absolute;\n }\n .nf-list-options {\n input[type=text] {\n + .merge-tags {\n top: 12px;\n }\n }\n }\n}\ndiv.has-merge-tags {\n .merge-tags {\n top: 16px;\n right: 12px;\n }\n}\nlabel.has-merge-tags {\n .merge-tags {\n top: 33px;\n right: 12px;\n }\n}\n.nf-list-options {\n label.has-merge-tags {\n .merge-tags {\n top: 12px;\n }\n }\n}\n\n.jBox-Tooltip {\n z-index: 100000000 !important;\n}\n\n.jBox-TooltipBorder {\n .jBox-container {\n border-radius: 5px;\n border: 2px solid $cta_color;\n /*background: #EBEDEE;*/\n h4 {\n background: #f1f1f1;\n padding: 5px;\n margin: 0 0 5px;\n }\n ul {\n margin: 0;\n li {\n &:nth-child(even) {\n a {\n //background: #f1f1f1;\n }\n }\n a {\n color: $cta_color;\n margin: 0;\n padding: 0 5px;\n display: block;\n text-decoration: none;\n }\n }\n a.active {\n background: #f1f1f1;\n }\n }\n }\n .jBox-pointer {\n &::after {\n border: 2px solid $cta_color;\n /*background: #EBEDEE;*/\n }\n }\n .jBox-pointer-top,\n .jBox-pointer-bottom {\n width: 34px;\n height: 12px;\n }\n .jBox-pointer-left,\n .jBox-pointer-right {\n width: 12px;\n height: 34px;\n }\n &.jBox-closeButton-box {\n &::before {\n width: 28px;\n height: 28px;\n background: $cta_color;\n }\n }\n}\n\n/* MERGE TAG BOX STYLES */\n#merge-tags-box {\n display: none;\n background-color: #DBDDDD;\n max-height: 360px;\n z-index: 1001;\n position: absolute;\n top: -1px;\n left:12px;\n right: 10px;\n\n .merge-tag-container {\n display: flex;\n justify-content: space-between;\n }\n\n .merge-tag-sections,\n .merge-tag-list {\n float: left;\n font-size: 14px;\n background-color: #fff;\n height: 300px;\n overflow-y: auto;\n }\n\n .merge-tag-sections {\n background-color: #DBDDDD;\n ul {\n margin: 0;\n li {\n background: #DBDDDD;\n border-bottom: 1px solid #fff;\n cursor: pointer;\n font-size: 14px;\n margin: 0;\n padding: 8px 26px 8px 16px;\n &:hover {\n background: #f6f6f6;\n }\n &.active {\n position: relative;\n }\n &.active::after {\n clear: both;\n content: \"\";\n display: block;\n width: 0;\n height: 0;\n border-top: 17px solid transparent;\n border-bottom: 17px solid transparent;\n border-right: 24px solid #fff;\n position: absolute;\n top: 0;\n right: 0;\n }\n &:hover {\n color: #1EA9EA;\n }\n }\n }\n }\n\n .merge-tag-list {\n flex-grow: 1;\n padding-top: 10px;\n div {\n div {\n line-height: 22px;\n }\n }\n &:hover li { // Uses !important to override first-of-type selector.\n &:hover {\n color: #1EA9EA !important;\n }\n color: black !important;\n }\n ul {\n margin: 0;\n }\n li {\n cursor: pointer;\n margin-bottom: 0;\n span {\n padding: 4px 16px;\n display: block;\n small {\n font-family: \"Courier New\", Courier, monospace, sans-serif;\n }\n }\n &:first-of-type {\n color: #1EA9EA;\n }\n }\n }\n\n .merge-tag-filter {\n border-bottom: 2px solid #DBDDDD;\n margin: 3px 10px 10px 10px;\n clear: both;\n }\n}\n.merge-tag-focus {\n position: relative;\n z-index: 1000;\n}\n.merge-tag-focus-overlay {\n &:before {\n content: '';\n position: fixed;\n top: 0; right: 0; bottom: 0; left: 0;\n background-color: rgba( 0, 0, 0, .5 );\n z-index: 100;\n }\n &.note-editor:before { // Summernote RTE Support\n z-index: 0;\n }\n}\n\n#merge-tags-box.one-half--first {\n width: 538px;\n left: 12px;\n}\n#merge-tags-box.one-half--second {\n width: 538px;\n right: 10px;\n left: auto;\n}\n\n.setting + .merge-tags {\n color: rgba( 204, 204, 204, .3 );\n}\n.setting:focus + .merge-tags,\n.merge-tag-focus-overlay .merge-tags {\n color: rgba( 204, 204, 204, 1 );\n}\n.merge-tag-focus-overlay .merge-tags {\n z-index: 1000;\n}\n",".note-popover {\n display: none !important;\n}\n.ninja-forms-app {\n .note-editor {\n border: 0 !important;\n .note-toolbar {\n &::after {\n clear: both;\n content: \"\";\n display: block;\n }\n }\n .note-editable {\n background: #f9f9f9;\n display: block;\n p {\n font-size: 16px;\n }\n ul {\n list-style-type: disc;\n margin-left: 2em;\n }\n table {\n td {\n border: 1px solid #ccc;\n width: auto;\n }\n }\n }\n .modal {\n display: none;\n }\n .btn-group {\n float: left;\n &.note-tools, {\n float: right;\n }\n }\n .btn {\n background: #f9f9f9;\n border: 0;\n border-radius: 4px;\n color: #666;\n cursor: pointer;\n margin-right: 2px;\n padding-top: 4px;\n &.disabled {\n background: transparent;\n color: #aaa;\n .merge-tags {\n background: #f9f9f9;\n color: #666;\n }\n }\n }\n }\n .tooltip {\n position: absolute;\n z-index: 1070;\n display: block;\n font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif;\n font-size: 12px;\n font-style: normal;\n font-weight: normal;\n line-height: 1.42857143;\n text-align: left;\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n letter-spacing: normal;\n word-break: normal;\n word-spacing: normal;\n word-wrap: normal;\n white-space: normal;\n filter: alpha(opacity=0);\n opacity: 0;\n\n line-break: auto;\n }\n .tooltip.in {\n filter: alpha(opacity=90);\n opacity: .9;\n }\n .tooltip.top {\n padding: 5px 0;\n margin-top: -3px;\n }\n .tooltip.right {\n padding: 0 5px;\n margin-left: 3px;\n }\n .tooltip.bottom {\n padding: 5px 0;\n margin-top: 3px;\n }\n .tooltip.left {\n padding: 0 5px;\n margin-left: -3px;\n }\n .tooltip-inner {\n max-width: 200px;\n padding: 3px 8px;\n color: #fff;\n text-align: center;\n background-color: #000;\n border-radius: 4px;\n }\n .tooltip-arrow {\n position: absolute;\n width: 0;\n height: 0;\n border-color: transparent;\n border-style: solid;\n }\n .tooltip.top .tooltip-arrow {\n bottom: 0;\n left: 50%;\n margin-left: -5px;\n border-width: 5px 5px 0;\n border-top-color: #000;\n }\n .tooltip.top-left .tooltip-arrow {\n right: 5px;\n bottom: 0;\n margin-bottom: -5px;\n border-width: 5px 5px 0;\n border-top-color: #000;\n }\n .tooltip.top-right .tooltip-arrow {\n bottom: 0;\n left: 5px;\n margin-bottom: -5px;\n border-width: 5px 5px 0;\n border-top-color: #000;\n }\n .tooltip.right .tooltip-arrow {\n top: 50%;\n left: 0;\n margin-top: -5px;\n border-width: 5px 5px 5px 0;\n border-right-color: #000;\n }\n .tooltip.left .tooltip-arrow {\n top: 50%;\n right: 0;\n margin-top: -5px;\n border-width: 5px 0 5px 5px;\n border-left-color: #000;\n }\n .tooltip.bottom .tooltip-arrow {\n top: 0;\n left: 50%;\n margin-left: -5px;\n border-width: 0 5px 5px;\n border-bottom-color: #000;\n }\n .tooltip.bottom-left .tooltip-arrow {\n top: 0;\n right: 5px;\n margin-top: -5px;\n border-width: 0 5px 5px;\n border-bottom-color: #000;\n }\n .tooltip.bottom-right .tooltip-arrow {\n top: 0;\n left: 5px;\n margin-top: -5px;\n border-width: 0 5px 5px;\n border-bottom-color: #000;\n }\n .dropdown-menu {\n position: absolute;\n // top: 100%;\n // left: 0;\n z-index: 1000;\n display: none;\n float: left;\n min-width: 160px;\n padding: 5px 0;\n margin: 2px 0 0;\n font-size: 14px;\n text-align: left;\n list-style: none;\n background-color: #fff;\n -webkit-background-clip: padding-box;\n background-clip: padding-box;\n border: 1px solid #ccc;\n border: 1px solid rgba(0, 0, 0, .15);\n border-radius: 4px;\n -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, .175);\n box-shadow: 0 6px 12px rgba(0, 0, 0, .175);\n }\n .dropdown-menu.pull-right {\n right: 0;\n left: auto;\n }\n .dropdown-menu .divider {\n height: 1px;\n margin: 9px 0;\n overflow: hidden;\n background-color: #e5e5e5;\n }\n .dropdown-menu > li > a {\n display: block;\n padding: 3px 20px;\n clear: both;\n font-weight: normal;\n line-height: 1.42857143;\n color: #333;\n white-space: nowrap;\n }\n .dropdown-menu > li > a:hover,\n .dropdown-menu > li > a:focus {\n color: #262626;\n text-decoration: none;\n background-color: #f5f5f5;\n }\n .dropdown-menu > .active > a,\n .dropdown-menu > .active > a:hover,\n .dropdown-menu > .active > a:focus {\n color: #fff;\n text-decoration: none;\n background-color: #337ab7;\n outline: 0;\n }\n .dropdown-menu > .disabled > a,\n .dropdown-menu > .disabled > a:hover,\n .dropdown-menu > .disabled > a:focus {\n color: #777;\n }\n .dropdown-menu > .disabled > a:hover,\n .dropdown-menu > .disabled > a:focus {\n text-decoration: none;\n cursor: not-allowed;\n background-color: transparent;\n background-image: none;\n filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n }\n .open > .dropdown-menu {\n display: block;\n }\n .open > a {\n outline: 0;\n }\n .dropdown-menu-right {\n right: 0;\n left: auto;\n }\n .dropdown-menu-left {\n right: auto;\n left: 0;\n }\n .dropdown-header {\n display: block;\n padding: 3px 20px;\n font-size: 12px;\n line-height: 1.42857143;\n color: #777;\n white-space: nowrap;\n }\n .dropdown-backdrop {\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 990;\n }\n .pull-right > .dropdown-menu {\n right: 0;\n left: auto;\n }\n .dropup .caret,\n .navbar-fixed-bottom .dropdown .caret {\n content: \"\";\n border-top: 0;\n border-bottom: 4px dashed;\n border-bottom: 4px solid \\9;\n }\n .dropup .dropdown-menu,\n .navbar-fixed-bottom .dropdown .dropdown-menu {\n top: auto;\n bottom: 100%;\n margin-bottom: 2px;\n }\n @media (min-width: 768px) {\n .navbar-right .dropdown-menu {\n right: 0;\n left: auto;\n }\n .navbar-right .dropdown-menu-left {\n right: auto;\n left: 0;\n }\n }\n .btn-group-justified > .btn-group .dropdown-menu {\n left: auto;\n }\n .nav-tabs.nav-justified > .dropdown .dropdown-menu {\n top: auto;\n left: auto;\n }\n .nav-justified > .dropdown .dropdown-menu {\n top: auto;\n left: auto;\n }\n .nav-tabs .dropdown-menu {\n margin-top: -1px;\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n }\n @media (max-width: 767px) {\n .navbar-nav .open .dropdown-menu {\n position: static;\n float: none;\n width: auto;\n margin-top: 0;\n background-color: transparent;\n border: 0;\n -webkit-box-shadow: none;\n box-shadow: none;\n }\n .navbar-nav .open .dropdown-menu > li > a,\n .navbar-nav .open .dropdown-menu .dropdown-header {\n padding: 5px 15px 5px 25px;\n }\n .navbar-nav .open .dropdown-menu > li > a {\n line-height: 20px;\n }\n .navbar-nav .open .dropdown-menu > li > a:hover,\n .navbar-nav .open .dropdown-menu > li > a:focus {\n background-image: none;\n }\n }\n .navbar-nav > li > .dropdown-menu {\n margin-top: 0;\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n }\n .navbar-fixed-bottom .navbar-nav > li > .dropdown-menu {\n margin-bottom: 0;\n border-top-left-radius: 4px;\n border-top-right-radius: 4px;\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n }\n @media (max-width: 767px) {\n .navbar-default .navbar-nav .open .dropdown-menu > li > a {\n color: #777;\n }\n .navbar-default .navbar-nav .open .dropdown-menu > li > a:hover,\n .navbar-default .navbar-nav .open .dropdown-menu > li > a:focus {\n color: #333;\n background-color: transparent;\n }\n .navbar-default .navbar-nav .open .dropdown-menu > .active > a,\n .navbar-default .navbar-nav .open .dropdown-menu > .active > a:hover,\n .navbar-default .navbar-nav .open .dropdown-menu > .active > a:focus {\n color: #555;\n background-color: #e7e7e7;\n }\n .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a,\n .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:hover,\n .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:focus {\n color: #ccc;\n background-color: transparent;\n }\n }\n @media (max-width: 767px) {\n .navbar-inverse .navbar-nav .open .dropdown-menu > .dropdown-header {\n border-color: #080808;\n }\n .navbar-inverse .navbar-nav .open .dropdown-menu .divider {\n background-color: #080808;\n }\n .navbar-inverse .navbar-nav .open .dropdown-menu > li > a {\n color: #9d9d9d;\n }\n .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:hover,\n .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:focus {\n color: #fff;\n background-color: transparent;\n }\n .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a,\n .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:hover,\n .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:focus {\n color: #fff;\n background-color: #080808;\n }\n .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a,\n .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:hover,\n .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:focus {\n color: #444;\n background-color: transparent;\n }\n }\n}\n","/*\nWP Color Picker (Iris) Styles\n---------------------------------------------*/\n\n.ninja-forms-app #wpcontent .wp-picker-holder {\n position: absolute;\n z-index: 9001;\n}\n.ninja-forms-app #wpcontent .wp-picker-holder * {\n box-sizing: content-box;\n}\n.wp-picker-container {\n width: 100%;\n}\n.wp-color-result,\n.wp-picker-input-wrap {\n margin-top: 5px;\n}\n.wp-color-result {\n border: 0;\n box-shadow: none;\n margin: 5px 0 0;\n height: 41px;\n width: 100%;\n padding-left: 60px;\n}\n.wp-color-result:after {\n font-size: 16px;\n line-height: 41px;\n}\n.wp-color-result.wp-picker-open {\n display: none;\n}\n.wp-color-picker,\n.wp-picker-input-wrap {\n width: 100% !important;\n}\n\n.wp-picker-input-wrap > .button.wp-picker-default {\n display: none;\n}\n","\n@-webkit-keyframes color_change {\n from { background-color: $cta_color; color: #fff }\n to { background-color: #3B454D; color: #A2A5A8 }\n}\n@-moz-keyframes color_change {\n from { background-color: $cta_color; color: #fff }\n to { background-color: #3B454D; color: #A2A5A8 }\n}\n@-ms-keyframes color_change {\n from { background-color: $cta_color; color: #fff }\n to { background-color: #3B454D; color: #A2A5A8 }\n}\n@-o-keyframes color_change {\n from { background-color: $cta_color; color: #fff }\n to { background-color: #3B454D; color: #A2A5A8 }\n}\n@keyframes color_change {\n from { background-color: $cta_color; color: #fff }\n to { background-color: #3B454D; color: #A2A5A8 }\n}\n.nf-item.clicked {\n //background: #1EA9EA;\n animation-name: color_change;\n animation-duration: 2s;\n animation-iteration-count: 1;\n animation-direction: alternate;\n}\n@media only screen and (max-width: 1400px) {\n .nf-field-type-button {\n width: 50%;\n }\n}\n@media only screen and (max-width: 1065px) {\n .nf-app-menu {\n .preview {\n .app-menu-text {\n text-indent: -9999px;\n display: inline-block;\n width: 0;\n }\n }\n }\n .nf-drawer-opened {\n .nf-actions-table {\n th, td {\n &:nth-child(3) {\n display: none;\n }\n }\n }\n }\n}\n@media only screen and (max-width: 900px) {\n #nf-header {\n ul {\n display: none;\n }\n .nf-button.primary {\n display: none;\n }\n }\n\n .nf-mobile-menu {\n display: inline-block;\n }\n #nf-app-sub-header {\n h2 {\n padding-left: 0;\n transition: all 1.0s ease 0s\n }\n }\n\n .nf-add-new.nf-open-drawer {\n position: fixed;\n text-indent: -9999px;\n height: 54px;\n width: 54px;\n top: auto;\n left: auto;\n bottom: 20px;\n right: 20px;\n &:after {\n background: $accent_color;\n border: 2px solid $accent_color;\n border-radius: 40px;\n color: #fff;\n content: \"+\";\n font-size: 50px;\n padding: 8px;\n position: absolute;\n left: 0;\n width: 28px;\n height: 28px;\n line-height: 24px;\n text-indent: 0px;\n }\n }\n\n #nf-main-header {\n .nf-button {\n display: none;\n }\n }\n // .nf-item-controls {\n // li {\n // margin: -4px 15px 0;\n // height: 26px;\n // a {\n // width: 30px;\n // height: 30px;\n // &:hover {\n // .nf-tooltip {\n // top: -45px;\n // visibility:visible;\n // opacity: 1.0;\n // filter: alpha(opacity=100);\n // transition: all 1.0s ease;\n // transition-delay: 1.4s;\n // }\n // }\n // .dashicons {\n // font-size: 26px;\n // padding-top: 1px;\n // }\n // }\n // &.nf-item-duplicate {\n // .nf-tooltip {\n // left: -32px;\n // &:after {\n // left: 36px;\n // }\n // }\n // }\n // &.nf-item-edit {\n // .nf-tooltip {\n // left: -16px;\n // &:after {\n // left: 20px;\n // }\n // }\n // }\n // &.nf-item-delete {\n // margin-top: -4px;\n // }\n // &.nf-item-expand {\n // display: none;\n // .dashicons {\n // transform: rotate(-90deg);\n // }\n // }\n // .nf-item-editing {\n // display: none;\n // }\n // }\n // &.nf-editing {\n // font-weight: normal;\n // a {\n // color: #424242;\n // }\n // .nf-item-delete,\n // .nf-item-duplicate {\n // display: none;\n // }\n // .nf-item-editing {\n // display: inline;\n // line-height: 26px;\n // }\n // }\n // }\n .nf-one-half, .nf-one-third {\n float: none;\n width: 100%;\n }\n .nf-drawer-expand {\n .nf-one-half {\n float: left;\n width: 50%;\n }\n .nf-on-third {\n float: left;\n width: 33%;\n }\n }\n\n #nf-app-form-title {\n margin-top: -55px;\n }\n #nf-main {\n top: 120px;\n }\n\n #nf-table-display {\n .nf-item-controls {\n width: auto;\n }\n }\n}\n@media only screen and (max-width: 1023px) {\n .ninja-forms-app {\n &.folded {\n #wpcontent {\n margin-left: 36px;\n padding: 0;\n position: absolute;\n top: 0;\n left: 0;\n bottom: 0;\n right: 0;\n #wpbody {\n left: 0;\n }\n }\n }\n }\n\n .nf-setting-wrap {\n width: 50%;\n }\n #nf-drawer {\n width: 100%;\n }\n .nf-drawer-opened {\n #nf-main {\n width: 100%;\n }\n .nf-setting-wrap {\n width: 50%;\n }\n }\n .nf-drawer-closed {\n .nf-setting-wrap {\n width: 50%;\n }\n }\n .nf-toggle-drawer {\n display: none;\n }\n\n}\n@media only screen and (max-width: 960px) {\n .ninja-forms-app {\n &.auto-fold {\n #wpcontent {\n margin-left: 36px;\n padding: 0;\n position: absolute;\n top: 0;\n left: 0;\n bottom: 0;\n right: 0;\n #wpbody {\n left: 0;\n }\n }\n }\n }\n .nf-drawer-opened .nf-toggle-drawer {\n display: none;\n }\n\n\n\n}\n\n@media only screen and (max-width: 782px) {\n .ninja-forms-app {\n &.folded, &.auto-fold {\n #wpcontent {\n margin-left: 0;\n }\n }\n }\n // .nf-item-controls {\n // top: 15px;\n // }\n #nf-builder {\n padding: 80px 20px 10px;\n .nf-cta-bubble {\n display: none !important;\n }\n }\n #nf-main {\n padding: 20px 0 80px;\n }\n #nf-drawer {\n padding: 20px;\n }\n\n\n #nf-main-content {\n width: 100%;\n max-width: 100%;\n }\n #nf-main {\n border: 0;\n }\n // .nf-field-wrap {\n // border: 0;\n // border-top: 8px solid #f1f1f1;\n // border-radius: 0;\n // margin: 0;\n // padding: 20px;\n // &:first-child {\n // border-top: 8px solid #fff;\n // }\n // }\n // .nf-fields-sortable-placeholder { margin-top: 0; margin-bottom: 0; border: 4px solid #84CC1E }\n // .nf-fields-sortable-placeholder + .nf-field-wrap {\n // border: 0;\n // }\n // .nf-fields-sortable {\n // border: 0;\n // padding: 0;\n // }\n // .nf-field-wrap.ui-sortable-helper {\n // background: transparent;\n // border: 2px solid $accent_color;\n // }\n\n}\n@media only screen and (max-width: 660px) {\n\n #nf-builder {\n //margin-top: 46px;\n }\n .nf-one-half, .nf-one-third {\n width: 100%;\n }\n // .nf-field-wrap {\n // border: 0;\n // border-bottom: 1px solid #ccc;\n // border-radius: 0;\n // margin: 0;\n // padding: 20px;\n // &:first-child {\n // border-top: 1px solid #ccc;\n // }\n // }\n .nf-actions-table {\n td:nth-child(3),th:nth-child(3) {\n display: none;\n }\n }\n // display: block;\n // table, thead, tbody, th, td, tr {\n // display: block;\n // }\n // thead tr {\n // position: absolute;\n // top: -9999px;\n // left: -9999px;\n // }\n // tr { border: 1px solid #ccc; }\n // td {\n // /* Behave like a \"row\" */\n // border: none;\n // border-bottom: 1px solid #eee;\n // position: relative;\n // padding-left: 50%;\n // text-align: right;\n // width: auto !important;\n // &::before {\n // /* Now like a table header */\n // line-height: 36px;\n // position: absolute;\n // /* Top/left values mimic padding */\n // top: 6px;\n // left: 6px;\n // width: 45%;\n // padding-right: 10px;\n // text-align: left;\n // white-space: nowrap;\n // }\n // &:last-child {\n // height: 50px;\n // }\n // }\n // td:nth-of-type(1):before { content: \"\"; }\n // td:nth-of-type(2):before { content: \"Name\"; }\n // td:nth-of-type(3):before { content: \"Type\"; }\n // td:nth-of-type(4):before { content: \"Actions\"; }\n // }\n\n .nf-drawer-buttons {\n display: block;\n }\n // .nf-drawer-header {\n // background: #fff;\n // margin: -20px -20px 20px;\n // //padding: 0;\n // h2 {\n // font-size: 16px;\n // line-height: 46px;\n // margin: 0;\n // .dashicons {\n // background: #fff;\n // font-size: 30px;\n // padding-top: 7px;\n // width: 45px;\n // height: 45px;\n // }\n // }\n // .nf-button {\n // border-radius: 0;\n // }\n // }\n .nf-item {\n padding: 15px;\n .fa {\n padding: 14px;\n width: 48px;\n }\n }\n .nf-saved .nf-item::after {\n padding: 14px;\n }\n}\n\n@media only screen and (max-width: 600px) {\n // #nf-builder {\n // margin-top: 46px;\n // }\n\n\n}\n",".rtl.ninja-forms-app {\n #wpcontent {\n margin-right: 140px;\n #wpbody {\n right: 160px;\n left: 0;\n }\n }\n &.folded {\n #wpcontent {\n margin-right: 16px;\n #wpbody {\n right: 36px;\n left: 0;\n }\n }\n }\n}\n\n.rtl {\n #nf-app-admin-header {\n #nf-logo {\n float: right;\n }\n .fa-times {\n right: auto;\n left: 0;\n }\n }\n\n .nf-app-buttons {\n float: left;\n }\n\n #nf-app-header {\n .nf-app-menu {\n li {\n float: right;\n a {\n &.preview {\n .dashicons {\n margin-right: 10px;\n }\n }\n }\n }\n }\n }\n\n .nf-master-control {\n right: auto;\n left: 30px;\n .fa {\n margin: 15px 16px 0 0;\n }\n }\n\n input[type=submit] {\n float: left;\n }\n .nf-cancel {\n float: left;\n margin-left: 20px;\n }\n\n .nf-add-new {\n margin: 0;\n padding: 0;\n //padding: 0 46px 0 0;\n &:after {\n right: 0;\n left: auto;\n line-height: 14px;\n }\n }\n\n #nf-main {\n right: 0;\n left: auto;\n }\n #nf-main-header {\n .nf-button {\n float: left;\n }\n }\n .nf-field-label {\n margin-left: 0;\n margin-right: 16px;\n }\n .nf-item-controls {\n right: auto;\n left: 0;\n .nf-item-control {\n right: auto;\n left: 0;\n }\n &:hover {\n .nf-item-duplicate {\n right: auto;\n left: 80px;\n }\n .nf-item-delete {\n right: auto;\n left: 40px;\n }\n }\n }\n\n #nf-drawer {\n right: auto;\n left: -1400px;\n &.nf-drawer-expand {\n width: 100%;\n }\n }\n\n .nf-drawer-header {\n h2 {\n float: right;\n .dashicons {\n margin-left: 10px;\n }\n }\n .nf-button {\n float: left;\n }\n }\n\n .nf-search {\n input[type=search] {\n padding: 12px 50px 12px 0;\n }\n &::before {\n right: 10px;\n left: 0;\n }\n }\n\n .nf-drawer-opened {\n #nf-drawer {\n left: 0;\n right: auto;\n }\n #nf-app-sub-header {\n h2 {\n padding-right: 0;\n }\n }\n }\n\n .nf-settings {\n h3 {\n .dashicons {\n margin: -4px -30px 0 10px;\n &.dashicons-arrow-right::before {\n content: \"\\f141\";\n }\n }\n }\n }\n\n .nf-item {\n .fa {\n left: auto;\n right: 0;\n }\n }\n\n .nf-one-half,\n .nf-one-third,\n .nf-one-fourth {\n float: right;\n }\n}\n"]}
assets/css/dashboard.min.css CHANGED
@@ -1,2 +1,2 @@
1
- html{overflow:auto!important}::-webkit-scrollbar{display:none}a{color:#1ea9ea;text-decoration:none;outline:none!important;border:0}#wpcontent,#wpwrap{background-color:#fff}#wpcontent{padding:0}#wpcontent .wrap{margin:0}#wpbody-content>div:not(.wrap){display:none}#ninja-forms-dashboard{box-sizing:border-box}#ninja-forms-dashboard .nf-widget{background-color:#fff;border:1px solid #ccc;border-radius:4px;margin-bottom:20px}#ninja-forms-dashboard header.topbar{background-color:#ebedee}#ninja-forms-dashboard header .app-title{width:100%;max-width:50rem;margin:auto;background-image:url(../img/nf-logo-dashboard.png);background-size:315px 48px;background-position:0 100%;background-repeat:no-repeat;height:52px;margin-bottom:40px}#ninja-forms-dashboard header .app-title strong{display:block;text-indent:-9999px}#ninja-forms-dashboard nav{width:100%;max-width:50rem;margin:auto;margin-bottom:40px}#ninja-forms-dashboard nav ul{display:-ms-flexbox;display:flex;margin:0}#ninja-forms-dashboard nav ul li a{color:#424242;cursor:pointer;font-size:16px;margin:0 16px 10px;margin-bottom:10px;padding:16px 0 8px}#ninja-forms-dashboard nav ul li a.active{border-bottom:2px solid #424242}#ninja-forms-dashboard main{width:100%;max-width:50rem;margin:auto}#ninja-forms-dashboard .form-row-actions{display:none}#ninja-forms-dashboard .form-row-actions li{font-size:12px}#ninja-forms-dashboard .nf-table-display td:first-child{width:100%}#ninja-forms-dashboard .nf-table-display td:nth-child(2),#ninja-forms-dashboard .nf-table-display td:nth-child(3){width:250px;white-space:nowrap}#ninja-forms-dashboard tr.show-actions .title{display:block;margin-bottom:30px}#ninja-forms-dashboard tr.show-actions .form-row-actions{display:-ms-flexbox;display:flex;background:#ecedee;position:absolute;padding-top:6px;bottom:0;z-index:1;margin:0}#ninja-forms-dashboard tr.show-actions .form-row-actions li{padding:0 10px}#ninja-forms-dashboard .nf-search{border-bottom:1px solid #ecedee}#ninja-forms-dashboard .nf-search:before{top:16px}#ninja-forms-dashboard .nf-search input[type=search]{width:auto}#ninja-forms-dashboard .nf-item-controls .nf-item-control a{margin-left:20px;width:24px;cursor:pointer}.widget{background-color:#fff;border:1px solid #ccc;border-radius:4px;padding:20px}.widget,.widget header{margin-bottom:20px}.widget-memberships{border:0;padding:0}.pricing-container{display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between;-ms-flex-wrap:wrap;flex-wrap:wrap}.pricing-container .pricing-block{width:30%}.pricing-container .pricing-block.highlight{background-color:#f1f1f1}.pricing-container .pricing-header{text-align:center}.pricing-container .pricing-header>div{margin-bottom:10px}.pricing-container .pricing-header .pricing-title{font-size:24px;margin-bottom:16px}.pricing-container .pricing-header .pricing-price{font-size:24px;font-weight:700}.pricing-container .pricing-body>div{padding:10px 0;position:relative}.pricing-container .pricing-body span{display:block;margin-left:40px}.pricing-container .pricing-body ul{list-style:disc;margin-left:20px}.pricing-container .pricing-body .fa{color:#aaa;font-size:24px;position:absolute;left:0}.pricing-container .pricing-body .pricing-body-title{font-weight:700;text-transform:uppercase}.widget-plan-notice{text-align:center}.widget-plan-notice .widget-title{font-size:26px;font-weight:700;margin:0 0 10px;text-align:center}.widget-plan-notice .nf-button{margin-bottom:20px}th{font-weight:700}.widget-forms .sortable{cursor:pointer;font-weight:700;margin-left:-5px}.widget-forms .sortable:hover:after{content:"\f0dc"}.widget-forms .sortable:after{font-family:FontAwesome;margin-left:5px;position:absolute}.widget-forms .sortable.sorted-asc:after{content:"\f0de"}.widget-forms .sortable.sorted-desc:after{content:"\f0dd"}.widget-forms header{display:-ms-flexbox;display:flex}.widget-forms header div{-ms-flex:1;flex:1}.widget-forms header div:first-of-type{-ms-flex:2;flex:2}.widget-forms .action{display:-ms-flexbox;display:flex}.widget-forms .form-row-actions a{cursor:pointer}.widget-forms .form-row-actions a.delete{color:#ff4136}.forms-collection>div{padding:10px}.forms-collection>div:nth-child(odd){background-color:#ebedee}.forms-collection .deleting{color:#ff4136;background-color:#ecedee}.forms-collection .deleting a{color:#ff4136}.forms-collection .deleting footer{display:none}.forms-collection main{display:-ms-flexbox;display:flex}.forms-collection main div{-ms-flex:1;flex:1}.forms-collection main div:first-of-type{-ms-flex:2;flex:2}.forms-collection footer ul{margin:0;padding-top:20px;display:-ms-flexbox;display:flex}.forms-collection footer ul li a.delete{color:red}.forms-collection footer ul li:after{content:" |";margin:auto 5px}.forms-collection footer ul li:last-child:after{content:""}.template-list{display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between;-ms-flex-wrap:wrap;flex-wrap:wrap}.template-list>div{width:50%}.template-list .template a{color:#424242;display:block;margin:5px;padding:30px;border:1px solid #ebedee;border-radius:4px;min-height:80px;cursor:pointer}.template-list .template a:hover{background:#1ea9ea;color:#fff}.template-list .template a .title{display:block;font-size:20px;margin-bottom:10px}table .forms-table-row li{display:inline-block}.jBox-Modal{background-color:#fff}.jBox-Modal .jBox-title{padding-top:10px;padding-bottom:10px;font-size:150%;font-weight:700;text-align:center;width:100%}.jBox-Modal .jBox-content{padding:10px;width:100%}.jBox-Modal .buttons:after{clear:none;content:"";display:block}.nf-loading-spinner{width:40px;height:40px;margin:15px auto;background-color:hsla(0,0%,82%,.5);border-radius:100%;animation:nf-scaleout 1.0s infinite ease-in-out}@keyframes nf-scaleout{0%{transform:scale(0)}to{transform:scale(1);opacity:0}}.apps-container{display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between;-ms-flex-flow:row wrap;flex-flow:row wrap;padding:10px}.apps-container .nf-box{background:#fff;-ms-flex-preferred-size:48%;flex-basis:48%}.apps-container .nf-box-inside{border:1px solid #ccc;border-radius:4px;padding:10px}.apps-container .nf-extend{float:left;margin:0 0 20px;width:300px;position:relative}.apps-container .nf-extend img{margin-bottom:10px;max-width:100%;height:auto}.apps-container .nf-extend h2{white-space:nowrap;overflow:hidden}.apps-container .nf-extend-content p{min-height:60px}.apps-container .nf-extend-buttons:after{clear:both;content:"";display:block}.apps-container .nf-extend .nf-button{float:right}.apps-container .nf-extend .nf-doc-button{float:left}
2
  /*# sourceMappingURL=dashboard.min.css.map */
1
+ html{overflow:auto!important}::-webkit-scrollbar{display:none}a{color:#1ea9ea;text-decoration:none;outline:none!important;border:0}#wpcontent,#wpwrap{background-color:#fff}#wpcontent{padding:0}#wpcontent .wrap{margin:0}#wpbody-content>div:not(.wrap){display:none}#ninja-forms-dashboard{box-sizing:border-box}#ninja-forms-dashboard .nf-widget{background-color:#fff;border:1px solid #ccc;border-radius:4px;margin-bottom:20px}#ninja-forms-dashboard header.topbar{background-color:#ebedee}#ninja-forms-dashboard header .app-title{width:100%;max-width:50rem;margin:auto;background-image:url(../img/nf-logo-dashboard.png);background-size:315px 48px;background-position:0 100%;background-repeat:no-repeat;height:52px;margin-bottom:40px}#ninja-forms-dashboard header .app-title strong{display:block;text-indent:-9999px}#ninja-forms-dashboard nav{width:100%;max-width:50rem;margin:auto;margin-bottom:40px}#ninja-forms-dashboard nav ul{display:-ms-flexbox;display:flex;margin:0}#ninja-forms-dashboard nav ul li a{color:#424242;cursor:pointer;font-size:16px;margin:0 16px 10px;margin-bottom:10px;padding:16px 0 8px}#ninja-forms-dashboard nav ul li a.active{border-bottom:2px solid #424242}#ninja-forms-dashboard main{width:100%;max-width:50rem;margin:auto}#ninja-forms-dashboard .form-row-actions{display:none}#ninja-forms-dashboard .form-row-actions li{font-size:12px}#ninja-forms-dashboard .nf-table-display td:first-child{width:100%}#ninja-forms-dashboard .nf-table-display td:nth-child(2),#ninja-forms-dashboard .nf-table-display td:nth-child(3){width:250px;white-space:nowrap}#ninja-forms-dashboard tr.show-actions .title{display:block;margin-bottom:30px}#ninja-forms-dashboard tr.show-actions .form-row-actions{display:-ms-flexbox;display:flex;background:#ecedee;position:absolute;padding-top:6px;bottom:0;z-index:1;margin:0}#ninja-forms-dashboard tr.show-actions .form-row-actions li{padding:0 10px}#ninja-forms-dashboard .nf-search{border-bottom:1px solid #ecedee}#ninja-forms-dashboard .nf-search:before{top:16px}#ninja-forms-dashboard .nf-search input[type=search]{width:auto}#ninja-forms-dashboard .nf-item-controls .nf-item-control a{margin-left:20px;width:24px;cursor:pointer}.widget{background-color:#fff;border:1px solid #ccc;border-radius:4px;padding:20px}.widget,.widget header{margin-bottom:20px}.widget-memberships{border:0;padding:0}.pricing-container{display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between;-ms-flex-wrap:wrap;flex-wrap:wrap}.pricing-container .pricing-block{width:30%}.pricing-container .pricing-block.highlight{background-color:#f1f1f1}.pricing-container .pricing-header{text-align:center}.pricing-container .pricing-header>div{margin-bottom:10px}.pricing-container .pricing-header .pricing-title{font-size:24px;margin-bottom:16px}.pricing-container .pricing-header .pricing-price{font-size:24px;font-weight:700}.pricing-container .pricing-body>div{padding:10px 0;position:relative}.pricing-container .pricing-body span{display:block;margin-left:40px}.pricing-container .pricing-body ul{list-style:disc;margin-left:20px}.pricing-container .pricing-body .fa{color:#aaa;font-size:24px;position:absolute;left:0}.pricing-container .pricing-body .pricing-body-title{font-weight:700;text-transform:uppercase}.widget-plan-notice{text-align:center}.widget-plan-notice .widget-title{font-size:26px;font-weight:700;margin:0 0 10px;text-align:center}.widget-plan-notice .nf-button{margin-bottom:20px}th{font-weight:700}.widget-forms .sortable{cursor:pointer;font-weight:700;margin-left:-5px}.widget-forms .sortable:hover:after{content:"\f0dc"}.widget-forms .sortable:after{font-family:FontAwesome;margin-left:5px;position:absolute}.widget-forms .sortable.sorted-asc:after{content:"\f0de"}.widget-forms .sortable.sorted-desc:after{content:"\f0dd"}.widget-forms header{display:-ms-flexbox;display:flex}.widget-forms header div{-ms-flex:1;flex:1}.widget-forms header div:first-of-type{-ms-flex:2;flex:2}.widget-forms .action{display:-ms-flexbox;display:flex}.widget-forms .form-row-actions a{cursor:pointer}.widget-forms .form-row-actions a.delete{color:#ff4136}.forms-collection>div{padding:10px}.forms-collection>div:nth-child(odd){background-color:#ebedee}.forms-collection .deleting{color:#ff4136;background-color:#ecedee}.forms-collection .deleting a{color:#ff4136}.forms-collection .deleting footer{display:none}.forms-collection main{display:-ms-flexbox;display:flex}.forms-collection main div{-ms-flex:1;flex:1}.forms-collection main div:first-of-type{-ms-flex:2;flex:2}.forms-collection footer ul{margin:0;padding-top:20px;display:-ms-flexbox;display:flex}.forms-collection footer ul li a.delete{color:red}.forms-collection footer ul li:after{content:" |";margin:auto 5px}.forms-collection footer ul li:last-child:after{content:""}.template-list{display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between;-ms-flex-wrap:wrap;flex-wrap:wrap}.template-list>div{width:50%}.template-list .template a{color:#424242;display:block;margin:5px;padding:30px;border:1px solid #ccc;border-radius:4px;min-height:80px;cursor:pointer}.template-list .template a:hover{background:#1ea9ea;color:#fff}.template-list .template a .title{display:block;font-size:20px;margin-bottom:10px}.template-list .ad a{border-color:#ebedee}.template-list .default a{background:#ebedee;border-color:#ebedee}table .forms-table-row li{display:inline-block}.modal-ad{padding:20px}.modal-ad img{width:100%}.modal-ad iframe{width:100%;height:214px}.modal-ad p:first-of-type{font-size:16px;font-weight:700;line-height:20px;padding:16px 40px;text-align:center}.modal-ad .actions{margin-top:30px}.modal-ad .actions:after{display:block;clear:both;content:""}.modal-ad .primary.nf-button{float:right}.jBox-Modal{background-color:#fff}.jBox-Modal .jBox-title{padding-top:10px;padding-bottom:10px;font-size:150%;font-weight:700;text-align:center;width:100%}.jBox-Modal .jBox-content{padding:10px;width:100%}.jBox-Modal .buttons:after{clear:none;content:"";display:block}.nf-loading-spinner{width:40px;height:40px;margin:15px auto;background-color:hsla(0,0%,82%,.5);border-radius:100%;animation:nf-scaleout 1.0s infinite ease-in-out}@keyframes nf-scaleout{0%{transform:scale(0)}to{transform:scale(1);opacity:0}}.apps-container{display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between;-ms-flex-flow:row wrap;flex-flow:row wrap;padding:10px}.apps-container .nf-box{background:#fff;-ms-flex-preferred-size:48%;flex-basis:48%}.apps-container .nf-box-inside{border:1px solid #ccc;border-radius:4px;padding:10px}.apps-container .nf-extend{float:left;margin:0 0 20px;width:300px;position:relative}.apps-container .nf-extend img{margin-bottom:10px;max-width:100%;height:auto}.apps-container .nf-extend h2{white-space:nowrap;overflow:hidden}.apps-container .nf-extend-content p{min-height:60px}.apps-container .nf-extend-buttons:after{clear:both;content:"";display:block}.apps-container .nf-extend .nf-button{float:right}.apps-container .nf-extend .nf-doc-button{float:left}
2
  /*# sourceMappingURL=dashboard.min.css.map */
assets/css/dashboard.min.css.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["dashboard.scss","sections/widgets.scss","widgets/forms.scss"],"names":[],"mappings":"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","file":"dashboard.min.css","sourcesContent":["html {\n overflow: auto!important; /* Override normalize.scss */\n}\n\n::-webkit-scrollbar {\n display: none;\n}\n\n.ninja-forms-app {\n\n}\n\na {\n color: #1EA9EA;\n text-decoration: none;\n outline: none !important;\n border: 0;\n}\n\n#wpwrap,\n#wpcontent {\n background-color: #fff;\n}\n\n#wpcontent {\n padding: 0;\n\n .wrap {\n margin: 0;\n }\n}\n\n/** Hide anything that isn't our page wrap, ie Admin Notices */\n#wpbody-content > div:not(.wrap) {\n display: none;\n}\n\n@mixin wrap {\n width: 100%;\n max-width: 50rem;\n margin: auto;\n}\n\n#ninja-forms-dashboard {\n\n box-sizing: border-box;\n\n .nf-widget {\n background-color: #fff;\n border: 1px solid #ccc;\n border-radius: 4px;\n margin-bottom: 20px;\n }\n\n header {\n\n &.topbar {\n background-color: #EBEDEE;\n }\n\n .app-title {\n @include wrap;\n background-image: url(\"../img/nf-logo-dashboard.png\");\n background-size: 315px 48px;\n background-position: left bottom;\n background-repeat: no-repeat;\n height: 52px;\n margin-bottom: 40px;\n //padding: 10px;\n strong {\n display: block;\n text-indent: -9999px;\n }\n }\n }\n\n nav {\n @include wrap;\n margin-bottom: 40px;\n\n ul {\n display: flex;\n margin: 0;\n\n li {\n\n a {\n color: #424242;\n cursor: pointer;\n font-size: 16px;\n margin: 0 16px 10px 16px;\n margin-bottom: 10px;\n padding: 16px 0 8px;\n\n &.active {\n border-bottom: 2px solid #424242;\n }\n }\n }\n }\n }\n\n\n main {\n @include wrap;\n }\n\n .form-row-actions {\n\n display: none;\n\n li {\n font-size: 12px;\n }\n\n }\n .nf-table-display {\n\n td:nth-child(1) {\n width: 100%;\n }\n\n td:nth-child(2),\n td:nth-child(3) {\n width: 250px;\n white-space:nowrap;\n }\n\n .title {\n //white-space: normal;\n }\n\n }\n\n tr.show-actions {\n\n .title {\n display: block;\n margin-bottom: 30px;\n }\n\n .form-row-actions {\n\n display: flex;\n background: #ECEDEE;\n position: absolute;\n padding-top: 6px;\n bottom: 0;\n z-index: 1;\n margin: 0;\n\n li {\n padding: 0 10px;\n }\n\n }\n\n }\n\n .nf-search {\n\n border-bottom: 1px solid #ECEDEE;\n\n &::before {\n top: 16px;\n }\n\n input[type=search] {\n width: auto;\n }\n\n }\n\n .nf-item-controls .nf-item-control a {\n margin-left: 20px;\n width: 24px;\n cursor: pointer;\n }\n}\n\n/*\nNotices\n---------------------------------------------*/\n\n@import 'notices/oauth';\n\n/*\nSections\n---------------------------------------------*/\n\n@import 'sections/widgets';\n@import 'sections/apps';\n@import 'sections/memberships';\n\n/*\nWidgets\n---------------------------------------------*/\n\n@import 'widgets/forms';\n\n/*\njBox\n---------------------------------------------*/\n\n.jBox-Modal {\n\n background-color: white;\n\n .jBox-title {\n padding-top: 10px;\n padding-bottom: 10px;\n font-size: 150%;\n font-weight: bold;\n text-align: center;\n width: 100%;\n }\n .jBox-content {\n padding: 10px;\n width: 100%;\n }\n\n .buttons {\n &::after {\n clear: none;\n content: \"\";\n display: block;\n }\n }\n}\n\n/*\nLoading Spinner\n---------------------------------------------*/\n\n.nf-loading-spinner {\n width: 40px;\n height: 40px;\n margin: 15px auto;\n background-color: rgba(208,208,208,.5);\n\n border-radius: 100%;\n animation: nf-scaleout 1.0s infinite ease-in-out;\n}\n\n@-webkit-keyframes nf-scaleout {\n 0% { transform: scale(0) }\n 100% {\n transform: scale(1.0);\n opacity: 0;\n }\n}\n\n@keyframes nf-scaleout {\n 0% {\n transform: scale(0);\n } 100% {\n transform: scale(1.0);\n opacity: 0;\n }\n}\n\n.apps-container {\n display: flex;\n justify-content: space-between;\n flex-flow: row wrap;\n padding: 10px;\n\n .nf-box {\n background: #fff;\n flex-basis: 48%;\n }\n\n .nf-box-inside {\n border: 1px solid #ccc;\n border-radius: 4px;\n padding: 10px;\n }\n\n .nf-extend {\n float: left;\n margin: 0 0 20px 0;\n width: 300px;\n position: relative;\n }\n .nf-extend img {\n margin-bottom: 10px;\n max-width: 100%;\n height: auto;\n }\n\n .nf-extend h2 {\n white-space: nowrap;\n overflow: hidden;\n }\n\n .nf-extend-content p {\n min-height: 60px;\n }\n\n .nf-extend-buttons {\n\n &::after {\n\n clear: both;\n content: \"\";\n display: block;\n\n }\n\n }\n\n .nf-extend .nf-button {\n float: right;\n }\n\n .nf-extend .nf-doc-button {\n float: left;\n }\n\n}\n\n",".widget {\n background-color: #fff;\n border: 1px solid #ccc;\n border-radius: 4px;\n margin-bottom: 20px;\n padding: 20px;\n\n header {\n margin-bottom: 20px;\n }\n\n}\n\n.widget-memberships {\n border: 0;\n padding: 0;\n}\n.pricing-container {\n display: flex;\n justify-content: space-between;\n flex-wrap: wrap;\n\n .pricing-block {\n width: 30%;\n\n &.highlight {\n background-color: #f1f1f1;\n }\n\n }\n\n .pricing-header {\n\n text-align: center;\n\n & > div {\n margin-bottom: 10px;\n }\n\n .pricing-title {\n font-size: 24px;\n margin-bottom: 16px;\n }\n\n .pricing-price {\n font-size: 24px;\n font-weight: bold;\n }\n\n }\n\n .pricing-body {\n\n & > div {\n padding: 10px 0;\n position: relative;\n }\n\n span {\n display: block;\n margin-left: 40px;\n }\n\n ul {\n list-style: disc;\n margin-left: 20px;\n }\n\n .fa {\n //color: #86CA32;\n color: #aaa;\n font-size: 24px;\n position: absolute;\n left: 0;\n }\n\n .pricing-body-title {\n font-weight: bold;\n text-transform: uppercase;\n }\n\n }\n\n}\n\n.widget-plan-notice {\n\n text-align: center;\n\n .widget-title {\n font-size: 26px;\n font-weight: bold;\n margin: 0 0 10px 0;\n text-align: center;\n }\n\n .nf-button {\n margin-bottom: 20px;\n }\n\n}\n","th {\n font-weight: bold;\n}\n\n.widget-forms {\n .sortable {\n cursor: pointer;\n font-weight: bold;\n margin-left: -5px;\n &:hover {\n &:after {\n content: '\\f0dc';\n }\n }\n &:after {\n font-family: 'FontAwesome';\n margin-left: 5px;\n position: absolute;\n }\n &.sorted-asc:after {\n content: \"\\f0de\";\n }\n &.sorted-desc:after {\n content: \"\\f0dd\";\n }\n }\n header {\n display: flex;\n div {\n flex: 1;\n }\n div:first-of-type {\n flex: 2;\n }\n }\n\n .action {\n display: flex;\n }\n\n .form-row-actions a {\n cursor: pointer;\n\n &.delete {\n color: #FF4136;\n }\n }\n\n > div > main.content {\n /*max-height: 400px;*/\n }\n}\n\n.forms-collection {\n & > div {\n padding: 10px;\n }\n & > div:nth-child(odd){\n background-color: #EBEDEE;\n }\n .deleting {\n color: #FF4136;\n background-color: #ECEDEE;\n a {\n color: #FF4136;\n }\n footer {\n display: none;\n }\n }\n main {\n display: flex;\n div {\n flex: 1;\n }\n div:first-of-type {\n flex: 2;\n }\n }\n footer ul {\n margin: 0;\n padding-top: 20px;\n display: flex;\n li {\n a.delete {\n color: red;\n }\n &:after {\n content: ' |';\n margin: auto 5px;\n }\n &:last-child:after {\n content: '';\n }\n }\n }\n}\n\n.template-list {\n display: flex;\n justify-content: space-between;\n flex-wrap: wrap;\n\n & > div {\n width: 50%;\n }\n\n .template {\n a {\n color: #424242;\n display: block;\n margin: 5px;\n padding: 30px;\n border: 1px solid #EBEDEE;\n border-radius: 4px;\n min-height: 80px;\n cursor: pointer;\n\n &:hover {\n background: #1EA9EA;\n color: #fff;\n }\n\n .title {\n display: block;\n font-size: 20px;\n margin-bottom: 10px\n }\n }\n }\n}\n\ntable .forms-table-row li {\n display: inline-block;\n}\n"]}
1
+ {"version":3,"sources":["dashboard.scss","sections/widgets.scss","widgets/forms.scss"],"names":[],"mappings":"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","file":"dashboard.min.css","sourcesContent":["html {\n overflow: auto!important; /* Override normalize.scss */\n}\n\n::-webkit-scrollbar {\n display: none;\n}\n\n.ninja-forms-app {\n\n}\n\na {\n color: #1EA9EA;\n text-decoration: none;\n outline: none !important;\n border: 0;\n}\n\n#wpwrap,\n#wpcontent {\n background-color: #fff;\n}\n\n#wpcontent {\n padding: 0;\n\n .wrap {\n margin: 0;\n }\n}\n\n/** Hide anything that isn't our page wrap, ie Admin Notices */\n#wpbody-content > div:not(.wrap) {\n display: none;\n}\n\n@mixin wrap {\n width: 100%;\n max-width: 50rem;\n margin: auto;\n}\n\n#ninja-forms-dashboard {\n\n box-sizing: border-box;\n\n .nf-widget {\n background-color: #fff;\n border: 1px solid #ccc;\n border-radius: 4px;\n margin-bottom: 20px;\n }\n\n header {\n\n &.topbar {\n background-color: #EBEDEE;\n }\n\n .app-title {\n @include wrap;\n background-image: url(\"../img/nf-logo-dashboard.png\");\n background-size: 315px 48px;\n background-position: left bottom;\n background-repeat: no-repeat;\n height: 52px;\n margin-bottom: 40px;\n //padding: 10px;\n strong {\n display: block;\n text-indent: -9999px;\n }\n }\n }\n\n nav {\n @include wrap;\n margin-bottom: 40px;\n\n ul {\n display: flex;\n margin: 0;\n\n li {\n\n a {\n color: #424242;\n cursor: pointer;\n font-size: 16px;\n margin: 0 16px 10px 16px;\n margin-bottom: 10px;\n padding: 16px 0 8px;\n\n &.active {\n border-bottom: 2px solid #424242;\n }\n }\n }\n }\n }\n\n\n main {\n @include wrap;\n }\n\n .form-row-actions {\n\n display: none;\n\n li {\n font-size: 12px;\n }\n\n }\n .nf-table-display {\n\n td:nth-child(1) {\n width: 100%;\n }\n\n td:nth-child(2),\n td:nth-child(3) {\n width: 250px;\n white-space:nowrap;\n }\n\n .title {\n //white-space: normal;\n }\n\n }\n\n tr.show-actions {\n\n .title {\n display: block;\n margin-bottom: 30px;\n }\n\n .form-row-actions {\n\n display: flex;\n background: #ECEDEE;\n position: absolute;\n padding-top: 6px;\n bottom: 0;\n z-index: 1;\n margin: 0;\n\n li {\n padding: 0 10px;\n }\n\n }\n\n }\n\n .nf-search {\n\n border-bottom: 1px solid #ECEDEE;\n\n &::before {\n top: 16px;\n }\n\n input[type=search] {\n width: auto;\n }\n\n }\n\n .nf-item-controls .nf-item-control a {\n margin-left: 20px;\n width: 24px;\n cursor: pointer;\n }\n}\n\n/*\nNotices\n---------------------------------------------*/\n\n@import 'notices/oauth';\n\n/*\nSections\n---------------------------------------------*/\n\n@import 'sections/widgets';\n@import 'sections/apps';\n@import 'sections/memberships';\n\n/*\nWidgets\n---------------------------------------------*/\n\n@import 'widgets/forms';\n\n/*\njBox\n---------------------------------------------*/\n\n.jBox-Modal {\n\n background-color: white;\n\n .jBox-title {\n padding-top: 10px;\n padding-bottom: 10px;\n font-size: 150%;\n font-weight: bold;\n text-align: center;\n width: 100%;\n }\n .jBox-content {\n padding: 10px;\n width: 100%;\n }\n\n .buttons {\n &::after {\n clear: none;\n content: \"\";\n display: block;\n }\n }\n}\n\n/*\nLoading Spinner\n---------------------------------------------*/\n\n.nf-loading-spinner {\n width: 40px;\n height: 40px;\n margin: 15px auto;\n background-color: rgba(208,208,208,.5);\n\n border-radius: 100%;\n animation: nf-scaleout 1.0s infinite ease-in-out;\n}\n\n@-webkit-keyframes nf-scaleout {\n 0% { transform: scale(0) }\n 100% {\n transform: scale(1.0);\n opacity: 0;\n }\n}\n\n@keyframes nf-scaleout {\n 0% {\n transform: scale(0);\n } 100% {\n transform: scale(1.0);\n opacity: 0;\n }\n}\n\n.apps-container {\n display: flex;\n justify-content: space-between;\n flex-flow: row wrap;\n padding: 10px;\n\n .nf-box {\n background: #fff;\n flex-basis: 48%;\n }\n\n .nf-box-inside {\n border: 1px solid #ccc;\n border-radius: 4px;\n padding: 10px;\n }\n\n .nf-extend {\n float: left;\n margin: 0 0 20px 0;\n width: 300px;\n position: relative;\n }\n .nf-extend img {\n margin-bottom: 10px;\n max-width: 100%;\n height: auto;\n }\n\n .nf-extend h2 {\n white-space: nowrap;\n overflow: hidden;\n }\n\n .nf-extend-content p {\n min-height: 60px;\n }\n\n .nf-extend-buttons {\n\n &::after {\n\n clear: both;\n content: \"\";\n display: block;\n\n }\n\n }\n\n .nf-extend .nf-button {\n float: right;\n }\n\n .nf-extend .nf-doc-button {\n float: left;\n }\n\n}\n\n",".widget {\n background-color: #fff;\n border: 1px solid #ccc;\n border-radius: 4px;\n margin-bottom: 20px;\n padding: 20px;\n\n header {\n margin-bottom: 20px;\n }\n\n}\n\n.widget-memberships {\n border: 0;\n padding: 0;\n}\n.pricing-container {\n display: flex;\n justify-content: space-between;\n flex-wrap: wrap;\n\n .pricing-block {\n width: 30%;\n\n &.highlight {\n background-color: #f1f1f1;\n }\n\n }\n\n .pricing-header {\n\n text-align: center;\n\n & > div {\n margin-bottom: 10px;\n }\n\n .pricing-title {\n font-size: 24px;\n margin-bottom: 16px;\n }\n\n .pricing-price {\n font-size: 24px;\n font-weight: bold;\n }\n\n }\n\n .pricing-body {\n\n & > div {\n padding: 10px 0;\n position: relative;\n }\n\n span {\n display: block;\n margin-left: 40px;\n }\n\n ul {\n list-style: disc;\n margin-left: 20px;\n }\n\n .fa {\n //color: #86CA32;\n color: #aaa;\n font-size: 24px;\n position: absolute;\n left: 0;\n }\n\n .pricing-body-title {\n font-weight: bold;\n text-transform: uppercase;\n }\n\n }\n\n}\n\n.widget-plan-notice {\n\n text-align: center;\n\n .widget-title {\n font-size: 26px;\n font-weight: bold;\n margin: 0 0 10px 0;\n text-align: center;\n }\n\n .nf-button {\n margin-bottom: 20px;\n }\n\n}\n","th {\n font-weight: bold;\n}\n\n.widget-forms {\n .sortable {\n cursor: pointer;\n font-weight: bold;\n margin-left: -5px;\n &:hover {\n &:after {\n content: '\\f0dc';\n }\n }\n &:after {\n font-family: 'FontAwesome';\n margin-left: 5px;\n position: absolute;\n }\n &.sorted-asc:after {\n content: \"\\f0de\";\n }\n &.sorted-desc:after {\n content: \"\\f0dd\";\n }\n }\n header {\n display: flex;\n div {\n flex: 1;\n }\n div:first-of-type {\n flex: 2;\n }\n }\n\n .action {\n display: flex;\n }\n\n .form-row-actions a {\n cursor: pointer;\n\n &.delete {\n color: #FF4136;\n }\n }\n\n > div > main.content {\n /*max-height: 400px;*/\n }\n}\n\n.forms-collection {\n & > div {\n padding: 10px;\n }\n & > div:nth-child(odd){\n background-color: #EBEDEE;\n }\n .deleting {\n color: #FF4136;\n background-color: #ECEDEE;\n a {\n color: #FF4136;\n }\n footer {\n display: none;\n }\n }\n main {\n display: flex;\n div {\n flex: 1;\n }\n div:first-of-type {\n flex: 2;\n }\n }\n footer ul {\n margin: 0;\n padding-top: 20px;\n display: flex;\n li {\n a.delete {\n color: red;\n }\n &:after {\n content: ' |';\n margin: auto 5px;\n }\n &:last-child:after {\n content: '';\n }\n }\n }\n}\n\n.template-list {\n display: flex;\n justify-content: space-between;\n flex-wrap: wrap;\n\n & > div {\n width: 50%;\n }\n\n .template {\n a {\n color: #424242;\n display: block;\n margin: 5px;\n padding: 30px;\n border: 1px solid #ccc;\n border-radius: 4px;\n min-height: 80px;\n cursor: pointer;\n\n &:hover {\n background: #1EA9EA;\n color: #fff;\n }\n\n .title {\n display: block;\n font-size: 20px;\n margin-bottom: 10px\n }\n }\n }\n\n .ad {\n a {\n border-color: #EBEDEE;\n }\n }\n\n .default {\n a {\n background: #EBEDEE;\n border-color: #EBEDEE;\n }\n }\n}\n\ntable .forms-table-row li {\n display: inline-block;\n}\n\n.modal-ad {\n padding: 20px;\n img {\n width: 100%;\n }\n iframe {\n width: 100%;\n height: 214px;\n }\n p:first-of-type {\n font-size: 16px;\n font-weight: bold;\n line-height: 20px;\n padding: 16px 40px;\n text-align: center;\n }\n .actions {\n margin-top: 30px;\n &::after {\n display: block;\n clear: both;\n content: \"\";\n }\n }\n .primary.nf-button {\n float: right;\n }\n}\n"]}
assets/js/min/builder.js CHANGED
@@ -3,7 +3,6 @@
3
  updateCurrentDrawer:function(e){return this.updateSetting("currentDrawer",e),!0},getCurrentDrawer:function(){var e=this.model.get("currentDrawer");return i.channel("app").request("get:drawer",e)},isMobile:function(){return this.model.get("mobile")}})}),n("controllers/app/drawerToggleSettingGroup",[],function(){return Marionette.Object.extend({initialize:function(){this.listenTo(i.channel("drawer"),"click:toggleSettingGroup",this.toggleSettingGroup)},toggleSettingGroup:function(e,t){if(t.get("display")){var n=!1;_.each(t.get("settings").models,function(e){e.get("error")&&(n=!0)}),n||t.set("display",!1)}else t.set("display",!0)}})}),n("controllers/app/updateDB",[],function(){return Marionette.Object.extend({initialize:function(){this.listenTo(i.channel("drawer"),"closed",this.updateDB),i.channel("app").reply("update:db",this.updateDB,this),i.channel("formContent").request("add:saveFilter",this.defaultSaveFilter,10,this)},updateDB:function(e){if(i.channel("app").request("get:setting","clean"))return!1;if("preview"==(e=e||"preview"))var t="nf_preview_update";else if("publish"==e)var t="nf_save_form";var n=i.channel("app").request("get:formModel");_.each(n.get("fields").models,function(e,t){e.unset("jBox",{silent:!0})});var r=i.channel("settings").request("get:setting","formContentData");r||(r=i.channel("settings").request("get:setting","fieldContentsData"));var a=i.channel("formContent").request("get:saveFilters"),s=_.without(a,void 0);if(r=_.first(s)(r),"publish"==e&&n.get("show_publish_options")){i.channel("app").request("open:drawer","newForm");var o=i.channel("app").request("get:builderEl");return jQuery(o).addClass("disable-main"),!1}var l=i.channel("app").request("get:formModel"),c=JSON.parse(JSON.stringify(l));c.settings.formContentData=r;var d=l.get("fields").removedIDs;_.each(c.fields,function(e){var t=e.id;delete e.id,delete e.parent_id;var n={};for(var i in e)e.hasOwnProperty(i)&&(null!==e[i]&&(n[i]=e[i]),delete e[i]);for(var r in n)null===n[r]&&delete n[r];e.settings=n,e.id=t}),c.deleted_fields=d;var d=l.get("actions").removedIDs;_.each(c.actions,function(e){var t=e.id;delete e.id,delete e.parent_id;var n={};for(var i in e)e.hasOwnProperty(i)&&(null!==e[i]&&(n[i]=e[i]),delete e[i]);e.settings=n,e.id=t});for(var h in c.settings)null===c.settings[h]&&delete c.settings[h];if(c.deleted_actions=d,c=JSON.stringify(c),i.channel("app").trigger("before:updateDB",c),"publish"==e&&(i.channel("app").request("update:setting","loading",!0),i.channel("app").trigger("change:loading"),i.channel("app").request("is:mobile")&&i.channel("notices").request("add","publishing","Your Changes Are Being Published",{autoClose:!1})),"nf_save_form"===t){var u=[];if(1e5<c.length&&(u=c.match(new RegExp(".{1,100000}","g"))),1<u.length)this.saveChunkedForm(u,0,"nf_batch_process",e,n.get("id"),!0);else{var g=this,p=null;jQuery.post(ajaxurl,{action:t,form:c,security:nfAdmin.ajaxNonce},function(t){p=t,g.handleFinalResponse(p,e)}).fail(function(t,n,i){g.handleFinalFailure(t,n,i,e)})}}else if("nf_preview_update"===t){var g=this,p=null;jQuery.post(ajaxurl,{action:t,form:c,security:nfAdmin.ajaxNonce},function(t){p=t,g.handleFinalResponse(p,e)}).fail(function(t,n,i){g.handleFinalFailure(t,n,i,e)})}},saveChunkedForm:function(e,t,n,i,r,a){var s=e.length,o={action:n,batch_type:"chunked_publish",data:{new_publish:a,chunk_total:s,chunk_current:t,chunk:e[t],form_id:r},security:nfAdmin.ajaxNonce},l=this;jQuery.post(ajaxurl,o).then(function(a){try{var s=JSON.parse(a);"success"!==s.last_request||s.batch_complete?s.batch_complete&&l.handleFinalResponse(a,i):(console.log("Chunk "+t+" processed"),l.saveChunkedForm(e,s.requesting,n,i,r,!1))}catch(e){console.log("There was an error in parsing the response"),console.log(e)}}).fail(function(e,t,n){console.log("There was an error sending form data"),console.log(n),l.handleFinalFailure(e,t,n,i)})},handleFinalResponse:function(e,t){try{e=JSON.parse(e),e.action=t,i.channel("app").trigger("response:updateDB",e),i.channel("app").request("is:mobile")}catch(e){console.log("Something went wrong!"),console.log(e)}},handleFinalFailure:function(e,t,n,i){if("preview"==i)return void console.log(n);alert(e.status+" "+n+"\r\nAn error on the server caused your form not to publish.\r\nPlease contact Ninja Forms Support with your PHP Error Logs.\r\nhttps://ninjaforms.com/contact")},defaultSaveFilter:function(e){return e.pluck("key")}})}),n("models/app/formModel",[],function(){return Backbone.Model.extend({initialize:function(){jQuery.isNumeric(this.get("id"))?this.set("show_publish_options",!1,{silent:!0}):this.set("show_publish_options",!0,{silent:!0})}})}),n("controllers/app/formData",["models/app/formModel"],function(e){return Marionette.Object.extend({initialize:function(){this.model=new e({id:preloadedFormData.id}),this.model.set("fields",i.channel("fields").request("get:collection")),this.model.set("actions",i.channel("actions").request("get:collection")),this.model.set("settings",i.channel("settings").request("get:settings")),i.channel("app").reply("get:formModel",this.getFormModel,this)},getFormModel:function(){return this.model}})}),n("controllers/app/previewLink",[],function(){return Marionette.Object.extend({initialize:function(){this.listenTo(i.channel("app"),"before:sendChanges",this.disablePreview,this),this.listenTo(i.channel("app"),"response:sendChanges",this.enablePreview,this),this.listenTo(i.channel("app"),"change:clean",this.changePreviewNicename,this)},disablePreview:function(){i.channel("app").request("get:domainCollection").get("preview").set("disabled",!0)},changePreviewNicename:function(e){var t=i.channel("app").request("get:domainCollection"),n=t.get("preview");if(e)var r="Preview Form";else var r="Preview Changes";n.set("nicename",r)},enablePreview:function(){i.channel("app").request("get:domainCollection").get("preview").set("disabled",!1)}})}),n("controllers/app/menuButtons",[],function(){return Marionette.Object.extend({initialize:function(){this.listenTo(i.channel("app"),"click:publish",this.publish),this.listenTo(i.channel("app"),"click:viewChanges",this.viewChanges)},publish:function(){i.channel("app").request("update:db","publish")},viewChanges:function(){var e=i.channel("changes").request("get:collection");i.channel("app").request("open:drawer","viewChanges",{collection:e})}})}),n("models/app/changeModel",[],function(){return Backbone.Model.extend({defaults:{disabled:!1}})}),n("models/app/changeCollection",["models/app/changeModel"],function(e){return Backbone.Collection.extend({model:e,comparator:function(e){return-parseInt(e.cid.replace("c",""))}})}),n("controllers/app/trackChanges",["models/app/changeCollection","models/app/changeModel"],function(e,t){return Marionette.Object.extend({initialize:function(){this.collection=new e,i.channel("changes").reply("register:change",this.registerChange,this),i.channel("changes").reply("get:collection",this.getCollection,this),this.listenTo(i.channel("app"),"change:clean",this.maybeResetCollection)},registerChange:function(e,n,i,r,a){var a=void 0!==a?a:{};void 0===r.dashicon&&(r.dashicon="admin-generic");var s=new t({action:e,model:n,changes:i,label:r,data:a});return this.collection.add(s),s},getCollection:function(){return this.collection},maybeResetCollection:function(e){e&&this.collection.reset()}})}),n("controllers/app/undoChanges",[],function(){return Marionette.Object.extend({initialize:function(){this.listenTo(i.channel("drawer"),"click:undoChanges",this.undoChanges,this),this.listenTo(i.channel("drawer"),"click:undoSingle",this.undoSingle,this)},undoChanges:function(){var e=i.channel("changes").request("get:collection");e.sort();var t=this;_.each(e.models,function(e){t.undoSingle(e,!0)}),e.reset(),i.channel("app").request("update:db"),i.channel("app").request("update:setting","clean",!0),i.channel("app").request("close:drawer"),this.dispatchClick()},undoSingle:function(e,t){i.channel("changes").request("undo:"+e.get("action"),e,t),this.dispatchClick()},dispatchClick:function(){if(!document.cookie.includes("nf_undo")){var e=new Date;e.setTime(e.getTime()+6048e5);var t="expires="+e.toUTCString();document.cookie="nf_undo=1;"+t+";path=/";var n={action:"nf_undo_click",security:nfAdmin.ajaxNonce};jQuery.post(ajaxurl,n)}}})}),n("controllers/app/publishResponse",[],function(){return Marionette.Object.extend({initialize:function(){this.listenTo(i.channel("app"),"response:updateDB",this.publishResponse)},publishResponse:function(e){if("publish"!==e.action)return!1;void 0!==e.data.new_ids&&(void 0!==e.data.new_ids.fields&&_.each(e.data.new_ids.fields,function(e,t){var n=i.channel("fields").request("get:field",t);n&&n.set("id",e)}),void 0!==e.data.new_ids.actions&&_.each(e.data.new_ids.actions,function(e,t){var n=i.channel("actions").request("get:action",t);n&&n.set("id",e)}),void 0!==e.data.new_ids.forms&&_.each(e.data.new_ids.forms,function(e,t){i.channel("app").request("get:formModel").set("id",e),history.replaceState("","","admin.php?page=ninja-forms&form_id="+e)})),i.channel("app").request("update:setting","loading",!1),i.channel("app").trigger("change:loading"),i.channel("app").request("is:mobile")&&i.channel("notices").request("close","publishing"),i.channel("app").trigger("app:published",e),i.channel("app").request("update:setting","clean",!0)}})}),n("controllers/app/changeDomain",[],function(){return Marionette.Object.extend({initialize:function(){this.listenTo(i.channel("app"),"click:menu",this.changeAppDomain),i.channel("app").reply("change:currentDomain",this.changeAppDomain,this),i.channel("app").reply("prevent:changeDomain",this.preventChange,this),i.channel("app").reply("enable:changeDomain",this.enableChange,this),this.objPreventChange={}},changeAppDomain:function(e,t){if(this.maybePreventChange())return!1;if(void 0===t)var n=jQuery(e.target).data("domain"),t=i.channel("app").request("get:domainModel",n);if(i.channel("app").request("get:currentDrawer")&&i.channel("app").request("close:drawer"),0==t.get("url").length){var r=i.channel("app").request("get:mainEl");i.channel("app").request("update:currentDomain",t),jQuery(r).scrollTop(0),i.channel("app").trigger("change:currentDomain",t)}},maybePreventChange:function(){return 0!=Object.keys(this.objPreventChange).length},preventChange:function(e){this.objPreventChange[e]=!0},enableChange:function(e){delete this.objPreventChange[e]}})}),n("controllers/app/pushstate",[],function(){return Marionette.Object.extend({initialize:function(){this.listenTo(i.channel("app"),"change:currentDomain",this.changePushState)},changePushState:function(){var e=i.channel("app").request("get:currentDomain");history.pushState(null,null,window.location.href+"&domain="+e.get("id"));var t=/domain=\\d+/,n=window.location.toString(),r=n.replace(t,"");console.log(r)}})}),n("controllers/app/hotkeys",[],function(){return Marionette.Object.extend({initialize:function(){this.listenTo(i.channel("main"),"render:main",this.changeHotkeys),this.listenTo(i.channel("drawer"),"opened",this.changeHotkeys),this.listenTo(i.channel("drawer"),"render:settingGroup",this.changeHotkeys),this.listenTo(i.channel("hotkeys"),"add:newField",this.addNewField),this.listenTo(i.channel("hotkeys"),"add:newAction",this.addNewAction),this.listenTo(i.channel("hotkeys"),"changeDomain:fields",this.changeDomainFields),this.listenTo(i.channel("hotkeys"),"changeDomain:actions",this.changeDomainActions),this.listenTo(i.channel("hotkeys"),"changeDomain:settings",this.changeDomainSettings),this.listenTo(i.channel("hotkeys"),"close:drawer",this.closeDrawer)},changeHotkeys:function(){var e=i.channel("app").request("get:currentDomain");jQuery(document).off(".nfDomainHotkeys"),jQuery("input").off(".nfDomainHotkeys"),e.get("hotkeys")&&jQuery.each(e.get("hotkeys"),function(e,t){jQuery(document).on("keydown.nfDomainHotkeys",null,e,function(e){i.channel("hotkeys").trigger(t,e)}),jQuery("input").on("keydown.nfDomainHotkeys",null,e,function(e){i.channel("hotkeys").trigger(t,e)}),jQuery("textarea").on("keydown.nfDomainHotkeys",null,e,function(e){i.channel("hotkeys").trigger(t,e)})})},addNewField:function(){"addField"!=i.channel("app").request("get:currentDrawer")?i.channel("app").request("open:drawer","addField"):i.channel("app").request("close:drawer")},addNewAction:function(){"addAction"!=i.channel("app").request("get:currentDrawer")?i.channel("app").request("open:drawer","addAction"):i.channel("app").request("close:drawer")},changeDomainFields:function(){var e=i.channel("app").request("get:domainCollection"),t=e.get("fields");i.channel("app").request("change:currentDomain",{},t)},changeDomainActions:function(){var e=i.channel("app").request("get:domainCollection"),t=e.get("actions");i.channel("app").request("change:currentDomain",{},t)},changeDomainSettings:function(){var e=i.channel("app").request("get:domainCollection"),t=e.get("settings");i.channel("app").request("change:currentDomain",{},t)},closeDrawer:function(){i.channel("app").request("close:drawer")}})}),n("controllers/app/cleanState",[],function(){return Marionette.Object.extend({initialize:function(){this.ignoreAttributes=["editActive"],this.listenTo(i.channel("app"),"update:setting",this.setAppClean)},setAppClean:function(e){for(var t in e.changedAttributes()){e.changedAttributes()[t]}i.channel("undo-"+e.get("type")).request("ignore:attributes",this.ignoreAttributes)||this.ignoreAttributes;if(-1!=this.ignoreAttributes.indexOf(t))return!1;i.channel("app").request("update:setting","clean",!1)}})}),n("controllers/app/coreUndo",[],function(){return Marionette.Object.extend({initialize:function(){i.channel("changes").reply("undo:changeSetting",this.undoChangeSetting,this),i.channel("changes").reply("undo:addObject",this.undoAddObject,this),i.channel("changes").reply("undo:removeObject",this.undoRemoveObject,this),i.channel("changes").reply("undo:duplicateObject",this.undoDuplicateObject,this),i.channel("changes").reply("undo:sortFields",this.undoSortFields,this),i.channel("changes").reply("undo:addListOption",this.undoAddListOption,this),i.channel("changes").reply("undo:removeListOption",this.undoRemoveListOption,this),i.channel("changes").reply("undo:sortListOptions",this.undoSortListOptions,this)},undoChangeSetting:function(e,t){var n=e.get("model"),i=e.get("changes"),r=i.attr,a=i.before;n.set(r,a),this.maybeRemoveChange(e,t)},undoAddObject:function(e,t){var n=e.get("model"),r=e.get("data").collection;if(void 0!==r.newIDs&&delete r.newIDs[n.get("id")],!t){var a=i.channel("changes").request("get:collection"),s=a.where({model:n});_.each(s,function(t){t!==e&&a.remove(t)})}r.remove(n),this.maybeRemoveChange(e,t)},undoDuplicateObject:function(e,t){var n=e.get("model"),r=e.get("data").collection;if(!t){var a=i.channel("changes").request("get:collection"),s=a.where({model:n});_.each(s,function(t){t!==e&&a.remove(t)})}r.remove(n),this.maybeRemoveChange(e,t)},undoRemoveObject:function(e,t){var n=e.get("model"),r=e.get("data").collection;if(i.channel(n.get("objectDomain")).request("add",n),delete r.removedIDs[n.get("id")],!t){var a=i.channel("changes").request("get:collection"),s=a.where({model:n});_.each(s,function(t){t!==e&&t.set("disabled",!1)})}r.trigger("reset",r),this.maybeRemoveChange(e,t)},undoSortFields:function(e,t){var n=e.get("data"),r=n.fields,a=i.channel("fields").request("get:collection");_.each(r,function(e){var t=e.before;e.model.set("order",t)}),a.sort(),this.maybeRemoveChange(e,t)},undoAddListOption:function(e,t){var n=e.get("model");if(!t){var r=i.channel("changes").request("get:collection"),a=r.where({model:n});_.each(a,function(t){t!==e&&r.remove(t)})}n.collection.remove(n),this.maybeRemoveChange(e,t)},undoRemoveListOption:function(e,t){var n=e.get("model");if(e.get("data").collection.add(n),!t){var r=i.channel("changes").request("get:collection"),a=r.where({model:n});_.each(a,function(t){t!==e&&t.set("disabled",!1)})}this.maybeRemoveChange(e,t)},undoSortListOptions:function(e,t){var n=e.get("data"),i=n.collection,r=n.objModels;_.each(r,function(e){var t=e.before;e.model.set("order",t)}),i.sort(),this.maybeRemoveChange(e,t)},maybeRemoveChange:function(e,t){var t=void 0!==t&&t;if(!t){i.channel("app").request("update:db");var n=i.channel("changes").request("get:collection");n.remove(e),0==n.length&&(i.channel("app").request("update:setting","clean",!0),i.channel("app").request("close:drawer"))}}})}),n("controllers/app/cloneModelDeep",[],function(){return Marionette.Object.extend({initialize:function(){i.channel("app").reply("clone:modelDeep",this.cloneModelDeep,this)},cloneModelDeep:function(e){var t={};_.each(e.attributes,function(e,n){if(e instanceof Backbone.Collection){var r=i.channel("app").request("clone:collectionDeep",e);t[n]=r}else e instanceof Backbone.Model&&(t[n]=this.cloneModelDeep(e))},this);var n=e.clone();return _.each(t,function(e,t){n.set(t,e)}),n}})}),n("controllers/app/getSettingChildView",["views/app/drawer/itemSetting"],function(e){return Marionette.Object.extend({initialize:function(){i.channel("app").reply("get:settingChildView",this.getSettingChildView,this)},getSettingChildView:function(t){var n=t.get("type");return i.channel(n).request("get:settingChildView",t)||e}})}),n("controllers/app/changeSettingDefault",[],function(){return Marionette.Object.extend({initialize:function(){i.channel("app").reply("change:setting",this.changeSetting,this),this.listenTo(i.channel("app"),"change:setting",this.changeSetting,this)},changeSetting:function(e,t,n,r){var a=t.get("name"),s=n.get(a),r=r||null;r||(r=i.channel(t.get("type")).request("before:updateSetting",e,n,a,t)),void 0===r&&(r=jQuery(e.target).val()),n.set(a,r,{settingModel:t}),i.channel("setting-"+a).trigger("after:updateSetting",n,t);var o=r,l={attr:a,before:s,after:o},c=i.channel("app").request("get:currentDomain"),d=(c.get("id"),{object:n.get("objectType"),label:n.get("label"),change:"Changed "+t.get("label")+" from "+s+" to "+o});i.channel("changes").request("register:change","changeSetting",n,l,d)}})}),n("views/app/drawer/typeSettingFieldset",["views/app/drawer/itemSetting"],function(e){return Marionette.CompositeView.extend({template:"#tmpl-nf-edit-setting-wrap",childView:e,initialize:function(e){this.collection=this.model.get("settings"),this.childViewOptions={dataModel:e.dataModel},this.dataModel=e.dataModel;var t=this.model.get("deps");if(t)for(var n in t)t.hasOwnProperty(n)&&this.dataModel.on("change:"+n,this.render,this);this.model.on("rerender",this.render,this)},onBeforeDestroy:function(){var e=this.model.get("deps");if(e)for(var t in e)e.hasOwnProperty(t)&&this.dataModel.off("change:"+t,this.render)},onBeforeRender:function(){i.channel("app").trigger("before:renderSetting",this.model,this.dataModel),i.channel("setting-type-"+this.model.get("type")).trigger("before:renderSetting",this.model,this.dataModel,this),i.channel("setting-"+this.model.get("name")).trigger("before:renderSetting",this.model,this.dataModel,this)},onRender:function(){i.channel("setting-"+this.model.get("name")).trigger("render:setting",this.model,this.dataModel,this),i.channel("setting-type-"+this.model.get("type")).trigger("render:setting",this.model,this.dataModel,this)},templateHelpers:function(){var e=this;return{renderVisible:function(){if(this.deps)for(var t in this.deps)if(this.deps.hasOwnProperty(t)&&e.dataModel.get(t)!==this.deps[t])return'style="display:none;"';return""},renderSetting:function(){return i.channel("app").request("get:template","#tmpl-nf-edit-setting-"+this.type)(this)},renderClasses:function(){var e="";return void 0!==this.width?e+=this.width:e+=" one-half",this.error&&(e+=" nf-error"),e},renderError:function(){return this.error?this.error:""}}},attachHtml:function(e,t){jQuery(e.el).find(".nf-field-sub-settings").append(t.el)}})}),n("models/app/settingModel",[],function(){return Backbone.Model.extend({defaults:{settings:!1,hide_merge_tags:!1,error:!1},initialize:function(){i.channel("app").trigger("init:settingModel",this),i.channel(this.get("type")).trigger("init:settingModel",this),i.channel("setting-name-"+this.get("name")).trigger("init:settingModel",this),this.on("change:error",this.maybePreventUI,this),void 0!==this.collection&&this.get("use_merge_tags")&&void 0!==this.collection.options.objectType&&this.listenTo(i.channel("app"),"update:fieldKey",this.updateKey)},updateKey:function(e){i.channel("app").trigger("fire:updateFieldKey",e,this)},maybePreventUI:function(){this.get("error")?(i.channel("drawer").request("prevent:close","setting-"+this.get("name")+"-error"),i.channel("app").request("prevent:changeDomain","setting-"+this.get("name")+"-error")):(i.channel("drawer").request("enable:close","setting-"+this.get("name")+"-error"),i.channel("app").request("enable:changeDomain","setting-"+this.get("name")+"-error"))}})}),n("models/app/settingCollection",["models/app/settingModel"],function(e){return Backbone.Collection.extend({model:e,initialize:function(e,t){this.options=t||{}}})}),n("controllers/app/fieldset",["views/app/drawer/typeSettingFieldset","models/app/settingCollection"],function(e,t){return Marionette.Object.extend({initialize:function(){i.channel("fieldset").reply("get:settingChildView",this.getSettingChildView,this),this.listenTo(i.channel("fieldset"),"init:settingModel",this.createSettingsCollection)},getSettingChildView:function(t){return e},createSettingsCollection:function(e){e.set("settings",new t(e.get("settings")))}})}),n("controllers/app/toggleSetting",[],function(){return Marionette.Object.extend({initialize:function(){i.channel("setting-type-toggle").reply("renderOnChange",function(){return!1}),i.channel("toggle").reply("before:updateSetting",this.updateSetting,this)},updateSetting:function(e,t,n,i){if(jQuery(e.target).attr("checked"))var r=1;else var r=0;return r}})}),n("controllers/app/itemControls",[],function(){return Marionette.Object.extend({initialize:function(){this.listenTo(i.channel("app"),"click:edit",this.clickEdit),this.listenTo(i.channel("app"),"click:delete",this.clickDelete),this.listenTo(i.channel("app"),"click:duplicate",this.clickDuplicate)},clickEdit:function(e,t){var n=i.channel("app").request("get:currentDomain"),r=n.get("id"),a=i.channel(r).request("get:type",t.get("type"));i.channel("app").request("open:drawer","editSettings",{model:t,groupCollection:a.get("settingGroups")})},clickDelete:function(e,t){var n=i.channel("app").request("clone:modelDeep",t),r={object:t.get("objectType"),label:t.get("label"),change:"Removed",dashicon:"dismiss"},a={collection:t.collection},s=i.channel("changes").request("get:collection"),o=s.where({model:t});_.each(o,function(e){var i=e.get("data");void 0!==i.fields&&_.each(i.fields,function(e,r){e.model==t&&(i.fields[r].model=n)}),e.set("data",i),e.set("model",n),e.set("disabled",!0)}),i.channel("changes").request("register:change","removeObject",n,null,r,a);var l=i.channel("app").request("get:currentDomain"),c=l.get("id");i.channel(c).request("delete",t)},clickDuplicate:function(e,t){var n=i.channel("app").request("clone:modelDeep",t),r=i.channel("app").request("get:currentDomain"),a=r.get("id");n.set("label",n.get("label")+" Copy");var s=i.channel(a).request("get:tmpID");n.set("id",s),i.channel(a).request("add",n,!1,!1,"duplicate");var o={object:t.get("objectType"),label:t.get("label"),change:"Duplicated",dashicon:"admin-page"},l={collection:i.channel(a).request("get:collection")};i.channel("changes").request("register:change","duplicateObject",n,null,o,l),t.trigger("change:label",t),i.channel("app").request("update:db")}})}),n("controllers/app/mergeTags",["models/app/mergeTagCollection"],function(e){return Marionette.Object.extend({initialize:function(){this.tagSectionCollection=new e;var t=this;_.each(mergeTags,function(n){if(n.tags)var i=new e(n.tags);else var i="";t.tagSectionCollection.add({id:n.id,label:n.label,tags:i,default_group:n.default_group})});var n=this.tagSectionCollection.get("fields").get("tags"),r=i.channel("fields").request("get:collection");_.each(r.models,function(e){"submit"!==e.get("type")&&n.add({id:e.get("id"),label:e.get("label"),tag:t.getFieldKeyFormat(e.get("key"))})});var a=new e,s=i.channel("app").request("get:formModel"),o=s.get("settings").get("calculations");_.each(o.models,function(e){a.add({label:e.get("name"),tag:"{calc:"+e.get("name")+"}"})}),this.tagSectionCollection.get("calcs").set("tags",a),this.currentElement={},this.settingModel={},this.open=!1,this.listenTo(i.channel("mergeTags"),"click:mergeTag",this.clickMergeTag),this.listenTo(i.channel("fields"),"add:field",this.addFieldTags),this.listenTo(i.channel("fields"),"delete:field",this.deleteFieldTags),this.listenTo(i.channel("option-repeater-calculations"),"update:option",this.updateCalcTags),this.listenTo(i.channel("option-repeater-calculations"),"remove:option",this.updateCalcTags),i.channel("mergeTags").reply("update:currentElement",this.updateCurrentElement,this),i.channel("mergeTags").reply("update:currentSetting",this.updateCurrentSetting,this),i.channel("mergeTags").reply("get:collection",this.getCollection,this),i.channel("mergeTags").reply("get:mergeTag",this.getSectionModel,this),this.listenTo(i.channel("fieldSetting-id"),"update:setting",this.updateID),this.listenTo(i.channel("fieldSetting-key"),"update:setting",this.updateKey),this.listenTo(i.channel("app"),"replace:fieldKey",this.replaceFieldKey),i.channel("app").reply("get:fieldKeyFormat",this.getFieldKeyFormat,this)},initMergeTags:function(e){var t=i.channel("mergeTags").request("get:view"),n=this;this.jBoxes={};var n=this;jQuery(e.el).find(".merge-tags").each(function(){if(void 0===jQuery(this).data("jBox-id")){var i=jQuery(this).jBox("Tooltip",{title:"Insert Merge Tag",trigger:"click",position:{x:"center",y:"bottom"},closeOnClick:"body",closeOnEsc:!0,theme:"TooltipBorder",maxHeight:200,onOpen:function(){t.reRender(e.model),this.setContent(jQuery(".merge-tags-content"));var i=jQuery(this.target).prev(".setting");0==i.length&&(i=jQuery(e.el).find(".setting")),n.updateCurrentSetting(e.model),n.updateCurrentElement(i)},onClose:function(){}});jQuery(this).data("jBox-id",i.id)}})},clickMergeTag:function(e,t){if(void 0!==this.settingModel.get("settingModel")&&"calculations"==this.settingModel.get("settingModel").get("name")){console.log(t);var n=jQuery(this.currentElement).val(),i=jQuery(this.currentElement).caret(),r=i+t.get("tag").length,a=void 0!==t.get("calcTag")?t.get("calcTag"):t.get("tag");n=n.substr(0,i)+a+n.substr(i),jQuery(this.currentElement).val(n).caret(r).trigger("change")}else if("rte"==this.settingModel.get("type"))jQuery(this.currentElement).summernote("insertText",t.get("tag"));else{var n=jQuery(this.currentElement).val(),i=jQuery(this.currentElement).caret(),r=i+t.get("tag").length;n=n.substr(0,i)+t.get("tag")+n.substr(i),jQuery(this.currentElement).val(n).caret(r).trigger("change")}},addFieldTags:function(e){"submit"!==e.get("type")&&this.tagSectionCollection.get("fields").get("tags").add({id:e.get("id"),label:e.get("label"),tag:this.getFieldKeyFormat(e.get("key")),calcTag:this.getFieldKeyFormatCalc(e.get("key"))})},deleteFieldTags:function(e){var t=e.get("id"),n=this.tagSectionCollection.get("fields").get("tags").get(t);this.tagSectionCollection.get("fields").get("tags").remove(n)},updateCalcTags:function(t){var n=new e,r=i.channel("app").request("get:formModel"),a=r.get("settings").get("calculations");_.each(a.models,function(e){n.add({label:e.get("name"),tag:"{calc:"+e.get("name")+"}"})}),this.tagSectionCollection.get("calcs").set("tags",n)},openMergeTags:function(e){"TEXTAREA"!=jQuery(e.target)[0].tagName&&"INPUT"!=jQuery(e.target)[0].tagName||jQuery(e.target).parent().find(".merge-tags").click()},returnMergeTags:function(e){if(this.open){e.preventDefault();var t=this.fields.where({active:!0})[0];t&&this.clickMergeTag(e,t)}},upMergeTags:function(e){this.open&&(e.preventDefault(),this.changeActiveTag("up"))},downMergeTags:function(e){this.open&&(e.preventDefault(),this.changeActiveTag("down"))},changeActiveTag:function(e){if("down"==e)var t=1;else var t=-1;if(0<this.fields.where({active:!0}).length){var n=this.fields.where({active:!0})[0],i=this.fields.indexOf(n);n.set("active",!1);var r=this.fields.models[i+t];r&&r.set("active",!0)}else 0<this.fields.where({active:!0})?console.log("system"):0<this.userInfo.where({active:!0})?console.log("userinfo"):0<this.fields.models.length?this.fields.models[0].set("active",!0):this.system.models[0].set("active",!0)},updateCurrentElement:function(e){this.currentElement=e},updateCurrentSetting:function(e){this.settingModel=e},getCollection:function(){return this.tagSectionCollection},getSectionModel:function(e){return this.tagSectionCollection.get(e)},updateOpen:function(e){this.open=e,_.each(this.tagSectionCollection.get("fields").models,function(e){e.set("active",!1)})},updateID:function(e){var t=this.getFieldKeyFormat(e.get("key")),n=this.tagSectionCollection.get("fields").get("tags").find(function(e){return t==e.get("tag")});void 0!==n&&n.set("id",e.get("id"))},updateKey:function(e){var t=e.get("key"),n=this.tagSectionCollection.get("fields").get("tags").get(e.get("id"));void 0!==n&&n.set("tag",this.getFieldKeyFormat(t))},getFieldKeyFormat:function(e){return"{field:"+e+"}"},getFieldKeyFormatCalc:function(e){return"{field:"+e+":calc}"},replaceFieldKey:function(e,t,n){var i=this.getFieldKeyFormat(t._previousAttributes.key),r=this.getFieldKeyFormat(t.get("key")),a=n.get("name"),s=e.get(a);if("calculations"==a&&void 0!==e.get("calculations")){return e.get("calculations").each(function(e){var t=i.slice(0,i.length-1)+":calc}",n=r.slice(0,r.length-1)+":calc}";if("string"==typeof(s=e.get("eq"))){var a=new RegExp(t,"g"),o=s.replace(a,n);a=new RegExp(i,"g"),o=o.replace(a,r),e.set("eq",o)}}),!1}if("string"==typeof s){var o=new RegExp(i,"g");newVal=s.replace(o,r),e.set(a,newVal)}}})}),n("models/app/mergeTagLookupCollection",["models/app/mergeTagModel"],function(e){return Backbone.Collection.extend({model:e})}),n("views/app/drawer/mergeTag",[],function(){return Marionette.ItemView.extend({tagName:"li",template:"#tmpl-nf-merge-tag-box-tag",events:{click:"insertTag"},insertTag:function(){i.channel("mergeTags").request("insert:tag",this.model.get("tag"))}})}),n("views/app/drawer/mergeTagList",["views/app/drawer/mergeTag"],function(e){return Marionette.CollectionView.extend({tagName:"ul",childView:e,initialize:function(){i.channel("merge-tags").reply("update:taglist",this.sectionFilter,this),i.channel("merge-tags").reply("filtersearch",this.searchFilter,this)},filter:function(e,t,n){return"fields"==e.get("section")},sectionFilter:function(e){this.filter=function(t,n,i){return e==t.get("section")},this.render(),i.channel("merge-tags").trigger("after:filtersearch")},searchFilter:function(e){this.filter=function(t,n,i){var r=t.get("label").toLowerCase().indexOf(e.toLowerCase().replace(":",""))>=0,a=t.get("tag").toLowerCase().indexOf(e.toLowerCase())>=0;return r||a},this.render(),i.channel("merge-tags").trigger("after:filtersearch")}})}),n("views/app/drawer/mergeTagGroup",[],function(){return Marionette.ItemView.extend({tagName:"li",template:"#tmpl-nf-merge-tag-box-section",events:{click:"onClick"},initialize:function(){this.listenTo(i.channel("merge-tags"),"after:filtersearch",this.removeActive)},onClick:function(){this.updateTags(),this.setActive()},updateTags:function(){i.channel("merge-tags").request("update:taglist",this.model.get("id"))},setActive:function(){this.$el.addClass("active"),this.$el.siblings().removeClass("active")},removeActive:function(){this.$el.removeClass("active")}})}),n("views/app/drawer/mergeTagGroupList",["views/app/drawer/mergeTagGroup"],function(e){return Marionette.CollectionView.extend({tagName:"ul",childView:e,initialize:function(){this.listenTo(i.channel("merge-tags"),"open",this.render,this)},filter:function(e,t,n){return 0<e.get("tags").length}})}),n("views/app/drawer/mergeTagFilter",[],function(){return Marionette.ItemView.extend({template:"#tmpl-nf-merge-tag-box-filter",events:{"keyup input":"updateFilter"},updateFilter:function(e){if(13==e.keyCode){
4
  var t=jQuery("#merge-tags-box .merge-tag-list ul li span").first().data("tag");return i.channel("mergeTags").request("insert:tag",t),jQuery("#merge-tags-box").css("display","none"),jQuery("#merge-tags-box").removeClass(),jQuery(".merge-tag-focus").removeClass("merge-tag-focus"),void jQuery(".merge-tag-focus-overlay").removeClass("merge-tag-focus-overlay")}var n=this.$el.find("input").val();i.channel("merge-tags").request("filtersearch",n)}})}),n("views/app/drawer/mergeTagBox",[],function(){return Marionette.LayoutView.extend({el:"#merge-tags-box",template:"#tmpl-nf-merge-tag-box",regions:{filter:".merge-tag-filter",sections:".merge-tag-sections",tags:".merge-tag-list"}})}),n("controllers/app/mergeTagBox",["models/app/mergeTagModel","models/app/mergeTagLookupCollection","views/app/drawer/mergeTag","views/app/drawer/mergeTagList","views/app/drawer/mergeTagGroup","views/app/drawer/mergeTagGroupList","views/app/drawer/mergeTagFilter","views/app/drawer/mergeTagBox"],function(e,t,n,r,a,s,o,l){return Marionette.Object.extend({caret:0,old:"",initialize:function(){this.listenTo(i.channel("drawer"),"render:settingGroup",function(){jQuery(".merge-tags").off("click"),jQuery(".merge-tags").on("click",this.mergeTagsButtonClick)}),this.listenTo(i.channel("app"),"after:appStart",this.afterAppStart),this.listenTo(i.channel("app"),"before:renderSetting",this.beforeRenderSetting),this.listenTo(i.channel("drawer"),"before:close",this.beforeDrawerClose);var e=this;i.channel("mergeTags").reply("set:caret",function(t){e.caret=t}),i.channel("mergeTags").reply("get:caret",function(){return e.caret});var e=this;i.channel("mergeTags").reply("set:old",function(t){e.old=t}),i.channel("mergeTags").reply("get:old",function(){return e.old}),i.channel("mergeTags").reply("insert:tag",this.insertTag.bind(this)),this.listenTo(i.channel("option-repeater"),"add:option",function(t){var n="#"+t.cid+" .has-merge-tags input.setting";jQuery(n).on("focus",function(t){e.focusCallback(t,n,"option-repeater")}),jQuery(n).on("keyup",function(t){e.keyupCallback(t,n,"option-repeater")}),jQuery(n).siblings(".nf-list-options .merge-tags").off("click"),jQuery(n).siblings(".nf-list-options .merge-tags").on("click",this.mergeTagsButtonClick)}),this.listenTo(i.channel("drawer"),"opened",function(){jQuery(".nf-list-options .merge-tags").off("click"),jQuery(".nf-list-options .merge-tags").on("click",this.mergeTagsButtonClick)}),this.listenTo(i.channel("setting-calculations-option"),"render:setting",this.renderSetting),this.listenTo(i.channel("drawer"),"opened",function(){jQuery(".nf-list-options.calculations .merge-tags").off("click"),jQuery(".nf-list-options.calculations .merge-tags").on("click",this.mergeTagsButtonClick)}),this.listenTo(i.channel("summernote"),"focus",function(t,n){e.focusCallback(!1,n,"rte")}),this.listenTo(i.channel("summernote"),"keydown",function(e,t){jQuery(t).closest(".nf-setting").find(".setting").summernote("saveRange")}),this.listenTo(i.channel("summernote"),"keyup",function(t,n){e.keyupCallback(t,n,"rte")}),this.listenTo(i.channel("drawer"),"opened",function(){jQuery(".note-editor .merge-tags").off("click"),jQuery(".note-editor .merge-tags").on("click",this.mergeTagsButtonClick)}),jQuery(document).on("keyup",function(e){27==e.keyCode&&(i.channel("mergeTags").request("insert:tag",""),jQuery("#merge-tags-box").css("display","none"),i.channel("drawer").request("enable:close"),jQuery("#merge-tags-box").removeClass(),jQuery(".merge-tag-focus").blur(),jQuery(".merge-tag-focus").removeClass("merge-tag-focus"),jQuery(".merge-tag-focus-overlay").removeClass("merge-tag-focus-overlay"))}),this.listenTo(Backbone.Radio.channel("fields"),"add:field",this.afterAppStart),this.listenTo(Backbone.Radio.channel("fields"),"delete:field",this.afterAppStart),this.listenTo(Backbone.Radio.channel("fieldSetting-key"),"update:setting",this.afterAppStart),this.listenTo(Backbone.Radio.channel("calcs"),"update:calc",this.afterAppStart),this.listenTo(Backbone.Radio.channel("app"),"change:currentDomain",this.afterAppStart)},afterAppStart:function(){var e=Backbone.Radio.channel("app").request("get:currentDomain"),n=i.channel("mergeTags").request("get:collection"),a=[];n.each(function(t){t.get("tags").each(function(n){"fields"==e.get("id")&&"{submission:sequence}"==n.get("tag")||a.push({label:n.get("label"),tag:n.get("tag"),section:t.get("id")})})});var c=new l;c.render();var d=new t(a),h=new r({collection:d}),u=new s({collection:n});c.getRegion("tags").show(h),c.getRegion("sections").show(u),c.getRegion("filter").show(new o)},beforeRenderSetting:function(e,t){if(void 0!==e.get("use_merge_tags")&&e.get("use_merge_tags")){var n=e.get("name");this.listenTo(i.channel("setting-"+n),"render:setting",this.renderSetting)}},renderSetting:function(e,t,n){n.$el.find(".merge-tags").off("click"),n.$el.find(".merge-tags").on("click",this.mergeTagsButtonClick),0==jQuery("#merge-tags-box").length&&this.afterAppStart(),jQuery("#nf-drawer").on("scroll",function(){if(0!=jQuery(".merge-tag-focus").length){var e=jQuery(".merge-tag-focus").closest(".nf-setting").find(".note-editor");if(0!=e.length)var t=e.offset().top-jQuery(window).scrollTop(),n=e.outerHeight();else var t=jQuery(".merge-tag-focus").offset().top-jQuery(window).scrollTop(),n=jQuery(".merge-tag-focus").outerHeight();var i=t+n,r=window.innerHeight,a=jQuery("#merge-tags-box").outerHeight();i+a>r&&(i=t-a),jQuery("#merge-tags-box").css("top",i);var s=jQuery("#merge-tags-box").outerHeight();jQuery("#nf-drawer").css("padding-bottom",s+"px");var o=jQuery(".merge-tag-focus").closest(".nf-list-options-tbody");if(0!=o.length){var l=o.offset().left-jQuery(window).scrollLeft();jQuery("#merge-tags-box").css("left",l)}else{var c=jQuery(".merge-tag-focus").closest(".nf-settings").offset().left-jQuery(window).scrollLeft();jQuery("#merge-tags-box").css("left",c),jQuery("#merge-tags-box").css("width",jQuery(".merge-tag-focus").closest(".nf-settings").width())}}}),jQuery(n.el).find(".setting").on("focus",this.focusCallback),jQuery(n.el).find(".setting").on("keyup",this.keyupCallback)},beforeDrawerClose:function(){jQuery("#merge-tags-box").css("display","none"),i.channel("drawer").request("enable:close")},insertTag:function(e){var t=jQuery(".merge-tag-focus");if(0!=t.closest(".nf-setting").first().find(".note-editable").length&&(t=t.closest(".nf-setting").first().find(".note-editable")),1<t.length&&(t=t.first()),t.hasClass("note-editable"))var n=t.closest(".nf-setting").find(".setting").summernote("code");else var n=t.val();for(var r=i.channel("mergeTags").request("get:old"),a=e,s=i.channel("mergeTags").request("get:caret"),o=/{([a-zA-Z0-9]|:|_||-})*/g;match=o.exec(n);)if(r==match[0]){var l=n.slice(0,match.index)+a+n.slice(o.lastIndex);if(t.hasClass("note-editable")){t.closest(".nf-setting").find(".setting").summernote("code",l);var c=t,d=null;_.each(c[0].childNodes,function(e,t){if(!d&&(e.nodeValue||e.innerHTML)){if(e.nodeValue)var n=e.nodeValue;else if(e.innerHTML)var n=e.innerHTML;if(-1!=n.indexOf(a)){n=n.replace(/&nbsp;/g," ");var i=n.indexOf(a)+r.length;-1==s&&(s=n.indexOf(a)+1),s==i&&(d=c[0].childNodes[t])}}}),d||(d=c[0].childNodes[0]);var h=s-r.length+a.length,u=document.createRange(),g=window.getSelection();if(0!=d.childNodes.length)try{u.setStart(d.childNodes[0],h)}catch(e){console.log(d),console.log("error")}else try{u.setStart(d,h)}catch(e){console.log("error")}u.collapse(!0),g.removeAllRanges(),g.addRange(u)}else t.val(l),t.change(),t.caret(s-r.length+a.length)}jQuery("#merge-tags-box").css("display","none"),i.channel("drawer").request("enable:close"),t.removeClass("merge-tag-focus"),t.closest(".merge-tag-focus-overlay").removeClass("merge-tag-focus-overlay")},mergeTagsButtonClick:function(e){var t=jQuery(this);if(t.siblings().hasClass("merge-tag-focus"))return i.channel("mergeTags").request("insert:tag",""),jQuery("#merge-tags-box").css("display","none"),i.channel("drawer").request("enable:close"),jQuery(".merge-tag-focus").removeClass("merge-tag-focus"),void jQuery(".merge-tag-focus-overlay").removeClass("merge-tag-focus-overlay");if(0!==t.closest(".nf-setting, .nf-table-row").find(".note-tools").length){var n=t.closest(".note-editor").siblings(".setting").first();t.closest(".nf-setting").find(".setting").summernote("insertText","{"),i.channel("mergeTags").request("set:caret",-1)}else{var n=t.siblings(".setting").first(),r=n.val()||"";n.val(r+"{").change(),i.channel("mergeTags").request("set:caret",r.length+1)}t.parent().hasClass("note-tools"),i.channel("mergeTags").request("set:old","{"),n.addClass("merge-tag-focus");var a=t.attr("autocomplete");t.attr("autocomplete","off"),t.data("autocomplete",a);var s=t.closest(".nf-setting, .nf-table-row");0!=s.find(".note-editor").length?s.find(".note-editor").addClass("merge-tag-focus-overlay"):s.addClass("merge-tag-focus-overlay"),jQuery("#merge-tags-box").css("display","block"),i.channel("drawer").request("prevent:close"),jQuery(".merge-tag-focus-overlay").off("click"),jQuery(".merge-tag-focus-overlay").on("click",function(e){jQuery(e.target).hasClass("note-editor")&&(i.channel("mergeTags").request("insert:tag",""),jQuery("#merge-tags-box").css("display","none"),i.channel("drawer").request("enable:close"),jQuery("#merge-tags-box").removeClass(),jQuery(".merge-tag-focus").removeClass("merge-tag-focus"),jQuery(".merge-tag-focus-overlay").removeClass("merge-tag-focus-overlay"))}),setTimeout(function(){jQuery("#merge-tags-box").find(".merge-tag-filter").find("input").focus()},500)},focusCallback:function(e,t,n){var n=n||"setting",i=void 0===t?jQuery(this):jQuery(t);if(jQuery(".merge-tag-focus").each(function(e,t){this!=t&&t.removeClass("merge-tag-focus")}),"rte"==n)var r=i.closest(".nf-setting").find(".note-editor").offset().top-jQuery(window).scrollTop(),a=i.closest(".nf-setting").find(".note-editor").outerHeight();else var r=i.offset().top-jQuery(window).scrollTop(),a=i.outerHeight();var s=r+a,o=window.innerHeight,l=jQuery("#merge-tags-box").outerHeight();s+l>o&&(s=r-l),jQuery("#merge-tags-box").css("top",s);var c=i.closest(".nf-list-options-tbody");if(0!=c.length){var d=c.offset().left-jQuery(window).scrollLeft();jQuery("#merge-tags-box").css("left",d)}else if("rte"==n){var h=i.closest(".nf-setting").find(".note-editor").offset().left-jQuery(window).scrollLeft();jQuery("#merge-tags-box").css("left",h),jQuery("#merge-tags-box").css("width",i.closest(".nf-setting").find(".note-editor").width())}else{var h=jQuery(this).closest(".nf-settings").offset().left-jQuery(window).scrollLeft();jQuery("#merge-tags-box").css("left",h),jQuery("#merge-tags-box").css("width",i.closest(".nf-settings").width())}var u=jQuery(this).data("id")},keyupCallback:function(e,t,n){var n=n||"setting";if(13==e.keyCode){var r=jQuery("#merge-tags-box .merge-tag-list ul li span").first().data("tag");return i.channel("mergeTags").request("insert:tag",r),jQuery("#merge-tags-box").css("display","none"),i.channel("drawer").request("enable:close"),jQuery("#merge-tags-box").removeClass(),jQuery(".merge-tag-focus").removeClass("merge-tag-focus"),void jQuery(".merge-tag-focus-overlay").removeClass("merge-tag-focus-overlay")}if(void 0!==t)var a=jQuery(t);else var a=jQuery(this);var s=jQuery(this).data("id");if(!s||"eq"==s){if("rte"==n){var o=a.summernote("createRange");if(o)var l=o.so;else var l=0;a.closest(".nf-setting").find(".setting").summernote("saveRange")}else var l=a.caret();if(i.channel("mergeTags").request("set:caret",l),"rte"==n)var c=a.summernote("code").match(new RegExp(/{([a-zA-Z0-9]|:|_|-|})*/g));else var c=a.val().match(new RegExp(/{([a-zA-Z0-9]|:|_|-|})*/g));if(c=_.filter(c,function(e){return-1==e.indexOf("}")}),0!==c.length){i.channel("mergeTags").request("set:old",c[0]),jQuery("#merge-tags-box").css("display","block"),i.channel("drawer").request("prevent:close"),a.addClass("merge-tag-focus");var d=jQuery("#merge-tags-box").outerHeight();jQuery("#nf-drawer").css("padding-bottom",d+"px");var h=a.attr("autocomplete");a.attr("autocomplete","off"),a.data("autocomplete",h);var u=a.closest(".nf-setting, .nf-table-row");0!=u.find(".note-editor").length?u.find(".note-editor").addClass("merge-tag-focus-overlay"):u.addClass("merge-tag-focus-overlay"),u.off("click"),u.on("click",function(e){-1!==(jQuery(e.target).attr("class")||[]).indexOf("merge-tag-focus-overlay")&&(i.channel("mergeTags").request("insert:tag",""),jQuery("#merge-tags-box").css("display","none"),i.channel("drawer").request("enable:close"),jQuery("#merge-tags-box").removeClass(),jQuery(".merge-tag-focus").removeClass("merge-tag-focus"),jQuery(".merge-tag-focus-overlay").removeClass("merge-tag-focus-overlay"))});var g=c[0].replace("{","");i.channel("merge-tags").request("filtersearch",g)}else jQuery("#merge-tags-box").css("display","none"),i.channel("drawer").request("enable:close"),jQuery("#merge-tags-box").removeClass(),jQuery(".merge-tag-focus").removeClass("merge-tag-focus"),jQuery(".merge-tag-focus-overlay").removeClass("merge-tag-focus-overlay")}}})}),n("controllers/app/itemSettingFill",[],function(){return Marionette.Object.extend({initialize:function(){this.listenTo(i.channel("app"),"before:renderSetting",this.beforeRenderSetting)},beforeRenderSetting:function(e,t){e.get("fill")}})}),n("controllers/app/confirmPublish",[],function(){return Marionette.Object.extend({initialize:function(){this.listenTo(i.channel("app"),"click:confirmPublish",this.confirmPublish)},confirmPublish:function(){var e=i.channel("app").request("get:formModel");1==e.get("settings").get("add_submit")&&i.channel("fields").request("add",{type:"submit",label:"Submit",order:9999}),e.set("show_publish_options",!1),i.channel("app").request("update:db","publish")}})}),n("controllers/app/rte",[],function(){return Marionette.Object.extend({initialize:function(){i.channel("setting-type-rte").reply("renderOnChange",function(){return!1}),this.listenTo(i.channel("rte"),"init:settingModel",this.initSettingModel),this.listenTo(i.channel("setting-type-rte"),"render:setting",this.renderSetting),this.listenTo(i.channel("setting-type-rte"),"destroy:setting",this.destroySetting),this.listenTo(i.channel("setting-type-rte"),"click:extra",this.clickExtra),this.meta_image_frame,jQuery.summernote.options.icons={align:"dashicons dashicons-editor-alignleft",alignCenter:"dashicons dashicons-editor-aligncenter",alignJustify:"dashicons dashicons-editor-justify",alignLeft:"dashicons dashicons-editor-alignleft",alignRight:"dashicons dashicons-editor-alignright",indent:"dashicons dashicons-editor-indent",outdent:"dashicons dashicons-editor-outdent",bold:"dashicons dashicons-editor-bold",caret:"dashicons dashicons-arrow-down",close:"dashicons dashicons-dismiss",code:"dashicons dashicons-editor-code",eraser:"dashicons dashicons-editor-removeformatting",italic:"dashicons dashicons-editor-italic",link:"dashicons dashicons-admin-links",unlink:"dashicons dashicons-editor-unlink",magic:"dashicons dashicons-editor-paragraph",minus:"dashicons dashicons-minus",orderedlist:"dashicons dashicons-editor-ol",redo:"dashicons dashicons-redo",square:"dashicons fa-square",table:"dashicons dashicons-editor-table",underline:"dashicons dashicons-editor-underline",undo:"dashicons dashicons-undo",unorderedlist:"dashicons dashicons-editor-ul"},this.currentContext={}},initSettingModel:function(e){e.set("hide_merge_tags",!0)},initRTE:function(e,t,n){var r=this,a=function(e){return r.linkButton(e)},s=function(e){return r.mediaButton(e)},o=this.mergeTags(),l=[["paragraphStyle",["style"]],["fontStyle",["bold","italic","underline","clear"]],["lists",["ul","ol"]],["paragraph",["paragraph"]],["customGroup",["linkButton","unlink"]],["table",["table"]],["actions",["undo","redo"]],["tools",["mediaButton","mergeTags","codeview"]]];jQuery(n.el).find("div.setting").summernote({toolbar:l,buttons:{linkButton:a,mergeTags:o,mediaButton:s},height:150,codemirror:{theme:"monokai",lineNumbers:!0,callbacks:{onBlur:function(n){var i=n.getValue();r.updateDataModel(e,t,i)}}},prettifyHtml:!0,callbacks:{onBlur:function(n,a){var s=jQuery(this).summernote("code");r.updateDataModel(e,t,s),i.channel("summernote").trigger("blur",e,t,s)},onFocus:function(e,t){i.channel("summernote").trigger("focus",e,this,t)},onKeydown:function(e,t){i.channel("summernote").trigger("keydown",e,this,t)},onKeyup:function(e,t){i.channel("summernote").trigger("keyup",e,this,t)}}})},updateDataModel:function(e,t,n){var r=e.get("name"),a=t.get(r),s=n,o={attr:r,before:a,after:s},l={object:t.get("objectType"),label:t.get("label"),change:"Changed "+e.get("label")+" from "+a+" to "+s};i.channel("changes").request("register:change","changeSetting",t,o,l),t.set(e.get("name"),s)},renderSetting:function(e,t,n){this.initRTE(e,t,n);var i=jQuery(n.el).find(".link-button").next(".dropdown-menu").find("button");i.replaceWith(function(){return jQuery("<div/>",{class:jQuery(i).attr("class"),html:this.innerHTML})})},destroySetting:function(e,t,n){this.removeRTE(e,t,n)},removeRTE:function(e,t,n){jQuery(n.el).find("div.setting").summernote("destroy")},drawerOpened:function(e,t,n){this.initRTE(e,t,n)},linkButton:function(e){var t=this,n=jQuery.summernote.ui,r=i.channel("app").request("get:template","#tmpl-nf-rte-link-button"),a=i.channel("app").request("get:template","#tmpl-nf-rte-link-dropdown");return n.buttonGroup([n.button({className:"dropdown-toggle link-button",contents:r({}),tooltip:"Insert Link",click:function(n){t.clickLinkButton(n,e)},data:{toggle:"dropdown"}}),n.dropdown([n.buttonGroup({children:[n.button({contents:a({}),tooltip:""})]})])]).render()},mergeTags:function(e){var t=jQuery.summernote.ui,n=i.channel("app").request("get:template","#tmpl-nf-rte-merge-tags-button");return t.button({className:"dropdown-toggle merge-tags",contents:n({}),tooltip:"Merge Tags"}).render()},mediaButton:function(e){var t=this,n=jQuery.summernote.ui,r=i.channel("app").request("get:template","#tmpl-nf-rte-media-button");return n.button({className:"dropdown-toggle",contents:r({}),tooltip:"Insert Media",click:function(n){t.openMediaManager(n,e)}}).render()},openMediaManager:function(e,t){if(t.invoke("editor.createRange"),t.invoke("editor.saveRange"),this.currentContext=t,this.meta_image_frame)return void this.meta_image_frame.open();this.meta_image_frame=wp.media.frames.meta_image_frame=wp.media({title:"Select a file",button:{text:"insert"}});var n=this;this.meta_image_frame.on("select",function(){var e=n.meta_image_frame.state().get("selection").first().toJSON();n.insertMedia(e,t)}),this.meta_image_frame.open()},clickLinkButton:function(e,t){var n=t.invoke("editor.createRange");t.invoke("editor.saveRange");var i=n.toString();this.currentContext=t,jQuery(e.target).closest(".note-customGroup > .note-btn-group").on("hide.bs.dropdown",function(e){return!1}),jQuery(e.target).closest(".note-customGroup > .note-btn-group").on("shown.bs.dropdown",function(e){jQuery(e.target).parent().parent().find(".link-text").val(i),jQuery(e.target).parent().parent().find(".link-url").focus()})},clickExtra:function(e,t,n,i){var r=jQuery(e.target).parent().find(".link-text"),a=jQuery(e.target).parent().find(".link-url"),s=jQuery(e.target).parent().find(".link-new-window");if(this.currentContext.invoke("editor.restoreRange"),jQuery(e.target).hasClass("insert-link")){var o=r.val(),l=a.val(),c=!!s.prop("checked");0!=o.length&&0!=l.length&&this.currentContext.invoke("editor.createLink",{text:o,url:l,isNewWindow:c})}r.val(""),a.val(""),s.prop("checked",!1),jQuery(e.target).closest("div.note-btn-group.open").removeClass("open")},insertMedia:function(e,t){this.currentContext.invoke("editor.restoreRange"),"image"==e.type?this.currentContext.invoke("editor.insertImage",e.url):this.currentContext.invoke("editor.createLink",{text:e.title||e.filename,url:e.url})}})}),n("controllers/app/settingFieldSelect",[],function(){return Marionette.Object.extend({initialize:function(){this.listenTo(i.channel("field-select"),"init:settingModel",this.trackKeyChanges),this.listenTo(i.channel("setting-type-field-select"),"before:renderSetting",this.beforeRender),this.listenTo(i.channel("field-select"),"init:settingModel",function(){this.listenTo(i.channel("app"),"change:setting",this.maybeSwitchToFieldsDomain)}),this.listenTo(i.channel("app"),"change:currentDomain",this.autoOpenDrawer),this.listenTo(i.channel("drawer"),"opened",this.filterDrawerContents),this.listenTo(i.channel("drawer"),"closed",this.SwitchToFieldsDomain)},trackKeyChanges:function(e){e.listenTo(i.channel("app"),"update:fieldKey",e.updateKey),this.listenTo(i.channel("app"),"replace:fieldKey",this.updateFieldMap)},updateFieldMap:function(e,t,n){var i=t._previousAttributes.key,r=t.get("key");"field-select"==n.get("type")&&e.get(n.get("name"))==i&&e.set(n.get("name"),r)},beforeRender:function(e,t){var n=i.channel("fields").request("get:collection"),r=e.get("field_types"),a=[{label:"--",value:0}];_.each(n.models,function(n){if(t.cid!=n.cid&&(void 0===r||0==r.length||_.contains(r,n.get("type")))){var i=e.get("field_filter");if(i&&void 0!==i[n.get("type")]){var s=!1;if(_.each(i[n.get("type")],function(e,t){console.log(e+":"+n.get(t)),e!=n.get(t)&&(s=!0)}),s)return}var o=n.get("key");switch(e.get("field_value_format")){case"key":o=n.get("key");break;case"merge_tag":default:o="{field:"+n.get("key")+"}"}a.push({label:n.get("label"),value:o})}}),void 0!==r&&0!=r.length&&_.each(r,function(e){var t=i.channel("fields").request("get:type",e);a.push({label:"-- Add "+t.get("nicename")+" Field",value:"addField:"+e})}),e.set("options",a)},maybeSwitchToFieldsDomain:function(e,t,n){if("field-select"==t.get("type")){var r=t.get("name"),a=n.get(r);if(a){var s=a.split(":");"addField"==s[0]&&(this.openDrawer="addField",this.filterDrawer=s[1],n.set(r,""),this.switchDomain=!0,i.channel("app").request("close:drawer"))}}},SwitchToFieldsDomain:function(){if(this.switchDomain){var e=i.channel("app").request("get:domainModel","fields");i.channel("app").request("change:currentDomain",null,e),this.switchDomain=null}},autoOpenDrawer:function(){this.openDrawer&&(i.channel("app").request("open:drawer",this.openDrawer),this.openDrawer=null)},filterDrawerContents:function(){this.filterDrawer&&(i.channel("drawer-addField").trigger("change:filter",this.filterDrawer),this.filterDrawer=null)}})}),n("controllers/app/settingFieldList",["views/app/drawer/typeSettingFieldset","models/app/settingCollection"],function(e,t){return Marionette.Object.extend({fieldListSettings:[],initialize:function(){this.listenTo(i.channel("field-list"),"init:settingModel",this.registerFieldListSettings),this.listenTo(i.channel("fields"),"update:setting",this.updateFieldListSettingKeys),i.channel("field-list").reply("get:settingChildView",this.getSettingChildView,this)},registerFieldListSettings:function(e){this.fieldListSettings.push(e.get("name"))},updateFieldListSettingKeys:function(e){if(void 0!==e.changed.key){var t=e._previousAttributes.key,n=e.changed.key,i=this;_.each(Backbone.Radio.channel("actions").request("get:collection").models,function(e){_.each(e.attributes,function(r,a){var s="";_.each(i.fieldListSettings,function(i){if(a==i+"-"+t&&s!=t){var r=e.get(i+"-"+t);e.set(i+"-"+n,r),e.set(i+"-"+t,0),s=t}})})})}},getSettingChildView:function(n){var r=_.filter(i.channel("fields").request("get:collection").models,function(e){return _.contains(n.get("field_types"),e.get("type"))}),a=_.map(r,function(e){return{name:n.get("name")+"-"+e.get("key"),type:"toggle",label:e.get("label"),width:"full"}});return n.set("settings",new t(a)),e}})}),n("controllers/app/settingHTML",[],function(){return Marionette.Object.extend({initialize:function(){this.listenTo(i.channel("setting-type-html"),"before:renderSetting",this.init)},init:function(e,t){"undefined"!=e.get("mirror")&&t.on("change:"+e.get("mirror"),this.update,e)},update:function(e,t){e.set(this.get("name"),t)}})}),n("controllers/app/settingColor",[],function(){return Marionette.Object.extend({initialize:function(){i.channel("setting-type-color").reply("renderOnChange",this.setRenderFalse),this.listenTo(i.channel("setting-type-color"),"destroy:setting",this.closeColorPickers),this.listenTo(i.channel("setting-type-color"),"render:setting",this.initColorPicker)},initColorPicker:function(e,t,n){var r=(e.get("name"),jQuery(n.el).find("input"));jQuery(r).wpColorPicker({change:function(n,r){i.channel("app").request("change:setting",n,e,t,r.color.toString())}})},setRenderFalse:function(){return!1},closeColorPickers:function(e,t,n){jQuery(n.el).find(".wp-color-picker").wpColorPicker("close")}})}),n("controllers/app/changeMenu",[],function(){return Marionette.Object.extend({editFormText:"",initialize:function(){this.editFormText=nfAdmin.editFormText||"Edit Form",this.listenTo(i.channel("app"),"after:appStart",this.changeMenu),this.listenTo(i.channel("app"),"response:updateDB",this.formPublish)},changeMenu:function(){var e=i.channel("app").request("get:formModel");this.isNewForm(e.id)?this.highlightAddNew():this.appendEditForm()},isNewForm:function(e){return isNaN(e)},highlightAddNew:function(){jQuery(".wp-submenu li").removeClass("current"),jQuery('a[href="admin.php?page=ninja-forms&form_id=new"]').parent().addClass("current")},appendEditForm:function(){if(!(jQuery('li a:contains("'+this.editFormText+'")').length>0)){var e,t,n;e=document.createTextNode(this.editFormText),t=document.createElement("a"),t.appendChild(e),n=document.createElement("li"),n.appendChild(t),n.classList.add("current"),jQuery(".wp-submenu li").removeClass("current"),jQuery('a[href="admin.php?page=ninja-forms#new-form"]').parent().after(n)}},formPublish:function(e){if("publish"!==e.action)return!1;this.changeMenu()}})}),n("controllers/app/mobile",[],function(){return Marionette.Object.extend({initialize:function(){this.listenTo(i.channel("app"),"click:menu",this.closeMobileMenu)},closeMobileMenu:function(){var e=i.channel("app").request("get:builderEl");jQuery(e).removeClass("nf-menu-expand")}})}),n("controllers/app/notices",[],function(){return Marionette.Object.extend({initialize:function(){i.channel("notices").reply("add",this.addNotice,this),i.channel("notices").reply("close",this.closeNotice,this),this.notices={}},addNotice:function(e,t,n){var r={content:t,color:"green",zIndex:1e7,constructOnInit:!0,stack:!0,animation:{open:"flip",close:"flip"}},a={position:{x:"center",y:"top"},animation:{open:"slide:top",close:"slide:left"},autoClose:2e3,offset:{x:0,y:55}},s={attributes:{x:"left",y:"bottom"},autoClose:4e3};if(i.channel("app").request("is:mobile"))var o=a;else var o=s;o=jQuery.extend(o,r);var n=jQuery.extend(o,n);this.notices[e]=new jBox("Notice",n)},closeNotice:function(e){void 0!==this.notices[e]&&this.notices[e].close()},openNotice:function(e){void 0!==this.notices[e]&&this.notices[e].open()}})}),n("controllers/app/unloadCheck",[],function(){return Marionette.Object.extend({initialize:function(){jQuery(window).bind("beforeunload",this.maybePrompt)},maybePrompt:function(e){if(!i.channel("app").request("get:setting","clean"))return"You have unsaved changes."}})}),n("controllers/app/formContentFilters",[],function(){return Marionette.Object.extend({initialize:function(){this.viewFilters=[],this.saveFilters=[],this.loadFilters=[],i.channel("formContent").reply("add:viewFilter",this.addViewFilter,this),i.channel("formContent").reply("add:saveFilter",this.addSaveFilter,this),i.channel("formContent").reply("add:loadFilter",this.addLoadFilter,this),i.channel("formContent").reply("get:viewFilters",this.getViewFilters,this),i.channel("formContent").reply("get:saveFilters",this.getSaveFilters,this),i.channel("formContent").reply("get:loadFilters",this.getLoadFilters,this),i.channel("fieldContents").reply("add:viewFilter",this.addViewFilter,this),i.channel("fieldContents").reply("add:saveFilter",this.addSaveFilter,this),i.channel("fieldContents").reply("add:loadFilter",this.addLoadFilter,this),i.channel("fieldContents").reply("get:viewFilters",this.getViewFilters,this),i.channel("fieldContents").reply("get:saveFilters",this.getSaveFilters,this),i.channel("fieldContents").reply("get:loadFilters",this.getLoadFilters,this)},addViewFilter:function(e,t){this.viewFilters[t]=e},getViewFilters:function(){return this.viewFilters},addSaveFilter:function(e,t){this.saveFilters[t]=e},getSaveFilters:function(){return this.saveFilters},addLoadFilter:function(e,t){this.loadFilters[t]=e},getLoadFilters:function(){return this.loadFilters}})}),n("controllers/app/formContentGutterFilters",[],function(){return Marionette.Object.extend({initialize:function(){this.leftFilters=[],this.rightFilters=[],i.channel("formContentGutters").reply("add:leftFilter",this.addLeftFilter,this),i.channel("formContentGutters").reply("add:rightFilter",this.addRightFilter,this),i.channel("formContentGutters").reply("get:leftFilters",this.getLeftFilters,this),i.channel("formContentGutters").reply("get:rightFilters",this.getRightFilters,this)},addLeftFilter:function(e,t){this.leftFilters[t]=e},addRightFilter:function(e,t){this.rightFilters[t]=e},getLeftFilters:function(){return this.leftFilters},getRightFilters:function(){return this.rightFilters}})}),n("controllers/app/cloneCollectionDeep",[],function(){return Marionette.Object.extend({initialize:function(){i.channel("app").reply("clone:collectionDeep",this.cloneCollectionDeep,this)},cloneCollectionDeep:function(e){var t=[];return _.each(e.models,function(e){var n=i.channel("app").request("clone:modelDeep",e);t.push(n)}),new e.constructor(t,e.options)}})}),n("controllers/app/trackKeyDown",[],function(){return Marionette.Object.extend({keys:[],initialize:function(){var e=this;jQuery(document).on("keydown",function(t){e.keyDown(t,e)}),jQuery(document).on("keyup",function(t){e.keyUp(t,e)}),i.channel("app").reply("get:keydown",this.getKeyDown,this)},keyDown:function(e,t){t.keys[e.keyCode]=e.keyCode},keyUp:function(e,t){-1!=t.keys.indexOf(e.keyCode)&&delete t.keys[e.keyCode]},getKeyDown:function(){return this.keys}})}),n("controllers/app/perfectScroll",[],function(){return Marionette.Object.extend({movedPos:!1,initialize:function(){this.listenTo(i.channel("main"),"show:main",this.initPerfectScroll),this.listenTo(i.channel("drawer"),"opened",this.moveRail),this.listenTo(i.channel("drawer"),"before:closeDrawer",this.resetRail)},initPerfectScroll:function(e){i.channel("app").request("is:mobile")||jQuery(e.el).parent().perfectScrollbar({suppressScrollX:!0}),jQuery("head").append('<style id="ps-scrollbar-css" type="text/css"></style>')},moveRail:function(){var e=i.channel("app").request("get:drawerEl"),t=jQuery(e).outerWidth();jQuery("#ps-scrollbar-css").text(".ps-scrollbar-moved { right: "+t+"px !important; } "),jQuery("#nf-main .ps-scrollbar-y-rail").addClass("ps-scrollbar-moved ")},resetRail:function(){jQuery(".ps-scrollbar-y-rail").removeClass("ps-scrollbar-moved ")}})}),n("models/app/settingGroupModel",["models/app/settingCollection"],function(e){return Backbone.Model.extend({defaults:{display:!1},initialize:function(t){0==this.get("settings")instanceof Backbone.Collection&&this.set("settings",new e(this.get("settings")))}})}),n("models/app/settingGroupCollection",["models/app/settingGroupModel"],function(e){return Backbone.Collection.extend({model:e})}),n("controllers/app/getNewSettingGroupCollection",["models/app/settingGroupCollection"],function(e){return Marionette.Object.extend({initialize:function(){i.channel("app").reply("get:settingGroupCollectionDefinition",this.getNewSettingGroupCollection,this)},getNewSettingGroupCollection:function(){return e}})}),n("controllers/app/settingMedia",[],function(){return Marionette.Object.extend({initialize:function(){this.listenTo(i.channel("setting-type-media"),"click:extra",this.clickExtra)},clickExtra:function(e,t,n,i){var r=jQuery(e.target).parent().find(".setting");if(jQuery(e.target).hasClass("open-media-manager")){if(this.meta_image_frame)return void this.meta_image_frame.open();this.meta_image_frame=wp.media.frames.meta_image_frame=wp.media({title:"Select a file",button:{text:"insert"}});var a=this;this.meta_image_frame.on("select",function(){
5
  var e=a.meta_image_frame.state().get("selection").first().toJSON();r.val(e.url).change()}),this.meta_image_frame.open()}}})}),n("models/app/typeModel",["models/app/settingGroupCollection"],function(e){return Backbone.Model.extend({initialize:function(){!1==this.get("settingGroups")instanceof Backbone.Collection&&this.set("settingGroups",new e(this.get("settingGroups"))),i.channel("fields").trigger("init:typeModel",this)}})}),n("models/app/typeCollection",["models/app/typeModel"],function(e){return Backbone.Collection.extend({model:e,type:!1,initialize:function(e,t){_.each(t,function(e,t){this[t]=e},this)}})}),n("models/fields/typeSectionModel",[],function(){return Backbone.Model.extend({defaults:{classes:""}})}),n("models/fields/typeSectionCollection",["models/fields/typeSectionModel"],function(e){return Backbone.Collection.extend({model:e})}),n("controllers/fields/types",["models/app/typeCollection","models/fields/typeSectionCollection"],function(e,t){return Marionette.Object.extend({initialize:function(){this.sections=new t(fieldTypeSections),this.listenTo(i.channel("fields"),"init:typeModel",this.registerSection),this.collection=new e(fieldTypeData,{type:"fields"}),i.channel("fields").reply("get:type",this.getFieldType,this),i.channel("fields").reply("get:typeCollection",this.getTypeCollection,this),i.channel("fields").reply("get:typeSections",this.getTypeSections,this),i.channel("fields").reply("get:savedFields",this.getSavedFields,this),this.listenTo(i.channel("drawer"),"click:fieldType",this.addField)},registerSection:function(e){"fields"==e.collection.type&&e.get("section")&&this.sections.get(e.get("section")).get("fieldTypes").push(e.get("id"))},getFieldType:function(e){return this.collection.get(e)},getTypeCollection:function(e){return this.collection},addField:function(e){var t=jQuery(e.target).data("id");if(e.shiftKey)return void i.channel("fields").request("add:stagedField",t);var n=i.channel("fields").request("add",{type:t,label:i.channel("fields").request("get:type",t).get("nicename")});console.log(n);var r={object:"Field",label:n.get("label"),change:"Added",dashicon:"plus-alt"},a={collection:i.channel("fields").request("get:collection")};i.channel("changes").request("register:change","addObject",n,null,r,a),i.channel("fields").request("redraw:collection")},getTypeSections:function(){return this.sections},getSavedFields:function(){this.sections.get("saved")}})}),n("controllers/fields/fieldTypeDrag",[],function(){return Marionette.Object.extend({initialize:function(){this.listenTo(i.channel("drawer-addField"),"startDrag:type",this.startDrag),this.listenTo(i.channel("drawer-addField"),"stopDrag:type",this.stopDrag),i.channel("drawer-addField").reply("get:typeHelperClone",this.getCurrentDraggableHelperClone,this)},startDrag:function(e,t){this.drawerEl=i.channel("app").request("get:drawerEl"),this.mainEl=i.channel("app").request("get:mainEl"),jQuery(this.drawerEl)[0].style.setProperty("overflow","visible","important"),this.draggableHelperClone=jQuery(t.helper).clone()},stopDrag:function(e,t){jQuery(this.drawerEl)[0].style.setProperty("overflow","hidden","important")},getCurrentDraggableHelperClone:function(){return this.draggableHelperClone}})}),n("controllers/fields/stagingDrag",[],function(){return Marionette.Object.extend({initialize:function(){this.listenTo(i.channel("drawer-addField"),"startDrag:fieldStaging",this.startDrag),this.listenTo(i.channel("drawer-addField"),"stopDrag:fieldStaging",this.stopDrag)},startDrag:function(e,t){this.drawerEl=i.channel("app").request("get:drawerEl"),this.mainEl=i.channel("app").request("get:mainEl"),jQuery(this.drawerEl)[0].style.setProperty("overflow","visible","important");var n=i.channel("fields").request("get:staging"),r=i.channel("app").request("get:template","#tmpl-nf-staged-fields-drag");jQuery(t.helper).html(r({num:n.models.length})),jQuery(t.helper).prop("id","nf-staged-fields-drag"),jQuery(t.item).css("opacity","0.7")},stopDrag:function(e,t){jQuery(this.drawerEl)[0].style.setProperty("overflow","hidden","important")}})}),n("controllers/fields/staging",["models/fields/stagingCollection"],function(e){return Marionette.Object.extend({initialize:function(){this.collection=new e,i.channel("fields").reply("add:stagedField",this.addStagedField,this),i.channel("fields").reply("remove:stagedField",this.removeStagedField,this),i.channel("fields").reply("get:staging",this.getStagingCollection,this),i.channel("fields").reply("sort:staging",this.sortStagedFields,this),i.channel("fields").reply("clear:staging",this.clearStagedFields,this),this.listenTo(i.channel("drawer-addField"),"click:removeStagedField",this.removeStagedField),this.listenTo(i.channel("drawer-addField"),"before:closeDrawer",this.beforeCloseDrawer)},getStagingCollection:function(){return this.collection},addStagedField:function(e,t){var t=t||!1,n=i.channel("fields").request("get:type",e),r="nf-staged-field-"+jQuery.now(),a={id:r,slug:n.get("type"),nicename:n.get("nicename"),icon:n.get("icon")},s=this.collection.add(a);return t||i.channel("fields").trigger("add:stagedField",s),r},removeStagedField:function(e,t){this.collection.remove(t),i.channel("fields").trigger("remove:stagedField",t)},beforeCloseDrawer:function(){if(0!=this.collection.models.length){var e=i.channel("fields").request("get:collection");_.each(this.collection.models,function(t){var n=i.channel("fields").request("get:tmpID"),r={id:n,label:t.get("nicename"),type:t.get("slug")},a=i.channel("fields").request("add",r,!1),s={object:"Field",label:a.get("label"),change:"Added",dashicon:"plus-alt"},o={collection:e};i.channel("changes").request("register:change","addObject",a,null,s,o)}),e.trigger("reset",e),this.collection.reset()}i.channel("fields").request("sort:fields",null,null,!1)},sortStagedFields:function(){var e=i.channel("app").request("get:stagedFieldsEl"),t=jQuery(e).sortable("toArray");_.each(this.collection.models,function(e){var n=e.get("id"),i=t.indexOf(n);e.set("order",i)}),this.collection.sort()},clearStagedFields:function(){this.collection.reset()}})}),n("controllers/fields/stagingSortable",["models/fields/stagingCollection"],function(e){return Marionette.Object.extend({initialize:function(){this.listenTo(i.channel("drawer-addField"),"receive:stagedFields",this.receiveStagedFields),this.listenTo(i.channel("drawer-addField"),"over:stagedFields",this.overStagedFields),this.listenTo(i.channel("drawer-addField"),"out:stagedFields",this.outStagedFields),this.listenTo(i.channel("drawer-addField"),"start:stagedFields",this.startStagedFields),this.listenTo(i.channel("drawer-addField"),"stop:stagedFields",this.stopStagedFields)},receiveStagedFields:function(e){if(jQuery(e.item).hasClass("nf-field-type-draggable")){var t=jQuery(e.item).data("id"),n=i.channel("fields").request("add:stagedField",t);jQuery(e.helper).prop("id",n),i.channel("fields").request("sort:staging"),jQuery(e.helper).remove(),i.channel("drawer-addField").trigger("drop:fieldType",t)}},addActiveClass:function(){var e=i.channel("app").request("get:stagedFieldsEl");jQuery(e).addClass("nf-droppable-active")},removeActiveClass:function(){var e=i.channel("app").request("get:stagedFieldsEl");jQuery(e).removeClass("nf-droppable-active")},overStagedFields:function(e,t){if(jQuery(t.item).hasClass("nf-field-type-draggable")){var n=jQuery(t.item).data("id"),r=i.channel("fields").request("get:type",n),a=r.get("nicename");this.currentHelper=t.helper,jQuery(t.helper).html(a+'<span class="dashicons dashicons-dismiss"></span>'),jQuery(t.helper).removeClass("nf-field-type-button").addClass("nf-item-dock").css({opacity:"0.8",width:"",height:""});var s=i.channel("app").request("get:stagedFieldsEl");jQuery(s).hasClass("ui-sortable")&&jQuery(s).addClass("nf-droppable-hover")}},outStagedFields:function(e){if(jQuery(e.item).hasClass("nf-field-type-draggable")){var t=i.channel("drawer-addField").request("get:typeHelperClone");jQuery(this.currentHelper).html(jQuery(t).html()),jQuery(this.currentHelper).removeClass("nf-item-dock").addClass("nf-field-type-button");var n=i.channel("app").request("get:stagedFieldsEl");jQuery(n).hasClass("ui-sortable")&&jQuery(n).removeClass("nf-droppable-hover")}},startStagedFields:function(e){jQuery(e.item).show(),jQuery(e.item).css({display:"inline",opacity:"0.7"}),jQuery(e.helper).css("opacity","0.5")},stopStagedFields:function(e){jQuery(e.item).css("opacity",""),jQuery(e.helper).remove()}})}),n("controllers/fields/filterTypes",["models/fields/typeSectionCollection"],function(e){return Marionette.Object.extend({initialize:function(){this.listenTo(i.channel("drawer-addField"),"change:filter",this.filterFieldTypes)},filterFieldTypes:function(t,n){if(""!=jQuery.trim(t)){var r=[];_.each(this.filterCollection(t),function(e){r.push(e.get("id"))});for(var a=new e([{id:"filtered",nicename:"Filtered Fields",fieldTypes:r}]),s=i.channel("app").request("update:hiddenFields")||[],o=a.models[0].get("fieldTypes").length-1;o>=0;o--){-1<s.indexOf(a.models[0].get("fieldTypes")[o])&&a.models[0].get("fieldTypes").splice(o,1)}i.channel("drawer").trigger("filter:fieldTypes",a),void 0!==n&&n.addObject&&0<r.length&&(i.channel("fields").request("add:stagedField",r[0]),i.channel("drawer").request("clear:filter"))}else i.channel("drawer").trigger("clear:filter")},filterCollection:function(e){return e=e.toLowerCase(),i.channel("fields").request("get:typeCollection").filter(function(t){var n=!1;return-1!=t.get("type").toLowerCase().indexOf(e)?n=!0:-1!=t.get("nicename").toLowerCase().indexOf(e)&&(n=!0),t.get("tags")&&0==e.indexOf("#")&&_.each(t.get("tags"),function(t){e.replace("#","").length>1&&-1!=t.toLowerCase().indexOf(e.replace("#",""))&&(n=!0)}),t.get("alias")&&_.each(t.get("alias"),function(t){-1!=t.toLowerCase().indexOf(e)&&(n=!0)}),n})}})}),n("controllers/fields/sortable",[],function(){return Marionette.Object.extend({initialize:function(){this.listenTo(i.channel("drawer-addField"),"startDrag:type",this.addActiveClass),this.listenTo(i.channel("drawer-addField"),"stopDrag:type",this.removeActiveClass),this.listenTo(i.channel("drawer-addField"),"startDrag:fieldStaging",this.addActiveClass),this.listenTo(i.channel("drawer-addField"),"stopDrag:fieldStaging",this.removeActiveClass),i.channel("app").reply("receive:fieldsSortable",this.receiveFieldsSortable,this),i.channel("app").reply("over:fieldsSortable",this.overfieldsSortable,this),i.channel("app").reply("out:fieldsSortable",this.outFieldsSortable,this),i.channel("app").reply("stop:fieldsSortable",this.stopFieldsSortable,this),i.channel("app").reply("start:fieldsSortable",this.startFieldsSortable,this),i.channel("app").reply("update:fieldsSortable",this.updateFieldsSortable,this)},addActiveClass:function(){var e=i.channel("fields").request("get:sortableEl");jQuery(e).addClass("nf-droppable-active")},removeActiveClass:function(){var e=i.channel("fields").request("get:sortableEl");jQuery(e).removeClass("nf-droppable-active")},receiveFieldsSortable:function(e){if(jQuery(e.item).hasClass("nf-field-type-draggable")){var t=jQuery(e.item).data("id"),n=this.addField(t,!1);jQuery(e.helper).prop("id",n),i.channel("fields").request("sort:fields"),jQuery(e.helper).remove(),i.channel("fields").trigger("drop:fieldType",t,n)}else if(jQuery(e.item).hasClass("nf-stage")){var r=this;i.channel("fields").request("sort:staging");var a=i.channel("fields").request("get:staging"),s=i.channel("fields").request("get:sortableEl");if(jQuery(s).hasClass("ui-sortable"))var o=jQuery(s).sortable("toArray");else var o=["nf-staged-fields-drag"];var l=o.indexOf("nf-staged-fields-drag");_.each(a.models,function(e,t){var n=r.addField(e.get("slug"));o.splice(l+t,0,n)});var l=o.indexOf("nf-staged-fields-drag");o.splice(l,1),i.channel("fields").request("sort:fields",o),i.channel("fields").request("clear:staging"),jQuery(e.helper).remove()}},addField:function(e,t){t=t||!1;var n=i.channel("fields").request("get:type",e),r=i.channel("fields").request("get:tmpID"),a=i.channel("fields").request("add",{id:r,label:n.get("nicename"),type:e},t),s={object:"Field",label:a.get("label"),change:"Added",dashicon:"plus-alt"},o={collection:i.channel("fields").request("get:collection")};return i.channel("changes").request("register:change","addObject",a,null,s,o),r},overfieldsSortable:function(e){if(jQuery(e.item).hasClass("nf-field-type-draggable")){var t=jQuery(e.helper).data("id"),n=i.channel("fields").request("get:type",t),r=n.get("nicename"),a=i.channel("fields").request("get:sortableEl"),s=jQuery(a).width();this.currentHelper=e.helper,jQuery(e.helper).html(r),jQuery(e.helper).removeClass("nf-field-type-button").addClass("nf-field-wrap").css({width:s,height:"50px"}),jQuery(a).hasClass("ui-sortable")&&jQuery(a).addClass("nf-droppable-hover")}else if(jQuery(e.item).hasClass("nf-stage")){var a=i.channel("fields").request("get:sortableEl");jQuery(a).hasClass("ui-sortable")&&jQuery(a).addClass("nf-droppable-hover")}},outFieldsSortable:function(e){if(jQuery(e.item).hasClass("nf-field-type-draggable")){var t=i.channel("drawer-addField").request("get:typeHelperClone");jQuery(this.currentHelper).html(jQuery(t).html()),jQuery(this.currentHelper).removeClass("nf-field-wrap").addClass("nf-field-type-button").css({width:"",height:""});var n=i.channel("fields").request("get:sortableEl");jQuery(n).hasClass("ui-sortable")&&jQuery(n).removeClass("nf-droppable-hover")}else if(jQuery(e.item).hasClass("nf-stage")){var n=i.channel("fields").request("get:sortableEl");jQuery(n).hasClass("ui-sortable")&&jQuery(n).removeClass("nf-droppable-hover")}},stopFieldsSortable:function(e){jQuery(e.item).css("opacity",""),jQuery(e.helper).remove(),i.channel("fields").trigger("sortable:stop",e)},startFieldsSortable:function(e){jQuery(e.item).hasClass("nf-field-type-draggable")||jQuery(e.item).hasClass("nf-stage")||jQuery(e.item).css("opacity","0.5").show(),i.channel("fields").trigger("sortable:start",e)},updateFieldsSortable:function(e,t){if(i.channel("fields").request("sort:fields"),!jQuery(e.item).hasClass("nf-field-type-draggable")&&!jQuery(e.item).hasClass("nf-stage")){var n=i.channel("fields").request("get:collection"),r=jQuery(e.item).prop("id").replace("field-",""),a=n.get(r),s={fields:[]};_.each(n.models,function(e){var t=e._previousAttributes.order,n=e.get("order");s.fields.push({model:e,attr:"order",before:t,after:n})});var o={object:"Field",label:a.get("label"),change:"Re-ordered from "+a._previousAttributes.order+" to "+a.get("order"),dashicon:"sort"};i.channel("changes").request("register:change","sortFields",a,null,o,s)}}})}),n("controllers/fields/data",["models/fields/fieldCollection","models/fields/fieldModel"],function(e,t){return Marionette.Object.extend({adding:!1,removing:!1,initialize:function(){this.collection=new e(preloadedFormData.fields),this.collection.removedIDs={},i.channel("fields").reply("get:collection",this.getFieldCollection,this),i.channel("fields").reply("get:field",this.getField,this),i.channel("fields").reply("redraw:collection",this.redrawFieldCollection,this),i.channel("fields").reply("get:tmpID",this.getTmpFieldID,this),i.channel("fields").reply("add",this.addField,this),i.channel("fields").reply("delete",this.deleteField,this),i.channel("fields").reply("sort:fields",this.sortFields,this),i.channel("fields").reply("get:adding",this.getAdding,this),i.channel("fields").reply("set:adding",this.setAdding,this),i.channel("fields").reply("get:removing",this.getRemoving,this),i.channel("fields").reply("set:removing",this.setRemoving,this)},getFieldCollection:function(){return this.collection},redrawFieldCollection:function(){this.collection.trigger("reset",this.collection)},getField:function(e){return this.collection.findWhere({key:e})?this.collection.findWhere({key:e}):this.collection.get(e)},addField:function(e,n,r,a){if(i.channel("fields").request("set:adding",!0),n=n||!1,a=a||"",r=void 0===r||r,!1==e instanceof Backbone.Model){void 0===e.id&&(e.id=this.getTmpFieldID());var s=new t(e)}else var s=e;if(jQuery.isNumeric(s.get("type"))){var o=i.channel("fields").request("get:type",s.get("type"));s.set("type",o.get("parentType"))}var l=this.collection.add(s,{silent:n});return i.channel("app").request("update:setting","clean",!1),i.channel("fields").trigger("add:field",s),r&&i.channel("fields").trigger("render:newField",l,a),"duplicate"==a&&i.channel("fields").trigger("render:duplicateField",l,a),i.channel("fields").trigger("after:addField",s),s},updateFieldSetting:function(e,t,n){this.collection.get(e).set(t,n)},sortFields:function(e,t,n){null==n&&(n=!0);var r=i.channel("fields").request("get:sortableEl");if(jQuery(r).hasClass("ui-sortable")){var e=e||jQuery(r).sortable("toArray");_.each(this.collection.models,function(t){var n=(t.get("order"),t.get("id"));if(jQuery.isNumeric(n))var i="field-"+n;else var i=n;var r=e.indexOf(i)+1;t.set("order",r)}),this.collection.sort(),n&&(i.channel("app").request("update:setting","clean",!1),i.channel("app").request("update:db"))}},deleteField:function(e){i.channel("fields").trigger("delete:field",e),this.removing=!0,this.collection.remove(e),i.channel("app").request("update:setting","clean",!1),i.channel("app").request("update:db")},getTmpFieldID:function(){var e=this.collection.tmpNum;return this.collection.tmpNum++,"tmp-"+e},getAdding:function(){return this.adding},setAdding:function(e){this.adding=e},getRemoving:function(){return this.removing},setRemoving:function(e){this.removing=e}})}),n("models/app/optionRepeaterModel",[],function(){return Backbone.Model.extend({defaults:{errors:{},max_options:0},initialize:function(){this.on("change:errors",this.changeErrors,this)},changeErrors:function(e){if(0==_.size(e.get("errors"))){var t=!1;_.each(e.collection.models,function(e){0!=_.size(e.get("errors"))&&(t=!0)}),t||e.collection.settingModel.set("error",!1)}else e.collection.settingModel.set("error",!0)}})}),n("models/app/optionRepeaterCollection",["models/app/optionRepeaterModel"],function(e){return Backbone.Collection.extend({model:e,comparator:"order",initialize:function(e,t){this.on("sort",this.changeCollection,this),this.on("add",this.addOption,this),this.settingModel=t.settingModel},changeCollection:function(){i.channel("option-repeater").trigger("sort:options",this),void 0!==this.settingModel&&i.channel("option-repeater-"+this.settingModel.get("name")).trigger("sort:options",this)},addOption:function(e,t){e.set("settingModel",this.settingModel)}})}),n("views/app/drawer/optionRepeaterError",[],function(){return Marionette.ItemView.extend({tagName:"div",className:"nf-error",template:"#tmpl-nf-edit-setting-option-repeater-error",templateHelpers:function(){var e=this;return{renderErrors:function(){return void 0!==e.errors?e.errors[Object.keys(errors)[0]]:""}}}})}),n("views/app/drawer/optionRepeaterOption",["views/app/drawer/optionRepeaterError"],function(e){return Marionette.LayoutView.extend({tagName:"div",className:"nf-table-row",template:"#tmpl-nf-edit-setting-option-repeater-default-row",id:function(){return this.model.cid},regions:{error:".nf-option-error"},initialize:function(e){this.settingModel=e.settingModel,this.dataModel=e.dataModel,this.collection=e.collection,this.columns=e.columns,this.parentView=e.parentView,this.model.on("change:errors",this.renderErrors,this),void 0!==this.settingModel.get("tmpl_row")&&(this.template="#"+this.settingModel.get("tmpl_row")),this.hasErrors=!1},onBeforeDestroy:function(){this.model.off("change",this.render),this.model.off("change:errors",this.renderErrors)},onBeforeRender:function(){if(this.model.get("label")){var e=this.model.get("label");this.model.set("label",_.escape(e),{silent:!0})}},onRender:function(){if(i.channel("mergeTags").request("init",this),i.channel("setting-"+this.settingModel.get("name")+"-option").trigger("render:setting",this.model,this.dataModel,this),this.model.get("label")){var e=this.model.get("label");this.model.set("label",_.unescape(e),{silent:!0})}},onShow:function(){this.model.get("new")&&(jQuery(this.el).find("input:first").focus(),this.model.set("new",!1))},events:{"change .setting":"changeOption","click .nf-delete":"deleteOption",keyup:"keyupOption"},changeOption:function(e){i.channel("option-repeater").trigger("change:option",e,this.model,this.dataModel,this.settingModel,this)},deleteOption:function(e){i.channel("option-repeater").trigger("click:deleteOption",this.model,this.collection,this.dataModel,this)},keyupOption:function(e){this.maybeAddOption(e),i.channel("option-repeater").trigger("keyup:option",e,this.model,this.dataModel,this.settingModel,this),i.channel("option-repeater-"+this.settingModel.get("name")).trigger("keyup:option",e,this.model,this.dataModel,this.settingModel,this)},maybeAddOption:function(e){13==e.keyCode&&"calculations"!=this.settingModel.get("name")&&(i.channel("option-repeater").trigger("click:addOption",this.collection,this.dataModel,this),jQuery(this.parentView.children.findByIndex(this.parentView.children.length-1).el).find('[data-id="label"]').focus())},renderErrors:function(){0==Object.keys(this.model.get("errors"))?this.hasErrors&&(this.error.empty(),jQuery(this.el).removeClass("nf-error")):(this.hasErrors=!0,this.error.show(new e({model:this.model})),jQuery(this.el).addClass("nf-error"))},templateHelpers:function(){var e=this;return{getColumns:function(){return e.columns},renderFieldSelect:function(e,t){var n,r,a,s,o=i.channel("fields").request("get:collection");return n=document.createElement("option"),n.value="",n.label="--",n.innerHTML="--",r=document.createElement("select"),r.classList.add("setting"),r.setAttribute("data-id",e),r.appendChild(n),o.each(function(e){var n=document.createElement("option");t==e.get("key")&&n.setAttribute("selected","selected"),n.value=e.get("key"),n.innerHTML=e.get("label"),n.label=e.get("label"),r.appendChild(n)}),s=document.createElement("label"),s.classList.add("nf-select"),s.appendChild(r),a=document.createElement("div"),s.appendChild(a),s.innerHTML},renderOptions:function(t,n){if(void 0!==e.options.columns[t]){var i=document.createElement("select");return _.each(e.options.columns[t].options,function(e){var t=document.createElement("option");n===e.value&&t.setAttribute("selected","selected"),t.setAttribute("value",e.value),t.setAttribute("label",e.label),i.appendChild(t)}),i.innerHTML}}}}})}),n("views/app/drawer/optionRepeaterEmpty",[],function(){return Marionette.ItemView.extend({tagName:"tr",template:"#tmpl-nf-edit-setting-option-repeater-empty"})}),n("views/app/drawer/optionRepeaterComposite",["views/app/drawer/optionRepeaterOption","views/app/drawer/optionRepeaterEmpty","models/app/optionRepeaterCollection"],function(e,t,n){return Marionette.CompositeView.extend({template:"#tmpl-nf-edit-setting-option-repeater-wrap",childView:e,emptyView:t,reorderOnSort:!1,initialize:function(e){var t=e.dataModel.get(this.model.get("name"));0==t instanceof Backbone.Collection&&(t=new n([],{settingModel:this.model}),t.add(e.dataModel.get(this.model.get("name"))),e.dataModel.set(this.model.get("name"),t,{silent:!0})),this.collection=t,this.dataModel=e.dataModel,this.childViewOptions={parentView:this,settingModel:this.model,collection:this.collection,dataModel:e.dataModel,columns:this.model.get("columns")};var r=this.model.get("deps");if(r)for(var a in r)r.hasOwnProperty(a)&&this.dataModel.on("change:"+a,this.render,this);this.listenTo(i.channel("option-repeater"),"added:option",this.maybeHideNew),this.listenTo(i.channel("option-repeater"),"removed:option",this.maybeHideNew)},onBeforeDestroy:function(){var e=this.model.get("deps");if(e)for(var t in e)e.hasOwnProperty(t)&&this.dataModel.off("change:"+t,this.render)},onRender:function(){var e=this;jQuery(this.el).find(".nf-list-options-tbody").sortable({handle:".handle",helper:"clone",placeholder:"nf-list-options-sortable-placeholder",forcePlaceholderSize:!0,opacity:.95,tolerance:"pointer",start:function(e,t){i.channel("option-repeater").request("start:optionSortable",t)},stop:function(e,t){i.channel("option-repeater").request("stop:optionSortable",t)},update:function(t,n){i.channel("option-repeater").request("update:optionSortable",n,this,e)}}),e.maybeHideNew(e.collection),i.channel("setting-"+this.model.get("name")).trigger("render:setting",this.model,this.dataModel,this)},onAttach:function(){var e=jQuery(this.el).find(".nf-open-import-tooltip"),t=jQuery(e).jBox("Tooltip",{title:"<h3>Please enter your options below:</h3>",content:jQuery(this.el).find(".nf-import-options"),trigger:"click",closeOnClick:"body",closeButton:"box",offset:{x:20,y:0},addClass:"import-options",onOpen:function(){var e=this;setTimeout(function(){jQuery(e.content).find("textarea").focus()},200)}});jQuery(this.el).find(".nf-import").on("click",{view:this,jBox:t},this.clickImport),i.channel("setting-"+this.model.get("name")).trigger("attach:setting",this.model,this.dataModel,this),i.channel("setting-type-"+this.model.get("type")).trigger("attach:setting",this.model,this.dataModel,this)},templateHelpers:function(){var e=this;return{renderHeaders:function(){var e,t,n;return t=document.createElement("div"),e=document.createElement("span"),e.appendChild(t),_.each(this.columns,function(t){var n,i;n=document.createRange().createContextualFragment(t.header),i=document.createElement("div"),i.appendChild(n),e.appendChild(i)}),n=document.createElement("div"),e.appendChild(n),e.innerHTML},renderSetting:function(){return i.channel("app").request("get:template","#tmpl-nf-edit-setting-"+this.type)(this)},renderClasses:function(){var e="";return void 0!==this.width?e+=this.width:e+=" one-half",this.error&&(e+=" nf-error"),e},renderVisible:function(){if(this.deps)for(var t in this.deps)if(this.deps.hasOwnProperty(t)&&e.dataModel.get(t)!==this.deps[t])return'style="display:none;"';return""},renderError:function(){return this.error?this.error:""},renderFieldsetClasses:function(){return e.model.get("name")},currencySymbol:function(){return i.channel("settings").request("get:setting","currency")||nfi18n.currency_symbol}}},attachHtml:function(e,t){jQuery(e.el).find(".nf-list-options-tbody").append(t.el),i.channel("mergeTags").request("init",this)},events:{"click .nf-add-new":"clickAddOption","click .extra":"clickExtra"},maybeHideNew:function(e){if(void 0===e.settingModel)return!1;var t=e.settingModel.get("max_options");0!==t&&e.models.length>=t?jQuery(this.el).find(".nf-add-new").addClass("disabled"):jQuery(this.el).find(".nf-add-new").removeClass("disabled")},clickAddOption:function(e){i.channel("option-repeater").trigger("click:addOption",this.collection,this.dataModel),jQuery(this.children.findByIndex(this.children.length-1).el).find('[data-id="label"]').focus()},clickExtra:function(e){i.channel("option-repeater").trigger("click:extra",e,this.collection,this.dataModel),i.channel("option-repeater-"+this.model.get("name")).trigger("click:extra",e,this.model,this.collection,this.dataModel)},clickImport:function(e){var t=jQuery(e.data.jBox.content).find("textarea"),n=t.val().trimLeft().trimRight();if(0==n.length)return e.data.jBox.close(),!1;var r=n.split(/\n/);_.isArray(r)&&_.each(r,function(t){var n=t.split(","),r=n[0],a=n[1]||jQuery.slugify(r,{separator:"-"}),s=n[2]||"";r=r.trimLeft().trimRight(),a=a.trimLeft().trimRight(),s=s.trimLeft().trimRight();var o=e.data.view.collection.add({label:n[0],value:a,calc:s}),r={object:"field",label:n[0],change:"Option Added",dashicon:"plus-alt"};i.channel("changes").request("register:change","addListOption",o,null,r),i.channel("option-repeater-"+e.data.view.model.get("name")).trigger("add:option",o),i.channel("option-repeater").trigger("add:option",o),i.channel("app").trigger("update:setting",o)},this),t.val(""),e.data.jBox.close()}})}),n("controllers/app/optionRepeater",["models/app/optionRepeaterModel","models/app/optionRepeaterCollection","views/app/drawer/optionRepeaterComposite"],function(e,t,n){return Marionette.Object.extend({initialize:function(){i.channel("option-repeater").reply("get:settingChildView",this.getSettingChildView,this),this.listenTo(i.channel("option-repeater"),"change:option",this.changeOption),this.listenTo(i.channel("option-repeater"),"click:addOption",this.addOption),this.listenTo(i.channel("option-repeater"),"click:deleteOption",this.deleteOption),i.channel("option-repeater").reply("update:optionSortable",this.updateOptionSortable,this),i.channel("option-repeater").reply("stop:optionSortable",this.stopOptionSortable,this),i.channel("option-repeater").reply("start:optionSortable",this.startOptionSortable,this),this.listenTo(i.channel("option-repeater"),"init:dataModel",this.convertSettings)},changeOption:function(e,t,n,r,a){var s=jQuery(e.target).data("id");if("selected"==s)if(jQuery(e.target).attr("checked"))var o=1;else var o=0;else var o=jQuery(e.target).val();var l=t.get(s);t.set(s,o),this.triggerDataModel(t,n);var c=o,d={attr:s,before:l,after:c},h={object:n.get("objectType"),label:n.get("label"),change:"Option "+t.get("label")+" "+s+" changed from "+l+" to "+c};i.channel("changes").request("register:change","changeSetting",t,d,h),i.channel("option-repeater").trigger("update:option",t,n,r,a),i.channel("option-repeater-option-"+s).trigger("update:option",e,t,n,r,a),i.channel("option-repeater-"+r.get("name")).trigger("update:option",t,n,r,a)},addOption:function(t,n){var r={order:t.length,new:!0,options:{}};if(void 0!==t.settingModel){var a=t.settingModel.get("max_options");if(0!==a&&t.models.length>=a)return;_.each(t.settingModel.get("columns"),function(e,t){r[t]=e.default,void 0!==e.options&&(r.options[t]=e.options)})}var s=new e(r);t.add(s);var o={object:n.get("objectType"),label:n.get("label"),change:"Option Added",dashicon:"plus-alt"};i.channel("changes").request("register:change","addListOption",s,null,o),void 0!==t.settingModel&&i.channel("option-repeater-"+t.settingModel.get("name")).trigger("add:option",s),i.channel("option-repeater").trigger("add:option",s),i.channel("option-repeater").trigger("added:option",t),this.triggerDataModel(s,n)},deleteOption:function(e,t,n){var r=i.channel("app").request("clone:modelDeep",e),a={object:n.get("objectType"),label:n.get("label"),change:"Option "+r.get("label")+" Removed",dashicon:"dismiss"},s={collection:t};i.channel("changes").request("register:change","removeListOption",r,null,a,s);var o=i.channel("changes").request("get:collection"),l=o.where({model:e});_.each(l,function(e){"object"==typeof e.get("data")&&_.each(e.get("data"),function(e){e.model==e&&(e.model=r)}),e.set("model",r),e.set("disabled",!0)}),t.remove(e),i.channel("option-repeater").trigger("remove:option",e),i.channel("option-repeater").trigger("removed:option",t),i.channel("option-repeater-"+t.settingModel.get("name")).trigger("remove:option",e),this.triggerDataModel(e,n)},triggerDataModel:function(e,t){i.channel("app").trigger("update:setting",e)},getSettingChildView:function(e){return n},updateOptionSortable:function(e,t,n){var r=jQuery(t).sortable("toArray"),a=n.collection.get({cid:jQuery(e.item).prop("id")}),s={collection:n.collection,objModels:[]};_.each(r,function(e,t){var i=n.collection.get({cid:e}),r=i.get("order");i.set("order",t);var a=t;s.objModels.push({model:i,attr:"order",before:r,after:a})}),n.collection.sort({silent:!0});var o={object:n.dataModel.get("objectType"),label:n.dataModel.get("label"),change:"Option "+a.get("label")+" re-ordered from "+a._previousAttributes.order+" to "+a.get("order"),dashicon:"sort"};i.channel("changes").request("register:change","sortListOptions",a,null,o,s),this.triggerDataModel(a,n.dataModel),i.channel("option-repeater").trigger("sort:option",a,n),i.channel("option-repeater-"+n.model.get("name")).trigger("sort:option",a,n)},stopOptionSortable:function(e){jQuery(e.item).css("opacity","")},startOptionSortable:function(e){jQuery(e.placeholder).find("div").remove(),jQuery(e.item).css("opacity","0.5").show()},convertSettings:function(e,n){var i=e.get(n.get("name"));0==i instanceof Backbone.Collection&&(i=new t([],{settingModel:n}),i.add(e.get(n.get("name"))),e.set(n.get("name"),i,{silent:!0}))}})}),n("controllers/fields/editActive",[],function(){
6
- return Marionette.Object.extend({initialize:function(){i.channel("fields").reply("clear:editActive",this.clearEditActive,this),this.listenTo(i.channel("drawer-editSettings"),"before:closeDrawer",this.clearEditActive)},clearEditActive:function(){var e=i.channel("fields").request("get:collection");_.each(e.models,function(e){e.set("editActive",!1)})}})}),n("controllers/fields/fieldSettings",["models/app/settingCollection"],function(e){return Marionette.Object.extend({initialize:function(){this.collection=new e(fieldSettings,{objectType:"fields"}),i.channel("fields").reply("get:settingModel",this.getSettingModel,this),i.channel("fields").reply("get:settingCollection",this.getSettingCollection,this)},getSettingModel:function(e){return this.collection.findWhere({name:e})},getSettingCollection:function(){return this.collection}})}),n("controllers/fields/fieldCreditCard",[],function(){return Marionette.Object.extend({initialize:function(){this.listenTo(i.channel("fields"),"after:addField",this.dropCreditCardField)},dropCreditCardField:function(e){if("creditcard"==e.get("type")){var t=e.get("order");i.channel("fields").request("delete",e),_.each(["creditcardfullname","creditcardnumber","creditcardcvc","creditcardexpiration","creditcardzip"],function(e){var n=i.channel("fields").request("get:type",e),r={id:i.channel("fields").request("get:tmpID"),type:e,label:n.get("nicename"),order:t};i.channel("fields").request("add",r)})}},stageCreditCardField:function(e){"creditcard"==e.get("slug")&&(i.channel("fields").request("remove:stagedField","",e),_.each(["creditcardfullname","creditcardnumber","creditcardcvc","creditcardexpiration","creditcardzip"],function(e){i.channel("fields").request("add:stagedField",e)}))}})}),n("controllers/fields/fieldList",["models/app/optionRepeaterCollection"],function(e){return Marionette.Object.extend({initialize:function(){this.listenTo(i.channel("option-repeater-option-label"),"update:option",this.updateOptionLabel),this.listenTo(i.channel("option-repeater-option-value"),"update:option",this.updateOptionValue),this.listenTo(i.channel("fields-list"),"init:fieldModel",this.convertOptions)},updateOptionLabel:function(e,t,n,i,r){"list"==_.findWhere(fieldTypeData,{id:n.get("type")}).parentType&&(t.get("manual_value")||(value=jQuery.slugify(t.get("label"),{separator:"-"}),t.set("value",value),t.trigger("change",t),jQuery(r.el).find('[data-id="value"]').focus().select()))},updateOptionValue:function(e,t,n,i,r){if("Field"==n.get("objectType")){var a=t.get("value"),s=/[^0-9a-zA-Z _@.-]/g;a=a.replace(s,""),t.set("value",a),r.render()}var o=_.findWhere(fieldTypeData,{id:n.get("type")});void 0!==o&&"list"==o.parentType&&(t.set("manual_value",!0),jQuery(r.el).find('[data-id="calc"]').focus().select())},convertOptions:function(t){var n=t.get("options"),r=i.channel("fields").request("get:settingModel","options");0==n instanceof Backbone.Collection&&(n=new e([],{settingModel:r}),n.add(t.get("options")),t.set("options",n,{silent:!0}))}})}),n("controllers/fields/fieldPassword",[],function(){return Marionette.Object.extend({initialize:function(){this.listenTo(i.channel("fields"),"after:addField",this.addField)},addField:function(e){if("password"==e.get("type")){var t=e.get("order");this.insertField("passwordconfirm",t+1).set("confirm_field",e.get("key"))}},insertField:function(e,t){var n=i.channel("fields").request("get:type",e),r={id:i.channel("fields").request("get:tmpID"),type:e,label:n.get("nicename"),order:t};return i.channel("fields").request("add",r)}})}),n("controllers/fields/fieldQuantity",[],function(){return Marionette.Object.extend({initialize:function(){this.listenTo(i.channel("app"),"before:renderSetting",this.beforeRenderSetting)},beforeRenderSetting:function(e,t,n){if("product_assignment"==e.get("name")){var i=this.getProductFields(e);e.set("options",i)}},getProductFields:function(e){var t=[e.get("select_product")],n=i.channel("fields").request("get:collection");return _.each(n.models,function(e){"product"==e.get("type")&&t.push({label:e.get("label"),value:e.get("id")})}),t}})}),n("controllers/fields/fieldShipping",[],function(){return Marionette.Object.extend({initialize:function(){this.listenTo(i.channel("setting-shipping_options"),"render:setting",this.addMask),this.listenTo(i.channel("setting-shipping_options-option"),"render:setting",this.addMask)},addMask:function(e,t,n){jQuery(n.el).find('[data-id="value"]').each(function(){jQuery(this).autoNumeric({aSign:"$",aSep:thousandsSeparator,aDec:decimalPoint})})}})}),n("controllers/fields/key",[],function(){return Marionette.Object.extend({initialize:function(){this.listenTo(i.channel("fields"),"add:field",this.newFieldKey),this.listenTo(i.channel("fieldSetting-label"),"update:setting",this.updateLabel),this.listenTo(i.channel("fieldSetting-key"),"update:setting",this.updateKey),this.listenTo(i.channel("setting-key"),"keyup:setting",this.keyUp)},newFieldKey:function(e){var t=new Date,n=t.valueOf(),i=this.slugify(e.get("type")+"_"+n);e.set("key",i,{silent:!0}),"undefined"==e.get("manual_key")&&e.set("manual_key",!1,{silent:!0})},updateLabel:function(e){if(!e.get("manual_key")&&0!=jQuery.trim(e.get("label")).length){delete e.changed.label;var t=new Date,n=t.valueOf(),i=this.slugify(e.get("label")+"_"+n);e.set("key",i)}},updateKey:function(e){var t=e.get("key");this.settingModel=i.channel("fields").request("get:settingModel","key"),this.setError(t,e)},keyUp:function(e,t,n){n.set("manual_key",!0),this.settingModel=t;var i=jQuery(e.target).val();this.setError(i,n)},setError:function(e,t){var n=!1;""==jQuery.trim(e)?n="Field keys can't be empty. Please enter a key.":e!=e.toLowerCase()?n="Field keys must be lowercase.":e!=e.replace(" ","_")?n='Field keys must cannot use spaces. Separate with "_" instead.':"_"==e.slice(-1)?n='Field keys cannot end with a "_"':e!=this.slugify(e)?n="Invalid Format.":e!=this.keyExists(e,t)&&(n="Field keys must be unique. Please enter another key."),n?this.settingModel.set("error",n):(i.channel("app").trigger("update:fieldKey",t),this.settingModel.set("error",!1))},keyExists:function(e,t){var n=this.slugify(e);0!=n.length&&(e=n);var r=i.channel("fields").request("get:collection"),a=1,s=e;return _.each(r.models,function(n){t!=n&&s==n.get("key")&&(s=e+"_"+a,a++)}),e=s},slugify:function(e){return jQuery.slugify(e,{separator:"_"})}})}),n("controllers/fields/notices",[],function(){return Marionette.Object.extend({initialize:function(){this.listenTo(i.channel("fields"),"add:stagedField",this.addStagedField)},addStagedField:function(e){i.channel("notices").request("add","addStagedField",e.get("nicename")+" added to staging")}})}),n("controllers/fields/mobile",[],function(){return Marionette.Object.extend({initialize:function(){this.listenTo(i.channel("fields"),"sortable:start",this.startWiggle),this.listenTo(i.channel("fields"),"sortable:stop",this.stopWiggle)},initWiggle:function(e){i.channel("app").request("is:mobile")&&jQuery(e.el).find(".nf-field-wrap").on("taphold",function(){jQuery(this).ClassyWiggle("start",{degrees:[".65","1",".65","0","-.65","-1","-.65","0"],delay:50})})},startWiggle:function(e){i.channel("app").request("is:mobile")&&(jQuery(e.item).removeClass("ui-sortable-helper").ClassyWiggle("stop"),jQuery(e.helper).css("opacity","0.75").ClassyWiggle("start",{degrees:[".5","1",".5","0","-.5","-1","-.5","0"]}))},stopWiggle:function(e){i.channel("app").request("is:mobile")&&(jQuery(e.helper).ClassyWiggle("stop"),jQuery(e.item).removeClass("ui-sortable-helper drag-selected"))}})}),n("controllers/fields/savedFields",[],function(){return Marionette.Object.extend({ignoreAttributes:["editActive","order","saved","jBox"],initialize:function(){this.listenTo(i.channel("fields"),"update:setting",this.updateField),this.listenTo(i.channel("drawer"),"click:addSavedField",this.clickAddSavedField,this)},updateField:function(e){if(e.get("saved")){var t=!1,n=_.keys(e.changedAttributes()),i=this;_.each(n,function(e){-1==i.ignoreAttributes.indexOf(e)&&(t=!0)}),t&&e.set("saved",!1)}},clickAddSavedField:function(e,t){var n=i.channel("app").request("clone:modelDeep",t),r=n.attributes;r.saved=!0,delete r.jBox,delete r.editActive,delete r.created_at,delete r.order,delete r.id,delete r.formID,delete r.parent_id;var a=i.channel("fields").request("get:type",r.type),s=_.clone(a.attributes),o=jQuery(e.target).parent().parent().find("input").val();console.log(o),s.nicename=o,r.label=o,r.nicename=o,t.set("addSavedLoading",!0);var l=JSON.stringify(r);jQuery.post(ajaxurl,{action:"nf_create_saved_field",field:l,security:nfAdmin.ajaxNonce},function(e){e=JSON.parse(e),s.id=e.data.id,s.nicename=o,s.settingDefaults=r;var n=i.channel("fields").request("get:typeCollection");n.add(s);i.channel("fields").request("get:typeSections").get("saved").get("fieldTypes").push(s.id),t.set("addSavedLoading",!1),t.unset("addSavedLoading",{silent:!0}),t.get("jBox").close(),i.channel("notices").request("add","addSaved","Saved Field Added")})}})}),n("controllers/fields/fieldDatepicker",[],function(){return Marionette.Object.extend({initialize:function(){this.listenTo(i.channel("setting-type-datepicker"),"render:setting",this.addDatepicker)},addDatepicker:function(e,t,n){pikadayResponsive(jQuery(n.el).find(".setting")[0])}})}),n("controllers/fields/fieldDisplayCalc",[],function(){return Marionette.Object.extend({initialize:function(){this.listenTo(i.channel("setting-calc_var"),"before:renderSetting",this.beforeRenderSetting)},beforeRenderSetting:function(e,t,n){},getProductFields:function(e){var t=[e.get("select_product")],n=i.channel("fields").request("get:collection");return _.each(n.models,function(e){"product"==e.get("type")&&t.push({label:e.get("label"),value:e.get("id")})}),t}})}),n("controllers/actions/types",["models/app/typeCollection"],function(e){return Marionette.Object.extend({initialize:function(){this.installedActions=new e(_.filter(actionTypeData,function(e){return"installed"==e.section}),{slug:"installed",nicename:nfi18n.installed}),this.availableActions=new e(_.filter(actionTypeData,function(e){return"available"==e.section}),{slug:"available",nicename:nfi18n.available}),i.channel("actions").reply("get:type",this.getType,this),i.channel("actions").reply("get:installedActions",this.getInstalledActions,this),i.channel("actions").reply("get:availableActions",this.getAvailableActions,this)},getType:function(e){var t=this.installedActions.get(e);return t||(t=this.availableActions.get(e)),t},getInstalledActions:function(){return this.installedActions},getAvailableActions:function(){return this.availableActions},addStagedField:function(e){var t=jQuery(e.target).data("id");i.channel("fields").request("add:stagedField",t)},getTypeSections:function(){return this.fieldTypeSections}})}),n("models/actions/actionModel",[],function(){return Backbone.Model.extend({defaults:{objectType:"Action",objectDomain:"actions",editActive:!1},initialize:function(){this.on("change",this.changeSetting,this);var e=i.channel("actions").request("get:type",this.get("type"));if(void 0!==e){var t=this;_.each(e.get("settingDefaults"),function(e,n){t.get(n)||t.set(n,e,{silent:!0})}),i.channel("actions").trigger("init:actionModel",this),i.channel("actions-"+this.get("type")).trigger("init:actionModel",this),this.listenTo(i.channel("app"),"fire:updateFieldKey",this.updateFieldKey)}},changeSetting:function(e,t){i.channel("actionSetting-"+_.keys(this.changedAttributes())[0]).trigger("update:setting",this,t.settingModel),i.channel("actions").trigger("update:setting",this,t.settingModel),i.channel("app").trigger("update:setting",this,t.settingModel)},updateFieldKey:function(e,t){i.channel("app").trigger("replace:fieldKey",this,e,t)}})}),n("models/actions/actionCollection",["models/actions/actionModel"],function(e){return Backbone.Collection.extend({model:e,comparator:"order",tmpNum:1,initialize:function(){this.on("add",this.addAction,this),this.on("remove",this.removeAction,this),this.newIDs=[]},addAction:function(e){this.newIDs.push(e.get("id"))},removeAction:function(e){this.removedIDs[e.get("id")]=e.get("id")}})}),n("controllers/actions/data",["models/actions/actionCollection","models/actions/actionModel"],function(e,t){return Marionette.Object.extend({initialize:function(){if(this.collection=new e(preloadedFormData.actions),this.collection.tmpNum=1,0!=this.collection.models.length){var t=this;_.each(this.collection.models,function(e){jQuery.isNumeric(e.get("id"))||t.collection.tmpNum++})}this.collection.removedIDs={},i.channel("actions").reply("get:collection",this.getCollection,this),i.channel("actions").reply("get:action",this.getAction,this),i.channel("actions").reply("get:tmpID",this.getTmpID,this),i.channel("actions").reply("add",this.addAction,this),i.channel("actions").reply("delete",this.deleteAction,this)},getCollection:function(){return this.collection},getAction:function(e){return this.collection.get(e)},addAction:function(e,n){if(n=n||!1,!1==e instanceof Backbone.Model)var r=new t(e);else var r=e;return this.collection.add(r,{silent:n}),i.channel("app").request("update:setting","clean",!1),r},deleteAction:function(e){this.collection.remove(e),i.channel("app").request("update:setting","clean",!1),i.channel("app").request("update:db")},getTmpID:function(){var e=this.collection.tmpNum;return this.collection.tmpNum++,"tmp-"+e}})}),n("controllers/actions/actionSettings",["models/app/settingCollection"],function(e){return Marionette.Object.extend({initialize:function(){this.collection=new e(actionSettings,{objectType:"actions"}),i.channel("actions").reply("get:settingModel",this.getSettingModel,this)},getSettingModel:function(e){return this.collection.findWhere({name:e})}})}),n("controllers/actions/editActive",[],function(){return Marionette.Object.extend({initialize:function(){i.channel("actions").reply("clear:editActive",this.clearEditActive,this),this.listenTo(i.channel("drawer-editSettings"),"before:closeDrawer",this.clearEditActive)},clearEditActive:function(){var e=i.channel("actions").request("get:collection");_.each(e.models,function(e){e.set("editActive",!1)})}})}),n("controllers/actions/emailFromSetting",[],function(){return Marionette.Object.extend({initialize:function(){this.listenTo(i.channel("actionSetting-from_address"),"update:setting",this.updateFromAddress)},updateFromAddress:function(e,t){if(void 0!==t){var n=e.get("from_address").trim();return"{wp:admin_email}"==n?t.set("warning",!1):n&&!this.isValidEmail(n)||nfAdmin.home_url_host!=n.replace(/.*@/,"")?t.set("warning",nfi18n.errorInvalidEmailFromAddress):t.set("warning",!1)}},isValidEmail:function(e){return/^.+@.+\..+$/.test(e)}})}),n("controllers/actions/addActionTypes",["models/actions/actionCollection","models/actions/actionModel"],function(e,t){return Marionette.Object.extend({initialize:function(){this.listenTo(i.channel("actions"),"click:addAction",this.addAction),i.channel("actions").reply("add:actionType",this.addAction,this)},addAction:function(e){var t={id:i.channel("actions").request("get:tmpID"),type:e.get("id"),label:e.get("settingDefaults").label||e.get("nicename")},n=i.channel("actions").request("add",t),r={object:"Action",label:n.get("label"),change:"Added",dashicon:"plus-alt"},t={collection:i.channel("actions").request("get:collection")};i.channel("changes").request("register:change","addObject",n,null,r,t),i.channel("app").trigger("click:edit",{},n)}})}),n("controllers/actions/typeDrag",[],function(){return Marionette.Object.extend({initialize:function(){this.listenTo(i.channel("drawer-addAction"),"startDrag:type",this.startDrag),this.listenTo(i.channel("drawer-addAction"),"stopDrag:type",this.stopDrag),i.channel("drawer-addAction").reply("get:typeHelperClone",this.getCurrentDraggableHelperClone,this)},startDrag:function(e,t){this.drawerEl=i.channel("app").request("get:drawerEl"),this.mainEl=i.channel("app").request("get:mainEl"),jQuery(this.drawerEl)[0].style.setProperty("overflow","visible","important"),this.draggableHelperClone=jQuery(t.helper).clone()},stopDrag:function(e,t){jQuery(this.drawerEl)[0].style.setProperty("overflow","hidden","important")},getCurrentDraggableHelperClone:function(){return this.draggableHelperClone}})}),n("controllers/actions/droppable",[],function(){return Marionette.Object.extend({initialize:function(){i.channel("app").reply("drop:actionType",this.dropActionType,this)},dropActionType:function(e,t){var n=jQuery(t.helper).data("type"),r=i.channel("actions").request("get:type",n);i.channel("actions").request("add:actionType",r)}})}),n("models/actions/typeModel",[],function(){return Backbone.Model.extend({})}),n("models/actions/typeCollection",["models/actions/typeModel"],function(e){return Backbone.Collection.extend({model:e})}),n("controllers/actions/filterTypes",["models/actions/typeCollection"],function(e){return Marionette.Object.extend({initialize:function(){this.listenTo(i.channel("drawer-addAction"),"change:filter",this.filterActionTypes)},filterActionTypes:function(t,n){if(""!=jQuery.trim(t)){var r=[],a=i.channel("actions").request("get:installedActions");_.each(this.filterCollection(t,a),function(e){r.push(e)});var s=[],o=i.channel("actions").request("get:availableActions");_.each(this.filterCollection(t,o),function(e){s.push(e)});var l=new e(r);l.slug="installed",l.nicename="Installed";var c=new e(s);c.slug="available",c.nicename="Available",i.channel("drawer").trigger("filter:actionTypes",l,c),n.addObject&&0<l.length&&(i.channel("actions").request("add:actionType",l.models[0]),i.channel("drawer").request("clear:filter"))}else i.channel("drawer").trigger("clear:filter")},filterCollection:function(e,t){return e=e.toLowerCase(),t.filter(function(t){var n=!1;return-1!=t.get("id").toLowerCase().indexOf(e)?n=!0:-1!=t.get("nicename").toLowerCase().indexOf(e)&&(n=!0),t.get("tags")&&0==e.indexOf("#")&&_.each(t.get("tags"),function(t){e.replace("#","").length>1&&-1!=t.toLowerCase().indexOf(e.replace("#",""))&&(n=!0)}),t.get("alias")&&_.each(t.get("alias"),function(t){-1!=t.toLowerCase().indexOf(e)&&(n=!0)}),n})}})}),n("controllers/actions/newsletterList",[],function(){return Marionette.Object.extend({initialize:function(){this.listenTo(i.channel("setting-newsletter_list"),"show:setting",this.defaultFields),this.listenTo(i.channel("setting-type-newsletter_list"),"click:extra",this.clickListUpdate),this.listenTo(i.channel("actionSetting-newsletter_list"),"update:setting",this.maybeRenderFields),this.listenTo(i.channel("actionSetting-newsletter_list"),"update:setting",this.maybeRenderGroups),this.listenTo(i.channel("setting-name-newsletter_list_fields"),"init:settingModel",this.registerFieldsListener),this.listenTo(i.channel("setting-name-newsletter_list_groups"),"init:settingModel",this.registerGroupsListener)},defaultFields:function(e,t){this.maybeRenderFields(t,e),this.maybeRenderGroups(t,e)},registerFieldsListener:function(e){e.listenTo(i.channel("newsletter_list_fields"),"update:fieldMapping",this.updateFieldMapping,e)},registerGroupsListener:function(e){e.listenTo(i.channel("newsletter_list_groups"),"update:interestGroups",this.updateInterestGroups,e)},clickListUpdate:function(e,t,n,i){var r={action:"nf_"+n.attributes.type+"_get_lists",security:nfAdmin.ajaxNonce},a=this;jQuery(e.srcElement).addClass("spin"),jQuery.post(ajaxurl,r,function(e){var e=JSON.parse(e);a.updateLists(t,e.lists,i,n),n.set("newsletter_list",e.lists[0].value,{settingModel:t})}).always(function(){jQuery(e.srcElement).removeClass("spin")})},updateLists:function(e,t,n,i){e.set("options",t),n.render()},maybeRenderFields:function(e,t){if(void 0!==t){var n=e.get("newsletter_list"),r=t.get("options");_.each(r,function(e){n==e.value&&i.channel("newsletter_list_fields").trigger("update:fieldMapping",e.fields)}),e.set("newsletter_list_fields",0)}},maybeRenderGroups:function(e,t){if(void 0!==t){var n=e.get("newsletter_list"),r=t.get("options");_.each(r,function(e){n==e.value&&i.channel("newsletter_list_groups").trigger("update:interestGroups",e.groups)}),e.set("newsletter_list_fields",0)}},updateFieldMapping:function(e){var t=this.get("settings");t.reset(),_.each(e,function(e){t.add({name:e.value,type:"textbox",label:e.label,width:"full",use_merge_tags:{exclude:["user","post","system","querystrings"]}})}),this.set("settings",t)},updateInterestGroups:function(e){var t=this.get("settings");t.reset(),_.each(e,function(e){t.add({name:e.value,type:"toggle",label:e.label,width:"full"})}),this.set("settings",t)}})}),n("controllers/actions/deleteFieldListener",[],function(){return Marionette.Object.extend({initialize:function(){this.listenTo(i.channel("actions"),"init:actionModel",this.registerListener)},registerListener:function(e){e.listenTo(i.channel("fields"),"delete:field",this.maybeUpdateSettings)},maybeUpdateSettings:function(e){var t,n="{field:"+e.get("key")+"}";_.each(this.attributes,function(e,i){if(_.isString(e))this.set(i,e.replace(n,""));else if(_.isArray(e))_.each(e,function(r,a){_.isString(r)?console.log("string replace"):_.isArray(r)?console.log("array search"):_.isObject(r)&&(t=_.mapObject(r,function(t,i){return _.isString(t)&&-1!=t.indexOf(n)&&e.splice(a,1),t}),this.set(i,e))},this);else if(e instanceof Backbone.Collection){var r=e.filter(function(e){return _.every(e.attributes,function(e){return!_.isString(e)||-1==e.indexOf(n)})});this.set(i,r)}},this)}})}),n("controllers/actions/collectPaymentFields",[],function(){return Marionette.Object.extend({initialize:function(){this.listenTo(i.channel("app"),"before:renderSetting",this.beforeRenderSetting)},beforeRenderSetting:function(e,t,n){if("field"!=e.get("total_type"))return!1;var r=this.getFields(e),a=t.get("payment_total");a=a.replace("{field:",""),a=a.replace("}","");var s=i.channel("fields").request("get:field",a);void 0!==s&&void 0===_.findWhere(r,{value:t.get("payment_total")})&&r.push({label:s.get("label"),value:"{field:"+s.get("key")+"}"}),e.set("options",r)},getFields:function(e){var t=[e.get("default_options")],n=i.channel("fields").request("get:collection");return _.each(n.models,function(e){"number"!=e.get("type")&&"total"!=e.get("type")&&"checkbox"!=e.get("type")||t.push({label:e.get("label"),value:"{field:"+e.get("key")+"}"})}),t=_.sortBy(t,function(e){return e.label})}})}),n("controllers/actions/collectPaymentCalculations",[],function(){return Marionette.Object.extend({initialize:function(){this.listenTo(i.channel("app"),"before:renderSetting",this.beforeRenderSetting)},beforeRenderSetting:function(e,t,n){if("calc"==e.get("total_type")){var r=i.channel("app").request("get:formModel"),a=this.getCalcs(r,e);e.set("options",a)}},getCalcs:function(e,t){var n=[t.get("default_options")],i=e.get("settings").get("calculations");return _.each(i.models,function(e){n.push({label:e.get("name"),value:"{calc:"+e.get("name")+"}"})}),n=_.sortBy(n,function(e){return e.label})}})}),n("controllers/actions/collectPaymentFixed",[],function(){return Marionette.Object.extend({initialize:function(){this.listenTo(i.channel("app"),"before:renderSetting",this.beforeRenderSetting)},beforeRenderSetting:function(e,t,n){if("payment_total_type"!=e.get("name")||_.isEmpty(t.get("payment_total")))return!1;("undefined"==t.get("payment_total_type")||_.isEmpty(t.get("payment_total_type")))&&(-1!=t.get("payment_total").indexOf("{field")?t.set("payment_total_type","field"):-1!=t.get("payment_total").indexOf("{calc")?t.set("payment_total_type","calc"):t.set("payment_total_type","fixed"))}})}),n("controllers/actions/collectPayment",[],function(e){return Marionette.Object.extend({initialize:function(){this.listenTo(i.channel("actions-collectpayment"),"init:actionModel",this.initCollectPayment),this.listenTo(i.channel("app"),"before:renderSetting",this.maybeClearTotal)},initCollectPayment:function(e){e.listenTo(i.channel("calcs"),"update:calcName",this.maybeUpdateTotal)},maybeError:function(){},maybeUpdateTotal:function(e,t){if("calculation"==this.get("payment_total_type")){var n=this.get("payment_total").replace("{calc:"+t+"}","{calc:"+e.get("name")+"}");this.set("payment_total",n)}},maybeClearTotal:function(e,t,n){"fixed"==t.get("payment_total_type")&&(-1==t.get("payment_total").indexOf("{field")&&-1==t.get("payment_total").indexOf("{calc")||t.set("payment_total",""))}})}),n("controllers/advanced/types",["models/app/typeCollection"],function(e){return Marionette.Object.extend({initialize:function(){this.collection=new e(formSettingTypeData),i.channel("settings").reply("get:type",this.getType,this),i.channel("settings").reply("get:typeCollection",this.getCollection,this)},getType:function(e){return this.collection.get(e)},getCollection:function(){return this.collection}})}),n("models/advanced/settingsModel",[],function(){return Backbone.Model.extend({defaults:{objectType:"Form Setting",editActive:!1},initialize:function(){this.bind("change",this.changeSetting,this);var e=i.channel("settings").request("get:collection");_.each(e.models,function(e){void 0===this.get(e.get("name"))&&this.set(e.get("name"),e.get("value"),{silent:!0}),i.channel(e.get("type")).trigger("init:dataModel",this,e)},this),this.listenTo(i.channel("app"),"fire:updateFieldKey",this.updateFieldKey)},changeSetting:function(e,t){i.channel("app").trigger("update:setting",this,t.settingModel)},updateFieldKey:function(e,t){i.channel("app").trigger("replace:fieldKey",this,e,t)}})}),n("controllers/advanced/data",["models/advanced/settingsModel"],function(e){return Marionette.Object.extend({initialize:function(){this.model=new e(preloadedFormData.settings),i.channel("settings").reply("get:settings",this.getSettings,this),i.channel("settings").reply("get:setting",this.getSetting,this),i.channel("settings").reply("update:setting",this.updateSetting,this)},getSettings:function(){return this.model},updateSetting:function(e,t,n){n=n||!1,this.model.set(e,t,{silent:n})},getSetting:function(e){return this.model.get(e)}})}),n("controllers/advanced/formSettings",["models/app/settingCollection"],function(e){return Marionette.Object.extend({initialize:function(){this.collection=new e(formSettings,{objectType:"settings"}),i.channel("settings").reply("get:settingModel",this.getSettingModel,this),i.channel("settings").reply("get:collection",this.getSettingCollection,this)},getSettingModel:function(e){return this.collection.findWhere({name:e})},getSettingCollection:function(){return this.collection}})}),n("controllers/advanced/editActive",[],function(){return Marionette.Object.extend({initialize:function(){i.channel("settings").reply("clear:editActive",this.clearEditActive,this),this.listenTo(i.channel("drawer-editSettings"),"before:closeDrawer",this.clearEditActive)},clearEditActive:function(){var e=i.channel("settings").request("get:typeCollection");_.each(e.models,function(e){e.set("editActive",!1)})}})}),n("controllers/advanced/clickEdit",["models/advanced/settingsModel"],function(e){return Marionette.Object.extend({initialize:function(){this.listenTo(i.channel("settings"),"click:edit",this.clickEdit)},clickEdit:function(e,t){var n=i.channel("settings").request("get:settings");i.channel("app").request("open:drawer","editSettings",{model:n,groupCollection:t.get("settingGroups"),typeModel:t}),i.channel("drawer").request("get:preventClose")||t.set("editActive",!0)}})}),n("controllers/advanced/calculations",[],function(){return Marionette.Object.extend({initialize:function(){this.listenTo(i.channel("option-repeater-calculations"),"keyup:option",this.keyUp),this.listenTo(i.channel("option-repeater-calculations"),"update:option",this.updateCalc),this.listenTo(i.channel("option-repeater-calculations"),"sort:option",this.sortCalc)},keyUp:function(e,t){var n=jQuery(e.target).val(),i=jQuery(e.target).data("id");"name"==i?(this.checkName(n,t),this.checkEQ(t.get("eq"),t)):"eq"==i?this.checkEQ(n,t):"dec"==i&&this.checkDec(n,t)},updateCalc:function(e){this.checkName(e.get("name"),e,!1),this.checkEQ(e.get("eq"),e),this.checkDec(e.get("dec"),e),Backbone.Radio.channel("calcs").trigger("update:calc",e)},sortCalc:function(e,t){this.checkAllCalcs(t.collection)},checkName:function(e,t,n){n=n||!0;var r=t.get("errors"),a=t.collection.where({name:jQuery.trim(e)});if(e==t.get("name")&&(a=[]),0!=a.length)r.nameExists="Calculation names must be unique. Please enter another name.";else{var s=t.get("name");t.set("name",e,{silent:n}),i.channel("calcs").trigger("update:calcName",t,s),delete r.nameExists}t.set("errors",r),t.trigger("change:errors",t)},checkEQ:function(e,t){var n=t.get("errors"),i=!1,r=!1,a=e.match(new RegExp(/{calc:(.*?)}/g));if(a){var s=t.collection;a=a.map(function(e){var a=e.replace("}","").replace("{calc:",""),o=s.findWhere({name:a});a==t.get("name")?(n.selfRef="A calculation can't reference itself!",i=!0):o&&o.get("order")>t.get("order")&&(r=!0,n.futureCalc="Can't reference a future calculation!")})}i||delete n.selfRef,r||delete n.futureCalc,t.set("errors",n),t.trigger("change:errors",t)},checkDec:function(e,t){if(void 0===e)return!1;var n=t.get("errors"),i=!1,r=Math.abs(parseInt(e.trim()));""!==e.trim()&&r.toString()!==e.trim()&&(i=!0,n.nonIntDec="Decimals must be a non-negative integer!"),i||delete n.nonIntDec,t.set("errors",n),t.trigger("change:errors",t)},checkAllCalcs:function(e){var t=this;e.models.map(function(e){t.checkName(e.get("name"),e),t.checkEQ(e.get("eq"),e),t.checkDec(e.get("dec"),e)})}})}),
7
- n("controllers/loadControllers",["controllers/app/remote","controllers/app/drawer","controllers/app/drawerConfig","controllers/app/domainConfig","controllers/app/data","controllers/app/drawerToggleSettingGroup","controllers/app/updateDB","controllers/app/formData","controllers/app/previewLink","controllers/app/menuButtons","controllers/app/trackChanges","controllers/app/undoChanges","controllers/app/publishResponse","controllers/app/changeDomain","controllers/app/pushstate","controllers/app/hotkeys","controllers/app/cleanState","controllers/app/coreUndo","controllers/app/cloneModelDeep","controllers/app/getSettingChildView","controllers/app/changeSettingDefault","controllers/app/fieldset","controllers/app/toggleSetting","controllers/app/itemControls","controllers/app/mergeTags","controllers/app/mergeTagBox","controllers/app/itemSettingFill","controllers/app/confirmPublish","controllers/app/rte","controllers/app/settingFieldSelect","controllers/app/settingFieldList","controllers/app/settingHTML","controllers/app/settingColor","controllers/app/changeMenu","controllers/app/mobile","controllers/app/notices","controllers/app/unloadCheck","controllers/app/formContentFilters","controllers/app/formContentGutterFilters","controllers/app/cloneCollectionDeep","controllers/app/trackKeyDown","controllers/app/perfectScroll","controllers/app/getNewSettingGroupCollection","controllers/app/settingMedia","controllers/fields/types","controllers/fields/fieldTypeDrag","controllers/fields/stagingDrag","controllers/fields/staging","controllers/fields/stagingSortable","controllers/fields/filterTypes","controllers/fields/sortable","controllers/fields/data","controllers/app/optionRepeater","controllers/fields/editActive","controllers/fields/fieldSettings","controllers/fields/fieldCreditCard","controllers/fields/fieldList","controllers/fields/fieldPassword","controllers/fields/fieldQuantity","controllers/fields/fieldShipping","controllers/fields/key","controllers/fields/notices","controllers/fields/mobile","controllers/fields/savedFields","controllers/fields/fieldDatepicker","controllers/fields/fieldDisplayCalc","controllers/actions/types","controllers/actions/data","controllers/actions/actionSettings","controllers/actions/editActive","controllers/actions/emailFromSetting","controllers/actions/addActionTypes","controllers/actions/typeDrag","controllers/actions/droppable","controllers/actions/filterTypes","controllers/actions/newsletterList","controllers/actions/deleteFieldListener","controllers/actions/collectPaymentFields","controllers/actions/collectPaymentCalculations","controllers/actions/collectPaymentFixed","controllers/actions/collectPayment","controllers/advanced/types","controllers/advanced/data","controllers/advanced/formSettings","controllers/advanced/editActive","controllers/advanced/clickEdit","controllers/advanced/calculations"],function(e,t,n,i,r,a,s,o,l,c,d,h,u,g,p,f,m,y,v,w,b,C,j,k,T,M,S,F,x,Q,q,D,_,O,A,E,V,R,z,B,L,N,I,H,P,G,$,K,W,U,J,Z,X,Y,ee,te,ne,ie,re,ae,se,oe,le,ce,de,he,ue,ge,pe,fe,me,ye,ve,we,be,Ce,je,ke,Te,Me,Se,Fe,xe,Qe,qe,De,_e){return Marionette.Object.extend({initialize:function(){new R,new z,new f,new e,new t,new n,new i,new a,new l,new c,new d,new h,new u,new g,new m,new y,new v,new k,new F,new x,new Q,new q,new D,new _,new H,new O,new A,new E,new V,new s,new B,new L,new N,new I,new C,new X,new P,new G,new $,new K,new W,new U,new J,new b,new j,new w,new Y,new ee,new te,new ne,new ie,new re,new ae,new se,new oe,new le,new ce,new de,new he,new Ce,new je,new Te,new Se,new ue,new ge,new pe,new fe,new me,new ye,new ve,new we,new be,new ke,new Me,new Fe,new Qe,new _e,new xe,new qe,new De,new r,new Z,new o,new T,new M,new S}})}),n("views/fields/fieldItem",["views/app/itemControls"],function(e){return Marionette.LayoutView.extend({tagName:"div",template:"#tmpl-nf-main-content-field",doingShortcut:!1,regions:{itemControls:".nf-item-controls"},initialize:function(){this.model.on("change:editActive",this.render,this),this.model.on("change:label",this.render,this),this.model.on("change:required",this.render,this),this.model.on("change:id",this.render,this)},onBeforeDestroy:function(){this.model.off("change:editActive",this.render),this.model.off("change:label",this.render),this.model.off("change:required",this.render),this.model.off("change:id",this.render)},onRender:function(){this.$el=this.$el.children(),this.$el.unwrap(),this.setElement(this.$el),this.itemControls.show(new e({model:this.model})),jQuery(this.el).disableSelection(),i.channel("app").request("is:mobile")&&jQuery(this.el).on("taphold",function(e,t){jQuery(e.target).hasClass("nf-edit-settings")||(jQuery(this).addClass("ui-sortable-helper drag-selected"),jQuery(this).ClassyWiggle("start",{degrees:[".65","1",".65","0","-.65","-1","-.65","0"],delay:50}))})},templateHelpers:function(){return{renderClasses:function(){var e="nf-field-wrap";return this.editActive&&(e+=" active"),e},renderRequired:function(){return 1==this.required?'<span class="required">*</span>':""},getFieldID:function(){return jQuery.isNumeric(this.id)?"field-"+this.id:this.id},renderIcon:function(){var e,t;return e=i.channel("fields").request("get:type",this.type),t=document.createElement("span"),t.classList.add("fa","fa-"+e.get("icon")),t.outerHTML}}},events:{"mouseover .nf-item-control":"mouseoverItemControl",mousedown:"maybeShortcut",click:"maybeClickEdit",singletap:"maybeTapEdit",swipeleft:"swipeLeft",swiperight:"swipeRight",tapend:"tapend"},maybeClickEdit:function(e){if(this.doingShortcut)return this.doingShortcut=!1,!1;(jQuery(e.target).parent().hasClass("nf-fields-sortable")||jQuery(e.target).parent().hasClass("nf-field-wrap")||jQuery(e.target).hasClass("nf-field-wrap"))&&!i.channel("app").request("is:mobile")&&(jQuery(":focus").blur(),i.channel("app").trigger("click:edit",e,this.model))},maybeShortcut:function(e){var t=i.channel("app").request("get:keydown");return-1==t.indexOf(16)||(-1!=t.indexOf(68)?(i.channel("app").trigger("click:delete",e,this.model),this.doingShortcut=!0,!1):-1!=t.indexOf(67)?(this.doingShortcut=!0,i.channel("app").trigger("click:duplicate",e,this.model),!1):void 0)},maybeTapEdit:function(e){jQuery(e.target).parent().hasClass("nf-fields-sortable")&&i.channel("app").trigger("click:edit",e,this.model)},swipeLeft:function(e,t){jQuery(t.startEvnt.target).closest("div").find(".nf-item-duplicate").show(),jQuery(t.startEvnt.target).closest("div").find(".nf-item-delete").show()},swipeRight:function(e,t){jQuery(t.startEvnt.target).closest("div").find(".nf-item-duplicate").hide(),jQuery(t.startEvnt.target).closest("div").find(".nf-item-delete").hide()},tapend:function(e,t){jQuery(this.el).ClassyWiggle("stop"),jQuery(this.el).removeClass("ui-sortable-helper drag-selected")},remove:function(){i.channel("fields").request("get:removing")?this.$el.hide("clip",function(){jQuery(this).remove()}):this.$el.remove(),i.channel("fields").request("set:removing",!1)},mouseoverItemControl:function(e){jQuery(this.el).find(".nf-item-control").css("display","")}})}),n("views/fields/mainContentEmpty",[],function(){return Marionette.ItemView.extend({tagName:"div",template:"#tmpl-nf-main-content-fields-empty",onBeforeDestroy:function(){jQuery(this.el).parent().removeClass("nf-fields-empty-droppable").droppable("destroy")},onRender:function(){this.$el=this.$el.children(),this.$el.unwrap(),this.setElement(this.$el)},onShow:function(){jQuery(this.el).parent().hasClass("ui-sortable")&&jQuery(this.el).parent().sortable("destroy"),jQuery(this.el).parent().addClass("nf-fields-empty-droppable"),jQuery(this.el).parent().droppable({accept:function(e){if(jQuery(e).hasClass("nf-stage")||jQuery(e).hasClass("nf-field-type-button"))return!0},activeClass:"nf-droppable-active",hoverClass:"nf-droppable-hover",tolerance:"pointer",over:function(e,t){t.item=t.draggable,i.channel("app").request("over:fieldsSortable",t)},out:function(e,t){t.item=t.draggable,i.channel("app").request("out:fieldsSortable",t)},drop:function(e,t){t.item=t.draggable,i.channel("app").request("receive:fieldsSortable",t);var n=i.channel("fields").request("get:collection");n.trigger("reset",n)}})}})}),n("views/app/formTitle",[],function(){return Marionette.ItemView.extend({tagName:"div",template:"#tmpl-nf-header-form-title",initialize:function(){this.model.on("change:title",this.render,this)},templateHelpers:function(){return{renderTitle:function(){var e=i.channel("app").request("get:formModel");return _.escape(e.get("settings").get("title"))}}}})}),n("views/loadViews",["views/fields/fieldItem","views/fields/mainContentEmpty","views/app/formTitle"],function(e,t,n){return Marionette.Object.extend({initialize:function(){i.channel("views").reply("get:fieldItem",this.getFieldItem),i.channel("views").reply("get:mainContentEmpty",this.getMainContentEmpty),i.channel("views").reply("get:formTitle",this.getFormTitle)},getFieldItem:function(t){return e},getMainContentEmpty:function(){return t},getFormTitle:function(){return n}})});var i=Backbone.Radio;jQuery(document).ready(function(e){t(["views/app/builder","controllers/loadControllers","views/loadViews"],function(t,n,r){(new(Marionette.Application.extend({initialize:function(e){var t=this;Marionette.Renderer.render=function(e,n){var e=t.template(e);return e(n)},i.channel("app").trigger("before:loadControllers",this);new n;i.channel("app").trigger("after:loadControllers",this),i.channel("app").trigger("before:loadViews",this);new r;i.channel("app").trigger("after:loadViews",this),i.channel("app").reply("get:template",this.template)},onStart:function(){new t;i.channel("app").trigger("after:appStart",this),0==nfAdmin.formID&&i.channel("app").request("open:drawer","addField")},template:function(t){return _.template(e(t).html(),{evaluate:/<#([\s\S]+?)#>/g,interpolate:/\{\{\{([\s\S]+?)\}\}\}/g,escape:/\{\{([^\}]+?)\}\}(?!\})/g,variable:"data"})}}))).start()})}),n("main",function(){})}();
8
- //# sourceMappingURL=almond.build.js.map
9
  //# sourceMappingURL=builder.js.map
3
  updateCurrentDrawer:function(e){return this.updateSetting("currentDrawer",e),!0},getCurrentDrawer:function(){var e=this.model.get("currentDrawer");return i.channel("app").request("get:drawer",e)},isMobile:function(){return this.model.get("mobile")}})}),n("controllers/app/drawerToggleSettingGroup",[],function(){return Marionette.Object.extend({initialize:function(){this.listenTo(i.channel("drawer"),"click:toggleSettingGroup",this.toggleSettingGroup)},toggleSettingGroup:function(e,t){if(t.get("display")){var n=!1;_.each(t.get("settings").models,function(e){e.get("error")&&(n=!0)}),n||t.set("display",!1)}else t.set("display",!0)}})}),n("controllers/app/updateDB",[],function(){return Marionette.Object.extend({initialize:function(){this.listenTo(i.channel("drawer"),"closed",this.updateDB),i.channel("app").reply("update:db",this.updateDB,this),i.channel("formContent").request("add:saveFilter",this.defaultSaveFilter,10,this)},updateDB:function(e){if(i.channel("app").request("get:setting","clean"))return!1;if("preview"==(e=e||"preview"))var t="nf_preview_update";else if("publish"==e)var t="nf_save_form";var n=i.channel("app").request("get:formModel");_.each(n.get("fields").models,function(e,t){e.unset("jBox",{silent:!0})});var r=i.channel("settings").request("get:setting","formContentData");r||(r=i.channel("settings").request("get:setting","fieldContentsData"));var a=i.channel("formContent").request("get:saveFilters"),s=_.without(a,void 0);if(r=_.first(s)(r),"publish"==e&&n.get("show_publish_options")){i.channel("app").request("open:drawer","newForm");var o=i.channel("app").request("get:builderEl");return jQuery(o).addClass("disable-main"),!1}var l=i.channel("app").request("get:formModel"),c=JSON.parse(JSON.stringify(l));c.settings.formContentData=r;var d=l.get("fields").removedIDs;_.each(c.fields,function(e){var t=e.id;delete e.id,delete e.parent_id;var n={};for(var i in e)e.hasOwnProperty(i)&&(null!==e[i]&&(n[i]=e[i]),delete e[i]);for(var r in n)null===n[r]&&delete n[r];e.settings=n,e.id=t}),c.deleted_fields=d;var d=l.get("actions").removedIDs;_.each(c.actions,function(e){var t=e.id;delete e.id,delete e.parent_id;var n={};for(var i in e)e.hasOwnProperty(i)&&(null!==e[i]&&(n[i]=e[i]),delete e[i]);e.settings=n,e.id=t});for(var h in c.settings)null===c.settings[h]&&delete c.settings[h];if(c.deleted_actions=d,c=JSON.stringify(c),i.channel("app").trigger("before:updateDB",c),"publish"==e&&(i.channel("app").request("update:setting","loading",!0),i.channel("app").trigger("change:loading"),i.channel("app").request("is:mobile")&&i.channel("notices").request("add","publishing","Your Changes Are Being Published",{autoClose:!1})),"nf_save_form"===t){var u=[];if(1e5<c.length&&(u=c.match(new RegExp(".{1,100000}","g"))),1<u.length)this.saveChunkedForm(u,0,"nf_batch_process",e,n.get("id"),!0);else{var g=this,p=null;jQuery.post(ajaxurl,{action:t,form:c,security:nfAdmin.ajaxNonce},function(t){p=t,g.handleFinalResponse(p,e)}).fail(function(t,n,i){g.handleFinalFailure(t,n,i,e)})}}else if("nf_preview_update"===t){var g=this,p=null;jQuery.post(ajaxurl,{action:t,form:c,security:nfAdmin.ajaxNonce},function(t){p=t,g.handleFinalResponse(p,e)}).fail(function(t,n,i){g.handleFinalFailure(t,n,i,e)})}},saveChunkedForm:function(e,t,n,i,r,a){var s=e.length,o={action:n,batch_type:"chunked_publish",data:{new_publish:a,chunk_total:s,chunk_current:t,chunk:e[t],form_id:r},security:nfAdmin.ajaxNonce},l=this;jQuery.post(ajaxurl,o).then(function(a){try{var s=JSON.parse(a);"success"!==s.last_request||s.batch_complete?s.batch_complete&&l.handleFinalResponse(a,i):(console.log("Chunk "+t+" processed"),l.saveChunkedForm(e,s.requesting,n,i,r,!1))}catch(e){console.log("There was an error in parsing the response"),console.log(e)}}).fail(function(e,t,n){console.log("There was an error sending form data"),console.log(n),l.handleFinalFailure(e,t,n,i)})},handleFinalResponse:function(e,t){try{e=JSON.parse(e),e.action=t,i.channel("app").trigger("response:updateDB",e),i.channel("app").request("is:mobile")}catch(e){console.log("Something went wrong!"),console.log(e)}},handleFinalFailure:function(e,t,n,i){if("preview"==i)return void console.log(n);alert(e.status+" "+n+"\r\nAn error on the server caused your form not to publish.\r\nPlease contact Ninja Forms Support with your PHP Error Logs.\r\nhttps://ninjaforms.com/contact")},defaultSaveFilter:function(e){return e.pluck("key")}})}),n("models/app/formModel",[],function(){return Backbone.Model.extend({initialize:function(){jQuery.isNumeric(this.get("id"))?this.set("show_publish_options",!1,{silent:!0}):this.set("show_publish_options",!0,{silent:!0})}})}),n("controllers/app/formData",["models/app/formModel"],function(e){return Marionette.Object.extend({initialize:function(){this.model=new e({id:preloadedFormData.id}),this.model.set("fields",i.channel("fields").request("get:collection")),this.model.set("actions",i.channel("actions").request("get:collection")),this.model.set("settings",i.channel("settings").request("get:settings")),i.channel("app").reply("get:formModel",this.getFormModel,this)},getFormModel:function(){return this.model}})}),n("controllers/app/previewLink",[],function(){return Marionette.Object.extend({initialize:function(){this.listenTo(i.channel("app"),"before:sendChanges",this.disablePreview,this),this.listenTo(i.channel("app"),"response:sendChanges",this.enablePreview,this),this.listenTo(i.channel("app"),"change:clean",this.changePreviewNicename,this)},disablePreview:function(){i.channel("app").request("get:domainCollection").get("preview").set("disabled",!0)},changePreviewNicename:function(e){var t=i.channel("app").request("get:domainCollection"),n=t.get("preview");if(e)var r="Preview Form";else var r="Preview Changes";n.set("nicename",r)},enablePreview:function(){i.channel("app").request("get:domainCollection").get("preview").set("disabled",!1)}})}),n("controllers/app/menuButtons",[],function(){return Marionette.Object.extend({initialize:function(){this.listenTo(i.channel("app"),"click:publish",this.publish),this.listenTo(i.channel("app"),"click:viewChanges",this.viewChanges)},publish:function(){i.channel("app").request("update:db","publish")},viewChanges:function(){var e=i.channel("changes").request("get:collection");i.channel("app").request("open:drawer","viewChanges",{collection:e})}})}),n("models/app/changeModel",[],function(){return Backbone.Model.extend({defaults:{disabled:!1}})}),n("models/app/changeCollection",["models/app/changeModel"],function(e){return Backbone.Collection.extend({model:e,comparator:function(e){return-parseInt(e.cid.replace("c",""))}})}),n("controllers/app/trackChanges",["models/app/changeCollection","models/app/changeModel"],function(e,t){return Marionette.Object.extend({initialize:function(){this.collection=new e,i.channel("changes").reply("register:change",this.registerChange,this),i.channel("changes").reply("get:collection",this.getCollection,this),this.listenTo(i.channel("app"),"change:clean",this.maybeResetCollection)},registerChange:function(e,n,i,r,a){var a=void 0!==a?a:{};void 0===r.dashicon&&(r.dashicon="admin-generic");var s=new t({action:e,model:n,changes:i,label:r,data:a});return this.collection.add(s),s},getCollection:function(){return this.collection},maybeResetCollection:function(e){e&&this.collection.reset()}})}),n("controllers/app/undoChanges",[],function(){return Marionette.Object.extend({initialize:function(){this.listenTo(i.channel("drawer"),"click:undoChanges",this.undoChanges,this),this.listenTo(i.channel("drawer"),"click:undoSingle",this.undoSingle,this)},undoChanges:function(){var e=i.channel("changes").request("get:collection");e.sort();var t=this;_.each(e.models,function(e){t.undoSingle(e,!0)}),e.reset(),i.channel("app").request("update:db"),i.channel("app").request("update:setting","clean",!0),i.channel("app").request("close:drawer"),this.dispatchClick()},undoSingle:function(e,t){i.channel("changes").request("undo:"+e.get("action"),e,t),this.dispatchClick()},dispatchClick:function(){if(!document.cookie.includes("nf_undo")){var e=new Date;e.setTime(e.getTime()+6048e5);var t="expires="+e.toUTCString();document.cookie="nf_undo=1;"+t+";path=/";var n={action:"nf_undo_click",security:nfAdmin.ajaxNonce};jQuery.post(ajaxurl,n)}}})}),n("controllers/app/publishResponse",[],function(){return Marionette.Object.extend({initialize:function(){this.listenTo(i.channel("app"),"response:updateDB",this.publishResponse)},publishResponse:function(e){if("publish"!==e.action)return!1;void 0!==e.data.new_ids&&(void 0!==e.data.new_ids.fields&&_.each(e.data.new_ids.fields,function(e,t){var n=i.channel("fields").request("get:field",t);n&&n.set("id",e)}),void 0!==e.data.new_ids.actions&&_.each(e.data.new_ids.actions,function(e,t){var n=i.channel("actions").request("get:action",t);n&&n.set("id",e)}),void 0!==e.data.new_ids.forms&&_.each(e.data.new_ids.forms,function(e,t){i.channel("app").request("get:formModel").set("id",e),history.replaceState("","","admin.php?page=ninja-forms&form_id="+e)})),i.channel("app").request("update:setting","loading",!1),i.channel("app").trigger("change:loading"),i.channel("app").request("is:mobile")&&i.channel("notices").request("close","publishing"),i.channel("app").trigger("app:published",e),i.channel("app").request("update:setting","clean",!0)}})}),n("controllers/app/changeDomain",[],function(){return Marionette.Object.extend({initialize:function(){this.listenTo(i.channel("app"),"click:menu",this.changeAppDomain),i.channel("app").reply("change:currentDomain",this.changeAppDomain,this),i.channel("app").reply("prevent:changeDomain",this.preventChange,this),i.channel("app").reply("enable:changeDomain",this.enableChange,this),this.objPreventChange={}},changeAppDomain:function(e,t){if(this.maybePreventChange())return!1;if(void 0===t)var n=jQuery(e.target).data("domain"),t=i.channel("app").request("get:domainModel",n);if(i.channel("app").request("get:currentDrawer")&&i.channel("app").request("close:drawer"),0==t.get("url").length){var r=i.channel("app").request("get:mainEl");i.channel("app").request("update:currentDomain",t),jQuery(r).scrollTop(0),i.channel("app").trigger("change:currentDomain",t)}},maybePreventChange:function(){return 0!=Object.keys(this.objPreventChange).length},preventChange:function(e){this.objPreventChange[e]=!0},enableChange:function(e){delete this.objPreventChange[e]}})}),n("controllers/app/pushstate",[],function(){return Marionette.Object.extend({initialize:function(){this.listenTo(i.channel("app"),"change:currentDomain",this.changePushState)},changePushState:function(){var e=i.channel("app").request("get:currentDomain");history.pushState(null,null,window.location.href+"&domain="+e.get("id"));var t=/domain=\\d+/,n=window.location.toString(),r=n.replace(t,"");console.log(r)}})}),n("controllers/app/hotkeys",[],function(){return Marionette.Object.extend({initialize:function(){this.listenTo(i.channel("main"),"render:main",this.changeHotkeys),this.listenTo(i.channel("drawer"),"opened",this.changeHotkeys),this.listenTo(i.channel("drawer"),"render:settingGroup",this.changeHotkeys),this.listenTo(i.channel("hotkeys"),"add:newField",this.addNewField),this.listenTo(i.channel("hotkeys"),"add:newAction",this.addNewAction),this.listenTo(i.channel("hotkeys"),"changeDomain:fields",this.changeDomainFields),this.listenTo(i.channel("hotkeys"),"changeDomain:actions",this.changeDomainActions),this.listenTo(i.channel("hotkeys"),"changeDomain:settings",this.changeDomainSettings),this.listenTo(i.channel("hotkeys"),"close:drawer",this.closeDrawer)},changeHotkeys:function(){var e=i.channel("app").request("get:currentDomain");jQuery(document).off(".nfDomainHotkeys"),jQuery("input").off(".nfDomainHotkeys"),e.get("hotkeys")&&jQuery.each(e.get("hotkeys"),function(e,t){jQuery(document).on("keydown.nfDomainHotkeys",null,e,function(e){i.channel("hotkeys").trigger(t,e)}),jQuery("input").on("keydown.nfDomainHotkeys",null,e,function(e){i.channel("hotkeys").trigger(t,e)}),jQuery("textarea").on("keydown.nfDomainHotkeys",null,e,function(e){i.channel("hotkeys").trigger(t,e)})})},addNewField:function(){"addField"!=i.channel("app").request("get:currentDrawer")?i.channel("app").request("open:drawer","addField"):i.channel("app").request("close:drawer")},addNewAction:function(){"addAction"!=i.channel("app").request("get:currentDrawer")?i.channel("app").request("open:drawer","addAction"):i.channel("app").request("close:drawer")},changeDomainFields:function(){var e=i.channel("app").request("get:domainCollection"),t=e.get("fields");i.channel("app").request("change:currentDomain",{},t)},changeDomainActions:function(){var e=i.channel("app").request("get:domainCollection"),t=e.get("actions");i.channel("app").request("change:currentDomain",{},t)},changeDomainSettings:function(){var e=i.channel("app").request("get:domainCollection"),t=e.get("settings");i.channel("app").request("change:currentDomain",{},t)},closeDrawer:function(){i.channel("app").request("close:drawer")}})}),n("controllers/app/cleanState",[],function(){return Marionette.Object.extend({initialize:function(){this.ignoreAttributes=["editActive"],this.listenTo(i.channel("app"),"update:setting",this.setAppClean)},setAppClean:function(e){for(var t in e.changedAttributes()){e.changedAttributes()[t]}i.channel("undo-"+e.get("type")).request("ignore:attributes",this.ignoreAttributes)||this.ignoreAttributes;if(-1!=this.ignoreAttributes.indexOf(t))return!1;i.channel("app").request("update:setting","clean",!1)}})}),n("controllers/app/coreUndo",[],function(){return Marionette.Object.extend({initialize:function(){i.channel("changes").reply("undo:changeSetting",this.undoChangeSetting,this),i.channel("changes").reply("undo:addObject",this.undoAddObject,this),i.channel("changes").reply("undo:removeObject",this.undoRemoveObject,this),i.channel("changes").reply("undo:duplicateObject",this.undoDuplicateObject,this),i.channel("changes").reply("undo:sortFields",this.undoSortFields,this),i.channel("changes").reply("undo:addListOption",this.undoAddListOption,this),i.channel("changes").reply("undo:removeListOption",this.undoRemoveListOption,this),i.channel("changes").reply("undo:sortListOptions",this.undoSortListOptions,this)},undoChangeSetting:function(e,t){var n=e.get("model"),i=e.get("changes"),r=i.attr,a=i.before;n.set(r,a),this.maybeRemoveChange(e,t)},undoAddObject:function(e,t){var n=e.get("model"),r=e.get("data").collection;if(void 0!==r.newIDs&&delete r.newIDs[n.get("id")],!t){var a=i.channel("changes").request("get:collection"),s=a.where({model:n});_.each(s,function(t){t!==e&&a.remove(t)})}r.remove(n),this.maybeRemoveChange(e,t)},undoDuplicateObject:function(e,t){var n=e.get("model"),r=e.get("data").collection;if(!t){var a=i.channel("changes").request("get:collection"),s=a.where({model:n});_.each(s,function(t){t!==e&&a.remove(t)})}r.remove(n),this.maybeRemoveChange(e,t)},undoRemoveObject:function(e,t){var n=e.get("model"),r=e.get("data").collection;if(i.channel(n.get("objectDomain")).request("add",n),delete r.removedIDs[n.get("id")],!t){var a=i.channel("changes").request("get:collection"),s=a.where({model:n});_.each(s,function(t){t!==e&&t.set("disabled",!1)})}r.trigger("reset",r),this.maybeRemoveChange(e,t)},undoSortFields:function(e,t){var n=e.get("data"),r=n.fields,a=i.channel("fields").request("get:collection");_.each(r,function(e){var t=e.before;e.model.set("order",t)}),a.sort(),this.maybeRemoveChange(e,t)},undoAddListOption:function(e,t){var n=e.get("model");if(!t){var r=i.channel("changes").request("get:collection"),a=r.where({model:n});_.each(a,function(t){t!==e&&r.remove(t)})}n.collection.remove(n),this.maybeRemoveChange(e,t)},undoRemoveListOption:function(e,t){var n=e.get("model");if(e.get("data").collection.add(n),!t){var r=i.channel("changes").request("get:collection"),a=r.where({model:n});_.each(a,function(t){t!==e&&t.set("disabled",!1)})}this.maybeRemoveChange(e,t)},undoSortListOptions:function(e,t){var n=e.get("data"),i=n.collection,r=n.objModels;_.each(r,function(e){var t=e.before;e.model.set("order",t)}),i.sort(),this.maybeRemoveChange(e,t)},maybeRemoveChange:function(e,t){var t=void 0!==t&&t;if(!t){i.channel("app").request("update:db");var n=i.channel("changes").request("get:collection");n.remove(e),0==n.length&&(i.channel("app").request("update:setting","clean",!0),i.channel("app").request("close:drawer"))}}})}),n("controllers/app/cloneModelDeep",[],function(){return Marionette.Object.extend({initialize:function(){i.channel("app").reply("clone:modelDeep",this.cloneModelDeep,this)},cloneModelDeep:function(e){var t={};_.each(e.attributes,function(e,n){if(e instanceof Backbone.Collection){var r=i.channel("app").request("clone:collectionDeep",e);t[n]=r}else e instanceof Backbone.Model&&(t[n]=this.cloneModelDeep(e))},this);var n=e.clone();return _.each(t,function(e,t){n.set(t,e)}),n}})}),n("controllers/app/getSettingChildView",["views/app/drawer/itemSetting"],function(e){return Marionette.Object.extend({initialize:function(){i.channel("app").reply("get:settingChildView",this.getSettingChildView,this)},getSettingChildView:function(t){var n=t.get("type");return i.channel(n).request("get:settingChildView",t)||e}})}),n("controllers/app/changeSettingDefault",[],function(){return Marionette.Object.extend({initialize:function(){i.channel("app").reply("change:setting",this.changeSetting,this),this.listenTo(i.channel("app"),"change:setting",this.changeSetting,this)},changeSetting:function(e,t,n,r){var a=t.get("name"),s=n.get(a),r=r||null;r||(r=i.channel(t.get("type")).request("before:updateSetting",e,n,a,t)),void 0===r&&(r=jQuery(e.target).val()),n.set(a,r,{settingModel:t}),i.channel("setting-"+a).trigger("after:updateSetting",n,t);var o=r,l={attr:a,before:s,after:o},c=i.channel("app").request("get:currentDomain"),d=(c.get("id"),{object:n.get("objectType"),label:n.get("label"),change:"Changed "+t.get("label")+" from "+s+" to "+o});i.channel("changes").request("register:change","changeSetting",n,l,d)}})}),n("views/app/drawer/typeSettingFieldset",["views/app/drawer/itemSetting"],function(e){return Marionette.CompositeView.extend({template:"#tmpl-nf-edit-setting-wrap",childView:e,initialize:function(e){this.collection=this.model.get("settings"),this.childViewOptions={dataModel:e.dataModel},this.dataModel=e.dataModel;var t=this.model.get("deps");if(t)for(var n in t)t.hasOwnProperty(n)&&this.dataModel.on("change:"+n,this.render,this);this.model.on("rerender",this.render,this)},onBeforeDestroy:function(){var e=this.model.get("deps");if(e)for(var t in e)e.hasOwnProperty(t)&&this.dataModel.off("change:"+t,this.render)},onBeforeRender:function(){i.channel("app").trigger("before:renderSetting",this.model,this.dataModel),i.channel("setting-type-"+this.model.get("type")).trigger("before:renderSetting",this.model,this.dataModel,this),i.channel("setting-"+this.model.get("name")).trigger("before:renderSetting",this.model,this.dataModel,this)},onRender:function(){i.channel("setting-"+this.model.get("name")).trigger("render:setting",this.model,this.dataModel,this),i.channel("setting-type-"+this.model.get("type")).trigger("render:setting",this.model,this.dataModel,this)},templateHelpers:function(){var e=this;return{renderVisible:function(){if(this.deps)for(var t in this.deps)if(this.deps.hasOwnProperty(t)&&e.dataModel.get(t)!==this.deps[t])return'style="display:none;"';return""},renderSetting:function(){return i.channel("app").request("get:template","#tmpl-nf-edit-setting-"+this.type)(this)},renderClasses:function(){var e="";return void 0!==this.width?e+=this.width:e+=" one-half",this.error&&(e+=" nf-error"),e},renderError:function(){return this.error?this.error:""}}},attachHtml:function(e,t){jQuery(e.el).find(".nf-field-sub-settings").append(t.el)}})}),n("models/app/settingModel",[],function(){return Backbone.Model.extend({defaults:{settings:!1,hide_merge_tags:!1,error:!1},initialize:function(){i.channel("app").trigger("init:settingModel",this),i.channel(this.get("type")).trigger("init:settingModel",this),i.channel("setting-name-"+this.get("name")).trigger("init:settingModel",this),this.on("change:error",this.maybePreventUI,this),void 0!==this.collection&&this.get("use_merge_tags")&&void 0!==this.collection.options.objectType&&this.listenTo(i.channel("app"),"update:fieldKey",this.updateKey)},updateKey:function(e){i.channel("app").trigger("fire:updateFieldKey",e,this)},maybePreventUI:function(){this.get("error")?(i.channel("drawer").request("prevent:close","setting-"+this.get("name")+"-error"),i.channel("app").request("prevent:changeDomain","setting-"+this.get("name")+"-error")):(i.channel("drawer").request("enable:close","setting-"+this.get("name")+"-error"),i.channel("app").request("enable:changeDomain","setting-"+this.get("name")+"-error"))}})}),n("models/app/settingCollection",["models/app/settingModel"],function(e){return Backbone.Collection.extend({model:e,initialize:function(e,t){this.options=t||{}}})}),n("controllers/app/fieldset",["views/app/drawer/typeSettingFieldset","models/app/settingCollection"],function(e,t){return Marionette.Object.extend({initialize:function(){i.channel("fieldset").reply("get:settingChildView",this.getSettingChildView,this),this.listenTo(i.channel("fieldset"),"init:settingModel",this.createSettingsCollection)},getSettingChildView:function(t){return e},createSettingsCollection:function(e){e.set("settings",new t(e.get("settings")))}})}),n("controllers/app/toggleSetting",[],function(){return Marionette.Object.extend({initialize:function(){i.channel("setting-type-toggle").reply("renderOnChange",function(){return!1}),i.channel("toggle").reply("before:updateSetting",this.updateSetting,this)},updateSetting:function(e,t,n,i){if(jQuery(e.target).attr("checked"))var r=1;else var r=0;return r}})}),n("controllers/app/itemControls",[],function(){return Marionette.Object.extend({initialize:function(){this.listenTo(i.channel("app"),"click:edit",this.clickEdit),this.listenTo(i.channel("app"),"click:delete",this.clickDelete),this.listenTo(i.channel("app"),"click:duplicate",this.clickDuplicate)},clickEdit:function(e,t){var n=i.channel("app").request("get:currentDomain"),r=n.get("id"),a=i.channel(r).request("get:type",t.get("type"));i.channel("app").request("open:drawer","editSettings",{model:t,groupCollection:a.get("settingGroups")})},clickDelete:function(e,t){var n=i.channel("app").request("clone:modelDeep",t),r={object:t.get("objectType"),label:t.get("label"),change:"Removed",dashicon:"dismiss"},a={collection:t.collection},s=i.channel("changes").request("get:collection"),o=s.where({model:t});_.each(o,function(e){var i=e.get("data");void 0!==i.fields&&_.each(i.fields,function(e,r){e.model==t&&(i.fields[r].model=n)}),e.set("data",i),e.set("model",n),e.set("disabled",!0)}),i.channel("changes").request("register:change","removeObject",n,null,r,a);var l=i.channel("app").request("get:currentDomain"),c=l.get("id");i.channel(c).request("delete",t)},clickDuplicate:function(e,t){var n=i.channel("app").request("clone:modelDeep",t),r=i.channel("app").request("get:currentDomain"),a=r.get("id");n.set("label",n.get("label")+" Copy");var s=i.channel(a).request("get:tmpID");n.set("id",s),i.channel(a).request("add",n,!1,!1,"duplicate");var o={object:t.get("objectType"),label:t.get("label"),change:"Duplicated",dashicon:"admin-page"},l={collection:i.channel(a).request("get:collection")};i.channel("changes").request("register:change","duplicateObject",n,null,o,l),t.trigger("change:label",t),i.channel("app").request("update:db")}})}),n("controllers/app/mergeTags",["models/app/mergeTagCollection"],function(e){return Marionette.Object.extend({initialize:function(){this.tagSectionCollection=new e;var t=this;_.each(mergeTags,function(n){if(n.tags)var i=new e(n.tags);else var i="";t.tagSectionCollection.add({id:n.id,label:n.label,tags:i,default_group:n.default_group})});var n=this.tagSectionCollection.get("fields").get("tags"),r=i.channel("fields").request("get:collection");_.each(r.models,function(e){"submit"!==e.get("type")&&n.add({id:e.get("id"),label:e.get("label"),tag:t.getFieldKeyFormat(e.get("key"))})});var a=new e,s=i.channel("app").request("get:formModel"),o=s.get("settings").get("calculations");_.each(o.models,function(e){a.add({label:e.get("name"),tag:"{calc:"+e.get("name")+"}"})}),this.tagSectionCollection.get("calcs").set("tags",a),this.currentElement={},this.settingModel={},this.open=!1,this.listenTo(i.channel("mergeTags"),"click:mergeTag",this.clickMergeTag),this.listenTo(i.channel("fields"),"add:field",this.addFieldTags),this.listenTo(i.channel("fields"),"delete:field",this.deleteFieldTags),this.listenTo(i.channel("option-repeater-calculations"),"update:option",this.updateCalcTags),this.listenTo(i.channel("option-repeater-calculations"),"remove:option",this.updateCalcTags),i.channel("mergeTags").reply("update:currentElement",this.updateCurrentElement,this),i.channel("mergeTags").reply("update:currentSetting",this.updateCurrentSetting,this),i.channel("mergeTags").reply("get:collection",this.getCollection,this),i.channel("mergeTags").reply("get:mergeTag",this.getSectionModel,this),this.listenTo(i.channel("fieldSetting-id"),"update:setting",this.updateID),this.listenTo(i.channel("fieldSetting-key"),"update:setting",this.updateKey),this.listenTo(i.channel("app"),"replace:fieldKey",this.replaceFieldKey),i.channel("app").reply("get:fieldKeyFormat",this.getFieldKeyFormat,this)},initMergeTags:function(e){var t=i.channel("mergeTags").request("get:view"),n=this;this.jBoxes={};var n=this;jQuery(e.el).find(".merge-tags").each(function(){if(void 0===jQuery(this).data("jBox-id")){var i=jQuery(this).jBox("Tooltip",{title:"Insert Merge Tag",trigger:"click",position:{x:"center",y:"bottom"},closeOnClick:"body",closeOnEsc:!0,theme:"TooltipBorder",maxHeight:200,onOpen:function(){t.reRender(e.model),this.setContent(jQuery(".merge-tags-content"));var i=jQuery(this.target).prev(".setting");0==i.length&&(i=jQuery(e.el).find(".setting")),n.updateCurrentSetting(e.model),n.updateCurrentElement(i)},onClose:function(){}});jQuery(this).data("jBox-id",i.id)}})},clickMergeTag:function(e,t){if(void 0!==this.settingModel.get("settingModel")&&"calculations"==this.settingModel.get("settingModel").get("name")){console.log(t);var n=jQuery(this.currentElement).val(),i=jQuery(this.currentElement).caret(),r=i+t.get("tag").length,a=void 0!==t.get("calcTag")?t.get("calcTag"):t.get("tag");n=n.substr(0,i)+a+n.substr(i),jQuery(this.currentElement).val(n).caret(r).trigger("change")}else if("rte"==this.settingModel.get("type"))jQuery(this.currentElement).summernote("insertText",t.get("tag"));else{var n=jQuery(this.currentElement).val(),i=jQuery(this.currentElement).caret(),r=i+t.get("tag").length;n=n.substr(0,i)+t.get("tag")+n.substr(i),jQuery(this.currentElement).val(n).caret(r).trigger("change")}},addFieldTags:function(e){"submit"!==e.get("type")&&this.tagSectionCollection.get("fields").get("tags").add({id:e.get("id"),label:e.get("label"),tag:this.getFieldKeyFormat(e.get("key")),calcTag:this.getFieldKeyFormatCalc(e.get("key"))})},deleteFieldTags:function(e){var t=e.get("id"),n=this.tagSectionCollection.get("fields").get("tags").get(t);this.tagSectionCollection.get("fields").get("tags").remove(n)},updateCalcTags:function(t){var n=new e,r=i.channel("app").request("get:formModel"),a=r.get("settings").get("calculations");_.each(a.models,function(e){n.add({label:e.get("name"),tag:"{calc:"+e.get("name")+"}"})}),this.tagSectionCollection.get("calcs").set("tags",n)},openMergeTags:function(e){"TEXTAREA"!=jQuery(e.target)[0].tagName&&"INPUT"!=jQuery(e.target)[0].tagName||jQuery(e.target).parent().find(".merge-tags").click()},returnMergeTags:function(e){if(this.open){e.preventDefault();var t=this.fields.where({active:!0})[0];t&&this.clickMergeTag(e,t)}},upMergeTags:function(e){this.open&&(e.preventDefault(),this.changeActiveTag("up"))},downMergeTags:function(e){this.open&&(e.preventDefault(),this.changeActiveTag("down"))},changeActiveTag:function(e){if("down"==e)var t=1;else var t=-1;if(0<this.fields.where({active:!0}).length){var n=this.fields.where({active:!0})[0],i=this.fields.indexOf(n);n.set("active",!1);var r=this.fields.models[i+t];r&&r.set("active",!0)}else 0<this.fields.where({active:!0})?console.log("system"):0<this.userInfo.where({active:!0})?console.log("userinfo"):0<this.fields.models.length?this.fields.models[0].set("active",!0):this.system.models[0].set("active",!0)},updateCurrentElement:function(e){this.currentElement=e},updateCurrentSetting:function(e){this.settingModel=e},getCollection:function(){return this.tagSectionCollection},getSectionModel:function(e){return this.tagSectionCollection.get(e)},updateOpen:function(e){this.open=e,_.each(this.tagSectionCollection.get("fields").models,function(e){e.set("active",!1)})},updateID:function(e){var t=this.getFieldKeyFormat(e.get("key")),n=this.tagSectionCollection.get("fields").get("tags").find(function(e){return t==e.get("tag")});void 0!==n&&n.set("id",e.get("id"))},updateKey:function(e){var t=e.get("key"),n=this.tagSectionCollection.get("fields").get("tags").get(e.get("id"));void 0!==n&&n.set("tag",this.getFieldKeyFormat(t))},getFieldKeyFormat:function(e){return"{field:"+e+"}"},getFieldKeyFormatCalc:function(e){return"{field:"+e+":calc}"},replaceFieldKey:function(e,t,n){var i=this.getFieldKeyFormat(t._previousAttributes.key),r=this.getFieldKeyFormat(t.get("key")),a=n.get("name"),s=e.get(a);if("calculations"==a&&void 0!==e.get("calculations")){return e.get("calculations").each(function(e){var t=i.slice(0,i.length-1)+":calc}",n=r.slice(0,r.length-1)+":calc}";if("string"==typeof(s=e.get("eq"))){var a=new RegExp(t,"g"),o=s.replace(a,n);a=new RegExp(i,"g"),o=o.replace(a,r),e.set("eq",o)}}),!1}if("string"==typeof s){var o=new RegExp(i,"g");newVal=s.replace(o,r),e.set(a,newVal)}}})}),n("models/app/mergeTagLookupCollection",["models/app/mergeTagModel"],function(e){return Backbone.Collection.extend({model:e})}),n("views/app/drawer/mergeTag",[],function(){return Marionette.ItemView.extend({tagName:"li",template:"#tmpl-nf-merge-tag-box-tag",events:{click:"insertTag"},insertTag:function(){i.channel("mergeTags").request("insert:tag",this.model.get("tag"))}})}),n("views/app/drawer/mergeTagList",["views/app/drawer/mergeTag"],function(e){return Marionette.CollectionView.extend({tagName:"ul",childView:e,initialize:function(){i.channel("merge-tags").reply("update:taglist",this.sectionFilter,this),i.channel("merge-tags").reply("filtersearch",this.searchFilter,this)},filter:function(e,t,n){return"fields"==e.get("section")},sectionFilter:function(e){this.filter=function(t,n,i){return e==t.get("section")},this.render(),i.channel("merge-tags").trigger("after:filtersearch")},searchFilter:function(e){this.filter=function(t,n,i){var r=t.get("label").toLowerCase().indexOf(e.toLowerCase().replace(":",""))>=0,a=t.get("tag").toLowerCase().indexOf(e.toLowerCase())>=0;return r||a},this.render(),i.channel("merge-tags").trigger("after:filtersearch")}})}),n("views/app/drawer/mergeTagGroup",[],function(){return Marionette.ItemView.extend({tagName:"li",template:"#tmpl-nf-merge-tag-box-section",events:{click:"onClick"},initialize:function(){this.listenTo(i.channel("merge-tags"),"after:filtersearch",this.removeActive)},onClick:function(){this.updateTags(),this.setActive()},updateTags:function(){i.channel("merge-tags").request("update:taglist",this.model.get("id"))},setActive:function(){this.$el.addClass("active"),this.$el.siblings().removeClass("active")},removeActive:function(){this.$el.removeClass("active")}})}),n("views/app/drawer/mergeTagGroupList",["views/app/drawer/mergeTagGroup"],function(e){return Marionette.CollectionView.extend({tagName:"ul",childView:e,initialize:function(){this.listenTo(i.channel("merge-tags"),"open",this.render,this)},filter:function(e,t,n){return 0<e.get("tags").length}})}),n("views/app/drawer/mergeTagFilter",[],function(){return Marionette.ItemView.extend({template:"#tmpl-nf-merge-tag-box-filter",events:{"keyup input":"updateFilter"},updateFilter:function(e){if(13==e.keyCode){
4
  var t=jQuery("#merge-tags-box .merge-tag-list ul li span").first().data("tag");return i.channel("mergeTags").request("insert:tag",t),jQuery("#merge-tags-box").css("display","none"),jQuery("#merge-tags-box").removeClass(),jQuery(".merge-tag-focus").removeClass("merge-tag-focus"),void jQuery(".merge-tag-focus-overlay").removeClass("merge-tag-focus-overlay")}var n=this.$el.find("input").val();i.channel("merge-tags").request("filtersearch",n)}})}),n("views/app/drawer/mergeTagBox",[],function(){return Marionette.LayoutView.extend({el:"#merge-tags-box",template:"#tmpl-nf-merge-tag-box",regions:{filter:".merge-tag-filter",sections:".merge-tag-sections",tags:".merge-tag-list"}})}),n("controllers/app/mergeTagBox",["models/app/mergeTagModel","models/app/mergeTagLookupCollection","views/app/drawer/mergeTag","views/app/drawer/mergeTagList","views/app/drawer/mergeTagGroup","views/app/drawer/mergeTagGroupList","views/app/drawer/mergeTagFilter","views/app/drawer/mergeTagBox"],function(e,t,n,r,a,s,o,l){return Marionette.Object.extend({caret:0,old:"",initialize:function(){this.listenTo(i.channel("drawer"),"render:settingGroup",function(){jQuery(".merge-tags").off("click"),jQuery(".merge-tags").on("click",this.mergeTagsButtonClick)}),this.listenTo(i.channel("app"),"after:appStart",this.afterAppStart),this.listenTo(i.channel("app"),"before:renderSetting",this.beforeRenderSetting),this.listenTo(i.channel("drawer"),"before:close",this.beforeDrawerClose);var e=this;i.channel("mergeTags").reply("set:caret",function(t){e.caret=t}),i.channel("mergeTags").reply("get:caret",function(){return e.caret});var e=this;i.channel("mergeTags").reply("set:old",function(t){e.old=t}),i.channel("mergeTags").reply("get:old",function(){return e.old}),i.channel("mergeTags").reply("insert:tag",this.insertTag.bind(this)),this.listenTo(i.channel("option-repeater"),"add:option",function(t){var n="#"+t.cid+" .has-merge-tags input.setting";jQuery(n).on("focus",function(t){e.focusCallback(t,n,"option-repeater")}),jQuery(n).on("keyup",function(t){e.keyupCallback(t,n,"option-repeater")}),jQuery(n).siblings(".nf-list-options .merge-tags").off("click"),jQuery(n).siblings(".nf-list-options .merge-tags").on("click",this.mergeTagsButtonClick)}),this.listenTo(i.channel("drawer"),"opened",function(){jQuery(".nf-list-options .merge-tags").off("click"),jQuery(".nf-list-options .merge-tags").on("click",this.mergeTagsButtonClick)}),this.listenTo(i.channel("setting-calculations-option"),"render:setting",this.renderSetting),this.listenTo(i.channel("drawer"),"opened",function(){jQuery(".nf-list-options.calculations .merge-tags").off("click"),jQuery(".nf-list-options.calculations .merge-tags").on("click",this.mergeTagsButtonClick)}),this.listenTo(i.channel("summernote"),"focus",function(t,n){e.focusCallback(!1,n,"rte")}),this.listenTo(i.channel("summernote"),"keydown",function(e,t){jQuery(t).closest(".nf-setting").find(".setting").summernote("saveRange")}),this.listenTo(i.channel("summernote"),"keyup",function(t,n){e.keyupCallback(t,n,"rte")}),this.listenTo(i.channel("drawer"),"opened",function(){jQuery(".note-editor .merge-tags").off("click"),jQuery(".note-editor .merge-tags").on("click",this.mergeTagsButtonClick)}),jQuery(document).on("keyup",function(e){27==e.keyCode&&(i.channel("mergeTags").request("insert:tag",""),jQuery("#merge-tags-box").css("display","none"),i.channel("drawer").request("enable:close"),jQuery("#merge-tags-box").removeClass(),jQuery(".merge-tag-focus").blur(),jQuery(".merge-tag-focus").removeClass("merge-tag-focus"),jQuery(".merge-tag-focus-overlay").removeClass("merge-tag-focus-overlay"))}),this.listenTo(Backbone.Radio.channel("fields"),"add:field",this.afterAppStart),this.listenTo(Backbone.Radio.channel("fields"),"delete:field",this.afterAppStart),this.listenTo(Backbone.Radio.channel("fieldSetting-key"),"update:setting",this.afterAppStart),this.listenTo(Backbone.Radio.channel("calcs"),"update:calc",this.afterAppStart),this.listenTo(Backbone.Radio.channel("app"),"change:currentDomain",this.afterAppStart)},afterAppStart:function(){var e=Backbone.Radio.channel("app").request("get:currentDomain"),n=i.channel("mergeTags").request("get:collection"),a=[];n.each(function(t){t.get("tags").each(function(n){"fields"==e.get("id")&&"{submission:sequence}"==n.get("tag")||a.push({label:n.get("label"),tag:n.get("tag"),section:t.get("id")})})});var c=new l;c.render();var d=new t(a),h=new r({collection:d}),u=new s({collection:n});c.getRegion("tags").show(h),c.getRegion("sections").show(u),c.getRegion("filter").show(new o)},beforeRenderSetting:function(e,t){if(void 0!==e.get("use_merge_tags")&&e.get("use_merge_tags")){var n=e.get("name");this.listenTo(i.channel("setting-"+n),"render:setting",this.renderSetting)}},renderSetting:function(e,t,n){n.$el.find(".merge-tags").off("click"),n.$el.find(".merge-tags").on("click",this.mergeTagsButtonClick),0==jQuery("#merge-tags-box").length&&this.afterAppStart(),jQuery("#nf-drawer").on("scroll",function(){if(0!=jQuery(".merge-tag-focus").length){var e=jQuery(".merge-tag-focus").closest(".nf-setting").find(".note-editor");if(0!=e.length)var t=e.offset().top-jQuery(window).scrollTop(),n=e.outerHeight();else var t=jQuery(".merge-tag-focus").offset().top-jQuery(window).scrollTop(),n=jQuery(".merge-tag-focus").outerHeight();var i=t+n,r=window.innerHeight,a=jQuery("#merge-tags-box").outerHeight();i+a>r&&(i=t-a),jQuery("#merge-tags-box").css("top",i);var s=jQuery("#merge-tags-box").outerHeight();jQuery("#nf-drawer").css("padding-bottom",s+"px");var o=jQuery(".merge-tag-focus").closest(".nf-list-options-tbody");if(0!=o.length){var l=o.offset().left-jQuery(window).scrollLeft();jQuery("#merge-tags-box").css("left",l)}else{var c=jQuery(".merge-tag-focus").closest(".nf-settings").offset().left-jQuery(window).scrollLeft();jQuery("#merge-tags-box").css("left",c),jQuery("#merge-tags-box").css("width",jQuery(".merge-tag-focus").closest(".nf-settings").width())}}}),jQuery(n.el).find(".setting").on("focus",this.focusCallback),jQuery(n.el).find(".setting").on("keyup",this.keyupCallback)},beforeDrawerClose:function(){jQuery("#merge-tags-box").css("display","none"),i.channel("drawer").request("enable:close")},insertTag:function(e){var t=jQuery(".merge-tag-focus");if(0!=t.closest(".nf-setting").first().find(".note-editable").length&&(t=t.closest(".nf-setting").first().find(".note-editable")),1<t.length&&(t=t.first()),t.hasClass("note-editable"))var n=t.closest(".nf-setting").find(".setting").summernote("code");else var n=t.val();for(var r=i.channel("mergeTags").request("get:old"),a=e,s=i.channel("mergeTags").request("get:caret"),o=/{([a-zA-Z0-9]|:|_||-})*/g;match=o.exec(n);)if(r==match[0]){var l=n.slice(0,match.index)+a+n.slice(o.lastIndex);if(t.hasClass("note-editable")){t.closest(".nf-setting").find(".setting").summernote("code",l);var c=t,d=null;_.each(c[0].childNodes,function(e,t){if(!d&&(e.nodeValue||e.innerHTML)){if(e.nodeValue)var n=e.nodeValue;else if(e.innerHTML)var n=e.innerHTML;if(-1!=n.indexOf(a)){n=n.replace(/&nbsp;/g," ");var i=n.indexOf(a)+r.length;-1==s&&(s=n.indexOf(a)+1),s==i&&(d=c[0].childNodes[t])}}}),d||(d=c[0].childNodes[0]);var h=s-r.length+a.length,u=document.createRange(),g=window.getSelection();if(0!=d.childNodes.length)try{u.setStart(d.childNodes[0],h)}catch(e){console.log(d),console.log("error")}else try{u.setStart(d,h)}catch(e){console.log("error")}u.collapse(!0),g.removeAllRanges(),g.addRange(u)}else t.val(l),t.change(),t.caret(s-r.length+a.length)}jQuery("#merge-tags-box").css("display","none"),i.channel("drawer").request("enable:close"),t.removeClass("merge-tag-focus"),t.closest(".merge-tag-focus-overlay").removeClass("merge-tag-focus-overlay")},mergeTagsButtonClick:function(e){var t=jQuery(this);if(t.siblings().hasClass("merge-tag-focus"))return i.channel("mergeTags").request("insert:tag",""),jQuery("#merge-tags-box").css("display","none"),i.channel("drawer").request("enable:close"),jQuery(".merge-tag-focus").removeClass("merge-tag-focus"),void jQuery(".merge-tag-focus-overlay").removeClass("merge-tag-focus-overlay");if(0!==t.closest(".nf-setting, .nf-table-row").find(".note-tools").length){var n=t.closest(".note-editor").siblings(".setting").first();t.closest(".nf-setting").find(".setting").summernote("insertText","{"),i.channel("mergeTags").request("set:caret",-1)}else{var n=t.siblings(".setting").first(),r=n.val()||"";n.val(r+"{").change(),i.channel("mergeTags").request("set:caret",r.length+1)}t.parent().hasClass("note-tools"),i.channel("mergeTags").request("set:old","{"),n.addClass("merge-tag-focus");var a=t.attr("autocomplete");t.attr("autocomplete","off"),t.data("autocomplete",a);var s=t.closest(".nf-setting, .nf-table-row");0!=s.find(".note-editor").length?s.find(".note-editor").addClass("merge-tag-focus-overlay"):s.addClass("merge-tag-focus-overlay"),jQuery("#merge-tags-box").css("display","block"),i.channel("drawer").request("prevent:close"),jQuery(".merge-tag-focus-overlay").off("click"),jQuery(".merge-tag-focus-overlay").on("click",function(e){jQuery(e.target).hasClass("note-editor")&&(i.channel("mergeTags").request("insert:tag",""),jQuery("#merge-tags-box").css("display","none"),i.channel("drawer").request("enable:close"),jQuery("#merge-tags-box").removeClass(),jQuery(".merge-tag-focus").removeClass("merge-tag-focus"),jQuery(".merge-tag-focus-overlay").removeClass("merge-tag-focus-overlay"))}),setTimeout(function(){jQuery("#merge-tags-box").find(".merge-tag-filter").find("input").focus()},500)},focusCallback:function(e,t,n){var n=n||"setting",i=void 0===t?jQuery(this):jQuery(t);if(jQuery(".merge-tag-focus").each(function(e,t){this!=t&&t.removeClass("merge-tag-focus")}),"rte"==n)var r=i.closest(".nf-setting").find(".note-editor").offset().top-jQuery(window).scrollTop(),a=i.closest(".nf-setting").find(".note-editor").outerHeight();else var r=i.offset().top-jQuery(window).scrollTop(),a=i.outerHeight();var s=r+a,o=window.innerHeight,l=jQuery("#merge-tags-box").outerHeight();s+l>o&&(s=r-l),jQuery("#merge-tags-box").css("top",s);var c=i.closest(".nf-list-options-tbody");if(0!=c.length){var d=c.offset().left-jQuery(window).scrollLeft();jQuery("#merge-tags-box").css("left",d)}else if("rte"==n){var h=i.closest(".nf-setting").find(".note-editor").offset().left-jQuery(window).scrollLeft();jQuery("#merge-tags-box").css("left",h),jQuery("#merge-tags-box").css("width",i.closest(".nf-setting").find(".note-editor").width())}else{var h=jQuery(this).closest(".nf-settings").offset().left-jQuery(window).scrollLeft();jQuery("#merge-tags-box").css("left",h),jQuery("#merge-tags-box").css("width",i.closest(".nf-settings").width())}var u=jQuery(this).data("id")},keyupCallback:function(e,t,n){var n=n||"setting";if(13==e.keyCode){var r=jQuery("#merge-tags-box .merge-tag-list ul li span").first().data("tag");return i.channel("mergeTags").request("insert:tag",r),jQuery("#merge-tags-box").css("display","none"),i.channel("drawer").request("enable:close"),jQuery("#merge-tags-box").removeClass(),jQuery(".merge-tag-focus").removeClass("merge-tag-focus"),void jQuery(".merge-tag-focus-overlay").removeClass("merge-tag-focus-overlay")}if(void 0!==t)var a=jQuery(t);else var a=jQuery(this);var s=jQuery(this).data("id");if(!s||"eq"==s){if("rte"==n){var o=a.summernote("createRange");if(o)var l=o.so;else var l=0;a.closest(".nf-setting").find(".setting").summernote("saveRange")}else var l=a.caret();if(i.channel("mergeTags").request("set:caret",l),"rte"==n)var c=a.summernote("code").match(new RegExp(/{([a-zA-Z0-9]|:|_|-|})*/g));else var c=a.val().match(new RegExp(/{([a-zA-Z0-9]|:|_|-|})*/g));if(c=_.filter(c,function(e){return-1==e.indexOf("}")}),0!==c.length){i.channel("mergeTags").request("set:old",c[0]),jQuery("#merge-tags-box").css("display","block"),i.channel("drawer").request("prevent:close"),a.addClass("merge-tag-focus");var d=jQuery("#merge-tags-box").outerHeight();jQuery("#nf-drawer").css("padding-bottom",d+"px");var h=a.attr("autocomplete");a.attr("autocomplete","off"),a.data("autocomplete",h);var u=a.closest(".nf-setting, .nf-table-row");0!=u.find(".note-editor").length?u.find(".note-editor").addClass("merge-tag-focus-overlay"):u.addClass("merge-tag-focus-overlay"),u.off("click"),u.on("click",function(e){-1!==(jQuery(e.target).attr("class")||[]).indexOf("merge-tag-focus-overlay")&&(i.channel("mergeTags").request("insert:tag",""),jQuery("#merge-tags-box").css("display","none"),i.channel("drawer").request("enable:close"),jQuery("#merge-tags-box").removeClass(),jQuery(".merge-tag-focus").removeClass("merge-tag-focus"),jQuery(".merge-tag-focus-overlay").removeClass("merge-tag-focus-overlay"))});var g=c[0].replace("{","");i.channel("merge-tags").request("filtersearch",g)}else jQuery("#merge-tags-box").css("display","none"),i.channel("drawer").request("enable:close"),jQuery("#merge-tags-box").removeClass(),jQuery(".merge-tag-focus").removeClass("merge-tag-focus"),jQuery(".merge-tag-focus-overlay").removeClass("merge-tag-focus-overlay")}}})}),n("controllers/app/itemSettingFill",[],function(){return Marionette.Object.extend({initialize:function(){this.listenTo(i.channel("app"),"before:renderSetting",this.beforeRenderSetting)},beforeRenderSetting:function(e,t){e.get("fill")}})}),n("controllers/app/confirmPublish",[],function(){return Marionette.Object.extend({initialize:function(){this.listenTo(i.channel("app"),"click:confirmPublish",this.confirmPublish)},confirmPublish:function(){var e=i.channel("app").request("get:formModel");1==e.get("settings").get("add_submit")&&i.channel("fields").request("add",{type:"submit",label:"Submit",order:9999}),e.set("show_publish_options",!1),i.channel("app").request("update:db","publish")}})}),n("controllers/app/rte",[],function(){return Marionette.Object.extend({initialize:function(){i.channel("setting-type-rte").reply("renderOnChange",function(){return!1}),this.listenTo(i.channel("rte"),"init:settingModel",this.initSettingModel),this.listenTo(i.channel("setting-type-rte"),"render:setting",this.renderSetting),this.listenTo(i.channel("setting-type-rte"),"destroy:setting",this.destroySetting),this.listenTo(i.channel("setting-type-rte"),"click:extra",this.clickExtra),this.meta_image_frame,jQuery.summernote.options.icons={align:"dashicons dashicons-editor-alignleft",alignCenter:"dashicons dashicons-editor-aligncenter",alignJustify:"dashicons dashicons-editor-justify",alignLeft:"dashicons dashicons-editor-alignleft",alignRight:"dashicons dashicons-editor-alignright",indent:"dashicons dashicons-editor-indent",outdent:"dashicons dashicons-editor-outdent",bold:"dashicons dashicons-editor-bold",caret:"dashicons dashicons-arrow-down",close:"dashicons dashicons-dismiss",code:"dashicons dashicons-editor-code",eraser:"dashicons dashicons-editor-removeformatting",italic:"dashicons dashicons-editor-italic",link:"dashicons dashicons-admin-links",unlink:"dashicons dashicons-editor-unlink",magic:"dashicons dashicons-editor-paragraph",minus:"dashicons dashicons-minus",orderedlist:"dashicons dashicons-editor-ol",redo:"dashicons dashicons-redo",square:"dashicons fa-square",table:"dashicons dashicons-editor-table",underline:"dashicons dashicons-editor-underline",undo:"dashicons dashicons-undo",unorderedlist:"dashicons dashicons-editor-ul"},this.currentContext={}},initSettingModel:function(e){e.set("hide_merge_tags",!0)},initRTE:function(e,t,n){var r=this,a=function(e){return r.linkButton(e)},s=function(e){return r.mediaButton(e)},o=this.mergeTags(),l=[["paragraphStyle",["style"]],["fontStyle",["bold","italic","underline","clear"]],["lists",["ul","ol"]],["paragraph",["paragraph"]],["customGroup",["linkButton","unlink"]],["table",["table"]],["actions",["undo","redo"]],["tools",["mediaButton","mergeTags","codeview"]]];jQuery(n.el).find("div.setting").summernote({toolbar:l,buttons:{linkButton:a,mergeTags:o,mediaButton:s},height:150,codemirror:{theme:"monokai",lineNumbers:!0,callbacks:{onBlur:function(n){var i=n.getValue();r.updateDataModel(e,t,i)}}},prettifyHtml:!0,callbacks:{onBlur:function(n,a){var s=jQuery(this).summernote("code");r.updateDataModel(e,t,s),i.channel("summernote").trigger("blur",e,t,s)},onFocus:function(e,t){i.channel("summernote").trigger("focus",e,this,t)},onKeydown:function(e,t){i.channel("summernote").trigger("keydown",e,this,t)},onKeyup:function(e,t){i.channel("summernote").trigger("keyup",e,this,t)}}})},updateDataModel:function(e,t,n){var r=e.get("name"),a=t.get(r),s=n,o={attr:r,before:a,after:s},l={object:t.get("objectType"),label:t.get("label"),change:"Changed "+e.get("label")+" from "+a+" to "+s};i.channel("changes").request("register:change","changeSetting",t,o,l),t.set(e.get("name"),s)},renderSetting:function(e,t,n){this.initRTE(e,t,n);var i=jQuery(n.el).find(".link-button").next(".dropdown-menu").find("button");i.replaceWith(function(){return jQuery("<div/>",{class:jQuery(i).attr("class"),html:this.innerHTML})})},destroySetting:function(e,t,n){this.removeRTE(e,t,n)},removeRTE:function(e,t,n){jQuery(n.el).find("div.setting").summernote("destroy")},drawerOpened:function(e,t,n){this.initRTE(e,t,n)},linkButton:function(e){var t=this,n=jQuery.summernote.ui,r=i.channel("app").request("get:template","#tmpl-nf-rte-link-button"),a=i.channel("app").request("get:template","#tmpl-nf-rte-link-dropdown");return n.buttonGroup([n.button({className:"dropdown-toggle link-button",contents:r({}),tooltip:"Insert Link",click:function(n){t.clickLinkButton(n,e)},data:{toggle:"dropdown"}}),n.dropdown([n.buttonGroup({children:[n.button({contents:a({}),tooltip:""})]})])]).render()},mergeTags:function(e){var t=jQuery.summernote.ui,n=i.channel("app").request("get:template","#tmpl-nf-rte-merge-tags-button");return t.button({className:"dropdown-toggle merge-tags",contents:n({}),tooltip:"Merge Tags"}).render()},mediaButton:function(e){var t=this,n=jQuery.summernote.ui,r=i.channel("app").request("get:template","#tmpl-nf-rte-media-button");return n.button({className:"dropdown-toggle",contents:r({}),tooltip:"Insert Media",click:function(n){t.openMediaManager(n,e)}}).render()},openMediaManager:function(e,t){if(t.invoke("editor.createRange"),t.invoke("editor.saveRange"),this.currentContext=t,this.meta_image_frame)return void this.meta_image_frame.open();this.meta_image_frame=wp.media.frames.meta_image_frame=wp.media({title:"Select a file",button:{text:"insert"}});var n=this;this.meta_image_frame.on("select",function(){var e=n.meta_image_frame.state().get("selection").first().toJSON();n.insertMedia(e,t)}),this.meta_image_frame.open()},clickLinkButton:function(e,t){var n=t.invoke("editor.createRange");t.invoke("editor.saveRange");var i=n.toString();this.currentContext=t,jQuery(e.target).closest(".note-customGroup > .note-btn-group").on("hide.bs.dropdown",function(e){return!1}),jQuery(e.target).closest(".note-customGroup > .note-btn-group").on("shown.bs.dropdown",function(e){jQuery(e.target).parent().parent().find(".link-text").val(i),jQuery(e.target).parent().parent().find(".link-url").focus()})},clickExtra:function(e,t,n,i){var r=jQuery(e.target).parent().find(".link-text"),a=jQuery(e.target).parent().find(".link-url"),s=jQuery(e.target).parent().find(".link-new-window");if(this.currentContext.invoke("editor.restoreRange"),jQuery(e.target).hasClass("insert-link")){var o=r.val(),l=a.val(),c=!!s.prop("checked");0!=o.length&&0!=l.length&&this.currentContext.invoke("editor.createLink",{text:o,url:l,isNewWindow:c})}r.val(""),a.val(""),s.prop("checked",!1),jQuery(e.target).closest("div.note-btn-group.open").removeClass("open")},insertMedia:function(e,t){this.currentContext.invoke("editor.restoreRange"),"image"==e.type?this.currentContext.invoke("editor.insertImage",e.url):this.currentContext.invoke("editor.createLink",{text:e.title||e.filename,url:e.url})}})}),n("controllers/app/settingFieldSelect",[],function(){return Marionette.Object.extend({initialize:function(){this.listenTo(i.channel("field-select"),"init:settingModel",this.trackKeyChanges),this.listenTo(i.channel("setting-type-field-select"),"before:renderSetting",this.beforeRender),this.listenTo(i.channel("field-select"),"init:settingModel",function(){this.listenTo(i.channel("app"),"change:setting",this.maybeSwitchToFieldsDomain)}),this.listenTo(i.channel("app"),"change:currentDomain",this.autoOpenDrawer),this.listenTo(i.channel("drawer"),"opened",this.filterDrawerContents),this.listenTo(i.channel("drawer"),"closed",this.SwitchToFieldsDomain)},trackKeyChanges:function(e){e.listenTo(i.channel("app"),"update:fieldKey",e.updateKey),this.listenTo(i.channel("app"),"replace:fieldKey",this.updateFieldMap)},updateFieldMap:function(e,t,n){var i=t._previousAttributes.key,r=t.get("key");"field-select"==n.get("type")&&e.get(n.get("name"))==i&&e.set(n.get("name"),r)},beforeRender:function(e,t){var n=i.channel("fields").request("get:collection"),r=e.get("field_types"),a=[{label:"--",value:0}];_.each(n.models,function(n){if(t.cid!=n.cid&&(void 0===r||0==r.length||_.contains(r,n.get("type")))){var i=e.get("field_filter");if(i&&void 0!==i[n.get("type")]){var s=!1;if(_.each(i[n.get("type")],function(e,t){console.log(e+":"+n.get(t)),e!=n.get(t)&&(s=!0)}),s)return}var o=n.get("key");switch(e.get("field_value_format")){case"key":o=n.get("key");break;case"merge_tag":default:o="{field:"+n.get("key")+"}"}a.push({label:n.get("label"),value:o})}}),void 0!==r&&0!=r.length&&_.each(r,function(e){var t=i.channel("fields").request("get:type",e);a.push({label:"-- Add "+t.get("nicename")+" Field",value:"addField:"+e})}),e.set("options",a)},maybeSwitchToFieldsDomain:function(e,t,n){if("field-select"==t.get("type")){var r=t.get("name"),a=n.get(r);if(a){var s=a.split(":");"addField"==s[0]&&(this.openDrawer="addField",this.filterDrawer=s[1],n.set(r,""),this.switchDomain=!0,i.channel("app").request("close:drawer"))}}},SwitchToFieldsDomain:function(){if(this.switchDomain){var e=i.channel("app").request("get:domainModel","fields");i.channel("app").request("change:currentDomain",null,e),this.switchDomain=null}},autoOpenDrawer:function(){this.openDrawer&&(i.channel("app").request("open:drawer",this.openDrawer),this.openDrawer=null)},filterDrawerContents:function(){this.filterDrawer&&(i.channel("drawer-addField").trigger("change:filter",this.filterDrawer),this.filterDrawer=null)}})}),n("controllers/app/settingFieldList",["views/app/drawer/typeSettingFieldset","models/app/settingCollection"],function(e,t){return Marionette.Object.extend({fieldListSettings:[],initialize:function(){this.listenTo(i.channel("field-list"),"init:settingModel",this.registerFieldListSettings),this.listenTo(i.channel("fields"),"update:setting",this.updateFieldListSettingKeys),i.channel("field-list").reply("get:settingChildView",this.getSettingChildView,this)},registerFieldListSettings:function(e){this.fieldListSettings.push(e.get("name"))},updateFieldListSettingKeys:function(e){if(void 0!==e.changed.key){var t=e._previousAttributes.key,n=e.changed.key,i=this;_.each(Backbone.Radio.channel("actions").request("get:collection").models,function(e){_.each(e.attributes,function(r,a){var s="";_.each(i.fieldListSettings,function(i){if(a==i+"-"+t&&s!=t){var r=e.get(i+"-"+t);e.set(i+"-"+n,r),e.set(i+"-"+t,0),s=t}})})})}},getSettingChildView:function(n){var r=_.filter(i.channel("fields").request("get:collection").models,function(e){return _.contains(n.get("field_types"),e.get("type"))}),a=_.map(r,function(e){return{name:n.get("name")+"-"+e.get("key"),type:"toggle",label:e.get("label"),width:"full"}});return n.set("settings",new t(a)),e}})}),n("controllers/app/settingHTML",[],function(){return Marionette.Object.extend({initialize:function(){this.listenTo(i.channel("setting-type-html"),"before:renderSetting",this.init)},init:function(e,t){"undefined"!=e.get("mirror")&&t.on("change:"+e.get("mirror"),this.update,e)},update:function(e,t){e.set(this.get("name"),t)}})}),n("controllers/app/settingColor",[],function(){return Marionette.Object.extend({initialize:function(){i.channel("setting-type-color").reply("renderOnChange",this.setRenderFalse),this.listenTo(i.channel("setting-type-color"),"destroy:setting",this.closeColorPickers),this.listenTo(i.channel("setting-type-color"),"render:setting",this.initColorPicker)},initColorPicker:function(e,t,n){var r=(e.get("name"),jQuery(n.el).find("input"));jQuery(r).wpColorPicker({change:function(n,r){i.channel("app").request("change:setting",n,e,t,r.color.toString())}})},setRenderFalse:function(){return!1},closeColorPickers:function(e,t,n){jQuery(n.el).find(".wp-color-picker").wpColorPicker("close")}})}),n("controllers/app/changeMenu",[],function(){return Marionette.Object.extend({editFormText:"",initialize:function(){this.editFormText=nfAdmin.editFormText||"Edit Form",this.listenTo(i.channel("app"),"after:appStart",this.changeMenu),this.listenTo(i.channel("app"),"response:updateDB",this.formPublish)},changeMenu:function(){var e=i.channel("app").request("get:formModel");this.isNewForm(e.id)?this.highlightAddNew():this.appendEditForm()},isNewForm:function(e){return isNaN(e)},highlightAddNew:function(){jQuery(".wp-submenu li").removeClass("current"),jQuery('a[href="admin.php?page=ninja-forms&form_id=new"]').parent().addClass("current")},appendEditForm:function(){if(!(jQuery('li a:contains("'+this.editFormText+'")').length>0)){var e,t,n;e=document.createTextNode(this.editFormText),t=document.createElement("a"),t.appendChild(e),n=document.createElement("li"),n.appendChild(t),n.classList.add("current"),jQuery(".wp-submenu li").removeClass("current"),jQuery('a[href="admin.php?page=ninja-forms#new-form"]').parent().after(n)}},formPublish:function(e){if("publish"!==e.action)return!1;this.changeMenu()}})}),n("controllers/app/mobile",[],function(){return Marionette.Object.extend({initialize:function(){this.listenTo(i.channel("app"),"click:menu",this.closeMobileMenu)},closeMobileMenu:function(){var e=i.channel("app").request("get:builderEl");jQuery(e).removeClass("nf-menu-expand")}})}),n("controllers/app/notices",[],function(){return Marionette.Object.extend({initialize:function(){i.channel("notices").reply("add",this.addNotice,this),i.channel("notices").reply("close",this.closeNotice,this),this.notices={}},addNotice:function(e,t,n){var r={content:t,color:"green",zIndex:1e7,constructOnInit:!0,stack:!0,animation:{open:"flip",close:"flip"}},a={position:{x:"center",y:"top"},animation:{open:"slide:top",close:"slide:left"},autoClose:2e3,offset:{x:0,y:55}},s={attributes:{x:"left",y:"bottom"},autoClose:4e3};if(i.channel("app").request("is:mobile"))var o=a;else var o=s;o=jQuery.extend(o,r);var n=jQuery.extend(o,n);this.notices[e]=new jBox("Notice",n)},closeNotice:function(e){void 0!==this.notices[e]&&this.notices[e].close()},openNotice:function(e){void 0!==this.notices[e]&&this.notices[e].open()}})}),n("controllers/app/unloadCheck",[],function(){return Marionette.Object.extend({initialize:function(){jQuery(window).bind("beforeunload",this.maybePrompt)},maybePrompt:function(e){if(!i.channel("app").request("get:setting","clean"))return"You have unsaved changes."}})}),n("controllers/app/formContentFilters",[],function(){return Marionette.Object.extend({initialize:function(){this.viewFilters=[],this.saveFilters=[],this.loadFilters=[],i.channel("formContent").reply("add:viewFilter",this.addViewFilter,this),i.channel("formContent").reply("add:saveFilter",this.addSaveFilter,this),i.channel("formContent").reply("add:loadFilter",this.addLoadFilter,this),i.channel("formContent").reply("get:viewFilters",this.getViewFilters,this),i.channel("formContent").reply("get:saveFilters",this.getSaveFilters,this),i.channel("formContent").reply("get:loadFilters",this.getLoadFilters,this),i.channel("fieldContents").reply("add:viewFilter",this.addViewFilter,this),i.channel("fieldContents").reply("add:saveFilter",this.addSaveFilter,this),i.channel("fieldContents").reply("add:loadFilter",this.addLoadFilter,this),i.channel("fieldContents").reply("get:viewFilters",this.getViewFilters,this),i.channel("fieldContents").reply("get:saveFilters",this.getSaveFilters,this),i.channel("fieldContents").reply("get:loadFilters",this.getLoadFilters,this)},addViewFilter:function(e,t){this.viewFilters[t]=e},getViewFilters:function(){return this.viewFilters},addSaveFilter:function(e,t){this.saveFilters[t]=e},getSaveFilters:function(){return this.saveFilters},addLoadFilter:function(e,t){this.loadFilters[t]=e},getLoadFilters:function(){return this.loadFilters}})}),n("controllers/app/formContentGutterFilters",[],function(){return Marionette.Object.extend({initialize:function(){this.leftFilters=[],this.rightFilters=[],i.channel("formContentGutters").reply("add:leftFilter",this.addLeftFilter,this),i.channel("formContentGutters").reply("add:rightFilter",this.addRightFilter,this),i.channel("formContentGutters").reply("get:leftFilters",this.getLeftFilters,this),i.channel("formContentGutters").reply("get:rightFilters",this.getRightFilters,this)},addLeftFilter:function(e,t){this.leftFilters[t]=e},addRightFilter:function(e,t){this.rightFilters[t]=e},getLeftFilters:function(){return this.leftFilters},getRightFilters:function(){return this.rightFilters}})}),n("controllers/app/cloneCollectionDeep",[],function(){return Marionette.Object.extend({initialize:function(){i.channel("app").reply("clone:collectionDeep",this.cloneCollectionDeep,this)},cloneCollectionDeep:function(e){var t=[];return _.each(e.models,function(e){var n=i.channel("app").request("clone:modelDeep",e);t.push(n)}),new e.constructor(t,e.options)}})}),n("controllers/app/trackKeyDown",[],function(){return Marionette.Object.extend({keys:[],initialize:function(){var e=this;jQuery(document).on("keydown",function(t){e.keyDown(t,e)}),jQuery(document).on("keyup",function(t){e.keyUp(t,e)}),i.channel("app").reply("get:keydown",this.getKeyDown,this)},keyDown:function(e,t){t.keys[e.keyCode]=e.keyCode},keyUp:function(e,t){-1!=t.keys.indexOf(e.keyCode)&&delete t.keys[e.keyCode]},getKeyDown:function(){return this.keys}})}),n("controllers/app/perfectScroll",[],function(){return Marionette.Object.extend({movedPos:!1,initialize:function(){this.listenTo(i.channel("main"),"show:main",this.initPerfectScroll),this.listenTo(i.channel("drawer"),"opened",this.moveRail),this.listenTo(i.channel("drawer"),"before:closeDrawer",this.resetRail)},initPerfectScroll:function(e){i.channel("app").request("is:mobile")||jQuery(e.el).parent().perfectScrollbar({suppressScrollX:!0}),jQuery("head").append('<style id="ps-scrollbar-css" type="text/css"></style>')},moveRail:function(){var e=i.channel("app").request("get:drawerEl"),t=jQuery(e).outerWidth();jQuery("#ps-scrollbar-css").text(".ps-scrollbar-moved { right: "+t+"px !important; } "),jQuery("#nf-main .ps-scrollbar-y-rail").addClass("ps-scrollbar-moved ")},resetRail:function(){jQuery(".ps-scrollbar-y-rail").removeClass("ps-scrollbar-moved ")}})}),n("models/app/settingGroupModel",["models/app/settingCollection"],function(e){return Backbone.Model.extend({defaults:{display:!1},initialize:function(t){0==this.get("settings")instanceof Backbone.Collection&&this.set("settings",new e(this.get("settings")))}})}),n("models/app/settingGroupCollection",["models/app/settingGroupModel"],function(e){return Backbone.Collection.extend({model:e})}),n("controllers/app/getNewSettingGroupCollection",["models/app/settingGroupCollection"],function(e){return Marionette.Object.extend({initialize:function(){i.channel("app").reply("get:settingGroupCollectionDefinition",this.getNewSettingGroupCollection,this)},getNewSettingGroupCollection:function(){return e}})}),n("controllers/app/settingMedia",[],function(){return Marionette.Object.extend({initialize:function(){this.listenTo(i.channel("setting-type-media"),"click:extra",this.clickExtra)},clickExtra:function(e,t,n,i){var r=jQuery(e.target).parent().find(".setting");if(jQuery(e.target).hasClass("open-media-manager")){if(this.meta_image_frame)return void this.meta_image_frame.open();this.meta_image_frame=wp.media.frames.meta_image_frame=wp.media({title:"Select a file",button:{text:"insert"}});var a=this;this.meta_image_frame.on("select",function(){
5
  var e=a.meta_image_frame.state().get("selection").first().toJSON();r.val(e.url).change()}),this.meta_image_frame.open()}}})}),n("models/app/typeModel",["models/app/settingGroupCollection"],function(e){return Backbone.Model.extend({initialize:function(){!1==this.get("settingGroups")instanceof Backbone.Collection&&this.set("settingGroups",new e(this.get("settingGroups"))),i.channel("fields").trigger("init:typeModel",this)}})}),n("models/app/typeCollection",["models/app/typeModel"],function(e){return Backbone.Collection.extend({model:e,type:!1,initialize:function(e,t){_.each(t,function(e,t){this[t]=e},this)}})}),n("models/fields/typeSectionModel",[],function(){return Backbone.Model.extend({defaults:{classes:""}})}),n("models/fields/typeSectionCollection",["models/fields/typeSectionModel"],function(e){return Backbone.Collection.extend({model:e})}),n("controllers/fields/types",["models/app/typeCollection","models/fields/typeSectionCollection"],function(e,t){return Marionette.Object.extend({initialize:function(){this.sections=new t(fieldTypeSections),this.listenTo(i.channel("fields"),"init:typeModel",this.registerSection),this.collection=new e(fieldTypeData,{type:"fields"}),i.channel("fields").reply("get:type",this.getFieldType,this),i.channel("fields").reply("get:typeCollection",this.getTypeCollection,this),i.channel("fields").reply("get:typeSections",this.getTypeSections,this),i.channel("fields").reply("get:savedFields",this.getSavedFields,this),this.listenTo(i.channel("drawer"),"click:fieldType",this.addField)},registerSection:function(e){"fields"==e.collection.type&&e.get("section")&&this.sections.get(e.get("section")).get("fieldTypes").push(e.get("id"))},getFieldType:function(e){return this.collection.get(e)},getTypeCollection:function(e){return this.collection},addField:function(e){var t=jQuery(e.target).data("id");if(e.shiftKey)return void i.channel("fields").request("add:stagedField",t);var n=i.channel("fields").request("add",{type:t,label:i.channel("fields").request("get:type",t).get("nicename")});console.log(n);var r={object:"Field",label:n.get("label"),change:"Added",dashicon:"plus-alt"},a={collection:i.channel("fields").request("get:collection")};i.channel("changes").request("register:change","addObject",n,null,r,a),i.channel("fields").request("redraw:collection")},getTypeSections:function(){return this.sections},getSavedFields:function(){this.sections.get("saved")}})}),n("controllers/fields/fieldTypeDrag",[],function(){return Marionette.Object.extend({initialize:function(){this.listenTo(i.channel("drawer-addField"),"startDrag:type",this.startDrag),this.listenTo(i.channel("drawer-addField"),"stopDrag:type",this.stopDrag),i.channel("drawer-addField").reply("get:typeHelperClone",this.getCurrentDraggableHelperClone,this)},startDrag:function(e,t){this.drawerEl=i.channel("app").request("get:drawerEl"),this.mainEl=i.channel("app").request("get:mainEl"),jQuery(this.drawerEl)[0].style.setProperty("overflow","visible","important"),this.draggableHelperClone=jQuery(t.helper).clone()},stopDrag:function(e,t){jQuery(this.drawerEl)[0].style.setProperty("overflow","hidden","important")},getCurrentDraggableHelperClone:function(){return this.draggableHelperClone}})}),n("controllers/fields/stagingDrag",[],function(){return Marionette.Object.extend({initialize:function(){this.listenTo(i.channel("drawer-addField"),"startDrag:fieldStaging",this.startDrag),this.listenTo(i.channel("drawer-addField"),"stopDrag:fieldStaging",this.stopDrag)},startDrag:function(e,t){this.drawerEl=i.channel("app").request("get:drawerEl"),this.mainEl=i.channel("app").request("get:mainEl"),jQuery(this.drawerEl)[0].style.setProperty("overflow","visible","important");var n=i.channel("fields").request("get:staging"),r=i.channel("app").request("get:template","#tmpl-nf-staged-fields-drag");jQuery(t.helper).html(r({num:n.models.length})),jQuery(t.helper).prop("id","nf-staged-fields-drag"),jQuery(t.item).css("opacity","0.7")},stopDrag:function(e,t){jQuery(this.drawerEl)[0].style.setProperty("overflow","hidden","important")}})}),n("controllers/fields/staging",["models/fields/stagingCollection"],function(e){return Marionette.Object.extend({initialize:function(){this.collection=new e,i.channel("fields").reply("add:stagedField",this.addStagedField,this),i.channel("fields").reply("remove:stagedField",this.removeStagedField,this),i.channel("fields").reply("get:staging",this.getStagingCollection,this),i.channel("fields").reply("sort:staging",this.sortStagedFields,this),i.channel("fields").reply("clear:staging",this.clearStagedFields,this),this.listenTo(i.channel("drawer-addField"),"click:removeStagedField",this.removeStagedField),this.listenTo(i.channel("drawer-addField"),"before:closeDrawer",this.beforeCloseDrawer)},getStagingCollection:function(){return this.collection},addStagedField:function(e,t){var t=t||!1,n=i.channel("fields").request("get:type",e),r="nf-staged-field-"+jQuery.now(),a={id:r,slug:n.get("type"),nicename:n.get("nicename"),icon:n.get("icon")},s=this.collection.add(a);return t||i.channel("fields").trigger("add:stagedField",s),r},removeStagedField:function(e,t){this.collection.remove(t),i.channel("fields").trigger("remove:stagedField",t)},beforeCloseDrawer:function(){if(0!=this.collection.models.length){var e=i.channel("fields").request("get:collection");_.each(this.collection.models,function(t){var n=i.channel("fields").request("get:tmpID"),r={id:n,label:t.get("nicename"),type:t.get("slug")},a=i.channel("fields").request("add",r,!1),s={object:"Field",label:a.get("label"),change:"Added",dashicon:"plus-alt"},o={collection:e};i.channel("changes").request("register:change","addObject",a,null,s,o)}),e.trigger("reset",e),this.collection.reset()}i.channel("fields").request("sort:fields",null,null,!1)},sortStagedFields:function(){var e=i.channel("app").request("get:stagedFieldsEl"),t=jQuery(e).sortable("toArray");_.each(this.collection.models,function(e){var n=e.get("id"),i=t.indexOf(n);e.set("order",i)}),this.collection.sort()},clearStagedFields:function(){this.collection.reset()}})}),n("controllers/fields/stagingSortable",["models/fields/stagingCollection"],function(e){return Marionette.Object.extend({initialize:function(){this.listenTo(i.channel("drawer-addField"),"receive:stagedFields",this.receiveStagedFields),this.listenTo(i.channel("drawer-addField"),"over:stagedFields",this.overStagedFields),this.listenTo(i.channel("drawer-addField"),"out:stagedFields",this.outStagedFields),this.listenTo(i.channel("drawer-addField"),"start:stagedFields",this.startStagedFields),this.listenTo(i.channel("drawer-addField"),"stop:stagedFields",this.stopStagedFields)},receiveStagedFields:function(e){if(jQuery(e.item).hasClass("nf-field-type-draggable")){var t=jQuery(e.item).data("id"),n=i.channel("fields").request("add:stagedField",t);jQuery(e.helper).prop("id",n),i.channel("fields").request("sort:staging"),jQuery(e.helper).remove(),i.channel("drawer-addField").trigger("drop:fieldType",t)}},addActiveClass:function(){var e=i.channel("app").request("get:stagedFieldsEl");jQuery(e).addClass("nf-droppable-active")},removeActiveClass:function(){var e=i.channel("app").request("get:stagedFieldsEl");jQuery(e).removeClass("nf-droppable-active")},overStagedFields:function(e,t){if(jQuery(t.item).hasClass("nf-field-type-draggable")){var n=jQuery(t.item).data("id"),r=i.channel("fields").request("get:type",n),a=r.get("nicename");this.currentHelper=t.helper,jQuery(t.helper).html(a+'<span class="dashicons dashicons-dismiss"></span>'),jQuery(t.helper).removeClass("nf-field-type-button").addClass("nf-item-dock").css({opacity:"0.8",width:"",height:""});var s=i.channel("app").request("get:stagedFieldsEl");jQuery(s).hasClass("ui-sortable")&&jQuery(s).addClass("nf-droppable-hover")}},outStagedFields:function(e){if(jQuery(e.item).hasClass("nf-field-type-draggable")){var t=i.channel("drawer-addField").request("get:typeHelperClone");jQuery(this.currentHelper).html(jQuery(t).html()),jQuery(this.currentHelper).removeClass("nf-item-dock").addClass("nf-field-type-button");var n=i.channel("app").request("get:stagedFieldsEl");jQuery(n).hasClass("ui-sortable")&&jQuery(n).removeClass("nf-droppable-hover")}},startStagedFields:function(e){jQuery(e.item).show(),jQuery(e.item).css({display:"inline",opacity:"0.7"}),jQuery(e.helper).css("opacity","0.5")},stopStagedFields:function(e){jQuery(e.item).css("opacity",""),jQuery(e.helper).remove()}})}),n("controllers/fields/filterTypes",["models/fields/typeSectionCollection"],function(e){return Marionette.Object.extend({initialize:function(){this.listenTo(i.channel("drawer-addField"),"change:filter",this.filterFieldTypes)},filterFieldTypes:function(t,n){if(""!=jQuery.trim(t)){var r=[];_.each(this.filterCollection(t),function(e){r.push(e.get("id"))});for(var a=new e([{id:"filtered",nicename:"Filtered Fields",fieldTypes:r}]),s=i.channel("app").request("update:hiddenFields")||[],o=a.models[0].get("fieldTypes").length-1;o>=0;o--){-1<s.indexOf(a.models[0].get("fieldTypes")[o])&&a.models[0].get("fieldTypes").splice(o,1)}i.channel("drawer").trigger("filter:fieldTypes",a),void 0!==n&&n.addObject&&0<r.length&&(i.channel("fields").request("add:stagedField",r[0]),i.channel("drawer").request("clear:filter"))}else i.channel("drawer").trigger("clear:filter")},filterCollection:function(e){return e=e.toLowerCase(),i.channel("fields").request("get:typeCollection").filter(function(t){var n=!1;return-1!=t.get("type").toLowerCase().indexOf(e)?n=!0:-1!=t.get("nicename").toLowerCase().indexOf(e)&&(n=!0),t.get("tags")&&0==e.indexOf("#")&&_.each(t.get("tags"),function(t){e.replace("#","").length>1&&-1!=t.toLowerCase().indexOf(e.replace("#",""))&&(n=!0)}),t.get("alias")&&_.each(t.get("alias"),function(t){-1!=t.toLowerCase().indexOf(e)&&(n=!0)}),n})}})}),n("controllers/fields/sortable",[],function(){return Marionette.Object.extend({initialize:function(){this.listenTo(i.channel("drawer-addField"),"startDrag:type",this.addActiveClass),this.listenTo(i.channel("drawer-addField"),"stopDrag:type",this.removeActiveClass),this.listenTo(i.channel("drawer-addField"),"startDrag:fieldStaging",this.addActiveClass),this.listenTo(i.channel("drawer-addField"),"stopDrag:fieldStaging",this.removeActiveClass),i.channel("app").reply("receive:fieldsSortable",this.receiveFieldsSortable,this),i.channel("app").reply("over:fieldsSortable",this.overfieldsSortable,this),i.channel("app").reply("out:fieldsSortable",this.outFieldsSortable,this),i.channel("app").reply("stop:fieldsSortable",this.stopFieldsSortable,this),i.channel("app").reply("start:fieldsSortable",this.startFieldsSortable,this),i.channel("app").reply("update:fieldsSortable",this.updateFieldsSortable,this)},addActiveClass:function(){var e=i.channel("fields").request("get:sortableEl");jQuery(e).addClass("nf-droppable-active")},removeActiveClass:function(){var e=i.channel("fields").request("get:sortableEl");jQuery(e).removeClass("nf-droppable-active")},receiveFieldsSortable:function(e){if(jQuery(e.item).hasClass("nf-field-type-draggable")){var t=jQuery(e.item).data("id"),n=this.addField(t,!1);jQuery(e.helper).prop("id",n),i.channel("fields").request("sort:fields"),jQuery(e.helper).remove(),i.channel("fields").trigger("drop:fieldType",t,n)}else if(jQuery(e.item).hasClass("nf-stage")){var r=this;i.channel("fields").request("sort:staging");var a=i.channel("fields").request("get:staging"),s=i.channel("fields").request("get:sortableEl");if(jQuery(s).hasClass("ui-sortable"))var o=jQuery(s).sortable("toArray");else var o=["nf-staged-fields-drag"];var l=o.indexOf("nf-staged-fields-drag");_.each(a.models,function(e,t){var n=r.addField(e.get("slug"));o.splice(l+t,0,n)});var l=o.indexOf("nf-staged-fields-drag");o.splice(l,1),i.channel("fields").request("sort:fields",o),i.channel("fields").request("clear:staging"),jQuery(e.helper).remove()}},addField:function(e,t){t=t||!1;var n=i.channel("fields").request("get:type",e),r=i.channel("fields").request("get:tmpID"),a=i.channel("fields").request("add",{id:r,label:n.get("nicename"),type:e},t),s={object:"Field",label:a.get("label"),change:"Added",dashicon:"plus-alt"},o={collection:i.channel("fields").request("get:collection")};return i.channel("changes").request("register:change","addObject",a,null,s,o),r},overfieldsSortable:function(e){if(jQuery(e.item).hasClass("nf-field-type-draggable")){var t=jQuery(e.helper).data("id"),n=i.channel("fields").request("get:type",t),r=n.get("nicename"),a=i.channel("fields").request("get:sortableEl"),s=jQuery(a).width();this.currentHelper=e.helper,jQuery(e.helper).html(r),jQuery(e.helper).removeClass("nf-field-type-button").addClass("nf-field-wrap").css({width:s,height:"50px"}),jQuery(a).hasClass("ui-sortable")&&jQuery(a).addClass("nf-droppable-hover")}else if(jQuery(e.item).hasClass("nf-stage")){var a=i.channel("fields").request("get:sortableEl");jQuery(a).hasClass("ui-sortable")&&jQuery(a).addClass("nf-droppable-hover")}},outFieldsSortable:function(e){if(jQuery(e.item).hasClass("nf-field-type-draggable")){var t=i.channel("drawer-addField").request("get:typeHelperClone");jQuery(this.currentHelper).html(jQuery(t).html()),jQuery(this.currentHelper).removeClass("nf-field-wrap").addClass("nf-field-type-button").css({width:"",height:""});var n=i.channel("fields").request("get:sortableEl");jQuery(n).hasClass("ui-sortable")&&jQuery(n).removeClass("nf-droppable-hover")}else if(jQuery(e.item).hasClass("nf-stage")){var n=i.channel("fields").request("get:sortableEl");jQuery(n).hasClass("ui-sortable")&&jQuery(n).removeClass("nf-droppable-hover")}},stopFieldsSortable:function(e){jQuery(e.item).css("opacity",""),jQuery(e.helper).remove(),i.channel("fields").trigger("sortable:stop",e)},startFieldsSortable:function(e){jQuery(e.item).hasClass("nf-field-type-draggable")||jQuery(e.item).hasClass("nf-stage")||jQuery(e.item).css("opacity","0.5").show(),i.channel("fields").trigger("sortable:start",e)},updateFieldsSortable:function(e,t){if(i.channel("fields").request("sort:fields"),!jQuery(e.item).hasClass("nf-field-type-draggable")&&!jQuery(e.item).hasClass("nf-stage")){var n=i.channel("fields").request("get:collection"),r=jQuery(e.item).prop("id").replace("field-",""),a=n.get(r),s={fields:[]};_.each(n.models,function(e){var t=e._previousAttributes.order,n=e.get("order");s.fields.push({model:e,attr:"order",before:t,after:n})});var o={object:"Field",label:a.get("label"),change:"Re-ordered from "+a._previousAttributes.order+" to "+a.get("order"),dashicon:"sort"};i.channel("changes").request("register:change","sortFields",a,null,o,s)}}})}),n("controllers/fields/data",["models/fields/fieldCollection","models/fields/fieldModel"],function(e,t){return Marionette.Object.extend({adding:!1,removing:!1,initialize:function(){this.collection=new e(preloadedFormData.fields),this.collection.removedIDs={},i.channel("fields").reply("get:collection",this.getFieldCollection,this),i.channel("fields").reply("get:field",this.getField,this),i.channel("fields").reply("redraw:collection",this.redrawFieldCollection,this),i.channel("fields").reply("get:tmpID",this.getTmpFieldID,this),i.channel("fields").reply("add",this.addField,this),i.channel("fields").reply("delete",this.deleteField,this),i.channel("fields").reply("sort:fields",this.sortFields,this),i.channel("fields").reply("get:adding",this.getAdding,this),i.channel("fields").reply("set:adding",this.setAdding,this),i.channel("fields").reply("get:removing",this.getRemoving,this),i.channel("fields").reply("set:removing",this.setRemoving,this)},getFieldCollection:function(){return this.collection},redrawFieldCollection:function(){this.collection.trigger("reset",this.collection)},getField:function(e){return this.collection.findWhere({key:e})?this.collection.findWhere({key:e}):this.collection.get(e)},addField:function(e,n,r,a){if(i.channel("fields").request("set:adding",!0),n=n||!1,a=a||"",r=void 0===r||r,!1==e instanceof Backbone.Model){void 0===e.id&&(e.id=this.getTmpFieldID());var s=new t(e)}else var s=e;if(jQuery.isNumeric(s.get("type"))){var o=i.channel("fields").request("get:type",s.get("type"));s.set("type",o.get("parentType"))}var l=this.collection.add(s,{silent:n});return i.channel("app").request("update:setting","clean",!1),i.channel("fields").trigger("add:field",s),r&&i.channel("fields").trigger("render:newField",l,a),"duplicate"==a&&i.channel("fields").trigger("render:duplicateField",l,a),i.channel("fields").trigger("after:addField",s),s},updateFieldSetting:function(e,t,n){this.collection.get(e).set(t,n)},sortFields:function(e,t,n){null==n&&(n=!0);var r=i.channel("fields").request("get:sortableEl");if(jQuery(r).hasClass("ui-sortable")){var e=e||jQuery(r).sortable("toArray");_.each(this.collection.models,function(t){var n=(t.get("order"),t.get("id"));if(jQuery.isNumeric(n))var i="field-"+n;else var i=n;var r=e.indexOf(i)+1;t.set("order",r)}),this.collection.sort(),n&&(i.channel("app").request("update:setting","clean",!1),i.channel("app").request("update:db"))}},deleteField:function(e){i.channel("fields").trigger("delete:field",e),this.removing=!0,this.collection.remove(e),i.channel("app").request("update:setting","clean",!1),i.channel("app").request("update:db")},getTmpFieldID:function(){var e=this.collection.tmpNum;return this.collection.tmpNum++,"tmp-"+e},getAdding:function(){return this.adding},setAdding:function(e){this.adding=e},getRemoving:function(){return this.removing},setRemoving:function(e){this.removing=e}})}),n("models/app/optionRepeaterModel",[],function(){return Backbone.Model.extend({defaults:{errors:{},max_options:0},initialize:function(){this.on("change:errors",this.changeErrors,this)},changeErrors:function(e){if(0==_.size(e.get("errors"))){var t=!1;_.each(e.collection.models,function(e){0!=_.size(e.get("errors"))&&(t=!0)}),t||e.collection.settingModel.set("error",!1)}else e.collection.settingModel.set("error",!0)}})}),n("models/app/optionRepeaterCollection",["models/app/optionRepeaterModel"],function(e){return Backbone.Collection.extend({model:e,comparator:"order",initialize:function(e,t){this.on("sort",this.changeCollection,this),this.on("add",this.addOption,this),this.settingModel=t.settingModel},changeCollection:function(){i.channel("option-repeater").trigger("sort:options",this),void 0!==this.settingModel&&i.channel("option-repeater-"+this.settingModel.get("name")).trigger("sort:options",this)},addOption:function(e,t){e.set("settingModel",this.settingModel)}})}),n("views/app/drawer/optionRepeaterError",[],function(){return Marionette.ItemView.extend({tagName:"div",className:"nf-error",template:"#tmpl-nf-edit-setting-option-repeater-error",templateHelpers:function(){var e=this;return{renderErrors:function(){return void 0!==e.errors?e.errors[Object.keys(errors)[0]]:""}}}})}),n("views/app/drawer/optionRepeaterOption",["views/app/drawer/optionRepeaterError"],function(e){return Marionette.LayoutView.extend({tagName:"div",className:"nf-table-row",template:"#tmpl-nf-edit-setting-option-repeater-default-row",id:function(){return this.model.cid},regions:{error:".nf-option-error"},initialize:function(e){this.settingModel=e.settingModel,this.dataModel=e.dataModel,this.collection=e.collection,this.columns=e.columns,this.parentView=e.parentView,this.model.on("change:errors",this.renderErrors,this),void 0!==this.settingModel.get("tmpl_row")&&(this.template="#"+this.settingModel.get("tmpl_row")),this.hasErrors=!1},onBeforeDestroy:function(){this.model.off("change",this.render),this.model.off("change:errors",this.renderErrors)},onBeforeRender:function(){if(this.model.get("label")){var e=this.model.get("label");this.model.set("label",_.escape(e),{silent:!0})}},onRender:function(){if(i.channel("mergeTags").request("init",this),i.channel("setting-"+this.settingModel.get("name")+"-option").trigger("render:setting",this.model,this.dataModel,this),this.model.get("label")){var e=this.model.get("label");this.model.set("label",_.unescape(e),{silent:!0})}},onShow:function(){this.model.get("new")&&(jQuery(this.el).find("input:first").focus(),this.model.set("new",!1))},events:{"change .setting":"changeOption","click .nf-delete":"deleteOption",keyup:"keyupOption"},changeOption:function(e){i.channel("option-repeater").trigger("change:option",e,this.model,this.dataModel,this.settingModel,this)},deleteOption:function(e){i.channel("option-repeater").trigger("click:deleteOption",this.model,this.collection,this.dataModel,this)},keyupOption:function(e){this.maybeAddOption(e),i.channel("option-repeater").trigger("keyup:option",e,this.model,this.dataModel,this.settingModel,this),i.channel("option-repeater-"+this.settingModel.get("name")).trigger("keyup:option",e,this.model,this.dataModel,this.settingModel,this)},maybeAddOption:function(e){13==e.keyCode&&"calculations"!=this.settingModel.get("name")&&(i.channel("option-repeater").trigger("click:addOption",this.collection,this.dataModel,this),jQuery(this.parentView.children.findByIndex(this.parentView.children.length-1).el).find('[data-id="label"]').focus())},renderErrors:function(){0==Object.keys(this.model.get("errors"))?this.hasErrors&&(this.error.empty(),jQuery(this.el).removeClass("nf-error")):(this.hasErrors=!0,this.error.show(new e({model:this.model})),jQuery(this.el).addClass("nf-error"))},templateHelpers:function(){var e=this;return{getColumns:function(){return e.columns},renderFieldSelect:function(e,t){var n,r,a,s,o=i.channel("fields").request("get:collection");return n=document.createElement("option"),n.value="",n.label="--",n.innerHTML="--",r=document.createElement("select"),r.classList.add("setting"),r.setAttribute("data-id",e),r.appendChild(n),o.each(function(e){var n=document.createElement("option");t==e.get("key")&&n.setAttribute("selected","selected"),n.value=e.get("key"),n.innerHTML=e.get("label"),n.label=e.get("label"),r.appendChild(n)}),s=document.createElement("label"),s.classList.add("nf-select"),s.appendChild(r),a=document.createElement("div"),s.appendChild(a),s.innerHTML},renderOptions:function(t,n){if(void 0!==e.options.columns[t]){var i=document.createElement("select");return _.each(e.options.columns[t].options,function(e){var t=document.createElement("option");n===e.value&&t.setAttribute("selected","selected"),t.setAttribute("value",e.value),t.setAttribute("label",e.label),i.appendChild(t)}),i.innerHTML}}}}})}),n("views/app/drawer/optionRepeaterEmpty",[],function(){return Marionette.ItemView.extend({tagName:"tr",template:"#tmpl-nf-edit-setting-option-repeater-empty"})}),n("views/app/drawer/optionRepeaterComposite",["views/app/drawer/optionRepeaterOption","views/app/drawer/optionRepeaterEmpty","models/app/optionRepeaterCollection"],function(e,t,n){return Marionette.CompositeView.extend({template:"#tmpl-nf-edit-setting-option-repeater-wrap",childView:e,emptyView:t,reorderOnSort:!1,initialize:function(e){var t=e.dataModel.get(this.model.get("name"));0==t instanceof Backbone.Collection&&(t=new n([],{settingModel:this.model}),t.add(e.dataModel.get(this.model.get("name"))),e.dataModel.set(this.model.get("name"),t,{silent:!0})),this.collection=t,this.dataModel=e.dataModel,this.childViewOptions={parentView:this,settingModel:this.model,collection:this.collection,dataModel:e.dataModel,columns:this.model.get("columns")};var r=this.model.get("deps");if(r)for(var a in r)r.hasOwnProperty(a)&&this.dataModel.on("change:"+a,this.render,this);this.listenTo(i.channel("option-repeater"),"added:option",this.maybeHideNew),this.listenTo(i.channel("option-repeater"),"removed:option",this.maybeHideNew)},onBeforeDestroy:function(){var e=this.model.get("deps");if(e)for(var t in e)e.hasOwnProperty(t)&&this.dataModel.off("change:"+t,this.render)},onRender:function(){var e=this;jQuery(this.el).find(".nf-list-options-tbody").sortable({handle:".handle",helper:"clone",placeholder:"nf-list-options-sortable-placeholder",forcePlaceholderSize:!0,opacity:.95,tolerance:"pointer",start:function(e,t){i.channel("option-repeater").request("start:optionSortable",t)},stop:function(e,t){i.channel("option-repeater").request("stop:optionSortable",t)},update:function(t,n){i.channel("option-repeater").request("update:optionSortable",n,this,e)}}),e.maybeHideNew(e.collection),i.channel("setting-"+this.model.get("name")).trigger("render:setting",this.model,this.dataModel,this)},onAttach:function(){var e=jQuery(this.el).find(".nf-open-import-tooltip"),t=jQuery(e).jBox("Tooltip",{title:"<h3>Please enter your options below:</h3>",content:jQuery(this.el).find(".nf-import-options"),trigger:"click",closeOnClick:"body",closeButton:"box",offset:{x:20,y:0},addClass:"import-options",onOpen:function(){var e=this;setTimeout(function(){jQuery(e.content).find("textarea").focus()},200)}});jQuery(this.el).find(".nf-import").on("click",{view:this,jBox:t},this.clickImport),i.channel("setting-"+this.model.get("name")).trigger("attach:setting",this.model,this.dataModel,this),i.channel("setting-type-"+this.model.get("type")).trigger("attach:setting",this.model,this.dataModel,this)},templateHelpers:function(){var e=this;return{renderHeaders:function(){var e,t,n;return t=document.createElement("div"),e=document.createElement("span"),e.appendChild(t),_.each(this.columns,function(t){var n,i;n=document.createRange().createContextualFragment(t.header),i=document.createElement("div"),i.appendChild(n),e.appendChild(i)}),n=document.createElement("div"),e.appendChild(n),e.innerHTML},renderSetting:function(){return i.channel("app").request("get:template","#tmpl-nf-edit-setting-"+this.type)(this)},renderClasses:function(){var e="";return void 0!==this.width?e+=this.width:e+=" one-half",this.error&&(e+=" nf-error"),e},renderVisible:function(){if(this.deps)for(var t in this.deps)if(this.deps.hasOwnProperty(t)&&e.dataModel.get(t)!==this.deps[t])return'style="display:none;"';return""},renderError:function(){return this.error?this.error:""},renderFieldsetClasses:function(){return e.model.get("name")},currencySymbol:function(){return i.channel("settings").request("get:setting","currency")||nfi18n.currency_symbol}}},attachHtml:function(e,t){jQuery(e.el).find(".nf-list-options-tbody").append(t.el),i.channel("mergeTags").request("init",this)},events:{"click .nf-add-new":"clickAddOption","click .extra":"clickExtra"},maybeHideNew:function(e){if(void 0===e.settingModel)return!1;var t=e.settingModel.get("max_options");0!==t&&e.models.length>=t?jQuery(this.el).find(".nf-add-new").addClass("disabled"):jQuery(this.el).find(".nf-add-new").removeClass("disabled")},clickAddOption:function(e){i.channel("option-repeater").trigger("click:addOption",this.collection,this.dataModel),jQuery(this.children.findByIndex(this.children.length-1).el).find('[data-id="label"]').focus()},clickExtra:function(e){i.channel("option-repeater").trigger("click:extra",e,this.collection,this.dataModel),i.channel("option-repeater-"+this.model.get("name")).trigger("click:extra",e,this.model,this.collection,this.dataModel)},clickImport:function(e){var t=jQuery(e.data.jBox.content).find("textarea"),n=t.val().trimLeft().trimRight();if(0==n.length)return e.data.jBox.close(),!1;var r=n.split(/\n/);_.isArray(r)&&_.each(r,function(t){var n=t.split(","),r=n[0],a=n[1]||jQuery.slugify(r,{separator:"-"}),s=n[2]||"";r=r.trimLeft().trimRight(),a=a.trimLeft().trimRight(),s=s.trimLeft().trimRight();var o=e.data.view.collection.add({label:n[0],value:a,calc:s}),r={object:"field",label:n[0],change:"Option Added",dashicon:"plus-alt"};i.channel("changes").request("register:change","addListOption",o,null,r),i.channel("option-repeater-"+e.data.view.model.get("name")).trigger("add:option",o),i.channel("option-repeater").trigger("add:option",o),i.channel("app").trigger("update:setting",o)},this),t.val(""),e.data.jBox.close()}})}),n("controllers/app/optionRepeater",["models/app/optionRepeaterModel","models/app/optionRepeaterCollection","views/app/drawer/optionRepeaterComposite"],function(e,t,n){return Marionette.Object.extend({initialize:function(){i.channel("option-repeater").reply("get:settingChildView",this.getSettingChildView,this),this.listenTo(i.channel("option-repeater"),"change:option",this.changeOption),this.listenTo(i.channel("option-repeater"),"click:addOption",this.addOption),this.listenTo(i.channel("option-repeater"),"click:deleteOption",this.deleteOption),i.channel("option-repeater").reply("update:optionSortable",this.updateOptionSortable,this),i.channel("option-repeater").reply("stop:optionSortable",this.stopOptionSortable,this),i.channel("option-repeater").reply("start:optionSortable",this.startOptionSortable,this),this.listenTo(i.channel("option-repeater"),"init:dataModel",this.convertSettings)},changeOption:function(e,t,n,r,a){var s=jQuery(e.target).data("id");if("selected"==s)if(jQuery(e.target).attr("checked"))var o=1;else var o=0;else var o=jQuery(e.target).val();var l=t.get(s);t.set(s,o),this.triggerDataModel(t,n);var c=o,d={attr:s,before:l,after:c},h={object:n.get("objectType"),label:n.get("label"),change:"Option "+t.get("label")+" "+s+" changed from "+l+" to "+c};i.channel("changes").request("register:change","changeSetting",t,d,h),i.channel("option-repeater").trigger("update:option",t,n,r,a),i.channel("option-repeater-option-"+s).trigger("update:option",e,t,n,r,a),i.channel("option-repeater-"+r.get("name")).trigger("update:option",t,n,r,a)},addOption:function(t,n){var r={order:t.length,new:!0,options:{}};if(void 0!==t.settingModel){var a=t.settingModel.get("max_options");if(0!==a&&t.models.length>=a)return;_.each(t.settingModel.get("columns"),function(e,t){r[t]=e.default,void 0!==e.options&&(r.options[t]=e.options)})}var s=new e(r);t.add(s);var o={object:n.get("objectType"),label:n.get("label"),change:"Option Added",dashicon:"plus-alt"};i.channel("changes").request("register:change","addListOption",s,null,o),void 0!==t.settingModel&&i.channel("option-repeater-"+t.settingModel.get("name")).trigger("add:option",s),i.channel("option-repeater").trigger("add:option",s),i.channel("option-repeater").trigger("added:option",t),this.triggerDataModel(s,n)},deleteOption:function(e,t,n){var r=i.channel("app").request("clone:modelDeep",e),a={object:n.get("objectType"),label:n.get("label"),change:"Option "+r.get("label")+" Removed",dashicon:"dismiss"},s={collection:t};i.channel("changes").request("register:change","removeListOption",r,null,a,s);var o=i.channel("changes").request("get:collection"),l=o.where({model:e});_.each(l,function(e){"object"==typeof e.get("data")&&_.each(e.get("data"),function(e){e.model==e&&(e.model=r)}),e.set("model",r),e.set("disabled",!0)}),t.remove(e),i.channel("option-repeater").trigger("remove:option",e),i.channel("option-repeater").trigger("removed:option",t),i.channel("option-repeater-"+t.settingModel.get("name")).trigger("remove:option",e),this.triggerDataModel(e,n)},triggerDataModel:function(e,t){i.channel("app").trigger("update:setting",e)},getSettingChildView:function(e){return n},updateOptionSortable:function(e,t,n){var r=jQuery(t).sortable("toArray"),a=n.collection.get({cid:jQuery(e.item).prop("id")}),s={collection:n.collection,objModels:[]};_.each(r,function(e,t){var i=n.collection.get({cid:e}),r=i.get("order");i.set("order",t);var a=t;s.objModels.push({model:i,attr:"order",before:r,after:a})}),n.collection.sort({silent:!0});var o={object:n.dataModel.get("objectType"),label:n.dataModel.get("label"),change:"Option "+a.get("label")+" re-ordered from "+a._previousAttributes.order+" to "+a.get("order"),dashicon:"sort"};i.channel("changes").request("register:change","sortListOptions",a,null,o,s),this.triggerDataModel(a,n.dataModel),i.channel("option-repeater").trigger("sort:option",a,n),i.channel("option-repeater-"+n.model.get("name")).trigger("sort:option",a,n)},stopOptionSortable:function(e){jQuery(e.item).css("opacity","")},startOptionSortable:function(e){jQuery(e.placeholder).find("div").remove(),jQuery(e.item).css("opacity","0.5").show()},convertSettings:function(e,n){var i=e.get(n.get("name"));0==i instanceof Backbone.Collection&&(i=new t([],{settingModel:n}),i.add(e.get(n.get("name"))),e.set(n.get("name"),i,{silent:!0}))}})}),n("controllers/fields/editActive",[],function(){
6
+ return Marionette.Object.extend({initialize:function(){i.channel("fields").reply("clear:editActive",this.clearEditActive,this),this.listenTo(i.channel("drawer-editSettings"),"before:closeDrawer",this.clearEditActive)},clearEditActive:function(){var e=i.channel("fields").request("get:collection");_.each(e.models,function(e){e.set("editActive",!1)})}})}),n("controllers/fields/fieldSettings",["models/app/settingCollection"],function(e){return Marionette.Object.extend({initialize:function(){this.collection=new e(fieldSettings,{objectType:"fields"}),i.channel("fields").reply("get:settingModel",this.getSettingModel,this),i.channel("fields").reply("get:settingCollection",this.getSettingCollection,this)},getSettingModel:function(e){return this.collection.findWhere({name:e})},getSettingCollection:function(){return this.collection}})}),n("controllers/fields/fieldCreditCard",[],function(){return Marionette.Object.extend({initialize:function(){this.listenTo(i.channel("fields"),"after:addField",this.dropCreditCardField)},dropCreditCardField:function(e){if("creditcard"==e.get("type")){var t=e.get("order");i.channel("fields").request("delete",e),_.each(["creditcardfullname","creditcardnumber","creditcardcvc","creditcardexpiration","creditcardzip"],function(e){var n=i.channel("fields").request("get:type",e),r={id:i.channel("fields").request("get:tmpID"),type:e,label:n.get("nicename"),order:t};i.channel("fields").request("add",r)})}},stageCreditCardField:function(e){"creditcard"==e.get("slug")&&(i.channel("fields").request("remove:stagedField","",e),_.each(["creditcardfullname","creditcardnumber","creditcardcvc","creditcardexpiration","creditcardzip"],function(e){i.channel("fields").request("add:stagedField",e)}))}})}),n("controllers/fields/fieldList",["models/app/optionRepeaterCollection"],function(e){return Marionette.Object.extend({initialize:function(){this.listenTo(i.channel("option-repeater-option-label"),"update:option",this.updateOptionLabel),this.listenTo(i.channel("option-repeater-option-value"),"update:option",this.updateOptionValue),this.listenTo(i.channel("fields-list"),"init:fieldModel",this.convertOptions)},updateOptionLabel:function(e,t,n,i,r){"list"==_.findWhere(fieldTypeData,{id:n.get("type")}).parentType&&(t.get("manual_value")||(value=jQuery.slugify(t.get("label"),{separator:"-"}),t.set("value",value),t.trigger("change",t),jQuery(r.el).find('[data-id="value"]').focus().select()))},updateOptionValue:function(e,t,n,i,r){if("Field"==n.get("objectType")){var a=t.get("value"),s=/[^0-9a-zA-Z _@.-]/g;a=a.replace(s,""),t.set("value",a),r.render()}var o=_.findWhere(fieldTypeData,{id:n.get("type")});void 0!==o&&"list"==o.parentType&&(t.set("manual_value",!0),jQuery(r.el).find('[data-id="calc"]').focus().select())},convertOptions:function(t){var n=t.get("options"),r=i.channel("fields").request("get:settingModel","options");0==n instanceof Backbone.Collection&&(n=new e([],{settingModel:r}),n.add(t.get("options")),t.set("options",n,{silent:!0}))}})}),n("controllers/fields/fieldPassword",[],function(){return Marionette.Object.extend({initialize:function(){this.listenTo(i.channel("fields"),"after:addField",this.addField)},addField:function(e){if("password"==e.get("type")){var t=e.get("order");this.insertField("passwordconfirm",t+1).set("confirm_field",e.get("key"))}},insertField:function(e,t){var n=i.channel("fields").request("get:type",e),r={id:i.channel("fields").request("get:tmpID"),type:e,label:n.get("nicename"),order:t};return i.channel("fields").request("add",r)}})}),n("controllers/fields/fieldQuantity",[],function(){return Marionette.Object.extend({initialize:function(){this.listenTo(i.channel("app"),"before:renderSetting",this.beforeRenderSetting)},beforeRenderSetting:function(e,t,n){if("product_assignment"==e.get("name")){var i=this.getProductFields(e);e.set("options",i)}},getProductFields:function(e){var t=[e.get("select_product")],n=i.channel("fields").request("get:collection");return _.each(n.models,function(e){"product"==e.get("type")&&t.push({label:e.get("label"),value:e.get("id")})}),t}})}),n("controllers/fields/fieldShipping",[],function(){return Marionette.Object.extend({initialize:function(){this.listenTo(i.channel("setting-shipping_options"),"render:setting",this.addMask),this.listenTo(i.channel("setting-shipping_options-option"),"render:setting",this.addMask)},addMask:function(e,t,n){jQuery(n.el).find('[data-id="value"]').each(function(){jQuery(this).autoNumeric({aSign:"$",aSep:thousandsSeparator,aDec:decimalPoint})})}})}),n("controllers/fields/key",[],function(){return Marionette.Object.extend({initialize:function(){this.listenTo(i.channel("fields"),"add:field",this.newFieldKey),this.listenTo(i.channel("fieldSetting-label"),"update:setting",this.updateLabel),this.listenTo(i.channel("fieldSetting-key"),"update:setting",this.updateKey),this.listenTo(i.channel("setting-key"),"keyup:setting",this.keyUp)},newFieldKey:function(e){var t=new Date,n=t.valueOf(),i=this.slugify(e.get("type")+"_"+n);e.set("key",i,{silent:!0}),"undefined"==e.get("manual_key")&&e.set("manual_key",!1,{silent:!0})},updateLabel:function(e){if(!e.get("manual_key")&&0!=jQuery.trim(e.get("label")).length){delete e.changed.label;var t=new Date,n=t.valueOf(),i=this.slugify(e.get("label")+"_"+n);-1==i.indexOf("_")&&(i="field_"+i),e.set("key",i)}},updateKey:function(e){var t=e.get("key");this.settingModel=i.channel("fields").request("get:settingModel","key"),this.setError(t,e)},keyUp:function(e,t,n){n.set("manual_key",!0),this.settingModel=t;var i=jQuery(e.target).val();this.setError(i,n)},setError:function(e,t){var n=!1;""==jQuery.trim(e)?n="Field keys can't be empty. Please enter a key.":e!=e.toLowerCase()?n="Field keys must be lowercase.":e!=e.replace(" ","_")?n='Field keys must cannot use spaces. Separate with "_" instead.':"_"==e.slice(-1)?n='Field keys cannot end with a "_"':e!=this.slugify(e)?n="Invalid Format.":e!=this.keyExists(e,t)&&(n="Field keys must be unique. Please enter another key."),n?this.settingModel.set("error",n):(i.channel("app").trigger("update:fieldKey",t),this.settingModel.set("error",!1))},keyExists:function(e,t){var n=this.slugify(e);0!=n.length&&(e=n);var r=i.channel("fields").request("get:collection"),a=1,s=e;return _.each(r.models,function(n){t!=n&&s==n.get("key")&&(s=e+"_"+a,a++)}),e=s},slugify:function(e){return jQuery.slugify(e,{separator:"_"})}})}),n("controllers/fields/notices",[],function(){return Marionette.Object.extend({initialize:function(){this.listenTo(i.channel("fields"),"add:stagedField",this.addStagedField)},addStagedField:function(e){i.channel("notices").request("add","addStagedField",e.get("nicename")+" added to staging")}})}),n("controllers/fields/mobile",[],function(){return Marionette.Object.extend({initialize:function(){this.listenTo(i.channel("fields"),"sortable:start",this.startWiggle),this.listenTo(i.channel("fields"),"sortable:stop",this.stopWiggle)},initWiggle:function(e){i.channel("app").request("is:mobile")&&jQuery(e.el).find(".nf-field-wrap").on("taphold",function(){jQuery(this).ClassyWiggle("start",{degrees:[".65","1",".65","0","-.65","-1","-.65","0"],delay:50})})},startWiggle:function(e){i.channel("app").request("is:mobile")&&(jQuery(e.item).removeClass("ui-sortable-helper").ClassyWiggle("stop"),jQuery(e.helper).css("opacity","0.75").ClassyWiggle("start",{degrees:[".5","1",".5","0","-.5","-1","-.5","0"]}))},stopWiggle:function(e){i.channel("app").request("is:mobile")&&(jQuery(e.helper).ClassyWiggle("stop"),jQuery(e.item).removeClass("ui-sortable-helper drag-selected"))}})}),n("controllers/fields/savedFields",[],function(){return Marionette.Object.extend({ignoreAttributes:["editActive","order","saved","jBox"],initialize:function(){this.listenTo(i.channel("fields"),"update:setting",this.updateField),this.listenTo(i.channel("drawer"),"click:addSavedField",this.clickAddSavedField,this)},updateField:function(e){if(e.get("saved")){var t=!1,n=_.keys(e.changedAttributes()),i=this;_.each(n,function(e){-1==i.ignoreAttributes.indexOf(e)&&(t=!0)}),t&&e.set("saved",!1)}},clickAddSavedField:function(e,t){var n=i.channel("app").request("clone:modelDeep",t),r=n.attributes;r.saved=!0,delete r.jBox,delete r.editActive,delete r.created_at,delete r.order,delete r.id,delete r.formID,delete r.parent_id;var a=i.channel("fields").request("get:type",r.type),s=_.clone(a.attributes),o=jQuery(e.target).parent().parent().find("input").val();console.log(o),s.nicename=o,r.label=o,r.nicename=o,t.set("addSavedLoading",!0);var l=JSON.stringify(r);jQuery.post(ajaxurl,{action:"nf_create_saved_field",field:l,security:nfAdmin.ajaxNonce},function(e){e=JSON.parse(e),s.id=e.data.id,s.nicename=o,s.settingDefaults=r;var n=i.channel("fields").request("get:typeCollection");n.add(s);i.channel("fields").request("get:typeSections").get("saved").get("fieldTypes").push(s.id),t.set("addSavedLoading",!1),t.unset("addSavedLoading",{silent:!0}),t.get("jBox").close(),i.channel("notices").request("add","addSaved","Saved Field Added")})}})}),n("controllers/fields/fieldDatepicker",[],function(){return Marionette.Object.extend({initialize:function(){this.listenTo(i.channel("setting-type-datepicker"),"render:setting",this.addDatepicker)},addDatepicker:function(e,t,n){pikadayResponsive(jQuery(n.el).find(".setting")[0])}})}),n("controllers/fields/fieldDisplayCalc",[],function(){return Marionette.Object.extend({initialize:function(){this.listenTo(i.channel("setting-calc_var"),"before:renderSetting",this.beforeRenderSetting)},beforeRenderSetting:function(e,t,n){},getProductFields:function(e){var t=[e.get("select_product")],n=i.channel("fields").request("get:collection");return _.each(n.models,function(e){"product"==e.get("type")&&t.push({label:e.get("label"),value:e.get("id")})}),t}})}),n("controllers/actions/types",["models/app/typeCollection"],function(e){return Marionette.Object.extend({initialize:function(){this.installedActions=new e(_.filter(actionTypeData,function(e){return"installed"==e.section}),{slug:"installed",nicename:nfi18n.installed}),this.availableActions=new e(_.filter(actionTypeData,function(e){return"available"==e.section}),{slug:"available",nicename:nfi18n.available}),i.channel("actions").reply("get:type",this.getType,this),i.channel("actions").reply("get:installedActions",this.getInstalledActions,this),i.channel("actions").reply("get:availableActions",this.getAvailableActions,this)},getType:function(e){var t=this.installedActions.get(e);return t||(t=this.availableActions.get(e)),t},getInstalledActions:function(){return this.installedActions},getAvailableActions:function(){return this.availableActions},addStagedField:function(e){var t=jQuery(e.target).data("id");i.channel("fields").request("add:stagedField",t)},getTypeSections:function(){return this.fieldTypeSections}})}),n("models/actions/actionModel",[],function(){return Backbone.Model.extend({defaults:{objectType:"Action",objectDomain:"actions",editActive:!1},initialize:function(){this.on("change",this.changeSetting,this);var e=i.channel("actions").request("get:type",this.get("type"));if(void 0!==e){var t=this;_.each(e.get("settingDefaults"),function(e,n){t.get(n)||t.set(n,e,{silent:!0})}),i.channel("actions").trigger("init:actionModel",this),i.channel("actions-"+this.get("type")).trigger("init:actionModel",this),this.listenTo(i.channel("app"),"fire:updateFieldKey",this.updateFieldKey)}},changeSetting:function(e,t){i.channel("actionSetting-"+_.keys(this.changedAttributes())[0]).trigger("update:setting",this,t.settingModel),i.channel("actions").trigger("update:setting",this,t.settingModel),i.channel("app").trigger("update:setting",this,t.settingModel)},updateFieldKey:function(e,t){i.channel("app").trigger("replace:fieldKey",this,e,t)}})}),n("models/actions/actionCollection",["models/actions/actionModel"],function(e){return Backbone.Collection.extend({model:e,comparator:"order",tmpNum:1,initialize:function(){this.on("add",this.addAction,this),this.on("remove",this.removeAction,this),this.newIDs=[]},addAction:function(e){this.newIDs.push(e.get("id"))},removeAction:function(e){this.removedIDs[e.get("id")]=e.get("id")}})}),n("controllers/actions/data",["models/actions/actionCollection","models/actions/actionModel"],function(e,t){return Marionette.Object.extend({initialize:function(){if(this.collection=new e(preloadedFormData.actions),this.collection.tmpNum=1,0!=this.collection.models.length){var t=this;_.each(this.collection.models,function(e){jQuery.isNumeric(e.get("id"))||t.collection.tmpNum++})}this.collection.removedIDs={},i.channel("actions").reply("get:collection",this.getCollection,this),i.channel("actions").reply("get:action",this.getAction,this),i.channel("actions").reply("get:tmpID",this.getTmpID,this),i.channel("actions").reply("add",this.addAction,this),i.channel("actions").reply("delete",this.deleteAction,this)},getCollection:function(){return this.collection},getAction:function(e){return this.collection.get(e)},addAction:function(e,n){if(n=n||!1,!1==e instanceof Backbone.Model)var r=new t(e);else var r=e;return this.collection.add(r,{silent:n}),i.channel("app").request("update:setting","clean",!1),r},deleteAction:function(e){this.collection.remove(e),i.channel("app").request("update:setting","clean",!1),i.channel("app").request("update:db")},getTmpID:function(){var e=this.collection.tmpNum;return this.collection.tmpNum++,"tmp-"+e}})}),n("controllers/actions/actionSettings",["models/app/settingCollection"],function(e){return Marionette.Object.extend({initialize:function(){this.collection=new e(actionSettings,{objectType:"actions"}),i.channel("actions").reply("get:settingModel",this.getSettingModel,this)},getSettingModel:function(e){return this.collection.findWhere({name:e})}})}),n("controllers/actions/editActive",[],function(){return Marionette.Object.extend({initialize:function(){i.channel("actions").reply("clear:editActive",this.clearEditActive,this),this.listenTo(i.channel("drawer-editSettings"),"before:closeDrawer",this.clearEditActive)},clearEditActive:function(){var e=i.channel("actions").request("get:collection");_.each(e.models,function(e){e.set("editActive",!1)})}})}),n("controllers/actions/emailFromSetting",[],function(){return Marionette.Object.extend({initialize:function(){this.listenTo(i.channel("actionSetting-from_address"),"update:setting",this.updateFromAddress)},updateFromAddress:function(e,t){if(void 0!==t){var n=e.get("from_address").trim();return"{wp:admin_email}"==n?t.set("warning",!1):n&&!this.isValidEmail(n)||nfAdmin.home_url_host!=n.replace(/.*@/,"")?t.set("warning",nfi18n.errorInvalidEmailFromAddress):t.set("warning",!1)}},isValidEmail:function(e){return/^.+@.+\..+$/.test(e)}})}),n("controllers/actions/addActionTypes",["models/actions/actionCollection","models/actions/actionModel"],function(e,t){return Marionette.Object.extend({initialize:function(){this.listenTo(i.channel("actions"),"click:addAction",this.addAction),i.channel("actions").reply("add:actionType",this.addAction,this)},addAction:function(e){var t={id:i.channel("actions").request("get:tmpID"),type:e.get("id"),label:e.get("settingDefaults").label||e.get("nicename")},n=i.channel("actions").request("add",t),r={object:"Action",label:n.get("label"),change:"Added",dashicon:"plus-alt"},t={collection:i.channel("actions").request("get:collection")};i.channel("changes").request("register:change","addObject",n,null,r,t),i.channel("app").trigger("click:edit",{},n)}})}),n("controllers/actions/typeDrag",[],function(){return Marionette.Object.extend({initialize:function(){this.listenTo(i.channel("drawer-addAction"),"startDrag:type",this.startDrag),this.listenTo(i.channel("drawer-addAction"),"stopDrag:type",this.stopDrag),i.channel("drawer-addAction").reply("get:typeHelperClone",this.getCurrentDraggableHelperClone,this)},startDrag:function(e,t){this.drawerEl=i.channel("app").request("get:drawerEl"),this.mainEl=i.channel("app").request("get:mainEl"),jQuery(this.drawerEl)[0].style.setProperty("overflow","visible","important"),this.draggableHelperClone=jQuery(t.helper).clone()},stopDrag:function(e,t){jQuery(this.drawerEl)[0].style.setProperty("overflow","hidden","important")},getCurrentDraggableHelperClone:function(){return this.draggableHelperClone}})}),n("controllers/actions/droppable",[],function(){return Marionette.Object.extend({initialize:function(){i.channel("app").reply("drop:actionType",this.dropActionType,this)},dropActionType:function(e,t){var n=jQuery(t.helper).data("type"),r=i.channel("actions").request("get:type",n);i.channel("actions").request("add:actionType",r)}})}),n("models/actions/typeModel",[],function(){return Backbone.Model.extend({})}),n("models/actions/typeCollection",["models/actions/typeModel"],function(e){return Backbone.Collection.extend({model:e})}),n("controllers/actions/filterTypes",["models/actions/typeCollection"],function(e){return Marionette.Object.extend({initialize:function(){this.listenTo(i.channel("drawer-addAction"),"change:filter",this.filterActionTypes)},filterActionTypes:function(t,n){if(""!=jQuery.trim(t)){var r=[],a=i.channel("actions").request("get:installedActions");_.each(this.filterCollection(t,a),function(e){r.push(e)});var s=[],o=i.channel("actions").request("get:availableActions");_.each(this.filterCollection(t,o),function(e){s.push(e)});var l=new e(r);l.slug="installed",l.nicename="Installed";var c=new e(s);c.slug="available",c.nicename="Available",i.channel("drawer").trigger("filter:actionTypes",l,c),n.addObject&&0<l.length&&(i.channel("actions").request("add:actionType",l.models[0]),i.channel("drawer").request("clear:filter"))}else i.channel("drawer").trigger("clear:filter")},filterCollection:function(e,t){return e=e.toLowerCase(),t.filter(function(t){var n=!1;return-1!=t.get("id").toLowerCase().indexOf(e)?n=!0:-1!=t.get("nicename").toLowerCase().indexOf(e)&&(n=!0),t.get("tags")&&0==e.indexOf("#")&&_.each(t.get("tags"),function(t){e.replace("#","").length>1&&-1!=t.toLowerCase().indexOf(e.replace("#",""))&&(n=!0)}),t.get("alias")&&_.each(t.get("alias"),function(t){-1!=t.toLowerCase().indexOf(e)&&(n=!0)}),n})}})}),n("controllers/actions/newsletterList",[],function(){return Marionette.Object.extend({initialize:function(){this.listenTo(i.channel("setting-newsletter_list"),"show:setting",this.defaultFields),this.listenTo(i.channel("setting-type-newsletter_list"),"click:extra",this.clickListUpdate),this.listenTo(i.channel("actionSetting-newsletter_list"),"update:setting",this.maybeRenderFields),this.listenTo(i.channel("actionSetting-newsletter_list"),"update:setting",this.maybeRenderGroups),this.listenTo(i.channel("setting-name-newsletter_list_fields"),"init:settingModel",this.registerFieldsListener),this.listenTo(i.channel("setting-name-newsletter_list_groups"),"init:settingModel",this.registerGroupsListener)},defaultFields:function(e,t){this.maybeRenderFields(t,e),this.maybeRenderGroups(t,e)},registerFieldsListener:function(e){e.listenTo(i.channel("newsletter_list_fields"),"update:fieldMapping",this.updateFieldMapping,e)},registerGroupsListener:function(e){e.listenTo(i.channel("newsletter_list_groups"),"update:interestGroups",this.updateInterestGroups,e)},clickListUpdate:function(e,t,n,i){var r={action:"nf_"+n.attributes.type+"_get_lists",security:nfAdmin.ajaxNonce},a=this;jQuery(e.srcElement).addClass("spin"),jQuery.post(ajaxurl,r,function(e){var e=JSON.parse(e);a.updateLists(t,e.lists,i,n),n.set("newsletter_list",e.lists[0].value,{settingModel:t})}).always(function(){jQuery(e.srcElement).removeClass("spin")})},updateLists:function(e,t,n,i){e.set("options",t),n.render()},maybeRenderFields:function(e,t){if(void 0!==t){var n=e.get("newsletter_list"),r=t.get("options");_.each(r,function(e){n==e.value&&i.channel("newsletter_list_fields").trigger("update:fieldMapping",e.fields)}),e.set("newsletter_list_fields",0)}},maybeRenderGroups:function(e,t){if(void 0!==t){var n=e.get("newsletter_list"),r=t.get("options");_.each(r,function(e){n==e.value&&i.channel("newsletter_list_groups").trigger("update:interestGroups",e.groups)}),e.set("newsletter_list_fields",0)}},updateFieldMapping:function(e){var t=this.get("settings");t.reset(),_.each(e,function(e){t.add({name:e.value,type:"textbox",label:e.label,width:"full",use_merge_tags:{exclude:["user","post","system","querystrings"]}})}),this.set("settings",t)},updateInterestGroups:function(e){var t=this.get("settings");t.reset(),_.each(e,function(e){t.add({name:e.value,type:"toggle",label:e.label,width:"full"})}),this.set("settings",t)}})}),n("controllers/actions/deleteFieldListener",[],function(){return Marionette.Object.extend({initialize:function(){this.listenTo(i.channel("actions"),"init:actionModel",this.registerListener)},registerListener:function(e){e.listenTo(i.channel("fields"),"delete:field",this.maybeUpdateSettings)},maybeUpdateSettings:function(e){var t,n="{field:"+e.get("key")+"}";_.each(this.attributes,function(e,i){if(_.isString(e))this.set(i,e.replace(n,""));else if(_.isArray(e))_.each(e,function(r,a){_.isString(r)?console.log("string replace"):_.isArray(r)?console.log("array search"):_.isObject(r)&&(t=_.mapObject(r,function(t,i){return _.isString(t)&&-1!=t.indexOf(n)&&e.splice(a,1),t}),this.set(i,e))},this);else if(e instanceof Backbone.Collection){var r=e.filter(function(e){return _.every(e.attributes,function(e){return!_.isString(e)||-1==e.indexOf(n)})});this.set(i,r)}},this)}})}),n("controllers/actions/collectPaymentFields",[],function(){return Marionette.Object.extend({initialize:function(){this.listenTo(i.channel("app"),"before:renderSetting",this.beforeRenderSetting)},beforeRenderSetting:function(e,t,n){if("field"!=e.get("total_type"))return!1;var r=this.getFields(e),a=t.get("payment_total");a=a.replace("{field:",""),a=a.replace("}","");var s=i.channel("fields").request("get:field",a);void 0!==s&&void 0===_.findWhere(r,{value:t.get("payment_total")})&&r.push({label:s.get("label"),value:"{field:"+s.get("key")+"}"}),e.set("options",r)},getFields:function(e){var t=[e.get("default_options")],n=i.channel("fields").request("get:collection");return _.each(n.models,function(e){"number"!=e.get("type")&&"total"!=e.get("type")&&"checkbox"!=e.get("type")||t.push({label:e.get("label"),value:"{field:"+e.get("key")+"}"})}),t=_.sortBy(t,function(e){return e.label})}})}),n("controllers/actions/collectPaymentCalculations",[],function(){return Marionette.Object.extend({initialize:function(){this.listenTo(i.channel("app"),"before:renderSetting",this.beforeRenderSetting)},beforeRenderSetting:function(e,t,n){if("calc"==e.get("total_type")){var r=i.channel("app").request("get:formModel"),a=this.getCalcs(r,e);e.set("options",a)}},getCalcs:function(e,t){var n=[t.get("default_options")],i=e.get("settings").get("calculations");return _.each(i.models,function(e){n.push({label:e.get("name"),value:"{calc:"+e.get("name")+"}"})}),n=_.sortBy(n,function(e){return e.label})}})}),n("controllers/actions/collectPaymentFixed",[],function(){return Marionette.Object.extend({initialize:function(){this.listenTo(i.channel("app"),"before:renderSetting",this.beforeRenderSetting)},beforeRenderSetting:function(e,t,n){if("payment_total_type"!=e.get("name")||_.isEmpty(t.get("payment_total")))return!1;("undefined"==t.get("payment_total_type")||_.isEmpty(t.get("payment_total_type")))&&(-1!=t.get("payment_total").indexOf("{field")?t.set("payment_total_type","field"):-1!=t.get("payment_total").indexOf("{calc")?t.set("payment_total_type","calc"):t.set("payment_total_type","fixed"))}})}),n("controllers/actions/collectPayment",[],function(e){return Marionette.Object.extend({initialize:function(){this.listenTo(i.channel("actions-collectpayment"),"init:actionModel",this.initCollectPayment),this.listenTo(i.channel("app"),"before:renderSetting",this.maybeClearTotal)},initCollectPayment:function(e){e.listenTo(i.channel("calcs"),"update:calcName",this.maybeUpdateTotal)},maybeError:function(){},maybeUpdateTotal:function(e,t){if("calculation"==this.get("payment_total_type")){var n=this.get("payment_total").replace("{calc:"+t+"}","{calc:"+e.get("name")+"}");this.set("payment_total",n)}},maybeClearTotal:function(e,t,n){"fixed"==t.get("payment_total_type")&&(-1==t.get("payment_total").indexOf("{field")&&-1==t.get("payment_total").indexOf("{calc")||t.set("payment_total",""))}})}),n("controllers/advanced/types",["models/app/typeCollection"],function(e){return Marionette.Object.extend({initialize:function(){this.collection=new e(formSettingTypeData),i.channel("settings").reply("get:type",this.getType,this),i.channel("settings").reply("get:typeCollection",this.getCollection,this)},getType:function(e){return this.collection.get(e)},getCollection:function(){return this.collection}})}),n("models/advanced/settingsModel",[],function(){return Backbone.Model.extend({defaults:{objectType:"Form Setting",editActive:!1},initialize:function(){this.bind("change",this.changeSetting,this);var e=i.channel("settings").request("get:collection");_.each(e.models,function(e){void 0===this.get(e.get("name"))&&this.set(e.get("name"),e.get("value"),{silent:!0}),i.channel(e.get("type")).trigger("init:dataModel",this,e)},this),this.listenTo(i.channel("app"),"fire:updateFieldKey",this.updateFieldKey)},changeSetting:function(e,t){i.channel("app").trigger("update:setting",this,t.settingModel)},updateFieldKey:function(e,t){i.channel("app").trigger("replace:fieldKey",this,e,t)}})}),n("controllers/advanced/data",["models/advanced/settingsModel"],function(e){return Marionette.Object.extend({initialize:function(){this.model=new e(preloadedFormData.settings),i.channel("settings").reply("get:settings",this.getSettings,this),i.channel("settings").reply("get:setting",this.getSetting,this),i.channel("settings").reply("update:setting",this.updateSetting,this)},getSettings:function(){return this.model},updateSetting:function(e,t,n){n=n||!1,this.model.set(e,t,{silent:n})},getSetting:function(e){return this.model.get(e)}})}),n("controllers/advanced/formSettings",["models/app/settingCollection"],function(e){return Marionette.Object.extend({initialize:function(){this.collection=new e(formSettings,{objectType:"settings"}),i.channel("settings").reply("get:settingModel",this.getSettingModel,this),i.channel("settings").reply("get:collection",this.getSettingCollection,this)},getSettingModel:function(e){return this.collection.findWhere({name:e})},getSettingCollection:function(){return this.collection}})}),n("controllers/advanced/editActive",[],function(){return Marionette.Object.extend({initialize:function(){i.channel("settings").reply("clear:editActive",this.clearEditActive,this),this.listenTo(i.channel("drawer-editSettings"),"before:closeDrawer",this.clearEditActive)},clearEditActive:function(){var e=i.channel("settings").request("get:typeCollection");_.each(e.models,function(e){e.set("editActive",!1)})}})}),n("controllers/advanced/clickEdit",["models/advanced/settingsModel"],function(e){return Marionette.Object.extend({initialize:function(){this.listenTo(i.channel("settings"),"click:edit",this.clickEdit)},clickEdit:function(e,t){var n=i.channel("settings").request("get:settings");i.channel("app").request("open:drawer","editSettings",{model:n,groupCollection:t.get("settingGroups"),typeModel:t}),i.channel("drawer").request("get:preventClose")||t.set("editActive",!0)}})}),n("controllers/advanced/calculations",[],function(){return Marionette.Object.extend({initialize:function(){this.listenTo(i.channel("option-repeater-calculations"),"keyup:option",this.keyUp),this.listenTo(i.channel("option-repeater-calculations"),"update:option",this.updateCalc),this.listenTo(i.channel("option-repeater-calculations"),"sort:option",this.sortCalc)},keyUp:function(e,t){var n=jQuery(e.target).val(),i=jQuery(e.target).data("id");"name"==i?(this.checkName(n,t),this.checkEQ(t.get("eq"),t)):"eq"==i?this.checkEQ(n,t):"dec"==i&&this.checkDec(n,t)},updateCalc:function(e){this.checkName(e.get("name"),e,!1),this.checkEQ(e.get("eq"),e),this.checkDec(e.get("dec"),e),Backbone.Radio.channel("calcs").trigger("update:calc",e)},sortCalc:function(e,t){this.checkAllCalcs(t.collection)},checkName:function(e,t,n){n=n||!0;var r=t.get("errors"),a=t.collection.where({name:jQuery.trim(e)});if(e==t.get("name")&&(a=[]),0!=a.length)r.nameExists="Calculation names must be unique. Please enter another name.";else{var s=t.get("name");t.set("name",e,{silent:n}),i.channel("calcs").trigger("update:calcName",t,s),delete r.nameExists}t.set("errors",r),t.trigger("change:errors",t)},checkEQ:function(e,t){var n=t.get("errors"),i=!1,r=!1,a=e.match(new RegExp(/{calc:(.*?)}/g));if(a){var s=t.collection;a=a.map(function(e){var a=e.replace("}","").replace("{calc:",""),o=s.findWhere({name:a});a==t.get("name")?(n.selfRef="A calculation can't reference itself!",i=!0):o&&o.get("order")>t.get("order")&&(r=!0,n.futureCalc="Can't reference a future calculation!")})}i||delete n.selfRef,r||delete n.futureCalc,t.set("errors",n),t.trigger("change:errors",t)},checkDec:function(e,t){if(void 0===e)return!1;var n=t.get("errors"),i=!1,r=Math.abs(parseInt(e.trim()));""!==e.trim()&&r.toString()!==e.trim()&&(i=!0,n.nonIntDec="Decimals must be a non-negative integer!"),i||delete n.nonIntDec,t.set("errors",n),t.trigger("change:errors",t)},checkAllCalcs:function(e){var t=this;e.models.map(function(e){t.checkName(e.get("name"),e),t.checkEQ(e.get("eq"),e),t.checkDec(e.get("dec"),e)})}})}),
7
+ n("controllers/loadControllers",["controllers/app/remote","controllers/app/drawer","controllers/app/drawerConfig","controllers/app/domainConfig","controllers/app/data","controllers/app/drawerToggleSettingGroup","controllers/app/updateDB","controllers/app/formData","controllers/app/previewLink","controllers/app/menuButtons","controllers/app/trackChanges","controllers/app/undoChanges","controllers/app/publishResponse","controllers/app/changeDomain","controllers/app/pushstate","controllers/app/hotkeys","controllers/app/cleanState","controllers/app/coreUndo","controllers/app/cloneModelDeep","controllers/app/getSettingChildView","controllers/app/changeSettingDefault","controllers/app/fieldset","controllers/app/toggleSetting","controllers/app/itemControls","controllers/app/mergeTags","controllers/app/mergeTagBox","controllers/app/itemSettingFill","controllers/app/confirmPublish","controllers/app/rte","controllers/app/settingFieldSelect","controllers/app/settingFieldList","controllers/app/settingHTML","controllers/app/settingColor","controllers/app/changeMenu","controllers/app/mobile","controllers/app/notices","controllers/app/unloadCheck","controllers/app/formContentFilters","controllers/app/formContentGutterFilters","controllers/app/cloneCollectionDeep","controllers/app/trackKeyDown","controllers/app/perfectScroll","controllers/app/getNewSettingGroupCollection","controllers/app/settingMedia","controllers/fields/types","controllers/fields/fieldTypeDrag","controllers/fields/stagingDrag","controllers/fields/staging","controllers/fields/stagingSortable","controllers/fields/filterTypes","controllers/fields/sortable","controllers/fields/data","controllers/app/optionRepeater","controllers/fields/editActive","controllers/fields/fieldSettings","controllers/fields/fieldCreditCard","controllers/fields/fieldList","controllers/fields/fieldPassword","controllers/fields/fieldQuantity","controllers/fields/fieldShipping","controllers/fields/key","controllers/fields/notices","controllers/fields/mobile","controllers/fields/savedFields","controllers/fields/fieldDatepicker","controllers/fields/fieldDisplayCalc","controllers/actions/types","controllers/actions/data","controllers/actions/actionSettings","controllers/actions/editActive","controllers/actions/emailFromSetting","controllers/actions/addActionTypes","controllers/actions/typeDrag","controllers/actions/droppable","controllers/actions/filterTypes","controllers/actions/newsletterList","controllers/actions/deleteFieldListener","controllers/actions/collectPaymentFields","controllers/actions/collectPaymentCalculations","controllers/actions/collectPaymentFixed","controllers/actions/collectPayment","controllers/advanced/types","controllers/advanced/data","controllers/advanced/formSettings","controllers/advanced/editActive","controllers/advanced/clickEdit","controllers/advanced/calculations"],function(e,t,n,i,r,a,s,o,l,c,d,h,u,g,p,f,m,y,v,w,b,C,j,k,T,M,S,F,x,Q,q,D,_,O,A,E,V,R,z,B,L,N,I,H,P,G,$,K,W,U,J,Z,X,Y,ee,te,ne,ie,re,ae,se,oe,le,ce,de,he,ue,ge,pe,fe,me,ye,ve,we,be,Ce,je,ke,Te,Me,Se,Fe,xe,Qe,qe,De,_e){return Marionette.Object.extend({initialize:function(){new R,new z,new f,new e,new t,new n,new i,new a,new l,new c,new d,new h,new u,new g,new m,new y,new v,new k,new F,new x,new Q,new q,new D,new _,new H,new O,new A,new E,new V,new s,new B,new L,new N,new I,new C,new X,new P,new G,new $,new K,new W,new U,new J,new b,new j,new w,new Y,new ee,new te,new ne,new ie,new re,new ae,new se,new oe,new le,new ce,new de,new he,new Ce,new je,new Te,new Se,new ue,new ge,new pe,new fe,new me,new ye,new ve,new we,new be,new ke,new Me,new Fe,new Qe,new _e,new xe,new qe,new De,new r,new Z,new o,new T,new M,new S}})}),n("views/fields/fieldItem",["views/app/itemControls"],function(e){return Marionette.LayoutView.extend({tagName:"div",template:"#tmpl-nf-main-content-field",doingShortcut:!1,regions:{itemControls:".nf-item-controls"},initialize:function(){this.model.on("change:editActive",this.render,this),this.model.on("change:label",this.render,this),this.model.on("change:required",this.render,this),this.model.on("change:id",this.render,this)},onBeforeDestroy:function(){this.model.off("change:editActive",this.render),this.model.off("change:label",this.render),this.model.off("change:required",this.render),this.model.off("change:id",this.render)},onRender:function(){this.$el=this.$el.children(),this.$el.unwrap(),this.setElement(this.$el),this.itemControls.show(new e({model:this.model})),jQuery(this.el).disableSelection(),i.channel("app").request("is:mobile")&&jQuery(this.el).on("taphold",function(e,t){jQuery(e.target).hasClass("nf-edit-settings")||(jQuery(this).addClass("ui-sortable-helper drag-selected"),jQuery(this).ClassyWiggle("start",{degrees:[".65","1",".65","0","-.65","-1","-.65","0"],delay:50}))})},templateHelpers:function(){return{renderClasses:function(){var e="nf-field-wrap "+this.type;return this.editActive&&(e+=" active"),e},renderRequired:function(){return 1==this.required?'<span class="required">*</span>':""},getFieldID:function(){return jQuery.isNumeric(this.id)?"field-"+this.id:this.id},renderIcon:function(){var e,t;return e=i.channel("fields").request("get:type",this.type),t=document.createElement("span"),t.classList.add("fa","fa-"+e.get("icon")),t.outerHTML}}},events:{"mouseover .nf-item-control":"mouseoverItemControl",mousedown:"maybeShortcut",click:"maybeClickEdit",singletap:"maybeTapEdit",swipeleft:"swipeLeft",swiperight:"swipeRight",tapend:"tapend"},maybeClickEdit:function(e){if(this.doingShortcut)return this.doingShortcut=!1,!1;(jQuery(e.target).parent().hasClass("nf-fields-sortable")||jQuery(e.target).parent().hasClass("nf-field-wrap")||jQuery(e.target).hasClass("nf-field-wrap"))&&!i.channel("app").request("is:mobile")&&(jQuery(":focus").blur(),i.channel("app").trigger("click:edit",e,this.model))},maybeShortcut:function(e){var t=i.channel("app").request("get:keydown");return-1==t.indexOf(16)||(-1!=t.indexOf(68)?(i.channel("app").trigger("click:delete",e,this.model),this.doingShortcut=!0,!1):-1!=t.indexOf(67)?(this.doingShortcut=!0,i.channel("app").trigger("click:duplicate",e,this.model),!1):void 0)},maybeTapEdit:function(e){jQuery(e.target).parent().hasClass("nf-fields-sortable")&&i.channel("app").trigger("click:edit",e,this.model)},swipeLeft:function(e,t){jQuery(t.startEvnt.target).closest("div").find(".nf-item-duplicate").show(),jQuery(t.startEvnt.target).closest("div").find(".nf-item-delete").show()},swipeRight:function(e,t){jQuery(t.startEvnt.target).closest("div").find(".nf-item-duplicate").hide(),jQuery(t.startEvnt.target).closest("div").find(".nf-item-delete").hide()},tapend:function(e,t){jQuery(this.el).ClassyWiggle("stop"),jQuery(this.el).removeClass("ui-sortable-helper drag-selected")},remove:function(){i.channel("fields").request("get:removing")?this.$el.hide("clip",function(){jQuery(this).remove()}):this.$el.remove(),i.channel("fields").request("set:removing",!1)},mouseoverItemControl:function(e){jQuery(this.el).find(".nf-item-control").css("display","")}})}),n("views/fields/mainContentEmpty",[],function(){return Marionette.ItemView.extend({tagName:"div",template:"#tmpl-nf-main-content-fields-empty",onBeforeDestroy:function(){jQuery(this.el).parent().removeClass("nf-fields-empty-droppable").droppable("destroy")},onRender:function(){this.$el=this.$el.children(),this.$el.unwrap(),this.setElement(this.$el)},onShow:function(){jQuery(this.el).parent().hasClass("ui-sortable")&&jQuery(this.el).parent().sortable("destroy"),jQuery(this.el).parent().addClass("nf-fields-empty-droppable"),jQuery(this.el).parent().droppable({accept:function(e){if(jQuery(e).hasClass("nf-stage")||jQuery(e).hasClass("nf-field-type-button"))return!0},activeClass:"nf-droppable-active",hoverClass:"nf-droppable-hover",tolerance:"pointer",over:function(e,t){t.item=t.draggable,i.channel("app").request("over:fieldsSortable",t)},out:function(e,t){t.item=t.draggable,i.channel("app").request("out:fieldsSortable",t)},drop:function(e,t){t.item=t.draggable,i.channel("app").request("receive:fieldsSortable",t);var n=i.channel("fields").request("get:collection");n.trigger("reset",n)}})}})}),n("views/app/formTitle",[],function(){return Marionette.ItemView.extend({tagName:"div",template:"#tmpl-nf-header-form-title",initialize:function(){this.model.on("change:title",this.render,this)},templateHelpers:function(){return{renderTitle:function(){var e=i.channel("app").request("get:formModel");return _.escape(e.get("settings").get("title"))}}}})}),n("views/loadViews",["views/fields/fieldItem","views/fields/mainContentEmpty","views/app/formTitle"],function(e,t,n){return Marionette.Object.extend({initialize:function(){i.channel("views").reply("get:fieldItem",this.getFieldItem),i.channel("views").reply("get:mainContentEmpty",this.getMainContentEmpty),i.channel("views").reply("get:formTitle",this.getFormTitle)},getFieldItem:function(t){return e},getMainContentEmpty:function(){return t},getFormTitle:function(){return n}})});var i=Backbone.Radio;jQuery(document).ready(function(e){t(["views/app/builder","controllers/loadControllers","views/loadViews"],function(t,n,r){(new(Marionette.Application.extend({initialize:function(e){var t=this;Marionette.Renderer.render=function(e,n){var e=t.template(e);return e(n)},i.channel("app").trigger("before:loadControllers",this);new n;i.channel("app").trigger("after:loadControllers",this),i.channel("app").trigger("before:loadViews",this);new r;i.channel("app").trigger("after:loadViews",this),i.channel("app").reply("get:template",this.template)},onStart:function(){new t;i.channel("app").trigger("after:appStart",this),0==nfAdmin.formID&&i.channel("app").request("open:drawer","addField")},template:function(t){return _.template(e(t).html(),{evaluate:/<#([\s\S]+?)#>/g,interpolate:/\{\{\{([\s\S]+?)\}\}\}/g,escape:/\{\{([^\}]+?)\}\}(?!\})/g,variable:"data"})}}))).start()})}),n("main",function(){})}();
 
8
  //# sourceMappingURL=builder.js.map
assets/js/min/builder.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../config-wrap-start-default.js","../lib/almond.js","views/app/menuItem.js","views/app/menu.js","views/app/menuButtons.js","views/app/mobileMenuButton.js","views/app/header.js","views/app/subHeader.js","views/app/builderHeader.js","views/app/main.js","views/app/mobileMenuItem.js","views/app/mobileMenu.js","views/app/drawer/contentEmpty.js","views/app/drawer.js","views/app/drawer/mergeTagItem.js","views/app/drawer/mergeTagsSection.js","models/app/mergeTagModel.js","models/app/mergeTagCollection.js","views/app/drawer/mergeTagsContent.js","views/app/builder.js","controllers/app/remote.js","controllers/app/drawer.js","views/app/drawer/headerDefault.js","views/app/drawer/footerDefault.js","models/app/drawerModel.js","models/app/drawerCollection.js","views/fields/drawer/stagedField.js","views/fields/drawer/stagingEmpty.js","views/fields/drawer/stagingCollection.js","models/fields/stagingModel.js","models/fields/stagingCollection.js","views/fields/drawer/typeSection.js","views/fields/drawer/typeSectionCollection.js","views/fields/drawer/addField.js","views/app/drawer/itemSettingCollection.js","views/app/drawer/itemSettingGroup.js","views/app/drawer/itemSettingGroupCollection.js","views/app/drawer/editSettings.js","views/app/drawer/headerEditSettings.js","views/actions/drawer/typeButton.js","views/actions/drawer/typeCollection.js","views/actions/drawer/addAction.js","views/app/drawer/contentViewChangesItem.js","views/app/drawer/contentViewChanges.js","views/app/drawer/headerViewChanges.js","views/app/drawer/settingError.js","views/app/drawer/itemSetting.js","views/app/drawer/contentNewForm.js","views/app/drawer/headerNewForm.js","controllers/app/drawerConfig.js","views/app/drawer/defaultSettingsTitle.js","views/app/empty.js","models/app/domainModel.js","models/app/domainCollection.js","views/fields/subHeader.js","views/fields/mainContentFieldCollection.js","views/fields/drawer/addSavedField.js","views/fields/drawer/settingsTitle.js","views/actions/mainHeader.js","views/actions/subHeader.js","views/app/itemControls.js","views/actions/actionItem.js","views/actions/mainContentEmpty.js","views/actions/mainContent.js","views/advanced/mainHeader.js","views/advanced/subHeader.js","views/advanced/settingItem.js","views/advanced/mainContent.js","models/fields/fieldModel.js","models/fields/fieldCollection.js","controllers/app/domainConfig.js","models/app/appModel.js","controllers/app/data.js","controllers/app/drawerToggleSettingGroup.js","controllers/app/updateDB.js","models/app/formModel.js","controllers/app/formData.js","controllers/app/previewLink.js","controllers/app/menuButtons.js","models/app/changeModel.js","models/app/changeCollection.js","controllers/app/trackChanges.js","controllers/app/undoChanges.js","controllers/app/publishResponse.js","controllers/app/changeDomain.js","controllers/app/pushstate.js","controllers/app/hotkeys.js","controllers/app/cleanState.js","controllers/app/coreUndo.js","controllers/app/cloneModelDeep.js","controllers/app/getSettingChildView.js","controllers/app/changeSettingDefault.js","views/app/drawer/typeSettingFieldset.js","models/app/settingModel.js","models/app/settingCollection.js","controllers/app/fieldset.js","controllers/app/toggleSetting.js","controllers/app/itemControls.js","controllers/app/mergeTags.js","models/app/mergeTagLookupCollection.js","views/app/drawer/mergeTag.js","views/app/drawer/mergeTagList.js","views/app/drawer/mergeTagGroup.js","views/app/drawer/mergeTagGroupList.js","views/app/drawer/mergeTagFilter.js","views/app/drawer/mergeTagBox.js","controllers/app/mergeTagBox.js","controllers/app/itemSettingFill.js","controllers/app/confirmPublish.js","controllers/app/rte.js","controllers/app/settingFieldSelect.js","controllers/app/settingFieldList.js","controllers/app/settingHTML.js","controllers/app/settingColor.js","controllers/app/changeMenu.js","controllers/app/mobile.js","controllers/app/notices.js","controllers/app/unloadCheck.js","controllers/app/formContentFilters.js","controllers/app/formContentGutterFilters.js","controllers/app/cloneCollectionDeep.js","controllers/app/trackKeyDown.js","controllers/app/perfectScroll.js","models/app/settingGroupModel.js","models/app/settingGroupCollection.js","controllers/app/getNewSettingGroupCollection.js","controllers/app/settingMedia.js","models/app/typeModel.js","models/app/typeCollection.js","models/fields/typeSectionModel.js","models/fields/typeSectionCollection.js","controllers/fields/types.js","controllers/fields/fieldTypeDrag.js","controllers/fields/stagingDrag.js","controllers/fields/staging.js","controllers/fields/stagingSortable.js","controllers/fields/filterTypes.js","controllers/fields/sortable.js","controllers/fields/data.js","models/app/optionRepeaterModel.js","models/app/optionRepeaterCollection.js","views/app/drawer/optionRepeaterError.js","views/app/drawer/optionRepeaterOption.js","views/app/drawer/optionRepeaterEmpty.js","views/app/drawer/optionRepeaterComposite.js","controllers/app/optionRepeater.js","controllers/fields/editActive.js","controllers/fields/fieldSettings.js","controllers/fields/fieldCreditCard.js","controllers/fields/fieldList.js","controllers/fields/fieldPassword.js","controllers/fields/fieldQuantity.js","controllers/fields/fieldShipping.js","controllers/fields/key.js","controllers/fields/notices.js","controllers/fields/mobile.js","controllers/fields/savedFields.js","controllers/fields/fieldDatepicker.js","controllers/fields/fieldDisplayCalc.js","controllers/actions/types.js","models/actions/actionModel.js","models/actions/actionCollection.js","controllers/actions/data.js","controllers/actions/actionSettings.js","controllers/actions/editActive.js","controllers/actions/emailFromSetting.js","controllers/actions/addActionTypes.js","controllers/actions/typeDrag.js","controllers/actions/droppable.js","models/actions/typeModel.js","models/actions/typeCollection.js","controllers/actions/filterTypes.js","controllers/actions/newsletterList.js","controllers/actions/deleteFieldListener.js","controllers/actions/collectPaymentFields.js","controllers/actions/collectPaymentCalculations.js","controllers/actions/collectPaymentFixed.js","controllers/actions/collectPayment.js","controllers/advanced/types.js","models/advanced/settingsModel.js","controllers/advanced/data.js","controllers/advanced/formSettings.js","controllers/advanced/editActive.js","controllers/advanced/clickEdit.js","controllers/advanced/calculations.js","controllers/loadControllers.js","views/fields/fieldItem.js","views/fields/mainContentEmpty.js","views/app/formTitle.js","views/loadViews.js","main.js"],"names":["requirejs","require","define","undef","hasProp","obj","prop","hasOwn","call","normalize","name","baseName","nameParts","nameSegment","mapValue","foundMap","lastIndex","foundI","foundStarMap","starI","i","j","part","baseParts","split","map","config","starMap","charAt","length","nodeIdCompat","jsSuffixRegExp","test","replace","slice","concat","splice","join","indexOf","substring","makeRequire","relName","forceSync","args","aps","arguments","push","req","apply","makeNormalize","makeLoad","depName","value","defined","callDep","waiting","defining","main","Error","splitPrefix","prefix","index","makeConfig","makeMap","handlers","Object","prototype","hasOwnProperty","plugin","parts","f","n","pr","p","exports","e","module","id","uri","deps","callback","cjsModule","ret","usingExports","callbackType","load","undefined","alt","setTimeout","cfg","_defined","amd","jQuery","Marionette","ItemView","extend","tagName","template","initialize","this","listenTo","nfRadio","channel","render","model","on","onRender","$el","children","unwrap","setElement","events","click a","clickAppMenu","trigger","templateHelpers","renderDashicons","dashicons","icon","document","createElement","classList","add","outerHTML","renderClasses","classes","request","get","renderUrl","url","formModel","renderTarget","renderDisabled","disabled","appMenuItemView","CollectionView","childView","onShow","el","find","bounceIcon","that","renderPublish","publishWidth","maybeDisabled","maybeRenderCancel","click .publish","click .viewChanges","clickPublish","clickViewChanges","changeModel","effect","times","click .nf-mobile-menu","clickMobileMenu","builderEl","toggleClass","appMenuCollectionView","appMenuButtonsView","mobileMenuButtonView","LayoutView","regions","menu","buttons","mobileMenuButton","appDomainCollection","show","collection","click #nf-logo","clickLogo","appHeaderView","appSubHeaderView","app","formTitle","appSub","changeSubHeader","formData","formSettings","formTitleView","currentDomain","subHeaderView","className","maybeDone","offsetRight","offsetLeft","gutterLeft","body","gutterRight","reply","getMainEl","window","context","resizeBothGutters","setBothGuttersAbsolute","setBothGuttersFixed","updateGutters","bodyView","gutterLeftView","gutterRightView","parent","onAttach","initialGutterResize","onBeforeDestroy","off","resize","resizeGutter","data","leftEl","rightEl","clearTimeout","top","offset","viewHeight","height","topLeft","leftLeft","left","css","position","topRight","leftRight","scrollTop","right","mobileDashicon","mobileMenuItemView","CompositeView","attachHtml","collectionView","append","click .nf-publish","drawerEmptyView","header","content","footer","getEl","loadContent","emptyContent","perfectScrollbar","drawerID","drawer","contentView","headerView","footerView","empty","click .nf-toggle-drawer","clickToggleDrawer","clickTag","active","mergeTagItemView","updateFields","fieldCollection","set","Backbone","Model","defaults","exclude","mergeTagModel","Collection","mergeTagsSectionView","MergeTagCollection","getMergeTagsView","reRender","settingModel","mergeTagCollection","defaultGroups","where","default_group","calcMergeTagGroup","useMergeTags","_","each","remove","include","models","sectionModel","mainView","mobileMenuView","drawerView","mergeTagsContentView","menuDrawer","mergeTagsContent","getBuilderEl","getBuilderView","mergeTags","mergeTagsClone","clone","click .nf-open-drawer","click .nf-change-domain","click .nf-close-drawer","openDrawer","closeDrawer","changeDomain","addListener","dataModel","listen","updateSetting","clickExtra","getRemote","settingView","srcElement","addClass","remote","parentValue","action","security","nfAdmin","ajaxNonce","post","ajaxurl","response","JSON","parse","options","clickOpenDrawer","toggleDrawerSize","getClosedDrawerPos","preventClose","enableClose","maybePreventClose","objPreventClose","filterFocused","currentDrawer","removeClass","rightClosed","drawerEl","checkCloseDrawerPos","setInterval","clearInterval","target","currentDomainID","hasFocus","checkOpenDrawerPos","focusFilter","filterEl","focus","width","keys","key","getPreventClose","clearFilter","blurFilter","keyup .nf-filter","input .nf-filter","focus input","changeFilter","maybeChangeFilter","keyCode","addObject","trim","val","blur","getFocus","drawerDisabled","defaultHeaderView","defaultFooterView","getHeaderView","getFooterView","drawerModel","click .dashicons-dismiss","removeStagedField","stagedFieldView","stagedFieldsEmptyView","emptyView","activeClass","getStagedFieldsEl","sortable","placeholder","helper","tolerance","over","ui","out","receive","update","start","stop","draggable","opacity","connectToSortable","appendTo","refreshPositions","grid","element","zIndex","onAddChild","onRemoveChild","hasStagedFields","stagingModel","comparator","bindAll","getTypeSection","dragging","drag","disableSelection","click .nf-item","keydown .nf-item","mousedown .nf-item","clickFieldType","mousedownFieldType","maybeClickFieldType","renderFieldTypes","html","fieldTypes","type","nicename","renderType","templateHTML","savedField","htmlFragments","createRange","createContextualFragment","appendChild","innerHTML","fieldTypeSectionView","drawerStagingView","StagingCollection","fieldTypeSectionCollectionView","staging","primary","secondary","filterFieldTypes","removeFieldTypeFilter","savedCollection","primaryCollection","fieldTypeSectionCollection","secondaryCollection","stagingCollection","filteredSectionCollection","reset","childViewOptions","getChildView","itemSettingCollectionView","settings","click .toggle","clickToggleGroup","renderLabel","label","renderArrowDir","display","itemSettingGroupView","itemSettingGroupCollectionView","settingTitle","settingGroups","groupCollection","titleView","maybeRenderTitle","renderTypeNicename","domainID","scroll","clickAddAction","open","image","section","renderStyle","actionTypeButtonView","renderNicename","slug","actionTypeCollectionView","filteractionTypes","removeactionTypeFilter","installedActions","availableActions","filteredInstalled","filteredAvailable","click .undoSingle","undoSingle","viewChangesItem","click .undoChanges","clickUndoChanges","settingErrorView","error","renderError","renderWarning","refresh","labelText","updateIcon","updateLink","labelWrapper","createTextNode","drawerOpened","drawerClosed","setting","unescape","silent","onBeforeRender","escape","next","jBox","maxWidth","theme","closeOnClick","mask","input","autoNumeric","aSep","thousandsSeparator","aDec","decimalPoint","currency","currencySymbol","currencySymbols","aSign","text","format","console","log","renderVisible","renderSetting","renderLabelClasses","use_merge_tags","renderTooltip","help","helpText","helpTextContainer","helpIcon","helpIconLink","helpTextWrapper","setAttribute","renderMergeTags","hide_merge_tags","change .setting","keyup .setting","click .setting","click .extra","changeSetting","keyUpSetting","clickSetting","itemSettingView","formName","formSubmit","titleSettingModel","addSubmitSettingModel","findWhere","drawerCollection","addFieldView","editSettingsView","editSettingsHeaderView","addActionView","viewChangesView","viewChangesHeaderView","newFormView","newFormHeaderView","mobileItemControlsView","getContentView","typeModel","view","getDrawerCollection","getDrawer","DefaultSettingsTitleView","EmptyView","hotkeys","getSettingsTitleView","getDefaultSettingsTitleView","getGutterLeftView","getGutterRightView","domainModel","reorderOnSort","getEmptyView","getSortableEl","initSortable","destroySortable","cancel","scrollSensitivity","item","dropping","hide","renderAddButton","button","click .nf-button","clickAddSavedField","addSavedFieldView","renderjBoxContent","addSaved","addSavedjBox","destroy","unset","title","x","y","outside","onCreated","setContent","attach","displayName","saved","renderSavedStar","star","actionCollection","mouseover .nf-item-control","click .nf-edit-settings","singletap .nf-item-control","click .nf-item-delete","click .nf-item-duplicate","clickEdit","singleTapEdit","clickDelete","clickDuplicateField","mouseoverItemControl","itemControlsView","itemControls","maybeDeactivate","change input","click","maybeClickEdit","changeToggle","renderToggle","settingName","actionLabel","actionView","droppable","accept","hoverClass","drop","updateActiveClass","editActive","settingItem","objectType","objectDomain","order","fieldType","parentType","updateFieldKey","changedAttributes","keyModel","fieldModel","parseInt","tmpNum","addField","removeField","addNewField","appendNewField","removeFieldResponse","newIDs","removedIDs","at","fieldExists","fieldsSubHeaderView","FieldsMainContentFieldCollectionView","fieldsSettingsTitleView","actionsMainHeaderView","actionsSubHeaderView","actionsMainContentView","settingsMainHeaderView","settingsSubHeaderView","settingsMainContentView","FieldCollection","defaultFormContentView","defaultFormContentLoad","defaultFormContentGutterView","nfi18n","domainFormFields","Esc","Ctrl+Shift+n","Ctrl+Shift+a","Ctrl+Shift+s","Alt+Ctrl+t","up","down","Shift+return","getSubHeaderView","getMainContentView","formContentData","formContentLoadFilters","sortedArray","without","first","formContentViewFilters","formContentView","gutterFilters","gutterView","domainActions","Ctrl+Shift+f","domainAdvanced","previewurl","getDomainCollection","getDomainModel","fieldModels","loading","changeStatus","appModel","clean","mobile","isMobile","getData","getSetting","getCurrentDomain","getCurrentDrawer","updateCurrentDomain","updateCurrentDrawer","currentDrawerID","toggleSettingGroup","errors","updateDB","defaultSaveFilter","jsAction","formContentSaveDataFilters","stringify","fields","field","parent_id","deleted_fields","actions","deleted_actions","autoClose","data_chunks","match","RegExp","saveChunkedForm","responseData","form","handleFinalResponse","fail","xhr","status","handleFinalFailure","chunks","currentChunk","formId","new_publish","total_chunks","postObj","batch_type","chunk_total","chunk_current","chunk","form_id","then","res","last_request","batch_complete","requesting","exception","alert","pluck","isNumeric","preloadedFormData","getFormModel","disablePreview","enablePreview","changePreviewNicename","appDomains","preview","publish","viewChanges","changeCollection","cid","ChangeModel","registerChange","getCollection","maybeResetCollection","changes","dashicon","undoChanges","sort","change","dispatchClick","undoAll","cookie","includes","d","Date","setTime","getTime","expires","toUTCString","cname","publishResponse","new_ids","newID","oldID","forms","history","replaceState","changeAppDomain","preventChange","enableChange","objPreventChange","maybePreventChange","mainEl","changePushState","pushState","location","href","reExp","toString","newUrl","changeHotkeys","addNewAction","changeDomainFields","changeDomainActions","changeDomainSettings","hotkey","msg","fieldsDomain","actionsDomain","settingsDomain","ignoreAttributes","setAppClean","attr","undoChangeSetting","undoAddObject","undoRemoveObject","undoDuplicateObject","undoSortFields","undoAddListOption","undoRemoveListOption","undoSortListOptions","before","maybeRemoveChange","objectModel","results","objectCollection","objModels","cloneModelDeep","attributes","clonedCollection","newModel","getSettingChildView","after","object","maybePreventUI","updateKey","fieldsetView","settingCollection","createSettingsCollection","settingTypeModel","clickDuplicate","tmpID","tagSectionCollection","tagSection","tags","fieldTags","tag","getFieldKeyFormat","calcTags","calcCollection","calcModel","currentElement","clickMergeTag","addFieldTags","deleteFieldTags","updateCalcTags","updateCurrentElement","updateCurrentSetting","getSectionModel","updateID","replaceFieldKey","initMergeTags","mergeTagsView","jBoxes","closeOnEsc","maxHeight","onOpen","prev","onClose","tagModel","currentValue","currentPos","caret","newPos","substr","summernote","calcTag","getFieldKeyFormatCalc","fieldID","optionModel","calc","openMergeTags","returnMergeTags","preventDefault","currentModel","upMergeTags","changeActiveTag","downMergeTags","dir","inc","currentIndex","nextModel","userInfo","system","updateOpen","targetTag","oldTag","fieldMergeTag","newKey","oldKey","_previousAttributes","oldVal","oldCalcKey","newCalcKey","re","newVal","insertTag","mergeTagView","sectionFilter","searchFilter","filter","child","term","toLowerCase","removeActive","onClick","updateTags","setActive","siblings","mergeTagGroupView","keyup input","updateFilter","event","firstFilteredTag","sections","MergeTagModel","MergeTagLookupCollection","MergeTagView","MergeTagListView","MergeTagGroupView","MergeTagGroupListView","MergeTagFilterView","MergeTagBoxLayout","old","mergeTagsButtonClick","afterAppStart","beforeRenderSetting","beforeDrawerClose","bind","selector","focusCallback","keyupCallback","closest","Radio","layout","tagCollection","mergeTagListView","mergeTagGroupListView","getRegion","rteEditor","posY","outerHeight","tagBoxY","windowHeight","innerHeight","tagBoxHeight","boxHeight","repeaterRow","scrollLeft","posX","$input","hasClass","str","caretPos","patt","exec","string","childNode","childNodes","node","nodeValue","range","sel","getSelection","setStart","err","collapse","removeAllRanges","addRange","$this","$inputSetting","autocomplete","$overlayElement","dataID","so","mergetags","mergetag","confirmPublish","initSettingModel","destroySetting","meta_image_frame","icons","align","alignCenter","alignJustify","alignLeft","alignRight","indent","outdent","bold","close","code","eraser","italic","link","unlink","magic","minus","orderedlist","redo","square","table","underline","undo","unorderedlist","currentContext","initRTE","linkButton","mediaButton","toolbar","codemirror","lineNumbers","callbacks","onBlur","editor","getValue","updateDataModel","prettifyHtml","onFocus","onKeydown","onKeyup","linkMenu","replaceWith","class","removeRTE","linkDropdown","buttonGroup","contents","tooltip","clickLinkButton","toggle","dropdown","mergeTagsButton","openMediaManager","invoke","wp","media","frames","media_attachment","state","toJSON","insertMedia","textEl","urlEl","isNewWindowEl","isNewWindow","filename","trackKeyChanges","beforeRender","maybeSwitchToFieldsDomain","autoOpenDrawer","filterDrawerContents","SwitchToFieldsDomain","updateFieldMap","contains","fieldFilter","bail","fieldTypeModel","rubble","filterDrawer","switchDomain","fieldDomainModel","fieldListSettings","registerFieldListSettings","updateFieldListSettingKeys","changed","actionModel","lastChanged","oldValue","init","changedSettingValue","setRenderFalse","closeColorPickers","initColorPicker","wpColorPicker","color","editFormText","changeMenu","formPublish","isNewForm","highlightAddNew","appendEditForm","isNaN","editFormLinkText","editFormLink","editFormListItem","closeMobileMenu","addNotice","closeNotice","notices","appDefaults","constructOnInit","stack","animation","mobileDefaults","desktopDefaults","openNotice","maybePrompt","viewFilters","saveFilters","loadFilters","addViewFilter","addSaveFilter","addLoadFilter","getViewFilters","getSaveFilters","getLoadFilters","priority","leftFilters","rightFilters","addLeftFilter","addRightFilter","getLeftFilters","getRightFilters","cloneCollectionDeep","constructor","keyDown","keyUp","getKeyDown","movedPos","initPerfectScroll","moveRail","resetRail","suppressScrollX","outerWidth","SettingCollection","settingGroupModel","SettingGroupCollection","getNewSettingGroupCollection","option","typeSectionModel","TypeCollection","SectionCollection","fieldTypeSections","registerSection","fieldTypeData","getFieldType","getTypeCollection","getTypeSections","getSavedFields","shiftKey","startDrag","stopDrag","getCurrentDraggableHelperClone","style","setProperty","draggableHelperClone","stagedFields","num","addStagedField","getStagingCollection","sortStagedFields","clearStagedFields","beforeCloseDrawer","now","tmpField","sortableEl","search","pos","receiveStagedFields","overStagedFields","outStagedFields","startStagedFields","stopStagedFields","addActiveClass","stagedFieldsEl","removeActiveClass","currentHelper","helperClone","filtered","filterCollection","hiddenFields","found","alias","receiveFieldsSortable","overfieldsSortable","outFieldsSortable","stopFieldsSortable","startFieldsSortable","updateFieldsSortable","insertedAt","fieldWidth","dragFieldID","dragModel","oldPos","adding","removing","getFieldCollection","getField","redrawFieldCollection","getTmpFieldID","deleteField","sortFields","getAdding","setAdding","getRemoving","setRemoving","renderTrigger","savedType","updateFieldSetting","max_options","changeErrors","size","errorsFound","opt","listOptionModel","addOption","renderErrors","ErrorView","columns","parentView","hasErrors","click .nf-delete","keyup","changeOption","deleteOption","keyupOption","maybeAddOption","findByIndex","getColumns","renderFieldSelect","initialOption","select","emptyContainer","renderOptions","column","optionNode","listOptionView","listEmptyView","listOptionCollection","optionCollection","maybeHideNew","handle","forcePlaceholderSize","importLink","closeButton","clickImport","renderHeaders","beforeColumns","afterColumns","col","headerText","headerContainer","renderFieldsetClasses","currency_symbol","click .nf-add-new","limit","clickAddOption","textarea","trimLeft","trimRight","lines","isArray","line","row","slugify","separator","listCompositeView","updateOptionSortable","stopOptionSortable","startOptionSortable","convertSettings","optionView","triggerDataModel","modelData","new","default","newOrder","clearEditActive","fieldSettings","getSettingModel","getSettingCollection","dropCreditCardField","newField","stageCreditCardField","ListOptionCollection","updateOptionLabel","updateOptionValue","convertOptions","pattern","insertField","productFields","getProductFields","addMask","newFieldKey","updateLabel","valueOf","setError","keyExists","testKey","startWiggle","stopWiggle","initWiggle","ClassyWiggle","degrees","delay","updateField","modified","modelClone","fieldData","created_at","formID","newType","newTypeDefaults","settingDefaults","typeCollection","addDatepicker","pikadayResponsive","actionTypeData","installed","available","getType","getInstalledActions","getAvailableActions","actionType","addAction","removeAction","getAction","getTmpID","deleteAction","actionSettings","updateFromAddress","isValidEmail","home_url_host","errorInvalidEmailFromAddress","email","dropActionType","type_slug","actionTypeModel","filterActionTypes","newInstalled","newAvailable","defaultFields","clickListUpdate","maybeRenderFields","maybeRenderGroups","registerFieldsListener","registerGroupsListener","updateFieldMapping","updateInterestGroups","updateLists","lists","always","selectedList","list","groups","group","registerListener","maybeUpdateSettings","newObject","isString","isObject","mapObject","filteredCollection","every","getFields","field_key","returnFields","sortBy","calcModels","calcs","getCalcs","returnCalcs","isEmpty","initCollectPayment","maybeClearTotal","maybeUpdateTotal","maybeError","oldName","formSettingTypeData","settingsModel","getSettings","updateCalc","sortCalc","checkName","checkEQ","checkDec","checkAllCalcs","nameExists","eq","errorSelfRef","errorFutureCalc","calculations","targetCalc","selfRef","futureCalc","dec","errorNonIntDec","checked","Math","abs","nonIntDec","Remote","Drawer","DrawerConfig","DomainConfig","AppData","DrawerToggleSettingGroup","UpdateDB","FormData","PreviewLink","AppMenuButtons","AppTrackChanges","AppUndoChanges","AppPublishResponse","AppChangeDomain","Pushstate","Hotkeys","CleanState","CoreUndo","CloneModelDeep","DrawerSettingChildView","ChangeSettingDefault","Fieldset","ToggleSetting","ItemControls","MergeTags","MergeTagsBox","ItemSettingFill","ConfirmPublish","RTE","SettingFieldSelect","SettingFieldList","SettingHTML","SettingColor","ChangeMenu","AppMobile","AppNotices","AppUnloadCheck","FormContentFilters","FormContentGutterFilters","CloneCollectionDeep","TrackKeyDown","PerfectScroll","GetNewSettingGroupCollection","SettingMedia","FieldTypes","FieldTypeDrag","FieldStagingDrag","StagedFieldsData","StagedFieldsSortable","DrawerFilterFieldTypes","MainContentFieldsSortable","FieldData","OptionRepeater","FieldsEditActive","FieldSettings","FieldCreditCard","FieldList","FieldPassword","FieldQuantity","FieldShipping","FieldKey","Notices","FieldsMobile","SavedFields","FieldDatepicker","FieldDisplayCalc","ActionTypes","ActionData","ActionSettings","ActionEditActive","ActionEmailFromSetting","ActionAddTypes","ActionTypeDrag","ActionDroppable","ActionFilterTypes","ActionNewsletterList","ActionDeleteFieldListener","ActionCollectPaymentFields","ActionCollectPaymentCalculations","ActionCollectPaymentFixed","ActionCollectPayment","SettingTypes","SettingData","FormSettings","SettingsEditActive","SettingsClickEdit","AdvancedCalculations","doingShortcut","touch","renderRequired","required","getFieldID","renderIcon","mousedown","singletap","swipeleft","swiperight","tapend","maybeShortcut","maybeTapEdit","swipeLeft","startEvnt","swipeRight","renderTitle","fieldItemView","mainContentEmptyView","FormTitleView","getFieldItem","getMainContentEmpty","getFormTitle","ready","$","BuilderView","LoadControllers","LoadViews","Application","Renderer","onStart","evaluate","interpolate","variable"],"mappings":"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,KAAAC,IAAAzvB,SAAAqvB,EAAA1gC,QACA,MAAA0gC,EAAA1gC,QAAA4gC,EAAAxlB,aAAAslB,EAAA1gC,SACA2gC,GAAA,EACAprB,EAAAwrB,UAAA,4CAIAJ,SACAprB,GAAAwrB,UAIA1gB,EAAAtmB,IAAA,SAAAwb,GACA8K,EAAA/uB,QAAA,gBAAA+uB,IAIA4f,cAAA,SAAAtrC,GACA,GAAA1B,GAAA1C,IACAoE,GAAA0G,OAAAxP,IAAA,SAAAupC,GACAniC,EAAA6sC,UAAA1K,EAAAjjC,IAAA,QAAAijC,GACAniC,EAAA8sC,QAAA3K,EAAAjjC,IAAA,MAAAijC,GACAniC,EAAA+sC,SAAA5K,EAAAjjC,IAAA,OAAAijC,UC7LA9qC,EACA,+BAIA,yBACA,yBACA,+BACA,+BACA,uBACA,2CACA,2BACA,2BACA,8BACA,8BACA,+BACA,8BACA,kCACA,+BACA,4BACA,0BACA,6BACA,2BACA,iCACA,sCACA,uCACA,2BACA,gCACA,+BACA,4BACA,8BACA,kCACA,iCACA,sBACA,qCACA,mCACA,8BACA,+BACA,6BACA,yBACA,0BACA,8BACA,qCACA,2CACA,sCACA,+BACA,gCACA,+CACA,+BAIA,2BACA,mCACA,iCACA,6BACA,qCACA,iCACA,8BACA,0BACA,iCACA,gCACA,mCACA,qCACA,+BACA,mCACA,mCACA,mCACA,yBACA,6BACA,4BACA,iCACA,qCACA,sCAKA,4BACA,2BACA,qCACA,iCACA,uCACA,qCACA,+BACA,gCACA,kCACA,qCACA,0CACA,2CACA,iDACA,0CACA,qCAKA,6BACA,4BACA,oCACA,kCACA,iCACA,qCAEA,SAIA02C,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EAIAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GAIAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GAKAC,GACAC,GACAC,GACAC,GACAC,GACAC;6gGAqHA,MAlHAr2C,YAAA5B,OAAA8B,QACAG,WAAA,WAIA,GAAA+yC,GACA,GAAAC,GACA,GAAAvB,GACA,GAAAf,GACA,GAAAC,GACA,GAAAC,GACA,GAAAC,GACA,GAAAE,GACA,GAAAG,GACA,GAAAC,GACA,GAAAC,GACA,GAAAC,GACA,GAAAC,GACA,GAAAC,GACA,GAAAG,GACA,GAAAC,GACA,GAAAC,GACA,GAAAK,GACA,GAAAI,GACA,GAAAC,GACA,GAAAC,GACA,GAAAC,GACA,GAAAC,GACA,GAAAC,GACA,GAAAW,GACA,GAAAV,GACA,GAAAC,GACA,GAAAC,GACA,GAAAC,GACA,GAAA9B,GACA,GAAAiC,GACA,GAAAC,GACA,GAAAC,GACA,GAAAC,GAQA,GAAArB,GACA,GAAA+B,GAEA,GAAAR,GACA,GAAAC,GACA,GAAAC,GACA,GAAAC,GACA,GAAAC,GACA,GAAAC,GACA,GAAAC,GACA,GAAA9B,GACA,GAAAE,GACA,GAAAH,GACA,GAAAkC,GACA,GAAAC,IACA,GAAAC,IACA,GAAAC,IACA,GAAAC,IACA,GAAAC,IACA,GAAAC,IACA,GAAAC,IACA,GAAAC,IACA,GAAAC,IACA,GAAAC,IACA,GAAAC,IACA,GAAAC,IAIA,GAAAU,IACA,GAAAC,IACA,GAAAE,IACA,GAAAE,IACA,GAAAd,IACA,GAAAC,IACA,GAAAC,IACA,GAAAC,IACA,GAAAC,IACA,GAAAC,IACA,GAAAC,IACA,GAAAC,IACA,GAAAC,IACA,GAAAG,IACA,GAAAE,IAKA,GAAAE,IACA,GAAAE,IACA,GAAAG,IACA,GAAAJ,IACA,GAAAE,IACA,GAAAC,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","file":"builder.js","sourcesContent":["(function () {\n","/**\n * @license almond 0.3.1 Copyright (c) 2011-2014, The Dojo Foundation All Rights Reserved.\n * Available via the MIT or new BSD license.\n * see: http://github.com/jrburke/almond for details\n */\n//Going sloppy to avoid 'use strict' string cost, but strict practices should\n//be followed.\n/*jslint sloppy: true */\n/*global setTimeout: false */\n\nvar requirejs, require, define;\n(function (undef) {\n var main, req, makeMap, handlers,\n defined = {},\n waiting = {},\n config = {},\n defining = {},\n hasOwn = Object.prototype.hasOwnProperty,\n aps = [].slice,\n jsSuffixRegExp = /\\.js$/;\n\n function hasProp(obj, prop) {\n return hasOwn.call(obj, prop);\n }\n\n /**\n * Given a relative module name, like ./something, normalize it to\n * a real name that can be mapped to a path.\n * @param {String} name the relative name\n * @param {String} baseName a real name that the name arg is relative\n * to.\n * @returns {String} normalized name\n */\n function normalize(name, baseName) {\n var nameParts, nameSegment, mapValue, foundMap, lastIndex,\n foundI, foundStarMap, starI, i, j, part,\n baseParts = baseName && baseName.split(\"/\"),\n map = config.map,\n starMap = (map && map['*']) || {};\n\n //Adjust any relative paths.\n if (name && name.charAt(0) === \".\") {\n //If have a base name, try to normalize against it,\n //otherwise, assume it is a top-level require that will\n //be relative to baseUrl in the end.\n if (baseName) {\n name = name.split('/');\n lastIndex = name.length - 1;\n\n // Node .js allowance:\n if (config.nodeIdCompat && jsSuffixRegExp.test(name[lastIndex])) {\n name[lastIndex] = name[lastIndex].replace(jsSuffixRegExp, '');\n }\n\n //Lop off the last part of baseParts, so that . matches the\n //\"directory\" and not name of the baseName's module. For instance,\n //baseName of \"one/two/three\", maps to \"one/two/three.js\", but we\n //want the directory, \"one/two\" for this normalization.\n name = baseParts.slice(0, baseParts.length - 1).concat(name);\n\n //start trimDots\n for (i = 0; i < name.length; i += 1) {\n part = name[i];\n if (part === \".\") {\n name.splice(i, 1);\n i -= 1;\n } else if (part === \"..\") {\n if (i === 1 && (name[2] === '..' || name[0] === '..')) {\n //End of the line. Keep at least one non-dot\n //path segment at the front so it can be mapped\n //correctly to disk. Otherwise, there is likely\n //no path mapping for a path starting with '..'.\n //This can still fail, but catches the most reasonable\n //uses of ..\n break;\n } else if (i > 0) {\n name.splice(i - 1, 2);\n i -= 2;\n }\n }\n }\n //end trimDots\n\n name = name.join(\"/\");\n } else if (name.indexOf('./') === 0) {\n // No baseName, so this is ID is resolved relative\n // to baseUrl, pull off the leading dot.\n name = name.substring(2);\n }\n }\n\n //Apply map config if available.\n if ((baseParts || starMap) && map) {\n nameParts = name.split('/');\n\n for (i = nameParts.length; i > 0; i -= 1) {\n nameSegment = nameParts.slice(0, i).join(\"/\");\n\n if (baseParts) {\n //Find the longest baseName segment match in the config.\n //So, do joins on the biggest to smallest lengths of baseParts.\n for (j = baseParts.length; j > 0; j -= 1) {\n mapValue = map[baseParts.slice(0, j).join('/')];\n\n //baseName segment has config, find if it has one for\n //this name.\n if (mapValue) {\n mapValue = mapValue[nameSegment];\n if (mapValue) {\n //Match, update name to the new value.\n foundMap = mapValue;\n foundI = i;\n break;\n }\n }\n }\n }\n\n if (foundMap) {\n break;\n }\n\n //Check for a star map match, but just hold on to it,\n //if there is a shorter segment match later in a matching\n //config, then favor over this star map.\n if (!foundStarMap && starMap && starMap[nameSegment]) {\n foundStarMap = starMap[nameSegment];\n starI = i;\n }\n }\n\n if (!foundMap && foundStarMap) {\n foundMap = foundStarMap;\n foundI = starI;\n }\n\n if (foundMap) {\n nameParts.splice(0, foundI, foundMap);\n name = nameParts.join('/');\n }\n }\n\n return name;\n }\n\n function makeRequire(relName, forceSync) {\n return function () {\n //A version of a require function that passes a moduleName\n //value for items that may need to\n //look up paths relative to the moduleName\n var args = aps.call(arguments, 0);\n\n //If first arg is not require('string'), and there is only\n //one arg, it is the array form without a callback. Insert\n //a null so that the following concat is correct.\n if (typeof args[0] !== 'string' && args.length === 1) {\n args.push(null);\n }\n return req.apply(undef, args.concat([relName, forceSync]));\n };\n }\n\n function makeNormalize(relName) {\n return function (name) {\n return normalize(name, relName);\n };\n }\n\n function makeLoad(depName) {\n return function (value) {\n defined[depName] = value;\n };\n }\n\n function callDep(name) {\n if (hasProp(waiting, name)) {\n var args = waiting[name];\n delete waiting[name];\n defining[name] = true;\n main.apply(undef, args);\n }\n\n if (!hasProp(defined, name) && !hasProp(defining, name)) {\n throw new Error('No ' + name);\n }\n return defined[name];\n }\n\n //Turns a plugin!resource to [plugin, resource]\n //with the plugin being undefined if the name\n //did not have a plugin prefix.\n function splitPrefix(name) {\n var prefix,\n index = name ? name.indexOf('!') : -1;\n if (index > -1) {\n prefix = name.substring(0, index);\n name = name.substring(index + 1, name.length);\n }\n return [prefix, name];\n }\n\n /**\n * Makes a name map, normalizing the name, and using a plugin\n * for normalization if necessary. Grabs a ref to plugin\n * too, as an optimization.\n */\n makeMap = function (name, relName) {\n var plugin,\n parts = splitPrefix(name),\n prefix = parts[0];\n\n name = parts[1];\n\n if (prefix) {\n prefix = normalize(prefix, relName);\n plugin = callDep(prefix);\n }\n\n //Normalize according\n if (prefix) {\n if (plugin && plugin.normalize) {\n name = plugin.normalize(name, makeNormalize(relName));\n } else {\n name = normalize(name, relName);\n }\n } else {\n name = normalize(name, relName);\n parts = splitPrefix(name);\n prefix = parts[0];\n name = parts[1];\n if (prefix) {\n plugin = callDep(prefix);\n }\n }\n\n //Using ridiculous property names for space reasons\n return {\n f: prefix ? prefix + '!' + name : name, //fullName\n n: name,\n pr: prefix,\n p: plugin\n };\n };\n\n function makeConfig(name) {\n return function () {\n return (config && config.config && config.config[name]) || {};\n };\n }\n\n handlers = {\n require: function (name) {\n return makeRequire(name);\n },\n exports: function (name) {\n var e = defined[name];\n if (typeof e !== 'undefined') {\n return e;\n } else {\n return (defined[name] = {});\n }\n },\n module: function (name) {\n return {\n id: name,\n uri: '',\n exports: defined[name],\n config: makeConfig(name)\n };\n }\n };\n\n main = function (name, deps, callback, relName) {\n var cjsModule, depName, ret, map, i,\n args = [],\n callbackType = typeof callback,\n usingExports;\n\n //Use name if no relName\n relName = relName || name;\n\n //Call the callback to define the module, if necessary.\n if (callbackType === 'undefined' || callbackType === 'function') {\n //Pull out the defined dependencies and pass the ordered\n //values to the callback.\n //Default to [require, exports, module] if no deps\n deps = !deps.length && callback.length ? ['require', 'exports', 'module'] : deps;\n for (i = 0; i < deps.length; i += 1) {\n map = makeMap(deps[i], relName);\n depName = map.f;\n\n //Fast path CommonJS standard dependencies.\n if (depName === \"require\") {\n args[i] = handlers.require(name);\n } else if (depName === \"exports\") {\n //CommonJS module spec 1.1\n args[i] = handlers.exports(name);\n usingExports = true;\n } else if (depName === \"module\") {\n //CommonJS module spec 1.1\n cjsModule = args[i] = handlers.module(name);\n } else if (hasProp(defined, depName) ||\n hasProp(waiting, depName) ||\n hasProp(defining, depName)) {\n args[i] = callDep(depName);\n } else if (map.p) {\n map.p.load(map.n, makeRequire(relName, true), makeLoad(depName), {});\n args[i] = defined[depName];\n } else {\n throw new Error(name + ' missing ' + depName);\n }\n }\n\n ret = callback ? callback.apply(defined[name], args) : undefined;\n\n if (name) {\n //If setting exports via \"module\" is in play,\n //favor that over return value and exports. After that,\n //favor a non-undefined return value over exports use.\n if (cjsModule && cjsModule.exports !== undef &&\n cjsModule.exports !== defined[name]) {\n defined[name] = cjsModule.exports;\n } else if (ret !== undef || !usingExports) {\n //Use the return value from the function.\n defined[name] = ret;\n }\n }\n } else if (name) {\n //May just be an object definition for the module. Only\n //worry about defining if have a module name.\n defined[name] = callback;\n }\n };\n\n requirejs = require = req = function (deps, callback, relName, forceSync, alt) {\n if (typeof deps === \"string\") {\n if (handlers[deps]) {\n //callback in this case is really relName\n return handlers[deps](callback);\n }\n //Just return the module wanted. In this scenario, the\n //deps arg is the module name, and second arg (if passed)\n //is just the relName.\n //Normalize module name, if it contains . or ..\n return callDep(makeMap(deps, callback).f);\n } else if (!deps.splice) {\n //deps is a config object, not an array.\n config = deps;\n if (config.deps) {\n req(config.deps, config.callback);\n }\n if (!callback) {\n return;\n }\n\n if (callback.splice) {\n //callback is an array, which means it is a dependency list.\n //Adjust args if there are dependencies\n deps = callback;\n callback = relName;\n relName = null;\n } else {\n deps = undef;\n }\n }\n\n //Support require(['a'])\n callback = callback || function () {};\n\n //If relName is a function, it is an errback handler,\n //so remove it.\n if (typeof relName === 'function') {\n relName = forceSync;\n forceSync = alt;\n }\n\n //Simulate async callback;\n if (forceSync) {\n main(undef, deps, callback, relName);\n } else {\n //Using a non-zero value because of concern for what old browsers\n //do, and latest browsers \"upgrade\" to 4 if lower value is used:\n //http://www.whatwg.org/specs/web-apps/current-work/multipage/timers.html#dom-windowtimers-settimeout:\n //If want a value immediately, use require('id') instead -- something\n //that works in almond on the global level, but not guaranteed and\n //unlikely to work in other AMD implementations.\n setTimeout(function () {\n main(undef, deps, callback, relName);\n }, 4);\n }\n\n return req;\n };\n\n /**\n * Just drops the config on the floor, but returns req in case\n * the config return value is used.\n */\n req.config = function (cfg) {\n return req(cfg);\n };\n\n /**\n * Expose module registry for debugging and tooling\n */\n requirejs._defined = defined;\n\n define = function (name, deps, callback) {\n if (typeof name !== 'string') {\n throw new Error('See almond README: incorrect module build, no module name');\n }\n\n //This module may not have dependencies\n if (!deps.splice) {\n //deps is not an array, so probably means\n //an object literal or factory function for\n //the value. Adjust args.\n callback = deps;\n deps = [];\n }\n\n if (!hasProp(defined, name) && !hasProp(waiting, name)) {\n waiting[name] = [name, deps, callback];\n }\n };\n\n define.amd = {\n jQuery: true\n };\n}());\n\ndefine(\"../lib/almond\", function(){});\n\n","/**\n * Renders an application menu item from a domain model.\n *\n * @package Ninja Forms builder\n * @subpackage App\n * @copyright (c) 2015 WP Ninjas\n * @since 3.0\n */\ndefine( 'views/app/menuItem',[], function() {\n\tvar view = Marionette.ItemView.extend({\n\t\ttagName: 'div',\n\t\ttemplate: '#tmpl-nf-app-menu-item',\n\n\t\tinitialize: function() {\n\t\t\t// Listen for domain changes and re-render when we detect one.\n\t\t\tthis.listenTo( nfRadio.channel( 'app' ), 'change:currentDomain', this.render );\n\t\t\t// When we change the model (to disable it, for example), re-render.\n\t\t\tthis.model.on( 'change', this.render, this );\n\t\t},\n\n\t\t/**\n\t\t * When we render this view, remove the extra <div> tag created by backbone.\n\t\t * \n\t\t * @since 3.0\n\t\t * @return void\n\t\t */\n\t\tonRender: function() {\n\t\t\tthis.$el = this.$el.children();\n\t\t\tthis.$el.unwrap();\n\t\t\tthis.setElement( this.$el );\n\t\t},\n\n\t\t// Listen for clicks on our app menu.\n\t\tevents: {\n\t\t\t'click a': 'clickAppMenu'\n\t\t},\n\n\t\t/**\n\t\t * When we click on a menu item, fire a radio event.\n\t\t * This lets us separate the logic from the click event and view.\n\t\t * We pass this.model so that we know what item was clicked.\n\t\t * \n\t\t * @since 3.0\n\t\t * @param Object\te event\n\t\t * @return return\n\t\t */\n\t\tclickAppMenu: function( e ) {\n\t\t\tnfRadio.channel( 'app' ).trigger( 'click:menu', e, this.model );\n\t\t},\n\n\t\t/**\n\t\t * These functions are available to templates, and help us to remove logic from template files.\n\t\t * \n\t\t * @since 3.0\n\t\t * @return Object\n\t\t */\n\t\ttemplateHelpers: function() {\n\t\t\treturn {\n\t\t\t\t/**\n\t\t\t\t * If we have any dashicons in our model, render them.\n\t\t\t\t * \n\t\t\t\t * @since 3.0\n\t\t\t\t * @return string\n\t\t\t\t */\n\t\t\t\trenderDashicons: function() {\n\t\t\t\t\tif ( ! this.dashicons ) return '';\n\n\t\t\t\t\tvar icon = document.createElement( 'span' );\n\t\t\t\t\ticon.classList.add( 'dashicons' );\n\t\t\t\t\ticon.classList.add( this.dashicons );\n\n\t\t\t\t\treturn icon.outerHTML;\n\t\t\t\t},\n\t\t\t\t/**\n\t\t\t\t * Render classes for our menu item, including active.\n\t\t\t\t * \n\t\t\t\t * @since 3.0\n\t\t\t\t * @return string\n\t\t\t\t */\n\t\t\t\trenderClasses: function() {\n\t\t\t\t\tvar classes = this.classes;\n\t\t\t\t\tvar currentDomain = nfRadio.channel( 'app' ).request( 'get:currentDomain' );\n\t\t\t\t\tif ( currentDomain.get( 'id' ) == this.id ) {\n\t\t\t\t\t\tclasses += ' active';\n\t\t\t\t\t}\n\t\t\t\t\treturn classes;\n\t\t\t\t},\n\t\t\t\t/**\n\t\t\t\t * If our menu is a link (like preview), render its url.\n\t\t\t\t * \n\t\t\t\t * @since 3.0\n\t\t\t\t * @return string\n\t\t\t\t */\n\t\t\t\trenderUrl: function() {\n\t\t\t\t\tif ( '' != this.url ) {\n\t\t\t\t\t\tvar formModel = nfRadio.channel( 'app' ).request( 'get:formModel' );\n\t\t\t\t\t\treturn this.url + formModel.get( 'id' );\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn '#';\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t/**\n\t\t\t\t * If our menu is a link (like preview), render its target.\n\t\t\t\t * \n\t\t\t\t * @since 3.0\n\t\t\t\t * @return string\n\t\t\t\t */\n\t\t\t\trenderTarget: function() {\n\t\t\t\t\tif ( '' != this.url ) {\n\t\t\t\t\t\treturn '_blank';\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn '_self';\n\t\t\t\t\t}\n\t\t\t\t},\n\n\t\t\t\t/**\n\t\t\t\t * If our menu item is disabled, output 'disabled'\n\t\t\t\t * \n\t\t\t\t * @since 3.0\n\t\t\t\t * @return string\n\t\t\t\t */\n\t\t\t\trenderDisabled: function() {\n\t\t\t\t\tif ( this.disabled ) {\n\t\t\t\t\t\treturn 'disabled';\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn '';\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t});\n\n\treturn view;\n} );\n\n","/**\n * Collection view that takes our app menu items and renders an individual view for each.\n *\n * @package Ninja Forms builder\n * @subpackage App\n * @copyright (c) 2015 WP Ninjas\n * @since 3.0\n */\ndefine( 'views/app/menu',['views/app/menuItem'], function( appMenuItemView ) {\n\tvar view = Marionette.CollectionView.extend( {\n\t\ttagName: 'div',\n\t\tchildView: appMenuItemView,\n\n\t\t/**\n\t\t * When we show this view, get rid of the extra <div> tag added by backbone.\n\t\t * \n\t\t * @since 3.0\n\t\t * @return void\n\t\t */\n\t\tonShow: function() {\n\t\t\tjQuery( this.el ).find( 'li:last' ).unwrap();\n\t\t}\n\t} );\n\n\treturn view;\n} );\n","/**\n * Renders the action buttons to the right of the app menu. i.e. Publish\n *\n * @package Ninja Forms builder\n * @subpackage App\n * @copyright (c) 2015 WP Ninjas\n * @since 3.0\n */\ndefine( 'views/app/menuButtons',[], function() {\n\tvar view = Marionette.ItemView.extend({\n\t\ttagName: 'span',\n\t\ttemplate: '#tmpl-nf-app-header-action-button',\n\n\t\tinitialize: function() {\n\t\t\t// Listen to changes on the app 'clean' state. When it changes, re-render.\n\t\t\tthis.listenTo( nfRadio.channel( 'app' ), 'change:clean', this.render, this );\n\t\t\tthis.listenTo( nfRadio.channel( 'app' ), 'change:loading', this.render, this );\n\n\t\t\tthis.listenTo( nfRadio.channel( 'app' ), 'response:updateDB', this.bounceIcon, this );\n\t\t},\n\n\t\t/**\n\t\t * These functions are available to templates, and help us to remove logic from template files.\n\t\t * \n\t\t * @since 3.0\n\t\t * @return Object\n\t\t */\n\t\ttemplateHelpers: function () {\n\t\t\tvar that = this;\n\t \treturn {\n\n\t \t\t/**\n\t \t\t * Render our Publish button. If we're loading, render the loading version.\n\t \t\t *\n\t \t\t * @since 3.0\n\t \t\t * @return string\n\t \t\t */\n\t \t\trenderPublish: function() {\n\t \t\t\tif ( that.publishWidth ) {\n\t \t\t\t\tthis.publishWidth = that.publishWidth + 'px';\n\t \t\t\t} else {\n\t \t\t\t\tthis.publishWidth = 'auto';\n\t \t\t\t}\n\n\t \t\t\tif ( nfRadio.channel( 'app' ).request( 'get:setting', 'loading' ) ) {\n\t \t\t\t\tvar template = nfRadio.channel( 'app' ).request( 'get:template', '#tmpl-nf-add-header-publish-loading' );\n\t \t\t\t} else {\n\t \t\t\t\tvar template = nfRadio.channel( 'app' ).request( 'get:template', '#tmpl-nf-app-header-publish-button' );\n\t \t\t\t}\n\t \t\t\treturn template( this );\n\t \t\t},\n\n\t \t\t/**\n\t \t\t * If our app state is clean, disable publish.\n\t \t\t * \n\t \t\t * @since 3.0\n\t \t\t * @return string\n\t \t\t */\n\t \t\tmaybeDisabled: function() {\n\t \t\t\tif ( nfRadio.channel( 'app' ).request( 'get:setting', 'clean' ) ) {\n\t \t\t\t\treturn 'disabled';\n\t \t\t\t} else {\n\t \t\t\t\treturn '';\n\t \t\t\t}\n\t \t\t},\n\n\t \t\t/**\n\t \t\t * If our app isn't clean, render our 'viewChanges' button.\n\t \t\t * @since version\n\t \t\t * @return {[type]} [description]\n\t \t\t */\n\t \t\tmaybeRenderCancel: function() {\n\t \t\t\tif ( ! nfRadio.channel( 'app' ).request( 'get:setting', 'clean' ) ) {\n\t \t\t\t\tvar viewChanges = nfRadio.channel( 'app' ).request( 'get:template', '#tmpl-nf-app-header-view-changes' );\n\t \t\t\t\treturn viewChanges( this );\n\t \t\t\t} else {\n\t \t\t\t\treturn '';\n\t \t\t\t}\n\t\t\t\t},\n\t\t\t};\n\t\t},\n\n\t\tonShow: function() {\n\t\t\tvar publishEL = jQuery( this.el ).find( '.publish' );\n\t\t\t// this.publishWidth = jQuery( publishEL ).outerWidth( true );\n\t\t},\n\n\t\t/**\n\t\t * Listen for clicks on the Publish or view changes button.\n\t\t * @type {Object}\n\t\t */\n\t\tevents: {\n\t\t\t'click .publish': 'clickPublish',\n\t\t\t'click .viewChanges': 'clickViewChanges'\n\t\t},\n\n\t\t/**\n\t\t * When we click publish, trigger a radio event.\n\t\t * This lets us separate the logic from the click event and view.\n\t\t * \n\t\t * @since 3.0\n\t\t * @param Object \te event\n\t\t * @return void\n\t\t */\n\t\tclickPublish: function( e ) {\n\t\t\tnfRadio.channel( 'app' ).trigger( 'click:publish', e );\n\t\t},\n\n\t\t/**\n\t\t * When we click view changes, trigger a radio event.\n\t\t * This lets us separate the logic from the click event and view.\n\t\t * \n\t\t * @since 3.0\n\t\t * @param Object \te event\n\t\t * @return void\n\t\t */\n\t\tclickViewChanges: function( e ) {\n\t\t\tnfRadio.channel( 'app' ).trigger( 'click:viewChanges', e );\n\t\t},\n\n\t\tbounceIcon: function( changeModel ) {\n\t\t\tjQuery( this.el ).find( '.dashicons-backup' ).effect( 'bounce', { times: 3 }, 600 );\n\t\t}\n\n\t});\n\n\treturn view;\n} );\n\n","/**\n * Renders the action buttons to the right of the app menu. i.e. Publish\n *\n * @package Ninja Forms builder\n * @subpackage App\n * @copyright (c) 2015 WP Ninjas\n * @since 3.0\n */\ndefine( 'views/app/mobileMenuButton',[], function() {\n\tvar view = Marionette.ItemView.extend({\n\t\ttagName: 'span',\n\t\ttemplate: '#tmpl-nf-mobile-menu-button',\n\n\t\tinitialize: function() {\n\t\t\t// Listen to changes on the app 'clean' state. When it changes, re-render.\n\t\t\tthis.listenTo( nfRadio.channel( 'app' ), 'change:clean', this.render, this );\n\t\t},\n\n\t\t/**\n\t\t * These functions are available to templates, and help us to remove logic from template files.\n\t\t * \n\t\t * @since 3.0\n\t\t * @return Object\n\t\t */\n\t\ttemplateHelpers: function () {\n\t\t\tvar that = this;\n\t \treturn {\n\t \t\t/**\n\t \t\t * If our app state is clean, disable button.\n\t \t\t * \n\t \t\t * @since 3.0\n\t \t\t * @return string\n\t \t\t */\n\t \t\tmaybeDisabled: function() {\n\t \t\t\tif ( nfRadio.channel( 'app' ).request( 'get:setting', 'clean' ) ) {\n\t \t\t\t\treturn 'disabled';\n\t \t\t\t} else {\n\t \t\t\t\treturn '';\n\t \t\t\t}\n\t \t\t}\n\t\t\t};\n\t\t},\n\n\t\t/**\n\t\t * Listen for clicks on the mobile menu button.\n\t\t * @type {Object}\n\t\t */\n\t\tevents: {\n\t\t\t'click .nf-mobile-menu': 'clickMobileMenu'\n\t\t},\n\n\t\t/**\n\t\t * When we click publish, trigger a radio event.\n\t\t * This lets us separate the logic from the click event and view.\n\t\t * \n\t\t * @since 3.0\n\t\t * @param Object \te event\n\t\t * @return void\n\t\t */\n\t\tclickMobileMenu: function( e) {\n\t\t\tvar builderEl = nfRadio.channel( 'app' ).request( 'get:builderEl' );\n\t\t\tjQuery( builderEl ).toggleClass( 'nf-menu-expand' );\n\t\t}\n\t});\n\n\treturn view;\n} );\n","/**\n * Main application header. Includes links to all of our domains.\n *\n * @package Ninja Forms builder\n * @subpackage App\n * @copyright (c) 2015 WP Ninjas\n * @since 3.0\n */\ndefine( 'views/app/header',['views/app/menu', 'views/app/menuButtons', 'views/app/mobileMenuButton'], function( appMenuCollectionView, appMenuButtonsView, mobileMenuButtonView ) {\n\tvar view = Marionette.LayoutView.extend( {\n\t\ttagName: 'div',\n\t\ttemplate: '#tmpl-nf-app-header',\n\n\t\tregions: {\n\t\t\t// Menu is our main app menu.\n\t\t\tmenu: '.nf-app-menu',\n\t\t\t// Buttons represents the 'view changes' and 'Publish' buttons.\n\t\t\tbuttons: '.nf-app-buttons',\n\t\t\tmobileMenuButton: '.nf-mobile-menu-button'\n\t\t},\n\n\t\t/**\n\t\t * Since this is a layout region, we need to fill the two areas: menu and buttons whenever we show this view.\n\t\t * \n\t\t * @since 3.0\n\t\t * @return void\n\t\t */\n\t\tonRender: function() {\n\t\t\t// Get our domains\n\t\t\tvar appDomainCollection = nfRadio.channel( 'app' ).request( 'get:domainCollection' );\n\t\t\t// show the menu area using the appropriate view, passing our domain collection.\n\t\t\tthis.menu.show( new appMenuCollectionView( { collection: appDomainCollection } ) );\n\t\t\tthis.buttons.show( new appMenuButtonsView() );\n\t\t\tthis.mobileMenuButton.show( new mobileMenuButtonView() );\n\t\t},\n\n\t\tevents: {\n\t\t\t'click #nf-logo': 'clickLogo'\n\t\t},\n\n\t\tclickLogo: function( e ) {\n\t\t\t\n\t\t}\n\n\t} );\n\n\treturn view;\n} );\n","/**\n * Renders our sub-header. i.e. add new field, add new action, etc.\n *\n * @package Ninja Forms builder\n * @subpackage App\n * @copyright (c) 2015 WP Ninjas\n * @since 3.0\n */\ndefine( 'views/app/subHeader',[], function() {\n\tvar view = Marionette.ItemView.extend({\n\t\ttagName: 'div',\n\t\ttemplate: '#tmpl-nf-sub-header'\n\t});\n\n\treturn view;\n} );\n","/**\n * Renders our builder header.\n *\n * This is a layout view and handles two regions:\n * app - menu/buttons\n * subapp - title, add new field, etc.\n *\n * @package Ninja Forms builder\n * @subpackage App\n * @copyright (c) 2015 WP Ninjas\n * @since 3.0\n */\ndefine( 'views/app/builderHeader',[ 'views/app/header', 'views/app/subHeader' ], function( appHeaderView, appSubHeaderView ) {\n\n\tvar view = Marionette.LayoutView.extend({\n\t\ttagName: \"div\",\n\t\ttemplate: \"#tmpl-nf-header\",\n\n\t\tregions: {\n\t\t\tapp: \"#nf-app-header\",\n\t\t\tformTitle: \"#nf-app-form-title\",\n\t\t\tappSub: \"#nf-app-sub-header\"\n\t\t},\n\n\t\tinitialize: function() {\n\t\t\tthis.listenTo( nfRadio.channel( 'app' ), 'change:currentDomain', this.changeSubHeader );\n\t\t},\n\n\t\tonShow: function() {\n\t\t\tthis.app.show( new appHeaderView() );\n\n\t\t\tvar formData = nfRadio.channel( 'app' ).request( 'get:formModel' );\n\t\t\tvar formSettings = formData.get( 'settings' );\n\n\t\t\tvar formTitleView = nfRadio.channel( 'views' ).request( 'get:formTitle' );\n\t\t\tthis.formTitle.show( new formTitleView( { model: formSettings } ) );\n\n\t\t\tthis.changeSubHeader();\n\t\t},\n\n\t\tchangeSubHeader: function() {\n\t\t\tvar currentDomain = nfRadio.channel( 'app' ).request( 'get:currentDomain' );\n\t\t\tvar subHeaderView = currentDomain.get( 'getSubHeaderView' ).call( currentDomain );\n\t\t\tthis.appSub.show( subHeaderView );\n\t\t}\n\t});\n\n\treturn view;\n} );\n","/**\n * Renders our builder.\n *\n * This is a layout view and handles three regions:\n * gutterLeft - gutter to the left of our main content area\n * body - main content area\n * gutterRight - gutter to the right of our main content area\n *\n * @package Ninja Forms builder\n * @subpackage App\n * @copyright (c) 2016 WP Ninjas\n * @since 3.0\n */\ndefine( 'views/app/main',[], function() {\n\n\tvar view = Marionette.LayoutView.extend({\n\t\ttagName: 'div',\n\t\ttemplate: '#tmpl-nf-main',\n\t\tclassName: 'nf-main-test',\n\t\tmaybeDone: false,\n\n\t\toffsetRight: false,\n\t\toffsetLeft: false,\n\n\t\tregions: {\n\t\t\tgutterLeft: '#nf-main-gutter-left',\n\t\t\tbody: '#nf-main-body',\n\t\t\tgutterRight: '#nf-main-gutter-right'\n\t\t},\n\n\t\tinitialize: function() {\n\t\t\tthis.listenTo( nfRadio.channel( 'app' ), 'change:currentDomain', this.render );\n\t\t\tnfRadio.channel( 'app' ).reply( 'get:mainEl', this.getMainEl, this );\n\n\t\t\t/*\n\t\t\t * Make sure that our gutters resize to match our screen upon resize or drawer open/close.\n\t\t\t */\n\t\t\tjQuery( window ).on( 'resize', { context: this }, this.resizeBothGutters );\n\t\t\tthis.listenTo( nfRadio.channel( 'drawer' ), 'before:open', this.setBothGuttersAbsolute );\n\t\t\tthis.listenTo( nfRadio.channel( 'drawer' ), 'opened', this.setBothGuttersFixed );\n\t\t\tthis.listenTo( nfRadio.channel( 'drawer' ), 'before:close', this.setBothGuttersAbsolute );\n\t\t\tthis.listenTo( nfRadio.channel( 'drawer' ), 'closed', this.setBothGuttersFixed );\n\t\t\t// ... or Domain Change.\n this.listenTo( nfRadio.channel( 'app' ), 'change:currentDomain', function(){\n // @todo Using a timeout feels like a hack, but there may be a timing issue here.\n \tsetTimeout(function(){\n nfRadio.channel( 'app' ).request( 'update:gutters' );\n\t\t\t\t}, 300, this );\n\t\t\t}, this );\n\n\n\t\t\t/*\n\t\t\t * Reply to messages requesting that we resize our gutters.\n\t\t\t */\n\t\t\tnfRadio.channel( 'app' ).reply( 'update:gutters', this.updateGutters, this );\n\t\t},\n\n\t\tonShow: function() {\n\t\t\tnfRadio.channel( 'main' ).trigger( 'show:main', this );\n\t\t},\n\n\t\tonRender: function() {\n\t\t\tvar currentDomain = nfRadio.channel( 'app' ).request( 'get:currentDomain' );\n\t\t\tvar bodyView = currentDomain.get( 'getMainContentView' ).call( currentDomain );\n\t\t\tthis.body.show( bodyView );\n\n\t\t\tvar gutterLeftView = currentDomain.get( 'getGutterLeftView' ).call( currentDomain );\n\t\t\tthis.gutterLeft.show( gutterLeftView );\n\n\t\t\tvar gutterRightView = currentDomain.get( 'getGutterRightView' ).call( currentDomain );\n\t\t\tthis.gutterRight.show( gutterRightView );\n\t\t\t\n\t\t\tnfRadio.channel( 'main' ).trigger( 'render:main' );\n\t\t},\n\n\t\tgetMainEl: function() {\n\t\t\treturn jQuery( this.el ).parent();\n\t\t},\n\n\t\tonAttach: function() {\n\t\t\tthis.initialGutterResize();\n\t\t},\n\n\t\tonBeforeDestroy: function() {\n\t\t\tjQuery( window ).off( 'resize', this.resize );\n\t\t},\n\n\t\tinitialGutterResize: function() {\n\t\t\tthis.resizeGutter( this.gutterLeft.el );\n\t\t\tthis.resizeGutter( this.gutterRight.el );\n\t\t\tthis.setBothGuttersFixed( this );\n\t\t},\n\n\t\tresizeBothGutters: function( e ) {\n\t\t\tvar context = ( e ) ? e.data.context : this;\n\n\t\t\tvar leftEl = context.gutterLeft.el;\n\t\t\tvar rightEl = context.gutterRight.el;\n\t\t\t\n\t\t\tcontext.resizeGutter( leftEl, context );\n\t\t\tcontext.resizeGutter( rightEl, context );\n\n\t\t\tcontext.setBothGuttersAbsolute( context );\n\n\t\t\t/*\n\t\t\t * Clear our timeout. If the timeout runs, it means we've stopped resizing.\n\t\t\t */\t\n\t\t\tclearTimeout( context.maybeDone );\n\t\t\t/*\n\t\t\t * Add our timeout.\n\t\t\t */\n\t\t\tcontext.maybeDone = setTimeout( context.setBothGuttersFixed, 100, context );\n\t\t},\n\n\t\tresizeGutter: function( el, context ) {\n\t\t\tvar top = jQuery( el ).offset().top;\n\t\t\tvar viewHeight = jQuery( window ).height();\n\t\t\tvar height = viewHeight - top;\n\t\t\tjQuery( el ).height( height );\n\t\t},\n\n\t\tsetBothGuttersFixed: function( context ) {\n\t\t\tcontext = context || this;\n\n\t\t\tvar offsetLeft = jQuery( context.gutterLeft.el ).offset();\n\t\t\tvar topLeft = offsetLeft.top;\n\t\t\tvar leftLeft = offsetLeft.left;\n\n\t\t\tjQuery( context.gutterLeft.el ).css( { position: 'fixed', left: leftLeft, top: topLeft } );\t\t\tvar offsetLeft = jQuery( context.gutterLeft.el ).offset();\n\t\t\t\n\t\t\tvar offsetRight = jQuery( context.gutterRight.el ).offset();\n\t\t\tvar topRight = offsetRight.top;\n\t\t\tvar leftRight = offsetRight.left;\n\n\t\t\tjQuery( context.gutterRight.el ).css( { position: 'fixed', left: leftRight, top: topRight } );\n\t\t},\n\n\t\tsetBothGuttersAbsolute: function( context ) {\n\t\t\tcontext = context || this;\n\n\t\t\tvar offsetLeft = jQuery( context.gutterLeft.el ).offset();\n\t\t\tvar offsetRight = jQuery( context.gutterRight.el ).offset();\n\n\t\t\tvar scrollTop = jQuery( '#nf-main' ).scrollTop();\n\n\t\t\tjQuery( context.gutterLeft.el ).css( { position: 'absolute', left: 0, top: scrollTop } );\n\t\t\tjQuery( context.gutterRight.el ).css( { position: 'absolute', top: scrollTop, right: 0, left: 'auto' } );\n\t\t},\n\n\t\tupdateGutters: function() {\n\t\t\tthis.resizeBothGutters();\n\t\t}\n\n\t});\n\n\treturn view;\n} );\n\n","/**\n * Renders an application menu item from a domain model.\n *\n * @package Ninja Forms builder\n * @subpackage App\n * @copyright (c) 2015 WP Ninjas\n * @since 3.0\n */\ndefine( 'views/app/mobileMenuItem',[], function() {\n\tvar view = Marionette.ItemView.extend({\n\t\ttagName: 'div',\n\t\ttemplate: '#tmpl-nf-mobile-menu-item',\n\n\t\t/**\n\t\t * When we render this view, remove the extra <div> tag created by backbone.\n\t\t * \n\t\t * @since 3.0\n\t\t * @return void\n\t\t */\n\t\tonRender: function() {\n\t\t\tthis.$el = this.$el.children();\n\t\t\tthis.$el.unwrap();\n\t\t\tthis.setElement( this.$el );\n\t\t},\n\n\t\t// Listen for clicks on our app menu.\n\t\tevents: {\n\t\t\t'click a': 'clickAppMenu'\n\t\t},\n\n\t\t/**\n\t\t * When we click on a menu item, fire a radio event.\n\t\t * This lets us separate the logic from the click event and view.\n\t\t * We pass this.model so that we know what item was clicked.\n\t\t * \n\t\t * @since 3.0\n\t\t * @param Object\te event\n\t\t * @return return\n\t\t */\n\t\tclickAppMenu: function( e ) {\n\t\t\tnfRadio.channel( 'app' ).trigger( 'click:menu', e, this.model );\n\t\t},\n\n\t\t/**\n\t\t * These functions are available to templates, and help us to remove logic from template files.\n\t\t * \n\t\t * @since 3.0\n\t\t * @return Object\n\t\t */\n\t\ttemplateHelpers: function() {\n\t\t\treturn {\n\t\t\t\t/**\n\t\t\t\t * If we have any dashicons in our model, render them.\n\t\t\t\t * \n\t\t\t\t * @since 3.0\n\t\t\t\t * @return string\n\t\t\t\t */\n\t\t\t\trenderDashicons: function() {\n\t\t\t\t\tif ( ! this.mobileDashicon ) return '';\n\n var icon = document.createElement( 'span' );\n icon.classList.add( 'dashicons' );\n icon.classList.add( this.mobileDashicon );\n\n return icon.outerHTML;\n\t\t\t\t},\n\t\t\t\t/**\n\t\t\t\t * Render classes for our menu item, including active.\n\t\t\t\t * \n\t\t\t\t * @since 3.0\n\t\t\t\t * @return string\n\t\t\t\t */\n\t\t\t\trenderClasses: function() {\n\t\t\t\t\tvar classes = this.classes;\n\t\t\t\t\tvar currentDomain = nfRadio.channel( 'app' ).request( 'get:currentDomain' );\n\t\t\t\t\tif ( currentDomain.get( 'id' ) == this.id ) {\n\t\t\t\t\t\tclasses += ' active';\n\t\t\t\t\t}\n\t\t\t\t\treturn classes;\n\t\t\t\t},\n\t\t\t\t/**\n\t\t\t\t * If our menu is a link (like preview), render its url.\n\t\t\t\t * \n\t\t\t\t * @since 3.0\n\t\t\t\t * @return string\n\t\t\t\t */\n\t\t\t\trenderUrl: function() {\n\t\t\t\t\tif ( '' != this.url ) {\n\t\t\t\t\t\tvar formModel = nfRadio.channel( 'app' ).request( 'get:formModel' );\n\t\t\t\t\t\treturn this.url + formModel.get( 'id' );\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn '#';\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t/**\n\t\t\t\t * If our menu is a link (like preview), render its target.\n\t\t\t\t * \n\t\t\t\t * @since 3.0\n\t\t\t\t * @return string\n\t\t\t\t */\n\t\t\t\trenderTarget: function() {\n\t\t\t\t\tif ( '' != this.url ) {\n\t\t\t\t\t\treturn '_blank';\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn '_self';\n\t\t\t\t\t}\n\t\t\t\t},\n\n\t\t\t\t/**\n\t\t\t\t * If our menu item is disabled, output 'disabled'\n\t\t\t\t * \n\t\t\t\t * @since 3.0\n\t\t\t\t * @return string\n\t\t\t\t */\n\t\t\t\trenderDisabled: function() {\n\t\t\t\t\tif ( this.disabled ) {\n\t\t\t\t\t\treturn 'disabled';\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn '';\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t});\n\n\treturn view;\n} );\n\n","/**\n * Single item view used for the menu drawer.\n *\n * @package Ninja Forms builder\n * @subpackage App\n * @copyright (c) 2015 WP Ninjas\n * @since 3.0\n */\ndefine( 'views/app/mobileMenu',['views/app/mobileMenuItem'], function( mobileMenuItemView ) {\n\tvar view = Marionette.CompositeView.extend({\n\t\ttagName: 'div',\n\t\ttemplate: '#tmpl-nf-mobile-menu',\n\t\tchildView: mobileMenuItemView,\n\n\t\tinitialize: function() {\n\t\t\t// Listen to changes on the app 'clean' state. When it changes, re-render.\n\t\t\tthis.listenTo( nfRadio.channel( 'app' ), 'change:clean', this.render, this );\n\t\t},\n\n\t\tattachHtml: function( collectionView, childView ) {\n\t\t\tjQuery( collectionView.el ).find( '.secondary' ).append( childView.el );\n\t\t},\n\n\t\ttemplateHelpers: function() {\n\t\t\treturn {\n\t\t\t\t/**\n\t \t\t * If our app state is clean, disable button.\n\t \t\t * \n\t \t\t * @since 3.0\n\t \t\t * @return string\n\t \t\t */\n\t \t\tmaybeDisabled: function() {\n\t \t\t\tif ( nfRadio.channel( 'app' ).request( 'get:setting', 'clean' ) ) {\n\t \t\t\t\treturn 'disabled';\n\t \t\t\t} else {\n\t \t\t\t\treturn '';\n\t \t\t\t}\n\t \t\t}\n\t\t\t};\n\t\t},\n\n\t\tevents: {\n\t\t\t'click .nf-publish': 'clickPublish'\n\t\t},\n\n\t\t/**\n\t\t * When we click publish, trigger a radio event.\n\t\t * This lets us separate the logic from the click event and view.\n\t\t * \n\t\t * @since 3.0\n\t\t * @param Object \te event\n\t\t * @return void\n\t\t */\n\t\tclickPublish: function( e ) {\n\t\t\tnfRadio.channel( 'app' ).trigger( 'click:publish', e );\n\t\t\tvar builderEl = nfRadio.channel( 'app' ).request( 'get:builderEl' );\n\t\t\tjQuery( builderEl ).toggleClass( 'nf-menu-expand' );\n\t\t},\n\t});\n\n\treturn view;\n} );\n","/**\n * Empty drawer content view.\n * Called before we close the drawer.\n *\n * @package Ninja Forms builder\n * @subpackage App\n * @copyright (c) 2015 WP Ninjas\n * @since 3.0\n */\ndefine( 'views/app/drawer/contentEmpty',[], function() {\n\tvar view = Marionette.ItemView.extend({\n\t\ttagName: 'div',\n\t\ttemplate: '#tmpl-nf-empty'\n\t});\n\n\treturn view;\n} );\n","/**\n * Renders our drawer region\n *\n * @package Ninja Forms builder\n * @subpackage App\n * @copyright (c) 2015 WP Ninjas\n * @since 3.0\n */\ndefine( 'views/app/drawer',['views/app/drawer/contentEmpty'], function( drawerEmptyView ) {\n\n\tvar view = Marionette.LayoutView.extend( {\n\t\ttemplate: '#tmpl-nf-drawer',\n\n\t\tregions: {\n\t\t\theader: '#nf-drawer-header',\n\t\t\tcontent: '#nf-drawer-content',\n\t\t\tfooter: '#nf-drawer-footer'\n\t\t},\n\n\t\tinitialize: function() {\n\t\t\tnfRadio.channel( 'app' ).reply( 'get:drawerEl', this.getEl, this );\n\t\t\tnfRadio.channel( 'drawer' ).reply( 'load:drawerContent', this.loadContent, this );\n\t\t\tnfRadio.channel( 'drawer' ).reply( 'empty:drawerContent', this.emptyContent, this );\n\t\t},\n\n\t\tonShow: function() {\n\t\t\tjQuery( this.el ).parent().perfectScrollbar();\n\t\t},\n\n\t\tloadContent: function( drawerID, data ) {\n\t\t\tvar drawer = nfRadio.channel( 'app' ).request( 'get:drawer', drawerID );\n\t\t\tvar contentView = drawer.get( 'getContentView' ).call( drawer, data );\n\t\t\tvar headerView = drawer.get( 'getHeaderView' ).call( drawer, data );\n\t\t\tvar footerView = drawer.get( 'getFooterView' ).call( drawer, data );\n\n\t\t\tthis.header.show( headerView );\n\t\t\tthis.content.show( contentView );\n\t\t\tthis.footer.show( footerView );\n\n\t\t},\n\n\t\temptyContent: function() {\n\t\t\tthis.header.empty();\n\t\t\tthis.content.empty();\n\t\t\tthis.footer.empty();\n\t\t},\n\n\t\tgetEl: function() {\n\t\t\treturn jQuery( this.el ).parent();\n\t\t},\n\n\t\tevents: {\n\t\t\t'click .nf-toggle-drawer': 'clickToggleDrawer'\n\t\t},\n\n\t\tclickToggleDrawer: function() {\n\t\t\tnfRadio.channel( 'app' ).trigger( 'click:toggleDrawerSize' );\n\t\t}\n\n\t} );\n\n\treturn view;\n} );\n\n","/**\n * Single item view used for merge tags.\n *\n * @package Ninja Forms builder\n * @subpackage App\n * @copyright (c) 2015 WP Ninjas\n * @since 3.0\n */\ndefine( 'views/app/drawer/mergeTagItem',[], function() {\n\tvar view = Marionette.ItemView.extend({\n\t\ttagName: 'li',\n\n\t\ttemplate: '#tmpl-nf-merge-tags-item',\n\n\t\tonBeforeDestroy: function() {\n\t\t\tthis.model.off( 'change:active', this.render );\n\t\t},\n\n\t\tinitialize: function() {\n\t\t\tthis.model.on( 'change:active', this.render, this );\n\t\t},\n\n\t\tevents: {\n\t\t\t'click a': 'clickTag'\n\t\t},\n\n\t\tclickTag: function( e ) {\n\t\t\tnfRadio.channel( 'mergeTags' ).trigger( 'click:mergeTag', e, this.model );\n\t\t},\n\n\t\ttemplateHelpers: function() {\n\t\t\treturn {\n\t\t\t\trenderClasses: function() {\n\t\t\t\t\tif ( this.active ) {\n\t\t\t\t\t\treturn 'active';\n\t\t\t\t\t}\n\t\t\t\t}\t\t\t\t\n\t\t\t}\n\t\t}\n\t});\n\n\treturn view;\n} );\n","/**\n * Merge tags popup section\n *\n * @package Ninja Forms builder\n * @subpackage App\n * @copyright (c) 2015 WP Ninjas\n * @since 3.0\n */\ndefine( 'views/app/drawer/mergeTagsSection',['views/app/drawer/mergeTagItem'], function( mergeTagItemView ) {\n\tvar view = Marionette.CompositeView.extend({\n\t\ttagName: 'div',\n\t\tchildView: mergeTagItemView,\n\t\ttemplate: '#tmpl-nf-merge-tags-section',\n\n\t\tinitialize: function() {\n\t\t\tthis.collection = this.model.get( 'tags' );\n\t\t\tthis.model.on( 'change', this.render, this );\n\t\t\tif ( 'fields' == this.model.get( 'id' ) ) {\n\t\t\t\t// var fieldCollection = nfRadio.channel( 'fields' ).request( 'get:collection' );\n\t\t\t\t// fieldCollection.on( 'all', this.updateFields, this );\n\t\t\t}\n\t\t},\n\n\t\tonBeforeDestroy: function() {\n\t\t\tthis.model.off( 'change', this.render );\n\t\t\tif ( 'fields' == this.model.get( 'id' ) ) {\n\t\t\t\tvar fieldCollection = nfRadio.channel( 'fields' ).request( 'get:collection' );\n\t\t\t\tfieldCollection.off( 'all', this.updateFields, this );\n\t\t\t}\n\t\t},\n\n\t\tattachHtml: function( collectionView, childView ) {\n\t\t\tjQuery( collectionView.el ).find( '.merge-tags' ).append( childView.el );\n\t\t},\n\n\t\tupdateFields: function() {\n\t\t\tvar fieldCollection = nfRadio.channel( 'fields' ).request( 'get:collection' );\n\t\t\tthis.model.set( 'tags', fieldCollection );\n\t\t}\n\t});\n\n\treturn view;\n} );\n","/**\n * Model that represents our merge tags.\n * \n * @package Ninja Forms builder\n * @subpackage App\n * @copyright (c) 2015 WP Ninjas\n * @since 3.0\n */\ndefine( 'models/app/mergeTagModel',[], function() {\n\tvar model = Backbone.Model.extend( {\n\t\tdefaults: {\n\t\t\tactive: false,\n\t\t\texclude: false\n\t\t}\n\t} );\n\t\n\treturn model;\n} );\n","/**\n * Collections of merge tags.\n * \n * @package Ninja Forms builder\n * @subpackage App\n * @copyright (c) 2015 WP Ninjas\n * @since 3.0\n */\ndefine( 'models/app/mergeTagCollection',['models/app/mergeTagModel'], function( mergeTagModel ) {\n\tvar collection = Backbone.Collection.extend( {\n\t\tmodel: mergeTagModel\n\t} );\n\treturn collection;\n} );\n","/**\n * Merge tags popup\n *\n * @package Ninja Forms builder\n * @subpackage App\n * @copyright (c) 2015 WP Ninjas\n * @since 3.0\n */\ndefine( 'views/app/drawer/mergeTagsContent',['views/app/drawer/mergeTagsSection', 'models/app/mergeTagCollection'], function( mergeTagsSectionView, MergeTagCollection ) {\n\tvar view = Marionette.CollectionView.extend({\n\t\ttagName: 'div',\n\t\ttemplate: '#tmpl-nf-merge-tags-content',\n\t\tchildView: mergeTagsSectionView,\n\n\t\tinitialize: function() {\n\t\t\tnfRadio.channel( 'mergeTags' ).reply( 'get:view', this.getMergeTagsView, this );\n\t\t},\n\n\t\treRender: function( settingModel ) {\n\t\t\tvar mergeTagCollection = nfRadio.channel( 'mergeTags' ).request( 'get:collection' );\n\t\t\tvar defaultGroups = mergeTagCollection.where( { default_group: true } );\n\n\t\t\t/*\n\t\t\t * For the Actions Domain, Add Calc Merge Tags as a Default Group.\n\t\t\t */\n\t\t\tvar currentDomain = nfRadio.channel( 'app' ).request( 'get:currentDomain' );\n\t\t\tif( 'actions' == currentDomain.get( 'id' ) ){\n\t\t\t\tvar calcMergeTagGroup = mergeTagCollection.where( { id: 'calcs' } );\n defaultGroups = defaultGroups.concat( calcMergeTagGroup );\n }\n\n\t\t\tthis.collection = new MergeTagCollection( defaultGroups );\n\t\t\tvar that = this;\n\t\t\tvar useMergeTags = settingModel.get( 'use_merge_tags' );\n\t\t\tif ( 'object' == typeof useMergeTags ) {\n\t\t\t\tif ( 'undefined' != typeof useMergeTags.exclude ) {\n\t\t\t\t\t_.each( useMergeTags.exclude, function( exclude ) {\n\t\t\t\t\t\tthat.collection.remove( exclude )\n\t\t\t\t\t} );\n\t\t\t\t}\n\n\t\t\t\tif ( 'undefined' != typeof useMergeTags.include ) {\n\t\t\t\t\t_.each( mergeTagCollection.models, function( sectionModel ) {\n\t\t\t\t\t\tif ( -1 != useMergeTags.include.indexOf( sectionModel.get( 'id' ) ) ) {\n\t\t\t\t\t\t\t// console.log( sectionModel );\n\t\t\t\t\t\t\tthat.collection.add( sectionModel );\n\t\t\t\t\t\t}\n\t\t\t\t\t} );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tthis.render();\n\t\t},\n\n\t\tgetMergeTagsView: function() {\n\t\t\treturn this;\n\t\t}\n\t});\n\n\treturn view;\n} );\n","/**\n * Builder view.\n *\n * This layout view has regions that represent our application areas:\n * header\n * main\n * menuDrawer - Mobile side-menu\n * drawer\n *\n * @package Ninja Forms builder\n * @subpackage App\n * @copyright (c) 2015 WP Ninjas\n * @since 3.0\n */\ndefine( 'views/app/builder',['views/app/builderHeader', 'views/app/main', 'views/app/mobileMenu', 'views/app/drawer', 'views/app/drawer/mergeTagsContent'], function( headerView, mainView, mobileMenuView, drawerView, mergeTagsContentView ) {\n\tvar view = Marionette.LayoutView.extend( {\n\t\ttemplate: \"#tmpl-nf-builder\",\n\t\tel: '#nf-builder',\n\n\t\tregions: {\n\t\t\theader: \"#nf-header\",\n\t\t\tmain: \"#nf-main\",\n\t\t\tmenuDrawer: \"#nf-menu-drawer\",\n\t\t\tdrawer: \"#nf-drawer\",\n\t\t\tmergeTagsContent: '.merge-tags-content'\n\t\t},\n\n\t\tinitialize: function() {\n\t\t\t// Respond to requests asking for the builder dom element.\n\t\t\tnfRadio.channel( 'app' ).reply( 'get:builderEl', this.getBuilderEl, this );\n\t\t\t// Respond to requests asking for the builder view\n\t\t\tnfRadio.channel( 'app' ).reply( 'get:builderView', this.getBuilderView, this );\n\t\t\t// Layout views aren't self-rendering.\n\t\t\tthis.render();\n\t\t\tvar mergeTags = nfRadio.channel( 'mergeTags' ).request( 'get:collection' );\n\t\t\tvar mergeTagsClone = mergeTags.clone();\n\t\t\tthis.mergeTagsContent.show( new mergeTagsContentView( { collection: mergeTagsClone } ) );\n\t\t\t// Show our header.\n\t\t\tthis.header.show( new headerView() );\n\t\t\t// Show our main content.\n\t\t\tthis.main.show( new mainView() );\n\t\t\t// Show our mobile menu\n\t\t\tvar appDomainCollection = nfRadio.channel( 'app' ).request( 'get:domainCollection' );\n\t\t\tthis.menuDrawer.show( new mobileMenuView( { collection: appDomainCollection } ) );\n\t\t\t// Show our drawer.\n\t\t\tthis.drawer.show( new drawerView() );\n\n\n\t\t},\n\n\t\tonRender: function() {\n\n\t\t},\n\n\t\tgetBuilderEl: function() {\n\t\t\treturn this.el;\n\t\t},\n\n\t\tgetBuilderView: function() {\n\t\t\treturn this;\n\t\t},\n\n\t\t// Listen for clicks\n\t\tevents: {\n\t\t\t'click .nf-open-drawer': 'openDrawer',\n\t\t\t'click .nf-change-domain': 'changeDomain',\n\t\t\t'click .nf-close-drawer': 'closeDrawer'\n\t\t},\n\n\t\t/**\n\t\t * Someone clicked to open a drawer, so fire a radio event.\n\t\t * This lets us separate the logic from the click event and view.\n\t\t *\n\t\t * @since 3.0\n\t\t * @param Object \te \tevent\n\t\t * @return void\n\t\t */\n\t\topenDrawer: function( e ) {\n\t\t\tnfRadio.channel( 'app' ).trigger( 'click:openDrawer', e );\n\t\t},\n\t\t/**\n\t\t * Someone clicked to close a drawer, so fire a radio event.\n\t\t * This lets us separate the logic from the click event and view.\n\t\t *\n\t\t * @since 3.0\n\t\t * @return void\n\t\t */\n\t\tcloseDrawer: function() {\n\t\t\tnfRadio.channel( 'app' ).trigger( 'click:closeDrawer' );\n\t\t},\n\t\t/**\n\t\t * Someone clicked to change the domain, so fire a radio event.\n\t\t * This lets us separate the logic from the click event and view.\n\t\t *\n\t\t * @since 3.0\n\t\t * @param Object \te \tevent\n\t\t * @return void\n\t\t */\n\t\tchangeDomain: function( e ) {\n\t\t\tnfRadio.channel( 'app' ).trigger( 'click:menu', e );\n\t\t}\n\n\t} );\n\n\treturn view;\n} );\n\n","\ndefine( 'controllers/app/remote',[], function() {\n return Marionette.Object.extend( {\n initialize: function() {\n this.listenTo( nfRadio.channel( 'setting' ), 'remote', this.addListener );\n },\n\n addListener: function( model, dataModel ) {\n\n var listenTo = model.get( 'remote' ).listen;\n\n // TODO: Change seems to be triggering twice on each update.\n this.listenTo( nfRadio.channel( 'fieldSetting-' + listenTo ), 'update:setting', this.updateSetting );\n this.listenTo( nfRadio.channel( 'actionSetting-' + listenTo ), 'update:setting', this.updateSetting );\n\n this.listenTo( nfRadio.channel( 'setting-type-' + model.get( 'type' ) ), 'click:extra', this.clickExtra );\n\n model.listenTo( nfRadio.channel( 'setting-remote' ), 'get:remote', this.getRemote, model );\n\n // Auto-trigger get:remote on drawer load.\n nfRadio.channel( 'setting-remote' ).trigger( 'get:remote', dataModel );\n },\n\n clickExtra: function( e, settingModel, dataModel, settingView ) {\n jQuery( e.srcElement ).addClass( 'spin' );\n nfRadio.channel( 'setting-remote' ).trigger( 'get:remote', dataModel );\n },\n\n updateSetting: function( dataModel, settingModel ) {\n nfRadio.channel( 'setting-remote' ).trigger( 'get:remote', dataModel );\n },\n\n getRemote: function( dataModel ) {\n\n var remote = this.get( 'remote' );\n\n var data = {\n parentValue: dataModel.get( remote.listen ),\n action: remote.action,\n security: ( remote.security ) ? remote.security : nfAdmin.ajaxNonce\n };\n\n // TODO: Disable setting and lock drawer while updating.\n var that = this;\n jQuery.post( ajaxurl, data, function( response ){\n var response = JSON.parse( response );\n\n if( 'textbox' == that.get( 'type' ) ) {\n dataModel.set( that.get('name'), response.value );\n }\n\n if( 'select' == that.get( 'type' ) ) {\n that.set( 'options', response.options );\n that.trigger( 'rerender' );\n }\n });\n },\n\n });\n} );\n","/**\n * Handles opening and closing our drawer. This is where we display settings for fields, actions, and settings.\n * \n * @package Ninja Forms builder\n * @subpackage Main App\n * @copyright (c) 2015 WP Ninjas\n * @since 3.0\n */\ndefine( 'controllers/app/drawer',[], function() {\n\tvar controller = Marionette.Object.extend( {\n\t\tinitialize: function() {\n\t\t\t// Listen to our drawer-related click events.\n\t\t\tthis.listenTo( nfRadio.channel( 'app' ), 'click:openDrawer', this.clickOpenDrawer );\n\t\t\tthis.listenTo( nfRadio.channel( 'app' ), 'click:closeDrawer', this.closeDrawer );\n\t\t\tthis.listenTo( nfRadio.channel( 'app' ), 'click:toggleDrawerSize', this.toggleDrawerSize );\n\n\t\t\t// Reply to direct requests to open or close the drawer.\n\t\t\tnfRadio.channel( 'app' ).reply( 'open:drawer', this.openDrawer, this );\n\t\t\tnfRadio.channel( 'app' ).reply( 'close:drawer', this.closeDrawer, this );\n\n\t\t\t/*\n\t\t\t * When we close the drawer, we have to figure out what the right position should be.\n\t\t\t * This listens to requests from other parts of our app asking what the closed right position is.\n\t\t\t */\n\t\t\tnfRadio.channel( 'drawer' ).reply( 'get:closedRightPos', this.getClosedDrawerPos, this );\n\t\t\t\n\t\t\t// Reply to requests to prevent our drawer from closing\n\t\t\tnfRadio.channel( 'drawer' ).reply( 'prevent:close', this.preventClose, this );\n\t\t\t// Reply to requests to enable drawer closing\n\t\t\tnfRadio.channel( 'drawer' ).reply( 'enable:close', this.enableClose, this );\n\t\t\t// Reply to requests for our disabled/enabled state.\n\t\t\tnfRadio.channel( 'drawer' ).reply( 'get:preventClose', this.maybePreventClose, this );\n\n\t\t\t/*\n\t\t\t * Object that holds our array of 'prevent close' values.\n\t\t\t * We use an array so that registered requests can unregister and not affect each other.\n\t\t\t */\n\t\t\tthis.objPreventClose = {};\n\n\t\t\t/*\n\t\t\t * Listen to focus events on the filter and stop our interval when it happens.\n\t\t\t * This is to fix a bug that can cause the filter to gain focus every few seconds.\n\t\t\t */\n\t\t\tthis.listenTo( nfRadio.channel( 'drawer' ), 'filter:focused', this.filterFocused );\n\t\t},\n\n\t\t/**\n\t\t * Handles closing our drawer\n\t\t * @since 3.0\n\t\t * @return void\n\t\t */\n\t\tcloseDrawer: function() {\n\t\t\t// Get our current domain.\n\t\t\tvar currentDrawer = nfRadio.channel( 'app' ).request( 'get:currentDrawer' );\n if ( ! currentDrawer || this.maybePreventClose() ) {\n return false;\n }\n\n\t\t\t// Triggers the before close drawer action on our current domain's drawer channel.\n\t\t\tnfRadio.channel( 'drawer-' + currentDrawer.get( 'id' ) ).trigger( 'before:closeDrawer' );\n\t\t\t/*\n\t\t\t * The 'before:closeDrawer' message is deprecated as of version 3.0 in favour of 'before:close'.\n\t\t\t * TODO: Remove this radio message in the future.\n\t\t\t */\n\t\t\tnfRadio.channel( 'drawer' ).trigger( 'before:closeDrawer' );\n\t\t\tnfRadio.channel( 'drawer' ).trigger( 'before:close' );\n\t\t\t// Send a message to our drawer to empty its contents.\n\t\t\tnfRadio.channel( 'drawer' ).request( 'empty:drawerContent' );\n\n\t\t\t// To close our drawer, we have to add our closed class to the builder and remove the opened class.\n\t\t\tvar builderEl = nfRadio.channel( 'app' ).request( 'get:builderEl' );\n\t\t\tjQuery( builderEl ).addClass( 'nf-drawer-closed' ).removeClass( 'nf-drawer-opened' );\n\t\t\tjQuery( builderEl ).removeClass( 'disable-main' );\n\n\t\t\t// Get the right position of our closed drawer. Should be container size in -px.\n\t\t\tvar rightClosed = this.getClosedDrawerPos();\n\n\t\t\t// Get our drawer element and give change the 'right' property to our closed position.\n\t\t\tvar drawerEl = nfRadio.channel( 'app' ).request( 'get:drawerEl' );\n\t\t\tjQuery( drawerEl ).css( { 'right': rightClosed } );\n\n\t\t\t// In order to access properties in 'this' context in our interval below, we have to set it here.\t\n\t\t\tvar that = this;\n\n\t\t\t/*\n\t\t\t * Since jQuery can't bind to a CSS change, we poll every .15 seconds to see if we've closed the drawer.\n\t\t\t *\n\t\t\t * Once our drawer is closed, we:\n\t\t\t * clear our interval\n\t\t\t * request that the app change it's current drawer to false\n\t\t\t * trigger a drawer closed message\n\t\t\t */\n\t\t\tthis.checkCloseDrawerPos = setInterval( function() {\n\t \tif ( rightClosed == jQuery( drawerEl ).css( 'right' ) ) {\n\t \t\tclearInterval( that.checkCloseDrawerPos );\n\t\t \t\tnfRadio.channel( 'app' ).request( 'update:currentDrawer', false );\n\t\t \t\tnfRadio.channel( 'drawer' ).trigger( 'closed' );\n\t\t \t\t/*\n\t\t \t\t * Reset the add new button z-index to 98.\n\t\t \t\t */\n\t\t \t\tjQuery( '.nf-master-control' ).css( 'z-index', 98 );\n\t\t \t\t// jQuery( drawerEl ).scrollTop( 0 );\n\t \t}\n\t\t\t}, 150 );\n\t\t},\n\n\t\t/**\n\t\t * Click handler for our 'open drawer' event.\n\t\t * @since 3.0\n\t\t * @param e jQuery event\n\t\t * @return void\n\t\t */\n\t\tclickOpenDrawer: function( e ) {\n\t\t\tvar drawerID = jQuery( e.target ).data( 'drawerid' );\n\t\t\tthis.openDrawer( drawerID );\n\t\t},\n\n\t\t/**\n\t\t * Open our drawer.\n\t\t * \n\t\t * @since 3.0\n\t\t * @param string drawerID \tID of the drawer we want to open.\n\t\t * @param object data \tOptional data that we want to pass to the drawer.\n\t\t * @return void\n\t\t */\n\t\topenDrawer: function( drawerID, data ) {\n\t\t\tif ( this.maybePreventClose() ) {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\t// If we haven't sent a data object, set the variable to an empty object.\n\t\t\tdata = data || {};\n\n\t\t\t/*\n\t\t\t * If we're dealing with something that has a model, set the proper active state.\n\t\t\t *\n\t\t\t * TODO: Make this more dynamic. I'm not sure that it fits in the drawer controller.\n\t\t\t */\n\t\t\tif ( 'undefined' != typeof data.model ) {\n\t\t\t\tvar currentDomain = nfRadio.channel( 'app' ).request( 'get:currentDomain' );\n\t\t\t\tvar currentDomainID = currentDomain.get( 'id' );\n\t\t\t\tnfRadio.channel( currentDomainID ).request( 'clear:editActive' );\n\t\t\t\tdata.model.set( 'editActive', true );\n\t\t\t\tthis.dataModel = data.model;\n\t\t\t}\n\n\t\t\t// Send out a message requesting our drawer view to load the content for our drawer ID.\n\t\t\tnfRadio.channel( 'drawer' ).request( 'load:drawerContent', drawerID, data );\n\t\t\tnfRadio.channel( 'drawer' ).trigger( 'before:open' );\n\t\t\t\n\t\t\t// To open our drawer, we have to add our opened class to our builder element and remove the closed class.\n\t\t\tvar builderEl = nfRadio.channel( 'app' ).request( 'get:builderEl' );\n\t\t\tjQuery( builderEl ).addClass( 'nf-drawer-opened' ).removeClass( 'nf-drawer-closed' );\n\t\t\t\n\t\t\t// To open our drawer, we have to set the right position of our drawer to 0px.\n\t\t\tvar drawerEl = nfRadio.channel( 'app' ).request( 'get:drawerEl' );\n\t\t\tjQuery( drawerEl ).css( { 'right': '0px' } );\n\t\t\t\n\t\t\t// In order to access properties in 'this' context in our interval below, we have to set it here.\t\n\t\t\tvar that = this;\n\n\t\t\t/*\n\t\t\t * Since jQuery can't bind to a CSS change, we poll every .15 seconds to see if we've opened the drawer.\n\t\t\t *\n\t\t\t * Once our drawer is opened, we:\n\t\t\t * clear our interval\n\t\t\t * focus our filter\n\t\t\t * request that the app update its current drawer to the one we opened\n\t\t\t * trigger a drawer opened message\n\t\t\t */\n\t\t\tthis.hasFocus = false;\n\n\t\t\t/*\n\t\t\t * Set our add new button z-index to 0;\n\t\t\t */\n\t\t\tjQuery( '.nf-master-control' ).css( 'z-index', 0 );\n\n\t\t\tthis.checkOpenDrawerPos = setInterval( function() {\n\t \tif ( '0px' == jQuery( drawerEl ).css( 'right' ) ) {\n\t \t\tclearInterval( that.checkOpenDrawerPos );\n\t\t\t\t\tif ( ! that.hasFocus ) {\n\t\t \t\tthat.focusFilter();\n\t\t\t\t\t\tthat.hasFocus = true;\n\t\t\t \t\tnfRadio.channel( 'app' ).request( 'update:currentDrawer', drawerID );\n\t\t\t \t\tjQuery( drawerEl ).scrollTop( 0 );\n\t\t\t \t\tnfRadio.channel( 'drawer' ).trigger( 'opened' );\n\t\t\t\t\t} \t\t\n\t \t}\n\t\t\t}, 150 );\n\t\t},\n\n\t\t/**\n\t\t * Toggle the drawer from half to full screen and vise-versa\n\t\t * @since 3.0\n\t\t * @return void\n\t\t */\n\t\ttoggleDrawerSize: function() {\n\t\t\t// Get our drawer element.\n\t\t\tvar drawerEl = nfRadio.channel( 'app' ).request( 'get:drawerEl' );\n\t\t\t// toggle our drawer size class.\n\t\t\tjQuery( drawerEl ).toggleClass( 'nf-drawer-expand' );\n\t\t},\n\n\t\t/**\n\t\t * Focus our filter\n\t\t * @since 3.0\n\t\t * @return void\n\t\t */\n focusFilter: function() {\n \t// Get our filter element\n \tvar filterEl = nfRadio.channel( 'drawer' ).request( 'get:filterEl' );\n \t// Focus\n \tjQuery( filterEl ).focus();\n },\n\n /**\n * Get the CSS right position (in px) of the closed drawer element.\n * This is calculated by:\n * getting the width of the builder element\n * add 300 pixels\n * make it negative\n * \n * @since 3.0\n * @return void\n */\n getClosedDrawerPos: function() {\n\t\t\tvar builderEl = nfRadio.channel( 'app' ).request( 'get:builderEl' );\n\t\t\tvar closedPos = jQuery( builderEl ).width() + 300;\n\t\t\treturn '-' + closedPos + 'px';\n },\n\n /**\n * Check to see if anything has registered a prevent close key.\n * \n * @since 3.0\n * @return boolean\n */\n maybePreventClose: function() {\n \tif ( 0 == Object.keys( this.objPreventClose ).length ) {\n \t\treturn false;\n \t} else {\n \t\treturn true;\n \t}\n },\n\n /**\n * Register a prevent close key.\n * \n * @since 3.0\n * @param string \tkey unique id for our 'prevent close' setting.\n * @return void\n */\n preventClose: function( key ) {\n \tthis.objPreventClose[ key ] = true;\n \t/*\n \t * When we disable closing the drawer, add the disable class.\n \t */\n \t// Get our current drawer.\n\t\t\tthis.dataModel.set( 'drawerDisabled', true );\n },\n\n /**\n * Remove a previously registered prevent close key.\n * \n * @since 3.0\n * @param string \tkey unique id for our 'prevent close' setting.\n * @return void\n */\n enableClose: function( key ) {\n \tdelete this.objPreventClose[ key ];\n \t /*\n \t * When we remove all of our disables preventing closing the drawer, remove the disable class.\n \t */\n \tif ( ! this.maybePreventClose() && 'undefined' != typeof this.dataModel ) {\n\t \t// Get our current drawer.\n\t\t\t\tthis.dataModel.set( 'drawerDisabled', false ); \t\t\n \t}\n },\n\n /**\n * When we focus our filter, make sure that our open drawer interval is cleared.\n * \n * @since 3.0\n * @return void\n */\n filterFocused: function() {\n \tclearInterval( this.checkOpenDrawerPos );\n },\n\n getPreventClose: function() {\n \treturn this.objPreventClose;\n }\n\t});\n\n\treturn controller;\n} );\n","/**\n * Default drawer header.\n *\n * Includes our filter/search and 'Done' button.\n *\n * @package Ninja Forms builder\n * @subpackage App\n * @copyright (c) 2015 WP Ninjas\n * @since 3.0\n */\ndefine( 'views/app/drawer/headerDefault',[], function() {\n\tvar view = Marionette.ItemView.extend({\n\t\ttagName: 'div',\n\t\ttemplate: '#tmpl-nf-drawer-header-default',\n\n\t\tinitialize: function() {\n\t\t\tif ( this.model ) {\n\t\t\t\t// Listen for our drawer being disabled.\n\t\t\t\tthis.model.on( 'change:drawerDisabled', this.render, this );\t\t\t\t\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * When we render, remove the extra div added by backbone and add listeners related to our filter.\n\t\t * \n\t\t * @since 3.0\n\t\t * @return void\n\t\t */\n\t\tonRender: function() {\n\t\t\t// Remove extra wrapping div.\n\t\t\tthis.$el = this.$el.children();\n\t\t\tthis.$el.unwrap();\n\t\t\tthis.setElement( this.$el );\n\t\t\t// Respond to requests related to our filter.\n\t\t\tnfRadio.channel( 'drawer' ).reply( 'clear:filter', this.clearFilter, this );\n\t\t\tnfRadio.channel( 'drawer' ).reply( 'blur:filter', this.blurFilter, this );\n\t\t\tnfRadio.channel( 'drawer' ).reply( 'get:filterEl', this.getEl, this );\n\t\t},\n\n\t\tonBeforeDestroy: function() {\n\t\t\tif ( this.model ) {\n\t\t\t\tthis.model.off( 'change:drawerDisabled', this.render );\n\t\t\t}\n\t\t},\n\n\t\tevents: {\n\t\t\t'keyup .nf-filter'\t: 'maybeChangeFilter',\n\t\t\t'input .nf-filter'\t: 'changeFilter',\n\t\t\t'focus input'\t\t: 'getFocus'\n\t\t},\n\n\t\t/**\n\t\t * When the filter text is changed, trigger an event on our current drawer.\n\t\t * This lets us keep the logic separate from the click event and view.\n\t\t * \n\t\t * @since 3.0\n\t\t * @param Object \te event\n\t\t * @return void\n\t\t */\n\t\tchangeFilter: function( e ) {\n\t\t\tvar currentDrawer = nfRadio.channel( 'app' ).request( 'get:currentDrawer' );\n\t\t\tnfRadio.channel( 'drawer-' + currentDrawer.get( 'id' ) ).trigger( 'change:filter', e.target.value, e );\n\t\t},\n\n\t\t/**\n\t\t * The user pressed a key. If it's the enter key, then run the change filter function.\n\t\t * \n\t\t * @since 3.0\n\t\t * @param Object \te event\n\t\t * @return void\n\t\t */\n\t\tmaybeChangeFilter: function( e ) {\n\t\t\tif ( 13 == e.keyCode ) {\n\t\t\t\te.addObject = true;\n\t\t\t\tthis.changeFilter( e );\t\t\t\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Clear our filter.\n\t\t *\n\t\t * This triggers 'input' on the field, which will trigger a change if necessary.\n\t\t * \n\t\t * @since 3.0\n\t\t * @return void\n\t\t */\n\t\tclearFilter: function() {\n\t\t\tvar filterEl = jQuery( this.el ).find( '.nf-filter' );\n\t\t\tif ( '' != jQuery.trim( filterEl.val() ) ) {\n\t\t\t\tfilterEl.val('');\n\t\t\t\tfilterEl.trigger( 'input' );\n\t\t\t\tfilterEl.focus();\t\t\t\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Fire the 'blur' event on our filter. Used to force a change event when the user tabs.\n\t\t * \n\t\t * @since 3.0\n\t\t * @return void\n\t\t */\n\t\tblurFilter: function() {\n\t\t\tjQuery( this.el ).find( '.nf-filter' ).blur();\n\t\t},\n\n\t\t/**\n\t\t * Return our filter dom element.\n\t\t * \n\t\t * @since 3.0\n\t\t * @return Object\n\t\t */\n\t\tgetEl: function() {\n\t\t\treturn jQuery( this.el ).find( '.nf-filter' );\n\t\t},\n\n\t\tgetFocus: function() {\n\t\t\tnfRadio.channel( 'drawer' ).trigger( 'filter:focused' );\n\t\t},\n\n\t\ttemplateHelpers: function() {\n\t\t\treturn {\n\t\t\t\trenderDisabled: function() {\n\t\t\t\t\t// Get our current domain.\n\t\t\t\t\tif ( this.drawerDisabled ) {\n\t\t\t\t\t\treturn 'disabled';\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn '';\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t});\n\n\treturn view;\n} );\n","/**\n * Default drawer footer\n * \n * @package Ninja Forms builder\n * @subpackage App\n * @copyright (c) 2015 WP Ninjas\n * @since 3.0\n */\ndefine( 'views/app/drawer/footerDefault',[], function() {\n\tvar view = Marionette.ItemView.extend({\n\t\ttagName: 'div',\n\t\ttemplate: '#tmpl-nf-empty'\n\t});\n\n\treturn view;\n} );\n","define( 'models/app/drawerModel',['views/app/drawer/headerDefault', 'views/app/drawer/footerDefault'], function( defaultHeaderView, defaultFooterView ) {\n\tvar model = Backbone.Model.extend( {\n\t\tdefaults: {\n\t\t\tgetHeaderView: function( data ) {\n\t\t\t\treturn new defaultHeaderView( data );\n\t\t\t},\n\n\t\t\tgetFooterView: function( data ) {\n\t\t\t\treturn new defaultFooterView( data );\n\t\t\t}\n\t\t}\n\t} );\n\t\n\treturn model;\n} );\n","/**\n * Collection that holds all of our drawer models.\n * \n * @package Ninja Forms builder\n * @subpackage Fields\n * @copyright (c) 2015 WP Ninjas\n * @since 3.0\n */\ndefine( 'models/app/drawerCollection',['models/app/drawerModel'], function( drawerModel ) {\n\tvar collection = Backbone.Collection.extend( {\n\t\tmodel: drawerModel\n\t} );\n\treturn collection;\n} );\n","define( 'views/fields/drawer/stagedField',[], function() {\n\tvar view = Marionette.ItemView.extend({\n\t\ttagName: 'div',\n\t\ttemplate: '#tmpl-nf-drawer-staged-field',\n\n\t\tonRender: function() {\n\t\t\tthis.$el = this.$el.children();\n\t\t\tthis.$el.unwrap();\n\t\t\tthis.setElement( this.$el );\n\t\t},\n\n\t\tevents: {\n\t\t\t'click .dashicons-dismiss': 'removeStagedField'\n\t\t},\n\n\t\tremoveStagedField: function( el ) {\n\t\t\tnfRadio.channel( 'drawer-addField' ).trigger( 'click:removeStagedField', el, this.model );\n\t\t}\n\t});\n\n\treturn view;\n} );\n\n","define( 'views/fields/drawer/stagingEmpty',[], function() {\n\tvar view = Marionette.ItemView.extend({\n\t\ttagName: 'div',\n\t\ttemplate: '#tmpl-nf-drawer-staged-fields-empty',\n\n\t\tonRender: function() {\n\t\t\tthis.$el = this.$el.children();\n\t\t\tthis.$el.unwrap();\n\t\t\tthis.setElement( this.$el );\n\t\t}\n\t});\n\n\treturn view;\n} );\n","define( 'views/fields/drawer/stagingCollection',['views/fields/drawer/stagedField', 'views/fields/drawer/stagingEmpty'], function( stagedFieldView, stagedFieldsEmptyView ) {\n\tvar view = Marionette.CollectionView.extend( {\n\t\ttagName: 'div',\n\t\tchildView: stagedFieldView,\n\t\temptyView: stagedFieldsEmptyView,\n\n\t\tactiveClass: 'nf-staged-fields-active', // CSS Class for showing the reservoir.\n\n\t\tinitialize: function() {\n\t\t\tnfRadio.channel( 'app' ).reply( 'get:stagedFieldsEl', this.getStagedFieldsEl, this );\n\t\t},\n\n\t\tonShow: function() {\n\n\t\t\tthis.$el = jQuery( this.el ).parent();\n\t\t\tjQuery( this.$el ).find( 'span:first' ).unwrap();\n\t\t\tthis.setElement( this.$el );\n\n\t\t\tvar that = this;\n\n\t\t\tjQuery( this.el ).sortable( {\n\t\t\t\tplaceholder: 'nf-staged-fields-sortable-placeholder',\n\t\t\t\thelper: 'clone',\n\t\t\t\ttolerance: 'pointer',\n\t\t\t\tover: function( e, ui ) {\n\t\t\t\t\tnfRadio.channel( 'drawer-addField' ).trigger( 'over:stagedFields', e, ui );\n\t\t\t\t},\n\n\t\t\t\tout: function( e, ui ) {\n\t\t\t\t\tnfRadio.channel( 'drawer-addField' ).trigger( 'out:stagedFields', ui );\n\t\t\t\t},\n\n\t\t\t\treceive: function( e, ui ) {\n\t\t\t\t\tnfRadio.channel( 'drawer-addField' ).trigger( 'receive:stagedFields', ui );\n\t\t\t\t},\n\n\t\t\t\tupdate: function( e, ui ) {\n\t\t\t\t\tnfRadio.channel( 'fields' ).request( 'sort:staging' );\n\t\t\t\t},\n\n\t\t\t\tstart: function( e, ui ) {\n\t\t\t\t\tnfRadio.channel( 'drawer-addField' ).trigger( 'start:stagedFields', ui );\n\n\t\t\t\t},\n\n\t\t\t\tstop: function( e, ui ) {\n\t\t\t\t\tnfRadio.channel( 'drawer-addField' ).trigger( 'stop:stagedFields', ui );\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\tjQuery( this.el ).parent().draggable( {\n\t\t\t\topacity: 0.9,\n\t\t\t\tconnectToSortable: '.nf-field-type-droppable',\n\t\t\t\tappendTo: '#nf-main',\n\t\t\t\trefreshPositions: true,\n\t\t\t\tgrid: [ 3, 3 ],\n\t\t\t\ttolerance: 'pointer',\n\n\t\t\t\thelper: function( e ) {\n\t\t\t\t\tvar width = jQuery( e.target ).parent().width();\n\t\t\t\t\tvar height = jQuery( e.target ).parent().height();\n\t\t\t\t\tvar element = jQuery( e.target ).parent().clone();\n\t\t\t\t\tvar left = width / 4;\n\t\t\t\t\tvar top = height / 2;\n\t\t\t\t\tjQuery( this ).draggable( 'option', 'cursorAt', { top: top, left: left } );\n\t\t\t\t\tjQuery( element ).zIndex( 1000 );\n\t\t\t\t\treturn element;\n\t\t\t\t},\n\n\t\t\t\tstart: function( e, ui ) {\n\t\t\t\t\tnfRadio.channel( 'drawer-addField' ).trigger( 'startDrag:fieldStaging', this, ui );\n\t\t\t\t},\n\t\t\t\tstop: function( e, ui ) {\n\t\t\t\t\tnfRadio.channel( 'drawer-addField' ).trigger( 'stopDrag:fieldStaging', this, ui );\n\t\t\t\t}\n\t\t\t} );\n\t\t},\n\n\t\tgetStagedFieldsEl: function() {\n\t\t\treturn jQuery( this.el );\n\t\t},\n\n\t\tonAddChild: function() {\n\t\t\tjQuery( this.el ).addClass( this.activeClass );\n\t\t},\n\n\t\tonRemoveChild: function() {\n\t\t\tif( this.hasStagedFields() ) return;\n\t\t\tjQuery( this.el ).removeClass( this.activeClass );\n\t\t},\n\n\t\thasStagedFields: function() {\n\t\t\treturn 0 != this.collection.length;\n\t\t}\n\n\t} );\n\n\treturn view;\n} );\n","/**\n * Model for our staged field.\n * \n * @package Ninja Forms builder\n * @subpackage Fields\n * @copyright (c) 2015 WP Ninjas\n * @since 3.0\n */\ndefine( 'models/fields/stagingModel',[], function() {\n\tvar model = Backbone.Model.extend( {\n\t} );\n\t\n\treturn model;\n} );\n","/**\n * Collection of staged fields.\n * \n * @package Ninja Forms builder\n * @subpackage Fields\n * @copyright (c) 2015 WP Ninjas\n * @since 3.0\n */\ndefine( 'models/fields/stagingCollection',['models/fields/stagingModel'], function( stagingModel ) {\n\tvar collection = Backbone.Collection.extend( {\n\t\tmodel: stagingModel,\n\t\tcomparator: 'order'\n\t} );\n\treturn collection;\n} );\n","define( 'views/fields/drawer/typeSection',[], function() {\n\tvar view = Marionette.ItemView.extend({\n\t\ttagName: 'div',\n\t\ttemplate: '#tmpl-nf-drawer-field-type-section',\n\n\t\tinitialize: function() {\n\t\t\t_.bindAll( this, 'render' );\n\t\t\tnfRadio.channel( 'fields' ).reply( 'get:typeSection', this.getTypeSection, this );\n\t\t},\n\n\t\tonRender: function() {\n\t\t\tthis.$el = this.$el.children();\n\t\t\tthis.$el.unwrap();\n\t\t\tthis.setElement( this.$el );\n\n\t\t\tthis.dragging = false;\n\t\t\tvar that = this;\n\t\t\t/*\n\t\t\t * If we're on a mobile device, we don't want to enable dragging for our field type buttons.\n\t\t\t */\n\t\t\tif ( ! nfRadio.channel( 'app' ).request( 'is:mobile' ) ) {\n\t\t\t\tjQuery( this.el ).find( 'div.nf-field-type-draggable' ).draggable( {\n\t\t\t\t\topacity: 0.9,\n\t\t\t\t\ttolerance: 'pointer',\n\t\t\t\t\tconnectToSortable: '.nf-field-type-droppable',\n\t\t\t\t\trefreshPositions: true,\n\t\t\t\t\tgrid: [ 5, 5 ],\n\t\t\t\t\tappendTo: '#nf-builder',\n\n\t\t\t\t\thelper: function( e ) {\n\t\t\t\t\t\tvar width = jQuery( e.target ).parent().width();\n\t\t\t\t\t\tvar height = jQuery( e.target ).parent().height();\n\t\t\t\t\t\tvar element = jQuery( e.target ).parent().clone();\n\t\t\t\t\t\tvar left = width / 4;\n\t\t\t\t\t\tvar top = height / 2;\n\t\t\t\t\t\tjQuery( this ).draggable( 'option', 'cursorAt', { top: top, left: left } );\n\t\t\t\t\t\tjQuery( element ).zIndex( 1000 );\n\t\t\t\t\t\treturn element;\n\t\t\t\t\t},\n\n\t\t\t\t\tstart: function( e, ui ) {\n\t\t\t\t\t\tthat.dragging = true;\n\t\t\t\t\t\tnfRadio.channel( 'drawer-addField' ).trigger( 'startDrag:type', this, ui );\n\t\t\t\t\t},\n\n\t\t\t\t\tstop: function( e, ui ) {\n\t\t\t\t\t\tthat.dragging = false;\n\t\t\t\t\t\tnfRadio.channel( 'drawer-addField' ).trigger( 'stopDrag:type', this, ui );\n\t\t\t\t\t},\n\n\t\t\t\t\tdrag: function(e, ui) {\n\t\t\t\t\t\tnfRadio.channel( 'drawer-addField' ).trigger( 'drag:type', this, ui, e );\t\n\t\t\t\t\t}\n\n\t\t\t\t} ).disableSelection();\n\n\t\t\t\tjQuery( this.el ).find( '.nf-item' ).focus( function() {\n\t\t\t \tjQuery( this ).addClass( 'active' );\n\t\t\t } ).blur( function() {\n\t\t\t \tjQuery( this ).removeClass( 'active' );\n\t\t\t } );\n\t\t\t}\n\t\t},\n\n\t\tevents: {\n\t\t\t'click .nf-item': 'clickFieldType',\n\t\t\t'keydown .nf-item': 'maybeClickFieldType',\n\t\t\t'mousedown .nf-item': 'mousedownFieldType'\n\t\t},\n\n\t\tclickFieldType: function( e ) {\n\t\t\tif ( ! this.dragging ) {\n\t\t\t\tnfRadio.channel( 'drawer' ).trigger( 'click:fieldType', e );\n\t\t\t}\n\t\t},\n\n\t\tmousedownFieldType: function( e ) {\n\t\t\tjQuery( e.target).addClass( 'clicked' );\n\t\t\tsetTimeout( function() {\n\t\t\t\tjQuery( e.target ).removeClass( 'clicked' );\n\t\t\t}, 1500 );\n\t\t},\n\n\t\tmaybeClickFieldType: function( e ) {\n\t\t\tif ( 13 == e.keyCode ) {\n\t\t\t\tthis.clickFieldType( e );\n\t\t\t\tnfRadio.channel( 'drawer' ).request( 'clear:filter' );\n\t\t\t}\n\t\t},\n\n\t\ttemplateHelpers: function() {\n\t\t\treturn {\n\t\t\t\trenderFieldTypes: function() {\n\t\t\t var html = document.createElement( 'span' );\n\t\t\t var that = this;\n\t\t\t _.each( this.fieldTypes, function( id ) {\n\t\t\t var type = nfRadio.channel( 'fields' ).request( 'get:type', id );\n\t\t\t var nicename = type.get( 'nicename' );\n\t\t\t var icon = type.get( 'icon' );\n\t\t\t var renderType = nfRadio.channel( 'app' ).request( 'get:template', '#tmpl-nf-drawer-field-type-button' );\n\t\t\t var templateHTML = renderType( { id: id, nicename: nicename, icon: icon, type: type, savedField: that.savedField } );\n var htmlFragments = document.createRange().createContextualFragment( templateHTML );\n html.appendChild( htmlFragments );\n\t\t\t } );\n\t\t\t return html.innerHTML;\n\t\t\t\t},\n\n\t\t\t\tsavedField: function() {\n\t\t\t\t\tif( this.type.get( 'savedField' ) ) {\n\t\t\t\t\t\treturn 'nf-saved';\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn '';\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\tgetTypeSection: function() {\n\t\t\treturn this.el;\n\t\t}\n\t});\n\n\treturn view;\n} );\n\n","define( 'views/fields/drawer/typeSectionCollection',['views/fields/drawer/typeSection'], function( fieldTypeSectionView ) {\n\tvar view = Marionette.CollectionView.extend( {\n\t\ttagName: 'div',\n\t\tchildView: fieldTypeSectionView,\n\n\t\tonShow: function() {\n\t\t\tjQuery( this.el ).find( '.nf-settings' ).unwrap();\n\t\t\tnfRadio.channel( 'fields' ).request( 'clear:editActive' );\n\t\t}\n\t} );\n\n\treturn view;\n} );\n","define( 'views/fields/drawer/addField',['views/fields/drawer/stagingCollection', 'models/fields/stagingCollection', 'views/fields/drawer/typeSectionCollection'], function( drawerStagingView, StagingCollection, fieldTypeSectionCollectionView ) {\n\n\tvar view = Marionette.LayoutView.extend( {\n\t\ttemplate: '#tmpl-nf-drawer-content-add-field',\n\n\t\tregions: {\n\t\t\tstaging: '#nf-drawer-staging .nf-reservoir',\n\t\t\tprimary: '#nf-drawer-primary',\n\t\t\tsecondary: '#nf-drawer-secondary'\n\t\t},\n\n\t\tinitialize: function() {\n\t\t\tthis.listenTo( nfRadio.channel( 'drawer' ), 'filter:fieldTypes', this.filterFieldTypes );\n\t\t\tthis.listenTo( nfRadio.channel( 'drawer' ), 'clear:filter', this.removeFieldTypeFilter );\n\n\t\t\tthis.savedCollection = nfRadio.channel( 'fields' ).request( 'get:savedFields' );\n\t\t\tthis.primaryCollection = this.savedCollection;\n\n\t\t\tthis.fieldTypeSectionCollection = nfRadio.channel( 'fields' ).request( 'get:typeSections' );\n\t\t\tthis.secondaryCollection = this.fieldTypeSectionCollection;\n\n\t\t},\n\n\t\tonShow: function() {\n\t\t\tvar stagingCollection = nfRadio.channel( 'fields' ).request( 'get:staging' );\n\t\t\tthis.staging.show( new drawerStagingView( { collection: stagingCollection } ) );\n\n\t\t\tthis.primary.show( new fieldTypeSectionCollectionView( { collection: this.primaryCollection } ) );\n\t\t\tthis.secondary.show( new fieldTypeSectionCollectionView( { collection: this.secondaryCollection } ) );\n\t\t},\n\n\t\tgetEl: function() {\n\t\t\treturn jQuery( this.el ).parent();\n\t\t},\n\n\t\tfilterFieldTypes: function( filteredSectionCollection ) {\n\t\t\tthis.primary.reset();\n\t\t\tthis.secondary.reset();\n\t\t\tthis.filteredSectionCollection = filteredSectionCollection;\n\t\t\tthis.primary.show( new fieldTypeSectionCollectionView( { collection: this.filteredSectionCollection } ) );\n\t\t},\n\n\t\tremoveFieldTypeFilter: function () {\n\t\t\tthis.primary.show( new fieldTypeSectionCollectionView( { collection: this.savedCollection } ) );\n\t\t\tthis.secondary.show( new fieldTypeSectionCollectionView( { collection: this.fieldTypeSectionCollection } ) );\n\t\t}\n\n\t} );\n\n\treturn view;\n} );\n","define( 'views/app/drawer/itemSettingCollection',[], function() {\n\tvar view = Marionette.CollectionView.extend( {\n\t\ttagName: 'div',\n\n\t\tinitialize: function( data ) {\n\t\t\tthis.childViewOptions = { dataModel: data.dataModel };\n\t\t},\n\n\t\tgetChildView: function( model ) {\n\t\t\treturn nfRadio.channel( 'app' ).request( 'get:settingChildView', model );\n\t\t}\n\t} );\n\n\treturn view;\n} );\n","define( 'views/app/drawer/itemSettingGroup',['views/app/drawer/itemSettingCollection'], function( itemSettingCollectionView ) {\n\tvar view = Marionette.LayoutView.extend({\n\t\ttagName: 'div',\n\t\ttemplate: '#tmpl-nf-drawer-content-edit-field-setting-group',\n\t\t\n\t\tregions: {\n\t\t\tsettings: '.nf-field-settings'\n\t\t},\n\n\t\tinitialize: function( data ) {\n\t\t\tthis.model.on( 'change', this.render, this );\n\t\t\tthis.dataModel = data.dataModel;\n\t\t},\n\n\t\tonBeforeDestroy: function() {\n\t\t\tthis.model.off( 'change', this.render );\n\t\t},\n\n\t\tonRender: function() {\n\t\t\tif ( this.model.get( 'display' ) ) {\n\t\t\t\tthis.settings.show( new itemSettingCollectionView( { collection: this.model.get( 'settings' ), dataModel: this.dataModel } ) );\n\t\t\t} else {\n\t\t\t\tthis.settings.empty();\n\t\t\t}\n\n\t\t\tnfRadio.channel( 'drawer' ).trigger( 'render:settingGroup', this );\n\t\t},\n\n\t\tevents: {\n\t\t\t'click .toggle': 'clickToggleGroup'\n\t\t},\n\n\t\tclickToggleGroup: function( e ) {\n\t\t\tnfRadio.channel( 'drawer' ).trigger( 'click:toggleSettingGroup', e, this.model );\n\t\t},\n\n\t\ttemplateHelpers: function() {\n\t\t\treturn {\n\t\t\t\trenderLabel: function() {\n\t\t\t\t\tif ( '' != this.label ) {\n\t\t\t\t\t\tvar groupLabel = nfRadio.channel( 'app' ).request( 'get:template', '#tmpl-nf-drawer-content-edit-setting-group-label' );\n\t\t\t\t\t\treturn groupLabel( this );\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn '';\n\t\t\t\t\t}\n\t\t\t\t},\n\n\t\t\t\trenderArrowDir: function() {\n\t\t\t\t\tif ( this.display ) {\n\t\t\t\t\t\treturn 'down';\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn 'right';\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t});\n\n\treturn view;\n} );\n","define( 'views/app/drawer/itemSettingGroupCollection',['views/app/drawer/itemSettingGroup'], function( itemSettingGroupView ) {\n\tvar view = Marionette.CollectionView.extend( {\n\t\ttagName: 'div',\n\t\tchildView: itemSettingGroupView,\n\n\t\tinitialize: function( data ) {\n\t\t\tthis.childViewOptions = { dataModel: data.dataModel };\n\t\t}\n\t} );\n\n\treturn view;\n} );\n","define( 'views/app/drawer/editSettings',['views/app/drawer/itemSettingGroupCollection'], function( itemSettingGroupCollectionView ) {\n\tvar view = Marionette.LayoutView.extend({\n\t\ttagName: 'div',\n\t\ttemplate: '#tmpl-nf-drawer-content-edit-settings',\n\n\t\tregions: {\n\t\t\tsettingTitle: '.nf-setting-title',\n\t\t\tsettingGroups: '.nf-setting-groups'\n\t\t},\n\n\t\tinitialize: function( data ) {\n\t\t\tthis.dataModel = data.model;\n\t\t\tthis.groupCollection = data.groupCollection;\n\t\t},\n\n\t\tonRender: function() {\n\t\t\tvar currentDomain = nfRadio.channel( 'app' ).request( 'get:currentDomain' );\n\t\t\tvar titleView = currentDomain.get( 'getSettingsTitleView' ).call( currentDomain, { model: this.model } );\n\n\t\t\tthis.settingTitle.show( titleView );\n\t\t\tthis.settingGroups.show( new itemSettingGroupCollectionView( { collection: this.groupCollection, dataModel: this.dataModel } ) );\n\t\t},\n\n\t\ttemplateHelpers: function () {\n\t \treturn {\n\t \t\tmaybeRenderTitle: function() {\n\t \t\t\tif ( 'undefined' !== typeof this.type ) {\n\t \t\t\t\tvar title = nfRadio.channel( 'app' ).request( 'get:template', '#tmpl-nf-drawer-content-edit-settings-title' );\n\t \t\t\t\treturn title( this );\n\t \t\t\t} else {\n\t \t\t\t\treturn '';\n\t \t\t\t}\n\t \t\t},\n\n\t \t\trenderTypeNicename: function() {\n\t \t\t\tvar currentDomain = nfRadio.channel( 'app' ).request( 'get:currentDomain' );\n\t\t\t\t\tvar domainID = currentDomain.get( 'id' );\n\t \t\t\tvar type = nfRadio.channel( domainID ).request( 'get:type', this.type );\n\t \t\t\treturn type.get( 'nicename' );\n\t\t\t\t},\n\t\t\t};\n\t\t},\n\t});\n\n\treturn view;\n} );\n","/**\n * Edit Settings drawer header.\n *\n * Includes our 'Done' button.\n *\n * @package Ninja Forms builder\n * @subpackage App\n * @copyright (c) 2015 WP Ninjas\n * @since 3.0\n */\ndefine( 'views/app/drawer/headerEditSettings',[], function() {\n\tvar view = Marionette.ItemView.extend({\n\t\ttagName: 'div',\n\t\ttemplate: '#tmpl-nf-drawer-header-edit-settings',\n\n\t\tinitialize: function() {\n\t\t\tif ( this.model ) {\n\t\t\t\t// Listen for our drawer being disabled.\n\t\t\t\tthis.model.on( 'change:drawerDisabled', this.render, this );\t\t\t\t\n\t\t\t}\n\t\t},\n\n\t\tonBeforeDestroy: function() {\n\t\t\tif ( this.model ) {\n\t\t\t\tthis.model.off( 'change:drawerDisabled', this.render );\n\t\t\t}\n\t\t},\n\n\t\ttemplateHelpers: function() {\n\t\t\treturn {\n\t\t\t\trenderDisabled: function() {\n\t\t\t\t\t// Get our current domain.\n\t\t\t\t\tif ( this.drawerDisabled ) {\n\t\t\t\t\t\treturn 'disabled';\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn '';\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t});\n\n\treturn view;\n} );\n","/**\n * Button to add an action to the form.\n *\n * TODO: make dynamic\n * \n * @package Ninja Forms builder\n * @subpackage Actions\n * @copyright (c) 2015 WP Ninjas\n * @since 3.0\n */\ndefine( 'views/actions/drawer/typeButton',[], function() {\n\tvar view = Marionette.ItemView.extend({\n\t\ttagName: 'div',\n\t\ttemplate: '#tmpl-nf-drawer-action-type-button',\n\n\t\tonRender: function() {\n\t\t\tthis.$el = this.$el.children();\n\t\t\tthis.$el.unwrap();\n\t\t\tthis.setElement( this.$el );\n\t\t\t\n\t\t\tjQuery( this.el ).disableSelection();\n\t\t\t\n\t\t\tif ( 'installed' == this.model.get( 'section') ) {\n\t\t\t\tvar that = this;\n\t\t\t\tjQuery( this.el ).draggable( {\n\t\t\t\t\topacity: 0.9,\n\t\t\t\t\ttolerance: 'intersect',\n\t\t\t\t\tscroll: false,\n\t\t\t\t\thelper: 'clone',\n\n\t\t\t\t\tstart: function( e, ui ) {\n\t\t\t\t\t\tthat.dragging = true;\n\t\t\t\t\t\tnfRadio.channel( 'drawer-addAction' ).trigger( 'startDrag:type', this, ui );\n\t\t\t\t\t},\n\n\t\t\t\t\tstop: function( e, ui ) {\n\t\t\t\t\t\tthat.dragging = false;\n\t\t\t\t\t\tnfRadio.channel( 'drawer-addAction' ).trigger( 'stopDrag:type', this, ui );\n\t\t\t\t\t}\n\n\t\t\t\t} );\n\t\t\t}\n\t\t\t\n\t\t},\n\n\t\tevents: {\n\t\t\t'click .nf-item': 'clickAddAction'\n\t\t},\n\n\t\tclickAddAction: function( e ) {\n\t\t\tif ( ! this.dragging ) {\n\t\t\t\tif ( 'installed' == this.model.get( 'section' ) ) { // Is this an installed action?\n\t\t\t\t\tnfRadio.channel( 'actions' ).trigger( 'click:addAction', this.model );\n\t\t\t\t} else { // This isn't an installed action\n\t\t\t\t\twindow.open( this.model.get( 'link' ), '_blank' );\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\ttemplateHelpers: function() {\n\t\t\treturn {\n\t\t\t\trenderClasses: function() {\n\t\t\t\t\tvar classes = 'nf-item';\n\t\t\t\t\tif ( '' != jQuery.trim( this.image ) ) {\n\t\t\t\t\t\tclasses += ' nf-has-img';\n\t\t\t\t\t}\n\n\t\t\t\t\tif ( 'installed' == this.section ) {\n\t\t\t\t\t\tclasses += ' nf-action-type';\n\t\t\t\t\t}\n\t\t\t\t\treturn classes;\n\t\t\t\t},\n\n\t\t\t\trenderStyle: function() {\n\t\t\t\t\tif ( '' != jQuery.trim( this.image ) ) {\n\n\t\t\t\t\t\t// This is being used in a template, so carefully consider the order of double/single quotes.\n\t\t\t\t\t\treturn \"background-image: url('\" + jQuery.trim( this.image ) + \"')\";\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn '';\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t});\n\n\treturn view;\n} );\n\n","define( 'views/actions/drawer/typeCollection',['views/actions/drawer/typeButton'], function( actionTypeButtonView ) {\n\tvar view = Marionette.CompositeView.extend( {\n\t\ttemplate: '#tmpl-nf-drawer-action-type-section',\n\t\tchildView: actionTypeButtonView,\n\n\t\ttemplateHelpers: function() {\n\t\t\tvar that = this;\n\t\t\treturn {\n\t\t\t\trenderNicename: function() {\n\t\t\t\t\treturn that.collection.nicename;\n\t\t\t\t},\n\n\t\t\t\trenderClasses: function() {\n\t\t\t\t\treturn that.collection.slug;\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\tattachHtml: function( collectionView, childView ) {\n\t\t\tjQuery( collectionView.el ).find( '.action-types' ).append( childView.el );\n\t\t}\n\t} );\n\n\treturn view;\n} );\n","/**\n * Add action drawer.\n *\n * TODO: make dynamic\n * \n * @package Ninja Forms builder\n * @subpackage Actions\n * @copyright (c) 2015 WP Ninjas\n * @since 3.0\n */\ndefine( 'views/actions/drawer/addAction',['views/actions/drawer/typeCollection'], function( actionTypeCollectionView ) {\n\n\tvar view = Marionette.LayoutView.extend( {\n\t\ttemplate: '#tmpl-nf-drawer-content-add-action',\n\n\t\tregions: {\n\t\t\tprimary: '#nf-drawer-primary',\n\t\t\tsecondary: '#nf-drawer-secondary'\n\t\t},\n\n\t\tinitialize: function() {\n\t\t\tthis.listenTo( nfRadio.channel( 'drawer' ), 'filter:actionTypes', this.filteractionTypes );\n\t\t\tthis.listenTo( nfRadio.channel( 'drawer' ), 'clear:filter', this.removeactionTypeFilter );\n\t\t\n\t\t\tthis.installedActions = nfRadio.channel( 'actions' ).request( 'get:installedActions' );\n\t\t\tthis.primaryCollection = this.installedActions;\n\n\t\t\tthis.availableActions = nfRadio.channel( 'actions' ).request( 'get:availableActions' );\n\t\t\tthis.secondaryCollection = this.availableActions;\n\t\t},\n\n\t\tonShow: function() {\n\t\t\tthis.primary.show( new actionTypeCollectionView( { collection: this.primaryCollection } ) );\n\t\t\tthis.secondary.show( new actionTypeCollectionView( { collection: this.secondaryCollection } ) );\n\t\t},\n\n\t\tgetEl: function() {\n\t\t\treturn jQuery( this.el ).parent();\n\t\t},\n\n\t\tfilteractionTypes: function( filteredInstalled, filteredAvailable ) {\n\t\t\tthis.primary.reset();\n\t\t\tthis.secondary.reset();\n\t\t\tthis.primary.show( new actionTypeCollectionView( { collection: filteredInstalled } ) );\n\t\t\tthis.secondary.show( new actionTypeCollectionView( { collection: filteredAvailable } ) );\n\t\t\t\n\t\t},\n\n\t\tremoveactionTypeFilter: function () {\n\t\t\tthis.primary.show( new actionTypeCollectionView( { collection: this.installedActions } ) );\n\t\t\tthis.secondary.show( new actionTypeCollectionView( { collection: this.availableActions } ) );\n\t\t}\n\n\t} );\n\n\treturn view;\n} );\n","/**\n * Individual change item.\n *\n * @package Ninja Forms builder\n * @subpackage App\n * @copyright (c) 2015 WP Ninjas\n * @since 3.0\n */\ndefine( 'views/app/drawer/contentViewChangesItem',[], function() {\n\tvar view = Marionette.ItemView.extend({\n\t\ttagName: 'div',\n\t\ttemplate: '#tmpl-nf-drawer-content-view-changes-item',\n\n\t\tinitialize: function() {\n\t\t\tthis.model.on( 'change:disabled', this.render, this );\n\t\t},\n\n\t\tonBeforeDestroy: function() {\n\t\t\tthis.model.off( 'change:disabled', this.render );\n\t\t},\n\n\t\t/**\n\t\t * When we render this element, remove the extra wrapping <div> that backbone creates.\n\t\t * \n\t\t * @since 3.0\n\t\t * @return void\n\t\t */\n\t\tonRender: function() {\n\t\t\tthis.$el = this.$el.children();\n\t\t\tthis.$el.unwrap();\n\t\t\tthis.setElement( this.$el );\n\t\t},\n\n\t\tevents: {\n\t\t\t'click .undoSingle': 'undoSingle'\n\t\t},\n\n\t\tundoSingle: function( e ) {\n\t\t\tnfRadio.channel( 'drawer' ).trigger( 'click:undoSingle', this.model );\n\t\t}\n\t});\n\n\treturn view;\n} );\n","/**\n * Changes collection view.\n *\n * @package Ninja Forms builder\n * @subpackage App\n * @copyright (c) 2015 WP Ninjas\n * @since 3.0\n */\ndefine( 'views/app/drawer/contentViewChanges',['views/app/drawer/contentViewChangesItem'], function( viewChangesItem ) {\n\tvar view = Marionette.CollectionView.extend( {\n\t\ttagName: 'table',\n className: 'nf-changes',\n\t\tchildView: viewChangesItem\n\t} );\n\n\treturn view;\n} );\n\n","/**\n * Handles clicks on the 'view changes' button in the header.\n * \n * @package Ninja Forms builder\n * @subpackage App\n * @copyright (c) 2015 WP Ninjas\n * @since 3.0\n */\ndefine( 'views/app/drawer/headerViewChanges',[], function() {\n\tvar view = Marionette.ItemView.extend({\n\t\ttagName: 'div',\n\t\ttemplate: '#tmpl-nf-drawer-header-view-changes',\n\n\t\tevents: {\n\t\t\t'click .undoChanges': 'clickUndoChanges'\n\t\t},\n\n\t\tclickUndoChanges: function( e ) {\n\t\t\tnfRadio.channel( 'drawer' ).trigger( 'click:undoChanges' );\n\t\t}\n\t});\n\n\treturn view;\n} );\n","/**\n * Error view used for settings.\n *\n * @package Ninja Forms builder\n * @subpackage App\n * @copyright (c) 2015 WP Ninjas\n * @since 3.0\n */\ndefine( 'views/app/drawer/settingError',[], function() {\n\tvar view = Marionette.ItemView.extend({\n\t\ttagName: 'div',\n\t\ttemplate: '#tmpl-nf-edit-setting-error'\n\t});\n\n\treturn view;\n} );\n","define( 'views/app/drawer/itemSetting',['views/app/drawer/mergeTagsContent', 'views/app/drawer/settingError'], function( mergeTagsContentView, settingErrorView ) {\n\tvar view = Marionette.LayoutView.extend({\n\t\ttagName: 'div',\n\t\ttemplate: '#tmpl-nf-edit-setting-wrap',\n\n\t\tregions: {\n\t\t\terror: '.nf-setting-error'\n\t\t},\n\n\t\tinitialize: function( data ) {\n\t\t\tthis.dataModel = data.dataModel;\n\t\t\t/*\n\t\t\t * Send out a request on the setting-type-{type} channel asking if we should render on dataModel change.\n\t\t\t * Defaults to false.\n\t\t\t * This lets specific settings, like RTEs, say that they don't want to be re-rendered when their data model changes.\n\t\t\t */\n\t\t\tvar renderOnChange = ( 'undefined' == typeof nfRadio.channel( 'setting-type-' + this.model.get( 'type' ) ).request( 'renderOnChange' ) ) ? false : nfRadio.channel( 'setting-type-' + this.model.get( 'type' ) ).request( 'renderOnChange' );\n\t\t\t\n\t\t\tif ( renderOnChange ) {\n\t\t\t\tthis.dataModel.on( 'change:' + this.model.get( 'name' ), this.render, this );\n\t\t\t}\n\n\t\t\tthis.model.on( 'change:error', this.renderError, this );\n\t\t\tthis.model.on( 'change:warning', this.renderWarning, this );\n\n\t\t\tvar deps = this.model.get( 'deps' );\n\t\t\tif ( deps ) {\n\t\t\t\tfor ( var name in deps ) {\n\t\t\t\t if ( deps.hasOwnProperty( name ) ) {\n\t\t\t\t \tthis.dataModel.on( 'change:' + name, this.render, this );\n\t\t\t\t }\n\t\t\t\t}\n\t\t\t}\n\n /**\n\t\t\t * For settings that require a remote refresh\n\t\t\t * add an \"update\"/refresh icon to the label.\n */\n var remote = this.model.get( 'remote' );\n\t\t\tif( remote ) {\n if( 'undefined' != typeof remote.refresh || remote.refresh ) {\n\t\t\t\t\tvar labelText, updateIcon, updateLink, labelWrapper;\n\n labelText = document.createTextNode( this.model.get('label') );\n\n updateIcon = document.createElement( 'span' );\n updateIcon.classList.add( 'dashicons', 'dashicons-update' );\n\n updateLink = document.createElement( 'a' );\n updateLink.classList.add( 'extra' );\n updateLink.appendChild( updateIcon );\n\n // Wrap the label text and icon/link in a parent element.\n labelWrapper = document.createElement( 'span' );\n labelWrapper.appendChild( labelText );\n labelWrapper.appendChild( updateLink );\n\n // The model expects a string value.\n this.model.set('label', labelWrapper.innerHTML );\n }\n\n\t\t\t\tnfRadio.channel( 'setting' ).trigger( 'remote', this.model, this.dataModel, this );\n\t\t\t\tthis.model.on( 'rerender', this.render, this );\n\t\t\t}\n\n\t\t\t/*\n\t\t\t * When our drawer opens, send out a radio message on our setting type channel.\n\t\t\t */\n\t\t\tthis.listenTo( nfRadio.channel( 'drawer' ), 'opened', this.drawerOpened );\n\n\t\t\t/*\n\t\t\t * When our drawer closes, send out a radio message on our setting type channel.\n\t\t\t */\n\t\t\tthis.listenTo( nfRadio.channel( 'drawer' ), 'closed', this.drawerClosed );\n\t\t},\n\n\t\tonBeforeDestroy: function() {\n\t\t\tthis.dataModel.off( 'change:' + this.model.get( 'name' ), this.render );\n\t\t\tthis.model.off( 'change:error', this.renderError );\n\n\t\t\tvar deps = this.model.get( 'deps' );\n\t\t\tif ( deps ) {\n\t\t\t\tfor (var name in deps) {\n\t\t\t\t if ( deps.hasOwnProperty( name ) ) {\n\t\t\t\t \tthis.dataModel.off( 'change:' + name, this.render );\n\t\t\t\t }\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif( this.model.get( 'remote' ) ) {\n\t\t\t\tthis.model.off( 'rerender', this.render, this );\n\t\t\t}\n\n\t\t\t/*\n\t\t\t * Send out a radio message.\n\t\t\t */\n\t\t\tnfRadio.channel( 'setting-' + this.model.get( 'name' ) ).trigger( 'destroy:setting', this.model, this.dataModel, this );\n\t\t\tnfRadio.channel( 'setting-type-' + this.model.get( 'type' ) ).trigger( 'destroy:setting', this.model, this.dataModel, this );\n\t\t\n\t\t\t/*\n\t\t\t * Unescape any HTML being saved if we are a textbox.\n\t\t\t */\n\t\t\tif ( 'textbox' == this.model.get( 'type' ) ) {\n\t\t\t\tvar setting = this.model.get( 'name' );\n\t\t\t\tvar value = this.dataModel.get( setting );\n\t\t\t\tthis.dataModel.set( setting, _.unescape( value ), { silent: true } );\n\t\t\t}\n\n\t\t},\n\n\t\tonBeforeRender: function() {\n\t\t\t/*\n\t\t\t * We want to escape any HTML being output if we are a textbox.\n\t\t\t */\n\t\t\tif ( 'textbox' == this.model.get( 'type' ) ) {\n\t\t\t\tvar setting = this.model.get( 'name' );\n\t\t\t\tvar value = this.dataModel.get( setting );\n\t\t\t\tthis.dataModel.set( setting, _.escape( value ), { silent: true } );\n\t\t\t}\n\t\t\t\n\t\t\tnfRadio.channel( 'app' ).trigger( 'before:renderSetting', this.model, this.dataModel );\n\t\t\tnfRadio.channel( 'setting-type-' + this.model.get( 'type' ) ).trigger( 'before:renderSetting', this.model, this.dataModel, this );\n\t\t\tnfRadio.channel( 'setting-' + this.model.get( 'name' ) ).trigger( 'before:renderSetting', this.model, this.dataModel, this );\n\t\t},\n\n\t\tonRender: function() {\n\t\t\tthis.mergeTagsContentView = false;\n\t\t\tvar that = this;\n\n\t\t\t/*\n\t\t\t * Send out a radio message.\n\t\t\t */\n\t\t\tnfRadio.channel( 'setting-' + this.model.get( 'name' ) ).trigger( 'render:setting', this.model, this.dataModel, this );\n\t\t\tnfRadio.channel( 'setting-type-' + this.model.get( 'type' ) ).trigger( 'render:setting', this.model, this.dataModel, this );\n\n\t\t\tjQuery( this.el ).find( '.nf-help' ).each(function() {\n\t\t\t\tvar content = jQuery(this).next('.nf-help-text');\n\t\t\t\tjQuery( this ).jBox( 'Tooltip', {\n\t\t\t\t\tcontent: content,\n\t\t\t\t\tmaxWidth: 200,\n\t\t\t\t\ttheme: 'TooltipBorder',\n\t\t\t\t\ttrigger: 'click',\n\t\t\t\t\tcloseOnClick: true\n\t\t\t\t})\n\t\t });\n\t\t\t\n\t\t if ( this.model.get( 'use_merge_tags' ) ) {\n\t\t \tnfRadio.channel( 'mergeTags' ).request( 'init', this );\n\t\t }\n\n\t\t\t/*\n\t\t\t * Apply Setting Field Masks\n\t\t\t */\n\t\t\tvar mask = this.model.get( 'mask' );\n\n\t\t\tif( typeof mask != \"undefined\" ){\n\n\t\t\t\tvar input = jQuery( this.$el ).find( 'input' );\n\n\t\t\t\tswitch( mask.type ){\n\t\t\t\t\tcase 'numeric':\n\t\t\t\t\t\tinput.autoNumeric({\n\t\t\t\t\t\t\taSep: thousandsSeparator,\n\t\t\t\t\t\t\taDec: decimalPoint\n\t\t\t\t\t\t});\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'currency':\n\n\t\t\t\t\t\tvar currency = nfRadio.channel( 'settings' ).request( 'get:setting', 'currency' );\n\t\t\t\t\t\tvar currencySymbol = nfAdmin.currencySymbols[ currency ] || '';\n\n\t\t\t\t\t\tinput.autoNumeric({\n\t\t\t\t\t\t\taSign: jQuery('<div />').html(currencySymbol).text(),\n\t\t\t\t\t\t\taSep: thousandsSeparator,\n\t\t\t\t\t\t\taDec: decimalPoint\n\t\t\t\t\t\t});\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'custom':\n\t\t\t\t\t\tif( mask.format ) input.mask( mask.format )\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tdefault:\n\t\t\t\t\t\t// TODO: Error Logging.\n\t\t\t\t\t\tconsole.log( 'Notice: Mask type of \"' + mask.type + '\" is not supported.' );\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t\tthis.renderError();\n\t\t},\n\n\t\tonShow: function() {\t\t\t\n\t\t\t/*\n\t\t\t * Send out a radio message.\n\t\t\t */\n\t\t\tnfRadio.channel( 'setting-' + this.model.get( 'name' ) ).trigger( 'show:setting', this.model, this.dataModel, this );\n\t\t\tnfRadio.channel( 'setting-type-' + this.model.get( 'type' ) ).trigger( 'show:setting', this.model, this.dataModel, this );\n\t\t},\n\n\t\tonAttach: function() {\t\t\t\n\t\t\t/*\n\t\t\t * Send out a radio message.\n\t\t\t */\n\t\t\tnfRadio.channel( 'setting-' + this.model.get( 'name' ) ).trigger( 'attach:setting', this.model, this.dataModel, this );\n\t\t\tnfRadio.channel( 'setting-type-' + this.model.get( 'type' ) ).trigger( 'attach:setting', this.model, this.dataModel, this );\n\t\t},\n\n\t\trenderError: function() {\n\t\t\tif ( this.model.get( 'error' ) ) {\n\t\t\t\tjQuery( this.el ).find( '.nf-setting' ).addClass( 'nf-error' );\n\t\t\t\tthis.error.show( new settingErrorView( { model: this.model } ) );\n\t\t\t} else {\n\t\t\t\tjQuery( this.el ).find( '.nf-setting' ).removeClass( 'nf-error' );\n\t\t\t\tthis.error.empty();\n\t\t\t}\n\t\t},\n\n renderWarning: function() {\n if ( this.model.get( 'warning' ) ) {\n jQuery( this.el ).find( '.nf-setting' ).addClass( 'nf-warning' );\n this.error.show( new settingErrorView( { model: this.model } ) );\n } else {\n jQuery( this.el ).find( '.nf-setting' ).removeClass( 'nf-warning' );\n this.error.empty();\n }\n },\n\n\t\ttemplateHelpers: function () {\n\t\t\tvar that = this;\n\t \treturn {\n\n\t \t\trenderVisible: function() {\n\t\t\t\t\tif ( this.deps ) {\n\t\t\t\t\t\tfor (var name in this.deps) {\n\t\t\t\t\t\t if ( this.deps.hasOwnProperty( name ) ) {\n\t\t\t\t\t\t if ( that.dataModel.get( name ) != this.deps[ name ] ) {\n\t\t\t\t\t\t \treturn 'style=\"display:none;\"';\n\t\t\t\t\t\t }\n\t\t\t\t\t\t }\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t \t\t\treturn '';\n\t \t\t},\n\n\t \t\trenderSetting: function(){\n\t \t\t\tif ( 'undefined' != typeof that.dataModel.get( this.name ) ) {\n\t \t\t\t\tthis.value = that.dataModel.get( this.name );\n\t \t\t\t} else if ( 'undefined' == typeof this.value ) {\n\t \t\t\t\tthis.value = '';\n\t \t\t\t}\n\t \t\t\tvar setting = nfRadio.channel( 'app' ).request( 'get:template', '#tmpl-nf-edit-setting-' + this.type );\n\t\t\t\t\treturn setting( this );\n\t\t\t\t},\n\n\t\t\t\trenderLabelClasses: function() {\n\t\t\t\t\tvar classes = '';\n\t\t\t\t\tif ( this.use_merge_tags ) {\n\t\t\t\t\t\tclasses += ' has-merge-tags';\n\t\t\t\t\t}\n\t\t\t\t\tif ( 'rte' == this.type ) {\n\t\t\t\t\t\tclasses += ' rte';\n\t\t\t\t\t}\n\n\t\t\t\t\treturn classes;\n\t\t\t\t},\n\n\t\t\t\trenderClasses: function() {\n\t\t\t\t\tvar classes = 'nf-setting ';\n\t\t\t\t\tif ( 'undefined' != typeof this.width ) {\n\t\t\t\t\t\tclasses += 'nf-' + this.width;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tclasses += ' nf-one-half';\n\t\t\t\t\t}\n\n\t\t\t\t\tif ( this.error ) {\n\t\t\t\t\t\tclasses += ' nf-error';\n\t\t\t\t\t}\n\n\t\t\t\t\treturn classes;\n\t\t\t\t},\n\n\t\t\t\trenderTooltip: function() {\n\t\t\t\t\tif ( ! this.help ) return '';\n\t\t\t\t\tvar helpText, helpTextContainer, helpIcon, helpIconLink, helpTextWrapper;\n\n\t\t\t\t\thelpText = document.createTextNode( this.help );\n\t\t\t\t\thelpTextContainer = document.createElement( 'div' );\n\t\t\t\t\thelpTextContainer.classList.add( 'nf-help-text' );\n\t\t\t\t\thelpTextContainer.appendChild( helpText );\n\n\t\t\t\t\thelpIcon = document.createElement( 'span' );\n\t\t\t\t\thelpIcon.classList.add( 'dashicons', 'dashicons-admin-comments' );\n helpIconLink = document.createElement( 'a' );\n helpIconLink.classList.add( 'nf-help' );\n helpIconLink.setAttribute( 'href', '#' );\n helpIconLink.setAttribute( 'tabindex', '-1' );\n helpIconLink.appendChild( helpIcon );\n\n helpTextWrapper = document.createElement( 'span' );\n helpTextWrapper.appendChild( helpIconLink );\n helpTextWrapper.appendChild( helpTextContainer );\n\n // The template expects a string value.\n\t\t\t\t\treturn helpTextWrapper.innerHTML;\n\t\t\t\t},\n\n\t\t\t\trenderMergeTags: function() {\n\t\t\t\t\tif ( this.use_merge_tags && ! this.hide_merge_tags ) {\n\t\t\t\t\t\treturn '<span class=\"dashicons dashicons-list-view merge-tags\"></span>';\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn '';\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\tevents: {\n\t\t\t'change .setting': 'changeSetting',\n\t\t\t'keyup .setting': 'keyUpSetting',\n\t\t\t'click .setting': 'clickSetting',\n\t\t\t'click .extra': 'clickExtra'\n\t\t},\n\n\t\tchangeSetting: function( e ) {\n\t\t\tnfRadio.channel( 'app' ).trigger( 'change:setting', e, this.model, this.dataModel );\n\t\t},\n\n\t\tkeyUpSetting: function( e ) {\n\t\t\tnfRadio.channel( 'app' ).trigger( 'keyup:setting', e, this.model, this.dataModel );\n\t\t\tnfRadio.channel( 'setting-' + this.model.get( 'name' ) ).trigger( 'keyup:setting', e, this.model, this.dataModel );\n\t\t},\n\n\t\tclickSetting: function( e ) {\n\t\t\tnfRadio.channel( 'app' ).trigger( 'click:setting', e, this.model, this.dataModel );\n\t\t\tnfRadio.channel( 'setting-type-' + this.model.get( 'type' ) ).trigger( 'click:setting', e, this.model, this.dataModel, this );\n\t\t},\n\n\t\tclickExtra: function( e ) {\n\t\t\tnfRadio.channel( 'setting-type-' + this.model.get( 'type' ) ).trigger( 'click:extra', e, this.model, this.dataModel, this );\n\t\t\tnfRadio.channel( 'setting-type-' + this.model.get( 'name' ) ).trigger( 'click:extra', e, this.model, this.dataModel, this );\n\t\t\tnfRadio.channel( 'setting-name-' + this.model.get( 'name' ) ).trigger( 'click:extra', e, this.model, this.dataModel, this );\n\t\t},\n\n\t\tdrawerOpened: function() {\n\t\t\tnfRadio.channel( 'setting-type-' + this.model.get( 'type' ) ).trigger( 'drawer:opened', this.model, this.dataModel, this );\n\t\t},\n\n\t\tdrawerClosed: function() {\n\t\t\tnfRadio.channel( 'setting-type-' + this.model.get( 'type' ) ).trigger( 'drawer:closed', this.model, this.dataModel, this );\n\t\t}\n\t});\n\n\treturn view;\n} );\n\n","/**\n * Changes collection view.\n *\n * @package Ninja Forms builder\n * @subpackage App\n * @copyright (c) 2015 WP Ninjas\n * @since 3.0\n */\ndefine( 'views/app/drawer/contentNewForm',['views/app/drawer/itemSetting'], function( itemSettingView) {\n\tvar view = Marionette.LayoutView.extend( {\n\t\ttagName: 'div',\n\t\ttemplate: '#tmpl-nf-drawer-content-new-form',\n\n\t\tregions: {\n\t\t\tformName: '.new-form-name',\n\t\t\tformSubmit: '.new-form-submit'\n\t\t},\n\n\t\tonRender: function() {\n\t\t\tvar titleSettingModel = nfRadio.channel( 'settings' ).request( 'get:settingModel', 'title' );\n\t\t\tvar addSubmitSettingModel = nfRadio.channel( 'settings' ).request( 'get:settingModel', 'add_submit' );\n\t\t\tvar dataModel = nfRadio.channel( 'settings' ).request( 'get:settings' );\n\t\t\tthis.formName.show( new itemSettingView( { model: titleSettingModel, dataModel: dataModel } ) );\n\t\t\t/*\n\t\t\t * If we don't have any submit buttons on the form, prompt the user to add one on publish.\n\t\t\t */\n\t\t\tvar fieldCollection = nfRadio.channel( 'fields' ).request( 'get:collection' );\n\t\t\tvar submitButtons = fieldCollection.findWhere( { type: 'submit' } );\n\t\t\tif ( 'undefined' == typeof submitButtons ) {\n\t\t\t\tthis.formSubmit.show( new itemSettingView( { model: addSubmitSettingModel, dataModel: dataModel } ) );\n\t\t\t} else {\n\t\t\t\tdataModel.set( 'add_submit', 0 );\n\t\t\t}\n\t\t},\n\n\t\tevents: {\n\t\t\t'click .publish': 'clickPublish'\n\t\t},\n\n\t\tclickPublish: function( e ) {\n\t\t\tnfRadio.channel( 'app' ).trigger( 'click:confirmPublish', e );\n\t\t}\n\t} );\n\n\treturn view;\n} );\n\n","/**\n * Handles clicks on the 'view changes' button in the header.\n * \n * @package Ninja Forms builder\n * @subpackage App\n * @copyright (c) 2015 WP Ninjas\n * @since 3.0\n */\ndefine( 'views/app/drawer/headerNewForm',[], function() {\n\tvar view = Marionette.ItemView.extend({\n\t\ttagName: 'div',\n\t\ttemplate: '#tmpl-nf-drawer-header-new-form'\n\t});\n\n\treturn view;\n} );\n","/**\n * Config file for our app drawers.\n *\n * this.collection represents all of our registered drawers.\n * \n * @package Ninja Forms builder\n * @subpackage Main App\n * @copyright (c) 2015 WP Ninjas\n * @since 3.0\n */\ndefine( 'controllers/app/drawerConfig',[\n\t'models/app/drawerCollection',\n\t'views/fields/drawer/addField',\n\t'views/app/drawer/editSettings',\n\t'views/app/drawer/headerEditSettings',\n\t'views/actions/drawer/addAction',\n\t'views/app/drawer/contentViewChanges',\n\t'views/app/drawer/headerViewChanges',\n\t'views/app/drawer/contentNewForm',\n\t'views/app/drawer/headerNewForm'\n\t], function(\n\t\tdrawerCollection,\n\t\taddFieldView,\n\t\teditSettingsView,\n\t\teditSettingsHeaderView,\n\t\taddActionView,\n\t\tviewChangesView,\n\t\tviewChangesHeaderView,\n\t\tnewFormView,\n\t\tnewFormHeaderView,\n\t\tmobileItemControlsView\n\t) {\n\tvar controller = Marionette.Object.extend( {\n\t\tinitialize: function() {\n\n\t\t\tthis.collection = new drawerCollection( [\n\t\t\t\t{\n\t\t\t\t\tid: 'addField',\n\n\t\t\t\t\tgetContentView: function( data ) {\n\t\t\t\t\t\treturn new addFieldView( data );\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: 'addAction',\n\n\t\t\t\t\tgetContentView: function( data ) {\n\t\t\t\t\t\treturn new addActionView( data );\n\t\t\t\t\t}\n\t\t\t\t},\t\t\t\t\n\t\t\t\t{\n\t\t\t\t\tid: 'editSettings',\n\n\t\t\t\t\t/*\n\t\t\t\t\t * TODO: Add filtering when editing settings. For now, removing them from settings.\n\t\t\t\t\t */\n\t\t\t\t\tgetHeaderView: function( data ) {\n\t\t\t\t\t\t/*\n\t\t\t\t\t\t * Get a custom setting header view if one is set.\n\t\t\t\t\t\t * TODO: Currently, this only works for advanced settings.\n\t\t\t\t\t\t * This could be used to replace the need for a single config file.\n\t\t\t\t\t\t */\n\t\t\t\t\t\tif ( 'undefined' != typeof data.typeModel ) {\n\t\t\t\t\t\t\tvar view = nfRadio.channel( data.typeModel.get( 'id' ) ).request( 'get:drawerHeaderView' ) || editSettingsHeaderView;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tvar view = editSettingsHeaderView;\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn new view( data );\n\t\t\t\t\t},\n\n\t\t\t\t\tgetContentView: function( data ) {\n\t\t\t\t\t\treturn new editSettingsView( data );\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: 'viewChanges',\n\n\t\t\t\t\t// getHeaderView() is defined by default, but we need to override it for the viewChanges drawer.\n\t\t\t\t\tgetHeaderView: function( data ) {\n\t\t\t\t\t\treturn new viewChangesHeaderView( data );\n\t\t\t\t\t},\n\n\t\t\t\t\tgetContentView: function( data ) {\n\t\t\t\t\t\treturn new viewChangesView( data );\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: 'newForm',\n\n\t\t\t\t\t// getHeaderView() is defined by default, but we need to override it for the newForm drawer.\n\t\t\t\t\tgetHeaderView: function( data ) {\n\t\t\t\t\t\treturn new newFormHeaderView( data );\n\t\t\t\t\t},\n\n\t\t\t\t\tgetContentView: function( data ) {\n\t\t\t\t\t\treturn new newFormView( data );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t] );\n\n\t\t\t// Listen for requests for our drawer collection.\n\t\t\tnfRadio.channel( 'app' ).reply( 'get:drawerCollection', this.getDrawerCollection, this );\n\t\t\t// Listen for requests for specific drawer models.\n\t\t\tnfRadio.channel( 'app' ).reply( 'get:drawer', this.getDrawer, this );\n\t\t},\n\n\t\tgetDrawerCollection: function() {\n\t\t\treturn this.collection;\n\t\t},\n\n\t\tgetDrawer: function( id ) {\n\t\t\treturn this.collection.get( id );\n\t\t}\n\n\t});\n\n\treturn controller;\n} );\n","/**\n * Default settings title view.\n * \n * @package Ninja Forms builder\n * @subpackage App\n * @copyright (c) 2015 WP Ninjas\n * @since 3.0\n */\ndefine( 'views/app/drawer/defaultSettingsTitle',[], function() {\n\tvar view = Marionette.ItemView.extend({\n\t\ttagName: 'div',\n\t\ttemplate: '#tmpl-nf-drawer-content-edit-settings-title-default',\n\n\t\ttemplateHelpers: function () {\n\t \treturn {\n\t \t\trenderTypeNicename: function() {\n\t \t\t\tvar currentDomain = nfRadio.channel( 'app' ).request( 'get:currentDomain' );\n\t\t\t\t\tvar domainID = currentDomain.get( 'id' );\n\t \t\t\tvar type = nfRadio.channel( domainID ).request( 'get:type', this.type );\n\t \t\t\tif ( 'undefined' != typeof type ) {\n\t \t\t\t\treturn type.get( 'nicename' );\n\t \t\t\t} else {\n\t \t\t\t\treturn '';\n\t \t\t\t}\n\t\t\t\t}\n\t\t\t};\n\t\t},\n\t});\n\n\treturn view;\n} );\n","/**\n * Empty view.\n *\n * @package Ninja Forms builder\n * @subpackage App\n * @copyright (c) 2015 WP Ninjas\n * @since 3.0\n */\ndefine( 'views/app/empty',[], function() {\n\tvar view = Marionette.ItemView.extend({\n\t\ttagName: 'div',\n\t\ttemplate: '#tmpl-nf-empty'\n\t});\n\n\treturn view;\n} );\n","/**\n * Model for our individual domains.\n * \n * @package Ninja Forms builder\n * @subpackage Fields\n * @copyright (c) 2015 WP Ninjas\n * @since 3.0\n */\ndefine( 'models/app/domainModel',[ 'views/app/drawer/defaultSettingsTitle', 'views/app/empty' ], function( DefaultSettingsTitleView, EmptyView ) {\n\tvar model = Backbone.Model.extend( {\n\t\tdefaults: {\n\t\t\tdashicons: '',\n\t\t\tclasses: '',\n\t\t\tactive: false,\n\t\t\turl: '',\n\t\t\thotkeys: false,\n\t\t\tdisabled: false,\n\n\t\t\tgetSettingsTitleView: function( data ) {\n\t\t\t\treturn new DefaultSettingsTitleView( data );\n\t\t\t},\n\n\t\t\tgetDefaultSettingsTitleView: function( data ) {\n\t\t\t\treturn new DefaultSettingsTitleView( data );\n\t\t\t},\n\n\t\t\tgetGutterLeftView: function( data ) {\n\t\t\t\t/*\n\t\t\t\t * Return empty view\n\t\t\t\t */\n\t\t\t\treturn new EmptyView();\n\t\t\t},\n\n\t\t\tgetGutterRightView: function( data ) {\n\t\t\t\t/* \n\t\t\t\t * Return empty view\n\t\t\t\t */\n\t\t\t\treturn new EmptyView();\n\t\t\t}\n\t\t}\n\t} );\n\t\n\treturn model;\n} );\n","/**\n * Holds all of our domain models.\n * \n * @package Ninja Forms builder\n * @subpackage Fields\n * @copyright (c) 2015 WP Ninjas\n * @since 3.0\n */\ndefine( 'models/app/domainCollection',['models/app/domainModel'], function( domainModel ) {\n\tvar collection = Backbone.Collection.extend( {\n\t\tmodel: domainModel\n\t} );\n\treturn collection;\n} );\n","define( 'views/fields/subHeader',[], function() {\n\tvar view = Marionette.ItemView.extend({\n\t\ttagName: 'div',\n\t\ttemplate: '#tmpl-nf-sub-header-fields'\n\t});\n\n\treturn view;\n} );\n","define( 'views/fields/mainContentFieldCollection',[], function() {\n\tvar view = Marionette.CollectionView.extend( {\n\t\ttagName: 'div',\n\t\treorderOnSort: true,\n\n\t\tgetChildView: function() {\n\t\t\treturn nfRadio.channel( 'views' ).request( 'get:fieldItem' );\n\t\t},\n\n\t\tgetEmptyView: function() {\n\t\t\treturn nfRadio.channel( 'views' ).request( 'get:mainContentEmpty' );\n\t\t},\n\n\t\tinitialize: function() {\n\t\t\tnfRadio.channel( 'fields' ).reply( 'get:sortableEl', this.getSortableEl, this );\n\t\t\tnfRadio.channel( 'fields' ).reply( 'init:sortable', this.initSortable, this );\n\t\t\tnfRadio.channel( 'fields' ).reply( 'destroy:sortable', this.destroySortable, this );\n\t\t},\n\n\t\tonRender: function() {\n\t\t\tif ( this.collection.models.length > 0 ) {\n\t\t\t\tjQuery( this.el ).addClass( 'nf-field-type-droppable' ).addClass( 'nf-fields-sortable' );\n\t\t\t\tvar that = this;\n\t\t\t\t/* TODO: There's a bug with some Android phones and chrome. The fix below hasn't been implement.\n\n\t\t\t\t * Instantiate our sortable field list, but only if we aren't on a mobile device.\n\t\t\t\t *\n\t\t\t\t * On Android, our sortable list isn't scrollable if it's instantiated at render.\n\t\t\t\t * Instead, for mobile, we need to instantiate our sortable when the user tapholds and then\n\t\t\t\t * destroy it when the drag stops.\n\t\t\t\t */\n\t\t\t\t// if ( ! nfRadio.channel( 'app' ).request( 'is:mobile' ) ) {\n\t\t\t\t\tthis.initSortable();\n\t\t\t\t// }\n\t\t\t}\n\t\t\tnfRadio.channel( 'app' ).trigger( 'render:fieldsSortable', this );\n\t\t},\n\n\t\tgetSortableEl: function() {\n\t\t\treturn this.el;\n\t\t},\n\n\t\tinitSortable: function() {\n\t\t\tif ( nfRadio.channel( 'app' ).request( 'is:mobile' ) ) {\n\t\t\t\tvar tolerance = 'pointer';\n\t\t\t} else {\n\t\t\t\tvar tolerance = 'intersect';\n\t\t\t}\n\n\t\t\tjQuery( this.el ).sortable( {\n\t\t\t\t//containment: '#nf-main',\n\t\t\t\thelper: 'clone',\n\t\t\t\tcancel: '.nf-item-controls',\n\t\t\t\tplaceholder: 'nf-fields-sortable-placeholder',\n\t\t\t\topacity: 0.95,\n\t\t\t\tgrid: [ 5, 5 ],\n\t\t\t\t// scroll: false,\n\t\t\t\tappendTo: '#nf-main',\n\t\t\t\tscrollSensitivity: 10,\n\n\t\t\t\treceive: function( e, ui ) {\n\t\t\t\t\tif ( ui.item.dropping ) return;\n\t\t\t\t\tnfRadio.channel( 'app' ).request( 'receive:fieldsSortable', ui );\n\t\t\t\t},\n\n\t\t\t\tover: function( e, ui ) {\n\t\t\t\t\tif ( ui.item.dropping ) return;\n\t\t\t\t\tnfRadio.channel( 'app' ).request( 'over:fieldsSortable', ui );\n\t\t\t\t},\n\n\t\t\t\tout: function( e, ui ) {\n\t\t\t\t\tif ( ui.item.dropping ) return;\n\t\t\t\t\tnfRadio.channel( 'app' ).request( 'out:fieldsSortable', ui );\n\t\t\t\t},\n\n\t\t\t\tstart: function( e, ui ) {\n\t\t\t\t\tif ( ui.item.dropping ) return;\n\t\t\t\t\tnfRadio.channel( 'app' ).request( 'start:fieldsSortable', ui );\n\t\t\t\t},\n\n\t\t\t\tupdate: function( e, ui ) {\n\t\t\t\t\tif ( ui.item.dropping ) return;\n\t\t\t\t\tnfRadio.channel( 'app' ).request( 'update:fieldsSortable', ui, this );\n\t\t\t\t},\n\n\t\t\t\tstop: function( e, ui ) {\n\t\t\t\t\tif ( ui.item.dropping ) return;\n\t\t\t\t\tnfRadio.channel( 'app' ).request( 'stop:fieldsSortable', ui );\n\t\t\t\t}\n\t\t\t} );\n\t\t},\n\n\t\tdestroySortable: function() {\n\t\t\tjQuery( this.el ).sortable( 'destroy' );\n\t\t},\n\n\t\tonAddChild: function( childView ) {\n\t\t\tif ( nfRadio.channel( 'fields' ).request( 'get:adding' ) ) {\n\t\t\t\tchildView.$el.hide().show( 'clip' );\n\t\t\t\tnfRadio.channel( 'fields' ).request( 'set:adding', false );\n\t\t\t}\n\t\t}\n\t\t\n\t} );\n\n\treturn view;\n} );\n\n","define( 'views/fields/drawer/addSavedField',[], function() {\n\tvar view = Marionette.ItemView.extend({\n\t\ttagName: 'div',\n\t\ttemplate: '#tmpl-nf-add-saved-field',\n\n\t\tinitialize: function() {\n\t\t\tthis.model.on( 'change:addSavedLoading', this.renderAddButton, this );\n\t\t},\n\n\t\tonRender: function() {\n\t\t\tthis.renderAddButton();\n\t\t},\n\n\t\trenderAddButton: function() {\n\t\t\tif ( this.model.get( 'addSavedLoading' ) ) {\n\t\t\t\tvar button = nfRadio.channel( 'app' ).request( 'get:template', '#tmpl-nf-add-saved-field-loading' );\n\t\t\t} else {\n\t\t\t\tvar button = nfRadio.channel( 'app' ).request( 'get:template', '#tmpl-nf-add-saved-field-button' );\n\t\t\t}\n\t\t\tjQuery( this.el ).find( '.add-button' ).html( button( this ) );\n\t\t},\n\n\t\tonBeforeDestroy: function() {\n\t\t\tthis.model.off( 'change:addSavedLoading', this.render );\n\t\t},\n\n\t\tevents: {\n\t\t\t'click .nf-button': 'clickAddSavedField'\n\t\t},\n\n\t\tclickAddSavedField: function( e ) {\n\t\t\tnfRadio.channel( 'drawer' ).trigger( 'click:addSavedField', e, this.model );\n\t\t}\n\t});\n\n\treturn view;\n} );\n\n","/**\n * Fields settings title view.\n * \n * @package Ninja Forms builder\n * @subpackage Fields\n * @copyright (c) 2015 WP Ninjas\n * @since 3.0\n */\ndefine( 'views/fields/drawer/settingsTitle',['views/fields/drawer/addSavedField'], function( addSavedFieldView ) {\n\tvar view = Marionette.LayoutView.extend({\n\t\ttagName: 'div',\n\t\ttemplate: '#tmpl-nf-drawer-content-edit-settings-title-fields',\n\n\t\tinitialize: function() {\n\t\t\tthis.model.on( 'change:saved', this.render, this );\n\t\t\tthis.model.on( 'change:label', this.renderjBoxContent, this );\n\t\t},\n\n\t\tregions: {\n\t\t\taddSaved: '.nf-add-saved-field'\n\t\t},\n\n\t\tonBeforeDestroy: function() {\n\t\t\tthis.model.off( 'change:saved', this.render );\n\t\t\tthis.addSavedjBox.destroy();\n\t\t\tthis.model.unset( 'jBox', { silent: true } );\n\t\t},\n\n\t\tonRender: function() {\n\t\t\tthis.renderjBoxContent();\n\t\t\tvar that = this;\n\t\t\tthis.addSavedjBox = new jBox( 'Tooltip', {\n\t\t\t\ttrigger: 'click',\n\t\t\t\ttitle: 'Add to Saved Fields',\n\t\t\t\tposition: {\n\t\t\t\t\tx:'left',\n\t\t\t\t\ty:'center'\n\t\t\t\t},\n\t\t\t\toutside:'x',\n\t\t\t\tcloseOnClick: 'body',\n\n\t\t\t\tonCreated: function() {\n\t\t\t\t\tthis.setContent( jQuery( that.el ).find( '.nf-add-saved-field' ) );\n\t\t\t\t}\n\t\t\t} );\n\t\t\tthis.addSavedjBox.attach( jQuery( this.el ).find( '.dashicons') );\n\t\t\tthis.model.set( 'jBox', this.addSavedjBox, { silent: true } );\n\t\t},\n\n\t\trenderjBoxContent: function() {\n\t\t\tif ( this.addSaved ) {\n\t\t\t\tthis.addSaved.show( new addSavedFieldView( { model: this.model } ) );\n\t\t\t}\n\t\t},\n\n\t\ttemplateHelpers: function () {\n\t \treturn {\n\t \t\trenderTypeNicename: function() {\n\t \t\t\tvar currentDomain = nfRadio.channel( 'app' ).request( 'get:currentDomain' );\n\t\t\t\t\tvar domainID = currentDomain.get( 'id' );\n\t \t\t\tvar type = nfRadio.channel( domainID ).request( 'get:type', this.type );\n\t \t\t\tvar displayName = type.get( 'nicename' );\n\n\t \t\t\tif ( this.saved ) {\n\t \t\t\t\tvar realType = nfRadio.channel( domainID ).request( 'get:type', type.get( 'type' ) );\n\t \t\t\t\tdisplayName += ' - ' + realType.get( 'nicename' );\n\t \t\t\t}\n\t \t\t\treturn displayName;\n\t\t\t\t},\n\t\t\t\t\n\t\t\t\trenderSavedStar: function() {\n\t\t\t\t\tif ( this.saved ) {\n\t\t\t\t\t\tvar star = 'filled';\n\t\t\t\t\t} else {\n\t\t\t\t\t\tvar star = 'empty';\n\t\t\t\t\t}\n\t\t\t\t\treturn '<span class=\"dashicons dashicons-star-' + star + '\"></span>'\n\t\t\t\t}\n\t\t\t};\n\t\t}\n\t});\n\n\treturn view;\n} );\n","/**\n * Add main header.\n *\n * TODO: make dynamic\n * \n * @package Ninja Forms builder\n * @subpackage Actions\n * @copyright (c) 2015 WP Ninjas\n * @since 3.0\n */\ndefine( 'views/actions/mainHeader',[], function() {\n\tvar view = Marionette.ItemView.extend({\n\t\ttagName: 'div',\n\t\ttemplate: '#tmpl-nf-main-header-actions',\n\n\t\tinitialize: function() {\n\t\t\tvar actionCollection = nfRadio.channel( 'actions' ).request( 'get:collection' );\n\t\t\tthis.listenTo( actionCollection, 'add', this.render );\n\t\t\tthis.listenTo( actionCollection, 'remove', this.render );\n\t\t},\n\n\t\tonRender: function() {\n\t\t\tvar actionCollection = nfRadio.channel( 'actions' ).request( 'get:collection' );\n\t\t\tif ( actionCollection.models.length == 0 ) {\n\t\t\t\tjQuery( this.el ).hide();\n\t\t\t} else {\n\t\t\t\tjQuery( this.el ).show();\n\t\t\t}\n\t\t}\n\t});\n\n\treturn view;\n} );\n","/**\n * Actions subheader view.\n *\n * TODO: make dynamic\n * \n * @package Ninja Forms builder\n * @subpackage Actions\n * @copyright (c) 2015 WP Ninjas\n * @since 3.0\n */\ndefine( 'views/actions/subHeader',[], function() {\n\tvar view = Marionette.ItemView.extend({\n\t\ttagName: 'div',\n\t\ttemplate: '#tmpl-nf-sub-header-actions'\n\t});\n\n\treturn view;\n} );\n","/**\n * Renders an application menu item from a domain model.\n *\n * @package Ninja Forms builder\n * @subpackage App\n * @copyright (c) 2015 WP Ninjas\n * @since 3.0\n */\ndefine( 'views/app/itemControls',[], function() {\n\tvar view = Marionette.ItemView.extend({\n\t\ttagName: 'div',\n\t\ttemplate: '#tmpl-nf-item-controls',\n\n\t\tinitialize: function() {\n\t\t\t// Listen for domain changes and re-render when we detect one.\n\t\t\t// this.listenTo( nfRadio.channel( 'app' ), 'change:currentDomain', this.render );\n\t\t},\n\n\t\t/**\n\t\t * When we render this view, remove the extra <div> tag created by backbone.\n\t\t * \n\t\t * @since 3.0\n\t\t * @return void\n\t\t */\n\t\tonRender: function() {\n\t\t\t// this.$el = this.$el.children();\n\t\t\t// this.$el.unwrap();\n\t\t\t// this.setElement( this.$el );\n\t\t\t// \n\t\t\tthis.currentDomain = nfRadio.channel( 'app' ).request( 'get:currentDomain' );\n\t\t},\n\n\t\tevents: {\n\t\t\t'mouseover .nf-item-control': 'mouseoverItemControl',\n\t\t\t'click .nf-edit-settings': 'clickEdit',\n\t\t\t'singletap .nf-item-control': 'singleTapEdit',\n\t\t\t'click .nf-item-delete': 'clickDelete',\n\t\t\t'click .nf-item-duplicate': 'clickDuplicateField'\n\t\t},\n\n\t\tclickEdit: function( e ) {\n\t\t\tif ( ! nfRadio.channel( 'app' ).request( 'is:mobile' ) ) {\n\t\t\t\tnfRadio.channel( 'app' ).trigger( 'click:edit', e, this.model );\n\t\t\t}\n\t\t},\n\n\t\tsingleTapEdit: function( e ) {\n\t\t\tnfRadio.channel( 'app' ).trigger( 'click:edit', e, this.model );\n\t\t},\n\n\t\tclickDelete: function( e ) {\n\t\t\tnfRadio.channel( 'app' ).trigger( 'click:delete', e, this.model );\n\t\t},\n\n\t\tclickDuplicateField: function( e ) {\n\t\t\tnfRadio.channel( 'app' ).trigger( 'click:duplicate', e, this.model );\n\t\t},\n\n\t\tmouseoverItemControl: function( e ) {\n\t\t\tnfRadio.channel( 'app' ).trigger( 'mouseover:itemControl', e, this.model );\n\t\t}\n\t});\n\n\treturn view;\n} );\n","/**\n * Single action table row\n *\n * TODO: make dynamic\n *\n * @package Ninja Forms builder\n * @subpackage Actions\n * @copyright (c) 2015 WP Ninjas\n * @since 3.0\n */\ndefine( 'views/actions/actionItem',['views/app/itemControls'], function( itemControlsView ) {\n\tvar view = Marionette.LayoutView.extend({\n\t\ttagName: 'tr',\n\t\ttemplate: '#tmpl-nf-action-item',\n\n\t\tregions: {\n\t\t\titemControls: '.nf-item-controls'\n\t\t},\n\n\t\tinitialize: function() {\n\t\t\tthis.template = nfRadio.channel( 'actions' ).request( 'get:actionItemTemplate' ) || this.template;\n\t\t\tthis.model.on( 'change:label', this.render, this );\n\t\t\tthis.model.on( 'change:editActive', this.render, this );\n\t\t\tthis.model.on( 'change:active', this.maybeDeactivate, this );\n\t\t},\n\n\t\tonBeforeDestroy: function() {\n\t\t\tthis.model.off( 'change:label', this.render );\n\t\t\tthis.model.off( 'change:editActive', this.render );\n\t\t\tthis.model.off( 'change:active', this.maybeDeactivate );\n\t\t},\n\n\t\tonRender: function() {\n\t\t\tif ( this.model.get( 'editActive' ) ) {\n\t\t\t\tjQuery( this.el ).addClass( 'active' );\n\t\t\t} else {\n\t\t\t\tjQuery( this.el ).removeClass( 'active' );\n\t\t\t}\n\n\t\t\tthis.maybeDeactivate();\n\n\t\t\tthis.itemControls.show( new itemControlsView( { model: this.model } ) );\n\t\t},\n\n\t\tmaybeDeactivate: function() {\n\t\t\tif ( 0 == this.model.get( 'active' ) ) {\n\t\t\t\tjQuery( this.el ).addClass( 'deactivated' );\n\t\t\t} else {\n\t\t\t\tjQuery( this.el ).removeClass( 'deactivated' );\n\t\t\t}\n\t\t},\n\n\t\tevents: {\n\t\t\t'change input': 'changeToggle',\n\t\t\t'click': 'maybeClickEdit'\n\t\t},\n\n\t\tmaybeClickEdit: function( e ) {\n\t\t\tif ( 'TR' == jQuery( e.target ).parent().prop( 'tagName' ) ) {\n\t\t\t\tnfRadio.channel( 'app' ).trigger( 'click:edit', e, this.model );\n\t\t\t}\n\t\t},\n\n\t\tchangeToggle: function( e ) {\n\t\t\tvar setting = jQuery( e.target ).data( 'setting' );\n\t\t\tvar settingModel = nfRadio.channel( 'actions' ).request( 'get:settingModel', setting );\n\t\t\tconsole.log( settingModel );\n\t\t\tconsole.log( this.model );\n\t\t\tnfRadio.channel( 'app' ).request( 'change:setting', e, settingModel, this.model );\n\t\t\tnfRadio.channel( 'app' ).request( 'update:db' );\n\t\t},\n\n\t\ttemplateHelpers: function() {\n\t\t\treturn {\n\t\t\t\trenderToggle: function( settingName ) {\n\t\t\t\t\tthis.settingName = settingName || 'active';\n\t\t\t\t\tvar actionLabel = this.label;\n\t\t\t\t\tthis.label = '';\n\t\t\t\t\tthis.value = this[ this.settingName ];\n\t\t\t\t\tthis.name = this.id + '-' + this.settingName;\n\t\t\t\t\tvar html = nfRadio.channel( 'app' ).request( 'get:template', '#tmpl-nf-edit-setting-toggle' );\n\t\t\t\t\thtml = html( this );\n\t\t\t\t\tthis.label = actionLabel;\n\t\t\t\t\treturn html;\n\t\t\t\t},\n\n\t\t\t\trenderTypeNicename: function() {\n\t\t\t\t\tvar type = nfRadio.channel( 'actions' ).request( 'get:type', this.type );\n\t\t\t\t\tif ( 'undefined' == typeof type ) return;\n\n\t\t\t\t\treturn type.get( 'nicename' );\n\t\t\t\t},\n\n /**\n\t\t\t\t * [Deprecated] Tooltips are not currently implemented in the context of the action list.\n\t\t\t\t * However, the template uses a nested template which requires the helper method.\n * @returns {string}\n */\n\t\t\t\trenderTooltip: function() {\n\t\t\t\t\treturn '';\n\t\t\t\t},\n\n\t\t\t\trenderMergeTags: function() {\n\t\t\t\t\tif ( this.use_merge_tags ) {\n\t\t\t\t\t\treturn '<span class=\"dashicons dashicons-list-view merge-tags\"></span>';\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn '';\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t});\n\n\treturn view;\n} );\n\n","define( 'views/actions/mainContentEmpty',[], function() {\n\tvar view = Marionette.ItemView.extend({\n\t\ttagName: 'div',\n\t\ttemplate: '#tmpl-nf-main-content-actions-empty',\n\n\t\tonBeforeDestroy: function() {\n\t\t\tjQuery( this.el ).parent().parent().removeClass( 'nf-actions-empty' );\n\t\t\t// jQuery( this.el ).parent().removeClass( 'nf-fields-empty-droppable' ).droppable( 'destroy' );\n\t\t},\n\n\t\tonRender: function() {\n\t\t\tthis.$el = this.$el.children();\n\t\t\tthis.$el.unwrap();\n\t\t\tthis.setElement( this.$el );\n\t\t},\n\n\t\tonShow: function() {\n\t\t\tjQuery( this.el ).parent().parent().addClass( 'nf-actions-empty' );\n\t\t\t// if ( jQuery( this.el ).parent().hasClass( 'ui-sortable' ) ) {\n\t\t\t// \tjQuery( this.el ).parent().sortable( 'destroy' );\n\t\t\t// }\n\t\t\t// jQuery( this.el ).parent().addClass( 'nf-fields-empty-droppable' );\n\t\t\t// jQuery( this.el ).parent().droppable( {\n\t\t\t// \taccept: function( draggable ) {\n\t\t\t// \t\tif ( jQuery( draggable ).hasClass( 'nf-stage' ) || jQuery( draggable ).hasClass( 'nf-field-type-button' ) ) {\n\t\t\t// \t\t\treturn true;\n\t\t\t// \t\t}\n\t\t\t// \t},\n\t\t\t// \thoverClass: 'nf-droppable-hover',\n\t\t\t// \ttolerance: 'pointer',\n\t\t\t// \tover: function( e, ui ) {\n\t\t\t// \t\tui.item = ui.draggable;\n\t\t\t// \t\tnfRadio.channel( 'app' ).request( 'over:fieldsSortable', ui );\n\t\t\t// \t},\n\t\t\t// \tout: function( e, ui ) {\n\t\t\t// \t\tui.item = ui.draggable;\n\t\t\t// \t\tnfRadio.channel( 'app' ).request( 'out:fieldsSortable', ui );\n\t\t\t// \t},\n\t\t\t// \tdrop: function( e, ui ) {\n\t\t\t// \t\tui.item = ui.draggable;\n\t\t\t// \t\tnfRadio.channel( 'app' ).request( 'receive:fieldsSortable', ui );\n\t\t\t// \t\tvar fieldCollection = nfRadio.channel( 'fields' ).request( 'get:collection' );\n\t\t\t// \t\tfieldCollection.trigger( 'reset', fieldCollection );\n\t\t\t// \t},\n\t\t\t// } );\n\t\t}\n\t});\n\n\treturn view;\n} );\n","/**\n * Main content view for our actions.\n *\n * TODO: make dynamic\n *\n * @package Ninja Forms builder\n * @subpackage Actions\n * @copyright (c) 2015 WP Ninjas\n * @since 3.0\n */\ndefine( 'views/actions/mainContent',['views/actions/actionItem', 'views/actions/mainContentEmpty'], function( actionView, emptyView ) {\n\tvar view = Marionette.CompositeView.extend({\n\t\ttemplate: '#tmpl-nf-action-table',\n\t\tchildView: actionView,\n\t\temptyView: emptyView,\n\n\t\tinitialize: function() {\n\t\t\tthis.template = nfRadio.channel( 'actions' ).request( 'get:mainContentTemplate' ) || this.template;\n\t\t},\n\n\t\tonRender: function() {\n\t\t\tjQuery( this.el ).droppable( {\n\t\t\t\taccept: '.nf-action-type-draggable',\n\t\t\t\tactiveClass: 'nf-droppable-active',\n\t\t\t\thoverClass: 'nf-droppable-hover',\n\t\t\t\tdrop: function( e, ui ) {\n\t\t\t\t\tnfRadio.channel( 'app' ).request( 'drop:actionType', e, ui );\n\t\t\t\t}\n\t\t\t} );\n\t\t},\n\n\t\tattachHtml: function( collectionView, childView ) {\n\t\t\tif ( 'undefined' == typeof nfRadio.channel( 'actions' ).request( 'get:type', childView.model.get( 'type' ) ) ) return;\n\n\t\t\tjQuery( collectionView.el ).find( 'tbody' ).append( childView.el );\n\t\t},\n\t});\n\n\treturn view;\n} );\n\n","define( 'views/advanced/mainHeader',[], function() {\n\tvar view = Marionette.ItemView.extend({\n\t\ttagName: 'div',\n\t\ttemplate: '#tmpl-nf-main-header-settings'\n\t});\n\n\treturn view;\n} );\n","define( 'views/advanced/subHeader',[], function() {\n\tvar view = Marionette.ItemView.extend({\n\t\ttagName: 'div',\n\t\ttemplate: '#tmpl-nf-sub-header-settings'\n\t});\n\n\treturn view;\n} );\n","define( 'views/advanced/settingItem',[], function() {\n\tvar view = Marionette.ItemView.extend({\n\t\ttagName: 'div',\n\t\ttemplate: '#tmpl-nf-form-setting-type',\n\n\t\tonBeforeDestroy: function() {\n\t\t\tthis.model.off( 'change:editActive', this.updateActiveClass );\n\t\t},\n\n\t\tinitialize: function() {\n\t\t\tthis.model.on( 'change:editActive', this.updateActiveClass, this );\n\t\t},\n\n\t\tevents: {\n\t\t\t'click': 'clickEdit'\n\t\t},\n\n\t\tclickEdit: function( e ) {\n\t\t\tnfRadio.channel( 'settings' ).trigger( 'click:edit', e, this.model );\n\t\t},\n\n\t\ttemplateHelpers: function() {\n\t\t\treturn {\n\t\t\t\trenderClasses: function() {\n\t\t\t\t\tvar classes = 'nf-setting-wrap ' + this.id;\n\t \t\t\tif ( this.editActive ) {\n\t \t\t\t\tclasses += ' active';\n\t \t\t\t}\n\t \t\t\treturn classes;\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\tupdateActiveClass: function() {\n\t\t\tif ( this.model.get( 'editActive' ) ) {\n\t\t\t\tjQuery( this.el ).find( '.nf-setting-wrap' ).addClass( 'active' );\n\t\t\t} else {\n\t\t\t\tjQuery( this.el ).find( '.nf-setting-wrap' ).removeClass( 'active' );\n\t\t\t}\n\t\t}\n\t});\n\n\treturn view;\n} );\n","define( 'views/advanced/mainContent',['views/advanced/settingItem'], function( settingItem ) {\n\tvar view = Marionette.CollectionView.extend({\n\t\tchildView: settingItem\n\t\t\n\t});\n\n\treturn view;\n} );\n","/**\n * Model that represents our form fields.\n * \n * @package Ninja Forms builder\n * @subpackage Fields\n * @copyright (c) 2015 WP Ninjas\n * @since 3.0\n */\ndefine( 'models/fields/fieldModel',[], function() {\n\tvar model = Backbone.Model.extend( {\n\t\tdefaults: {\n\t\t\tobjectType: 'Field',\n\t\t\tobjectDomain: 'fields',\n\t\t\teditActive: false,\n\t\t\torder: 999\n\t\t},\n\n\t\tinitialize: function() {\n\t\t\tif ( 'undefined' == typeof this.get( 'type' ) ) return;\n\n\t\t\t// Listen for model attribute changes\n\t\t\tthis.on( 'change', this.changeSetting, this );\n\n\t\t\t// Get our parent field type.\n\t\t\tvar fieldType = nfRadio.channel( 'fields' ).request( 'get:type', this.get( 'type' ) );\n\t\t\tvar parentType = fieldType.get( 'parentType' );\n\n\t\t\t// Loop through our field type \"settingDefaults\" and add any default settings.\n\t\t\t_.each( fieldType.get( 'settingDefaults' ), function( val, key ) {\n\t\t\t\tif ( 'undefined' == typeof this.get( key ) ) {\n\t\t\t\t\tthis.set( key, val, { silent: true } );\n\t\t\t\t}\n\t\t\t}, this );\n\n\t\t\t/*\n\t\t\t * If our field type is a saved field, set our field type to the actual field type\n\t\t\t */\n\t\t\tif ( 'saved' == fieldType.get( 'section' ) ) {\n\t\t\t\tthis.set( 'type', fieldType.get( 'type' ) );\n\t\t\t}\n\n\t\t\t/*\n\t\t\t * Trigger an init event on three channels:\n\t\t\t * \n\t\t\t * fields\n\t\t\t * fields-parentType\n\t\t\t * field-type\n\t\t\t *\n\t\t\t * This lets specific field types modify model attributes before anything uses them.\n\t\t\t */ \n\t\t\tnfRadio.channel( 'fields' ).trigger( 'init:fieldModel', this );\n\t\t\tnfRadio.channel( 'fields-' + parentType ).trigger( 'init:fieldModel', this );\n\t\t\tnfRadio.channel( 'fields-' + this.get( 'type' ) ).trigger( 'init:fieldModel', this );\n\n\t\t\tthis.listenTo( nfRadio.channel( 'app' ), 'fire:updateFieldKey', this.updateFieldKey );\n\t\t},\n\n\t\t/**\n\t\t * Fires an event on the fieldSetting-{name} channel saying we've updated a setting.\n\t\t * When we change the model attributes, fire an event saying we've changed something.\n\t\t * \n\t\t * @since 3.0\n\t\t * @return void\n\t\t */\n\t\tchangeSetting: function( model, options ) {\n\t\t\tnfRadio.channel( 'fieldSetting-' + _.keys( model.changedAttributes() )[0] ).trigger( 'update:setting', this, options.settingModel ) ;\n\t\t\tnfRadio.channel( 'fields' ).trigger( 'update:setting', this, options.settingModel );\n\t\t\tnfRadio.channel( 'app' ).trigger( 'update:setting', this, options.settingModel );\n\t\t},\n\n\t\tupdateFieldKey: function( keyModel, settingModel ) {\n\t\t\tnfRadio.channel( 'app' ).trigger( 'replace:fieldKey', this, keyModel, settingModel );\n\t\t}\n\t} );\n\t\n\treturn model;\n} );\n","/**\n * Collection that holds our field models.\n * This is the actual field data created by the user.\n *\n * We listen to the add and remove events so that we can push the new id to either the new fields or removed fields property.\n *\n * @package Ninja Forms builder\n * @subpackage Fields\n * @copyright (c) 2015 WP Ninjas\n * @since 3.0\n */\ndefine( 'models/fields/fieldCollection',['models/fields/fieldModel'], function( fieldModel ) {\n\tvar collection = Backbone.Collection.extend( {\n\t\tmodel: fieldModel,\n\t\tcomparator: function( model ){\n\t\t\treturn parseInt( model.get( 'order' ) );\n\t\t},\n\t\ttmpNum: 1,\n\n\t\tinitialize: function() {\n\t\t\tthis.on( 'add', this.addField, this );\n\t\t\tthis.on( 'remove', this.removeField, this );\n\n\t\t\tthis.listenTo( this, 'add:field', this.addNewField );\n\t\t\tthis.listenTo( this, 'append:field', this.appendNewField );\n\t\t\tthis.listenTo( this, 'remove:field', this.removeFieldResponse );\n\t\t\tthis.newIDs = [];\n\t\t},\n\n\t\t/**\n\t\t * When we add a field, push the id onto our new fields property.\n\t\t * This lets us tell the server that this is a new field to be added rather than a field to be updated.\n\t\t *\n\t\t * @since 3.0\n\t\t * @param void\n\t\t */\n\t\taddField: function( model ) {\n\t\t\tthis.newIDs.push( model.get( 'id' ) );\n\t\t},\n\n\t\t/**\n\t\t * When we remove a field, push the id onto our removed fields property.\n\t\t *\n\t\t * @since 3.0\n\t\t * @param void\n\t\t */\n\t\tremoveField: function( model ) {\n\t\t\tthis.removedIDs = this.removedIDs || {};\n\t\t\tthis.removedIDs[ model.get( 'id' ) ] = model.get( 'id' );\n\t\t},\n\n\t\taddNewField: function( model ) {\n\t\t\tthis.add( model );\n\t\t},\n\n\t\tappendNewField: function( model ) {\n\t\t\tif ( 0 == this.length ) {\n\t\t\t\tvar order = 0;\n\t\t\t} else {\n\t\t\t\tvar order = this.at( this.length -1 ).get( 'order' ) + 1;\n\t\t\t}\n\n\t\t\tmodel.set( 'order', order, { silent: true } );\n\t\t\tthis.add( model );\n\t\t},\n\n\t\tremoveFieldResponse: function( model ) {\n\t\t\tthis.remove( model );\n\t\t},\n\n\t\tfieldExists: function( fieldModel ) {\n\t\t\treturn -1 != this.indexOf( fieldModel );\n\t\t}\n\t} );\n\treturn collection;\n} );\n\n","/**\n * Config file for our app domains.\n * \n * this.collection represents all of our app domain (fields, actions, settings) information.\n *\n * This doesn't store the current domain, but rather all the data about each.\n * \n * This data includes:\n * hotkeys\n * header view\n * subheader view\n * content view\n * \n * @package Ninja Forms builder\n * @subpackage Main App\n * @copyright (c) 2015 WP Ninjas\n * @since 3.0\n */\ndefine( 'controllers/app/domainConfig',[\n\t// Require our domain collection\n\t'models/app/domainCollection',\n\t// Require our fields domain files\n\t'views/fields/subHeader',\n\t'views/fields/mainContentFieldCollection',\n\t'views/fields/drawer/settingsTitle',\n\t// Require our actions domain files\n\t'views/actions/mainHeader', \n\t'views/actions/subHeader',\n\t'views/actions/mainContent',\n\t// Require our settings domain files\n\t'views/advanced/mainHeader',\n\t'views/advanced/subHeader',\n\t'views/advanced/mainContent',\n\t// Empty View\n\t'views/app/empty',\n\t// FieldCollection: used by the default formContentData filter\n\t'models/fields/fieldCollection'\n\t], \n\tfunction( \n\t\tappDomainCollection,\n\t\tfieldsSubHeaderView,\n\t\tFieldsMainContentFieldCollectionView,\n\t\tfieldsSettingsTitleView,\n\t\tactionsMainHeaderView,\n\t\tactionsSubHeaderView,\n\t\tactionsMainContentView,\n\t\tsettingsMainHeaderView,\n\t\tsettingsSubHeaderView,\n\t\tsettingsMainContentView,\n\t\tEmptyView,\n\t\tFieldCollection\n\t) {\n\tvar controller = Marionette.Object.extend( {\n\t\tinitialize: function() {\n\t\t\t/*\n\t\t\t * Add our default formContentView filter.\n\t\t\t */\n\t\t\tnfRadio.channel( 'formContent' ).request( 'add:viewFilter', this.defaultFormContentView, 10, this );\n\t\t\t\n\t\t\t/*\n\t\t\t * Add our default formContentData filter.\n\t\t\t */\n\t\t\tnfRadio.channel( 'formContent' ).request( 'add:loadFilter', this.defaultFormContentLoad, 10, this );\n\n\t\t\t/*\n\t\t\t * Add our default formContentGutterView filters.\n\t\t\t */\n\t\t\tnfRadio.channel( 'formContentGutters' ).request( 'add:leftFilter', this.defaultFormContentGutterView, 10, this );\n\t\t\tnfRadio.channel( 'formContentGutters' ).request( 'add:rightFilter', this.defaultFormContentGutterView, 10, this );\n\n\t\t\t// Define our app domains\n\t\t\tthis.collection = new appDomainCollection( [\n\t\t\t\t{\n\t\t\t\t\tid: 'fields',\n\t\t\t\t\tnicename: nfi18n.domainFormFields,\n\t\t\t\t\thotkeys: {\n\t\t\t\t\t\t'Esc'\t\t\t\t: 'close:drawer',\n\t\t\t\t\t\t'Ctrl+Shift+n'\t\t: 'add:newField',\n\t\t\t\t\t\t'Ctrl+Shift+a'\t\t: 'changeDomain:actions',\n\t\t\t\t\t\t'Ctrl+Shift+s'\t\t: 'changeDomain:settings',\n\t\t\t\t\t\t'Alt+Ctrl+t'\t\t: 'open:mergeTags',\n\t\t\t\t\t\t'up'\t\t\t\t: 'up:mergeTags',\n\t\t\t\t\t\t'down'\t\t\t\t: 'down:mergeTags',\n\t\t\t\t\t\t'Shift+return'\t\t: 'return:mergeTags'\n\t\t\t\t\t},\n\t\t\t\t\tmobileDashicon: 'dashicons-menu',\n\n\t\t\t\t\tgetSubHeaderView: function() {\n\t\t\t\t\t\treturn new fieldsSubHeaderView();\n\t\t\t\t\t},\n\n\t\t\t\t\t/**\n\t\t\t\t\t * Get the formContent view that should be used in our builder.\n\t\t\t\t\t * Uses two filters:\n\t\t\t\t\t * 1) One for our formContentData\n\t\t\t\t\t * 2) One for our formContentView\n\t\t\t\t\t *\n\t\t\t\t\t * If we don't have any view filters, we use the default formContentView.\n\t\t\t\t\t * \n\t\t\t\t\t * @since 3.0\n\t\t\t\t\t * @return formContentView backbone view.\n\t\t\t\t\t */\n\t\t\t\t\tgetMainContentView: function( collection ) {\n\t\t\t\t\t\tvar formContentData = nfRadio.channel( 'settings' ).request( 'get:setting', 'formContentData' );\n\n\t\t\t\t\t\t/*\n\t\t\t\t\t\t * As of version 3.0, 'fieldContentsData' has deprecated in favour of 'formContentData'.\n\t\t\t\t\t\t * If we don't have this setting, then we check for this deprecated value.\n\t\t\t\t\t\t * \n\t\t\t\t\t\t * Set our fieldContentsData to our form setting 'fieldContentsData'\n\t\t\t\t\t\t *\n\t\t\t\t\t\t * TODO: Remove this backwards compatibility eventually.\n\t\t\t\t\t\t */\n\t\t\t\t\t\tif ( ! formContentData ) {\n\t\t\t\t\t\t\tformContentData = nfRadio.channel( 'settings' ).request( 'get:setting', 'fieldContentsData' );\n\t\t\t\t\t\t}\n\t\t\t\t\t\t\n\t\t\t\t\t\t/*\n\t\t\t\t\t\t * If we don't have a filter for our formContentData, default to fieldCollection.\n\t\t\t\t\t\t */\n\t\t\t\t\t\tvar formContentLoadFilters = nfRadio.channel( 'formContent' ).request( 'get:loadFilters' );\n\t\t\t\t\t\t\n\t\t\t\t\t\t/* \n\t\t\t\t\t\t* Get our first filter, this will be the one with the highest priority.\n\t\t\t\t\t\t*/\n\t\t\t\t\t\tvar sortedArray = _.without( formContentLoadFilters, undefined );\n\t\t\t\t\t\tvar callback = _.first( sortedArray );\n\t\t\t\t\t\tformContentData = callback( formContentData, nfRadio.channel( 'app' ).request( 'get:formModel' ), true );\n\t\t\t\t\t\t\n\t\t\t\t\t\t/*\n\t\t\t\t\t\t * Check our fieldContentViewsFilter to see if we have any defined.\n\t\t\t\t\t\t * If we do, overwrite our default with the view returned from the filter.\n\t\t\t\t\t\t */\n\t\t\t\t\t\tvar formContentViewFilters = nfRadio.channel( 'formContent' ).request( 'get:viewFilters' );\n\t\t\t\t\t\t\n\t\t\t\t\t\t/* \n\t\t\t\t\t\t* Get our first filter, this will be the one with the highest priority.\n\t\t\t\t\t\t*/\n\t\t\t\t\t\tvar sortedArray = _.without( formContentViewFilters, undefined );\n\t\t\t\t\t\tvar callback = _.first( sortedArray );\n\t\t\t\t\t\tformContentView = callback();\n\n\t\t\t\t\t\tnfRadio.channel( 'settings' ).request( 'update:setting', 'formContentData', formContentData, true );\n\t\t\t\t\t\treturn new formContentView( { collection: formContentData } );\n\t\t\t\t\t},\n\n\t\t\t\t\tgetSettingsTitleView: function( data ) {\n\t\t\t\t\t\t/*\n\t\t\t\t\t\t * If we are dealing with a field model, return the fields settings view, otherwise, return the default.\n\t\t\t\t\t\t */\n\t\t\t\t\t\tif ( 'fields' == data.model.get( 'objectDomain' ) ) {\n\t\t\t\t\t\t\treturn new fieldsSettingsTitleView( data );\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\treturn this.get( 'getDefaultSettingsTitleView' ).call( this, data );\n\t\t\t\t\t\t}\n\t\t\t\t\t\t\n\t\t\t\t\t},\n\n\t\t\t\t\tgetGutterLeftView: function( data ) {\n\t\t\t\t\t\t/*\n\t\t\t\t\t\t * Check our fieldContentViewsFilter to see if we have any defined.\n\t\t\t\t\t\t * If we do, overwrite our default with the view returned from the filter.\n\t\t\t\t\t\t */\n\t\t\t\t\t\tvar gutterFilters = nfRadio.channel( 'formContentGutters' ).request( 'get:leftFilters' );\n\n\t\t\t\t\t\t/* \n\t\t\t\t\t\t* Get our first filter, this will be the one with the highest priority.\n\t\t\t\t\t\t*/\n\t\t\t\t\t\tvar sortedArray = _.without( gutterFilters, undefined );\n\t\t\t\t\t\tvar callback = _.first( sortedArray );\n\t\t\t\t\t\tgutterView = callback();\n\n\t\t\t\t\t\treturn new gutterView(); \n\t\t\t\t\t},\n\n\t\t\t\t\tgetGutterRightView: function() {\n\t\t\t\t\t\t/*\n\t\t\t\t\t\t * Check our fieldContentViewsFilter to see if we have any defined.\n\t\t\t\t\t\t * If we do, overwrite our default with the view returned from the filter.\n\t\t\t\t\t\t */\n\t\t\t\t\t\tvar gutterFilters = nfRadio.channel( 'formContentGutters' ).request( 'get:rightFilters' );\n\t\t\t\t\t\t\n\t\t\t\t\t\t/* \n\t\t\t\t\t\t* Get our first filter, this will be the one with the highest priority.\n\t\t\t\t\t\t*/\n\t\t\t\t\t\tvar sortedArray = _.without( gutterFilters, undefined );\n\t\t\t\t\t\tvar callback = _.first( sortedArray );\n\t\t\t\t\t\tgutterView = callback();\n\n\t\t\t\t\t\treturn new gutterView(); \n\t\t\t\t\t}\n\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: 'actions',\n\t\t\t\t\tnicename: nfi18n.domainActions,\n\t\t\t\t\thotkeys: {\n\t\t\t\t\t\t'Esc'\t\t\t\t: 'close:drawer',\n\t\t\t\t\t\t'Ctrl+Shift+n'\t\t: 'add:newAction',\n\t\t\t\t\t\t'Ctrl+Shift+f'\t\t: 'changeDomain:fields',\n\t\t\t\t\t\t'Ctrl+Shift+s'\t\t: 'changeDomain:settings',\n\t\t\t\t\t\t'Alt+Ctrl+t'\t\t: 'open:mergeTags',\n\t\t\t\t\t\t'up'\t\t\t\t: 'up:mergeTags',\n\t\t\t\t\t\t'down'\t\t\t\t: 'down:mergeTags',\n\t\t\t\t\t\t'Shift+return'\t\t: 'return:mergeTags'\n\t\t\t\t\t},\n\t\t\t\t\tmobileDashicon: 'dashicons-external',\n\n\t\t\t\t\tgetSubHeaderView: function() {\n\t\t\t\t\t\treturn new actionsSubHeaderView();\n\t\t\t\t\t},\n\t\t\t\t\t\n\t\t\t\t\tgetMainContentView: function() {\n\t\t\t\t\t\tvar collection = nfRadio.channel( 'actions' ).request( 'get:collection' );\n\t\t\t\t\t\treturn new actionsMainContentView( { collection: collection } );\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: 'settings',\n\t\t\t\t\tnicename: nfi18n.domainAdvanced,\n\t\t\t\t\thotkeys: {\n\t\t\t\t\t\t'Esc'\t\t\t\t: 'close:drawer',\n\t\t\t\t\t\t'Ctrl+Shift+f'\t\t: 'changeDomain:fields',\n\t\t\t\t\t\t'Ctrl+Shift+a'\t\t: 'changeDomain:actions',\n\t\t\t\t\t\t'Alt+Ctrl+t'\t\t: 'open:mergeTags',\n\t\t\t\t\t\t'up'\t\t\t\t: 'up:mergeTags',\n\t\t\t\t\t\t'down'\t\t\t\t: 'down:mergeTags',\n\t\t\t\t\t\t'Shift+return'\t\t: 'return:mergeTags'\n\t\t\t\t\t},\n\t\t\t\t\tmobileDashicon: 'dashicons-admin-generic',\n\n\t\t\t\t\tgetSubHeaderView: function() {\n\t\t\t\t\t\treturn new settingsSubHeaderView();\n\t\t\t\t\t},\n\t\t\t\t\t\n\t\t\t\t\tgetMainContentView: function() {\n\t\t\t\t\t\tvar collection = nfRadio.channel( 'settings' ).request( 'get:typeCollection' );\n\t\t\t\t\t\treturn new settingsMainContentView( { collection: collection } );\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: 'preview',\n\t\t\t\t\tnicename: 'Preview Form',\n\t\t\t\t\tclasses: 'preview',\n\t\t\t\t\tdashicons: 'dashicons-visibility',\n\t\t\t\t\tmobileDashicon: 'dashicons-visibility',\n\t\t\t\t\turl: nfAdmin.previewurl\n\t\t\t\t}\n\t\t\t] );\n\n\t\t\t/*\n\t\t\t * Send out a radio message with our domain config collection.\n\t\t\t */\n\t\t\tnfRadio.channel( 'app' ).trigger( 'init:domainCollection', this.collection );\n\n\t\t\t/*\n\t\t\t * Respond to requests to get the app domain collection.\n\t\t\t */\n\t\t\tnfRadio.channel( 'app' ).reply( 'get:domainCollection', this.getDomainCollection, this );\n\t\t\tnfRadio.channel( 'app' ).reply( 'get:domainModel', this.getDomainModel, this );\n\t\t},\n\n\t\tgetDomainCollection: function() {\n\t\t\treturn this.collection;\n\t\t},\n\n\t\tgetDomainModel: function( id ) {\n\t\t\treturn this.collection.get( id );\n\t\t},\n\n\t\tdefaultFormContentView: function( formContentData ) {\n\t\t\treturn FieldsMainContentFieldCollectionView;\n\t\t},\n\n\t\tdefaultFormContentLoad: function( formContentData ) {\n\t\t\tvar fieldCollection = nfRadio.channel( 'fields' ).request( 'get:collection' );\n\t\t\t/*\n\t\t\t * If we only have one load filter, we can just return the field collection.\n\t\t\t */\n\t\t\tvar formContentLoadFilters = nfRadio.channel( 'formContent' ).request( 'get:loadFilters' );\n\t\t\tvar sortedArray = _.without( formContentLoadFilters, undefined );\n\n\t\t\tif ( 1 == sortedArray.length || 'undefined' == typeof formContentData || true === formContentData instanceof Backbone.Collection ) return fieldCollection;\n\n\t\t\t/*\n\t\t\t * If another filter is registered, we are calling this from somewhere else.\n\t\t\t */\n\n \tvar fieldModels = _.map( formContentData, function( key ) {\n \t\treturn fieldCollection.findWhere( { key: key } );\n \t}, this );\n\n \treturn new FieldCollection( fieldModels );\n\t\t},\n\n\t\tdefaultFormContentGutterView: function( formContentData ) {\n\t\t\treturn EmptyView;\n\t\t}\n\n\t});\n\n\treturn controller;\n} );\n","/**\n * Model for our app data.\n * Listens for changes to the 'clean' attribute and triggers a radio message when the state changes.\n * \n * @package Ninja Forms builder\n * @subpackage Fields\n * @copyright (c) 2015 WP Ninjas\n * @since 3.0\n */\ndefine( 'models/app/appModel',[], function() {\n\tvar model = Backbone.Model.extend( {\n\t\tdefaults: {\n\t\t\tloading: false\n\t\t},\n\n\t\tinitialize: function() {\n\t\t\t// Listen to changes to our 'clean' attribute.\n\t\t\tthis.on( 'change:clean', this.changeStatus, this );\n\t\t},\n\n\t\tchangeStatus: function() {\n\t\t\t// Send out a radio message when the 'clean' attribute changes.\n\t\t\tnfRadio.channel( 'app' ).trigger( 'change:clean', this.get( 'clean' ) );\n\t\t}\n\t} );\n\t\n\treturn model;\n} );\n","/**\n * Creates and stores a model that represents app-wide data. i.e. current domain, current drawer, clean, etc.\n *\n * clean is a boolean that represents whether or not changes have been made.\n * \n * @package Ninja Forms builder\n * @subpackage Main App\n * @copyright (c) 2015 WP Ninjas\n * @since 3.0\n */\ndefine( 'controllers/app/data',['models/app/appModel'], function( appModel ) {\n\tvar controller = Marionette.Object.extend( {\n\t\tinitialize: function() {\n\t\t\t// Get the collection that represents all the parts of our application.\n\t\t\tvar appDomainCollection = nfRadio.channel( 'app' ).request( 'get:domainCollection' );\n\t\t\t// Setup our initial model.\n\t\t\tthis.model = new appModel( {\n\t\t\t\tcurrentDrawer: false,\n\t\t\t\tcurrentDomain: appDomainCollection.get( 'fields' ),\n\t\t\t\tclean: true\n\t\t\t} );\n\n\t\t\t/*\n\t\t\t * Set the mobile setting used to track whether or not we're on a mobile device.\n\t\t\t */\n\t\t\tvar mobile = ( 1 == nfAdmin.mobile ) ? true : false;\n\t\t\tthis.model.set( 'mobile', mobile );\n\n\t\t\t/*\n\t\t\t * Respond to requests to see if we are on mobile.\n\t\t\t */\n\t\t\tnfRadio.channel( 'app' ).reply( 'is:mobile', this.isMobile, this );\n\n\t\t\t/*\n\t\t\t * Respond to app channel requests for information about the state of our app.\n\t\t\t */\n\t\t\tnfRadio.channel( 'app' ).reply( 'get:data', this.getData, this );\n\t\t\tnfRadio.channel( 'app' ).reply( 'get:setting', this.getSetting, this );\n\t\t\tnfRadio.channel( 'app' ).reply( 'get:currentDomain', this.getCurrentDomain, this );\n\t\t\tnfRadio.channel( 'app' ).reply( 'get:currentDrawer', this.getCurrentDrawer, this );\n\t\t\tnfRadio.channel( 'drawer' ).reply( 'get:current', this.getCurrentDrawer, this );\n\n\t\t\t/*\n\t\t\t * Respond to app channel requests to update app settings.\n\t\t\t */\t\t\n\t\t\tnfRadio.channel( 'app' ).reply( 'update:currentDomain', this.updateCurrentDomain, this );\n\t\t\tnfRadio.channel( 'app' ).reply( 'update:currentDrawer', this.updateCurrentDrawer, this );\n\t\t\tnfRadio.channel( 'app' ).reply( 'update:setting', this.updateSetting, this );\n\n\t\t},\n\n\t\tupdateCurrentDomain: function( model ) {\n\t\t\tthis.updateSetting( 'currentDomain', model );\n\t\t},\n\n\t\tupdateSetting: function( setting, value ) {\n\t\t\tthis.model.set( setting, value );\n\t\t\treturn true;\n\t\t},\n\n\t\tgetSetting: function( setting ) {\n\t\t\treturn this.model.get( setting );\n\t\t},\n\n\t\tgetData: function() {\n\t\t\treturn this.model;\n\t\t},\n\n\t\tgetCurrentDomain: function() {\n\t\t\treturn this.model.get( 'currentDomain' );\n\t\t},\n\n\t\tupdateCurrentDrawer: function( drawerID ) {\n\t\t\tthis.updateSetting( 'currentDrawer', drawerID );\n\t\t\treturn true;\n\t\t},\n\n\t\tgetCurrentDrawer: function() {\n\t\t\tvar currentDrawerID = this.model.get( 'currentDrawer' );\n\t\t\treturn nfRadio.channel( 'app' ).request( 'get:drawer', currentDrawerID );\n\t\t},\n\n\t\tisMobile: function() {\n\t\t\treturn this.model.get( 'mobile' );\n\t\t}\n\n\n\t});\n\n\treturn controller;\n} );\n","/**\n * Listens for click events to expand/collapse setting groups.\n * \n * @package Ninja Forms builder\n * @subpackage Fields - New Field Drawer\n * @copyright (c) 2015 WP Ninjas\n * @since 3.0\n */\ndefine( 'controllers/app/drawerToggleSettingGroup',[], function() {\n\tvar controller = Marionette.Object.extend( {\n\t\tinitialize: function() {\n\t\t\t// Listen for click events on our settings group.\n\t\t\tthis.listenTo( nfRadio.channel( 'drawer' ), 'click:toggleSettingGroup', this.toggleSettingGroup );\n\t\t},\n\n\t\t/**\n\t\t * Set the 'display' attribute of our group model to true or false to toggle.\n\t\t * \n\t\t * @since 3.0\n\t\t * @param Object\t\t\te \tevent\n\t\t * @param backbone.model \tmodel \tgroup setting model\n\t\t * @return void\n\t\t */\n\t\ttoggleSettingGroup: function( e, model ) {\n\t\t\tif ( model.get( 'display' ) ) {\n\t\t\t\t/*\n\t\t\t\t * Make sure that none of our settings have errors\n\t\t\t\t */\n\t\t\t\tvar errors = false;\n\t\t\t\t_.each( model.get( 'settings' ).models, function( setting ) {\n\t\t\t\t\tif ( setting.get( 'error' ) ) {\n\t\t\t\t\t\terrors = true;\n\t\t\t\t\t}\n\t\t\t\t} );\n\t\t\t\tif ( ! errors ) {\n\t\t\t\t\tmodel.set( 'display', false );\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tmodel.set( 'display', true );\n\t\t\t}\n\t\t}\n\t});\n\n\treturn controller;\n} );\n","/**\n * Updates our database with our form data.\n * \n * @package Ninja Forms builder\n * @subpackage Fields\n * @copyright (c) 2015 WP Ninjas\n * @since 3.0\n */\ndefine( 'controllers/app/updateDB',[], function() {\n\tvar controller = Marionette.Object.extend( {\n\n\t\tinitialize: function() {\n\t\t\t// Listen for the closing of the drawer and update when it's closed.\n\t\t\tthis.listenTo( nfRadio.channel( 'drawer' ), 'closed', this.updateDB );\n\t\t\t// Respond to requests to update the database.\n\t\t\tnfRadio.channel( 'app' ).reply( 'update:db', this.updateDB, this );\n\t\t\t/*\n\t\t\t * Register our default formContent save filter.\n\t\t\t * This converts our collection into an array of keys.\n\t\t\t */\n\t\t\tnfRadio.channel( 'formContent' ).request( 'add:saveFilter', this.defaultSaveFilter, 10, this );\n\t\t},\n\n\t\t/**\n\t\t * Update our database.\n\t\t * If action isn't specified, assume we're updating the preview.\n\t\t * \n\t\t * @since 3.0\n\t\t * @param string \taction preview or publish\n\t\t * @return void\n\t\t */\n\t\tupdateDB: function( action ) {\n\n\t\t\t// If our app is clean, dont' update.\n\t\t\tif ( nfRadio.channel( 'app' ).request( 'get:setting', 'clean' ) ) {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\t// Default action to preview.\n\t\t\taction = action || 'preview';\n\n\t\t\t// Setup our ajax actions based on the action we're performing\n\t\t\tif ( 'preview' == action ) {\n\t\t\t\tvar jsAction = 'nf_preview_update';\n\t\t\t} else if ( 'publish' == action ) {\n\t\t\t\tvar jsAction = 'nf_save_form';\n\t\t\t\t// now using a different ajax action\n\t\t\t\t// var jsAction = 'nf_batch_process';\n\t\t\t}\n\n\t\t\tvar formModel = nfRadio.channel( 'app' ).request( 'get:formModel' );\n\n\t\t\t/*\n\t\t\t * There are pieces of data that are only needed for the builder and not for the front-end.\n\t\t\t * We need to unset those.\n\t\t\t * TODO: Make this more dynamic/filterable.\n\t\t\t */\n\t\t\t_.each( formModel.get( 'fields' ).models, function( fieldModel, index ) {\n\t\t\t\tfieldModel.unset( 'jBox', { silent: true } );\n\t\t\t} );\n\n\t\t\t/*\n\t\t\t * The main content of our form is called the formContent.\n\t\t\t * In this next section, we check to see if any add-ons want to modify that contents before we save.\n\t\t\t * If there aren't any filters found, we default to the field collection.\n\t\t\t * \n\t\t\t */\n\t\t\t\n\t\t\tvar formContentData = nfRadio.channel( 'settings' ).request( 'get:setting', 'formContentData' );\n\t\t\t/*\n\t\t\t * As of version 3.0, 'fieldContentsData' has deprecated in favour of 'formContentData'.\n\t\t\t * If we don't have this setting, then we check for this deprecated value.\n\t\t\t * \n\t\t\t * Set our fieldContentsData to our form setting 'fieldContentsData'\n\t\t\t *\n\t\t\t * TODO: Remove this backwards compatibility eventually.\n\t\t\t */\n\t\t\tif ( ! formContentData ) {\n\t\t\t\tformContentData = nfRadio.channel( 'settings' ).request( 'get:setting', 'fieldContentsData' );\n\t\t\t}\n\n\t\t\tvar formContentSaveDataFilters = nfRadio.channel( 'formContent' ).request( 'get:saveFilters' );\n\t\t\t\t\t\t\n\t\t\t/* \n\t\t\t* Get our first filter, this will be the one with the highest priority.\n\t\t\t*/\n\t\t\tvar sortedArray = _.without( formContentSaveDataFilters, undefined );\n\t\t\tvar callback = _.first( sortedArray );\n\t\t\t/*\n\t\t\t * Set our formContentData to the callback specified in the filter, passing our current formContentData.\n\t\t\t */\n\t\t\tformContentData = callback( formContentData );\n\t\t\t\n\t\t\tif ( 'publish' == action && formModel.get( 'show_publish_options' ) ) {\n\t\t\t\tnfRadio.channel( 'app' ).request( 'open:drawer', 'newForm' );\n\t\t\t\tvar builderEl = nfRadio.channel( 'app' ).request( 'get:builderEl' );\n\t\t\t\tjQuery( builderEl ).addClass( 'disable-main' );\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\t// Get our form data\n\t\t\tvar formData = nfRadio.channel( 'app' ).request( 'get:formModel' );\n\n\t\t\t// Turn our formData model into an object\n\t\t\tvar data = JSON.parse( JSON.stringify( formData ) );\n\t\t\tdata.settings.formContentData = formContentData;\n\t\t\t/**\n\t\t\t * Prepare fields for submission.\n\t\t\t */\n\t\t\t\n\t\t\t// Get the field IDs that we've deleted.\n\t\t\tvar removedIDs = formData.get( 'fields' ).removedIDs;\n\n\t\t\t/*\n\t\t\t * data.fields is an array of objects like:\n\t\t\t * field.label = blah\n\t\t\t * field.label_pos = blah\n\t\t\t * etc.\n\t\t\t *\n\t\t\t * And we need that format to be:\n\t\t\t * field.settings.label = blah\n\t\t\t * field.settings.label_pos = blah\n\t\t\t *\n\t\t\t * So, we loop through our fields and create a field.settings object.\n\t\t\t */\n\t\t\t_.each( data.fields, function( field ) {\n\t\t\t\tvar id = field.id;\n\t\t\t\t// We dont' want to update id or parent_id\n\t\t\t\tdelete field.id;\n\t\t\t\tdelete field.parent_id;\n\t\t\t\tvar settings = {};\n\t\t\t\t// Loop through all the attributes of our fields\n\t\t\t\tfor (var prop in field) {\n\t\t\t\t if ( field.hasOwnProperty( prop ) ) {\n\t\t\t\t \t// If our field property isn't null, then...\n if ( null !== field[ prop ] ) {\n // Set our settings.prop value.\n settings[prop] = field[prop];\n }\n // Delete the property from the field.\n delete field[ prop ];\n }\n\t\t\t\t}\n\n\t\t\t\tfor( var setting in settings ){\n\t\t\t\t\tif( null === settings[ setting ] ) {\n\t\t\t\t\t\tdelete settings[setting];\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// Update our field object.\n\t\t\t\tfield.settings = settings;\n\t\t\t\tfield.id = id;\n\t\t\t} );\n\n\t\t\t// Set our deleted_fields object so that we can know which fields were removed.\n\t\t\tdata.deleted_fields = removedIDs;\n\n\t\t\t/**\n\t\t\t * Prepare actions for submission.\n\t\t\t */\n\t\t\t\n\t\t\t// Get the action IDs that we've deleted.\n\t\t\tvar removedIDs = formData.get( 'actions' ).removedIDs;\n\n\t\t\t/*\n\t\t\t * data.actions is an array of objects like:\n\t\t\t * action.label = blah\n\t\t\t * action.label_pos = blah\n\t\t\t * etc.\n\t\t\t *\n\t\t\t * And we need that format to be:\n\t\t\t * action.settings.label = blah\n\t\t\t * action.settings.label_pos = blah\n\t\t\t *\n\t\t\t * So, we loop through our actions and create a field.settings object.\n\t\t\t */\n\t\t\t_.each( data.actions, function( action ) {\n\t\t\t\tvar id = action.id;\n\t\t\t\t// We dont' want to update id or parent_id\n\t\t\t\tdelete action.id;\n\t\t\t\tdelete action.parent_id;\n\t\t\t\tvar settings = {};\n\t\t\t\t// Loop through all the attributes of our actions\n\t\t\t\tfor (var prop in action) {\n\t\t\t\t if ( action.hasOwnProperty( prop ) ) {\n\t\t\t\t \t//Removing null values\n\t\t\t\t\t if( null !== action[ prop ] ) {\n\t\t\t\t\t\t // Set our settings.prop value.\n\t\t\t\t\t\t settings[ prop ] = action[ prop ];\n\t\t\t\t\t }\n\t\t\t\t // Delete the property from the action.\n\t\t\t\t delete action[ prop ];\n\t\t\t\t }\n\t\t\t\t}\n\t\t\t\t// Update our action object.\n\t\t\t\taction.settings = settings;\n\t\t\t\taction.id = id;\n\t\t\t} );\n\n\t\t\tfor ( var setting in data.settings ) {\n\t\t\t\tif ( null === data.settings[ setting ] ) {\n\t\t\t\t\tdelete data.settings[ setting ];\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Set our deleted_actions object so that we can know which actions were removed.\n\t\t\tdata.deleted_actions = removedIDs;\n\n\t\t\t// Turn our object into a JSON string.\n\t\t\tdata = JSON.stringify( data );\n\n\t\t\t// Run anything that needs to happen before we update.\n\t\t\tnfRadio.channel( 'app' ).trigger( 'before:updateDB', data );\n\n\t\t\tif ( 'publish' == action ) {\n\t\t\t\tnfRadio.channel( 'app' ).request( 'update:setting', 'loading', true );\n\t\t\t\tnfRadio.channel( 'app' ).trigger( 'change:loading' );\t\n\n\t\t\t\t// If we're on mobile, show a notice that we're publishing\n\t\t\t\tif ( nfRadio.channel( 'app' ).request( 'is:mobile' ) ) {\n\t\t\t\t\tnfRadio.channel( 'notices' ).request( 'add', 'publishing', 'Your Changes Are Being Published', { autoClose: false } );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif ( 'nf_save_form' === jsAction ) {\n\t\t\t\t// if the form string is long than this, chunk it\n\t\t\t\tvar chunk_size = 100000;\n\t\t\t\tvar data_chunks = [];\n\n\t\t\t\t// Let's chunk this\n\t\t\t\tif( chunk_size < data.length ) {\n\t\t\t\t\tdata_chunks = data.match(new RegExp('.{1,' + chunk_size + '}', 'g'));\n\t\t\t\t}\n\t\t\t\t// if we have chunks send them via the step processor\n\t\t\t\tif( 1 < data_chunks.length ) {\n\t\t\t\t\t// this function will make the ajax call for chunks\n\t\t\t\t\tthis.saveChunkedForm(\n\t\t\t\t\t\tdata_chunks,\n\t\t\t\t\t\t0,\n\t\t\t\t\t\t'nf_batch_process',\n\t\t\t\t\t\taction,\n\t\t\t\t\t\tformModel.get('id'),\n\t\t\t\t\t\ttrue\n\t\t\t\t\t);\n\t\t\t\t} else {\n\t\t\t\t\t// otherwise send it the regular way.\n\t\t\t\t\tvar context = this;\n\t\t\t\t\tvar responseData = null;\n\n\t\t\t\t\tjQuery.post( ajaxurl,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\taction: jsAction,\n\t\t\t\t\t\t\tform: data,\n\t\t\t\t\t\t\tsecurity: nfAdmin.ajaxNonce\n\t\t\t\t\t\t},\n\t\t\t\t\t\tfunction( response ) {\n\t\t\t\t\t\t\tresponseData = response;\n\t\t\t\t\t\t\tcontext.handleFinalResponse( responseData, action );\n\t\t\t\t\t\t}\n\t\t\t\t\t).fail( function( xhr, status, error ) {\n\t\t\t\t\t\tcontext.handleFinalFailure( xhr, status, error, action )\n\t\t\t\t\t} );\n\t\t\t\t}\n\t\t\t} else if ( 'nf_preview_update' === jsAction ) {\n\t\t\t\tvar context = this;\n\t\t\t\tvar responseData = null;\n\t\t\t\tjQuery.post( ajaxurl,\n\t\t\t\t\t{\n\t\t\t\t\t\taction: jsAction,\n\t\t\t\t\t\tform: data,\n\t\t\t\t\t\tsecurity: nfAdmin.ajaxNonce\n\t\t\t\t\t},\n\t\t\t\t\tfunction( response ) {\n\t\t\t\t\t\tresponseData = response;\n\t\t\t\t\t\tcontext.handleFinalResponse( responseData, action );\n\t\t\t\t\t}\n\t\t\t\t).fail( function( xhr, status, error ) {\n\t\t\t\t\tcontext.handleFinalFailure( xhr, status, error, action )\n\t\t\t\t} );\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Function to recursively send chunks until all chunks have been sent\n\t\t *\n\t\t * @param chunks\n\t\t * @param currentIndex\n\t\t * @param currentChunk\n\t\t * @param jsAction\n\t\t * @param action\n\t\t */\n\t\tsaveChunkedForm: function( chunks, currentChunk, jsAction, action, formId, new_publish ) {\n\t\t\tvar total_chunks = chunks.length;\n\t\t\tvar postObj = {\n\t\t\t\taction: jsAction,\n\t\t\t\tbatch_type: 'chunked_publish',\n\t\t\t\tdata: {\n\t\t\t\t\tnew_publish: new_publish,\n\t\t\t\t\tchunk_total: total_chunks,\n\t\t\t\t\tchunk_current: currentChunk,\n\t\t\t\t\tchunk: chunks[ currentChunk ],\n\t\t\t\t\tform_id: formId\n\t\t\t\t},\n\t\t\t\tsecurity: nfAdmin.ajaxNonce\n\t\t\t};\n\n\t\t\tvar that = this;\n\t\t\tjQuery.post( ajaxurl, postObj )\n\t\t\t\t.then( function ( response ) {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tvar res = JSON.parse(response);\n\t\t\t\t\t\tif ( 'success' === res.last_request && ! res.batch_complete) {\n\t\t\t\t\t\t\tconsole.log('Chunk ' + currentChunk + ' processed');\n\n\t\t\t\t\t\t\t// send the next chunk\n\t\t\t\t\t\t\tthat.saveChunkedForm(chunks, res.requesting, jsAction, action, formId, false);\n\t\t\t\t\t\t} else if ( res.batch_complete ) {\n\t\t\t\t\t\t\t/**\n\t\t\t\t\t\t\t * We need to respond with data to make the\n\t\t\t\t\t\t\t * publish button return to gray\n */\n\t\t\t\t\t\t\tthat.handleFinalResponse(response, action);\n\t\t\t\t\t\t}\n\t\t\t\t\t} catch ( exception ) {\n\t\t\t\t\t\tconsole.log( 'There was an error in parsing the' +\n\t\t\t\t\t\t\t' response');\n\t\t\t\t\t\tconsole.log( exception );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t).fail( function( xhr, status, error ) {\n\t\t\t\t\tconsole.log( 'There was an error sending form data' );\n\t\t\t\t\tconsole.log( error );\n\t\t\t\t\tthat.handleFinalFailure( xhr, status, error, action );\n\t\t\t\t});\n\t\t},\n\n\t\thandleFinalResponse: function( response, action ) {\n\t\t\ttry {\n\t\t\t\tresponse = JSON.parse( response );\n\t\t\t\tresponse.action = action;\n\n\t\t\t\t// Run anything that needs to happen after we update.\n\t\t\t\tnfRadio.channel( 'app' ).trigger( 'response:updateDB', response );\n\t\t\t\tif ( ! nfRadio.channel( 'app' ).request( 'is:mobile' ) && 'preview' == action ) {\n\t\t\t\t\t// nfRadio.channel( 'notices' ).request( 'add', 'previewUpdate', 'Preview Updated'\t);\n\t\t\t\t}\n\t\t\t} catch( exception ) {\n\t\t\t\tconsole.log( 'Something went wrong!' );\n\t\t\t\tconsole.log( exception );\n\t\t\t}\n\t\t},\n\n\t\thandleFinalFailure: function( xhr, status, error, action ) {\n\t\t\t// For previews, only log to the console.\n\t\t\tif( 'preview' == action ) {\n\t\t\t\tconsole.log( error );\n\t\t\t\treturn;\n\t\t\t}\n\t\t\t// @todo Convert alert to jBox Modal.\n\t\t\talert(xhr.status + ' ' + error + '\\r\\n' + 'An error on the server caused your form not to publish.\\r\\nPlease contact Ninja Forms Support with your PHP Error Logs.\\r\\nhttps://ninjaforms.com/contact');\n\t\t},\n\n\t\tdefaultSaveFilter: function( formContentData ) {\n\t\t\treturn formContentData.pluck( 'key' );\n\t\t}\n\n\t});\n\n\treturn controller;\n} );\n\n","/**\n * Model that represents our form data.\n * \n * @package Ninja Forms builder\n * @subpackage Fields\n * @copyright (c) 2015 WP Ninjas\n * @since 3.0\n */\ndefine( 'models/app/formModel',[], function() {\n\tvar model = Backbone.Model.extend( {\n\t\tinitialize: function() {\n\t\t\tif ( ! jQuery.isNumeric( this.get( 'id' ) ) ) {\n\t\t\t\tthis.set( 'show_publish_options', true, { silent: true } );\n\t\t\t} else {\n\t\t\t\tthis.set( 'show_publish_options', false, { silent: true } );\n\t\t\t}\n\t\t}\n\t} );\n\t\n\treturn model;\n} );\n","/**\n * Stores our form data and responds to requests for it.\n * Form data stores fields, actions, and settings.\n * \n * @package Ninja Forms builder\n * @subpackage Fields\n * @copyright (c) 2015 WP Ninjas\n * @since 3.0\n */\ndefine( 'controllers/app/formData',['models/app/formModel'], function( formModel) {\n\tvar controller = Marionette.Object.extend( {\n\t\tinitialize: function() {\n\t\t\t// Instantiate Form Model\n\t\t\tthis.model = new formModel( { id: preloadedFormData.id } );\n\t\t\t// Set our field collection\n\t\t\tthis.model.set( 'fields', nfRadio.channel( 'fields' ).request( 'get:collection' ) );\n\t\t\t// Set our actions collection\n\t\t\tthis.model.set( 'actions', nfRadio.channel( 'actions' ).request( 'get:collection' ) );\n\t\t\t// Set our settings collection\n\t\t\tthis.model.set( 'settings', nfRadio.channel( 'settings' ).request( 'get:settings' ) );\n\t\t\t// Respond to requests for form data.\n\t\t\tnfRadio.channel( 'app' ).reply( 'get:formModel', this.getFormModel, this );\n\t\t},\n\n\t\t/**\n\t\t * Return form data model.\n\t\t * \n\t\t * @since 3.0\n\t\t * @return backbone.model\n\t\t */\n\t\tgetFormModel: function() {\n\t\t\treturn this.model;\n\t\t}\n\n\t});\n\n\treturn controller;\n} );\n","/**\n * Handles changing our preview link when we change the 'clean' state of our app.\n * \n * @package Ninja Forms builder\n * @subpackage Fields\n * @copyright (c) 2015 WP Ninjas\n * @since 3.0\n */\ndefine( 'controllers/app/previewLink',[], function() {\n\tvar controller = Marionette.Object.extend( {\n\t\tinitialize: function() {\n\t\t\t// Listen for events that would change our preview link\n\t\t\tthis.listenTo( nfRadio.channel( 'app' ), 'before:sendChanges', this.disablePreview, this );\n\t\t\tthis.listenTo( nfRadio.channel( 'app' ), 'response:sendChanges', this.enablePreview, this );\n\t\t\tthis.listenTo( nfRadio.channel( 'app' ), 'change:clean', this.changePreviewNicename, this );\n\t\t},\n\n\t\t/**\n\t\t * Disable our preview link before we send data to update our preview.\n\t\t * \n\t\t * @since 3.0\n\t\t * @return void\n\t\t */\n\t\tdisablePreview: function() {\n\t\t\t// Get our preview domain\n\t\t\tvar appDomains = nfRadio.channel( 'app' ).request( 'get:domainCollection' );\n\t\t\tvar preview = appDomains.get( 'preview' );\n\t\t\t// Set disabled to true. This will trigger the preview link view to redraw.\n\t\t\tpreview.set( 'disabled', true );\n\t\t},\n\n\t\t/**\n\t\t * Change the preview link text from \"Preview Form\" to \"Preview Changes\" or vice-versa\n\t\t * \n\t\t * @since 3.0\n\t\t * @param boolean \tclean app data state\n\t\t * @return void\n\t\t */\n\t\tchangePreviewNicename: function( clean ) {\n\t\t\t// Get our preview domain\n\t\t\tvar appDomains = nfRadio.channel( 'app' ).request( 'get:domainCollection' );\n\t\t\tvar preview = appDomains.get( 'preview' );\n\n\t\t\t// If we have unsaved changes, set our text to 'changes' otherwise, set it to 'form'\n\t\t\tif ( ! clean ) {\n\t\t\t\tvar nicename = 'Preview Changes';\n\t\t\t} else {\n\t\t\t\tvar nicename = 'Preview Form';\n\t\t\t}\n\n\t\t\tpreview.set( 'nicename', nicename );\n\t\t},\n\n\t\t/**\n\t\t * Enable our preview button.\n\t\t * This is triggered when we get a response from our preview update.\n\t\t * \n\t\t * @since 3.0\n\t\t * @return void\n\t\t */\n\t\tenablePreview: function() {\n\t\t\t// Get our preview domain\n\t\t\tvar appDomains = nfRadio.channel( 'app' ).request( 'get:domainCollection' );\n\t\t\tvar preview = appDomains.get( 'preview' );\n\t\t\t// Set disabled to false. This will trigger the preview link view to redraw.\n\t\t\tpreview.set( 'disabled', false );\n\t\t}\n\n\t});\n\n\treturn controller;\n} );\n","/**\n * Listens to our app channel for requests to change the current domain.\n *\n * The app menu and the main submenu both contain clickable links that change the current domain.\n * \n * @package Ninja Forms builder\n * @subpackage Main App\n * @copyright (c) 2015 WP Ninjas\n * @since 3.0\n */\ndefine( 'controllers/app/menuButtons',[], function() {\n\tvar controller = Marionette.Object.extend( {\n\t\tinitialize: function() {\n\t\t\tthis.listenTo( nfRadio.channel( 'app' ), 'click:publish', this.publish );\n\t\t\tthis.listenTo( nfRadio.channel( 'app' ), 'click:viewChanges', this.viewChanges );\n\t\t},\n\n\t\tpublish: function() {\n\t\t\tnfRadio.channel( 'app' ).request( 'update:db', 'publish' );\n\t\t},\n\n\t\tviewChanges: function() {\n\t\t\tvar changeCollection = nfRadio.channel( 'changes' ).request( 'get:collection' );\n\t\t\tnfRadio.channel( 'app' ).request( 'open:drawer', 'viewChanges', { collection: changeCollection } );\n\t\t}\n\n\t});\n\n\treturn controller;\n} );\n","/**\n * Model that represents our change data.\n * \n * @package Ninja Forms builder\n * @subpackage Fields\n * @copyright (c) 2015 WP Ninjas\n * @since 3.0\n */\ndefine( 'models/app/changeModel',[], function() {\n\tvar model = Backbone.Model.extend( {\n\t\tdefaults: {\n\t\t\tdisabled: false\n\t\t}\n\t} );\n\t\n\treturn model;\n} );\n","/**\n * Holds all of our change models.\n * \n * @package Ninja Forms builder\n * @subpackage Fields\n * @copyright (c) 2015 WP Ninjas\n * @since 3.0\n */\ndefine( 'models/app/changeCollection',['models/app/changeModel'], function( domainModel ) {\n\tvar collection = Backbone.Collection.extend( {\n\t\tmodel: domainModel,\n\n\t\tcomparator: function( model ) {\n\t\t\tvar id = parseInt( model.cid.replace( 'c', '' ) );\n\t\t\treturn -id;\n\t\t}\n\t} );\n\treturn collection;\n} );\n","/**\n * Track settings changes across our app.\n * \n * @package Ninja Forms builder\n * @subpackage Main App\n * @copyright (c) 2015 WP Ninjas\n * @since 3.0\n */\ndefine( 'controllers/app/trackChanges',['models/app/changeCollection', 'models/app/changeModel'], function( changeCollection, ChangeModel ) {\n\tvar controller = Marionette.Object.extend( {\n\t\tinitialize: function() {\n\t\t\tthis.collection = new changeCollection();\n\t\t\t// Respond to any requests to add a change directly.\n\t\t\tnfRadio.channel( 'changes' ).reply( 'register:change', this.registerChange, this );\n\t\t\t// Respond to requests for the change collection\n\t\t\tnfRadio.channel( 'changes' ).reply( 'get:collection', this.getCollection, this );\n\t\t\t// Listen for changes in our clean state. If it goes to clean, clear our collection.\n\t\t\tthis.listenTo( nfRadio.channel( 'app' ), 'change:clean', this.maybeResetCollection );\n\t\t},\n\n\t\tregisterChange: function( action, model, changes, label, data ) {\n\t\t\tvar data = typeof data !== 'undefined' ? data : {};\n\t\t\tif ( 'undefined' == typeof label.dashicon ) {\n\t\t\t\tlabel.dashicon = 'admin-generic';\n\t\t\t}\n\t\t\tvar changeModel = new ChangeModel({\n\t\t\t\taction: action,\n\t\t\t\tmodel: model,\n\t\t\t\tchanges: changes,\n\t\t\t\tlabel: label,\n\t\t\t\tdata: data\t\t\n\t\t\t} );\n\t\t\tthis.collection.add( changeModel );\n\t\t\treturn changeModel;\n\t\t},\n\n\t\tgetCollection: function() {\n\t\t\treturn this.collection;\n\t\t},\n\n\t\tmaybeResetCollection: function( clean ) {\n\t\t\tif ( clean ) {\n\t\t\t\tthis.collection.reset();\n\t\t\t}\n\t\t}\n\n\t});\n\n\treturn controller;\n} );\n","define( 'controllers/app/undoChanges',[], function() {\n\tvar controller = Marionette.Object.extend( {\n\t\tinitialize: function() {\n\t\t\tthis.listenTo( nfRadio.channel( 'drawer' ), 'click:undoChanges', this.undoChanges, this );\n\t\t\tthis.listenTo( nfRadio.channel( 'drawer' ), 'click:undoSingle', this.undoSingle, this );\n\t\t},\n\n\t\tundoChanges: function() {\n\t\t\tvar changeCollection = nfRadio.channel( 'changes' ).request( 'get:collection' );\n\t\t\tchangeCollection.sort();\n\t\t\tvar that = this;\n\t\t\t_.each( changeCollection.models, function( change ) {\n\t\t\t\tthat.undoSingle( change, true );\n\t\t\t} );\n\t\t\tchangeCollection.reset();\n\t\t\t// Update preview.\n\t\t\tnfRadio.channel( 'app' ).request( 'update:db' );\t\t\t\n\t\t\tnfRadio.channel( 'app' ).request( 'update:setting', 'clean', true );\n\t\t\tnfRadio.channel( 'app' ).request( 'close:drawer' );\n this.dispatchClick();\n\t\t},\n\n\t\tundoSingle: function( change, undoAll ) {\n\t\t\tnfRadio.channel( 'changes' ).request( 'undo:' + change.get( 'action' ), change, undoAll );\n this.dispatchClick();\n\t\t},\n \n dispatchClick: function() {\n // If we already have a cookie, exit.\n if ( document.cookie.includes( 'nf_undo' ) ) return;\n // Otherwise, prepare our cookie.\n var cname = \"nf_undo\";\n var d = new Date();\n // Set expiration at 1 week.\n d.setTime( d.getTime() + ( 7*24*60*60*1000 ) );\n var expires = \"expires=\"+ d.toUTCString();\n // Bake the cookie.\n document.cookie = cname + \"=1;\" + expires + \";path=/\";\n var data = {\n action: 'nf_undo_click',\n security: nfAdmin.ajaxNonce\n }\n // Make our AJAX call.\n jQuery.post( ajaxurl, data );\n }\n\n\t});\n\n\treturn controller;\n} );\n","/**\n * Listens for our update:db response and replaces tmp ids with new ids if we were performing the publish action.\n * \n * @package Ninja Forms builder\n * @subpackage Main App\n * @copyright (c) 2015 WP Ninjas\n * @since 3.0\n */\ndefine( 'controllers/app/publishResponse',[], function() {\n\tvar controller = Marionette.Object.extend( {\n\t\tinitialize: function() {\n\t\t\t// Listen to our app channel for the updateDB response.\n\t\t\tthis.listenTo( nfRadio.channel( 'app' ), 'response:updateDB', this.publishResponse );\n\t\t},\n\n\t\tpublishResponse: function( response ) {\n\t\t\t// If we aren't performing a publish action, bail.\n\t\t\tif ( 'publish' !== response.action ) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\t\n\t\t\t// Check to see if we have any new ids. \n\t\t\tif ( 'undefined' != typeof response.data.new_ids ) {\n\n\t\t\t\t// If we have any new fields, update their models with the new id.\n\t\t\t\tif ( 'undefined' != typeof response.data.new_ids.fields ) {\n\t\t\t\t\t_.each( response.data.new_ids.fields, function( newID, oldID ) {\n\t\t\t\t\t\tvar field = nfRadio.channel( 'fields' ).request( 'get:field', oldID );\n\t\t\t\t\t\tif ( field ) {\n\t\t\t\t\t\t\tfield.set( 'id', newID );\n\t\t\t\t\t\t}\n\t\t\t\t\t} );\n\t\t\t\t}\n\n\t\t\t\t// If we have any new actions, update their models with the new id.\n\t\t\t\tif ( 'undefined' != typeof response.data.new_ids.actions ) {\n\t\t\t\t\t_.each( response.data.new_ids.actions, function( newID, oldID ) {\n\t\t\t\t\t\tvar action = nfRadio.channel( 'actions' ).request( 'get:action', oldID );\n\t\t\t\t\t\tif ( action ) {\n\t\t\t\t\t\t\taction.set( 'id', newID );\n\t\t\t\t\t\t}\n\t\t\t\t\t} );\n\t\t\t\t}\n\n\t\t\t\t// If we have a new form id, update the model with the new id.\n\t\t\t\tif ( 'undefined' != typeof response.data.new_ids.forms ) {\n\t\t\t\t\t_.each( response.data.new_ids.forms, function( newID, oldID ) {\n\t\t\t\t\t\tvar formModel = nfRadio.channel( 'app' ).request( 'get:formModel' );\n\t\t\t\t\t\tformModel.set( 'id', newID );\n\t\t\t\t\t\thistory.replaceState( '', '', 'admin.php?page=ninja-forms&form_id=' + newID );\n\t\t\t\t\t} );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tnfRadio.channel( 'app' ).request( 'update:setting', 'loading', false );\n\t\t\tnfRadio.channel( 'app' ).trigger( 'change:loading' );\n\n\t\t\t// If we're on mobile, show a notice that we're publishing\n\t\t\tif ( nfRadio.channel( 'app' ).request( 'is:mobile' ) ) {\n\t\t\t\tnfRadio.channel( 'notices' ).request( 'close', 'publishing' );\n\t\t\t}\n\t\t\t// Add a notice that we've published.\n//\t\t\tnfRadio.channel( 'notices' ).request( 'add', 'published', 'Changes Published' );\n\t\t\tnfRadio.channel( 'app' ).trigger( 'app:published', response );\n\n\t\t\t// Mark our app as clean. This will disable the publish button and fire anything else that cares about the state.\n\t\t\tnfRadio.channel( 'app' ).request( 'update:setting', 'clean', true );\n\t\t}\n\t\t\n\t});\n\n\treturn controller;\n} );\n","/**\n * Listens to our app channel for requests to change the current domain.\n *\n * The app menu and the main submenu both contain clickable links that change the current domain.\n * \n * @package Ninja Forms builder\n * @subpackage Main App\n * @copyright (c) 2015 WP Ninjas\n * @since 3.0\n */\ndefine( 'controllers/app/changeDomain',[], function() {\n\tvar controller = Marionette.Object.extend( {\n\t\tinitialize: function() {\n\t\t\t// Listen for both menu and submenu clicks.\n\t\t\tthis.listenTo( nfRadio.channel( 'app' ), 'click:menu', this.changeAppDomain );\n\t\t\t// Reply to specific requests to change the domain\n\t\t\tnfRadio.channel( 'app' ).reply( 'change:currentDomain', this.changeAppDomain, this );\n\n\t\t\t// Reply to requests to prevent our drawer from closing\n\t\t\tnfRadio.channel( 'app' ).reply( 'prevent:changeDomain', this.preventChange, this );\n\t\t\t// Reply to requests to enable drawer closing\n\t\t\tnfRadio.channel( 'app' ).reply( 'enable:changeDomain', this.enableChange, this );\n\n\t\t\t/*\n\t\t\t * Object that holds our array of 'prevent change' values.\n\t\t\t * We use an array so that registered requests can unregister and not affect each other.\n\t\t\t */\n\t\t\tthis.objPreventChange = {};\n\t\t},\n\n\t\tchangeAppDomain: function( e, model ) {\n\t\t\t/*\n\t\t\t * If we have disabled movement between domains, return false.\n\t\t\t */\n\t\t\tif ( this.maybePreventChange() ) {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\t/*\n\t\t\t * If we are passed a model, use that model.\n\t\t\t * Otherwise, get the domain from the event target data.\n\t\t\t */ \n\t\t\tif ( 'undefined' == typeof model ) {\n\t\t\t\tvar domainID = jQuery( e.target ).data( 'domain' );\n\t\t\t\tvar model = nfRadio.channel( 'app' ).request( 'get:domainModel', domainID );\n\t\t\t}\n\t\t\t// If a drawer is open, close it.\n\t\t\tif ( nfRadio.channel( 'app' ).request( 'get:currentDrawer' ) ) {\n\t\t\t\tnfRadio.channel( 'app' ).request( 'close:drawer' );\n\t\t\t}\n\t\t\t/*\n\t\t\t * If we aren't dealing with an external url (such as preview), update our app data\n\t\t\t * and trigger a radio message saying we've changed the domain.\n\t\t\t */ \n\t\t\tif ( 0 == model.get( 'url' ).length ) {\n\t\t\t\tvar mainEl = nfRadio.channel( 'app' ).request( 'get:mainEl' );\n\t\t\t\tnfRadio.channel( 'app' ).request( 'update:currentDomain', model );\n\t\t\t\tjQuery( mainEl ).scrollTop( 0 );\t\t\t\t\n\t\t\t\tnfRadio.channel( 'app' ).trigger( 'change:currentDomain', model );\n\t\t\t}\n\t\t},\n\n\t\t/**\n * Check to see if anything has registered a key to prevent changing the domain.\n * \n * @since 3.0\n * @return boolean\n */\n maybePreventChange: function() {\n \tif ( 0 == Object.keys( this.objPreventChange ).length ) {\n \t\treturn false;\n \t} else {\n \t\treturn true;\n \t}\n },\n\n /**\n * Register a key to prevent changing the domain.\n * \n * @since 3.0\n * @param string \tkey unique id for our 'prevent change domain' setting.\n * @return void\n */\n preventChange: function( key ) {\n \tthis.objPreventChange[ key ] = true;\n },\n\n /**\n * Remove a previously registered key that is preventing our domain from changing.\n * \n * @since 3.0\n * @param string \tkey unique id for our 'prevent change domain' setting.\n * @return void\n */\n enableChange: function( key ) {\n \tdelete this.objPreventChange[ key ];\n },\n\n\t});\n\n\treturn controller;\n} );\n","/**\n * Modify the user's browser history when they click on a domain\n * \n * @package Ninja Forms builder\n * @subpackage Main App\n * @copyright (c) 2015 WP Ninjas\n * @since 3.0\n */\ndefine( 'controllers/app/pushstate',[], function() {\n\tvar controller = Marionette.Object.extend( {\n\t\tinitialize: function() {\n\t\t\tthis.listenTo( nfRadio.channel( 'app' ), 'change:currentDomain', this.changePushState );\n\t\t},\n\n\t\tchangePushState: function() {\n\t\t\tvar currentDomain = nfRadio.channel( 'app' ).request( 'get:currentDomain' );\n\t\t\thistory.pushState( null, null, window.location.href + '&domain=' + currentDomain.get( 'id' ) );\n\t\t\tvar reExp = /domain=\\\\d+/;\n\t\t\tvar url = window.location.toString();\n\t\t\tvar newUrl = url.replace( reExp, '' );\n\t\t\tconsole.log( newUrl );\n\t\t}\n\n\t});\n\n\treturn controller;\n} );\n","/**\n * Handles our hotkey execution. Needs to be cleaned up and made more programmatic.\n * \n * Our hotkeys are defined by the domain that we're currently viewing. In each domain's model, there is a hotkey object.\n * \n * Currently too much hotkey data is hard-coded here.\n * \n * @package Ninja Forms builder\n * @subpackage Fields\n * @copyright (c) 2015 WP Ninjas\n * @since 3.0\n */\ndefine( 'controllers/app/hotkeys',[], function() {\n\tvar controller = Marionette.Object.extend( {\n\t\tinitialize: function() {\n\t\t\t// When we change our domain, change the hotkeys to those within that object.\n\t\t\tthis.listenTo( nfRadio.channel( 'main' ), 'render:main', this.changeHotkeys );\n\t\t\tthis.listenTo( nfRadio.channel( 'drawer' ), 'opened', this.changeHotkeys );\n\t\t\tthis.listenTo( nfRadio.channel( 'drawer' ), 'render:settingGroup', this.changeHotkeys );\n\t\t\t// Currently, these are the functions that run when the new field or new action hotkey is pressed.\n\t\t\t// TODO: move these into a config module or into something more programmatic and scalable.\n\t\t\tthis.listenTo( nfRadio.channel( 'hotkeys' ), 'add:newField', this.addNewField );\n\t\t\tthis.listenTo( nfRadio.channel( 'hotkeys' ), 'add:newAction', this.addNewAction );\n\t\t\t// Same as above, these functions need to be moved into a more modular/programmatic solution.\n\t\t\tthis.listenTo( nfRadio.channel( 'hotkeys' ), 'changeDomain:fields', this.changeDomainFields );\n\t\t\tthis.listenTo( nfRadio.channel( 'hotkeys' ), 'changeDomain:actions', this.changeDomainActions );\n\t\t\tthis.listenTo( nfRadio.channel( 'hotkeys' ), 'changeDomain:settings', this.changeDomainSettings );\n\t\t\tthis.listenTo( nfRadio.channel( 'hotkeys' ), 'close:drawer', this.closeDrawer );\n\t\t},\n\n\t\tchangeHotkeys: function() {\n\t\t\tvar currentDomain = nfRadio.channel( 'app' ).request( 'get:currentDomain' );\n\t\t\tjQuery( document ).off( '.nfDomainHotkeys' );\n\t\t\tjQuery( 'input' ).off( '.nfDomainHotkeys' );\n\t\t\tif ( currentDomain.get( 'hotkeys' ) ) {\n\t\t\t\tjQuery.each( currentDomain.get( 'hotkeys' ), function( hotkey, msg ) {\n\t\t\t\t\tjQuery( document ).on( 'keydown.nfDomainHotkeys', null, hotkey, function( e ) {\n\t\t\t\t\t\tnfRadio.channel( 'hotkeys' ).trigger( msg, e );\n\t\t\t\t\t} );\n\t\t\t\t\tjQuery( 'input' ).on( 'keydown.nfDomainHotkeys', null, hotkey, function( e ) {\n\t\t\t\t\t\tnfRadio.channel( 'hotkeys' ).trigger( msg, e );\n\t\t\t\t\t} );\n\t\t\t\t\tjQuery( 'textarea' ).on( 'keydown.nfDomainHotkeys', null, hotkey, function( e ) {\n\t\t\t\t\t\tnfRadio.channel( 'hotkeys' ).trigger( msg, e );\n\t\t\t\t\t} );\n\t\t\t\t} );\n\t\t\t}\n\t\t},\n\n\t\taddNewField: function() {\n\t\t\tif ( 'addField' != nfRadio.channel( 'app' ).request( 'get:currentDrawer' ) ) {\n\t\t\t\tnfRadio.channel( 'app' ).request( 'open:drawer', 'addField' );\n\t\t\t} else {\n\t\t\t\tnfRadio.channel( 'app' ).request( 'close:drawer' );\n\t\t\t}\n\t\t\t\n\t\t},\n\n\t\taddNewAction: function() {\n\t\t\tif ( 'addAction' != nfRadio.channel( 'app' ).request( 'get:currentDrawer' ) ) {\n\t\t\t\tnfRadio.channel( 'app' ).request( 'open:drawer', 'addAction' );\n\t\t\t} else {\n\t\t\t\tnfRadio.channel( 'app' ).request( 'close:drawer' );\n\t\t\t}\n\t\t},\n\n\t\tchangeDomainFields: function() {\n\t\t\tvar appDomainCollection = nfRadio.channel( 'app' ).request( 'get:domainCollection' );\n\t\t\tvar fieldsDomain = appDomainCollection.get( 'fields' );\n\t\t\tnfRadio.channel( 'app' ).request( 'change:currentDomain', {}, fieldsDomain );\n\t\t},\n\n\t\tchangeDomainActions: function() {\n\t\t\tvar appDomainCollection = nfRadio.channel( 'app' ).request( 'get:domainCollection' );\n\t\t\tvar actionsDomain = appDomainCollection.get( 'actions' );\n\t\t\tnfRadio.channel( 'app' ).request( 'change:currentDomain', {}, actionsDomain );\n\t\t},\n\n\t\tchangeDomainSettings: function() {\n\t\t\tvar appDomainCollection = nfRadio.channel( 'app' ).request( 'get:domainCollection' );\n\t\t\tvar settingsDomain = appDomainCollection.get( 'settings' );\n\t\t\tnfRadio.channel( 'app' ).request( 'change:currentDomain', {}, settingsDomain );\n\t\t},\n\n\t\tcloseDrawer: function() {\n\t\t\tnfRadio.channel( 'app' ).request( 'close:drawer' );\n\t\t}\n\n\t});\n\n\treturn controller;\n} );\n","/**\n * Change the clean state of our app when settings are changed.\n * \n * @package Ninja Forms builder\n * @subpackage Main App\n * @copyright (c) 2015 WP Ninjas\n * @since 3.0\n */\ndefine( 'controllers/app/cleanState',[], function() {\n\tvar controller = Marionette.Object.extend( {\n\t\tinitialize: function() {\n\t\t\t/*\n\t\t\t * Set an array of field model attributes to ignore.\n\t\t\t * This list will be filtered just before we ignore anything.\n\t\t\t */ \n\t\t\tthis.ignoreAttributes = [\n\t\t\t\t'editActive'\n\t\t\t];\n\n\t\t\tthis.listenTo( nfRadio.channel( 'app' ), 'update:setting', this.setAppClean );\n\t\t},\n\n\t\tsetAppClean: function( model ) {\n\t\t\tfor( var attr in model.changedAttributes() ) {\n\t\t\t\tvar changedAttr = attr;\n\t\t\t\tvar after = model.changedAttributes()[ attr ];\n\t\t\t}\n\n\t\t\tvar ignoreAttributes = nfRadio.channel( 'undo-' + model.get( 'type' ) ).request( 'ignore:attributes', this.ignoreAttributes ) || this.ignoreAttributes;\n\t\t\t\n\t\t\tif ( -1 != this.ignoreAttributes.indexOf( attr ) ) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tnfRadio.channel( 'app' ).request( 'update:setting', 'clean', false );\n\t\t}\n\n\t});\n\n\treturn controller;\n} );\n","/**\n * All of the core undo functions. Listens on the 'changes' channel for an undo request.\n * \n * @package Ninja Forms builder\n * @subpackage Main App\n * @copyright (c) 2015 WP Ninjas\n * @since 3.0\n */\ndefine( 'controllers/app/coreUndo',[], function() {\n\tvar controller = Marionette.Object.extend( {\n\t\tinitialize: function() {\n\t\t\tnfRadio.channel( 'changes' ).reply( 'undo:changeSetting', this.undoChangeSetting, this );\n\t\t\tnfRadio.channel( 'changes' ).reply( 'undo:addObject', this.undoAddObject, this );\n\t\t\tnfRadio.channel( 'changes' ).reply( 'undo:removeObject', this.undoRemoveObject, this );\n\t\t\tnfRadio.channel( 'changes' ).reply( 'undo:duplicateObject', this.undoDuplicateObject, this );\n\n\t\t\tnfRadio.channel( 'changes' ).reply( 'undo:sortFields', this.undoSortFields, this );\n\t\t\tnfRadio.channel( 'changes' ).reply( 'undo:addListOption', this.undoAddListOption, this );\n\t\t\tnfRadio.channel( 'changes' ).reply( 'undo:removeListOption', this.undoRemoveListOption, this );\n\t\t\tnfRadio.channel( 'changes' ).reply( 'undo:sortListOptions', this.undoSortListOptions, this );\n\t\t},\n\n\t\t/**\n\t\t * Undo settings that have been changed.\n\t\t * \n\t\t * @since 3.0\n\t\t * @param backbone.model \tchange \tmodel of our change\n\t\t * @param boolean \t\t\tundoAll are we in the middle of an undo all action?\n\t\t * @return void\n\t\t */\n\t\tundoChangeSetting: function( change, undoAll ) {\n\t\t\tvar fieldModel = change.get( 'model' );\n\t\t\tvar changes = change.get( 'changes' );\n\t\t\tvar attr = changes.attr;\n\t\t\tvar before = changes.before;\n\t\t\tfieldModel.set( attr, before );\n\t\t\tthis.maybeRemoveChange( change, undoAll );\n\t\t},\n\n\t\t/**\n\t\t * Undo adding a field or an action.\n\t\t * Loops through our change collection and removes any change models based upon the one we're removing.\n\t\t * \n\t\t * @since 3.0\n\t\t * @param backbone.model \tchange \tmodel of our change\n\t\t * @param boolean \t\t\tundoAll are we in the middle of an undo all action?\n\t\t * @return void\n\t\t */\n\t\tundoAddObject: function( change, undoAll ) {\n\t\t\tvar objectModel = change.get( 'model' );\n\t\t\tvar collection = change.get( 'data' ).collection;\n\n\t\t\tif ( 'undefined' != typeof collection.newIDs ) {\n\t\t\t\tdelete collection.newIDs[ objectModel.get( 'id' ) ];\n\t\t\t}\n\t\t\t\t\t\t\n\t\t\tif ( ! undoAll ) {\n\t\t\t\tvar changeCollection = nfRadio.channel( 'changes' ).request( 'get:collection' );\n\t\t\t\tvar results = changeCollection.where( { model: objectModel } );\n\n\t\t\t\t_.each( results, function( model ) {\n\t\t\t\t\tif ( model !== change ) {\n\t\t\t\t\t\tchangeCollection.remove( model );\n\t\t\t\t\t}\n\t\t\t\t} );\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\tcollection.remove( objectModel );\n\t\t\tthis.maybeRemoveChange( change, undoAll );\n\t\t},\t\t\n\n\t\t/**\n\t\t * Undo adding a field or an action.\n\t\t * Loops through our change collection and removes any change models based upon the one we're removing.\n\t\t * \n\t\t * @since 3.0\n\t\t * @param backbone.model \tchange \tmodel of our change\n\t\t * @param boolean \t\t\tundoAll are we in the middle of an undo all action?\n\t\t * @return void\n\t\t */\n\t\tundoDuplicateObject: function( change, undoAll ) {\n\t\t\tvar objectModel = change.get( 'model' );\n\t\t\tvar objectCollection = change.get( 'data' ).collection;\n\n\t\t\tif ( ! undoAll ) {\n\t\t\t\tvar changeCollection = nfRadio.channel( 'changes' ).request( 'get:collection' );\n\t\t\t\tvar results = changeCollection.where( { model: objectModel } );\n\n\t\t\t\t_.each( results, function( model ) {\n\t\t\t\t\tif ( model !== change ) {\n\t\t\t\t\t\tchangeCollection.remove( model );\n\t\t\t\t\t}\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\tobjectCollection.remove( objectModel );\n\t\t\tthis.maybeRemoveChange( change, undoAll );\n\t\t},\n\n\t\t/**\n\t\t * Undo removing a field or an action.\n\t\t * \n\t\t * @since 3.0\n\t\t * @param backbone.model \tchange \tmodel of our change\n\t\t * @param boolean \t\t\tundoAll are we in the middle of an undo all action?\n\t\t * @return void\n\t\t */\n\t\tundoRemoveObject: function( change, undoAll ) {\n\t\t\tvar dataModel = change.get( 'model' );\n\t\t\tvar collection = change.get( 'data' ).collection;\n\n\t\t\tnfRadio.channel( dataModel.get( 'objectDomain' ) ).request( 'add', dataModel );\n\n\t\t\tdelete collection.removedIDs[ dataModel.get( 'id' ) ];\n\t\t\t\n\t\t\tif ( ! undoAll ) {\n\t\t\t\tvar changeCollection = nfRadio.channel( 'changes' ).request( 'get:collection' );\n\t\t\t\tvar results = changeCollection.where( { model: dataModel } );\n\n\t\t\t\t_.each( results, function( model ) {\n\t\t\t\t\tif ( model !== change ) {\n\t\t\t\t\t\tmodel.set( 'disabled', false );\n\t\t\t\t\t}\n\t\t\t\t} );\t\t\t\t\n\t\t\t}\n\n\t\t\t// Trigger a reset on our field collection so that our view re-renders\n\t\t\tcollection.trigger( 'reset', collection );\n\n\t\t\tthis.maybeRemoveChange( change, undoAll );\n\t\t},\n\n\t\t/**\n\t\t * Undo field sorting.\n\t\t * \n\t\t * @since 3.0\n\t\t * @param backbone.model \tchange \tmodel of our change\n\t\t * @param boolean \t\t\tundoAll are we in the middle of an undo all action?\n\t\t * @return void\n\t\t */\n\t\tundoSortFields: function( change, undoAll ) {\n\t\t\tvar data = change.get( 'data' );\n\t\t\tvar fields = data.fields;\n\n\t\t\tvar fieldCollection = nfRadio.channel( 'fields' ).request( 'get:collection' );\n\t\t\t_.each( fields, function( changeModel ) {\n\t\t\t\tvar before = changeModel.before;\n\t\t\t\tvar fieldModel = changeModel.model;\n\t\t\t\tfieldModel.set( 'order', before );\n\t\t\t\t// console.log( 'set ' + fieldModel.get( 'label' ) + ' to ' + before );\n\t\t\t} );\n\t\t\t// console.log( fieldCollection.where( { label: 'Name' } ) );\n\t\t\t// console.log( fieldCollection.where( { label: 'Email' } ) );\n\n\n\t\t\tfieldCollection.sort();\n\t\t\tthis.maybeRemoveChange( change, undoAll );\n\t\t},\n\n\t\tundoAddListOption: function( change, undoAll ) {\n\t\t\tvar model = change.get( 'model' );\n\n\t\t\tif ( ! undoAll ) {\n\t\t\t\tvar changeCollection = nfRadio.channel( 'changes' ).request( 'get:collection' );\n\t\t\t\tvar results = changeCollection.where( { model: model } );\n\n\t\t\t\t_.each( results, function( changeModel ) {\n\t\t\t\t\tif ( changeModel !== change ) {\n\t\t\t\t\t\tchangeCollection.remove( changeModel );\n\t\t\t\t\t}\n\t\t\t\t} );\t\t\t\t\n\t\t\t}\n\n\t\t\tmodel.collection.remove( model );\n\t\t\tthis.maybeRemoveChange( change, undoAll );\n\t\t},\n\n\t\tundoRemoveListOption: function( change, undoAll ) {\n\t\t\tvar model = change.get( 'model' );\n\t\t\tvar collection = change.get( 'data' ).collection;\n\t\t\tcollection.add( model );\n\n\t\t\tif ( ! undoAll ) {\n\t\t\t\tvar changeCollection = nfRadio.channel( 'changes' ).request( 'get:collection' );\n\t\t\t\tvar results = changeCollection.where( { model: model } );\n\n\t\t\t\t_.each( results, function( model ) {\n\t\t\t\t\tif ( model !== change ) {\n\t\t\t\t\t\tmodel.set( 'disabled', false );\n\t\t\t\t\t}\n\t\t\t\t} );\t\t\t\t\n\t\t\t}\n\n\t\t\tthis.maybeRemoveChange( change, undoAll );\n\t\t},\n\n\t\tundoSortListOptions: function( change, undoAll ) {\n\t\t\tvar data = change.get( 'data' );\n\t\t\tvar collection = data.collection;\n\t\t\t\n\t\t\tvar objModels = data.objModels;\n\n\t\t\t_.each( objModels, function( changeModel ) {\n\t\t\t\tvar before = changeModel.before;\n\t\t\t\tvar optionModel = changeModel.model;\n\t\t\t\toptionModel.set( 'order', before );\n\t\t\t} );\t\t\t\t\n\n\n\t\t\tcollection.sort();\n\t\t\tthis.maybeRemoveChange( change, undoAll );\n\t\t},\n\n\t\t/**\n\t\t * If our undo action was requested to 'remove' the change from the collection, remove it.\n\t\t * \n\t\t * @since 3.0\n\t\t * @param backbone.model \tchange \tmodel of our change\n\t\t * @param boolean \t\t\tremove \tshould we remove this item from our change collection\n\t\t * @return void\n\t\t */\n\t\tmaybeRemoveChange: function( change, undoAll ) {\t\t\t\n\t\t\tvar undoAll = typeof undoAll !== 'undefined' ? undoAll : false;\n\t\t\tif ( ! undoAll ) {\n\t\t\t\t// Update preview.\n\t\t\t\tnfRadio.channel( 'app' ).request( 'update:db' );\n\t\t\t\tvar changeCollection = nfRadio.channel( 'changes' ).request( 'get:collection' );\n\t\t\t\tchangeCollection.remove( change );\n\t\t\t\tif ( 0 == changeCollection.length ) {\n\t\t\t\t\tnfRadio.channel( 'app' ).request( 'update:setting', 'clean', true );\n\t\t\t\t\tnfRadio.channel( 'app' ).request( 'close:drawer' );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t});\n\n\treturn controller;\n} );\n","/**\n * Returns a clone of a backbone model with all the attributes looped through so that collections contained within are propely cloned.\n * \n * @package Ninja Forms builder\n * @subpackage Main App\n * @copyright (c) 2015 WP Ninjas\n * @since 3.0\n */\ndefine( 'controllers/app/cloneModelDeep',[], function() {\n\tvar controller = Marionette.Object.extend( {\n\t\tinitialize: function() {\n\t\t\tnfRadio.channel( 'app' ).reply( 'clone:modelDeep', this.cloneModelDeep, this );\n\t\t},\n\n\t\tcloneModelDeep: function( model ) {\n\t\t\t// Temporary value used to store any new collections.\n\t\t\tvar replace = {};\n\t\t\t// Loop over every model attribute and if we find a collection, clone each model and instantiate a new collection.\n\t\t\t_.each( model.attributes, function( val, key ) {\n\t\t\t\tif( val instanceof Backbone.Collection ) { // Is this a backbone collection?\n\t\t\t\t\tvar clonedCollection = nfRadio.channel( 'app' ).request( 'clone:collectionDeep', val );\n\t\t\t\t\treplace[ key ] = clonedCollection;\n\t\t\t\t} else if ( val instanceof Backbone.Model ) { // Is this a backbone model?\n\t\t\t\t\treplace[ key ] = this.cloneModelDeep( val );\n\t\t\t\t}\n\t\t\t}, this );\n\n\t\t\t// Clone our original model\n\t\t\tvar newModel = model.clone();\n\t\t\t// Overwrite any collections we created above.\n\t\t\t_.each( replace, function( val, key ) {\n\t\t\t\tnewModel.set( key, val );\n\t\t\t} );\n\n\t\t\treturn newModel;\n\t\t}\n\t});\n\n\treturn controller;\n} );\n","/**\n * Returns the appropriate child view for our settings drawer.\n *\n * This enables settings types to register custom childviews for their settings.\n * The option-repeater setting for the list field is an example.\n * \n * @package Ninja Forms builder\n * @subpackage App - Edit Settings Drawer\n * @copyright (c) 2015 WP Ninjas\n * @since 3.0\n */\ndefine( 'controllers/app/getSettingChildView',['views/app/drawer/itemSetting'], function( itemSettingView ) {\n\tvar controller = Marionette.Object.extend( {\n\t\tinitialize: function() {\n\t\t\t// Respond to requests for field settings child views.\n\t\t\tnfRadio.channel( 'app' ).reply( 'get:settingChildView', this.getSettingChildView, this );\n\t\t},\n\n\t\t/**\n\t\t * Return the appropriate child setting view.\n\t\t *\n\t\t * @since 3.0\n\t\t * @param backbone.model\tmodel \tField setting\n\t\t * @return backbone.view\n\t\t */\n\t\tgetSettingChildView: function( model ) {\n\t\t\t// Get our setting type.\n\t\t\tvar type = model.get( 'type' );\n\t\t\t// Request a setting childview from our setting type channel. (Setting type, not field type)\n\t\t\tvar settingChildView = nfRadio.channel( type ).request( 'get:settingChildView', model ) || itemSettingView;\n\t\t\t\n\t\t\treturn settingChildView\n\t\t}\n\n\t});\n\n\treturn controller;\n} );\n","/**\n * Updates our model when the user changes a setting.\n * \n * @package Ninja Forms builder\n * @subpackage Main App\n * @copyright (c) 2015 WP Ninjas\n * @since 3.0\n */\ndefine( 'controllers/app/changeSettingDefault',[], function() {\n\tvar controller = Marionette.Object.extend( {\n\t\tinitialize: function() {\n\t\t\t// Respond to requests to update settings.\n\t\t\tnfRadio.channel( 'app' ).reply( 'change:setting', this.changeSetting, this );\n\n\t\t\t// Listen on our app channel for the change setting event. Fired by the setting view.\n\t\t\tthis.listenTo( nfRadio.channel( 'app' ), 'change:setting', this.changeSetting, this );\n\t\t},\n\n\t\t/**\n\t\t * When we change our setting, update the model.\n\t\t * \n\t\t * @since 3.0\n\t\t * @param Object \t\t\te event\n\t\t * @param backbone.model \tsettingModel model that holds our field type settings info\n\t\t * @param backbone.model \tdataModel model that holds our field settings\n\t\t * @return void\n\t\t */\n\t\tchangeSetting: function( e, settingModel, dataModel, value ) {\n\t\t\tvar name = settingModel.get( 'name' );\n\t\t\tvar before = dataModel.get( name );\n\t\t\tvar value = value || null;\n\t\t\tif ( ! value ) {\n\t\t\t\t// Sends out a request on the fields-type (fields-text, fields-checkbox, etc) channel to see if that field type needs to return a special value for saving.\n\t\t\t\tvalue = nfRadio.channel( settingModel.get( 'type' ) ).request( 'before:updateSetting', e, dataModel, name, settingModel );\n\t\t\t}\n\n\t\t\tif( 'undefined' == typeof value ){\n\t\t\t value = jQuery( e.target ).val();\n }\n\t\t\t\n\t\t\t// Update our field model with the new setting value.\n\t\t\tdataModel.set( name, value, { settingModel: settingModel } );\n\t\t\tnfRadio.channel( 'setting-' + name ).trigger( 'after:updateSetting', dataModel, settingModel );\n\t\t\t// Register our setting change with our change tracker\n\t\t\tvar after = value;\n\t\t\t\n\t\t\tvar changes = {\n\t\t\t\tattr: name,\n\t\t\t\tbefore: before,\n\t\t\t\tafter: after\n\t\t\t}\n\n\t\t\tvar currentDomain = nfRadio.channel( 'app' ).request( 'get:currentDomain' );\n\t\t\tvar currentDomainID = currentDomain.get( 'id' );\n\n\t\t\tvar label = {\n\t\t\t\tobject: dataModel.get( 'objectType' ),\n\t\t\t\tlabel: dataModel.get( 'label' ),\n\t\t\t\tchange: 'Changed ' + settingModel.get( 'label' ) + ' from ' + before + ' to ' + after\n\t\t\t};\n\n\t\t\tnfRadio.channel( 'changes' ).request( 'register:change', 'changeSetting', dataModel, changes, label );\n\t\t}\n\n\t});\n\n\treturn controller;\n} );\n","define( 'views/app/drawer/typeSettingFieldset',['views/app/drawer/itemSetting'], function( itemSettingView ) {\n\tvar view = Marionette.CompositeView.extend( {\n\t\ttemplate: '#tmpl-nf-edit-setting-wrap',\n\t\tchildView: itemSettingView,\n\n\t\tinitialize: function( data ) {\n\t\t\tthis.collection = this.model.get( 'settings' );\n\t\t\tthis.childViewOptions = { dataModel: data.dataModel };\n\t\t\tthis.dataModel = data.dataModel;\n\t\t\tvar deps = this.model.get( 'deps' );\n\t\t\tif ( deps ) {\n\t\t\t\tfor ( var name in deps ) {\n\t\t\t\t if ( deps.hasOwnProperty( name ) ) {\n\t\t\t\t \tthis.dataModel.on( 'change:' + name, this.render, this );\n\t\t\t\t }\n\t\t\t\t}\n\t\t\t}\n\t\t\tthis.model.on( 'rerender', this.render, this );\n\t\t},\n\n\t\tonBeforeDestroy: function() {\n\t\t\tvar deps = this.model.get( 'deps' );\n\t\t\tif ( deps ) {\n\t\t\t\tfor (var name in deps) {\n\t\t\t\t if ( deps.hasOwnProperty( name ) ) {\n\t\t\t\t \tthis.dataModel.off( 'change:' + name, this.render );\n\t\t\t\t }\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\tonBeforeRender: function() {\n\t\t\tnfRadio.channel( 'app' ).trigger( 'before:renderSetting', this.model, this.dataModel );\n\t\t\tnfRadio.channel( 'setting-type-' + this.model.get( 'type' ) ).trigger( 'before:renderSetting', this.model, this.dataModel, this );\n\t\t\tnfRadio.channel( 'setting-' + this.model.get( 'name' ) ).trigger( 'before:renderSetting', this.model, this.dataModel, this );\n\t\t},\n\n\t\tonRender: function() {\n\t\t\t/*\n\t\t\t * Send out a radio message.\n\t\t\t */\n\t\t\tnfRadio.channel( 'setting-' + this.model.get( 'name' ) ).trigger( 'render:setting', this.model, this.dataModel, this );\n\t\t\tnfRadio.channel( 'setting-type-' + this.model.get( 'type' ) ).trigger( 'render:setting', this.model, this.dataModel, this );\n\t\t},\n\n\t\ttemplateHelpers: function () {\n\t\t\tvar that = this;\n\t \treturn {\n\t \t\trenderVisible: function() {\n\t\t\t\t\tif ( this.deps ) {\n\t\t\t\t\t\tfor (var name in this.deps) {\n\t\t\t\t\t\t if ( this.deps.hasOwnProperty( name ) ) {\n\t\t\t\t\t\t if ( that.dataModel.get( name ) !== this.deps[ name ] ) {\n\t\t\t\t\t\t \treturn 'style=\"display:none;\"';\n\t\t\t\t\t\t }\n\t\t\t\t\t\t }\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t \t\t\treturn '';\n\t \t\t},\n\t \t\trenderSetting: function(){\n\t \t\t\tvar setting = nfRadio.channel( 'app' ).request( 'get:template', '#tmpl-nf-edit-setting-' + this.type );\n\t\t\t\t\treturn setting( this );\n\t\t\t\t},\n\t\t\t\t\n\t\t\t\trenderClasses: function() {\n\t\t\t\t\tvar classes = '';\n\t\t\t\t\tif ( 'undefined' != typeof this.width ) {\n\t\t\t\t\t\tclasses += this.width;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tclasses += ' one-half';\n\t\t\t\t\t}\n\n\t\t\t\t\tif ( this.error ) {\n\t\t\t\t\t\tclasses += ' nf-error';\n\t\t\t\t\t}\n\n\t\t\t\t\treturn classes;\n\t\t\t\t},\n\n\t\t\t\trenderError: function() {\n\t\t\t\t\tif ( this.error ) {\n\t\t\t\t\t\treturn this.error;\n\t\t\t\t\t}\n\t\t\t\t\treturn '';\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\tattachHtml: function( collectionView, childView ) {\n\t\t\tjQuery( collectionView.el ).find( '.nf-field-sub-settings' ).append( childView.el );\n\t\t}\n\t} );\n\n\treturn view;\n} );\n","/**\n * Model that represents our setting.\n *\n * When the model is created, we trigger the init event in two radio channels.\n *\n * This lets specific types of settings modify the model before anything uses it.\n *\n * Fieldset, for instance, uses this hook to instantiate its settings as a collection.\n * \n * @package Ninja Forms builder\n * @subpackage App\n * @copyright (c) 2015 WP Ninjas\n * @since 3.0\n */\ndefine( 'models/app/settingModel',[], function() {\n\tvar model = Backbone.Model.extend( {\n\t\tdefaults: {\n\t\t\tsettings: false,\n\t\t\thide_merge_tags: false,\n\t\t\terror: false\n\t\t},\n\n\t\tinitialize: function() {\n\t\t\t// Send out two messages saying that we've initialized a setting model.\n\t\t\tnfRadio.channel( 'app' ).trigger( 'init:settingModel', this );\n\t\t\tnfRadio.channel( this.get( 'type' ) ).trigger( 'init:settingModel', this );\n\t\t\tnfRadio.channel( 'setting-name-' + this.get( 'name' ) ).trigger( 'init:settingModel', this );\n\t\t\tthis.on( 'change:error', this.maybePreventUI, this );\n\n\t\t\t/*\n\t\t\t * If we have an objectType set on our collection, then we're creating a model for the generic settings collection.\n\t\t\t * If we're using merge tags in this setting\n\t\t\t */\n\t\t\tif( 'undefined' == typeof this.collection ) return;\n\n\t\t\tif ( this.get( 'use_merge_tags' ) && 'undefined' != typeof this.collection.options.objectType ) {\n\t\t\t\tthis.listenTo( nfRadio.channel( 'app' ), 'update:fieldKey', this.updateKey );\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * When a field key is updated, send out a radio message requesting that this setting be checked for the old key.\n\t\t * We want to send the message on the objectType channel.\n\t\t * This means that if this setting is for fields, it will trigger on the fields channel, actions, etc.\n\t\t * \n\t\t * @since 3.0\n\t\t * @param Backbone.Model \tkeyModel data model representing the field for which the key just changed\n\t\t * @return void\n\t\t */\n\t\tupdateKey: function( keyModel ) {\n\t\t\tnfRadio.channel( 'app' ).trigger( 'fire:updateFieldKey', keyModel, this );\n\t\t},\n\n\t\tmaybePreventUI: function() {\n\t\t\tif ( this.get( 'error' ) ) {\n\t\t\t\tnfRadio.channel( 'drawer' ).request( 'prevent:close', 'setting-' + this.get( 'name' ) + '-error' );\n\t\t\t\tnfRadio.channel( 'app' ).request( 'prevent:changeDomain', 'setting-' + this.get( 'name' ) + '-error' );\t\t\t\t\n\t\t\t} else {\n\t\t\t\tnfRadio.channel( 'drawer' ).request( 'enable:close', 'setting-' + this.get( 'name' ) + '-error' );\n\t\t\t\tnfRadio.channel( 'app' ).request( 'enable:changeDomain', 'setting-' + this.get( 'name' ) + '-error' );\n\t\t\t}\n\t\t}\n\t} );\n\t\n\treturn model;\n} );\n","/**\n * Collections of settings for each field type.\n * \n * @package Ninja Forms builder\n * @subpackage Fields\n * @copyright (c) 2015 WP Ninjas\n * @since 3.0\n */\ndefine( 'models/app/settingCollection',['models/app/settingModel'], function( settingModel ) {\n\tvar collection = Backbone.Collection.extend( {\n\t\tmodel: settingModel,\n\n\t\tinitialize: function( models, options ) {\n\t\t\tthis.options = options || {};\n\t\t}\n\t} );\n\treturn collection;\n} );\n","/**\n * Handles actions related to field settings that use a fieldset\n * \n * @package Ninja Forms builder\n * @subpackage Fields - Edit Field Drawer\n * @copyright (c) 2015 WP Ninjas\n * @since 3.0\n */\ndefine( 'controllers/app/fieldset',['views/app/drawer/typeSettingFieldset','models/app/settingCollection'], function( fieldsetView, settingCollection ) {\n\tvar controller = Marionette.Object.extend( {\n\t\tinitialize: function() {\n\t\t\tnfRadio.channel( 'fieldset' ).reply( 'get:settingChildView', this.getSettingChildView, this );\n\t\t\t// When a list type field is initialized, create an option collection.\n\t\t\tthis.listenTo( nfRadio.channel( 'fieldset' ), 'init:settingModel', this.createSettingsCollection );\n\t\t},\n\n\t\tgetSettingChildView: function( model ) {\n\t\t\treturn fieldsetView;\n\t\t},\n\n\t\t/**\n\t\t * Instantiate settings collection when a fieldset type is initialized.\n\t\t * \n\t\t * @since 3.0\n\t\t * @param backbone.model \tmodel \tfield model being initialized\n\t\t * @return void\n\t\t */\n\t\tcreateSettingsCollection: function( model ) {\n\t\t\tmodel.set( 'settings', new settingCollection( model.get( 'settings' ) ) );\n\t\t},\n\n\t});\n\n\treturn controller;\n} );\n","/**\n * Handles actions related to our toggle field.\n * When we change the toggle, the setting value will be 'on' or ''.\n * We need to change this to 1 or 0.\n * \n * @package Ninja Forms builder\n * @subpackage Fields - Edit Field Drawer\n * @copyright (c) 2015 WP Ninjas\n * @since 3.0\n */\ndefine( 'controllers/app/toggleSetting',[], function() {\n\tvar controller = Marionette.Object.extend( {\n\t\tinitialize: function() {\n\t\t\t// We don't want the RTE setting to re-render when the value changes.\n\t\t\tnfRadio.channel( 'setting-type-toggle' ).reply( 'renderOnChange', function(){ return false } );\n\n\t\t\t// Respond to requests for field setting filtering.\n\t\t\tnfRadio.channel( 'toggle' ).reply( 'before:updateSetting', this.updateSetting, this );\n\t\t},\n\n\t\t/**\n\t\t * Return either 1 or 0, depending upon the toggle position.\n\t\t * \n\t\t * @since 3.0\n\t\t * @param Object \t\t\te event\n\t\t * @param backbone.model \tfieldModel field model\n\t\t * @param string \t\t\tname setting name\n\t\t * @param backbone.model \tsettingTypeModel field type model\n\t\t * @return int 1 or 0\n\t\t */\n\t\tupdateSetting: function( e, fieldModel, name, settingTypeModel ) {\n\t\t\tif ( jQuery( e.target ).attr( 'checked' ) ) {\n\t\t\t\tvar value = 1;\n\t\t\t} else {\n\t\t\t\tvar value = 0;\n\t\t\t}\n\n\t\t\treturn value;\n\t\t}\n\n\t});\n\n\treturn controller;\n} );\n","/**\n * Listens for clicks on our action item action buttons.\n * \n * @package Ninja Forms builder\n * @subpackage Fields - Main Sortable\n * @copyright (c) 2015 WP Ninjas\n * @since 3.0\n */\ndefine( 'controllers/app/itemControls',[], function() {\n\tvar controller = Marionette.Object.extend( {\n\t\tinitialize: function() {\n\t\t\t// Listen for clicks to edit, delete, duplicate actions.\n\t\t\tthis.listenTo( nfRadio.channel( 'app' ), 'click:edit', this.clickEdit );\n\t\t\tthis.listenTo( nfRadio.channel( 'app' ), 'click:delete', this.clickDelete );\n\t\t\tthis.listenTo( nfRadio.channel( 'app' ), 'click:duplicate', this.clickDuplicate );\n\n\t\t\t// Listen for our drawer close and remove our active edit state\n\t\t},\n\n\t\t/**\n\t\t * Open a drawer with our action model for editing settings.\n\t\t * \n\t\t * @since 3.0\n\t\t * @param Object\t\t\te \tevent\n\t\t * @param backbone.model \tmodel \taction model\n\t\t * @return void\n\t\t */\n\t\tclickEdit: function( e, model ) {\n\t\t\tvar currentDomain = nfRadio.channel( 'app' ).request( 'get:currentDomain' );\n\t\t\tvar currentDomainID = currentDomain.get( 'id' );\n\t\t\tvar type = nfRadio.channel( currentDomainID ).request( 'get:type' , model.get( 'type' ) );\n\t\t\tnfRadio.channel( 'app' ).request( 'open:drawer', 'editSettings', { model: model, groupCollection: type.get( 'settingGroups' ) } );\n\t\t},\n\n\t\t/**\n\t\t * Delete a action model from our collection\n\t\t * \n\t\t * @since 3.0\n\t\t * @param Object\t\t\te \tevent\n\t\t * @param backbone.model \tmodel \taction model\n\t\t * @return void\n\t\t */\n\t\tclickDelete: function( e, dataModel ) {\n\t\t\tvar newModel = nfRadio.channel( 'app' ).request( 'clone:modelDeep', dataModel );\n\n\t\t\t// Add our action deletion to our change log.\n\t\t\tvar label = {\n\t\t\t\tobject: dataModel.get( 'objectType' ),\n\t\t\t\tlabel: dataModel.get( 'label' ),\n\t\t\t\tchange: 'Removed',\n\t\t\t\tdashicon: 'dismiss'\n\t\t\t};\n\n\t\t\tvar data = {\n\t\t\t\tcollection: dataModel.collection\n\t\t\t};\n\n\t\t\tvar changeCollection = nfRadio.channel( 'changes' ).request( 'get:collection' );\n\t\t\tvar results = changeCollection.where( { model: dataModel } );\n\n\t\t\t_.each( results, function( changeModel ) {\n\t\t\t\tvar data = changeModel.get( 'data' );\n\t\t\t\tif ( 'undefined' != typeof data.fields ) {\n\t\t\t\t\t_.each( data.fields, function( field, index ) {\n\t\t\t\t\t\tif ( field.model == dataModel ) {\n\t\t\t\t\t\t\tdata.fields[ index ].model = newModel;\t\t\t\t\t\n\t\t\t\t\t\t}\n\t\t\t\t\t} );\n\t\t\t\t}\n\t\t\t\tchangeModel.set( 'data', data );\n\t\t\t\tchangeModel.set( 'model', newModel );\n\t\t\t\tchangeModel.set( 'disabled', true );\n\t\t\t} );\n\n\t\t\tnfRadio.channel( 'changes' ).request( 'register:change', 'removeObject', newModel, null, label, data );\n\t\t\t\n\t\t\tvar currentDomain = nfRadio.channel( 'app' ).request( 'get:currentDomain' );\n\t\t\tvar currentDomainID = currentDomain.get( 'id' );\n\t\t\tnfRadio.channel( currentDomainID ).request( 'delete', dataModel );\n\t\t},\n\n\t\t/**\n\t\t * Duplicate a action within our collection, adding the word \"copy\" to the label.\n\t\t * \n\t\t * @since 3.0\n\t\t * @param Object\t\t\te \tevent\n\t\t * @param backbone.model \tmodel \taction model\n\t\t * @return void\n\t\t */\n\t\tclickDuplicate: function( e, model ) {\n\t\t\tvar newModel = nfRadio.channel( 'app' ).request( 'clone:modelDeep', model );\n\t\t\tvar currentDomain = nfRadio.channel( 'app' ).request( 'get:currentDomain' );\n\t\t\tvar currentDomainID = currentDomain.get( 'id' );\n\n\t\t\t// Change our label.\n\t\t\tnewModel.set( 'label', newModel.get( 'label' ) + ' Copy' );\n\t\t\t// Update our ID to the new tmp id.\n\t\t\tvar tmpID = nfRadio.channel( currentDomainID ).request( 'get:tmpID' );\n\t\t\tnewModel.set( 'id', tmpID );\n\t\t\t// Add new model.\n\t\t\t// Params are: model, silent, renderTrigger, action\n\t\t\tnfRadio.channel( currentDomainID ).request( 'add', newModel, false, false, 'duplicate' );\n\t\t\t\n\t\t\t// Add our action addition to our change log.\n\t\t\tvar label = {\n\t\t\t\tobject: model.get( 'objectType' ),\n\t\t\t\tlabel: model.get( 'label' ),\n\t\t\t\tchange: 'Duplicated',\n\t\t\t\tdashicon: 'admin-page'\n\t\t\t};\n\n\t\t\tvar data = {\n\t\t\t\tcollection: nfRadio.channel( currentDomainID ).request( 'get:collection' )\n\t\t\t}\n\n\t\t\tnfRadio.channel( 'changes' ).request( 'register:change', 'duplicateObject', newModel, null, label, data );\n\t\t\t\n\t\t\tmodel.trigger( 'change:label', model );\n\n\t\t\t// Update preview.\n\t\t\tnfRadio.channel( 'app' ).request( 'update:db' );\n\t\t}\n\n\t});\n\n\treturn controller;\n} );\n","/**\n * Config file for our merge tags.\n *\n * this.collection represents all of our registered merge tags.\n * \n * @package Ninja Forms builder\n * @subpackage Main App\n * @copyright (c) 2015 WP Ninjas\n * @since 3.0\n */\ndefine( 'controllers/app/mergeTags',[\n\t'models/app/mergeTagCollection'\n\t], function(\n\tmergeTagCollection\n\t) {\n\tvar controller = Marionette.Object.extend( {\n\t\tinitialize: function() {\n\t\t\tthis.tagSectionCollection = new mergeTagCollection();\n\t\t\tvar that = this;\n\t\t\t_.each( mergeTags, function( tagSection ) {\n\t\t\t\tif ( tagSection.tags ) {\n\t\t\t\t\tvar tags = new mergeTagCollection( tagSection.tags );\n\t\t\t\t} else {\n\t\t\t\t\tvar tags = '';\n\t\t\t\t}\n\n\t\t\t\tthat.tagSectionCollection.add( {\n\t\t\t\t\tid: tagSection.id,\n\t\t\t\t\tlabel: tagSection.label,\n\t\t\t\t\ttags: tags,\n\t\t\t\t\tdefault_group: tagSection.default_group\n\t\t\t\t} );\n\t\t\t} );\n\n\t\t\tvar fieldTags = this.tagSectionCollection.get( 'fields').get( 'tags' );\n\n\t\t\tvar fieldCollection = nfRadio.channel( 'fields' ).request( 'get:collection' );\n\t\t\t_.each( fieldCollection.models, function( field ) {\n\t\t\t\t// TODO: Make this dynamic\n\t\t\t\tif ( 'submit' !== field.get( 'type' ) ) {\n\t\t\t\t\tfieldTags.add( {\n\t\t\t\t\t\tid: field.get( 'id' ),\n\t\t\t\t\t\tlabel: field.get( 'label' ),\n\t\t\t\t\t\ttag: that.getFieldKeyFormat( field.get( 'key' ) )\n\t\t\t\t\t} );\t\t\t\t\t\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\tvar calcTags = new mergeTagCollection();\n\n\t\t\tvar formModel = nfRadio.channel( 'app' ).request( 'get:formModel' );\n\t\t\tvar calcCollection = formModel.get( 'settings' ).get( 'calculations' );\n\t\t\t_.each( calcCollection.models, function( calcModel ) {\n\t\t\t\tcalcTags.add( {\n\t\t\t\t\tlabel: calcModel.get( 'name' ),\n\t\t\t\t\ttag: '{calc:' + calcModel.get( 'name' ) + '}'\n\t\t\t\t} );\n\t\t\t} );\n\n\t\t\tthis.tagSectionCollection.get( 'calcs' ).set( 'tags', calcTags );\n\n\t\t\tthis.currentElement = {};\n\t\t\tthis.settingModel = {};\n\t\t\tthis.open = false;\n\n\t\t\t// Unhook jBox Merge Tag stuff.\n\t\t\t// nfRadio.channel( 'mergeTags' ).reply( 'init', this.initMergeTags, this );\n\n\t\t\tthis.listenTo( nfRadio.channel( 'mergeTags' ), 'click:mergeTag', this.clickMergeTag );\n\t\t\tthis.listenTo( nfRadio.channel( 'fields' ), 'add:field', this.addFieldTags );\n\t\t\tthis.listenTo( nfRadio.channel( 'fields' ), 'delete:field', this.deleteFieldTags );\n\t\t\tthis.listenTo( nfRadio.channel( 'option-repeater-calculations' ), 'update:option', this.updateCalcTags );\n\t\t\tthis.listenTo( nfRadio.channel( 'option-repeater-calculations' ), 'remove:option', this.updateCalcTags );\n\n\t\t\t\n\t\t\tnfRadio.channel( 'mergeTags' ).reply( 'update:currentElement', this.updateCurrentElement, this );\n\t\t\tnfRadio.channel( 'mergeTags' ).reply( 'update:currentSetting', this.updateCurrentSetting, this );\n\n\t\t\t// Listen for requests for our mergeTag collection.\n\t\t\tnfRadio.channel( 'mergeTags' ).reply( 'get:collection', this.getCollection, this );\n\t\t\tnfRadio.channel( 'mergeTags' ).reply( 'get:mergeTag', this.getSectionModel, this );\n\n\t\t\t// When a field's ID is changed (ie from a tmpID), update the merge tag.\n this.listenTo( nfRadio.channel( 'fieldSetting-id' ), 'update:setting', this.updateID );\n\n\t\t\t// When we edit a key, check for places that key might be used.\n\t\t\tthis.listenTo( nfRadio.channel( 'fieldSetting-key' ), 'update:setting', this.updateKey );\n\n\t\t\t// Reply to requests to check a data model for a field key when one is updated.\n\t\t\tthis.listenTo( nfRadio.channel( 'app' ), 'replace:fieldKey', this.replaceFieldKey );\n\n\t\t\t// Reply to requests to check a data model for a field key when one is updated.\n\t\t\tnfRadio.channel( 'app' ).reply( 'get:fieldKeyFormat', this.getFieldKeyFormat, this );\n\n\t\t\t/*\n\t\t\t * TODO: Hotkey support for adding tags.\n\t\t\t *\n\t\t\t\n\t\t\tthis.listenTo( nfRadio.channel( 'hotkeys' ), 'open:mergeTags', this.openMergeTags );\n\t\t\tthis.listenTo( nfRadio.channel( 'hotkeys' ), 'up:mergeTags', this.upMergeTags );\n\t\t\tthis.listenTo( nfRadio.channel( 'hotkeys' ), 'down:mergeTags', this.downMergeTags );\n\t\t\tthis.listenTo( nfRadio.channel( 'hotkeys' ), 'return:mergeTags', this.returnMergeTags );\n\t\t\tnfRadio.channel( 'mergeTags' ).reply( 'update:open', this.updateOpen, this );\n\t\t\t*/\n\t\t},\n\n\t\t/**\n\t\t * Init merge tags within the passed view.\n\t\t * @since 3.0\n\t\t * @param backbone.view view to be searched for merge tags.\n\t\t * @return void\n\t\t */\n\t\tinitMergeTags: function( view ) {\n\t\t\tvar mergeTagsView = nfRadio.channel( 'mergeTags' ).request( 'get:view' );\n\t\t\tvar that = this;\n\t\t\t/*\n\t\t\t * Apply merge tags jQuery plugin.\n\t\t\t *\n\t\t\t * Prevent jBox from being called multiple times on the same element\n\t\t\t */\n\t\t\tthis.jBoxes = {};\n\t\t\tvar that = this;\n\n\t\t\tjQuery( view.el ).find( '.merge-tags' ).each(function() {\n\t\t\t\tif ( 'undefined' == typeof jQuery( this ).data( 'jBox-id' ) ) {\n\t\t\t\t\tvar jBox = jQuery( this ).jBox( 'Tooltip', {\n\t\t\t\t\t\ttitle: 'Insert Merge Tag',\n\t\t\t\t\t\ttrigger: 'click',\n\t\t\t\t\t\tposition: {\n\t\t\t\t\t\t\tx: 'center',\n\t\t\t\t\t\t\ty: 'bottom'\n\t\t\t\t\t\t},\n\t\t\t\t\t\tcloseOnClick: 'body',\n\t\t\t\t\t\tcloseOnEsc: true,\n\t\t\t\t\t\ttheme: 'TooltipBorder',\n\t\t\t\t\t\tmaxHeight: 200,\n\n\t\t\t\t\t\tonOpen: function() {\n\t\t\t\t\t\t\tmergeTagsView.reRender( view.model );\n\t\t\t\t\t\t\tthis.setContent( jQuery( '.merge-tags-content' ) );\n\t\t\t\t\t\t\tvar currentElement = jQuery( this.target ).prev( '.setting' );\n\t\t\t\t\t\t\tif ( 0 == currentElement.length ) {\n\t\t\t\t\t\t\t\tcurrentElement = jQuery( view.el ).find( '.setting' );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\tthat.updateCurrentSetting( view.model );\n\t\t\t\t\t\t\tthat.updateCurrentElement( currentElement );\n\t\t\t\t\t\t\t// nfRadio.channel( 'drawer' ).request( 'prevent:close', 'merge-tags' );\n\t\t\t\t\t\t},\n\t\t\t\t\t\tonClose: function() {\n\t\t\t\t\t\t\t// nfRadio.channel( 'drawer' ).request( 'enable:close', 'merge-tags' );\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t\t\n\t\t\t\t\tjQuery( this ).data( 'jBox-id', jBox.id );\t\t\t\t\t\n\t\t\t\t}\n\t\t });\n\t\t},\n\n\t\tclickMergeTag: function( e, tagModel ) {\n\t\t\t/*\n\t\t\t * TODO: Make this more dynamic.\n\t\t\t * Currently, the RTE is the only section that modifies how merge tags work,\n\t\t\t * but another type of setting might need to do this in the future.\n\t\t\t */\n\n\t\t\tif( 'undefined' != typeof this.settingModel.get( 'settingModel' ) && 'calculations' == this.settingModel.get( 'settingModel' ).get( 'name' ) ) {\n\n\t\t\t\tconsole.log( tagModel );\n\n\t\t\t\tvar currentValue = jQuery( this.currentElement ).val();\n\t\t\t\tvar currentPos = jQuery( this.currentElement ).caret();\n\t\t\t\tvar newPos = currentPos + tagModel.get( 'tag' ).length;\n\n\t\t\t\tvar tag = ( 'undefined' != typeof tagModel.get( 'calcTag' ) ) ? tagModel.get( 'calcTag' ) : tagModel.get( 'tag' );\n\n\t\t\t\tcurrentValue = currentValue.substr( 0, currentPos ) + tag + currentValue.substr( currentPos );\n\t\t\t\tjQuery( this.currentElement ).val( currentValue ).caret( newPos ).trigger( 'change' );\n\t\t\t} else if( 'rte' == this.settingModel.get( 'type' ) ) {\n\t\t\t\tjQuery( this.currentElement ).summernote( 'insertText', tagModel.get( 'tag' ) );\n\t\t\t} else {\n\t\t\t\tvar currentValue = jQuery( this.currentElement ).val();\n\t\t\t\tvar currentPos = jQuery( this.currentElement ).caret();\n\t\t\t\tvar newPos = currentPos + tagModel.get( 'tag' ).length;\n\t\t\t\tcurrentValue = currentValue.substr( 0, currentPos ) + tagModel.get( 'tag' ) + currentValue.substr( currentPos );\n\t\t\t\tjQuery( this.currentElement ).val( currentValue ).caret( newPos ).trigger( 'change' );\n\t\t\t}\n\t\t},\n\n\t\taddFieldTags: function( fieldModel ) {\n\t\t\t// TODO: Make this dynamic\n\t\t\tif ( 'submit' !== fieldModel.get( 'type' ) ) {\n\t\t\t\tthis.tagSectionCollection.get( 'fields' ).get( 'tags' ).add( {\n\t\t\t\t\tid: fieldModel.get( 'id' ),\n\t\t\t\t\tlabel: fieldModel.get( 'label' ),\n\t\t\t\t\ttag: this.getFieldKeyFormat( fieldModel.get( 'key' ) ),\n\t\t\t\t\tcalcTag: this.getFieldKeyFormatCalc( fieldModel.get( 'key' ) )\n\t\t\t\t} );\n\t\t\t}\n\t\t},\n\n\t\tdeleteFieldTags: function( fieldModel ) {\n\t\t\tvar fieldID = fieldModel.get( 'id' );\n\t\t\tvar tagModel = this.tagSectionCollection.get( 'fields' ).get( 'tags' ).get( fieldID );\n\t\t\tthis.tagSectionCollection.get( 'fields' ).get( 'tags' ).remove( tagModel );\n\t\t},\n\n\t\tupdateCalcTags: function( optionModel ) {\n\t\t\tvar calcTags = new mergeTagCollection();\n\n\t\t\tvar formModel = nfRadio.channel( 'app' ).request( 'get:formModel' );\n\t\t\tvar calcCollection = formModel.get( 'settings' ).get( 'calculations' );\n\n\t\t\t_.each( calcCollection.models, function( calc ) {\n\t\t\t\tcalcTags.add( {\n\t\t\t\t\tlabel: calc.get( 'name' ),\n\t\t\t\t\ttag: '{calc:' + calc.get( 'name' ) + '}'\n\t\t\t\t} );\n\t\t\t} );\n\n\t\t\tthis.tagSectionCollection.get( 'calcs' ).set( 'tags', calcTags );\n\t\t},\n\n\t\topenMergeTags: function( e ) {\n\t\t\tif ( 'TEXTAREA' == jQuery( e.target )[0].tagName || 'INPUT' == jQuery( e.target )[0].tagName ) {\n\t\t\t\tjQuery( e.target ).parent().find( '.merge-tags' ).click();\n\t\t\t}\n\t\t},\n\n\t\treturnMergeTags: function( e ) {\n\t\t\tif ( this.open ) {\n\t\t\t\te.preventDefault();\n\t\t\t\tvar currentModel = this.fields.where( { 'active': true } )[0];\n\t\t\t\tif ( currentModel ) {\n\t\t\t\t\tthis.clickMergeTag( e, currentModel );\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\tupMergeTags: function( e ) {\n\t\t\tif ( this.open ) {\n\t\t\t\te.preventDefault();\n\t\t\t\tthis.changeActiveTag( 'up' );\n\t\t\t}\n\t\t},\n\n\t\tdownMergeTags: function( e ) {\n\t\t\tif ( this.open ) {\n\t\t\t\te.preventDefault();\n\t\t\t\tthis.changeActiveTag( 'down' );\n\t\t\t}\n\t\t},\n\n\t\tchangeActiveTag: function( dir ) {\n\t\t\tif ( 'down' == dir ) {\n\t\t\t\tvar inc = 1;\n\t\t\t} else {\n\t\t\t\tvar inc = -1\n\t\t\t}\n\t\t\t// First, check to see if a field is currently active.\n\t\t\tif( 0 < this.fields.where( { 'active': true } ).length ) {\n\t\t\t\tvar currentModel = this.fields.where( { 'active': true } )[0];\n\t\t\t\tvar currentIndex = this.fields.indexOf( currentModel );\n\t\t\t\tcurrentModel.set( 'active', false );\n\n\t\t\t\tvar nextModel = this.fields.models[ currentIndex + inc ];\n\t\t\t\tif ( nextModel ) {\n\t\t\t\t\tnextModel.set( 'active', true );\n\t\t\t\t} else {\n\n\t\t\t\t}\n\t\t\t\t\n\t\t\t} else if ( 0 < this.fields.where( { 'active': true } ) ) { // There aren't any active fields. Check for active system tags.\n\t\t\t\tconsole.log( 'system' );\n\t\t\t} else if ( 0 < this.userInfo.where( { 'active': true } ) ) { // No active user info LIs.\n\t\t\t\tconsole.log( 'userinfo' );\n\t\t\t} else { // No active LIs. We haven't made any active yet, or we've gotten to the bottom of the list.\n\t\t\t\t// Make sure that we have fields\n\t\t\t\tif ( 0 < this.fields.models.length ) {\n\t\t\t\t\t// Set our first field to active.\n\t\t\t\t\tthis.fields.models[0].set( 'active', true );\n\t\t\t\t} else {\n\t\t\t\t\t// Set our first system model to active.\n\t\t\t\t\tthis.system.models[0].set( 'active', true );\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\tupdateCurrentElement: function( element ) {\n\t\t\tthis.currentElement = element;\n\t\t},\n\n\t\tupdateCurrentSetting: function( settingModel ) {\n\t\t\tthis.settingModel = settingModel;\n\t\t},\n\n\t\tgetCollection: function() {\n\t\t\treturn this.tagSectionCollection;\n\t\t},\n\n\t\tgetSectionModel: function( id ) {\n\t\t\treturn this.tagSectionCollection.get( id );\n\t\t},\n\n\t\tupdateOpen: function( open ) {\n\t\t\tthis.open = open;\n\t\t\t_.each( this.tagSectionCollection.get( 'fields' ).models, function( model ) {\n\t\t\t\tmodel.set( 'active', false );\n\t\t\t} );\n\t\t},\n\n\t\t// When a field is published, update the merge tag with the newly assigned ID (as opposed to the tmpID).\n updateID: function( fieldModel ) {\n\n\t\t\t// Get the formatted merge tag for comparison.\n\t\t\tvar targetTag = this.getFieldKeyFormat( fieldModel.get( 'key' ) );\n\n\t\t\t// Search the field tags for the matching merge tag to be updated.\n\t\t\tvar oldTag = this.tagSectionCollection.get( 'fields' ).get( 'tags' ).find( function( fieldMergeTag ){\n return targetTag == fieldMergeTag.get( 'tag' );\n });\n\n\t\t\t// If no matching tag is found, return early.\n\t\t\tif( 'undefined' == typeof oldTag ) return;\n\n\t\t\t// Update the merge tag with the \"published\" field ID.\n\t\t\toldTag.set( 'id', fieldModel.get( 'id' ) );\n\t\t},\n\n\t\tupdateKey: function( fieldModel ) {\n\t\t\tvar newKey = fieldModel.get( 'key' );\n\t\t\tvar oldTag = this.tagSectionCollection.get( 'fields' ).get( 'tags' ).get( fieldModel.get( 'id' ) );\n\t\t\tif ( 'undefined' != typeof oldTag ) {\n\t\t\t\toldTag.set( 'tag', this.getFieldKeyFormat( newKey ) );\t\t\t\t\n\t\t\t}\n\n\t\t},\n\n\t\tgetFieldKeyFormat: function( key ) {\n\t\t\treturn '{field:' + key + '}';\n\t\t},\n\n\t\tgetFieldKeyFormatCalc: function( key ) {\n\t\t\treturn '{field:' + key + ':calc}';\n\t\t},\n\n\t\treplaceFieldKey: function( dataModel, keyModel, settingModel ) {\n var oldKey = this.getFieldKeyFormat( keyModel._previousAttributes[ 'key' ] );\n\t\t\tvar newKey = this.getFieldKeyFormat( keyModel.get( 'key' ) );\n\t\t\tvar settingName = settingModel.get( 'name' );\n\t\t\tvar oldVal = dataModel.get( settingName );\n if(settingName == 'calculations' && 'undefined' != typeof(dataModel.get('calculations'))) {\n var calcModel = dataModel.get( 'calculations' );\n calcModel.each( function( model ) {\n var oldCalcKey = oldKey.slice( 0, (oldKey.length - 1) ) + ':calc}';\n var newCalcKey = newKey.slice( 0, (newKey.length - 1 ) ) + ':calc}';\n oldVal = model.get( 'eq' );\n if ( 'string' == typeof( oldVal ) ) {\n var re = new RegExp( oldCalcKey, 'g' );\n var newVal = oldVal.replace( re, newCalcKey );\n re = new RegExp( oldKey, 'g' );\n // TODO: We won't need this second replace when we no longer\n // have to append :calc to merge tags.\n newVal = newVal.replace( re, newKey );\n model.set( 'eq', newVal );\n }\n } );\n return false;\n }\n\t\t\tif ( 'string' == typeof oldVal ) {\n\t\t\t\tvar re = new RegExp( oldKey, 'g' );\n\t\t\t\tnewVal = oldVal.replace( re, newKey );\n\t\t\t\tdataModel.set( settingName, newVal );\n\t\t\t}\n\t\t}\n\n\t});\n\n\treturn controller;\n} );\n\n","/**\n * @package Ninja Forms builder\n * @subpackage App\n * @copyright (c) 2015 WP Ninjas\n * @since 3.0\n */\ndefine( 'models/app/mergeTagLookupCollection',['models/app/mergeTagModel'], function( mergeTagModel ) {\n var collection = Backbone.Collection.extend( {\n model: mergeTagModel\n } );\n return collection;\n} );\n","/**\n * @package Ninja Forms builder\n * @subpackage App\n * @copyright (c) 2015 WP Ninjas\n * @since 3.0\n */\ndefine( 'views/app/drawer/mergeTag',[], function() {\n var view = Marionette.ItemView.extend({\n tagName: 'li',\n template: '#tmpl-nf-merge-tag-box-tag',\n\n events: {\n \"click\": \"insertTag\"\n },\n\n insertTag: function() {\n nfRadio.channel( 'mergeTags' ).request( 'insert:tag', this.model.get( 'tag' ) );\n }\n });\n\n return view;\n} );\n","/**\n * @package Ninja Forms builder\n * @subpackage App\n * @copyright (c) 2015 WP Ninjas\n * @since 3.0\n */\ndefine( 'views/app/drawer/mergeTagList',[ 'views/app/drawer/mergeTag' ], function( mergeTagView ) {\n var view = Marionette.CollectionView.extend({\n tagName: 'ul',\n childView: mergeTagView,\n\n initialize: function() {\n nfRadio.channel( 'merge-tags' ).reply( 'update:taglist', this.sectionFilter, this );\n nfRadio.channel( 'merge-tags' ).reply( 'filtersearch', this.searchFilter, this );\n },\n\n filter: function( child, index, collection ){\n return 'fields' == child.get( 'section' );\n },\n\n sectionFilter: function( section ){\n this.filter = function( child, index, collection ){\n return section == child.get( 'section' );\n }\n this.render();\n nfRadio.channel( 'merge-tags' ).trigger( 'after:filtersearch' );\n },\n\n searchFilter: function( term ){\n this.filter = function( child, index, collection ){\n var label = child.get( 'label' ).toLowerCase().indexOf( term.toLowerCase().replace( ':', '' ) ) >= 0;\n var tag = child.get( 'tag' ).toLowerCase().indexOf( term.toLowerCase() ) >= 0;\n return label || tag;\n }\n this.render();\n nfRadio.channel( 'merge-tags' ).trigger( 'after:filtersearch' );\n\n }\n });\n\n return view;\n} );\n","/**\n * @package Ninja Forms builder\n * @subpackage App\n * @copyright (c) 2015 WP Ninjas\n * @since 3.0\n */\ndefine( 'views/app/drawer/mergeTagGroup',[], function() {\n var view = Marionette.ItemView.extend({\n tagName: 'li',\n template: '#tmpl-nf-merge-tag-box-section',\n events: {\n \"click\": \"onClick\"\n },\n\n initialize: function () {\n this.listenTo( nfRadio.channel( 'merge-tags' ), 'after:filtersearch', this.removeActive );\n },\n\n onClick: function(){\n this.updateTags();\n this.setActive();\n },\n\n updateTags: function() {\n nfRadio.channel( 'merge-tags' ).request( 'update:taglist', this.model.get( 'id' ) );\n },\n\n setActive: function(){\n this.$el.addClass( 'active' );\n this.$el.siblings().removeClass( 'active' );\n },\n\n removeActive: function(){\n this.$el.removeClass( 'active' );\n }\n });\n\n return view;\n} );\n","/**\n * @package Ninja Forms builder\n * @subpackage App\n * @copyright (c) 2015 WP Ninjas\n * @since 3.0\n */\ndefine( 'views/app/drawer/mergeTagGroupList',[ 'views/app/drawer/mergeTagGroup' ], function( mergeTagGroupView ) {\n var view = Marionette.CollectionView.extend({\n tagName: 'ul',\n childView: mergeTagGroupView,\n\n initialize: function(){\n this.listenTo( nfRadio.channel( 'merge-tags' ), 'open', this.render, this );\n },\n\n // TODO: Update filter when a new tag is added. ie Calculations.\n filter: function( child, index, collection ){\n return 0 < child.get( 'tags' ).length;\n },\n });\n\n return view;\n} );\n","/**\n * @package Ninja Forms builder\n * @subpackage App\n * @copyright (c) 2015 WP Ninjas\n * @since 3.0\n */\ndefine( 'views/app/drawer/mergeTagFilter',[], function() {\n var view = Marionette.ItemView.extend({\n template: '#tmpl-nf-merge-tag-box-filter',\n events: {\n \"keyup input\": \"updateFilter\",\n },\n updateFilter: function( event ) {\n\n if( /* ENTER */ 13 == event.keyCode ){ // Copied from Keyup Callback.\n // Get top listed merge tag.\n var firstFilteredTag = jQuery( '#merge-tags-box .merge-tag-list ul li span' ).first().data( 'tag' );\n\n nfRadio.channel( 'mergeTags' ).request( 'insert:tag', firstFilteredTag );\n\n // COPIED FROM BELOW\n jQuery( '#merge-tags-box' ).css( 'display', 'none' );\n jQuery( '#merge-tags-box' ).removeClass();\n jQuery( '.merge-tag-focus' ).removeClass( 'merge-tag-focus' );\n jQuery( '.merge-tag-focus-overlay' ).removeClass( 'merge-tag-focus-overlay' );\n return;\n }\n var value = this.$el.find( 'input' ).val();\n nfRadio.channel( 'merge-tags' ).request( 'filtersearch', value );\n }\n });\n\n return view;\n} );\n","/**\n * @package Ninja Forms builder\n * @subpackage App\n * @copyright (c) 2015 WP Ninjas\n * @since 3.0\n */\ndefine( 'views/app/drawer/mergeTagBox',[], function() {\n var view = Marionette.LayoutView.extend({\n el: '#merge-tags-box',\n template: \"#tmpl-nf-merge-tag-box\",\n\n regions: {\n filter: '.merge-tag-filter',\n sections: '.merge-tag-sections',\n tags: '.merge-tag-list'\n },\n });\n\n return view;\n} );\n","/**\n * @package Ninja Forms builder\n * @subpackage Merge Tag Box\n * @copyright (c) 2017 WP Ninjas\n * @since 3.1\n */\n\ndefine( 'controllers/app/mergeTagBox',[\n 'models/app/mergeTagModel',\n 'models/app/mergeTagLookupCollection',\n 'views/app/drawer/mergeTag',\n 'views/app/drawer/mergeTagList',\n 'views/app/drawer/mergeTagGroup',\n 'views/app/drawer/mergeTagGroupList',\n 'views/app/drawer/mergeTagFilter',\n 'views/app/drawer/mergeTagBox'\n], function(\n MergeTagModel,\n MergeTagLookupCollection,\n MergeTagView,\n MergeTagListView,\n MergeTagGroupView,\n MergeTagGroupListView,\n MergeTagFilterView,\n MergeTagBoxLayout\n) {\n var controller = Marionette.Object.extend( {\n\n caret: 0, // Track the caret position of the current setting's input.\n old: '', // THe old merge tag that will be replaced.\n\n initialize: function(){\n\n this.listenTo( nfRadio.channel( 'drawer' ), 'render:settingGroup', function(){\n jQuery( '.merge-tags' ).off( 'click' );\n jQuery( '.merge-tags' ).on( 'click', this.mergeTagsButtonClick );\n });\n\n this.listenTo( nfRadio.channel( 'app' ), 'after:appStart', this.afterAppStart );\n this.listenTo( nfRadio.channel( 'app' ), 'before:renderSetting', this.beforeRenderSetting );\n this.listenTo( nfRadio.channel( 'drawer' ), 'before:close', this.beforeDrawerClose );\n\n var that = this;\n nfRadio.channel( 'mergeTags' ).reply( 'set:caret', function( position ){\n that.caret = position;\n });\n nfRadio.channel( 'mergeTags' ).reply( 'get:caret', function(){\n return that.caret;\n });\n\n var that = this;\n nfRadio.channel( 'mergeTags' ).reply( 'set:old', function( value ){\n that.old = value;\n });\n nfRadio.channel( 'mergeTags' ).reply( 'get:old', function(){\n return that.old;\n });\n\n nfRadio.channel( 'mergeTags' ).reply( 'insert:tag', this.insertTag.bind( this ) );\n\n /** OPTION REPEATER */\n this.listenTo( nfRadio.channel( 'option-repeater' ), 'add:option', function( model ){\n var selector = '#' + model.cid + ' .has-merge-tags input.setting';\n jQuery( selector ).on( 'focus', function( event ){\n that.focusCallback( event, selector, 'option-repeater' );\n });\n jQuery( selector ).on( 'keyup', function( event ){\n that.keyupCallback( event, selector, 'option-repeater' );\n });\n jQuery( selector ).siblings( '.nf-list-options .merge-tags' ).off( 'click' );\n jQuery( selector ).siblings( '.nf-list-options .merge-tags' ).on( 'click', this.mergeTagsButtonClick );\n } );\n this.listenTo( nfRadio.channel( 'drawer' ), 'opened', function(){\n jQuery( '.nf-list-options .merge-tags' ).off( 'click' );\n jQuery( '.nf-list-options .merge-tags' ).on( 'click', this.mergeTagsButtonClick );\n } );\n\n /* CALCULATIONS */\n this.listenTo( nfRadio.channel( 'setting-calculations-option' ), 'render:setting', this.renderSetting );\n // this.listenTo( nfRadio.channel( 'setting-calculations-option' ), 'render:setting', function( settingModel, dataModel, view ){\n // view.$el.find( '.merge-tags' ).on( 'click', this.mergeTagsButtonClick );\n // } );\n this.listenTo( nfRadio.channel( 'drawer' ), 'opened', function(){\n jQuery( '.nf-list-options.calculations .merge-tags' ).off( 'click' );\n jQuery( '.nf-list-options.calculations .merge-tags' ).on( 'click', this.mergeTagsButtonClick );\n } );\n\n /* SUMMERNOTE */\n this.listenTo( nfRadio.channel( 'summernote' ), 'focus', function( e, selector ) {\n that.focusCallback( false, selector, 'rte' );\n } );\n this.listenTo( nfRadio.channel( 'summernote' ), 'keydown', function( e, selector ){\n jQuery( selector ).closest( '.nf-setting' ).find( '.setting' ).summernote( 'saveRange' );\n } );\n this.listenTo( nfRadio.channel( 'summernote' ), 'keyup', function( e, selector ){\n that.keyupCallback( e, selector, 'rte' );\n } );\n this.listenTo( nfRadio.channel( 'drawer' ), 'opened', function(){\n jQuery( '.note-editor .merge-tags' ).off( 'click' );\n jQuery( '.note-editor .merge-tags' ).on( 'click', this.mergeTagsButtonClick );\n } );\n\n jQuery( document ).on( 'keyup', function( event ){\n if( 27 == event.keyCode ){\n nfRadio.channel( 'mergeTags' ).request( 'insert:tag', '' );\n // Copied from KeyupCallback.\n jQuery( '#merge-tags-box' ).css( 'display', 'none' );\n nfRadio.channel( 'drawer' ).request( 'enable:close' );\n jQuery( '#merge-tags-box' ).removeClass();\n jQuery( '.merge-tag-focus' ).blur();\n jQuery( '.merge-tag-focus' ).removeClass( 'merge-tag-focus' );\n jQuery( '.merge-tag-focus-overlay' ).removeClass( 'merge-tag-focus-overlay' );\n }\n });\n\n /**\n * Listen to the Field Changes (add, delete, update) and update the Merge Tags.\n */\n this.listenTo( Backbone.Radio.channel( 'fields' ), 'add:field', this.afterAppStart );\n this.listenTo( Backbone.Radio.channel( 'fields' ), 'delete:field', this.afterAppStart );\n this.listenTo( Backbone.Radio.channel( 'fieldSetting-key' ), 'update:setting', this.afterAppStart );\n\n /** ... and Calc updates. */\n this.listenTo( Backbone.Radio.channel( 'calcs' ), 'update:calc', this.afterAppStart );\n\n this.listenTo( Backbone.Radio.channel( 'app' ), 'change:currentDomain', this.afterAppStart );\n },\n\n afterAppStart: function() {\n\n var currentDomain = Backbone.Radio.channel( 'app' ).request( 'get:currentDomain' );\n\n var mergeTagCollection = nfRadio.channel( 'mergeTags' ).request( 'get:collection' );\n var mergeTags = [];\n mergeTagCollection.each( function( section ){\n\n section.get( 'tags' ).each( function( tag ){\n\n if( 'fields' == currentDomain.get( 'id' ) && '{submission:sequence}' == tag.get( 'tag' ) ) return;\n\n mergeTags.push({\n label: tag.get( 'label' ),\n tag: tag.get( 'tag' ),\n section: section.get( 'id' )\n });\n });\n });\n var layout = new MergeTagBoxLayout();\n layout.render();\n var tagCollection = new MergeTagLookupCollection( mergeTags );\n var mergeTagListView = new MergeTagListView({\n collection: tagCollection\n });\n var mergeTagGroupListView = new MergeTagGroupListView({\n collection: mergeTagCollection\n });\n\n layout.getRegion('tags').show(mergeTagListView);\n layout.getRegion('sections').show(mergeTagGroupListView);\n layout.getRegion('filter').show(new MergeTagFilterView);\n },\n\n beforeRenderSetting: function( settingModel, dataModel ){\n if( 'undefined' == typeof settingModel.get( 'use_merge_tags' ) ) return;\n if( ! settingModel.get( 'use_merge_tags' ) ) return;\n var name = settingModel.get( 'name' );\n this.listenTo( nfRadio.channel( 'setting-' + name ), 'render:setting', this.renderSetting );\n },\n\n renderSetting: function( settingModel, dataModel, view ){\n\n view.$el.find( '.merge-tags' ).off( 'click' );\n view.$el.find( '.merge-tags' ).on( 'click', this.mergeTagsButtonClick );\n\n if( 0 == jQuery( '#merge-tags-box' ).length ) this.afterAppStart();\n\n // Track Scrolling.\n jQuery( '#nf-drawer' ).on( 'scroll', function(){\n // COPIED AND MODIFIED FROM FOCUS\n if( 0 == jQuery( '.merge-tag-focus' ).length ) return;\n\n var rteEditor = jQuery( '.merge-tag-focus' ).closest( '.nf-setting' ).find( '.note-editor' );\n if( 0 != rteEditor.length ){\n var posY = rteEditor.offset().top - jQuery(window).scrollTop();\n var height = rteEditor.outerHeight();\n } else {\n var posY = jQuery('.merge-tag-focus').offset().top - jQuery(window).scrollTop();\n var height = jQuery('.merge-tag-focus').outerHeight();\n }\n\n\t // Find out if merge tag box will go below bottom of the page.\n\t var tagBoxY = posY + height;\n\t var windowHeight = window.innerHeight;\n\t var tagBoxHeight = jQuery( '#merge-tags-box' ).outerHeight();\n\n\t // If merge tag box will render below the bottom of the page,\n\t // change it to render above the field\n\n\t if ( ( tagBoxY + tagBoxHeight ) > windowHeight ) {\n\t\t tagBoxY = posY - tagBoxHeight;\n\t }\n\n jQuery( '#merge-tags-box' ).css( 'top', tagBoxY );\n\n var boxHeight = jQuery( '#merge-tags-box' ).outerHeight();\n jQuery( '#nf-drawer' ).css( 'padding-bottom', boxHeight + 'px' );\n\n var repeaterRow = jQuery( '.merge-tag-focus' ).closest( '.nf-list-options-tbody' );\n if( 0 != repeaterRow.length ){\n var left = repeaterRow.offset().left - jQuery(window).scrollLeft();\n jQuery( '#merge-tags-box' ).css( 'left', left );\n } else {\n var posX = jQuery( '.merge-tag-focus' ).closest( '.nf-settings' ).offset().left - jQuery(window).scrollLeft();\n jQuery( '#merge-tags-box' ).css( 'left', posX );\n jQuery( '#merge-tags-box' ).css( 'width', jQuery( '.merge-tag-focus' ).closest( '.nf-settings' ).width() );\n }\n });\n\n // On input focus, move the Merge Tag Box into position.\n jQuery( view.el ).find( '.setting' ).on( 'focus', this.focusCallback );\n\n // TODO: Maybe move to view events.\n // On input keyup, maybe show Merge Tag Box.\n jQuery( view.el ).find( '.setting' ).on( 'keyup', this.keyupCallback );\n },\n\n // TODO: Maybe move to view class.\n beforeDrawerClose: function(){\n jQuery( '#merge-tags-box' ).css( 'display', 'none' );\n nfRadio.channel( 'drawer' ).request( 'enable:close' );\n // jQuery( 'body' ).append( jQuery( '#merge-tags-box' ) );\n },\n\n insertTag: function( tag ) {\n\n var $input = jQuery( '.merge-tag-focus' );\n\n if( 0 != $input.closest( '.nf-setting' ).first().find( '.note-editable' ).length ){\n $input = $input.closest( '.nf-setting' ).first().find( '.note-editable' );\n }\n\n if( 1 < $input.length ){ $input = $input.first(); }\n\n if( $input.hasClass( 'note-editable' ) ){\n var str = $input.closest( '.nf-setting' ).find( '.setting' ).summernote( 'code' );\n } else {\n var str = $input.val();\n }\n\n var find = nfRadio.channel( 'mergeTags' ).request( 'get:old' );\n var replace = tag;\n var caretPos = nfRadio.channel( 'mergeTags' ).request( 'get:caret' );\n\n var patt = /{([a-zA-Z0-9]|:|_||-})*/g;\n\n // Loop through matches to find insert/replace index range.\n // Reference: http://codepen.io/kjohnson/pen/36c3a782644dfff40fe3c1f05f8739d9?editors=0012\n while (match = patt.exec(str)) {\n if (find != match[0]) continue; // This isn't the match you are looking for...\n var string = str.slice(0, match.index) + replace + str.slice(patt.lastIndex); // Fancy replace for the specifc match, using the index/position.\n\n if( $input.hasClass( 'note-editable' ) ){\n $input.closest( '.nf-setting' ).find( '.setting' ).summernote( 'code', string );\n\n // Reposition the caret. http://stackoverflow.com/a/6249440 TODO: Determine the appropriate childNode.\n var el = $input;\n var childNode = null; // Default to first childNode.\n _.each( el[0].childNodes, function( node, index ){\n if( childNode ) return;\n if( ! node.nodeValue && ! node.innerHTML ) return;\n if( node.nodeValue ) {\n var value = node.nodeValue;\n } else if( node.innerHTML ){\n var value = node.innerHTML;\n }\n\n if( -1 == value.indexOf(replace) ) return; // Replace not found in this node.\n\n value = value.replace( /&nbsp;/g, ' ' );\n var position = value.indexOf(replace) + find.length;\n\n /*\n * If no caretPos, determine based on the node. ie Merge Tag Button context.\n * Note: We can't just check for '{', because they could just be inserting the first tag.\n */\n if( -1 == caretPos ){\n caretPos = value.indexOf( replace ) + 1;\n }\n\n if (caretPos == position) childNode = el[0].childNodes[index];\n });\n if( ! childNode ) childNode = el[0].childNodes[0];\n var offset = caretPos - find.length + replace.length;\n var range = document.createRange();\n var sel = window.getSelection();\n if( 0 != childNode.childNodes.length ) {\n try{\n range.setStart(childNode.childNodes[0], offset); \n } catch( err ) {\n console.log( childNode );\n console.log( 'error' );\n }\n \n } else {\n try {\n range.setStart(childNode, offset);\n } catch( err ) {\n console.log( 'error' );\n }\n \n }\n range.collapse(true);\n sel.removeAllRanges();\n sel.addRange(range);\n\n\n } else {\n $input.val(string); // Update input value with parsed string.\n $input.change(); // Trigger a change event after inserting the merge tag so that it saves to the model.\n $input.caret(caretPos - find.length + replace.length); // Update Carept Position.\n }\n\n }\n\n jQuery( '#merge-tags-box' ).css( 'display', 'none' );\n nfRadio.channel( 'drawer' ).request( 'enable:close' );\n $input.removeClass( 'merge-tag-focus' );\n $input.closest( '.merge-tag-focus-overlay' ).removeClass( 'merge-tag-focus-overlay' );\n },\n\n mergeTagsButtonClick: function( e ){\n\n var $this = jQuery( this );\n\n if( $this.siblings().hasClass( 'merge-tag-focus' ) ){\n nfRadio.channel( 'mergeTags' ).request( 'insert:tag', '' );\n jQuery( '#merge-tags-box' ).css( 'display', 'none' );\n nfRadio.channel( 'drawer' ).request( 'enable:close' );\n jQuery( '.merge-tag-focus' ).removeClass( 'merge-tag-focus' );\n jQuery( '.merge-tag-focus-overlay' ).removeClass( 'merge-tag-focus-overlay' );\n return;\n }\n\n if( 0 !== $this.closest( '.nf-setting, .nf-table-row' ).find( '.note-tools' ).length ){\n var $inputSetting = $this.closest( '.note-editor' ).siblings( '.setting' ).first();\n $this.closest( '.nf-setting' ).find( '.setting' ).summernote( 'insertText', '{' );\n // Since we haven't determined the caretPos, set to -1 as a flag to determine later.\n nfRadio.channel('mergeTags').request( 'set:caret', -1 );\n } else {\n var $inputSetting = $this.siblings( '.setting' ).first();\n var text = $inputSetting.val() || '';\n $inputSetting.val( text + '{' ).change();\n nfRadio.channel('mergeTags').request('set:caret', text.length + 1 );\n }\n\n if( $this.parent().hasClass( 'note-tools' ) ){\n // $this.closest( '.nf-setting' ).find( '.setting' ).summernote( 'insertText', '{' );\n }\n\n nfRadio.channel('mergeTags').request('set:old', '{' );\n\n $inputSetting.addClass( 'merge-tag-focus' );\n\n // Disable browser autocomplete.\n var autocomplete = $this.attr( 'autocomplete' );\n $this.attr( 'autocomplete', 'off' );\n $this.data( 'autocomplete', autocomplete );\n\n var $overlayElement = $this.closest( '.nf-setting, .nf-table-row' );\n if( 0 != $overlayElement.find( '.note-editor' ).length ){\n $overlayElement.find('.note-editor' ).addClass('merge-tag-focus-overlay');\n } else {\n $overlayElement.addClass('merge-tag-focus-overlay');\n }\n\n jQuery( '#merge-tags-box' ).css( 'display', 'block' );\n nfRadio.channel( 'drawer' ).request( 'prevent:close' );\n\n jQuery( '.merge-tag-focus-overlay' ).off( 'click' );\n jQuery( '.merge-tag-focus-overlay' ).on( 'click', function( e ) {\n if ( jQuery( e.target ).hasClass( 'note-editor' ) ) {\n nfRadio.channel( 'mergeTags' ).request( 'insert:tag', '' );\n jQuery( '#merge-tags-box' ).css( 'display', 'none' );\n nfRadio.channel( 'drawer' ).request( 'enable:close' );\n jQuery( '#merge-tags-box' ).removeClass();\n jQuery( '.merge-tag-focus' ).removeClass( 'merge-tag-focus' );\n jQuery( '.merge-tag-focus-overlay' ).removeClass( 'merge-tag-focus-overlay' );\n }\n } );\n\n setTimeout(function(){\n jQuery( '#merge-tags-box' ).find( '.merge-tag-filter' ).find( 'input' ).focus();\n }, 500 );\n },\n\n focusCallback: function( e, target, type ){\n\n var type = type || 'setting';\n var $this = ( 'undefined' == typeof target ) ? jQuery( this ) : jQuery( target );\n\n jQuery( '.merge-tag-focus' ).each(function(index, el){\n if( this == el ) return;\n el.removeClass( 'merge-tag-focus' );\n });\n\n if( 'rte' == type ) {\n var posY = $this.closest( '.nf-setting' ).find( '.note-editor' ).offset().top - jQuery(window).scrollTop();\n var height = $this.closest( '.nf-setting' ).find( '.note-editor' ).outerHeight();\n } else {\n var posY = $this.offset().top - jQuery(window).scrollTop();\n var height = $this.outerHeight();\n }\n\n // Find out if merge tag box will go below bottom of the page.\n\t var tagBoxY = posY + height;\n\t var windowHeight = window.innerHeight;\n\t var tagBoxHeight = jQuery( '#merge-tags-box' ).outerHeight();\n\n\t // If merge tag box will render below the bottom of the page,\n // change it to render above the field\n\n\t if ( ( tagBoxY + tagBoxHeight ) > windowHeight ) {\n\t\t tagBoxY = posY - tagBoxHeight;\n\t }\n\n jQuery( '#merge-tags-box' ).css( 'top', tagBoxY );\n\n var repeaterRow = $this.closest( '.nf-list-options-tbody' );\n if( 0 != repeaterRow.length ) {\n var left = repeaterRow.offset().left - jQuery(window).scrollLeft();\n jQuery( '#merge-tags-box' ).css( 'left', left );\n } else if( 'rte' == type ) {\n var posX = $this.closest( '.nf-setting' ).find( '.note-editor' ).offset().left - jQuery(window).scrollLeft();\n jQuery( '#merge-tags-box' ).css( 'left', posX );\n jQuery( '#merge-tags-box' ).css( 'width', $this.closest( '.nf-setting' ).find( '.note-editor' ).width() );\n }\n else\n {\n var posX = jQuery( this ).closest( '.nf-settings' ).offset().left - jQuery(window).scrollLeft();\n jQuery( '#merge-tags-box' ).css( 'left', posX );\n jQuery( '#merge-tags-box' ).css( 'width', $this.closest( '.nf-settings' ).width() );\n }\n\n var dataID = jQuery( this ).data( 'id' );\n if( dataID && 'eq' != dataID ) return;\n\n // var offset = jQuery( view.el ).find( '.setting' ).parent().outerHeight();\n // jQuery( view.el ).find( '.setting' ).parent().append( jQuery( '#merge-tags-box' ) );\n // jQuery( '#merge-tags-box' ).css( 'top', offset );\n },\n\n keyupCallback: function( event, target, type ){\n\n var type = type || 'setting';\n\n if( /* ENTER */ 13 == event.keyCode ){\n\n // Get top listed merge tag.\n var firstFilteredTag = jQuery( '#merge-tags-box .merge-tag-list ul li span' ).first().data( 'tag' );\n\n nfRadio.channel( 'mergeTags' ).request( 'insert:tag', firstFilteredTag );\n\n // COPIED FROM BELOW\n jQuery( '#merge-tags-box' ).css( 'display', 'none' );\n nfRadio.channel( 'drawer' ).request( 'enable:close' );\n jQuery( '#merge-tags-box' ).removeClass();\n jQuery( '.merge-tag-focus' ).removeClass( 'merge-tag-focus' );\n jQuery( '.merge-tag-focus-overlay' ).removeClass( 'merge-tag-focus-overlay' );\n\n return;\n }\n\n // Get the value.\n // var value = jQuery( summernote ).summernote( 'code' );\n // Update the value.\n // jQuery( summernote ).closest( '.nf-setting' ).find( '.note-editable' ).html( value );\n\n if( 'undefined' != typeof target ) {\n var $this = jQuery(target);\n } else {\n var $this = jQuery( this );\n }\n\n // TODO: Disable Browser Autocomplete\n // $this.attr()\n\n\n var dataID = jQuery( this ).data( 'id' );\n if( dataID && 'eq' != dataID ) return;\n\n // Store the current caret position.\n if( 'rte' == type ){\n var range = $this.summernote('createRange');\n if( range ) {\n var caretPos = range.so; // or .eo?\n } else {\n var caretPos = 0;\n }\n $this.closest( '.nf-setting' ).find( '.setting' ).summernote( 'saveRange' );\n } else {\n var caretPos = $this.caret();\n }\n nfRadio.channel( 'mergeTags' ).request( 'set:caret', caretPos );\n\n // Find merge tags.\n if( 'rte' == type ) {\n var mergetags = $this.summernote( 'code' ).match(new RegExp(/{([a-zA-Z0-9]|:|_|-|})*/g));\n } else {\n var mergetags = $this.val().match(new RegExp(/{([a-zA-Z0-9]|:|_|-|})*/g));\n }\n\n // Filter out closed merge tags.\n mergetags = _.filter(mergetags, function(mergetag) {\n return -1 == mergetag.indexOf( '}' ); // Filter out \"closed\" merge tags.\n });\n\n // If an open merge tag is found, show the Merge Tag Box, else hide.\n if( 0 !== mergetags.length ) {\n\n nfRadio.channel( 'mergeTags' ).request( 'set:old', mergetags[0] );\n\n jQuery('#merge-tags-box').css( 'display', 'block' );\n nfRadio.channel( 'drawer' ).request( 'prevent:close' );\n $this.addClass('merge-tag-focus');\n\n var boxHeight = jQuery( '#merge-tags-box' ).outerHeight();\n jQuery( '#nf-drawer' ).css( 'padding-bottom', boxHeight + 'px' );\n\n // Disable browser autocomplete.\n var autocomplete = $this.attr( 'autocomplete' );\n $this.attr( 'autocomplete', 'off' );\n $this.data( 'autocomplete', autocomplete );\n\n var $overlayElement = $this.closest( '.nf-setting, .nf-table-row' );\n if( 0 != $overlayElement.find( '.note-editor' ).length ){\n $overlayElement.find('.note-editor' ).addClass('merge-tag-focus-overlay');\n } else {\n $overlayElement.addClass('merge-tag-focus-overlay');\n }\n\n $overlayElement.off( 'click' );\n $overlayElement.on( 'click', function( event ){\n var elementClasses = jQuery( event.target ).attr( 'class' ) || [];\n if( -1 !== elementClasses.indexOf( 'merge-tag-focus-overlay' ) ){\n nfRadio.channel( 'mergeTags' ).request( 'insert:tag', '' );\n jQuery( '#merge-tags-box' ).css( 'display', 'none' );\n nfRadio.channel( 'drawer' ).request( 'enable:close' );\n jQuery( '#merge-tags-box' ).removeClass();\n jQuery( '.merge-tag-focus' ).removeClass( 'merge-tag-focus' );\n jQuery( '.merge-tag-focus-overlay' ).removeClass( 'merge-tag-focus-overlay' );\n }\n });\n\n var value = mergetags[0].replace( '{', '' );\n nfRadio.channel( 'merge-tags' ).request( 'filtersearch', value );\n } else {\n jQuery( '#merge-tags-box' ).css( 'display', 'none' );\n nfRadio.channel( 'drawer' ).request( 'enable:close' );\n jQuery( '#merge-tags-box' ).removeClass();\n jQuery( '.merge-tag-focus' ).removeClass( 'merge-tag-focus' );\n jQuery( '.merge-tag-focus-overlay' ).removeClass( 'merge-tag-focus-overlay' );\n }\n }\n\n } );\n\n return controller;\n} );\n\n","/**\n * Listens to our app channel for settings views being rendered.\n *\n * If we're about to render a setting model that's a select and has 'fields' as the 'fill' setting, add all our field models to its options.\n * \n * @package Ninja Forms builder\n * @subpackage Main App\n * @copyright (c) 2015 WP Ninjas\n * @since 3.0\n */\ndefine( 'controllers/app/itemSettingFill',[], function() {\n\tvar controller = Marionette.Object.extend( {\n\t\tinitialize: function() {\n\t\t\t// Listen for messages that are fired before a setting view is rendered.\n\t\t\tthis.listenTo( nfRadio.channel( 'app' ), 'before:renderSetting', this.beforeRenderSetting );\n\t\t},\n\n\t\tbeforeRenderSetting: function( settingModel, dataModel ) {\n\t\t\tif ( 'fields' == settingModel.get( 'fill' ) ) {\n\t\t\t\t\n\t\t\t}\n\t\t}\n\n\t});\n\n\treturn controller;\n} );\n","/**\n * Modify the user's browser history when they click on a domain\n * \n * @package Ninja Forms builder\n * @subpackage Main App\n * @copyright (c) 2015 WP Ninjas\n * @since 3.0\n */\ndefine( 'controllers/app/confirmPublish',[], function() {\n\tvar controller = Marionette.Object.extend( {\n\t\tinitialize: function() {\n\t\t\tthis.listenTo( nfRadio.channel( 'app' ), 'click:confirmPublish', this.confirmPublish );\n\t\t},\n\n\t\tconfirmPublish: function() {\n\t\t\tvar formModel = nfRadio.channel( 'app' ).request( 'get:formModel' );\n\t\t\t// Check to see if we need to add a submit button.\n\t\t\tif ( 1 == formModel.get( 'settings' ).get( 'add_submit' ) ) {\n\t\t\t\tnfRadio.channel( 'fields' ).request( 'add', { type: 'submit', label: 'Submit', order: 9999 } );\n\t\t\t}\n\t\t\tformModel.set( 'show_publish_options', false );\n\t\t\tnfRadio.channel( 'app' ).request( 'update:db', 'publish' );\n\t\t}\n\n\t});\n\n\treturn controller;\n} );\n","/**\n * Handles actions related to settings that utilise the Rich Text Editor\n *\n * @package Ninja Forms builder\n * @subpackage App - Settings Drawer\n * @copyright (c) 2015 WP Ninjas\n * @since 3.0\n */\ndefine( 'controllers/app/rte',[], function() {\n\tvar controller = Marionette.Object.extend( {\n\t\tinitialize: function() {\n\t\t\t// We don't want the RTE setting to re-render when the value changes.\n\t\t\tnfRadio.channel( 'setting-type-rte' ).reply( 'renderOnChange', function(){ return false } );\n\n\t\t\tthis.listenTo( nfRadio.channel( 'rte' ), 'init:settingModel', this.initSettingModel );\n\n\t\t\t// When an RTE setting is shown, re-render RTE.\n\t\t\tthis.listenTo( nfRadio.channel( 'setting-type-rte' ), 'render:setting', this.renderSetting );\n\n\t\t\t// When an RTE setting view is destroyed, remove our RTE.\n\t\t\tthis.listenTo( nfRadio.channel( 'setting-type-rte' ), 'destroy:setting', this.destroySetting );\n\n\t\t\t// When an element within the RTE is clicked, check to see if we should insert a link.\n\t\t\tthis.listenTo( nfRadio.channel( 'setting-type-rte' ), 'click:extra', this.clickExtra );\n\n\t\t\t// Instantiates the variable that holds the media library frame.\n\t\t\tthis.meta_image_frame;\n\n\t\t\tjQuery.summernote.options.icons = {\n\t\t 'align': 'dashicons dashicons-editor-alignleft',\n\t\t 'alignCenter': 'dashicons dashicons-editor-aligncenter',\n\t\t 'alignJustify': 'dashicons dashicons-editor-justify',\n\t\t 'alignLeft': 'dashicons dashicons-editor-alignleft',\n\t\t 'alignRight': 'dashicons dashicons-editor-alignright',\n\t\t 'indent': 'dashicons dashicons-editor-indent',\n\t\t 'outdent': 'dashicons dashicons-editor-outdent',\n\t\t // 'arrowsAlt': 'dashicons fa-arrows-alt',\n\t\t 'bold': 'dashicons dashicons-editor-bold',\n\t\t 'caret': 'dashicons dashicons-arrow-down',\n\t\t // 'circle': 'dashicons fa-circle',\n\t\t 'close': 'dashicons dashicons-dismiss',\n\t\t 'code': 'dashicons dashicons-editor-code',\n\t\t 'eraser': 'dashicons dashicons-editor-removeformatting',\n\t\t // 'font': 'dashicons fa-font',\n\t\t // 'frame': 'dashicons fa-frame',\n\t\t 'italic': 'dashicons dashicons-editor-italic',\n\t\t 'link': 'dashicons dashicons-admin-links',\n\t\t 'unlink': 'dashicons dashicons-editor-unlink',\n\t\t 'magic': 'dashicons dashicons-editor-paragraph',\n\t\t // 'menuCheck': 'dashicons fa-check',\n\t\t 'minus': 'dashicons dashicons-minus',\n\t\t 'orderedlist': 'dashicons dashicons-editor-ol',\n\t\t // 'pencil': 'dashicons fa-pencil',\n\t\t // 'picture': 'dashicons fa-picture-o',\n\t\t // 'question': 'dashicons fa-question',\n\t\t 'redo': 'dashicons dashicons-redo',\n\t\t 'square': 'dashicons fa-square',\n\t\t // 'strikethrough': 'dashicons fa-strikethrough',\n\t\t // 'subscript': 'dashicons fa-subscript',\n\t\t // 'superscript': 'dashicons fa-superscript',\n\t\t 'table': 'dashicons dashicons-editor-table',\n\t\t // 'textHeight': 'dashicons fa-text-height',\n\t\t // 'trash': 'dashicons fa-trash',\n\t\t 'underline': 'dashicons dashicons-editor-underline',\n\t\t 'undo': 'dashicons dashicons-undo',\n\t\t 'unorderedlist': 'dashicons dashicons-editor-ul',\n\t\t // 'video': 'dashicons fa-youtube-play'\n\t\t }\n\n\t\t this.currentContext = {};\n\t\t},\n\n\t\tinitSettingModel: function( settingModel ) {\n\t\t\tsettingModel.set( 'hide_merge_tags', true );\n\t\t},\n\n\t\tinitRTE: function( settingModel, dataModel, settingView ) {\n\t\t\t/*\n\t\t\t * Custom Button for links\n\t\t\t */\n\t\t\tvar that = this;\n\t\t\t// var linkButton = this.linkButton();\n\t\t\tvar linkButton = function( context ) {\n\t\t\t\treturn that.linkButton( context );\n\t\t\t}\n\t\t\tvar mediaButton = function( context ) {\n\t\t\t\treturn that.mediaButton( context );\n\t\t\t}\n\t\t\tvar mergeTags = this.mergeTags();\n\n\t\t\tvar toolbar = [\n\t\t\t\t[ 'paragraphStyle', ['style'] ],\n\t\t\t\t[ 'fontStyle', [ 'bold', 'italic', 'underline','clear' ] ],\n\t\t\t\t[ 'lists', [ 'ul', 'ol' ] ],\n\t\t\t [ 'paragraph', [ 'paragraph' ] ],\n\t\t\t [ 'customGroup', [ 'linkButton', 'unlink' ] ],\n\t\t\t [ 'table', [ 'table' ] ],\n\t\t\t [ 'actions', [ 'undo', 'redo' ] ],\n\t\t\t [ 'tools', [ 'mediaButton', 'mergeTags', 'codeview' ] ]\n\t\t\t];\n\n\t\t\tjQuery( settingView.el ).find( 'div.setting' ).summernote( {\n\t\t\t\ttoolbar: toolbar,\n\t\t\t\tbuttons: {\n\t\t\t\t\tlinkButton: linkButton,\n\t\t\t\t\tmergeTags: mergeTags,\n\t\t\t\t\tmediaButton: mediaButton\n\t\t\t\t},\n\t\t\t\theight: 150, //set editable area's height\n\t\t\t\tcodemirror: { // codemirror options\n\t\t\t\t theme: 'monokai',\n\t\t\t\t lineNumbers: true,\n\t\t\t\t callbacks: {\n\t\t\t\t \tonBlur: function( editor ) {\n\t\t\t\t \t\tvar value = editor.getValue();\n\t\t\t\t \t\tthat.updateDataModel( settingModel, dataModel, value );\n\t\t\t\t \t}\n\t\t\t\t }\n\t\t\t\t},\n\t\t\t\tprettifyHtml: true,\n\t\t\t\tcallbacks: {\n\t\t\t\t\tonBlur: function( e, context ) {\n\t\t\t\t\t\tvar value = jQuery( this ).summernote( 'code' );\n\t\t\t\t\t\tthat.updateDataModel( settingModel, dataModel, value );\n nfRadio.channel( 'summernote' ).trigger( 'blur', settingModel, dataModel, value );\n\t\t\t\t\t},\n onFocus: function( e, context ) {\n nfRadio.channel( 'summernote' ).trigger( 'focus', e, this, context );\n },\n onKeydown: function( e, context ) {\n nfRadio.channel( 'summernote' ).trigger( 'keydown', e, this, context );\n },\n onKeyup: function( e, context ) {\n nfRadio.channel( 'summernote' ).trigger( 'keyup', e, this, context );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} );\n\t\t},\n\n\t\tupdateDataModel: function( settingModel, dataModel, value ) {\n\t\t\tvar name = settingModel.get( 'name' );\n\t\t\tvar before = dataModel.get( name );\n\t\t\tvar after = value;\n\n\t\t\tvar changes = {\n\t\t\t\tattr: name,\n\t\t\t\tbefore: before,\n\t\t\t\tafter: after\n\t\t\t}\n\n\t\t\tvar label = {\n\t\t\t\tobject: dataModel.get( 'objectType' ),\n\t\t\t\tlabel: dataModel.get( 'label' ),\n\t\t\t\tchange: 'Changed ' + settingModel.get( 'label' ) + ' from ' + before + ' to ' + after\n\t\t\t};\n\n\t\t\tnfRadio.channel( 'changes' ).request( 'register:change', 'changeSetting', dataModel, changes, label );\n\n\t\t\tdataModel.set( settingModel.get( 'name' ), after );\n\t\t},\n\n\t\trenderSetting: function( settingModel, dataModel, settingView ) {\n\t\t\tthis.initRTE( settingModel, dataModel,settingView );\n\t\t\tvar linkMenu = jQuery( settingView.el ).find( '.link-button' ).next( '.dropdown-menu' ).find( 'button' );\n\t\t\tlinkMenu.replaceWith(function () {\n\t\t\t return jQuery( '<div/>', {\n\t\t\t class: jQuery( linkMenu ).attr( 'class' ),\n\t\t\t html: this.innerHTML\n\t\t\t } );\n\t\t\t} );\n\t\t},\n\n\t\tdestroySetting: function( settingModel, dataModel, settingView ) {\n\t\t\tthis.removeRTE( settingModel, dataModel, settingView );\n\t\t},\n\n\t\tremoveRTE: function( settingModel, dataModel, settingView ) {\n\t\t\tjQuery( settingView.el ).find( 'div.setting' ).summernote( 'destroy' );\n\t\t},\n\n\t\tdrawerOpened: function( settingModel, dataModel, settingView ) {\n\t\t\tthis.initRTE( settingModel, dataModel, settingView );\n\t\t},\n\n\t\tlinkButton: function( context ) {\n\t\t\tvar that = this;\n\t\t\tvar ui = jQuery.summernote.ui;\n\t\t\tvar linkButton = nfRadio.channel( 'app' ).request( 'get:template', '#tmpl-nf-rte-link-button' );\n\t\t\tvar linkDropdown = nfRadio.channel( 'app' ).request( 'get:template', '#tmpl-nf-rte-link-dropdown' );\n\t\t\treturn ui.buttonGroup([\n\t\t\t\tui.button({\n\t className: 'dropdown-toggle link-button',\n\t contents: linkButton({}),\n\t tooltip: 'Insert Link',\n\t click: function( e ) {\n\t \tthat.clickLinkButton( e, context );\n\t },\n\t data: {\n\t toggle: 'dropdown'\n\t }\n\t }),\n\t\t\t\tui.dropdown([\n\t ui.buttonGroup({\n\t children: [\n\t ui.button({\n\t contents: linkDropdown({}),\n\t tooltip: ''\n\t }),\n\t ]\n\t })\n\t ])\n\t\t\t]).render();\n\t\t},\n\n\t\tmergeTags: function( context ) {\n\t\t\tvar ui = jQuery.summernote.ui;\n\t\t\tvar mergeTagsButton = nfRadio.channel( 'app' ).request( 'get:template', '#tmpl-nf-rte-merge-tags-button' );\n\t\t\treturn ui.button({\n\t\t\t\tclassName: 'dropdown-toggle merge-tags',\n\t\t\t\tcontents: mergeTagsButton({}),\n\t\t\t\ttooltip: 'Merge Tags'\n\t\t\t}).render();\n\t\t},\n\n\t\tmediaButton: function( context ) {\n\t\t\tvar that = this;\n\t\t\tvar ui = jQuery.summernote.ui;\n\t\t\tvar mediaButton = nfRadio.channel( 'app' ).request( 'get:template', '#tmpl-nf-rte-media-button' );\n\t\t\treturn ui.button({\n\t className: 'dropdown-toggle',\n\t contents: mediaButton({}),\n\t tooltip: 'Insert Media',\n\t click: function( e ) {\n\t \tthat.openMediaManager( e, context );\n\t }\n\t }).render();\n\t\t},\n\n\t\topenMediaManager: function( e, context ) {\n\t\t\tcontext.invoke( 'editor.createRange' );\n\t\t\tcontext.invoke( 'editor.saveRange' );\n\t\t\tthis.currentContext = context;\n\t\t\t\n\t\t\t// If the frame already exists, re-open it.\n\t\t\tif ( this.meta_image_frame ) {\n\t\t\t\tthis.meta_image_frame.open();\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Sets up the media library frame\n\t\t\tthis.meta_image_frame = wp.media.frames.meta_image_frame = wp.media({\n\t\t\t\ttitle: 'Select a file',\n\t\t\t\tbutton: { text: 'insert' }\n\t\t\t});\n\n\t\t\tvar that = this;\n\n\t\t\t// Runs when an image is selected.\n\t\t\tthis.meta_image_frame.on('select', function(){\n\n\t\t\t\t// Grabs the attachment selection and creates a JSON representation of the model.\n\t\t\t\tvar media_attachment = that.meta_image_frame.state().get('selection').first().toJSON();\n\t\t\t\tthat.insertMedia( media_attachment, context );\n\t\t\t});\n\n\t\t\t// Opens the media library frame.\n\t\t\tthis.meta_image_frame.open();\n\t\t},\n\n\t\tclickLinkButton: function ( e, context ) {\n\t\t\tvar range = context.invoke( 'editor.createRange' );\n\t\t\tcontext.invoke( 'editor.saveRange' );\n\t\t\tvar text = range.toString()\n\t\t\tthis.currentContext = context;\n\n\t\t\tjQuery( e.target ).closest( '.note-customGroup > .note-btn-group' ).on ('hide.bs.dropdown', function ( e ) {\n\t\t\t\treturn false;\n\t\t\t});\n\n\t\t\tjQuery( e.target ).closest( '.note-customGroup > .note-btn-group' ).on ('shown.bs.dropdown', function ( e ) {\n\t\t\t\tjQuery( e.target ).parent().parent().find( '.link-text' ).val( text );\n\t\t\t\tjQuery( e.target ).parent().parent().find( '.link-url' ).focus();\n\t\t\t});\n\t\t},\n\n\t\tclickExtra: function( e, settingModel, dataModel, settingView ) {\n\t\t\tvar textEl = jQuery( e.target ).parent().find( '.link-text' );\n\t\t\tvar urlEl = jQuery( e.target ).parent().find( '.link-url' );\n\t\t\tvar isNewWindowEl = jQuery( e.target ).parent().find( '.link-new-window' );\n\t\t\tthis.currentContext.invoke( 'editor.restoreRange' );\n\t\t\tif ( jQuery( e.target ).hasClass( 'insert-link' ) ) {\n\t\t\t\tvar text = textEl.val();\n\t\t\t\tvar url = urlEl.val();\n\t\t\t\tvar isNewWindow = ( isNewWindowEl.prop( 'checked' ) ) ? true: false;\n\t\t\t\tif ( 0 != text.length && 0 != url.length ) {\n\t\t\t\t\tthis.currentContext.invoke( 'editor.createLink', { text:text, url: url, isNewWindow: isNewWindow } );\n\t\t\t\t}\n\t\t\t}\n\t\t\ttextEl.val( '' );\n\t\t\turlEl.val( '' );\n\t\t\tisNewWindowEl.prop( 'checked', false );\n\t\t\tjQuery( e.target ).closest( 'div.note-btn-group.open' ).removeClass( 'open' );\n\t\t},\n\n\t\tinsertMedia: function( media, context ) {\n\t\t\tthis.currentContext.invoke( 'editor.restoreRange' );\n\t\t\tif ( 'image' == media.type ) {\n\t\t\t\tthis.currentContext.invoke( 'editor.insertImage', media.url );\n\t\t\t} else {\n\t\t\t\tthis.currentContext.invoke( 'editor.createLink', {\n\t\t\t\t\ttext: media.title || media.filename,\n\t\t\t\t\turl: media.url\n\t\t\t\t} );\n\t\t\t}\n\n\t\t}\n\t});\n\n\treturn controller;\n} );\n\n","/**\n * Listens to our app channel for settings views being rendered.\n *\n * @package Ninja Forms builder\n * @subpackage Main App\n * @copyright (c) 2015 WP Ninjas\n * @since 3.0\n */\ndefine( 'controllers/app/settingFieldSelect',[], function() {\n var controller = Marionette.Object.extend( {\n\n initialize: function() {\n\n // Bind field key listener to field-select setting type.\n this.listenTo( nfRadio.channel( 'field-select' ), 'init:settingModel', this.trackKeyChanges );\n\n // The first time settingModel and the dataModel meet.\n this.listenTo( nfRadio.channel( 'setting-type-field-select' ), 'before:renderSetting', this.beforeRender );\n\n // Add setting change listener only in drawers with a field-select setting.\n this.listenTo( nfRadio.channel( 'field-select' ), 'init:settingModel', function() {\n this.listenTo( nfRadio.channel( 'app' ), 'change:setting', this.maybeSwitchToFieldsDomain );\n });\n\n this.listenTo( nfRadio.channel( 'app' ), 'change:currentDomain', this.autoOpenDrawer );\n\n this.listenTo( nfRadio.channel( 'drawer' ), 'opened', this.filterDrawerContents );\n this.listenTo( nfRadio.channel( 'drawer' ), 'closed', this.SwitchToFieldsDomain );\n },\n\n trackKeyChanges: function( settingModel ) {\n settingModel.listenTo( nfRadio.channel( 'app' ), 'update:fieldKey', settingModel.updateKey );\n\n // Update selected field if the selected field's key changes.\n this.listenTo( nfRadio.channel( 'app' ), 'replace:fieldKey', this.updateFieldMap );\n },\n\n updateFieldMap: function( dataModel, keyModel, settingModel ) {\n\n var oldKey = keyModel._previousAttributes[ 'key' ];\n var newKey = keyModel.get( 'key' );\n\n if( 'field-select' == settingModel.get( 'type' ) && dataModel.get( settingModel.get( 'name' ) ) == oldKey ) {\n\n dataModel.set( settingModel.get( 'name' ), newKey );\n }\n },\n\n beforeRender: function( settingModel, dataModel ) {\n\n var fieldCollection = nfRadio.channel( 'fields' ).request( 'get:collection' );\n\n var fieldTypes = settingModel.get( 'field_types' );\n\n var options = [\n {\n label: '--',\n value: 0\n }\n ];\n _.each( fieldCollection.models, function( field ){\n\n if( dataModel.cid == field.cid ) return;\n\n if( 'undefined' != typeof fieldTypes && 0 != fieldTypes.length && ! _.contains( fieldTypes, field.get( 'type' ) ) ) return;\n\n var fieldFilter = settingModel.get( 'field_filter' );\n if( fieldFilter && 'undefined' != typeof fieldFilter[ field.get( 'type' ) ] ) {\n var bail = false;\n _.each( fieldFilter[ field.get( 'type' ) ], function( value, setting ){\n console.log( value + \":\" + field.get( setting ) );\n if( value != field.get( setting ) ) bail = true;\n } );\n if( bail ) return;\n }\n\n var value = field.get( 'key' );\n switch ( settingModel.get( 'field_value_format' ) ) {\n case 'key':\n value = field.get( 'key' );\n break;\n case 'merge_tag':\n default:\n value = '{field:' + field.get( 'key' ) + '}';\n }\n\n options.push({\n label: field.get( 'label' ),\n value: value\n });\n });\n\n if( 'undefined' != typeof fieldTypes && 0 != fieldTypes.length ) {\n _.each( fieldTypes, function( fieldType ){\n\n var fieldTypeModel = nfRadio.channel( 'fields' ).request( 'get:type', fieldType );\n\n options.push({\n label: '-- Add ' + fieldTypeModel.get( 'nicename' ) + ' Field',\n value: 'addField:' + fieldType,\n });\n } );\n }\n\n settingModel.set( 'options', options );\n },\n\n maybeSwitchToFieldsDomain: function( e, model, dataModel ) {\n\n if( 'field-select' != model.get( 'type' ) ) return;\n\n var name = model.get( 'name' );\n var value = dataModel.get( name );\n\n if( ! value ) return;\n\n var rubble = value.split( ':' );\n\n if( 'addField' != rubble[0] ) return;\n\n this.openDrawer = 'addField';\n this.filterDrawer = rubble[1];\n\n dataModel.set( name, '' );\n\n this.switchDomain = true;\n nfRadio.channel( 'app' ).request( 'close:drawer' );\n },\n\n SwitchToFieldsDomain: function() {\n if( this.switchDomain ) {\n var fieldDomainModel = nfRadio.channel( 'app' ).request( 'get:domainModel', 'fields' );\n nfRadio.channel('app').request('change:currentDomain', null, fieldDomainModel);\n this.switchDomain = null;\n }\n },\n\n autoOpenDrawer: function() {\n if( this.openDrawer ) {\n nfRadio.channel( 'app' ).request( 'open:drawer', this.openDrawer );\n this.openDrawer = null;\n }\n },\n\n filterDrawerContents: function() {\n if( this.filterDrawer ) {\n nfRadio.channel('drawer-addField').trigger('change:filter', this.filterDrawer);\n this.filterDrawer = null;\n }\n }\n });\n\n return controller;\n} );\n","/**\n * The Field List setting is a container of settings (like the Fieldset setting), in which its children are instantiated.\n * Unlike the Fieldset setting, Field List settings are dynamically created based on the list of form fields.\n *\n * Note: Field references in the dynamic setting names are based on field keys, which may change.\n * Unlike regular field key tracking, a new setting needs to be created with the same value as the previous.\n *\n * @package Ninja Forms builder\n * @subpackage Action Settings\n * @copyright (c) 2016 WP Ninjas\n * @author Kyle B. Johnson\n * @since 3.0\n */\ndefine( 'controllers/app/settingFieldList',['views/app/drawer/typeSettingFieldset','models/app/settingCollection'], function( fieldsetView, settingCollection ) {\n return Marionette.Object.extend( {\n\n /**\n * A reference list of Field List setting models.\n */\n fieldListSettings: [],\n\n initialize: function() {\n this.listenTo( nfRadio.channel( 'field-list' ), 'init:settingModel', this.registerFieldListSettings );\n this.listenTo( nfRadio.channel( 'fields' ), 'update:setting', this.updateFieldListSettingKeys );\n nfRadio.channel( 'field-list' ).reply( 'get:settingChildView', this.getSettingChildView, this );\n },\n\n /**\n * Build a reference list of Field List setting models for later reference.\n *\n * @param settingModel\n */\n registerFieldListSettings: function( settingModel ){\n this.fieldListSettings.push( settingModel.get( 'name' ) );\n },\n\n /**\n * Field List settings contain field keys in the setting names.\n * When a field key changes, so too must the Field List setting name.\n *\n * @param fieldModel\n */\n updateFieldListSettingKeys: function( fieldModel ){\n\n // We are only interested in field key changes.\n if( 'undefined' == typeof fieldModel.changed.key ) return;\n\n var oldKey = fieldModel._previousAttributes.key;\n var newKey = fieldModel.changed.key;\n\n /*\n * This is an absolute (functional) mess of nesting. I apologize to my future self, or Kenny.\n *\n * Each setting of each action model must be checked against each registered Field List setting.\n */\n var that = this;\n _.each( Backbone.Radio.channel( 'actions' ).request( 'get:collection' ).models, function( actionModel ) {\n _.each( actionModel.attributes, function( value, setting ) {\n var lastChanged = ''; // Used to avoid resetting the change with a duplicate call.\n _.each( that.fieldListSettings, function( prefix ) {\n if( setting != prefix + '-' + oldKey || lastChanged == oldKey ) return;\n var oldValue = actionModel.get( prefix + '-' + oldKey );\n actionModel.set( prefix + '-' + newKey, oldValue );\n actionModel.set( prefix + '-' + oldKey, 0 );\n lastChanged = oldKey;\n });\n });\n });\n },\n\n /**\n * Set the view for Field List sub-settings, just like the Fieldset setting.\n *\n * @param settingModel\n * @returns {*}\n */\n getSettingChildView: function( settingModel ) {\n\n /**\n * Dynamically build field-list settings as needed for the view.\n */\n\n // Filter fields based on the field_types setting property.\n var fields = _.filter( nfRadio.channel( 'fields' ).request( 'get:collection' ).models, function( field ) {\n return _.contains( settingModel.get( 'field_types' ), field.get( 'type' ) );\n });\n\n // Map fields into setting definitions.\n var settings = _.map( fields, function( field ) {\n return {\n name: settingModel.get( 'name' ) + '-' + field.get( 'key' ),\n type: 'toggle',\n label: field.get( 'label' ),\n width: 'full'\n };\n });\n\n settingModel.set( 'settings', new settingCollection( settings ) );\n\n // return the child view.\n return fieldsetView;\n },\n\n });\n} );\n\n","/**\n * Listens to our app channel for settings views being rendered.\n *\n *\n *\n * @package Ninja Forms builder\n * @subpackage Main App\n * @copyright (c) 2015 WP Ninjas\n * @since 3.0\n */\ndefine( 'controllers/app/settingHTML',[], function() {\n var controller = Marionette.Object.extend( {\n initialize: function() {\n\n // The first time settingModel and the dataModel meet.\n this.listenTo( nfRadio.channel( 'setting-type-html' ), 'before:renderSetting', this.init );\n },\n\n init: function( settingModel, dataModel ) {\n\n if( 'undefined' == settingModel.get( 'mirror' ) ) return;\n\n // Listen to a setting change inside of the dataModel.\n dataModel.on( 'change:' + settingModel.get( 'mirror' ), this.update, settingModel );\n },\n\n update: function( dataModel, changedSettingValue ) {\n\n // Mirror the default value setting value.\n dataModel.set( this.get( 'name' ), changedSettingValue );\n }\n });\n\n return controller;\n} );\n","/**\n * Listens to our app channel for settings views being rendered.\n *\n * @package Ninja Forms builder\n * @subpackage Main App\n * @copyright (c) 2015 WP Ninjas\n * @since 3.0\n */\ndefine( 'controllers/app/settingColor',[], function() {\n var controller = Marionette.Object.extend( {\n initialize: function() {\n // We don't want to re-render this setting type when the data changes.\n nfRadio.channel( 'setting-type-color' ).reply( 'renderOnChange', this.setRenderFalse );\n // We want to close any color pickers before we close our styling tab or drawer.\n this.listenTo( nfRadio.channel( 'setting-type-color' ), 'destroy:setting', this.closeColorPickers );\n\n // The first time settingModel and the dataModel meet.\n this.listenTo( nfRadio.channel( 'setting-type-color' ), 'render:setting', this.initColorPicker );\n },\n\n initColorPicker: function( settingModel, dataModel, view ) {\n\n var name = settingModel.get( 'name' );\n var el = jQuery( view.el ).find( 'input' );\n\n jQuery( el ).wpColorPicker( {\n change: function( event, ui ){\n nfRadio.channel( 'app' ).request( 'change:setting', event, settingModel, dataModel, ui.color.toString() );\n }\n } );\n },\n\n setRenderFalse: function() {\n return false;\n },\n\n closeColorPickers: function( settingModel, dataModel, view ) {\n jQuery( view.el ).find( '.wp-color-picker' ).wpColorPicker( 'close' );\n }\n });\n\n return controller;\n} );\n","/**\n * Listens to our app channel for the app to start.\n *\n * If the form is a new form, then highlight the Add New submenu item.\n * Otherwise, append an Edit Form submenu for context.\n *\n * @package Ninja Forms builder\n * @subpackage Main App\n * @copyright (c) 2016 WP Ninjas\n * @since 3.0\n */\ndefine( 'controllers/app/changeMenu',[], function() {\n var controller = Marionette.Object.extend({\n\n editFormText: '',\n\n initialize: function () {\n this.editFormText = nfAdmin.editFormText || 'Edit Form';\n this.listenTo(nfRadio.channel('app'), 'after:appStart', this.changeMenu);\n this.listenTo( nfRadio.channel( 'app' ), 'response:updateDB', this.formPublish );\n },\n\n changeMenu: function () {\n var form = nfRadio.channel( 'app' ).request( 'get:formModel' );\n\n if ( this.isNewForm( form.id ) ) {\n this.highlightAddNew();\n } else {\n this.appendEditForm();\n }\n },\n\n isNewForm: function( form_id ) {\n return isNaN( form_id );\n },\n\n highlightAddNew: function() {\n jQuery( '.wp-submenu li' ).removeClass( 'current' );\n jQuery( 'a[href=\"admin.php?page=ninja-forms&form_id=new\"]' ).parent().addClass( 'current' );\n },\n\n /**\n * Append 'Edit Form'\n * When editing a form, add an 'Edit Form' submenu item to\n * the WordPress Admin Dashboard menu, specifically under\n * the Ninja Forms Menu Item and after the 'Add New' item.\n */\n appendEditForm: function() {\n // Singleton check. Only add this menu item one time.\n if ( jQuery( 'li a:contains(\"' + this.editFormText + '\")' ).length > 0 ) return;\n\n var editFormLinkText, editFormLink, editFormListItem;\n\n // Create the 'Edit Form' submenu item.\n editFormLinkText = document.createTextNode(this.editFormText);\n editFormLink = document.createElement(\"a\");\n editFormLink.appendChild(editFormLinkText);\n\n editFormListItem = document.createElement(\"li\");\n editFormListItem.appendChild(editFormLink);\n editFormListItem.classList.add(\"current\");\n\n // Remove the `current` class from any existing list items.\n jQuery( '.wp-submenu li' ).removeClass( 'current' );\n\n // Insert the 'Edit Form' item after the 'Add New' item;\n jQuery( 'a[href=\"admin.php?page=ninja-forms#new-form\"]' ).parent().after( editFormListItem );\n },\n\n formPublish: function( response ) {\n if ( 'publish' !== response.action ) return false;\n this.changeMenu();\n }\n });\n\n return controller;\n});\n\n","/**\n * When we click on a domain link, close the mobile menu.\n * \n * @package Ninja Forms builder\n * @subpackage Main App\n * @copyright (c) 2015 WP Ninjas\n * @since 3.0\n */\ndefine( 'controllers/app/mobile',[], function() {\n\tvar controller = Marionette.Object.extend( {\n\t\tinitialize: function() {\n\t\t\t// Listen for clicks on our app menu.\n\t\t\tthis.listenTo( nfRadio.channel( 'app' ), 'click:menu', this.closeMobileMenu );\n\t\t},\n\n\t\tcloseMobileMenu: function() {\n\t\t\tvar builderEl = nfRadio.channel( 'app' ).request( 'get:builderEl' );\n\t\t\tjQuery( builderEl ).removeClass( 'nf-menu-expand' );\n\t\t}\n\n\t});\n\n\treturn controller;\n} );\n","/**\n * Add a jBox notice to the screen.\n * \n * @package Ninja Forms builder\n * @subpackage Main App\n * @copyright (c) 2015 WP Ninjas\n * @since 3.0\n */\ndefine( 'controllers/app/notices',[], function() {\n\tvar controller = Marionette.Object.extend( {\n\t\tinitialize: function() {\n\t\t\tnfRadio.channel( 'notices' ).reply( 'add', this.addNotice, this );\n\t\t\tnfRadio.channel( 'notices' ).reply( 'close', this.closeNotice, this );\n\t\t\tthis.notices = {};\n\t\t},\n\n\t\taddNotice: function( key, msg, options ) {\n\n\t\t\tvar appDefaults = {\n\t\t\t\tcontent: msg,\n\t\t\t\tcolor: 'green',\n\t\t\t\tzIndex:10000000,\n\t\t\t\tconstructOnInit: true,\n\t\t\t\tstack: true,\n\t\t\t\tanimation: {\n\t\t\t\t\topen: 'flip',\n\t\t\t\t\tclose: 'flip'\n\t\t\t\t}\n\t\t\t};\n\n\t\t\tvar mobileDefaults = {\n\t\t\t\tposition: {\n\t\t\t\t\tx: 'center',\n\t\t\t\t\ty: 'top'\n\t\t\t\t},\n\t\t\t\tanimation: {\n\t\t\t\t\topen:'slide:top',\n\t\t\t\t\tclose:'slide:left'\n\t\t\t\t},\n\t\t\t\tautoClose: 2000,\n\t\t\t\toffset: {\n\t\t\t\t\tx: 0,\n\t\t\t\t\ty: 55\n\t\t\t\t}\n\t\t\t};\n\n\t\t\tvar desktopDefaults = {\n\t\t\t\tattributes: {\n\t\t\t\t\tx: 'left',\n\t\t\t\t\ty: 'bottom'\n\t\t\t\t},\n\t\t\t\tautoClose: 4000\n\t\t\t};\n\n\t\t\tif ( nfRadio.channel( 'app' ).request( 'is:mobile' ) ) {\n\t\t\t\tvar defaults = mobileDefaults;\t\n\t\t\t} else {\n\t\t\t\tvar defaults = desktopDefaults;\n\t\t\t}\n\t\t\tdefaults = jQuery.extend( defaults, appDefaults );\n\n\t\t\tvar options = jQuery.extend( defaults, options );\n\t\t\t// console.log( options );\n\t\t\tthis.notices[ key ] = new jBox( 'Notice', options );\n\t\t},\n\n\t\tcloseNotice: function( key ) {\n\t\t\tif ( 'undefined' != typeof this.notices[ key ] ) {\n\t\t\t\tthis.notices[ key ].close();\n\t\t\t}\n\t\t},\n\n\t\topenNotice: function( key ) {\n\t\t\tif ( 'undefined' != typeof this.notices[ key ] ) {\n\t\t\t\tthis.notices[ key ].open();\n\t\t\t}\n\t\t}\n\n\t});\n\n\treturn controller;\n} );\n","/**\n * Prompt the user to save if they attempt to leave the page with unsaved changes.\n * \n * @package Ninja Forms builder\n * @subpackage Main App\n * @copyright (c) 2016 WP Ninjas\n * @since 3.0\n */\ndefine( 'controllers/app/unloadCheck',[], function() {\n\tvar controller = Marionette.Object.extend( {\n\t\tinitialize: function() {\n\t\t\tjQuery( window ).bind( 'beforeunload', this.maybePrompt );\n\t\t},\n\n\t\tmaybePrompt: function( model ) {\n\t\t\t// If our app is clean, don't show a warning.\n\t\t\tif ( ! nfRadio.channel( 'app' ).request( 'get:setting', 'clean' ) ) {\n\t\t\t\treturn 'You have unsaved changes.';\n\t\t\t}\n\t\t}\n\n\t});\n\n\treturn controller;\n} );\n","/**\n * Before we save data to the database (on preview update or publish), we check to see if we have anyone\n * that wants to update the 'formContent' form setting. This setting is used on the front-end to allow\n * for custom display of form fields. i.e. layout rows.\n * \n * @package Ninja Forms builder\n * @subpackage Main App\n * @copyright (c) 2015 WP Ninjas\n * @since 3.0\n */\ndefine( 'controllers/app/formContentFilters',[], function() {\n\tvar controller = Marionette.Object.extend( {\n\t\tinitialize: function() {\n\t\t\t/*\n\t\t\t * Init our formContent view filter array.\n\t\t\t */\n\t\t\tthis.viewFilters = [];\n\t\t\tthis.saveFilters = [];\n\t\t\tthis.loadFilters = [];\n\n\t\t\t/*\n\t\t * Listen for requests to add formContent filters.\n\t\t\t */\n\n\t\t\tnfRadio.channel( 'formContent' ).reply( 'add:viewFilter', this.addViewFilter, this );\n\t\t\tnfRadio.channel( 'formContent' ).reply( 'add:saveFilter', this.addSaveFilter, this );\n\t\t\tnfRadio.channel( 'formContent' ).reply( 'add:loadFilter', this.addLoadFilter, this );\n\n\t\t\t/*\n\t\t\t * Listen for requests to get our formContent filters.\n\t\t\t */\n\t\t\tnfRadio.channel( 'formContent' ).reply( 'get:viewFilters', this.getViewFilters, this );\n\t\t\tnfRadio.channel( 'formContent' ).reply( 'get:saveFilters', this.getSaveFilters, this );\n\t\t\tnfRadio.channel( 'formContent' ).reply( 'get:loadFilters', this.getLoadFilters, this );\n\t\t\t\n\t\t\t/*\n\t\t\t * -- DEPRECATED RADIO REPLIES --\n\t\t\t * \n\t\t\t * The 'fieldContents' channel has been deprecated as of 3.0 (it was present in the RC) in favour of 'formContent'.\n\t\t\t * Listen for requests to add new fieldContent filters.\n\t\t\t * \n\t\t\t * TODO: These radio listeners on the 'fieldContents' channels are here for backwards compatibility and should be removed eventually.\n\t\t\t */\n\n\t\t\tnfRadio.channel( 'fieldContents' ).reply( 'add:viewFilter', this.addViewFilter, this );\n\t\t\tnfRadio.channel( 'fieldContents' ).reply( 'add:saveFilter', this.addSaveFilter, this );\n\t\t\tnfRadio.channel( 'fieldContents' ).reply( 'add:loadFilter', this.addLoadFilter, this );\n\n\t\t\t/*\n\t\t\t * Listen for requests to get our fieldContent filters.\n\t\t\t */\n\t\t\tnfRadio.channel( 'fieldContents' ).reply( 'get:viewFilters', this.getViewFilters, this );\n\t\t\tnfRadio.channel( 'fieldContents' ).reply( 'get:saveFilters', this.getSaveFilters, this );\n\t\t\tnfRadio.channel( 'fieldContents' ).reply( 'get:loadFilters', this.getLoadFilters, this );\n\t\t\n\t\t\t/*\n\t\t\t * -- END DEPRECATED --\n\t\t\t */\n\t\t},\n\n\t\taddViewFilter: function( callback, priority ) {\n\t\t\tthis.viewFilters[ priority ] = callback;\n\t\t},\n\n\t\tgetViewFilters: function() {\n\t\t\treturn this.viewFilters;\n\t\t},\n\n\t\taddSaveFilter: function( callback, priority ) {\n\t\t\tthis.saveFilters[ priority ] = callback;\n\t\t},\n\n\t\tgetSaveFilters: function() {\n\t\t\treturn this.saveFilters;\n\t\t},\n\n\t\taddLoadFilter: function( callback, priority ) {\n\t\t\tthis.loadFilters[ priority ] = callback;\n\t\t},\n\n\t\tgetLoadFilters: function() {\n\t\t\treturn this.loadFilters;\n\t\t}\n\n\t});\n\n\treturn controller;\n} );\n","/**\n * Handles filters for our main content gutter views.\n * \n * @package Ninja Forms builder\n * @subpackage Main App\n * @copyright (c) 2015 WP Ninjas\n * @since 3.0\n */\ndefine( 'controllers/app/formContentGutterFilters',[], function() {\n\tvar controller = Marionette.Object.extend( {\n\t\tinitialize: function() {\n\t\t\t/*\n\t\t\t * Init our gutter view filter array.\n\t\t\t */\n\t\t\tthis.leftFilters = [];\n\t\t\tthis.rightFilters = [];\n\t\t\t/*\n\t\t * Listen for requests to add gutter filters.\n\t\t\t */\n\t\t\tnfRadio.channel( 'formContentGutters' ).reply( 'add:leftFilter', this.addLeftFilter, this );\n\t\t\tnfRadio.channel( 'formContentGutters' ).reply( 'add:rightFilter', this.addRightFilter, this );\n\n\t\t\t/*\n\t\t\t * Listen for requests to get our content gutter filters.\n\t\t\t */\n\t\t\tnfRadio.channel( 'formContentGutters' ).reply( 'get:leftFilters', this.getLeftFilters, this );\n\t\t\tnfRadio.channel( 'formContentGutters' ).reply( 'get:rightFilters', this.getRightFilters, this );\n\t\t},\n\n\t\taddLeftFilter: function( callback, priority ) {\n\t\t\tthis.leftFilters[ priority ] = callback;\n\t\t},\n\n\t\taddRightFilter: function( callback, priority ) {\n\t\t\tthis.rightFilters[ priority ] = callback;\n\t\t},\n\n\t\tgetLeftFilters: function() {\n\t\t\treturn this.leftFilters;\n\t\t},\n\n\t\tgetRightFilters: function() {\n\t\t\treturn this.rightFilters;\n\t\t}\n\n\t});\n\n\treturn controller;\n} );\n","/**\n * Returns a clone of a backbone collection with all the models' attributes looped through so that collections contained within are propely cloned.\n * \n * @package Ninja Forms builder\n * @subpackage Main App\n * @copyright (c) 2015 WP Ninjas\n * @since 3.0\n */\ndefine( 'controllers/app/cloneCollectionDeep',[], function() {\n\tvar controller = Marionette.Object.extend( {\n\t\tinitialize: function() {\n\t\t\tnfRadio.channel( 'app' ).reply( 'clone:collectionDeep', this.cloneCollectionDeep, this );\n\t\t},\n\n\t\tcloneCollectionDeep: function( collection ) {\n\t\t\tvar models = [];\n\t\t\t// Loop through every model in our collection, clone it, and add it to our model array\n\t\t\t_.each( collection.models, function( model ) {\n\t\t\t\tvar newModel = nfRadio.channel( 'app' ).request( 'clone:modelDeep', model );\n\t\t\t\tmodels.push( newModel );\n\t\t\t} );\n\t\t\t// Create a new instance of our collection\n\t\t\treturn new collection.constructor( models, collection.options );\n\t\t}\n\t});\n\n\treturn controller;\n} );\n","/**\n * Tracks which keys have been pressed.\n * Currently only used by fields to see if they should duplicate or delete on click.\n * (Shift + D + click = delete) (Shift + C + click = duplicate)\n * \n * @package Ninja Forms builder\n * @subpackage Fields - Edit Field Drawer\n * @copyright (c) 2015 WP Ninjas\n * @since 3.0\n */\ndefine( 'controllers/app/trackKeyDown',[], function() {\n\tvar controller = Marionette.Object.extend( {\n\t\tkeys: [],\n\n\t\tinitialize: function() {\n\t\t\tvar that = this;\n\t\t\t/*\n\t\t\t * Track keydowns and store the keys pressed.\n\t\t\t */\n\t\t\t\n\t\t\tjQuery( document ).on( 'keydown', function( e ) {\n\t\t\t\tthat.keyDown( e, that );\n\t\t\t} );\n\n\t\t\tjQuery( document ).on( 'keyup', function( e ) {\n\t\t\t\tthat.keyUp( e, that );\n\t\t\t} );\n\n\t\t\t/*\n\t\t\t * Get the keys currently being pressed, if any\n\t\t\t */\n\t\t\tnfRadio.channel( 'app' ).reply( 'get:keydown', this.getKeyDown, this );\n\t\t},\n\n\t\tkeyDown: function( e, context ) {\n\t\t\t/*\n\t\t\t * Add our keycode to our keys array.\n\t\t\t */\n\t\t\tcontext.keys[ e.keyCode ] = e.keyCode;\n\t\t},\n\n\t\tkeyUp: function( e, context ) {\n\t\t\t/*\n\t\t\t * Remove our keycode from our keys array.\n\t\t\t */\n\t\t\tif ( -1 != context.keys.indexOf( e.keyCode ) ) {\n\t\t\t\tdelete context.keys[ e.keyCode ];\n\t\t\t}\n\t\t},\n\n\t\tgetKeyDown: function() {\n\t\t\treturn this.keys;\n\t\t}\n\t});\n\n\treturn controller;\n} );\n","/**\n * Initialize the perfectscroll jQuery plugin\n * \n * @package Ninja Forms builder\n * @subpackage Main App\n * @copyright (c) 2015 WP Ninjas\n * @since 3.0\n */\ndefine( 'controllers/app/perfectScroll',[], function() {\n\tvar controller = Marionette.Object.extend( {\n\t\tmovedPos: false,\n\n\t\tinitialize: function() {\n\t\t\t/*\n\t\t\t * When we init the main view, init our perfectscroll\n\t\t\t */\n\t\t\tthis.listenTo( nfRadio.channel( 'main' ), 'show:main', this.initPerfectScroll );\n\n\t\t\t/*\n\t\t\t * When our drawer opens and closes, change the position of our scroll rail.\n\t\t\t */\n\t\t\tthis.listenTo( nfRadio.channel( 'drawer' ), 'opened', this.moveRail );\n\t\t\tthis.listenTo( nfRadio.channel( 'drawer' ), 'before:closeDrawer', this.resetRail );\n\t\t},\n\n\t\tinitPerfectScroll: function( view ) {\n\t\t\tif ( ! nfRadio.channel( 'app' ).request( 'is:mobile' ) ) {\n\t\t\t\tjQuery( view.el ).parent().perfectScrollbar( {\n\t\t\t\t\tsuppressScrollX: true\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\tjQuery( 'head' ).append( '<style id=\"ps-scrollbar-css\" type=\"text/css\"></style>' );\n\t\t},\n\n\t\tmoveRail: function() {\n\t\t\tvar drawerEl = nfRadio.channel( 'app' ).request( 'get:drawerEl' );\n\t\t\tvar movedPos = jQuery( drawerEl ).outerWidth();\n\n\t\t\tjQuery( '#ps-scrollbar-css' ).text( '.ps-scrollbar-moved { right: ' + movedPos + 'px !important; } ' );\n\t\t\tjQuery( '#nf-main .ps-scrollbar-y-rail' ).addClass( 'ps-scrollbar-moved ' );\n\t\t\t\n\t\t},\n\n\t\tresetRail: function() {\n\t\t\tjQuery( '.ps-scrollbar-y-rail' ).removeClass( 'ps-scrollbar-moved ' );\n\t\t}\n\n\t});\n\n\treturn controller;\n} );\n","/**\n * Model that represents our type settings groups.\n * \n * @package Ninja Forms builder\n * @subpackage Fields\n * @copyright (c) 2015 WP Ninjas\n * @since 3.0\n */\ndefine( 'models/app/settingGroupModel',[ 'models/app/settingCollection' ], function( SettingCollection ) {\n\tvar model = Backbone.Model.extend( {\n\t\tdefaults: {\n\t\t\tdisplay: false\n\t\t},\n\n\t\tinitialize: function( options ) {\n\t\t\tif ( false == this.get( 'settings' ) instanceof Backbone.Collection ) {\n\t\t\t\tthis.set( 'settings', new SettingCollection( this.get( 'settings' ) ) );\n\t\t\t}\n\t\t}\n\t} );\n\t\n\treturn model;\n} );\n","/**\n * Collection of our type settings groups.\n * \n * @package Ninja Forms builder\n * @subpackage Fields\n * @copyright (c) 2015 WP Ninjas\n * @since 3.0\n */\ndefine( 'models/app/settingGroupCollection',['models/app/settingGroupModel'], function( settingGroupModel ) {\n\tvar collection = Backbone.Collection.extend( {\n\t\tmodel: settingGroupModel\n\t} );\n\treturn collection;\n} );\n","/**\n * Returns a new setting group collection.\n * Used to settings drawers for custom data models (i.e. not fields, actions, or advanced)\n * \n * @package Ninja Forms builder\n * @subpackage App - Edit Settings Drawer\n * @copyright (c) 2016 WP Ninjas\n * @since 3.0\n */\ndefine( 'controllers/app/getNewSettingGroupCollection',[ 'models/app/settingGroupCollection' ], function( SettingGroupCollection ) {\n\tvar controller = Marionette.Object.extend( {\n\t\tinitialize: function() {\n\t\t\t// Respond to requests for a new setting group collection\n\t\t\tnfRadio.channel( 'app' ).reply( 'get:settingGroupCollectionDefinition', this.getNewSettingGroupCollection, this );\n\t\t},\n\n\t\t/**\n\t\t * Return a new instance of the setting group collection.\n\t\t *\n\t\t * @since 3.0\n\t\t * @return backbone.collection\n\t\t */\n\t\tgetNewSettingGroupCollection: function() {\n\t\t\treturn SettingGroupCollection;\n\t\t}\n\n\t});\n\n\treturn controller;\n} );\n","/**\n *\n * @package Ninja Forms builder\n * @subpackage Main App\n * @copyright (c) 2017 WP Ninjas\n * @since 3.0.30\n */\ndefine( 'controllers/app/settingMedia',[], function() {\n var controller = Marionette.Object.extend( {\n initialize: function() {\n // When the media button is clicked, open the media manager.\n this.listenTo( nfRadio.channel( 'setting-type-media' ), 'click:extra', this.clickExtra );\n },\n\n clickExtra: function( e, settingModel, dataModel, settingView ) {\n var textEl = jQuery( e.target ).parent().find( '.setting' );\n\n if ( jQuery( e.target ).hasClass( 'open-media-manager' ) ) {\n // If the frame already exists, re-open it.\n if ( this.meta_image_frame ) {\n this.meta_image_frame.open();\n return;\n }\n\n // Sets up the media library frame\n this.meta_image_frame = wp.media.frames.meta_image_frame = wp.media({\n title: 'Select a file',\n button: { text: 'insert' }\n });\n\n var that = this;\n\n // Runs when an image is selected.\n this.meta_image_frame.on('select', function(){\n // Grabs the attachment selection and creates a JSON representation of the model.\n var media_attachment = that.meta_image_frame.state().get('selection').first().toJSON();\n textEl.val( media_attachment.url ).change();\n });\n\n // Opens the media library frame.\n this.meta_image_frame.open();\n }\n },\n });\n\n return controller;\n} );\n","/**\n * Model for our field type\n * \n * @package Ninja Forms builder\n * @subpackage Fields\n * @copyright (c) 2015 WP Ninjas\n * @since 3.0\n */\ndefine( 'models/app/typeModel',[ 'models/app/settingGroupCollection' ], function( SettingGroupCollection ) {\n\tvar model = Backbone.Model.extend( {\n\t\tinitialize: function() {\n\t\t\tif ( false === this.get( 'settingGroups' ) instanceof Backbone.Collection ) {\n\t\t\t\tthis.set( 'settingGroups', new SettingGroupCollection( this.get( 'settingGroups' ) ) );\n\t\t\t}\n\t\t\t\n\t\t\tnfRadio.channel( 'fields' ).trigger( 'init:typeModel', this );\n\t\t}\n\t} );\n\t\n\treturn model;\n} );\n","/**\n * Collection that holds our field type models. \n * \n * @package Ninja Forms builder\n * @subpackage Fields\n * @copyright (c) 2015 WP Ninjas\n * @since 3.0\n */\ndefine( 'models/app/typeCollection',['models/app/typeModel'], function( typeModel ) {\n\tvar collection = Backbone.Collection.extend( {\n\t\tmodel: typeModel,\n\t\ttype: false,\n\n\t\tinitialize: function( models, options ) {\n\t\t\t_.each( options, function( option, key ) {\n\t\t\t\tthis[ key ] = option;\n\t\t\t}, this );\n\t\t}\n\t} );\n\treturn collection;\n} );\n","/**\n * Model that represents our field type section on the add new field drawer.\n * \n * @package Ninja Forms builder\n * @subpackage Fields\n * @copyright (c) 2015 WP Ninjas\n * @since 3.0\n */\ndefine( 'models/fields/typeSectionModel',[], function() {\n\tvar model = Backbone.Model.extend( {\n\t\tdefaults: {\n\t\t\tclasses: ''\n\t\t}\n\t} );\n\t\n\treturn model;\n} );\n","/**\n * Collection that holds our field models.\n * \n * @package Ninja Forms builder\n * @subpackage Fields\n * @copyright (c) 2015 WP Ninjas\n * @since 3.0\n */\ndefine( 'models/fields/typeSectionCollection',['models/fields/typeSectionModel'], function( typeSectionModel ) {\n\tvar collection = Backbone.Collection.extend( {\n\t\tmodel: typeSectionModel\n\t} );\n\treturn collection;\n} );\n","/**\n * Creates and stores a collection of field types. This includes all of the settings shown when editing a field.\n *\n * 1) Create our settings sections config\n * 2) Loops over our preloaded data and adds that to our field type collection\n *\n * Also responds to requests for data about field types\n *\n * @package Ninja Forms builder\n * @subpackage Fields\n * @copyright (c) 2015 WP Ninjas\n * @since 3.0\n */\ndefine( 'controllers/fields/types',[\n\t\t'models/app/typeCollection',\n\t\t'models/fields/typeSectionCollection'\n\t],\n\tfunction(\n\t\tTypeCollection,\n\t\tSectionCollection\n\t) {\n\tvar controller = Marionette.Object.extend( {\n\t\tinitialize: function() {\n\t\t\t// Config for our settings sections\n\t\t\tthis.sections = new SectionCollection( fieldTypeSections );\n\t\t\tthis.listenTo( nfRadio.channel( 'fields' ), 'init:typeModel', this.registerSection );\n\n\t\t\t// Create our field type collection\n\t\t\tthis.collection = new TypeCollection( fieldTypeData, { type: 'fields' } );\n\n\t\t\t// Respond to requests to get field type, collection, settings, and sections\n\t\t\tnfRadio.channel( 'fields' ).reply( 'get:type', this.getFieldType, this );\n\t\t\tnfRadio.channel( 'fields' ).reply( 'get:typeCollection', this.getTypeCollection, this );\n\t\t\tnfRadio.channel( 'fields' ).reply( 'get:typeSections', this.getTypeSections, this );\n\t\t\tnfRadio.channel( 'fields' ).reply( 'get:savedFields', this.getSavedFields, this );\n\n\t\t\t// Listen to clicks on field types\n\t\t\tthis.listenTo( nfRadio.channel( 'drawer' ), 'click:fieldType', this.addField );\n\t\t},\n\n\t\tregisterSection: function( typeModel ) {\n\t\t\tif ( 'fields' != typeModel.collection.type || ! typeModel.get( 'section' ) ) return;\n\n\t\t\tthis.sections.get( typeModel.get( 'section' ) ).get( 'fieldTypes' ).push( typeModel.get( 'id' ) );\n\t\t},\n\n\t\t/**\n\t\t * Return a field type by id\n\t\t *\n\t\t * @since 3.0\n\t\t * @param string \t\t\tid \tfield type\n\t\t * @return backbone.model \tfield type model\n\t\t */\n\t\tgetFieldType: function( id ) {\n \treturn this.collection.get( id );\n },\n\n /**\n * Return the entire field type collection\n *\n * @since 3.0\n * @param string \t\t\t\tid \t[description]\n * @return backbone.collection \tfield type collection\n */\n\t\tgetTypeCollection: function( id ) {\n \treturn this.collection;\n },\n\n /**\n * Add a field type to our fields sortable when the field type button is clicked.\n *\n * @since 3.0\n * @param Object e event\n * @return void\n */\n addField: function( e ) {\n\t\t\tvar type = jQuery( e.target ).data( 'id' );\n\n\t\t\tif( e.shiftKey ){\n\t\t\t\tnfRadio.channel( 'fields' ).request( 'add:stagedField', type );\n\t\t\t\treturn;\n\t\t\t}\n\n \tvar fieldModel = nfRadio.channel( 'fields' ).request( 'add', {\n\t\t\t\ttype: type,\n\n\t\t\t\tlabel: nfRadio.channel( 'fields' ).request( 'get:type', type ).get( 'nicename' )\n\t\t\t});\n\n\t\t\tconsole.log( fieldModel );\n\n\t\t\tvar label = {\n\t\t\t\tobject: 'Field',\n\t\t\t\tlabel: fieldModel.get( 'label' ),\n\t\t\t\tchange: 'Added',\n\t\t\t\tdashicon: 'plus-alt'\n\t\t\t};\n\n\t\t\tvar data = {\n\t\t\t\tcollection: nfRadio.channel( 'fields' ).request( 'get:collection' )\n\t\t\t}\n\n\t\t\tnfRadio.channel( 'changes' ).request( 'register:change', 'addObject', fieldModel, null, label, data );\n\n\t\t\t// Re-Draw the Field Collection\n\t\t\tnfRadio.channel( 'fields' ).request( 'redraw:collection' );\n },\n\n /**\n * Return our field type settings sections\n *\n * @since 3.0\n * @return backbone.collection field type settings sections\n */\n getTypeSections: function() {\n return this.sections;\n },\n\n /**\n * Return our saved fields\n *\n * @since 3.0\n * @return backbone.collection\n */\n getSavedFields: function() {\n \tthis.sections.get( 'saved' );\n }\n\t});\n\n\treturn controller;\n} );\n\n","/**\n * Handles the logic for our field type draggables.\n * \n * @package Ninja Forms builder\n * @subpackage Fields - New Field Drawer\n * @copyright (c) 2015 WP Ninjas\n * @since 3.0\n */\ndefine( 'controllers/fields/fieldTypeDrag',[], function( ) {\n\tvar controller = Marionette.Object.extend( {\n\t\tinitialize: function() {\n\t\t\t// Listen to our field type draggables and run the appropriate function.\n\t\t\tthis.listenTo( nfRadio.channel( 'drawer-addField' ), 'startDrag:type', this.startDrag );\n\t\t\tthis.listenTo( nfRadio.channel( 'drawer-addField' ), 'stopDrag:type', this.stopDrag );\n\t\t\t/*\n\t\t\t * Respond to requests for our helper clone.\n\t\t\t * This is used by other parts of the application to modify what the user is dragging in real-time.\n\t\t\t */ \n\t\t\tnfRadio.channel( 'drawer-addField' ).reply( 'get:typeHelperClone', this.getCurrentDraggableHelperClone, this );\n\t\t},\n\n\t\t/**\n\t\t * When we start dragging:\n\t\t * get our drawer element\n\t\t * set its overflow property to visible !important -> forces the type drag element to be on at the top of the z-index.\n\t\t * get our main element\n\t\t * est its overflow propery to visible !important -> forces the type drag element to be on top of the z-index.\n\t\t * set our dragging helper clone\n\t\t * \n\t\t * @since 3.0\n\t\t * @param object context \tThis function is going to be called from a draggable. Context is the \"this\" reference to the draggable.\n\t\t * @param object ui \tObject sent by jQuery UI draggable.\n\t\t * @return void\n\t\t */\n\t\tstartDrag: function( context, ui ) {\n\t\t\tthis.drawerEl = nfRadio.channel( 'app' ).request( 'get:drawerEl' );\n\t\t\tthis.mainEl = nfRadio.channel( 'app' ).request( 'get:mainEl' );\n\t\t\tjQuery( this.drawerEl )[0].style.setProperty( 'overflow', 'visible', 'important' );\n\n\t\t\tthis.draggableHelperClone = jQuery( ui.helper ).clone();\n\n\t\t},\n\n\t\t/**\n\t\t * When we stop dragging, reset our overflow property to hidden !important.\n\t\t * \n\t\t * @since 3.0\n\t\t * @param object context \tThis function is going to be called from a draggable. Context is the \"this\" reference to the draggable.\n\t\t * @param object ui \tObject sent by jQuery UI draggable.\n\t\t * @return {[type]} [description]\n\t\t */\n\t\tstopDrag: function( context, ui ) {\n\t\t\tjQuery( this.drawerEl )[0].style.setProperty( 'overflow', 'hidden', 'important' );\n\t\t},\n\n\t\tgetCurrentDraggableHelperClone: function() {\n\t\t\treturn this.draggableHelperClone;\n\t\t}\n\t});\n\n\treturn controller;\n} );\n","/**\n * Handles the dragging of our field staging area\n * \n * @package Ninja Forms builder\n * @subpackage Fields - New Field Drawer\n * @copyright (c) 2015 WP Ninjas\n * @since 3.0\n */\ndefine( 'controllers/fields/stagingDrag',[], function( ) {\n\tvar controller = Marionette.Object.extend( {\n\t\tinitialize: function() {\n\t\t\t// Listen for the start and stop of our field staging dragging\n\t\t\tthis.listenTo( nfRadio.channel( 'drawer-addField' ), 'startDrag:fieldStaging', this.startDrag );\n\t\t\tthis.listenTo( nfRadio.channel( 'drawer-addField' ), 'stopDrag:fieldStaging', this.stopDrag );\n\t\t},\n\n\t\t/**\n\t\t * When the user starts dragging the staging area, we have to:\n\t\t * set the overflow property of the drawer to visible !important. If we don't, the button goes underneath the main section.\n\t\t * set the overflow proerty of the main to visible !important. If we don't, the dragged element goes underneath the drawer.\n\t\t * replace our helper with the stacked \"x fields\" template.\n\t\t * \n\t\t * @since 3.0\n\t\t * @param Object\t context jQuery UI Draggable\n\t\t * @param Object\t ui jQuery UI element\n\t\t * @return void\n\t\t */\n\t\tstartDrag: function( context, ui ) {\n\t\t\tthis.drawerEl = nfRadio.channel( 'app' ).request( 'get:drawerEl' );\n\t\t\tthis.mainEl = nfRadio.channel( 'app' ).request( 'get:mainEl' );\n\t\t\tjQuery( this.drawerEl )[0].style.setProperty( 'overflow', 'visible', 'important' );\n\t\t\t// jQuery( this.mainEl )[0].style.setProperty( 'overflow', 'visible', 'important' );\n\n\t\t\tvar stagedFields = nfRadio.channel( 'fields' ).request( 'get:staging' );\n\t\t\tvar html = nfRadio.channel( 'app' ).request( 'get:template', '#tmpl-nf-staged-fields-drag' );\n\t\t\tjQuery( ui.helper ).html( html( { num: stagedFields.models.length } ) );\n\t\t\tjQuery( ui.helper ).prop( 'id', 'nf-staged-fields-drag' );\n\t\t\tjQuery( ui.item ).css( 'opacity', '0.7' );\n\t\t},\n\n\t\t/**\n\t\t * When we stop dragging the staging area, we have to set the overflow property to hidden !important\n\t\t * \n\t\t * @since 3.0\n\t\t * @param Object\t context jQuery UI Draggable\n\t\t * @param Object\t ui jQuery UI element\n\t\t * @return void\n\t\t */\n\t\tstopDrag: function( context, ui ) {\n\t\t\tjQuery( this.drawerEl )[0].style.setProperty( 'overflow', 'hidden', 'important' );\n\t\t\t// jQuery( this.mainEl )[0].style.setProperty( 'overflow', 'hidden', 'important' );\n\t\t}\n\t});\n\n\treturn controller;\n} );\n","/**\n * Handles most things related to our staging area:\n * 1) Creates a collection\n * 2) Listens for requests to CRUD items from the collection\n * 3) Adds our staged fields to the fields sortable when the drawer is closed\n * \n * @package Ninja Forms builder\n * @subpackage Fields - New Field Drawer\n * @copyright (c) 2015 WP Ninjas\n * @since 3.0\n */\ndefine( 'controllers/fields/staging',['models/fields/stagingCollection'], function( stagingCollection ) {\n\tvar controller = Marionette.Object.extend( {\n\t\tinitialize: function() {\n\t\t\t// Create our staged fields collection\n\t\t\tthis.collection = new stagingCollection();\n\t\t\t// Respond to requests related to our staging area.\n\t\t nfRadio.channel( 'fields' ).reply( 'add:stagedField', this.addStagedField, this );\n\t\t\tnfRadio.channel( 'fields' ).reply( 'remove:stagedField', this.removeStagedField, this );\n\t\t\tnfRadio.channel( 'fields' ).reply( 'get:staging', this.getStagingCollection, this );\n\t\t\tnfRadio.channel( 'fields' ).reply( 'sort:staging', this.sortStagedFields, this );\n\t\t\tnfRadio.channel( 'fields' ).reply( 'clear:staging', this.clearStagedFields, this );\n\t\t\t// Listen to our remove staged field click event.\n\t\t\tthis.listenTo( nfRadio.channel( 'drawer-addField' ), 'click:removeStagedField', this.removeStagedField );\n\t\t\t// Listen to our event that fires just before a drawer is closed.\n\t\t\tthis.listenTo( nfRadio.channel( 'drawer-addField' ), 'before:closeDrawer', this.beforeCloseDrawer );\n\t\t},\n\n\t\tgetStagingCollection: function() {\n\t\t\treturn this.collection;\n\t\t},\n\n\t\t/**\n\t\t * Add a field to our staging area\n\t\t * \n\t\t * @since 3.0\n\t\t * @param string type Type of field we're adding\n\t\t * @return tmpID\n\t\t */\n\t\taddStagedField: function( type, silent ) {\n\t\t\tvar silent = silent || false;\n\t\t\t// Get our type model from the string.\n\t\t\tvar fieldType = nfRadio.channel( 'fields' ).request( 'get:type', type );\n\t\t\t// Our tmp ID is a string with the time appended to make it unique.\n\t\t\tvar tmpID = 'nf-staged-field-' + jQuery.now();\n\t\t\t// Object that will be added to our staging collection.\n\t\t\tvar data = {\n\t\t\t\tid: tmpID,\n\t\t\t\t// i.e. firstname, textbox, etc.\n\t\t\t\tslug: fieldType.get( 'type' ),\n\t\t\t\t// i.e. First Name, Textbox, etc.\n\t\t\t\tnicename: fieldType.get( 'nicename' ),\n\t\t\t\t// i.e. calendar, envelope, etc.\n\t\t\t\ticon: fieldType.get( 'icon' )\n\t\t\t}\n\t\t\t// \n\t\t\tvar model = this.collection.add( data );\n\n\t\t\tif( ! silent ) nfRadio.channel( 'fields').trigger( 'add:stagedField', model );\n\n\t\t\treturn tmpID;\n\t\t},\n\n\t\t/**\n\t\t * Remove a field from staging\n\t\t * \n\t\t * @since 3.0\n\t\t * @param Object \t\t\te \tEvent\n\t\t * @param Backbone.model \tmodel \tstaged field model to remove\n\t\t * @return void\n\t\t */\n\t\tremoveStagedField: function( e, model ) {\n\t\t\tthis.collection.remove( model );\n\t\t\tnfRadio.channel( 'fields' ).trigger( 'remove:stagedField', model );\n\t\t},\n\n\t\t/**\n\t\t * Adds our staged fields to the main fields sortable before the drawer is closed.\n\t\t * \n\t\t * @since 3.0\n\t\t * @return void\n\t\t */\n\t\tbeforeCloseDrawer: function() {\n\t\t\tif ( 0 != this.collection.models.length ) { // Make sure that we have models\n\t\t\t\t// Get our field collection.\n\t\t\t\tvar fieldCollection = nfRadio.channel( 'fields' ).request( 'get:collection' );\n\n\t\t\t\tvar fields = [];\n\t\t\t\t// Loop through our staging collection\n\t\t\t\t_.each( this.collection.models, function( model ) {\n\t\t\t\t\t// Get a tmp ID for our new field.\n\t\t\t\t\tvar tmpID = nfRadio.channel( 'fields' ).request( 'get:tmpID' );\n\t\t\t\t\t// Create an object that can be added as a model.\n\t\t\t\t\tvar tmpField = { id: tmpID, label: model.get( 'nicename' ), type: model.get( 'slug' ) };\n\t\t\t\t\t// Add our new field.\n\t\t\t\t\tvar newModel = nfRadio.channel( 'fields' ).request( 'add', tmpField, false );\n\t\t\t\t\t// Add our field addition to our change log.\n\t\t\t\t\tvar label = {\n\t\t\t\t\t\tobject: 'Field',\n\t\t\t\t\t\tlabel: newModel.get( 'label' ),\n\t\t\t\t\t\tchange: 'Added',\n\t\t\t\t\t\tdashicon: 'plus-alt'\n\t\t\t\t\t};\n\t\t\t\t\tvar data = {\n\t\t\t\t\t\tcollection: fieldCollection\n\t\t\t\t\t}\n\t\t\t\t\tnfRadio.channel( 'changes' ).request( 'register:change', 'addObject', newModel, null, label, data );\n\t\t\t\n\t\t\t\t} );\n\t\t\t\t// Trigger a reset on our field collection so that our view re-renders\n\t\t\t\tfieldCollection.trigger( 'reset', fieldCollection );\n\t\t\t\t// Empty the staging collection\n\t\t\t\tthis.collection.reset();\n\t\t\t}\n\t\t\t// Sort our fields.\n\t\t\tnfRadio.channel( 'fields' ).request( 'sort:fields', null, null, false );\n\t\t},\n\n\t\t/**\n\t\t * Sort our staging area by the 'order' attribute.\n\t\t * \n\t\t * @since 3.0\n\t\t * @return void\n\t\t */\n\t\tsortStagedFields: function() {\n\t\t\t// Get our staged fields sortable.\n\t\t\tvar sortableEl = nfRadio.channel( 'app' ).request( 'get:stagedFieldsEl' );\n\t\t\t// Get the current order using jQuery sortable. Will be an array of IDs: [tmp-blah, tmp-blah]\n\t\t\tvar order = jQuery( sortableEl ).sortable( 'toArray' );\n\t\t\t// Loop through our models\n\t\t\t_.each( this.collection.models, function( field ) {\n\t\t\t\t// Search our order array for this field.\n\t\t\t\tvar search = field.get( 'id' );\n\t\t\t\tvar pos = order.indexOf( search );\n\t\t\t\t// Update our staged field model with the new order.\n\t\t\t\tfield.set( 'order', pos );\n\t\t\t} );\n\t\t\t// Sort our staging collection.\n\t\t\tthis.collection.sort();\n\t\t},\n\n\t\tclearStagedFields: function() {\n\t\t\tthis.collection.reset();\n\t\t}\n\n\t});\n\n\treturn controller;\n} );\n","/**\n * Handles actions related to our staged fields sortable.\n * \n * @package Ninja Forms builder\n * @subpackage Fields - New Field Drawer\n * @copyright (c) 2015 WP Ninjas\n * @since 3.0\n */\ndefine( 'controllers/fields/stagingSortable',['models/fields/stagingCollection'], function( stagingCollection ) {\n\tvar controller = Marionette.Object.extend( {\n\t\tinitialize: function() {\n\t\t\t// Listen to our field type draggables\n\t\t\t// this.listenTo( nfRadio.channel( 'drawer-addField' ), 'startDrag:type', this.addActiveClass );\n\t\t\t// this.listenTo( nfRadio.channel( 'drawer-addField' ), 'stopDrag:type', this.removeActiveClass );\n\t\t\t// Listen to our sortable events\n\t\t\tthis.listenTo( nfRadio.channel( 'drawer-addField' ), 'receive:stagedFields', this.receiveStagedFields );\n\t\t\tthis.listenTo( nfRadio.channel( 'drawer-addField' ), 'over:stagedFields', this.overStagedFields );\n\t\t\tthis.listenTo( nfRadio.channel( 'drawer-addField' ), 'out:stagedFields', this.outStagedFields );\n\t\t\tthis.listenTo( nfRadio.channel( 'drawer-addField' ), 'start:stagedFields', this.startStagedFields );\n\t\t\tthis.listenTo( nfRadio.channel( 'drawer-addField' ), 'stop:stagedFields', this.stopStagedFields );\n\t\t},\n\n\t\t/**\n\t\t * Change our dropped field type helper so that it matches the other items in our sortable.\n\t\t * \n\t\t * @since 3.0\n\t\t * @param Object \tui jQuery UI item\n\t\t * @return void\n\t\t */\n\t\treceiveStagedFields: function( ui ) {\n\t\t\tif( jQuery( ui.item ).hasClass( 'nf-field-type-draggable' ) ) {\n\t\t\t\tvar type = jQuery( ui.item ).data( 'id' );\n\t\t\t\tvar tmpID = nfRadio.channel( 'fields' ).request( 'add:stagedField', type );\n\t\t\t\tjQuery( ui.helper ).prop( 'id', tmpID );\n\t\t\t\tnfRadio.channel( 'fields' ).request( 'sort:staging' );\n\t\t\t\tjQuery( ui.helper ).remove();\n\t\t\t\tnfRadio.channel( 'drawer-addField' ).trigger( 'drop:fieldType', type );\t\t\t\t\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Add an active class to our sortable when a field type item is dragged\n\t\t * \n\t\t * @since 3.0\n\t\t */\n\t\taddActiveClass: function() {\n\t\t\tvar stagedFieldsEl = nfRadio.channel( 'app' ).request( 'get:stagedFieldsEl' );\n\t\t\tjQuery( stagedFieldsEl ).addClass( 'nf-droppable-active' );\n\t\t},\n\n\t\t/**\n\t\t * Remove the active class from our sortable when the field type item is dropped.\n\t\t * \n\t\t * @since 3.0\n\t\t * @return void\n\t\t */\n\t\tremoveActiveClass: function() {\n\t\t\tvar stagedFieldsEl = nfRadio.channel( 'app' ).request( 'get:stagedFieldsEl' );\n\t\t\tjQuery( stagedFieldsEl ).removeClass( 'nf-droppable-active' );\n\t\t},\n\n\t\t/**\n\t\t * When the field type item is dragged over our sortable, we change the helper to match the sortable items.\n\t\t * \n\t\t * @since 3.0\n\t\t * @param Object \te event\n\t\t * @param Object \tui jQuery UI Element\n\t\t * @return void\n\t\t */\n\t\toverStagedFields: function( e, ui ) {\n\t\t\tif( jQuery( ui.item ).hasClass( 'nf-field-type-draggable' ) ) {\n\t\t\t\tvar type = jQuery( ui.item ).data( 'id' );\n\t\t\t\tvar fieldType = nfRadio.channel( 'fields' ).request( 'get:type', type );\n\t\t\t\tvar nicename = fieldType.get( 'nicename' );\n\t\t\t\tthis.currentHelper = ui.helper \n\t\t\t\tjQuery( ui.helper ).html( nicename + '<span class=\"dashicons dashicons-dismiss\"></span>' );\n\t\t\t\tjQuery( ui.helper ).removeClass( 'nf-field-type-button' ).addClass( 'nf-item-dock' ).css( { 'opacity': '0.8', 'width': '', 'height': '' } );\n\t\t\t\tvar sortableEl = nfRadio.channel( 'app' ).request( 'get:stagedFieldsEl' );\n\t\t\t\tif ( jQuery( sortableEl ).hasClass( 'ui-sortable' ) ) {\n\t\t\t\t\tjQuery( sortableEl ).addClass( 'nf-droppable-hover' );\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t},\n\n\t\t/**\n\t\t * When a field type item is moved away from our sortable, we change the helper to its previous appearance\n\t\t * \n\t\t * @since 3.0\n\t\t * @param Object \tui jQuery UI element\n\t\t * @return void\n\t\t */\n\t\toutStagedFields: function( ui ) {\n\t\t\tif( jQuery( ui.item ).hasClass( 'nf-field-type-draggable' ) ) {\n\t\t\t\tvar helperClone = nfRadio.channel( 'drawer-addField' ).request( 'get:typeHelperClone' );\t\n\t\t\t\tjQuery( this.currentHelper ).html( jQuery( helperClone ).html() );\n\t\t\t\tjQuery( this.currentHelper ).removeClass( 'nf-item-dock' ).addClass( 'nf-field-type-button' );\n\t\t\t\tvar sortableEl = nfRadio.channel( 'app' ).request( 'get:stagedFieldsEl' );\n\t\t\t\tif ( jQuery( sortableEl ).hasClass( 'ui-sortable' ) ) {\n\t\t\t\t\tjQuery( sortableEl ).removeClass( 'nf-droppable-hover' );\n\t\t\t\t}\n\t\t\t}\t\t\n\t\t},\n\n\t\t/**\n\t\t * When a user starts to drag a sortable item, we need to set a few properties on the item and the helper.\n\t\t * These keep the original item in place while dragging and changes the opacity of the helper.\n\t\t * \n\t\t * @since 3.0\n\t\t * @param Object\t ui jQuery UI element\n\t\t * @return void\n\t\t */\n\t\tstartStagedFields: function( ui ) {\n\t\t\tjQuery( ui.item ).show();\n\t\t\tjQuery( ui.item ).css( { 'display': 'inline', 'opacity': '0.7' } );\n\t\t\tjQuery( ui.helper ).css( 'opacity', '0.5' );\n\t\t},\n\n\t\t/**\n\t\t * When we stop dragging a sortable item, remove our opacity setting and remove the helper item.\n\t\t * \n\t\t * @since 3.0\n\t\t * @param Object\t ui jQuery UI element\n\t\t * @return void\n\t\t */\n\t\tstopStagedFields: function( ui ) {\n\t\t\tjQuery( ui.item ).css( 'opacity', '' );\n\t\t\tjQuery( ui.helper ).remove();\n\t\t}\n\n\t});\n\n\treturn controller;\n} );\n","/**\n * Filters our field type collection.\n * \n * @package Ninja Forms builder\n * @subpackage Fields - New Field Drawer\n * @copyright (c) 2015 WP Ninjas\n * @since 3.0\n */\ndefine( 'controllers/fields/filterTypes',['models/fields/typeSectionCollection'], function( fieldTypeSectionCollection ) {\n\tvar controller = Marionette.Object.extend( {\n\t\tinitialize: function() {\n\t\t\t// Listen to our change filter event.\n\t\t\tthis.listenTo( nfRadio.channel( 'drawer-addField' ), 'change:filter', this.filterFieldTypes );\n\t\t},\n\n\t\t/**\n\t\t * Filter our field types in the add new field drawer\n\t\t * \n\t\t * Takes a search string and finds any field types that match either the name or alias.\n\t\t * \n\t\t * @since 3.0\n\t\t * @param string\t search \tstring being searched for\n\t\t * @param object \t e \tKeyup event\n\t\t * @return void\n\t\t */\n\t\tfilterFieldTypes: function( search, e ) {\n\t\t\t// Make sure that we aren't dealing with an empty string.\n\t\t\tif ( '' != jQuery.trim( search ) ) {\n \t\tvar filtered = [];\n \t\t/**\n \t\t * Call the function that actually filters our collection,\n \t\t * and then loop through our collection, adding each model to our filtered array.\n \t\t */\n \t\t_.each( this.filterCollection( search ), function( model ) {\n \t\t\tfiltered.push( model.get( 'id' ) );\n \t\t} );\n\n \t\t// Create a new Field Type Section collection with the filtered array.\n \t\tvar filteredSectionCollection = new fieldTypeSectionCollection( [\n\t\t\t\t{ \n\t\t\t\t\tid: 'filtered',\n\t\t\t\t\tnicename: 'Filtered Fields',\n\t\t\t\t\tfieldTypes: filtered\n\t\t\t\t}\n\t\t\t\t] );\n \n // Declare array of fields to hide.\n var hiddenFields = nfRadio.channel( 'app' ).request( 'update:hiddenFields' ) || [];\n\n // Search our results of hidden fields.\n for ( var i = filteredSectionCollection.models[ 0 ].get( 'fieldTypes' ).length -1; i >= 0; i-- ) {\n var target = hiddenFields.indexOf( filteredSectionCollection.models[ 0 ].get( 'fieldTypes' )[ i ] );\n // If we find any...\n if ( -1 < target ) {\n // Remove them from the collection.\n filteredSectionCollection.models[ 0 ].get( 'fieldTypes' ).splice( i, 1 );\n }\n }\n\n \t\t// Request that our field types filter be applied, passing the collection we created above.\n \t\tnfRadio.channel( 'drawer' ).trigger( 'filter:fieldTypes', filteredSectionCollection );\n \t\t// If we've pressed the 'enter' key, add the field to staging and clear the filter.\n \t\tif ( 'undefined' != typeof e && e.addObject ) {\n \t\t\tif ( 0 < filtered.length ) {\n \t\t\t\tnfRadio.channel( 'fields' ).request( 'add:stagedField', filtered[0] );\n \t\t\t\tnfRadio.channel( 'drawer' ).request( 'clear:filter' );\n \t\t\t}\n \t\t}\n \t} else {\n \t\t// Clear our filter if the search text is empty.\n \t\tnfRadio.channel( 'drawer' ).trigger( 'clear:filter' );\n \t}\n },\n\n /**\n * Search our field type collection for the search string.\n * \n * @since 3.0\n * @param string\t search \tstring being searched for\n * @return backbone.collection\n */\n filterCollection: function( search ) {\n \tsearch = search.toLowerCase();\n \t// Get our list of field types\n \tvar collection = nfRadio.channel( 'fields' ).request( 'get:typeCollection' );\n \t/*\n \t * Backbone collections have a 'filter' method that loops through every model,\n \t * waiting for you to return true or false. If you return true, the model is kept.\n \t * If you return false, it's removed from the filtered result.\n \t */\n\t\t\tvar filtered = collection.filter( function( model ) {\n\t\t\t\tvar found = false;\n\t\t\t\t\n\t\t\t\t// If we match either the ID or nicename, return true.\n\t\t\t\tif ( model.get( 'type' ).toLowerCase().indexOf( search ) != -1 ) {\n\t\t\t\t\tfound = true;\n\t\t\t\t} else if ( model.get( 'nicename' ).toLowerCase().indexOf( search ) != -1 ) {\n\t\t\t\t\tfound = true;\n\t\t\t\t}\n\n\t\t\t\t/*\n\t\t\t\t * TODO: Hashtag searching. Doesn't really do anything atm.\n\t\t\t\t */\n\t\t\t\tif ( model.get( 'tags' ) && 0 == search.indexOf( '#' ) ) {\n\t\t\t\t\t_.each( model.get( 'tags' ), function( tag ) {\n\t\t\t\t\t\tif ( search.replace( '#', '' ).length > 1 ) {\n\t\t\t\t\t\t\tif ( tag.toLowerCase().indexOf( search.replace( '#', '' ) ) != -1 ) {\n\t\t\t\t\t\t\t\tfound = true;\n\t\t\t\t\t\t\t}\t\t\t\t\t\t\t\n\t\t\t\t\t\t}\n\t\t\t\t\t} );\n\t\t\t\t}\n\n\t\t\t\t// If we match any of the aliases, return true.\n\t\t\t\tif ( model.get( 'alias' ) ) {\n\t\t\t\t\t_.each( model.get( 'alias' ), function( alias ) {\n\t\t\t\t\t\tif ( alias.toLowerCase().indexOf( search ) != -1 ) {\n\t\t\t\t\t\t\tfound = true;\n\t\t\t\t\t\t}\n\t\t\t\t\t} );\n\t\t\t\t}\n\n\t\t\t\treturn found;\n\t\t\t} );\n\t\t\t// Return our filtered collection.\n\t\t\treturn filtered;\n }\n\t});\n\n\treturn controller;\n} );\n","/**\n * Handles all the actions/functions related to our main field sortable.\n * All of the actual logic for our sortable is held here; the view just calls it using nfRadio.\n * \n * @package Ninja Forms builder\n * @subpackage Fields\n * @copyright (c) 2015 WP Ninjas\n * @since 3.0\n */\ndefine( 'controllers/fields/sortable',[], function() {\n\tvar controller = Marionette.Object.extend( {\n\t\tinitialize: function() {\n\t\t\t// When our field type buttons are dragged, we need to add or remove the active (blue) class.\n\t\t\tthis.listenTo( nfRadio.channel( 'drawer-addField' ), 'startDrag:type', this.addActiveClass );\n\t\t\tthis.listenTo( nfRadio.channel( 'drawer-addField' ), 'stopDrag:type', this.removeActiveClass );\n\t\t\t// When our field staging is dragged, we need to add or remove the active (blue) class.\n\t\t\tthis.listenTo( nfRadio.channel( 'drawer-addField' ), 'startDrag:fieldStaging', this.addActiveClass );\n\t\t\tthis.listenTo( nfRadio.channel( 'drawer-addField' ), 'stopDrag:fieldStaging', this.removeActiveClass );\n\t\t\t\n\t\t\t/*\n\t\t\t * Handles all the events fired by our sortable:\n\t\t\t * receive - dropped from type button or staging\n\t\t\t * over - dragging within or over the sortable\n\t\t\t * out - leaving the sortable\n\t\t\t * stop - stopped sorting/dragging\n\t\t\t * start - started sorting/dragging\n\t\t\t * update - stopped sorting/dragging and order has changed\n\t\t\t */\n\t\t\tnfRadio.channel( 'app' ).reply( 'receive:fieldsSortable', this.receiveFieldsSortable, this );\n\t\t\tnfRadio.channel( 'app' ).reply( 'over:fieldsSortable', this.overfieldsSortable, this );\n\t\t\tnfRadio.channel( 'app' ).reply( 'out:fieldsSortable', this.outFieldsSortable, this );\n\t\t\tnfRadio.channel( 'app' ).reply( 'stop:fieldsSortable', this.stopFieldsSortable, this );\n\t\t\tnfRadio.channel( 'app' ).reply( 'start:fieldsSortable', this.startFieldsSortable, this );\n\t\t\tnfRadio.channel( 'app' ).reply( 'update:fieldsSortable', this.updateFieldsSortable, this );\n\t\t},\n\n\t\t/**\n\t\t * Add the active class to our sortable so that its border is blue.\n\t\t * \n\t\t * @since 3.0\n\t\t * @return void\n\t\t */\n\t\taddActiveClass: function() {\n\t\t\tvar sortableEl = nfRadio.channel( 'fields' ).request( 'get:sortableEl' );\n\t\t\tjQuery( sortableEl ).addClass( 'nf-droppable-active' );\t\n\t\t},\n\n\t\t/**\n\t\t * Remove the active class from our sortable\n\t\t * \n\t\t * @since 3.0\n\t\t * @return void\n\t\t */\n\t\tremoveActiveClass: function() {\n\t\t\tvar sortableEl = nfRadio.channel( 'fields' ).request( 'get:sortableEl' );\n\t\t\tjQuery( sortableEl ).removeClass( 'nf-droppable-active' );\n\t\t},\n\n\t\t/**\n\t\t * Fires when we drop a field type button or staging onto our sortable\n\t\t * \n\t\t * @since 3.0\n\t\t * @param Object \tui jQuery UI element\n\t\t * @return void\n\t\t */\n\t\treceiveFieldsSortable: function( ui ) {\n\t\t\t/*\n\t\t\t * We have to do different things if we're dealing with a field type button or staging area.\n\t\t\t */ \n\t\t\tif( jQuery( ui.item ).hasClass( 'nf-field-type-draggable' ) ) { // Field Type Button\n\t\t\t\t// Get our type string\n\t\t\t\tvar type = jQuery( ui.item ).data( 'id' );\n\t\t\t\t// Add a field (returns the tmp ID )\n\t\t\t\tvar tmpID = this.addField( type, false );\n\t\t\t\t/*\n\t\t\t\t * Update our helper id to the tmpID.\n\t\t\t\t * We do this so that when we sort, we have the proper ID.\n\t\t\t\t */ \n\t\t\t\tjQuery( ui.helper ).prop( 'id', tmpID );\n\t\t\t\tnfRadio.channel( 'fields' ).request( 'sort:fields' );\n\t\t\t\t// Remove the helper. Gets rid of a weird type artifact.\n\t\t\t\tjQuery( ui.helper ).remove();\n\t\t\t\t// Trigger a drop field type event.\n\t\t\t\tnfRadio.channel( 'fields' ).trigger( 'drop:fieldType', type, tmpID );\n\t\t\t} else if ( jQuery( ui.item ).hasClass( 'nf-stage' ) ) { // Staging\n\t\t\t\t// Later, we want to reference 'this' context, so we define it here.\n\t\t\t\tvar that = this;\n\t\t\t\t// Make sure that our staged fields are sorted properly.\t\n\t\t\t\tnfRadio.channel( 'fields' ).request( 'sort:staging' );\n\t\t\t\t// Grab our staged fields.\n\t\t\t\tvar stagedFields = nfRadio.channel( 'fields' ).request( 'get:staging' );\n\t\t\t\t// Get our current field order.\n\t\t\t\tvar sortableEl = nfRadio.channel( 'fields' ).request( 'get:sortableEl' );\n\t\t\t\t\n\t\t\t\tif ( jQuery( sortableEl ).hasClass( 'ui-sortable' ) ) { // Sortable isn't empty\n\t\t\t\t\t// If we're dealing with a sortable that isn't empty, get the order.\n\t\t\t\t\tvar order = jQuery( sortableEl ).sortable( 'toArray' );\n\t\t\t\t} else { // Sortable is empty\n\t\t\t\t\t// Sortable is empty, all we care about is our staged field draggable.\n\t\t\t\t\tvar order = ['nf-staged-fields-drag'];\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\t// Get the index of our droped element.\n\t\t\t\tvar insertedAt = order.indexOf( 'nf-staged-fields-drag' );\n\n\t\t\t\t// Loop through each staged fields model and insert a field.\n\t\t\t\tvar tmpIDs = [];\n\t\t\t\t_.each( stagedFields.models, function( field, index ) {\n\t\t\t\t\t// Add our field.\n\t\t\t\t\tvar tmpID = that.addField( field.get( 'slug' ) );\n\t\t\t\t\t// Add this newly created field to our order array.\n\t\t\t\t\torder.splice( insertedAt + index, 0, tmpID );\n\t\t\t\t} );\n\n\t\t\t\t// Remove our dropped element from our order array.\n\t\t\t\tvar insertedAt = order.indexOf( 'nf-staged-fields-drag' );\n\t\t\t\torder.splice( insertedAt, 1 );\n\t\t\t\t// Sort our fields\n\t\t\t\tnfRadio.channel( 'fields' ).request( 'sort:fields', order );\n\t\t\t\t// Clear our staging\n\t\t\t\tnfRadio.channel( 'fields' ).request( 'clear:staging' );\n\t\t\t\t// Remove our helper. Fixes a weird artifact.\n\t\t\t\tjQuery( ui.helper ).remove();\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Add a field.\n\t\t * Builds the object necessary to add a field to the field model collection.\n\t\t * \n\t\t * @since 3.0\n\t\t * @param string \ttype field type\n\t\t * @param boolean \tsilent add silently\n\t\t * @return string \ttmpID\n\t\t */\n\t\taddField: function( type, silent ) {\n\t\t\t// Default to false\n\t\t\tsilent = silent || false;\n\t\t\t// Get our field type model\n\t\t\tvar fieldType = nfRadio.channel( 'fields' ).request( 'get:type', type ); \n\t\t\t// Get our tmp ID\n\t\t\tvar tmpID = nfRadio.channel( 'fields' ).request( 'get:tmpID' );\n\t\t\t// Add our field\n\t\t\tvar newModel = nfRadio.channel( 'fields' ).request( 'add', { id: tmpID, label: fieldType.get( 'nicename' ), type: type }, silent );\n\t\t\t// Add our field addition to our change log.\n\t\t\tvar label = {\n\t\t\t\tobject: 'Field',\n\t\t\t\tlabel: newModel.get( 'label' ),\n\t\t\t\tchange: 'Added',\n\t\t\t\tdashicon: 'plus-alt'\n\t\t\t};\n\n\t\t\tvar data = {\n\t\t\t\tcollection: nfRadio.channel( 'fields' ).request( 'get:collection' )\n\t\t\t}\n\n\t\t\tnfRadio.channel( 'changes' ).request( 'register:change', 'addObject', newModel, null, label, data );\n\n\t\t\treturn tmpID;\n\t\t},\n\n\t\t/**\n\t\t * When the user drags a field type or staging over our sortable, we need to modify the helper.\n\t\t * \n\t\t * @since 3.0\n\t\t * @param Object \tui jQuery UI element\n\t\t * @return void\n\t\t */\n\t\toverfieldsSortable: function( ui ) {\n\t\t\tif( jQuery( ui.item ).hasClass( 'nf-field-type-draggable' ) ) { // Field Type\n\t\t\t\t// String type\n\t\t\t\tvar type = jQuery( ui.helper ).data( 'id' );\n\t\t\t\t// Get our field type model.\n\t\t\t\tvar fieldType = nfRadio.channel( 'fields' ).request( 'get:type', type );\n\t\t\t\t// Get our field type nicename.\n\t\t\t\tvar label = fieldType.get( 'nicename' );\n\t\t\t\t// Get our sortable element.\n\t\t\t\tvar sortableEl = nfRadio.channel( 'fields' ).request( 'get:sortableEl' );\n\t\t\t\t// Get our fieldwidth.\n\t\t\t\tvar fieldWidth = jQuery( sortableEl ).width();\n\t\t\t\t// Set our currentHelper to an object var so that we can access it later.\n\t\t\t\tthis.currentHelper = ui.helper;\n\t\t\t\t// Update our helper label.\n\t\t\t\tjQuery( ui.helper ).html( label );\n\t\t\t\t// Remove the field type draggable classes and add sortable classes.\n\t\t\t\tjQuery( ui.helper ).removeClass( 'nf-field-type-button' ).addClass( 'nf-field-wrap' ).css( { 'width': fieldWidth, 'height': '50px' } );\t\t\t\t\t\t\n\t\t\t\t// Add our hover class if our sortable has been initialized.\n\t\t\t\tif ( jQuery( sortableEl ).hasClass( 'ui-sortable' ) ) {\n\t\t\t\t\tjQuery( sortableEl ).addClass( 'nf-droppable-hover' );\n\t\t\t\t}\n\t\t\t} else if ( jQuery( ui.item ).hasClass( 'nf-stage' ) ) { // Staging\n\t\t\t\t// Get our sortable, and if it's initialized add our hover class.\n\t\t\t\tvar sortableEl = nfRadio.channel( 'fields' ).request( 'get:sortableEl' );\n\t\t\t\tif ( jQuery( sortableEl ).hasClass( 'ui-sortable' ) ) {\n\t\t\t\t\tjQuery( sortableEl ).addClass( 'nf-droppable-hover' );\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * When the user moves a draggable outside of the sortable, we need to change the helper.\n\t\t * This returns the item to its pre-over state.\n\t\t * \n\t\t * @since 3.0\n\t\t * @param Object \tui jQuery UI element\n\t\t * @return void\n\t\t */\n\t\toutFieldsSortable: function( ui ) {\n\t\t\tif( jQuery( ui.item ).hasClass( 'nf-field-type-draggable' ) ) { // Field Type\n\t\t\t\t/*\n\t\t\t\t * Get our helper clone.\n\t\t\t\t * This will let us access the previous label and classes of our helper.\n\t\t\t\t */ \n\t\t\t\tvar helperClone = nfRadio.channel( 'drawer-addField' ).request( 'get:typeHelperClone' );\n\t\t\t\t// Set our helper label, remove our sortable class, and add the type class back to the type draggable.\n\t\t\t\tjQuery( this.currentHelper ).html( jQuery( helperClone ).html() );\n\t\t\t\tjQuery( this.currentHelper ).removeClass( 'nf-field-wrap' ).addClass( 'nf-field-type-button' ).css( { 'width': '', 'height': '' } );\n\t\t\t\t// Get our sortable and if it has been intialized, remove the droppable hover class.\n\t\t\t\tvar sortableEl = nfRadio.channel( 'fields' ).request( 'get:sortableEl' );\n\t\t\t\tif ( jQuery( sortableEl ).hasClass( 'ui-sortable' ) ) {\n\t\t\t\t\tjQuery( sortableEl ).removeClass( 'nf-droppable-hover' );\n\t\t\t\t}\n\t\t\t} else if ( jQuery( ui.item ).hasClass( 'nf-stage' ) ) { // Staging\n\t\t\t\t// If we've initialized our sortable, remove the droppable hover class.\n\t\t\t\tvar sortableEl = nfRadio.channel( 'fields' ).request( 'get:sortableEl' );\n\t\t\t\tif ( jQuery( sortableEl ).hasClass( 'ui-sortable' ) ) {\n\t\t\t\t\tjQuery( sortableEl ).removeClass( 'nf-droppable-hover' );\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * When we stop dragging in the sortable:\n\t\t * remove our opacity setting\n\t\t * remove our ui helper\n\t\t * \n\t\t * @since 3.0\n\t\t * @param Object \tui jQuery UI element\n\t\t * @return void\n\t\t */\n\t\tstopFieldsSortable: function( ui ) {\n\t\t\tjQuery( ui.item ).css( 'opacity', '' );\n\t\t\tjQuery( ui.helper ).remove();\n\t\t\tnfRadio.channel( 'fields' ).trigger( 'sortable:stop', ui );\n\t\t},\n\n\t\t/**\n\t\t * When we start dragging in the sortable:\n\t\t * add an opacity setting of 0.5\n\t\t * show our item (jQuery hides the original item by default)\n\t\t * \n\t\t * @since 3.0\n\t\t * @param Object \tui jQuery UI element\n\t\t * @return void\n\t\t */\n\t\tstartFieldsSortable: function( ui ) {\n\t\t\t// If we aren't dragging an item in from types or staging, update our change log.\n\t\t\tif( ! jQuery( ui.item ).hasClass( 'nf-field-type-draggable' ) && ! jQuery( ui.item ).hasClass( 'nf-stage' ) ) { \n\t\t\t\tjQuery( ui.item ).css( 'opacity', '0.5' ).show();\n\t\t\t}\n\t\t\tnfRadio.channel( 'fields' ).trigger( 'sortable:start', ui );\n\t\t},\n\n\t\t/**\n\t\t * Sort our fields when we change the order.\n\t\t * \n\t\t * @since 3.0\n\t\t * @param Object \tui jQuery UI element\n\t\t * @return void\n\t\t */\n\t\tupdateFieldsSortable: function( ui, sortable ) {\n\t\t\t\n\t\t\tnfRadio.channel( 'fields' ).request( 'sort:fields' );\n\n\t\t\t// If we aren't dragging an item in from types or staging, update our change log.\n\t\t\tif( ! jQuery( ui.item ).hasClass( 'nf-field-type-draggable' ) && ! jQuery( ui.item ).hasClass( 'nf-stage' ) ) { \n\n\t\t\t\tvar fieldCollection = nfRadio.channel( 'fields' ).request( 'get:collection' );\n\t\t\t\tvar dragFieldID = jQuery( ui.item ).prop( 'id' ).replace( 'field-', '' );\n\t\t\t\tvar dragModel = fieldCollection.get( dragFieldID );\n\n\t\t\t\t// Add our change event to the change tracker.\n\t\t\t\tvar data = { fields: [] };\n\t\t\t\t_.each( fieldCollection.models, function( field ) {\n\t\t\t\t\tvar oldPos = field._previousAttributes.order;\n\t\t\t\t\tvar newPos = field.get( 'order' );\n\t\t\t\t\t\n\t\t\t\t\tdata.fields.push( {\n\t\t\t\t\t\tmodel: field,\n\t\t\t\t\t\tattr: 'order',\n\t\t\t\t\t\tbefore: oldPos,\n\t\t\t\t\t\tafter: newPos\n\t\t\t\t\t} );\n\n\t\t\t\t} );\n\n\t\t\t\tvar label = {\n\t\t\t\t\tobject: 'Field',\n\t\t\t\t\tlabel: dragModel.get( 'label' ),\n\t\t\t\t\tchange: 'Re-ordered from ' + dragModel._previousAttributes.order + ' to ' + dragModel.get( 'order' ),\n\t\t\t\t\tdashicon: 'sort'\n\t\t\t\t};\n\n\t\t\t\tnfRadio.channel( 'changes' ).request( 'register:change', 'sortFields', dragModel, null, label, data );\n\t\t\t}\n\t\t}\n\t});\n\n\treturn controller;\n} );\n","/**\n * Handles interactions with our field collection.\n * \n * @package Ninja Forms builder\n * @subpackage Fields\n * @copyright (c) 2015 WP Ninjas\n * @since 3.0\n */\ndefine( 'controllers/fields/data',['models/fields/fieldCollection', 'models/fields/fieldModel'], function( fieldCollection, fieldModel ) {\n\tvar controller = Marionette.Object.extend( {\n\t\tadding: false,\n\t\tremoving: false,\n\t\t\n\t\tinitialize: function() {\n\t\t\t// Load our field collection from our localized form data\n\t\t\tthis.collection = new fieldCollection( preloadedFormData.fields );\n\t\t\t// Set our removedIDs to an empty object. This will be populated when a field is removed so that we can add it to our 'deleted_fields' object.\n\t\t\tthis.collection.removedIDs = {};\n\n\t\t\t// Respond to requests for data about fields and to update/change/delete fields from our collection.\n\t\t\tnfRadio.channel( 'fields' ).reply( 'get:collection', this.getFieldCollection, this );\n\t\t\tnfRadio.channel( 'fields' ).reply( 'get:field', this.getField, this );\n\t\t\tnfRadio.channel( 'fields' ).reply( 'redraw:collection', this.redrawFieldCollection, this );\n\t\t\tnfRadio.channel( 'fields' ).reply( 'get:tmpID', this.getTmpFieldID, this );\n\n\t\t\tnfRadio.channel( 'fields' ).reply( 'add', this.addField, this );\n\t\t\tnfRadio.channel( 'fields' ).reply( 'delete', this.deleteField, this );\n\t\t\tnfRadio.channel( 'fields' ).reply( 'sort:fields', this.sortFields, this );\n\n\t\t\t/*\n\t\t\t * Respond to requests to set our 'adding' and 'removing' state. This state is used to track whether or not\n\t\t\t * we should run animations in our fields collection.\n\t\t\t */\n\t\t\tnfRadio.channel( 'fields' ).reply( 'get:adding', this.getAdding, this );\n\t\t\tnfRadio.channel( 'fields' ).reply( 'set:adding', this.setAdding, this );\n\t\t\tnfRadio.channel( 'fields' ).reply( 'get:removing', this.getRemoving, this );\n\t\t\tnfRadio.channel( 'fields' ).reply( 'set:removing', this.setRemoving, this );\n\t\t},\n\n\t\tgetFieldCollection: function() {\n\t\t\treturn this.collection;\n\t\t},\n\n\t\tredrawFieldCollection: function() {\n\t\t\tthis.collection.trigger( 'reset', this.collection );\n\t\t},\n\n\t\tgetField: function( id ) {\n\t\t\tif ( this.collection.findWhere( { key: id } ) ) {\n\t\t\t\t/*\n\t\t\t\t * First we check to see if a key matches what we were sent.\n\t\t\t\t */\t\t\t\t\n\t\t\t\treturn this.collection.findWhere( { key: id } );\n\t\t\t} else {\n\t\t\t\t/*\n\t\t\t\t * If it doesn't, we try to return an ID that matches.\n\t\t\t\t */\n\t\t\t\treturn this.collection.get( id );\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Add a field to our collection. If silent is passed as true, no events will trigger.\n\t\t * \n\t\t * @since 3.0\n\t\t * @param Object \tdata \t\t\tfield data to insert\n\t\t * @param bool \t\tsilent \t\t\tprevent events from firing as a result of adding\n\t\t * @param bool \trenderTrigger\tshould this cause the view to re-render?\n\t\t * @param string \taction\t\t\taction context - are we performing a higher level action? i.e. duplicate\n\t\t */\n\t\taddField: function( data, silent, renderTrigger, action ) {\n\n\t\t\t/*\n\t\t\t * Set our fields 'adding' value to true. This enables our add field animation.\n\t\t\t */\n\t\t\tnfRadio.channel( 'fields' ).request( 'set:adding', true );\n\n\t\t\tsilent = silent || false;\n\t\t\taction = action || '';\n\t\t\trenderTrigger = ( 'undefined' == typeof renderTrigger ) ? true : renderTrigger;\n\n\t\t\tif ( false === data instanceof Backbone.Model ) {\n\t\t\t\tif ( 'undefined' == typeof ( data.id ) ) {\n\t\t\t\t\tdata.id = this.getTmpFieldID();\n\t\t\t\t}\n\t\t\t\tvar model = new fieldModel( data );\n\t\t\t} else {\n\t\t\t\tvar model = data;\n\t\t\t}\n\n\t\t\t// console.log( model );\n\n\t\t\t/*\n\t\t\t * TODO: Add an nfRadio message filter for the model variable.\n\t\t\t * Currently, we manually replace for saved fields; this should be moved to a separate controller.\n\t\t\t * \n\t\t\t * If we're adding a saved field, make sure that we set the type to the parentType.\n\t\t\t */\n\n\t\t\tif ( jQuery.isNumeric( model.get( 'type' ) ) ) {\n\t\t\t\tvar savedType = nfRadio.channel( 'fields' ).request( 'get:type', model.get( 'type' ) );\n\t\t\t\tmodel.set( 'type', savedType.get( 'parentType' ) );\n\t\t\t}\n\n\t\t\tvar newModel = this.collection.add( model, { silent: silent } );\n\t\t\t\n\t\t\t// Set our 'clean' status to false so that we get a notice to publish changes\n\t\t\tnfRadio.channel( 'app' ).request( 'update:setting', 'clean', false );\n\t\t\tnfRadio.channel( 'fields' ).trigger( 'add:field', model );\n\t\t\tif ( renderTrigger ) {\n\t\t\t\tnfRadio.channel( 'fields' ).trigger( 'render:newField', newModel, action );\n\t\t\t}\n\t\t\tif( 'duplicate' == action ){\n nfRadio.channel( 'fields' ).trigger( 'render:duplicateField', newModel, action );\n\t\t\t}\n\t\t\tnfRadio.channel( 'fields' ).trigger( 'after:addField', model );\n\t\t\t\n\t\t\treturn model;\n\t\t},\n\n\t\t/**\n\t\t * Update a field setting by ID\n\t\t * \n\t\t * @since 3.0\n\t\t * @param int \t\tid field id\n\