Card fixes (#8433)

Signed-off-by: Denis Bykhov <bykhov.denis@gmail.com>
This commit is contained in:
Denis Bykhov
2025-04-02 17:59:10 +07:00
committed by GitHub
parent 304cfe7a9d
commit fd10ab5f7d
17 changed files with 164 additions and 14 deletions
@@ -139,7 +139,11 @@
selected = event.detail as AnyAttribute
if (selected?._id != null) {
const exist = (await client.findOne(selected.attributeOf, { [selected.name]: { $exists: true } })) !== undefined
$settingsStore = { id: selected._id, component: EditAttribute, props: { attribute: selected, exist, disabled } }
$settingsStore = {
id: selected._id,
component: EditAttribute,
props: { attribute: selected, exist, disabled, isCard }
}
}
}
onDestroy(() => {
@@ -38,6 +38,7 @@
export let exist: boolean
export let disabled: boolean = true
export let noTopIndent: boolean = false
export let isCard: boolean = false
let name: string
let type: Type<PropertyType> | undefined = attribute.type
@@ -201,6 +202,7 @@
<Component
{is}
props={{
isCard,
type,
defaultValue,
editable: !exist && !disabled,
@@ -46,7 +46,9 @@
.reduce((a, b) => a.concat(b))
.filter((p) => p !== card.class.Card)
)
const excluded = new Set()
// exclude removed card types
const removedTypes = client.getModel().findAllSync(card.class.MasterTag, { removed: true })
const excluded = new Set(removedTypes.map((p) => p._id))
for (const _class of exclude) {
const desc = hierarchy.getDescendants(_class)
for (const _id of desc) {