@algoux/standard-ranklist-renderer-component-angular 0.5.0 → 0.6.0
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.
- package/README.md +48 -0
- package/package.json +9 -3
- package/dist/README.md +0 -100
- package/dist/esm2022/algoux-standard-ranklist-renderer-component-angular.mjs +0 -5
- package/dist/esm2022/lib/index.mjs +0 -8
- package/dist/esm2022/lib/modal/default-solution-modal.component.mjs +0 -146
- package/dist/esm2022/lib/modal/default-user-modal.component.mjs +0 -172
- package/dist/esm2022/lib/modal/modal-interactions.mjs +0 -2
- package/dist/esm2022/lib/modal/modal.component.mjs +0 -263
- package/dist/esm2022/lib/progress/progress-bar.component.mjs +0 -247
- package/dist/esm2022/lib/progress/progress-utils.mjs +0 -45
- package/dist/esm2022/lib/ranklist/ranklist-utils.mjs +0 -110
- package/dist/esm2022/lib/ranklist/ranklist.component.mjs +0 -593
- package/dist/esm2022/lib/ranklist/status-cell-template.directive.mjs +0 -18
- package/dist/esm2022/lib/ranklist/user-cell-template.directive.mjs +0 -18
- package/dist/esm2022/lib/types.mjs +0 -2
- package/dist/esm2022/public-api.mjs +0 -2
- package/dist/fesm2022/algoux-standard-ranklist-renderer-component-angular.mjs +0 -1585
- package/dist/fesm2022/algoux-standard-ranklist-renderer-component-angular.mjs.map +0 -1
- package/dist/index.d.ts +0 -5
- package/dist/lib/index.d.ts +0 -8
- package/dist/lib/modal/default-solution-modal.component.d.ts +0 -30
- package/dist/lib/modal/default-user-modal.component.d.ts +0 -34
- package/dist/lib/modal/modal-interactions.d.ts +0 -1
- package/dist/lib/modal/modal.component.d.ts +0 -49
- package/dist/lib/progress/progress-bar.component.d.ts +0 -31
- package/dist/lib/progress/progress-utils.d.ts +0 -15
- package/dist/lib/ranklist/ranklist-utils.d.ts +0 -22
- package/dist/lib/ranklist/ranklist.component.d.ts +0 -57
- package/dist/lib/ranklist/status-cell-template.directive.d.ts +0 -23
- package/dist/lib/ranklist/user-cell-template.directive.d.ts +0 -20
- package/dist/lib/types.d.ts +0 -27
- package/dist/public-api.d.ts +0 -1
package/README.md
CHANGED
|
@@ -98,3 +98,51 @@ export class BoardComponent {
|
|
|
98
98
|
```
|
|
99
99
|
|
|
100
100
|
Use `ModalComponent` directly when you want custom modal content. `SrkUserCellTemplateDirective` and `SrkStatusCellTemplateDirective` let you replace selected ranklist table cells with Angular templates.
|
|
101
|
+
|
|
102
|
+
## Ranklist Render Options
|
|
103
|
+
|
|
104
|
+
`RanklistComponent` includes optional render inputs for changing the table structure and status presentation while keeping the default behavior unchanged:
|
|
105
|
+
|
|
106
|
+
- `splitOrganization`: moves user organization into its own column before the user column.
|
|
107
|
+
- `columnTitles`: overrides text labels for series, organization, user, score, time, Dirt, and SE columns.
|
|
108
|
+
- `statusCellPreset`: uses `classic`, `detailed`, `minimal`, or `compact` status cell content.
|
|
109
|
+
- `statusColorAsText`: uses bold status-colored text instead of colored cell backgrounds.
|
|
110
|
+
- `showProblemStatisticsFooter`: appends a DOMjudge-style per-problem statistics footer.
|
|
111
|
+
- `showDirtColumn`: appends a Dirt percentage column after problem columns.
|
|
112
|
+
- `showSEColumn`: appends a contestant SE column after problem columns, placed after Dirt when both are enabled.
|
|
113
|
+
- `rowBordered`: adds row separators controlled by CSS variables.
|
|
114
|
+
- `columnBordered`: adds column separators controlled by CSS variables.
|
|
115
|
+
- `emptyStatusPlaceholder`: renders a custom string in no-submission status cells.
|
|
116
|
+
- `userAvatarPlacement`: chooses whether the default user avatar renders in the user column or, when `splitOrganization` is enabled, in the organization column.
|
|
117
|
+
|
|
118
|
+
```ts
|
|
119
|
+
import type { RanklistColumnTitles } from '@algoux/standard-ranklist-renderer-component-angular';
|
|
120
|
+
|
|
121
|
+
export class BoardComponent {
|
|
122
|
+
readonly columnTitles: RanklistColumnTitles = {
|
|
123
|
+
organization: 'Org',
|
|
124
|
+
user: 'Team',
|
|
125
|
+
score: 'Solved',
|
|
126
|
+
time: 'Penalty',
|
|
127
|
+
dirt: 'Dirt',
|
|
128
|
+
se: 'SE',
|
|
129
|
+
};
|
|
130
|
+
}
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
```html
|
|
134
|
+
<srk-ranklist
|
|
135
|
+
[data]="staticRanklist"
|
|
136
|
+
[splitOrganization]="true"
|
|
137
|
+
[showProblemStatisticsFooter]="true"
|
|
138
|
+
[showDirtColumn]="true"
|
|
139
|
+
[showSEColumn]="true"
|
|
140
|
+
[statusCellPreset]="'compact'"
|
|
141
|
+
[statusColorAsText]="true"
|
|
142
|
+
[rowBordered]="true"
|
|
143
|
+
[columnBordered]="true"
|
|
144
|
+
[emptyStatusPlaceholder]="'·'"
|
|
145
|
+
[userAvatarPlacement]="'organization'"
|
|
146
|
+
[columnTitles]="columnTitles"
|
|
147
|
+
></srk-ranklist>
|
|
148
|
+
```
|
package/package.json
CHANGED
|
@@ -1,7 +1,13 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@algoux/standard-ranklist-renderer-component-angular",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.6.0",
|
|
4
4
|
"description": "Angular components for Standard Ranklist Renderer Component",
|
|
5
|
+
"license": "MIT",
|
|
6
|
+
"homepage": "https://github.com/algoux/standard-ranklist-renderer-component",
|
|
7
|
+
"repository": {
|
|
8
|
+
"type": "git",
|
|
9
|
+
"url": "https://github.com/algoux/standard-ranklist-renderer-component"
|
|
10
|
+
},
|
|
5
11
|
"type": "module",
|
|
6
12
|
"files": [
|
|
7
13
|
"dist"
|
|
@@ -28,7 +34,7 @@
|
|
|
28
34
|
"dependencies": {
|
|
29
35
|
"@algoux/standard-ranklist-utils": "^0.2.11",
|
|
30
36
|
"tslib": "^2.3.0",
|
|
31
|
-
"@algoux/standard-ranklist-renderer-component-core": "0.
|
|
37
|
+
"@algoux/standard-ranklist-renderer-component-core": "0.6.0"
|
|
32
38
|
},
|
|
33
39
|
"peerDependencies": {
|
|
34
40
|
"@algoux/standard-ranklist": "*",
|
|
@@ -46,7 +52,7 @@
|
|
|
46
52
|
"rxjs": "^7.8.1",
|
|
47
53
|
"typescript": "~5.4.5",
|
|
48
54
|
"zone.js": "~0.14.10",
|
|
49
|
-
"@algoux/standard-ranklist-renderer-component-styles": "0.
|
|
55
|
+
"@algoux/standard-ranklist-renderer-component-styles": "0.6.0"
|
|
50
56
|
},
|
|
51
57
|
"scripts": {
|
|
52
58
|
"build": "node ./scripts/build.mjs",
|
package/dist/README.md
DELETED
|
@@ -1,100 +0,0 @@
|
|
|
1
|
-
# @algoux/standard-ranklist-renderer-component-angular
|
|
2
|
-
|
|
3
|
-
Angular standalone components and template directives for Standard Ranklist data.
|
|
4
|
-
|
|
5
|
-
## Install
|
|
6
|
-
|
|
7
|
-
```bash
|
|
8
|
-
npm i -D @algoux/standard-ranklist
|
|
9
|
-
npm i -S @algoux/standard-ranklist-renderer-component-angular @algoux/standard-ranklist-renderer-component-core @algoux/standard-ranklist-renderer-component-styles
|
|
10
|
-
```
|
|
11
|
-
|
|
12
|
-
## Main Exports
|
|
13
|
-
|
|
14
|
-
- `RanklistComponent`
|
|
15
|
-
- `ProgressBarComponent`
|
|
16
|
-
- `ModalComponent`
|
|
17
|
-
- `DefaultUserModalComponent`
|
|
18
|
-
- `DefaultSolutionModalComponent`
|
|
19
|
-
- `SrkUserCellTemplateDirective`
|
|
20
|
-
- `SrkStatusCellTemplateDirective`
|
|
21
|
-
|
|
22
|
-
## Usage
|
|
23
|
-
|
|
24
|
-
Import the standalone components you use, and import the shared stylesheet once in your application styles or entry. `RanklistComponent` expects a static ranklist, so convert an SRK ranklist before binding it.
|
|
25
|
-
|
|
26
|
-
```ts
|
|
27
|
-
import { Component } from '@angular/core';
|
|
28
|
-
import { convertToStaticRanklist } from '@algoux/standard-ranklist-renderer-component-core';
|
|
29
|
-
import {
|
|
30
|
-
DefaultSolutionModalComponent,
|
|
31
|
-
DefaultUserModalComponent,
|
|
32
|
-
ProgressBarComponent,
|
|
33
|
-
RanklistComponent,
|
|
34
|
-
type SolutionClickPayload,
|
|
35
|
-
type UserClickPayload,
|
|
36
|
-
} from '@algoux/standard-ranklist-renderer-component-angular';
|
|
37
|
-
import '@algoux/standard-ranklist-renderer-component-styles';
|
|
38
|
-
|
|
39
|
-
@Component({
|
|
40
|
-
standalone: true,
|
|
41
|
-
imports: [
|
|
42
|
-
DefaultSolutionModalComponent,
|
|
43
|
-
DefaultUserModalComponent,
|
|
44
|
-
ProgressBarComponent,
|
|
45
|
-
RanklistComponent,
|
|
46
|
-
],
|
|
47
|
-
template: `
|
|
48
|
-
<srk-progress-bar
|
|
49
|
-
[data]="ranklist"
|
|
50
|
-
[enableTimeTravel]="true"
|
|
51
|
-
(timeTravel)="handleTimeTravel($event)"
|
|
52
|
-
></srk-progress-bar>
|
|
53
|
-
<srk-ranklist
|
|
54
|
-
[data]="staticRanklist"
|
|
55
|
-
[stripedRows]="true"
|
|
56
|
-
(userClick)="handleUserClick($event)"
|
|
57
|
-
(solutionClick)="handleSolutionClick($event)"
|
|
58
|
-
></srk-ranklist>
|
|
59
|
-
<srk-default-user-modal
|
|
60
|
-
[open]="!!activeUser"
|
|
61
|
-
[user]="activeUser?.user"
|
|
62
|
-
[markers]="staticRanklist.markers"
|
|
63
|
-
(close)="activeUser = null"
|
|
64
|
-
></srk-default-user-modal>
|
|
65
|
-
<srk-default-solution-modal
|
|
66
|
-
[open]="!!activeSolution"
|
|
67
|
-
[user]="activeSolution?.user"
|
|
68
|
-
[problem]="activeSolution?.problem"
|
|
69
|
-
[problemIndex]="activeSolution?.problemIndex ?? 0"
|
|
70
|
-
[solutions]="activeSolution?.solutions || []"
|
|
71
|
-
(close)="activeSolution = null"
|
|
72
|
-
></srk-default-solution-modal>
|
|
73
|
-
`,
|
|
74
|
-
})
|
|
75
|
-
export class BoardComponent {
|
|
76
|
-
ranklist!: any;
|
|
77
|
-
activeUser: UserClickPayload | null = null;
|
|
78
|
-
activeSolution: SolutionClickPayload | null = null;
|
|
79
|
-
|
|
80
|
-
get staticRanklist() {
|
|
81
|
-
return convertToStaticRanklist(this.ranklist);
|
|
82
|
-
}
|
|
83
|
-
|
|
84
|
-
handleTimeTravel(time: number | null) {
|
|
85
|
-
console.log(time);
|
|
86
|
-
}
|
|
87
|
-
|
|
88
|
-
handleUserClick(payload: UserClickPayload) {
|
|
89
|
-
this.activeUser = payload;
|
|
90
|
-
this.activeSolution = null;
|
|
91
|
-
}
|
|
92
|
-
|
|
93
|
-
handleSolutionClick(payload: SolutionClickPayload) {
|
|
94
|
-
this.activeSolution = payload;
|
|
95
|
-
this.activeUser = null;
|
|
96
|
-
}
|
|
97
|
-
}
|
|
98
|
-
```
|
|
99
|
-
|
|
100
|
-
Use `ModalComponent` directly when you want custom modal content. `SrkUserCellTemplateDirective` and `SrkStatusCellTemplateDirective` let you replace selected ranklist table cells with Angular templates.
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Generated bundle index. Do not edit.
|
|
3
|
-
*/
|
|
4
|
-
export * from './public-api';
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxnb3V4LXN0YW5kYXJkLXJhbmtsaXN0LXJlbmRlcmVyLWNvbXBvbmVudC1hbmd1bGFyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2FsZ291eC1zdGFuZGFyZC1yYW5rbGlzdC1yZW5kZXJlci1jb21wb25lbnQtYW5ndWxhci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3B1YmxpYy1hcGknO1xuIl19
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
export { DefaultSolutionModalComponent, } from './modal/default-solution-modal.component';
|
|
2
|
-
export { DefaultUserModalComponent, } from './modal/default-user-modal.component';
|
|
3
|
-
export { ModalComponent, } from './modal/modal.component';
|
|
4
|
-
export { ProgressBarComponent } from './progress/progress-bar.component';
|
|
5
|
-
export { RanklistComponent } from './ranklist/ranklist.component';
|
|
6
|
-
export { SrkStatusCellTemplateDirective, } from './ranklist/status-cell-template.directive';
|
|
7
|
-
export { SrkUserCellTemplateDirective, } from './ranklist/user-cell-template.directive';
|
|
8
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCw2QkFBNkIsR0FDOUIsTUFBTSwwQ0FBMEMsQ0FBQztBQUNsRCxPQUFPLEVBQ0wseUJBQXlCLEdBQzFCLE1BQU0sc0NBQXNDLENBQUM7QUFDOUMsT0FBTyxFQUNMLGNBQWMsR0FFZixNQUFNLHlCQUF5QixDQUFDO0FBQ2pDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2xFLE9BQU8sRUFDTCw4QkFBOEIsR0FFL0IsTUFBTSwyQ0FBMkMsQ0FBQztBQUNuRCxPQUFPLEVBQ0wsNEJBQTRCLEdBRTdCLE1BQU0seUNBQXlDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQge1xuICBEZWZhdWx0U29sdXRpb25Nb2RhbENvbXBvbmVudCxcbn0gZnJvbSAnLi9tb2RhbC9kZWZhdWx0LXNvbHV0aW9uLW1vZGFsLmNvbXBvbmVudCc7XG5leHBvcnQge1xuICBEZWZhdWx0VXNlck1vZGFsQ29tcG9uZW50LFxufSBmcm9tICcuL21vZGFsL2RlZmF1bHQtdXNlci1tb2RhbC5jb21wb25lbnQnO1xuZXhwb3J0IHtcbiAgTW9kYWxDb21wb25lbnQsXG4gIHR5cGUgTW9kYWxDbG9zZVJlYXNvbixcbn0gZnJvbSAnLi9tb2RhbC9tb2RhbC5jb21wb25lbnQnO1xuZXhwb3J0IHsgUHJvZ3Jlc3NCYXJDb21wb25lbnQgfSBmcm9tICcuL3Byb2dyZXNzL3Byb2dyZXNzLWJhci5jb21wb25lbnQnO1xuZXhwb3J0IHsgUmFua2xpc3RDb21wb25lbnQgfSBmcm9tICcuL3JhbmtsaXN0L3JhbmtsaXN0LmNvbXBvbmVudCc7XG5leHBvcnQge1xuICBTcmtTdGF0dXNDZWxsVGVtcGxhdGVEaXJlY3RpdmUsXG4gIHR5cGUgU3RhdHVzQ2VsbFRlbXBsYXRlQ29udGV4dCxcbn0gZnJvbSAnLi9yYW5rbGlzdC9zdGF0dXMtY2VsbC10ZW1wbGF0ZS5kaXJlY3RpdmUnO1xuZXhwb3J0IHtcbiAgU3JrVXNlckNlbGxUZW1wbGF0ZURpcmVjdGl2ZSxcbiAgdHlwZSBVc2VyQ2VsbFRlbXBsYXRlQ29udGV4dCxcbn0gZnJvbSAnLi9yYW5rbGlzdC91c2VyLWNlbGwtdGVtcGxhdGUuZGlyZWN0aXZlJztcbmV4cG9ydCB0eXBlIHtcbiAgUmFua1ZhbHVlLFxuICBTb2x1dGlvbkNsaWNrUGF5bG9hZCxcbiAgU3RhdGljUmFua2xpc3QsXG4gIFVzZXJDbGlja1BheWxvYWQsXG59IGZyb20gJy4vdHlwZXMnO1xuIl19
|
|
@@ -1,146 +0,0 @@
|
|
|
1
|
-
import { CommonModule } from '@angular/common';
|
|
2
|
-
import { Component, EventEmitter, Input, Output, } from '@angular/core';
|
|
3
|
-
import { formatSolutionTimestamp, getSolutionModalTitle, getSolutionResultMeta, } from '../ranklist/ranklist-utils';
|
|
4
|
-
import { ModalComponent, } from './modal.component';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
import * as i1 from "@angular/common";
|
|
7
|
-
export class DefaultSolutionModalComponent {
|
|
8
|
-
open = false;
|
|
9
|
-
user;
|
|
10
|
-
problem;
|
|
11
|
-
problemIndex = 0;
|
|
12
|
-
solutions = [];
|
|
13
|
-
title;
|
|
14
|
-
width = 320;
|
|
15
|
-
rootClassName = 'srk-general-modal-root';
|
|
16
|
-
wrapClassName = 'srk-solutions-modal';
|
|
17
|
-
panelStyle = {};
|
|
18
|
-
openChange = new EventEmitter();
|
|
19
|
-
close = new EventEmitter();
|
|
20
|
-
formatSolutionTimestamp = formatSolutionTimestamp;
|
|
21
|
-
cachedUser = null;
|
|
22
|
-
cachedProblem;
|
|
23
|
-
cachedProblemIndex = 0;
|
|
24
|
-
cachedSolutions = [];
|
|
25
|
-
ngOnChanges(_changes) {
|
|
26
|
-
if (this.user) {
|
|
27
|
-
this.cachedUser = this.user;
|
|
28
|
-
this.cachedProblem = this.problem;
|
|
29
|
-
this.cachedProblemIndex = this.problemIndex;
|
|
30
|
-
this.cachedSolutions = this.solutions;
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
resolvedTitle() {
|
|
34
|
-
return this.title || (this.cachedUser ? getSolutionModalTitle(this.cachedProblemIndex, this.cachedUser) : '');
|
|
35
|
-
}
|
|
36
|
-
solutionMeta(solution) {
|
|
37
|
-
return getSolutionResultMeta(solution.result);
|
|
38
|
-
}
|
|
39
|
-
trackBySolution(index, solution) {
|
|
40
|
-
return `${solution.result}_${solution.time?.[0]}_${index}`;
|
|
41
|
-
}
|
|
42
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DefaultSolutionModalComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
43
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: DefaultSolutionModalComponent, isStandalone: true, selector: "srk-default-solution-modal", inputs: { open: "open", user: "user", problem: "problem", problemIndex: "problemIndex", solutions: "solutions", title: "title", width: "width", rootClassName: "rootClassName", wrapClassName: "wrapClassName", panelStyle: "panelStyle" }, outputs: { openChange: "openChange", close: "close" }, usesOnChanges: true, ngImport: i0, template: `
|
|
44
|
-
<srk-modal
|
|
45
|
-
*ngIf="cachedUser"
|
|
46
|
-
[open]="open"
|
|
47
|
-
[title]="resolvedTitle()"
|
|
48
|
-
[width]="width"
|
|
49
|
-
[rootClassName]="rootClassName"
|
|
50
|
-
[wrapClassName]="wrapClassName"
|
|
51
|
-
[panelStyle]="panelStyle"
|
|
52
|
-
(close)="close.emit($event)"
|
|
53
|
-
(openChange)="openChange.emit($event)"
|
|
54
|
-
>
|
|
55
|
-
<table class="srk-common-table srk-solutions-table">
|
|
56
|
-
<thead>
|
|
57
|
-
<tr>
|
|
58
|
-
<th class="srk--text-left">Result</th>
|
|
59
|
-
<th class="srk--text-right">Time</th>
|
|
60
|
-
</tr>
|
|
61
|
-
</thead>
|
|
62
|
-
<tbody>
|
|
63
|
-
<tr *ngFor="let solution of cachedSolutions; let index = index; trackBy: trackBySolution">
|
|
64
|
-
<td>
|
|
65
|
-
<span
|
|
66
|
-
class="srk-solution-result-text"
|
|
67
|
-
[ngClass]="solutionMeta(solution).className"
|
|
68
|
-
>
|
|
69
|
-
{{ solutionMeta(solution).label }}
|
|
70
|
-
</span>
|
|
71
|
-
</td>
|
|
72
|
-
<td class="srk--text-right">{{ formatSolutionTimestamp(solution) }}</td>
|
|
73
|
-
</tr>
|
|
74
|
-
</tbody>
|
|
75
|
-
</table>
|
|
76
|
-
</srk-modal>
|
|
77
|
-
`, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ModalComponent, selector: "srk-modal", inputs: ["open", "title", "width", "rootClassName", "wrapClassName", "destroyOnClose", "closeOnEsc", "closeOnMaskClick", "panelStyle"], outputs: ["openChange", "close"] }] });
|
|
78
|
-
}
|
|
79
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DefaultSolutionModalComponent, decorators: [{
|
|
80
|
-
type: Component,
|
|
81
|
-
args: [{
|
|
82
|
-
selector: 'srk-default-solution-modal',
|
|
83
|
-
standalone: true,
|
|
84
|
-
imports: [CommonModule, ModalComponent],
|
|
85
|
-
template: `
|
|
86
|
-
<srk-modal
|
|
87
|
-
*ngIf="cachedUser"
|
|
88
|
-
[open]="open"
|
|
89
|
-
[title]="resolvedTitle()"
|
|
90
|
-
[width]="width"
|
|
91
|
-
[rootClassName]="rootClassName"
|
|
92
|
-
[wrapClassName]="wrapClassName"
|
|
93
|
-
[panelStyle]="panelStyle"
|
|
94
|
-
(close)="close.emit($event)"
|
|
95
|
-
(openChange)="openChange.emit($event)"
|
|
96
|
-
>
|
|
97
|
-
<table class="srk-common-table srk-solutions-table">
|
|
98
|
-
<thead>
|
|
99
|
-
<tr>
|
|
100
|
-
<th class="srk--text-left">Result</th>
|
|
101
|
-
<th class="srk--text-right">Time</th>
|
|
102
|
-
</tr>
|
|
103
|
-
</thead>
|
|
104
|
-
<tbody>
|
|
105
|
-
<tr *ngFor="let solution of cachedSolutions; let index = index; trackBy: trackBySolution">
|
|
106
|
-
<td>
|
|
107
|
-
<span
|
|
108
|
-
class="srk-solution-result-text"
|
|
109
|
-
[ngClass]="solutionMeta(solution).className"
|
|
110
|
-
>
|
|
111
|
-
{{ solutionMeta(solution).label }}
|
|
112
|
-
</span>
|
|
113
|
-
</td>
|
|
114
|
-
<td class="srk--text-right">{{ formatSolutionTimestamp(solution) }}</td>
|
|
115
|
-
</tr>
|
|
116
|
-
</tbody>
|
|
117
|
-
</table>
|
|
118
|
-
</srk-modal>
|
|
119
|
-
`,
|
|
120
|
-
}]
|
|
121
|
-
}], propDecorators: { open: [{
|
|
122
|
-
type: Input
|
|
123
|
-
}], user: [{
|
|
124
|
-
type: Input
|
|
125
|
-
}], problem: [{
|
|
126
|
-
type: Input
|
|
127
|
-
}], problemIndex: [{
|
|
128
|
-
type: Input
|
|
129
|
-
}], solutions: [{
|
|
130
|
-
type: Input
|
|
131
|
-
}], title: [{
|
|
132
|
-
type: Input
|
|
133
|
-
}], width: [{
|
|
134
|
-
type: Input
|
|
135
|
-
}], rootClassName: [{
|
|
136
|
-
type: Input
|
|
137
|
-
}], wrapClassName: [{
|
|
138
|
-
type: Input
|
|
139
|
-
}], panelStyle: [{
|
|
140
|
-
type: Input
|
|
141
|
-
}], openChange: [{
|
|
142
|
-
type: Output
|
|
143
|
-
}], close: [{
|
|
144
|
-
type: Output
|
|
145
|
-
}] } });
|
|
146
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdC1zb2x1dGlvbi1tb2RhbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL21vZGFsL2RlZmF1bHQtc29sdXRpb24tbW9kYWwuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQ0wsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBRUwsTUFBTSxHQUVQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIscUJBQXFCLEVBQ3JCLHFCQUFxQixHQUV0QixNQUFNLDRCQUE0QixDQUFDO0FBQ3BDLE9BQU8sRUFDTCxjQUFjLEdBRWYsTUFBTSxtQkFBbUIsQ0FBQzs7O0FBMEMzQixNQUFNLE9BQU8sNkJBQTZCO0lBQy9CLElBQUksR0FBRyxLQUFLLENBQUM7SUFDYixJQUFJLENBQW1CO0lBQ3ZCLE9BQU8sQ0FBZTtJQUN0QixZQUFZLEdBQUcsQ0FBQyxDQUFDO0lBQ2pCLFNBQVMsR0FBbUIsRUFBRSxDQUFDO0lBQy9CLEtBQUssQ0FBVTtJQUNmLEtBQUssR0FBRyxHQUFHLENBQUM7SUFDWixhQUFhLEdBQUcsd0JBQXdCLENBQUM7SUFDekMsYUFBYSxHQUFHLHFCQUFxQixDQUFDO0lBQ3RDLFVBQVUsR0FBb0MsRUFBRSxDQUFDO0lBRWhELFVBQVUsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO0lBQ3pDLEtBQUssR0FBRyxJQUFJLFlBQVksRUFBb0IsQ0FBQztJQUU5Qyx1QkFBdUIsR0FBRyx1QkFBdUIsQ0FBQztJQUMzRCxVQUFVLEdBQW9CLElBQUksQ0FBQztJQUNuQyxhQUFhLENBQWU7SUFDNUIsa0JBQWtCLEdBQUcsQ0FBQyxDQUFDO0lBQ3ZCLGVBQWUsR0FBbUIsRUFBRSxDQUFDO0lBRXJDLFdBQVcsQ0FBQyxRQUF1QjtRQUNqQyxJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNkLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQztZQUM1QixJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUM7WUFDbEMsSUFBSSxDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQyxZQUFZLENBQUM7WUFDNUMsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDO1FBQ3hDLENBQUM7SUFDSCxDQUFDO0lBRUQsYUFBYTtRQUNYLE9BQU8sSUFBSSxDQUFDLEtBQUssSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLHFCQUFxQixDQUFDLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ2hILENBQUM7SUFFRCxZQUFZLENBQUMsUUFBc0I7UUFDakMsT0FBTyxxQkFBcUIsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDaEQsQ0FBQztJQUVELGVBQWUsQ0FBQyxLQUFhLEVBQUUsUUFBc0I7UUFDbkQsT0FBTyxHQUFHLFFBQVEsQ0FBQyxNQUFNLElBQUksUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssRUFBRSxDQUFDO0lBQzdELENBQUM7d0dBeENVLDZCQUE2Qjs0RkFBN0IsNkJBQTZCLDhZQXBDOUI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FrQ1QsMkRBbkNTLFlBQVksOFZBQUUsY0FBYzs7NEZBcUMzQiw2QkFBNkI7a0JBeEN6QyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSw0QkFBNEI7b0JBQ3RDLFVBQVUsRUFBRSxJQUFJO29CQUNoQixPQUFPLEVBQUUsQ0FBQyxZQUFZLEVBQUUsY0FBYyxDQUFDO29CQUN2QyxRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FrQ1Q7aUJBQ0Y7OEJBRVUsSUFBSTtzQkFBWixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBRUksVUFBVTtzQkFBbkIsTUFBTTtnQkFDRyxLQUFLO3NCQUFkLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSAqIGFzIHNyayBmcm9tICdAYWxnb3V4L3N0YW5kYXJkLXJhbmtsaXN0JztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE9uQ2hhbmdlcyxcbiAgT3V0cHV0LFxuICBTaW1wbGVDaGFuZ2VzLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIGZvcm1hdFNvbHV0aW9uVGltZXN0YW1wLFxuICBnZXRTb2x1dGlvbk1vZGFsVGl0bGUsXG4gIGdldFNvbHV0aW9uUmVzdWx0TWV0YSxcbiAgdHlwZSBTb2x1dGlvblJlc3VsdE1ldGEsXG59IGZyb20gJy4uL3JhbmtsaXN0L3JhbmtsaXN0LXV0aWxzJztcbmltcG9ydCB7XG4gIE1vZGFsQ29tcG9uZW50LFxuICB0eXBlIE1vZGFsQ2xvc2VSZWFzb24sXG59IGZyb20gJy4vbW9kYWwuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc3JrLWRlZmF1bHQtc29sdXRpb24tbW9kYWwnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBNb2RhbENvbXBvbmVudF0sXG4gIHRlbXBsYXRlOiBgXG4gICAgPHNyay1tb2RhbFxuICAgICAgKm5nSWY9XCJjYWNoZWRVc2VyXCJcbiAgICAgIFtvcGVuXT1cIm9wZW5cIlxuICAgICAgW3RpdGxlXT1cInJlc29sdmVkVGl0bGUoKVwiXG4gICAgICBbd2lkdGhdPVwid2lkdGhcIlxuICAgICAgW3Jvb3RDbGFzc05hbWVdPVwicm9vdENsYXNzTmFtZVwiXG4gICAgICBbd3JhcENsYXNzTmFtZV09XCJ3cmFwQ2xhc3NOYW1lXCJcbiAgICAgIFtwYW5lbFN0eWxlXT1cInBhbmVsU3R5bGVcIlxuICAgICAgKGNsb3NlKT1cImNsb3NlLmVtaXQoJGV2ZW50KVwiXG4gICAgICAob3BlbkNoYW5nZSk9XCJvcGVuQ2hhbmdlLmVtaXQoJGV2ZW50KVwiXG4gICAgPlxuICAgICAgPHRhYmxlIGNsYXNzPVwic3JrLWNvbW1vbi10YWJsZSBzcmstc29sdXRpb25zLXRhYmxlXCI+XG4gICAgICAgIDx0aGVhZD5cbiAgICAgICAgICA8dHI+XG4gICAgICAgICAgICA8dGggY2xhc3M9XCJzcmstLXRleHQtbGVmdFwiPlJlc3VsdDwvdGg+XG4gICAgICAgICAgICA8dGggY2xhc3M9XCJzcmstLXRleHQtcmlnaHRcIj5UaW1lPC90aD5cbiAgICAgICAgICA8L3RyPlxuICAgICAgICA8L3RoZWFkPlxuICAgICAgICA8dGJvZHk+XG4gICAgICAgICAgPHRyICpuZ0Zvcj1cImxldCBzb2x1dGlvbiBvZiBjYWNoZWRTb2x1dGlvbnM7IGxldCBpbmRleCA9IGluZGV4OyB0cmFja0J5OiB0cmFja0J5U29sdXRpb25cIj5cbiAgICAgICAgICAgIDx0ZD5cbiAgICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgICBjbGFzcz1cInNyay1zb2x1dGlvbi1yZXN1bHQtdGV4dFwiXG4gICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwic29sdXRpb25NZXRhKHNvbHV0aW9uKS5jbGFzc05hbWVcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge3sgc29sdXRpb25NZXRhKHNvbHV0aW9uKS5sYWJlbCB9fVxuICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICA8L3RkPlxuICAgICAgICAgICAgPHRkIGNsYXNzPVwic3JrLS10ZXh0LXJpZ2h0XCI+e3sgZm9ybWF0U29sdXRpb25UaW1lc3RhbXAoc29sdXRpb24pIH19PC90ZD5cbiAgICAgICAgICA8L3RyPlxuICAgICAgICA8L3Rib2R5PlxuICAgICAgPC90YWJsZT5cbiAgICA8L3Nyay1tb2RhbD5cbiAgYCxcbn0pXG5leHBvcnQgY2xhc3MgRGVmYXVsdFNvbHV0aW9uTW9kYWxDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xuICBASW5wdXQoKSBvcGVuID0gZmFsc2U7XG4gIEBJbnB1dCgpIHVzZXI/OiBzcmsuVXNlciB8IG51bGw7XG4gIEBJbnB1dCgpIHByb2JsZW0/OiBzcmsuUHJvYmxlbTtcbiAgQElucHV0KCkgcHJvYmxlbUluZGV4ID0gMDtcbiAgQElucHV0KCkgc29sdXRpb25zOiBzcmsuU29sdXRpb25bXSA9IFtdO1xuICBASW5wdXQoKSB0aXRsZT86IHN0cmluZztcbiAgQElucHV0KCkgd2lkdGggPSAzMjA7XG4gIEBJbnB1dCgpIHJvb3RDbGFzc05hbWUgPSAnc3JrLWdlbmVyYWwtbW9kYWwtcm9vdCc7XG4gIEBJbnB1dCgpIHdyYXBDbGFzc05hbWUgPSAnc3JrLXNvbHV0aW9ucy1tb2RhbCc7XG4gIEBJbnB1dCgpIHBhbmVsU3R5bGU6IFJlY29yZDxzdHJpbmcsIHN0cmluZyB8IG51bWJlcj4gPSB7fTtcblxuICBAT3V0cHV0KCkgb3BlbkNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcbiAgQE91dHB1dCgpIGNsb3NlID0gbmV3IEV2ZW50RW1pdHRlcjxNb2RhbENsb3NlUmVhc29uPigpO1xuXG4gIHJlYWRvbmx5IGZvcm1hdFNvbHV0aW9uVGltZXN0YW1wID0gZm9ybWF0U29sdXRpb25UaW1lc3RhbXA7XG4gIGNhY2hlZFVzZXI6IHNyay5Vc2VyIHwgbnVsbCA9IG51bGw7XG4gIGNhY2hlZFByb2JsZW0/OiBzcmsuUHJvYmxlbTtcbiAgY2FjaGVkUHJvYmxlbUluZGV4ID0gMDtcbiAgY2FjaGVkU29sdXRpb25zOiBzcmsuU29sdXRpb25bXSA9IFtdO1xuXG4gIG5nT25DaGFuZ2VzKF9jaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgaWYgKHRoaXMudXNlcikge1xuICAgICAgdGhpcy5jYWNoZWRVc2VyID0gdGhpcy51c2VyO1xuICAgICAgdGhpcy5jYWNoZWRQcm9ibGVtID0gdGhpcy5wcm9ibGVtO1xuICAgICAgdGhpcy5jYWNoZWRQcm9ibGVtSW5kZXggPSB0aGlzLnByb2JsZW1JbmRleDtcbiAgICAgIHRoaXMuY2FjaGVkU29sdXRpb25zID0gdGhpcy5zb2x1dGlvbnM7XG4gICAgfVxuICB9XG5cbiAgcmVzb2x2ZWRUaXRsZSgpIHtcbiAgICByZXR1cm4gdGhpcy50aXRsZSB8fCAodGhpcy5jYWNoZWRVc2VyID8gZ2V0U29sdXRpb25Nb2RhbFRpdGxlKHRoaXMuY2FjaGVkUHJvYmxlbUluZGV4LCB0aGlzLmNhY2hlZFVzZXIpIDogJycpO1xuICB9XG5cbiAgc29sdXRpb25NZXRhKHNvbHV0aW9uOiBzcmsuU29sdXRpb24pOiBTb2x1dGlvblJlc3VsdE1ldGEge1xuICAgIHJldHVybiBnZXRTb2x1dGlvblJlc3VsdE1ldGEoc29sdXRpb24ucmVzdWx0KTtcbiAgfVxuXG4gIHRyYWNrQnlTb2x1dGlvbihpbmRleDogbnVtYmVyLCBzb2x1dGlvbjogc3JrLlNvbHV0aW9uKSB7XG4gICAgcmV0dXJuIGAke3NvbHV0aW9uLnJlc3VsdH1fJHtzb2x1dGlvbi50aW1lPy5bMF19XyR7aW5kZXh9YDtcbiAgfVxufVxuIl19
|
|
@@ -1,172 +0,0 @@
|
|
|
1
|
-
import { CommonModule } from '@angular/common';
|
|
2
|
-
import { Component, EventEmitter, Input, Output, } from '@angular/core';
|
|
3
|
-
import { EnumTheme, resolveText, resolveUserMarkers, } from '@algoux/standard-ranklist-utils';
|
|
4
|
-
import { getMarkerPresentation, resolveSrkAssetUrl, } from '../ranklist/ranklist-utils';
|
|
5
|
-
import { ModalComponent, } from './modal.component';
|
|
6
|
-
import * as i0 from "@angular/core";
|
|
7
|
-
import * as i1 from "@angular/common";
|
|
8
|
-
export class DefaultUserModalComponent {
|
|
9
|
-
open = false;
|
|
10
|
-
user;
|
|
11
|
-
markers = [];
|
|
12
|
-
theme = EnumTheme.light;
|
|
13
|
-
title = 'User Info';
|
|
14
|
-
width = 420;
|
|
15
|
-
rootClassName = 'srk-general-modal-root';
|
|
16
|
-
wrapClassName = 'srk-user-modal';
|
|
17
|
-
panelStyle = {};
|
|
18
|
-
formatSrkAssetUrl;
|
|
19
|
-
openChange = new EventEmitter();
|
|
20
|
-
close = new EventEmitter();
|
|
21
|
-
resolveText = resolveText;
|
|
22
|
-
cachedUser = null;
|
|
23
|
-
ngOnChanges(_changes) {
|
|
24
|
-
if (this.user) {
|
|
25
|
-
this.cachedUser = this.user;
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
resolvedMarkers() {
|
|
29
|
-
if (!this.cachedUser) {
|
|
30
|
-
return [];
|
|
31
|
-
}
|
|
32
|
-
return resolveUserMarkers(this.cachedUser, this.markers).map((marker) => ({
|
|
33
|
-
marker,
|
|
34
|
-
presentation: getMarkerPresentation(marker, this.theme),
|
|
35
|
-
}));
|
|
36
|
-
}
|
|
37
|
-
formatAssetUrl(url, field) {
|
|
38
|
-
return resolveSrkAssetUrl(url, field, this.formatSrkAssetUrl);
|
|
39
|
-
}
|
|
40
|
-
trackByMarkerId(_index, entry) {
|
|
41
|
-
return entry.marker.id;
|
|
42
|
-
}
|
|
43
|
-
trackByMemberName(_index, member) {
|
|
44
|
-
return resolveText(member.name);
|
|
45
|
-
}
|
|
46
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DefaultUserModalComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
47
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: DefaultUserModalComponent, isStandalone: true, selector: "srk-default-user-modal", inputs: { open: "open", user: "user", markers: "markers", theme: "theme", title: "title", width: "width", rootClassName: "rootClassName", wrapClassName: "wrapClassName", panelStyle: "panelStyle", formatSrkAssetUrl: "formatSrkAssetUrl" }, outputs: { openChange: "openChange", close: "close" }, usesOnChanges: true, ngImport: i0, template: `
|
|
48
|
-
<srk-modal
|
|
49
|
-
*ngIf="cachedUser as modalUser"
|
|
50
|
-
[open]="open"
|
|
51
|
-
[title]="title"
|
|
52
|
-
[width]="width"
|
|
53
|
-
[rootClassName]="rootClassName"
|
|
54
|
-
[wrapClassName]="wrapClassName"
|
|
55
|
-
[panelStyle]="panelStyle"
|
|
56
|
-
(close)="close.emit($event)"
|
|
57
|
-
(openChange)="openChange.emit($event)"
|
|
58
|
-
>
|
|
59
|
-
<div class="srk-user-modal-info">
|
|
60
|
-
<h3 class="srk-user-modal-info-user-name">{{ resolveText(modalUser.name) }}</h3>
|
|
61
|
-
<p *ngIf="modalUser.organization" class="srk-user-modal-info-user-second-name">
|
|
62
|
-
{{ resolveText(modalUser.organization) }}
|
|
63
|
-
</p>
|
|
64
|
-
<div class="srk-user-modal-info-labels">
|
|
65
|
-
<span class="srk-user-modal-info-labels-label srk-user-modal-info-labels-label-preset-general">
|
|
66
|
-
{{ modalUser.official === false ? '* 非正式参加者' : '正式参加者' }}
|
|
67
|
-
</span>
|
|
68
|
-
<span
|
|
69
|
-
*ngFor="let entry of resolvedMarkers(); trackBy: trackByMarkerId"
|
|
70
|
-
class="srk-user-modal-info-labels-label"
|
|
71
|
-
[ngClass]="entry.presentation.className"
|
|
72
|
-
[ngStyle]="entry.presentation.style"
|
|
73
|
-
>
|
|
74
|
-
{{ resolveText(entry.marker.label) }}
|
|
75
|
-
</span>
|
|
76
|
-
</div>
|
|
77
|
-
<div *ngIf="modalUser.teamMembers?.length" class="srk-user-modal-info-team-members">
|
|
78
|
-
<ng-container *ngFor="let member of modalUser.teamMembers; let index = index; trackBy: trackByMemberName">
|
|
79
|
-
<span *ngIf="index > 0" class="srk-user-modal-info-team-members-slash"> / </span>
|
|
80
|
-
<span>{{ resolveText(member.name) }}</span>
|
|
81
|
-
</ng-container>
|
|
82
|
-
</div>
|
|
83
|
-
<div *ngIf="modalUser.photo" class="srk-user-modal-info-photo">
|
|
84
|
-
<img
|
|
85
|
-
[src]="formatAssetUrl(modalUser.photo, 'user.photo')"
|
|
86
|
-
alt="User portrait"
|
|
87
|
-
class="srk-user-modal-info-photo-img"
|
|
88
|
-
/>
|
|
89
|
-
</div>
|
|
90
|
-
</div>
|
|
91
|
-
</srk-modal>
|
|
92
|
-
`, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: ModalComponent, selector: "srk-modal", inputs: ["open", "title", "width", "rootClassName", "wrapClassName", "destroyOnClose", "closeOnEsc", "closeOnMaskClick", "panelStyle"], outputs: ["openChange", "close"] }] });
|
|
93
|
-
}
|
|
94
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DefaultUserModalComponent, decorators: [{
|
|
95
|
-
type: Component,
|
|
96
|
-
args: [{
|
|
97
|
-
selector: 'srk-default-user-modal',
|
|
98
|
-
standalone: true,
|
|
99
|
-
imports: [CommonModule, ModalComponent],
|
|
100
|
-
template: `
|
|
101
|
-
<srk-modal
|
|
102
|
-
*ngIf="cachedUser as modalUser"
|
|
103
|
-
[open]="open"
|
|
104
|
-
[title]="title"
|
|
105
|
-
[width]="width"
|
|
106
|
-
[rootClassName]="rootClassName"
|
|
107
|
-
[wrapClassName]="wrapClassName"
|
|
108
|
-
[panelStyle]="panelStyle"
|
|
109
|
-
(close)="close.emit($event)"
|
|
110
|
-
(openChange)="openChange.emit($event)"
|
|
111
|
-
>
|
|
112
|
-
<div class="srk-user-modal-info">
|
|
113
|
-
<h3 class="srk-user-modal-info-user-name">{{ resolveText(modalUser.name) }}</h3>
|
|
114
|
-
<p *ngIf="modalUser.organization" class="srk-user-modal-info-user-second-name">
|
|
115
|
-
{{ resolveText(modalUser.organization) }}
|
|
116
|
-
</p>
|
|
117
|
-
<div class="srk-user-modal-info-labels">
|
|
118
|
-
<span class="srk-user-modal-info-labels-label srk-user-modal-info-labels-label-preset-general">
|
|
119
|
-
{{ modalUser.official === false ? '* 非正式参加者' : '正式参加者' }}
|
|
120
|
-
</span>
|
|
121
|
-
<span
|
|
122
|
-
*ngFor="let entry of resolvedMarkers(); trackBy: trackByMarkerId"
|
|
123
|
-
class="srk-user-modal-info-labels-label"
|
|
124
|
-
[ngClass]="entry.presentation.className"
|
|
125
|
-
[ngStyle]="entry.presentation.style"
|
|
126
|
-
>
|
|
127
|
-
{{ resolveText(entry.marker.label) }}
|
|
128
|
-
</span>
|
|
129
|
-
</div>
|
|
130
|
-
<div *ngIf="modalUser.teamMembers?.length" class="srk-user-modal-info-team-members">
|
|
131
|
-
<ng-container *ngFor="let member of modalUser.teamMembers; let index = index; trackBy: trackByMemberName">
|
|
132
|
-
<span *ngIf="index > 0" class="srk-user-modal-info-team-members-slash"> / </span>
|
|
133
|
-
<span>{{ resolveText(member.name) }}</span>
|
|
134
|
-
</ng-container>
|
|
135
|
-
</div>
|
|
136
|
-
<div *ngIf="modalUser.photo" class="srk-user-modal-info-photo">
|
|
137
|
-
<img
|
|
138
|
-
[src]="formatAssetUrl(modalUser.photo, 'user.photo')"
|
|
139
|
-
alt="User portrait"
|
|
140
|
-
class="srk-user-modal-info-photo-img"
|
|
141
|
-
/>
|
|
142
|
-
</div>
|
|
143
|
-
</div>
|
|
144
|
-
</srk-modal>
|
|
145
|
-
`,
|
|
146
|
-
}]
|
|
147
|
-
}], propDecorators: { open: [{
|
|
148
|
-
type: Input
|
|
149
|
-
}], user: [{
|
|
150
|
-
type: Input
|
|
151
|
-
}], markers: [{
|
|
152
|
-
type: Input
|
|
153
|
-
}], theme: [{
|
|
154
|
-
type: Input
|
|
155
|
-
}], title: [{
|
|
156
|
-
type: Input
|
|
157
|
-
}], width: [{
|
|
158
|
-
type: Input
|
|
159
|
-
}], rootClassName: [{
|
|
160
|
-
type: Input
|
|
161
|
-
}], wrapClassName: [{
|
|
162
|
-
type: Input
|
|
163
|
-
}], panelStyle: [{
|
|
164
|
-
type: Input
|
|
165
|
-
}], formatSrkAssetUrl: [{
|
|
166
|
-
type: Input
|
|
167
|
-
}], openChange: [{
|
|
168
|
-
type: Output
|
|
169
|
-
}], close: [{
|
|
170
|
-
type: Output
|
|
171
|
-
}] } });
|
|
172
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdC11c2VyLW1vZGFsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvbW9kYWwvZGVmYXVsdC11c2VyLW1vZGFsLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUVMLE1BQU0sR0FFUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0wsU0FBUyxFQUNULFdBQVcsRUFDWCxrQkFBa0IsR0FDbkIsTUFBTSxpQ0FBaUMsQ0FBQztBQUN6QyxPQUFPLEVBQ0wscUJBQXFCLEVBRXJCLGtCQUFrQixHQUNuQixNQUFNLDRCQUE0QixDQUFDO0FBQ3BDLE9BQU8sRUFDTCxjQUFjLEdBRWYsTUFBTSxtQkFBbUIsQ0FBQzs7O0FBMEQzQixNQUFNLE9BQU8seUJBQXlCO0lBQzNCLElBQUksR0FBRyxLQUFLLENBQUM7SUFDYixJQUFJLENBQW1CO0lBQ3ZCLE9BQU8sR0FBaUIsRUFBRSxDQUFDO0lBQzNCLEtBQUssR0FBRyxTQUFTLENBQUMsS0FBSyxDQUFDO0lBQ3hCLEtBQUssR0FBRyxXQUFXLENBQUM7SUFDcEIsS0FBSyxHQUFHLEdBQUcsQ0FBQztJQUNaLGFBQWEsR0FBRyx3QkFBd0IsQ0FBQztJQUN6QyxhQUFhLEdBQUcsZ0JBQWdCLENBQUM7SUFDakMsVUFBVSxHQUFvQyxFQUFFLENBQUM7SUFDakQsaUJBQWlCLENBQTBDO0lBRTFELFVBQVUsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO0lBQ3pDLEtBQUssR0FBRyxJQUFJLFlBQVksRUFBb0IsQ0FBQztJQUU5QyxXQUFXLEdBQUcsV0FBVyxDQUFDO0lBQ25DLFVBQVUsR0FBb0IsSUFBSSxDQUFDO0lBRW5DLFdBQVcsQ0FBQyxRQUF1QjtRQUNqQyxJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNkLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQztRQUM5QixDQUFDO0lBQ0gsQ0FBQztJQUVELGVBQWU7UUFDYixJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ3JCLE9BQU8sRUFBRSxDQUFDO1FBQ1osQ0FBQztRQUNELE9BQU8sa0JBQWtCLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQ3hFLE1BQU07WUFDTixZQUFZLEVBQUUscUJBQXFCLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUM7U0FDeEQsQ0FBQyxDQUFDLENBQUM7SUFDTixDQUFDO0lBRUQsY0FBYyxDQUFDLEdBQVcsRUFBRSxLQUFhO1FBQ3ZDLE9BQU8sa0JBQWtCLENBQUMsR0FBRyxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUNoRSxDQUFDO0lBRUQsZUFBZSxDQUFDLE1BQWMsRUFBRSxLQUFxQjtRQUNuRCxPQUFPLEtBQUssQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO0lBQ3pCLENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxNQUFjLEVBQUUsTUFBd0I7UUFDeEQsT0FBTyxXQUFXLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2xDLENBQUM7d0dBNUNVLHlCQUF5Qjs0RkFBekIseUJBQXlCLDRZQS9DMUI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQTZDVCwyREE5Q1MsWUFBWSxtYkFBRSxjQUFjOzs0RkFnRDNCLHlCQUF5QjtrQkFuRHJDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHdCQUF3QjtvQkFDbEMsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxjQUFjLENBQUM7b0JBQ3ZDLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBNkNUO2lCQUNGOzhCQUVVLElBQUk7c0JBQVosS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLGlCQUFpQjtzQkFBekIsS0FBSztnQkFFSSxVQUFVO3NCQUFuQixNQUFNO2dCQUNHLEtBQUs7c0JBQWQsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlICogYXMgc3JrIGZyb20gJ0BhbGdvdXgvc3RhbmRhcmQtcmFua2xpc3QnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT25DaGFuZ2VzLFxuICBPdXRwdXQsXG4gIFNpbXBsZUNoYW5nZXMsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgRW51bVRoZW1lLFxuICByZXNvbHZlVGV4dCxcbiAgcmVzb2x2ZVVzZXJNYXJrZXJzLFxufSBmcm9tICdAYWxnb3V4L3N0YW5kYXJkLXJhbmtsaXN0LXV0aWxzJztcbmltcG9ydCB7XG4gIGdldE1hcmtlclByZXNlbnRhdGlvbixcbiAgdHlwZSBNYXJrZXJQcmVzZW50YXRpb24sXG4gIHJlc29sdmVTcmtBc3NldFVybCxcbn0gZnJvbSAnLi4vcmFua2xpc3QvcmFua2xpc3QtdXRpbHMnO1xuaW1wb3J0IHtcbiAgTW9kYWxDb21wb25lbnQsXG4gIHR5cGUgTW9kYWxDbG9zZVJlYXNvbixcbn0gZnJvbSAnLi9tb2RhbC5jb21wb25lbnQnO1xuXG5pbnRlcmZhY2UgUmVzb2x2ZWRNYXJrZXIge1xuICBtYXJrZXI6IHNyay5NYXJrZXI7XG4gIHByZXNlbnRhdGlvbjogTWFya2VyUHJlc2VudGF0aW9uO1xufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzcmstZGVmYXVsdC11c2VyLW1vZGFsJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgTW9kYWxDb21wb25lbnRdLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxzcmstbW9kYWxcbiAgICAgICpuZ0lmPVwiY2FjaGVkVXNlciBhcyBtb2RhbFVzZXJcIlxuICAgICAgW29wZW5dPVwib3BlblwiXG4gICAgICBbdGl0bGVdPVwidGl0bGVcIlxuICAgICAgW3dpZHRoXT1cIndpZHRoXCJcbiAgICAgIFtyb290Q2xhc3NOYW1lXT1cInJvb3RDbGFzc05hbWVcIlxuICAgICAgW3dyYXBDbGFzc05hbWVdPVwid3JhcENsYXNzTmFtZVwiXG4gICAgICBbcGFuZWxTdHlsZV09XCJwYW5lbFN0eWxlXCJcbiAgICAgIChjbG9zZSk9XCJjbG9zZS5lbWl0KCRldmVudClcIlxuICAgICAgKG9wZW5DaGFuZ2UpPVwib3BlbkNoYW5nZS5lbWl0KCRldmVudClcIlxuICAgID5cbiAgICAgIDxkaXYgY2xhc3M9XCJzcmstdXNlci1tb2RhbC1pbmZvXCI+XG4gICAgICAgIDxoMyBjbGFzcz1cInNyay11c2VyLW1vZGFsLWluZm8tdXNlci1uYW1lXCI+e3sgcmVzb2x2ZVRleHQobW9kYWxVc2VyLm5hbWUpIH19PC9oMz5cbiAgICAgICAgPHAgKm5nSWY9XCJtb2RhbFVzZXIub3JnYW5pemF0aW9uXCIgY2xhc3M9XCJzcmstdXNlci1tb2RhbC1pbmZvLXVzZXItc2Vjb25kLW5hbWVcIj5cbiAgICAgICAgICB7eyByZXNvbHZlVGV4dChtb2RhbFVzZXIub3JnYW5pemF0aW9uKSB9fVxuICAgICAgICA8L3A+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJzcmstdXNlci1tb2RhbC1pbmZvLWxhYmVsc1wiPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwic3JrLXVzZXItbW9kYWwtaW5mby1sYWJlbHMtbGFiZWwgc3JrLXVzZXItbW9kYWwtaW5mby1sYWJlbHMtbGFiZWwtcHJlc2V0LWdlbmVyYWxcIj5cbiAgICAgICAgICAgIHt7IG1vZGFsVXNlci5vZmZpY2lhbCA9PT0gZmFsc2UgPyAn77yKIOmdnuato+W8j+WPguWKoOiAhScgOiAn5q2j5byP5Y+C5Yqg6ICFJyB9fVxuICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgKm5nRm9yPVwibGV0IGVudHJ5IG9mIHJlc29sdmVkTWFya2VycygpOyB0cmFja0J5OiB0cmFja0J5TWFya2VySWRcIlxuICAgICAgICAgICAgY2xhc3M9XCJzcmstdXNlci1tb2RhbC1pbmZvLWxhYmVscy1sYWJlbFwiXG4gICAgICAgICAgICBbbmdDbGFzc109XCJlbnRyeS5wcmVzZW50YXRpb24uY2xhc3NOYW1lXCJcbiAgICAgICAgICAgIFtuZ1N0eWxlXT1cImVudHJ5LnByZXNlbnRhdGlvbi5zdHlsZVwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAge3sgcmVzb2x2ZVRleHQoZW50cnkubWFya2VyLmxhYmVsKSB9fVxuICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgKm5nSWY9XCJtb2RhbFVzZXIudGVhbU1lbWJlcnM/Lmxlbmd0aFwiIGNsYXNzPVwic3JrLXVzZXItbW9kYWwtaW5mby10ZWFtLW1lbWJlcnNcIj5cbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBtZW1iZXIgb2YgbW9kYWxVc2VyLnRlYW1NZW1iZXJzOyBsZXQgaW5kZXggPSBpbmRleDsgdHJhY2tCeTogdHJhY2tCeU1lbWJlck5hbWVcIj5cbiAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiaW5kZXggPiAwXCIgY2xhc3M9XCJzcmstdXNlci1tb2RhbC1pbmZvLXRlYW0tbWVtYmVycy1zbGFzaFwiPiAvIDwvc3Bhbj5cbiAgICAgICAgICAgIDxzcGFuPnt7IHJlc29sdmVUZXh0KG1lbWJlci5uYW1lKSB9fTwvc3Bhbj5cbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgKm5nSWY9XCJtb2RhbFVzZXIucGhvdG9cIiBjbGFzcz1cInNyay11c2VyLW1vZGFsLWluZm8tcGhvdG9cIj5cbiAgICAgICAgICA8aW1nXG4gICAgICAgICAgICBbc3JjXT1cImZvcm1hdEFzc2V0VXJsKG1vZGFsVXNlci5waG90bywgJ3VzZXIucGhvdG8nKVwiXG4gICAgICAgICAgICBhbHQ9XCJVc2VyIHBvcnRyYWl0XCJcbiAgICAgICAgICAgIGNsYXNzPVwic3JrLXVzZXItbW9kYWwtaW5mby1waG90by1pbWdcIlxuICAgICAgICAgIC8+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9zcmstbW9kYWw+XG4gIGAsXG59KVxuZXhwb3J0IGNsYXNzIERlZmF1bHRVc2VyTW9kYWxDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xuICBASW5wdXQoKSBvcGVuID0gZmFsc2U7XG4gIEBJbnB1dCgpIHVzZXI/OiBzcmsuVXNlciB8IG51bGw7XG4gIEBJbnB1dCgpIG1hcmtlcnM6IHNyay5NYXJrZXJbXSA9IFtdO1xuICBASW5wdXQoKSB0aGVtZSA9IEVudW1UaGVtZS5saWdodDtcbiAgQElucHV0KCkgdGl0bGUgPSAnVXNlciBJbmZvJztcbiAgQElucHV0KCkgd2lkdGggPSA0MjA7XG4gIEBJbnB1dCgpIHJvb3RDbGFzc05hbWUgPSAnc3JrLWdlbmVyYWwtbW9kYWwtcm9vdCc7XG4gIEBJbnB1dCgpIHdyYXBDbGFzc05hbWUgPSAnc3JrLXVzZXItbW9kYWwnO1xuICBASW5wdXQoKSBwYW5lbFN0eWxlOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmcgfCBudW1iZXI+ID0ge307XG4gIEBJbnB1dCgpIGZvcm1hdFNya0Fzc2V0VXJsPzogKHVybDogc3RyaW5nLCBmaWVsZDogc3RyaW5nKSA9PiBzdHJpbmc7XG5cbiAgQE91dHB1dCgpIG9wZW5DaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG4gIEBPdXRwdXQoKSBjbG9zZSA9IG5ldyBFdmVudEVtaXR0ZXI8TW9kYWxDbG9zZVJlYXNvbj4oKTtcblxuICByZWFkb25seSByZXNvbHZlVGV4dCA9IHJlc29sdmVUZXh0O1xuICBjYWNoZWRVc2VyOiBzcmsuVXNlciB8IG51bGwgPSBudWxsO1xuXG4gIG5nT25DaGFuZ2VzKF9jaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgaWYgKHRoaXMudXNlcikge1xuICAgICAgdGhpcy5jYWNoZWRVc2VyID0gdGhpcy51c2VyO1xuICAgIH1cbiAgfVxuXG4gIHJlc29sdmVkTWFya2VycygpOiBSZXNvbHZlZE1hcmtlcltdIHtcbiAgICBpZiAoIXRoaXMuY2FjaGVkVXNlcikge1xuICAgICAgcmV0dXJuIFtdO1xuICAgIH1cbiAgICByZXR1cm4gcmVzb2x2ZVVzZXJNYXJrZXJzKHRoaXMuY2FjaGVkVXNlciwgdGhpcy5tYXJrZXJzKS5tYXAoKG1hcmtlcikgPT4gKHtcbiAgICAgIG1hcmtlcixcbiAgICAgIHByZXNlbnRhdGlvbjogZ2V0TWFya2VyUHJlc2VudGF0aW9uKG1hcmtlciwgdGhpcy50aGVtZSksXG4gICAgfSkpO1xuICB9XG5cbiAgZm9ybWF0QXNzZXRVcmwodXJsOiBzdHJpbmcsIGZpZWxkOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gcmVzb2x2ZVNya0Fzc2V0VXJsKHVybCwgZmllbGQsIHRoaXMuZm9ybWF0U3JrQXNzZXRVcmwpO1xuICB9XG5cbiAgdHJhY2tCeU1hcmtlcklkKF9pbmRleDogbnVtYmVyLCBlbnRyeTogUmVzb2x2ZWRNYXJrZXIpIHtcbiAgICByZXR1cm4gZW50cnkubWFya2VyLmlkO1xuICB9XG5cbiAgdHJhY2tCeU1lbWJlck5hbWUoX2luZGV4OiBudW1iZXIsIG1lbWJlcjogc3JrLkV4dGVybmFsVXNlcikge1xuICAgIHJldHVybiByZXNvbHZlVGV4dChtZW1iZXIubmFtZSk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export { MODAL_ANIMATION_DURATION_MS, SRK_ANIMATED_MODAL_ROOT_CLASS, SRK_SCROLL_LOCK_BODY_CLASS, captureModalTriggerPointFromMouseEvent, ensureModalInteractionTracker, isTopModalFocusScope, lockModalBodyScroll, registerModalFocusScope, resolveModalTransformOrigin, unlockModalBodyScroll, unregisterModalFocusScope, } from '@algoux/standard-ranklist-renderer-component-core';
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwtaW50ZXJhY3Rpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi9tb2RhbC9tb2RhbC1pbnRlcmFjdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLDJCQUEyQixFQUMzQiw2QkFBNkIsRUFDN0IsMEJBQTBCLEVBQzFCLHNDQUFzQyxFQUN0Qyw2QkFBNkIsRUFDN0Isb0JBQW9CLEVBQ3BCLG1CQUFtQixFQUNuQix1QkFBdUIsRUFDdkIsMkJBQTJCLEVBQzNCLHFCQUFxQixFQUNyQix5QkFBeUIsR0FDMUIsTUFBTSxtREFBbUQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7XG4gIE1PREFMX0FOSU1BVElPTl9EVVJBVElPTl9NUyxcbiAgU1JLX0FOSU1BVEVEX01PREFMX1JPT1RfQ0xBU1MsXG4gIFNSS19TQ1JPTExfTE9DS19CT0RZX0NMQVNTLFxuICBjYXB0dXJlTW9kYWxUcmlnZ2VyUG9pbnRGcm9tTW91c2VFdmVudCxcbiAgZW5zdXJlTW9kYWxJbnRlcmFjdGlvblRyYWNrZXIsXG4gIGlzVG9wTW9kYWxGb2N1c1Njb3BlLFxuICBsb2NrTW9kYWxCb2R5U2Nyb2xsLFxuICByZWdpc3Rlck1vZGFsRm9jdXNTY29wZSxcbiAgcmVzb2x2ZU1vZGFsVHJhbnNmb3JtT3JpZ2luLFxuICB1bmxvY2tNb2RhbEJvZHlTY3JvbGwsXG4gIHVucmVnaXN0ZXJNb2RhbEZvY3VzU2NvcGUsXG59IGZyb20gJ0BhbGdvdXgvc3RhbmRhcmQtcmFua2xpc3QtcmVuZGVyZXItY29tcG9uZW50LWNvcmUnO1xuIl19
|