{"version":3,"sources":["webpack:///./src/pages/forms/Form.vue?422a","webpack:///./src/helpers/JqFormToVueForm.js","webpack:///src/pages/forms/Form.vue","webpack:///./src/pages/forms/Form.vue?1f71","webpack:///./src/pages/forms/Form.vue"],"names":["render","_vm","this","_h","$createElement","_c","_self","attrs","_v","_s","formData","display_name","description","is_published","_e","$t","ref","on","submitForm","parsed","schema","model","options","formsubmission","saving","id","staticRenderFns","JqFormToVueForm","parsers","defaultParsers","parsed_schema","parseSchema","text","inputParser","hidden","hiddenParser","chkboxGroupParser","select","selectParserImproved","type","_groups","reduce","acc","field","groups","push","currentGroup","legend","label","fields","filter","group","length","map","parser","getParser","instance","name","value","autocomplete","inputType","subtype","required","get","placeholder","hint","values","selected","textOn","valueOn","textOff","valueOff","checkboxParser","selectOptions","trackBy","multiple","key","searchable","closeOnSelect","allowEmpty","hideSelected","component"],"mappings":"mHAAA,IAAIA,EAAS,WAAa,IAAIC,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,SAAS,CAACE,MAAM,CAAC,UAAU,KAAK,CAACF,EAAG,MAAM,CAACA,EAAG,gBAAgB,CAACA,EAAG,OAAO,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,SAASC,mBAAmBN,EAAG,cAAc,CAACA,EAAG,KAAK,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,SAASC,iBAAiBN,EAAG,IAAI,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,SAASE,kBAAkBP,EAAG,cAAc,CAAGJ,EAAIS,SAASG,aAA6GZ,EAAIa,KAAnGT,EAAG,MAAM,CAACJ,EAAIO,GAAG,qBAAqBP,EAAIQ,GAAGR,EAAIc,GAAG,uBAAuB,oBAA8Bd,EAAIS,SAAqB,aAAEL,EAAG,MAAM,CAACA,EAAG,OAAO,CAACW,IAAI,OAAOC,GAAG,CAAC,OAAShB,EAAIiB,aAAa,CAACb,EAAG,qBAAqB,CAACE,MAAM,CAAC,OAASN,EAAIkB,OAAOC,OAAO,MAAQnB,EAAIkB,OAAOE,MAAM,QAAUpB,EAAIkB,OAAOG,YAAY,GAAGjB,EAAG,QAAQ,CAACE,MAAM,CAAC,QAAU,UAAU,MAAQN,EAAIsB,eAAeC,QAAUvB,EAAIsB,eAAeE,IAAIR,GAAG,CAAC,MAAQhB,EAAIiB,aAAa,CAACjB,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIc,GAAG,yBAAyB,GAAGd,EAAIa,QAAQ,MAC33BY,EAAkB,G,0DCCDC,E,WAqBjB,WAAYP,GAAQ,uBAChBlB,KAAKkB,OAASA,EACdlB,KAAKmB,MAAQ,GACbnB,KAAK0B,QAAU1B,KAAK2B,iBACpB3B,KAAK4B,cAAgB5B,KAAK6B,c,gEAvB1B,MAAO,CACHC,KAAM9B,KAAK+B,YACXC,OAAQhC,KAAKiC,aAEb,iBAAkBjC,KAAKkC,kBACvBC,OAAQnC,KAAKoC,wB,mCAKjB,OAAOpC,KAAK0B,U,gCAGNW,GACN,OAAOrC,KAAK0B,QAAQW,IAAS,S,oDAa7B,IAAInB,EAASlB,KAAK4B,cAGlB,OAAOV,I,iCAIP,OAAOlB,KAAKmB,Q,oCAGF,WACNmB,EAAUtC,KAAKkB,OAAOqB,QACtB,SAACC,EAAKC,GAWF,MAVkB,UAAdA,EAAMJ,MACNG,EAAIE,OAAOC,KAAKH,EAAII,cACpBJ,EAAII,aAAe,CACfC,OAAQJ,EAAMK,MACdC,OAAQ,KAGZP,EAAII,aAAaG,OAAOJ,KAAKF,GAG1BD,IAEX,CAAEI,aAAc,CAAEC,OAAQ,GAAIE,OAAQ,IAAML,OAAQ,KAIxDJ,EAAQI,OAAOC,KAAKL,EAAQM,cAG5B,IAAIF,EAASJ,EAAQI,OAAOM,QAAO,SAAAC,GAC/B,OAAOA,EAAMF,OAAOG,OAAS,KAIjC,OAAOR,EAAOS,KAAI,SAAAF,GACd,IAAIF,EAASE,EAAMF,OACdI,KAAI,SAAAV,GACD,IAAIW,EAAS,EAAKC,UAAUZ,EAAMJ,MAElC,GAAKe,EAKL,OAAOA,EAAOX,EAAO,MAExBO,QAAO,SAAAP,GACJ,MAAwB,qBAAVA,KAEtB,MAAO,CACHI,OAAQI,EAAMJ,OACdE,OAAQA,Q,kCAmBRN,EAAOa,GAIf,OAFAA,EAASnC,MAAMsB,EAAMc,MAAQd,EAAMe,OAAS,GAErC,CACHnB,KAAM,QACNoB,cAAc,EACdC,UAAWjB,EAAMkB,SAAW,OAC5Bb,MAAOL,EAAMK,MACbc,SAAUC,iBAAIpB,EAAO,YAAY,GACjCqB,YAAarB,EAAMqB,aAAe,GAClCC,KAAMtB,EAAM/B,aAAe,GAC3BS,MAAOsB,EAAMc,Q,mCAIRd,EAAOa,GAGhB,OADAA,EAASnC,MAAMsB,EAAMc,MAAQd,EAAMe,OAAS,GACrC,CACHnB,KAAM,QACNqB,UAAW,SACXvC,MAAOsB,EAAMc,Q,qCAGNd,EAAOa,GAGlB,OAFAA,EAASnC,MAAMsB,EAAMc,MAAQd,EAAMuB,OAAO,GAAGC,UAAY,KAElD,CACH5B,KAAM,SACNS,MAAOL,EAAMK,MAAQ,IAAML,EAAMuB,OAAO,GAAGlB,MAAQ,IACnD3B,MAAOsB,EAAMc,KACbW,OAAQ,MACRC,QAAS1B,EAAMuB,OAAO,GAAGR,MACzBY,QAAS,MACTC,SAAU,Q,wCAGA5B,EAAOa,GAErB,GAA2B,GAAvBb,EAAMuB,OAAOd,OACb,OAAOI,EAASgB,eAAe7B,EAAOa,GAI1CA,EAASnC,MAAMsB,EAAMc,MAAQ,GAC7B,IAAIS,EAASvB,EAAMuB,OAAOb,KAAI,SAAAK,GAC1B,MAAO,CACHD,KAAMC,EAAMV,MACZU,MAAOA,EAAMA,UAIrB,MAAO,CACHnB,KAAM,iBACNyB,YAAarB,EAAM/B,YACnBoC,MAAOL,EAAMK,MACb3B,MAAOsB,EAAMc,KACbS,OAAQA,EACRO,cAAe,CACXC,QAAS,QACTC,UAAU,EACVC,IAAK,QACL5B,MAAO,OACP6B,WAAYlC,EAAMuB,OAAOd,OAAS,GAClC0B,eAAe,EACfC,YAAY,EACZC,cAAc,M,2CAKLrC,EAAOa,GACxBA,EAASnC,MAAMsB,EAAMc,MAAQ,GAC7B,IAAIS,EAASvB,EAAMuB,OAAOb,KAAI,SAAAK,GAC1B,MAAO,CACHD,KAAMC,EAAMV,MACZU,MAAOA,EAAMA,UAIjBiB,EAAqC,qBAAnBhC,EAAMgC,SAE5B,MAAO,CACHpC,KAAM,iBACNyB,YAAarB,EAAM/B,YACnBoC,MAAOL,EAAMK,MACb3B,MAAOsB,EAAMc,KACbK,SAAUC,iBAAIpB,EAAO,YAAY,GACjCuB,OAAQA,EACRO,cAAe,CACXC,QAAS,QACTC,SAAUA,EACVC,IAAK,QACL5B,MAAO,OACP6B,WAAYlC,EAAMuB,OAAOd,OAAS,GAClC0B,eAAgBH,EAChBI,YAAY,Q,iBC/J5B,GACE,MAAF,CACI,OAAJ,CACM,QAAN,IAEI,SAAJ,CACM,KAAN,SAGE,WAAF,GAEE,KAXF,WAYI,MAAJ,CACM,eAAN,WACM,UAAN,EACM,OAAN,CACQ,QAAR,CACU,sBAAV,EACU,mBAAV,MAME,QAxBF,WAwBI,IAAJ,OACI,KAAJ,cACI,KAAJ,iDAEI,KAAJ,qCACM,EAAN,qBAIE,QAAF,CACI,WADJ,WAEM,IAAN,gDAGM,IAAN,mBAEQ,OADA,KAAR,6BACA,EAGM,KAAN,4BACM,KAAN,+CACM,KAAN,6BACM,KAAN,eACA,OACA,mDAGI,kBAlBJ,WAmBM,KAAN,eAGI,gBAtBJ,aA0BI,YA1BJ,WA2BM,IAAN,wCACA,WAEM,KAAN,QACQ,MAAR,aACQ,OAAR,CACU,OAAV,iBAKI,YAtCJ,WAuCM,QAAN,qCAIA,kCAIE,SAAF,CACI,UADJ,WAEM,OAAN,kBAGI,OALJ,WAMM,OAAN,uCAGI,aATJ,WAUM,OAAN,gDAME,MAAF,CACI,OADJ,WAEM,KAAN,iBC5I6V,I,YCOzVE,EAAY,eACd,EACAjF,EACA0B,GACA,EACA,KACA,KACA,MAIa,aAAAuD,E","file":"js/forms-Form.d7c2f616.js","sourcesContent":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-card',{attrs:{\"no-body\":\"\"}},[_c('div',[_c('b-card-header',[_c('span',[_vm._v(_vm._s(_vm.formData.display_name))])]),_c('b-card-body',[_c('h1',[_vm._v(_vm._s(_vm.formData.display_name))]),_c('p',[_vm._v(_vm._s(_vm.formData.description))])]),_c('b-card-body',[(!_vm.formData.is_published)?_c('div',[_vm._v(\"\\n \"+_vm._s(_vm.$t('text.Form_notready'))+\"\\n \")]):_vm._e(),(_vm.formData.is_published)?_c('div',[_c('form',{ref:\"form\",on:{\"submit\":_vm.submitForm}},[_c('vue-form-generator',{attrs:{\"schema\":_vm.parsed.schema,\"model\":_vm.parsed.model,\"options\":_vm.parsed.options}})],1),_c('b-btn',{attrs:{\"variant\":\"primary\",\"click\":_vm.formsubmission.saving || _vm.formsubmission.id},on:{\"click\":_vm.submitForm}},[_vm._v(_vm._s(_vm.$t('label.submitForm')))])],1):_vm._e()])],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { get } from 'lodash'\n\nexport default class JqFormToVueForm {\n defaultParsers() {\n return {\n text: this.inputParser,\n hidden: this.hiddenParser,\n //select: this.selectParser,\n 'checkbox-group': this.chkboxGroupParser,\n select: this.selectParserImproved,\n }\n }\n\n getParsers() {\n return this.parsers\n }\n\n getParser(type) {\n return this.parsers[type] || null\n }\n\n // setParser(type, parser) {}\n\n constructor(schema) {\n this.schema = schema\n this.model = {}\n this.parsers = this.defaultParsers()\n this.parsed_schema = this.parseSchema()\n }\n\n getSchema() {\n let schema = this.parsed_schema\n //schema[schema.length-1].fields.push(this.getSubmit())\n\n return schema //.reduce((acc, val) => acc.concat(val), [])\n }\n\n getModel() {\n return this.model\n }\n\n parseSchema() {\n let _groups = this.schema.reduce(\n (acc, field) => {\n if (field.type == 'header') {\n acc.groups.push(acc.currentGroup)\n acc.currentGroup = {\n legend: field.label,\n fields: [],\n }\n } else {\n acc.currentGroup.fields.push(field)\n }\n\n return acc\n },\n { currentGroup: { legend: '', fields: [] }, groups: [] }\n )\n\n // Push Last group into 'groups'\n _groups.groups.push(_groups.currentGroup)\n\n // Filter out any groups that don't have any fields\n let groups = _groups.groups.filter(group => {\n return group.fields.length > 0 ? true : false\n })\n\n // Parse groupfields\n return groups.map(group => {\n let fields = group.fields\n .map(field => {\n let parser = this.getParser(field.type)\n\n if (!parser) {\n //// console.log('Missing parser', field)\n return\n }\n\n return parser(field, this)\n })\n .filter(field => {\n return typeof field !== 'undefined'\n })\n return {\n legend: group.legend,\n fields: fields,\n }\n })\n\n /*return this.schema.map( (field) => {\n\t\t\t\tlet parser = this.getParser(field.type)\n\n\t\t\t\tif(!parser){\n\t\t\t\t\t//// console.log('Missing parser', field)\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\treturn parser(field, this)\n\t\t\t})\n\t\t\t.filter( (field) => {\n\t\t\t\treturn typeof field !== 'undefined'\n\t\t\t})*/\n }\n\n inputParser(field, instance) {\n //// console.log('hiddenParser', instance)\n instance.model[field.name] = field.value || ''\n // console.log('REQUIRED', field)\n return {\n type: 'input',\n autocomplete: false,\n inputType: field.subtype || 'text',\n label: field.label,\n required: get(field, 'required', false), //field.required || false,\n placeholder: field.placeholder || '',\n hint: field.description || '',\n model: field.name,\n }\n }\n\n hiddenParser(field, instance) {\n //// console.log('hiddenParser', instance)\n instance.model[field.name] = field.value || ''\n return {\n type: 'input',\n inputType: 'hidden',\n model: field.name,\n }\n }\n checkboxParser(field, instance) {\n instance.model[field.name] = field.values[0].selected || null\n // console.log('checkboxParser', field)\n return {\n type: 'switch',\n label: field.label + '(' + field.values[0].label + ')',\n model: field.name,\n textOn: 'xxx',\n valueOn: field.values[0].value,\n textOff: 'yyy',\n valueOff: null,\n }\n }\n chkboxGroupParser(field, instance) {\n // Redirect to checkbox if there only is 1 value\n if (field.values.length == 1) {\n return instance.checkboxParser(field, instance)\n }\n\n // console.log('checkbox-group', field)\n instance.model[field.name] = []\n let values = field.values.map(value => {\n return {\n name: value.label,\n value: value.value,\n }\n })\n\n return {\n type: 'vueMultiSelect',\n placeholder: field.description,\n label: field.label,\n model: field.name,\n values: values,\n selectOptions: {\n trackBy: 'value',\n multiple: true,\n key: 'value',\n label: 'name',\n searchable: field.values.length > 10 ? true : false,\n closeOnSelect: false,\n allowEmpty: true,\n hideSelected: true,\n },\n }\n }\n\n selectParserImproved(field, instance) {\n instance.model[field.name] = []\n let values = field.values.map(value => {\n return {\n name: value.label,\n value: value.value,\n }\n })\n\n let multiple = typeof field.multiple !== 'undefined' ? true : false\n\n return {\n type: 'vueMultiSelect',\n placeholder: field.description,\n label: field.label,\n model: field.name,\n required: get(field, 'required', false), // field.required || false,\n values: values,\n selectOptions: {\n trackBy: 'value',\n multiple: multiple,\n key: 'value',\n label: 'name',\n searchable: field.values.length > 10 ? true : false,\n closeOnSelect: !multiple,\n allowEmpty: true,\n },\n }\n }\n}\n","\n \n \n \n {{ formData.display_name }}\n \n \n \n {{ formData.display_name }}\n {{ formData.description }}\n \n \n \n {{ $t('text.Form_notready') }}\n \n\n \n \n \n \n {{ $t('label.submitForm') }}\n \n \n \n \n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Form.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Form.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Form.vue?vue&type=template&id=5a71bf8d&\"\nimport script from \"./Form.vue?vue&type=script&lang=js&\"\nexport * from \"./Form.vue?vue&type=script&lang=js&\"\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":""}
{{ formData.description }}