|
| 1 | +<!DOCTYPE html> |
| 2 | +<html lang="en"> |
| 3 | +<head> |
| 4 | + <meta charset="utf-8"> |
| 5 | + <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> |
| 6 | + <link href=" https://unpkg.com/@vbarbarosh/[email protected]/dist/sm.css" rel=" stylesheet" /> |
| 7 | + <title>The most basic example</title> |
| 8 | +</head> |
| 9 | +<body class="checkerboard"> |
| 10 | + |
| 11 | +<div id="app" v-show="true" class="w500 ma mv10 pv10 ph15 bs5 white" style="display: none;"> |
| 12 | + <button v-on:click="hello">Hello</button> |
| 13 | +</div> |
| 14 | + |
| 15 | +<script src=" https://unpkg.com/[email protected]/dist/jquery.js" data-include></script> |
| 16 | +<script src=" https://unpkg.com/[email protected]/js/browser/bluebird.js" data-include></script> |
| 17 | +<script src=" https://unpkg.com/[email protected]/dist/vue.js" data-include></script> |
| 18 | +<script src=" https://unpkg.com/@vbarbarosh/[email protected]/dist/vue-modal.js" data-include></script> |
| 19 | + |
| 20 | +<script id="templ-modal-hello" type="text/html"> |
| 21 | + <!-- https://smcss.vbarbarosh.com/demos/#modal --> |
| 22 | + <div v-on:click="($event.currentTarget === $event.target) && modal.return(false)" class="fix-f oa flex-row" style="background: rgba(0, 0, 0, 0.25)"> |
| 23 | + <div class="ma"> |
| 24 | + <div class="w500 ma mv15 p15 mg15 white border bs15"> |
| 25 | + <p class="xm">Praesent non suscipit lectus. Integer in lectus quam. Sed sed cursus mi. Maecenas mattis, metus ac volutpat vehicula, lacus felis vulputate est, at euismod tortor augue sed neque. Duis porttitor nisl et sapien efficitur, eget feugiat purus dapibus. Nam mattis aliquam felis, in tempor metus tempus at. In molestie vestibulum dolor ut consectetur.</p> |
| 26 | + <p class="xm">Vestibulum aliquet enim quis sodales tincidunt. Donec vulputate magna diam, id feugiat nisi aliquam in. Cras gravida odio ac metus tincidunt pharetra. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum porttitor laoreet neque vel tincidunt. Integer eu scelerisque purus, quis porta ligula. Donec molestie risus ac malesuada laoreet. Duis eleifend enim tincidunt sagittis efficitur. Nunc maximus libero eget rutrum sollicitudin. Praesent cursus non justo sed auctor. Phasellus nibh nibh, egestas eget leo quis, molestie varius felis. In lobortis porta ultrices. Nunc gravida semper diam, a tincidunt urna porta ut. Proin cursus mi quam, vitae lobortis nunc feugiat eu. Maecenas ut gravida lectus, eget tincidunt ante.</p> |
| 27 | + <div> |
| 28 | + <button v-on:click="modal.return(true)">Confirm</button> |
| 29 | + <button v-on:click="modal.return(false)">Cancel</button> |
| 30 | + </div> |
| 31 | + </div> |
| 32 | + </div> |
| 33 | + </div> |
| 34 | +</script> |
| 35 | + |
| 36 | +<script id="js"> |
| 37 | +Vue.component('modal-hello', { |
| 38 | + template: '#templ-modal-hello', |
| 39 | + inject: ['modal'], |
| 40 | +}); |
| 41 | + |
| 42 | +new Vue({ |
| 43 | + el: '#app', |
| 44 | + methods: { |
| 45 | + hello: async function () { |
| 46 | + console.log(await modal_hello().promise()); |
| 47 | + }, |
| 48 | + }, |
| 49 | +}); |
| 50 | + |
| 51 | +function modal_hello(value) |
| 52 | +{ |
| 53 | + return vue_modal({template: '<modal-hello v-model="value" />', data: {value}}); |
| 54 | +} |
| 55 | +</script> |
| 56 | + |
| 57 | +</body> |
| 58 | +</html> |
0 commit comments