Socket
Socket
Sign inDemoInstall

vex-dialog

Package Overview
Dependencies
2
Maintainers
1
Versions
9
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 1.0.0 to 1.0.1

43

dist/vex.dialog.js

@@ -381,3 +381,4 @@ (function(f){if(typeof exports==="object"&&typeof module!=="undefined"){module.exports=f()}else if(typeof define==="function"&&define.amd){define([],f)}else{var g;if(typeof window!=="undefined"){g=window}else if(typeof global!=="undefined"){g=global}else if(typeof self!=="undefined"){g=self}else{g=this}g.vexDialog = f()}})(function(){var define,module,exports;return (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s})({1:[function(require,module,exports){

var buildDialogForm = function (options) {
// Build DOM elements for the structure of the dialog
var buildDialogForm = function buildDialogForm (options) {
var form = document.createElement('form')

@@ -400,3 +401,4 @@ form.classList.add('vex-dialog-form')

var buttonsToDOM = function (buttons) {
// Take an array of buttons (see the default buttons below) and turn them into DOM elements
var buttonsToDOM = function buttonsToDOM (buttons) {
var domButtons = document.createElement('div')

@@ -432,3 +434,4 @@ domButtons.classList.add('vex-dialog-buttons')

var escapeHtml = function (str) {
// Use the DOM's HTML parsing to escape any dangerous strings
var escapeHtml = function escapeHtml (str) {
if (typeof str !== 'undefined') {

@@ -443,3 +446,3 @@ var div = document.createElement('div')

var plugin = function (vex) {
var plugin = function plugin (vex) {
// Define the API first

@@ -451,3 +454,3 @@ var dialog = {

// Open
open: function (opts) {
open: function open (opts) {
var options = Object.assign({}, this.defaultOptions, opts)

@@ -469,9 +472,20 @@

// Quick comment - these options and appending buttons and everything
// would preferably be done _before_ opening the dialog. However, since
// they rely on the context of the vex instance, we have to do them
// after. A potential future fix would be to differentiate between
// a "created" vex instance and an "opened" vex instance, so any actions
// that rely on the specific context of the instance can do their stuff
// before opening the dialog on the page.
// Override the before close callback to also pass the value of the form
var beforeClose = options.beforeClose
dialogInstance.options.beforeClose = function () {
options.callback(this.value || false)
if (beforeClose) {
beforeClose.call(this)
dialogInstance.options.beforeClose = function dialogBeforeClose () {
// Only call the callback once - when the validation in beforeClose, if present, is true
var shouldClose = beforeClose ? beforeClose() : true
if (shouldClose) {
options.callback(this.value || false)
}
// Return the result of beforeClose() to vex
return shouldClose
}.bind(dialogInstance)

@@ -502,2 +516,3 @@

alert: function (options) {
// Allow string as message
if (typeof options === 'string') {

@@ -532,4 +547,6 @@ options = {

options = Object.assign(defaults, dynamicDefaults, options)
// Pluck the value of the "vex" input field as the return value for prompt's callback
// More closely mimics "window.prompt" in that a single string is returned
var callback = options.callback
options.callback = function (value) {
options.callback = function promptCallback (value) {
value = value[Object.keys(value)[0]]

@@ -548,3 +565,3 @@ callback(value)

className: 'vex-dialog-button-primary',
click: function () {
click: function yesClick () {
this.value = true

@@ -558,3 +575,3 @@ }

className: 'vex-dialog-button-secondary',
click: function () {
click: function noClick () {
this.value = false

@@ -576,3 +593,3 @@ this.close()

showCloseButton: false,
onSubmit: function (e) {
onSubmit: function onDialogSubmit (e) {
e.preventDefault()

@@ -579,0 +596,0 @@ if (this.options.input) {

@@ -1,2 +0,2 @@

/*! vex.dialog.min.js 3.0.0 */
!function(a){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=a();else if("function"==typeof define&&define.amd)define([],a);else{var b;b="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this,b.vexDialog=a()}}(function(){return function a(b,c,d){function e(g,h){if(!c[g]){if(!b[g]){var i="function"==typeof require&&require;if(!h&&i)return i(g,!0);if(f)return f(g,!0);var j=new Error("Cannot find module '"+g+"'");throw j.code="MODULE_NOT_FOUND",j}var k=c[g]={exports:{}};b[g][0].call(k.exports,function(a){var c=b[g][1][a];return e(c?c:a)},k,k.exports,a,b,c,d)}return c[g].exports}for(var f="function"==typeof require&&require,g=0;g<d.length;g++)e(d[g]);return e}({1:[function(a,b,c){function d(a,b){if("string"!=typeof a)throw new TypeError("String expected");b||(b=document);var c=/<([\w:]+)/.exec(a);if(!c)return b.createTextNode(a);a=a.replace(/^\s+|\s+$/g,"");var d=c[1];if("body"==d){var e=b.createElement("html");return e.innerHTML=a,e.removeChild(e.lastChild)}var f=g[d]||g._default,h=f[0],i=f[1],j=f[2],e=b.createElement("div");for(e.innerHTML=i+a+j;h--;)e=e.lastChild;if(e.firstChild==e.lastChild)return e.removeChild(e.firstChild);for(var k=b.createDocumentFragment();e.firstChild;)k.appendChild(e.removeChild(e.firstChild));return k}b.exports=d;var e,f=!1;"undefined"!=typeof document&&(e=document.createElement("div"),e.innerHTML=' <link/><table></table><a href="/a">a</a><input type="checkbox"/>',f=!e.getElementsByTagName("link").length,e=void 0);var g={legend:[1,"<fieldset>","</fieldset>"],tr:[2,"<table><tbody>","</tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],_default:f?[1,"X<div>","</div>"]:[0,"",""]};g.td=g.th=[3,"<table><tbody><tr>","</tr></tbody></table>"],g.option=g.optgroup=[1,'<select multiple="multiple">',"</select>"],g.thead=g.tbody=g.colgroup=g.caption=g.tfoot=[1,"<table>","</table>"],g.polyline=g.ellipse=g.polygon=g.circle=g.text=g.line=g.path=g.rect=g.g=[1,'<svg xmlns="http://www.w3.org/2000/svg" version="1.1">',"</svg>"]},{}],2:[function(a,b,c){function d(a,b){"object"!=typeof b?b={hash:!!b}:void 0===b.hash&&(b.hash=!0);for(var c=b.hash?{}:"",d=b.serializer||(b.hash?g:h),e=a&&a.elements?a.elements:[],f=Object.create(null),k=0;k<e.length;++k){var l=e[k];if((b.disabled||!l.disabled)&&l.name&&j.test(l.nodeName)&&!i.test(l.type)){var m=l.name,n=l.value;if("checkbox"!==l.type&&"radio"!==l.type||l.checked||(n=void 0),b.empty){if("checkbox"!==l.type||l.checked||(n=""),"radio"===l.type&&(f[l.name]||l.checked?l.checked&&(f[l.name]=!0):f[l.name]=!1),!n&&"radio"==l.type)continue}else if(!n)continue;if("select-multiple"!==l.type)c=d(c,m,n);else{n=[];for(var o=l.options,p=!1,q=0;q<o.length;++q){var r=o[q],s=b.empty&&!r.value,t=r.value||s;r.selected&&t&&(p=!0,c=b.hash&&"[]"!==m.slice(m.length-2)?d(c,m+"[]",r.value):d(c,m,r.value))}!p&&b.empty&&(c=d(c,m,""))}}}if(b.empty)for(var m in f)f[m]||(c=d(c,m,""));return c}function e(a){var b=[],c=/^([^\[\]]*)/,d=new RegExp(k),e=c.exec(a);for(e[1]&&b.push(e[1]);null!==(e=d.exec(a));)b.push(e[1]);return b}function f(a,b,c){if(0===b.length)return a=c;var d=b.shift(),e=d.match(/^\[(.+?)\]$/);if("[]"===d)return a=a||[],Array.isArray(a)?a.push(f(null,b,c)):(a._values=a._values||[],a._values.push(f(null,b,c))),a;if(e){var g=e[1],h=+g;isNaN(h)?(a=a||{},a[g]=f(a[g],b,c)):(a=a||[],a[h]=f(a[h],b,c))}else a[d]=f(a[d],b,c);return a}function g(a,b,c){var d=b.match(k);if(d){var g=e(b);f(a,g,c)}else{var h=a[b];h?(Array.isArray(h)||(a[b]=[h]),a[b].push(c)):a[b]=c}return a}function h(a,b,c){return c=c.replace(/(\r)?\n/g,"\r\n"),c=encodeURIComponent(c),c=c.replace(/%20/g,"+"),a+(a?"&":"")+encodeURIComponent(b)+"="+c}var i=/^(?:submit|button|image|reset|file)$/i,j=/^(?:input|select|textarea|keygen)/i,k=/(\[[^\[\]]*\])/g;b.exports=d},{}],3:[function(a,b,c){var d=a("domify"),e=a("form-serialize"),f=function(a){var b=document.createElement("form");b.classList.add("vex-dialog-form");var c=document.createElement("div");c.classList.add("vex-dialog-message"),c.appendChild(a.message instanceof window.Node?a.message:d(a.message));var e=document.createElement("div");return e.classList.add("vex-dialog-input"),e.appendChild(a.input instanceof window.Node?a.input:d(a.input)),b.appendChild(c),b.appendChild(e),b},g=function(a){var b=document.createElement("div");b.classList.add("vex-dialog-buttons");for(var c=0;c<a.length;c++){var d=a[c],e=document.createElement("button");e.type=d.type,e.textContent=d.text,e.classList.add(d.className),e.classList.add("vex-dialog-button"),0===c?e.classList.add("vex-first"):c===a.length-1&&e.classList.add("vex-last"),function(a){e.addEventListener("click",function(b){a.click&&a.click.call(this,b)}.bind(this))}.bind(this)(d),b.appendChild(e)}return b},h=function(a){if("undefined"!=typeof a){var b=document.createElement("div");return b.appendChild(document.createTextNode(a)),b.innerHTML}return""},i=function(a){var b={name:"dialog",open:function(b){var c=Object.assign({},this.defaultOptions,b);c.unsafeMessage&&!c.message?c.message=c.unsafeMessage:c.message&&(c.message=h(c.message));var d=c.content=f(c),e=a.open(c),i=c.beforeClose;if(e.options.beforeClose=function(){c.callback(this.value||!1),i&&i.call(this)}.bind(e),d.appendChild(g.call(e,c.buttons)),e.form=d,d.addEventListener("submit",c.onSubmit.bind(e)),c.focusFirstInput){var j=e.contentEl.querySelector("button, input, textarea");j&&j.focus()}return e},alert:function(a){return"string"==typeof a&&(a={message:a}),a=Object.assign({},this.defaultOptions,this.defaultAlertOptions,a),this.open(a)},confirm:function(a){if("string"==typeof a)throw new Error("dialog.confirm(options) requires options.callback.");return a=Object.assign({},this.defaultOptions,this.defaultConfirmOptions,a),this.open(a)},prompt:function(a){if("string"==typeof a)throw new Error("dialog.prompt(options) requires options.callback.");var b=Object.assign({},this.defaultOptions,this.defaultPromptOptions),c={unsafeMessage:'<label for="vex">'+(h(a.label)||b.label)+"</label>",input:'<input name="vex" type="text" class="vex-dialog-prompt-input" placeholder="'+(a.placeholder||b.placeholder)+'" value="'+(a.value||b.value)+'" />'};a=Object.assign(b,c,a);var d=a.callback;return a.callback=function(a){a=a[Object.keys(a)[0]],d(a)},this.open(a)}};return b.buttons={YES:{text:"OK",type:"submit",className:"vex-dialog-button-primary",click:function(){this.value=!0}},NO:{text:"Cancel",type:"button",className:"vex-dialog-button-secondary",click:function(){this.value=!1,this.close()}}},b.defaultOptions={callback:function(){},afterOpen:function(){},message:"",input:"",buttons:[b.buttons.YES,b.buttons.NO],showCloseButton:!1,onSubmit:function(a){return a.preventDefault(),this.options.input&&(this.value=e(this.form,{hash:!0})),this.close()},focusFirstInput:!0},b.defaultAlertOptions={message:"Alert",buttons:[b.buttons.YES]},b.defaultPromptOptions={label:"Prompt:",placeholder:"",value:""},b.defaultConfirmOptions={message:"Confirm"},b};b.exports=i},{domify:1,"form-serialize":2}]},{},[3])(3)});
/*! vex.dialog.min.js 1.0.0 */
!function(a){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=a();else if("function"==typeof define&&define.amd)define([],a);else{var b;b="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this,b.vexDialog=a()}}(function(){return function a(b,c,d){function e(g,h){if(!c[g]){if(!b[g]){var i="function"==typeof require&&require;if(!h&&i)return i(g,!0);if(f)return f(g,!0);var j=new Error("Cannot find module '"+g+"'");throw j.code="MODULE_NOT_FOUND",j}var k=c[g]={exports:{}};b[g][0].call(k.exports,function(a){var c=b[g][1][a];return e(c?c:a)},k,k.exports,a,b,c,d)}return c[g].exports}for(var f="function"==typeof require&&require,g=0;g<d.length;g++)e(d[g]);return e}({1:[function(a,b,c){function d(a,b){if("string"!=typeof a)throw new TypeError("String expected");b||(b=document);var c=/<([\w:]+)/.exec(a);if(!c)return b.createTextNode(a);a=a.replace(/^\s+|\s+$/g,"");var d=c[1];if("body"==d){var e=b.createElement("html");return e.innerHTML=a,e.removeChild(e.lastChild)}var f=g[d]||g._default,h=f[0],i=f[1],j=f[2],e=b.createElement("div");for(e.innerHTML=i+a+j;h--;)e=e.lastChild;if(e.firstChild==e.lastChild)return e.removeChild(e.firstChild);for(var k=b.createDocumentFragment();e.firstChild;)k.appendChild(e.removeChild(e.firstChild));return k}b.exports=d;var e,f=!1;"undefined"!=typeof document&&(e=document.createElement("div"),e.innerHTML=' <link/><table></table><a href="/a">a</a><input type="checkbox"/>',f=!e.getElementsByTagName("link").length,e=void 0);var g={legend:[1,"<fieldset>","</fieldset>"],tr:[2,"<table><tbody>","</tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],_default:f?[1,"X<div>","</div>"]:[0,"",""]};g.td=g.th=[3,"<table><tbody><tr>","</tr></tbody></table>"],g.option=g.optgroup=[1,'<select multiple="multiple">',"</select>"],g.thead=g.tbody=g.colgroup=g.caption=g.tfoot=[1,"<table>","</table>"],g.polyline=g.ellipse=g.polygon=g.circle=g.text=g.line=g.path=g.rect=g.g=[1,'<svg xmlns="http://www.w3.org/2000/svg" version="1.1">',"</svg>"]},{}],2:[function(a,b,c){function d(a,b){"object"!=typeof b?b={hash:!!b}:void 0===b.hash&&(b.hash=!0);for(var c=b.hash?{}:"",d=b.serializer||(b.hash?g:h),e=a&&a.elements?a.elements:[],f=Object.create(null),k=0;k<e.length;++k){var l=e[k];if((b.disabled||!l.disabled)&&l.name&&j.test(l.nodeName)&&!i.test(l.type)){var m=l.name,n=l.value;if("checkbox"!==l.type&&"radio"!==l.type||l.checked||(n=void 0),b.empty){if("checkbox"!==l.type||l.checked||(n=""),"radio"===l.type&&(f[l.name]||l.checked?l.checked&&(f[l.name]=!0):f[l.name]=!1),!n&&"radio"==l.type)continue}else if(!n)continue;if("select-multiple"!==l.type)c=d(c,m,n);else{n=[];for(var o=l.options,p=!1,q=0;q<o.length;++q){var r=o[q],s=b.empty&&!r.value,t=r.value||s;r.selected&&t&&(p=!0,c=b.hash&&"[]"!==m.slice(m.length-2)?d(c,m+"[]",r.value):d(c,m,r.value))}!p&&b.empty&&(c=d(c,m,""))}}}if(b.empty)for(var m in f)f[m]||(c=d(c,m,""));return c}function e(a){var b=[],c=/^([^\[\]]*)/,d=new RegExp(k),e=c.exec(a);for(e[1]&&b.push(e[1]);null!==(e=d.exec(a));)b.push(e[1]);return b}function f(a,b,c){if(0===b.length)return a=c;var d=b.shift(),e=d.match(/^\[(.+?)\]$/);if("[]"===d)return a=a||[],Array.isArray(a)?a.push(f(null,b,c)):(a._values=a._values||[],a._values.push(f(null,b,c))),a;if(e){var g=e[1],h=+g;isNaN(h)?(a=a||{},a[g]=f(a[g],b,c)):(a=a||[],a[h]=f(a[h],b,c))}else a[d]=f(a[d],b,c);return a}function g(a,b,c){var d=b.match(k);if(d){var g=e(b);f(a,g,c)}else{var h=a[b];h?(Array.isArray(h)||(a[b]=[h]),a[b].push(c)):a[b]=c}return a}function h(a,b,c){return c=c.replace(/(\r)?\n/g,"\r\n"),c=encodeURIComponent(c),c=c.replace(/%20/g,"+"),a+(a?"&":"")+encodeURIComponent(b)+"="+c}var i=/^(?:submit|button|image|reset|file)$/i,j=/^(?:input|select|textarea|keygen)/i,k=/(\[[^\[\]]*\])/g;b.exports=d},{}],3:[function(a,b,c){var d=a("domify"),e=a("form-serialize"),f=function(a){var b=document.createElement("form");b.classList.add("vex-dialog-form");var c=document.createElement("div");c.classList.add("vex-dialog-message"),c.appendChild(a.message instanceof window.Node?a.message:d(a.message));var e=document.createElement("div");return e.classList.add("vex-dialog-input"),e.appendChild(a.input instanceof window.Node?a.input:d(a.input)),b.appendChild(c),b.appendChild(e),b},g=function(a){var b=document.createElement("div");b.classList.add("vex-dialog-buttons");for(var c=0;c<a.length;c++){var d=a[c],e=document.createElement("button");e.type=d.type,e.textContent=d.text,e.classList.add(d.className),e.classList.add("vex-dialog-button"),0===c?e.classList.add("vex-first"):c===a.length-1&&e.classList.add("vex-last"),function(a){e.addEventListener("click",function(b){a.click&&a.click.call(this,b)}.bind(this))}.bind(this)(d),b.appendChild(e)}return b},h=function(a){if("undefined"!=typeof a){var b=document.createElement("div");return b.appendChild(document.createTextNode(a)),b.innerHTML}return""},i=function(a){var b={name:"dialog",open:function(b){var c=Object.assign({},this.defaultOptions,b);c.unsafeMessage&&!c.message?c.message=c.unsafeMessage:c.message&&(c.message=h(c.message));var d=c.content=f(c),e=a.open(c),i=c.beforeClose;if(e.options.beforeClose=function(){var a=!i||i();return a&&c.callback(this.value||!1),a}.bind(e),d.appendChild(g.call(e,c.buttons)),e.form=d,d.addEventListener("submit",c.onSubmit.bind(e)),c.focusFirstInput){var j=e.contentEl.querySelector("button, input, textarea");j&&j.focus()}return e},alert:function(a){return"string"==typeof a&&(a={message:a}),a=Object.assign({},this.defaultOptions,this.defaultAlertOptions,a),this.open(a)},confirm:function(a){if("string"==typeof a)throw new Error("dialog.confirm(options) requires options.callback.");return a=Object.assign({},this.defaultOptions,this.defaultConfirmOptions,a),this.open(a)},prompt:function(a){if("string"==typeof a)throw new Error("dialog.prompt(options) requires options.callback.");var b=Object.assign({},this.defaultOptions,this.defaultPromptOptions),c={unsafeMessage:'<label for="vex">'+(h(a.label)||b.label)+"</label>",input:'<input name="vex" type="text" class="vex-dialog-prompt-input" placeholder="'+(a.placeholder||b.placeholder)+'" value="'+(a.value||b.value)+'" />'};a=Object.assign(b,c,a);var d=a.callback;return a.callback=function(a){a=a[Object.keys(a)[0]],d(a)},this.open(a)}};return b.buttons={YES:{text:"OK",type:"submit",className:"vex-dialog-button-primary",click:function(){this.value=!0}},NO:{text:"Cancel",type:"button",className:"vex-dialog-button-secondary",click:function(){this.value=!1,this.close()}}},b.defaultOptions={callback:function(){},afterOpen:function(){},message:"",input:"",buttons:[b.buttons.YES,b.buttons.NO],showCloseButton:!1,onSubmit:function(a){return a.preventDefault(),this.options.input&&(this.value=e(this.form,{hash:!0})),this.close()},focusFirstInput:!0},b.defaultAlertOptions={message:"Alert",buttons:[b.buttons.YES]},b.defaultPromptOptions={label:"Prompt:",placeholder:"",value:""},b.defaultConfirmOptions={message:"Confirm"},b};b.exports=i},{domify:1,"form-serialize":2}]},{},[3])(3)});
{
"name": "vex-dialog",
"version": "1.0.0",
"version": "1.0.1",
"description": "A vex plugin for drop-in alert, confirm, and prompt dialogs",
"author": "Brendan Batliner <brendan@omnipointment.com>",
"license": "MIT",
"main": "dist/vex.dialog.min.js",
"main": "dist/vex.dialog.js",
"repository": {

@@ -13,10 +13,10 @@ "type": "git",

"dependencies": {
"domify": "^1.4.0",
"form-serialize": "latest"
"domify": "1.4.0",
"form-serialize": "0.7.1"
},
"devDependencies": {
"grunt": "latest",
"grunt-browserify": "latest",
"grunt-contrib-uglify": "latest",
"standard": "latest"
"grunt": "1.0.1",
"grunt-browserify": "5.0.0",
"grunt-contrib-uglify": "1.0.1",
"standard": "7.1.2"
},

@@ -23,0 +23,0 @@ "scripts": {

var domify = require('domify')
var serialize = require('form-serialize')
var buildDialogForm = function (options) {
// Build DOM elements for the structure of the dialog
var buildDialogForm = function buildDialogForm (options) {
var form = document.createElement('form')

@@ -22,3 +23,4 @@ form.classList.add('vex-dialog-form')

var buttonsToDOM = function (buttons) {
// Take an array of buttons (see the default buttons below) and turn them into DOM elements
var buttonsToDOM = function buttonsToDOM (buttons) {
var domButtons = document.createElement('div')

@@ -54,3 +56,4 @@ domButtons.classList.add('vex-dialog-buttons')

var escapeHtml = function (str) {
// Use the DOM's HTML parsing to escape any dangerous strings
var escapeHtml = function escapeHtml (str) {
if (typeof str !== 'undefined') {

@@ -65,3 +68,3 @@ var div = document.createElement('div')

var plugin = function (vex) {
var plugin = function plugin (vex) {
// Define the API first

@@ -73,3 +76,3 @@ var dialog = {

// Open
open: function (opts) {
open: function open (opts) {
var options = Object.assign({}, this.defaultOptions, opts)

@@ -91,9 +94,20 @@

// Quick comment - these options and appending buttons and everything
// would preferably be done _before_ opening the dialog. However, since
// they rely on the context of the vex instance, we have to do them
// after. A potential future fix would be to differentiate between
// a "created" vex instance and an "opened" vex instance, so any actions
// that rely on the specific context of the instance can do their stuff
// before opening the dialog on the page.
// Override the before close callback to also pass the value of the form
var beforeClose = options.beforeClose
dialogInstance.options.beforeClose = function () {
options.callback(this.value || false)
if (beforeClose) {
beforeClose.call(this)
dialogInstance.options.beforeClose = function dialogBeforeClose () {
// Only call the callback once - when the validation in beforeClose, if present, is true
var shouldClose = beforeClose ? beforeClose() : true
if (shouldClose) {
options.callback(this.value || false)
}
// Return the result of beforeClose() to vex
return shouldClose
}.bind(dialogInstance)

@@ -124,2 +138,3 @@

alert: function (options) {
// Allow string as message
if (typeof options === 'string') {

@@ -154,4 +169,6 @@ options = {

options = Object.assign(defaults, dynamicDefaults, options)
// Pluck the value of the "vex" input field as the return value for prompt's callback
// More closely mimics "window.prompt" in that a single string is returned
var callback = options.callback
options.callback = function (value) {
options.callback = function promptCallback (value) {
value = value[Object.keys(value)[0]]

@@ -170,3 +187,3 @@ callback(value)

className: 'vex-dialog-button-primary',
click: function () {
click: function yesClick () {
this.value = true

@@ -180,3 +197,3 @@ }

className: 'vex-dialog-button-secondary',
click: function () {
click: function noClick () {
this.value = false

@@ -198,3 +215,3 @@ this.close()

showCloseButton: false,
onSubmit: function (e) {
onSubmit: function onDialogSubmit (e) {
e.preventDefault()

@@ -201,0 +218,0 @@ if (this.options.input) {

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc