@snabcentr/client-ui 0.0.22 → 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/news/news-card/sc-news-card.component.mjs +3 -3
- package/esm2020/public-api.mjs +2 -1
- package/esm2020/share-button/sc-share-button.component.mjs +3 -3
- package/fesm2015/snabcentr-client-ui.mjs +291 -9
- package/fesm2015/snabcentr-client-ui.mjs.map +1 -1
- package/fesm2020/snabcentr-client-ui.mjs +289 -9
- 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 -0
- package/styles/tailwind/tailwind.scss +23 -36
@@ -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
@@ -1,5 +1,5 @@
|
|
1
1
|
/*
|
2
|
-
! tailwindcss v3.3.
|
2
|
+
! tailwindcss v3.3.6 | MIT License | https://tailwindcss.com
|
3
3
|
*/
|
4
4
|
|
5
5
|
/*
|
@@ -121,8 +121,10 @@ strong {
|
|
121
121
|
}
|
122
122
|
|
123
123
|
/*
|
124
|
-
1. Use the user's configured `mono` font
|
125
|
-
2.
|
124
|
+
1. Use the user's configured `mono` font-family by default.
|
125
|
+
2. Use the user's configured `mono` font-feature-settings by default.
|
126
|
+
3. Use the user's configured `mono` font-variation-settings by default.
|
127
|
+
4. Correct the odd `em` font sizing in all browsers.
|
126
128
|
*/
|
127
129
|
|
128
130
|
code,
|
@@ -131,8 +133,12 @@ samp,
|
|
131
133
|
pre {
|
132
134
|
font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
|
133
135
|
/* 1 */
|
134
|
-
font-
|
136
|
+
font-feature-settings: normal;
|
135
137
|
/* 2 */
|
138
|
+
font-variation-settings: normal;
|
139
|
+
/* 3 */
|
140
|
+
font-size: 1em;
|
141
|
+
/* 4 */
|
136
142
|
}
|
137
143
|
|
138
144
|
/*
|
@@ -656,10 +662,6 @@ video {
|
|
656
662
|
left: 4rem;
|
657
663
|
}
|
658
664
|
|
659
|
-
.left-3 {
|
660
|
-
left: 0.75rem;
|
661
|
-
}
|
662
|
-
|
663
665
|
.right-0 {
|
664
666
|
right: 0px;
|
665
667
|
}
|
@@ -680,10 +682,6 @@ video {
|
|
680
682
|
top: 0.5rem;
|
681
683
|
}
|
682
684
|
|
683
|
-
.top-3 {
|
684
|
-
top: 0.75rem;
|
685
|
-
}
|
686
|
-
|
687
685
|
.isolate {
|
688
686
|
isolation: isolate;
|
689
687
|
}
|
@@ -700,16 +698,13 @@ video {
|
|
700
698
|
margin: 2rem;
|
701
699
|
}
|
702
700
|
|
703
|
-
.
|
704
|
-
margin-
|
705
|
-
|
706
|
-
|
707
|
-
.mb-2 {
|
708
|
-
margin-bottom: 0.5rem;
|
701
|
+
.my-4 {
|
702
|
+
margin-top: 1rem;
|
703
|
+
margin-bottom: 1rem;
|
709
704
|
}
|
710
705
|
|
711
|
-
.mb-
|
712
|
-
margin-bottom: 0.
|
706
|
+
.mb-1 {
|
707
|
+
margin-bottom: 0.25rem;
|
713
708
|
}
|
714
709
|
|
715
710
|
.mb-3 {
|
@@ -819,6 +814,10 @@ video {
|
|
819
814
|
height: 14rem;
|
820
815
|
}
|
821
816
|
|
817
|
+
.h-6 {
|
818
|
+
height: 1.5rem;
|
819
|
+
}
|
820
|
+
|
822
821
|
.h-64 {
|
823
822
|
height: 16rem;
|
824
823
|
}
|
@@ -847,10 +846,6 @@ video {
|
|
847
846
|
width: 7rem;
|
848
847
|
}
|
849
848
|
|
850
|
-
.w-3 {
|
851
|
-
width: 0.75rem;
|
852
|
-
}
|
853
|
-
|
854
849
|
.w-3\/4 {
|
855
850
|
width: 75%;
|
856
851
|
}
|
@@ -875,6 +870,10 @@ video {
|
|
875
870
|
width: 11rem;
|
876
871
|
}
|
877
872
|
|
873
|
+
.w-6 {
|
874
|
+
width: 1.5rem;
|
875
|
+
}
|
876
|
+
|
878
877
|
.w-70 {
|
879
878
|
width: 17.5rem;
|
880
879
|
}
|
@@ -1093,14 +1092,6 @@ video {
|
|
1093
1092
|
border-radius: 0.375rem;
|
1094
1093
|
}
|
1095
1094
|
|
1096
|
-
.rounded-sm {
|
1097
|
-
border-radius: 0.125rem;
|
1098
|
-
}
|
1099
|
-
|
1100
|
-
.rounded-tui-radius-l {
|
1101
|
-
border-radius: var(--tui-radius-l);
|
1102
|
-
}
|
1103
|
-
|
1104
1095
|
.rounded-tui-radius-m {
|
1105
1096
|
border-radius: var(--tui-radius-m);
|
1106
1097
|
}
|
@@ -1281,10 +1272,6 @@ video {
|
|
1281
1272
|
color: rgb(22 163 74 / var(--tw-text-opacity));
|
1282
1273
|
}
|
1283
1274
|
|
1284
|
-
.text-tui-base-07 {
|
1285
|
-
color: var(--tui-base-07);
|
1286
|
-
}
|
1287
|
-
|
1288
1275
|
.text-tui-base-09 {
|
1289
1276
|
color: var(--tui-base-09);
|
1290
1277
|
}
|