Object.hasOwn & hasOwnProperty replace with lodash has (#367)

* Object.hasOwn & hasOwnProperty replace with lodash has

* fix _has
This commit is contained in:
Chirag Chhatrala
2024-04-03 15:19:33 +05:30
committed by GitHub
parent 615ac88f89
commit a7517252c1
13 changed files with 37 additions and 22 deletions

View File

@@ -118,6 +118,7 @@ import FormCleanings from '../../pages/forms/show/FormCleanings.vue'
import VTransition from '~/components/global/transitions/VTransition.vue'
import {pendingSubmission} from "~/composables/forms/pendingSubmission.js";
import clonedeep from "clone-deep";
import { default as _has } from 'lodash/has'
export default {
components: { VTransition, VButton, OpenFormButton, OpenForm, FormCleanings },
@@ -155,7 +156,7 @@ export default {
return import.meta.client && window.location.href.includes('popup=true')
},
theme () {
return this.themes[this.themes.hasOwnProperty(this.form.theme) ? this.form.theme : 'default']
return this.themes[_has(this.themes, this.form.theme) ? this.form.theme : 'default']
},
isPublicFormPage () {
return this.$route.name === 'forms-slug'

View File

@@ -56,6 +56,7 @@
<script>
import { computed } from 'vue'
import FormLogicPropertyResolver from "~/lib/forms/FormLogicPropertyResolver.js"
import { default as _has } from 'lodash/has'
export default {
name: 'OpenFormField',
@@ -248,7 +249,7 @@ export default {
}
if (['select', 'multi_select'].includes(field.type)) {
inputProperties.options = (field.hasOwnProperty(field.type))
inputProperties.options = (_has(field, field.type))
? field[field.type].options.map(option => {
return {
name: option.name,

View File

@@ -19,6 +19,7 @@
<script setup>
import { defineProps, computed } from 'vue'
import { default as _has } from 'lodash/has'
const { copy } = useClipboard()
const props = defineProps({
@@ -40,7 +41,7 @@ const preFillUrl = computed(() => {
const url = props.form.share_url
const uriComponents = new URLSearchParams()
props.form.properties.filter((property) => {
return props.formData.hasOwnProperty(property.id) && props.formData[property.id] !== null
return _has(props.formData, property.id) && props.formData[property.id] !== null
}).forEach((property) => {
if (Array.isArray(props.formData[property.id])) {
props.formData[property.id].forEach((value) => {

View File

@@ -62,6 +62,7 @@
import VSwitch from '../../../../forms/components/VSwitch.vue'
import OpenCompleteForm from '../../OpenCompleteForm.vue'
import {handleDarkMode} from "~/lib/forms/public-page.js"
import { default as _has } from 'lodash/has'
export default {
components: { OpenCompleteForm, VSwitch },
@@ -89,7 +90,7 @@ export default {
}
},
creating () { // returns true if we are creating a form
return !this.form.hasOwnProperty('id')
return !_has(this.form, 'id')
}
},

View File

@@ -66,10 +66,10 @@
</template>
<script>
import { computed } from 'vue'
import clonedeep from 'clone-deep'
import EditorOptionsPanel from '../../../editors/EditorOptionsPanel.vue'
import SelectInput from '../../../../forms/SelectInput.vue'
import { default as _has } from 'lodash/has'
export default {
components: { SelectInput, EditorOptionsPanel },
@@ -152,7 +152,7 @@ export default {
['title', 'description', 'properties', 'cleanings', 'views_count', 'submissions_count', 'workspace', 'workspace_id', 'updated_at',
'share_url', 'slug', 'notion_database_url', 'id', 'database_id', 'database_fields_update', 'creator',
'created_at', 'deleted_at', 'last_edited_human'].forEach((property) => {
if (copyForm.hasOwnProperty(property)) {
if (_has(copyForm, property)) {
delete copyForm[property]
}
})

View File

@@ -70,6 +70,7 @@
import ConditionEditor from './ConditionEditor.client.vue'
import Modal from '../../../../global/Modal.vue'
import clonedeep from 'clone-deep'
import { default as _has } from 'lodash/has'
export default {
name: 'FormBlockLogicEditor',
@@ -100,7 +101,7 @@ export default {
computed: {
copyFromOptions () {
return this.form.properties.filter((field) => {
return field.id !== this.field.id && field.hasOwnProperty('logic') && field.logic !== null && field.logic !== {}
return field.id !== this.field.id && _has(field, 'logic') && field.logic !== null && field.logic !== {}
}).map((field) => {
return { name: field.name, value: field.id }
})
@@ -166,7 +167,7 @@ export default {
},
mounted () {
if (!this.field.hasOwnProperty('logic')) {
if (!_has(this.field, 'logic')) {
this.field.logic = this.logic
}
},

View File

@@ -316,6 +316,7 @@ import timezones from '~/data/timezones.json'
import countryCodes from '~/data/country_codes.json'
import CountryFlag from 'vue-country-flag-next'
import FormBlockLogicEditor from '../../components/form-logic-components/FormBlockLogicEditor.vue'
import { default as _has } from 'lodash/has'
export default {
name: 'FieldOptions',
@@ -556,7 +557,7 @@ export default {
}
if (this.field.type in defaultFieldValues) {
Object.keys(defaultFieldValues[this.field.type]).forEach(key => {
if (!Object.hasOwn(this.field,key)) {
if (!_has(this.field,key)) {
this.field[key] = defaultFieldValues[this.field.type][key]
}
})