| @@ -4,9 +4,9 @@ | ||
| 4 | 4 | if ( 'undefined' === typeof ajaxurl || 'undefined' === typeof wp || 'undefined' === typeof frmDom ) { |
| 5 | 5 | return; |
| 6 | 6 | } |
| 7 | 7 | |
| 8 | - const { __, sprintf } = wp.i18n; | |
| 8 | + const __ = wp.i18n.__; | |
| 9 | 9 | const { div, tag, svg } = frmDom; |
| 10 | 10 | const { maybeCreateModal, footerButton } = frmDom.modal; |
| 11 | 11 | |
| 12 | 12 | let autoId = 0; |
| @@ -73,9 +73,9 @@ | ||
| 73 | 73 | } |
| 74 | 74 | |
| 75 | 75 | function openEmbedModal() { |
| 76 | 76 | /* translators: %s type: ie form, view. */ |
| 77 | - const title = sprintf( __( 'Embed %s', 'formidable' ), getTypeDescription() ); | |
| 77 | + const title = __( 'Embed %s', 'formidable' ).replace( '%s', getTypeDescription() ); | |
| 78 | 78 | |
| 79 | 79 | modal = maybeCreateModal( |
| 80 | 80 | 'frm_embed_modal', |
| 81 | 81 | { |
| @@ -92,17 +92,17 @@ | ||
| 92 | 92 | $modal.parent().addClass( 'frm-embed-modal-wrapper' ); |
| 93 | 93 | } |
| 94 | 94 | |
| 95 | 95 | function getModalFooter() { |
| 96 | - const doneButton = footerButton( { | |
| 96 | + const doneButton = footerButton({ | |
| 97 | 97 | text: __( 'Done', 'formidable' ), |
| 98 | 98 | buttonType: 'primary' |
| 99 | - } ); | |
| 99 | + }); | |
| 100 | 100 | |
| 101 | - const cancelButton = footerButton( { | |
| 101 | + const cancelButton = footerButton({ | |
| 102 | 102 | text: __( 'Back', 'formidable' ), |
| 103 | 103 | buttonType: 'cancel' |
| 104 | - } ); | |
| 104 | + }); | |
| 105 | 105 | cancelButton.addEventListener( |
| 106 | 106 | 'click', |
| 107 | 107 | function( event ) { |
| 108 | 108 | event.preventDefault(); |
| @@ -109,17 +109,17 @@ | ||
| 109 | 109 | openEmbedModal(); |
| 110 | 110 | } |
| 111 | 111 | ); |
| 112 | 112 | |
| 113 | - return div( { | |
| 113 | + return div({ | |
| 114 | 114 | children: [ doneButton, cancelButton ] |
| 115 | - } ); | |
| 115 | + }); | |
| 116 | 116 | } |
| 117 | 117 | |
| 118 | 118 | function offsetModalY( $modal, amount ) { |
| 119 | 119 | const position = { |
| 120 | 120 | my: 'top', |
| 121 | - at: `top+${ amount }`, | |
| 121 | + at: 'top+' + amount, | |
| 122 | 122 | of: window |
| 123 | 123 | }; |
| 124 | 124 | $modal.dialog( 'option', 'position', position ); |
| 125 | 125 | } |
| @@ -124,19 +124,19 @@ | ||
| 124 | 124 | $modal.dialog( 'option', 'position', position ); |
| 125 | 125 | } |
| 126 | 126 | |
| 127 | 127 | function getModalOptions() { |
| 128 | - const content = div( { className: 'frm-embed-modal-content frm_wrap' } ); | |
| 128 | + const content = div({ className: 'frm-embed-modal-content frm_wrap' }); | |
| 129 | 129 | const typeDescription = getTypeDescription(); |
| 130 | 130 | |
| 131 | 131 | /* translators: %s type: ie form, view. */ |
| 132 | - const existingPageDescription = sprintf( __( 'Embed your %s into an existing page.', 'formidable' ), typeDescription ); | |
| 132 | + const existingPageDescription = __( 'Embed your %s into an existing page.', 'formidable' ).replace( '%s', typeDescription ); | |
| 133 | 133 | |
| 134 | 134 | /* translators: %s type: ie form, view. */ |
| 135 | - const newPageDescription = sprintf( __( 'Put your %s on a newly created page.', 'formidable' ), typeDescription ); | |
| 135 | + const newPageDescription = __( 'Put your %s on a newly created page.', 'formidable' ).replace( '%s', typeDescription ); | |
| 136 | 136 | |
| 137 | 137 | /* translators: %s type: ie form, view. */ |
| 138 | - const insertManuallyDescription = sprintf( __( 'Use shortcodes or PHP code to put the %s anywhere.', 'formidable' ), typeDescription ); | |
| 138 | + const insertManuallyDescription = __( 'Use shortcodes or PHP code to put the %s anywhere.', 'formidable' ).replace( '%s', typeDescription ); | |
| 139 | 139 | |
| 140 | 140 | const options = [ |
| 141 | 141 | { |
| 142 | 142 | icon: '#frm_file_icon', |
| @@ -147,17 +147,17 @@ | ||
| 147 | 147 | |
| 148 | 148 | const spinner = tag( 'span' ); |
| 149 | 149 | spinner.className = 'frm-wait frm_spinner'; |
| 150 | 150 | spinner.style.visibility = 'visible'; |
| 151 | - content.append( spinner ); | |
| 151 | + content.appendChild( spinner ); | |
| 152 | 152 | |
| 153 | 153 | const gap = div(); |
| 154 | 154 | gap.style.height = '20px'; |
| 155 | - content.append( gap ); | |
| 155 | + content.appendChild( gap ); | |
| 156 | 156 | |
| 157 | 157 | content.classList.add( 'frm-loading-page-options' ); |
| 158 | 158 | |
| 159 | - jQuery.ajax( { | |
| 159 | + jQuery.ajax({ | |
| 160 | 160 | type: 'POST', |
| 161 | 161 | url: ajaxurl, |
| 162 | 162 | data: { |
| 163 | 163 | action: 'get_page_dropdown', |
| @@ -164,9 +164,9 @@ | ||
| 164 | 164 | nonce: frmGlobal.nonce |
| 165 | 165 | }, |
| 166 | 166 | dataType: 'json', |
| 167 | 167 | success: addExistingPageDropdown |
| 168 | - } ); | |
| 168 | + }); | |
| 169 | 169 | |
| 170 | 170 | function addExistingPageDropdown( response ) { |
| 171 | 171 | if ( 'object' !== typeof response || 'string' !== typeof response.html ) { |
| 172 | 172 | return; |
| @@ -177,28 +177,28 @@ | ||
| 177 | 177 | |
| 178 | 178 | const typeDescription = getTypeDescription(); |
| 179 | 179 | |
| 180 | 180 | /* translators: %s: type (ie. view, form). */ |
| 181 | - const titleText = sprintf( __( 'Select the page you want to embed your %s into.', 'formidable' ), typeDescription ); | |
| 181 | + const titleText = __( 'Select the page you want to embed your %s into.', 'formidable' ).replace( '%s', typeDescription ); | |
| 182 | 182 | |
| 183 | 183 | const title = getLabel( titleText ); |
| 184 | 184 | title.setAttribute( 'for', 'frm_page_dropdown' ); |
| 185 | - content.append( title ); | |
| 185 | + content.appendChild( title ); | |
| 186 | 186 | |
| 187 | 187 | let editPageUrl; |
| 188 | 188 | |
| 189 | - const doneButton = modal.querySelector( '.frm_modal_footer .button-primary' ); | |
| 189 | + doneButton = modal.querySelector( '.frm_modal_footer .button-primary' ); | |
| 190 | 190 | doneButton.classList.remove( 'dismiss' ); |
| 191 | 191 | /* translators: %s: type (ie. view, form). */ |
| 192 | - doneButton.textContent = sprintf( __( 'Insert %s', 'formidable' ), typeDescription ); | |
| 192 | + doneButton.textContent = __( 'Insert %s', 'formidable' ).replace( '%s', typeDescription ); | |
| 193 | 193 | doneButton.addEventListener( 'click', redirectToExistingPageWithInjectedShortcode ); |
| 194 | 194 | |
| 195 | 195 | const dropdownWrapper = div(); |
| 196 | 196 | dropdownWrapper.innerHTML = response.html; |
| 197 | - content.append( dropdownWrapper ); | |
| 197 | + content.appendChild( dropdownWrapper ); | |
| 198 | 198 | |
| 199 | 199 | if ( 'form' === state.type ) { |
| 200 | - editPageUrl = `${ response.edit_page_url }&frmForm=${ state.objectId }`; | |
| 200 | + editPageUrl = response.edit_page_url + '&frmForm=' + state.objectId; | |
| 201 | 201 | } else { |
| 202 | 202 | const hookName = 'frm_embed_edit_page_url'; |
| 203 | 203 | const hookArgs = { |
| 204 | 204 | objectId: state.objectId, |
| @@ -221,9 +221,9 @@ | ||
| 221 | 221 | |
| 222 | 222 | const pageId = pageDropdown.value; |
| 223 | 223 | |
| 224 | 224 | if ( '0' === pageId || '' === pageId ) { |
| 225 | - const error = div( { className: 'frm_error_style' } ); | |
| 225 | + const error = div({ className: 'frm_error_style' }); | |
| 226 | 226 | error.setAttribute( 'role', 'alert' ); |
| 227 | 227 | error.textContent = __( 'Please select a page', 'formidable' ); |
| 228 | 228 | content.insertBefore( error, title.nextElementSibling ); |
| 229 | 229 | return; |
| @@ -228,9 +228,9 @@ | ||
| 228 | 228 | content.insertBefore( error, title.nextElementSibling ); |
| 229 | 229 | return; |
| 230 | 230 | } |
| 231 | 231 | |
| 232 | - window.location.href = editPageUrl.replace( 'post=0', `post=${ pageId }` ); | |
| 232 | + window.location.href = editPageUrl.replace( 'post=0', 'post=' + pageId ); | |
| 233 | 233 | } |
| 234 | 234 | } |
| 235 | 235 | } |
| 236 | 236 | }, |
| @@ -240,9 +240,9 @@ | ||
| 240 | 240 | description: newPageDescription, |
| 241 | 241 | callback: () => { |
| 242 | 242 | content.innerHTML = ''; |
| 243 | 243 | |
| 244 | - const wrapper = div( { className: 'field-group' } ); | |
| 244 | + const wrapper = div({ className: 'field-group' }); | |
| 245 | 245 | const form = tag( 'form' ); |
| 246 | 246 | |
| 247 | 247 | const createPageWithShortcode = () => { |
| 248 | 248 | const hookName = 'frm_create_page_with_shortcode_data'; |
| @@ -255,19 +255,19 @@ | ||
| 255 | 255 | name: input.value, |
| 256 | 256 | nonce: frmGlobal.nonce |
| 257 | 257 | } |
| 258 | 258 | ); |
| 259 | - jQuery.ajax( { | |
| 259 | + jQuery.ajax({ | |
| 260 | 260 | type: 'POST', |
| 261 | 261 | url: ajaxurl, |
| 262 | 262 | data, |
| 263 | 263 | dataType: 'json', |
| 264 | - success( response ) { | |
| 264 | + success: function( response ) { | |
| 265 | 265 | if ( 'object' === typeof response && 'string' === typeof response.redirect ) { |
| 266 | 266 | window.location.href = response.redirect; |
| 267 | 267 | } |
| 268 | 268 | } |
| 269 | - } ); | |
| 269 | + }); | |
| 270 | 270 | }; |
| 271 | 271 | |
| 272 | 272 | form.addEventListener( |
| 273 | 273 | 'submit', |
| @@ -280,22 +280,22 @@ | ||
| 280 | 280 | ); |
| 281 | 281 | |
| 282 | 282 | const title = getLabel( __( 'What will you call the new page?', 'formidable' ) ); |
| 283 | 283 | title.setAttribute( 'for', 'frm_name_your_page' ); |
| 284 | - form.append( title ); | |
| 284 | + form.appendChild( title ); | |
| 285 | 285 | |
| 286 | 286 | const input = tag( 'input' ); |
| 287 | 287 | input.id = 'frm_name_your_page'; |
| 288 | 288 | input.placeholder = __( 'Name your page', 'formidable' ); |
| 289 | - form.append( input ); | |
| 289 | + form.appendChild( input ); | |
| 290 | 290 | |
| 291 | - wrapper.append( form ); | |
| 292 | - content.append( wrapper ); | |
| 291 | + wrapper.appendChild( form ); | |
| 292 | + content.appendChild( wrapper ); | |
| 293 | 293 | |
| 294 | 294 | input.type = 'text'; |
| 295 | 295 | input.focus(); |
| 296 | 296 | |
| 297 | - const doneButton = modal.querySelector( '.frm_modal_footer .button-primary' ); | |
| 297 | + doneButton = modal.querySelector( '.frm_modal_footer .button-primary' ); | |
| 298 | 298 | doneButton.textContent = __( 'Create page', 'formidable' ); |
| 299 | 299 | doneButton.addEventListener( |
| 300 | 300 | 'click', |
| 301 | 301 | function( event ) { |
| @@ -312,9 +312,9 @@ | ||
| 312 | 312 | callback: () => { |
| 313 | 313 | content.innerHTML = ''; |
| 314 | 314 | |
| 315 | 315 | if ( 'form' === state.type ) { |
| 316 | - getEmbedFormManualExamples().forEach( example => content.append( getEmbedExample( example ) ) ); | |
| 316 | + getEmbedFormManualExamples().forEach( example => content.appendChild( getEmbedExample( example ) ) ); | |
| 317 | 317 | } else { |
| 318 | 318 | const hookName = 'frm_embed_examples'; |
| 319 | 319 | const hookArgs = { |
| 320 | 320 | type: state.type, |
| @@ -321,9 +321,9 @@ | ||
| 321 | 321 | objectId: state.objectId, |
| 322 | 322 | objectKey: state.objectKey |
| 323 | 323 | }; |
| 324 | 324 | wp.hooks.applyFilters( hookName, [], hookArgs ).forEach( |
| 325 | - example => content.append( getEmbedExample( example ) ) | |
| 325 | + example => content.appendChild( getEmbedExample( example ) ) | |
| 326 | 326 | ); |
| 327 | 327 | } |
| 328 | 328 | } |
| 329 | 329 | } |
| @@ -329,9 +329,9 @@ | ||
| 329 | 329 | } |
| 330 | 330 | ]; |
| 331 | 331 | |
| 332 | 332 | options.forEach( |
| 333 | - option => content.append( getModalOption( option ) ) | |
| 333 | + option => content.appendChild( getModalOption( option ) ) | |
| 334 | 334 | ); |
| 335 | 335 | |
| 336 | 336 | return content; |
| 337 | 337 | } |
| @@ -345,21 +345,21 @@ | ||
| 345 | 345 | return __( 'form', 'formidable' ); |
| 346 | 346 | } |
| 347 | 347 | } |
| 348 | 348 | |
| 349 | - function getModalOption( { icon, label, description, callback } ) { | |
| 349 | + function getModalOption({ icon, label, description, callback }) { | |
| 350 | 350 | const output = div(); |
| 351 | - output.append( wrapModalOptionIcon( icon ) ); | |
| 351 | + output.appendChild( wrapModalOptionIcon( icon ) ); | |
| 352 | 352 | output.className = 'frm-embed-modal-option'; |
| 353 | 353 | output.setAttribute( 'tabindex', 0 ); |
| 354 | 354 | output.setAttribute( 'role', 'button' ); |
| 355 | 355 | |
| 356 | 356 | const textWrapper = div(); |
| 357 | - textWrapper.append( getLabel( label ) ); | |
| 358 | - textWrapper.append( div( description ) ); | |
| 359 | - output.append( textWrapper ); | |
| 357 | + textWrapper.appendChild( getLabel( label ) ); | |
| 358 | + textWrapper.appendChild( div( description ) ); | |
| 359 | + output.appendChild( textWrapper ); | |
| 360 | 360 | |
| 361 | - output.append( div( { className: 'caret' } ) ); | |
| 361 | + output.appendChild( div({ className: 'caret' }) ); | |
| 362 | 362 | |
| 363 | 363 | output.addEventListener( |
| 364 | 364 | 'click', |
| 365 | 365 | function() { |
| @@ -370,12 +370,12 @@ | ||
| 370 | 370 | return output; |
| 371 | 371 | } |
| 372 | 372 | |
| 373 | 373 | function wrapModalOptionIcon( iconHref ) { |
| 374 | - return div( { | |
| 374 | + return div({ | |
| 375 | 375 | className: 'frm-icon-wrapper', |
| 376 | - child: svg( { href: iconHref } ) | |
| 377 | - } ); | |
| 376 | + child: svg({ href: iconHref }) | |
| 377 | + }); | |
| 378 | 378 | } |
| 379 | 379 | |
| 380 | 380 | function getEmbedFormManualExamples() { |
| 381 | 381 | const formId = state.objectId; |
| @@ -383,15 +383,15 @@ | ||
| 383 | 383 | |
| 384 | 384 | let examples = [ |
| 385 | 385 | { |
| 386 | 386 | label: __( 'WordPress shortcode', 'formidable' ), |
| 387 | - example: `[formidable id=${ formId }]`, | |
| 387 | + example: '[formidable id=' + formId + ']', | |
| 388 | 388 | link: 'https://formidableforms.com/knowledgebase/publish-a-form/#kb-insert-the-shortcode-manually', |
| 389 | 389 | linkLabel: __( 'How to use shortcodes in WordPress', 'formidable' ) |
| 390 | 390 | }, |
| 391 | 391 | { |
| 392 | 392 | label: __( 'Use PHP code', 'formidable' ), |
| 393 | - example: `<?php echo FrmFormsController::get_form_shortcode( array( 'id' => ${ formId } ) ); ?>` | |
| 393 | + example: '<?php echo FrmFormsController::get_form_shortcode( array( \'id\' => ' + formId + ' ) ); ?>' | |
| 394 | 394 | } |
| 395 | 395 | ]; |
| 396 | 396 | |
| 397 | 397 | const filterArgs = { formId, formKey }; |
| @@ -399,18 +399,18 @@ | ||
| 399 | 399 | |
| 400 | 400 | return examples; |
| 401 | 401 | } |
| 402 | 402 | |
| 403 | - function getEmbedExample( { label, example, link, linkLabel } ) { | |
| 404 | - const unique = getAutoId(); | |
| 403 | + function getEmbedExample({ label, example, link, linkLabel }) { | |
| 404 | + let unique, element, labelElement, exampleElement, linkElement; | |
| 405 | 405 | |
| 406 | - const labelElement = getLabel( label ); | |
| 407 | - labelElement.id = `frm_embed_example_label_${ unique }`; | |
| 406 | + unique = getAutoId(); | |
| 407 | + element = div(); | |
| 408 | 408 | |
| 409 | - const element = div(); | |
| 410 | - element.append( labelElement ); | |
| 409 | + labelElement = getLabel( label ); | |
| 410 | + labelElement.id = 'frm_embed_example_label_' + unique; | |
| 411 | + element.appendChild( labelElement ); | |
| 411 | 412 | |
| 412 | - let exampleElement; | |
| 413 | 413 | if ( example.length > 80 ) { |
| 414 | 414 | exampleElement = tag( 'textarea' ); |
| 415 | 415 | } else { |
| 416 | 416 | exampleElement = tag( 'input' ); |
| @@ -416,24 +416,24 @@ | ||
| 416 | 416 | exampleElement = tag( 'input' ); |
| 417 | 417 | exampleElement.type = 'text'; |
| 418 | 418 | } |
| 419 | 419 | |
| 420 | - exampleElement.id = `frm_embed_example_${ unique }`; | |
| 420 | + exampleElement.id = 'frm_embed_example_' + unique; | |
| 421 | 421 | exampleElement.className = 'frm_embed_example'; |
| 422 | 422 | exampleElement.value = example; |
| 423 | 423 | exampleElement.readOnly = true; |
| 424 | 424 | exampleElement.setAttribute( 'tabindex', -1 ); |
| 425 | 425 | |
| 426 | - if ( link !== undefined && linkLabel !== undefined ) { | |
| 427 | - const linkElement = tag( 'a' ); | |
| 426 | + if ( 'undefined' !== typeof link && 'undefined' !== typeof linkLabel ) { | |
| 427 | + linkElement = tag( 'a' ); | |
| 428 | 428 | linkElement.href = link; |
| 429 | 429 | linkElement.textContent = linkLabel; |
| 430 | 430 | linkElement.setAttribute( 'target', '_blank' ); |
| 431 | - element.append( linkElement ); | |
| 431 | + element.appendChild( linkElement ); | |
| 432 | 432 | } |
| 433 | 433 | |
| 434 | - element.append( exampleElement ); | |
| 435 | - element.append( getCopyIcon( label ) ); | |
| 434 | + element.appendChild( exampleElement ); | |
| 435 | + element.appendChild( getCopyIcon( label ) ); | |
| 436 | 436 | |
| 437 | 437 | return element; |
| 438 | 438 | } |
| 439 | 439 | |
| @@ -442,14 +442,14 @@ | ||
| 442 | 442 | return tag( 'label', args ); |
| 443 | 443 | } |
| 444 | 444 | |
| 445 | 445 | function getCopyIcon( label ) { |
| 446 | - const icon = svg( { href: '#frm_clone_icon' } ); | |
| 447 | - icon.id = `frm_copy_embed_${ getAutoId() }`; | |
| 446 | + const icon = svg({ href: '#frm_clone_icon' }); | |
| 447 | + icon.id = 'frm_copy_embed_' + getAutoId(); | |
| 448 | 448 | icon.setAttribute( 'tabindex', 0 ); |
| 449 | 449 | icon.setAttribute( 'role', 'button' ); |
| 450 | 450 | /* translators: %s: Example type (ie. WordPress shortcode, API Form script) */ |
| 451 | - icon.setAttribute( 'aria-label', sprintf( __( 'Copy %s', 'formidable' ), label ) ); | |
| 451 | + icon.setAttribute( 'aria-label', __( 'Copy %s', 'formidable' ).replace( '%s', label ) ); | |
| 452 | 452 | icon.addEventListener( |
| 453 | 453 | 'click', |
| 454 | 454 | () => copyExampleToClipboard( icon.parentNode.querySelector( '.frm_embed_example' ) ) |
| 455 | 455 | ); |
| @@ -486,17 +486,17 @@ | ||
| 486 | 486 | } |
| 487 | 487 | |
| 488 | 488 | function speak( message ) { |
| 489 | 489 | const element = document.createElement( 'div' ); |
| 490 | - const id = `speak-${ getAutoId() }`; | |
| 490 | + const id = 'speak-' + getAutoId(); | |
| 491 | 491 | |
| 492 | 492 | element.setAttribute( 'aria-live', 'assertive' ); |
| 493 | 493 | element.setAttribute( 'id', id ); |
| 494 | 494 | element.className = 'frm_screen_reader frm_hidden'; |
| 495 | 495 | element.textContent = message; |
| 496 | - document.body.append( element ); | |
| 496 | + document.body.appendChild( element ); | |
| 497 | 497 | |
| 498 | - setTimeout( () => element.remove(), 1000 ); | |
| 498 | + setTimeout( () => document.body.removeChild( element ), 1000 ); | |
| 499 | 499 | } |
| 500 | 500 | |
| 501 | 501 | /** |
| 502 | 502 | * Get a unique id that automatically increments with every function call. |
| @@ -502,9 +502,9 @@ | ||
| 502 | 502 | * Get a unique id that automatically increments with every function call. |
| 503 | 503 | * Can be used for any UI that requires a unique id. |
| 504 | 504 | * Not to be used in data. |
| 505 | 505 | * |
| 506 | - * @return {number} The unique id. | |
| 506 | + * @returns {integer} | |
| 507 | 507 | */ |
| 508 | 508 | function getAutoId() { |
| 509 | 509 | return ++autoId; |
| 510 | 510 | } |