@nextgis/vuetify-notice
Version:
component to display quick message and dialog to a user
2 lines (1 loc) • 5.58 kB
JavaScript
import e from"@nextgis/cancelable-promise";import{VCard as t,VCardActions as n,VCardText as o,VDialog as r,VIcon as s,VToolbar as i,VToolbarTitle as a,VSpacer as u,VBtn as c,VSnackbar as l}from"vuetify/lib";function d(e,t,n,o,r,s,i,a,u,c){"boolean"!=typeof i&&(u=a,a=i,i=!1);const l="function"==typeof n?n.options:n;let d;if(e&&e.render&&(l.render=e.render,l.staticRenderFns=e.staticRenderFns,l._compiled=!0,r&&(l.functional=!0)),o&&(l._scopeId=o),s?(d=function(e){(e=e||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||"undefined"==typeof __VUE_SSR_CONTEXT__||(e=__VUE_SSR_CONTEXT__),t&&t.call(this,u(e)),e&&e._registeredComponents&&e._registeredComponents.add(s)},l._ssrRegister=d):t&&(d=i?function(e){t.call(this,c(e,this.$root.$options.shadowRoot))}:function(e){t.call(this,a(e))}),d)if(l.functional){const e=l.render;l.render=function(t,n){return d.call(n),e(t,n)}}else{const e=l.beforeCreate;l.beforeCreate=e?[].concat(e,d):[d]}return n}var f=d({render:function(){var e=this,t=e._self._c||e.$createElement;return t("v-dialog",{attrs:{eager:"",value:"true","max-width":e.width,persistent:e.persistent},on:{input:e.change,keydown:function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"esc",27,t.key,["Esc","Escape"])?null:e.choose(!1)}}},[t("v-card",{attrs:{tile:""}},[Boolean(e.title)?t("v-toolbar",{attrs:{color:e.color,dense:"",flat:""}},[Boolean(e.icon)?t("v-icon",{attrs:{left:""}},[e._v(e._s(e.icon))]):e._e(),e._v(" "),t("v-toolbar-title",{staticClass:"white--text",domProps:{textContent:e._s(e.title)}})],1):e._e(),e._v(" "),t("v-card-text",{staticClass:"body-1 text-body-1 py-3",domProps:{innerHTML:e._s(e.message)}}),e._v(" "),t("v-card-actions",[t("v-spacer"),e._v(" "),Boolean(e.buttonFalseText)?t("v-btn",{attrs:{text:"",color:e.buttonFalseColor,text:e.buttonFalseFlat},on:{click:function(t){return e.choose(!1)}}},[e._v("\n "+e._s(e.buttonFalseText)+"\n ")]):e._e(),e._v(" "),Boolean(e.buttonTrueText)?t("v-btn",{attrs:{color:e.buttonTrueColor,text:e.buttonTrueFlat},on:{click:function(t){return e.choose(!0)}}},[e._v("\n "+e._s(e.buttonTrueText)+"\n ")]):e._e()],1)],1)],1)},staticRenderFns:[]},undefined,{components:{VCard:t,VCardActions:n,VCardText:o,VDialog:r,VIcon:s,VToolbar:i,VToolbarTitle:a,VSpacer:u,VBtn:c},props:{buttonTrueText:{type:String,default:"Yes"},buttonFalseText:{type:String,default:"No"},buttonTrueColor:{type:String,default:"primary"},buttonFalseColor:{type:String,default:"primary"},buttonFalseFlat:{type:Boolean,default:!0},buttonTrueFlat:{type:Boolean,default:!1},color:{type:String,default:"warning"},icon:{type:String,default(){return this.$vuetify.icons.values.warning}},message:{type:String,required:!0},persistent:Boolean,title:{type:String},width:{type:Number,default:450}},data:()=>({value:!1}),mounted(){document.addEventListener("keyup",this.onEnterPressed)},destroyed(){document.removeEventListener("keyup",this.onEnterPressed)},methods:{onEnterPressed(e){13===e.keyCode&&(e.stopPropagation(),this.choose(!0))},choose(e){this.$emit("result",e),this.value=e,this.$destroy()},change(e){this.$destroy()}}},undefined,false,undefined,!1,void 0,void 0,void 0);var p=d({render:function(){var e=this,t=e._self._c||e.$createElement;return t("v-snackbar",{attrs:{timeout:e.timeout,color:e.color},scopedSlots:e._u([{key:"action",fn:function(n){return[e.dismissible?t("v-btn",e._b({attrs:{icon:""},on:{click:e.dismiss}},"v-btn",n.attrs,!1),[t("v-icon",[e._v(e._s(e.closeIcon))])],1):e._e()]}}]),model:{value:e.value,callback:function(t){e.value=t},expression:"value"}},[Boolean(e.icon)?t("v-icon",{attrs:{left:""}},[e._v("\n "+e._s(e.icon)+"\n ")]):e._e(),e._v("\n "+e._s(e.message)+"\n\n ")],1)},staticRenderFns:[]},undefined,{components:{VSnackbar:l,VIcon:s,VBtn:c},props:{color:{type:String,default:"warning"},icon:{type:String,default(){return this.$vuetify.icons.values.info}},closeIcon:{type:String,default(){return this.$vuetify.icons.values.close}},message:{type:String,required:!0},timeout:{type:Number,default:3e3},dismissible:{type:Boolean,default:!0}},data:()=>({value:!0}),mounted(){document.addEventListener("keyup",this.onEnterPressed)},destroyed(){document.removeEventListener("keyup",this.onEnterPressed)},methods:{onEnterPressed(e){13===e.keyCode&&(e.stopPropagation(),this.choose(!0))},dismiss(){this.dismissible&&(this.value=!1,this.$destroy())},change(e){this.$destroy()}}},undefined,false,undefined,!1,void 0,void 0,void 0);let v,y,m;let _,h;function b(t,n){_={...n};const o=_.vuetify;delete _.vuetify,o||console.warn("Module vuetify-notice needs vuetify instance. Use Vue.use(NoticeSetup, { vuetify })"),y=t.extend(Object.assign({vuetify:o},f)),m=t.extend(Object.assign({vuetify:o},p)),v=(t,n)=>{const o=document.querySelector("[data-app=true]")||document.body;return new e(((e,r,s)=>{const i=new t({propsData:Object.assign({},n),destroyed:()=>{o.removeChild(i.$el),e(i.value)}});s((()=>{i.$destroy()})),o.appendChild(i.$mount().$el)}))},t.prototype.$confirmDialog=C,t.prototype.$notice=x}function g(e){if(_){const t=_[e];if("function"==typeof t)return t();if("object"==typeof t)return t}return{}}function C(e,t={}){if("string"==typeof e?t.message=e:"object"==typeof e&&(t={...e,...t}),v)return v(y,{...t,...g("confirmDialog")});throw Error("CreateNotice is not installed yet")}function x(e,t={}){if("string"==typeof e?t.message=e:"object"==typeof e&&(t={...e,...t}),v)return h&&h.cancel(),h=v(m,{...t,...g("notice")}),h;throw Error("CreateNotice is not installed yet")}export{b as NoticeSetup,C as confirmDialog,x as notice};