directus-extension-encrypt-attr
Version:
Please enter a description for your extension
2 lines (1 loc) • 1.61 kB
JavaScript
import{defineInterface as e}from"@directus/extensions-sdk";import{ref as n,resolveComponent as t,openBlock as i,createElementBlock as l,Fragment as o,createVNode as a,withCtx as r,createTextVNode as d,toDisplayString as u}from"vue";const p=[e({id:"encrypted-input",name:"Encryption Input",icon:"lock",description:"This is an input for data encryption ",component:((e,n)=>{const t=e.__vccOpts||e;for(const[e,i]of n)t[e]=i;return t})({props:{value:{type:String,default:null},collection:{type:String,default:null},field:{type:String,default:null},primaryKey:{type:String,default:null}},emits:["input"],setup(e,{emit:t}){const i=n(!0);return{hidden:i,onTypeChange:function(){i.value=!i.value},handleChange:function(e){t("input",e)}}}},[["render",function(e,n,p,s,c,f){const y=t("VInput"),m=t("VIcon"),g=t("VButton");return i(),l(o,null,[a(y,{"model-value":p.value,placeholder:"encrypted input",type:s.hidden?"password":"text",onChange:n[0]||(n[0]=e=>s.handleChange(e.target.value)),suffix:s.hidden?"masked":"visible"},null,8,["model-value","type","suffix"]),a(g,{style:{"margin-top":"5px"},onClick:n[1]||(n[1]=e=>s.onTypeChange()),xSmall:!0,outlined:!0,danger:s.hidden},{default:r((()=>[a(m,{name:s.hidden?"visibility_off":"visibility",style:{"margin-right":"5px"}},null,8,["name"]),d(" "+u(s.hidden?"Show Data":"Hide Data"),1)])),_:1},8,["danger"])],64)}],["__file","interface.vue"]]),options:null,group:"standard",types:["string"],recommendedDisplays:["encrypted-string"]})],s=[],c=[],f=[],y=[],m=[],g=[];export{s as displays,p as interfaces,c as layouts,f as modules,g as operations,y as panels,m as themes};