TLDR: Use for...of instead of forEach() in asynchronous code.
For legacy browsers, use for(...;...;...) or [].reduce()
To execute the promises in parallel, use Promise.all([].map(...))
| // add all the elements inside modal which you want to make focusable | |
| const focusableElements = | |
| 'button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])'; | |
| const modal = document.querySelector('#exampleModal'); // select the modal by it's id | |
| const firstFocusableElement = modal.querySelectorAll(focusableElements)[0]; // get first element to be focused inside modal | |
| const focusableContent = modal.querySelectorAll(focusableElements); | |
| const lastFocusableElement = focusableContent[focusableContent.length - 1]; // get last element to be focused inside modal |
| <?php | |
| function create_ACF_meta_in_REST() { | |
| $postypes_to_exclude = ['acf-field-group','acf-field']; | |
| $extra_postypes_to_include = ["page"]; | |
| $post_types = array_diff(get_post_types(["_builtin" => false], 'names'),$postypes_to_exclude); | |
| array_push($post_types, $extra_postypes_to_include); | |
| foreach ($post_types as $post_type) { | |
| register_rest_field( $post_type, 'ACF', [ |
| // Brightness math based on: | |
| // http://www.nbdtech.com/Blog/archive/2008/04/27/Calculating-the-Perceived-Brightness-of-a-Color.aspx | |
| $red-magic-number: 241; | |
| $green-magic-number: 691; | |
| $blue-magic-number: 68; | |
| $brightness-divisor: $red-magic-number + $green-magic-number + $blue-magic-number; | |
| @function brightness($color) { | |
| // Extract color components |
| /** | |
| * Simple node.js style script loader for modern browsers | |
| **/ | |
| function loadScript(src, cb) { | |
| var script = document.createElement('script'); | |
| script.async = true; | |
| script.src = src; | |
| script.onerror = function() { | |
| cb(new Error("Failed to load" + src)); |
| /* | |
| * This work is free. You can redistribute it and/or modify it under the | |
| * terms of the Do What The Fuck You Want To Public License, Version 2, | |
| * as published by Sam Hocevar. See the COPYING file for more details. | |
| */ | |
| /* | |
| * Easing Functions - inspired from http://gizma.com/easing/ | |
| * only considering the t value for the range [0, 1] => [0, 1] | |
| */ | |
| EasingFunctions = { |