{"version":3,"sources":["project.combined.js"],"names":["document","getElementById","Vue","el","data","errors","firstName","lastName","email","password","confirm","watch","newVal","validateEmpty","validateEmail","validatePassword","validateConfirm","methods","checkForm","e","join","length","preventDefault","field","value","message","re","result","test","String","toLowerCase","title","type","year","url","validateTitle","validateType","validateYear","submit","common","post","Title","Type","Year","then","window","location","href","catch","response","error","parseInt","beforeMount","id","$el","querySelector","delete","put","Id","console","components","tableComponent","options","endpoint","dataset","actions","details","enabled","edit","remove","hide","key","ribbon","icon","mounted","isEmpty","get","source","galleryPickerComponent","imageUrl","link","school","urlRegex","validateImageUrl","validateLink","validateSchool","School","Link","ImageUrl","match","name","token","loading","validateName","validateMessage","validateToken","clearErrors","resetForm","grecaptcha","enterprise","reset","Email","Name","Message","Token","$toast","success","finally","$","rescaleCaptcha","width","parent","scale","css","resize","vuejsDatepicker","company","dateFormat","description","jobEnd","jobStart","validateCompany","validateDescription","validateJobEnd","validateJobStart","Company","Description","JobEnd","JobStart","validateDateMatch","validateDates","Date","parse","bio","contactImage","cvLink","githubLink","landingImage","linkedInLink","phoneNumberValue","replace","numberRegex","split","profile","skillsImage","phoneNumber","userInfoUrl","configUrl","passwordChangeUrl","loadingUserInfo","loadingPasswordChange","loadingSiteConfig","oldPassword","newPassword","confirmPassword","getProfilePic","submitUserInfo","FirstName","LastName","PhoneNumber","Bio","log","submitPasswordChange","OldPassword","NewPassword","clearPasswordForm","submitSiteConfiguration","LandingImage","SkillImage","ContactImage","GithubLink","LinkedInLink","CVLink","format","keyCode","pop","push","storageBarComponent","apexBarChart","categories","groupsCount","hiddenData","imagesCount","max","series","showHidden","used","fillStorageBar","maxValue","groups","reduce","_total","current","size","fillDisplay","count","fillChart","seriesData","forEach","group","load","filter","confirmationComponent","invalidRegex","nameRegex","normalizedName","NormalizedName","normalize","trim","showKey","uploadComponent","url_groups","selected","file","extRegex","validateFile","validateGroup","fd","FormData","append","getType","postMultiPart","getGroup","val","slice","newFile","galleryComponent","grouping","entity","proficiency","validateProficiency","Proficiency","sidebar","toggleSideBar","toggleClass","localStorage","blogcore_sidebar"],"mappings":"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","sourcesContent":["if (document.getElementById('registration-form') !== null) {\n new Vue({\n el: '#registration-form',\n data: function () {\n return {\n errors: ['', '', '', '', ''],\n firstName: '',\n lastName: '',\n email: '',\n password: '',\n confirm: ''\n\n };\n },\n watch: {\n firstName: function (newVal) {\n this.errors[0] = this.validateEmpty('First name', newVal);\n },\n lastName: function (newVal) {\n this.errors[1] = this.validateEmpty('Last name', newVal);\n },\n email: function (newVal) {\n this.errors[2] = this.validateEmail(newVal);\n },\n password: function (newVal) {\n this.errors[3] = this.validatePassword(newVal);\n this.errors[4] = this.validateConfirm();\n },\n confirm: function (newVal) {\n this.errors[4] = this.validateConfirm(newVal);\n }\n },\n methods: {\n checkForm: function (e) {\n return this.errors.join('').length > 0 ? e.preventDefault() : true;\n },\n validateEmpty(field, value) {\n let message = '';\n if (value.length === 0) {\n message = `${field} is required.`;\n }\n return message;\n },\n validateEmail(value) {\n const re = /^(([^<>()[\\]\\\\.,;:\\s@\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/;\n let result = re.test(String(value).toLowerCase());\n let message = '';\n if (!result) {\n message = 'Please enter a valid email.';\n }\n return message;\n },\n validatePassword(value) {\n let message = '';\n if (value.length < 6) {\n message = 'Password must be at least 6 characters.';\n }\n return message;\n },\n validateConfirm(value = this.confirm) {\n let message = '';\n if (value !== this.password) {\n message = \"The password doesn't match.\";\n }\n return message;\n }\n }\n });\n}\nif (document.getElementById('achievement-create-form') !== null) {\n new Vue({\n el: '#achievement-create-form',\n data: function () {\n return {\n errors: {\n result: null,\n title: null,\n type: null,\n year: null\n },\n title: '',\n type: 'Award',\n url: '/api/Achievement',\n year: '2000'\n };\n },\n methods: {\n checkForm() {\n const title = this.validateTitle();\n const type = this.validateType();\n const year = this.validateYear();\n return title && type && year;\n },\n submit() {\n if (this.checkForm()) {\n common.post(this.url, { Title: this.title, Type: this.type, Year: this.year })\n .then(() => window.location.href = \"Index\")\n .catch(response => this.errors.result = response.error.message);\n }\n },\n validateTitle() {\n if (this.title.length > 0) {\n this.errors.title = null;\n return true;\n }\n this.errors.title = \"Title is required\";\n return false;\n },\n validateType() {\n if (this.type.length > 0) {\n this.errors.type = null;\n return true;\n }\n this.errors.type = \"Type is required\";\n return false;\n },\n validateYear() {\n if (parseInt(this.year)) {\n this.errors.year = null;\n return true;\n }\n this.errors.year = \"Year must be a number.\";\n return false;\n }\n },\n watch: {\n title: 'validateTitle',\n type: 'validateType',\n year: 'validateYear'\n }\n });\n}\nif (document.getElementById('achievement-delete-form') !== null) {\n new Vue({\n el: '#achievement-delete-form',\n beforeMount() {\n this.id = this.$el.querySelector('#Id').value;\n },\n data: function () {\n return {\n errors: {\n result: null\n },\n id: '',\n url: '/api/Achievement'\n };\n },\n methods: {\n submit() {\n common.delete(`${this.url}(${this.id})`)\n .then(() => window.location.href = \"/Achievement/Index\")\n .catch(response => this.errors.result = response.error.message);\n }\n }\n });\n}\nif (document.getElementById('achievement-edit-form') !== null) {\n new Vue({\n el: '#achievement-edit-form',\n beforeMount() {\n this.id = this.$el.querySelector('#Id').value;\n this.title = this.$el.querySelector('#Title').value;\n this.type = this.$el.querySelector('#Type').value;\n this.year = this.$el.querySelector('#Year').value;\n },\n data: function () {\n return {\n errors: {\n result: null,\n title: null,\n type: null,\n year: null\n },\n id: '',\n title: '',\n type: '',\n url: '/api/achievement',\n year: ''\n };\n },\n methods: {\n checkForm() {\n const title = this.validateTitle();\n const type = this.validateType();\n const year = this.validateYear();\n return title && type && year;\n },\n submit() {\n if (this.checkForm()) {\n common.put(`${this.url}(${this.id})`, { Id:this.id, Title: this.title, Type: this.type, Year: this.year })\n .then(() => window.location.href = \"/Achievement/Index\")\n .catch(response => console.error(response.error.message));\n }\n },\n validateTitle() {\n if (this.title.length > 0) {\n this.errors.title = null;\n return true;\n }\n this.errors.title = \"Title is required\";\n return false;\n },\n validateType() {\n if (this.type.length > 0) {\n this.errors.type = null;\n return true;\n }\n this.errors.type = \"Type is required\";\n return false;\n },\n validateYear() {\n if (parseInt(this.year)) {\n this.errors.year = null;\n return true;\n }\n this.errors.year = \"Year must be a number.\";\n return false;\n }\n },\n watch: {\n title: 'validateTitle',\n type: 'validateType',\n year: 'validateYear'\n }\n });\n}\nif (document.getElementById('achievement-management') !== null) {\n new Vue({\n el: '#achievement-management',\n components: {\n tableComponent\n },\n data: function () {\n return {\n options: {\n endpoint: '/api/Achievement',\n dataset: {\n actions: {\n details: { enabled: true, url: 'Details' },\n edit: { enabled: true, url: 'Edit' },\n remove: { enabled: true, url: 'Delete' }\n },\n hide:['Id']\n },\n key: 'Id',\n ribbon: [{\n url: 'Create',\n icon: 'far fa-plus'\n }]\n }\n };\n },\n mounted: function () {\n },\n methods: {\n isEmpty() {\n return !this.data.length > 0;\n }\n }\n });\n}\nif (document.getElementById('education-create-form') !== null) {\n new Vue({\n el: '#education-create-form',\n beforeMount() {\n common.get(this.endpoint)\n .then(response => this.source = response.value)\n .catch(error => console.error(error));\n },\n components: {\n galleryPickerComponent\n },\n data: function () {\n return {\n \n endpoint: '/api/MediaLink?$expand=Group',\n errors: {\n imageUrl: null,\n link: null,\n result:null,\n school: null,\n title: null,\n year:null\n },\n imageUrl: '',\n link: '',\n school: '',\n source: [],\n title:'',\n url: '/api/Education',\n urlRegex:/[-a-zA-Z0-9@:%._\\+~#=]{1,256}\\.[a-zA-Z0-9()]{1,6}\\b([-a-zA-Z0-9()@:%_\\+.~#?&//=]*)/,\n year:'2000'\n };\n },\n methods: {\n checkForm() {\n const imageUrl = this.validateImageUrl();\n const link = this.validateLink();\n const school = this.validateSchool();\n const title = this.validateTitle();\n const year = this.validateYear();\n return imageUrl && link && school && title && year;\n },\n submit() {\n if (this.checkForm()) {\n common.post(this.url, { School: this.school, Link: this.link, Title: this.title, ImageUrl: this.imageUrl, Year: this.year })\n .then(() => window.location.href = \"Index\")\n .catch(response => this.errors.result = response.error.message);\n }\n },\n validateImageUrl() {\n if (this.imageUrl.length > 0) {\n this.errors.imageUrl = null;\n return true;\n }\n this.errors.imageUrl = \"Image Url is required.\";\n return false;\n },\n validateLink() {\n if (this.link.length === 0) {\n this.errors.link = \"Link is required.\";\n return false;\n }\n if (!this.link.match(this.urlRegex)) {\n this.errors.link = \"Link must be a website url\";\n return false;\n }\n this.errors.link = null;\n return true;\n },\n validateSchool() {\n if (this.school.length > 0) {\n this.errors.school = null;\n return true;\n }\n this.errors.school = \"School is required.\";\n return false;\n },\n validateTitle() {\n if (this.title.length > 0) {\n this.errors.title = null;\n return true;\n }\n this.errors.title = \"Title is required\";\n return false;\n },\n validateYear() {\n if (parseInt(this.year)) {\n this.errors.year = null;\n return true;\n }\n this.errors.year = \"Year must be a number.\";\n return false;\n }\n },\n watch: {\n imageUrl: 'validateImageUrl',\n link: 'validateLink',\n school: 'validateSchool',\n title: 'validateTitle',\n year: 'validateYear'\n }\n });\n}\nif (document.getElementById('education-delete-form') !== null) {\n new Vue({\n el: '#education-delete-form',\n beforeMount() {\n this.id = this.$el.querySelector('#Id').value;\n },\n data: function () {\n return {\n errors: {\n result: null\n },\n id: '',\n url: '/api/Education'\n };\n },\n methods: {\n submit() {\n common.delete(`${this.url}(${this.id})`)\n .then(() => window.location.href = \"/Education/Index\")\n .catch(response => this.errors.result = response.error.message);\n }\n }\n });\n}\nif (document.getElementById('education-edit-form') !== null) {\n new Vue({\n el: '#education-edit-form',\n beforeMount() {\n this.id = this.$el.querySelector('#Id').value;\n this.imageUrl = this.$el.querySelector('#ImageUrl').value;\n this.link = this.$el.querySelector('#Link').value;\n this.school = this.$el.querySelector('#School').value;\n this.title = this.$el.querySelector('#Title').value;\n this.year = this.$el.querySelector('#Year').value;\n\n common.get(this.endpoint)\n .then(response => this.source = response.value)\n .catch(error => console.error(error));\n },\n components: {\n galleryPickerComponent\n },\n data: function () {\n return {\n\n endpoint: '/api/MediaLink?$expand=Group',\n errors: {\n imageUrl: null,\n link: null,\n result: null,\n school: null,\n title: null,\n year: null\n },\n id:'',\n imageUrl: '',\n link: '',\n school: '',\n source: [],\n title: '',\n url: '/api/Education',\n urlRegex: /[-a-zA-Z0-9@:%._\\+~#=]{1,256}\\.[a-zA-Z0-9()]{1,6}\\b([-a-zA-Z0-9()@:%_\\+.~#?&//=]*)/,\n year: ''\n };\n },\n methods: {\n checkForm() {\n const imageUrl = this.validateImageUrl();\n const link = this.validateLink();\n const school = this.validateSchool();\n const title = this.validateTitle();\n const year = this.validateYear();\n return imageUrl && link && school && title && year;\n },\n submit() {\n if (this.checkForm()) {\n common.put(`${this.url}(${this.id})`, { Id: this.id, School: this.school, Link: this.link, Title: this.title, ImageUrl: this.imageUrl, Year: this.year })\n .then(() => window.location.href = \"/Education/Index\")\n .catch(response => this.errors.result = response.error.message);\n }\n },\n validateImageUrl() {\n if (this.imageUrl.length > 0) {\n this.errors.imageUrl = null;\n return true;\n }\n this.errors.imageUrl = \"Image Url is required.\";\n return false;\n },\n validateLink() {\n if (this.link.length === 0) {\n this.errors.link = \"Link is required.\";\n return false;\n }\n if (!this.link.match(this.urlRegex)) {\n this.errors.link = \"Link must be a website url\";\n return false;\n }\n this.errors.link = null;\n return true;\n },\n validateSchool() {\n if (this.school.length > 0) {\n this.errors.school = null;\n return true;\n }\n this.errors.school = \"School is required.\";\n return false;\n },\n validateTitle() {\n if (this.title.length > 0) {\n this.errors.title = null;\n return true;\n }\n this.errors.title = \"Title is required\";\n return false;\n },\n validateYear() {\n if (parseInt(this.year)) {\n this.errors.year = null;\n return true;\n }\n this.errors.year = \"Year must be a number.\";\n return false;\n }\n },\n watch: {\n imageUrl: 'validateImageUrl',\n link: 'validateLink',\n school: 'validateSchool',\n title: 'validateTitle',\n year: 'validateYear'\n }\n });\n}\nif (document.getElementById('education-management') !== null) {\n new Vue({\n el: '#education-management',\n components: {\n tableComponent\n },\n data: function () {\n return {\n options: {\n endpoint: '/api/Education',\n dataset: {\n actions: {\n details: { enabled: true, url: 'Details' },\n edit: { enabled: true, url: 'Edit' },\n remove: { enabled: true, url: 'Delete' }\n },\n hide:['Id', 'ImageUrl']\n },\n key:'Id',\n ribbon: [{\n url: 'Create',\n icon: 'far fa-plus'\n }]\n }\n };\n },\n mounted: function () {\n },\n methods: {\n isEmpty() {\n return !this.data.length > 0;\n }\n }\n });\n}\nif (document.getElementById('contact-section') !== null) {\n new Vue({\n el: \"#contact-section\",\n data: function () {\n return {\n email: '',\n errors: {\n email: null,\n name: null,\n message: null,\n token: null\n },\n loading: false,\n name: '',\n message: '',\n token: '',\n url: '/api/Email'\n };\n },\n methods: {\n checkForm() {\n const email = this.validateEmail();\n const name = this.validateName();\n const message = this.validateMessage();\n const token = this.validateToken();\n\n return email && name && message && token;\n },\n clearErrors() {\n this.errors.email = null;\n this.errors.name = null;\n this.errors.message = null;\n },\n resetForm() {\n this.email = '';\n this.name = '';\n this.message = '';\n this.token = '';\n grecaptcha.enterprise.reset();\n },\n submit() {\n if (this.checkForm()) {\n this.loading = true;\n common.post(this.url, { Email: this.email, Name: this.name, Message: this.message, Token: this.token })\n .then(response => {\n this.resetForm();\n this.clearErrors();\n Vue.$toast.success(\"Message Sent!\");\n })\n .catch(response => console.error(response))\n .finally(() => this.loading = false);\n }\n },\n validateEmail() {\n if (this.email.length > 0) {\n this.errors.email = null;\n return true;\n }\n this.errors.email = \"Email is required.\";\n return false;\n },\n validateName() {\n if (this.name.length > 0) {\n this.errors.name = null;\n return true;\n }\n this.errors.name = \"Name is required.\";\n return false;\n },\n validateMessage() {\n if (this.message.length > 0) {\n this.errors.message = null;\n return true;\n }\n\n this.errors.message = \"Message is required.\";\n return false;\n },\n validateToken() {\n this.token = this.$el.querySelector('#g-recaptcha-response').value;\n if (this.token.length > 0) {\n this.errors.token = null;\n return true;\n }\n\n this.errors.token = \"Please complete the ReCaptcha.\";\n return false;\n\n }\n }\n });\n\n //ReScale the recaptcha for smaller devices.\n $(function () {\n function rescaleCaptcha() {\n var width = $('.g-recaptcha').parent().width();\n var scale;\n if (width < 302) {\n scale = width / 302;\n } else {\n scale = 1.0;\n }\n\n $('.g-recaptcha').css('transform', 'scale(' + scale + ')');\n $('.g-recaptcha').css('-webkit-transform', 'scale(' + scale + ')');\n $('.g-recaptcha').css('transform-origin', '0 0');\n $('.g-recaptcha').css('-webkit-transform-origin', '0 0');\n }\n\n rescaleCaptcha();\n $(window).resize(function () { rescaleCaptcha(); });\n\n });\n}\n\nif (document.getElementById('job-create-form') !== null) {\n new Vue({\n el: '#job-create-form',\n components: {\n vuejsDatepicker: window.vuejsDatepicker\n },\n data: function () {\n return {\n company: '',\n dateFormat: 'MMMM yyyy',\n description: '',\n errors: {\n company: null,\n description: null,\n jobEnd: null,\n jobStart: null,\n result: null,\n title: null\n },\n jobEnd: null,\n jobStart: null,\n title: '',\n url: '/api/Job'\n };\n },\n methods: {\n checkForm() {\n const company = this.validateCompany();\n const description = this.validateDescription();\n const jobEnd = this.validateJobEnd();\n const jobStart = this.validateJobStart();\n const title = this.validateTitle();\n return company && description && jobEnd && jobStart && title;\n },\n submit() {\n if (this.checkForm()) {\n common.post(this.url, { Company: this.company, Description: this.description, JobEnd: this.jobEnd, JobStart: this.jobStart, Title: this.title })\n .then(() => window.location.href = \"Index\")\n .catch(response => console.error(response.error.message));\n }\n },\n validateCompany() {\n if (this.company.length > 0) {\n this.errors.company = null;\n return true;\n }\n this.errors.company = 'Company name is required.';\n return false;\n },\n validateDescription() {\n if (this.description.length > 0) {\n this.errors.description = null;\n return true;\n }\n this.errors.description = 'Job description is required.';\n return false;\n\n },\n validateJobEnd() {\n if (this.jobStart && this.jobEnd && !this.validateDateMatch()) {\n this.errors.jobEnd = 'End date cannot be before start date.';\n return false;\n }\n this.errors.jobEnd = null;\n return true;\n },\n validateJobStart() {\n if (this.jobStart && this.jobEnd && !this.validateDateMatch()) {\n this.errors.jobStart = 'Start date cannot be after end date.';\n return false;\n }\n else if (!this.jobStart) {\n this.errors.jobStart = 'Start date is required.';\n return false;\n }\n\n this.errors.jobStart = null;\n return true;\n },\n validateTitle() {\n if (this.title.length > 0) {\n this.errors.title = null;\n return true;\n }\n this.errors.title = \"Title is required\";\n return false;\n },\n validateDateMatch() {\n if (this.jobEnd < this.jobStart) {\n return false;\n }\n return true;\n },\n validateDates() {\n this.validateJobEnd();\n this.validateJobStart();\n }\n },\n watch: {\n company: 'validateCompany',\n description: 'validateDescription',\n jobEnd: 'validateDates',\n jobStart: 'validateDates',\n title: 'validateTitle'\n }\n });\n}\nif (document.getElementById('job-delete-form') !== null) {\n new Vue({\n el: '#job-delete-form',\n beforeMount() {\n this.id = this.$el.querySelector('#Id').value;\n },\n data: function () {\n return {\n errors: {\n result: null\n },\n id: '',\n url: '/api/Job'\n };\n },\n methods: {\n submit() {\n common.delete(`${this.url}(${this.id})`)\n .then(() => window.location.href = \"/Job/Index\")\n .catch(response => this.errors.result = response.error.message);\n }\n }\n });\n}\nif (document.getElementById('job-edit-form') !== null) {\n new Vue({\n el: '#job-edit-form',\n beforeMount() {\n let JobEnd = this.$el.querySelector('#JobEnd').value;\n \n this.company = this.$el.querySelector('#Company').value;\n this.description = this.$el.querySelector('#Description').value;\n this.id = this.$el.querySelector('#Id').value;\n this.jobEnd = null;\n this.jobStart = new Date(Date.parse(this.$el.querySelector('#JobStart').value)) || null;\n this.title = this.$el.querySelector('#Title').value;\n\n if (JobEnd.length > 0) {\n this.jobEnd = new Date(Date.parse(this.$el.querySelector('#JobEnd').value)) || null;\n }\n\n },\n components: {\n vuejsDatepicker: window.vuejsDatepicker\n },\n data: function () {\n return {\n company: '',\n description: '',\n dateFormat: 'MMMM yyyy',\n errors: {\n company: null,\n description:null,\n jobEnd: null,\n jobStart: null,\n result: null,\n title: null\n },\n id: '',\n jobEnd: '',\n jobStart:'',\n title: '',\n url: '/api/Job'\n };\n },\n methods: {\n checkForm() {\n const company = this.validateCompany();\n const description = this.validateDescription();\n const jobEnd = this.validateJobEnd();\n const jobStart = this.validateJobStart();\n const title = this.validateTitle();\n return company && description && jobEnd && jobStart && title;\n },\n submit() {\n if (this.checkForm()) {\n common.put(`${this.url}(${this.id})`, { Company: this.company, Description: this.description, Id: this.id, JobEnd: this.jobEnd, JobStart: this.jobStart, Title: this.title })\n .then(() => window.location.href = \"/Job/Index\")\n .catch(response => console.error(response.error.message));\n }\n },\n validateCompany() {\n if (this.company.length > 0) {\n this.errors.company = null;\n return true;\n }\n this.errors.company = 'Company name is required.';\n return false;\n },\n validateDescription() {\n if (this.description.length > 0) {\n this.errors.description = null;\n return true;\n }\n this.errors.description = 'Job description is required.';\n return false;\n\n },\n validateJobEnd() {\n if (this.jobStart && this.jobEnd && !this.validateDateMatch()) {\n this.errors.jobEnd = 'End date cannot be before start date.';\n return false;\n }\n this.errors.jobEnd = null;\n return true;\n },\n validateJobStart() {\n if (this.jobStart && this.jobEnd && !this.validateDateMatch()) {\n this.errors.jobStart = 'Start date cannot be after end date.';\n return false;\n }\n else if (!this.jobStart) {\n this.errors.jobStart = 'Start date is required.';\n return false;\n }\n\n this.errors.jobStart = null;\n return true;\n },\n validateTitle() {\n if (this.title.length > 0) {\n this.errors.title = null;\n return true;\n }\n this.errors.title = \"Title is required\";\n return false;\n },\n validateDateMatch() {\n if (this.jobEnd < this.jobStart) {\n return false;\n }\n return true;\n },\n validateDates() {\n this.validateJobEnd();\n this.validateJobStart();\n }\n },\n watch: {\n company: 'validateCompany',\n description: 'validateDescription',\n jobEnd: 'validateDates',\n jobStart: 'validateDates',\n title: 'validateTitle'\n }\n });\n}\nif (document.getElementById('job-management') !== null) {\n new Vue({\n el: '#job-management',\n components: {\n tableComponent\n },\n data: function () {\n return {\n options: {\n endpoint: '/api/Job',\n dataset: {\n actions: {\n details: { enabled: true, url: 'Details' },\n edit: { enabled: true, url: 'Edit' },\n remove: { enabled: true, url: 'Delete' }\n },\n hide:['Id','Description']\n },\n key: 'Id',\n ribbon: [{\n url: 'Create',\n icon: 'far fa-plus'\n }]\n }\n };\n },\n mounted: function () {\n },\n methods: {\n isEmpty() {\n return !this.data.length > 0;\n }\n }\n });\n}\nif (document.getElementById('manage-index-page') !== null) {\n new Vue({\n el: \"#manage-index-page\",\n beforeMount() {\n common.get(this.endpoint)\n .then(response => this.source = response.value)\n .catch(error => console.error(error));\n\n this.bio = this.$el.querySelector('#Account_Bio').value;\n this.contactImage = this.$el.querySelector('#Configuration_ContactImage').value;\n this.cvLink = this.$el.querySelector('#Configuration_CVLink').value;\n this.email = this.$el.querySelector('#Account_Email').value;\n this.firstName = this.$el.querySelector('#Account_FirstName').value;\n this.githubLink = this.$el.querySelector('#Configuration_GithubLink').value;\n this.landingImage = this.$el.querySelector('#Configuration_LandingImage').value;\n this.lastName = this.$el.querySelector('#Account_LastName').value;\n this.linkedInLink = this.$el.querySelector('#Configuration_LinkedInLink').value;\n this.phoneNumberValue = this.$el.querySelector('#Account_PhoneNumber').value.replace(this.numberRegex,'').split('');\n this.profile = this.$el.querySelector('#Account_Link').value;\n this.skillsImage = this.$el.querySelector('#Configuration_SkillImage').value;\n this.title = this.$el.querySelector('#Account_Title').value;\n },\n components: {\n galleryPickerComponent\n },\n data: function () {\n return {\n bio:'',\n contactImage: '',\n cvLink:'',\n email:'',\n endpoint: '/api/MediaLink?$expand=Group',\n firstName: '',\n githubLink:'',\n landingImage: '',\n lastName: '',\n linkedInLink:'',\n phoneNumber: '(###) ###-####',\n phoneNumberValue:[],\n profile: '',\n skillsImage: '',\n source: [],\n title: '',\n numberRegex: /[^0-9]/g,\n userInfoUrl: '/api/Manage/PostUserInfo',\n configUrl: '/api/Manage/PostConfiguration',\n passwordChangeUrl: '/api/Manage/PostPasswordChange',\n loadingUserInfo: false,\n loadingPasswordChange: false,\n loadingSiteConfig: false,\n oldPassword: '',\n newPassword: '',\n confirmPassword:''\n };\n },\n methods: {\n getProfilePic() {\n return this.profile || '/assets/dist/images/default_profile_pic.png';\n },\n submitUserInfo() {\n this.loadingUserInfo = true;\n let phoneNumber = this.phoneNumberValue.length > 0 ? this.phoneNumber : '';\n common.post(this.userInfoUrl, { Email:this.email, FirstName: this.firstName, LastName: this.lastName, Link: this.profile, Title: this.title, PhoneNumber: phoneNumber, Bio: this.bio })\n .then(response => console.log(response))\n .catch(response => console.error(response))\n .finally(() => this.loadingUserInfo = false);\n },\n submitPasswordChange() {\n this.loadingPasswordChange = true;\n common.post(this.passwordChangeUrl, { OldPassword: this.oldPassword, NewPassword: this.newPassword })\n .then(response => {\n console.log(response);\n this.clearPasswordForm();\n })\n .catch(response => console.error(response))\n .finally(() => this.loadingPasswordChange = false);\n },\n submitSiteConfiguration() {\n this.loadingSiteConfig = true;\n common.post(this.configUrl, { LandingImage: this.landingImage, SkillImage: this.skillsImage, ContactImage: this.contactImage, GithubLink: this.githubLink, LinkedInLink: this.linkedInLink, CVLink: this.cvLink })\n .then(response=>console.log(response))\n .catch(response => console.error(response))\n .finally(() => this.loadingSiteConfig = false);\n },\n format(e) {\n if (e.keyCode === 8) {\n this.phoneNumberValue.pop();\n }\n else {\n if (parseInt(e.key) >= 0 && this.phoneNumberValue.length < 10) {\n this.phoneNumberValue.push(e.key);\n }\n }\n },\n clearPasswordForm() {\n this.newPassword = '';\n this.oldPassword = '';\n this.confirmPassword = '';\n }\n },\n watch: {\n phoneNumberValue: function () {\n this.phoneNumber = `(${this.phoneNumberValue[0] || '#'}${this.phoneNumberValue[1] || '#'}${this.phoneNumberValue[2] || '#'}) ${this.phoneNumberValue[3] || '#'}${this.phoneNumberValue[4] || '#'}${this.phoneNumberValue[5] || '#'}-${this.phoneNumberValue[6] || '#'}${this.phoneNumberValue[7] || '#'}${this.phoneNumberValue[8] || '#'}${this.phoneNumberValue[9] || '#'}`;\n }\n }\n });\n}\nif (document.getElementById('media-index-page') !== null) {\n new Vue({\n el: \"#media-index-page\",\n components: {\n storageBarComponent,\n apexBarChart\n },\n data: function () {\n return {\n categories: [],\n groupsCount: 0,\n hiddenData: [],\n imagesCount: 0,\n loading:false,\n max: 0,\n series: [{ name: 'Groups', data: [] }],\n showHidden: false,\n used: 0,\n url: '/api/Bucket/GetStorageInfo'\n };\n },\n methods: {\n fillStorageBar(data) {\n this.max = data.maxValue;\n this.used = data.groups.reduce((_total, current) => _total += current.size, 0);\n },\n fillDisplay(data) {\n this.imagesCount = data.groups.reduce((_total, current) => _total += current.count, 0);\n this.groupsCount = data.groups.length;\n },\n fillChart(data) {\n let seriesData = [];\n let categories = [];\n data.groups.forEach(group => {\n categories.push(group.name);\n seriesData.push(group.count);\n });\n\n this.categories = categories;\n this.series = [{ name: 'Groups', data: seriesData }];\n },\n load() {\n this.loading = true;\n common.get(this.url)\n .then(data => {\n if (!this.showHidden) {\n data.groups = data.groups.filter(group => group.name !== \"__thumbnails/\");\n }\n this.fillStorageBar(data);\n this.fillDisplay(data);\n this.fillChart(data);\n })\n .catch(error => console.error(error))\n .finally(() => this.loading = false);\n }\n },\n mounted() {\n this.load();\n },\n watch: {\n showHidden: function () {\n this.load();\n }\n }\n });\n}\nif (document.getElementById('mediagroup-create-form') !== null) {\n new Vue({\n el: \"#mediagroup-create-form\",\n components: {\n confirmationComponent\n },\n data: function () {\n return {\n errors: {\n name: null,\n result:null\n },\n invalidRegex: /[^a-zA-Z0-9]/g,\n name: '',\n nameRegex: /^[A-Za-z0-9_]*$/,\n normalizedName:'',\n url: '/api/MediaGroup'\n };\n },\n methods: {\n submit() {\n if (this.validateName()) {\n common.post(this.url, { Name: this.name, NormalizedName: this.normalizedName })\n .then(() => window.location.href = \"Index\")\n .catch(response => { console.log(response); this.errors.result = response.error.message; });\n }\n },\n normalize() {\n this.normalizedName = this.name.toLowerCase().replace(this.invalidRegex, '');\n },\n validateName() {\n if (this.name.trim() === '') {\n this.errors.name = 'Name is required.';\n return false;\n }\n else {\n this.errors.name = null;\n }\n return true;\n }\n },\n watch: {\n name: function () {\n this.validateName();\n this.normalize();\n }\n }\n });\n}\nif (document.getElementById('mediagroup-delete-form') !== null) {\n new Vue({\n el: \"#mediagroup-delete-form\",\n data: function () {\n return {\n errors: {\n result: null\n },\n id: null,\n loading:false,\n url: '/api/MediaGroup'\n };\n },\n beforeMount() {\n this.id = this.$el.querySelector('#Id').value;\n },\n methods: {\n submit() {\n this.loading = true;\n common.delete(`${this.url}(${this.id})`)\n .then(() => window.location.href = \"/Mediagroup/Index\")\n .catch(response => { this.errors.result = response.error.message; })\n .finally(() => this.loading = false);\n }\n }\n });\n}\nif (document.getElementById('mediagroup-edit-form') !== null) {\n new Vue({\n el: \"#mediagroup-edit-form\",\n data: function () {\n return {\n errors: {\n name: null,\n result: null\n },\n id: '',\n name: '',\n normalizedName: '',\n invalidRegex: /[^a-zA-Z0-9]/g,\n nameRegex: /^[A-Za-z0-9_]*$/,\n url: '/api/MediaGroup'\n };\n },\n beforeMount() {\n this.id = this.$el.querySelector('#Id').value;\n this.name = this.$el.querySelector('#Name').value;\n this.normalizedName = this.$el.querySelector('#NormalizedName').value;\n },\n methods: {\n submit() {\n if (this.validateName()) {\n common.put(`${this.url}(${this.id})`, { Id: this.id, Name: this.name, NormalizedName: this.normalizedName })\n .then(() => window.location.href = \"/Mediagroup/Index\")\n .catch(response => { this.errors.result = response.error.message; });\n }\n },\n normalize() {\n this.normalizedName = this.name.toLowerCase().replace(this.invalidRegex, '');\n },\n validateName() {\n if (this.name.trim() === '') {\n this.errors.name = 'Name is required.';\n return false;\n }\n else {\n this.errors.name = null;\n }\n return true;\n }\n },\n watch: {\n name: function () {\n this.validateName();\n this.normalize();\n }\n }\n });\n}\nif (document.getElementById('mediagroup-management') !== null) {\n new Vue({\n el: '#mediagroup-management',\n components: {\n tableComponent\n },\n data: function () {\n return {\n options: {\n endpoint: '/api/MediaGroup',\n dataset: {\n actions: {\n details: { enabled: true, url: 'Details' },\n edit: { enabled: true, url: 'Edit' },\n remove: { enabled: true, url: 'Delete' }\n },\n showKey: false\n },\n key: 'Id',\n ribbon: [{\n icon: 'far fa-plus',\n url:'Create'\n }]\n }\n };\n }\n });\n}\nif (document.getElementById('medialink-create-form') !== null) {\n new Vue({\n el: \"#medialink-create-form\",\n components: {\n uploadComponent\n },\n beforeMount() {\n common.get(`${this.url_groups}?$orderby=Name`).then(data => {\n this.groups = data.value;\n if (this.groups.length > 0) {\n this.selected = this.groups[0].Id;\n }\n else {\n this.errors.group = 'No media groups available.';\n }\n }).catch(error => console.error(error));\n },\n data: function () {\n return {\n errors: {\n file: null,\n group: null,\n name: null,\n result:null\n },\n extRegex: /\\.[^ /.]+$/,\n file: null,\n groups:[],\n loading:false,\n name: '',\n nameRegex: /^[A-Za-z0-9_]*$/,\n selected:'',\n url: '/api/MediaLink',\n url_groups:'/api/MediaGroup'\n };\n },\n methods: {\n checkForm() {\n let name = this.validateName();\n let file = this.validateFile();\n let group = this.validateGroup();\n return name && file && group;\n },\n submit() {\n if (this.checkForm()) {\n this.loading = true;\n const fd = new FormData();\n fd.append('file', this.file);\n fd.append('name', `${this.name}.${this.getType(this.file.type)}`);\n fd.append('group', this.selected);\n common.postMultiPart(this.url, fd)\n .then(() => window.location.href = \"Index\")\n .catch(response => {\n this.errors.result = response.error.message;\n })\n .finally(() => this.loading = false);\n }\n },\n getGroup() {\n this.groups.forEach(group => {\n if (group.Id === this.selected)\n return group;\n });\n return null;\n },\n getType(val) {\n return val.slice(6, val.length);\n },\n validateGroup() {\n if (this.groups.length > 0) {\n return true;\n }\n return false;\n },\n validateName() {\n if (this.name.trim() === '') {\n this.errors.name = 'Name is required.';\n return false;\n }\n else if (!this.name.match(this.nameRegex)) {\n this.errors.name = 'Name can only consist of letters, numbers and underscore';\n return false;\n }\n else {\n this.errors.name = null;\n }\n return true;\n },\n validateFile() {\n if (this.file === null) {\n this.errors.file = 'Please select an image to upload';\n return false;\n } else {\n this.errors.file = null;\n }\n return true;\n }\n },\n watch: {\n file: function (newFile) {\n if (newFile !== null) {\n this.name = newFile.name.replace(this.extRegex,'');\n }\n else this.name = '';\n this.validateFile();\n },\n name: function () {\n this.validateName();\n }\n }\n });\n}\nif (document.getElementById('medialink-delete-form') !== null) {\n new Vue({\n el: \"#medialink-delete-form\",\n components: {\n uploadComponent\n },\n beforeMount() {\n this.id = this.$el.querySelector('#Id').value;\n },\n data: function () {\n return {\n errors: {\n result: null\n },\n id: null,\n loading:false,\n url: '/api/MediaLink'\n };\n },\n methods: {\n checkForm() {\n return this.id !== null;\n },\n submit() {\n if (this.checkForm()) {\n this.loading = true;\n\n common.delete(`${this.url}(${this.id})`)\n .then(() => window.location.href = \"/Medialink/Index\")\n .catch(response => {\n this.errors.result = response.error.message;\n })\n .finally(() => this.loading = false);\n }\n }\n }\n });\n}\nif (document.getElementById('medialink-management') !== null) {\n new Vue({\n el: '#medialink-management',\n components: {\n galleryComponent\n },\n data: function () {\n return {\n options: {\n endpoint: '/api/MediaLink',\n grouping: {\n enabled: true,\n entity: 'Group'\n },\n key: 'Id',\n ribbon: [{\n icon: 'far fa-plus',\n url: 'Create'\n }]\n }\n };\n }\n });\n}\nif (document.getElementById('skill-create-form') !== null) {\n new Vue({\n el: '#skill-create-form',\n data: function () {\n return {\n errors: {\n name: null,\n proficiency:null,\n result: null\n },\n name: '',\n proficiency:'Basic',\n url: '/api/Skill'\n };\n },\n methods: {\n checkForm() {\n const name = this.validateName();\n const proficiency = this.validateProficiency();\n\n return name && proficiency;\n },\n submit() {\n common.post(this.url, { Name: this.name, Proficiency: this.proficiency })\n .then(() => window.location.href = \"Index\")\n .catch(response => this.errors.result = response.error.message);\n },\n validateName() {\n if (this.name.length > 0) {\n this.errors.name = null;\n return true;\n }\n this.errors.name = 'Skill name is required.';\n return false;\n },\n validateProficiency() {\n if (this.proficiency.length > 0) {\n this.errors.proficiency = null;\n return true;\n }\n this.errors.proficiency = 'Proficiency level is required.';\n return false;\n }\n },\n watch: {\n name: 'validateName',\n proficiency:'validateProficiency'\n }\n });\n}\nif (document.getElementById('skill-delete-form') !== null) {\n new Vue({\n el: '#skill-delete-form',\n beforeMount() {\n this.id = this.$el.querySelector('#Id').value;\n },\n data: function () {\n return {\n errors: {\n result: null\n },\n id: '',\n url: '/api/Skill'\n };\n },\n methods: {\n submit() {\n common.delete(`${this.url}(${this.id})`)\n .then(() => window.location.href = \"/Skill/Index\")\n .catch(response => this.errors.result = response.error.message);\n }\n }\n });\n}\nif (document.getElementById('skill-edit-form') !== null) {\n new Vue({\n el: '#skill-edit-form',\n beforeMount() {\n this.id = this.$el.querySelector('#Id').value;\n this.name = this.$el.querySelector('#Name').value;\n this.proficiency = this.$el.querySelector('#Proficiency').value;\n },\n data: function () {\n return {\n errors: {\n name: null,\n proficiency: null,\n result: null\n },\n id:'',\n name: '',\n proficiency: 'Basic',\n url: '/api/Skill'\n };\n },\n methods: {\n checkForm() {\n const name = this.validateName();\n const proficiency = this.validateProficiency();\n\n return name && proficiency;\n },\n submit() {\n common.put(`${this.url}(${this.id})`, { Id:this.id, Name: this.name, Proficiency: this.proficiency })\n .then(() => window.location.href = \"/Skill/Index\")\n .catch(response => this.errors.result = response.error.message);\n },\n validateName() {\n if (this.name.length > 0) {\n this.errors.name = null;\n return true;\n }\n this.errors.name = 'Skill name is required.';\n return false;\n },\n validateProficiency() {\n if (this.proficiency.length > 0) {\n this.errors.proficiency = null;\n return true;\n }\n this.errors.proficiency = 'Proficiency level is required.';\n return false;\n }\n },\n watch: {\n name: 'validateName',\n proficiency: 'validateProficiency'\n }\n });\n}\nif (document.getElementById('skill-management') !== null) {\n new Vue({\n el: '#skill-management',\n components: {\n tableComponent\n },\n data: function () {\n return {\n options: {\n endpoint: '/api/Skill',\n dataset: {\n actions: {\n details: { enabled: true, url: 'Details' },\n edit: { enabled: true, url: 'Edit' },\n remove: { enabled: true, url: 'Delete' }\n },\n hide:['Id']\n },\n key: 'Id',\n ribbon: [{\n url: 'Create',\n icon: 'far fa-plus'\n }]\n }\n };\n },\n mounted: function () {\n },\n methods: {\n isEmpty() {\n return !this.data.length > 0;\n }\n }\n });\n}\nif (document.getElementById('sidebar-toggle-widget') !== null) {\n new Vue({\n el: \"#sidebar-toggle-widget\",\n data: function () {\n return {\n sidebar:true\n };\n },\n methods: {\n toggleSideBar() {\n this.sidebar = !this.sidebar;\n $(\"#side-bar\").toggleClass('-closed', !this.sidebar);\n }\n },\n mounted() {\n if (localStorage.blogcore_sidebar) {\n this.sidebar = localStorage.blogcore_sidebar === \"true\";\n $(\"#side-bar\").toggleClass('-closed', !this.sidebar);\n }\n },\n watch: {\n sidebar(newVal) {\n localStorage.blogcore_sidebar = newVal;\n }\n }\n });\n}"],"file":"project.js"}