From ee34aef212a208f05d275a517d51d1e21aa85af1 Mon Sep 17 00:00:00 2001 From: rijkvanzanten Date: Thu, 27 May 2021 14:24:20 -0400 Subject: [PATCH] Allow PK in metric panel --- app/src/interfaces/_system/system-field/system-field.vue | 6 +++++- app/src/panels/metric/index.ts | 1 + 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/app/src/interfaces/_system/system-field/system-field.vue b/app/src/interfaces/_system/system-field/system-field.vue index 0b18b6a4bd..abf4a6bc32 100644 --- a/app/src/interfaces/_system/system-field/system-field.vue +++ b/app/src/interfaces/_system/system-field/system-field.vue @@ -51,6 +51,10 @@ export default defineComponent({ type: Boolean, default: false, }, + allowPrimaryKey: { + type: Boolean, + default: false, + }, }, setup(props) { const fieldsStore = useFieldsStore(); @@ -66,7 +70,7 @@ export default defineComponent({ fields.value.map((field: Field) => { let disabled = false; - if (field?.schema?.is_primary_key === true) disabled = true; + if (props.allowPrimaryKey === false && field?.schema?.is_primary_key === true) disabled = true; if (props.typeAllowList.length > 0 && props.typeAllowList.includes(field.type) === false) disabled = true; return { diff --git a/app/src/panels/metric/index.ts b/app/src/panels/metric/index.ts index c07c518911..8de6e6dd06 100644 --- a/app/src/panels/metric/index.ts +++ b/app/src/panels/metric/index.ts @@ -26,6 +26,7 @@ export default definePanel({ options: { collectionField: 'collection', typeAllowList: ['integer', 'bigInteger', 'float', 'decimal'], + allowPrimaryKey: true, }, width: 'half', },