UNPKG

ui-dropdown

Version:
60 lines (47 loc) 1.89 kB
<!--ADD TO ELEMENT TEMPLATE--> <meta name=viewport content="width=device-width, initial-scale=1"> <link rel="stylesheet" type="text/css" href="../vendors/bootstrap/dist/css/bootstrap.css"> <script type="module" src="../element/controller.js"></script> <style> ui-dropdown { --ui-dropdown-background-color: white; } </style> <body> <ui-dropdown value='{"name": "whatever", "label":"Hello", "options":["one","two","three"], "placeholder":"req-true-no-selec", "required": true }'></ui-dropdown> <br> <ui-dropdown value='{"name": "whatever", "label":"Hello", "options":["one","two","three"], "placeholder":"req-true-selec", "required": true }'></ui-dropdown> <br> <ui-dropdown value='{"name": "whatever", "label":"Hello", "options":["one","two","three"], "placeholder":"req-false-selec", "required": false }'></ui-dropdown> <br> <ui-dropdown value='{"name": "whatever", "label":"Hello", "options":["one","two","three"], "placeholder":"no-req-with-select"}'></ui-dropdown> <br> <ui-dropdown value='{"name": "whatever", "label":"Hello", "options":["one","two","three"], "placeholder":"no-req"}'></ui-dropdown> <br> <button>Submit</button> </body> <script> // imports are loaded and dropdowns have been registered const dropdowns = document.querySelectorAll("ui-dropdown"); dropdowns.forEach(element => { element.addEventListener("response", function(e) { //console.log("DATA", element.data) }) }) const button = document.querySelector("button"); button.addEventListener("click", function(e){ let shouldPreventDefault = false; dropdowns.forEach(element => { if(element.hasInvalidResponse){ shouldPreventDefault = true; element.showValidationError(); } else{ element.hideValidationError(); } }) if(shouldPreventDefault){ e.preventDefault(); } }) </script>