Fix folder naming
This commit is contained in:
parent
f3f9c419d4
commit
142f3882bb
|
@ -77,11 +77,12 @@ export const LibraryState = ({ children }: LibraryStateProps) => {
|
||||||
const [cachedTemplates, setCachedTemplates] = useState<IRSForm[]>([]);
|
const [cachedTemplates, setCachedTemplates] = useState<IRSForm[]>([]);
|
||||||
|
|
||||||
const folders = useMemo(() => {
|
const folders = useMemo(() => {
|
||||||
const result = new FolderTree(items.map(item => item.location));
|
const result = new FolderTree();
|
||||||
result.addPath(LocationHead.USER, 0);
|
result.addPath(LocationHead.USER, 0);
|
||||||
result.addPath(LocationHead.COMMON, 0);
|
result.addPath(LocationHead.COMMON, 0);
|
||||||
result.addPath(LocationHead.LIBRARY, 0);
|
result.addPath(LocationHead.LIBRARY, 0);
|
||||||
result.addPath(LocationHead.PROJECTS, 0);
|
result.addPath(LocationHead.PROJECTS, 0);
|
||||||
|
items.forEach(item => result.addPath(item.location));
|
||||||
return result;
|
return result;
|
||||||
}, [items]);
|
}, [items]);
|
||||||
|
|
||||||
|
|
|
@ -102,7 +102,9 @@ export class FolderTree {
|
||||||
|
|
||||||
private visitNode(target: FolderNode, result: FolderNode[]) {
|
private visitNode(target: FolderNode, result: FolderNode[]) {
|
||||||
result.push(target);
|
result.push(target);
|
||||||
target.children.forEach(child => this.visitNode(child, result));
|
[...target.children.keys()]
|
||||||
|
.sort((a, b) => a.localeCompare(b))
|
||||||
|
.forEach(key => this.visitNode(target.children.get(key)!, result));
|
||||||
}
|
}
|
||||||
|
|
||||||
addPath(path: string, filesCount: number = 1): FolderNode {
|
addPath(path: string, filesCount: number = 1): FolderNode {
|
||||||
|
|
|
@ -8,6 +8,7 @@ import { GraphLayout } from '@/components/ui/GraphUI';
|
||||||
import { FolderNode } from '@/models/FolderTree';
|
import { FolderNode } from '@/models/FolderTree';
|
||||||
import { GramData, Grammeme, ReferenceType } from '@/models/language';
|
import { GramData, Grammeme, ReferenceType } from '@/models/language';
|
||||||
import { AccessPolicy, LibraryItemType, LocationHead } from '@/models/library';
|
import { AccessPolicy, LibraryItemType, LocationHead } from '@/models/library';
|
||||||
|
import { validateLocation } from '@/models/libraryAPI';
|
||||||
import { CstMatchMode, DependencyMode, GraphColoring, GraphSizing, HelpTopic } from '@/models/miscellaneous';
|
import { CstMatchMode, DependencyMode, GraphColoring, GraphSizing, HelpTopic } from '@/models/miscellaneous';
|
||||||
import { CstClass, CstType, ExpressionStatus, IConstituenta, IRSForm } from '@/models/rsform';
|
import { CstClass, CstType, ExpressionStatus, IConstituenta, IRSForm } from '@/models/rsform';
|
||||||
import {
|
import {
|
||||||
|
@ -271,10 +272,10 @@ export function describeCstSource(mode: DependencyMode): string {
|
||||||
export function labelLocationHead(head: LocationHead): string {
|
export function labelLocationHead(head: LocationHead): string {
|
||||||
// prettier-ignore
|
// prettier-ignore
|
||||||
switch (head) {
|
switch (head) {
|
||||||
case LocationHead.USER: return 'личные (/U)';
|
case LocationHead.USER: return '/U : личные';
|
||||||
case LocationHead.COMMON: return 'общие (/S)';
|
case LocationHead.COMMON: return '/S : общие';
|
||||||
case LocationHead.LIBRARY: return 'примеры (/L)';
|
case LocationHead.LIBRARY: return '/L : примеры';
|
||||||
case LocationHead.PROJECTS: return 'проекты (/P)';
|
case LocationHead.PROJECTS: return '/P : проекты';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -825,7 +826,11 @@ export function describeAccessMode(mode: UserLevel): string {
|
||||||
* Retrieves label for {@link FolderNode}.
|
* Retrieves label for {@link FolderNode}.
|
||||||
*/
|
*/
|
||||||
export function labelFolderNode(node: FolderNode): string {
|
export function labelFolderNode(node: FolderNode): string {
|
||||||
return node.text;
|
if (node.parent || !validateLocation('/' + node.text)) {
|
||||||
|
return node.text;
|
||||||
|
} else {
|
||||||
|
return labelLocationHead(('/' + node.text) as LocationHead);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
Loading…
Reference in New Issue
Block a user