@snabcentr/client-ui 0.0.23 → 0.0.24
Sign up to get free protection for your applications and to get access to all the features.
- package/esm2020/files/directives/index.mjs +3 -0
- package/esm2020/files/directives/tree-top.directive.mjs +63 -0
- package/esm2020/files/directives/tree.directive.mjs +47 -0
- package/esm2020/files/file-tree-item/file-tree-item.component.mjs +18 -0
- package/esm2020/files/files-and-documents.component.mjs +60 -0
- package/esm2020/files/files-and-documents.module.mjs +26 -0
- package/esm2020/files/index.mjs +6 -0
- package/esm2020/files/interfaces/tree-node.mjs +2 -0
- package/esm2020/files/services/index.mjs +3 -0
- package/esm2020/files/services/tree-icon.service.mjs +48 -0
- package/esm2020/files/services/tree-loader.service.mjs +60 -0
- package/esm2020/public-api.mjs +2 -1
- package/fesm2015/snabcentr-client-ui.mjs +287 -5
- package/fesm2015/snabcentr-client-ui.mjs.map +1 -1
- package/fesm2020/snabcentr-client-ui.mjs +285 -5
- package/fesm2020/snabcentr-client-ui.mjs.map +1 -1
- package/files/directives/index.d.ts +2 -0
- package/files/directives/tree-top.directive.d.ts +33 -0
- package/files/directives/tree.directive.d.ts +35 -0
- package/files/file-tree-item/file-tree-item.component.d.ts +9 -0
- package/files/files-and-documents.component.d.ts +27 -0
- package/files/files-and-documents.module.d.ts +16 -0
- package/files/index.d.ts +5 -0
- package/files/interfaces/tree-node.d.ts +29 -0
- package/files/services/index.d.ts +2 -0
- package/files/services/tree-icon.service.d.ts +23 -0
- package/files/services/tree-loader.service.d.ts +43 -0
- package/package.json +1 -1
- package/public-api.d.ts +1 -0
- package/release_notes.tmp +6 -1
- package/styles/tailwind/tailwind.scss +13 -4
@@ -0,0 +1,33 @@
|
|
1
|
+
import { TreeNode } from '../interfaces/tree-node';
|
2
|
+
import * as i0 from "@angular/core";
|
3
|
+
/**
|
4
|
+
* Директива отвечающая за корневые элементы дерева.
|
5
|
+
*/
|
6
|
+
export declare class TreeTopDirective implements TreeNode {
|
7
|
+
/**
|
8
|
+
* Отображаемое имя корневого элемента дерева.
|
9
|
+
*/
|
10
|
+
text: string;
|
11
|
+
/**
|
12
|
+
* Значок корневого элемента дерева.
|
13
|
+
*/
|
14
|
+
icon: string;
|
15
|
+
/**
|
16
|
+
* Ссылка корневого элемента дерева.
|
17
|
+
*/
|
18
|
+
link?: string;
|
19
|
+
/**
|
20
|
+
* Признак наличия дочерних элементов.
|
21
|
+
*/
|
22
|
+
hasChildren: boolean;
|
23
|
+
/**
|
24
|
+
* Идентификатор корневого элемента дерева.
|
25
|
+
*/
|
26
|
+
id?: number;
|
27
|
+
/**
|
28
|
+
* Дата создания корневого элемента дерева.
|
29
|
+
*/
|
30
|
+
createdAt?: string;
|
31
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<TreeTopDirective, never>;
|
32
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<TreeTopDirective, "[scTopNodeText]", never, { "text": "scTopNodeText"; "icon": "scTopNodeIcon"; "link": "scTopNodeLink"; "hasChildren": "scTopNodeChilds"; "id": "scTopNodeParent"; "createdAt": "scTopNodeDate"; }, {}, never, never, false>;
|
33
|
+
}
|
@@ -0,0 +1,35 @@
|
|
1
|
+
import { TuiHandler } from '@taiga-ui/cdk';
|
2
|
+
import { TuiTreeService } from '@taiga-ui/kit';
|
3
|
+
import { TreeNode } from '../interfaces/tree-node';
|
4
|
+
import * as i0 from "@angular/core";
|
5
|
+
/**
|
6
|
+
* Директива отвечающая за обработку действий над элементами дерева.
|
7
|
+
*/
|
8
|
+
export declare class TreeDirective {
|
9
|
+
readonly service: TuiTreeService<TreeNode>;
|
10
|
+
/**
|
11
|
+
* Карта данных дерева.
|
12
|
+
*/
|
13
|
+
map: Map<TreeNode, boolean>;
|
14
|
+
/**
|
15
|
+
* Инициализирует экземпляр класса {@link TreeDirective}.
|
16
|
+
*
|
17
|
+
* @param service Сервис для работы с деревом.
|
18
|
+
*/
|
19
|
+
constructor(service: TuiTreeService<TreeNode>);
|
20
|
+
/**
|
21
|
+
* Проверяет указанный элемент дерева на наличие дочерних элементов и возвращает массив дочерних элементов, если они есть, либо пустой массив.
|
22
|
+
*
|
23
|
+
* @param node Элемент дерева.
|
24
|
+
* @returns Возвращает массив типа TreeNode[].
|
25
|
+
*/
|
26
|
+
childrenHandler: TuiHandler<TreeNode, readonly TreeNode[]>;
|
27
|
+
/**
|
28
|
+
* Обрабатывает нажатие на указанный элемент дерева.
|
29
|
+
*
|
30
|
+
* @param node Элемент дерева.
|
31
|
+
*/
|
32
|
+
onToggled(node: TreeNode): void;
|
33
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<TreeDirective, never>;
|
34
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<TreeDirective, "[scTree]", ["scTree"], {}, {}, never, never, false>;
|
35
|
+
}
|
@@ -0,0 +1,9 @@
|
|
1
|
+
import { TuiTreeItemContentComponent } from '@taiga-ui/kit';
|
2
|
+
import * as i0 from "@angular/core";
|
3
|
+
/**
|
4
|
+
* Компонент для удаления стандартного значка элемента дерева.
|
5
|
+
*/
|
6
|
+
export declare class FileTreeItemComponent extends TuiTreeItemContentComponent {
|
7
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<FileTreeItemComponent, never>;
|
8
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<FileTreeItemComponent, "sc-file-tree-item", never, {}, {}, never, never, false>;
|
9
|
+
}
|
@@ -0,0 +1,27 @@
|
|
1
|
+
import { ScFilesService } from '@snabcentr/client-core';
|
2
|
+
import { Observable } from 'rxjs';
|
3
|
+
import { TreeIconService } from './services/tree-icon.service';
|
4
|
+
import { TreeNode } from './interfaces/tree-node';
|
5
|
+
import * as i0 from "@angular/core";
|
6
|
+
/**
|
7
|
+
* Компонент файлов и документов.
|
8
|
+
*/
|
9
|
+
export declare class FilesAndDocumentsComponent {
|
10
|
+
readonly loading: unknown;
|
11
|
+
readonly iconService: TreeIconService;
|
12
|
+
private readonly filesService;
|
13
|
+
/**
|
14
|
+
* Данные визуализации и их начальное получение.
|
15
|
+
*/
|
16
|
+
data$: Observable<TreeNode[]>;
|
17
|
+
/**
|
18
|
+
* Инициализирует экземпляр класса {@link FilesAndDocumentsComponent}.
|
19
|
+
*
|
20
|
+
* @param loading Объект отвечающий за значок загрузки, в момент раскрытия элемента дерева.
|
21
|
+
* @param iconService Сервис для определения и назначения значка элементу дерева.
|
22
|
+
* @param filesService Сервис для загрузки файлов.
|
23
|
+
*/
|
24
|
+
constructor(loading: unknown, iconService: TreeIconService, filesService: ScFilesService);
|
25
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<FilesAndDocumentsComponent, never>;
|
26
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<FilesAndDocumentsComponent, "sc-files-and-documents", never, {}, {}, never, never, false>;
|
27
|
+
}
|
@@ -0,0 +1,16 @@
|
|
1
|
+
import * as i0 from "@angular/core";
|
2
|
+
import * as i1 from "./files-and-documents.component";
|
3
|
+
import * as i2 from "./directives/tree.directive";
|
4
|
+
import * as i3 from "./directives/tree-top.directive";
|
5
|
+
import * as i4 from "./file-tree-item/file-tree-item.component";
|
6
|
+
import * as i5 from "@angular/common";
|
7
|
+
import * as i6 from "@taiga-ui/kit";
|
8
|
+
import * as i7 from "@taiga-ui/core";
|
9
|
+
/**
|
10
|
+
* Модуль файлов и документов.
|
11
|
+
*/
|
12
|
+
export declare class FilesAndDocumentsModule {
|
13
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<FilesAndDocumentsModule, never>;
|
14
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<FilesAndDocumentsModule, [typeof i1.FilesAndDocumentsComponent, typeof i2.TreeDirective, typeof i3.TreeTopDirective, typeof i4.FileTreeItemComponent], [typeof i5.CommonModule, typeof i6.TuiTreeModule, typeof i7.TuiSvgModule, typeof i7.TuiLoaderModule, typeof i7.TuiLinkModule], [typeof i1.FilesAndDocumentsComponent]>;
|
15
|
+
static ɵinj: i0.ɵɵInjectorDeclaration<FilesAndDocumentsModule>;
|
16
|
+
}
|
package/files/index.d.ts
ADDED
@@ -0,0 +1,29 @@
|
|
1
|
+
/**
|
2
|
+
* Интерфейс для реализации компонентами, отображающими элемент дерева.
|
3
|
+
*/
|
4
|
+
export interface TreeNode {
|
5
|
+
/**
|
6
|
+
* Признак наличия дочерних элементов.
|
7
|
+
*/
|
8
|
+
hasChildren: boolean;
|
9
|
+
/**
|
10
|
+
* Отображаемое имя элемента дерева.
|
11
|
+
*/
|
12
|
+
text: string;
|
13
|
+
/**
|
14
|
+
* Отображаемый значок элемента дерева.
|
15
|
+
*/
|
16
|
+
icon: string;
|
17
|
+
/**
|
18
|
+
* Идентификатор элемента дерева.
|
19
|
+
*/
|
20
|
+
id?: number;
|
21
|
+
/**
|
22
|
+
* Ссылка элемента дерева.
|
23
|
+
*/
|
24
|
+
link?: string;
|
25
|
+
/**
|
26
|
+
* Дата создания элемента дерева.
|
27
|
+
*/
|
28
|
+
createdAt?: string;
|
29
|
+
}
|
@@ -0,0 +1,23 @@
|
|
1
|
+
import { ScDocumentInfo } from '@snabcentr/client-core/files/classes/sc-document-info';
|
2
|
+
import * as i0 from "@angular/core";
|
3
|
+
/**
|
4
|
+
* Сервис работающий с значками элементов дерева.
|
5
|
+
*/
|
6
|
+
export declare class TreeIconService {
|
7
|
+
/**
|
8
|
+
* Назначает значок элементу дерева в зависимости от типа файла.
|
9
|
+
*
|
10
|
+
* @param info Объект пришедших данных о файле.
|
11
|
+
* @returns Возвращает название значка в виде строки.
|
12
|
+
*/
|
13
|
+
getIconName(info: ScDocumentInfo): string;
|
14
|
+
/**
|
15
|
+
* Проверяет на признак наличия дочерних элементов.
|
16
|
+
*
|
17
|
+
* @param info Объект пришедших данных о файле.
|
18
|
+
* @returns Возвращает true при наличии дочерних элементов и false при их отсутсвии.
|
19
|
+
*/
|
20
|
+
hasChildren(info: ScDocumentInfo): boolean;
|
21
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<TreeIconService, never>;
|
22
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<TreeIconService>;
|
23
|
+
}
|
@@ -0,0 +1,43 @@
|
|
1
|
+
import { ScFilesService } from '@snabcentr/client-core';
|
2
|
+
import { TuiTreeLoader } from '@taiga-ui/kit';
|
3
|
+
import { Observable } from 'rxjs';
|
4
|
+
import { TreeIconService } from './tree-icon.service';
|
5
|
+
import { TreeNode } from '../interfaces/tree-node';
|
6
|
+
import * as i0 from "@angular/core";
|
7
|
+
/**
|
8
|
+
* Сервис для асинхронного раскрытия вложенности.
|
9
|
+
*/
|
10
|
+
export declare class TreeLoaderService implements TuiTreeLoader<TreeNode> {
|
11
|
+
private readonly filesService;
|
12
|
+
private readonly iconService;
|
13
|
+
/**
|
14
|
+
* Инициализирует экземпляр класса {@link TreeLoaderService}
|
15
|
+
*
|
16
|
+
* @param filesService Сервис для получения файлов директории.
|
17
|
+
* @param iconService Сервис для определения и назначения значка элементу дерева.
|
18
|
+
*/
|
19
|
+
constructor(filesService: ScFilesService, iconService: TreeIconService);
|
20
|
+
/**
|
21
|
+
* Загружает дочерние элементы дерева.
|
22
|
+
*
|
23
|
+
* @param item Элемент дерева.
|
24
|
+
* @returns Массив дочерних элементов.
|
25
|
+
*/
|
26
|
+
loadChildren(item: TreeNode): Observable<TreeNode[]>;
|
27
|
+
/**
|
28
|
+
* Проверяет указанный элемент дерева на наличие дочерних элементов и возвращает массив дочерних элементов, если они есть, либо пустой массив.
|
29
|
+
*
|
30
|
+
* @param node Элемент дерева.
|
31
|
+
* @returns Возвращает массив типа TreeNode[].
|
32
|
+
*/
|
33
|
+
hasChildren(node: TreeNode): boolean;
|
34
|
+
/**
|
35
|
+
* Загружает и заполняет массив дочерних элементов.
|
36
|
+
*
|
37
|
+
* @param id Идентификатор директории, чьи дочернии элементы загружаются.
|
38
|
+
* @returns Возвращает массив дочерних элементов.
|
39
|
+
*/
|
40
|
+
private initData;
|
41
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<TreeLoaderService, never>;
|
42
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<TreeLoaderService>;
|
43
|
+
}
|
package/package.json
CHANGED
package/public-api.d.ts
CHANGED
package/release_notes.tmp
CHANGED
@@ -698,6 +698,11 @@ video {
|
|
698
698
|
margin: 2rem;
|
699
699
|
}
|
700
700
|
|
701
|
+
.my-4 {
|
702
|
+
margin-top: 1rem;
|
703
|
+
margin-bottom: 1rem;
|
704
|
+
}
|
705
|
+
|
701
706
|
.mb-1 {
|
702
707
|
margin-bottom: 0.25rem;
|
703
708
|
}
|
@@ -809,6 +814,10 @@ video {
|
|
809
814
|
height: 14rem;
|
810
815
|
}
|
811
816
|
|
817
|
+
.h-6 {
|
818
|
+
height: 1.5rem;
|
819
|
+
}
|
820
|
+
|
812
821
|
.h-64 {
|
813
822
|
height: 16rem;
|
814
823
|
}
|
@@ -837,10 +846,6 @@ video {
|
|
837
846
|
width: 7rem;
|
838
847
|
}
|
839
848
|
|
840
|
-
.w-3 {
|
841
|
-
width: 0.75rem;
|
842
|
-
}
|
843
|
-
|
844
849
|
.w-3\/4 {
|
845
850
|
width: 75%;
|
846
851
|
}
|
@@ -865,6 +870,10 @@ video {
|
|
865
870
|
width: 11rem;
|
866
871
|
}
|
867
872
|
|
873
|
+
.w-6 {
|
874
|
+
width: 1.5rem;
|
875
|
+
}
|
876
|
+
|
868
877
|
.w-70 {
|
869
878
|
width: 17.5rem;
|
870
879
|
}
|