{"version":3,"sources":["webpack:///./src/modules/admin/components/globals/dialogs/DialogChangeUserPassword.vue","webpack:///./src/modules/admin/components/globals/dialogs/DialogChangeUserPassword.vue?66ed","webpack:///./src/modules/admin/components/globals/dialogs/DialogChangeUserPassword.vue?24a4","webpack:///./src/modules/admin/components/globals/dialogs/DialogChangeUserPassword.vue?c668"],"names":["render","_vm","this","_c","_self","_setupProxy","directives","name","rawName","value","generatePassword","expression","attrs","dialog","isOpen","scopedSlots","_u","key","fn","_v","_s","$translator","language","data","modules","admin","userList","dialogueChangePassword","title","proxy","ref","show1","newPassword","hint","on","$event","copyToClipboard","model","callback","$$v","ticks","length","strengthLevel","close","staticClass","isValidPassword","changePassword","validate","staticRenderFns","mixins","adminMixin","extend","props","type","Openable","required","userId","Number","validPassword","poor","fair","good","excellent","components","DialogTemplate","methods","navigator","clipboard","writeText","$e","$refs","passwordToCopy","$el","querySelector","select","document","execCommand","_this$changeUserPassw","changeUserPassword","then","$iD3iNotify","success","global","notify","generatedPassword","charactersArray","split","CharacterSet","password","size","indexOf","i","charAt","Math","floor","random","component"],"mappings":"yHAAA,IAAIA,EAAS,WAAkB,IAAIC,EAAIC,KAAKC,EAAGF,EAAIG,MAAMD,GAAUF,EAAIG,MAAMC,YAAY,OAAOF,EAAG,iBAAiB,CAACG,WAAW,CAAC,CAACC,KAAK,OAAOC,QAAQ,SAASC,MAAOR,EAAIS,mBAAoBC,WAAW,uBAAuBC,MAAM,CAAC,MAAQX,EAAIY,OAAOC,OAAO,KAAO,KAAKC,YAAYd,EAAIe,GAAG,CAAC,CAACC,IAAI,cAAcC,GAAG,WAAW,MAAO,CAACf,EAAG,QAAQ,CAACA,EAAG,KAAK,CAACF,EAAIkB,GAAG,IAAIlB,EAAImB,GAAGnB,EAAIoB,YAAYC,SAASC,KAAKC,QAAQC,MAAMC,SAAUC,uBAAuBC,OAAO,WAAWC,OAAM,GAAM,CAACZ,IAAI,aAAaC,GAAG,WAAW,MAAO,CAACf,EAAG,eAAe,CAAC2B,IAAI,iBAAiBlB,MAAM,CAAC,cAAcX,EAAI8B,MAAQ,UAAY,cAAc,KAAO9B,EAAI8B,MAAQ,OAAS,WAAW,KAAO,aAAa,MAAQ9B,EAAIoB,YAAYC,SAASC,KAAKC,QAAQC,MAAMC,SAC3sBC,uBAAuBK,YAAY,KAAO/B,EAAIoB,YAAYC,SAASC,KAAKC,QAAQC,MAAMC,SACtFC,uBAAuBM,KAAK,QAAU,GAAG,oBAAoB,kCAAkCC,GAAG,CAAC,eAAe,SAASC,GAAQlC,EAAI8B,OAAS9B,EAAI8B,OAAO,qBAAqB,SAASI,GAAQ,OAAOlC,EAAImC,oBAAoBrB,YAAYd,EAAIe,GAAG,CAAC,CAACC,IAAI,QAAQC,GAAG,WAAW,MAAO,CAACjB,EAAIkB,GAAG,IAAIlB,EAAImB,GAAGnB,EAAIoB,YAAYC,SAASC,KAAKC,QAAQC,MAAMC,SAAUC,uBAAuBK,aAAa,OAAOH,OAAM,KAAQQ,MAAM,CAAC5B,MAAOR,EAAI+B,YAAaM,SAAS,SAAUC,GAAMtC,EAAI+B,YAAYO,GAAK5B,WAAW,iBAAiBR,EAAG,WAAW,CAACS,MAAM,CAAC,IAAMX,EAAIuC,MAAMC,OAAS,EAAE,KAAO,IAAI,cAAcxC,EAAIuC,MAAM,YAAY,IAAI,MAAQ,UAAUN,GAAG,CAAC,OAAS,SAASC,GAAQ,OAAOlC,EAAIS,qBAAqB2B,MAAM,CAAC5B,MAAOR,EAAIyC,cAAeJ,SAAS,SAAUC,GAAMtC,EAAIyC,cAAcH,GAAK5B,WAAW,qBAAqBkB,OAAM,GAAM,CAACZ,IAAI,gBAAgBC,GAAG,WAAW,MAAO,CAACf,EAAG,QAAQ,CAACA,EAAG,QAAQ,CAACS,MAAM,CAAC,MAAQ,GAAG,KAAO,GAAG,SAAW,GAAG,UAAY,KAAKsB,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOlC,EAAIY,OAAO8B,WAAW,CAACxC,EAAG,SAAS,CAACyC,YAAY,QAAQ,CAAC3C,EAAIkB,GAAG,8BAA8BlB,EAAIkB,GAAG,IAAIlB,EAAImB,GAAGnB,EAAIoB,YAAYC,SAASC,KAAKC,QAAQC,MAAMC,SAAUC,uBAAuBgB,OAAO,MAAM,IAAI,GAAGxC,EAAG,QAAQ,CAACA,EAAG,QAAQ,CAACyC,YAAY,OAAOhC,MAAM,CAAC,MAAQ,GAAG,UAAY,IAAI,MAAQ,OAAO,SAAW,GAAG,KAAO,GAAG,UAAYX,EAAI4C,mBAAmBX,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOlC,EAAI6C,oBAAoB,CAAC3C,EAAG,SAAS,CAACyC,YAAY,QAAQ,CAAC3C,EAAIkB,GAAG,8BAA8BlB,EAAIkB,GAAG,IAAIlB,EAAImB,GAAGnB,EAAIoB,YAAYC,SAASC,KAAKC,QAAQC,MAAMC,SAAUC,uBAAuBoB,UAAU,MAAM,IAAI,KAAKlB,OAAM,QAErkDmB,EAAkB,G,oCCCPC,iBAAOC,QAAYC,OAAO,CACvCC,MAAO,CACLvC,OAAQ,CAAEwC,KAAMC,OAAUC,UAAU,GACpCC,OAAQ,CAAEH,KAAMI,OAAQF,UAAU,IAEpChC,OACE,MAAO,CACLmC,eAAe,EACf3B,OAAO,EACPW,cAAe,EACfF,MAAO,CACLtC,KAAKmB,YAAYC,SAASC,KAAKC,QAAQC,MAAMC,SAC1CC,uBAAuBa,MAAMmB,KAChCzD,KAAKmB,YAAYC,SAASC,KAAKC,QAAQC,MAAMC,SAC1CC,uBAAuBa,MAAMoB,KAChC1D,KAAKmB,YAAYC,SAASC,KAAKC,QAAQC,MAAMC,SAC1CC,uBAAuBa,MAAMqB,KAChC3D,KAAKmB,YAAYC,SAASC,KAAKC,QAAQC,MAAMC,SAC1CC,uBAAuBa,MAAMsB,WAElC9B,YAAa,KAIjB+B,WAAY,CACVC,eAAgBA,IAAM,iDAGxBC,QAAS,CACP,wBACE,UACQC,UAAUC,UAAUC,UAAUlE,KAAK8B,aACzC,MAAOqC,GACLnE,KAAKoE,MAAcC,eAAeC,IAAIC,cAAc,SAASC,SAC/DC,SAASC,YAAY,UAUzB/B,kBAEE,OAAO3C,KAAK8B,YAAYS,OAAS,GAEnCK,iBAAc,IAAA+B,EAC0C,QAAtDA,EAAA3E,KAAK4E,mBAAmB5E,KAAKsD,OAAQtD,KAAK8B,oBAAY,IAAA6C,GAAtDA,EACIE,KAAK,IACL7E,KAAK8E,YAAYC,QACf/E,KAAKmB,YAAYC,SAASC,KAAK2D,OAAOC,OAAOF,UAGhDF,KAAK,IAAM7E,KAAKW,OAAO8B,UAE5ByC,oBACE,IAAIC,EAAkB,MAAMC,MAAM,KAC9BC,EAAe,GACfC,EAAW,GACXC,EAAO,EAEX,OAAQvF,KAAKwC,eACX,KAAK,EACH+C,EAAO,GACPJ,EAAkB,UAAUC,MAAM,KAClC,MACF,KAAK,EACHG,EAAO,GACPJ,EAAkB,cAAcC,MAAM,KACtC,MACF,KAAK,EACHG,EAAO,GACPJ,EAAkB,gBAAgBC,MAAM,KACxC,MACF,KAAK,EACHG,EAAO,GACPJ,EAAkB,gBAAgBC,MAAM,KACxC,MAEAD,EAAgBK,QAAQ,QAAU,IACpCH,GAAgB,8BAEdF,EAAgBK,QAAQ,QAAU,IACpCH,GAAgB,8BAGdF,EAAgBK,QAAQ,QAAU,IACpCH,GAAgB,cAEdF,EAAgBK,QAAQ,MAAQ,IAClCH,GAAgB,sBAElB,IAAK,IAAII,EAAI,EAAGA,EAAIF,EAAME,IACxBH,GAAYD,EAAaK,OACvBC,KAAKC,MAAMD,KAAKE,SAAWR,EAAa9C,SAI5C,OAAO+C,GAET9E,mBAIER,KAAK8B,YAAc9B,KAAKkF,wBC/G6b,I,YCOvdY,EAAY,eACd,EACAhG,EACAgD,GACA,EACA,KACA,KACA,MAIa,aAAAgD,E","file":"js/chunk-2d0cbe74.6fd74e25.js","sourcesContent":["var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('DialogTemplate',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.generatePassword()),expression:\"generatePassword()\"}],attrs:{\"model\":_vm.dialog.isOpen,\"size\":350},scopedSlots:_vm._u([{key:\"dialogTitle\",fn:function(){return [_c('v-col',[_c('h1',[_vm._v(\" \"+_vm._s(_vm.$translator.language.data.modules.admin.userList .dialogueChangePassword.title)+\" \")])])]},proxy:true},{key:\"dialogText\",fn:function(){return [_c('v-text-field',{ref:\"passwordToCopy\",attrs:{\"append-icon\":_vm.show1 ? 'mdi-eye' : 'mdi-eye-off',\"type\":_vm.show1 ? 'text' : 'password',\"name\":\"input-10-1\",\"label\":_vm.$translator.language.data.modules.admin.userList\n .dialogueChangePassword.newPassword,\"hint\":_vm.$translator.language.data.modules.admin.userList\n .dialogueChangePassword.hint,\"counter\":\"\",\"append-outer-icon\":\"mdi-clipboard-arrow-up-outline\"},on:{\"click:append\":function($event){_vm.show1 = !_vm.show1},\"click:append-outer\":function($event){return _vm.copyToClipboard()}},scopedSlots:_vm._u([{key:\"label\",fn:function(){return [_vm._v(\" \"+_vm._s(_vm.$translator.language.data.modules.admin.userList .dialogueChangePassword.newPassword)+\" \")]},proxy:true}]),model:{value:(_vm.newPassword),callback:function ($$v) {_vm.newPassword=$$v},expression:\"newPassword\"}}),_c('v-slider',{attrs:{\"max\":_vm.ticks.length - 1,\"step\":\"1\",\"tick-labels\":_vm.ticks,\"tick-size\":\"1\",\"ticks\":\"always\"},on:{\"change\":function($event){return _vm.generatePassword()}},model:{value:(_vm.strengthLevel),callback:function ($$v) {_vm.strengthLevel=$$v},expression:\"strengthLevel\"}})]},proxy:true},{key:\"dialogActions\",fn:function(){return [_c('v-col',[_c('v-btn',{attrs:{\"block\":\"\",\"tile\":\"\",\"outlined\":\"\",\"elevation\":\"0\"},on:{\"click\":function($event){return _vm.dialog.close()}}},[_c('v-icon',{staticClass:\"mr-5\"},[_vm._v(\"mdi-close-circle-outline\")]),_vm._v(\" \"+_vm._s(_vm.$translator.language.data.modules.admin.userList .dialogueChangePassword.close)+\" \")],1)],1),_c('v-col',[_c('v-btn',{staticClass:\"mr-5\",attrs:{\"block\":\"\",\"elevation\":\"0\",\"color\":\"blue\",\"outlined\":\"\",\"tile\":\"\",\"disabled\":!_vm.isValidPassword()},on:{\"click\":function($event){return _vm.changePassword()}}},[_c('v-icon',{staticClass:\"mr-5\"},[_vm._v(\"mdi-check-circle-outline\")]),_vm._v(\" \"+_vm._s(_vm.$translator.language.data.modules.admin.userList .dialogueChangePassword.validate)+\" \")],1)],1)]},proxy:true}])})\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\nimport mixins from 'vue-typed-mixins'\r\nimport Openable from '@/global/viewmodels/openable'\r\nimport adminMixin from '../../../adminMixin'\r\n\r\nexport default mixins(adminMixin).extend({\r\n props: {\r\n dialog: { type: Openable, required: true },\r\n userId: { type: Number, required: true }\r\n },\r\n data() {\r\n return {\r\n validPassword: false,\r\n show1: false,\r\n strengthLevel: 3,\r\n ticks: [\r\n this.$translator.language.data.modules.admin.userList\r\n .dialogueChangePassword.ticks.poor,\r\n this.$translator.language.data.modules.admin.userList\r\n .dialogueChangePassword.ticks.fair,\r\n this.$translator.language.data.modules.admin.userList\r\n .dialogueChangePassword.ticks.good,\r\n this.$translator.language.data.modules.admin.userList\r\n .dialogueChangePassword.ticks.excellent\r\n ],\r\n newPassword: ''\r\n }\r\n },\r\n\r\n components: {\r\n DialogTemplate: () => import('@/global/templates/dialogTemplate.vue')\r\n },\r\n\r\n methods: {\r\n async copyToClipboard() {\r\n try {\r\n await navigator.clipboard.writeText(this.newPassword)\r\n } catch ($e) {\r\n ;(this.$refs as any).passwordToCopy.$el.querySelector('input').select()\r\n document.execCommand('copy')\r\n }\r\n //let show2=this.show1\r\n //this.show1 = true\r\n\r\n /** [VL] je suis pas particulièrement fan de cette syntaxe mais au moins ca évite les erreurs */\r\n //;(this.$refs as any).passwordToCopy.$el.querySelector('input').select()\r\n //document.execCommand('copy')\r\n //this.show1 = show2\r\n },\r\n isValidPassword() {\r\n /** [VL] Tu peux voir ou est implémenté le \"validationMixin\" tu as un exemple pour voir la validation d'un champ de mot de passe */\r\n return this.newPassword.length > 8\r\n },\r\n changePassword() {\r\n this.changeUserPassword(this.userId, this.newPassword)\r\n ?.then(() =>\r\n this.$iD3iNotify.success(\r\n this.$translator.language.data.global.notify.success\r\n )\r\n )\r\n .then(() => this.dialog.close())\r\n },\r\n generatedPassword() {\r\n let charactersArray = 'a-z'.split(',')\r\n let CharacterSet = ''\r\n let password = ''\r\n let size = 8\r\n\r\n switch (this.strengthLevel) {\r\n case 0:\r\n size = 10\r\n charactersArray = 'a-z,A-Z'.split(',')\r\n break\r\n case 1:\r\n size = 12\r\n charactersArray = 'a-z,A-Z,0-9'.split(',')\r\n break\r\n case 2:\r\n size = 14\r\n charactersArray = 'a-z,A-Z,0-9,#'.split(',')\r\n break\r\n case 3:\r\n size = 16\r\n charactersArray = 'a-z,A-Z,0-9,#'.split(',')\r\n break\r\n }\r\n if (charactersArray.indexOf('a-z') >= 0) {\r\n CharacterSet += 'abcdefghijklmnopqrstuvwxyz'\r\n }\r\n if (charactersArray.indexOf('A-Z') >= 0) {\r\n CharacterSet += 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'\r\n }\r\n\r\n if (charactersArray.indexOf('0-9') >= 0) {\r\n CharacterSet += '0123456789'\r\n }\r\n if (charactersArray.indexOf('#') >= 0) {\r\n CharacterSet += '![]{}()%&*$#^<>~@|'\r\n }\r\n for (let i = 0; i < size; i++) {\r\n password += CharacterSet.charAt(\r\n Math.floor(Math.random() * CharacterSet.length)\r\n )\r\n }\r\n\r\n return password\r\n },\r\n generatePassword() {\r\n /** [VL] Je ne sais pas ce que tu veux faire avec ca mais pour fermer ta dialog tu as juste besoin de faire un : this.dialog.close()\r\n * Si jamais tu veux bien m'expliquer, je suis plutot curieux sur la chose =D\r\n */\r\n this.newPassword = this.generatedPassword()\r\n }\r\n }\r\n})\r\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DialogChangeUserPassword.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DialogChangeUserPassword.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./DialogChangeUserPassword.vue?vue&type=template&id=7810c6b6&\"\nimport script from \"./DialogChangeUserPassword.vue?vue&type=script&lang=ts&\"\nexport * from \"./DialogChangeUserPassword.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports"],"sourceRoot":""}