Files
nocodb/packages/nc-gui/components/dlg/ColumnUpdateConfirm.vue
Raju Udava 58e70afaac Nc feat/type conversions rebased (#8680)
* feat: created inferTypes.ts

* chore: switch to sdk types

* feat: convert string to given type

* feat: convert string to rating

* fix: handle the case with multiple .

* feat: numeric decimal type conversion in postgres

* feat: add cast for non text fields

* refactor: move type casts to separate file

* feat: add casts for date, date-time and time

* doc: added function docs

* feat: added cast for year and rating

* feat: added cast for duration

* fix: cast for multi-select

* fix: cast for multi-select

* fix: cast for year

* feat: date conversion on best effort basis

* fix: single line text to select

* fix: any field to select

* lint: simplified expressions

* fix: user conversion

* fix: user conversion

* fix: date time conversion

* test: added test cases for type casts

* fix: SLT to User field

* fix: SLT to Long text, single select and multiselect

* chore: handle True/False & TRUE/FALSE in checkbox

* lint: fixed eslint issues

* chore: remove system fields as destination type when converting a field

* feat: show warning when changing column type

* fix: toned down edit modal

* test: click on update button during warning popup

* test: update selector

* test: fix type change flag

* fix: handle date format

* chore: auto focus update button

* fix: parameterize columnName and other values

* chore: removed number of digits limit for hour

* test: fix add-edit modal label

* fix: fixed missing column reference

* fix: handle missing date format

* fix: handle missing date format

* test: fix save routine mux

* test: fix barCode & QRCode save

* refactor: combined uiType filters

* fix: sanitise column name

* refactor: switch to some instead of find

* feat: created inferTypes.ts

* chore: switch to sdk types

* feat: convert string to given type

* feat: numeric decimal type conversion in postgres

* feat: add cast for non text fields

* refactor: move type casts to separate file

* feat: add casts for date, date-time and time

* doc: added function docs

* feat: added cast for year and rating

* feat: added cast for duration

* fix: cast for multi-select

* fix: cast for multi-select

* fix: cast for year

* feat: date conversion on best effort basis

* fix: single line text to select

* fix: user conversion

* fix: date time conversion

* fix: SLT to User field

* fix: SLT to Long text, single select and multiselect

* chore: handle True/False & TRUE/FALSE in checkbox

* lint: fixed eslint issues

* feat: show warning when changing column type

* fix: toned down edit modal

* test: click on update button during warning popup

* fix: handle date format

* chore: auto focus update button

* fix: parameterize columnName and other values

* chore: removed number of digits limit for hour

* fix: handle missing date format

* fix: handle missing date format

* test: fix save routine mux

* fix: revert removing verify

* fix: sanitise column name

* fix: pass context

* tests: remove duplicate statement

* fix: add context bypass for list method

* fix: disable type conversion for Formula, BarCode, QrCode

* fix: render confirm modal sing useDialog to avoid accidental closing

* refactor: construct context using column while getting colOptions data

---------

Co-authored-by: rohittp <tprohit9@gmail.com>
Co-authored-by: Pranav C <pranavxc@gmail.com>
2024-06-12 15:17:29 +05:30

47 lines
1.4 KiB
Vue

<script setup lang="ts">
const props = defineProps<{
visible?: boolean
saving?: boolean
}>()
const emit = defineEmits(['submit', 'cancel', 'update:visible'])
const visible = useVModel(props, 'visible', emit)
</script>
<template>
<GeneralModal v-model:visible="visible" size="small">
<div class="flex flex-col p-6" @click.stop>
<div class="flex flex-row pb-2 mb-4 font-medium text-lg border-b-1 border-gray-50 text-gray-800">Field Type Change</div>
<div class="mb-3 text-gray-800">
<div class="flex item-center gap-2 mb-4">
<component :is="iconMap.warning" id="nc-selected-item-icon" class="text-yellow-500 w-10 h-10" />
This action cannot be undone. Converting data types may result in data loss. Proceed with caution!
</div>
</div>
<slot name="entity-preview"></slot>
<div class="flex flex-row gap-x-2 mt-2.5 pt-2.5 justify-end">
<NcButton type="secondary" @click="visible = false">
{{ $t('general.cancel') }}
</NcButton>
<NcButton
key="submit"
autofocus
type="primary"
html-type="submit"
:loading="saving"
data-testid="nc-delete-modal-delete-btn"
@click="emit('submit')"
>
Update
<template #loading> Saving... </template>
</NcButton>
</div>
</div>
</GeneralModal>
</template>