mirror of
https://github.com/directus/directus.git
synced 2026-04-25 03:00:53 -04:00
One more
This commit is contained in:
@@ -142,8 +142,10 @@ function findSelectedChoices(choices: Record<string, any>[], checked: (string |
|
||||
|
||||
if (item[props.itemChildren]) {
|
||||
const children = item[props.itemChildren];
|
||||
|
||||
if (Array.isArray(children) && children.length > 0) {
|
||||
const nestedResult = children.flatMap((child) => selectedChoices(child));
|
||||
|
||||
if (nestedResult.length > 0) {
|
||||
result.push(...nestedResult, itemValue);
|
||||
}
|
||||
|
||||
@@ -146,6 +146,7 @@ function onSelect() {
|
||||
|
||||
for (let i = 0; i < contentEl.value.childNodes.length || !textSpan; i++) {
|
||||
const child = contentEl.value.children[i];
|
||||
|
||||
if (child.classList.contains('text')) {
|
||||
textSpan = child;
|
||||
}
|
||||
|
||||
@@ -202,6 +202,7 @@ function useComputedValues() {
|
||||
() => props.modelValue,
|
||||
() => {
|
||||
const newVal = getInternalValue();
|
||||
|
||||
if (!isEqual(internalValue.value, newVal)) {
|
||||
internalValue.value = newVal;
|
||||
}
|
||||
|
||||
@@ -179,6 +179,7 @@ const { toggleRawField, rawActiveFields } = useRawEditor();
|
||||
const firstEditableFieldIndex = computed(() => {
|
||||
for (let i = 0; i < fieldNames.value.length; i++) {
|
||||
const field = fieldsMap.value[fieldNames.value[i]];
|
||||
|
||||
if (field?.meta && !field.meta?.readonly && !field.meta?.hidden) {
|
||||
return i;
|
||||
}
|
||||
@@ -190,6 +191,7 @@ const firstEditableFieldIndex = computed(() => {
|
||||
const firstVisibleFieldIndex = computed(() => {
|
||||
for (let i = 0; i < fieldNames.value.length; i++) {
|
||||
const field = fieldsMap.value[fieldNames.value[i]];
|
||||
|
||||
if (field?.meta && !field.meta?.hidden) {
|
||||
return i;
|
||||
}
|
||||
@@ -223,6 +225,7 @@ function useForm() {
|
||||
() => props.fields,
|
||||
() => {
|
||||
const newVal = getFields();
|
||||
|
||||
if (!isEqual(fields.value, newVal)) {
|
||||
fields.value = newVal;
|
||||
}
|
||||
@@ -278,6 +281,7 @@ function useForm() {
|
||||
|
||||
for (const field of fieldsInGroup) {
|
||||
const meta = fieldsMap.value?.[field.field]?.meta;
|
||||
|
||||
if (meta?.special?.includes('group') && !passed.includes(meta!.field)) {
|
||||
passed.push(meta!.field);
|
||||
fieldsInGroup.push(...getFieldsForGroup(meta!.field, passed));
|
||||
|
||||
@@ -102,6 +102,7 @@ function checkKeyDown(event: any) {
|
||||
}
|
||||
} else if (event.code === 'ArrowLeft' && !event.shiftKey) {
|
||||
const checkCaretPos = matchedPositions.indexOf(caretPos - 1);
|
||||
|
||||
if (checkCaretPos !== -1 && checkCaretPos % 2 === 1) {
|
||||
event.preventDefault();
|
||||
|
||||
@@ -109,6 +110,7 @@ function checkKeyDown(event: any) {
|
||||
}
|
||||
} else if (event.code === 'ArrowRight' && !event.shiftKey) {
|
||||
const checkCaretPos = matchedPositions.indexOf(caretPos + 1);
|
||||
|
||||
if (checkCaretPos !== -1 && checkCaretPos % 2 === 0) {
|
||||
event.preventDefault();
|
||||
|
||||
@@ -116,6 +118,7 @@ function checkKeyDown(event: any) {
|
||||
}
|
||||
} else if (event.code === 'Backspace') {
|
||||
const checkCaretPos = matchedPositions.indexOf(caretPos - 1);
|
||||
|
||||
if (checkCaretPos !== -1 && checkCaretPos % 2 === 1) {
|
||||
event.preventDefault();
|
||||
|
||||
@@ -132,6 +135,7 @@ function checkKeyDown(event: any) {
|
||||
}
|
||||
} else if (event.code === 'Delete') {
|
||||
const checkCaretPos = matchedPositions.indexOf(caretPos + 1);
|
||||
|
||||
if (checkCaretPos !== -1 && checkCaretPos % 2 === 0) {
|
||||
event.preventDefault();
|
||||
|
||||
@@ -153,6 +157,7 @@ function checkKeyUp(event: any) {
|
||||
|
||||
if ((event.code === 'ArrowUp' || event.code === 'ArrowDown') && !event.shiftKey) {
|
||||
const checkCaretPos = matchedPositions.indexOf(caretPos);
|
||||
|
||||
if (checkCaretPos !== -1 && checkCaretPos % 2 === 1) {
|
||||
position(input.value!, matchedPositions[checkCaretPos] + 1);
|
||||
} else if (checkCaretPos !== -1 && checkCaretPos % 2 === 0) {
|
||||
@@ -165,6 +170,7 @@ function checkClick(event: any) {
|
||||
const caretPos = window.getSelection()?.rangeCount ? position(input.value as Element).pos : 0;
|
||||
|
||||
const checkCaretPos = matchedPositions.indexOf(caretPos);
|
||||
|
||||
if (checkCaretPos !== -1) {
|
||||
if (checkCaretPos % 2 === 0) {
|
||||
position(input.value!, caretPos - 1);
|
||||
|
||||
Reference in New Issue
Block a user