@snabcentr/client-ui 0.0.22 → 0.0.24
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of @snabcentr/client-ui might be problematic. Click here for more details.
- 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
|
}
|